UNPKG

3.72 MBJavaScriptView Raw
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3 typeof define === 'function' && define.amd ? define(['exports'], factory) :
4 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Babel = {}));
5}(this, (function (exports) { 'use strict';
6
7 var babel = /*#__PURE__*/Object.freeze({
8 __proto__: null,
9 get version () { return version$3; },
10 get types () { return t$p; },
11 get DEFAULT_EXTENSIONS () { return DEFAULT_EXTENSIONS; },
12 get OptionManager () { return OptionManager; },
13 get Plugin () { return Plugin; },
14 get File () { return File; },
15 get buildExternalHelpers () { return babelBuildExternalHelpers; },
16 get resolvePlugin () { return resolvePlugin; },
17 get resolvePreset () { return resolvePreset; },
18 get getEnv () { return getEnv; },
19 get tokTypes () { return types$1; },
20 get traverse () { return traverse; },
21 get template () { return template$2; },
22 get createConfigItem () { return createConfigItem; },
23 get createConfigItemSync () { return createConfigItemSync; },
24 get createConfigItemAsync () { return createConfigItemAsync; },
25 get loadPartialConfig () { return loadPartialConfig; },
26 get loadPartialConfigSync () { return loadPartialConfigSync; },
27 get loadPartialConfigAsync () { return loadPartialConfigAsync; },
28 get loadOptions () { return loadOptions; },
29 get loadOptionsSync () { return loadOptionsSync; },
30 get loadOptionsAsync () { return loadOptionsAsync; },
31 get transform () { return transform$2; },
32 get transformSync () { return transformSync; },
33 get transformAsync () { return transformAsync; },
34 get transformFile () { return transformFile; },
35 get transformFileSync () { return transformFileSync; },
36 get transformFileAsync () { return transformFileAsync; },
37 get transformFromAst () { return transformFromAst$1; },
38 get transformFromAstSync () { return transformFromAstSync; },
39 get transformFromAstAsync () { return transformFromAstAsync; },
40 get parse () { return parse$3; },
41 get parseSync () { return parseSync; },
42 get parseAsync () { return parseAsync; }
43 });
44
45 function _defineProperties(target, props) {
46 for (var i = 0; i < props.length; i++) {
47 var descriptor = props[i];
48 descriptor.enumerable = descriptor.enumerable || false;
49 descriptor.configurable = true;
50 if ("value" in descriptor) descriptor.writable = true;
51 Object.defineProperty(target, descriptor.key, descriptor);
52 }
53 }
54
55 function _createClass(Constructor, protoProps, staticProps) {
56 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
57 if (staticProps) _defineProperties(Constructor, staticProps);
58 return Constructor;
59 }
60
61 function _inherits(subClass, superClass) {
62 if (typeof superClass !== "function" && superClass !== null) {
63 throw new TypeError("Super expression must either be null or a function");
64 }
65
66 subClass.prototype = Object.create(superClass && superClass.prototype, {
67 constructor: {
68 value: subClass,
69 writable: true,
70 configurable: true
71 }
72 });
73 if (superClass) _setPrototypeOf(subClass, superClass);
74 }
75
76 function _setPrototypeOf(o, p) {
77 _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
78 o.__proto__ = p;
79 return o;
80 };
81
82 return _setPrototypeOf(o, p);
83 }
84
85 function _objectWithoutPropertiesLoose(source, excluded) {
86 if (source == null) return {};
87 var target = {};
88 var sourceKeys = Object.keys(source);
89 var key, i;
90
91 for (i = 0; i < sourceKeys.length; i++) {
92 key = sourceKeys[i];
93 if (excluded.indexOf(key) >= 0) continue;
94 target[key] = source[key];
95 }
96
97 return target;
98 }
99
100 function _objectWithoutProperties(source, excluded) {
101 if (source == null) return {};
102
103 var target = _objectWithoutPropertiesLoose(source, excluded);
104
105 var key, i;
106
107 if (Object.getOwnPropertySymbols) {
108 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
109
110 for (i = 0; i < sourceSymbolKeys.length; i++) {
111 key = sourceSymbolKeys[i];
112 if (excluded.indexOf(key) >= 0) continue;
113 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
114 target[key] = source[key];
115 }
116 }
117
118 return target;
119 }
120
121 function _taggedTemplateLiteralLoose(strings, raw) {
122 if (!raw) {
123 raw = strings.slice(0);
124 }
125
126 strings.raw = raw;
127 return strings;
128 }
129
130 function _slicedToArray$2(arr, i) {
131 return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
132 }
133
134 function _toConsumableArray(arr) {
135 return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
136 }
137
138 function _arrayWithoutHoles(arr) {
139 if (Array.isArray(arr)) return _arrayLikeToArray(arr);
140 }
141
142 function _arrayWithHoles(arr) {
143 if (Array.isArray(arr)) return arr;
144 }
145
146 function _iterableToArray(iter) {
147 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
148 }
149
150 function _iterableToArrayLimit(arr, i) {
151 var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
152
153 if (_i == null) return;
154 var _arr = [];
155 var _n = true;
156 var _d = false;
157
158 var _s, _e;
159
160 try {
161 for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
162 _arr.push(_s.value);
163
164 if (i && _arr.length === i) break;
165 }
166 } catch (err) {
167 _d = true;
168 _e = err;
169 } finally {
170 try {
171 if (!_n && _i["return"] != null) _i["return"]();
172 } finally {
173 if (_d) throw _e;
174 }
175 }
176
177 return _arr;
178 }
179
180 function _unsupportedIterableToArray(o, minLen) {
181 if (!o) return;
182 if (typeof o === "string") return _arrayLikeToArray(o, minLen);
183 var n = Object.prototype.toString.call(o).slice(8, -1);
184 if (n === "Object" && o.constructor) n = o.constructor.name;
185 if (n === "Map" || n === "Set") return Array.from(o);
186 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
187 }
188
189 function _arrayLikeToArray(arr, len) {
190 if (len == null || len > arr.length) len = arr.length;
191
192 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
193
194 return arr2;
195 }
196
197 function _nonIterableSpread() {
198 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
199 }
200
201 function _nonIterableRest() {
202 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
203 }
204
205 function _createForOfIteratorHelperLoose(o, allowArrayLike) {
206 var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
207 if (it) return (it = it.call(o)).next.bind(it);
208
209 if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
210 if (it) o = it;
211 var i = 0;
212 return function () {
213 if (i >= o.length) return {
214 done: true
215 };
216 return {
217 done: false,
218 value: o[i++]
219 };
220 };
221 }
222
223 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
224 }
225
226 function shallowEqual(actual, expected) {
227 var keys = Object.keys(expected);
228
229 for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
230 var key = _keys[_i];
231
232 if (actual[key] !== expected[key]) {
233 return false;
234 }
235 }
236
237 return true;
238 }
239
240 function isArrayExpression(node, opts) {
241 if (!node) return false;
242 var nodeType = node.type;
243
244 if (nodeType === "ArrayExpression") {
245 if (typeof opts === "undefined") {
246 return true;
247 } else {
248 return shallowEqual(node, opts);
249 }
250 }
251
252 return false;
253 }
254 function isAssignmentExpression(node, opts) {
255 if (!node) return false;
256 var nodeType = node.type;
257
258 if (nodeType === "AssignmentExpression") {
259 if (typeof opts === "undefined") {
260 return true;
261 } else {
262 return shallowEqual(node, opts);
263 }
264 }
265
266 return false;
267 }
268 function isBinaryExpression(node, opts) {
269 if (!node) return false;
270 var nodeType = node.type;
271
272 if (nodeType === "BinaryExpression") {
273 if (typeof opts === "undefined") {
274 return true;
275 } else {
276 return shallowEqual(node, opts);
277 }
278 }
279
280 return false;
281 }
282 function isInterpreterDirective(node, opts) {
283 if (!node) return false;
284 var nodeType = node.type;
285
286 if (nodeType === "InterpreterDirective") {
287 if (typeof opts === "undefined") {
288 return true;
289 } else {
290 return shallowEqual(node, opts);
291 }
292 }
293
294 return false;
295 }
296 function isDirective(node, opts) {
297 if (!node) return false;
298 var nodeType = node.type;
299
300 if (nodeType === "Directive") {
301 if (typeof opts === "undefined") {
302 return true;
303 } else {
304 return shallowEqual(node, opts);
305 }
306 }
307
308 return false;
309 }
310 function isDirectiveLiteral(node, opts) {
311 if (!node) return false;
312 var nodeType = node.type;
313
314 if (nodeType === "DirectiveLiteral") {
315 if (typeof opts === "undefined") {
316 return true;
317 } else {
318 return shallowEqual(node, opts);
319 }
320 }
321
322 return false;
323 }
324 function isBlockStatement(node, opts) {
325 if (!node) return false;
326 var nodeType = node.type;
327
328 if (nodeType === "BlockStatement") {
329 if (typeof opts === "undefined") {
330 return true;
331 } else {
332 return shallowEqual(node, opts);
333 }
334 }
335
336 return false;
337 }
338 function isBreakStatement(node, opts) {
339 if (!node) return false;
340 var nodeType = node.type;
341
342 if (nodeType === "BreakStatement") {
343 if (typeof opts === "undefined") {
344 return true;
345 } else {
346 return shallowEqual(node, opts);
347 }
348 }
349
350 return false;
351 }
352 function isCallExpression(node, opts) {
353 if (!node) return false;
354 var nodeType = node.type;
355
356 if (nodeType === "CallExpression") {
357 if (typeof opts === "undefined") {
358 return true;
359 } else {
360 return shallowEqual(node, opts);
361 }
362 }
363
364 return false;
365 }
366 function isCatchClause(node, opts) {
367 if (!node) return false;
368 var nodeType = node.type;
369
370 if (nodeType === "CatchClause") {
371 if (typeof opts === "undefined") {
372 return true;
373 } else {
374 return shallowEqual(node, opts);
375 }
376 }
377
378 return false;
379 }
380 function isConditionalExpression(node, opts) {
381 if (!node) return false;
382 var nodeType = node.type;
383
384 if (nodeType === "ConditionalExpression") {
385 if (typeof opts === "undefined") {
386 return true;
387 } else {
388 return shallowEqual(node, opts);
389 }
390 }
391
392 return false;
393 }
394 function isContinueStatement(node, opts) {
395 if (!node) return false;
396 var nodeType = node.type;
397
398 if (nodeType === "ContinueStatement") {
399 if (typeof opts === "undefined") {
400 return true;
401 } else {
402 return shallowEqual(node, opts);
403 }
404 }
405
406 return false;
407 }
408 function isDebuggerStatement(node, opts) {
409 if (!node) return false;
410 var nodeType = node.type;
411
412 if (nodeType === "DebuggerStatement") {
413 if (typeof opts === "undefined") {
414 return true;
415 } else {
416 return shallowEqual(node, opts);
417 }
418 }
419
420 return false;
421 }
422 function isDoWhileStatement(node, opts) {
423 if (!node) return false;
424 var nodeType = node.type;
425
426 if (nodeType === "DoWhileStatement") {
427 if (typeof opts === "undefined") {
428 return true;
429 } else {
430 return shallowEqual(node, opts);
431 }
432 }
433
434 return false;
435 }
436 function isEmptyStatement(node, opts) {
437 if (!node) return false;
438 var nodeType = node.type;
439
440 if (nodeType === "EmptyStatement") {
441 if (typeof opts === "undefined") {
442 return true;
443 } else {
444 return shallowEqual(node, opts);
445 }
446 }
447
448 return false;
449 }
450 function isExpressionStatement(node, opts) {
451 if (!node) return false;
452 var nodeType = node.type;
453
454 if (nodeType === "ExpressionStatement") {
455 if (typeof opts === "undefined") {
456 return true;
457 } else {
458 return shallowEqual(node, opts);
459 }
460 }
461
462 return false;
463 }
464 function isFile(node, opts) {
465 if (!node) return false;
466 var nodeType = node.type;
467
468 if (nodeType === "File") {
469 if (typeof opts === "undefined") {
470 return true;
471 } else {
472 return shallowEqual(node, opts);
473 }
474 }
475
476 return false;
477 }
478 function isForInStatement(node, opts) {
479 if (!node) return false;
480 var nodeType = node.type;
481
482 if (nodeType === "ForInStatement") {
483 if (typeof opts === "undefined") {
484 return true;
485 } else {
486 return shallowEqual(node, opts);
487 }
488 }
489
490 return false;
491 }
492 function isForStatement(node, opts) {
493 if (!node) return false;
494 var nodeType = node.type;
495
496 if (nodeType === "ForStatement") {
497 if (typeof opts === "undefined") {
498 return true;
499 } else {
500 return shallowEqual(node, opts);
501 }
502 }
503
504 return false;
505 }
506 function isFunctionDeclaration(node, opts) {
507 if (!node) return false;
508 var nodeType = node.type;
509
510 if (nodeType === "FunctionDeclaration") {
511 if (typeof opts === "undefined") {
512 return true;
513 } else {
514 return shallowEqual(node, opts);
515 }
516 }
517
518 return false;
519 }
520 function isFunctionExpression(node, opts) {
521 if (!node) return false;
522 var nodeType = node.type;
523
524 if (nodeType === "FunctionExpression") {
525 if (typeof opts === "undefined") {
526 return true;
527 } else {
528 return shallowEqual(node, opts);
529 }
530 }
531
532 return false;
533 }
534 function isIdentifier(node, opts) {
535 if (!node) return false;
536 var nodeType = node.type;
537
538 if (nodeType === "Identifier") {
539 if (typeof opts === "undefined") {
540 return true;
541 } else {
542 return shallowEqual(node, opts);
543 }
544 }
545
546 return false;
547 }
548 function isIfStatement(node, opts) {
549 if (!node) return false;
550 var nodeType = node.type;
551
552 if (nodeType === "IfStatement") {
553 if (typeof opts === "undefined") {
554 return true;
555 } else {
556 return shallowEqual(node, opts);
557 }
558 }
559
560 return false;
561 }
562 function isLabeledStatement(node, opts) {
563 if (!node) return false;
564 var nodeType = node.type;
565
566 if (nodeType === "LabeledStatement") {
567 if (typeof opts === "undefined") {
568 return true;
569 } else {
570 return shallowEqual(node, opts);
571 }
572 }
573
574 return false;
575 }
576 function isStringLiteral(node, opts) {
577 if (!node) return false;
578 var nodeType = node.type;
579
580 if (nodeType === "StringLiteral") {
581 if (typeof opts === "undefined") {
582 return true;
583 } else {
584 return shallowEqual(node, opts);
585 }
586 }
587
588 return false;
589 }
590 function isNumericLiteral(node, opts) {
591 if (!node) return false;
592 var nodeType = node.type;
593
594 if (nodeType === "NumericLiteral") {
595 if (typeof opts === "undefined") {
596 return true;
597 } else {
598 return shallowEqual(node, opts);
599 }
600 }
601
602 return false;
603 }
604 function isNullLiteral(node, opts) {
605 if (!node) return false;
606 var nodeType = node.type;
607
608 if (nodeType === "NullLiteral") {
609 if (typeof opts === "undefined") {
610 return true;
611 } else {
612 return shallowEqual(node, opts);
613 }
614 }
615
616 return false;
617 }
618 function isBooleanLiteral(node, opts) {
619 if (!node) return false;
620 var nodeType = node.type;
621
622 if (nodeType === "BooleanLiteral") {
623 if (typeof opts === "undefined") {
624 return true;
625 } else {
626 return shallowEqual(node, opts);
627 }
628 }
629
630 return false;
631 }
632 function isRegExpLiteral(node, opts) {
633 if (!node) return false;
634 var nodeType = node.type;
635
636 if (nodeType === "RegExpLiteral") {
637 if (typeof opts === "undefined") {
638 return true;
639 } else {
640 return shallowEqual(node, opts);
641 }
642 }
643
644 return false;
645 }
646 function isLogicalExpression(node, opts) {
647 if (!node) return false;
648 var nodeType = node.type;
649
650 if (nodeType === "LogicalExpression") {
651 if (typeof opts === "undefined") {
652 return true;
653 } else {
654 return shallowEqual(node, opts);
655 }
656 }
657
658 return false;
659 }
660 function isMemberExpression(node, opts) {
661 if (!node) return false;
662 var nodeType = node.type;
663
664 if (nodeType === "MemberExpression") {
665 if (typeof opts === "undefined") {
666 return true;
667 } else {
668 return shallowEqual(node, opts);
669 }
670 }
671
672 return false;
673 }
674 function isNewExpression(node, opts) {
675 if (!node) return false;
676 var nodeType = node.type;
677
678 if (nodeType === "NewExpression") {
679 if (typeof opts === "undefined") {
680 return true;
681 } else {
682 return shallowEqual(node, opts);
683 }
684 }
685
686 return false;
687 }
688 function isProgram(node, opts) {
689 if (!node) return false;
690 var nodeType = node.type;
691
692 if (nodeType === "Program") {
693 if (typeof opts === "undefined") {
694 return true;
695 } else {
696 return shallowEqual(node, opts);
697 }
698 }
699
700 return false;
701 }
702 function isObjectExpression(node, opts) {
703 if (!node) return false;
704 var nodeType = node.type;
705
706 if (nodeType === "ObjectExpression") {
707 if (typeof opts === "undefined") {
708 return true;
709 } else {
710 return shallowEqual(node, opts);
711 }
712 }
713
714 return false;
715 }
716 function isObjectMethod(node, opts) {
717 if (!node) return false;
718 var nodeType = node.type;
719
720 if (nodeType === "ObjectMethod") {
721 if (typeof opts === "undefined") {
722 return true;
723 } else {
724 return shallowEqual(node, opts);
725 }
726 }
727
728 return false;
729 }
730 function isObjectProperty(node, opts) {
731 if (!node) return false;
732 var nodeType = node.type;
733
734 if (nodeType === "ObjectProperty") {
735 if (typeof opts === "undefined") {
736 return true;
737 } else {
738 return shallowEqual(node, opts);
739 }
740 }
741
742 return false;
743 }
744 function isRestElement(node, opts) {
745 if (!node) return false;
746 var nodeType = node.type;
747
748 if (nodeType === "RestElement") {
749 if (typeof opts === "undefined") {
750 return true;
751 } else {
752 return shallowEqual(node, opts);
753 }
754 }
755
756 return false;
757 }
758 function isReturnStatement(node, opts) {
759 if (!node) return false;
760 var nodeType = node.type;
761
762 if (nodeType === "ReturnStatement") {
763 if (typeof opts === "undefined") {
764 return true;
765 } else {
766 return shallowEqual(node, opts);
767 }
768 }
769
770 return false;
771 }
772 function isSequenceExpression(node, opts) {
773 if (!node) return false;
774 var nodeType = node.type;
775
776 if (nodeType === "SequenceExpression") {
777 if (typeof opts === "undefined") {
778 return true;
779 } else {
780 return shallowEqual(node, opts);
781 }
782 }
783
784 return false;
785 }
786 function isParenthesizedExpression(node, opts) {
787 if (!node) return false;
788 var nodeType = node.type;
789
790 if (nodeType === "ParenthesizedExpression") {
791 if (typeof opts === "undefined") {
792 return true;
793 } else {
794 return shallowEqual(node, opts);
795 }
796 }
797
798 return false;
799 }
800 function isSwitchCase(node, opts) {
801 if (!node) return false;
802 var nodeType = node.type;
803
804 if (nodeType === "SwitchCase") {
805 if (typeof opts === "undefined") {
806 return true;
807 } else {
808 return shallowEqual(node, opts);
809 }
810 }
811
812 return false;
813 }
814 function isSwitchStatement(node, opts) {
815 if (!node) return false;
816 var nodeType = node.type;
817
818 if (nodeType === "SwitchStatement") {
819 if (typeof opts === "undefined") {
820 return true;
821 } else {
822 return shallowEqual(node, opts);
823 }
824 }
825
826 return false;
827 }
828 function isThisExpression(node, opts) {
829 if (!node) return false;
830 var nodeType = node.type;
831
832 if (nodeType === "ThisExpression") {
833 if (typeof opts === "undefined") {
834 return true;
835 } else {
836 return shallowEqual(node, opts);
837 }
838 }
839
840 return false;
841 }
842 function isThrowStatement(node, opts) {
843 if (!node) return false;
844 var nodeType = node.type;
845
846 if (nodeType === "ThrowStatement") {
847 if (typeof opts === "undefined") {
848 return true;
849 } else {
850 return shallowEqual(node, opts);
851 }
852 }
853
854 return false;
855 }
856 function isTryStatement(node, opts) {
857 if (!node) return false;
858 var nodeType = node.type;
859
860 if (nodeType === "TryStatement") {
861 if (typeof opts === "undefined") {
862 return true;
863 } else {
864 return shallowEqual(node, opts);
865 }
866 }
867
868 return false;
869 }
870 function isUnaryExpression(node, opts) {
871 if (!node) return false;
872 var nodeType = node.type;
873
874 if (nodeType === "UnaryExpression") {
875 if (typeof opts === "undefined") {
876 return true;
877 } else {
878 return shallowEqual(node, opts);
879 }
880 }
881
882 return false;
883 }
884 function isUpdateExpression(node, opts) {
885 if (!node) return false;
886 var nodeType = node.type;
887
888 if (nodeType === "UpdateExpression") {
889 if (typeof opts === "undefined") {
890 return true;
891 } else {
892 return shallowEqual(node, opts);
893 }
894 }
895
896 return false;
897 }
898 function isVariableDeclaration(node, opts) {
899 if (!node) return false;
900 var nodeType = node.type;
901
902 if (nodeType === "VariableDeclaration") {
903 if (typeof opts === "undefined") {
904 return true;
905 } else {
906 return shallowEqual(node, opts);
907 }
908 }
909
910 return false;
911 }
912 function isVariableDeclarator(node, opts) {
913 if (!node) return false;
914 var nodeType = node.type;
915
916 if (nodeType === "VariableDeclarator") {
917 if (typeof opts === "undefined") {
918 return true;
919 } else {
920 return shallowEqual(node, opts);
921 }
922 }
923
924 return false;
925 }
926 function isWhileStatement(node, opts) {
927 if (!node) return false;
928 var nodeType = node.type;
929
930 if (nodeType === "WhileStatement") {
931 if (typeof opts === "undefined") {
932 return true;
933 } else {
934 return shallowEqual(node, opts);
935 }
936 }
937
938 return false;
939 }
940 function isWithStatement(node, opts) {
941 if (!node) return false;
942 var nodeType = node.type;
943
944 if (nodeType === "WithStatement") {
945 if (typeof opts === "undefined") {
946 return true;
947 } else {
948 return shallowEqual(node, opts);
949 }
950 }
951
952 return false;
953 }
954 function isAssignmentPattern(node, opts) {
955 if (!node) return false;
956 var nodeType = node.type;
957
958 if (nodeType === "AssignmentPattern") {
959 if (typeof opts === "undefined") {
960 return true;
961 } else {
962 return shallowEqual(node, opts);
963 }
964 }
965
966 return false;
967 }
968 function isArrayPattern(node, opts) {
969 if (!node) return false;
970 var nodeType = node.type;
971
972 if (nodeType === "ArrayPattern") {
973 if (typeof opts === "undefined") {
974 return true;
975 } else {
976 return shallowEqual(node, opts);
977 }
978 }
979
980 return false;
981 }
982 function isArrowFunctionExpression(node, opts) {
983 if (!node) return false;
984 var nodeType = node.type;
985
986 if (nodeType === "ArrowFunctionExpression") {
987 if (typeof opts === "undefined") {
988 return true;
989 } else {
990 return shallowEqual(node, opts);
991 }
992 }
993
994 return false;
995 }
996 function isClassBody(node, opts) {
997 if (!node) return false;
998 var nodeType = node.type;
999
1000 if (nodeType === "ClassBody") {
1001 if (typeof opts === "undefined") {
1002 return true;
1003 } else {
1004 return shallowEqual(node, opts);
1005 }
1006 }
1007
1008 return false;
1009 }
1010 function isClassExpression(node, opts) {
1011 if (!node) return false;
1012 var nodeType = node.type;
1013
1014 if (nodeType === "ClassExpression") {
1015 if (typeof opts === "undefined") {
1016 return true;
1017 } else {
1018 return shallowEqual(node, opts);
1019 }
1020 }
1021
1022 return false;
1023 }
1024 function isClassDeclaration(node, opts) {
1025 if (!node) return false;
1026 var nodeType = node.type;
1027
1028 if (nodeType === "ClassDeclaration") {
1029 if (typeof opts === "undefined") {
1030 return true;
1031 } else {
1032 return shallowEqual(node, opts);
1033 }
1034 }
1035
1036 return false;
1037 }
1038 function isExportAllDeclaration(node, opts) {
1039 if (!node) return false;
1040 var nodeType = node.type;
1041
1042 if (nodeType === "ExportAllDeclaration") {
1043 if (typeof opts === "undefined") {
1044 return true;
1045 } else {
1046 return shallowEqual(node, opts);
1047 }
1048 }
1049
1050 return false;
1051 }
1052 function isExportDefaultDeclaration(node, opts) {
1053 if (!node) return false;
1054 var nodeType = node.type;
1055
1056 if (nodeType === "ExportDefaultDeclaration") {
1057 if (typeof opts === "undefined") {
1058 return true;
1059 } else {
1060 return shallowEqual(node, opts);
1061 }
1062 }
1063
1064 return false;
1065 }
1066 function isExportNamedDeclaration(node, opts) {
1067 if (!node) return false;
1068 var nodeType = node.type;
1069
1070 if (nodeType === "ExportNamedDeclaration") {
1071 if (typeof opts === "undefined") {
1072 return true;
1073 } else {
1074 return shallowEqual(node, opts);
1075 }
1076 }
1077
1078 return false;
1079 }
1080 function isExportSpecifier(node, opts) {
1081 if (!node) return false;
1082 var nodeType = node.type;
1083
1084 if (nodeType === "ExportSpecifier") {
1085 if (typeof opts === "undefined") {
1086 return true;
1087 } else {
1088 return shallowEqual(node, opts);
1089 }
1090 }
1091
1092 return false;
1093 }
1094 function isForOfStatement(node, opts) {
1095 if (!node) return false;
1096 var nodeType = node.type;
1097
1098 if (nodeType === "ForOfStatement") {
1099 if (typeof opts === "undefined") {
1100 return true;
1101 } else {
1102 return shallowEqual(node, opts);
1103 }
1104 }
1105
1106 return false;
1107 }
1108 function isImportDeclaration(node, opts) {
1109 if (!node) return false;
1110 var nodeType = node.type;
1111
1112 if (nodeType === "ImportDeclaration") {
1113 if (typeof opts === "undefined") {
1114 return true;
1115 } else {
1116 return shallowEqual(node, opts);
1117 }
1118 }
1119
1120 return false;
1121 }
1122 function isImportDefaultSpecifier(node, opts) {
1123 if (!node) return false;
1124 var nodeType = node.type;
1125
1126 if (nodeType === "ImportDefaultSpecifier") {
1127 if (typeof opts === "undefined") {
1128 return true;
1129 } else {
1130 return shallowEqual(node, opts);
1131 }
1132 }
1133
1134 return false;
1135 }
1136 function isImportNamespaceSpecifier(node, opts) {
1137 if (!node) return false;
1138 var nodeType = node.type;
1139
1140 if (nodeType === "ImportNamespaceSpecifier") {
1141 if (typeof opts === "undefined") {
1142 return true;
1143 } else {
1144 return shallowEqual(node, opts);
1145 }
1146 }
1147
1148 return false;
1149 }
1150 function isImportSpecifier(node, opts) {
1151 if (!node) return false;
1152 var nodeType = node.type;
1153
1154 if (nodeType === "ImportSpecifier") {
1155 if (typeof opts === "undefined") {
1156 return true;
1157 } else {
1158 return shallowEqual(node, opts);
1159 }
1160 }
1161
1162 return false;
1163 }
1164 function isMetaProperty(node, opts) {
1165 if (!node) return false;
1166 var nodeType = node.type;
1167
1168 if (nodeType === "MetaProperty") {
1169 if (typeof opts === "undefined") {
1170 return true;
1171 } else {
1172 return shallowEqual(node, opts);
1173 }
1174 }
1175
1176 return false;
1177 }
1178 function isClassMethod(node, opts) {
1179 if (!node) return false;
1180 var nodeType = node.type;
1181
1182 if (nodeType === "ClassMethod") {
1183 if (typeof opts === "undefined") {
1184 return true;
1185 } else {
1186 return shallowEqual(node, opts);
1187 }
1188 }
1189
1190 return false;
1191 }
1192 function isObjectPattern(node, opts) {
1193 if (!node) return false;
1194 var nodeType = node.type;
1195
1196 if (nodeType === "ObjectPattern") {
1197 if (typeof opts === "undefined") {
1198 return true;
1199 } else {
1200 return shallowEqual(node, opts);
1201 }
1202 }
1203
1204 return false;
1205 }
1206 function isSpreadElement(node, opts) {
1207 if (!node) return false;
1208 var nodeType = node.type;
1209
1210 if (nodeType === "SpreadElement") {
1211 if (typeof opts === "undefined") {
1212 return true;
1213 } else {
1214 return shallowEqual(node, opts);
1215 }
1216 }
1217
1218 return false;
1219 }
1220 function isSuper(node, opts) {
1221 if (!node) return false;
1222 var nodeType = node.type;
1223
1224 if (nodeType === "Super") {
1225 if (typeof opts === "undefined") {
1226 return true;
1227 } else {
1228 return shallowEqual(node, opts);
1229 }
1230 }
1231
1232 return false;
1233 }
1234 function isTaggedTemplateExpression(node, opts) {
1235 if (!node) return false;
1236 var nodeType = node.type;
1237
1238 if (nodeType === "TaggedTemplateExpression") {
1239 if (typeof opts === "undefined") {
1240 return true;
1241 } else {
1242 return shallowEqual(node, opts);
1243 }
1244 }
1245
1246 return false;
1247 }
1248 function isTemplateElement(node, opts) {
1249 if (!node) return false;
1250 var nodeType = node.type;
1251
1252 if (nodeType === "TemplateElement") {
1253 if (typeof opts === "undefined") {
1254 return true;
1255 } else {
1256 return shallowEqual(node, opts);
1257 }
1258 }
1259
1260 return false;
1261 }
1262 function isTemplateLiteral(node, opts) {
1263 if (!node) return false;
1264 var nodeType = node.type;
1265
1266 if (nodeType === "TemplateLiteral") {
1267 if (typeof opts === "undefined") {
1268 return true;
1269 } else {
1270 return shallowEqual(node, opts);
1271 }
1272 }
1273
1274 return false;
1275 }
1276 function isYieldExpression(node, opts) {
1277 if (!node) return false;
1278 var nodeType = node.type;
1279
1280 if (nodeType === "YieldExpression") {
1281 if (typeof opts === "undefined") {
1282 return true;
1283 } else {
1284 return shallowEqual(node, opts);
1285 }
1286 }
1287
1288 return false;
1289 }
1290 function isAwaitExpression(node, opts) {
1291 if (!node) return false;
1292 var nodeType = node.type;
1293
1294 if (nodeType === "AwaitExpression") {
1295 if (typeof opts === "undefined") {
1296 return true;
1297 } else {
1298 return shallowEqual(node, opts);
1299 }
1300 }
1301
1302 return false;
1303 }
1304 function isImport(node, opts) {
1305 if (!node) return false;
1306 var nodeType = node.type;
1307
1308 if (nodeType === "Import") {
1309 if (typeof opts === "undefined") {
1310 return true;
1311 } else {
1312 return shallowEqual(node, opts);
1313 }
1314 }
1315
1316 return false;
1317 }
1318 function isBigIntLiteral(node, opts) {
1319 if (!node) return false;
1320 var nodeType = node.type;
1321
1322 if (nodeType === "BigIntLiteral") {
1323 if (typeof opts === "undefined") {
1324 return true;
1325 } else {
1326 return shallowEqual(node, opts);
1327 }
1328 }
1329
1330 return false;
1331 }
1332 function isExportNamespaceSpecifier(node, opts) {
1333 if (!node) return false;
1334 var nodeType = node.type;
1335
1336 if (nodeType === "ExportNamespaceSpecifier") {
1337 if (typeof opts === "undefined") {
1338 return true;
1339 } else {
1340 return shallowEqual(node, opts);
1341 }
1342 }
1343
1344 return false;
1345 }
1346 function isOptionalMemberExpression(node, opts) {
1347 if (!node) return false;
1348 var nodeType = node.type;
1349
1350 if (nodeType === "OptionalMemberExpression") {
1351 if (typeof opts === "undefined") {
1352 return true;
1353 } else {
1354 return shallowEqual(node, opts);
1355 }
1356 }
1357
1358 return false;
1359 }
1360 function isOptionalCallExpression(node, opts) {
1361 if (!node) return false;
1362 var nodeType = node.type;
1363
1364 if (nodeType === "OptionalCallExpression") {
1365 if (typeof opts === "undefined") {
1366 return true;
1367 } else {
1368 return shallowEqual(node, opts);
1369 }
1370 }
1371
1372 return false;
1373 }
1374 function isClassProperty(node, opts) {
1375 if (!node) return false;
1376 var nodeType = node.type;
1377
1378 if (nodeType === "ClassProperty") {
1379 if (typeof opts === "undefined") {
1380 return true;
1381 } else {
1382 return shallowEqual(node, opts);
1383 }
1384 }
1385
1386 return false;
1387 }
1388 function isClassPrivateProperty(node, opts) {
1389 if (!node) return false;
1390 var nodeType = node.type;
1391
1392 if (nodeType === "ClassPrivateProperty") {
1393 if (typeof opts === "undefined") {
1394 return true;
1395 } else {
1396 return shallowEqual(node, opts);
1397 }
1398 }
1399
1400 return false;
1401 }
1402 function isClassPrivateMethod(node, opts) {
1403 if (!node) return false;
1404 var nodeType = node.type;
1405
1406 if (nodeType === "ClassPrivateMethod") {
1407 if (typeof opts === "undefined") {
1408 return true;
1409 } else {
1410 return shallowEqual(node, opts);
1411 }
1412 }
1413
1414 return false;
1415 }
1416 function isPrivateName(node, opts) {
1417 if (!node) return false;
1418 var nodeType = node.type;
1419
1420 if (nodeType === "PrivateName") {
1421 if (typeof opts === "undefined") {
1422 return true;
1423 } else {
1424 return shallowEqual(node, opts);
1425 }
1426 }
1427
1428 return false;
1429 }
1430 function isAnyTypeAnnotation(node, opts) {
1431 if (!node) return false;
1432 var nodeType = node.type;
1433
1434 if (nodeType === "AnyTypeAnnotation") {
1435 if (typeof opts === "undefined") {
1436 return true;
1437 } else {
1438 return shallowEqual(node, opts);
1439 }
1440 }
1441
1442 return false;
1443 }
1444 function isArrayTypeAnnotation(node, opts) {
1445 if (!node) return false;
1446 var nodeType = node.type;
1447
1448 if (nodeType === "ArrayTypeAnnotation") {
1449 if (typeof opts === "undefined") {
1450 return true;
1451 } else {
1452 return shallowEqual(node, opts);
1453 }
1454 }
1455
1456 return false;
1457 }
1458 function isBooleanTypeAnnotation(node, opts) {
1459 if (!node) return false;
1460 var nodeType = node.type;
1461
1462 if (nodeType === "BooleanTypeAnnotation") {
1463 if (typeof opts === "undefined") {
1464 return true;
1465 } else {
1466 return shallowEqual(node, opts);
1467 }
1468 }
1469
1470 return false;
1471 }
1472 function isBooleanLiteralTypeAnnotation(node, opts) {
1473 if (!node) return false;
1474 var nodeType = node.type;
1475
1476 if (nodeType === "BooleanLiteralTypeAnnotation") {
1477 if (typeof opts === "undefined") {
1478 return true;
1479 } else {
1480 return shallowEqual(node, opts);
1481 }
1482 }
1483
1484 return false;
1485 }
1486 function isNullLiteralTypeAnnotation(node, opts) {
1487 if (!node) return false;
1488 var nodeType = node.type;
1489
1490 if (nodeType === "NullLiteralTypeAnnotation") {
1491 if (typeof opts === "undefined") {
1492 return true;
1493 } else {
1494 return shallowEqual(node, opts);
1495 }
1496 }
1497
1498 return false;
1499 }
1500 function isClassImplements(node, opts) {
1501 if (!node) return false;
1502 var nodeType = node.type;
1503
1504 if (nodeType === "ClassImplements") {
1505 if (typeof opts === "undefined") {
1506 return true;
1507 } else {
1508 return shallowEqual(node, opts);
1509 }
1510 }
1511
1512 return false;
1513 }
1514 function isDeclareClass(node, opts) {
1515 if (!node) return false;
1516 var nodeType = node.type;
1517
1518 if (nodeType === "DeclareClass") {
1519 if (typeof opts === "undefined") {
1520 return true;
1521 } else {
1522 return shallowEqual(node, opts);
1523 }
1524 }
1525
1526 return false;
1527 }
1528 function isDeclareFunction(node, opts) {
1529 if (!node) return false;
1530 var nodeType = node.type;
1531
1532 if (nodeType === "DeclareFunction") {
1533 if (typeof opts === "undefined") {
1534 return true;
1535 } else {
1536 return shallowEqual(node, opts);
1537 }
1538 }
1539
1540 return false;
1541 }
1542 function isDeclareInterface(node, opts) {
1543 if (!node) return false;
1544 var nodeType = node.type;
1545
1546 if (nodeType === "DeclareInterface") {
1547 if (typeof opts === "undefined") {
1548 return true;
1549 } else {
1550 return shallowEqual(node, opts);
1551 }
1552 }
1553
1554 return false;
1555 }
1556 function isDeclareModule(node, opts) {
1557 if (!node) return false;
1558 var nodeType = node.type;
1559
1560 if (nodeType === "DeclareModule") {
1561 if (typeof opts === "undefined") {
1562 return true;
1563 } else {
1564 return shallowEqual(node, opts);
1565 }
1566 }
1567
1568 return false;
1569 }
1570 function isDeclareModuleExports(node, opts) {
1571 if (!node) return false;
1572 var nodeType = node.type;
1573
1574 if (nodeType === "DeclareModuleExports") {
1575 if (typeof opts === "undefined") {
1576 return true;
1577 } else {
1578 return shallowEqual(node, opts);
1579 }
1580 }
1581
1582 return false;
1583 }
1584 function isDeclareTypeAlias(node, opts) {
1585 if (!node) return false;
1586 var nodeType = node.type;
1587
1588 if (nodeType === "DeclareTypeAlias") {
1589 if (typeof opts === "undefined") {
1590 return true;
1591 } else {
1592 return shallowEqual(node, opts);
1593 }
1594 }
1595
1596 return false;
1597 }
1598 function isDeclareOpaqueType(node, opts) {
1599 if (!node) return false;
1600 var nodeType = node.type;
1601
1602 if (nodeType === "DeclareOpaqueType") {
1603 if (typeof opts === "undefined") {
1604 return true;
1605 } else {
1606 return shallowEqual(node, opts);
1607 }
1608 }
1609
1610 return false;
1611 }
1612 function isDeclareVariable(node, opts) {
1613 if (!node) return false;
1614 var nodeType = node.type;
1615
1616 if (nodeType === "DeclareVariable") {
1617 if (typeof opts === "undefined") {
1618 return true;
1619 } else {
1620 return shallowEqual(node, opts);
1621 }
1622 }
1623
1624 return false;
1625 }
1626 function isDeclareExportDeclaration(node, opts) {
1627 if (!node) return false;
1628 var nodeType = node.type;
1629
1630 if (nodeType === "DeclareExportDeclaration") {
1631 if (typeof opts === "undefined") {
1632 return true;
1633 } else {
1634 return shallowEqual(node, opts);
1635 }
1636 }
1637
1638 return false;
1639 }
1640 function isDeclareExportAllDeclaration(node, opts) {
1641 if (!node) return false;
1642 var nodeType = node.type;
1643
1644 if (nodeType === "DeclareExportAllDeclaration") {
1645 if (typeof opts === "undefined") {
1646 return true;
1647 } else {
1648 return shallowEqual(node, opts);
1649 }
1650 }
1651
1652 return false;
1653 }
1654 function isDeclaredPredicate(node, opts) {
1655 if (!node) return false;
1656 var nodeType = node.type;
1657
1658 if (nodeType === "DeclaredPredicate") {
1659 if (typeof opts === "undefined") {
1660 return true;
1661 } else {
1662 return shallowEqual(node, opts);
1663 }
1664 }
1665
1666 return false;
1667 }
1668 function isExistsTypeAnnotation(node, opts) {
1669 if (!node) return false;
1670 var nodeType = node.type;
1671
1672 if (nodeType === "ExistsTypeAnnotation") {
1673 if (typeof opts === "undefined") {
1674 return true;
1675 } else {
1676 return shallowEqual(node, opts);
1677 }
1678 }
1679
1680 return false;
1681 }
1682 function isFunctionTypeAnnotation(node, opts) {
1683 if (!node) return false;
1684 var nodeType = node.type;
1685
1686 if (nodeType === "FunctionTypeAnnotation") {
1687 if (typeof opts === "undefined") {
1688 return true;
1689 } else {
1690 return shallowEqual(node, opts);
1691 }
1692 }
1693
1694 return false;
1695 }
1696 function isFunctionTypeParam(node, opts) {
1697 if (!node) return false;
1698 var nodeType = node.type;
1699
1700 if (nodeType === "FunctionTypeParam") {
1701 if (typeof opts === "undefined") {
1702 return true;
1703 } else {
1704 return shallowEqual(node, opts);
1705 }
1706 }
1707
1708 return false;
1709 }
1710 function isGenericTypeAnnotation(node, opts) {
1711 if (!node) return false;
1712 var nodeType = node.type;
1713
1714 if (nodeType === "GenericTypeAnnotation") {
1715 if (typeof opts === "undefined") {
1716 return true;
1717 } else {
1718 return shallowEqual(node, opts);
1719 }
1720 }
1721
1722 return false;
1723 }
1724 function isInferredPredicate(node, opts) {
1725 if (!node) return false;
1726 var nodeType = node.type;
1727
1728 if (nodeType === "InferredPredicate") {
1729 if (typeof opts === "undefined") {
1730 return true;
1731 } else {
1732 return shallowEqual(node, opts);
1733 }
1734 }
1735
1736 return false;
1737 }
1738 function isInterfaceExtends(node, opts) {
1739 if (!node) return false;
1740 var nodeType = node.type;
1741
1742 if (nodeType === "InterfaceExtends") {
1743 if (typeof opts === "undefined") {
1744 return true;
1745 } else {
1746 return shallowEqual(node, opts);
1747 }
1748 }
1749
1750 return false;
1751 }
1752 function isInterfaceDeclaration(node, opts) {
1753 if (!node) return false;
1754 var nodeType = node.type;
1755
1756 if (nodeType === "InterfaceDeclaration") {
1757 if (typeof opts === "undefined") {
1758 return true;
1759 } else {
1760 return shallowEqual(node, opts);
1761 }
1762 }
1763
1764 return false;
1765 }
1766 function isInterfaceTypeAnnotation(node, opts) {
1767 if (!node) return false;
1768 var nodeType = node.type;
1769
1770 if (nodeType === "InterfaceTypeAnnotation") {
1771 if (typeof opts === "undefined") {
1772 return true;
1773 } else {
1774 return shallowEqual(node, opts);
1775 }
1776 }
1777
1778 return false;
1779 }
1780 function isIntersectionTypeAnnotation(node, opts) {
1781 if (!node) return false;
1782 var nodeType = node.type;
1783
1784 if (nodeType === "IntersectionTypeAnnotation") {
1785 if (typeof opts === "undefined") {
1786 return true;
1787 } else {
1788 return shallowEqual(node, opts);
1789 }
1790 }
1791
1792 return false;
1793 }
1794 function isMixedTypeAnnotation(node, opts) {
1795 if (!node) return false;
1796 var nodeType = node.type;
1797
1798 if (nodeType === "MixedTypeAnnotation") {
1799 if (typeof opts === "undefined") {
1800 return true;
1801 } else {
1802 return shallowEqual(node, opts);
1803 }
1804 }
1805
1806 return false;
1807 }
1808 function isEmptyTypeAnnotation(node, opts) {
1809 if (!node) return false;
1810 var nodeType = node.type;
1811
1812 if (nodeType === "EmptyTypeAnnotation") {
1813 if (typeof opts === "undefined") {
1814 return true;
1815 } else {
1816 return shallowEqual(node, opts);
1817 }
1818 }
1819
1820 return false;
1821 }
1822 function isNullableTypeAnnotation(node, opts) {
1823 if (!node) return false;
1824 var nodeType = node.type;
1825
1826 if (nodeType === "NullableTypeAnnotation") {
1827 if (typeof opts === "undefined") {
1828 return true;
1829 } else {
1830 return shallowEqual(node, opts);
1831 }
1832 }
1833
1834 return false;
1835 }
1836 function isNumberLiteralTypeAnnotation(node, opts) {
1837 if (!node) return false;
1838 var nodeType = node.type;
1839
1840 if (nodeType === "NumberLiteralTypeAnnotation") {
1841 if (typeof opts === "undefined") {
1842 return true;
1843 } else {
1844 return shallowEqual(node, opts);
1845 }
1846 }
1847
1848 return false;
1849 }
1850 function isNumberTypeAnnotation(node, opts) {
1851 if (!node) return false;
1852 var nodeType = node.type;
1853
1854 if (nodeType === "NumberTypeAnnotation") {
1855 if (typeof opts === "undefined") {
1856 return true;
1857 } else {
1858 return shallowEqual(node, opts);
1859 }
1860 }
1861
1862 return false;
1863 }
1864 function isObjectTypeAnnotation(node, opts) {
1865 if (!node) return false;
1866 var nodeType = node.type;
1867
1868 if (nodeType === "ObjectTypeAnnotation") {
1869 if (typeof opts === "undefined") {
1870 return true;
1871 } else {
1872 return shallowEqual(node, opts);
1873 }
1874 }
1875
1876 return false;
1877 }
1878 function isObjectTypeInternalSlot(node, opts) {
1879 if (!node) return false;
1880 var nodeType = node.type;
1881
1882 if (nodeType === "ObjectTypeInternalSlot") {
1883 if (typeof opts === "undefined") {
1884 return true;
1885 } else {
1886 return shallowEqual(node, opts);
1887 }
1888 }
1889
1890 return false;
1891 }
1892 function isObjectTypeCallProperty(node, opts) {
1893 if (!node) return false;
1894 var nodeType = node.type;
1895
1896 if (nodeType === "ObjectTypeCallProperty") {
1897 if (typeof opts === "undefined") {
1898 return true;
1899 } else {
1900 return shallowEqual(node, opts);
1901 }
1902 }
1903
1904 return false;
1905 }
1906 function isObjectTypeIndexer(node, opts) {
1907 if (!node) return false;
1908 var nodeType = node.type;
1909
1910 if (nodeType === "ObjectTypeIndexer") {
1911 if (typeof opts === "undefined") {
1912 return true;
1913 } else {
1914 return shallowEqual(node, opts);
1915 }
1916 }
1917
1918 return false;
1919 }
1920 function isObjectTypeProperty(node, opts) {
1921 if (!node) return false;
1922 var nodeType = node.type;
1923
1924 if (nodeType === "ObjectTypeProperty") {
1925 if (typeof opts === "undefined") {
1926 return true;
1927 } else {
1928 return shallowEqual(node, opts);
1929 }
1930 }
1931
1932 return false;
1933 }
1934 function isObjectTypeSpreadProperty(node, opts) {
1935 if (!node) return false;
1936 var nodeType = node.type;
1937
1938 if (nodeType === "ObjectTypeSpreadProperty") {
1939 if (typeof opts === "undefined") {
1940 return true;
1941 } else {
1942 return shallowEqual(node, opts);
1943 }
1944 }
1945
1946 return false;
1947 }
1948 function isOpaqueType(node, opts) {
1949 if (!node) return false;
1950 var nodeType = node.type;
1951
1952 if (nodeType === "OpaqueType") {
1953 if (typeof opts === "undefined") {
1954 return true;
1955 } else {
1956 return shallowEqual(node, opts);
1957 }
1958 }
1959
1960 return false;
1961 }
1962 function isQualifiedTypeIdentifier(node, opts) {
1963 if (!node) return false;
1964 var nodeType = node.type;
1965
1966 if (nodeType === "QualifiedTypeIdentifier") {
1967 if (typeof opts === "undefined") {
1968 return true;
1969 } else {
1970 return shallowEqual(node, opts);
1971 }
1972 }
1973
1974 return false;
1975 }
1976 function isStringLiteralTypeAnnotation(node, opts) {
1977 if (!node) return false;
1978 var nodeType = node.type;
1979
1980 if (nodeType === "StringLiteralTypeAnnotation") {
1981 if (typeof opts === "undefined") {
1982 return true;
1983 } else {
1984 return shallowEqual(node, opts);
1985 }
1986 }
1987
1988 return false;
1989 }
1990 function isStringTypeAnnotation(node, opts) {
1991 if (!node) return false;
1992 var nodeType = node.type;
1993
1994 if (nodeType === "StringTypeAnnotation") {
1995 if (typeof opts === "undefined") {
1996 return true;
1997 } else {
1998 return shallowEqual(node, opts);
1999 }
2000 }
2001
2002 return false;
2003 }
2004 function isSymbolTypeAnnotation(node, opts) {
2005 if (!node) return false;
2006 var nodeType = node.type;
2007
2008 if (nodeType === "SymbolTypeAnnotation") {
2009 if (typeof opts === "undefined") {
2010 return true;
2011 } else {
2012 return shallowEqual(node, opts);
2013 }
2014 }
2015
2016 return false;
2017 }
2018 function isThisTypeAnnotation(node, opts) {
2019 if (!node) return false;
2020 var nodeType = node.type;
2021
2022 if (nodeType === "ThisTypeAnnotation") {
2023 if (typeof opts === "undefined") {
2024 return true;
2025 } else {
2026 return shallowEqual(node, opts);
2027 }
2028 }
2029
2030 return false;
2031 }
2032 function isTupleTypeAnnotation(node, opts) {
2033 if (!node) return false;
2034 var nodeType = node.type;
2035
2036 if (nodeType === "TupleTypeAnnotation") {
2037 if (typeof opts === "undefined") {
2038 return true;
2039 } else {
2040 return shallowEqual(node, opts);
2041 }
2042 }
2043
2044 return false;
2045 }
2046 function isTypeofTypeAnnotation(node, opts) {
2047 if (!node) return false;
2048 var nodeType = node.type;
2049
2050 if (nodeType === "TypeofTypeAnnotation") {
2051 if (typeof opts === "undefined") {
2052 return true;
2053 } else {
2054 return shallowEqual(node, opts);
2055 }
2056 }
2057
2058 return false;
2059 }
2060 function isTypeAlias(node, opts) {
2061 if (!node) return false;
2062 var nodeType = node.type;
2063
2064 if (nodeType === "TypeAlias") {
2065 if (typeof opts === "undefined") {
2066 return true;
2067 } else {
2068 return shallowEqual(node, opts);
2069 }
2070 }
2071
2072 return false;
2073 }
2074 function isTypeAnnotation(node, opts) {
2075 if (!node) return false;
2076 var nodeType = node.type;
2077
2078 if (nodeType === "TypeAnnotation") {
2079 if (typeof opts === "undefined") {
2080 return true;
2081 } else {
2082 return shallowEqual(node, opts);
2083 }
2084 }
2085
2086 return false;
2087 }
2088 function isTypeCastExpression(node, opts) {
2089 if (!node) return false;
2090 var nodeType = node.type;
2091
2092 if (nodeType === "TypeCastExpression") {
2093 if (typeof opts === "undefined") {
2094 return true;
2095 } else {
2096 return shallowEqual(node, opts);
2097 }
2098 }
2099
2100 return false;
2101 }
2102 function isTypeParameter(node, opts) {
2103 if (!node) return false;
2104 var nodeType = node.type;
2105
2106 if (nodeType === "TypeParameter") {
2107 if (typeof opts === "undefined") {
2108 return true;
2109 } else {
2110 return shallowEqual(node, opts);
2111 }
2112 }
2113
2114 return false;
2115 }
2116 function isTypeParameterDeclaration(node, opts) {
2117 if (!node) return false;
2118 var nodeType = node.type;
2119
2120 if (nodeType === "TypeParameterDeclaration") {
2121 if (typeof opts === "undefined") {
2122 return true;
2123 } else {
2124 return shallowEqual(node, opts);
2125 }
2126 }
2127
2128 return false;
2129 }
2130 function isTypeParameterInstantiation(node, opts) {
2131 if (!node) return false;
2132 var nodeType = node.type;
2133
2134 if (nodeType === "TypeParameterInstantiation") {
2135 if (typeof opts === "undefined") {
2136 return true;
2137 } else {
2138 return shallowEqual(node, opts);
2139 }
2140 }
2141
2142 return false;
2143 }
2144 function isUnionTypeAnnotation(node, opts) {
2145 if (!node) return false;
2146 var nodeType = node.type;
2147
2148 if (nodeType === "UnionTypeAnnotation") {
2149 if (typeof opts === "undefined") {
2150 return true;
2151 } else {
2152 return shallowEqual(node, opts);
2153 }
2154 }
2155
2156 return false;
2157 }
2158 function isVariance(node, opts) {
2159 if (!node) return false;
2160 var nodeType = node.type;
2161
2162 if (nodeType === "Variance") {
2163 if (typeof opts === "undefined") {
2164 return true;
2165 } else {
2166 return shallowEqual(node, opts);
2167 }
2168 }
2169
2170 return false;
2171 }
2172 function isVoidTypeAnnotation(node, opts) {
2173 if (!node) return false;
2174 var nodeType = node.type;
2175
2176 if (nodeType === "VoidTypeAnnotation") {
2177 if (typeof opts === "undefined") {
2178 return true;
2179 } else {
2180 return shallowEqual(node, opts);
2181 }
2182 }
2183
2184 return false;
2185 }
2186 function isEnumDeclaration(node, opts) {
2187 if (!node) return false;
2188 var nodeType = node.type;
2189
2190 if (nodeType === "EnumDeclaration") {
2191 if (typeof opts === "undefined") {
2192 return true;
2193 } else {
2194 return shallowEqual(node, opts);
2195 }
2196 }
2197
2198 return false;
2199 }
2200 function isEnumBooleanBody(node, opts) {
2201 if (!node) return false;
2202 var nodeType = node.type;
2203
2204 if (nodeType === "EnumBooleanBody") {
2205 if (typeof opts === "undefined") {
2206 return true;
2207 } else {
2208 return shallowEqual(node, opts);
2209 }
2210 }
2211
2212 return false;
2213 }
2214 function isEnumNumberBody(node, opts) {
2215 if (!node) return false;
2216 var nodeType = node.type;
2217
2218 if (nodeType === "EnumNumberBody") {
2219 if (typeof opts === "undefined") {
2220 return true;
2221 } else {
2222 return shallowEqual(node, opts);
2223 }
2224 }
2225
2226 return false;
2227 }
2228 function isEnumStringBody(node, opts) {
2229 if (!node) return false;
2230 var nodeType = node.type;
2231
2232 if (nodeType === "EnumStringBody") {
2233 if (typeof opts === "undefined") {
2234 return true;
2235 } else {
2236 return shallowEqual(node, opts);
2237 }
2238 }
2239
2240 return false;
2241 }
2242 function isEnumSymbolBody(node, opts) {
2243 if (!node) return false;
2244 var nodeType = node.type;
2245
2246 if (nodeType === "EnumSymbolBody") {
2247 if (typeof opts === "undefined") {
2248 return true;
2249 } else {
2250 return shallowEqual(node, opts);
2251 }
2252 }
2253
2254 return false;
2255 }
2256 function isEnumBooleanMember(node, opts) {
2257 if (!node) return false;
2258 var nodeType = node.type;
2259
2260 if (nodeType === "EnumBooleanMember") {
2261 if (typeof opts === "undefined") {
2262 return true;
2263 } else {
2264 return shallowEqual(node, opts);
2265 }
2266 }
2267
2268 return false;
2269 }
2270 function isEnumNumberMember(node, opts) {
2271 if (!node) return false;
2272 var nodeType = node.type;
2273
2274 if (nodeType === "EnumNumberMember") {
2275 if (typeof opts === "undefined") {
2276 return true;
2277 } else {
2278 return shallowEqual(node, opts);
2279 }
2280 }
2281
2282 return false;
2283 }
2284 function isEnumStringMember(node, opts) {
2285 if (!node) return false;
2286 var nodeType = node.type;
2287
2288 if (nodeType === "EnumStringMember") {
2289 if (typeof opts === "undefined") {
2290 return true;
2291 } else {
2292 return shallowEqual(node, opts);
2293 }
2294 }
2295
2296 return false;
2297 }
2298 function isEnumDefaultedMember(node, opts) {
2299 if (!node) return false;
2300 var nodeType = node.type;
2301
2302 if (nodeType === "EnumDefaultedMember") {
2303 if (typeof opts === "undefined") {
2304 return true;
2305 } else {
2306 return shallowEqual(node, opts);
2307 }
2308 }
2309
2310 return false;
2311 }
2312 function isIndexedAccessType(node, opts) {
2313 if (!node) return false;
2314 var nodeType = node.type;
2315
2316 if (nodeType === "IndexedAccessType") {
2317 if (typeof opts === "undefined") {
2318 return true;
2319 } else {
2320 return shallowEqual(node, opts);
2321 }
2322 }
2323
2324 return false;
2325 }
2326 function isOptionalIndexedAccessType(node, opts) {
2327 if (!node) return false;
2328 var nodeType = node.type;
2329
2330 if (nodeType === "OptionalIndexedAccessType") {
2331 if (typeof opts === "undefined") {
2332 return true;
2333 } else {
2334 return shallowEqual(node, opts);
2335 }
2336 }
2337
2338 return false;
2339 }
2340 function isJSXAttribute(node, opts) {
2341 if (!node) return false;
2342 var nodeType = node.type;
2343
2344 if (nodeType === "JSXAttribute") {
2345 if (typeof opts === "undefined") {
2346 return true;
2347 } else {
2348 return shallowEqual(node, opts);
2349 }
2350 }
2351
2352 return false;
2353 }
2354 function isJSXClosingElement(node, opts) {
2355 if (!node) return false;
2356 var nodeType = node.type;
2357
2358 if (nodeType === "JSXClosingElement") {
2359 if (typeof opts === "undefined") {
2360 return true;
2361 } else {
2362 return shallowEqual(node, opts);
2363 }
2364 }
2365
2366 return false;
2367 }
2368 function isJSXElement(node, opts) {
2369 if (!node) return false;
2370 var nodeType = node.type;
2371
2372 if (nodeType === "JSXElement") {
2373 if (typeof opts === "undefined") {
2374 return true;
2375 } else {
2376 return shallowEqual(node, opts);
2377 }
2378 }
2379
2380 return false;
2381 }
2382 function isJSXEmptyExpression(node, opts) {
2383 if (!node) return false;
2384 var nodeType = node.type;
2385
2386 if (nodeType === "JSXEmptyExpression") {
2387 if (typeof opts === "undefined") {
2388 return true;
2389 } else {
2390 return shallowEqual(node, opts);
2391 }
2392 }
2393
2394 return false;
2395 }
2396 function isJSXExpressionContainer(node, opts) {
2397 if (!node) return false;
2398 var nodeType = node.type;
2399
2400 if (nodeType === "JSXExpressionContainer") {
2401 if (typeof opts === "undefined") {
2402 return true;
2403 } else {
2404 return shallowEqual(node, opts);
2405 }
2406 }
2407
2408 return false;
2409 }
2410 function isJSXSpreadChild(node, opts) {
2411 if (!node) return false;
2412 var nodeType = node.type;
2413
2414 if (nodeType === "JSXSpreadChild") {
2415 if (typeof opts === "undefined") {
2416 return true;
2417 } else {
2418 return shallowEqual(node, opts);
2419 }
2420 }
2421
2422 return false;
2423 }
2424 function isJSXIdentifier(node, opts) {
2425 if (!node) return false;
2426 var nodeType = node.type;
2427
2428 if (nodeType === "JSXIdentifier") {
2429 if (typeof opts === "undefined") {
2430 return true;
2431 } else {
2432 return shallowEqual(node, opts);
2433 }
2434 }
2435
2436 return false;
2437 }
2438 function isJSXMemberExpression(node, opts) {
2439 if (!node) return false;
2440 var nodeType = node.type;
2441
2442 if (nodeType === "JSXMemberExpression") {
2443 if (typeof opts === "undefined") {
2444 return true;
2445 } else {
2446 return shallowEqual(node, opts);
2447 }
2448 }
2449
2450 return false;
2451 }
2452 function isJSXNamespacedName(node, opts) {
2453 if (!node) return false;
2454 var nodeType = node.type;
2455
2456 if (nodeType === "JSXNamespacedName") {
2457 if (typeof opts === "undefined") {
2458 return true;
2459 } else {
2460 return shallowEqual(node, opts);
2461 }
2462 }
2463
2464 return false;
2465 }
2466 function isJSXOpeningElement(node, opts) {
2467 if (!node) return false;
2468 var nodeType = node.type;
2469
2470 if (nodeType === "JSXOpeningElement") {
2471 if (typeof opts === "undefined") {
2472 return true;
2473 } else {
2474 return shallowEqual(node, opts);
2475 }
2476 }
2477
2478 return false;
2479 }
2480 function isJSXSpreadAttribute(node, opts) {
2481 if (!node) return false;
2482 var nodeType = node.type;
2483
2484 if (nodeType === "JSXSpreadAttribute") {
2485 if (typeof opts === "undefined") {
2486 return true;
2487 } else {
2488 return shallowEqual(node, opts);
2489 }
2490 }
2491
2492 return false;
2493 }
2494 function isJSXText(node, opts) {
2495 if (!node) return false;
2496 var nodeType = node.type;
2497
2498 if (nodeType === "JSXText") {
2499 if (typeof opts === "undefined") {
2500 return true;
2501 } else {
2502 return shallowEqual(node, opts);
2503 }
2504 }
2505
2506 return false;
2507 }
2508 function isJSXFragment(node, opts) {
2509 if (!node) return false;
2510 var nodeType = node.type;
2511
2512 if (nodeType === "JSXFragment") {
2513 if (typeof opts === "undefined") {
2514 return true;
2515 } else {
2516 return shallowEqual(node, opts);
2517 }
2518 }
2519
2520 return false;
2521 }
2522 function isJSXOpeningFragment(node, opts) {
2523 if (!node) return false;
2524 var nodeType = node.type;
2525
2526 if (nodeType === "JSXOpeningFragment") {
2527 if (typeof opts === "undefined") {
2528 return true;
2529 } else {
2530 return shallowEqual(node, opts);
2531 }
2532 }
2533
2534 return false;
2535 }
2536 function isJSXClosingFragment(node, opts) {
2537 if (!node) return false;
2538 var nodeType = node.type;
2539
2540 if (nodeType === "JSXClosingFragment") {
2541 if (typeof opts === "undefined") {
2542 return true;
2543 } else {
2544 return shallowEqual(node, opts);
2545 }
2546 }
2547
2548 return false;
2549 }
2550 function isNoop(node, opts) {
2551 if (!node) return false;
2552 var nodeType = node.type;
2553
2554 if (nodeType === "Noop") {
2555 if (typeof opts === "undefined") {
2556 return true;
2557 } else {
2558 return shallowEqual(node, opts);
2559 }
2560 }
2561
2562 return false;
2563 }
2564 function isPlaceholder(node, opts) {
2565 if (!node) return false;
2566 var nodeType = node.type;
2567
2568 if (nodeType === "Placeholder") {
2569 if (typeof opts === "undefined") {
2570 return true;
2571 } else {
2572 return shallowEqual(node, opts);
2573 }
2574 }
2575
2576 return false;
2577 }
2578 function isV8IntrinsicIdentifier(node, opts) {
2579 if (!node) return false;
2580 var nodeType = node.type;
2581
2582 if (nodeType === "V8IntrinsicIdentifier") {
2583 if (typeof opts === "undefined") {
2584 return true;
2585 } else {
2586 return shallowEqual(node, opts);
2587 }
2588 }
2589
2590 return false;
2591 }
2592 function isArgumentPlaceholder(node, opts) {
2593 if (!node) return false;
2594 var nodeType = node.type;
2595
2596 if (nodeType === "ArgumentPlaceholder") {
2597 if (typeof opts === "undefined") {
2598 return true;
2599 } else {
2600 return shallowEqual(node, opts);
2601 }
2602 }
2603
2604 return false;
2605 }
2606 function isBindExpression(node, opts) {
2607 if (!node) return false;
2608 var nodeType = node.type;
2609
2610 if (nodeType === "BindExpression") {
2611 if (typeof opts === "undefined") {
2612 return true;
2613 } else {
2614 return shallowEqual(node, opts);
2615 }
2616 }
2617
2618 return false;
2619 }
2620 function isPipelineTopicExpression(node, opts) {
2621 if (!node) return false;
2622 var nodeType = node.type;
2623
2624 if (nodeType === "PipelineTopicExpression") {
2625 if (typeof opts === "undefined") {
2626 return true;
2627 } else {
2628 return shallowEqual(node, opts);
2629 }
2630 }
2631
2632 return false;
2633 }
2634 function isPipelineBareFunction(node, opts) {
2635 if (!node) return false;
2636 var nodeType = node.type;
2637
2638 if (nodeType === "PipelineBareFunction") {
2639 if (typeof opts === "undefined") {
2640 return true;
2641 } else {
2642 return shallowEqual(node, opts);
2643 }
2644 }
2645
2646 return false;
2647 }
2648 function isPipelinePrimaryTopicReference(node, opts) {
2649 if (!node) return false;
2650 var nodeType = node.type;
2651
2652 if (nodeType === "PipelinePrimaryTopicReference") {
2653 if (typeof opts === "undefined") {
2654 return true;
2655 } else {
2656 return shallowEqual(node, opts);
2657 }
2658 }
2659
2660 return false;
2661 }
2662 function isImportAttribute(node, opts) {
2663 if (!node) return false;
2664 var nodeType = node.type;
2665
2666 if (nodeType === "ImportAttribute") {
2667 if (typeof opts === "undefined") {
2668 return true;
2669 } else {
2670 return shallowEqual(node, opts);
2671 }
2672 }
2673
2674 return false;
2675 }
2676 function isDecorator(node, opts) {
2677 if (!node) return false;
2678 var nodeType = node.type;
2679
2680 if (nodeType === "Decorator") {
2681 if (typeof opts === "undefined") {
2682 return true;
2683 } else {
2684 return shallowEqual(node, opts);
2685 }
2686 }
2687
2688 return false;
2689 }
2690 function isDoExpression(node, opts) {
2691 if (!node) return false;
2692 var nodeType = node.type;
2693
2694 if (nodeType === "DoExpression") {
2695 if (typeof opts === "undefined") {
2696 return true;
2697 } else {
2698 return shallowEqual(node, opts);
2699 }
2700 }
2701
2702 return false;
2703 }
2704 function isExportDefaultSpecifier(node, opts) {
2705 if (!node) return false;
2706 var nodeType = node.type;
2707
2708 if (nodeType === "ExportDefaultSpecifier") {
2709 if (typeof opts === "undefined") {
2710 return true;
2711 } else {
2712 return shallowEqual(node, opts);
2713 }
2714 }
2715
2716 return false;
2717 }
2718 function isRecordExpression(node, opts) {
2719 if (!node) return false;
2720 var nodeType = node.type;
2721
2722 if (nodeType === "RecordExpression") {
2723 if (typeof opts === "undefined") {
2724 return true;
2725 } else {
2726 return shallowEqual(node, opts);
2727 }
2728 }
2729
2730 return false;
2731 }
2732 function isTupleExpression(node, opts) {
2733 if (!node) return false;
2734 var nodeType = node.type;
2735
2736 if (nodeType === "TupleExpression") {
2737 if (typeof opts === "undefined") {
2738 return true;
2739 } else {
2740 return shallowEqual(node, opts);
2741 }
2742 }
2743
2744 return false;
2745 }
2746 function isDecimalLiteral(node, opts) {
2747 if (!node) return false;
2748 var nodeType = node.type;
2749
2750 if (nodeType === "DecimalLiteral") {
2751 if (typeof opts === "undefined") {
2752 return true;
2753 } else {
2754 return shallowEqual(node, opts);
2755 }
2756 }
2757
2758 return false;
2759 }
2760 function isStaticBlock(node, opts) {
2761 if (!node) return false;
2762 var nodeType = node.type;
2763
2764 if (nodeType === "StaticBlock") {
2765 if (typeof opts === "undefined") {
2766 return true;
2767 } else {
2768 return shallowEqual(node, opts);
2769 }
2770 }
2771
2772 return false;
2773 }
2774 function isModuleExpression(node, opts) {
2775 if (!node) return false;
2776 var nodeType = node.type;
2777
2778 if (nodeType === "ModuleExpression") {
2779 if (typeof opts === "undefined") {
2780 return true;
2781 } else {
2782 return shallowEqual(node, opts);
2783 }
2784 }
2785
2786 return false;
2787 }
2788 function isTSParameterProperty(node, opts) {
2789 if (!node) return false;
2790 var nodeType = node.type;
2791
2792 if (nodeType === "TSParameterProperty") {
2793 if (typeof opts === "undefined") {
2794 return true;
2795 } else {
2796 return shallowEqual(node, opts);
2797 }
2798 }
2799
2800 return false;
2801 }
2802 function isTSDeclareFunction(node, opts) {
2803 if (!node) return false;
2804 var nodeType = node.type;
2805
2806 if (nodeType === "TSDeclareFunction") {
2807 if (typeof opts === "undefined") {
2808 return true;
2809 } else {
2810 return shallowEqual(node, opts);
2811 }
2812 }
2813
2814 return false;
2815 }
2816 function isTSDeclareMethod(node, opts) {
2817 if (!node) return false;
2818 var nodeType = node.type;
2819
2820 if (nodeType === "TSDeclareMethod") {
2821 if (typeof opts === "undefined") {
2822 return true;
2823 } else {
2824 return shallowEqual(node, opts);
2825 }
2826 }
2827
2828 return false;
2829 }
2830 function isTSQualifiedName(node, opts) {
2831 if (!node) return false;
2832 var nodeType = node.type;
2833
2834 if (nodeType === "TSQualifiedName") {
2835 if (typeof opts === "undefined") {
2836 return true;
2837 } else {
2838 return shallowEqual(node, opts);
2839 }
2840 }
2841
2842 return false;
2843 }
2844 function isTSCallSignatureDeclaration(node, opts) {
2845 if (!node) return false;
2846 var nodeType = node.type;
2847
2848 if (nodeType === "TSCallSignatureDeclaration") {
2849 if (typeof opts === "undefined") {
2850 return true;
2851 } else {
2852 return shallowEqual(node, opts);
2853 }
2854 }
2855
2856 return false;
2857 }
2858 function isTSConstructSignatureDeclaration(node, opts) {
2859 if (!node) return false;
2860 var nodeType = node.type;
2861
2862 if (nodeType === "TSConstructSignatureDeclaration") {
2863 if (typeof opts === "undefined") {
2864 return true;
2865 } else {
2866 return shallowEqual(node, opts);
2867 }
2868 }
2869
2870 return false;
2871 }
2872 function isTSPropertySignature(node, opts) {
2873 if (!node) return false;
2874 var nodeType = node.type;
2875
2876 if (nodeType === "TSPropertySignature") {
2877 if (typeof opts === "undefined") {
2878 return true;
2879 } else {
2880 return shallowEqual(node, opts);
2881 }
2882 }
2883
2884 return false;
2885 }
2886 function isTSMethodSignature(node, opts) {
2887 if (!node) return false;
2888 var nodeType = node.type;
2889
2890 if (nodeType === "TSMethodSignature") {
2891 if (typeof opts === "undefined") {
2892 return true;
2893 } else {
2894 return shallowEqual(node, opts);
2895 }
2896 }
2897
2898 return false;
2899 }
2900 function isTSIndexSignature(node, opts) {
2901 if (!node) return false;
2902 var nodeType = node.type;
2903
2904 if (nodeType === "TSIndexSignature") {
2905 if (typeof opts === "undefined") {
2906 return true;
2907 } else {
2908 return shallowEqual(node, opts);
2909 }
2910 }
2911
2912 return false;
2913 }
2914 function isTSAnyKeyword(node, opts) {
2915 if (!node) return false;
2916 var nodeType = node.type;
2917
2918 if (nodeType === "TSAnyKeyword") {
2919 if (typeof opts === "undefined") {
2920 return true;
2921 } else {
2922 return shallowEqual(node, opts);
2923 }
2924 }
2925
2926 return false;
2927 }
2928 function isTSBooleanKeyword(node, opts) {
2929 if (!node) return false;
2930 var nodeType = node.type;
2931
2932 if (nodeType === "TSBooleanKeyword") {
2933 if (typeof opts === "undefined") {
2934 return true;
2935 } else {
2936 return shallowEqual(node, opts);
2937 }
2938 }
2939
2940 return false;
2941 }
2942 function isTSBigIntKeyword(node, opts) {
2943 if (!node) return false;
2944 var nodeType = node.type;
2945
2946 if (nodeType === "TSBigIntKeyword") {
2947 if (typeof opts === "undefined") {
2948 return true;
2949 } else {
2950 return shallowEqual(node, opts);
2951 }
2952 }
2953
2954 return false;
2955 }
2956 function isTSIntrinsicKeyword(node, opts) {
2957 if (!node) return false;
2958 var nodeType = node.type;
2959
2960 if (nodeType === "TSIntrinsicKeyword") {
2961 if (typeof opts === "undefined") {
2962 return true;
2963 } else {
2964 return shallowEqual(node, opts);
2965 }
2966 }
2967
2968 return false;
2969 }
2970 function isTSNeverKeyword(node, opts) {
2971 if (!node) return false;
2972 var nodeType = node.type;
2973
2974 if (nodeType === "TSNeverKeyword") {
2975 if (typeof opts === "undefined") {
2976 return true;
2977 } else {
2978 return shallowEqual(node, opts);
2979 }
2980 }
2981
2982 return false;
2983 }
2984 function isTSNullKeyword(node, opts) {
2985 if (!node) return false;
2986 var nodeType = node.type;
2987
2988 if (nodeType === "TSNullKeyword") {
2989 if (typeof opts === "undefined") {
2990 return true;
2991 } else {
2992 return shallowEqual(node, opts);
2993 }
2994 }
2995
2996 return false;
2997 }
2998 function isTSNumberKeyword(node, opts) {
2999 if (!node) return false;
3000 var nodeType = node.type;
3001
3002 if (nodeType === "TSNumberKeyword") {
3003 if (typeof opts === "undefined") {
3004 return true;
3005 } else {
3006 return shallowEqual(node, opts);
3007 }
3008 }
3009
3010 return false;
3011 }
3012 function isTSObjectKeyword(node, opts) {
3013 if (!node) return false;
3014 var nodeType = node.type;
3015
3016 if (nodeType === "TSObjectKeyword") {
3017 if (typeof opts === "undefined") {
3018 return true;
3019 } else {
3020 return shallowEqual(node, opts);
3021 }
3022 }
3023
3024 return false;
3025 }
3026 function isTSStringKeyword(node, opts) {
3027 if (!node) return false;
3028 var nodeType = node.type;
3029
3030 if (nodeType === "TSStringKeyword") {
3031 if (typeof opts === "undefined") {
3032 return true;
3033 } else {
3034 return shallowEqual(node, opts);
3035 }
3036 }
3037
3038 return false;
3039 }
3040 function isTSSymbolKeyword(node, opts) {
3041 if (!node) return false;
3042 var nodeType = node.type;
3043
3044 if (nodeType === "TSSymbolKeyword") {
3045 if (typeof opts === "undefined") {
3046 return true;
3047 } else {
3048 return shallowEqual(node, opts);
3049 }
3050 }
3051
3052 return false;
3053 }
3054 function isTSUndefinedKeyword(node, opts) {
3055 if (!node) return false;
3056 var nodeType = node.type;
3057
3058 if (nodeType === "TSUndefinedKeyword") {
3059 if (typeof opts === "undefined") {
3060 return true;
3061 } else {
3062 return shallowEqual(node, opts);
3063 }
3064 }
3065
3066 return false;
3067 }
3068 function isTSUnknownKeyword(node, opts) {
3069 if (!node) return false;
3070 var nodeType = node.type;
3071
3072 if (nodeType === "TSUnknownKeyword") {
3073 if (typeof opts === "undefined") {
3074 return true;
3075 } else {
3076 return shallowEqual(node, opts);
3077 }
3078 }
3079
3080 return false;
3081 }
3082 function isTSVoidKeyword(node, opts) {
3083 if (!node) return false;
3084 var nodeType = node.type;
3085
3086 if (nodeType === "TSVoidKeyword") {
3087 if (typeof opts === "undefined") {
3088 return true;
3089 } else {
3090 return shallowEqual(node, opts);
3091 }
3092 }
3093
3094 return false;
3095 }
3096 function isTSThisType(node, opts) {
3097 if (!node) return false;
3098 var nodeType = node.type;
3099
3100 if (nodeType === "TSThisType") {
3101 if (typeof opts === "undefined") {
3102 return true;
3103 } else {
3104 return shallowEqual(node, opts);
3105 }
3106 }
3107
3108 return false;
3109 }
3110 function isTSFunctionType(node, opts) {
3111 if (!node) return false;
3112 var nodeType = node.type;
3113
3114 if (nodeType === "TSFunctionType") {
3115 if (typeof opts === "undefined") {
3116 return true;
3117 } else {
3118 return shallowEqual(node, opts);
3119 }
3120 }
3121
3122 return false;
3123 }
3124 function isTSConstructorType(node, opts) {
3125 if (!node) return false;
3126 var nodeType = node.type;
3127
3128 if (nodeType === "TSConstructorType") {
3129 if (typeof opts === "undefined") {
3130 return true;
3131 } else {
3132 return shallowEqual(node, opts);
3133 }
3134 }
3135
3136 return false;
3137 }
3138 function isTSTypeReference(node, opts) {
3139 if (!node) return false;
3140 var nodeType = node.type;
3141
3142 if (nodeType === "TSTypeReference") {
3143 if (typeof opts === "undefined") {
3144 return true;
3145 } else {
3146 return shallowEqual(node, opts);
3147 }
3148 }
3149
3150 return false;
3151 }
3152 function isTSTypePredicate(node, opts) {
3153 if (!node) return false;
3154 var nodeType = node.type;
3155
3156 if (nodeType === "TSTypePredicate") {
3157 if (typeof opts === "undefined") {
3158 return true;
3159 } else {
3160 return shallowEqual(node, opts);
3161 }
3162 }
3163
3164 return false;
3165 }
3166 function isTSTypeQuery(node, opts) {
3167 if (!node) return false;
3168 var nodeType = node.type;
3169
3170 if (nodeType === "TSTypeQuery") {
3171 if (typeof opts === "undefined") {
3172 return true;
3173 } else {
3174 return shallowEqual(node, opts);
3175 }
3176 }
3177
3178 return false;
3179 }
3180 function isTSTypeLiteral(node, opts) {
3181 if (!node) return false;
3182 var nodeType = node.type;
3183
3184 if (nodeType === "TSTypeLiteral") {
3185 if (typeof opts === "undefined") {
3186 return true;
3187 } else {
3188 return shallowEqual(node, opts);
3189 }
3190 }
3191
3192 return false;
3193 }
3194 function isTSArrayType(node, opts) {
3195 if (!node) return false;
3196 var nodeType = node.type;
3197
3198 if (nodeType === "TSArrayType") {
3199 if (typeof opts === "undefined") {
3200 return true;
3201 } else {
3202 return shallowEqual(node, opts);
3203 }
3204 }
3205
3206 return false;
3207 }
3208 function isTSTupleType(node, opts) {
3209 if (!node) return false;
3210 var nodeType = node.type;
3211
3212 if (nodeType === "TSTupleType") {
3213 if (typeof opts === "undefined") {
3214 return true;
3215 } else {
3216 return shallowEqual(node, opts);
3217 }
3218 }
3219
3220 return false;
3221 }
3222 function isTSOptionalType(node, opts) {
3223 if (!node) return false;
3224 var nodeType = node.type;
3225
3226 if (nodeType === "TSOptionalType") {
3227 if (typeof opts === "undefined") {
3228 return true;
3229 } else {
3230 return shallowEqual(node, opts);
3231 }
3232 }
3233
3234 return false;
3235 }
3236 function isTSRestType(node, opts) {
3237 if (!node) return false;
3238 var nodeType = node.type;
3239
3240 if (nodeType === "TSRestType") {
3241 if (typeof opts === "undefined") {
3242 return true;
3243 } else {
3244 return shallowEqual(node, opts);
3245 }
3246 }
3247
3248 return false;
3249 }
3250 function isTSNamedTupleMember(node, opts) {
3251 if (!node) return false;
3252 var nodeType = node.type;
3253
3254 if (nodeType === "TSNamedTupleMember") {
3255 if (typeof opts === "undefined") {
3256 return true;
3257 } else {
3258 return shallowEqual(node, opts);
3259 }
3260 }
3261
3262 return false;
3263 }
3264 function isTSUnionType(node, opts) {
3265 if (!node) return false;
3266 var nodeType = node.type;
3267
3268 if (nodeType === "TSUnionType") {
3269 if (typeof opts === "undefined") {
3270 return true;
3271 } else {
3272 return shallowEqual(node, opts);
3273 }
3274 }
3275
3276 return false;
3277 }
3278 function isTSIntersectionType(node, opts) {
3279 if (!node) return false;
3280 var nodeType = node.type;
3281
3282 if (nodeType === "TSIntersectionType") {
3283 if (typeof opts === "undefined") {
3284 return true;
3285 } else {
3286 return shallowEqual(node, opts);
3287 }
3288 }
3289
3290 return false;
3291 }
3292 function isTSConditionalType(node, opts) {
3293 if (!node) return false;
3294 var nodeType = node.type;
3295
3296 if (nodeType === "TSConditionalType") {
3297 if (typeof opts === "undefined") {
3298 return true;
3299 } else {
3300 return shallowEqual(node, opts);
3301 }
3302 }
3303
3304 return false;
3305 }
3306 function isTSInferType(node, opts) {
3307 if (!node) return false;
3308 var nodeType = node.type;
3309
3310 if (nodeType === "TSInferType") {
3311 if (typeof opts === "undefined") {
3312 return true;
3313 } else {
3314 return shallowEqual(node, opts);
3315 }
3316 }
3317
3318 return false;
3319 }
3320 function isTSParenthesizedType(node, opts) {
3321 if (!node) return false;
3322 var nodeType = node.type;
3323
3324 if (nodeType === "TSParenthesizedType") {
3325 if (typeof opts === "undefined") {
3326 return true;
3327 } else {
3328 return shallowEqual(node, opts);
3329 }
3330 }
3331
3332 return false;
3333 }
3334 function isTSTypeOperator(node, opts) {
3335 if (!node) return false;
3336 var nodeType = node.type;
3337
3338 if (nodeType === "TSTypeOperator") {
3339 if (typeof opts === "undefined") {
3340 return true;
3341 } else {
3342 return shallowEqual(node, opts);
3343 }
3344 }
3345
3346 return false;
3347 }
3348 function isTSIndexedAccessType(node, opts) {
3349 if (!node) return false;
3350 var nodeType = node.type;
3351
3352 if (nodeType === "TSIndexedAccessType") {
3353 if (typeof opts === "undefined") {
3354 return true;
3355 } else {
3356 return shallowEqual(node, opts);
3357 }
3358 }
3359
3360 return false;
3361 }
3362 function isTSMappedType(node, opts) {
3363 if (!node) return false;
3364 var nodeType = node.type;
3365
3366 if (nodeType === "TSMappedType") {
3367 if (typeof opts === "undefined") {
3368 return true;
3369 } else {
3370 return shallowEqual(node, opts);
3371 }
3372 }
3373
3374 return false;
3375 }
3376 function isTSLiteralType(node, opts) {
3377 if (!node) return false;
3378 var nodeType = node.type;
3379
3380 if (nodeType === "TSLiteralType") {
3381 if (typeof opts === "undefined") {
3382 return true;
3383 } else {
3384 return shallowEqual(node, opts);
3385 }
3386 }
3387
3388 return false;
3389 }
3390 function isTSExpressionWithTypeArguments(node, opts) {
3391 if (!node) return false;
3392 var nodeType = node.type;
3393
3394 if (nodeType === "TSExpressionWithTypeArguments") {
3395 if (typeof opts === "undefined") {
3396 return true;
3397 } else {
3398 return shallowEqual(node, opts);
3399 }
3400 }
3401
3402 return false;
3403 }
3404 function isTSInterfaceDeclaration(node, opts) {
3405 if (!node) return false;
3406 var nodeType = node.type;
3407
3408 if (nodeType === "TSInterfaceDeclaration") {
3409 if (typeof opts === "undefined") {
3410 return true;
3411 } else {
3412 return shallowEqual(node, opts);
3413 }
3414 }
3415
3416 return false;
3417 }
3418 function isTSInterfaceBody(node, opts) {
3419 if (!node) return false;
3420 var nodeType = node.type;
3421
3422 if (nodeType === "TSInterfaceBody") {
3423 if (typeof opts === "undefined") {
3424 return true;
3425 } else {
3426 return shallowEqual(node, opts);
3427 }
3428 }
3429
3430 return false;
3431 }
3432 function isTSTypeAliasDeclaration(node, opts) {
3433 if (!node) return false;
3434 var nodeType = node.type;
3435
3436 if (nodeType === "TSTypeAliasDeclaration") {
3437 if (typeof opts === "undefined") {
3438 return true;
3439 } else {
3440 return shallowEqual(node, opts);
3441 }
3442 }
3443
3444 return false;
3445 }
3446 function isTSAsExpression(node, opts) {
3447 if (!node) return false;
3448 var nodeType = node.type;
3449
3450 if (nodeType === "TSAsExpression") {
3451 if (typeof opts === "undefined") {
3452 return true;
3453 } else {
3454 return shallowEqual(node, opts);
3455 }
3456 }
3457
3458 return false;
3459 }
3460 function isTSTypeAssertion(node, opts) {
3461 if (!node) return false;
3462 var nodeType = node.type;
3463
3464 if (nodeType === "TSTypeAssertion") {
3465 if (typeof opts === "undefined") {
3466 return true;
3467 } else {
3468 return shallowEqual(node, opts);
3469 }
3470 }
3471
3472 return false;
3473 }
3474 function isTSEnumDeclaration(node, opts) {
3475 if (!node) return false;
3476 var nodeType = node.type;
3477
3478 if (nodeType === "TSEnumDeclaration") {
3479 if (typeof opts === "undefined") {
3480 return true;
3481 } else {
3482 return shallowEqual(node, opts);
3483 }
3484 }
3485
3486 return false;
3487 }
3488 function isTSEnumMember(node, opts) {
3489 if (!node) return false;
3490 var nodeType = node.type;
3491
3492 if (nodeType === "TSEnumMember") {
3493 if (typeof opts === "undefined") {
3494 return true;
3495 } else {
3496 return shallowEqual(node, opts);
3497 }
3498 }
3499
3500 return false;
3501 }
3502 function isTSModuleDeclaration(node, opts) {
3503 if (!node) return false;
3504 var nodeType = node.type;
3505
3506 if (nodeType === "TSModuleDeclaration") {
3507 if (typeof opts === "undefined") {
3508 return true;
3509 } else {
3510 return shallowEqual(node, opts);
3511 }
3512 }
3513
3514 return false;
3515 }
3516 function isTSModuleBlock(node, opts) {
3517 if (!node) return false;
3518 var nodeType = node.type;
3519
3520 if (nodeType === "TSModuleBlock") {
3521 if (typeof opts === "undefined") {
3522 return true;
3523 } else {
3524 return shallowEqual(node, opts);
3525 }
3526 }
3527
3528 return false;
3529 }
3530 function isTSImportType(node, opts) {
3531 if (!node) return false;
3532 var nodeType = node.type;
3533
3534 if (nodeType === "TSImportType") {
3535 if (typeof opts === "undefined") {
3536 return true;
3537 } else {
3538 return shallowEqual(node, opts);
3539 }
3540 }
3541
3542 return false;
3543 }
3544 function isTSImportEqualsDeclaration(node, opts) {
3545 if (!node) return false;
3546 var nodeType = node.type;
3547
3548 if (nodeType === "TSImportEqualsDeclaration") {
3549 if (typeof opts === "undefined") {
3550 return true;
3551 } else {
3552 return shallowEqual(node, opts);
3553 }
3554 }
3555
3556 return false;
3557 }
3558 function isTSExternalModuleReference(node, opts) {
3559 if (!node) return false;
3560 var nodeType = node.type;
3561
3562 if (nodeType === "TSExternalModuleReference") {
3563 if (typeof opts === "undefined") {
3564 return true;
3565 } else {
3566 return shallowEqual(node, opts);
3567 }
3568 }
3569
3570 return false;
3571 }
3572 function isTSNonNullExpression(node, opts) {
3573 if (!node) return false;
3574 var nodeType = node.type;
3575
3576 if (nodeType === "TSNonNullExpression") {
3577 if (typeof opts === "undefined") {
3578 return true;
3579 } else {
3580 return shallowEqual(node, opts);
3581 }
3582 }
3583
3584 return false;
3585 }
3586 function isTSExportAssignment(node, opts) {
3587 if (!node) return false;
3588 var nodeType = node.type;
3589
3590 if (nodeType === "TSExportAssignment") {
3591 if (typeof opts === "undefined") {
3592 return true;
3593 } else {
3594 return shallowEqual(node, opts);
3595 }
3596 }
3597
3598 return false;
3599 }
3600 function isTSNamespaceExportDeclaration(node, opts) {
3601 if (!node) return false;
3602 var nodeType = node.type;
3603
3604 if (nodeType === "TSNamespaceExportDeclaration") {
3605 if (typeof opts === "undefined") {
3606 return true;
3607 } else {
3608 return shallowEqual(node, opts);
3609 }
3610 }
3611
3612 return false;
3613 }
3614 function isTSTypeAnnotation(node, opts) {
3615 if (!node) return false;
3616 var nodeType = node.type;
3617
3618 if (nodeType === "TSTypeAnnotation") {
3619 if (typeof opts === "undefined") {
3620 return true;
3621 } else {
3622 return shallowEqual(node, opts);
3623 }
3624 }
3625
3626 return false;
3627 }
3628 function isTSTypeParameterInstantiation(node, opts) {
3629 if (!node) return false;
3630 var nodeType = node.type;
3631
3632 if (nodeType === "TSTypeParameterInstantiation") {
3633 if (typeof opts === "undefined") {
3634 return true;
3635 } else {
3636 return shallowEqual(node, opts);
3637 }
3638 }
3639
3640 return false;
3641 }
3642 function isTSTypeParameterDeclaration(node, opts) {
3643 if (!node) return false;
3644 var nodeType = node.type;
3645
3646 if (nodeType === "TSTypeParameterDeclaration") {
3647 if (typeof opts === "undefined") {
3648 return true;
3649 } else {
3650 return shallowEqual(node, opts);
3651 }
3652 }
3653
3654 return false;
3655 }
3656 function isTSTypeParameter(node, opts) {
3657 if (!node) return false;
3658 var nodeType = node.type;
3659
3660 if (nodeType === "TSTypeParameter") {
3661 if (typeof opts === "undefined") {
3662 return true;
3663 } else {
3664 return shallowEqual(node, opts);
3665 }
3666 }
3667
3668 return false;
3669 }
3670 function isExpression(node, opts) {
3671 if (!node) return false;
3672 var nodeType = node.type;
3673
3674 if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "CallExpression" === nodeType || "ConditionalExpression" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "ObjectExpression" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "ThisExpression" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "MetaProperty" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "TypeCastExpression" === nodeType || "JSXElement" === nodeType || "JSXFragment" === nodeType || "BindExpression" === nodeType || "PipelinePrimaryTopicReference" === nodeType || "DoExpression" === nodeType || "RecordExpression" === nodeType || "TupleExpression" === nodeType || "DecimalLiteral" === nodeType || "ModuleExpression" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Expression" === node.expectedNode || "Identifier" === node.expectedNode || "StringLiteral" === node.expectedNode)) {
3675 if (typeof opts === "undefined") {
3676 return true;
3677 } else {
3678 return shallowEqual(node, opts);
3679 }
3680 }
3681
3682 return false;
3683 }
3684 function isBinary(node, opts) {
3685 if (!node) return false;
3686 var nodeType = node.type;
3687
3688 if ("BinaryExpression" === nodeType || "LogicalExpression" === nodeType) {
3689 if (typeof opts === "undefined") {
3690 return true;
3691 } else {
3692 return shallowEqual(node, opts);
3693 }
3694 }
3695
3696 return false;
3697 }
3698 function isScopable(node, opts) {
3699 if (!node) return false;
3700 var nodeType = node.type;
3701
3702 if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "ClassDeclaration" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) {
3703 if (typeof opts === "undefined") {
3704 return true;
3705 } else {
3706 return shallowEqual(node, opts);
3707 }
3708 }
3709
3710 return false;
3711 }
3712 function isBlockParent(node, opts) {
3713 if (!node) return false;
3714 var nodeType = node.type;
3715
3716 if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) {
3717 if (typeof opts === "undefined") {
3718 return true;
3719 } else {
3720 return shallowEqual(node, opts);
3721 }
3722 }
3723
3724 return false;
3725 }
3726 function isBlock(node, opts) {
3727 if (!node) return false;
3728 var nodeType = node.type;
3729
3730 if ("BlockStatement" === nodeType || "Program" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) {
3731 if (typeof opts === "undefined") {
3732 return true;
3733 } else {
3734 return shallowEqual(node, opts);
3735 }
3736 }
3737
3738 return false;
3739 }
3740 function isStatement(node, opts) {
3741 if (!node) return false;
3742 var nodeType = node.type;
3743
3744 if ("BlockStatement" === nodeType || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "ReturnStatement" === nodeType || "SwitchStatement" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "VariableDeclaration" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || nodeType === "Placeholder" && ("Statement" === node.expectedNode || "Declaration" === node.expectedNode || "BlockStatement" === node.expectedNode)) {
3745 if (typeof opts === "undefined") {
3746 return true;
3747 } else {
3748 return shallowEqual(node, opts);
3749 }
3750 }
3751
3752 return false;
3753 }
3754 function isTerminatorless(node, opts) {
3755 if (!node) return false;
3756 var nodeType = node.type;
3757
3758 if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType) {
3759 if (typeof opts === "undefined") {
3760 return true;
3761 } else {
3762 return shallowEqual(node, opts);
3763 }
3764 }
3765
3766 return false;
3767 }
3768 function isCompletionStatement(node, opts) {
3769 if (!node) return false;
3770 var nodeType = node.type;
3771
3772 if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType) {
3773 if (typeof opts === "undefined") {
3774 return true;
3775 } else {
3776 return shallowEqual(node, opts);
3777 }
3778 }
3779
3780 return false;
3781 }
3782 function isConditional(node, opts) {
3783 if (!node) return false;
3784 var nodeType = node.type;
3785
3786 if ("ConditionalExpression" === nodeType || "IfStatement" === nodeType) {
3787 if (typeof opts === "undefined") {
3788 return true;
3789 } else {
3790 return shallowEqual(node, opts);
3791 }
3792 }
3793
3794 return false;
3795 }
3796 function isLoop$1(node, opts) {
3797 if (!node) return false;
3798 var nodeType = node.type;
3799
3800 if ("DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "WhileStatement" === nodeType || "ForOfStatement" === nodeType) {
3801 if (typeof opts === "undefined") {
3802 return true;
3803 } else {
3804 return shallowEqual(node, opts);
3805 }
3806 }
3807
3808 return false;
3809 }
3810 function isWhile(node, opts) {
3811 if (!node) return false;
3812 var nodeType = node.type;
3813
3814 if ("DoWhileStatement" === nodeType || "WhileStatement" === nodeType) {
3815 if (typeof opts === "undefined") {
3816 return true;
3817 } else {
3818 return shallowEqual(node, opts);
3819 }
3820 }
3821
3822 return false;
3823 }
3824 function isExpressionWrapper(node, opts) {
3825 if (!node) return false;
3826 var nodeType = node.type;
3827
3828 if ("ExpressionStatement" === nodeType || "ParenthesizedExpression" === nodeType || "TypeCastExpression" === nodeType) {
3829 if (typeof opts === "undefined") {
3830 return true;
3831 } else {
3832 return shallowEqual(node, opts);
3833 }
3834 }
3835
3836 return false;
3837 }
3838 function isFor(node, opts) {
3839 if (!node) return false;
3840 var nodeType = node.type;
3841
3842 if ("ForInStatement" === nodeType || "ForStatement" === nodeType || "ForOfStatement" === nodeType) {
3843 if (typeof opts === "undefined") {
3844 return true;
3845 } else {
3846 return shallowEqual(node, opts);
3847 }
3848 }
3849
3850 return false;
3851 }
3852 function isForXStatement(node, opts) {
3853 if (!node) return false;
3854 var nodeType = node.type;
3855
3856 if ("ForInStatement" === nodeType || "ForOfStatement" === nodeType) {
3857 if (typeof opts === "undefined") {
3858 return true;
3859 } else {
3860 return shallowEqual(node, opts);
3861 }
3862 }
3863
3864 return false;
3865 }
3866 function isFunction$1(node, opts) {
3867 if (!node) return false;
3868 var nodeType = node.type;
3869
3870 if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) {
3871 if (typeof opts === "undefined") {
3872 return true;
3873 } else {
3874 return shallowEqual(node, opts);
3875 }
3876 }
3877
3878 return false;
3879 }
3880 function isFunctionParent(node, opts) {
3881 if (!node) return false;
3882 var nodeType = node.type;
3883
3884 if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) {
3885 if (typeof opts === "undefined") {
3886 return true;
3887 } else {
3888 return shallowEqual(node, opts);
3889 }
3890 }
3891
3892 return false;
3893 }
3894 function isPureish(node, opts) {
3895 if (!node) return false;
3896 var nodeType = node.type;
3897
3898 if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "ArrowFunctionExpression" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) {
3899 if (typeof opts === "undefined") {
3900 return true;
3901 } else {
3902 return shallowEqual(node, opts);
3903 }
3904 }
3905
3906 return false;
3907 }
3908 function isDeclaration(node, opts) {
3909 if (!node) return false;
3910 var nodeType = node.type;
3911
3912 if ("FunctionDeclaration" === nodeType || "VariableDeclaration" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || nodeType === "Placeholder" && "Declaration" === node.expectedNode) {
3913 if (typeof opts === "undefined") {
3914 return true;
3915 } else {
3916 return shallowEqual(node, opts);
3917 }
3918 }
3919
3920 return false;
3921 }
3922 function isPatternLike(node, opts) {
3923 if (!node) return false;
3924 var nodeType = node.type;
3925
3926 if ("Identifier" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) {
3927 if (typeof opts === "undefined") {
3928 return true;
3929 } else {
3930 return shallowEqual(node, opts);
3931 }
3932 }
3933
3934 return false;
3935 }
3936 function isLVal(node, opts) {
3937 if (!node) return false;
3938 var nodeType = node.type;
3939
3940 if ("Identifier" === nodeType || "MemberExpression" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSParameterProperty" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) {
3941 if (typeof opts === "undefined") {
3942 return true;
3943 } else {
3944 return shallowEqual(node, opts);
3945 }
3946 }
3947
3948 return false;
3949 }
3950 function isTSEntityName(node, opts) {
3951 if (!node) return false;
3952 var nodeType = node.type;
3953
3954 if ("Identifier" === nodeType || "TSQualifiedName" === nodeType || nodeType === "Placeholder" && "Identifier" === node.expectedNode) {
3955 if (typeof opts === "undefined") {
3956 return true;
3957 } else {
3958 return shallowEqual(node, opts);
3959 }
3960 }
3961
3962 return false;
3963 }
3964 function isLiteral(node, opts) {
3965 if (!node) return false;
3966 var nodeType = node.type;
3967
3968 if ("StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "TemplateLiteral" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) {
3969 if (typeof opts === "undefined") {
3970 return true;
3971 } else {
3972 return shallowEqual(node, opts);
3973 }
3974 }
3975
3976 return false;
3977 }
3978 function isUserWhitespacable(node, opts) {
3979 if (!node) return false;
3980 var nodeType = node.type;
3981
3982 if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType) {
3983 if (typeof opts === "undefined") {
3984 return true;
3985 } else {
3986 return shallowEqual(node, opts);
3987 }
3988 }
3989
3990 return false;
3991 }
3992 function isMethod(node, opts) {
3993 if (!node) return false;
3994 var nodeType = node.type;
3995
3996 if ("ObjectMethod" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) {
3997 if (typeof opts === "undefined") {
3998 return true;
3999 } else {
4000 return shallowEqual(node, opts);
4001 }
4002 }
4003
4004 return false;
4005 }
4006 function isObjectMember(node, opts) {
4007 if (!node) return false;
4008 var nodeType = node.type;
4009
4010 if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType) {
4011 if (typeof opts === "undefined") {
4012 return true;
4013 } else {
4014 return shallowEqual(node, opts);
4015 }
4016 }
4017
4018 return false;
4019 }
4020 function isProperty(node, opts) {
4021 if (!node) return false;
4022 var nodeType = node.type;
4023
4024 if ("ObjectProperty" === nodeType || "ClassProperty" === nodeType || "ClassPrivateProperty" === nodeType) {
4025 if (typeof opts === "undefined") {
4026 return true;
4027 } else {
4028 return shallowEqual(node, opts);
4029 }
4030 }
4031
4032 return false;
4033 }
4034 function isUnaryLike(node, opts) {
4035 if (!node) return false;
4036 var nodeType = node.type;
4037
4038 if ("UnaryExpression" === nodeType || "SpreadElement" === nodeType) {
4039 if (typeof opts === "undefined") {
4040 return true;
4041 } else {
4042 return shallowEqual(node, opts);
4043 }
4044 }
4045
4046 return false;
4047 }
4048 function isPattern(node, opts) {
4049 if (!node) return false;
4050 var nodeType = node.type;
4051
4052 if ("AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && "Pattern" === node.expectedNode) {
4053 if (typeof opts === "undefined") {
4054 return true;
4055 } else {
4056 return shallowEqual(node, opts);
4057 }
4058 }
4059
4060 return false;
4061 }
4062 function isClass(node, opts) {
4063 if (!node) return false;
4064 var nodeType = node.type;
4065
4066 if ("ClassExpression" === nodeType || "ClassDeclaration" === nodeType) {
4067 if (typeof opts === "undefined") {
4068 return true;
4069 } else {
4070 return shallowEqual(node, opts);
4071 }
4072 }
4073
4074 return false;
4075 }
4076 function isModuleDeclaration(node, opts) {
4077 if (!node) return false;
4078 var nodeType = node.type;
4079
4080 if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType) {
4081 if (typeof opts === "undefined") {
4082 return true;
4083 } else {
4084 return shallowEqual(node, opts);
4085 }
4086 }
4087
4088 return false;
4089 }
4090 function isExportDeclaration(node, opts) {
4091 if (!node) return false;
4092 var nodeType = node.type;
4093
4094 if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType) {
4095 if (typeof opts === "undefined") {
4096 return true;
4097 } else {
4098 return shallowEqual(node, opts);
4099 }
4100 }
4101
4102 return false;
4103 }
4104 function isModuleSpecifier(node, opts) {
4105 if (!node) return false;
4106 var nodeType = node.type;
4107
4108 if ("ExportSpecifier" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "ExportNamespaceSpecifier" === nodeType || "ExportDefaultSpecifier" === nodeType) {
4109 if (typeof opts === "undefined") {
4110 return true;
4111 } else {
4112 return shallowEqual(node, opts);
4113 }
4114 }
4115
4116 return false;
4117 }
4118 function isPrivate(node, opts) {
4119 if (!node) return false;
4120 var nodeType = node.type;
4121
4122 if ("ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType) {
4123 if (typeof opts === "undefined") {
4124 return true;
4125 } else {
4126 return shallowEqual(node, opts);
4127 }
4128 }
4129
4130 return false;
4131 }
4132 function isFlow(node, opts) {
4133 if (!node) return false;
4134 var nodeType = node.type;
4135
4136 if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ClassImplements" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "DeclaredPredicate" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "FunctionTypeParam" === nodeType || "GenericTypeAnnotation" === nodeType || "InferredPredicate" === nodeType || "InterfaceExtends" === nodeType || "InterfaceDeclaration" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType || "OpaqueType" === nodeType || "QualifiedTypeIdentifier" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "TypeAlias" === nodeType || "TypeAnnotation" === nodeType || "TypeCastExpression" === nodeType || "TypeParameter" === nodeType || "TypeParameterDeclaration" === nodeType || "TypeParameterInstantiation" === nodeType || "UnionTypeAnnotation" === nodeType || "Variance" === nodeType || "VoidTypeAnnotation" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) {
4137 if (typeof opts === "undefined") {
4138 return true;
4139 } else {
4140 return shallowEqual(node, opts);
4141 }
4142 }
4143
4144 return false;
4145 }
4146 function isFlowType(node, opts) {
4147 if (!node) return false;
4148 var nodeType = node.type;
4149
4150 if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "GenericTypeAnnotation" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "UnionTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) {
4151 if (typeof opts === "undefined") {
4152 return true;
4153 } else {
4154 return shallowEqual(node, opts);
4155 }
4156 }
4157
4158 return false;
4159 }
4160 function isFlowBaseAnnotation(node, opts) {
4161 if (!node) return false;
4162 var nodeType = node.type;
4163
4164 if ("AnyTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) {
4165 if (typeof opts === "undefined") {
4166 return true;
4167 } else {
4168 return shallowEqual(node, opts);
4169 }
4170 }
4171
4172 return false;
4173 }
4174 function isFlowDeclaration(node, opts) {
4175 if (!node) return false;
4176 var nodeType = node.type;
4177
4178 if ("DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType) {
4179 if (typeof opts === "undefined") {
4180 return true;
4181 } else {
4182 return shallowEqual(node, opts);
4183 }
4184 }
4185
4186 return false;
4187 }
4188 function isFlowPredicate(node, opts) {
4189 if (!node) return false;
4190 var nodeType = node.type;
4191
4192 if ("DeclaredPredicate" === nodeType || "InferredPredicate" === nodeType) {
4193 if (typeof opts === "undefined") {
4194 return true;
4195 } else {
4196 return shallowEqual(node, opts);
4197 }
4198 }
4199
4200 return false;
4201 }
4202 function isEnumBody(node, opts) {
4203 if (!node) return false;
4204 var nodeType = node.type;
4205
4206 if ("EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType) {
4207 if (typeof opts === "undefined") {
4208 return true;
4209 } else {
4210 return shallowEqual(node, opts);
4211 }
4212 }
4213
4214 return false;
4215 }
4216 function isEnumMember(node, opts) {
4217 if (!node) return false;
4218 var nodeType = node.type;
4219
4220 if ("EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType) {
4221 if (typeof opts === "undefined") {
4222 return true;
4223 } else {
4224 return shallowEqual(node, opts);
4225 }
4226 }
4227
4228 return false;
4229 }
4230 function isJSX(node, opts) {
4231 if (!node) return false;
4232 var nodeType = node.type;
4233
4234 if ("JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXEmptyExpression" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXIdentifier" === nodeType || "JSXMemberExpression" === nodeType || "JSXNamespacedName" === nodeType || "JSXOpeningElement" === nodeType || "JSXSpreadAttribute" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType) {
4235 if (typeof opts === "undefined") {
4236 return true;
4237 } else {
4238 return shallowEqual(node, opts);
4239 }
4240 }
4241
4242 return false;
4243 }
4244 function isTSTypeElement(node, opts) {
4245 if (!node) return false;
4246 var nodeType = node.type;
4247
4248 if ("TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType) {
4249 if (typeof opts === "undefined") {
4250 return true;
4251 } else {
4252 return shallowEqual(node, opts);
4253 }
4254 }
4255
4256 return false;
4257 }
4258 function isTSType(node, opts) {
4259 if (!node) return false;
4260 var nodeType = node.type;
4261
4262 if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSImportType" === nodeType) {
4263 if (typeof opts === "undefined") {
4264 return true;
4265 } else {
4266 return shallowEqual(node, opts);
4267 }
4268 }
4269
4270 return false;
4271 }
4272 function isTSBaseType(node, opts) {
4273 if (!node) return false;
4274 var nodeType = node.type;
4275
4276 if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSLiteralType" === nodeType) {
4277 if (typeof opts === "undefined") {
4278 return true;
4279 } else {
4280 return shallowEqual(node, opts);
4281 }
4282 }
4283
4284 return false;
4285 }
4286 function isNumberLiteral(node, opts) {
4287 console.trace("The node type NumberLiteral has been renamed to NumericLiteral");
4288 if (!node) return false;
4289 var nodeType = node.type;
4290
4291 if (nodeType === "NumberLiteral") {
4292 if (typeof opts === "undefined") {
4293 return true;
4294 } else {
4295 return shallowEqual(node, opts);
4296 }
4297 }
4298
4299 return false;
4300 }
4301 function isRegexLiteral(node, opts) {
4302 console.trace("The node type RegexLiteral has been renamed to RegExpLiteral");
4303 if (!node) return false;
4304 var nodeType = node.type;
4305
4306 if (nodeType === "RegexLiteral") {
4307 if (typeof opts === "undefined") {
4308 return true;
4309 } else {
4310 return shallowEqual(node, opts);
4311 }
4312 }
4313
4314 return false;
4315 }
4316 function isRestProperty(node, opts) {
4317 console.trace("The node type RestProperty has been renamed to RestElement");
4318 if (!node) return false;
4319 var nodeType = node.type;
4320
4321 if (nodeType === "RestProperty") {
4322 if (typeof opts === "undefined") {
4323 return true;
4324 } else {
4325 return shallowEqual(node, opts);
4326 }
4327 }
4328
4329 return false;
4330 }
4331 function isSpreadProperty(node, opts) {
4332 console.trace("The node type SpreadProperty has been renamed to SpreadElement");
4333 if (!node) return false;
4334 var nodeType = node.type;
4335
4336 if (nodeType === "SpreadProperty") {
4337 if (typeof opts === "undefined") {
4338 return true;
4339 } else {
4340 return shallowEqual(node, opts);
4341 }
4342 }
4343
4344 return false;
4345 }
4346
4347 function matchesPattern$1(member, match, allowPartial) {
4348 if (!isMemberExpression(member)) return false;
4349 var parts = Array.isArray(match) ? match : match.split(".");
4350 var nodes = [];
4351 var node;
4352
4353 for (node = member; isMemberExpression(node); node = node.object) {
4354 nodes.push(node.property);
4355 }
4356
4357 nodes.push(node);
4358 if (nodes.length < parts.length) return false;
4359 if (!allowPartial && nodes.length > parts.length) return false;
4360
4361 for (var i = 0, j = nodes.length - 1; i < parts.length; i++, j--) {
4362 var _node = nodes[j];
4363 var value = void 0;
4364
4365 if (isIdentifier(_node)) {
4366 value = _node.name;
4367 } else if (isStringLiteral(_node)) {
4368 value = _node.value;
4369 } else if (isThisExpression(_node)) {
4370 value = "this";
4371 } else {
4372 return false;
4373 }
4374
4375 if (parts[i] !== value) return false;
4376 }
4377
4378 return true;
4379 }
4380
4381 function buildMatchMemberExpression(match, allowPartial) {
4382 var parts = match.split(".");
4383 return function (member) {
4384 return matchesPattern$1(member, parts, allowPartial);
4385 };
4386 }
4387
4388 var isReactComponent = buildMatchMemberExpression("React.Component");
4389
4390 function isCompatTag(tagName) {
4391 return !!tagName && /^[a-z]/.test(tagName);
4392 }
4393
4394 var fastProto = null;
4395
4396 function FastObject(o) {
4397 if (fastProto !== null && typeof fastProto.property) {
4398 var result = fastProto;
4399 fastProto = FastObject.prototype = null;
4400 return result;
4401 }
4402
4403 fastProto = FastObject.prototype = o == null ? Object.create(null) : o;
4404 return new FastObject();
4405 }
4406
4407 FastObject();
4408
4409 var toFastProperties = function toFastproperties(o) {
4410 return FastObject(o);
4411 };
4412
4413 var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4414
4415 function getAugmentedNamespace(n) {
4416 if (n.__esModule) return n;
4417 var a = Object.defineProperty({}, '__esModule', {value: true});
4418 Object.keys(n).forEach(function (k) {
4419 var d = Object.getOwnPropertyDescriptor(n, k);
4420 Object.defineProperty(a, k, d.get ? d : {
4421 enumerable: true,
4422 get: function () {
4423 return n[k];
4424 }
4425 });
4426 });
4427 return a;
4428 }
4429
4430 function createCommonjsModule(fn, basedir, module) {
4431 return module = {
4432 path: basedir,
4433 exports: {},
4434 require: function (path, base) {
4435 return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
4436 }
4437 }, fn(module, module.exports), module.exports;
4438 }
4439
4440 const DYNAMIC_REQUIRE_LOADERS = Object.create(null);
4441 const DYNAMIC_REQUIRE_CACHE = Object.create(null);
4442 const DEFAULT_PARENT_MODULE = {
4443 id: '<' + 'rollup>', exports: {}, parent: undefined, filename: null, loaded: false, children: [], paths: []
4444 };
4445 const CHECKED_EXTENSIONS = ['', '.js', '.json'];
4446
4447 function normalize$2 (path) {
4448 path = path.replace(/\\/g, '/');
4449 const parts = path.split('/');
4450 const slashed = parts[0] === '';
4451 for (let i = 1; i < parts.length; i++) {
4452 if (parts[i] === '.' || parts[i] === '') {
4453 parts.splice(i--, 1);
4454 }
4455 }
4456 for (let i = 1; i < parts.length; i++) {
4457 if (parts[i] !== '..') continue;
4458 if (i > 0 && parts[i - 1] !== '..' && parts[i - 1] !== '.') {
4459 parts.splice(--i, 2);
4460 i--;
4461 }
4462 }
4463 path = parts.join('/');
4464 if (slashed && path[0] !== '/')
4465 path = '/' + path;
4466 else if (path.length === 0)
4467 path = '.';
4468 return path;
4469 }
4470
4471 function join$1 () {
4472 if (arguments.length === 0)
4473 return '.';
4474 let joined;
4475 for (let i = 0; i < arguments.length; ++i) {
4476 let arg = arguments[i];
4477 if (arg.length > 0) {
4478 if (joined === undefined)
4479 joined = arg;
4480 else
4481 joined += '/' + arg;
4482 }
4483 }
4484 if (joined === undefined)
4485 return '.';
4486
4487 return joined;
4488 }
4489
4490 function isPossibleNodeModulesPath (modulePath) {
4491 let c0 = modulePath[0];
4492 if (c0 === '/' || c0 === '\\') return false;
4493 let c1 = modulePath[1], c2 = modulePath[2];
4494 if ((c0 === '.' && (!c1 || c1 === '/' || c1 === '\\')) ||
4495 (c0 === '.' && c1 === '.' && (!c2 || c2 === '/' || c2 === '\\'))) return false;
4496 if (c1 === ':' && (c2 === '/' || c2 === '\\'))
4497 return false;
4498 return true;
4499 }
4500
4501 function dirname$1 (path) {
4502 if (path.length === 0)
4503 return '.';
4504
4505 let i = path.length - 1;
4506 while (i > 0) {
4507 const c = path.charCodeAt(i);
4508 if ((c === 47 || c === 92) && i !== path.length - 1)
4509 break;
4510 i--;
4511 }
4512
4513 if (i > 0)
4514 return path.substr(0, i);
4515
4516 if (path.chartCodeAt(0) === 47 || path.chartCodeAt(0) === 92)
4517 return path.charAt(0);
4518
4519 return '.';
4520 }
4521
4522 function commonjsResolveImpl (path, originalModuleDir, testCache) {
4523 const shouldTryNodeModules = isPossibleNodeModulesPath(path);
4524 path = normalize$2(path);
4525 let relPath;
4526 if (path[0] === '/') {
4527 originalModuleDir = '/';
4528 }
4529 while (true) {
4530 if (!shouldTryNodeModules) {
4531 relPath = originalModuleDir ? normalize$2(originalModuleDir + '/' + path) : path;
4532 } else if (originalModuleDir) {
4533 relPath = normalize$2(originalModuleDir + '/node_modules/' + path);
4534 } else {
4535 relPath = normalize$2(join$1('node_modules', path));
4536 }
4537
4538 if (relPath.endsWith('/..')) {
4539 break; // Travelled too far up, avoid infinite loop
4540 }
4541
4542 for (let extensionIndex = 0; extensionIndex < CHECKED_EXTENSIONS.length; extensionIndex++) {
4543 const resolvedPath = relPath + CHECKED_EXTENSIONS[extensionIndex];
4544 if (DYNAMIC_REQUIRE_CACHE[resolvedPath]) {
4545 return resolvedPath;
4546 } if (DYNAMIC_REQUIRE_LOADERS[resolvedPath]) {
4547 return resolvedPath;
4548 } }
4549 if (!shouldTryNodeModules) break;
4550 const nextDir = normalize$2(originalModuleDir + '/..');
4551 if (nextDir === originalModuleDir) break;
4552 originalModuleDir = nextDir;
4553 }
4554 return null;
4555 }
4556
4557 function commonjsResolve (path, originalModuleDir) {
4558 const resolvedPath = commonjsResolveImpl(path, originalModuleDir);
4559 if (resolvedPath !== null) {
4560 return resolvedPath;
4561 }
4562 return require.resolve(path);
4563 }
4564
4565 function commonjsRequire (path, originalModuleDir) {
4566 const resolvedPath = commonjsResolveImpl(path, originalModuleDir);
4567 if (resolvedPath !== null) {
4568 let cachedModule = DYNAMIC_REQUIRE_CACHE[resolvedPath];
4569 if (cachedModule) return cachedModule.exports;
4570 const loader = DYNAMIC_REQUIRE_LOADERS[resolvedPath];
4571 if (loader) {
4572 DYNAMIC_REQUIRE_CACHE[resolvedPath] = cachedModule = {
4573 id: resolvedPath,
4574 filename: resolvedPath,
4575 path: dirname$1(resolvedPath),
4576 exports: {},
4577 parent: DEFAULT_PARENT_MODULE,
4578 loaded: false,
4579 children: [],
4580 paths: [],
4581 require: function (path, base) {
4582 return commonjsRequire(path, (base === undefined || base === null) ? cachedModule.path : base);
4583 }
4584 };
4585 try {
4586 loader.call(commonjsGlobal, cachedModule, cachedModule.exports);
4587 } catch (error) {
4588 delete DYNAMIC_REQUIRE_CACHE[resolvedPath];
4589 throw error;
4590 }
4591 cachedModule.loaded = true;
4592 return cachedModule.exports;
4593 } }
4594 return require(path);
4595 }
4596
4597 commonjsRequire.cache = DYNAMIC_REQUIRE_CACHE;
4598 commonjsRequire.resolve = commonjsResolve;
4599
4600 var browser$6 = createCommonjsModule(function (module) {
4601 var process = module.exports = {};
4602 var cachedSetTimeout;
4603 var cachedClearTimeout;
4604
4605 function defaultSetTimout() {
4606 throw new Error('setTimeout has not been defined');
4607 }
4608
4609 function defaultClearTimeout() {
4610 throw new Error('clearTimeout has not been defined');
4611 }
4612
4613 (function () {
4614 try {
4615 if (typeof setTimeout === 'function') {
4616 cachedSetTimeout = setTimeout;
4617 } else {
4618 cachedSetTimeout = defaultSetTimout;
4619 }
4620 } catch (e) {
4621 cachedSetTimeout = defaultSetTimout;
4622 }
4623
4624 try {
4625 if (typeof clearTimeout === 'function') {
4626 cachedClearTimeout = clearTimeout;
4627 } else {
4628 cachedClearTimeout = defaultClearTimeout;
4629 }
4630 } catch (e) {
4631 cachedClearTimeout = defaultClearTimeout;
4632 }
4633 })();
4634
4635 function runTimeout(fun) {
4636 if (cachedSetTimeout === setTimeout) {
4637 return setTimeout(fun, 0);
4638 }
4639
4640 if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
4641 cachedSetTimeout = setTimeout;
4642 return setTimeout(fun, 0);
4643 }
4644
4645 try {
4646 return cachedSetTimeout(fun, 0);
4647 } catch (e) {
4648 try {
4649 return cachedSetTimeout.call(null, fun, 0);
4650 } catch (e) {
4651 return cachedSetTimeout.call(this, fun, 0);
4652 }
4653 }
4654 }
4655
4656 function runClearTimeout(marker) {
4657 if (cachedClearTimeout === clearTimeout) {
4658 return clearTimeout(marker);
4659 }
4660
4661 if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
4662 cachedClearTimeout = clearTimeout;
4663 return clearTimeout(marker);
4664 }
4665
4666 try {
4667 return cachedClearTimeout(marker);
4668 } catch (e) {
4669 try {
4670 return cachedClearTimeout.call(null, marker);
4671 } catch (e) {
4672 return cachedClearTimeout.call(this, marker);
4673 }
4674 }
4675 }
4676
4677 var queue = [];
4678 var draining = false;
4679 var currentQueue;
4680 var queueIndex = -1;
4681
4682 function cleanUpNextTick() {
4683 if (!draining || !currentQueue) {
4684 return;
4685 }
4686
4687 draining = false;
4688
4689 if (currentQueue.length) {
4690 queue = currentQueue.concat(queue);
4691 } else {
4692 queueIndex = -1;
4693 }
4694
4695 if (queue.length) {
4696 drainQueue();
4697 }
4698 }
4699
4700 function drainQueue() {
4701 if (draining) {
4702 return;
4703 }
4704
4705 var timeout = runTimeout(cleanUpNextTick);
4706 draining = true;
4707 var len = queue.length;
4708
4709 while (len) {
4710 currentQueue = queue;
4711 queue = [];
4712
4713 while (++queueIndex < len) {
4714 if (currentQueue) {
4715 currentQueue[queueIndex].run();
4716 }
4717 }
4718
4719 queueIndex = -1;
4720 len = queue.length;
4721 }
4722
4723 currentQueue = null;
4724 draining = false;
4725 runClearTimeout(timeout);
4726 }
4727
4728 process.nextTick = function (fun) {
4729 var args = new Array(arguments.length - 1);
4730
4731 if (arguments.length > 1) {
4732 for (var i = 1; i < arguments.length; i++) {
4733 args[i - 1] = arguments[i];
4734 }
4735 }
4736
4737 queue.push(new Item(fun, args));
4738
4739 if (queue.length === 1 && !draining) {
4740 runTimeout(drainQueue);
4741 }
4742 };
4743
4744 function Item(fun, array) {
4745 this.fun = fun;
4746 this.array = array;
4747 }
4748
4749 Item.prototype.run = function () {
4750 this.fun.apply(null, this.array);
4751 };
4752
4753 process.title = 'browser';
4754 process.browser = true;
4755 process.env = {};
4756 process.argv = [];
4757 process.version = '';
4758 process.versions = {};
4759
4760 function noop() {}
4761
4762 process.on = noop;
4763 process.addListener = noop;
4764 process.once = noop;
4765 process.off = noop;
4766 process.removeListener = noop;
4767 process.removeAllListeners = noop;
4768 process.emit = noop;
4769 process.prependListener = noop;
4770 process.prependOnceListener = noop;
4771
4772 process.listeners = function (name) {
4773 return [];
4774 };
4775
4776 process.binding = function (name) {
4777 throw new Error('process.binding is not supported');
4778 };
4779
4780 process.cwd = function () {
4781 return '/';
4782 };
4783
4784 process.chdir = function (dir) {
4785 throw new Error('process.chdir is not supported');
4786 };
4787
4788 process.umask = function () {
4789 return 0;
4790 };
4791 }, "/$$rollup_base$$/node_modules/process");
4792
4793 function isType$1(nodeType, targetType) {
4794 if (nodeType === targetType) return true;
4795 if (ALIAS_KEYS[targetType]) return false;
4796 var aliases = FLIPPED_ALIAS_KEYS[targetType];
4797
4798 if (aliases) {
4799 if (aliases[0] === nodeType) return true;
4800
4801 for (var _iterator = _createForOfIteratorHelperLoose(aliases), _step; !(_step = _iterator()).done;) {
4802 var alias = _step.value;
4803 if (nodeType === alias) return true;
4804 }
4805 }
4806
4807 return false;
4808 }
4809
4810 function isPlaceholderType(placeholderType, targetType) {
4811 if (placeholderType === targetType) return true;
4812 var aliases = PLACEHOLDERS_ALIAS[placeholderType];
4813
4814 if (aliases) {
4815 for (var _iterator = _createForOfIteratorHelperLoose(aliases), _step; !(_step = _iterator()).done;) {
4816 var alias = _step.value;
4817 if (targetType === alias) return true;
4818 }
4819 }
4820
4821 return false;
4822 }
4823
4824 function is$1(type, node, opts) {
4825 if (!node) return false;
4826 var matches = isType$1(node.type, type);
4827
4828 if (!matches) {
4829 if (!opts && node.type === "Placeholder" && type in FLIPPED_ALIAS_KEYS) {
4830 return isPlaceholderType(node.expectedNode, type);
4831 }
4832
4833 return false;
4834 }
4835
4836 if (typeof opts === "undefined") {
4837 return true;
4838 } else {
4839 return shallowEqual(node, opts);
4840 }
4841 }
4842
4843 var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
4844 var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF\u1AC0\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F";
4845 var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
4846 var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
4847 nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
4848 var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];
4849 var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
4850
4851 function isInAstralSet(code, set) {
4852 var pos = 0x10000;
4853
4854 for (var i = 0, length = set.length; i < length; i += 2) {
4855 pos += set[i];
4856 if (pos > code) return false;
4857 pos += set[i + 1];
4858 if (pos >= code) return true;
4859 }
4860
4861 return false;
4862 }
4863
4864 function isIdentifierStart(code) {
4865 if (code < 65) return code === 36;
4866 if (code <= 90) return true;
4867 if (code < 97) return code === 95;
4868 if (code <= 122) return true;
4869
4870 if (code <= 0xffff) {
4871 return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
4872 }
4873
4874 return isInAstralSet(code, astralIdentifierStartCodes);
4875 }
4876 function isIdentifierChar(code) {
4877 if (code < 48) return code === 36;
4878 if (code < 58) return true;
4879 if (code < 65) return false;
4880 if (code <= 90) return true;
4881 if (code < 97) return code === 95;
4882 if (code <= 122) return true;
4883
4884 if (code <= 0xffff) {
4885 return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
4886 }
4887
4888 return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
4889 }
4890 function isIdentifierName(name) {
4891 var isFirst = true;
4892
4893 for (var i = 0; i < name.length; i++) {
4894 var cp = name.charCodeAt(i);
4895
4896 if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
4897 var trail = name.charCodeAt(++i);
4898
4899 if ((trail & 0xfc00) === 0xdc00) {
4900 cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
4901 }
4902 }
4903
4904 if (isFirst) {
4905 isFirst = false;
4906
4907 if (!isIdentifierStart(cp)) {
4908 return false;
4909 }
4910 } else if (!isIdentifierChar(cp)) {
4911 return false;
4912 }
4913 }
4914
4915 return !isFirst;
4916 }
4917
4918 var reservedWords = {
4919 keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
4920 strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
4921 strictBind: ["eval", "arguments"]
4922 };
4923 var keywords$1 = new Set(reservedWords.keyword);
4924 var reservedWordsStrictSet = new Set(reservedWords.strict);
4925 var reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
4926 function isReservedWord(word, inModule) {
4927 return inModule && word === "await" || word === "enum";
4928 }
4929 function isStrictReservedWord(word, inModule) {
4930 return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
4931 }
4932 function isStrictBindOnlyReservedWord(word) {
4933 return reservedWordsStrictBindSet.has(word);
4934 }
4935 function isStrictBindReservedWord(word, inModule) {
4936 return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
4937 }
4938 function isKeyword(word) {
4939 return keywords$1.has(word);
4940 }
4941
4942 function isValidIdentifier(name, reserved) {
4943 if (reserved === void 0) {
4944 reserved = true;
4945 }
4946
4947 if (typeof name !== "string") return false;
4948
4949 if (reserved) {
4950 if (isKeyword(name) || isStrictReservedWord(name, true)) {
4951 return false;
4952 }
4953 }
4954
4955 return isIdentifierName(name);
4956 }
4957
4958 var STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"];
4959 var FLATTENABLE_KEYS = ["body", "expressions"];
4960 var FOR_INIT_KEYS = ["left", "init"];
4961 var COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"];
4962 var LOGICAL_OPERATORS = ["||", "&&", "??"];
4963 var UPDATE_OPERATORS = ["++", "--"];
4964 var BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="];
4965 var EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="];
4966 var COMPARISON_BINARY_OPERATORS = [].concat(EQUALITY_BINARY_OPERATORS, ["in", "instanceof"]);
4967 var BOOLEAN_BINARY_OPERATORS = [].concat(_toConsumableArray(COMPARISON_BINARY_OPERATORS), BOOLEAN_NUMBER_BINARY_OPERATORS);
4968 var NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"];
4969 var BINARY_OPERATORS = ["+"].concat(NUMBER_BINARY_OPERATORS, _toConsumableArray(BOOLEAN_BINARY_OPERATORS));
4970 var ASSIGNMENT_OPERATORS = ["=", "+="].concat(_toConsumableArray(NUMBER_BINARY_OPERATORS.map(function (op) {
4971 return op + "=";
4972 })), _toConsumableArray(LOGICAL_OPERATORS.map(function (op) {
4973 return op + "=";
4974 })));
4975 var BOOLEAN_UNARY_OPERATORS = ["delete", "!"];
4976 var NUMBER_UNARY_OPERATORS = ["+", "-", "~"];
4977 var STRING_UNARY_OPERATORS = ["typeof"];
4978 var UNARY_OPERATORS = ["void", "throw"].concat(BOOLEAN_UNARY_OPERATORS, NUMBER_UNARY_OPERATORS, STRING_UNARY_OPERATORS);
4979 var INHERIT_KEYS = {
4980 optional: ["typeAnnotation", "typeParameters", "returnType"],
4981 force: ["start", "loc", "end"]
4982 };
4983 var BLOCK_SCOPED_SYMBOL = Symbol["for"]("var used to be block scoped");
4984 var NOT_LOCAL_BINDING = Symbol["for"]("should not be considered a local binding");
4985
4986 function validate$3(node, key, val) {
4987 if (!node) return;
4988 var fields = NODE_FIELDS[node.type];
4989 if (!fields) return;
4990 var field = fields[key];
4991 validateField(node, key, val, field);
4992 validateChild(node, key, val);
4993 }
4994 function validateField(node, key, val, field) {
4995 if (!(field != null && field.validate)) return;
4996 if (field.optional && val == null) return;
4997 field.validate(node, key, val);
4998 }
4999 function validateChild(node, key, val) {
5000 if (val == null) return;
5001 var validate = NODE_PARENT_VALIDATIONS[val.type];
5002 if (!validate) return;
5003 validate(node, key, val);
5004 }
5005
5006 var VISITOR_KEYS = {};
5007 var ALIAS_KEYS = {};
5008 var FLIPPED_ALIAS_KEYS = {};
5009 var NODE_FIELDS = {};
5010 var BUILDER_KEYS = {};
5011 var DEPRECATED_KEYS = {};
5012 var NODE_PARENT_VALIDATIONS = {};
5013
5014 function getType$2(val) {
5015 if (Array.isArray(val)) {
5016 return "array";
5017 } else if (val === null) {
5018 return "null";
5019 } else {
5020 return typeof val;
5021 }
5022 }
5023
5024 function validate$2(validate) {
5025 return {
5026 validate: validate
5027 };
5028 }
5029 function typeIs(typeName) {
5030 return typeof typeName === "string" ? assertNodeType(typeName) : assertNodeType.apply(void 0, _toConsumableArray(typeName));
5031 }
5032 function validateType(typeName) {
5033 return validate$2(typeIs(typeName));
5034 }
5035 function validateOptional(validate) {
5036 return {
5037 validate: validate,
5038 optional: true
5039 };
5040 }
5041 function validateOptionalType(typeName) {
5042 return {
5043 validate: typeIs(typeName),
5044 optional: true
5045 };
5046 }
5047 function arrayOf(elementType) {
5048 return chain$1(assertValueType("array"), assertEach(elementType));
5049 }
5050 function arrayOfType(typeName) {
5051 return arrayOf(typeIs(typeName));
5052 }
5053 function validateArrayOfType(typeName) {
5054 return validate$2(arrayOfType(typeName));
5055 }
5056 function assertEach(callback) {
5057 function validator(node, key, val) {
5058 if (!Array.isArray(val)) return;
5059
5060 for (var i = 0; i < val.length; i++) {
5061 var subkey = key + "[" + i + "]";
5062 var v = val[i];
5063 callback(node, subkey, v);
5064 if (browser$6.env.BABEL_TYPES_8_BREAKING) validateChild(node, subkey, v);
5065 }
5066 }
5067
5068 validator.each = callback;
5069 return validator;
5070 }
5071 function assertOneOf() {
5072 for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
5073 values[_key] = arguments[_key];
5074 }
5075
5076 function validate(node, key, val) {
5077 if (values.indexOf(val) < 0) {
5078 throw new TypeError("Property " + key + " expected value to be one of " + JSON.stringify(values) + " but got " + JSON.stringify(val));
5079 }
5080 }
5081
5082 validate.oneOf = values;
5083 return validate;
5084 }
5085 function assertNodeType() {
5086 for (var _len2 = arguments.length, types = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
5087 types[_key2] = arguments[_key2];
5088 }
5089
5090 function validate(node, key, val) {
5091 for (var _iterator = _createForOfIteratorHelperLoose(types), _step; !(_step = _iterator()).done;) {
5092 var type = _step.value;
5093
5094 if (is$1(type, val)) {
5095 validateChild(node, key, val);
5096 return;
5097 }
5098 }
5099
5100 throw new TypeError("Property " + key + " of " + node.type + " expected node to be of a type " + JSON.stringify(types) + " but instead got " + JSON.stringify(val == null ? void 0 : val.type));
5101 }
5102
5103 validate.oneOfNodeTypes = types;
5104 return validate;
5105 }
5106 function assertNodeOrValueType() {
5107 for (var _len3 = arguments.length, types = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
5108 types[_key3] = arguments[_key3];
5109 }
5110
5111 function validate(node, key, val) {
5112 for (var _iterator2 = _createForOfIteratorHelperLoose(types), _step2; !(_step2 = _iterator2()).done;) {
5113 var type = _step2.value;
5114
5115 if (getType$2(val) === type || is$1(type, val)) {
5116 validateChild(node, key, val);
5117 return;
5118 }
5119 }
5120
5121 throw new TypeError("Property " + key + " of " + node.type + " expected node to be of a type " + JSON.stringify(types) + " but instead got " + JSON.stringify(val == null ? void 0 : val.type));
5122 }
5123
5124 validate.oneOfNodeOrValueTypes = types;
5125 return validate;
5126 }
5127 function assertValueType(type) {
5128 function validate(node, key, val) {
5129 var valid = getType$2(val) === type;
5130
5131 if (!valid) {
5132 throw new TypeError("Property " + key + " expected type of " + type + " but got " + getType$2(val));
5133 }
5134 }
5135
5136 validate.type = type;
5137 return validate;
5138 }
5139 function assertShape(shape) {
5140 function validate(node, key, val) {
5141 var errors = [];
5142
5143 for (var _i = 0, _Object$keys = Object.keys(shape); _i < _Object$keys.length; _i++) {
5144 var property = _Object$keys[_i];
5145
5146 try {
5147 validateField(node, property, val[property], shape[property]);
5148 } catch (error) {
5149 if (error instanceof TypeError) {
5150 errors.push(error.message);
5151 continue;
5152 }
5153
5154 throw error;
5155 }
5156 }
5157
5158 if (errors.length) {
5159 throw new TypeError("Property " + key + " of " + node.type + " expected to have the following:\n" + errors.join("\n"));
5160 }
5161 }
5162
5163 validate.shapeOf = shape;
5164 return validate;
5165 }
5166 function assertOptionalChainStart() {
5167 function validate(node) {
5168 var _current2;
5169
5170 var current = node;
5171
5172 while (node) {
5173 var _current = current,
5174 type = _current.type;
5175
5176 if (type === "OptionalCallExpression") {
5177 if (current.optional) return;
5178 current = current.callee;
5179 continue;
5180 }
5181
5182 if (type === "OptionalMemberExpression") {
5183 if (current.optional) return;
5184 current = current.object;
5185 continue;
5186 }
5187
5188 break;
5189 }
5190
5191 throw new TypeError("Non-optional " + node.type + " must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from " + ((_current2 = current) == null ? void 0 : _current2.type));
5192 }
5193
5194 return validate;
5195 }
5196 function chain$1() {
5197 for (var _len4 = arguments.length, fns = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
5198 fns[_key4] = arguments[_key4];
5199 }
5200
5201 function validate() {
5202 for (var _iterator3 = _createForOfIteratorHelperLoose(fns), _step3; !(_step3 = _iterator3()).done;) {
5203 var fn = _step3.value;
5204 fn.apply(void 0, arguments);
5205 }
5206 }
5207
5208 validate.chainOf = fns;
5209
5210 if (fns.length >= 2 && "type" in fns[0] && fns[0].type === "array" && !("each" in fns[1])) {
5211 throw new Error("An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.");
5212 }
5213
5214 return validate;
5215 }
5216 var validTypeOpts = ["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"];
5217 var validFieldKeys = ["default", "optional", "validate"];
5218 function defineType(type, opts) {
5219 if (opts === void 0) {
5220 opts = {};
5221 }
5222
5223 var inherits = opts.inherits && store[opts.inherits] || {};
5224 var fields = opts.fields;
5225
5226 if (!fields) {
5227 fields = {};
5228
5229 if (inherits.fields) {
5230 var keys = Object.getOwnPropertyNames(inherits.fields);
5231
5232 for (var _iterator4 = _createForOfIteratorHelperLoose(keys), _step4; !(_step4 = _iterator4()).done;) {
5233 var _key5 = _step4.value;
5234 var field = inherits.fields[_key5];
5235 var def = field["default"];
5236
5237 if (Array.isArray(def) ? def.length > 0 : def && typeof def === "object") {
5238 throw new Error("field defaults can only be primitives or empty arrays currently");
5239 }
5240
5241 fields[_key5] = {
5242 "default": Array.isArray(def) ? [] : def,
5243 optional: field.optional,
5244 validate: field.validate
5245 };
5246 }
5247 }
5248 }
5249
5250 var visitor = opts.visitor || inherits.visitor || [];
5251 var aliases = opts.aliases || inherits.aliases || [];
5252 var builder = opts.builder || inherits.builder || opts.visitor || [];
5253
5254 for (var _i2 = 0, _Object$keys2 = Object.keys(opts); _i2 < _Object$keys2.length; _i2++) {
5255 var k = _Object$keys2[_i2];
5256
5257 if (validTypeOpts.indexOf(k) === -1) {
5258 throw new Error("Unknown type option \"" + k + "\" on " + type);
5259 }
5260 }
5261
5262 if (opts.deprecatedAlias) {
5263 DEPRECATED_KEYS[opts.deprecatedAlias] = type;
5264 }
5265
5266 for (var _iterator5 = _createForOfIteratorHelperLoose(visitor.concat(builder)), _step5; !(_step5 = _iterator5()).done;) {
5267 var _key7 = _step5.value;
5268 fields[_key7] = fields[_key7] || {};
5269 }
5270
5271 for (var _i3 = 0, _Object$keys3 = Object.keys(fields); _i3 < _Object$keys3.length; _i3++) {
5272 var _key6 = _Object$keys3[_i3];
5273 var _field = fields[_key6];
5274
5275 if (_field["default"] !== undefined && builder.indexOf(_key6) === -1) {
5276 _field.optional = true;
5277 }
5278
5279 if (_field["default"] === undefined) {
5280 _field["default"] = null;
5281 } else if (!_field.validate && _field["default"] != null) {
5282 _field.validate = assertValueType(getType$2(_field["default"]));
5283 }
5284
5285 for (var _i4 = 0, _Object$keys4 = Object.keys(_field); _i4 < _Object$keys4.length; _i4++) {
5286 var _k = _Object$keys4[_i4];
5287
5288 if (validFieldKeys.indexOf(_k) === -1) {
5289 throw new Error("Unknown field key \"" + _k + "\" on " + type + "." + _key6);
5290 }
5291 }
5292 }
5293
5294 VISITOR_KEYS[type] = opts.visitor = visitor;
5295 BUILDER_KEYS[type] = opts.builder = builder;
5296 NODE_FIELDS[type] = opts.fields = fields;
5297 ALIAS_KEYS[type] = opts.aliases = aliases;
5298 aliases.forEach(function (alias) {
5299 FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];
5300 FLIPPED_ALIAS_KEYS[alias].push(type);
5301 });
5302
5303 if (opts.validate) {
5304 NODE_PARENT_VALIDATIONS[type] = opts.validate;
5305 }
5306
5307 store[type] = opts;
5308 }
5309 var store = {};
5310
5311 defineType("ArrayExpression", {
5312 fields: {
5313 elements: {
5314 validate: chain$1(assertValueType("array"), assertEach(assertNodeOrValueType("null", "Expression", "SpreadElement"))),
5315 "default": !browser$6.env.BABEL_TYPES_8_BREAKING ? [] : undefined
5316 }
5317 },
5318 visitor: ["elements"],
5319 aliases: ["Expression"]
5320 });
5321 defineType("AssignmentExpression", {
5322 fields: {
5323 operator: {
5324 validate: function () {
5325 if (!browser$6.env.BABEL_TYPES_8_BREAKING) {
5326 return assertValueType("string");
5327 }
5328
5329 var identifier = assertOneOf.apply(void 0, _toConsumableArray(ASSIGNMENT_OPERATORS));
5330 var pattern = assertOneOf("=");
5331 return function (node, key, val) {
5332 var validator = is$1("Pattern", node.left) ? pattern : identifier;
5333 validator(node, key, val);
5334 };
5335 }()
5336 },
5337 left: {
5338 validate: !browser$6.env.BABEL_TYPES_8_BREAKING ? assertNodeType("LVal") : assertNodeType("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern")
5339 },
5340 right: {
5341 validate: assertNodeType("Expression")
5342 }
5343 },
5344 builder: ["operator", "left", "right"],
5345 visitor: ["left", "right"],
5346 aliases: ["Expression"]
5347 });
5348 defineType("BinaryExpression", {
5349 builder: ["operator", "left", "right"],
5350 fields: {
5351 operator: {
5352 validate: assertOneOf.apply(void 0, _toConsumableArray(BINARY_OPERATORS))
5353 },
5354 left: {
5355 validate: function () {
5356 var expression = assertNodeType("Expression");
5357 var inOp = assertNodeType("Expression", "PrivateName");
5358
5359 var validator = function validator(node, key, val) {
5360 var validator = node.operator === "in" ? inOp : expression;
5361 validator(node, key, val);
5362 };
5363
5364 validator.oneOfNodeTypes = ["Expression", "PrivateName"];
5365 return validator;
5366 }()
5367 },
5368 right: {
5369 validate: assertNodeType("Expression")
5370 }
5371 },
5372 visitor: ["left", "right"],
5373 aliases: ["Binary", "Expression"]
5374 });
5375 defineType("InterpreterDirective", {
5376 builder: ["value"],
5377 fields: {
5378 value: {
5379 validate: assertValueType("string")
5380 }
5381 }
5382 });
5383 defineType("Directive", {
5384 visitor: ["value"],
5385 fields: {
5386 value: {
5387 validate: assertNodeType("DirectiveLiteral")
5388 }
5389 }
5390 });
5391 defineType("DirectiveLiteral", {
5392 builder: ["value"],
5393 fields: {
5394 value: {
5395 validate: assertValueType("string")
5396 }
5397 }
5398 });
5399 defineType("BlockStatement", {
5400 builder: ["body", "directives"],
5401 visitor: ["directives", "body"],
5402 fields: {
5403 directives: {
5404 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Directive"))),
5405 "default": []
5406 },
5407 body: {
5408 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Statement")))
5409 }
5410 },
5411 aliases: ["Scopable", "BlockParent", "Block", "Statement"]
5412 });
5413 defineType("BreakStatement", {
5414 visitor: ["label"],
5415 fields: {
5416 label: {
5417 validate: assertNodeType("Identifier"),
5418 optional: true
5419 }
5420 },
5421 aliases: ["Statement", "Terminatorless", "CompletionStatement"]
5422 });
5423 defineType("CallExpression", {
5424 visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
5425 builder: ["callee", "arguments"],
5426 aliases: ["Expression"],
5427 fields: Object.assign({
5428 callee: {
5429 validate: assertNodeType("Expression", "V8IntrinsicIdentifier")
5430 },
5431 arguments: {
5432 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder")))
5433 }
5434 }, !browser$6.env.BABEL_TYPES_8_BREAKING ? {
5435 optional: {
5436 validate: assertOneOf(true, false),
5437 optional: true
5438 }
5439 } : {}, {
5440 typeArguments: {
5441 validate: assertNodeType("TypeParameterInstantiation"),
5442 optional: true
5443 },
5444 typeParameters: {
5445 validate: assertNodeType("TSTypeParameterInstantiation"),
5446 optional: true
5447 }
5448 })
5449 });
5450 defineType("CatchClause", {
5451 visitor: ["param", "body"],
5452 fields: {
5453 param: {
5454 validate: assertNodeType("Identifier", "ArrayPattern", "ObjectPattern"),
5455 optional: true
5456 },
5457 body: {
5458 validate: assertNodeType("BlockStatement")
5459 }
5460 },
5461 aliases: ["Scopable", "BlockParent"]
5462 });
5463 defineType("ConditionalExpression", {
5464 visitor: ["test", "consequent", "alternate"],
5465 fields: {
5466 test: {
5467 validate: assertNodeType("Expression")
5468 },
5469 consequent: {
5470 validate: assertNodeType("Expression")
5471 },
5472 alternate: {
5473 validate: assertNodeType("Expression")
5474 }
5475 },
5476 aliases: ["Expression", "Conditional"]
5477 });
5478 defineType("ContinueStatement", {
5479 visitor: ["label"],
5480 fields: {
5481 label: {
5482 validate: assertNodeType("Identifier"),
5483 optional: true
5484 }
5485 },
5486 aliases: ["Statement", "Terminatorless", "CompletionStatement"]
5487 });
5488 defineType("DebuggerStatement", {
5489 aliases: ["Statement"]
5490 });
5491 defineType("DoWhileStatement", {
5492 visitor: ["test", "body"],
5493 fields: {
5494 test: {
5495 validate: assertNodeType("Expression")
5496 },
5497 body: {
5498 validate: assertNodeType("Statement")
5499 }
5500 },
5501 aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"]
5502 });
5503 defineType("EmptyStatement", {
5504 aliases: ["Statement"]
5505 });
5506 defineType("ExpressionStatement", {
5507 visitor: ["expression"],
5508 fields: {
5509 expression: {
5510 validate: assertNodeType("Expression")
5511 }
5512 },
5513 aliases: ["Statement", "ExpressionWrapper"]
5514 });
5515 defineType("File", {
5516 builder: ["program", "comments", "tokens"],
5517 visitor: ["program"],
5518 fields: {
5519 program: {
5520 validate: assertNodeType("Program")
5521 },
5522 comments: {
5523 validate: !browser$6.env.BABEL_TYPES_8_BREAKING ? Object.assign(function () {}, {
5524 each: {
5525 oneOfNodeTypes: ["CommentBlock", "CommentLine"]
5526 }
5527 }) : assertEach(assertNodeType("CommentBlock", "CommentLine")),
5528 optional: true
5529 },
5530 tokens: {
5531 validate: assertEach(Object.assign(function () {}, {
5532 type: "any"
5533 })),
5534 optional: true
5535 }
5536 }
5537 });
5538 defineType("ForInStatement", {
5539 visitor: ["left", "right", "body"],
5540 aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
5541 fields: {
5542 left: {
5543 validate: !browser$6.env.BABEL_TYPES_8_BREAKING ? assertNodeType("VariableDeclaration", "LVal") : assertNodeType("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern")
5544 },
5545 right: {
5546 validate: assertNodeType("Expression")
5547 },
5548 body: {
5549 validate: assertNodeType("Statement")
5550 }
5551 }
5552 });
5553 defineType("ForStatement", {
5554 visitor: ["init", "test", "update", "body"],
5555 aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"],
5556 fields: {
5557 init: {
5558 validate: assertNodeType("VariableDeclaration", "Expression"),
5559 optional: true
5560 },
5561 test: {
5562 validate: assertNodeType("Expression"),
5563 optional: true
5564 },
5565 update: {
5566 validate: assertNodeType("Expression"),
5567 optional: true
5568 },
5569 body: {
5570 validate: assertNodeType("Statement")
5571 }
5572 }
5573 });
5574 var functionCommon = {
5575 params: {
5576 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Identifier", "Pattern", "RestElement")))
5577 },
5578 generator: {
5579 "default": false
5580 },
5581 async: {
5582 "default": false
5583 }
5584 };
5585 var functionTypeAnnotationCommon = {
5586 returnType: {
5587 validate: assertNodeType("TypeAnnotation", "TSTypeAnnotation", "Noop"),
5588 optional: true
5589 },
5590 typeParameters: {
5591 validate: assertNodeType("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
5592 optional: true
5593 }
5594 };
5595 var functionDeclarationCommon = Object.assign({}, functionCommon, {
5596 declare: {
5597 validate: assertValueType("boolean"),
5598 optional: true
5599 },
5600 id: {
5601 validate: assertNodeType("Identifier"),
5602 optional: true
5603 }
5604 });
5605 defineType("FunctionDeclaration", {
5606 builder: ["id", "params", "body", "generator", "async"],
5607 visitor: ["id", "params", "body", "returnType", "typeParameters"],
5608 fields: Object.assign({}, functionDeclarationCommon, functionTypeAnnotationCommon, {
5609 body: {
5610 validate: assertNodeType("BlockStatement")
5611 }
5612 }),
5613 aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"],
5614 validate: function () {
5615 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return function () {};
5616 var identifier = assertNodeType("Identifier");
5617 return function (parent, key, node) {
5618 if (!is$1("ExportDefaultDeclaration", parent)) {
5619 identifier(node, "id", node.id);
5620 }
5621 };
5622 }()
5623 });
5624 defineType("FunctionExpression", {
5625 inherits: "FunctionDeclaration",
5626 aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
5627 fields: Object.assign({}, functionCommon, functionTypeAnnotationCommon, {
5628 id: {
5629 validate: assertNodeType("Identifier"),
5630 optional: true
5631 },
5632 body: {
5633 validate: assertNodeType("BlockStatement")
5634 }
5635 })
5636 });
5637 var patternLikeCommon = {
5638 typeAnnotation: {
5639 validate: assertNodeType("TypeAnnotation", "TSTypeAnnotation", "Noop"),
5640 optional: true
5641 },
5642 decorators: {
5643 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator")))
5644 }
5645 };
5646 defineType("Identifier", {
5647 builder: ["name"],
5648 visitor: ["typeAnnotation", "decorators"],
5649 aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"],
5650 fields: Object.assign({}, patternLikeCommon, {
5651 name: {
5652 validate: chain$1(assertValueType("string"), Object.assign(function (node, key, val) {
5653 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
5654
5655 if (!isValidIdentifier(val, false)) {
5656 throw new TypeError("\"" + val + "\" is not a valid identifier name");
5657 }
5658 }, {
5659 type: "string"
5660 }))
5661 },
5662 optional: {
5663 validate: assertValueType("boolean"),
5664 optional: true
5665 }
5666 }),
5667 validate: function validate(parent, key, node) {
5668 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
5669 var match = /\.(\w+)$/.exec(key);
5670 if (!match) return;
5671
5672 var _match = _slicedToArray$2(match, 2),
5673 parentKey = _match[1];
5674
5675 var nonComp = {
5676 computed: false
5677 };
5678
5679 if (parentKey === "property") {
5680 if (is$1("MemberExpression", parent, nonComp)) return;
5681 if (is$1("OptionalMemberExpression", parent, nonComp)) return;
5682 } else if (parentKey === "key") {
5683 if (is$1("Property", parent, nonComp)) return;
5684 if (is$1("Method", parent, nonComp)) return;
5685 } else if (parentKey === "exported") {
5686 if (is$1("ExportSpecifier", parent)) return;
5687 } else if (parentKey === "imported") {
5688 if (is$1("ImportSpecifier", parent, {
5689 imported: node
5690 })) return;
5691 } else if (parentKey === "meta") {
5692 if (is$1("MetaProperty", parent, {
5693 meta: node
5694 })) return;
5695 }
5696
5697 if ((isKeyword(node.name) || isReservedWord(node.name, false)) && node.name !== "this") {
5698 throw new TypeError("\"" + node.name + "\" is not a valid identifier");
5699 }
5700 }
5701 });
5702 defineType("IfStatement", {
5703 visitor: ["test", "consequent", "alternate"],
5704 aliases: ["Statement", "Conditional"],
5705 fields: {
5706 test: {
5707 validate: assertNodeType("Expression")
5708 },
5709 consequent: {
5710 validate: assertNodeType("Statement")
5711 },
5712 alternate: {
5713 optional: true,
5714 validate: assertNodeType("Statement")
5715 }
5716 }
5717 });
5718 defineType("LabeledStatement", {
5719 visitor: ["label", "body"],
5720 aliases: ["Statement"],
5721 fields: {
5722 label: {
5723 validate: assertNodeType("Identifier")
5724 },
5725 body: {
5726 validate: assertNodeType("Statement")
5727 }
5728 }
5729 });
5730 defineType("StringLiteral", {
5731 builder: ["value"],
5732 fields: {
5733 value: {
5734 validate: assertValueType("string")
5735 }
5736 },
5737 aliases: ["Expression", "Pureish", "Literal", "Immutable"]
5738 });
5739 defineType("NumericLiteral", {
5740 builder: ["value"],
5741 deprecatedAlias: "NumberLiteral",
5742 fields: {
5743 value: {
5744 validate: assertValueType("number")
5745 }
5746 },
5747 aliases: ["Expression", "Pureish", "Literal", "Immutable"]
5748 });
5749 defineType("NullLiteral", {
5750 aliases: ["Expression", "Pureish", "Literal", "Immutable"]
5751 });
5752 defineType("BooleanLiteral", {
5753 builder: ["value"],
5754 fields: {
5755 value: {
5756 validate: assertValueType("boolean")
5757 }
5758 },
5759 aliases: ["Expression", "Pureish", "Literal", "Immutable"]
5760 });
5761 defineType("RegExpLiteral", {
5762 builder: ["pattern", "flags"],
5763 deprecatedAlias: "RegexLiteral",
5764 aliases: ["Expression", "Pureish", "Literal"],
5765 fields: {
5766 pattern: {
5767 validate: assertValueType("string")
5768 },
5769 flags: {
5770 validate: chain$1(assertValueType("string"), Object.assign(function (node, key, val) {
5771 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
5772 var invalid = /[^gimsuy]/.exec(val);
5773
5774 if (invalid) {
5775 throw new TypeError("\"" + invalid[0] + "\" is not a valid RegExp flag");
5776 }
5777 }, {
5778 type: "string"
5779 })),
5780 "default": ""
5781 }
5782 }
5783 });
5784 defineType("LogicalExpression", {
5785 builder: ["operator", "left", "right"],
5786 visitor: ["left", "right"],
5787 aliases: ["Binary", "Expression"],
5788 fields: {
5789 operator: {
5790 validate: assertOneOf.apply(void 0, _toConsumableArray(LOGICAL_OPERATORS))
5791 },
5792 left: {
5793 validate: assertNodeType("Expression")
5794 },
5795 right: {
5796 validate: assertNodeType("Expression")
5797 }
5798 }
5799 });
5800 defineType("MemberExpression", {
5801 builder: ["object", "property", "computed"].concat(_toConsumableArray(!browser$6.env.BABEL_TYPES_8_BREAKING ? ["optional"] : [])),
5802 visitor: ["object", "property"],
5803 aliases: ["Expression", "LVal"],
5804 fields: Object.assign({
5805 object: {
5806 validate: assertNodeType("Expression")
5807 },
5808 property: {
5809 validate: function () {
5810 var normal = assertNodeType("Identifier", "PrivateName");
5811 var computed = assertNodeType("Expression");
5812
5813 var validator = function validator(node, key, val) {
5814 var validator = node.computed ? computed : normal;
5815 validator(node, key, val);
5816 };
5817
5818 validator.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"];
5819 return validator;
5820 }()
5821 },
5822 computed: {
5823 "default": false
5824 }
5825 }, !browser$6.env.BABEL_TYPES_8_BREAKING ? {
5826 optional: {
5827 validate: assertOneOf(true, false),
5828 optional: true
5829 }
5830 } : {})
5831 });
5832 defineType("NewExpression", {
5833 inherits: "CallExpression"
5834 });
5835 defineType("Program", {
5836 visitor: ["directives", "body"],
5837 builder: ["body", "directives", "sourceType", "interpreter"],
5838 fields: {
5839 sourceFile: {
5840 validate: assertValueType("string")
5841 },
5842 sourceType: {
5843 validate: assertOneOf("script", "module"),
5844 "default": "script"
5845 },
5846 interpreter: {
5847 validate: assertNodeType("InterpreterDirective"),
5848 "default": null,
5849 optional: true
5850 },
5851 directives: {
5852 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Directive"))),
5853 "default": []
5854 },
5855 body: {
5856 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Statement")))
5857 }
5858 },
5859 aliases: ["Scopable", "BlockParent", "Block"]
5860 });
5861 defineType("ObjectExpression", {
5862 visitor: ["properties"],
5863 aliases: ["Expression"],
5864 fields: {
5865 properties: {
5866 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ObjectMethod", "ObjectProperty", "SpreadElement")))
5867 }
5868 }
5869 });
5870 defineType("ObjectMethod", {
5871 builder: ["kind", "key", "params", "body", "computed", "generator", "async"],
5872 fields: Object.assign({}, functionCommon, functionTypeAnnotationCommon, {
5873 kind: Object.assign({
5874 validate: assertOneOf("method", "get", "set")
5875 }, !browser$6.env.BABEL_TYPES_8_BREAKING ? {
5876 "default": "method"
5877 } : {}),
5878 computed: {
5879 "default": false
5880 },
5881 key: {
5882 validate: function () {
5883 var normal = assertNodeType("Identifier", "StringLiteral", "NumericLiteral");
5884 var computed = assertNodeType("Expression");
5885
5886 var validator = function validator(node, key, val) {
5887 var validator = node.computed ? computed : normal;
5888 validator(node, key, val);
5889 };
5890
5891 validator.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral"];
5892 return validator;
5893 }()
5894 },
5895 decorators: {
5896 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
5897 optional: true
5898 },
5899 body: {
5900 validate: assertNodeType("BlockStatement")
5901 }
5902 }),
5903 visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
5904 aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"]
5905 });
5906 defineType("ObjectProperty", {
5907 builder: ["key", "value", "computed", "shorthand"].concat(_toConsumableArray(!browser$6.env.BABEL_TYPES_8_BREAKING ? ["decorators"] : [])),
5908 fields: {
5909 computed: {
5910 "default": false
5911 },
5912 key: {
5913 validate: function () {
5914 var normal = assertNodeType("Identifier", "StringLiteral", "NumericLiteral");
5915 var computed = assertNodeType("Expression");
5916
5917 var validator = function validator(node, key, val) {
5918 var validator = node.computed ? computed : normal;
5919 validator(node, key, val);
5920 };
5921
5922 validator.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral"];
5923 return validator;
5924 }()
5925 },
5926 value: {
5927 validate: assertNodeType("Expression", "PatternLike")
5928 },
5929 shorthand: {
5930 validate: chain$1(assertValueType("boolean"), Object.assign(function (node, key, val) {
5931 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
5932
5933 if (val && node.computed) {
5934 throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");
5935 }
5936 }, {
5937 type: "boolean"
5938 }), function (node, key, val) {
5939 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
5940
5941 if (val && !is$1("Identifier", node.key)) {
5942 throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier");
5943 }
5944 }),
5945 "default": false
5946 },
5947 decorators: {
5948 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
5949 optional: true
5950 }
5951 },
5952 visitor: ["key", "value", "decorators"],
5953 aliases: ["UserWhitespacable", "Property", "ObjectMember"],
5954 validate: function () {
5955 var pattern = assertNodeType("Identifier", "Pattern");
5956 var expression = assertNodeType("Expression");
5957 return function (parent, key, node) {
5958 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
5959 var validator = is$1("ObjectPattern", parent) ? pattern : expression;
5960 validator(node, "value", node.value);
5961 };
5962 }()
5963 });
5964 defineType("RestElement", {
5965 visitor: ["argument", "typeAnnotation"],
5966 builder: ["argument"],
5967 aliases: ["LVal", "PatternLike"],
5968 deprecatedAlias: "RestProperty",
5969 fields: Object.assign({}, patternLikeCommon, {
5970 argument: {
5971 validate: !browser$6.env.BABEL_TYPES_8_BREAKING ? assertNodeType("LVal") : assertNodeType("Identifier", "Pattern", "MemberExpression")
5972 }
5973 }),
5974 validate: function validate(parent, key) {
5975 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
5976 var match = /(\w+)\[(\d+)\]/.exec(key);
5977 if (!match) throw new Error("Internal Babel error: malformed key.");
5978
5979 var _match2 = _slicedToArray$2(match, 3),
5980 listKey = _match2[1],
5981 index = _match2[2];
5982
5983 if (parent[listKey].length > index + 1) {
5984 throw new TypeError("RestElement must be last element of " + listKey);
5985 }
5986 }
5987 });
5988 defineType("ReturnStatement", {
5989 visitor: ["argument"],
5990 aliases: ["Statement", "Terminatorless", "CompletionStatement"],
5991 fields: {
5992 argument: {
5993 validate: assertNodeType("Expression"),
5994 optional: true
5995 }
5996 }
5997 });
5998 defineType("SequenceExpression", {
5999 visitor: ["expressions"],
6000 fields: {
6001 expressions: {
6002 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression")))
6003 }
6004 },
6005 aliases: ["Expression"]
6006 });
6007 defineType("ParenthesizedExpression", {
6008 visitor: ["expression"],
6009 aliases: ["Expression", "ExpressionWrapper"],
6010 fields: {
6011 expression: {
6012 validate: assertNodeType("Expression")
6013 }
6014 }
6015 });
6016 defineType("SwitchCase", {
6017 visitor: ["test", "consequent"],
6018 fields: {
6019 test: {
6020 validate: assertNodeType("Expression"),
6021 optional: true
6022 },
6023 consequent: {
6024 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Statement")))
6025 }
6026 }
6027 });
6028 defineType("SwitchStatement", {
6029 visitor: ["discriminant", "cases"],
6030 aliases: ["Statement", "BlockParent", "Scopable"],
6031 fields: {
6032 discriminant: {
6033 validate: assertNodeType("Expression")
6034 },
6035 cases: {
6036 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("SwitchCase")))
6037 }
6038 }
6039 });
6040 defineType("ThisExpression", {
6041 aliases: ["Expression"]
6042 });
6043 defineType("ThrowStatement", {
6044 visitor: ["argument"],
6045 aliases: ["Statement", "Terminatorless", "CompletionStatement"],
6046 fields: {
6047 argument: {
6048 validate: assertNodeType("Expression")
6049 }
6050 }
6051 });
6052 defineType("TryStatement", {
6053 visitor: ["block", "handler", "finalizer"],
6054 aliases: ["Statement"],
6055 fields: {
6056 block: {
6057 validate: chain$1(assertNodeType("BlockStatement"), Object.assign(function (node) {
6058 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
6059
6060 if (!node.handler && !node.finalizer) {
6061 throw new TypeError("TryStatement expects either a handler or finalizer, or both");
6062 }
6063 }, {
6064 oneOfNodeTypes: ["BlockStatement"]
6065 }))
6066 },
6067 handler: {
6068 optional: true,
6069 validate: assertNodeType("CatchClause")
6070 },
6071 finalizer: {
6072 optional: true,
6073 validate: assertNodeType("BlockStatement")
6074 }
6075 }
6076 });
6077 defineType("UnaryExpression", {
6078 builder: ["operator", "argument", "prefix"],
6079 fields: {
6080 prefix: {
6081 "default": true
6082 },
6083 argument: {
6084 validate: assertNodeType("Expression")
6085 },
6086 operator: {
6087 validate: assertOneOf.apply(void 0, _toConsumableArray(UNARY_OPERATORS))
6088 }
6089 },
6090 visitor: ["argument"],
6091 aliases: ["UnaryLike", "Expression"]
6092 });
6093 defineType("UpdateExpression", {
6094 builder: ["operator", "argument", "prefix"],
6095 fields: {
6096 prefix: {
6097 "default": false
6098 },
6099 argument: {
6100 validate: !browser$6.env.BABEL_TYPES_8_BREAKING ? assertNodeType("Expression") : assertNodeType("Identifier", "MemberExpression")
6101 },
6102 operator: {
6103 validate: assertOneOf.apply(void 0, _toConsumableArray(UPDATE_OPERATORS))
6104 }
6105 },
6106 visitor: ["argument"],
6107 aliases: ["Expression"]
6108 });
6109 defineType("VariableDeclaration", {
6110 builder: ["kind", "declarations"],
6111 visitor: ["declarations"],
6112 aliases: ["Statement", "Declaration"],
6113 fields: {
6114 declare: {
6115 validate: assertValueType("boolean"),
6116 optional: true
6117 },
6118 kind: {
6119 validate: assertOneOf("var", "let", "const")
6120 },
6121 declarations: {
6122 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("VariableDeclarator")))
6123 }
6124 },
6125 validate: function validate(parent, key, node) {
6126 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
6127 if (!is$1("ForXStatement", parent, {
6128 left: node
6129 })) return;
6130
6131 if (node.declarations.length !== 1) {
6132 throw new TypeError("Exactly one VariableDeclarator is required in the VariableDeclaration of a " + parent.type);
6133 }
6134 }
6135 });
6136 defineType("VariableDeclarator", {
6137 visitor: ["id", "init"],
6138 fields: {
6139 id: {
6140 validate: function () {
6141 if (!browser$6.env.BABEL_TYPES_8_BREAKING) {
6142 return assertNodeType("LVal");
6143 }
6144
6145 var normal = assertNodeType("Identifier", "ArrayPattern", "ObjectPattern");
6146 var without = assertNodeType("Identifier");
6147 return function (node, key, val) {
6148 var validator = node.init ? normal : without;
6149 validator(node, key, val);
6150 };
6151 }()
6152 },
6153 definite: {
6154 optional: true,
6155 validate: assertValueType("boolean")
6156 },
6157 init: {
6158 optional: true,
6159 validate: assertNodeType("Expression")
6160 }
6161 }
6162 });
6163 defineType("WhileStatement", {
6164 visitor: ["test", "body"],
6165 aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"],
6166 fields: {
6167 test: {
6168 validate: assertNodeType("Expression")
6169 },
6170 body: {
6171 validate: assertNodeType("Statement")
6172 }
6173 }
6174 });
6175 defineType("WithStatement", {
6176 visitor: ["object", "body"],
6177 aliases: ["Statement"],
6178 fields: {
6179 object: {
6180 validate: assertNodeType("Expression")
6181 },
6182 body: {
6183 validate: assertNodeType("Statement")
6184 }
6185 }
6186 });
6187 defineType("AssignmentPattern", {
6188 visitor: ["left", "right", "decorators"],
6189 builder: ["left", "right"],
6190 aliases: ["Pattern", "PatternLike", "LVal"],
6191 fields: Object.assign({}, patternLikeCommon, {
6192 left: {
6193 validate: assertNodeType("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression")
6194 },
6195 right: {
6196 validate: assertNodeType("Expression")
6197 },
6198 decorators: {
6199 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
6200 optional: true
6201 }
6202 })
6203 });
6204 defineType("ArrayPattern", {
6205 visitor: ["elements", "typeAnnotation"],
6206 builder: ["elements"],
6207 aliases: ["Pattern", "PatternLike", "LVal"],
6208 fields: Object.assign({}, patternLikeCommon, {
6209 elements: {
6210 validate: chain$1(assertValueType("array"), assertEach(assertNodeOrValueType("null", "PatternLike")))
6211 },
6212 decorators: {
6213 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
6214 optional: true
6215 }
6216 })
6217 });
6218 defineType("ArrowFunctionExpression", {
6219 builder: ["params", "body", "async"],
6220 visitor: ["params", "body", "returnType", "typeParameters"],
6221 aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
6222 fields: Object.assign({}, functionCommon, functionTypeAnnotationCommon, {
6223 expression: {
6224 validate: assertValueType("boolean")
6225 },
6226 body: {
6227 validate: assertNodeType("BlockStatement", "Expression")
6228 }
6229 })
6230 });
6231 defineType("ClassBody", {
6232 visitor: ["body"],
6233 fields: {
6234 body: {
6235 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "TSDeclareMethod", "TSIndexSignature")))
6236 }
6237 }
6238 });
6239 defineType("ClassExpression", {
6240 builder: ["id", "superClass", "body", "decorators"],
6241 visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"],
6242 aliases: ["Scopable", "Class", "Expression"],
6243 fields: {
6244 id: {
6245 validate: assertNodeType("Identifier"),
6246 optional: true
6247 },
6248 typeParameters: {
6249 validate: assertNodeType("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
6250 optional: true
6251 },
6252 body: {
6253 validate: assertNodeType("ClassBody")
6254 },
6255 superClass: {
6256 optional: true,
6257 validate: assertNodeType("Expression")
6258 },
6259 superTypeParameters: {
6260 validate: assertNodeType("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
6261 optional: true
6262 },
6263 "implements": {
6264 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TSExpressionWithTypeArguments", "ClassImplements"))),
6265 optional: true
6266 },
6267 decorators: {
6268 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
6269 optional: true
6270 },
6271 mixins: {
6272 validate: assertNodeType("InterfaceExtends"),
6273 optional: true
6274 }
6275 }
6276 });
6277 defineType("ClassDeclaration", {
6278 inherits: "ClassExpression",
6279 aliases: ["Scopable", "Class", "Statement", "Declaration"],
6280 fields: {
6281 id: {
6282 validate: assertNodeType("Identifier")
6283 },
6284 typeParameters: {
6285 validate: assertNodeType("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
6286 optional: true
6287 },
6288 body: {
6289 validate: assertNodeType("ClassBody")
6290 },
6291 superClass: {
6292 optional: true,
6293 validate: assertNodeType("Expression")
6294 },
6295 superTypeParameters: {
6296 validate: assertNodeType("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
6297 optional: true
6298 },
6299 "implements": {
6300 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TSExpressionWithTypeArguments", "ClassImplements"))),
6301 optional: true
6302 },
6303 decorators: {
6304 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
6305 optional: true
6306 },
6307 mixins: {
6308 validate: assertNodeType("InterfaceExtends"),
6309 optional: true
6310 },
6311 declare: {
6312 validate: assertValueType("boolean"),
6313 optional: true
6314 },
6315 "abstract": {
6316 validate: assertValueType("boolean"),
6317 optional: true
6318 }
6319 },
6320 validate: function () {
6321 var identifier = assertNodeType("Identifier");
6322 return function (parent, key, node) {
6323 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
6324
6325 if (!is$1("ExportDefaultDeclaration", parent)) {
6326 identifier(node, "id", node.id);
6327 }
6328 };
6329 }()
6330 });
6331 defineType("ExportAllDeclaration", {
6332 visitor: ["source"],
6333 aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"],
6334 fields: {
6335 source: {
6336 validate: assertNodeType("StringLiteral")
6337 },
6338 exportKind: validateOptional(assertOneOf("type", "value")),
6339 assertions: {
6340 optional: true,
6341 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ImportAttribute")))
6342 }
6343 }
6344 });
6345 defineType("ExportDefaultDeclaration", {
6346 visitor: ["declaration"],
6347 aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"],
6348 fields: {
6349 declaration: {
6350 validate: assertNodeType("FunctionDeclaration", "TSDeclareFunction", "ClassDeclaration", "Expression")
6351 }
6352 }
6353 });
6354 defineType("ExportNamedDeclaration", {
6355 visitor: ["declaration", "specifiers", "source"],
6356 aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"],
6357 fields: {
6358 declaration: {
6359 optional: true,
6360 validate: chain$1(assertNodeType("Declaration"), Object.assign(function (node, key, val) {
6361 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
6362
6363 if (val && node.specifiers.length) {
6364 throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");
6365 }
6366 }, {
6367 oneOfNodeTypes: ["Declaration"]
6368 }), function (node, key, val) {
6369 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
6370
6371 if (val && node.source) {
6372 throw new TypeError("Cannot export a declaration from a source");
6373 }
6374 })
6375 },
6376 assertions: {
6377 optional: true,
6378 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ImportAttribute")))
6379 },
6380 specifiers: {
6381 "default": [],
6382 validate: chain$1(assertValueType("array"), assertEach(function () {
6383 var sourced = assertNodeType("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier");
6384 var sourceless = assertNodeType("ExportSpecifier");
6385 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return sourced;
6386 return function (node, key, val) {
6387 var validator = node.source ? sourced : sourceless;
6388 validator(node, key, val);
6389 };
6390 }()))
6391 },
6392 source: {
6393 validate: assertNodeType("StringLiteral"),
6394 optional: true
6395 },
6396 exportKind: validateOptional(assertOneOf("type", "value"))
6397 }
6398 });
6399 defineType("ExportSpecifier", {
6400 visitor: ["local", "exported"],
6401 aliases: ["ModuleSpecifier"],
6402 fields: {
6403 local: {
6404 validate: assertNodeType("Identifier")
6405 },
6406 exported: {
6407 validate: assertNodeType("Identifier", "StringLiteral")
6408 }
6409 }
6410 });
6411 defineType("ForOfStatement", {
6412 visitor: ["left", "right", "body"],
6413 builder: ["left", "right", "body", "await"],
6414 aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
6415 fields: {
6416 left: {
6417 validate: function () {
6418 if (!browser$6.env.BABEL_TYPES_8_BREAKING) {
6419 return assertNodeType("VariableDeclaration", "LVal");
6420 }
6421
6422 var declaration = assertNodeType("VariableDeclaration");
6423 var lval = assertNodeType("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern");
6424 return function (node, key, val) {
6425 if (is$1("VariableDeclaration", val)) {
6426 declaration(node, key, val);
6427 } else {
6428 lval(node, key, val);
6429 }
6430 };
6431 }()
6432 },
6433 right: {
6434 validate: assertNodeType("Expression")
6435 },
6436 body: {
6437 validate: assertNodeType("Statement")
6438 },
6439 "await": {
6440 "default": false
6441 }
6442 }
6443 });
6444 defineType("ImportDeclaration", {
6445 visitor: ["specifiers", "source"],
6446 aliases: ["Statement", "Declaration", "ModuleDeclaration"],
6447 fields: {
6448 assertions: {
6449 optional: true,
6450 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ImportAttribute")))
6451 },
6452 specifiers: {
6453 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier")))
6454 },
6455 source: {
6456 validate: assertNodeType("StringLiteral")
6457 },
6458 importKind: {
6459 validate: assertOneOf("type", "typeof", "value"),
6460 optional: true
6461 }
6462 }
6463 });
6464 defineType("ImportDefaultSpecifier", {
6465 visitor: ["local"],
6466 aliases: ["ModuleSpecifier"],
6467 fields: {
6468 local: {
6469 validate: assertNodeType("Identifier")
6470 }
6471 }
6472 });
6473 defineType("ImportNamespaceSpecifier", {
6474 visitor: ["local"],
6475 aliases: ["ModuleSpecifier"],
6476 fields: {
6477 local: {
6478 validate: assertNodeType("Identifier")
6479 }
6480 }
6481 });
6482 defineType("ImportSpecifier", {
6483 visitor: ["local", "imported"],
6484 aliases: ["ModuleSpecifier"],
6485 fields: {
6486 local: {
6487 validate: assertNodeType("Identifier")
6488 },
6489 imported: {
6490 validate: assertNodeType("Identifier", "StringLiteral")
6491 },
6492 importKind: {
6493 validate: assertOneOf("type", "typeof"),
6494 optional: true
6495 }
6496 }
6497 });
6498 defineType("MetaProperty", {
6499 visitor: ["meta", "property"],
6500 aliases: ["Expression"],
6501 fields: {
6502 meta: {
6503 validate: chain$1(assertNodeType("Identifier"), Object.assign(function (node, key, val) {
6504 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
6505 var property;
6506
6507 switch (val.name) {
6508 case "function":
6509 property = "sent";
6510 break;
6511
6512 case "new":
6513 property = "target";
6514 break;
6515
6516 case "import":
6517 property = "meta";
6518 break;
6519 }
6520
6521 if (!is$1("Identifier", node.property, {
6522 name: property
6523 })) {
6524 throw new TypeError("Unrecognised MetaProperty");
6525 }
6526 }, {
6527 oneOfNodeTypes: ["Identifier"]
6528 }))
6529 },
6530 property: {
6531 validate: assertNodeType("Identifier")
6532 }
6533 }
6534 });
6535 var classMethodOrPropertyCommon = {
6536 "abstract": {
6537 validate: assertValueType("boolean"),
6538 optional: true
6539 },
6540 accessibility: {
6541 validate: assertOneOf("public", "private", "protected"),
6542 optional: true
6543 },
6544 "static": {
6545 "default": false
6546 },
6547 override: {
6548 "default": false
6549 },
6550 computed: {
6551 "default": false
6552 },
6553 optional: {
6554 validate: assertValueType("boolean"),
6555 optional: true
6556 },
6557 key: {
6558 validate: chain$1(function () {
6559 var normal = assertNodeType("Identifier", "StringLiteral", "NumericLiteral");
6560 var computed = assertNodeType("Expression");
6561 return function (node, key, val) {
6562 var validator = node.computed ? computed : normal;
6563 validator(node, key, val);
6564 };
6565 }(), assertNodeType("Identifier", "StringLiteral", "NumericLiteral", "Expression"))
6566 }
6567 };
6568 var classMethodOrDeclareMethodCommon = Object.assign({}, functionCommon, classMethodOrPropertyCommon, {
6569 params: {
6570 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Identifier", "Pattern", "RestElement", "TSParameterProperty")))
6571 },
6572 kind: {
6573 validate: assertOneOf("get", "set", "method", "constructor"),
6574 "default": "method"
6575 },
6576 access: {
6577 validate: chain$1(assertValueType("string"), assertOneOf("public", "private", "protected")),
6578 optional: true
6579 },
6580 decorators: {
6581 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
6582 optional: true
6583 }
6584 });
6585 defineType("ClassMethod", {
6586 aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"],
6587 builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"],
6588 visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
6589 fields: Object.assign({}, classMethodOrDeclareMethodCommon, functionTypeAnnotationCommon, {
6590 body: {
6591 validate: assertNodeType("BlockStatement")
6592 }
6593 })
6594 });
6595 defineType("ObjectPattern", {
6596 visitor: ["properties", "typeAnnotation", "decorators"],
6597 builder: ["properties"],
6598 aliases: ["Pattern", "PatternLike", "LVal"],
6599 fields: Object.assign({}, patternLikeCommon, {
6600 properties: {
6601 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("RestElement", "ObjectProperty")))
6602 }
6603 })
6604 });
6605 defineType("SpreadElement", {
6606 visitor: ["argument"],
6607 aliases: ["UnaryLike"],
6608 deprecatedAlias: "SpreadProperty",
6609 fields: {
6610 argument: {
6611 validate: assertNodeType("Expression")
6612 }
6613 }
6614 });
6615 defineType("Super", {
6616 aliases: ["Expression"]
6617 });
6618 defineType("TaggedTemplateExpression", {
6619 visitor: ["tag", "quasi", "typeParameters"],
6620 builder: ["tag", "quasi"],
6621 aliases: ["Expression"],
6622 fields: {
6623 tag: {
6624 validate: assertNodeType("Expression")
6625 },
6626 quasi: {
6627 validate: assertNodeType("TemplateLiteral")
6628 },
6629 typeParameters: {
6630 validate: assertNodeType("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
6631 optional: true
6632 }
6633 }
6634 });
6635 defineType("TemplateElement", {
6636 builder: ["value", "tail"],
6637 fields: {
6638 value: {
6639 validate: assertShape({
6640 raw: {
6641 validate: assertValueType("string")
6642 },
6643 cooked: {
6644 validate: assertValueType("string"),
6645 optional: true
6646 }
6647 })
6648 },
6649 tail: {
6650 "default": false
6651 }
6652 }
6653 });
6654 defineType("TemplateLiteral", {
6655 visitor: ["quasis", "expressions"],
6656 aliases: ["Expression", "Literal"],
6657 fields: {
6658 quasis: {
6659 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TemplateElement")))
6660 },
6661 expressions: {
6662 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression", "TSType")), function (node, key, val) {
6663 if (node.quasis.length !== val.length + 1) {
6664 throw new TypeError("Number of " + node.type + " quasis should be exactly one more than the number of expressions.\nExpected " + (val.length + 1) + " quasis but got " + node.quasis.length);
6665 }
6666 })
6667 }
6668 }
6669 });
6670 defineType("YieldExpression", {
6671 builder: ["argument", "delegate"],
6672 visitor: ["argument"],
6673 aliases: ["Expression", "Terminatorless"],
6674 fields: {
6675 delegate: {
6676 validate: chain$1(assertValueType("boolean"), Object.assign(function (node, key, val) {
6677 if (!browser$6.env.BABEL_TYPES_8_BREAKING) return;
6678
6679 if (val && !node.argument) {
6680 throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument");
6681 }
6682 }, {
6683 type: "boolean"
6684 })),
6685 "default": false
6686 },
6687 argument: {
6688 optional: true,
6689 validate: assertNodeType("Expression")
6690 }
6691 }
6692 });
6693 defineType("AwaitExpression", {
6694 builder: ["argument"],
6695 visitor: ["argument"],
6696 aliases: ["Expression", "Terminatorless"],
6697 fields: {
6698 argument: {
6699 validate: assertNodeType("Expression")
6700 }
6701 }
6702 });
6703 defineType("Import", {
6704 aliases: ["Expression"]
6705 });
6706 defineType("BigIntLiteral", {
6707 builder: ["value"],
6708 fields: {
6709 value: {
6710 validate: assertValueType("string")
6711 }
6712 },
6713 aliases: ["Expression", "Pureish", "Literal", "Immutable"]
6714 });
6715 defineType("ExportNamespaceSpecifier", {
6716 visitor: ["exported"],
6717 aliases: ["ModuleSpecifier"],
6718 fields: {
6719 exported: {
6720 validate: assertNodeType("Identifier")
6721 }
6722 }
6723 });
6724 defineType("OptionalMemberExpression", {
6725 builder: ["object", "property", "computed", "optional"],
6726 visitor: ["object", "property"],
6727 aliases: ["Expression"],
6728 fields: {
6729 object: {
6730 validate: assertNodeType("Expression")
6731 },
6732 property: {
6733 validate: function () {
6734 var normal = assertNodeType("Identifier");
6735 var computed = assertNodeType("Expression");
6736
6737 var validator = function validator(node, key, val) {
6738 var validator = node.computed ? computed : normal;
6739 validator(node, key, val);
6740 };
6741
6742 validator.oneOfNodeTypes = ["Expression", "Identifier"];
6743 return validator;
6744 }()
6745 },
6746 computed: {
6747 "default": false
6748 },
6749 optional: {
6750 validate: !browser$6.env.BABEL_TYPES_8_BREAKING ? assertValueType("boolean") : chain$1(assertValueType("boolean"), assertOptionalChainStart())
6751 }
6752 }
6753 });
6754 defineType("OptionalCallExpression", {
6755 visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
6756 builder: ["callee", "arguments", "optional"],
6757 aliases: ["Expression"],
6758 fields: {
6759 callee: {
6760 validate: assertNodeType("Expression")
6761 },
6762 arguments: {
6763 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder")))
6764 },
6765 optional: {
6766 validate: !browser$6.env.BABEL_TYPES_8_BREAKING ? assertValueType("boolean") : chain$1(assertValueType("boolean"), assertOptionalChainStart())
6767 },
6768 typeArguments: {
6769 validate: assertNodeType("TypeParameterInstantiation"),
6770 optional: true
6771 },
6772 typeParameters: {
6773 validate: assertNodeType("TSTypeParameterInstantiation"),
6774 optional: true
6775 }
6776 }
6777 });
6778 defineType("ClassProperty", {
6779 visitor: ["key", "value", "typeAnnotation", "decorators"],
6780 builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
6781 aliases: ["Property"],
6782 fields: Object.assign({}, classMethodOrPropertyCommon, {
6783 value: {
6784 validate: assertNodeType("Expression"),
6785 optional: true
6786 },
6787 definite: {
6788 validate: assertValueType("boolean"),
6789 optional: true
6790 },
6791 typeAnnotation: {
6792 validate: assertNodeType("TypeAnnotation", "TSTypeAnnotation", "Noop"),
6793 optional: true
6794 },
6795 decorators: {
6796 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
6797 optional: true
6798 },
6799 readonly: {
6800 validate: assertValueType("boolean"),
6801 optional: true
6802 },
6803 declare: {
6804 validate: assertValueType("boolean"),
6805 optional: true
6806 }
6807 })
6808 });
6809 defineType("ClassPrivateProperty", {
6810 visitor: ["key", "value", "decorators", "typeAnnotation"],
6811 builder: ["key", "value", "decorators", "static"],
6812 aliases: ["Property", "Private"],
6813 fields: {
6814 key: {
6815 validate: assertNodeType("PrivateName")
6816 },
6817 value: {
6818 validate: assertNodeType("Expression"),
6819 optional: true
6820 },
6821 typeAnnotation: {
6822 validate: assertNodeType("TypeAnnotation", "TSTypeAnnotation", "Noop"),
6823 optional: true
6824 },
6825 decorators: {
6826 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
6827 optional: true
6828 }
6829 }
6830 });
6831 defineType("ClassPrivateMethod", {
6832 builder: ["kind", "key", "params", "body", "static"],
6833 visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
6834 aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"],
6835 fields: Object.assign({}, classMethodOrDeclareMethodCommon, functionTypeAnnotationCommon, {
6836 key: {
6837 validate: assertNodeType("PrivateName")
6838 },
6839 body: {
6840 validate: assertNodeType("BlockStatement")
6841 }
6842 })
6843 });
6844 defineType("PrivateName", {
6845 visitor: ["id"],
6846 aliases: ["Private"],
6847 fields: {
6848 id: {
6849 validate: assertNodeType("Identifier")
6850 }
6851 }
6852 });
6853
6854 var defineInterfaceishType = function defineInterfaceishType(name, typeParameterType) {
6855 if (typeParameterType === void 0) {
6856 typeParameterType = "TypeParameterDeclaration";
6857 }
6858
6859 defineType(name, {
6860 builder: ["id", "typeParameters", "extends", "body"],
6861 visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"],
6862 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
6863 fields: {
6864 id: validateType("Identifier"),
6865 typeParameters: validateOptionalType(typeParameterType),
6866 "extends": validateOptional(arrayOfType("InterfaceExtends")),
6867 mixins: validateOptional(arrayOfType("InterfaceExtends")),
6868 "implements": validateOptional(arrayOfType("ClassImplements")),
6869 body: validateType("ObjectTypeAnnotation")
6870 }
6871 });
6872 };
6873
6874 defineType("AnyTypeAnnotation", {
6875 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
6876 });
6877 defineType("ArrayTypeAnnotation", {
6878 visitor: ["elementType"],
6879 aliases: ["Flow", "FlowType"],
6880 fields: {
6881 elementType: validateType("FlowType")
6882 }
6883 });
6884 defineType("BooleanTypeAnnotation", {
6885 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
6886 });
6887 defineType("BooleanLiteralTypeAnnotation", {
6888 builder: ["value"],
6889 aliases: ["Flow", "FlowType"],
6890 fields: {
6891 value: validate$2(assertValueType("boolean"))
6892 }
6893 });
6894 defineType("NullLiteralTypeAnnotation", {
6895 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
6896 });
6897 defineType("ClassImplements", {
6898 visitor: ["id", "typeParameters"],
6899 aliases: ["Flow"],
6900 fields: {
6901 id: validateType("Identifier"),
6902 typeParameters: validateOptionalType("TypeParameterInstantiation")
6903 }
6904 });
6905 defineInterfaceishType("DeclareClass");
6906 defineType("DeclareFunction", {
6907 visitor: ["id"],
6908 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
6909 fields: {
6910 id: validateType("Identifier"),
6911 predicate: validateOptionalType("DeclaredPredicate")
6912 }
6913 });
6914 defineInterfaceishType("DeclareInterface");
6915 defineType("DeclareModule", {
6916 builder: ["id", "body", "kind"],
6917 visitor: ["id", "body"],
6918 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
6919 fields: {
6920 id: validateType(["Identifier", "StringLiteral"]),
6921 body: validateType("BlockStatement"),
6922 kind: validateOptional(assertOneOf("CommonJS", "ES"))
6923 }
6924 });
6925 defineType("DeclareModuleExports", {
6926 visitor: ["typeAnnotation"],
6927 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
6928 fields: {
6929 typeAnnotation: validateType("TypeAnnotation")
6930 }
6931 });
6932 defineType("DeclareTypeAlias", {
6933 visitor: ["id", "typeParameters", "right"],
6934 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
6935 fields: {
6936 id: validateType("Identifier"),
6937 typeParameters: validateOptionalType("TypeParameterDeclaration"),
6938 right: validateType("FlowType")
6939 }
6940 });
6941 defineType("DeclareOpaqueType", {
6942 visitor: ["id", "typeParameters", "supertype"],
6943 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
6944 fields: {
6945 id: validateType("Identifier"),
6946 typeParameters: validateOptionalType("TypeParameterDeclaration"),
6947 supertype: validateOptionalType("FlowType")
6948 }
6949 });
6950 defineType("DeclareVariable", {
6951 visitor: ["id"],
6952 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
6953 fields: {
6954 id: validateType("Identifier")
6955 }
6956 });
6957 defineType("DeclareExportDeclaration", {
6958 visitor: ["declaration", "specifiers", "source"],
6959 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
6960 fields: {
6961 declaration: validateOptionalType("Flow"),
6962 specifiers: validateOptional(arrayOfType(["ExportSpecifier", "ExportNamespaceSpecifier"])),
6963 source: validateOptionalType("StringLiteral"),
6964 "default": validateOptional(assertValueType("boolean"))
6965 }
6966 });
6967 defineType("DeclareExportAllDeclaration", {
6968 visitor: ["source"],
6969 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
6970 fields: {
6971 source: validateType("StringLiteral"),
6972 exportKind: validateOptional(assertOneOf("type", "value"))
6973 }
6974 });
6975 defineType("DeclaredPredicate", {
6976 visitor: ["value"],
6977 aliases: ["Flow", "FlowPredicate"],
6978 fields: {
6979 value: validateType("Flow")
6980 }
6981 });
6982 defineType("ExistsTypeAnnotation", {
6983 aliases: ["Flow", "FlowType"]
6984 });
6985 defineType("FunctionTypeAnnotation", {
6986 visitor: ["typeParameters", "params", "rest", "returnType"],
6987 aliases: ["Flow", "FlowType"],
6988 fields: {
6989 typeParameters: validateOptionalType("TypeParameterDeclaration"),
6990 params: validate$2(arrayOfType("FunctionTypeParam")),
6991 rest: validateOptionalType("FunctionTypeParam"),
6992 "this": validateOptionalType("FunctionTypeParam"),
6993 returnType: validateType("FlowType")
6994 }
6995 });
6996 defineType("FunctionTypeParam", {
6997 visitor: ["name", "typeAnnotation"],
6998 aliases: ["Flow"],
6999 fields: {
7000 name: validateOptionalType("Identifier"),
7001 typeAnnotation: validateType("FlowType"),
7002 optional: validateOptional(assertValueType("boolean"))
7003 }
7004 });
7005 defineType("GenericTypeAnnotation", {
7006 visitor: ["id", "typeParameters"],
7007 aliases: ["Flow", "FlowType"],
7008 fields: {
7009 id: validateType(["Identifier", "QualifiedTypeIdentifier"]),
7010 typeParameters: validateOptionalType("TypeParameterInstantiation")
7011 }
7012 });
7013 defineType("InferredPredicate", {
7014 aliases: ["Flow", "FlowPredicate"]
7015 });
7016 defineType("InterfaceExtends", {
7017 visitor: ["id", "typeParameters"],
7018 aliases: ["Flow"],
7019 fields: {
7020 id: validateType(["Identifier", "QualifiedTypeIdentifier"]),
7021 typeParameters: validateOptionalType("TypeParameterInstantiation")
7022 }
7023 });
7024 defineInterfaceishType("InterfaceDeclaration");
7025 defineType("InterfaceTypeAnnotation", {
7026 visitor: ["extends", "body"],
7027 aliases: ["Flow", "FlowType"],
7028 fields: {
7029 "extends": validateOptional(arrayOfType("InterfaceExtends")),
7030 body: validateType("ObjectTypeAnnotation")
7031 }
7032 });
7033 defineType("IntersectionTypeAnnotation", {
7034 visitor: ["types"],
7035 aliases: ["Flow", "FlowType"],
7036 fields: {
7037 types: validate$2(arrayOfType("FlowType"))
7038 }
7039 });
7040 defineType("MixedTypeAnnotation", {
7041 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
7042 });
7043 defineType("EmptyTypeAnnotation", {
7044 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
7045 });
7046 defineType("NullableTypeAnnotation", {
7047 visitor: ["typeAnnotation"],
7048 aliases: ["Flow", "FlowType"],
7049 fields: {
7050 typeAnnotation: validateType("FlowType")
7051 }
7052 });
7053 defineType("NumberLiteralTypeAnnotation", {
7054 builder: ["value"],
7055 aliases: ["Flow", "FlowType"],
7056 fields: {
7057 value: validate$2(assertValueType("number"))
7058 }
7059 });
7060 defineType("NumberTypeAnnotation", {
7061 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
7062 });
7063 defineType("ObjectTypeAnnotation", {
7064 visitor: ["properties", "indexers", "callProperties", "internalSlots"],
7065 aliases: ["Flow", "FlowType"],
7066 builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"],
7067 fields: {
7068 properties: validate$2(arrayOfType(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])),
7069 indexers: validateOptional(arrayOfType("ObjectTypeIndexer")),
7070 callProperties: validateOptional(arrayOfType("ObjectTypeCallProperty")),
7071 internalSlots: validateOptional(arrayOfType("ObjectTypeInternalSlot")),
7072 exact: {
7073 validate: assertValueType("boolean"),
7074 "default": false
7075 },
7076 inexact: validateOptional(assertValueType("boolean"))
7077 }
7078 });
7079 defineType("ObjectTypeInternalSlot", {
7080 visitor: ["id", "value", "optional", "static", "method"],
7081 aliases: ["Flow", "UserWhitespacable"],
7082 fields: {
7083 id: validateType("Identifier"),
7084 value: validateType("FlowType"),
7085 optional: validate$2(assertValueType("boolean")),
7086 "static": validate$2(assertValueType("boolean")),
7087 method: validate$2(assertValueType("boolean"))
7088 }
7089 });
7090 defineType("ObjectTypeCallProperty", {
7091 visitor: ["value"],
7092 aliases: ["Flow", "UserWhitespacable"],
7093 fields: {
7094 value: validateType("FlowType"),
7095 "static": validate$2(assertValueType("boolean"))
7096 }
7097 });
7098 defineType("ObjectTypeIndexer", {
7099 visitor: ["id", "key", "value", "variance"],
7100 aliases: ["Flow", "UserWhitespacable"],
7101 fields: {
7102 id: validateOptionalType("Identifier"),
7103 key: validateType("FlowType"),
7104 value: validateType("FlowType"),
7105 "static": validate$2(assertValueType("boolean")),
7106 variance: validateOptionalType("Variance")
7107 }
7108 });
7109 defineType("ObjectTypeProperty", {
7110 visitor: ["key", "value", "variance"],
7111 aliases: ["Flow", "UserWhitespacable"],
7112 fields: {
7113 key: validateType(["Identifier", "StringLiteral"]),
7114 value: validateType("FlowType"),
7115 kind: validate$2(assertOneOf("init", "get", "set")),
7116 "static": validate$2(assertValueType("boolean")),
7117 proto: validate$2(assertValueType("boolean")),
7118 optional: validate$2(assertValueType("boolean")),
7119 variance: validateOptionalType("Variance"),
7120 method: validate$2(assertValueType("boolean"))
7121 }
7122 });
7123 defineType("ObjectTypeSpreadProperty", {
7124 visitor: ["argument"],
7125 aliases: ["Flow", "UserWhitespacable"],
7126 fields: {
7127 argument: validateType("FlowType")
7128 }
7129 });
7130 defineType("OpaqueType", {
7131 visitor: ["id", "typeParameters", "supertype", "impltype"],
7132 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
7133 fields: {
7134 id: validateType("Identifier"),
7135 typeParameters: validateOptionalType("TypeParameterDeclaration"),
7136 supertype: validateOptionalType("FlowType"),
7137 impltype: validateType("FlowType")
7138 }
7139 });
7140 defineType("QualifiedTypeIdentifier", {
7141 visitor: ["id", "qualification"],
7142 aliases: ["Flow"],
7143 fields: {
7144 id: validateType("Identifier"),
7145 qualification: validateType(["Identifier", "QualifiedTypeIdentifier"])
7146 }
7147 });
7148 defineType("StringLiteralTypeAnnotation", {
7149 builder: ["value"],
7150 aliases: ["Flow", "FlowType"],
7151 fields: {
7152 value: validate$2(assertValueType("string"))
7153 }
7154 });
7155 defineType("StringTypeAnnotation", {
7156 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
7157 });
7158 defineType("SymbolTypeAnnotation", {
7159 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
7160 });
7161 defineType("ThisTypeAnnotation", {
7162 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
7163 });
7164 defineType("TupleTypeAnnotation", {
7165 visitor: ["types"],
7166 aliases: ["Flow", "FlowType"],
7167 fields: {
7168 types: validate$2(arrayOfType("FlowType"))
7169 }
7170 });
7171 defineType("TypeofTypeAnnotation", {
7172 visitor: ["argument"],
7173 aliases: ["Flow", "FlowType"],
7174 fields: {
7175 argument: validateType("FlowType")
7176 }
7177 });
7178 defineType("TypeAlias", {
7179 visitor: ["id", "typeParameters", "right"],
7180 aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
7181 fields: {
7182 id: validateType("Identifier"),
7183 typeParameters: validateOptionalType("TypeParameterDeclaration"),
7184 right: validateType("FlowType")
7185 }
7186 });
7187 defineType("TypeAnnotation", {
7188 aliases: ["Flow"],
7189 visitor: ["typeAnnotation"],
7190 fields: {
7191 typeAnnotation: validateType("FlowType")
7192 }
7193 });
7194 defineType("TypeCastExpression", {
7195 visitor: ["expression", "typeAnnotation"],
7196 aliases: ["Flow", "ExpressionWrapper", "Expression"],
7197 fields: {
7198 expression: validateType("Expression"),
7199 typeAnnotation: validateType("TypeAnnotation")
7200 }
7201 });
7202 defineType("TypeParameter", {
7203 aliases: ["Flow"],
7204 visitor: ["bound", "default", "variance"],
7205 fields: {
7206 name: validate$2(assertValueType("string")),
7207 bound: validateOptionalType("TypeAnnotation"),
7208 "default": validateOptionalType("FlowType"),
7209 variance: validateOptionalType("Variance")
7210 }
7211 });
7212 defineType("TypeParameterDeclaration", {
7213 aliases: ["Flow"],
7214 visitor: ["params"],
7215 fields: {
7216 params: validate$2(arrayOfType("TypeParameter"))
7217 }
7218 });
7219 defineType("TypeParameterInstantiation", {
7220 aliases: ["Flow"],
7221 visitor: ["params"],
7222 fields: {
7223 params: validate$2(arrayOfType("FlowType"))
7224 }
7225 });
7226 defineType("UnionTypeAnnotation", {
7227 visitor: ["types"],
7228 aliases: ["Flow", "FlowType"],
7229 fields: {
7230 types: validate$2(arrayOfType("FlowType"))
7231 }
7232 });
7233 defineType("Variance", {
7234 aliases: ["Flow"],
7235 builder: ["kind"],
7236 fields: {
7237 kind: validate$2(assertOneOf("minus", "plus"))
7238 }
7239 });
7240 defineType("VoidTypeAnnotation", {
7241 aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
7242 });
7243 defineType("EnumDeclaration", {
7244 aliases: ["Statement", "Declaration"],
7245 visitor: ["id", "body"],
7246 fields: {
7247 id: validateType("Identifier"),
7248 body: validateType(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"])
7249 }
7250 });
7251 defineType("EnumBooleanBody", {
7252 aliases: ["EnumBody"],
7253 visitor: ["members"],
7254 fields: {
7255 explicitType: validate$2(assertValueType("boolean")),
7256 members: validateArrayOfType("EnumBooleanMember"),
7257 hasUnknownMembers: validate$2(assertValueType("boolean"))
7258 }
7259 });
7260 defineType("EnumNumberBody", {
7261 aliases: ["EnumBody"],
7262 visitor: ["members"],
7263 fields: {
7264 explicitType: validate$2(assertValueType("boolean")),
7265 members: validateArrayOfType("EnumNumberMember"),
7266 hasUnknownMembers: validate$2(assertValueType("boolean"))
7267 }
7268 });
7269 defineType("EnumStringBody", {
7270 aliases: ["EnumBody"],
7271 visitor: ["members"],
7272 fields: {
7273 explicitType: validate$2(assertValueType("boolean")),
7274 members: validateArrayOfType(["EnumStringMember", "EnumDefaultedMember"]),
7275 hasUnknownMembers: validate$2(assertValueType("boolean"))
7276 }
7277 });
7278 defineType("EnumSymbolBody", {
7279 aliases: ["EnumBody"],
7280 visitor: ["members"],
7281 fields: {
7282 members: validateArrayOfType("EnumDefaultedMember"),
7283 hasUnknownMembers: validate$2(assertValueType("boolean"))
7284 }
7285 });
7286 defineType("EnumBooleanMember", {
7287 aliases: ["EnumMember"],
7288 visitor: ["id"],
7289 fields: {
7290 id: validateType("Identifier"),
7291 init: validateType("BooleanLiteral")
7292 }
7293 });
7294 defineType("EnumNumberMember", {
7295 aliases: ["EnumMember"],
7296 visitor: ["id", "init"],
7297 fields: {
7298 id: validateType("Identifier"),
7299 init: validateType("NumericLiteral")
7300 }
7301 });
7302 defineType("EnumStringMember", {
7303 aliases: ["EnumMember"],
7304 visitor: ["id", "init"],
7305 fields: {
7306 id: validateType("Identifier"),
7307 init: validateType("StringLiteral")
7308 }
7309 });
7310 defineType("EnumDefaultedMember", {
7311 aliases: ["EnumMember"],
7312 visitor: ["id"],
7313 fields: {
7314 id: validateType("Identifier")
7315 }
7316 });
7317 defineType("IndexedAccessType", {
7318 visitor: ["objectType", "indexType"],
7319 aliases: ["Flow", "FlowType"],
7320 fields: {
7321 objectType: validateType("FlowType"),
7322 indexType: validateType("FlowType")
7323 }
7324 });
7325 defineType("OptionalIndexedAccessType", {
7326 visitor: ["objectType", "indexType"],
7327 aliases: ["Flow", "FlowType"],
7328 fields: {
7329 objectType: validateType("FlowType"),
7330 indexType: validateType("FlowType"),
7331 optional: validate$2(assertValueType("boolean"))
7332 }
7333 });
7334
7335 defineType("JSXAttribute", {
7336 visitor: ["name", "value"],
7337 aliases: ["JSX", "Immutable"],
7338 fields: {
7339 name: {
7340 validate: assertNodeType("JSXIdentifier", "JSXNamespacedName")
7341 },
7342 value: {
7343 optional: true,
7344 validate: assertNodeType("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer")
7345 }
7346 }
7347 });
7348 defineType("JSXClosingElement", {
7349 visitor: ["name"],
7350 aliases: ["JSX", "Immutable"],
7351 fields: {
7352 name: {
7353 validate: assertNodeType("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
7354 }
7355 }
7356 });
7357 defineType("JSXElement", {
7358 builder: ["openingElement", "closingElement", "children", "selfClosing"],
7359 visitor: ["openingElement", "children", "closingElement"],
7360 aliases: ["JSX", "Immutable", "Expression"],
7361 fields: {
7362 openingElement: {
7363 validate: assertNodeType("JSXOpeningElement")
7364 },
7365 closingElement: {
7366 optional: true,
7367 validate: assertNodeType("JSXClosingElement")
7368 },
7369 children: {
7370 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")))
7371 },
7372 selfClosing: {
7373 validate: assertValueType("boolean"),
7374 optional: true
7375 }
7376 }
7377 });
7378 defineType("JSXEmptyExpression", {
7379 aliases: ["JSX"]
7380 });
7381 defineType("JSXExpressionContainer", {
7382 visitor: ["expression"],
7383 aliases: ["JSX", "Immutable"],
7384 fields: {
7385 expression: {
7386 validate: assertNodeType("Expression", "JSXEmptyExpression")
7387 }
7388 }
7389 });
7390 defineType("JSXSpreadChild", {
7391 visitor: ["expression"],
7392 aliases: ["JSX", "Immutable"],
7393 fields: {
7394 expression: {
7395 validate: assertNodeType("Expression")
7396 }
7397 }
7398 });
7399 defineType("JSXIdentifier", {
7400 builder: ["name"],
7401 aliases: ["JSX"],
7402 fields: {
7403 name: {
7404 validate: assertValueType("string")
7405 }
7406 }
7407 });
7408 defineType("JSXMemberExpression", {
7409 visitor: ["object", "property"],
7410 aliases: ["JSX"],
7411 fields: {
7412 object: {
7413 validate: assertNodeType("JSXMemberExpression", "JSXIdentifier")
7414 },
7415 property: {
7416 validate: assertNodeType("JSXIdentifier")
7417 }
7418 }
7419 });
7420 defineType("JSXNamespacedName", {
7421 visitor: ["namespace", "name"],
7422 aliases: ["JSX"],
7423 fields: {
7424 namespace: {
7425 validate: assertNodeType("JSXIdentifier")
7426 },
7427 name: {
7428 validate: assertNodeType("JSXIdentifier")
7429 }
7430 }
7431 });
7432 defineType("JSXOpeningElement", {
7433 builder: ["name", "attributes", "selfClosing"],
7434 visitor: ["name", "attributes"],
7435 aliases: ["JSX", "Immutable"],
7436 fields: {
7437 name: {
7438 validate: assertNodeType("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
7439 },
7440 selfClosing: {
7441 "default": false
7442 },
7443 attributes: {
7444 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("JSXAttribute", "JSXSpreadAttribute")))
7445 },
7446 typeParameters: {
7447 validate: assertNodeType("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
7448 optional: true
7449 }
7450 }
7451 });
7452 defineType("JSXSpreadAttribute", {
7453 visitor: ["argument"],
7454 aliases: ["JSX"],
7455 fields: {
7456 argument: {
7457 validate: assertNodeType("Expression")
7458 }
7459 }
7460 });
7461 defineType("JSXText", {
7462 aliases: ["JSX", "Immutable"],
7463 builder: ["value"],
7464 fields: {
7465 value: {
7466 validate: assertValueType("string")
7467 }
7468 }
7469 });
7470 defineType("JSXFragment", {
7471 builder: ["openingFragment", "closingFragment", "children"],
7472 visitor: ["openingFragment", "children", "closingFragment"],
7473 aliases: ["JSX", "Immutable", "Expression"],
7474 fields: {
7475 openingFragment: {
7476 validate: assertNodeType("JSXOpeningFragment")
7477 },
7478 closingFragment: {
7479 validate: assertNodeType("JSXClosingFragment")
7480 },
7481 children: {
7482 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")))
7483 }
7484 }
7485 });
7486 defineType("JSXOpeningFragment", {
7487 aliases: ["JSX", "Immutable"]
7488 });
7489 defineType("JSXClosingFragment", {
7490 aliases: ["JSX", "Immutable"]
7491 });
7492
7493 var PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"];
7494 var PLACEHOLDERS_ALIAS = {
7495 Declaration: ["Statement"],
7496 Pattern: ["PatternLike", "LVal"]
7497 };
7498
7499 for (var _i$3 = 0, _PLACEHOLDERS = PLACEHOLDERS; _i$3 < _PLACEHOLDERS.length; _i$3++) {
7500 var type$2 = _PLACEHOLDERS[_i$3];
7501 var alias = ALIAS_KEYS[type$2];
7502 if (alias != null && alias.length) PLACEHOLDERS_ALIAS[type$2] = alias;
7503 }
7504
7505 var PLACEHOLDERS_FLIPPED_ALIAS = {};
7506 Object.keys(PLACEHOLDERS_ALIAS).forEach(function (type) {
7507 PLACEHOLDERS_ALIAS[type].forEach(function (alias) {
7508 if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) {
7509 PLACEHOLDERS_FLIPPED_ALIAS[alias] = [];
7510 }
7511
7512 PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type);
7513 });
7514 });
7515
7516 {
7517 defineType("Noop", {
7518 visitor: []
7519 });
7520 }
7521 defineType("Placeholder", {
7522 visitor: [],
7523 builder: ["expectedNode", "name"],
7524 fields: {
7525 name: {
7526 validate: assertNodeType("Identifier")
7527 },
7528 expectedNode: {
7529 validate: assertOneOf.apply(void 0, _toConsumableArray(PLACEHOLDERS))
7530 }
7531 }
7532 });
7533 defineType("V8IntrinsicIdentifier", {
7534 builder: ["name"],
7535 fields: {
7536 name: {
7537 validate: assertValueType("string")
7538 }
7539 }
7540 });
7541
7542 defineType("ArgumentPlaceholder", {});
7543 defineType("BindExpression", {
7544 visitor: ["object", "callee"],
7545 aliases: ["Expression"],
7546 fields: !browser$6.env.BABEL_TYPES_8_BREAKING ? {
7547 object: {
7548 validate: Object.assign(function () {}, {
7549 oneOfNodeTypes: ["Expression"]
7550 })
7551 },
7552 callee: {
7553 validate: Object.assign(function () {}, {
7554 oneOfNodeTypes: ["Expression"]
7555 })
7556 }
7557 } : {
7558 object: {
7559 validate: assertNodeType("Expression")
7560 },
7561 callee: {
7562 validate: assertNodeType("Expression")
7563 }
7564 }
7565 });
7566 defineType("PipelineTopicExpression", {
7567 builder: ["expression"],
7568 visitor: ["expression"],
7569 fields: {
7570 expression: {
7571 validate: assertNodeType("Expression")
7572 }
7573 }
7574 });
7575 defineType("PipelineBareFunction", {
7576 builder: ["callee"],
7577 visitor: ["callee"],
7578 fields: {
7579 callee: {
7580 validate: assertNodeType("Expression")
7581 }
7582 }
7583 });
7584 defineType("PipelinePrimaryTopicReference", {
7585 aliases: ["Expression"]
7586 });
7587 defineType("ImportAttribute", {
7588 visitor: ["key", "value"],
7589 fields: {
7590 key: {
7591 validate: assertNodeType("Identifier", "StringLiteral")
7592 },
7593 value: {
7594 validate: assertNodeType("StringLiteral")
7595 }
7596 }
7597 });
7598 defineType("Decorator", {
7599 visitor: ["expression"],
7600 fields: {
7601 expression: {
7602 validate: assertNodeType("Expression")
7603 }
7604 }
7605 });
7606 defineType("DoExpression", {
7607 visitor: ["body"],
7608 builder: ["body", "async"],
7609 aliases: ["Expression"],
7610 fields: {
7611 body: {
7612 validate: assertNodeType("BlockStatement")
7613 },
7614 async: {
7615 validate: assertValueType("boolean"),
7616 "default": false
7617 }
7618 }
7619 });
7620 defineType("ExportDefaultSpecifier", {
7621 visitor: ["exported"],
7622 aliases: ["ModuleSpecifier"],
7623 fields: {
7624 exported: {
7625 validate: assertNodeType("Identifier")
7626 }
7627 }
7628 });
7629 defineType("RecordExpression", {
7630 visitor: ["properties"],
7631 aliases: ["Expression"],
7632 fields: {
7633 properties: {
7634 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ObjectProperty", "SpreadElement")))
7635 }
7636 }
7637 });
7638 defineType("TupleExpression", {
7639 fields: {
7640 elements: {
7641 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression", "SpreadElement"))),
7642 "default": []
7643 }
7644 },
7645 visitor: ["elements"],
7646 aliases: ["Expression"]
7647 });
7648 defineType("DecimalLiteral", {
7649 builder: ["value"],
7650 fields: {
7651 value: {
7652 validate: assertValueType("string")
7653 }
7654 },
7655 aliases: ["Expression", "Pureish", "Literal", "Immutable"]
7656 });
7657 defineType("StaticBlock", {
7658 visitor: ["body"],
7659 fields: {
7660 body: {
7661 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Statement")))
7662 }
7663 },
7664 aliases: ["Scopable", "BlockParent"]
7665 });
7666 defineType("ModuleExpression", {
7667 visitor: ["body"],
7668 fields: {
7669 body: {
7670 validate: assertNodeType("Program")
7671 }
7672 },
7673 aliases: ["Expression"]
7674 });
7675
7676 var bool = assertValueType("boolean");
7677 var tSFunctionTypeAnnotationCommon = {
7678 returnType: {
7679 validate: assertNodeType("TSTypeAnnotation", "Noop"),
7680 optional: true
7681 },
7682 typeParameters: {
7683 validate: assertNodeType("TSTypeParameterDeclaration", "Noop"),
7684 optional: true
7685 }
7686 };
7687 defineType("TSParameterProperty", {
7688 aliases: ["LVal"],
7689 visitor: ["parameter"],
7690 fields: {
7691 accessibility: {
7692 validate: assertOneOf("public", "private", "protected"),
7693 optional: true
7694 },
7695 readonly: {
7696 validate: assertValueType("boolean"),
7697 optional: true
7698 },
7699 parameter: {
7700 validate: assertNodeType("Identifier", "AssignmentPattern")
7701 }
7702 }
7703 });
7704 defineType("TSDeclareFunction", {
7705 aliases: ["Statement", "Declaration"],
7706 visitor: ["id", "typeParameters", "params", "returnType"],
7707 fields: Object.assign({}, functionDeclarationCommon, tSFunctionTypeAnnotationCommon)
7708 });
7709 defineType("TSDeclareMethod", {
7710 visitor: ["decorators", "key", "typeParameters", "params", "returnType"],
7711 fields: Object.assign({}, classMethodOrDeclareMethodCommon, tSFunctionTypeAnnotationCommon)
7712 });
7713 defineType("TSQualifiedName", {
7714 aliases: ["TSEntityName"],
7715 visitor: ["left", "right"],
7716 fields: {
7717 left: validateType("TSEntityName"),
7718 right: validateType("Identifier")
7719 }
7720 });
7721 var signatureDeclarationCommon = {
7722 typeParameters: validateOptionalType("TSTypeParameterDeclaration"),
7723 parameters: validateArrayOfType(["Identifier", "RestElement"]),
7724 typeAnnotation: validateOptionalType("TSTypeAnnotation")
7725 };
7726 var callConstructSignatureDeclaration = {
7727 aliases: ["TSTypeElement"],
7728 visitor: ["typeParameters", "parameters", "typeAnnotation"],
7729 fields: signatureDeclarationCommon
7730 };
7731 defineType("TSCallSignatureDeclaration", callConstructSignatureDeclaration);
7732 defineType("TSConstructSignatureDeclaration", callConstructSignatureDeclaration);
7733 var namedTypeElementCommon = {
7734 key: validateType("Expression"),
7735 computed: validate$2(bool),
7736 optional: validateOptional(bool)
7737 };
7738 defineType("TSPropertySignature", {
7739 aliases: ["TSTypeElement"],
7740 visitor: ["key", "typeAnnotation", "initializer"],
7741 fields: Object.assign({}, namedTypeElementCommon, {
7742 readonly: validateOptional(bool),
7743 typeAnnotation: validateOptionalType("TSTypeAnnotation"),
7744 initializer: validateOptionalType("Expression")
7745 })
7746 });
7747 defineType("TSMethodSignature", {
7748 aliases: ["TSTypeElement"],
7749 visitor: ["key", "typeParameters", "parameters", "typeAnnotation"],
7750 fields: Object.assign({}, signatureDeclarationCommon, namedTypeElementCommon, {
7751 kind: {
7752 validate: assertOneOf("method", "get", "set")
7753 }
7754 })
7755 });
7756 defineType("TSIndexSignature", {
7757 aliases: ["TSTypeElement"],
7758 visitor: ["parameters", "typeAnnotation"],
7759 fields: {
7760 readonly: validateOptional(bool),
7761 "static": validateOptional(bool),
7762 parameters: validateArrayOfType("Identifier"),
7763 typeAnnotation: validateOptionalType("TSTypeAnnotation")
7764 }
7765 });
7766 var tsKeywordTypes = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"];
7767
7768 for (var _i$2 = 0, _tsKeywordTypes = tsKeywordTypes; _i$2 < _tsKeywordTypes.length; _i$2++) {
7769 var type$1 = _tsKeywordTypes[_i$2];
7770 defineType(type$1, {
7771 aliases: ["TSType", "TSBaseType"],
7772 visitor: [],
7773 fields: {}
7774 });
7775 }
7776
7777 defineType("TSThisType", {
7778 aliases: ["TSType", "TSBaseType"],
7779 visitor: [],
7780 fields: {}
7781 });
7782 var fnOrCtrBase = {
7783 aliases: ["TSType"],
7784 visitor: ["typeParameters", "parameters", "typeAnnotation"]
7785 };
7786 defineType("TSFunctionType", Object.assign({}, fnOrCtrBase, {
7787 fields: signatureDeclarationCommon
7788 }));
7789 defineType("TSConstructorType", Object.assign({}, fnOrCtrBase, {
7790 fields: Object.assign({}, signatureDeclarationCommon, {
7791 "abstract": validateOptional(bool)
7792 })
7793 }));
7794 defineType("TSTypeReference", {
7795 aliases: ["TSType"],
7796 visitor: ["typeName", "typeParameters"],
7797 fields: {
7798 typeName: validateType("TSEntityName"),
7799 typeParameters: validateOptionalType("TSTypeParameterInstantiation")
7800 }
7801 });
7802 defineType("TSTypePredicate", {
7803 aliases: ["TSType"],
7804 visitor: ["parameterName", "typeAnnotation"],
7805 builder: ["parameterName", "typeAnnotation", "asserts"],
7806 fields: {
7807 parameterName: validateType(["Identifier", "TSThisType"]),
7808 typeAnnotation: validateOptionalType("TSTypeAnnotation"),
7809 asserts: validateOptional(bool)
7810 }
7811 });
7812 defineType("TSTypeQuery", {
7813 aliases: ["TSType"],
7814 visitor: ["exprName"],
7815 fields: {
7816 exprName: validateType(["TSEntityName", "TSImportType"])
7817 }
7818 });
7819 defineType("TSTypeLiteral", {
7820 aliases: ["TSType"],
7821 visitor: ["members"],
7822 fields: {
7823 members: validateArrayOfType("TSTypeElement")
7824 }
7825 });
7826 defineType("TSArrayType", {
7827 aliases: ["TSType"],
7828 visitor: ["elementType"],
7829 fields: {
7830 elementType: validateType("TSType")
7831 }
7832 });
7833 defineType("TSTupleType", {
7834 aliases: ["TSType"],
7835 visitor: ["elementTypes"],
7836 fields: {
7837 elementTypes: validateArrayOfType(["TSType", "TSNamedTupleMember"])
7838 }
7839 });
7840 defineType("TSOptionalType", {
7841 aliases: ["TSType"],
7842 visitor: ["typeAnnotation"],
7843 fields: {
7844 typeAnnotation: validateType("TSType")
7845 }
7846 });
7847 defineType("TSRestType", {
7848 aliases: ["TSType"],
7849 visitor: ["typeAnnotation"],
7850 fields: {
7851 typeAnnotation: validateType("TSType")
7852 }
7853 });
7854 defineType("TSNamedTupleMember", {
7855 visitor: ["label", "elementType"],
7856 builder: ["label", "elementType", "optional"],
7857 fields: {
7858 label: validateType("Identifier"),
7859 optional: {
7860 validate: bool,
7861 "default": false
7862 },
7863 elementType: validateType("TSType")
7864 }
7865 });
7866 var unionOrIntersection = {
7867 aliases: ["TSType"],
7868 visitor: ["types"],
7869 fields: {
7870 types: validateArrayOfType("TSType")
7871 }
7872 };
7873 defineType("TSUnionType", unionOrIntersection);
7874 defineType("TSIntersectionType", unionOrIntersection);
7875 defineType("TSConditionalType", {
7876 aliases: ["TSType"],
7877 visitor: ["checkType", "extendsType", "trueType", "falseType"],
7878 fields: {
7879 checkType: validateType("TSType"),
7880 extendsType: validateType("TSType"),
7881 trueType: validateType("TSType"),
7882 falseType: validateType("TSType")
7883 }
7884 });
7885 defineType("TSInferType", {
7886 aliases: ["TSType"],
7887 visitor: ["typeParameter"],
7888 fields: {
7889 typeParameter: validateType("TSTypeParameter")
7890 }
7891 });
7892 defineType("TSParenthesizedType", {
7893 aliases: ["TSType"],
7894 visitor: ["typeAnnotation"],
7895 fields: {
7896 typeAnnotation: validateType("TSType")
7897 }
7898 });
7899 defineType("TSTypeOperator", {
7900 aliases: ["TSType"],
7901 visitor: ["typeAnnotation"],
7902 fields: {
7903 operator: validate$2(assertValueType("string")),
7904 typeAnnotation: validateType("TSType")
7905 }
7906 });
7907 defineType("TSIndexedAccessType", {
7908 aliases: ["TSType"],
7909 visitor: ["objectType", "indexType"],
7910 fields: {
7911 objectType: validateType("TSType"),
7912 indexType: validateType("TSType")
7913 }
7914 });
7915 defineType("TSMappedType", {
7916 aliases: ["TSType"],
7917 visitor: ["typeParameter", "typeAnnotation", "nameType"],
7918 fields: {
7919 readonly: validateOptional(bool),
7920 typeParameter: validateType("TSTypeParameter"),
7921 optional: validateOptional(bool),
7922 typeAnnotation: validateOptionalType("TSType"),
7923 nameType: validateOptionalType("TSType")
7924 }
7925 });
7926 defineType("TSLiteralType", {
7927 aliases: ["TSType", "TSBaseType"],
7928 visitor: ["literal"],
7929 fields: {
7930 literal: {
7931 validate: function () {
7932 var unaryExpression = assertNodeType("NumericLiteral", "BigIntLiteral");
7933 var unaryOperator = assertOneOf("-");
7934 var literal = assertNodeType("NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral");
7935
7936 function validator(parent, key, node) {
7937 if (is$1("UnaryExpression", node)) {
7938 unaryOperator(node, "operator", node.operator);
7939 unaryExpression(node, "argument", node.argument);
7940 } else {
7941 literal(parent, key, node);
7942 }
7943 }
7944
7945 validator.oneOfNodeTypes = ["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "UnaryExpression"];
7946 return validator;
7947 }()
7948 }
7949 }
7950 });
7951 defineType("TSExpressionWithTypeArguments", {
7952 aliases: ["TSType"],
7953 visitor: ["expression", "typeParameters"],
7954 fields: {
7955 expression: validateType("TSEntityName"),
7956 typeParameters: validateOptionalType("TSTypeParameterInstantiation")
7957 }
7958 });
7959 defineType("TSInterfaceDeclaration", {
7960 aliases: ["Statement", "Declaration"],
7961 visitor: ["id", "typeParameters", "extends", "body"],
7962 fields: {
7963 declare: validateOptional(bool),
7964 id: validateType("Identifier"),
7965 typeParameters: validateOptionalType("TSTypeParameterDeclaration"),
7966 "extends": validateOptional(arrayOfType("TSExpressionWithTypeArguments")),
7967 body: validateType("TSInterfaceBody")
7968 }
7969 });
7970 defineType("TSInterfaceBody", {
7971 visitor: ["body"],
7972 fields: {
7973 body: validateArrayOfType("TSTypeElement")
7974 }
7975 });
7976 defineType("TSTypeAliasDeclaration", {
7977 aliases: ["Statement", "Declaration"],
7978 visitor: ["id", "typeParameters", "typeAnnotation"],
7979 fields: {
7980 declare: validateOptional(bool),
7981 id: validateType("Identifier"),
7982 typeParameters: validateOptionalType("TSTypeParameterDeclaration"),
7983 typeAnnotation: validateType("TSType")
7984 }
7985 });
7986 defineType("TSAsExpression", {
7987 aliases: ["Expression"],
7988 visitor: ["expression", "typeAnnotation"],
7989 fields: {
7990 expression: validateType("Expression"),
7991 typeAnnotation: validateType("TSType")
7992 }
7993 });
7994 defineType("TSTypeAssertion", {
7995 aliases: ["Expression"],
7996 visitor: ["typeAnnotation", "expression"],
7997 fields: {
7998 typeAnnotation: validateType("TSType"),
7999 expression: validateType("Expression")
8000 }
8001 });
8002 defineType("TSEnumDeclaration", {
8003 aliases: ["Statement", "Declaration"],
8004 visitor: ["id", "members"],
8005 fields: {
8006 declare: validateOptional(bool),
8007 "const": validateOptional(bool),
8008 id: validateType("Identifier"),
8009 members: validateArrayOfType("TSEnumMember"),
8010 initializer: validateOptionalType("Expression")
8011 }
8012 });
8013 defineType("TSEnumMember", {
8014 visitor: ["id", "initializer"],
8015 fields: {
8016 id: validateType(["Identifier", "StringLiteral"]),
8017 initializer: validateOptionalType("Expression")
8018 }
8019 });
8020 defineType("TSModuleDeclaration", {
8021 aliases: ["Statement", "Declaration"],
8022 visitor: ["id", "body"],
8023 fields: {
8024 declare: validateOptional(bool),
8025 global: validateOptional(bool),
8026 id: validateType(["Identifier", "StringLiteral"]),
8027 body: validateType(["TSModuleBlock", "TSModuleDeclaration"])
8028 }
8029 });
8030 defineType("TSModuleBlock", {
8031 aliases: ["Scopable", "Block", "BlockParent"],
8032 visitor: ["body"],
8033 fields: {
8034 body: validateArrayOfType("Statement")
8035 }
8036 });
8037 defineType("TSImportType", {
8038 aliases: ["TSType"],
8039 visitor: ["argument", "qualifier", "typeParameters"],
8040 fields: {
8041 argument: validateType("StringLiteral"),
8042 qualifier: validateOptionalType("TSEntityName"),
8043 typeParameters: validateOptionalType("TSTypeParameterInstantiation")
8044 }
8045 });
8046 defineType("TSImportEqualsDeclaration", {
8047 aliases: ["Statement"],
8048 visitor: ["id", "moduleReference"],
8049 fields: {
8050 isExport: validate$2(bool),
8051 id: validateType("Identifier"),
8052 moduleReference: validateType(["TSEntityName", "TSExternalModuleReference"])
8053 }
8054 });
8055 defineType("TSExternalModuleReference", {
8056 visitor: ["expression"],
8057 fields: {
8058 expression: validateType("StringLiteral")
8059 }
8060 });
8061 defineType("TSNonNullExpression", {
8062 aliases: ["Expression"],
8063 visitor: ["expression"],
8064 fields: {
8065 expression: validateType("Expression")
8066 }
8067 });
8068 defineType("TSExportAssignment", {
8069 aliases: ["Statement"],
8070 visitor: ["expression"],
8071 fields: {
8072 expression: validateType("Expression")
8073 }
8074 });
8075 defineType("TSNamespaceExportDeclaration", {
8076 aliases: ["Statement"],
8077 visitor: ["id"],
8078 fields: {
8079 id: validateType("Identifier")
8080 }
8081 });
8082 defineType("TSTypeAnnotation", {
8083 visitor: ["typeAnnotation"],
8084 fields: {
8085 typeAnnotation: {
8086 validate: assertNodeType("TSType")
8087 }
8088 }
8089 });
8090 defineType("TSTypeParameterInstantiation", {
8091 visitor: ["params"],
8092 fields: {
8093 params: {
8094 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TSType")))
8095 }
8096 }
8097 });
8098 defineType("TSTypeParameterDeclaration", {
8099 visitor: ["params"],
8100 fields: {
8101 params: {
8102 validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TSTypeParameter")))
8103 }
8104 }
8105 });
8106 defineType("TSTypeParameter", {
8107 builder: ["constraint", "default", "name"],
8108 visitor: ["constraint", "default"],
8109 fields: {
8110 name: {
8111 validate: assertValueType("string")
8112 },
8113 constraint: {
8114 validate: assertNodeType("TSType"),
8115 optional: true
8116 },
8117 "default": {
8118 validate: assertNodeType("TSType"),
8119 optional: true
8120 }
8121 }
8122 });
8123
8124 toFastProperties(VISITOR_KEYS);
8125 toFastProperties(ALIAS_KEYS);
8126 toFastProperties(FLIPPED_ALIAS_KEYS);
8127 toFastProperties(NODE_FIELDS);
8128 toFastProperties(BUILDER_KEYS);
8129 toFastProperties(DEPRECATED_KEYS);
8130 toFastProperties(PLACEHOLDERS_ALIAS);
8131 toFastProperties(PLACEHOLDERS_FLIPPED_ALIAS);
8132 var TYPES = Object.keys(VISITOR_KEYS).concat(Object.keys(FLIPPED_ALIAS_KEYS)).concat(Object.keys(DEPRECATED_KEYS));
8133
8134 function builder(type) {
8135 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
8136 args[_key - 1] = arguments[_key];
8137 }
8138
8139 var keys = BUILDER_KEYS[type];
8140 var countArgs = args.length;
8141
8142 if (countArgs > keys.length) {
8143 throw new Error(type + ": Too many arguments passed. Received " + countArgs + " but can receive no more than " + keys.length);
8144 }
8145
8146 var node = {
8147 type: type
8148 };
8149 var i = 0;
8150 keys.forEach(function (key) {
8151 var field = NODE_FIELDS[type][key];
8152 var arg;
8153 if (i < countArgs) arg = args[i];
8154
8155 if (arg === undefined) {
8156 arg = Array.isArray(field["default"]) ? [] : field["default"];
8157 }
8158
8159 node[key] = arg;
8160 i++;
8161 });
8162
8163 for (var _i = 0, _Object$keys = Object.keys(node); _i < _Object$keys.length; _i++) {
8164 var key = _Object$keys[_i];
8165 validate$3(node, key, node[key]);
8166 }
8167
8168 return node;
8169 }
8170
8171 function arrayExpression(elements) {
8172 return builder.apply(void 0, ["ArrayExpression"].concat(Array.prototype.slice.call(arguments)));
8173 }
8174 function assignmentExpression(operator, left, right) {
8175 return builder.apply(void 0, ["AssignmentExpression"].concat(Array.prototype.slice.call(arguments)));
8176 }
8177 function binaryExpression(operator, left, right) {
8178 return builder.apply(void 0, ["BinaryExpression"].concat(Array.prototype.slice.call(arguments)));
8179 }
8180 function interpreterDirective(value) {
8181 return builder.apply(void 0, ["InterpreterDirective"].concat(Array.prototype.slice.call(arguments)));
8182 }
8183 function directive(value) {
8184 return builder.apply(void 0, ["Directive"].concat(Array.prototype.slice.call(arguments)));
8185 }
8186 function directiveLiteral(value) {
8187 return builder.apply(void 0, ["DirectiveLiteral"].concat(Array.prototype.slice.call(arguments)));
8188 }
8189 function blockStatement(body, directives) {
8190 return builder.apply(void 0, ["BlockStatement"].concat(Array.prototype.slice.call(arguments)));
8191 }
8192 function breakStatement(label) {
8193 return builder.apply(void 0, ["BreakStatement"].concat(Array.prototype.slice.call(arguments)));
8194 }
8195 function callExpression(callee, _arguments) {
8196 return builder.apply(void 0, ["CallExpression"].concat(Array.prototype.slice.call(arguments)));
8197 }
8198 function catchClause(param, body) {
8199 return builder.apply(void 0, ["CatchClause"].concat(Array.prototype.slice.call(arguments)));
8200 }
8201 function conditionalExpression(test, consequent, alternate) {
8202 return builder.apply(void 0, ["ConditionalExpression"].concat(Array.prototype.slice.call(arguments)));
8203 }
8204 function continueStatement(label) {
8205 return builder.apply(void 0, ["ContinueStatement"].concat(Array.prototype.slice.call(arguments)));
8206 }
8207 function debuggerStatement() {
8208 return builder.apply(void 0, ["DebuggerStatement"].concat(Array.prototype.slice.call(arguments)));
8209 }
8210 function doWhileStatement(test, body) {
8211 return builder.apply(void 0, ["DoWhileStatement"].concat(Array.prototype.slice.call(arguments)));
8212 }
8213 function emptyStatement() {
8214 return builder.apply(void 0, ["EmptyStatement"].concat(Array.prototype.slice.call(arguments)));
8215 }
8216 function expressionStatement(expression) {
8217 return builder.apply(void 0, ["ExpressionStatement"].concat(Array.prototype.slice.call(arguments)));
8218 }
8219 function file(program, comments, tokens) {
8220 return builder.apply(void 0, ["File"].concat(Array.prototype.slice.call(arguments)));
8221 }
8222 function forInStatement(left, right, body) {
8223 return builder.apply(void 0, ["ForInStatement"].concat(Array.prototype.slice.call(arguments)));
8224 }
8225 function forStatement(init, test, update, body) {
8226 return builder.apply(void 0, ["ForStatement"].concat(Array.prototype.slice.call(arguments)));
8227 }
8228 function functionDeclaration(id, params, body, generator, async) {
8229 return builder.apply(void 0, ["FunctionDeclaration"].concat(Array.prototype.slice.call(arguments)));
8230 }
8231 function functionExpression(id, params, body, generator, async) {
8232 return builder.apply(void 0, ["FunctionExpression"].concat(Array.prototype.slice.call(arguments)));
8233 }
8234 function identifier(name) {
8235 return builder.apply(void 0, ["Identifier"].concat(Array.prototype.slice.call(arguments)));
8236 }
8237 function ifStatement(test, consequent, alternate) {
8238 return builder.apply(void 0, ["IfStatement"].concat(Array.prototype.slice.call(arguments)));
8239 }
8240 function labeledStatement(label, body) {
8241 return builder.apply(void 0, ["LabeledStatement"].concat(Array.prototype.slice.call(arguments)));
8242 }
8243 function stringLiteral(value) {
8244 return builder.apply(void 0, ["StringLiteral"].concat(Array.prototype.slice.call(arguments)));
8245 }
8246 function numericLiteral(value) {
8247 return builder.apply(void 0, ["NumericLiteral"].concat(Array.prototype.slice.call(arguments)));
8248 }
8249 function nullLiteral() {
8250 return builder.apply(void 0, ["NullLiteral"].concat(Array.prototype.slice.call(arguments)));
8251 }
8252 function booleanLiteral(value) {
8253 return builder.apply(void 0, ["BooleanLiteral"].concat(Array.prototype.slice.call(arguments)));
8254 }
8255 function regExpLiteral(pattern, flags) {
8256 return builder.apply(void 0, ["RegExpLiteral"].concat(Array.prototype.slice.call(arguments)));
8257 }
8258 function logicalExpression(operator, left, right) {
8259 return builder.apply(void 0, ["LogicalExpression"].concat(Array.prototype.slice.call(arguments)));
8260 }
8261 function memberExpression(object, property, computed, optional) {
8262 return builder.apply(void 0, ["MemberExpression"].concat(Array.prototype.slice.call(arguments)));
8263 }
8264 function newExpression(callee, _arguments) {
8265 return builder.apply(void 0, ["NewExpression"].concat(Array.prototype.slice.call(arguments)));
8266 }
8267 function program$2(body, directives, sourceType, interpreter) {
8268 return builder.apply(void 0, ["Program"].concat(Array.prototype.slice.call(arguments)));
8269 }
8270 function objectExpression(properties) {
8271 return builder.apply(void 0, ["ObjectExpression"].concat(Array.prototype.slice.call(arguments)));
8272 }
8273 function objectMethod(kind, key, params, body, computed, generator, async) {
8274 return builder.apply(void 0, ["ObjectMethod"].concat(Array.prototype.slice.call(arguments)));
8275 }
8276 function objectProperty(key, value, computed, shorthand, decorators) {
8277 return builder.apply(void 0, ["ObjectProperty"].concat(Array.prototype.slice.call(arguments)));
8278 }
8279 function restElement(argument) {
8280 return builder.apply(void 0, ["RestElement"].concat(Array.prototype.slice.call(arguments)));
8281 }
8282 function returnStatement(argument) {
8283 return builder.apply(void 0, ["ReturnStatement"].concat(Array.prototype.slice.call(arguments)));
8284 }
8285 function sequenceExpression(expressions) {
8286 return builder.apply(void 0, ["SequenceExpression"].concat(Array.prototype.slice.call(arguments)));
8287 }
8288 function parenthesizedExpression(expression) {
8289 return builder.apply(void 0, ["ParenthesizedExpression"].concat(Array.prototype.slice.call(arguments)));
8290 }
8291 function switchCase(test, consequent) {
8292 return builder.apply(void 0, ["SwitchCase"].concat(Array.prototype.slice.call(arguments)));
8293 }
8294 function switchStatement(discriminant, cases) {
8295 return builder.apply(void 0, ["SwitchStatement"].concat(Array.prototype.slice.call(arguments)));
8296 }
8297 function thisExpression() {
8298 return builder.apply(void 0, ["ThisExpression"].concat(Array.prototype.slice.call(arguments)));
8299 }
8300 function throwStatement(argument) {
8301 return builder.apply(void 0, ["ThrowStatement"].concat(Array.prototype.slice.call(arguments)));
8302 }
8303 function tryStatement(block, handler, finalizer) {
8304 return builder.apply(void 0, ["TryStatement"].concat(Array.prototype.slice.call(arguments)));
8305 }
8306 function unaryExpression(operator, argument, prefix) {
8307 return builder.apply(void 0, ["UnaryExpression"].concat(Array.prototype.slice.call(arguments)));
8308 }
8309 function updateExpression(operator, argument, prefix) {
8310 return builder.apply(void 0, ["UpdateExpression"].concat(Array.prototype.slice.call(arguments)));
8311 }
8312 function variableDeclaration(kind, declarations) {
8313 return builder.apply(void 0, ["VariableDeclaration"].concat(Array.prototype.slice.call(arguments)));
8314 }
8315 function variableDeclarator(id, init) {
8316 return builder.apply(void 0, ["VariableDeclarator"].concat(Array.prototype.slice.call(arguments)));
8317 }
8318 function whileStatement(test, body) {
8319 return builder.apply(void 0, ["WhileStatement"].concat(Array.prototype.slice.call(arguments)));
8320 }
8321 function withStatement(object, body) {
8322 return builder.apply(void 0, ["WithStatement"].concat(Array.prototype.slice.call(arguments)));
8323 }
8324 function assignmentPattern(left, right) {
8325 return builder.apply(void 0, ["AssignmentPattern"].concat(Array.prototype.slice.call(arguments)));
8326 }
8327 function arrayPattern(elements) {
8328 return builder.apply(void 0, ["ArrayPattern"].concat(Array.prototype.slice.call(arguments)));
8329 }
8330 function arrowFunctionExpression(params, body, async) {
8331 return builder.apply(void 0, ["ArrowFunctionExpression"].concat(Array.prototype.slice.call(arguments)));
8332 }
8333 function classBody(body) {
8334 return builder.apply(void 0, ["ClassBody"].concat(Array.prototype.slice.call(arguments)));
8335 }
8336 function classExpression(id, superClass, body, decorators) {
8337 return builder.apply(void 0, ["ClassExpression"].concat(Array.prototype.slice.call(arguments)));
8338 }
8339 function classDeclaration(id, superClass, body, decorators) {
8340 return builder.apply(void 0, ["ClassDeclaration"].concat(Array.prototype.slice.call(arguments)));
8341 }
8342 function exportAllDeclaration(source) {
8343 return builder.apply(void 0, ["ExportAllDeclaration"].concat(Array.prototype.slice.call(arguments)));
8344 }
8345 function exportDefaultDeclaration(declaration) {
8346 return builder.apply(void 0, ["ExportDefaultDeclaration"].concat(Array.prototype.slice.call(arguments)));
8347 }
8348 function exportNamedDeclaration(declaration, specifiers, source) {
8349 return builder.apply(void 0, ["ExportNamedDeclaration"].concat(Array.prototype.slice.call(arguments)));
8350 }
8351 function exportSpecifier(local, exported) {
8352 return builder.apply(void 0, ["ExportSpecifier"].concat(Array.prototype.slice.call(arguments)));
8353 }
8354 function forOfStatement(left, right, body, _await) {
8355 return builder.apply(void 0, ["ForOfStatement"].concat(Array.prototype.slice.call(arguments)));
8356 }
8357 function importDeclaration(specifiers, source) {
8358 return builder.apply(void 0, ["ImportDeclaration"].concat(Array.prototype.slice.call(arguments)));
8359 }
8360 function importDefaultSpecifier(local) {
8361 return builder.apply(void 0, ["ImportDefaultSpecifier"].concat(Array.prototype.slice.call(arguments)));
8362 }
8363 function importNamespaceSpecifier(local) {
8364 return builder.apply(void 0, ["ImportNamespaceSpecifier"].concat(Array.prototype.slice.call(arguments)));
8365 }
8366 function importSpecifier(local, imported) {
8367 return builder.apply(void 0, ["ImportSpecifier"].concat(Array.prototype.slice.call(arguments)));
8368 }
8369 function metaProperty(meta, property) {
8370 return builder.apply(void 0, ["MetaProperty"].concat(Array.prototype.slice.call(arguments)));
8371 }
8372 function classMethod(kind, key, params, body, computed, _static, generator, async) {
8373 return builder.apply(void 0, ["ClassMethod"].concat(Array.prototype.slice.call(arguments)));
8374 }
8375 function objectPattern(properties) {
8376 return builder.apply(void 0, ["ObjectPattern"].concat(Array.prototype.slice.call(arguments)));
8377 }
8378 function spreadElement(argument) {
8379 return builder.apply(void 0, ["SpreadElement"].concat(Array.prototype.slice.call(arguments)));
8380 }
8381
8382 function _super() {
8383 return builder.apply(void 0, ["Super"].concat(Array.prototype.slice.call(arguments)));
8384 }
8385 function taggedTemplateExpression(tag, quasi) {
8386 return builder.apply(void 0, ["TaggedTemplateExpression"].concat(Array.prototype.slice.call(arguments)));
8387 }
8388 function templateElement(value, tail) {
8389 return builder.apply(void 0, ["TemplateElement"].concat(Array.prototype.slice.call(arguments)));
8390 }
8391 function templateLiteral(quasis, expressions) {
8392 return builder.apply(void 0, ["TemplateLiteral"].concat(Array.prototype.slice.call(arguments)));
8393 }
8394 function yieldExpression(argument, delegate) {
8395 return builder.apply(void 0, ["YieldExpression"].concat(Array.prototype.slice.call(arguments)));
8396 }
8397 function awaitExpression(argument) {
8398 return builder.apply(void 0, ["AwaitExpression"].concat(Array.prototype.slice.call(arguments)));
8399 }
8400
8401 function _import() {
8402 return builder.apply(void 0, ["Import"].concat(Array.prototype.slice.call(arguments)));
8403 }
8404 function bigIntLiteral(value) {
8405 return builder.apply(void 0, ["BigIntLiteral"].concat(Array.prototype.slice.call(arguments)));
8406 }
8407 function exportNamespaceSpecifier(exported) {
8408 return builder.apply(void 0, ["ExportNamespaceSpecifier"].concat(Array.prototype.slice.call(arguments)));
8409 }
8410 function optionalMemberExpression(object, property, computed, optional) {
8411 return builder.apply(void 0, ["OptionalMemberExpression"].concat(Array.prototype.slice.call(arguments)));
8412 }
8413 function optionalCallExpression(callee, _arguments, optional) {
8414 return builder.apply(void 0, ["OptionalCallExpression"].concat(Array.prototype.slice.call(arguments)));
8415 }
8416 function classProperty(key, value, typeAnnotation, decorators, computed, _static) {
8417 return builder.apply(void 0, ["ClassProperty"].concat(Array.prototype.slice.call(arguments)));
8418 }
8419 function classPrivateProperty(key, value, decorators, _static) {
8420 return builder.apply(void 0, ["ClassPrivateProperty"].concat(Array.prototype.slice.call(arguments)));
8421 }
8422 function classPrivateMethod(kind, key, params, body, _static) {
8423 return builder.apply(void 0, ["ClassPrivateMethod"].concat(Array.prototype.slice.call(arguments)));
8424 }
8425 function privateName(id) {
8426 return builder.apply(void 0, ["PrivateName"].concat(Array.prototype.slice.call(arguments)));
8427 }
8428 function anyTypeAnnotation() {
8429 return builder.apply(void 0, ["AnyTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8430 }
8431 function arrayTypeAnnotation(elementType) {
8432 return builder.apply(void 0, ["ArrayTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8433 }
8434 function booleanTypeAnnotation() {
8435 return builder.apply(void 0, ["BooleanTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8436 }
8437 function booleanLiteralTypeAnnotation(value) {
8438 return builder.apply(void 0, ["BooleanLiteralTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8439 }
8440 function nullLiteralTypeAnnotation() {
8441 return builder.apply(void 0, ["NullLiteralTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8442 }
8443 function classImplements(id, typeParameters) {
8444 return builder.apply(void 0, ["ClassImplements"].concat(Array.prototype.slice.call(arguments)));
8445 }
8446 function declareClass(id, typeParameters, _extends, body) {
8447 return builder.apply(void 0, ["DeclareClass"].concat(Array.prototype.slice.call(arguments)));
8448 }
8449 function declareFunction(id) {
8450 return builder.apply(void 0, ["DeclareFunction"].concat(Array.prototype.slice.call(arguments)));
8451 }
8452 function declareInterface(id, typeParameters, _extends, body) {
8453 return builder.apply(void 0, ["DeclareInterface"].concat(Array.prototype.slice.call(arguments)));
8454 }
8455 function declareModule(id, body, kind) {
8456 return builder.apply(void 0, ["DeclareModule"].concat(Array.prototype.slice.call(arguments)));
8457 }
8458 function declareModuleExports(typeAnnotation) {
8459 return builder.apply(void 0, ["DeclareModuleExports"].concat(Array.prototype.slice.call(arguments)));
8460 }
8461 function declareTypeAlias(id, typeParameters, right) {
8462 return builder.apply(void 0, ["DeclareTypeAlias"].concat(Array.prototype.slice.call(arguments)));
8463 }
8464 function declareOpaqueType(id, typeParameters, supertype) {
8465 return builder.apply(void 0, ["DeclareOpaqueType"].concat(Array.prototype.slice.call(arguments)));
8466 }
8467 function declareVariable(id) {
8468 return builder.apply(void 0, ["DeclareVariable"].concat(Array.prototype.slice.call(arguments)));
8469 }
8470 function declareExportDeclaration(declaration, specifiers, source) {
8471 return builder.apply(void 0, ["DeclareExportDeclaration"].concat(Array.prototype.slice.call(arguments)));
8472 }
8473 function declareExportAllDeclaration(source) {
8474 return builder.apply(void 0, ["DeclareExportAllDeclaration"].concat(Array.prototype.slice.call(arguments)));
8475 }
8476 function declaredPredicate(value) {
8477 return builder.apply(void 0, ["DeclaredPredicate"].concat(Array.prototype.slice.call(arguments)));
8478 }
8479 function existsTypeAnnotation() {
8480 return builder.apply(void 0, ["ExistsTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8481 }
8482 function functionTypeAnnotation(typeParameters, params, rest, returnType) {
8483 return builder.apply(void 0, ["FunctionTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8484 }
8485 function functionTypeParam(name, typeAnnotation) {
8486 return builder.apply(void 0, ["FunctionTypeParam"].concat(Array.prototype.slice.call(arguments)));
8487 }
8488 function genericTypeAnnotation(id, typeParameters) {
8489 return builder.apply(void 0, ["GenericTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8490 }
8491 function inferredPredicate() {
8492 return builder.apply(void 0, ["InferredPredicate"].concat(Array.prototype.slice.call(arguments)));
8493 }
8494 function interfaceExtends(id, typeParameters) {
8495 return builder.apply(void 0, ["InterfaceExtends"].concat(Array.prototype.slice.call(arguments)));
8496 }
8497 function interfaceDeclaration(id, typeParameters, _extends, body) {
8498 return builder.apply(void 0, ["InterfaceDeclaration"].concat(Array.prototype.slice.call(arguments)));
8499 }
8500 function interfaceTypeAnnotation(_extends, body) {
8501 return builder.apply(void 0, ["InterfaceTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8502 }
8503 function intersectionTypeAnnotation(types) {
8504 return builder.apply(void 0, ["IntersectionTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8505 }
8506 function mixedTypeAnnotation() {
8507 return builder.apply(void 0, ["MixedTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8508 }
8509 function emptyTypeAnnotation() {
8510 return builder.apply(void 0, ["EmptyTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8511 }
8512 function nullableTypeAnnotation(typeAnnotation) {
8513 return builder.apply(void 0, ["NullableTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8514 }
8515 function numberLiteralTypeAnnotation(value) {
8516 return builder.apply(void 0, ["NumberLiteralTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8517 }
8518 function numberTypeAnnotation() {
8519 return builder.apply(void 0, ["NumberTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8520 }
8521 function objectTypeAnnotation(properties, indexers, callProperties, internalSlots, exact) {
8522 return builder.apply(void 0, ["ObjectTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8523 }
8524 function objectTypeInternalSlot(id, value, optional, _static, method) {
8525 return builder.apply(void 0, ["ObjectTypeInternalSlot"].concat(Array.prototype.slice.call(arguments)));
8526 }
8527 function objectTypeCallProperty(value) {
8528 return builder.apply(void 0, ["ObjectTypeCallProperty"].concat(Array.prototype.slice.call(arguments)));
8529 }
8530 function objectTypeIndexer(id, key, value, variance) {
8531 return builder.apply(void 0, ["ObjectTypeIndexer"].concat(Array.prototype.slice.call(arguments)));
8532 }
8533 function objectTypeProperty(key, value, variance) {
8534 return builder.apply(void 0, ["ObjectTypeProperty"].concat(Array.prototype.slice.call(arguments)));
8535 }
8536 function objectTypeSpreadProperty(argument) {
8537 return builder.apply(void 0, ["ObjectTypeSpreadProperty"].concat(Array.prototype.slice.call(arguments)));
8538 }
8539 function opaqueType(id, typeParameters, supertype, impltype) {
8540 return builder.apply(void 0, ["OpaqueType"].concat(Array.prototype.slice.call(arguments)));
8541 }
8542 function qualifiedTypeIdentifier(id, qualification) {
8543 return builder.apply(void 0, ["QualifiedTypeIdentifier"].concat(Array.prototype.slice.call(arguments)));
8544 }
8545 function stringLiteralTypeAnnotation(value) {
8546 return builder.apply(void 0, ["StringLiteralTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8547 }
8548 function stringTypeAnnotation() {
8549 return builder.apply(void 0, ["StringTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8550 }
8551 function symbolTypeAnnotation() {
8552 return builder.apply(void 0, ["SymbolTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8553 }
8554 function thisTypeAnnotation() {
8555 return builder.apply(void 0, ["ThisTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8556 }
8557 function tupleTypeAnnotation(types) {
8558 return builder.apply(void 0, ["TupleTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8559 }
8560 function typeofTypeAnnotation(argument) {
8561 return builder.apply(void 0, ["TypeofTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8562 }
8563 function typeAlias(id, typeParameters, right) {
8564 return builder.apply(void 0, ["TypeAlias"].concat(Array.prototype.slice.call(arguments)));
8565 }
8566 function typeAnnotation(typeAnnotation) {
8567 return builder.apply(void 0, ["TypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8568 }
8569 function typeCastExpression(expression, typeAnnotation) {
8570 return builder.apply(void 0, ["TypeCastExpression"].concat(Array.prototype.slice.call(arguments)));
8571 }
8572 function typeParameter(bound, _default, variance) {
8573 return builder.apply(void 0, ["TypeParameter"].concat(Array.prototype.slice.call(arguments)));
8574 }
8575 function typeParameterDeclaration(params) {
8576 return builder.apply(void 0, ["TypeParameterDeclaration"].concat(Array.prototype.slice.call(arguments)));
8577 }
8578 function typeParameterInstantiation(params) {
8579 return builder.apply(void 0, ["TypeParameterInstantiation"].concat(Array.prototype.slice.call(arguments)));
8580 }
8581 function unionTypeAnnotation(types) {
8582 return builder.apply(void 0, ["UnionTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8583 }
8584 function variance(kind) {
8585 return builder.apply(void 0, ["Variance"].concat(Array.prototype.slice.call(arguments)));
8586 }
8587 function voidTypeAnnotation() {
8588 return builder.apply(void 0, ["VoidTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8589 }
8590 function enumDeclaration(id, body) {
8591 return builder.apply(void 0, ["EnumDeclaration"].concat(Array.prototype.slice.call(arguments)));
8592 }
8593 function enumBooleanBody(members) {
8594 return builder.apply(void 0, ["EnumBooleanBody"].concat(Array.prototype.slice.call(arguments)));
8595 }
8596 function enumNumberBody(members) {
8597 return builder.apply(void 0, ["EnumNumberBody"].concat(Array.prototype.slice.call(arguments)));
8598 }
8599 function enumStringBody(members) {
8600 return builder.apply(void 0, ["EnumStringBody"].concat(Array.prototype.slice.call(arguments)));
8601 }
8602 function enumSymbolBody(members) {
8603 return builder.apply(void 0, ["EnumSymbolBody"].concat(Array.prototype.slice.call(arguments)));
8604 }
8605 function enumBooleanMember(id) {
8606 return builder.apply(void 0, ["EnumBooleanMember"].concat(Array.prototype.slice.call(arguments)));
8607 }
8608 function enumNumberMember(id, init) {
8609 return builder.apply(void 0, ["EnumNumberMember"].concat(Array.prototype.slice.call(arguments)));
8610 }
8611 function enumStringMember(id, init) {
8612 return builder.apply(void 0, ["EnumStringMember"].concat(Array.prototype.slice.call(arguments)));
8613 }
8614 function enumDefaultedMember(id) {
8615 return builder.apply(void 0, ["EnumDefaultedMember"].concat(Array.prototype.slice.call(arguments)));
8616 }
8617 function indexedAccessType(objectType, indexType) {
8618 return builder.apply(void 0, ["IndexedAccessType"].concat(Array.prototype.slice.call(arguments)));
8619 }
8620 function optionalIndexedAccessType(objectType, indexType) {
8621 return builder.apply(void 0, ["OptionalIndexedAccessType"].concat(Array.prototype.slice.call(arguments)));
8622 }
8623 function jsxAttribute(name, value) {
8624 return builder.apply(void 0, ["JSXAttribute"].concat(Array.prototype.slice.call(arguments)));
8625 }
8626 function jsxClosingElement(name) {
8627 return builder.apply(void 0, ["JSXClosingElement"].concat(Array.prototype.slice.call(arguments)));
8628 }
8629 function jsxElement(openingElement, closingElement, children, selfClosing) {
8630 return builder.apply(void 0, ["JSXElement"].concat(Array.prototype.slice.call(arguments)));
8631 }
8632 function jsxEmptyExpression() {
8633 return builder.apply(void 0, ["JSXEmptyExpression"].concat(Array.prototype.slice.call(arguments)));
8634 }
8635 function jsxExpressionContainer(expression) {
8636 return builder.apply(void 0, ["JSXExpressionContainer"].concat(Array.prototype.slice.call(arguments)));
8637 }
8638 function jsxSpreadChild(expression) {
8639 return builder.apply(void 0, ["JSXSpreadChild"].concat(Array.prototype.slice.call(arguments)));
8640 }
8641 function jsxIdentifier(name) {
8642 return builder.apply(void 0, ["JSXIdentifier"].concat(Array.prototype.slice.call(arguments)));
8643 }
8644 function jsxMemberExpression(object, property) {
8645 return builder.apply(void 0, ["JSXMemberExpression"].concat(Array.prototype.slice.call(arguments)));
8646 }
8647 function jsxNamespacedName(namespace, name) {
8648 return builder.apply(void 0, ["JSXNamespacedName"].concat(Array.prototype.slice.call(arguments)));
8649 }
8650 function jsxOpeningElement(name, attributes, selfClosing) {
8651 return builder.apply(void 0, ["JSXOpeningElement"].concat(Array.prototype.slice.call(arguments)));
8652 }
8653 function jsxSpreadAttribute(argument) {
8654 return builder.apply(void 0, ["JSXSpreadAttribute"].concat(Array.prototype.slice.call(arguments)));
8655 }
8656 function jsxText(value) {
8657 return builder.apply(void 0, ["JSXText"].concat(Array.prototype.slice.call(arguments)));
8658 }
8659 function jsxFragment(openingFragment, closingFragment, children) {
8660 return builder.apply(void 0, ["JSXFragment"].concat(Array.prototype.slice.call(arguments)));
8661 }
8662 function jsxOpeningFragment() {
8663 return builder.apply(void 0, ["JSXOpeningFragment"].concat(Array.prototype.slice.call(arguments)));
8664 }
8665 function jsxClosingFragment() {
8666 return builder.apply(void 0, ["JSXClosingFragment"].concat(Array.prototype.slice.call(arguments)));
8667 }
8668 function noop$1() {
8669 return builder.apply(void 0, ["Noop"].concat(Array.prototype.slice.call(arguments)));
8670 }
8671 function placeholder(expectedNode, name) {
8672 return builder.apply(void 0, ["Placeholder"].concat(Array.prototype.slice.call(arguments)));
8673 }
8674 function v8IntrinsicIdentifier(name) {
8675 return builder.apply(void 0, ["V8IntrinsicIdentifier"].concat(Array.prototype.slice.call(arguments)));
8676 }
8677 function argumentPlaceholder() {
8678 return builder.apply(void 0, ["ArgumentPlaceholder"].concat(Array.prototype.slice.call(arguments)));
8679 }
8680 function bindExpression(object, callee) {
8681 return builder.apply(void 0, ["BindExpression"].concat(Array.prototype.slice.call(arguments)));
8682 }
8683 function pipelineTopicExpression(expression) {
8684 return builder.apply(void 0, ["PipelineTopicExpression"].concat(Array.prototype.slice.call(arguments)));
8685 }
8686 function pipelineBareFunction(callee) {
8687 return builder.apply(void 0, ["PipelineBareFunction"].concat(Array.prototype.slice.call(arguments)));
8688 }
8689 function pipelinePrimaryTopicReference() {
8690 return builder.apply(void 0, ["PipelinePrimaryTopicReference"].concat(Array.prototype.slice.call(arguments)));
8691 }
8692 function importAttribute(key, value) {
8693 return builder.apply(void 0, ["ImportAttribute"].concat(Array.prototype.slice.call(arguments)));
8694 }
8695 function decorator(expression) {
8696 return builder.apply(void 0, ["Decorator"].concat(Array.prototype.slice.call(arguments)));
8697 }
8698 function doExpression(body, async) {
8699 return builder.apply(void 0, ["DoExpression"].concat(Array.prototype.slice.call(arguments)));
8700 }
8701 function exportDefaultSpecifier(exported) {
8702 return builder.apply(void 0, ["ExportDefaultSpecifier"].concat(Array.prototype.slice.call(arguments)));
8703 }
8704 function recordExpression(properties) {
8705 return builder.apply(void 0, ["RecordExpression"].concat(Array.prototype.slice.call(arguments)));
8706 }
8707 function tupleExpression(elements) {
8708 return builder.apply(void 0, ["TupleExpression"].concat(Array.prototype.slice.call(arguments)));
8709 }
8710 function decimalLiteral(value) {
8711 return builder.apply(void 0, ["DecimalLiteral"].concat(Array.prototype.slice.call(arguments)));
8712 }
8713 function staticBlock(body) {
8714 return builder.apply(void 0, ["StaticBlock"].concat(Array.prototype.slice.call(arguments)));
8715 }
8716 function moduleExpression(body) {
8717 return builder.apply(void 0, ["ModuleExpression"].concat(Array.prototype.slice.call(arguments)));
8718 }
8719 function tsParameterProperty(parameter) {
8720 return builder.apply(void 0, ["TSParameterProperty"].concat(Array.prototype.slice.call(arguments)));
8721 }
8722 function tsDeclareFunction(id, typeParameters, params, returnType) {
8723 return builder.apply(void 0, ["TSDeclareFunction"].concat(Array.prototype.slice.call(arguments)));
8724 }
8725 function tsDeclareMethod(decorators, key, typeParameters, params, returnType) {
8726 return builder.apply(void 0, ["TSDeclareMethod"].concat(Array.prototype.slice.call(arguments)));
8727 }
8728 function tsQualifiedName(left, right) {
8729 return builder.apply(void 0, ["TSQualifiedName"].concat(Array.prototype.slice.call(arguments)));
8730 }
8731 function tsCallSignatureDeclaration(typeParameters, parameters, typeAnnotation) {
8732 return builder.apply(void 0, ["TSCallSignatureDeclaration"].concat(Array.prototype.slice.call(arguments)));
8733 }
8734 function tsConstructSignatureDeclaration(typeParameters, parameters, typeAnnotation) {
8735 return builder.apply(void 0, ["TSConstructSignatureDeclaration"].concat(Array.prototype.slice.call(arguments)));
8736 }
8737 function tsPropertySignature(key, typeAnnotation, initializer) {
8738 return builder.apply(void 0, ["TSPropertySignature"].concat(Array.prototype.slice.call(arguments)));
8739 }
8740 function tsMethodSignature(key, typeParameters, parameters, typeAnnotation) {
8741 return builder.apply(void 0, ["TSMethodSignature"].concat(Array.prototype.slice.call(arguments)));
8742 }
8743 function tsIndexSignature(parameters, typeAnnotation) {
8744 return builder.apply(void 0, ["TSIndexSignature"].concat(Array.prototype.slice.call(arguments)));
8745 }
8746 function tsAnyKeyword() {
8747 return builder.apply(void 0, ["TSAnyKeyword"].concat(Array.prototype.slice.call(arguments)));
8748 }
8749 function tsBooleanKeyword() {
8750 return builder.apply(void 0, ["TSBooleanKeyword"].concat(Array.prototype.slice.call(arguments)));
8751 }
8752 function tsBigIntKeyword() {
8753 return builder.apply(void 0, ["TSBigIntKeyword"].concat(Array.prototype.slice.call(arguments)));
8754 }
8755 function tsIntrinsicKeyword() {
8756 return builder.apply(void 0, ["TSIntrinsicKeyword"].concat(Array.prototype.slice.call(arguments)));
8757 }
8758 function tsNeverKeyword() {
8759 return builder.apply(void 0, ["TSNeverKeyword"].concat(Array.prototype.slice.call(arguments)));
8760 }
8761 function tsNullKeyword() {
8762 return builder.apply(void 0, ["TSNullKeyword"].concat(Array.prototype.slice.call(arguments)));
8763 }
8764 function tsNumberKeyword() {
8765 return builder.apply(void 0, ["TSNumberKeyword"].concat(Array.prototype.slice.call(arguments)));
8766 }
8767 function tsObjectKeyword() {
8768 return builder.apply(void 0, ["TSObjectKeyword"].concat(Array.prototype.slice.call(arguments)));
8769 }
8770 function tsStringKeyword() {
8771 return builder.apply(void 0, ["TSStringKeyword"].concat(Array.prototype.slice.call(arguments)));
8772 }
8773 function tsSymbolKeyword() {
8774 return builder.apply(void 0, ["TSSymbolKeyword"].concat(Array.prototype.slice.call(arguments)));
8775 }
8776 function tsUndefinedKeyword() {
8777 return builder.apply(void 0, ["TSUndefinedKeyword"].concat(Array.prototype.slice.call(arguments)));
8778 }
8779 function tsUnknownKeyword() {
8780 return builder.apply(void 0, ["TSUnknownKeyword"].concat(Array.prototype.slice.call(arguments)));
8781 }
8782 function tsVoidKeyword() {
8783 return builder.apply(void 0, ["TSVoidKeyword"].concat(Array.prototype.slice.call(arguments)));
8784 }
8785 function tsThisType() {
8786 return builder.apply(void 0, ["TSThisType"].concat(Array.prototype.slice.call(arguments)));
8787 }
8788 function tsFunctionType(typeParameters, parameters, typeAnnotation) {
8789 return builder.apply(void 0, ["TSFunctionType"].concat(Array.prototype.slice.call(arguments)));
8790 }
8791 function tsConstructorType(typeParameters, parameters, typeAnnotation) {
8792 return builder.apply(void 0, ["TSConstructorType"].concat(Array.prototype.slice.call(arguments)));
8793 }
8794 function tsTypeReference(typeName, typeParameters) {
8795 return builder.apply(void 0, ["TSTypeReference"].concat(Array.prototype.slice.call(arguments)));
8796 }
8797 function tsTypePredicate(parameterName, typeAnnotation, asserts) {
8798 return builder.apply(void 0, ["TSTypePredicate"].concat(Array.prototype.slice.call(arguments)));
8799 }
8800 function tsTypeQuery(exprName) {
8801 return builder.apply(void 0, ["TSTypeQuery"].concat(Array.prototype.slice.call(arguments)));
8802 }
8803 function tsTypeLiteral(members) {
8804 return builder.apply(void 0, ["TSTypeLiteral"].concat(Array.prototype.slice.call(arguments)));
8805 }
8806 function tsArrayType(elementType) {
8807 return builder.apply(void 0, ["TSArrayType"].concat(Array.prototype.slice.call(arguments)));
8808 }
8809 function tsTupleType(elementTypes) {
8810 return builder.apply(void 0, ["TSTupleType"].concat(Array.prototype.slice.call(arguments)));
8811 }
8812 function tsOptionalType(typeAnnotation) {
8813 return builder.apply(void 0, ["TSOptionalType"].concat(Array.prototype.slice.call(arguments)));
8814 }
8815 function tsRestType(typeAnnotation) {
8816 return builder.apply(void 0, ["TSRestType"].concat(Array.prototype.slice.call(arguments)));
8817 }
8818 function tsNamedTupleMember(label, elementType, optional) {
8819 return builder.apply(void 0, ["TSNamedTupleMember"].concat(Array.prototype.slice.call(arguments)));
8820 }
8821 function tsUnionType(types) {
8822 return builder.apply(void 0, ["TSUnionType"].concat(Array.prototype.slice.call(arguments)));
8823 }
8824 function tsIntersectionType(types) {
8825 return builder.apply(void 0, ["TSIntersectionType"].concat(Array.prototype.slice.call(arguments)));
8826 }
8827 function tsConditionalType(checkType, extendsType, trueType, falseType) {
8828 return builder.apply(void 0, ["TSConditionalType"].concat(Array.prototype.slice.call(arguments)));
8829 }
8830 function tsInferType(typeParameter) {
8831 return builder.apply(void 0, ["TSInferType"].concat(Array.prototype.slice.call(arguments)));
8832 }
8833 function tsParenthesizedType(typeAnnotation) {
8834 return builder.apply(void 0, ["TSParenthesizedType"].concat(Array.prototype.slice.call(arguments)));
8835 }
8836 function tsTypeOperator(typeAnnotation) {
8837 return builder.apply(void 0, ["TSTypeOperator"].concat(Array.prototype.slice.call(arguments)));
8838 }
8839 function tsIndexedAccessType(objectType, indexType) {
8840 return builder.apply(void 0, ["TSIndexedAccessType"].concat(Array.prototype.slice.call(arguments)));
8841 }
8842 function tsMappedType(typeParameter, typeAnnotation, nameType) {
8843 return builder.apply(void 0, ["TSMappedType"].concat(Array.prototype.slice.call(arguments)));
8844 }
8845 function tsLiteralType(literal) {
8846 return builder.apply(void 0, ["TSLiteralType"].concat(Array.prototype.slice.call(arguments)));
8847 }
8848 function tsExpressionWithTypeArguments(expression, typeParameters) {
8849 return builder.apply(void 0, ["TSExpressionWithTypeArguments"].concat(Array.prototype.slice.call(arguments)));
8850 }
8851 function tsInterfaceDeclaration(id, typeParameters, _extends, body) {
8852 return builder.apply(void 0, ["TSInterfaceDeclaration"].concat(Array.prototype.slice.call(arguments)));
8853 }
8854 function tsInterfaceBody(body) {
8855 return builder.apply(void 0, ["TSInterfaceBody"].concat(Array.prototype.slice.call(arguments)));
8856 }
8857 function tsTypeAliasDeclaration(id, typeParameters, typeAnnotation) {
8858 return builder.apply(void 0, ["TSTypeAliasDeclaration"].concat(Array.prototype.slice.call(arguments)));
8859 }
8860 function tsAsExpression(expression, typeAnnotation) {
8861 return builder.apply(void 0, ["TSAsExpression"].concat(Array.prototype.slice.call(arguments)));
8862 }
8863 function tsTypeAssertion(typeAnnotation, expression) {
8864 return builder.apply(void 0, ["TSTypeAssertion"].concat(Array.prototype.slice.call(arguments)));
8865 }
8866 function tsEnumDeclaration(id, members) {
8867 return builder.apply(void 0, ["TSEnumDeclaration"].concat(Array.prototype.slice.call(arguments)));
8868 }
8869 function tsEnumMember(id, initializer) {
8870 return builder.apply(void 0, ["TSEnumMember"].concat(Array.prototype.slice.call(arguments)));
8871 }
8872 function tsModuleDeclaration(id, body) {
8873 return builder.apply(void 0, ["TSModuleDeclaration"].concat(Array.prototype.slice.call(arguments)));
8874 }
8875 function tsModuleBlock(body) {
8876 return builder.apply(void 0, ["TSModuleBlock"].concat(Array.prototype.slice.call(arguments)));
8877 }
8878 function tsImportType(argument, qualifier, typeParameters) {
8879 return builder.apply(void 0, ["TSImportType"].concat(Array.prototype.slice.call(arguments)));
8880 }
8881 function tsImportEqualsDeclaration(id, moduleReference) {
8882 return builder.apply(void 0, ["TSImportEqualsDeclaration"].concat(Array.prototype.slice.call(arguments)));
8883 }
8884 function tsExternalModuleReference(expression) {
8885 return builder.apply(void 0, ["TSExternalModuleReference"].concat(Array.prototype.slice.call(arguments)));
8886 }
8887 function tsNonNullExpression(expression) {
8888 return builder.apply(void 0, ["TSNonNullExpression"].concat(Array.prototype.slice.call(arguments)));
8889 }
8890 function tsExportAssignment(expression) {
8891 return builder.apply(void 0, ["TSExportAssignment"].concat(Array.prototype.slice.call(arguments)));
8892 }
8893 function tsNamespaceExportDeclaration(id) {
8894 return builder.apply(void 0, ["TSNamespaceExportDeclaration"].concat(Array.prototype.slice.call(arguments)));
8895 }
8896 function tsTypeAnnotation(typeAnnotation) {
8897 return builder.apply(void 0, ["TSTypeAnnotation"].concat(Array.prototype.slice.call(arguments)));
8898 }
8899 function tsTypeParameterInstantiation(params) {
8900 return builder.apply(void 0, ["TSTypeParameterInstantiation"].concat(Array.prototype.slice.call(arguments)));
8901 }
8902 function tsTypeParameterDeclaration(params) {
8903 return builder.apply(void 0, ["TSTypeParameterDeclaration"].concat(Array.prototype.slice.call(arguments)));
8904 }
8905 function tsTypeParameter(constraint, _default, name) {
8906 return builder.apply(void 0, ["TSTypeParameter"].concat(Array.prototype.slice.call(arguments)));
8907 }
8908
8909 function NumberLiteral() {
8910 console.trace("The node type NumberLiteral has been renamed to NumericLiteral");
8911
8912 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
8913 args[_key] = arguments[_key];
8914 }
8915
8916 return builder.apply(void 0, ["NumberLiteral"].concat(args));
8917 }
8918
8919 function RegexLiteral() {
8920 console.trace("The node type RegexLiteral has been renamed to RegExpLiteral");
8921
8922 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
8923 args[_key2] = arguments[_key2];
8924 }
8925
8926 return builder.apply(void 0, ["RegexLiteral"].concat(args));
8927 }
8928
8929 function RestProperty$1() {
8930 console.trace("The node type RestProperty has been renamed to RestElement");
8931
8932 for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
8933 args[_key3] = arguments[_key3];
8934 }
8935
8936 return builder.apply(void 0, ["RestProperty"].concat(args));
8937 }
8938
8939 function SpreadProperty$1() {
8940 console.trace("The node type SpreadProperty has been renamed to SpreadElement");
8941
8942 for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
8943 args[_key4] = arguments[_key4];
8944 }
8945
8946 return builder.apply(void 0, ["SpreadProperty"].concat(args));
8947 }
8948
8949 function cleanJSXElementLiteralChild(child, args) {
8950 var lines = child.value.split(/\r\n|\n|\r/);
8951 var lastNonEmptyLine = 0;
8952
8953 for (var i = 0; i < lines.length; i++) {
8954 if (lines[i].match(/[^ \t]/)) {
8955 lastNonEmptyLine = i;
8956 }
8957 }
8958
8959 var str = "";
8960
8961 for (var _i = 0; _i < lines.length; _i++) {
8962 var line = lines[_i];
8963 var isFirstLine = _i === 0;
8964 var isLastLine = _i === lines.length - 1;
8965 var isLastNonEmptyLine = _i === lastNonEmptyLine;
8966 var trimmedLine = line.replace(/\t/g, " ");
8967
8968 if (!isFirstLine) {
8969 trimmedLine = trimmedLine.replace(/^[ ]+/, "");
8970 }
8971
8972 if (!isLastLine) {
8973 trimmedLine = trimmedLine.replace(/[ ]+$/, "");
8974 }
8975
8976 if (trimmedLine) {
8977 if (!isLastNonEmptyLine) {
8978 trimmedLine += " ";
8979 }
8980
8981 str += trimmedLine;
8982 }
8983 }
8984
8985 if (str) args.push(stringLiteral(str));
8986 }
8987
8988 function buildChildren(node) {
8989 var elements = [];
8990
8991 for (var i = 0; i < node.children.length; i++) {
8992 var child = node.children[i];
8993
8994 if (isJSXText(child)) {
8995 cleanJSXElementLiteralChild(child, elements);
8996 continue;
8997 }
8998
8999 if (isJSXExpressionContainer(child)) child = child.expression;
9000 if (isJSXEmptyExpression(child)) continue;
9001 elements.push(child);
9002 }
9003
9004 return elements;
9005 }
9006
9007 function isNode(node) {
9008 return !!(node && VISITOR_KEYS[node.type]);
9009 }
9010
9011 function assertNode(node) {
9012 if (!isNode(node)) {
9013 var _node$type;
9014
9015 var type = (_node$type = node == null ? void 0 : node.type) != null ? _node$type : JSON.stringify(node);
9016 throw new TypeError("Not a valid node of type \"" + type + "\"");
9017 }
9018 }
9019
9020 function assert$1(type, node, opts) {
9021 if (!is$1(type, node, opts)) {
9022 throw new Error("Expected type \"" + type + "\" with option " + JSON.stringify(opts) + ", " + ("but instead got \"" + node.type + "\"."));
9023 }
9024 }
9025
9026 function assertArrayExpression(node, opts) {
9027 assert$1("ArrayExpression", node, opts);
9028 }
9029 function assertAssignmentExpression(node, opts) {
9030 assert$1("AssignmentExpression", node, opts);
9031 }
9032 function assertBinaryExpression(node, opts) {
9033 assert$1("BinaryExpression", node, opts);
9034 }
9035 function assertInterpreterDirective(node, opts) {
9036 assert$1("InterpreterDirective", node, opts);
9037 }
9038 function assertDirective(node, opts) {
9039 assert$1("Directive", node, opts);
9040 }
9041 function assertDirectiveLiteral(node, opts) {
9042 assert$1("DirectiveLiteral", node, opts);
9043 }
9044 function assertBlockStatement(node, opts) {
9045 assert$1("BlockStatement", node, opts);
9046 }
9047 function assertBreakStatement(node, opts) {
9048 assert$1("BreakStatement", node, opts);
9049 }
9050 function assertCallExpression(node, opts) {
9051 assert$1("CallExpression", node, opts);
9052 }
9053 function assertCatchClause(node, opts) {
9054 assert$1("CatchClause", node, opts);
9055 }
9056 function assertConditionalExpression(node, opts) {
9057 assert$1("ConditionalExpression", node, opts);
9058 }
9059 function assertContinueStatement(node, opts) {
9060 assert$1("ContinueStatement", node, opts);
9061 }
9062 function assertDebuggerStatement(node, opts) {
9063 assert$1("DebuggerStatement", node, opts);
9064 }
9065 function assertDoWhileStatement(node, opts) {
9066 assert$1("DoWhileStatement", node, opts);
9067 }
9068 function assertEmptyStatement(node, opts) {
9069 assert$1("EmptyStatement", node, opts);
9070 }
9071 function assertExpressionStatement(node, opts) {
9072 assert$1("ExpressionStatement", node, opts);
9073 }
9074 function assertFile(node, opts) {
9075 assert$1("File", node, opts);
9076 }
9077 function assertForInStatement(node, opts) {
9078 assert$1("ForInStatement", node, opts);
9079 }
9080 function assertForStatement(node, opts) {
9081 assert$1("ForStatement", node, opts);
9082 }
9083 function assertFunctionDeclaration(node, opts) {
9084 assert$1("FunctionDeclaration", node, opts);
9085 }
9086 function assertFunctionExpression(node, opts) {
9087 assert$1("FunctionExpression", node, opts);
9088 }
9089 function assertIdentifier(node, opts) {
9090 assert$1("Identifier", node, opts);
9091 }
9092 function assertIfStatement(node, opts) {
9093 assert$1("IfStatement", node, opts);
9094 }
9095 function assertLabeledStatement(node, opts) {
9096 assert$1("LabeledStatement", node, opts);
9097 }
9098 function assertStringLiteral(node, opts) {
9099 assert$1("StringLiteral", node, opts);
9100 }
9101 function assertNumericLiteral(node, opts) {
9102 assert$1("NumericLiteral", node, opts);
9103 }
9104 function assertNullLiteral(node, opts) {
9105 assert$1("NullLiteral", node, opts);
9106 }
9107 function assertBooleanLiteral(node, opts) {
9108 assert$1("BooleanLiteral", node, opts);
9109 }
9110 function assertRegExpLiteral(node, opts) {
9111 assert$1("RegExpLiteral", node, opts);
9112 }
9113 function assertLogicalExpression(node, opts) {
9114 assert$1("LogicalExpression", node, opts);
9115 }
9116 function assertMemberExpression(node, opts) {
9117 assert$1("MemberExpression", node, opts);
9118 }
9119 function assertNewExpression(node, opts) {
9120 assert$1("NewExpression", node, opts);
9121 }
9122 function assertProgram(node, opts) {
9123 assert$1("Program", node, opts);
9124 }
9125 function assertObjectExpression(node, opts) {
9126 assert$1("ObjectExpression", node, opts);
9127 }
9128 function assertObjectMethod(node, opts) {
9129 assert$1("ObjectMethod", node, opts);
9130 }
9131 function assertObjectProperty(node, opts) {
9132 assert$1("ObjectProperty", node, opts);
9133 }
9134 function assertRestElement(node, opts) {
9135 assert$1("RestElement", node, opts);
9136 }
9137 function assertReturnStatement(node, opts) {
9138 assert$1("ReturnStatement", node, opts);
9139 }
9140 function assertSequenceExpression(node, opts) {
9141 assert$1("SequenceExpression", node, opts);
9142 }
9143 function assertParenthesizedExpression(node, opts) {
9144 assert$1("ParenthesizedExpression", node, opts);
9145 }
9146 function assertSwitchCase(node, opts) {
9147 assert$1("SwitchCase", node, opts);
9148 }
9149 function assertSwitchStatement(node, opts) {
9150 assert$1("SwitchStatement", node, opts);
9151 }
9152 function assertThisExpression(node, opts) {
9153 assert$1("ThisExpression", node, opts);
9154 }
9155 function assertThrowStatement(node, opts) {
9156 assert$1("ThrowStatement", node, opts);
9157 }
9158 function assertTryStatement(node, opts) {
9159 assert$1("TryStatement", node, opts);
9160 }
9161 function assertUnaryExpression(node, opts) {
9162 assert$1("UnaryExpression", node, opts);
9163 }
9164 function assertUpdateExpression(node, opts) {
9165 assert$1("UpdateExpression", node, opts);
9166 }
9167 function assertVariableDeclaration(node, opts) {
9168 assert$1("VariableDeclaration", node, opts);
9169 }
9170 function assertVariableDeclarator(node, opts) {
9171 assert$1("VariableDeclarator", node, opts);
9172 }
9173 function assertWhileStatement(node, opts) {
9174 assert$1("WhileStatement", node, opts);
9175 }
9176 function assertWithStatement(node, opts) {
9177 assert$1("WithStatement", node, opts);
9178 }
9179 function assertAssignmentPattern(node, opts) {
9180 assert$1("AssignmentPattern", node, opts);
9181 }
9182 function assertArrayPattern(node, opts) {
9183 assert$1("ArrayPattern", node, opts);
9184 }
9185 function assertArrowFunctionExpression(node, opts) {
9186 assert$1("ArrowFunctionExpression", node, opts);
9187 }
9188 function assertClassBody(node, opts) {
9189 assert$1("ClassBody", node, opts);
9190 }
9191 function assertClassExpression(node, opts) {
9192 assert$1("ClassExpression", node, opts);
9193 }
9194 function assertClassDeclaration(node, opts) {
9195 assert$1("ClassDeclaration", node, opts);
9196 }
9197 function assertExportAllDeclaration(node, opts) {
9198 assert$1("ExportAllDeclaration", node, opts);
9199 }
9200 function assertExportDefaultDeclaration(node, opts) {
9201 assert$1("ExportDefaultDeclaration", node, opts);
9202 }
9203 function assertExportNamedDeclaration(node, opts) {
9204 assert$1("ExportNamedDeclaration", node, opts);
9205 }
9206 function assertExportSpecifier$1(node, opts) {
9207 assert$1("ExportSpecifier", node, opts);
9208 }
9209 function assertForOfStatement(node, opts) {
9210 assert$1("ForOfStatement", node, opts);
9211 }
9212 function assertImportDeclaration(node, opts) {
9213 assert$1("ImportDeclaration", node, opts);
9214 }
9215 function assertImportDefaultSpecifier(node, opts) {
9216 assert$1("ImportDefaultSpecifier", node, opts);
9217 }
9218 function assertImportNamespaceSpecifier(node, opts) {
9219 assert$1("ImportNamespaceSpecifier", node, opts);
9220 }
9221 function assertImportSpecifier(node, opts) {
9222 assert$1("ImportSpecifier", node, opts);
9223 }
9224 function assertMetaProperty(node, opts) {
9225 assert$1("MetaProperty", node, opts);
9226 }
9227 function assertClassMethod(node, opts) {
9228 assert$1("ClassMethod", node, opts);
9229 }
9230 function assertObjectPattern(node, opts) {
9231 assert$1("ObjectPattern", node, opts);
9232 }
9233 function assertSpreadElement(node, opts) {
9234 assert$1("SpreadElement", node, opts);
9235 }
9236 function assertSuper(node, opts) {
9237 assert$1("Super", node, opts);
9238 }
9239 function assertTaggedTemplateExpression(node, opts) {
9240 assert$1("TaggedTemplateExpression", node, opts);
9241 }
9242 function assertTemplateElement(node, opts) {
9243 assert$1("TemplateElement", node, opts);
9244 }
9245 function assertTemplateLiteral(node, opts) {
9246 assert$1("TemplateLiteral", node, opts);
9247 }
9248 function assertYieldExpression(node, opts) {
9249 assert$1("YieldExpression", node, opts);
9250 }
9251 function assertAwaitExpression(node, opts) {
9252 assert$1("AwaitExpression", node, opts);
9253 }
9254 function assertImport(node, opts) {
9255 assert$1("Import", node, opts);
9256 }
9257 function assertBigIntLiteral(node, opts) {
9258 assert$1("BigIntLiteral", node, opts);
9259 }
9260 function assertExportNamespaceSpecifier(node, opts) {
9261 assert$1("ExportNamespaceSpecifier", node, opts);
9262 }
9263 function assertOptionalMemberExpression(node, opts) {
9264 assert$1("OptionalMemberExpression", node, opts);
9265 }
9266 function assertOptionalCallExpression(node, opts) {
9267 assert$1("OptionalCallExpression", node, opts);
9268 }
9269 function assertClassProperty(node, opts) {
9270 assert$1("ClassProperty", node, opts);
9271 }
9272 function assertClassPrivateProperty(node, opts) {
9273 assert$1("ClassPrivateProperty", node, opts);
9274 }
9275 function assertClassPrivateMethod(node, opts) {
9276 assert$1("ClassPrivateMethod", node, opts);
9277 }
9278 function assertPrivateName(node, opts) {
9279 assert$1("PrivateName", node, opts);
9280 }
9281 function assertAnyTypeAnnotation(node, opts) {
9282 assert$1("AnyTypeAnnotation", node, opts);
9283 }
9284 function assertArrayTypeAnnotation(node, opts) {
9285 assert$1("ArrayTypeAnnotation", node, opts);
9286 }
9287 function assertBooleanTypeAnnotation(node, opts) {
9288 assert$1("BooleanTypeAnnotation", node, opts);
9289 }
9290 function assertBooleanLiteralTypeAnnotation(node, opts) {
9291 assert$1("BooleanLiteralTypeAnnotation", node, opts);
9292 }
9293 function assertNullLiteralTypeAnnotation(node, opts) {
9294 assert$1("NullLiteralTypeAnnotation", node, opts);
9295 }
9296 function assertClassImplements(node, opts) {
9297 assert$1("ClassImplements", node, opts);
9298 }
9299 function assertDeclareClass(node, opts) {
9300 assert$1("DeclareClass", node, opts);
9301 }
9302 function assertDeclareFunction(node, opts) {
9303 assert$1("DeclareFunction", node, opts);
9304 }
9305 function assertDeclareInterface(node, opts) {
9306 assert$1("DeclareInterface", node, opts);
9307 }
9308 function assertDeclareModule(node, opts) {
9309 assert$1("DeclareModule", node, opts);
9310 }
9311 function assertDeclareModuleExports(node, opts) {
9312 assert$1("DeclareModuleExports", node, opts);
9313 }
9314 function assertDeclareTypeAlias(node, opts) {
9315 assert$1("DeclareTypeAlias", node, opts);
9316 }
9317 function assertDeclareOpaqueType(node, opts) {
9318 assert$1("DeclareOpaqueType", node, opts);
9319 }
9320 function assertDeclareVariable(node, opts) {
9321 assert$1("DeclareVariable", node, opts);
9322 }
9323 function assertDeclareExportDeclaration(node, opts) {
9324 assert$1("DeclareExportDeclaration", node, opts);
9325 }
9326 function assertDeclareExportAllDeclaration(node, opts) {
9327 assert$1("DeclareExportAllDeclaration", node, opts);
9328 }
9329 function assertDeclaredPredicate(node, opts) {
9330 assert$1("DeclaredPredicate", node, opts);
9331 }
9332 function assertExistsTypeAnnotation(node, opts) {
9333 assert$1("ExistsTypeAnnotation", node, opts);
9334 }
9335 function assertFunctionTypeAnnotation(node, opts) {
9336 assert$1("FunctionTypeAnnotation", node, opts);
9337 }
9338 function assertFunctionTypeParam(node, opts) {
9339 assert$1("FunctionTypeParam", node, opts);
9340 }
9341 function assertGenericTypeAnnotation(node, opts) {
9342 assert$1("GenericTypeAnnotation", node, opts);
9343 }
9344 function assertInferredPredicate(node, opts) {
9345 assert$1("InferredPredicate", node, opts);
9346 }
9347 function assertInterfaceExtends(node, opts) {
9348 assert$1("InterfaceExtends", node, opts);
9349 }
9350 function assertInterfaceDeclaration(node, opts) {
9351 assert$1("InterfaceDeclaration", node, opts);
9352 }
9353 function assertInterfaceTypeAnnotation(node, opts) {
9354 assert$1("InterfaceTypeAnnotation", node, opts);
9355 }
9356 function assertIntersectionTypeAnnotation(node, opts) {
9357 assert$1("IntersectionTypeAnnotation", node, opts);
9358 }
9359 function assertMixedTypeAnnotation(node, opts) {
9360 assert$1("MixedTypeAnnotation", node, opts);
9361 }
9362 function assertEmptyTypeAnnotation(node, opts) {
9363 assert$1("EmptyTypeAnnotation", node, opts);
9364 }
9365 function assertNullableTypeAnnotation(node, opts) {
9366 assert$1("NullableTypeAnnotation", node, opts);
9367 }
9368 function assertNumberLiteralTypeAnnotation(node, opts) {
9369 assert$1("NumberLiteralTypeAnnotation", node, opts);
9370 }
9371 function assertNumberTypeAnnotation(node, opts) {
9372 assert$1("NumberTypeAnnotation", node, opts);
9373 }
9374 function assertObjectTypeAnnotation(node, opts) {
9375 assert$1("ObjectTypeAnnotation", node, opts);
9376 }
9377 function assertObjectTypeInternalSlot(node, opts) {
9378 assert$1("ObjectTypeInternalSlot", node, opts);
9379 }
9380 function assertObjectTypeCallProperty(node, opts) {
9381 assert$1("ObjectTypeCallProperty", node, opts);
9382 }
9383 function assertObjectTypeIndexer(node, opts) {
9384 assert$1("ObjectTypeIndexer", node, opts);
9385 }
9386 function assertObjectTypeProperty(node, opts) {
9387 assert$1("ObjectTypeProperty", node, opts);
9388 }
9389 function assertObjectTypeSpreadProperty(node, opts) {
9390 assert$1("ObjectTypeSpreadProperty", node, opts);
9391 }
9392 function assertOpaqueType(node, opts) {
9393 assert$1("OpaqueType", node, opts);
9394 }
9395 function assertQualifiedTypeIdentifier(node, opts) {
9396 assert$1("QualifiedTypeIdentifier", node, opts);
9397 }
9398 function assertStringLiteralTypeAnnotation(node, opts) {
9399 assert$1("StringLiteralTypeAnnotation", node, opts);
9400 }
9401 function assertStringTypeAnnotation(node, opts) {
9402 assert$1("StringTypeAnnotation", node, opts);
9403 }
9404 function assertSymbolTypeAnnotation(node, opts) {
9405 assert$1("SymbolTypeAnnotation", node, opts);
9406 }
9407 function assertThisTypeAnnotation(node, opts) {
9408 assert$1("ThisTypeAnnotation", node, opts);
9409 }
9410 function assertTupleTypeAnnotation(node, opts) {
9411 assert$1("TupleTypeAnnotation", node, opts);
9412 }
9413 function assertTypeofTypeAnnotation(node, opts) {
9414 assert$1("TypeofTypeAnnotation", node, opts);
9415 }
9416 function assertTypeAlias(node, opts) {
9417 assert$1("TypeAlias", node, opts);
9418 }
9419 function assertTypeAnnotation(node, opts) {
9420 assert$1("TypeAnnotation", node, opts);
9421 }
9422 function assertTypeCastExpression(node, opts) {
9423 assert$1("TypeCastExpression", node, opts);
9424 }
9425 function assertTypeParameter(node, opts) {
9426 assert$1("TypeParameter", node, opts);
9427 }
9428 function assertTypeParameterDeclaration(node, opts) {
9429 assert$1("TypeParameterDeclaration", node, opts);
9430 }
9431 function assertTypeParameterInstantiation(node, opts) {
9432 assert$1("TypeParameterInstantiation", node, opts);
9433 }
9434 function assertUnionTypeAnnotation(node, opts) {
9435 assert$1("UnionTypeAnnotation", node, opts);
9436 }
9437 function assertVariance(node, opts) {
9438 assert$1("Variance", node, opts);
9439 }
9440 function assertVoidTypeAnnotation(node, opts) {
9441 assert$1("VoidTypeAnnotation", node, opts);
9442 }
9443 function assertEnumDeclaration(node, opts) {
9444 assert$1("EnumDeclaration", node, opts);
9445 }
9446 function assertEnumBooleanBody(node, opts) {
9447 assert$1("EnumBooleanBody", node, opts);
9448 }
9449 function assertEnumNumberBody(node, opts) {
9450 assert$1("EnumNumberBody", node, opts);
9451 }
9452 function assertEnumStringBody(node, opts) {
9453 assert$1("EnumStringBody", node, opts);
9454 }
9455 function assertEnumSymbolBody(node, opts) {
9456 assert$1("EnumSymbolBody", node, opts);
9457 }
9458 function assertEnumBooleanMember(node, opts) {
9459 assert$1("EnumBooleanMember", node, opts);
9460 }
9461 function assertEnumNumberMember(node, opts) {
9462 assert$1("EnumNumberMember", node, opts);
9463 }
9464 function assertEnumStringMember(node, opts) {
9465 assert$1("EnumStringMember", node, opts);
9466 }
9467 function assertEnumDefaultedMember(node, opts) {
9468 assert$1("EnumDefaultedMember", node, opts);
9469 }
9470 function assertIndexedAccessType(node, opts) {
9471 assert$1("IndexedAccessType", node, opts);
9472 }
9473 function assertOptionalIndexedAccessType(node, opts) {
9474 assert$1("OptionalIndexedAccessType", node, opts);
9475 }
9476 function assertJSXAttribute(node, opts) {
9477 assert$1("JSXAttribute", node, opts);
9478 }
9479 function assertJSXClosingElement(node, opts) {
9480 assert$1("JSXClosingElement", node, opts);
9481 }
9482 function assertJSXElement(node, opts) {
9483 assert$1("JSXElement", node, opts);
9484 }
9485 function assertJSXEmptyExpression(node, opts) {
9486 assert$1("JSXEmptyExpression", node, opts);
9487 }
9488 function assertJSXExpressionContainer(node, opts) {
9489 assert$1("JSXExpressionContainer", node, opts);
9490 }
9491 function assertJSXSpreadChild(node, opts) {
9492 assert$1("JSXSpreadChild", node, opts);
9493 }
9494 function assertJSXIdentifier(node, opts) {
9495 assert$1("JSXIdentifier", node, opts);
9496 }
9497 function assertJSXMemberExpression(node, opts) {
9498 assert$1("JSXMemberExpression", node, opts);
9499 }
9500 function assertJSXNamespacedName(node, opts) {
9501 assert$1("JSXNamespacedName", node, opts);
9502 }
9503 function assertJSXOpeningElement(node, opts) {
9504 assert$1("JSXOpeningElement", node, opts);
9505 }
9506 function assertJSXSpreadAttribute(node, opts) {
9507 assert$1("JSXSpreadAttribute", node, opts);
9508 }
9509 function assertJSXText(node, opts) {
9510 assert$1("JSXText", node, opts);
9511 }
9512 function assertJSXFragment(node, opts) {
9513 assert$1("JSXFragment", node, opts);
9514 }
9515 function assertJSXOpeningFragment(node, opts) {
9516 assert$1("JSXOpeningFragment", node, opts);
9517 }
9518 function assertJSXClosingFragment(node, opts) {
9519 assert$1("JSXClosingFragment", node, opts);
9520 }
9521 function assertNoop(node, opts) {
9522 assert$1("Noop", node, opts);
9523 }
9524 function assertPlaceholder(node, opts) {
9525 assert$1("Placeholder", node, opts);
9526 }
9527 function assertV8IntrinsicIdentifier(node, opts) {
9528 assert$1("V8IntrinsicIdentifier", node, opts);
9529 }
9530 function assertArgumentPlaceholder(node, opts) {
9531 assert$1("ArgumentPlaceholder", node, opts);
9532 }
9533 function assertBindExpression(node, opts) {
9534 assert$1("BindExpression", node, opts);
9535 }
9536 function assertPipelineTopicExpression(node, opts) {
9537 assert$1("PipelineTopicExpression", node, opts);
9538 }
9539 function assertPipelineBareFunction(node, opts) {
9540 assert$1("PipelineBareFunction", node, opts);
9541 }
9542 function assertPipelinePrimaryTopicReference(node, opts) {
9543 assert$1("PipelinePrimaryTopicReference", node, opts);
9544 }
9545 function assertImportAttribute(node, opts) {
9546 assert$1("ImportAttribute", node, opts);
9547 }
9548 function assertDecorator(node, opts) {
9549 assert$1("Decorator", node, opts);
9550 }
9551 function assertDoExpression(node, opts) {
9552 assert$1("DoExpression", node, opts);
9553 }
9554 function assertExportDefaultSpecifier(node, opts) {
9555 assert$1("ExportDefaultSpecifier", node, opts);
9556 }
9557 function assertRecordExpression(node, opts) {
9558 assert$1("RecordExpression", node, opts);
9559 }
9560 function assertTupleExpression(node, opts) {
9561 assert$1("TupleExpression", node, opts);
9562 }
9563 function assertDecimalLiteral(node, opts) {
9564 assert$1("DecimalLiteral", node, opts);
9565 }
9566 function assertStaticBlock(node, opts) {
9567 assert$1("StaticBlock", node, opts);
9568 }
9569 function assertModuleExpression(node, opts) {
9570 assert$1("ModuleExpression", node, opts);
9571 }
9572 function assertTSParameterProperty(node, opts) {
9573 assert$1("TSParameterProperty", node, opts);
9574 }
9575 function assertTSDeclareFunction(node, opts) {
9576 assert$1("TSDeclareFunction", node, opts);
9577 }
9578 function assertTSDeclareMethod(node, opts) {
9579 assert$1("TSDeclareMethod", node, opts);
9580 }
9581 function assertTSQualifiedName(node, opts) {
9582 assert$1("TSQualifiedName", node, opts);
9583 }
9584 function assertTSCallSignatureDeclaration(node, opts) {
9585 assert$1("TSCallSignatureDeclaration", node, opts);
9586 }
9587 function assertTSConstructSignatureDeclaration(node, opts) {
9588 assert$1("TSConstructSignatureDeclaration", node, opts);
9589 }
9590 function assertTSPropertySignature(node, opts) {
9591 assert$1("TSPropertySignature", node, opts);
9592 }
9593 function assertTSMethodSignature(node, opts) {
9594 assert$1("TSMethodSignature", node, opts);
9595 }
9596 function assertTSIndexSignature(node, opts) {
9597 assert$1("TSIndexSignature", node, opts);
9598 }
9599 function assertTSAnyKeyword(node, opts) {
9600 assert$1("TSAnyKeyword", node, opts);
9601 }
9602 function assertTSBooleanKeyword(node, opts) {
9603 assert$1("TSBooleanKeyword", node, opts);
9604 }
9605 function assertTSBigIntKeyword(node, opts) {
9606 assert$1("TSBigIntKeyword", node, opts);
9607 }
9608 function assertTSIntrinsicKeyword(node, opts) {
9609 assert$1("TSIntrinsicKeyword", node, opts);
9610 }
9611 function assertTSNeverKeyword(node, opts) {
9612 assert$1("TSNeverKeyword", node, opts);
9613 }
9614 function assertTSNullKeyword(node, opts) {
9615 assert$1("TSNullKeyword", node, opts);
9616 }
9617 function assertTSNumberKeyword(node, opts) {
9618 assert$1("TSNumberKeyword", node, opts);
9619 }
9620 function assertTSObjectKeyword(node, opts) {
9621 assert$1("TSObjectKeyword", node, opts);
9622 }
9623 function assertTSStringKeyword(node, opts) {
9624 assert$1("TSStringKeyword", node, opts);
9625 }
9626 function assertTSSymbolKeyword(node, opts) {
9627 assert$1("TSSymbolKeyword", node, opts);
9628 }
9629 function assertTSUndefinedKeyword(node, opts) {
9630 assert$1("TSUndefinedKeyword", node, opts);
9631 }
9632 function assertTSUnknownKeyword(node, opts) {
9633 assert$1("TSUnknownKeyword", node, opts);
9634 }
9635 function assertTSVoidKeyword(node, opts) {
9636 assert$1("TSVoidKeyword", node, opts);
9637 }
9638 function assertTSThisType(node, opts) {
9639 assert$1("TSThisType", node, opts);
9640 }
9641 function assertTSFunctionType(node, opts) {
9642 assert$1("TSFunctionType", node, opts);
9643 }
9644 function assertTSConstructorType(node, opts) {
9645 assert$1("TSConstructorType", node, opts);
9646 }
9647 function assertTSTypeReference(node, opts) {
9648 assert$1("TSTypeReference", node, opts);
9649 }
9650 function assertTSTypePredicate(node, opts) {
9651 assert$1("TSTypePredicate", node, opts);
9652 }
9653 function assertTSTypeQuery(node, opts) {
9654 assert$1("TSTypeQuery", node, opts);
9655 }
9656 function assertTSTypeLiteral(node, opts) {
9657 assert$1("TSTypeLiteral", node, opts);
9658 }
9659 function assertTSArrayType(node, opts) {
9660 assert$1("TSArrayType", node, opts);
9661 }
9662 function assertTSTupleType(node, opts) {
9663 assert$1("TSTupleType", node, opts);
9664 }
9665 function assertTSOptionalType(node, opts) {
9666 assert$1("TSOptionalType", node, opts);
9667 }
9668 function assertTSRestType(node, opts) {
9669 assert$1("TSRestType", node, opts);
9670 }
9671 function assertTSNamedTupleMember(node, opts) {
9672 assert$1("TSNamedTupleMember", node, opts);
9673 }
9674 function assertTSUnionType(node, opts) {
9675 assert$1("TSUnionType", node, opts);
9676 }
9677 function assertTSIntersectionType(node, opts) {
9678 assert$1("TSIntersectionType", node, opts);
9679 }
9680 function assertTSConditionalType(node, opts) {
9681 assert$1("TSConditionalType", node, opts);
9682 }
9683 function assertTSInferType(node, opts) {
9684 assert$1("TSInferType", node, opts);
9685 }
9686 function assertTSParenthesizedType(node, opts) {
9687 assert$1("TSParenthesizedType", node, opts);
9688 }
9689 function assertTSTypeOperator(node, opts) {
9690 assert$1("TSTypeOperator", node, opts);
9691 }
9692 function assertTSIndexedAccessType(node, opts) {
9693 assert$1("TSIndexedAccessType", node, opts);
9694 }
9695 function assertTSMappedType(node, opts) {
9696 assert$1("TSMappedType", node, opts);
9697 }
9698 function assertTSLiteralType(node, opts) {
9699 assert$1("TSLiteralType", node, opts);
9700 }
9701 function assertTSExpressionWithTypeArguments(node, opts) {
9702 assert$1("TSExpressionWithTypeArguments", node, opts);
9703 }
9704 function assertTSInterfaceDeclaration(node, opts) {
9705 assert$1("TSInterfaceDeclaration", node, opts);
9706 }
9707 function assertTSInterfaceBody(node, opts) {
9708 assert$1("TSInterfaceBody", node, opts);
9709 }
9710 function assertTSTypeAliasDeclaration(node, opts) {
9711 assert$1("TSTypeAliasDeclaration", node, opts);
9712 }
9713 function assertTSAsExpression(node, opts) {
9714 assert$1("TSAsExpression", node, opts);
9715 }
9716 function assertTSTypeAssertion(node, opts) {
9717 assert$1("TSTypeAssertion", node, opts);
9718 }
9719 function assertTSEnumDeclaration(node, opts) {
9720 assert$1("TSEnumDeclaration", node, opts);
9721 }
9722 function assertTSEnumMember(node, opts) {
9723 assert$1("TSEnumMember", node, opts);
9724 }
9725 function assertTSModuleDeclaration(node, opts) {
9726 assert$1("TSModuleDeclaration", node, opts);
9727 }
9728 function assertTSModuleBlock(node, opts) {
9729 assert$1("TSModuleBlock", node, opts);
9730 }
9731 function assertTSImportType(node, opts) {
9732 assert$1("TSImportType", node, opts);
9733 }
9734 function assertTSImportEqualsDeclaration(node, opts) {
9735 assert$1("TSImportEqualsDeclaration", node, opts);
9736 }
9737 function assertTSExternalModuleReference(node, opts) {
9738 assert$1("TSExternalModuleReference", node, opts);
9739 }
9740 function assertTSNonNullExpression(node, opts) {
9741 assert$1("TSNonNullExpression", node, opts);
9742 }
9743 function assertTSExportAssignment(node, opts) {
9744 assert$1("TSExportAssignment", node, opts);
9745 }
9746 function assertTSNamespaceExportDeclaration(node, opts) {
9747 assert$1("TSNamespaceExportDeclaration", node, opts);
9748 }
9749 function assertTSTypeAnnotation(node, opts) {
9750 assert$1("TSTypeAnnotation", node, opts);
9751 }
9752 function assertTSTypeParameterInstantiation(node, opts) {
9753 assert$1("TSTypeParameterInstantiation", node, opts);
9754 }
9755 function assertTSTypeParameterDeclaration(node, opts) {
9756 assert$1("TSTypeParameterDeclaration", node, opts);
9757 }
9758 function assertTSTypeParameter(node, opts) {
9759 assert$1("TSTypeParameter", node, opts);
9760 }
9761 function assertExpression(node, opts) {
9762 assert$1("Expression", node, opts);
9763 }
9764 function assertBinary(node, opts) {
9765 assert$1("Binary", node, opts);
9766 }
9767 function assertScopable(node, opts) {
9768 assert$1("Scopable", node, opts);
9769 }
9770 function assertBlockParent(node, opts) {
9771 assert$1("BlockParent", node, opts);
9772 }
9773 function assertBlock(node, opts) {
9774 assert$1("Block", node, opts);
9775 }
9776 function assertStatement(node, opts) {
9777 assert$1("Statement", node, opts);
9778 }
9779 function assertTerminatorless(node, opts) {
9780 assert$1("Terminatorless", node, opts);
9781 }
9782 function assertCompletionStatement(node, opts) {
9783 assert$1("CompletionStatement", node, opts);
9784 }
9785 function assertConditional(node, opts) {
9786 assert$1("Conditional", node, opts);
9787 }
9788 function assertLoop(node, opts) {
9789 assert$1("Loop", node, opts);
9790 }
9791 function assertWhile(node, opts) {
9792 assert$1("While", node, opts);
9793 }
9794 function assertExpressionWrapper(node, opts) {
9795 assert$1("ExpressionWrapper", node, opts);
9796 }
9797 function assertFor(node, opts) {
9798 assert$1("For", node, opts);
9799 }
9800 function assertForXStatement(node, opts) {
9801 assert$1("ForXStatement", node, opts);
9802 }
9803 function assertFunction$1(node, opts) {
9804 assert$1("Function", node, opts);
9805 }
9806 function assertFunctionParent(node, opts) {
9807 assert$1("FunctionParent", node, opts);
9808 }
9809 function assertPureish(node, opts) {
9810 assert$1("Pureish", node, opts);
9811 }
9812 function assertDeclaration(node, opts) {
9813 assert$1("Declaration", node, opts);
9814 }
9815 function assertPatternLike(node, opts) {
9816 assert$1("PatternLike", node, opts);
9817 }
9818 function assertLVal(node, opts) {
9819 assert$1("LVal", node, opts);
9820 }
9821 function assertTSEntityName(node, opts) {
9822 assert$1("TSEntityName", node, opts);
9823 }
9824 function assertLiteral(node, opts) {
9825 assert$1("Literal", node, opts);
9826 }
9827 function assertImmutable(node, opts) {
9828 assert$1("Immutable", node, opts);
9829 }
9830 function assertUserWhitespacable(node, opts) {
9831 assert$1("UserWhitespacable", node, opts);
9832 }
9833 function assertMethod(node, opts) {
9834 assert$1("Method", node, opts);
9835 }
9836 function assertObjectMember(node, opts) {
9837 assert$1("ObjectMember", node, opts);
9838 }
9839 function assertProperty(node, opts) {
9840 assert$1("Property", node, opts);
9841 }
9842 function assertUnaryLike(node, opts) {
9843 assert$1("UnaryLike", node, opts);
9844 }
9845 function assertPattern(node, opts) {
9846 assert$1("Pattern", node, opts);
9847 }
9848 function assertClass(node, opts) {
9849 assert$1("Class", node, opts);
9850 }
9851 function assertModuleDeclaration(node, opts) {
9852 assert$1("ModuleDeclaration", node, opts);
9853 }
9854 function assertExportDeclaration(node, opts) {
9855 assert$1("ExportDeclaration", node, opts);
9856 }
9857 function assertModuleSpecifier(node, opts) {
9858 assert$1("ModuleSpecifier", node, opts);
9859 }
9860 function assertPrivate(node, opts) {
9861 assert$1("Private", node, opts);
9862 }
9863 function assertFlow(node, opts) {
9864 assert$1("Flow", node, opts);
9865 }
9866 function assertFlowType(node, opts) {
9867 assert$1("FlowType", node, opts);
9868 }
9869 function assertFlowBaseAnnotation(node, opts) {
9870 assert$1("FlowBaseAnnotation", node, opts);
9871 }
9872 function assertFlowDeclaration(node, opts) {
9873 assert$1("FlowDeclaration", node, opts);
9874 }
9875 function assertFlowPredicate(node, opts) {
9876 assert$1("FlowPredicate", node, opts);
9877 }
9878 function assertEnumBody(node, opts) {
9879 assert$1("EnumBody", node, opts);
9880 }
9881 function assertEnumMember(node, opts) {
9882 assert$1("EnumMember", node, opts);
9883 }
9884 function assertJSX(node, opts) {
9885 assert$1("JSX", node, opts);
9886 }
9887 function assertTSTypeElement(node, opts) {
9888 assert$1("TSTypeElement", node, opts);
9889 }
9890 function assertTSType(node, opts) {
9891 assert$1("TSType", node, opts);
9892 }
9893 function assertTSBaseType(node, opts) {
9894 assert$1("TSBaseType", node, opts);
9895 }
9896 function assertNumberLiteral(node, opts) {
9897 console.trace("The node type NumberLiteral has been renamed to NumericLiteral");
9898 assert$1("NumberLiteral", node, opts);
9899 }
9900 function assertRegexLiteral(node, opts) {
9901 console.trace("The node type RegexLiteral has been renamed to RegExpLiteral");
9902 assert$1("RegexLiteral", node, opts);
9903 }
9904 function assertRestProperty(node, opts) {
9905 console.trace("The node type RestProperty has been renamed to RestElement");
9906 assert$1("RestProperty", node, opts);
9907 }
9908 function assertSpreadProperty(node, opts) {
9909 console.trace("The node type SpreadProperty has been renamed to SpreadElement");
9910 assert$1("SpreadProperty", node, opts);
9911 }
9912
9913 function createTypeAnnotationBasedOnTypeof(type) {
9914 if (type === "string") {
9915 return stringTypeAnnotation();
9916 } else if (type === "number") {
9917 return numberTypeAnnotation();
9918 } else if (type === "undefined") {
9919 return voidTypeAnnotation();
9920 } else if (type === "boolean") {
9921 return booleanTypeAnnotation();
9922 } else if (type === "function") {
9923 return genericTypeAnnotation(identifier("Function"));
9924 } else if (type === "object") {
9925 return genericTypeAnnotation(identifier("Object"));
9926 } else if (type === "symbol") {
9927 return genericTypeAnnotation(identifier("Symbol"));
9928 } else if (type === "bigint") {
9929 return anyTypeAnnotation();
9930 } else {
9931 throw new Error("Invalid typeof value: " + type);
9932 }
9933 }
9934
9935 function getQualifiedName(node) {
9936 return isIdentifier(node) ? node.name : node.id.name + "." + getQualifiedName(node.qualification);
9937 }
9938
9939 function removeTypeDuplicates$1(nodes) {
9940 var generics = {};
9941 var bases = {};
9942 var typeGroups = [];
9943 var types = [];
9944
9945 for (var i = 0; i < nodes.length; i++) {
9946 var node = nodes[i];
9947 if (!node) continue;
9948
9949 if (types.indexOf(node) >= 0) {
9950 continue;
9951 }
9952
9953 if (isAnyTypeAnnotation(node)) {
9954 return [node];
9955 }
9956
9957 if (isFlowBaseAnnotation(node)) {
9958 bases[node.type] = node;
9959 continue;
9960 }
9961
9962 if (isUnionTypeAnnotation(node)) {
9963 if (typeGroups.indexOf(node.types) < 0) {
9964 nodes = nodes.concat(node.types);
9965 typeGroups.push(node.types);
9966 }
9967
9968 continue;
9969 }
9970
9971 if (isGenericTypeAnnotation(node)) {
9972 var name = getQualifiedName(node.id);
9973
9974 if (generics[name]) {
9975 var existing = generics[name];
9976
9977 if (existing.typeParameters) {
9978 if (node.typeParameters) {
9979 existing.typeParameters.params = removeTypeDuplicates$1(existing.typeParameters.params.concat(node.typeParameters.params));
9980 }
9981 } else {
9982 existing = node.typeParameters;
9983 }
9984 } else {
9985 generics[name] = node;
9986 }
9987
9988 continue;
9989 }
9990
9991 types.push(node);
9992 }
9993
9994 for (var _i = 0, _Object$keys = Object.keys(bases); _i < _Object$keys.length; _i++) {
9995 var type = _Object$keys[_i];
9996 types.push(bases[type]);
9997 }
9998
9999 for (var _i2 = 0, _Object$keys2 = Object.keys(generics); _i2 < _Object$keys2.length; _i2++) {
10000 var _name = _Object$keys2[_i2];
10001 types.push(generics[_name]);
10002 }
10003
10004 return types;
10005 }
10006
10007 function createFlowUnionType(types) {
10008 var flattened = removeTypeDuplicates$1(types);
10009
10010 if (flattened.length === 1) {
10011 return flattened[0];
10012 } else {
10013 return unionTypeAnnotation(flattened);
10014 }
10015 }
10016
10017 function removeTypeDuplicates(nodes) {
10018 var generics = {};
10019 var bases = {};
10020 var typeGroups = [];
10021 var types = [];
10022
10023 for (var i = 0; i < nodes.length; i++) {
10024 var node = nodes[i];
10025 if (!node) continue;
10026
10027 if (types.indexOf(node) >= 0) {
10028 continue;
10029 }
10030
10031 if (isTSAnyKeyword(node)) {
10032 return [node];
10033 }
10034
10035 if (isTSBaseType(node)) {
10036 bases[node.type] = node;
10037 continue;
10038 }
10039
10040 if (isTSUnionType(node)) {
10041 if (typeGroups.indexOf(node.types) < 0) {
10042 nodes = nodes.concat(node.types);
10043 typeGroups.push(node.types);
10044 }
10045
10046 continue;
10047 }
10048
10049 types.push(node);
10050 }
10051
10052 for (var _i = 0, _Object$keys = Object.keys(bases); _i < _Object$keys.length; _i++) {
10053 var type = _Object$keys[_i];
10054 types.push(bases[type]);
10055 }
10056
10057 for (var _i2 = 0, _Object$keys2 = Object.keys(generics); _i2 < _Object$keys2.length; _i2++) {
10058 var name = _Object$keys2[_i2];
10059 types.push(generics[name]);
10060 }
10061
10062 return types;
10063 }
10064
10065 function createTSUnionType(typeAnnotations) {
10066 var types = typeAnnotations.map(function (type) {
10067 return type.typeAnnotation;
10068 });
10069 var flattened = removeTypeDuplicates(types);
10070
10071 if (flattened.length === 1) {
10072 return flattened[0];
10073 } else {
10074 return tsUnionType(flattened);
10075 }
10076 }
10077
10078 var has$d = Function.call.bind(Object.prototype.hasOwnProperty);
10079
10080 function cloneIfNode(obj, deep, withoutLoc) {
10081 if (obj && typeof obj.type === "string") {
10082 return cloneNode(obj, deep, withoutLoc);
10083 }
10084
10085 return obj;
10086 }
10087
10088 function cloneIfNodeOrArray(obj, deep, withoutLoc) {
10089 if (Array.isArray(obj)) {
10090 return obj.map(function (node) {
10091 return cloneIfNode(node, deep, withoutLoc);
10092 });
10093 }
10094
10095 return cloneIfNode(obj, deep, withoutLoc);
10096 }
10097
10098 function cloneNode(node, deep, withoutLoc) {
10099 if (deep === void 0) {
10100 deep = true;
10101 }
10102
10103 if (withoutLoc === void 0) {
10104 withoutLoc = false;
10105 }
10106
10107 if (!node) return node;
10108 var type = node.type;
10109 var newNode = {
10110 type: node.type
10111 };
10112
10113 if (isIdentifier(node)) {
10114 newNode.name = node.name;
10115
10116 if (has$d(node, "optional") && typeof node.optional === "boolean") {
10117 newNode.optional = node.optional;
10118 }
10119
10120 if (has$d(node, "typeAnnotation")) {
10121 newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true, withoutLoc) : node.typeAnnotation;
10122 }
10123 } else if (!has$d(NODE_FIELDS, type)) {
10124 throw new Error("Unknown node type: \"" + type + "\"");
10125 } else {
10126 for (var _i = 0, _Object$keys = Object.keys(NODE_FIELDS[type]); _i < _Object$keys.length; _i++) {
10127 var field = _Object$keys[_i];
10128
10129 if (has$d(node, field)) {
10130 if (deep) {
10131 newNode[field] = isFile(node) && field === "comments" ? maybeCloneComments(node.comments, deep, withoutLoc) : cloneIfNodeOrArray(node[field], true, withoutLoc);
10132 } else {
10133 newNode[field] = node[field];
10134 }
10135 }
10136 }
10137 }
10138
10139 if (has$d(node, "loc")) {
10140 if (withoutLoc) {
10141 newNode.loc = null;
10142 } else {
10143 newNode.loc = node.loc;
10144 }
10145 }
10146
10147 if (has$d(node, "leadingComments")) {
10148 newNode.leadingComments = maybeCloneComments(node.leadingComments, deep, withoutLoc);
10149 }
10150
10151 if (has$d(node, "innerComments")) {
10152 newNode.innerComments = maybeCloneComments(node.innerComments, deep, withoutLoc);
10153 }
10154
10155 if (has$d(node, "trailingComments")) {
10156 newNode.trailingComments = maybeCloneComments(node.trailingComments, deep, withoutLoc);
10157 }
10158
10159 if (has$d(node, "extra")) {
10160 newNode.extra = Object.assign({}, node.extra);
10161 }
10162
10163 return newNode;
10164 }
10165
10166 function maybeCloneComments(comments, deep, withoutLoc) {
10167 if (!comments || !deep) {
10168 return comments;
10169 }
10170
10171 return comments.map(function (_ref) {
10172 var type = _ref.type,
10173 value = _ref.value,
10174 loc = _ref.loc;
10175
10176 if (withoutLoc) {
10177 return {
10178 type: type,
10179 value: value,
10180 loc: null
10181 };
10182 }
10183
10184 return {
10185 type: type,
10186 value: value,
10187 loc: loc
10188 };
10189 });
10190 }
10191
10192 function clone(node) {
10193 return cloneNode(node, false);
10194 }
10195
10196 function cloneDeep$1(node) {
10197 return cloneNode(node);
10198 }
10199
10200 function cloneDeepWithoutLoc(node) {
10201 return cloneNode(node, true, true);
10202 }
10203
10204 function cloneWithoutLoc(node) {
10205 return cloneNode(node, false, true);
10206 }
10207
10208 function addComments$1(node, type, comments) {
10209 if (!comments || !node) return node;
10210 var key = type + "Comments";
10211
10212 if (node[key]) {
10213 if (type === "leading") {
10214 node[key] = comments.concat(node[key]);
10215 } else {
10216 node[key] = node[key].concat(comments);
10217 }
10218 } else {
10219 node[key] = comments;
10220 }
10221
10222 return node;
10223 }
10224
10225 function addComment$1(node, type, content, line) {
10226 return addComments$1(node, type, [{
10227 type: line ? "CommentLine" : "CommentBlock",
10228 value: content
10229 }]);
10230 }
10231
10232 function inherit(key, child, parent) {
10233 if (child && parent) {
10234 child[key] = Array.from(new Set([].concat(child[key], parent[key]).filter(Boolean)));
10235 }
10236 }
10237
10238 function inheritInnerComments(child, parent) {
10239 inherit("innerComments", child, parent);
10240 }
10241
10242 function inheritLeadingComments(child, parent) {
10243 inherit("leadingComments", child, parent);
10244 }
10245
10246 function inheritTrailingComments(child, parent) {
10247 inherit("trailingComments", child, parent);
10248 }
10249
10250 function inheritsComments(child, parent) {
10251 inheritTrailingComments(child, parent);
10252 inheritLeadingComments(child, parent);
10253 inheritInnerComments(child, parent);
10254 return child;
10255 }
10256
10257 function removeComments(node) {
10258 COMMENT_KEYS.forEach(function (key) {
10259 node[key] = null;
10260 });
10261 return node;
10262 }
10263
10264 var EXPRESSION_TYPES = FLIPPED_ALIAS_KEYS["Expression"];
10265 var BINARY_TYPES = FLIPPED_ALIAS_KEYS["Binary"];
10266 var SCOPABLE_TYPES = FLIPPED_ALIAS_KEYS["Scopable"];
10267 var BLOCKPARENT_TYPES = FLIPPED_ALIAS_KEYS["BlockParent"];
10268 var BLOCK_TYPES = FLIPPED_ALIAS_KEYS["Block"];
10269 var STATEMENT_TYPES = FLIPPED_ALIAS_KEYS["Statement"];
10270 var TERMINATORLESS_TYPES = FLIPPED_ALIAS_KEYS["Terminatorless"];
10271 var COMPLETIONSTATEMENT_TYPES = FLIPPED_ALIAS_KEYS["CompletionStatement"];
10272 var CONDITIONAL_TYPES = FLIPPED_ALIAS_KEYS["Conditional"];
10273 var LOOP_TYPES = FLIPPED_ALIAS_KEYS["Loop"];
10274 var WHILE_TYPES = FLIPPED_ALIAS_KEYS["While"];
10275 var EXPRESSIONWRAPPER_TYPES = FLIPPED_ALIAS_KEYS["ExpressionWrapper"];
10276 var FOR_TYPES = FLIPPED_ALIAS_KEYS["For"];
10277 var FORXSTATEMENT_TYPES = FLIPPED_ALIAS_KEYS["ForXStatement"];
10278 var FUNCTION_TYPES = FLIPPED_ALIAS_KEYS["Function"];
10279 var FUNCTIONPARENT_TYPES = FLIPPED_ALIAS_KEYS["FunctionParent"];
10280 var PUREISH_TYPES = FLIPPED_ALIAS_KEYS["Pureish"];
10281 var DECLARATION_TYPES = FLIPPED_ALIAS_KEYS["Declaration"];
10282 var PATTERNLIKE_TYPES = FLIPPED_ALIAS_KEYS["PatternLike"];
10283 var LVAL_TYPES = FLIPPED_ALIAS_KEYS["LVal"];
10284 var TSENTITYNAME_TYPES = FLIPPED_ALIAS_KEYS["TSEntityName"];
10285 var LITERAL_TYPES = FLIPPED_ALIAS_KEYS["Literal"];
10286 var IMMUTABLE_TYPES = FLIPPED_ALIAS_KEYS["Immutable"];
10287 var USERWHITESPACABLE_TYPES = FLIPPED_ALIAS_KEYS["UserWhitespacable"];
10288 var METHOD_TYPES = FLIPPED_ALIAS_KEYS["Method"];
10289 var OBJECTMEMBER_TYPES = FLIPPED_ALIAS_KEYS["ObjectMember"];
10290 var PROPERTY_TYPES = FLIPPED_ALIAS_KEYS["Property"];
10291 var UNARYLIKE_TYPES = FLIPPED_ALIAS_KEYS["UnaryLike"];
10292 var PATTERN_TYPES = FLIPPED_ALIAS_KEYS["Pattern"];
10293 var CLASS_TYPES = FLIPPED_ALIAS_KEYS["Class"];
10294 var MODULEDECLARATION_TYPES = FLIPPED_ALIAS_KEYS["ModuleDeclaration"];
10295 var EXPORTDECLARATION_TYPES = FLIPPED_ALIAS_KEYS["ExportDeclaration"];
10296 var MODULESPECIFIER_TYPES = FLIPPED_ALIAS_KEYS["ModuleSpecifier"];
10297 var PRIVATE_TYPES = FLIPPED_ALIAS_KEYS["Private"];
10298 var FLOW_TYPES = FLIPPED_ALIAS_KEYS["Flow"];
10299 var FLOWTYPE_TYPES = FLIPPED_ALIAS_KEYS["FlowType"];
10300 var FLOWBASEANNOTATION_TYPES = FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"];
10301 var FLOWDECLARATION_TYPES = FLIPPED_ALIAS_KEYS["FlowDeclaration"];
10302 var FLOWPREDICATE_TYPES = FLIPPED_ALIAS_KEYS["FlowPredicate"];
10303 var ENUMBODY_TYPES = FLIPPED_ALIAS_KEYS["EnumBody"];
10304 var ENUMMEMBER_TYPES = FLIPPED_ALIAS_KEYS["EnumMember"];
10305 var JSX_TYPES = FLIPPED_ALIAS_KEYS["JSX"];
10306 var TSTYPEELEMENT_TYPES = FLIPPED_ALIAS_KEYS["TSTypeElement"];
10307 var TSTYPE_TYPES = FLIPPED_ALIAS_KEYS["TSType"];
10308 var TSBASETYPE_TYPES = FLIPPED_ALIAS_KEYS["TSBaseType"];
10309
10310 function toBlock(node, parent) {
10311 if (isBlockStatement(node)) {
10312 return node;
10313 }
10314
10315 var blockNodes = [];
10316
10317 if (isEmptyStatement(node)) {
10318 blockNodes = [];
10319 } else {
10320 if (!isStatement(node)) {
10321 if (isFunction$1(parent)) {
10322 node = returnStatement(node);
10323 } else {
10324 node = expressionStatement(node);
10325 }
10326 }
10327
10328 blockNodes = [node];
10329 }
10330
10331 return blockStatement(blockNodes);
10332 }
10333
10334 function ensureBlock$1(node, key) {
10335 if (key === void 0) {
10336 key = "body";
10337 }
10338
10339 return node[key] = toBlock(node[key], node);
10340 }
10341
10342 function toIdentifier(input) {
10343 input = input + "";
10344 var name = "";
10345
10346 for (var _iterator = _createForOfIteratorHelperLoose(input), _step; !(_step = _iterator()).done;) {
10347 var c = _step.value;
10348 name += isIdentifierChar(c.codePointAt(0)) ? c : "-";
10349 }
10350
10351 name = name.replace(/^[-0-9]+/, "");
10352 name = name.replace(/[-\s]+(.)?/g, function (match, c) {
10353 return c ? c.toUpperCase() : "";
10354 });
10355
10356 if (!isValidIdentifier(name)) {
10357 name = "_" + name;
10358 }
10359
10360 return name || "_";
10361 }
10362
10363 function toBindingIdentifierName(name) {
10364 name = toIdentifier(name);
10365 if (name === "eval" || name === "arguments") name = "_" + name;
10366 return name;
10367 }
10368
10369 function toComputedKey$1(node, key) {
10370 if (key === void 0) {
10371 key = node.key || node.property;
10372 }
10373
10374 if (!node.computed && isIdentifier(key)) key = stringLiteral(key.name);
10375 return key;
10376 }
10377
10378 function toExpression(node) {
10379 if (isExpressionStatement(node)) {
10380 node = node.expression;
10381 }
10382
10383 if (isExpression(node)) {
10384 return node;
10385 }
10386
10387 if (isClass(node)) {
10388 node.type = "ClassExpression";
10389 } else if (isFunction$1(node)) {
10390 node.type = "FunctionExpression";
10391 }
10392
10393 if (!isExpression(node)) {
10394 throw new Error("cannot turn " + node.type + " to an expression");
10395 }
10396
10397 return node;
10398 }
10399
10400 function traverseFast(node, enter, opts) {
10401 if (!node) return;
10402 var keys = VISITOR_KEYS[node.type];
10403 if (!keys) return;
10404 opts = opts || {};
10405 enter(node, opts);
10406
10407 for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
10408 var key = _step.value;
10409 var subNode = node[key];
10410
10411 if (Array.isArray(subNode)) {
10412 for (var _iterator2 = _createForOfIteratorHelperLoose(subNode), _step2; !(_step2 = _iterator2()).done;) {
10413 var _node = _step2.value;
10414 traverseFast(_node, enter, opts);
10415 }
10416 } else {
10417 traverseFast(subNode, enter, opts);
10418 }
10419 }
10420 }
10421
10422 var CLEAR_KEYS = ["tokens", "start", "end", "loc", "raw", "rawValue"];
10423 var CLEAR_KEYS_PLUS_COMMENTS = COMMENT_KEYS.concat(["comments"]).concat(CLEAR_KEYS);
10424 function removeProperties(node, opts) {
10425 if (opts === void 0) {
10426 opts = {};
10427 }
10428
10429 var map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS;
10430
10431 for (var _iterator = _createForOfIteratorHelperLoose(map), _step; !(_step = _iterator()).done;) {
10432 var _key = _step.value;
10433 if (node[_key] != null) node[_key] = undefined;
10434 }
10435
10436 for (var _i = 0, _Object$keys = Object.keys(node); _i < _Object$keys.length; _i++) {
10437 var key = _Object$keys[_i];
10438 if (key[0] === "_" && node[key] != null) node[key] = undefined;
10439 }
10440
10441 var symbols = Object.getOwnPropertySymbols(node);
10442
10443 for (var _iterator2 = _createForOfIteratorHelperLoose(symbols), _step2; !(_step2 = _iterator2()).done;) {
10444 var sym = _step2.value;
10445 node[sym] = null;
10446 }
10447 }
10448
10449 function removePropertiesDeep(tree, opts) {
10450 traverseFast(tree, removeProperties, opts);
10451 return tree;
10452 }
10453
10454 function toKeyAlias(node, key) {
10455 if (key === void 0) {
10456 key = node.key;
10457 }
10458
10459 var alias;
10460
10461 if (node.kind === "method") {
10462 return toKeyAlias.increment() + "";
10463 } else if (isIdentifier(key)) {
10464 alias = key.name;
10465 } else if (isStringLiteral(key)) {
10466 alias = JSON.stringify(key.value);
10467 } else {
10468 alias = JSON.stringify(removePropertiesDeep(cloneNode(key)));
10469 }
10470
10471 if (node.computed) {
10472 alias = "[" + alias + "]";
10473 }
10474
10475 if (node["static"]) {
10476 alias = "static:" + alias;
10477 }
10478
10479 return alias;
10480 }
10481 toKeyAlias.uid = 0;
10482
10483 toKeyAlias.increment = function () {
10484 if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) {
10485 return toKeyAlias.uid = 0;
10486 } else {
10487 return toKeyAlias.uid++;
10488 }
10489 };
10490
10491 function getBindingIdentifiers$1(node, duplicates, outerOnly) {
10492 var search = [].concat(node);
10493 var ids = Object.create(null);
10494
10495 while (search.length) {
10496 var id = search.shift();
10497 if (!id) continue;
10498 var keys = getBindingIdentifiers$1.keys[id.type];
10499
10500 if (isIdentifier(id)) {
10501 if (duplicates) {
10502 var _ids = ids[id.name] = ids[id.name] || [];
10503
10504 _ids.push(id);
10505 } else {
10506 ids[id.name] = id;
10507 }
10508
10509 continue;
10510 }
10511
10512 if (isExportDeclaration(id) && !isExportAllDeclaration(id)) {
10513 if (isDeclaration(id.declaration)) {
10514 search.push(id.declaration);
10515 }
10516
10517 continue;
10518 }
10519
10520 if (outerOnly) {
10521 if (isFunctionDeclaration(id)) {
10522 search.push(id.id);
10523 continue;
10524 }
10525
10526 if (isFunctionExpression(id)) {
10527 continue;
10528 }
10529 }
10530
10531 if (keys) {
10532 for (var i = 0; i < keys.length; i++) {
10533 var key = keys[i];
10534
10535 if (id[key]) {
10536 search = search.concat(id[key]);
10537 }
10538 }
10539 }
10540 }
10541
10542 return ids;
10543 }
10544
10545 getBindingIdentifiers$1.keys = {
10546 DeclareClass: ["id"],
10547 DeclareFunction: ["id"],
10548 DeclareModule: ["id"],
10549 DeclareVariable: ["id"],
10550 DeclareInterface: ["id"],
10551 DeclareTypeAlias: ["id"],
10552 DeclareOpaqueType: ["id"],
10553 InterfaceDeclaration: ["id"],
10554 TypeAlias: ["id"],
10555 OpaqueType: ["id"],
10556 CatchClause: ["param"],
10557 LabeledStatement: ["label"],
10558 UnaryExpression: ["argument"],
10559 AssignmentExpression: ["left"],
10560 ImportSpecifier: ["local"],
10561 ImportNamespaceSpecifier: ["local"],
10562 ImportDefaultSpecifier: ["local"],
10563 ImportDeclaration: ["specifiers"],
10564 ExportSpecifier: ["exported"],
10565 ExportNamespaceSpecifier: ["exported"],
10566 ExportDefaultSpecifier: ["exported"],
10567 FunctionDeclaration: ["id", "params"],
10568 FunctionExpression: ["id", "params"],
10569 ArrowFunctionExpression: ["params"],
10570 ObjectMethod: ["params"],
10571 ClassMethod: ["params"],
10572 ForInStatement: ["left"],
10573 ForOfStatement: ["left"],
10574 ClassDeclaration: ["id"],
10575 ClassExpression: ["id"],
10576 RestElement: ["argument"],
10577 UpdateExpression: ["argument"],
10578 ObjectProperty: ["value"],
10579 AssignmentPattern: ["left"],
10580 ArrayPattern: ["elements"],
10581 ObjectPattern: ["properties"],
10582 VariableDeclaration: ["declarations"],
10583 VariableDeclarator: ["id"]
10584 };
10585
10586 function gatherSequenceExpressions(nodes, scope, declars) {
10587 var exprs = [];
10588 var ensureLastUndefined = true;
10589
10590 for (var _iterator = _createForOfIteratorHelperLoose(nodes), _step; !(_step = _iterator()).done;) {
10591 var node = _step.value;
10592
10593 if (!isEmptyStatement(node)) {
10594 ensureLastUndefined = false;
10595 }
10596
10597 if (isExpression(node)) {
10598 exprs.push(node);
10599 } else if (isExpressionStatement(node)) {
10600 exprs.push(node.expression);
10601 } else if (isVariableDeclaration(node)) {
10602 if (node.kind !== "var") return;
10603
10604 for (var _iterator2 = _createForOfIteratorHelperLoose(node.declarations), _step2; !(_step2 = _iterator2()).done;) {
10605 var declar = _step2.value;
10606 var bindings = getBindingIdentifiers$1(declar);
10607
10608 for (var _i = 0, _Object$keys = Object.keys(bindings); _i < _Object$keys.length; _i++) {
10609 var key = _Object$keys[_i];
10610 declars.push({
10611 kind: node.kind,
10612 id: cloneNode(bindings[key])
10613 });
10614 }
10615
10616 if (declar.init) {
10617 exprs.push(assignmentExpression("=", declar.id, declar.init));
10618 }
10619 }
10620
10621 ensureLastUndefined = true;
10622 } else if (isIfStatement(node)) {
10623 var consequent = node.consequent ? gatherSequenceExpressions([node.consequent], scope, declars) : scope.buildUndefinedNode();
10624 var alternate = node.alternate ? gatherSequenceExpressions([node.alternate], scope, declars) : scope.buildUndefinedNode();
10625 if (!consequent || !alternate) return;
10626 exprs.push(conditionalExpression(node.test, consequent, alternate));
10627 } else if (isBlockStatement(node)) {
10628 var body = gatherSequenceExpressions(node.body, scope, declars);
10629 if (!body) return;
10630 exprs.push(body);
10631 } else if (isEmptyStatement(node)) {
10632 if (nodes.indexOf(node) === 0) {
10633 ensureLastUndefined = true;
10634 }
10635 } else {
10636 return;
10637 }
10638 }
10639
10640 if (ensureLastUndefined) {
10641 exprs.push(scope.buildUndefinedNode());
10642 }
10643
10644 if (exprs.length === 1) {
10645 return exprs[0];
10646 } else {
10647 return sequenceExpression(exprs);
10648 }
10649 }
10650
10651 function toSequenceExpression(nodes, scope) {
10652 if (!(nodes != null && nodes.length)) return;
10653 var declars = [];
10654 var result = gatherSequenceExpressions(nodes, scope, declars);
10655 if (!result) return;
10656
10657 for (var _i = 0, _declars = declars; _i < _declars.length; _i++) {
10658 var declar = _declars[_i];
10659 scope.push(declar);
10660 }
10661
10662 return result;
10663 }
10664
10665 function toStatement(node, ignore) {
10666 if (isStatement(node)) {
10667 return node;
10668 }
10669
10670 var mustHaveId = false;
10671 var newType;
10672
10673 if (isClass(node)) {
10674 mustHaveId = true;
10675 newType = "ClassDeclaration";
10676 } else if (isFunction$1(node)) {
10677 mustHaveId = true;
10678 newType = "FunctionDeclaration";
10679 } else if (isAssignmentExpression(node)) {
10680 return expressionStatement(node);
10681 }
10682
10683 if (mustHaveId && !node.id) {
10684 newType = false;
10685 }
10686
10687 if (!newType) {
10688 if (ignore) {
10689 return false;
10690 } else {
10691 throw new Error("cannot turn " + node.type + " to a statement");
10692 }
10693 }
10694
10695 node.type = newType;
10696 return node;
10697 }
10698
10699 var objectToString = Function.call.bind(Object.prototype.toString);
10700
10701 function isRegExp(value) {
10702 return objectToString(value) === "[object RegExp]";
10703 }
10704
10705 function isPlainObject(value) {
10706 if (typeof value !== "object" || value === null || Object.prototype.toString.call(value) !== "[object Object]") {
10707 return false;
10708 }
10709
10710 var proto = Object.getPrototypeOf(value);
10711 return proto === null || Object.getPrototypeOf(proto) === null;
10712 }
10713
10714 function valueToNode(value) {
10715 if (value === undefined) {
10716 return identifier("undefined");
10717 }
10718
10719 if (value === true || value === false) {
10720 return booleanLiteral(value);
10721 }
10722
10723 if (value === null) {
10724 return nullLiteral();
10725 }
10726
10727 if (typeof value === "string") {
10728 return stringLiteral(value);
10729 }
10730
10731 if (typeof value === "number") {
10732 var result;
10733
10734 if (Number.isFinite(value)) {
10735 result = numericLiteral(Math.abs(value));
10736 } else {
10737 var numerator;
10738
10739 if (Number.isNaN(value)) {
10740 numerator = numericLiteral(0);
10741 } else {
10742 numerator = numericLiteral(1);
10743 }
10744
10745 result = binaryExpression("/", numerator, numericLiteral(0));
10746 }
10747
10748 if (value < 0 || Object.is(value, -0)) {
10749 result = unaryExpression("-", result);
10750 }
10751
10752 return result;
10753 }
10754
10755 if (isRegExp(value)) {
10756 var pattern = value.source;
10757 var flags = value.toString().match(/\/([a-z]+|)$/)[1];
10758 return regExpLiteral(pattern, flags);
10759 }
10760
10761 if (Array.isArray(value)) {
10762 return arrayExpression(value.map(valueToNode));
10763 }
10764
10765 if (isPlainObject(value)) {
10766 var props = [];
10767
10768 for (var _i = 0, _Object$keys = Object.keys(value); _i < _Object$keys.length; _i++) {
10769 var key = _Object$keys[_i];
10770 var nodeKey = void 0;
10771
10772 if (isValidIdentifier(key)) {
10773 nodeKey = identifier(key);
10774 } else {
10775 nodeKey = stringLiteral(key);
10776 }
10777
10778 props.push(objectProperty(nodeKey, valueToNode(value[key])));
10779 }
10780
10781 return objectExpression(props);
10782 }
10783
10784 throw new Error("don't know how to turn this value into a node");
10785 }
10786
10787 function appendToMemberExpression(member, append, computed) {
10788 if (computed === void 0) {
10789 computed = false;
10790 }
10791
10792 member.object = memberExpression(member.object, member.property, member.computed);
10793 member.property = append;
10794 member.computed = !!computed;
10795 return member;
10796 }
10797
10798 function inherits(child, parent) {
10799 if (!child || !parent) return child;
10800
10801 for (var _iterator = _createForOfIteratorHelperLoose(INHERIT_KEYS.optional), _step; !(_step = _iterator()).done;) {
10802 var _key = _step.value;
10803
10804 if (child[_key] == null) {
10805 child[_key] = parent[_key];
10806 }
10807 }
10808
10809 for (var _i = 0, _Object$keys = Object.keys(parent); _i < _Object$keys.length; _i++) {
10810 var key = _Object$keys[_i];
10811 if (key[0] === "_" && key !== "__clone") child[key] = parent[key];
10812 }
10813
10814 for (var _iterator2 = _createForOfIteratorHelperLoose(INHERIT_KEYS.force), _step2; !(_step2 = _iterator2()).done;) {
10815 var _key2 = _step2.value;
10816 child[_key2] = parent[_key2];
10817 }
10818
10819 inheritsComments(child, parent);
10820 return child;
10821 }
10822
10823 function prependToMemberExpression(member, prepend) {
10824 member.object = memberExpression(prepend, member.object);
10825 return member;
10826 }
10827
10828 function getOuterBindingIdentifiers$1(node, duplicates) {
10829 return getBindingIdentifiers$1(node, duplicates, true);
10830 }
10831
10832 function traverse$1(node, handlers, state) {
10833 if (typeof handlers === "function") {
10834 handlers = {
10835 enter: handlers
10836 };
10837 }
10838
10839 var _ref = handlers,
10840 enter = _ref.enter,
10841 exit = _ref.exit;
10842 traverseSimpleImpl(node, enter, exit, state, []);
10843 }
10844
10845 function traverseSimpleImpl(node, enter, exit, state, ancestors) {
10846 var keys = VISITOR_KEYS[node.type];
10847 if (!keys) return;
10848 if (enter) enter(node, ancestors, state);
10849
10850 for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
10851 var key = _step.value;
10852 var subNode = node[key];
10853
10854 if (Array.isArray(subNode)) {
10855 for (var i = 0; i < subNode.length; i++) {
10856 var child = subNode[i];
10857 if (!child) continue;
10858 ancestors.push({
10859 node: node,
10860 key: key,
10861 index: i
10862 });
10863 traverseSimpleImpl(child, enter, exit, state, ancestors);
10864 ancestors.pop();
10865 }
10866 } else if (subNode) {
10867 ancestors.push({
10868 node: node,
10869 key: key
10870 });
10871 traverseSimpleImpl(subNode, enter, exit, state, ancestors);
10872 ancestors.pop();
10873 }
10874 }
10875
10876 if (exit) exit(node, ancestors, state);
10877 }
10878
10879 function isBinding(node, parent, grandparent) {
10880 if (grandparent && node.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") {
10881 return false;
10882 }
10883
10884 var keys = getBindingIdentifiers$1.keys[parent.type];
10885
10886 if (keys) {
10887 for (var i = 0; i < keys.length; i++) {
10888 var key = keys[i];
10889 var val = parent[key];
10890
10891 if (Array.isArray(val)) {
10892 if (val.indexOf(node) >= 0) return true;
10893 } else {
10894 if (val === node) return true;
10895 }
10896 }
10897 }
10898
10899 return false;
10900 }
10901
10902 function isLet(node) {
10903 return isVariableDeclaration(node) && (node.kind !== "var" || node[BLOCK_SCOPED_SYMBOL]);
10904 }
10905
10906 function isBlockScoped$1(node) {
10907 return isFunctionDeclaration(node) || isClassDeclaration(node) || isLet(node);
10908 }
10909
10910 function isImmutable(node) {
10911 if (isType$1(node.type, "Immutable")) return true;
10912
10913 if (isIdentifier(node)) {
10914 if (node.name === "undefined") {
10915 return true;
10916 } else {
10917 return false;
10918 }
10919 }
10920
10921 return false;
10922 }
10923
10924 function isNodesEquivalent(a, b) {
10925 if (typeof a !== "object" || typeof b !== "object" || a == null || b == null) {
10926 return a === b;
10927 }
10928
10929 if (a.type !== b.type) {
10930 return false;
10931 }
10932
10933 var fields = Object.keys(NODE_FIELDS[a.type] || a.type);
10934 var visitorKeys = VISITOR_KEYS[a.type];
10935
10936 for (var _i = 0, _fields = fields; _i < _fields.length; _i++) {
10937 var field = _fields[_i];
10938
10939 if (typeof a[field] !== typeof b[field]) {
10940 return false;
10941 }
10942
10943 if (a[field] == null && b[field] == null) {
10944 continue;
10945 } else if (a[field] == null || b[field] == null) {
10946 return false;
10947 }
10948
10949 if (Array.isArray(a[field])) {
10950 if (!Array.isArray(b[field])) {
10951 return false;
10952 }
10953
10954 if (a[field].length !== b[field].length) {
10955 return false;
10956 }
10957
10958 for (var i = 0; i < a[field].length; i++) {
10959 if (!isNodesEquivalent(a[field][i], b[field][i])) {
10960 return false;
10961 }
10962 }
10963
10964 continue;
10965 }
10966
10967 if (typeof a[field] === "object" && !(visitorKeys != null && visitorKeys.includes(field))) {
10968 for (var _i2 = 0, _Object$keys = Object.keys(a[field]); _i2 < _Object$keys.length; _i2++) {
10969 var key = _Object$keys[_i2];
10970
10971 if (a[field][key] !== b[field][key]) {
10972 return false;
10973 }
10974 }
10975
10976 continue;
10977 }
10978
10979 if (!isNodesEquivalent(a[field], b[field])) {
10980 return false;
10981 }
10982 }
10983
10984 return true;
10985 }
10986
10987 function isReferenced(node, parent, grandparent) {
10988 switch (parent.type) {
10989 case "MemberExpression":
10990 case "JSXMemberExpression":
10991 case "OptionalMemberExpression":
10992 if (parent.property === node) {
10993 return !!parent.computed;
10994 }
10995
10996 return parent.object === node;
10997
10998 case "VariableDeclarator":
10999 return parent.init === node;
11000
11001 case "ArrowFunctionExpression":
11002 return parent.body === node;
11003
11004 case "PrivateName":
11005 return false;
11006
11007 case "ClassMethod":
11008 case "ClassPrivateMethod":
11009 case "ObjectMethod":
11010 if (parent.params.includes(node)) {
11011 return false;
11012 }
11013
11014 case "ObjectProperty":
11015 case "ClassProperty":
11016 case "ClassPrivateProperty":
11017 if (parent.key === node) {
11018 return !!parent.computed;
11019 }
11020
11021 if (parent.value === node) {
11022 return !grandparent || grandparent.type !== "ObjectPattern";
11023 }
11024
11025 return true;
11026
11027 case "ClassDeclaration":
11028 case "ClassExpression":
11029 return parent.superClass === node;
11030
11031 case "AssignmentExpression":
11032 return parent.right === node;
11033
11034 case "AssignmentPattern":
11035 return parent.right === node;
11036
11037 case "LabeledStatement":
11038 return false;
11039
11040 case "CatchClause":
11041 return false;
11042
11043 case "RestElement":
11044 return false;
11045
11046 case "BreakStatement":
11047 case "ContinueStatement":
11048 return false;
11049
11050 case "FunctionDeclaration":
11051 case "FunctionExpression":
11052 return false;
11053
11054 case "ExportNamespaceSpecifier":
11055 case "ExportDefaultSpecifier":
11056 return false;
11057
11058 case "ExportSpecifier":
11059 if (grandparent != null && grandparent.source) {
11060 return false;
11061 }
11062
11063 return parent.local === node;
11064
11065 case "ImportDefaultSpecifier":
11066 case "ImportNamespaceSpecifier":
11067 case "ImportSpecifier":
11068 return false;
11069
11070 case "JSXAttribute":
11071 return false;
11072
11073 case "ObjectPattern":
11074 case "ArrayPattern":
11075 return false;
11076
11077 case "MetaProperty":
11078 return false;
11079
11080 case "ObjectTypeProperty":
11081 return parent.key !== node;
11082
11083 case "TSEnumMember":
11084 return parent.id !== node;
11085
11086 case "TSPropertySignature":
11087 if (parent.key === node) {
11088 return !!parent.computed;
11089 }
11090
11091 return true;
11092 }
11093
11094 return true;
11095 }
11096
11097 function isScope(node, parent) {
11098 if (isBlockStatement(node) && (isFunction$1(parent) || isCatchClause(parent))) {
11099 return false;
11100 }
11101
11102 if (isPattern(node) && (isFunction$1(parent) || isCatchClause(parent))) {
11103 return true;
11104 }
11105
11106 return isScopable(node);
11107 }
11108
11109 function isSpecifierDefault(specifier) {
11110 return isImportDefaultSpecifier(specifier) || isIdentifier(specifier.imported || specifier.exported, {
11111 name: "default"
11112 });
11113 }
11114
11115 var RESERVED_WORDS_ES3_ONLY = new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]);
11116 function isValidES3Identifier(name) {
11117 return isValidIdentifier(name) && !RESERVED_WORDS_ES3_ONLY.has(name);
11118 }
11119
11120 function isVar$1(node) {
11121 return isVariableDeclaration(node, {
11122 kind: "var"
11123 }) && !node[BLOCK_SCOPED_SYMBOL];
11124 }
11125
11126 var react = {
11127 isReactComponent: isReactComponent,
11128 isCompatTag: isCompatTag,
11129 buildChildren: buildChildren
11130 };
11131
11132 var t$p = /*#__PURE__*/Object.freeze({
11133 __proto__: null,
11134 react: react,
11135 assertNode: assertNode,
11136 createTypeAnnotationBasedOnTypeof: createTypeAnnotationBasedOnTypeof,
11137 createUnionTypeAnnotation: createFlowUnionType,
11138 createFlowUnionType: createFlowUnionType,
11139 createTSUnionType: createTSUnionType,
11140 cloneNode: cloneNode,
11141 clone: clone,
11142 cloneDeep: cloneDeep$1,
11143 cloneDeepWithoutLoc: cloneDeepWithoutLoc,
11144 cloneWithoutLoc: cloneWithoutLoc,
11145 addComment: addComment$1,
11146 addComments: addComments$1,
11147 inheritInnerComments: inheritInnerComments,
11148 inheritLeadingComments: inheritLeadingComments,
11149 inheritsComments: inheritsComments,
11150 inheritTrailingComments: inheritTrailingComments,
11151 removeComments: removeComments,
11152 ensureBlock: ensureBlock$1,
11153 toBindingIdentifierName: toBindingIdentifierName,
11154 toBlock: toBlock,
11155 toComputedKey: toComputedKey$1,
11156 toExpression: toExpression,
11157 toIdentifier: toIdentifier,
11158 toKeyAlias: toKeyAlias,
11159 toSequenceExpression: toSequenceExpression,
11160 toStatement: toStatement,
11161 valueToNode: valueToNode,
11162 appendToMemberExpression: appendToMemberExpression,
11163 inherits: inherits,
11164 prependToMemberExpression: prependToMemberExpression,
11165 removeProperties: removeProperties,
11166 removePropertiesDeep: removePropertiesDeep,
11167 removeTypeDuplicates: removeTypeDuplicates$1,
11168 getBindingIdentifiers: getBindingIdentifiers$1,
11169 getOuterBindingIdentifiers: getOuterBindingIdentifiers$1,
11170 traverse: traverse$1,
11171 traverseFast: traverseFast,
11172 shallowEqual: shallowEqual,
11173 is: is$1,
11174 isBinding: isBinding,
11175 isBlockScoped: isBlockScoped$1,
11176 isImmutable: isImmutable,
11177 isLet: isLet,
11178 isNode: isNode,
11179 isNodesEquivalent: isNodesEquivalent,
11180 isPlaceholderType: isPlaceholderType,
11181 isReferenced: isReferenced,
11182 isScope: isScope,
11183 isSpecifierDefault: isSpecifierDefault,
11184 isType: isType$1,
11185 isValidES3Identifier: isValidES3Identifier,
11186 isValidIdentifier: isValidIdentifier,
11187 isVar: isVar$1,
11188 matchesPattern: matchesPattern$1,
11189 validate: validate$3,
11190 buildMatchMemberExpression: buildMatchMemberExpression,
11191 assertArrayExpression: assertArrayExpression,
11192 assertAssignmentExpression: assertAssignmentExpression,
11193 assertBinaryExpression: assertBinaryExpression,
11194 assertInterpreterDirective: assertInterpreterDirective,
11195 assertDirective: assertDirective,
11196 assertDirectiveLiteral: assertDirectiveLiteral,
11197 assertBlockStatement: assertBlockStatement,
11198 assertBreakStatement: assertBreakStatement,
11199 assertCallExpression: assertCallExpression,
11200 assertCatchClause: assertCatchClause,
11201 assertConditionalExpression: assertConditionalExpression,
11202 assertContinueStatement: assertContinueStatement,
11203 assertDebuggerStatement: assertDebuggerStatement,
11204 assertDoWhileStatement: assertDoWhileStatement,
11205 assertEmptyStatement: assertEmptyStatement,
11206 assertExpressionStatement: assertExpressionStatement,
11207 assertFile: assertFile,
11208 assertForInStatement: assertForInStatement,
11209 assertForStatement: assertForStatement,
11210 assertFunctionDeclaration: assertFunctionDeclaration,
11211 assertFunctionExpression: assertFunctionExpression,
11212 assertIdentifier: assertIdentifier,
11213 assertIfStatement: assertIfStatement,
11214 assertLabeledStatement: assertLabeledStatement,
11215 assertStringLiteral: assertStringLiteral,
11216 assertNumericLiteral: assertNumericLiteral,
11217 assertNullLiteral: assertNullLiteral,
11218 assertBooleanLiteral: assertBooleanLiteral,
11219 assertRegExpLiteral: assertRegExpLiteral,
11220 assertLogicalExpression: assertLogicalExpression,
11221 assertMemberExpression: assertMemberExpression,
11222 assertNewExpression: assertNewExpression,
11223 assertProgram: assertProgram,
11224 assertObjectExpression: assertObjectExpression,
11225 assertObjectMethod: assertObjectMethod,
11226 assertObjectProperty: assertObjectProperty,
11227 assertRestElement: assertRestElement,
11228 assertReturnStatement: assertReturnStatement,
11229 assertSequenceExpression: assertSequenceExpression,
11230 assertParenthesizedExpression: assertParenthesizedExpression,
11231 assertSwitchCase: assertSwitchCase,
11232 assertSwitchStatement: assertSwitchStatement,
11233 assertThisExpression: assertThisExpression,
11234 assertThrowStatement: assertThrowStatement,
11235 assertTryStatement: assertTryStatement,
11236 assertUnaryExpression: assertUnaryExpression,
11237 assertUpdateExpression: assertUpdateExpression,
11238 assertVariableDeclaration: assertVariableDeclaration,
11239 assertVariableDeclarator: assertVariableDeclarator,
11240 assertWhileStatement: assertWhileStatement,
11241 assertWithStatement: assertWithStatement,
11242 assertAssignmentPattern: assertAssignmentPattern,
11243 assertArrayPattern: assertArrayPattern,
11244 assertArrowFunctionExpression: assertArrowFunctionExpression,
11245 assertClassBody: assertClassBody,
11246 assertClassExpression: assertClassExpression,
11247 assertClassDeclaration: assertClassDeclaration,
11248 assertExportAllDeclaration: assertExportAllDeclaration,
11249 assertExportDefaultDeclaration: assertExportDefaultDeclaration,
11250 assertExportNamedDeclaration: assertExportNamedDeclaration,
11251 assertExportSpecifier: assertExportSpecifier$1,
11252 assertForOfStatement: assertForOfStatement,
11253 assertImportDeclaration: assertImportDeclaration,
11254 assertImportDefaultSpecifier: assertImportDefaultSpecifier,
11255 assertImportNamespaceSpecifier: assertImportNamespaceSpecifier,
11256 assertImportSpecifier: assertImportSpecifier,
11257 assertMetaProperty: assertMetaProperty,
11258 assertClassMethod: assertClassMethod,
11259 assertObjectPattern: assertObjectPattern,
11260 assertSpreadElement: assertSpreadElement,
11261 assertSuper: assertSuper,
11262 assertTaggedTemplateExpression: assertTaggedTemplateExpression,
11263 assertTemplateElement: assertTemplateElement,
11264 assertTemplateLiteral: assertTemplateLiteral,
11265 assertYieldExpression: assertYieldExpression,
11266 assertAwaitExpression: assertAwaitExpression,
11267 assertImport: assertImport,
11268 assertBigIntLiteral: assertBigIntLiteral,
11269 assertExportNamespaceSpecifier: assertExportNamespaceSpecifier,
11270 assertOptionalMemberExpression: assertOptionalMemberExpression,
11271 assertOptionalCallExpression: assertOptionalCallExpression,
11272 assertClassProperty: assertClassProperty,
11273 assertClassPrivateProperty: assertClassPrivateProperty,
11274 assertClassPrivateMethod: assertClassPrivateMethod,
11275 assertPrivateName: assertPrivateName,
11276 assertAnyTypeAnnotation: assertAnyTypeAnnotation,
11277 assertArrayTypeAnnotation: assertArrayTypeAnnotation,
11278 assertBooleanTypeAnnotation: assertBooleanTypeAnnotation,
11279 assertBooleanLiteralTypeAnnotation: assertBooleanLiteralTypeAnnotation,
11280 assertNullLiteralTypeAnnotation: assertNullLiteralTypeAnnotation,
11281 assertClassImplements: assertClassImplements,
11282 assertDeclareClass: assertDeclareClass,
11283 assertDeclareFunction: assertDeclareFunction,
11284 assertDeclareInterface: assertDeclareInterface,
11285 assertDeclareModule: assertDeclareModule,
11286 assertDeclareModuleExports: assertDeclareModuleExports,
11287 assertDeclareTypeAlias: assertDeclareTypeAlias,
11288 assertDeclareOpaqueType: assertDeclareOpaqueType,
11289 assertDeclareVariable: assertDeclareVariable,
11290 assertDeclareExportDeclaration: assertDeclareExportDeclaration,
11291 assertDeclareExportAllDeclaration: assertDeclareExportAllDeclaration,
11292 assertDeclaredPredicate: assertDeclaredPredicate,
11293 assertExistsTypeAnnotation: assertExistsTypeAnnotation,
11294 assertFunctionTypeAnnotation: assertFunctionTypeAnnotation,
11295 assertFunctionTypeParam: assertFunctionTypeParam,
11296 assertGenericTypeAnnotation: assertGenericTypeAnnotation,
11297 assertInferredPredicate: assertInferredPredicate,
11298 assertInterfaceExtends: assertInterfaceExtends,
11299 assertInterfaceDeclaration: assertInterfaceDeclaration,
11300 assertInterfaceTypeAnnotation: assertInterfaceTypeAnnotation,
11301 assertIntersectionTypeAnnotation: assertIntersectionTypeAnnotation,
11302 assertMixedTypeAnnotation: assertMixedTypeAnnotation,
11303 assertEmptyTypeAnnotation: assertEmptyTypeAnnotation,
11304 assertNullableTypeAnnotation: assertNullableTypeAnnotation,
11305 assertNumberLiteralTypeAnnotation: assertNumberLiteralTypeAnnotation,
11306 assertNumberTypeAnnotation: assertNumberTypeAnnotation,
11307 assertObjectTypeAnnotation: assertObjectTypeAnnotation,
11308 assertObjectTypeInternalSlot: assertObjectTypeInternalSlot,
11309 assertObjectTypeCallProperty: assertObjectTypeCallProperty,
11310 assertObjectTypeIndexer: assertObjectTypeIndexer,
11311 assertObjectTypeProperty: assertObjectTypeProperty,
11312 assertObjectTypeSpreadProperty: assertObjectTypeSpreadProperty,
11313 assertOpaqueType: assertOpaqueType,
11314 assertQualifiedTypeIdentifier: assertQualifiedTypeIdentifier,
11315 assertStringLiteralTypeAnnotation: assertStringLiteralTypeAnnotation,
11316 assertStringTypeAnnotation: assertStringTypeAnnotation,
11317 assertSymbolTypeAnnotation: assertSymbolTypeAnnotation,
11318 assertThisTypeAnnotation: assertThisTypeAnnotation,
11319 assertTupleTypeAnnotation: assertTupleTypeAnnotation,
11320 assertTypeofTypeAnnotation: assertTypeofTypeAnnotation,
11321 assertTypeAlias: assertTypeAlias,
11322 assertTypeAnnotation: assertTypeAnnotation,
11323 assertTypeCastExpression: assertTypeCastExpression,
11324 assertTypeParameter: assertTypeParameter,
11325 assertTypeParameterDeclaration: assertTypeParameterDeclaration,
11326 assertTypeParameterInstantiation: assertTypeParameterInstantiation,
11327 assertUnionTypeAnnotation: assertUnionTypeAnnotation,
11328 assertVariance: assertVariance,
11329 assertVoidTypeAnnotation: assertVoidTypeAnnotation,
11330 assertEnumDeclaration: assertEnumDeclaration,
11331 assertEnumBooleanBody: assertEnumBooleanBody,
11332 assertEnumNumberBody: assertEnumNumberBody,
11333 assertEnumStringBody: assertEnumStringBody,
11334 assertEnumSymbolBody: assertEnumSymbolBody,
11335 assertEnumBooleanMember: assertEnumBooleanMember,
11336 assertEnumNumberMember: assertEnumNumberMember,
11337 assertEnumStringMember: assertEnumStringMember,
11338 assertEnumDefaultedMember: assertEnumDefaultedMember,
11339 assertIndexedAccessType: assertIndexedAccessType,
11340 assertOptionalIndexedAccessType: assertOptionalIndexedAccessType,
11341 assertJSXAttribute: assertJSXAttribute,
11342 assertJSXClosingElement: assertJSXClosingElement,
11343 assertJSXElement: assertJSXElement,
11344 assertJSXEmptyExpression: assertJSXEmptyExpression,
11345 assertJSXExpressionContainer: assertJSXExpressionContainer,
11346 assertJSXSpreadChild: assertJSXSpreadChild,
11347 assertJSXIdentifier: assertJSXIdentifier,
11348 assertJSXMemberExpression: assertJSXMemberExpression,
11349 assertJSXNamespacedName: assertJSXNamespacedName,
11350 assertJSXOpeningElement: assertJSXOpeningElement,
11351 assertJSXSpreadAttribute: assertJSXSpreadAttribute,
11352 assertJSXText: assertJSXText,
11353 assertJSXFragment: assertJSXFragment,
11354 assertJSXOpeningFragment: assertJSXOpeningFragment,
11355 assertJSXClosingFragment: assertJSXClosingFragment,
11356 assertNoop: assertNoop,
11357 assertPlaceholder: assertPlaceholder,
11358 assertV8IntrinsicIdentifier: assertV8IntrinsicIdentifier,
11359 assertArgumentPlaceholder: assertArgumentPlaceholder,
11360 assertBindExpression: assertBindExpression,
11361 assertPipelineTopicExpression: assertPipelineTopicExpression,
11362 assertPipelineBareFunction: assertPipelineBareFunction,
11363 assertPipelinePrimaryTopicReference: assertPipelinePrimaryTopicReference,
11364 assertImportAttribute: assertImportAttribute,
11365 assertDecorator: assertDecorator,
11366 assertDoExpression: assertDoExpression,
11367 assertExportDefaultSpecifier: assertExportDefaultSpecifier,
11368 assertRecordExpression: assertRecordExpression,
11369 assertTupleExpression: assertTupleExpression,
11370 assertDecimalLiteral: assertDecimalLiteral,
11371 assertStaticBlock: assertStaticBlock,
11372 assertModuleExpression: assertModuleExpression,
11373 assertTSParameterProperty: assertTSParameterProperty,
11374 assertTSDeclareFunction: assertTSDeclareFunction,
11375 assertTSDeclareMethod: assertTSDeclareMethod,
11376 assertTSQualifiedName: assertTSQualifiedName,
11377 assertTSCallSignatureDeclaration: assertTSCallSignatureDeclaration,
11378 assertTSConstructSignatureDeclaration: assertTSConstructSignatureDeclaration,
11379 assertTSPropertySignature: assertTSPropertySignature,
11380 assertTSMethodSignature: assertTSMethodSignature,
11381 assertTSIndexSignature: assertTSIndexSignature,
11382 assertTSAnyKeyword: assertTSAnyKeyword,
11383 assertTSBooleanKeyword: assertTSBooleanKeyword,
11384 assertTSBigIntKeyword: assertTSBigIntKeyword,
11385 assertTSIntrinsicKeyword: assertTSIntrinsicKeyword,
11386 assertTSNeverKeyword: assertTSNeverKeyword,
11387 assertTSNullKeyword: assertTSNullKeyword,
11388 assertTSNumberKeyword: assertTSNumberKeyword,
11389 assertTSObjectKeyword: assertTSObjectKeyword,
11390 assertTSStringKeyword: assertTSStringKeyword,
11391 assertTSSymbolKeyword: assertTSSymbolKeyword,
11392 assertTSUndefinedKeyword: assertTSUndefinedKeyword,
11393 assertTSUnknownKeyword: assertTSUnknownKeyword,
11394 assertTSVoidKeyword: assertTSVoidKeyword,
11395 assertTSThisType: assertTSThisType,
11396 assertTSFunctionType: assertTSFunctionType,
11397 assertTSConstructorType: assertTSConstructorType,
11398 assertTSTypeReference: assertTSTypeReference,
11399 assertTSTypePredicate: assertTSTypePredicate,
11400 assertTSTypeQuery: assertTSTypeQuery,
11401 assertTSTypeLiteral: assertTSTypeLiteral,
11402 assertTSArrayType: assertTSArrayType,
11403 assertTSTupleType: assertTSTupleType,
11404 assertTSOptionalType: assertTSOptionalType,
11405 assertTSRestType: assertTSRestType,
11406 assertTSNamedTupleMember: assertTSNamedTupleMember,
11407 assertTSUnionType: assertTSUnionType,
11408 assertTSIntersectionType: assertTSIntersectionType,
11409 assertTSConditionalType: assertTSConditionalType,
11410 assertTSInferType: assertTSInferType,
11411 assertTSParenthesizedType: assertTSParenthesizedType,
11412 assertTSTypeOperator: assertTSTypeOperator,
11413 assertTSIndexedAccessType: assertTSIndexedAccessType,
11414 assertTSMappedType: assertTSMappedType,
11415 assertTSLiteralType: assertTSLiteralType,
11416 assertTSExpressionWithTypeArguments: assertTSExpressionWithTypeArguments,
11417 assertTSInterfaceDeclaration: assertTSInterfaceDeclaration,
11418 assertTSInterfaceBody: assertTSInterfaceBody,
11419 assertTSTypeAliasDeclaration: assertTSTypeAliasDeclaration,
11420 assertTSAsExpression: assertTSAsExpression,
11421 assertTSTypeAssertion: assertTSTypeAssertion,
11422 assertTSEnumDeclaration: assertTSEnumDeclaration,
11423 assertTSEnumMember: assertTSEnumMember,
11424 assertTSModuleDeclaration: assertTSModuleDeclaration,
11425 assertTSModuleBlock: assertTSModuleBlock,
11426 assertTSImportType: assertTSImportType,
11427 assertTSImportEqualsDeclaration: assertTSImportEqualsDeclaration,
11428 assertTSExternalModuleReference: assertTSExternalModuleReference,
11429 assertTSNonNullExpression: assertTSNonNullExpression,
11430 assertTSExportAssignment: assertTSExportAssignment,
11431 assertTSNamespaceExportDeclaration: assertTSNamespaceExportDeclaration,
11432 assertTSTypeAnnotation: assertTSTypeAnnotation,
11433 assertTSTypeParameterInstantiation: assertTSTypeParameterInstantiation,
11434 assertTSTypeParameterDeclaration: assertTSTypeParameterDeclaration,
11435 assertTSTypeParameter: assertTSTypeParameter,
11436 assertExpression: assertExpression,
11437 assertBinary: assertBinary,
11438 assertScopable: assertScopable,
11439 assertBlockParent: assertBlockParent,
11440 assertBlock: assertBlock,
11441 assertStatement: assertStatement,
11442 assertTerminatorless: assertTerminatorless,
11443 assertCompletionStatement: assertCompletionStatement,
11444 assertConditional: assertConditional,
11445 assertLoop: assertLoop,
11446 assertWhile: assertWhile,
11447 assertExpressionWrapper: assertExpressionWrapper,
11448 assertFor: assertFor,
11449 assertForXStatement: assertForXStatement,
11450 assertFunction: assertFunction$1,
11451 assertFunctionParent: assertFunctionParent,
11452 assertPureish: assertPureish,
11453 assertDeclaration: assertDeclaration,
11454 assertPatternLike: assertPatternLike,
11455 assertLVal: assertLVal,
11456 assertTSEntityName: assertTSEntityName,
11457 assertLiteral: assertLiteral,
11458 assertImmutable: assertImmutable,
11459 assertUserWhitespacable: assertUserWhitespacable,
11460 assertMethod: assertMethod,
11461 assertObjectMember: assertObjectMember,
11462 assertProperty: assertProperty,
11463 assertUnaryLike: assertUnaryLike,
11464 assertPattern: assertPattern,
11465 assertClass: assertClass,
11466 assertModuleDeclaration: assertModuleDeclaration,
11467 assertExportDeclaration: assertExportDeclaration,
11468 assertModuleSpecifier: assertModuleSpecifier,
11469 assertPrivate: assertPrivate,
11470 assertFlow: assertFlow,
11471 assertFlowType: assertFlowType,
11472 assertFlowBaseAnnotation: assertFlowBaseAnnotation,
11473 assertFlowDeclaration: assertFlowDeclaration,
11474 assertFlowPredicate: assertFlowPredicate,
11475 assertEnumBody: assertEnumBody,
11476 assertEnumMember: assertEnumMember,
11477 assertJSX: assertJSX,
11478 assertTSTypeElement: assertTSTypeElement,
11479 assertTSType: assertTSType,
11480 assertTSBaseType: assertTSBaseType,
11481 assertNumberLiteral: assertNumberLiteral,
11482 assertRegexLiteral: assertRegexLiteral,
11483 assertRestProperty: assertRestProperty,
11484 assertSpreadProperty: assertSpreadProperty,
11485 arrayExpression: arrayExpression,
11486 assignmentExpression: assignmentExpression,
11487 binaryExpression: binaryExpression,
11488 interpreterDirective: interpreterDirective,
11489 directive: directive,
11490 directiveLiteral: directiveLiteral,
11491 blockStatement: blockStatement,
11492 breakStatement: breakStatement,
11493 callExpression: callExpression,
11494 catchClause: catchClause,
11495 conditionalExpression: conditionalExpression,
11496 continueStatement: continueStatement,
11497 debuggerStatement: debuggerStatement,
11498 doWhileStatement: doWhileStatement,
11499 emptyStatement: emptyStatement,
11500 expressionStatement: expressionStatement,
11501 file: file,
11502 forInStatement: forInStatement,
11503 forStatement: forStatement,
11504 functionDeclaration: functionDeclaration,
11505 functionExpression: functionExpression,
11506 identifier: identifier,
11507 ifStatement: ifStatement,
11508 labeledStatement: labeledStatement,
11509 stringLiteral: stringLiteral,
11510 numericLiteral: numericLiteral,
11511 nullLiteral: nullLiteral,
11512 booleanLiteral: booleanLiteral,
11513 regExpLiteral: regExpLiteral,
11514 logicalExpression: logicalExpression,
11515 memberExpression: memberExpression,
11516 newExpression: newExpression,
11517 program: program$2,
11518 objectExpression: objectExpression,
11519 objectMethod: objectMethod,
11520 objectProperty: objectProperty,
11521 restElement: restElement,
11522 returnStatement: returnStatement,
11523 sequenceExpression: sequenceExpression,
11524 parenthesizedExpression: parenthesizedExpression,
11525 switchCase: switchCase,
11526 switchStatement: switchStatement,
11527 thisExpression: thisExpression,
11528 throwStatement: throwStatement,
11529 tryStatement: tryStatement,
11530 unaryExpression: unaryExpression,
11531 updateExpression: updateExpression,
11532 variableDeclaration: variableDeclaration,
11533 variableDeclarator: variableDeclarator,
11534 whileStatement: whileStatement,
11535 withStatement: withStatement,
11536 assignmentPattern: assignmentPattern,
11537 arrayPattern: arrayPattern,
11538 arrowFunctionExpression: arrowFunctionExpression,
11539 classBody: classBody,
11540 classExpression: classExpression,
11541 classDeclaration: classDeclaration,
11542 exportAllDeclaration: exportAllDeclaration,
11543 exportDefaultDeclaration: exportDefaultDeclaration,
11544 exportNamedDeclaration: exportNamedDeclaration,
11545 exportSpecifier: exportSpecifier,
11546 forOfStatement: forOfStatement,
11547 importDeclaration: importDeclaration,
11548 importDefaultSpecifier: importDefaultSpecifier,
11549 importNamespaceSpecifier: importNamespaceSpecifier,
11550 importSpecifier: importSpecifier,
11551 metaProperty: metaProperty,
11552 classMethod: classMethod,
11553 objectPattern: objectPattern,
11554 spreadElement: spreadElement,
11555 'super': _super,
11556 taggedTemplateExpression: taggedTemplateExpression,
11557 templateElement: templateElement,
11558 templateLiteral: templateLiteral,
11559 yieldExpression: yieldExpression,
11560 awaitExpression: awaitExpression,
11561 'import': _import,
11562 bigIntLiteral: bigIntLiteral,
11563 exportNamespaceSpecifier: exportNamespaceSpecifier,
11564 optionalMemberExpression: optionalMemberExpression,
11565 optionalCallExpression: optionalCallExpression,
11566 classProperty: classProperty,
11567 classPrivateProperty: classPrivateProperty,
11568 classPrivateMethod: classPrivateMethod,
11569 privateName: privateName,
11570 anyTypeAnnotation: anyTypeAnnotation,
11571 arrayTypeAnnotation: arrayTypeAnnotation,
11572 booleanTypeAnnotation: booleanTypeAnnotation,
11573 booleanLiteralTypeAnnotation: booleanLiteralTypeAnnotation,
11574 nullLiteralTypeAnnotation: nullLiteralTypeAnnotation,
11575 classImplements: classImplements,
11576 declareClass: declareClass,
11577 declareFunction: declareFunction,
11578 declareInterface: declareInterface,
11579 declareModule: declareModule,
11580 declareModuleExports: declareModuleExports,
11581 declareTypeAlias: declareTypeAlias,
11582 declareOpaqueType: declareOpaqueType,
11583 declareVariable: declareVariable,
11584 declareExportDeclaration: declareExportDeclaration,
11585 declareExportAllDeclaration: declareExportAllDeclaration,
11586 declaredPredicate: declaredPredicate,
11587 existsTypeAnnotation: existsTypeAnnotation,
11588 functionTypeAnnotation: functionTypeAnnotation,
11589 functionTypeParam: functionTypeParam,
11590 genericTypeAnnotation: genericTypeAnnotation,
11591 inferredPredicate: inferredPredicate,
11592 interfaceExtends: interfaceExtends,
11593 interfaceDeclaration: interfaceDeclaration,
11594 interfaceTypeAnnotation: interfaceTypeAnnotation,
11595 intersectionTypeAnnotation: intersectionTypeAnnotation,
11596 mixedTypeAnnotation: mixedTypeAnnotation,
11597 emptyTypeAnnotation: emptyTypeAnnotation,
11598 nullableTypeAnnotation: nullableTypeAnnotation,
11599 numberLiteralTypeAnnotation: numberLiteralTypeAnnotation,
11600 numberTypeAnnotation: numberTypeAnnotation,
11601 objectTypeAnnotation: objectTypeAnnotation,
11602 objectTypeInternalSlot: objectTypeInternalSlot,
11603 objectTypeCallProperty: objectTypeCallProperty,
11604 objectTypeIndexer: objectTypeIndexer,
11605 objectTypeProperty: objectTypeProperty,
11606 objectTypeSpreadProperty: objectTypeSpreadProperty,
11607 opaqueType: opaqueType,
11608 qualifiedTypeIdentifier: qualifiedTypeIdentifier,
11609 stringLiteralTypeAnnotation: stringLiteralTypeAnnotation,
11610 stringTypeAnnotation: stringTypeAnnotation,
11611 symbolTypeAnnotation: symbolTypeAnnotation,
11612 thisTypeAnnotation: thisTypeAnnotation,
11613 tupleTypeAnnotation: tupleTypeAnnotation,
11614 typeofTypeAnnotation: typeofTypeAnnotation,
11615 typeAlias: typeAlias,
11616 typeAnnotation: typeAnnotation,
11617 typeCastExpression: typeCastExpression,
11618 typeParameter: typeParameter,
11619 typeParameterDeclaration: typeParameterDeclaration,
11620 typeParameterInstantiation: typeParameterInstantiation,
11621 unionTypeAnnotation: unionTypeAnnotation,
11622 variance: variance,
11623 voidTypeAnnotation: voidTypeAnnotation,
11624 enumDeclaration: enumDeclaration,
11625 enumBooleanBody: enumBooleanBody,
11626 enumNumberBody: enumNumberBody,
11627 enumStringBody: enumStringBody,
11628 enumSymbolBody: enumSymbolBody,
11629 enumBooleanMember: enumBooleanMember,
11630 enumNumberMember: enumNumberMember,
11631 enumStringMember: enumStringMember,
11632 enumDefaultedMember: enumDefaultedMember,
11633 indexedAccessType: indexedAccessType,
11634 optionalIndexedAccessType: optionalIndexedAccessType,
11635 jsxAttribute: jsxAttribute,
11636 jSXAttribute: jsxAttribute,
11637 jsxClosingElement: jsxClosingElement,
11638 jSXClosingElement: jsxClosingElement,
11639 jsxElement: jsxElement,
11640 jSXElement: jsxElement,
11641 jsxEmptyExpression: jsxEmptyExpression,
11642 jSXEmptyExpression: jsxEmptyExpression,
11643 jsxExpressionContainer: jsxExpressionContainer,
11644 jSXExpressionContainer: jsxExpressionContainer,
11645 jsxSpreadChild: jsxSpreadChild,
11646 jSXSpreadChild: jsxSpreadChild,
11647 jsxIdentifier: jsxIdentifier,
11648 jSXIdentifier: jsxIdentifier,
11649 jsxMemberExpression: jsxMemberExpression,
11650 jSXMemberExpression: jsxMemberExpression,
11651 jsxNamespacedName: jsxNamespacedName,
11652 jSXNamespacedName: jsxNamespacedName,
11653 jsxOpeningElement: jsxOpeningElement,
11654 jSXOpeningElement: jsxOpeningElement,
11655 jsxSpreadAttribute: jsxSpreadAttribute,
11656 jSXSpreadAttribute: jsxSpreadAttribute,
11657 jsxText: jsxText,
11658 jSXText: jsxText,
11659 jsxFragment: jsxFragment,
11660 jSXFragment: jsxFragment,
11661 jsxOpeningFragment: jsxOpeningFragment,
11662 jSXOpeningFragment: jsxOpeningFragment,
11663 jsxClosingFragment: jsxClosingFragment,
11664 jSXClosingFragment: jsxClosingFragment,
11665 noop: noop$1,
11666 placeholder: placeholder,
11667 v8IntrinsicIdentifier: v8IntrinsicIdentifier,
11668 argumentPlaceholder: argumentPlaceholder,
11669 bindExpression: bindExpression,
11670 pipelineTopicExpression: pipelineTopicExpression,
11671 pipelineBareFunction: pipelineBareFunction,
11672 pipelinePrimaryTopicReference: pipelinePrimaryTopicReference,
11673 importAttribute: importAttribute,
11674 decorator: decorator,
11675 doExpression: doExpression,
11676 exportDefaultSpecifier: exportDefaultSpecifier,
11677 recordExpression: recordExpression,
11678 tupleExpression: tupleExpression,
11679 decimalLiteral: decimalLiteral,
11680 staticBlock: staticBlock,
11681 moduleExpression: moduleExpression,
11682 tsParameterProperty: tsParameterProperty,
11683 tSParameterProperty: tsParameterProperty,
11684 tsDeclareFunction: tsDeclareFunction,
11685 tSDeclareFunction: tsDeclareFunction,
11686 tsDeclareMethod: tsDeclareMethod,
11687 tSDeclareMethod: tsDeclareMethod,
11688 tsQualifiedName: tsQualifiedName,
11689 tSQualifiedName: tsQualifiedName,
11690 tsCallSignatureDeclaration: tsCallSignatureDeclaration,
11691 tSCallSignatureDeclaration: tsCallSignatureDeclaration,
11692 tsConstructSignatureDeclaration: tsConstructSignatureDeclaration,
11693 tSConstructSignatureDeclaration: tsConstructSignatureDeclaration,
11694 tsPropertySignature: tsPropertySignature,
11695 tSPropertySignature: tsPropertySignature,
11696 tsMethodSignature: tsMethodSignature,
11697 tSMethodSignature: tsMethodSignature,
11698 tsIndexSignature: tsIndexSignature,
11699 tSIndexSignature: tsIndexSignature,
11700 tsAnyKeyword: tsAnyKeyword,
11701 tSAnyKeyword: tsAnyKeyword,
11702 tsBooleanKeyword: tsBooleanKeyword,
11703 tSBooleanKeyword: tsBooleanKeyword,
11704 tsBigIntKeyword: tsBigIntKeyword,
11705 tSBigIntKeyword: tsBigIntKeyword,
11706 tsIntrinsicKeyword: tsIntrinsicKeyword,
11707 tSIntrinsicKeyword: tsIntrinsicKeyword,
11708 tsNeverKeyword: tsNeverKeyword,
11709 tSNeverKeyword: tsNeverKeyword,
11710 tsNullKeyword: tsNullKeyword,
11711 tSNullKeyword: tsNullKeyword,
11712 tsNumberKeyword: tsNumberKeyword,
11713 tSNumberKeyword: tsNumberKeyword,
11714 tsObjectKeyword: tsObjectKeyword,
11715 tSObjectKeyword: tsObjectKeyword,
11716 tsStringKeyword: tsStringKeyword,
11717 tSStringKeyword: tsStringKeyword,
11718 tsSymbolKeyword: tsSymbolKeyword,
11719 tSSymbolKeyword: tsSymbolKeyword,
11720 tsUndefinedKeyword: tsUndefinedKeyword,
11721 tSUndefinedKeyword: tsUndefinedKeyword,
11722 tsUnknownKeyword: tsUnknownKeyword,
11723 tSUnknownKeyword: tsUnknownKeyword,
11724 tsVoidKeyword: tsVoidKeyword,
11725 tSVoidKeyword: tsVoidKeyword,
11726 tsThisType: tsThisType,
11727 tSThisType: tsThisType,
11728 tsFunctionType: tsFunctionType,
11729 tSFunctionType: tsFunctionType,
11730 tsConstructorType: tsConstructorType,
11731 tSConstructorType: tsConstructorType,
11732 tsTypeReference: tsTypeReference,
11733 tSTypeReference: tsTypeReference,
11734 tsTypePredicate: tsTypePredicate,
11735 tSTypePredicate: tsTypePredicate,
11736 tsTypeQuery: tsTypeQuery,
11737 tSTypeQuery: tsTypeQuery,
11738 tsTypeLiteral: tsTypeLiteral,
11739 tSTypeLiteral: tsTypeLiteral,
11740 tsArrayType: tsArrayType,
11741 tSArrayType: tsArrayType,
11742 tsTupleType: tsTupleType,
11743 tSTupleType: tsTupleType,
11744 tsOptionalType: tsOptionalType,
11745 tSOptionalType: tsOptionalType,
11746 tsRestType: tsRestType,
11747 tSRestType: tsRestType,
11748 tsNamedTupleMember: tsNamedTupleMember,
11749 tSNamedTupleMember: tsNamedTupleMember,
11750 tsUnionType: tsUnionType,
11751 tSUnionType: tsUnionType,
11752 tsIntersectionType: tsIntersectionType,
11753 tSIntersectionType: tsIntersectionType,
11754 tsConditionalType: tsConditionalType,
11755 tSConditionalType: tsConditionalType,
11756 tsInferType: tsInferType,
11757 tSInferType: tsInferType,
11758 tsParenthesizedType: tsParenthesizedType,
11759 tSParenthesizedType: tsParenthesizedType,
11760 tsTypeOperator: tsTypeOperator,
11761 tSTypeOperator: tsTypeOperator,
11762 tsIndexedAccessType: tsIndexedAccessType,
11763 tSIndexedAccessType: tsIndexedAccessType,
11764 tsMappedType: tsMappedType,
11765 tSMappedType: tsMappedType,
11766 tsLiteralType: tsLiteralType,
11767 tSLiteralType: tsLiteralType,
11768 tsExpressionWithTypeArguments: tsExpressionWithTypeArguments,
11769 tSExpressionWithTypeArguments: tsExpressionWithTypeArguments,
11770 tsInterfaceDeclaration: tsInterfaceDeclaration,
11771 tSInterfaceDeclaration: tsInterfaceDeclaration,
11772 tsInterfaceBody: tsInterfaceBody,
11773 tSInterfaceBody: tsInterfaceBody,
11774 tsTypeAliasDeclaration: tsTypeAliasDeclaration,
11775 tSTypeAliasDeclaration: tsTypeAliasDeclaration,
11776 tsAsExpression: tsAsExpression,
11777 tSAsExpression: tsAsExpression,
11778 tsTypeAssertion: tsTypeAssertion,
11779 tSTypeAssertion: tsTypeAssertion,
11780 tsEnumDeclaration: tsEnumDeclaration,
11781 tSEnumDeclaration: tsEnumDeclaration,
11782 tsEnumMember: tsEnumMember,
11783 tSEnumMember: tsEnumMember,
11784 tsModuleDeclaration: tsModuleDeclaration,
11785 tSModuleDeclaration: tsModuleDeclaration,
11786 tsModuleBlock: tsModuleBlock,
11787 tSModuleBlock: tsModuleBlock,
11788 tsImportType: tsImportType,
11789 tSImportType: tsImportType,
11790 tsImportEqualsDeclaration: tsImportEqualsDeclaration,
11791 tSImportEqualsDeclaration: tsImportEqualsDeclaration,
11792 tsExternalModuleReference: tsExternalModuleReference,
11793 tSExternalModuleReference: tsExternalModuleReference,
11794 tsNonNullExpression: tsNonNullExpression,
11795 tSNonNullExpression: tsNonNullExpression,
11796 tsExportAssignment: tsExportAssignment,
11797 tSExportAssignment: tsExportAssignment,
11798 tsNamespaceExportDeclaration: tsNamespaceExportDeclaration,
11799 tSNamespaceExportDeclaration: tsNamespaceExportDeclaration,
11800 tsTypeAnnotation: tsTypeAnnotation,
11801 tSTypeAnnotation: tsTypeAnnotation,
11802 tsTypeParameterInstantiation: tsTypeParameterInstantiation,
11803 tSTypeParameterInstantiation: tsTypeParameterInstantiation,
11804 tsTypeParameterDeclaration: tsTypeParameterDeclaration,
11805 tSTypeParameterDeclaration: tsTypeParameterDeclaration,
11806 tsTypeParameter: tsTypeParameter,
11807 tSTypeParameter: tsTypeParameter,
11808 numberLiteral: NumberLiteral,
11809 regexLiteral: RegexLiteral,
11810 restProperty: RestProperty$1,
11811 spreadProperty: SpreadProperty$1,
11812 ArrayExpression: arrayExpression,
11813 AssignmentExpression: assignmentExpression,
11814 BinaryExpression: binaryExpression,
11815 InterpreterDirective: interpreterDirective,
11816 Directive: directive,
11817 DirectiveLiteral: directiveLiteral,
11818 BlockStatement: blockStatement,
11819 BreakStatement: breakStatement,
11820 CallExpression: callExpression,
11821 CatchClause: catchClause,
11822 ConditionalExpression: conditionalExpression,
11823 ContinueStatement: continueStatement,
11824 DebuggerStatement: debuggerStatement,
11825 DoWhileStatement: doWhileStatement,
11826 EmptyStatement: emptyStatement,
11827 ExpressionStatement: expressionStatement,
11828 File: file,
11829 ForInStatement: forInStatement,
11830 ForStatement: forStatement,
11831 FunctionDeclaration: functionDeclaration,
11832 FunctionExpression: functionExpression,
11833 Identifier: identifier,
11834 IfStatement: ifStatement,
11835 LabeledStatement: labeledStatement,
11836 StringLiteral: stringLiteral,
11837 NumericLiteral: numericLiteral,
11838 NullLiteral: nullLiteral,
11839 BooleanLiteral: booleanLiteral,
11840 RegExpLiteral: regExpLiteral,
11841 LogicalExpression: logicalExpression,
11842 MemberExpression: memberExpression,
11843 NewExpression: newExpression,
11844 Program: program$2,
11845 ObjectExpression: objectExpression,
11846 ObjectMethod: objectMethod,
11847 ObjectProperty: objectProperty,
11848 RestElement: restElement,
11849 ReturnStatement: returnStatement,
11850 SequenceExpression: sequenceExpression,
11851 ParenthesizedExpression: parenthesizedExpression,
11852 SwitchCase: switchCase,
11853 SwitchStatement: switchStatement,
11854 ThisExpression: thisExpression,
11855 ThrowStatement: throwStatement,
11856 TryStatement: tryStatement,
11857 UnaryExpression: unaryExpression,
11858 UpdateExpression: updateExpression,
11859 VariableDeclaration: variableDeclaration,
11860 VariableDeclarator: variableDeclarator,
11861 WhileStatement: whileStatement,
11862 WithStatement: withStatement,
11863 AssignmentPattern: assignmentPattern,
11864 ArrayPattern: arrayPattern,
11865 ArrowFunctionExpression: arrowFunctionExpression,
11866 ClassBody: classBody,
11867 ClassExpression: classExpression,
11868 ClassDeclaration: classDeclaration,
11869 ExportAllDeclaration: exportAllDeclaration,
11870 ExportDefaultDeclaration: exportDefaultDeclaration,
11871 ExportNamedDeclaration: exportNamedDeclaration,
11872 ExportSpecifier: exportSpecifier,
11873 ForOfStatement: forOfStatement,
11874 ImportDeclaration: importDeclaration,
11875 ImportDefaultSpecifier: importDefaultSpecifier,
11876 ImportNamespaceSpecifier: importNamespaceSpecifier,
11877 ImportSpecifier: importSpecifier,
11878 MetaProperty: metaProperty,
11879 ClassMethod: classMethod,
11880 ObjectPattern: objectPattern,
11881 SpreadElement: spreadElement,
11882 Super: _super,
11883 TaggedTemplateExpression: taggedTemplateExpression,
11884 TemplateElement: templateElement,
11885 TemplateLiteral: templateLiteral,
11886 YieldExpression: yieldExpression,
11887 AwaitExpression: awaitExpression,
11888 Import: _import,
11889 BigIntLiteral: bigIntLiteral,
11890 ExportNamespaceSpecifier: exportNamespaceSpecifier,
11891 OptionalMemberExpression: optionalMemberExpression,
11892 OptionalCallExpression: optionalCallExpression,
11893 ClassProperty: classProperty,
11894 ClassPrivateProperty: classPrivateProperty,
11895 ClassPrivateMethod: classPrivateMethod,
11896 PrivateName: privateName,
11897 AnyTypeAnnotation: anyTypeAnnotation,
11898 ArrayTypeAnnotation: arrayTypeAnnotation,
11899 BooleanTypeAnnotation: booleanTypeAnnotation,
11900 BooleanLiteralTypeAnnotation: booleanLiteralTypeAnnotation,
11901 NullLiteralTypeAnnotation: nullLiteralTypeAnnotation,
11902 ClassImplements: classImplements,
11903 DeclareClass: declareClass,
11904 DeclareFunction: declareFunction,
11905 DeclareInterface: declareInterface,
11906 DeclareModule: declareModule,
11907 DeclareModuleExports: declareModuleExports,
11908 DeclareTypeAlias: declareTypeAlias,
11909 DeclareOpaqueType: declareOpaqueType,
11910 DeclareVariable: declareVariable,
11911 DeclareExportDeclaration: declareExportDeclaration,
11912 DeclareExportAllDeclaration: declareExportAllDeclaration,
11913 DeclaredPredicate: declaredPredicate,
11914 ExistsTypeAnnotation: existsTypeAnnotation,
11915 FunctionTypeAnnotation: functionTypeAnnotation,
11916 FunctionTypeParam: functionTypeParam,
11917 GenericTypeAnnotation: genericTypeAnnotation,
11918 InferredPredicate: inferredPredicate,
11919 InterfaceExtends: interfaceExtends,
11920 InterfaceDeclaration: interfaceDeclaration,
11921 InterfaceTypeAnnotation: interfaceTypeAnnotation,
11922 IntersectionTypeAnnotation: intersectionTypeAnnotation,
11923 MixedTypeAnnotation: mixedTypeAnnotation,
11924 EmptyTypeAnnotation: emptyTypeAnnotation,
11925 NullableTypeAnnotation: nullableTypeAnnotation,
11926 NumberLiteralTypeAnnotation: numberLiteralTypeAnnotation,
11927 NumberTypeAnnotation: numberTypeAnnotation,
11928 ObjectTypeAnnotation: objectTypeAnnotation,
11929 ObjectTypeInternalSlot: objectTypeInternalSlot,
11930 ObjectTypeCallProperty: objectTypeCallProperty,
11931 ObjectTypeIndexer: objectTypeIndexer,
11932 ObjectTypeProperty: objectTypeProperty,
11933 ObjectTypeSpreadProperty: objectTypeSpreadProperty,
11934 OpaqueType: opaqueType,
11935 QualifiedTypeIdentifier: qualifiedTypeIdentifier,
11936 StringLiteralTypeAnnotation: stringLiteralTypeAnnotation,
11937 StringTypeAnnotation: stringTypeAnnotation,
11938 SymbolTypeAnnotation: symbolTypeAnnotation,
11939 ThisTypeAnnotation: thisTypeAnnotation,
11940 TupleTypeAnnotation: tupleTypeAnnotation,
11941 TypeofTypeAnnotation: typeofTypeAnnotation,
11942 TypeAlias: typeAlias,
11943 TypeAnnotation: typeAnnotation,
11944 TypeCastExpression: typeCastExpression,
11945 TypeParameter: typeParameter,
11946 TypeParameterDeclaration: typeParameterDeclaration,
11947 TypeParameterInstantiation: typeParameterInstantiation,
11948 UnionTypeAnnotation: unionTypeAnnotation,
11949 Variance: variance,
11950 VoidTypeAnnotation: voidTypeAnnotation,
11951 EnumDeclaration: enumDeclaration,
11952 EnumBooleanBody: enumBooleanBody,
11953 EnumNumberBody: enumNumberBody,
11954 EnumStringBody: enumStringBody,
11955 EnumSymbolBody: enumSymbolBody,
11956 EnumBooleanMember: enumBooleanMember,
11957 EnumNumberMember: enumNumberMember,
11958 EnumStringMember: enumStringMember,
11959 EnumDefaultedMember: enumDefaultedMember,
11960 IndexedAccessType: indexedAccessType,
11961 OptionalIndexedAccessType: optionalIndexedAccessType,
11962 JSXAttribute: jsxAttribute,
11963 JSXClosingElement: jsxClosingElement,
11964 JSXElement: jsxElement,
11965 JSXEmptyExpression: jsxEmptyExpression,
11966 JSXExpressionContainer: jsxExpressionContainer,
11967 JSXSpreadChild: jsxSpreadChild,
11968 JSXIdentifier: jsxIdentifier,
11969 JSXMemberExpression: jsxMemberExpression,
11970 JSXNamespacedName: jsxNamespacedName,
11971 JSXOpeningElement: jsxOpeningElement,
11972 JSXSpreadAttribute: jsxSpreadAttribute,
11973 JSXText: jsxText,
11974 JSXFragment: jsxFragment,
11975 JSXOpeningFragment: jsxOpeningFragment,
11976 JSXClosingFragment: jsxClosingFragment,
11977 Noop: noop$1,
11978 Placeholder: placeholder,
11979 V8IntrinsicIdentifier: v8IntrinsicIdentifier,
11980 ArgumentPlaceholder: argumentPlaceholder,
11981 BindExpression: bindExpression,
11982 PipelineTopicExpression: pipelineTopicExpression,
11983 PipelineBareFunction: pipelineBareFunction,
11984 PipelinePrimaryTopicReference: pipelinePrimaryTopicReference,
11985 ImportAttribute: importAttribute,
11986 Decorator: decorator,
11987 DoExpression: doExpression,
11988 ExportDefaultSpecifier: exportDefaultSpecifier,
11989 RecordExpression: recordExpression,
11990 TupleExpression: tupleExpression,
11991 DecimalLiteral: decimalLiteral,
11992 StaticBlock: staticBlock,
11993 ModuleExpression: moduleExpression,
11994 TSParameterProperty: tsParameterProperty,
11995 TSDeclareFunction: tsDeclareFunction,
11996 TSDeclareMethod: tsDeclareMethod,
11997 TSQualifiedName: tsQualifiedName,
11998 TSCallSignatureDeclaration: tsCallSignatureDeclaration,
11999 TSConstructSignatureDeclaration: tsConstructSignatureDeclaration,
12000 TSPropertySignature: tsPropertySignature,
12001 TSMethodSignature: tsMethodSignature,
12002 TSIndexSignature: tsIndexSignature,
12003 TSAnyKeyword: tsAnyKeyword,
12004 TSBooleanKeyword: tsBooleanKeyword,
12005 TSBigIntKeyword: tsBigIntKeyword,
12006 TSIntrinsicKeyword: tsIntrinsicKeyword,
12007 TSNeverKeyword: tsNeverKeyword,
12008 TSNullKeyword: tsNullKeyword,
12009 TSNumberKeyword: tsNumberKeyword,
12010 TSObjectKeyword: tsObjectKeyword,
12011 TSStringKeyword: tsStringKeyword,
12012 TSSymbolKeyword: tsSymbolKeyword,
12013 TSUndefinedKeyword: tsUndefinedKeyword,
12014 TSUnknownKeyword: tsUnknownKeyword,
12015 TSVoidKeyword: tsVoidKeyword,
12016 TSThisType: tsThisType,
12017 TSFunctionType: tsFunctionType,
12018 TSConstructorType: tsConstructorType,
12019 TSTypeReference: tsTypeReference,
12020 TSTypePredicate: tsTypePredicate,
12021 TSTypeQuery: tsTypeQuery,
12022 TSTypeLiteral: tsTypeLiteral,
12023 TSArrayType: tsArrayType,
12024 TSTupleType: tsTupleType,
12025 TSOptionalType: tsOptionalType,
12026 TSRestType: tsRestType,
12027 TSNamedTupleMember: tsNamedTupleMember,
12028 TSUnionType: tsUnionType,
12029 TSIntersectionType: tsIntersectionType,
12030 TSConditionalType: tsConditionalType,
12031 TSInferType: tsInferType,
12032 TSParenthesizedType: tsParenthesizedType,
12033 TSTypeOperator: tsTypeOperator,
12034 TSIndexedAccessType: tsIndexedAccessType,
12035 TSMappedType: tsMappedType,
12036 TSLiteralType: tsLiteralType,
12037 TSExpressionWithTypeArguments: tsExpressionWithTypeArguments,
12038 TSInterfaceDeclaration: tsInterfaceDeclaration,
12039 TSInterfaceBody: tsInterfaceBody,
12040 TSTypeAliasDeclaration: tsTypeAliasDeclaration,
12041 TSAsExpression: tsAsExpression,
12042 TSTypeAssertion: tsTypeAssertion,
12043 TSEnumDeclaration: tsEnumDeclaration,
12044 TSEnumMember: tsEnumMember,
12045 TSModuleDeclaration: tsModuleDeclaration,
12046 TSModuleBlock: tsModuleBlock,
12047 TSImportType: tsImportType,
12048 TSImportEqualsDeclaration: tsImportEqualsDeclaration,
12049 TSExternalModuleReference: tsExternalModuleReference,
12050 TSNonNullExpression: tsNonNullExpression,
12051 TSExportAssignment: tsExportAssignment,
12052 TSNamespaceExportDeclaration: tsNamespaceExportDeclaration,
12053 TSTypeAnnotation: tsTypeAnnotation,
12054 TSTypeParameterInstantiation: tsTypeParameterInstantiation,
12055 TSTypeParameterDeclaration: tsTypeParameterDeclaration,
12056 TSTypeParameter: tsTypeParameter,
12057 NumberLiteral: NumberLiteral,
12058 RegexLiteral: RegexLiteral,
12059 RestProperty: RestProperty$1,
12060 SpreadProperty: SpreadProperty$1,
12061 EXPRESSION_TYPES: EXPRESSION_TYPES,
12062 BINARY_TYPES: BINARY_TYPES,
12063 SCOPABLE_TYPES: SCOPABLE_TYPES,
12064 BLOCKPARENT_TYPES: BLOCKPARENT_TYPES,
12065 BLOCK_TYPES: BLOCK_TYPES,
12066 STATEMENT_TYPES: STATEMENT_TYPES,
12067 TERMINATORLESS_TYPES: TERMINATORLESS_TYPES,
12068 COMPLETIONSTATEMENT_TYPES: COMPLETIONSTATEMENT_TYPES,
12069 CONDITIONAL_TYPES: CONDITIONAL_TYPES,
12070 LOOP_TYPES: LOOP_TYPES,
12071 WHILE_TYPES: WHILE_TYPES,
12072 EXPRESSIONWRAPPER_TYPES: EXPRESSIONWRAPPER_TYPES,
12073 FOR_TYPES: FOR_TYPES,
12074 FORXSTATEMENT_TYPES: FORXSTATEMENT_TYPES,
12075 FUNCTION_TYPES: FUNCTION_TYPES,
12076 FUNCTIONPARENT_TYPES: FUNCTIONPARENT_TYPES,
12077 PUREISH_TYPES: PUREISH_TYPES,
12078 DECLARATION_TYPES: DECLARATION_TYPES,
12079 PATTERNLIKE_TYPES: PATTERNLIKE_TYPES,
12080 LVAL_TYPES: LVAL_TYPES,
12081 TSENTITYNAME_TYPES: TSENTITYNAME_TYPES,
12082 LITERAL_TYPES: LITERAL_TYPES,
12083 IMMUTABLE_TYPES: IMMUTABLE_TYPES,
12084 USERWHITESPACABLE_TYPES: USERWHITESPACABLE_TYPES,
12085 METHOD_TYPES: METHOD_TYPES,
12086 OBJECTMEMBER_TYPES: OBJECTMEMBER_TYPES,
12087 PROPERTY_TYPES: PROPERTY_TYPES,
12088 UNARYLIKE_TYPES: UNARYLIKE_TYPES,
12089 PATTERN_TYPES: PATTERN_TYPES,
12090 CLASS_TYPES: CLASS_TYPES,
12091 MODULEDECLARATION_TYPES: MODULEDECLARATION_TYPES,
12092 EXPORTDECLARATION_TYPES: EXPORTDECLARATION_TYPES,
12093 MODULESPECIFIER_TYPES: MODULESPECIFIER_TYPES,
12094 PRIVATE_TYPES: PRIVATE_TYPES,
12095 FLOW_TYPES: FLOW_TYPES,
12096 FLOWTYPE_TYPES: FLOWTYPE_TYPES,
12097 FLOWBASEANNOTATION_TYPES: FLOWBASEANNOTATION_TYPES,
12098 FLOWDECLARATION_TYPES: FLOWDECLARATION_TYPES,
12099 FLOWPREDICATE_TYPES: FLOWPREDICATE_TYPES,
12100 ENUMBODY_TYPES: ENUMBODY_TYPES,
12101 ENUMMEMBER_TYPES: ENUMMEMBER_TYPES,
12102 JSX_TYPES: JSX_TYPES,
12103 TSTYPEELEMENT_TYPES: TSTYPEELEMENT_TYPES,
12104 TSTYPE_TYPES: TSTYPE_TYPES,
12105 TSBASETYPE_TYPES: TSBASETYPE_TYPES,
12106 STATEMENT_OR_BLOCK_KEYS: STATEMENT_OR_BLOCK_KEYS,
12107 FLATTENABLE_KEYS: FLATTENABLE_KEYS,
12108 FOR_INIT_KEYS: FOR_INIT_KEYS,
12109 COMMENT_KEYS: COMMENT_KEYS,
12110 LOGICAL_OPERATORS: LOGICAL_OPERATORS,
12111 UPDATE_OPERATORS: UPDATE_OPERATORS,
12112 BOOLEAN_NUMBER_BINARY_OPERATORS: BOOLEAN_NUMBER_BINARY_OPERATORS,
12113 EQUALITY_BINARY_OPERATORS: EQUALITY_BINARY_OPERATORS,
12114 COMPARISON_BINARY_OPERATORS: COMPARISON_BINARY_OPERATORS,
12115 BOOLEAN_BINARY_OPERATORS: BOOLEAN_BINARY_OPERATORS,
12116 NUMBER_BINARY_OPERATORS: NUMBER_BINARY_OPERATORS,
12117 BINARY_OPERATORS: BINARY_OPERATORS,
12118 ASSIGNMENT_OPERATORS: ASSIGNMENT_OPERATORS,
12119 BOOLEAN_UNARY_OPERATORS: BOOLEAN_UNARY_OPERATORS,
12120 NUMBER_UNARY_OPERATORS: NUMBER_UNARY_OPERATORS,
12121 STRING_UNARY_OPERATORS: STRING_UNARY_OPERATORS,
12122 UNARY_OPERATORS: UNARY_OPERATORS,
12123 INHERIT_KEYS: INHERIT_KEYS,
12124 BLOCK_SCOPED_SYMBOL: BLOCK_SCOPED_SYMBOL,
12125 NOT_LOCAL_BINDING: NOT_LOCAL_BINDING,
12126 VISITOR_KEYS: VISITOR_KEYS,
12127 ALIAS_KEYS: ALIAS_KEYS,
12128 FLIPPED_ALIAS_KEYS: FLIPPED_ALIAS_KEYS,
12129 NODE_FIELDS: NODE_FIELDS,
12130 BUILDER_KEYS: BUILDER_KEYS,
12131 DEPRECATED_KEYS: DEPRECATED_KEYS,
12132 NODE_PARENT_VALIDATIONS: NODE_PARENT_VALIDATIONS,
12133 PLACEHOLDERS: PLACEHOLDERS,
12134 PLACEHOLDERS_ALIAS: PLACEHOLDERS_ALIAS,
12135 PLACEHOLDERS_FLIPPED_ALIAS: PLACEHOLDERS_FLIPPED_ALIAS,
12136 TYPES: TYPES,
12137 isArrayExpression: isArrayExpression,
12138 isAssignmentExpression: isAssignmentExpression,
12139 isBinaryExpression: isBinaryExpression,
12140 isInterpreterDirective: isInterpreterDirective,
12141 isDirective: isDirective,
12142 isDirectiveLiteral: isDirectiveLiteral,
12143 isBlockStatement: isBlockStatement,
12144 isBreakStatement: isBreakStatement,
12145 isCallExpression: isCallExpression,
12146 isCatchClause: isCatchClause,
12147 isConditionalExpression: isConditionalExpression,
12148 isContinueStatement: isContinueStatement,
12149 isDebuggerStatement: isDebuggerStatement,
12150 isDoWhileStatement: isDoWhileStatement,
12151 isEmptyStatement: isEmptyStatement,
12152 isExpressionStatement: isExpressionStatement,
12153 isFile: isFile,
12154 isForInStatement: isForInStatement,
12155 isForStatement: isForStatement,
12156 isFunctionDeclaration: isFunctionDeclaration,
12157 isFunctionExpression: isFunctionExpression,
12158 isIdentifier: isIdentifier,
12159 isIfStatement: isIfStatement,
12160 isLabeledStatement: isLabeledStatement,
12161 isStringLiteral: isStringLiteral,
12162 isNumericLiteral: isNumericLiteral,
12163 isNullLiteral: isNullLiteral,
12164 isBooleanLiteral: isBooleanLiteral,
12165 isRegExpLiteral: isRegExpLiteral,
12166 isLogicalExpression: isLogicalExpression,
12167 isMemberExpression: isMemberExpression,
12168 isNewExpression: isNewExpression,
12169 isProgram: isProgram,
12170 isObjectExpression: isObjectExpression,
12171 isObjectMethod: isObjectMethod,
12172 isObjectProperty: isObjectProperty,
12173 isRestElement: isRestElement,
12174 isReturnStatement: isReturnStatement,
12175 isSequenceExpression: isSequenceExpression,
12176 isParenthesizedExpression: isParenthesizedExpression,
12177 isSwitchCase: isSwitchCase,
12178 isSwitchStatement: isSwitchStatement,
12179 isThisExpression: isThisExpression,
12180 isThrowStatement: isThrowStatement,
12181 isTryStatement: isTryStatement,
12182 isUnaryExpression: isUnaryExpression,
12183 isUpdateExpression: isUpdateExpression,
12184 isVariableDeclaration: isVariableDeclaration,
12185 isVariableDeclarator: isVariableDeclarator,
12186 isWhileStatement: isWhileStatement,
12187 isWithStatement: isWithStatement,
12188 isAssignmentPattern: isAssignmentPattern,
12189 isArrayPattern: isArrayPattern,
12190 isArrowFunctionExpression: isArrowFunctionExpression,
12191 isClassBody: isClassBody,
12192 isClassExpression: isClassExpression,
12193 isClassDeclaration: isClassDeclaration,
12194 isExportAllDeclaration: isExportAllDeclaration,
12195 isExportDefaultDeclaration: isExportDefaultDeclaration,
12196 isExportNamedDeclaration: isExportNamedDeclaration,
12197 isExportSpecifier: isExportSpecifier,
12198 isForOfStatement: isForOfStatement,
12199 isImportDeclaration: isImportDeclaration,
12200 isImportDefaultSpecifier: isImportDefaultSpecifier,
12201 isImportNamespaceSpecifier: isImportNamespaceSpecifier,
12202 isImportSpecifier: isImportSpecifier,
12203 isMetaProperty: isMetaProperty,
12204 isClassMethod: isClassMethod,
12205 isObjectPattern: isObjectPattern,
12206 isSpreadElement: isSpreadElement,
12207 isSuper: isSuper,
12208 isTaggedTemplateExpression: isTaggedTemplateExpression,
12209 isTemplateElement: isTemplateElement,
12210 isTemplateLiteral: isTemplateLiteral,
12211 isYieldExpression: isYieldExpression,
12212 isAwaitExpression: isAwaitExpression,
12213 isImport: isImport,
12214 isBigIntLiteral: isBigIntLiteral,
12215 isExportNamespaceSpecifier: isExportNamespaceSpecifier,
12216 isOptionalMemberExpression: isOptionalMemberExpression,
12217 isOptionalCallExpression: isOptionalCallExpression,
12218 isClassProperty: isClassProperty,
12219 isClassPrivateProperty: isClassPrivateProperty,
12220 isClassPrivateMethod: isClassPrivateMethod,
12221 isPrivateName: isPrivateName,
12222 isAnyTypeAnnotation: isAnyTypeAnnotation,
12223 isArrayTypeAnnotation: isArrayTypeAnnotation,
12224 isBooleanTypeAnnotation: isBooleanTypeAnnotation,
12225 isBooleanLiteralTypeAnnotation: isBooleanLiteralTypeAnnotation,
12226 isNullLiteralTypeAnnotation: isNullLiteralTypeAnnotation,
12227 isClassImplements: isClassImplements,
12228 isDeclareClass: isDeclareClass,
12229 isDeclareFunction: isDeclareFunction,
12230 isDeclareInterface: isDeclareInterface,
12231 isDeclareModule: isDeclareModule,
12232 isDeclareModuleExports: isDeclareModuleExports,
12233 isDeclareTypeAlias: isDeclareTypeAlias,
12234 isDeclareOpaqueType: isDeclareOpaqueType,
12235 isDeclareVariable: isDeclareVariable,
12236 isDeclareExportDeclaration: isDeclareExportDeclaration,
12237 isDeclareExportAllDeclaration: isDeclareExportAllDeclaration,
12238 isDeclaredPredicate: isDeclaredPredicate,
12239 isExistsTypeAnnotation: isExistsTypeAnnotation,
12240 isFunctionTypeAnnotation: isFunctionTypeAnnotation,
12241 isFunctionTypeParam: isFunctionTypeParam,
12242 isGenericTypeAnnotation: isGenericTypeAnnotation,
12243 isInferredPredicate: isInferredPredicate,
12244 isInterfaceExtends: isInterfaceExtends,
12245 isInterfaceDeclaration: isInterfaceDeclaration,
12246 isInterfaceTypeAnnotation: isInterfaceTypeAnnotation,
12247 isIntersectionTypeAnnotation: isIntersectionTypeAnnotation,
12248 isMixedTypeAnnotation: isMixedTypeAnnotation,
12249 isEmptyTypeAnnotation: isEmptyTypeAnnotation,
12250 isNullableTypeAnnotation: isNullableTypeAnnotation,
12251 isNumberLiteralTypeAnnotation: isNumberLiteralTypeAnnotation,
12252 isNumberTypeAnnotation: isNumberTypeAnnotation,
12253 isObjectTypeAnnotation: isObjectTypeAnnotation,
12254 isObjectTypeInternalSlot: isObjectTypeInternalSlot,
12255 isObjectTypeCallProperty: isObjectTypeCallProperty,
12256 isObjectTypeIndexer: isObjectTypeIndexer,
12257 isObjectTypeProperty: isObjectTypeProperty,
12258 isObjectTypeSpreadProperty: isObjectTypeSpreadProperty,
12259 isOpaqueType: isOpaqueType,
12260 isQualifiedTypeIdentifier: isQualifiedTypeIdentifier,
12261 isStringLiteralTypeAnnotation: isStringLiteralTypeAnnotation,
12262 isStringTypeAnnotation: isStringTypeAnnotation,
12263 isSymbolTypeAnnotation: isSymbolTypeAnnotation,
12264 isThisTypeAnnotation: isThisTypeAnnotation,
12265 isTupleTypeAnnotation: isTupleTypeAnnotation,
12266 isTypeofTypeAnnotation: isTypeofTypeAnnotation,
12267 isTypeAlias: isTypeAlias,
12268 isTypeAnnotation: isTypeAnnotation,
12269 isTypeCastExpression: isTypeCastExpression,
12270 isTypeParameter: isTypeParameter,
12271 isTypeParameterDeclaration: isTypeParameterDeclaration,
12272 isTypeParameterInstantiation: isTypeParameterInstantiation,
12273 isUnionTypeAnnotation: isUnionTypeAnnotation,
12274 isVariance: isVariance,
12275 isVoidTypeAnnotation: isVoidTypeAnnotation,
12276 isEnumDeclaration: isEnumDeclaration,
12277 isEnumBooleanBody: isEnumBooleanBody,
12278 isEnumNumberBody: isEnumNumberBody,
12279 isEnumStringBody: isEnumStringBody,
12280 isEnumSymbolBody: isEnumSymbolBody,
12281 isEnumBooleanMember: isEnumBooleanMember,
12282 isEnumNumberMember: isEnumNumberMember,
12283 isEnumStringMember: isEnumStringMember,
12284 isEnumDefaultedMember: isEnumDefaultedMember,
12285 isIndexedAccessType: isIndexedAccessType,
12286 isOptionalIndexedAccessType: isOptionalIndexedAccessType,
12287 isJSXAttribute: isJSXAttribute,
12288 isJSXClosingElement: isJSXClosingElement,
12289 isJSXElement: isJSXElement,
12290 isJSXEmptyExpression: isJSXEmptyExpression,
12291 isJSXExpressionContainer: isJSXExpressionContainer,
12292 isJSXSpreadChild: isJSXSpreadChild,
12293 isJSXIdentifier: isJSXIdentifier,
12294 isJSXMemberExpression: isJSXMemberExpression,
12295 isJSXNamespacedName: isJSXNamespacedName,
12296 isJSXOpeningElement: isJSXOpeningElement,
12297 isJSXSpreadAttribute: isJSXSpreadAttribute,
12298 isJSXText: isJSXText,
12299 isJSXFragment: isJSXFragment,
12300 isJSXOpeningFragment: isJSXOpeningFragment,
12301 isJSXClosingFragment: isJSXClosingFragment,
12302 isNoop: isNoop,
12303 isPlaceholder: isPlaceholder,
12304 isV8IntrinsicIdentifier: isV8IntrinsicIdentifier,
12305 isArgumentPlaceholder: isArgumentPlaceholder,
12306 isBindExpression: isBindExpression,
12307 isPipelineTopicExpression: isPipelineTopicExpression,
12308 isPipelineBareFunction: isPipelineBareFunction,
12309 isPipelinePrimaryTopicReference: isPipelinePrimaryTopicReference,
12310 isImportAttribute: isImportAttribute,
12311 isDecorator: isDecorator,
12312 isDoExpression: isDoExpression,
12313 isExportDefaultSpecifier: isExportDefaultSpecifier,
12314 isRecordExpression: isRecordExpression,
12315 isTupleExpression: isTupleExpression,
12316 isDecimalLiteral: isDecimalLiteral,
12317 isStaticBlock: isStaticBlock,
12318 isModuleExpression: isModuleExpression,
12319 isTSParameterProperty: isTSParameterProperty,
12320 isTSDeclareFunction: isTSDeclareFunction,
12321 isTSDeclareMethod: isTSDeclareMethod,
12322 isTSQualifiedName: isTSQualifiedName,
12323 isTSCallSignatureDeclaration: isTSCallSignatureDeclaration,
12324 isTSConstructSignatureDeclaration: isTSConstructSignatureDeclaration,
12325 isTSPropertySignature: isTSPropertySignature,
12326 isTSMethodSignature: isTSMethodSignature,
12327 isTSIndexSignature: isTSIndexSignature,
12328 isTSAnyKeyword: isTSAnyKeyword,
12329 isTSBooleanKeyword: isTSBooleanKeyword,
12330 isTSBigIntKeyword: isTSBigIntKeyword,
12331 isTSIntrinsicKeyword: isTSIntrinsicKeyword,
12332 isTSNeverKeyword: isTSNeverKeyword,
12333 isTSNullKeyword: isTSNullKeyword,
12334 isTSNumberKeyword: isTSNumberKeyword,
12335 isTSObjectKeyword: isTSObjectKeyword,
12336 isTSStringKeyword: isTSStringKeyword,
12337 isTSSymbolKeyword: isTSSymbolKeyword,
12338 isTSUndefinedKeyword: isTSUndefinedKeyword,
12339 isTSUnknownKeyword: isTSUnknownKeyword,
12340 isTSVoidKeyword: isTSVoidKeyword,
12341 isTSThisType: isTSThisType,
12342 isTSFunctionType: isTSFunctionType,
12343 isTSConstructorType: isTSConstructorType,
12344 isTSTypeReference: isTSTypeReference,
12345 isTSTypePredicate: isTSTypePredicate,
12346 isTSTypeQuery: isTSTypeQuery,
12347 isTSTypeLiteral: isTSTypeLiteral,
12348 isTSArrayType: isTSArrayType,
12349 isTSTupleType: isTSTupleType,
12350 isTSOptionalType: isTSOptionalType,
12351 isTSRestType: isTSRestType,
12352 isTSNamedTupleMember: isTSNamedTupleMember,
12353 isTSUnionType: isTSUnionType,
12354 isTSIntersectionType: isTSIntersectionType,
12355 isTSConditionalType: isTSConditionalType,
12356 isTSInferType: isTSInferType,
12357 isTSParenthesizedType: isTSParenthesizedType,
12358 isTSTypeOperator: isTSTypeOperator,
12359 isTSIndexedAccessType: isTSIndexedAccessType,
12360 isTSMappedType: isTSMappedType,
12361 isTSLiteralType: isTSLiteralType,
12362 isTSExpressionWithTypeArguments: isTSExpressionWithTypeArguments,
12363 isTSInterfaceDeclaration: isTSInterfaceDeclaration,
12364 isTSInterfaceBody: isTSInterfaceBody,
12365 isTSTypeAliasDeclaration: isTSTypeAliasDeclaration,
12366 isTSAsExpression: isTSAsExpression,
12367 isTSTypeAssertion: isTSTypeAssertion,
12368 isTSEnumDeclaration: isTSEnumDeclaration,
12369 isTSEnumMember: isTSEnumMember,
12370 isTSModuleDeclaration: isTSModuleDeclaration,
12371 isTSModuleBlock: isTSModuleBlock,
12372 isTSImportType: isTSImportType,
12373 isTSImportEqualsDeclaration: isTSImportEqualsDeclaration,
12374 isTSExternalModuleReference: isTSExternalModuleReference,
12375 isTSNonNullExpression: isTSNonNullExpression,
12376 isTSExportAssignment: isTSExportAssignment,
12377 isTSNamespaceExportDeclaration: isTSNamespaceExportDeclaration,
12378 isTSTypeAnnotation: isTSTypeAnnotation,
12379 isTSTypeParameterInstantiation: isTSTypeParameterInstantiation,
12380 isTSTypeParameterDeclaration: isTSTypeParameterDeclaration,
12381 isTSTypeParameter: isTSTypeParameter,
12382 isExpression: isExpression,
12383 isBinary: isBinary,
12384 isScopable: isScopable,
12385 isBlockParent: isBlockParent,
12386 isBlock: isBlock,
12387 isStatement: isStatement,
12388 isTerminatorless: isTerminatorless,
12389 isCompletionStatement: isCompletionStatement,
12390 isConditional: isConditional,
12391 isLoop: isLoop$1,
12392 isWhile: isWhile,
12393 isExpressionWrapper: isExpressionWrapper,
12394 isFor: isFor,
12395 isForXStatement: isForXStatement,
12396 isFunction: isFunction$1,
12397 isFunctionParent: isFunctionParent,
12398 isPureish: isPureish,
12399 isDeclaration: isDeclaration,
12400 isPatternLike: isPatternLike,
12401 isLVal: isLVal,
12402 isTSEntityName: isTSEntityName,
12403 isLiteral: isLiteral,
12404 isUserWhitespacable: isUserWhitespacable,
12405 isMethod: isMethod,
12406 isObjectMember: isObjectMember,
12407 isProperty: isProperty,
12408 isUnaryLike: isUnaryLike,
12409 isPattern: isPattern,
12410 isClass: isClass,
12411 isModuleDeclaration: isModuleDeclaration,
12412 isExportDeclaration: isExportDeclaration,
12413 isModuleSpecifier: isModuleSpecifier,
12414 isPrivate: isPrivate,
12415 isFlow: isFlow,
12416 isFlowType: isFlowType,
12417 isFlowBaseAnnotation: isFlowBaseAnnotation,
12418 isFlowDeclaration: isFlowDeclaration,
12419 isFlowPredicate: isFlowPredicate,
12420 isEnumBody: isEnumBody,
12421 isEnumMember: isEnumMember,
12422 isJSX: isJSX,
12423 isTSTypeElement: isTSTypeElement,
12424 isTSType: isTSType,
12425 isTSBaseType: isTSBaseType,
12426 isNumberLiteral: isNumberLiteral,
12427 isRegexLiteral: isRegexLiteral,
12428 isRestProperty: isRestProperty,
12429 isSpreadProperty: isSpreadProperty
12430 });
12431
12432 var ReferencedIdentifier = {
12433 types: ["Identifier", "JSXIdentifier"],
12434 checkPath: function checkPath(path, opts) {
12435 var node = path.node,
12436 parent = path.parent;
12437
12438 if (!isIdentifier(node, opts) && !isJSXMemberExpression(parent, opts)) {
12439 if (isJSXIdentifier(node, opts)) {
12440 if (react.isCompatTag(node.name)) return false;
12441 } else {
12442 return false;
12443 }
12444 }
12445
12446 return isReferenced(node, parent, path.parentPath.parent);
12447 }
12448 };
12449 var ReferencedMemberExpression = {
12450 types: ["MemberExpression"],
12451 checkPath: function checkPath(_ref) {
12452 var node = _ref.node,
12453 parent = _ref.parent;
12454 return isMemberExpression(node) && isReferenced(node, parent);
12455 }
12456 };
12457 var BindingIdentifier = {
12458 types: ["Identifier"],
12459 checkPath: function checkPath(path) {
12460 var node = path.node,
12461 parent = path.parent;
12462 var grandparent = path.parentPath.parent;
12463 return isIdentifier(node) && isBinding(node, parent, grandparent);
12464 }
12465 };
12466 var Statement = {
12467 types: ["Statement"],
12468 checkPath: function checkPath(_ref2) {
12469 var node = _ref2.node,
12470 parent = _ref2.parent;
12471
12472 if (isStatement(node)) {
12473 if (isVariableDeclaration(node)) {
12474 if (isForXStatement(parent, {
12475 left: node
12476 })) return false;
12477 if (isForStatement(parent, {
12478 init: node
12479 })) return false;
12480 }
12481
12482 return true;
12483 } else {
12484 return false;
12485 }
12486 }
12487 };
12488 var Expression = {
12489 types: ["Expression"],
12490 checkPath: function checkPath(path) {
12491 if (path.isIdentifier()) {
12492 return path.isReferencedIdentifier();
12493 } else {
12494 return isExpression(path.node);
12495 }
12496 }
12497 };
12498 var Scope$2 = {
12499 types: ["Scopable", "Pattern"],
12500 checkPath: function checkPath(path) {
12501 return isScope(path.node, path.parent);
12502 }
12503 };
12504 var Referenced = {
12505 checkPath: function checkPath(path) {
12506 return isReferenced(path.node, path.parent);
12507 }
12508 };
12509 var BlockScoped = {
12510 checkPath: function checkPath(path) {
12511 return isBlockScoped$1(path.node);
12512 }
12513 };
12514 var Var = {
12515 types: ["VariableDeclaration"],
12516 checkPath: function checkPath(path) {
12517 return isVar$1(path.node);
12518 }
12519 };
12520 var User = {
12521 checkPath: function checkPath(path) {
12522 return path.node && !!path.node.loc;
12523 }
12524 };
12525 var Generated = {
12526 checkPath: function checkPath(path) {
12527 return !path.isUser();
12528 }
12529 };
12530 var Pure = {
12531 checkPath: function checkPath(path, opts) {
12532 return path.scope.isPure(path.node, opts);
12533 }
12534 };
12535 var Flow = {
12536 types: ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"],
12537 checkPath: function checkPath(_ref3) {
12538 var node = _ref3.node;
12539
12540 if (isFlow(node)) {
12541 return true;
12542 } else if (isImportDeclaration(node)) {
12543 return node.importKind === "type" || node.importKind === "typeof";
12544 } else if (isExportDeclaration(node)) {
12545 return node.exportKind === "type";
12546 } else if (isImportSpecifier(node)) {
12547 return node.importKind === "type" || node.importKind === "typeof";
12548 } else {
12549 return false;
12550 }
12551 }
12552 };
12553 var RestProperty = {
12554 types: ["RestElement"],
12555 checkPath: function checkPath(path) {
12556 return path.parentPath && path.parentPath.isObjectPattern();
12557 }
12558 };
12559 var SpreadProperty = {
12560 types: ["RestElement"],
12561 checkPath: function checkPath(path) {
12562 return path.parentPath && path.parentPath.isObjectExpression();
12563 }
12564 };
12565 var ExistentialTypeParam = {
12566 types: ["ExistsTypeAnnotation"]
12567 };
12568 var NumericLiteralTypeAnnotation = {
12569 types: ["NumberLiteralTypeAnnotation"]
12570 };
12571 var ForAwaitStatement = {
12572 types: ["ForOfStatement"],
12573 checkPath: function checkPath(_ref4) {
12574 var node = _ref4.node;
12575 return node["await"] === true;
12576 }
12577 };
12578
12579 var virtualTypes = /*#__PURE__*/Object.freeze({
12580 __proto__: null,
12581 ReferencedIdentifier: ReferencedIdentifier,
12582 ReferencedMemberExpression: ReferencedMemberExpression,
12583 BindingIdentifier: BindingIdentifier,
12584 Statement: Statement,
12585 Expression: Expression,
12586 Scope: Scope$2,
12587 Referenced: Referenced,
12588 BlockScoped: BlockScoped,
12589 Var: Var,
12590 User: User,
12591 Generated: Generated,
12592 Pure: Pure,
12593 Flow: Flow,
12594 RestProperty: RestProperty,
12595 SpreadProperty: SpreadProperty,
12596 ExistentialTypeParam: ExistentialTypeParam,
12597 NumericLiteralTypeAnnotation: NumericLiteralTypeAnnotation,
12598 ForAwaitStatement: ForAwaitStatement
12599 });
12600
12601 var s$1 = 1000;
12602 var m$2 = s$1 * 60;
12603 var h$1 = m$2 * 60;
12604 var d$1 = h$1 * 24;
12605 var w$1 = d$1 * 7;
12606 var y$1 = d$1 * 365.25;
12607
12608 var ms$1 = function ms(val, options) {
12609 options = options || {};
12610 var type = typeof val;
12611
12612 if (type === 'string' && val.length > 0) {
12613 return parse$9(val);
12614 } else if (type === 'number' && isFinite(val)) {
12615 return options["long"] ? fmtLong$1(val) : fmtShort$1(val);
12616 }
12617
12618 throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));
12619 };
12620
12621 function parse$9(str) {
12622 str = String(str);
12623
12624 if (str.length > 100) {
12625 return;
12626 }
12627
12628 var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
12629
12630 if (!match) {
12631 return;
12632 }
12633
12634 var n = parseFloat(match[1]);
12635 var type = (match[2] || 'ms').toLowerCase();
12636
12637 switch (type) {
12638 case 'years':
12639 case 'year':
12640 case 'yrs':
12641 case 'yr':
12642 case 'y':
12643 return n * y$1;
12644
12645 case 'weeks':
12646 case 'week':
12647 case 'w':
12648 return n * w$1;
12649
12650 case 'days':
12651 case 'day':
12652 case 'd':
12653 return n * d$1;
12654
12655 case 'hours':
12656 case 'hour':
12657 case 'hrs':
12658 case 'hr':
12659 case 'h':
12660 return n * h$1;
12661
12662 case 'minutes':
12663 case 'minute':
12664 case 'mins':
12665 case 'min':
12666 case 'm':
12667 return n * m$2;
12668
12669 case 'seconds':
12670 case 'second':
12671 case 'secs':
12672 case 'sec':
12673 case 's':
12674 return n * s$1;
12675
12676 case 'milliseconds':
12677 case 'millisecond':
12678 case 'msecs':
12679 case 'msec':
12680 case 'ms':
12681 return n;
12682
12683 default:
12684 return undefined;
12685 }
12686 }
12687
12688 function fmtShort$1(ms) {
12689 var msAbs = Math.abs(ms);
12690
12691 if (msAbs >= d$1) {
12692 return Math.round(ms / d$1) + 'd';
12693 }
12694
12695 if (msAbs >= h$1) {
12696 return Math.round(ms / h$1) + 'h';
12697 }
12698
12699 if (msAbs >= m$2) {
12700 return Math.round(ms / m$2) + 'm';
12701 }
12702
12703 if (msAbs >= s$1) {
12704 return Math.round(ms / s$1) + 's';
12705 }
12706
12707 return ms + 'ms';
12708 }
12709
12710 function fmtLong$1(ms) {
12711 var msAbs = Math.abs(ms);
12712
12713 if (msAbs >= d$1) {
12714 return plural$1(ms, msAbs, d$1, 'day');
12715 }
12716
12717 if (msAbs >= h$1) {
12718 return plural$1(ms, msAbs, h$1, 'hour');
12719 }
12720
12721 if (msAbs >= m$2) {
12722 return plural$1(ms, msAbs, m$2, 'minute');
12723 }
12724
12725 if (msAbs >= s$1) {
12726 return plural$1(ms, msAbs, s$1, 'second');
12727 }
12728
12729 return ms + ' ms';
12730 }
12731
12732 function plural$1(ms, msAbs, n, name) {
12733 var isPlural = msAbs >= n * 1.5;
12734 return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
12735 }
12736
12737 function setup$2(env) {
12738 createDebug.debug = createDebug;
12739 createDebug["default"] = createDebug;
12740 createDebug.coerce = coerce;
12741 createDebug.disable = disable;
12742 createDebug.enable = enable;
12743 createDebug.enabled = enabled;
12744 createDebug.humanize = ms$1;
12745 createDebug.destroy = destroy;
12746 Object.keys(env).forEach(function (key) {
12747 createDebug[key] = env[key];
12748 });
12749 createDebug.names = [];
12750 createDebug.skips = [];
12751 createDebug.formatters = {};
12752
12753 function selectColor(namespace) {
12754 var hash = 0;
12755
12756 for (var i = 0; i < namespace.length; i++) {
12757 hash = (hash << 5) - hash + namespace.charCodeAt(i);
12758 hash |= 0;
12759 }
12760
12761 return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
12762 }
12763
12764 createDebug.selectColor = selectColor;
12765
12766 function createDebug(namespace) {
12767 var prevTime;
12768 var enableOverride = null;
12769 var namespacesCache;
12770 var enabledCache;
12771
12772 function debug() {
12773 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12774 args[_key] = arguments[_key];
12775 }
12776
12777 if (!debug.enabled) {
12778 return;
12779 }
12780
12781 var self = debug;
12782 var curr = Number(new Date());
12783 var ms = curr - (prevTime || curr);
12784 self.diff = ms;
12785 self.prev = prevTime;
12786 self.curr = curr;
12787 prevTime = curr;
12788 args[0] = createDebug.coerce(args[0]);
12789
12790 if (typeof args[0] !== 'string') {
12791 args.unshift('%O');
12792 }
12793
12794 var index = 0;
12795 args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {
12796 if (match === '%%') {
12797 return '%';
12798 }
12799
12800 index++;
12801 var formatter = createDebug.formatters[format];
12802
12803 if (typeof formatter === 'function') {
12804 var val = args[index];
12805 match = formatter.call(self, val);
12806 args.splice(index, 1);
12807 index--;
12808 }
12809
12810 return match;
12811 });
12812 createDebug.formatArgs.call(self, args);
12813 var logFn = self.log || createDebug.log;
12814 logFn.apply(self, args);
12815 }
12816
12817 debug.namespace = namespace;
12818 debug.useColors = createDebug.useColors();
12819 debug.color = createDebug.selectColor(namespace);
12820 debug.extend = extend;
12821 debug.destroy = createDebug.destroy;
12822 Object.defineProperty(debug, 'enabled', {
12823 enumerable: true,
12824 configurable: false,
12825 get: function get() {
12826 if (enableOverride !== null) {
12827 return enableOverride;
12828 }
12829
12830 if (namespacesCache !== createDebug.namespaces) {
12831 namespacesCache = createDebug.namespaces;
12832 enabledCache = createDebug.enabled(namespace);
12833 }
12834
12835 return enabledCache;
12836 },
12837 set: function set(v) {
12838 enableOverride = v;
12839 }
12840 });
12841
12842 if (typeof createDebug.init === 'function') {
12843 createDebug.init(debug);
12844 }
12845
12846 return debug;
12847 }
12848
12849 function extend(namespace, delimiter) {
12850 var newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
12851 newDebug.log = this.log;
12852 return newDebug;
12853 }
12854
12855 function enable(namespaces) {
12856 createDebug.save(namespaces);
12857 createDebug.namespaces = namespaces;
12858 createDebug.names = [];
12859 createDebug.skips = [];
12860 var i;
12861 var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
12862 var len = split.length;
12863
12864 for (i = 0; i < len; i++) {
12865 if (!split[i]) {
12866 continue;
12867 }
12868
12869 namespaces = split[i].replace(/\*/g, '.*?');
12870
12871 if (namespaces[0] === '-') {
12872 createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
12873 } else {
12874 createDebug.names.push(new RegExp('^' + namespaces + '$'));
12875 }
12876 }
12877 }
12878
12879 function disable() {
12880 var namespaces = [].concat(_toConsumableArray(createDebug.names.map(toNamespace)), _toConsumableArray(createDebug.skips.map(toNamespace).map(function (namespace) {
12881 return '-' + namespace;
12882 }))).join(',');
12883 createDebug.enable('');
12884 return namespaces;
12885 }
12886
12887 function enabled(name) {
12888 if (name[name.length - 1] === '*') {
12889 return true;
12890 }
12891
12892 var i;
12893 var len;
12894
12895 for (i = 0, len = createDebug.skips.length; i < len; i++) {
12896 if (createDebug.skips[i].test(name)) {
12897 return false;
12898 }
12899 }
12900
12901 for (i = 0, len = createDebug.names.length; i < len; i++) {
12902 if (createDebug.names[i].test(name)) {
12903 return true;
12904 }
12905 }
12906
12907 return false;
12908 }
12909
12910 function toNamespace(regexp) {
12911 return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, '*');
12912 }
12913
12914 function coerce(val) {
12915 if (val instanceof Error) {
12916 return val.stack || val.message;
12917 }
12918
12919 return val;
12920 }
12921
12922 function destroy() {
12923 console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
12924 }
12925
12926 createDebug.enable(createDebug.load());
12927 return createDebug;
12928 }
12929
12930 var common$1 = setup$2;
12931
12932 var browser$5 = createCommonjsModule(function (module, exports) {
12933 exports.formatArgs = formatArgs;
12934 exports.save = save;
12935 exports.load = load;
12936 exports.useColors = useColors;
12937 exports.storage = localstorage();
12938
12939 exports.destroy = function () {
12940 var warned = false;
12941 return function () {
12942 if (!warned) {
12943 warned = true;
12944 console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
12945 }
12946 };
12947 }();
12948
12949 exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'];
12950
12951 function useColors() {
12952 if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
12953 return true;
12954 }
12955
12956 if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
12957 return false;
12958 }
12959
12960 return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
12961 }
12962
12963 function formatArgs(args) {
12964 args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff);
12965
12966 if (!this.useColors) {
12967 return;
12968 }
12969
12970 var c = 'color: ' + this.color;
12971 args.splice(1, 0, c, 'color: inherit');
12972 var index = 0;
12973 var lastC = 0;
12974 args[0].replace(/%[a-zA-Z%]/g, function (match) {
12975 if (match === '%%') {
12976 return;
12977 }
12978
12979 index++;
12980
12981 if (match === '%c') {
12982 lastC = index;
12983 }
12984 });
12985 args.splice(lastC, 0, c);
12986 }
12987
12988 exports.log = console.debug || console.log || function () {};
12989
12990 function save(namespaces) {
12991 try {
12992 if (namespaces) {
12993 exports.storage.setItem('debug', namespaces);
12994 } else {
12995 exports.storage.removeItem('debug');
12996 }
12997 } catch (error) {}
12998 }
12999
13000 function load() {
13001 var r;
13002
13003 try {
13004 r = exports.storage.getItem('debug');
13005 } catch (error) {}
13006
13007 if (!r && typeof browser$6 !== 'undefined' && 'env' in browser$6) {
13008 r = browser$6.env.DEBUG;
13009 }
13010
13011 return r;
13012 }
13013
13014 function localstorage() {
13015 try {
13016 return localStorage;
13017 } catch (error) {}
13018 }
13019
13020 module.exports = common$1(exports);
13021 var formatters = module.exports.formatters;
13022
13023 formatters.j = function (v) {
13024 try {
13025 return JSON.stringify(v);
13026 } catch (error) {
13027 return '[UnexpectedJSONParseError]: ' + error.message;
13028 }
13029 };
13030 }, "/$$rollup_base$$/packages/babel-traverse/node_modules/debug/src");
13031
13032 var Binding = function () {
13033 function Binding(_ref) {
13034 var identifier = _ref.identifier,
13035 scope = _ref.scope,
13036 path = _ref.path,
13037 kind = _ref.kind;
13038 this.identifier = void 0;
13039 this.scope = void 0;
13040 this.path = void 0;
13041 this.kind = void 0;
13042 this.constantViolations = [];
13043 this.constant = true;
13044 this.referencePaths = [];
13045 this.referenced = false;
13046 this.references = 0;
13047 this.identifier = identifier;
13048 this.scope = scope;
13049 this.path = path;
13050 this.kind = kind;
13051 this.clearValue();
13052 }
13053
13054 var _proto = Binding.prototype;
13055
13056 _proto.deoptValue = function deoptValue() {
13057 this.clearValue();
13058 this.hasDeoptedValue = true;
13059 };
13060
13061 _proto.setValue = function setValue(value) {
13062 if (this.hasDeoptedValue) return;
13063 this.hasValue = true;
13064 this.value = value;
13065 };
13066
13067 _proto.clearValue = function clearValue() {
13068 this.hasDeoptedValue = false;
13069 this.hasValue = false;
13070 this.value = null;
13071 };
13072
13073 _proto.reassign = function reassign(path) {
13074 this.constant = false;
13075
13076 if (this.constantViolations.indexOf(path) !== -1) {
13077 return;
13078 }
13079
13080 this.constantViolations.push(path);
13081 };
13082
13083 _proto.reference = function reference(path) {
13084 if (this.referencePaths.indexOf(path) !== -1) {
13085 return;
13086 }
13087
13088 this.referenced = true;
13089 this.references++;
13090 this.referencePaths.push(path);
13091 };
13092
13093 _proto.dereference = function dereference() {
13094 this.references--;
13095 this.referenced = !!this.references;
13096 };
13097
13098 return Binding;
13099 }();
13100
13101 function splitExportDeclaration(exportDeclaration) {
13102 if (!exportDeclaration.isExportDeclaration()) {
13103 throw new Error("Only export declarations can be split.");
13104 }
13105
13106 var isDefault = exportDeclaration.isExportDefaultDeclaration();
13107 var declaration = exportDeclaration.get("declaration");
13108 var isClassDeclaration = declaration.isClassDeclaration();
13109
13110 if (isDefault) {
13111 var standaloneDeclaration = declaration.isFunctionDeclaration() || isClassDeclaration;
13112 var scope = declaration.isScope() ? declaration.scope.parent : declaration.scope;
13113 var id = declaration.node.id;
13114 var needBindingRegistration = false;
13115
13116 if (!id) {
13117 needBindingRegistration = true;
13118 id = scope.generateUidIdentifier("default");
13119
13120 if (standaloneDeclaration || declaration.isFunctionExpression() || declaration.isClassExpression()) {
13121 declaration.node.id = cloneNode(id);
13122 }
13123 }
13124
13125 var updatedDeclaration = standaloneDeclaration ? declaration : variableDeclaration("var", [variableDeclarator(cloneNode(id), declaration.node)]);
13126 var updatedExportDeclaration = exportNamedDeclaration(null, [exportSpecifier(cloneNode(id), identifier("default"))]);
13127 exportDeclaration.insertAfter(updatedExportDeclaration);
13128 exportDeclaration.replaceWith(updatedDeclaration);
13129
13130 if (needBindingRegistration) {
13131 scope.registerDeclaration(exportDeclaration);
13132 }
13133
13134 return exportDeclaration;
13135 }
13136
13137 if (exportDeclaration.get("specifiers").length > 0) {
13138 throw new Error("It doesn't make sense to split exported specifiers.");
13139 }
13140
13141 var bindingIdentifiers = declaration.getOuterBindingIdentifiers();
13142 var specifiers = Object.keys(bindingIdentifiers).map(function (name) {
13143 return exportSpecifier(identifier(name), identifier(name));
13144 });
13145 var aliasDeclar = exportNamedDeclaration(null, specifiers);
13146 exportDeclaration.insertAfter(aliasDeclar);
13147 exportDeclaration.replaceWith(declaration.node);
13148 return exportDeclaration;
13149 }
13150
13151 var renameVisitor = {
13152 ReferencedIdentifier: function ReferencedIdentifier(_ref, state) {
13153 var node = _ref.node;
13154
13155 if (node.name === state.oldName) {
13156 node.name = state.newName;
13157 }
13158 },
13159 Scope: function Scope(path, state) {
13160 if (!path.scope.bindingIdentifierEquals(state.oldName, state.binding.identifier)) {
13161 skipAllButComputedMethodKey(path);
13162 }
13163 },
13164 "AssignmentExpression|Declaration|VariableDeclarator": function AssignmentExpressionDeclarationVariableDeclarator(path, state) {
13165 if (path.isVariableDeclaration()) return;
13166 var ids = path.getOuterBindingIdentifiers();
13167
13168 for (var name in ids) {
13169 if (name === state.oldName) ids[name].name = state.newName;
13170 }
13171 }
13172 };
13173
13174 var Renamer = function () {
13175 function Renamer(binding, oldName, newName) {
13176 this.newName = newName;
13177 this.oldName = oldName;
13178 this.binding = binding;
13179 }
13180
13181 var _proto = Renamer.prototype;
13182
13183 _proto.maybeConvertFromExportDeclaration = function maybeConvertFromExportDeclaration(parentDeclar) {
13184 var maybeExportDeclar = parentDeclar.parentPath;
13185
13186 if (!maybeExportDeclar.isExportDeclaration()) {
13187 return;
13188 }
13189
13190 if (maybeExportDeclar.isExportDefaultDeclaration() && !maybeExportDeclar.get("declaration").node.id) {
13191 return;
13192 }
13193
13194 splitExportDeclaration(maybeExportDeclar);
13195 };
13196
13197 _proto.maybeConvertFromClassFunctionDeclaration = function maybeConvertFromClassFunctionDeclaration(path) {
13198 return;
13199 };
13200
13201 _proto.maybeConvertFromClassFunctionExpression = function maybeConvertFromClassFunctionExpression(path) {
13202 return;
13203 };
13204
13205 _proto.rename = function rename(block) {
13206 var _this = this;
13207
13208 var binding = this.binding,
13209 oldName = this.oldName,
13210 newName = this.newName;
13211 var scope = binding.scope,
13212 path = binding.path;
13213 var parentDeclar = path.find(function (path) {
13214 return path.isDeclaration() || path.isFunctionExpression() || path.isClassExpression();
13215 });
13216
13217 if (parentDeclar) {
13218 var bindingIds = parentDeclar.getOuterBindingIdentifiers();
13219
13220 if (bindingIds[oldName] === binding.identifier) {
13221 this.maybeConvertFromExportDeclaration(parentDeclar);
13222 }
13223 }
13224
13225 var blockToTraverse = block || scope.block;
13226
13227 if ((blockToTraverse == null ? void 0 : blockToTraverse.type) === "SwitchStatement") {
13228 blockToTraverse.cases.forEach(function (c) {
13229 scope.traverse(c, renameVisitor, _this);
13230 });
13231 } else {
13232 scope.traverse(blockToTraverse, renameVisitor, this);
13233 }
13234
13235 if (!block) {
13236 scope.removeOwnBinding(oldName);
13237 scope.bindings[newName] = binding;
13238 this.binding.identifier.name = newName;
13239 }
13240
13241 if (parentDeclar) {
13242 this.maybeConvertFromClassFunctionDeclaration(parentDeclar);
13243 this.maybeConvertFromClassFunctionExpression(parentDeclar);
13244 }
13245 };
13246
13247 return Renamer;
13248 }();
13249
13250 function skipAllButComputedMethodKey(path) {
13251 if (!path.isMethod() || !path.node.computed) {
13252 path.skip();
13253 return;
13254 }
13255
13256 var keys = VISITOR_KEYS[path.type];
13257
13258 for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
13259 var key = _step.value;
13260 if (key !== "key") path.skipKey(key);
13261 }
13262 }
13263
13264 var builtin$1 = {
13265 "Array": false,
13266 "ArrayBuffer": false,
13267 Atomics: false,
13268 BigInt: false,
13269 BigInt64Array: false,
13270 BigUint64Array: false,
13271 "Boolean": false,
13272 constructor: false,
13273 "DataView": false,
13274 "Date": false,
13275 "decodeURI": false,
13276 "decodeURIComponent": false,
13277 "encodeURI": false,
13278 "encodeURIComponent": false,
13279 "Error": false,
13280 "escape": false,
13281 "eval": false,
13282 "EvalError": false,
13283 "Float32Array": false,
13284 "Float64Array": false,
13285 "Function": false,
13286 globalThis: false,
13287 hasOwnProperty: false,
13288 "Infinity": false,
13289 "Int16Array": false,
13290 "Int32Array": false,
13291 "Int8Array": false,
13292 "isFinite": false,
13293 "isNaN": false,
13294 isPrototypeOf: false,
13295 "JSON": false,
13296 "Map": false,
13297 "Math": false,
13298 "NaN": false,
13299 "Number": false,
13300 "Object": false,
13301 "parseFloat": false,
13302 "parseInt": false,
13303 "Promise": false,
13304 propertyIsEnumerable: false,
13305 "Proxy": false,
13306 "RangeError": false,
13307 "ReferenceError": false,
13308 "Reflect": false,
13309 "RegExp": false,
13310 "Set": false,
13311 SharedArrayBuffer: false,
13312 "String": false,
13313 "Symbol": false,
13314 "SyntaxError": false,
13315 toLocaleString: false,
13316 toString: false,
13317 "TypeError": false,
13318 "Uint16Array": false,
13319 "Uint32Array": false,
13320 "Uint8Array": false,
13321 "Uint8ClampedArray": false,
13322 "undefined": false,
13323 "unescape": false,
13324 "URIError": false,
13325 valueOf: false,
13326 "WeakMap": false,
13327 "WeakSet": false
13328 };
13329 var es5$1 = {
13330 "Array": false,
13331 "Boolean": false,
13332 constructor: false,
13333 "Date": false,
13334 "decodeURI": false,
13335 "decodeURIComponent": false,
13336 "encodeURI": false,
13337 "encodeURIComponent": false,
13338 "Error": false,
13339 "escape": false,
13340 "eval": false,
13341 "EvalError": false,
13342 "Function": false,
13343 hasOwnProperty: false,
13344 "Infinity": false,
13345 "isFinite": false,
13346 "isNaN": false,
13347 isPrototypeOf: false,
13348 "JSON": false,
13349 "Math": false,
13350 "NaN": false,
13351 "Number": false,
13352 "Object": false,
13353 "parseFloat": false,
13354 "parseInt": false,
13355 propertyIsEnumerable: false,
13356 "RangeError": false,
13357 "ReferenceError": false,
13358 "RegExp": false,
13359 "String": false,
13360 "SyntaxError": false,
13361 toLocaleString: false,
13362 toString: false,
13363 "TypeError": false,
13364 "undefined": false,
13365 "unescape": false,
13366 "URIError": false,
13367 valueOf: false
13368 };
13369 var es2015$1 = {
13370 "Array": false,
13371 "ArrayBuffer": false,
13372 "Boolean": false,
13373 constructor: false,
13374 "DataView": false,
13375 "Date": false,
13376 "decodeURI": false,
13377 "decodeURIComponent": false,
13378 "encodeURI": false,
13379 "encodeURIComponent": false,
13380 "Error": false,
13381 "escape": false,
13382 "eval": false,
13383 "EvalError": false,
13384 "Float32Array": false,
13385 "Float64Array": false,
13386 "Function": false,
13387 hasOwnProperty: false,
13388 "Infinity": false,
13389 "Int16Array": false,
13390 "Int32Array": false,
13391 "Int8Array": false,
13392 "isFinite": false,
13393 "isNaN": false,
13394 isPrototypeOf: false,
13395 "JSON": false,
13396 "Map": false,
13397 "Math": false,
13398 "NaN": false,
13399 "Number": false,
13400 "Object": false,
13401 "parseFloat": false,
13402 "parseInt": false,
13403 "Promise": false,
13404 propertyIsEnumerable: false,
13405 "Proxy": false,
13406 "RangeError": false,
13407 "ReferenceError": false,
13408 "Reflect": false,
13409 "RegExp": false,
13410 "Set": false,
13411 "String": false,
13412 "Symbol": false,
13413 "SyntaxError": false,
13414 toLocaleString: false,
13415 toString: false,
13416 "TypeError": false,
13417 "Uint16Array": false,
13418 "Uint32Array": false,
13419 "Uint8Array": false,
13420 "Uint8ClampedArray": false,
13421 "undefined": false,
13422 "unescape": false,
13423 "URIError": false,
13424 valueOf: false,
13425 "WeakMap": false,
13426 "WeakSet": false
13427 };
13428 var es2017$1 = {
13429 "Array": false,
13430 "ArrayBuffer": false,
13431 Atomics: false,
13432 "Boolean": false,
13433 constructor: false,
13434 "DataView": false,
13435 "Date": false,
13436 "decodeURI": false,
13437 "decodeURIComponent": false,
13438 "encodeURI": false,
13439 "encodeURIComponent": false,
13440 "Error": false,
13441 "escape": false,
13442 "eval": false,
13443 "EvalError": false,
13444 "Float32Array": false,
13445 "Float64Array": false,
13446 "Function": false,
13447 hasOwnProperty: false,
13448 "Infinity": false,
13449 "Int16Array": false,
13450 "Int32Array": false,
13451 "Int8Array": false,
13452 "isFinite": false,
13453 "isNaN": false,
13454 isPrototypeOf: false,
13455 "JSON": false,
13456 "Map": false,
13457 "Math": false,
13458 "NaN": false,
13459 "Number": false,
13460 "Object": false,
13461 "parseFloat": false,
13462 "parseInt": false,
13463 "Promise": false,
13464 propertyIsEnumerable: false,
13465 "Proxy": false,
13466 "RangeError": false,
13467 "ReferenceError": false,
13468 "Reflect": false,
13469 "RegExp": false,
13470 "Set": false,
13471 SharedArrayBuffer: false,
13472 "String": false,
13473 "Symbol": false,
13474 "SyntaxError": false,
13475 toLocaleString: false,
13476 toString: false,
13477 "TypeError": false,
13478 "Uint16Array": false,
13479 "Uint32Array": false,
13480 "Uint8Array": false,
13481 "Uint8ClampedArray": false,
13482 "undefined": false,
13483 "unescape": false,
13484 "URIError": false,
13485 valueOf: false,
13486 "WeakMap": false,
13487 "WeakSet": false
13488 };
13489 var browser$4 = {
13490 AbortController: false,
13491 AbortSignal: false,
13492 addEventListener: false,
13493 alert: false,
13494 AnalyserNode: false,
13495 Animation: false,
13496 AnimationEffectReadOnly: false,
13497 AnimationEffectTiming: false,
13498 AnimationEffectTimingReadOnly: false,
13499 AnimationEvent: false,
13500 AnimationPlaybackEvent: false,
13501 AnimationTimeline: false,
13502 applicationCache: false,
13503 ApplicationCache: false,
13504 ApplicationCacheErrorEvent: false,
13505 atob: false,
13506 Attr: false,
13507 Audio: false,
13508 AudioBuffer: false,
13509 AudioBufferSourceNode: false,
13510 AudioContext: false,
13511 AudioDestinationNode: false,
13512 AudioListener: false,
13513 AudioNode: false,
13514 AudioParam: false,
13515 AudioProcessingEvent: false,
13516 AudioScheduledSourceNode: false,
13517 "AudioWorkletGlobalScope ": false,
13518 AudioWorkletNode: false,
13519 AudioWorkletProcessor: false,
13520 BarProp: false,
13521 BaseAudioContext: false,
13522 BatteryManager: false,
13523 BeforeUnloadEvent: false,
13524 BiquadFilterNode: false,
13525 Blob: false,
13526 BlobEvent: false,
13527 blur: false,
13528 BroadcastChannel: false,
13529 btoa: false,
13530 BudgetService: false,
13531 ByteLengthQueuingStrategy: false,
13532 Cache: false,
13533 caches: false,
13534 CacheStorage: false,
13535 cancelAnimationFrame: false,
13536 cancelIdleCallback: false,
13537 CanvasCaptureMediaStreamTrack: false,
13538 CanvasGradient: false,
13539 CanvasPattern: false,
13540 CanvasRenderingContext2D: false,
13541 ChannelMergerNode: false,
13542 ChannelSplitterNode: false,
13543 CharacterData: false,
13544 clearInterval: false,
13545 clearTimeout: false,
13546 clientInformation: false,
13547 ClipboardEvent: false,
13548 close: false,
13549 closed: false,
13550 CloseEvent: false,
13551 Comment: false,
13552 CompositionEvent: false,
13553 confirm: false,
13554 console: false,
13555 ConstantSourceNode: false,
13556 ConvolverNode: false,
13557 CountQueuingStrategy: false,
13558 createImageBitmap: false,
13559 Credential: false,
13560 CredentialsContainer: false,
13561 crypto: false,
13562 Crypto: false,
13563 CryptoKey: false,
13564 CSS: false,
13565 CSSConditionRule: false,
13566 CSSFontFaceRule: false,
13567 CSSGroupingRule: false,
13568 CSSImportRule: false,
13569 CSSKeyframeRule: false,
13570 CSSKeyframesRule: false,
13571 CSSMediaRule: false,
13572 CSSNamespaceRule: false,
13573 CSSPageRule: false,
13574 CSSRule: false,
13575 CSSRuleList: false,
13576 CSSStyleDeclaration: false,
13577 CSSStyleRule: false,
13578 CSSStyleSheet: false,
13579 CSSSupportsRule: false,
13580 CustomElementRegistry: false,
13581 customElements: false,
13582 CustomEvent: false,
13583 DataTransfer: false,
13584 DataTransferItem: false,
13585 DataTransferItemList: false,
13586 defaultstatus: false,
13587 defaultStatus: false,
13588 DelayNode: false,
13589 DeviceMotionEvent: false,
13590 DeviceOrientationEvent: false,
13591 devicePixelRatio: false,
13592 dispatchEvent: false,
13593 document: false,
13594 Document: false,
13595 DocumentFragment: false,
13596 DocumentType: false,
13597 DOMError: false,
13598 DOMException: false,
13599 DOMImplementation: false,
13600 DOMMatrix: false,
13601 DOMMatrixReadOnly: false,
13602 DOMParser: false,
13603 DOMPoint: false,
13604 DOMPointReadOnly: false,
13605 DOMQuad: false,
13606 DOMRect: false,
13607 DOMRectReadOnly: false,
13608 DOMStringList: false,
13609 DOMStringMap: false,
13610 DOMTokenList: false,
13611 DragEvent: false,
13612 DynamicsCompressorNode: false,
13613 Element: false,
13614 ErrorEvent: false,
13615 event: false,
13616 Event: false,
13617 EventSource: false,
13618 EventTarget: false,
13619 external: false,
13620 fetch: false,
13621 File: false,
13622 FileList: false,
13623 FileReader: false,
13624 find: false,
13625 focus: false,
13626 FocusEvent: false,
13627 FontFace: false,
13628 FontFaceSetLoadEvent: false,
13629 FormData: false,
13630 frameElement: false,
13631 frames: false,
13632 GainNode: false,
13633 Gamepad: false,
13634 GamepadButton: false,
13635 GamepadEvent: false,
13636 getComputedStyle: false,
13637 getSelection: false,
13638 HashChangeEvent: false,
13639 Headers: false,
13640 history: false,
13641 History: false,
13642 HTMLAllCollection: false,
13643 HTMLAnchorElement: false,
13644 HTMLAreaElement: false,
13645 HTMLAudioElement: false,
13646 HTMLBaseElement: false,
13647 HTMLBodyElement: false,
13648 HTMLBRElement: false,
13649 HTMLButtonElement: false,
13650 HTMLCanvasElement: false,
13651 HTMLCollection: false,
13652 HTMLContentElement: false,
13653 HTMLDataElement: false,
13654 HTMLDataListElement: false,
13655 HTMLDetailsElement: false,
13656 HTMLDialogElement: false,
13657 HTMLDirectoryElement: false,
13658 HTMLDivElement: false,
13659 HTMLDListElement: false,
13660 HTMLDocument: false,
13661 HTMLElement: false,
13662 HTMLEmbedElement: false,
13663 HTMLFieldSetElement: false,
13664 HTMLFontElement: false,
13665 HTMLFormControlsCollection: false,
13666 HTMLFormElement: false,
13667 HTMLFrameElement: false,
13668 HTMLFrameSetElement: false,
13669 HTMLHeadElement: false,
13670 HTMLHeadingElement: false,
13671 HTMLHRElement: false,
13672 HTMLHtmlElement: false,
13673 HTMLIFrameElement: false,
13674 HTMLImageElement: false,
13675 HTMLInputElement: false,
13676 HTMLLabelElement: false,
13677 HTMLLegendElement: false,
13678 HTMLLIElement: false,
13679 HTMLLinkElement: false,
13680 HTMLMapElement: false,
13681 HTMLMarqueeElement: false,
13682 HTMLMediaElement: false,
13683 HTMLMenuElement: false,
13684 HTMLMetaElement: false,
13685 HTMLMeterElement: false,
13686 HTMLModElement: false,
13687 HTMLObjectElement: false,
13688 HTMLOListElement: false,
13689 HTMLOptGroupElement: false,
13690 HTMLOptionElement: false,
13691 HTMLOptionsCollection: false,
13692 HTMLOutputElement: false,
13693 HTMLParagraphElement: false,
13694 HTMLParamElement: false,
13695 HTMLPictureElement: false,
13696 HTMLPreElement: false,
13697 HTMLProgressElement: false,
13698 HTMLQuoteElement: false,
13699 HTMLScriptElement: false,
13700 HTMLSelectElement: false,
13701 HTMLShadowElement: false,
13702 HTMLSlotElement: false,
13703 HTMLSourceElement: false,
13704 HTMLSpanElement: false,
13705 HTMLStyleElement: false,
13706 HTMLTableCaptionElement: false,
13707 HTMLTableCellElement: false,
13708 HTMLTableColElement: false,
13709 HTMLTableElement: false,
13710 HTMLTableRowElement: false,
13711 HTMLTableSectionElement: false,
13712 HTMLTemplateElement: false,
13713 HTMLTextAreaElement: false,
13714 HTMLTimeElement: false,
13715 HTMLTitleElement: false,
13716 HTMLTrackElement: false,
13717 HTMLUListElement: false,
13718 HTMLUnknownElement: false,
13719 HTMLVideoElement: false,
13720 IDBCursor: false,
13721 IDBCursorWithValue: false,
13722 IDBDatabase: false,
13723 IDBFactory: false,
13724 IDBIndex: false,
13725 IDBKeyRange: false,
13726 IDBObjectStore: false,
13727 IDBOpenDBRequest: false,
13728 IDBRequest: false,
13729 IDBTransaction: false,
13730 IDBVersionChangeEvent: false,
13731 IdleDeadline: false,
13732 IIRFilterNode: false,
13733 Image: false,
13734 ImageBitmap: false,
13735 ImageBitmapRenderingContext: false,
13736 ImageCapture: false,
13737 ImageData: false,
13738 indexedDB: false,
13739 innerHeight: false,
13740 innerWidth: false,
13741 InputEvent: false,
13742 IntersectionObserver: false,
13743 IntersectionObserverEntry: false,
13744 "Intl": false,
13745 isSecureContext: false,
13746 KeyboardEvent: false,
13747 KeyframeEffect: false,
13748 KeyframeEffectReadOnly: false,
13749 length: false,
13750 localStorage: false,
13751 location: true,
13752 Location: false,
13753 locationbar: false,
13754 matchMedia: false,
13755 MediaDeviceInfo: false,
13756 MediaDevices: false,
13757 MediaElementAudioSourceNode: false,
13758 MediaEncryptedEvent: false,
13759 MediaError: false,
13760 MediaKeyMessageEvent: false,
13761 MediaKeySession: false,
13762 MediaKeyStatusMap: false,
13763 MediaKeySystemAccess: false,
13764 MediaList: false,
13765 MediaQueryList: false,
13766 MediaQueryListEvent: false,
13767 MediaRecorder: false,
13768 MediaSettingsRange: false,
13769 MediaSource: false,
13770 MediaStream: false,
13771 MediaStreamAudioDestinationNode: false,
13772 MediaStreamAudioSourceNode: false,
13773 MediaStreamEvent: false,
13774 MediaStreamTrack: false,
13775 MediaStreamTrackEvent: false,
13776 menubar: false,
13777 MessageChannel: false,
13778 MessageEvent: false,
13779 MessagePort: false,
13780 MIDIAccess: false,
13781 MIDIConnectionEvent: false,
13782 MIDIInput: false,
13783 MIDIInputMap: false,
13784 MIDIMessageEvent: false,
13785 MIDIOutput: false,
13786 MIDIOutputMap: false,
13787 MIDIPort: false,
13788 MimeType: false,
13789 MimeTypeArray: false,
13790 MouseEvent: false,
13791 moveBy: false,
13792 moveTo: false,
13793 MutationEvent: false,
13794 MutationObserver: false,
13795 MutationRecord: false,
13796 name: false,
13797 NamedNodeMap: false,
13798 NavigationPreloadManager: false,
13799 navigator: false,
13800 Navigator: false,
13801 NetworkInformation: false,
13802 Node: false,
13803 NodeFilter: false,
13804 NodeIterator: false,
13805 NodeList: false,
13806 Notification: false,
13807 OfflineAudioCompletionEvent: false,
13808 OfflineAudioContext: false,
13809 offscreenBuffering: false,
13810 OffscreenCanvas: true,
13811 onabort: true,
13812 onafterprint: true,
13813 onanimationend: true,
13814 onanimationiteration: true,
13815 onanimationstart: true,
13816 onappinstalled: true,
13817 onauxclick: true,
13818 onbeforeinstallprompt: true,
13819 onbeforeprint: true,
13820 onbeforeunload: true,
13821 onblur: true,
13822 oncancel: true,
13823 oncanplay: true,
13824 oncanplaythrough: true,
13825 onchange: true,
13826 onclick: true,
13827 onclose: true,
13828 oncontextmenu: true,
13829 oncuechange: true,
13830 ondblclick: true,
13831 ondevicemotion: true,
13832 ondeviceorientation: true,
13833 ondeviceorientationabsolute: true,
13834 ondrag: true,
13835 ondragend: true,
13836 ondragenter: true,
13837 ondragleave: true,
13838 ondragover: true,
13839 ondragstart: true,
13840 ondrop: true,
13841 ondurationchange: true,
13842 onemptied: true,
13843 onended: true,
13844 onerror: true,
13845 onfocus: true,
13846 ongotpointercapture: true,
13847 onhashchange: true,
13848 oninput: true,
13849 oninvalid: true,
13850 onkeydown: true,
13851 onkeypress: true,
13852 onkeyup: true,
13853 onlanguagechange: true,
13854 onload: true,
13855 onloadeddata: true,
13856 onloadedmetadata: true,
13857 onloadstart: true,
13858 onlostpointercapture: true,
13859 onmessage: true,
13860 onmessageerror: true,
13861 onmousedown: true,
13862 onmouseenter: true,
13863 onmouseleave: true,
13864 onmousemove: true,
13865 onmouseout: true,
13866 onmouseover: true,
13867 onmouseup: true,
13868 onmousewheel: true,
13869 onoffline: true,
13870 ononline: true,
13871 onpagehide: true,
13872 onpageshow: true,
13873 onpause: true,
13874 onplay: true,
13875 onplaying: true,
13876 onpointercancel: true,
13877 onpointerdown: true,
13878 onpointerenter: true,
13879 onpointerleave: true,
13880 onpointermove: true,
13881 onpointerout: true,
13882 onpointerover: true,
13883 onpointerup: true,
13884 onpopstate: true,
13885 onprogress: true,
13886 onratechange: true,
13887 onrejectionhandled: true,
13888 onreset: true,
13889 onresize: true,
13890 onscroll: true,
13891 onsearch: true,
13892 onseeked: true,
13893 onseeking: true,
13894 onselect: true,
13895 onstalled: true,
13896 onstorage: true,
13897 onsubmit: true,
13898 onsuspend: true,
13899 ontimeupdate: true,
13900 ontoggle: true,
13901 ontransitionend: true,
13902 onunhandledrejection: true,
13903 onunload: true,
13904 onvolumechange: true,
13905 onwaiting: true,
13906 onwheel: true,
13907 open: false,
13908 openDatabase: false,
13909 opener: false,
13910 Option: false,
13911 origin: false,
13912 OscillatorNode: false,
13913 outerHeight: false,
13914 outerWidth: false,
13915 PageTransitionEvent: false,
13916 pageXOffset: false,
13917 pageYOffset: false,
13918 PannerNode: false,
13919 parent: false,
13920 Path2D: false,
13921 PaymentAddress: false,
13922 PaymentRequest: false,
13923 PaymentRequestUpdateEvent: false,
13924 PaymentResponse: false,
13925 performance: false,
13926 Performance: false,
13927 PerformanceEntry: false,
13928 PerformanceLongTaskTiming: false,
13929 PerformanceMark: false,
13930 PerformanceMeasure: false,
13931 PerformanceNavigation: false,
13932 PerformanceNavigationTiming: false,
13933 PerformanceObserver: false,
13934 PerformanceObserverEntryList: false,
13935 PerformancePaintTiming: false,
13936 PerformanceResourceTiming: false,
13937 PerformanceTiming: false,
13938 PeriodicWave: false,
13939 Permissions: false,
13940 PermissionStatus: false,
13941 personalbar: false,
13942 PhotoCapabilities: false,
13943 Plugin: false,
13944 PluginArray: false,
13945 PointerEvent: false,
13946 PopStateEvent: false,
13947 postMessage: false,
13948 Presentation: false,
13949 PresentationAvailability: false,
13950 PresentationConnection: false,
13951 PresentationConnectionAvailableEvent: false,
13952 PresentationConnectionCloseEvent: false,
13953 PresentationConnectionList: false,
13954 PresentationReceiver: false,
13955 PresentationRequest: false,
13956 print: false,
13957 ProcessingInstruction: false,
13958 ProgressEvent: false,
13959 PromiseRejectionEvent: false,
13960 prompt: false,
13961 PushManager: false,
13962 PushSubscription: false,
13963 PushSubscriptionOptions: false,
13964 queueMicrotask: false,
13965 RadioNodeList: false,
13966 Range: false,
13967 ReadableStream: false,
13968 registerProcessor: false,
13969 RemotePlayback: false,
13970 removeEventListener: false,
13971 Request: false,
13972 requestAnimationFrame: false,
13973 requestIdleCallback: false,
13974 resizeBy: false,
13975 ResizeObserver: false,
13976 ResizeObserverEntry: false,
13977 resizeTo: false,
13978 Response: false,
13979 RTCCertificate: false,
13980 RTCDataChannel: false,
13981 RTCDataChannelEvent: false,
13982 RTCDtlsTransport: false,
13983 RTCIceCandidate: false,
13984 RTCIceGatherer: false,
13985 RTCIceTransport: false,
13986 RTCPeerConnection: false,
13987 RTCPeerConnectionIceEvent: false,
13988 RTCRtpContributingSource: false,
13989 RTCRtpReceiver: false,
13990 RTCRtpSender: false,
13991 RTCSctpTransport: false,
13992 RTCSessionDescription: false,
13993 RTCStatsReport: false,
13994 RTCTrackEvent: false,
13995 screen: false,
13996 Screen: false,
13997 screenLeft: false,
13998 ScreenOrientation: false,
13999 screenTop: false,
14000 screenX: false,
14001 screenY: false,
14002 ScriptProcessorNode: false,
14003 scroll: false,
14004 scrollbars: false,
14005 scrollBy: false,
14006 scrollTo: false,
14007 scrollX: false,
14008 scrollY: false,
14009 SecurityPolicyViolationEvent: false,
14010 Selection: false,
14011 self: false,
14012 ServiceWorker: false,
14013 ServiceWorkerContainer: false,
14014 ServiceWorkerRegistration: false,
14015 sessionStorage: false,
14016 setInterval: false,
14017 setTimeout: false,
14018 ShadowRoot: false,
14019 SharedWorker: false,
14020 SourceBuffer: false,
14021 SourceBufferList: false,
14022 speechSynthesis: false,
14023 SpeechSynthesisEvent: false,
14024 SpeechSynthesisUtterance: false,
14025 StaticRange: false,
14026 status: false,
14027 statusbar: false,
14028 StereoPannerNode: false,
14029 stop: false,
14030 Storage: false,
14031 StorageEvent: false,
14032 StorageManager: false,
14033 styleMedia: false,
14034 StyleSheet: false,
14035 StyleSheetList: false,
14036 SubtleCrypto: false,
14037 SVGAElement: false,
14038 SVGAngle: false,
14039 SVGAnimatedAngle: false,
14040 SVGAnimatedBoolean: false,
14041 SVGAnimatedEnumeration: false,
14042 SVGAnimatedInteger: false,
14043 SVGAnimatedLength: false,
14044 SVGAnimatedLengthList: false,
14045 SVGAnimatedNumber: false,
14046 SVGAnimatedNumberList: false,
14047 SVGAnimatedPreserveAspectRatio: false,
14048 SVGAnimatedRect: false,
14049 SVGAnimatedString: false,
14050 SVGAnimatedTransformList: false,
14051 SVGAnimateElement: false,
14052 SVGAnimateMotionElement: false,
14053 SVGAnimateTransformElement: false,
14054 SVGAnimationElement: false,
14055 SVGCircleElement: false,
14056 SVGClipPathElement: false,
14057 SVGComponentTransferFunctionElement: false,
14058 SVGDefsElement: false,
14059 SVGDescElement: false,
14060 SVGDiscardElement: false,
14061 SVGElement: false,
14062 SVGEllipseElement: false,
14063 SVGFEBlendElement: false,
14064 SVGFEColorMatrixElement: false,
14065 SVGFEComponentTransferElement: false,
14066 SVGFECompositeElement: false,
14067 SVGFEConvolveMatrixElement: false,
14068 SVGFEDiffuseLightingElement: false,
14069 SVGFEDisplacementMapElement: false,
14070 SVGFEDistantLightElement: false,
14071 SVGFEDropShadowElement: false,
14072 SVGFEFloodElement: false,
14073 SVGFEFuncAElement: false,
14074 SVGFEFuncBElement: false,
14075 SVGFEFuncGElement: false,
14076 SVGFEFuncRElement: false,
14077 SVGFEGaussianBlurElement: false,
14078 SVGFEImageElement: false,
14079 SVGFEMergeElement: false,
14080 SVGFEMergeNodeElement: false,
14081 SVGFEMorphologyElement: false,
14082 SVGFEOffsetElement: false,
14083 SVGFEPointLightElement: false,
14084 SVGFESpecularLightingElement: false,
14085 SVGFESpotLightElement: false,
14086 SVGFETileElement: false,
14087 SVGFETurbulenceElement: false,
14088 SVGFilterElement: false,
14089 SVGForeignObjectElement: false,
14090 SVGGElement: false,
14091 SVGGeometryElement: false,
14092 SVGGradientElement: false,
14093 SVGGraphicsElement: false,
14094 SVGImageElement: false,
14095 SVGLength: false,
14096 SVGLengthList: false,
14097 SVGLinearGradientElement: false,
14098 SVGLineElement: false,
14099 SVGMarkerElement: false,
14100 SVGMaskElement: false,
14101 SVGMatrix: false,
14102 SVGMetadataElement: false,
14103 SVGMPathElement: false,
14104 SVGNumber: false,
14105 SVGNumberList: false,
14106 SVGPathElement: false,
14107 SVGPatternElement: false,
14108 SVGPoint: false,
14109 SVGPointList: false,
14110 SVGPolygonElement: false,
14111 SVGPolylineElement: false,
14112 SVGPreserveAspectRatio: false,
14113 SVGRadialGradientElement: false,
14114 SVGRect: false,
14115 SVGRectElement: false,
14116 SVGScriptElement: false,
14117 SVGSetElement: false,
14118 SVGStopElement: false,
14119 SVGStringList: false,
14120 SVGStyleElement: false,
14121 SVGSVGElement: false,
14122 SVGSwitchElement: false,
14123 SVGSymbolElement: false,
14124 SVGTextContentElement: false,
14125 SVGTextElement: false,
14126 SVGTextPathElement: false,
14127 SVGTextPositioningElement: false,
14128 SVGTitleElement: false,
14129 SVGTransform: false,
14130 SVGTransformList: false,
14131 SVGTSpanElement: false,
14132 SVGUnitTypes: false,
14133 SVGUseElement: false,
14134 SVGViewElement: false,
14135 TaskAttributionTiming: false,
14136 Text: false,
14137 TextDecoder: false,
14138 TextEncoder: false,
14139 TextEvent: false,
14140 TextMetrics: false,
14141 TextTrack: false,
14142 TextTrackCue: false,
14143 TextTrackCueList: false,
14144 TextTrackList: false,
14145 TimeRanges: false,
14146 toolbar: false,
14147 top: false,
14148 Touch: false,
14149 TouchEvent: false,
14150 TouchList: false,
14151 TrackEvent: false,
14152 TransitionEvent: false,
14153 TreeWalker: false,
14154 UIEvent: false,
14155 URL: false,
14156 URLSearchParams: false,
14157 ValidityState: false,
14158 visualViewport: false,
14159 VisualViewport: false,
14160 VTTCue: false,
14161 WaveShaperNode: false,
14162 WebAssembly: false,
14163 WebGL2RenderingContext: false,
14164 WebGLActiveInfo: false,
14165 WebGLBuffer: false,
14166 WebGLContextEvent: false,
14167 WebGLFramebuffer: false,
14168 WebGLProgram: false,
14169 WebGLQuery: false,
14170 WebGLRenderbuffer: false,
14171 WebGLRenderingContext: false,
14172 WebGLSampler: false,
14173 WebGLShader: false,
14174 WebGLShaderPrecisionFormat: false,
14175 WebGLSync: false,
14176 WebGLTexture: false,
14177 WebGLTransformFeedback: false,
14178 WebGLUniformLocation: false,
14179 WebGLVertexArrayObject: false,
14180 WebSocket: false,
14181 WheelEvent: false,
14182 window: false,
14183 Window: false,
14184 Worker: false,
14185 WritableStream: false,
14186 XMLDocument: false,
14187 XMLHttpRequest: false,
14188 XMLHttpRequestEventTarget: false,
14189 XMLHttpRequestUpload: false,
14190 XMLSerializer: false,
14191 XPathEvaluator: false,
14192 XPathExpression: false,
14193 XPathResult: false,
14194 XSLTProcessor: false
14195 };
14196 var worker$1 = {
14197 addEventListener: false,
14198 applicationCache: false,
14199 atob: false,
14200 Blob: false,
14201 BroadcastChannel: false,
14202 btoa: false,
14203 Cache: false,
14204 caches: false,
14205 clearInterval: false,
14206 clearTimeout: false,
14207 close: true,
14208 console: false,
14209 fetch: false,
14210 FileReaderSync: false,
14211 FormData: false,
14212 Headers: false,
14213 IDBCursor: false,
14214 IDBCursorWithValue: false,
14215 IDBDatabase: false,
14216 IDBFactory: false,
14217 IDBIndex: false,
14218 IDBKeyRange: false,
14219 IDBObjectStore: false,
14220 IDBOpenDBRequest: false,
14221 IDBRequest: false,
14222 IDBTransaction: false,
14223 IDBVersionChangeEvent: false,
14224 ImageData: false,
14225 importScripts: true,
14226 indexedDB: false,
14227 location: false,
14228 MessageChannel: false,
14229 MessagePort: false,
14230 name: false,
14231 navigator: false,
14232 Notification: false,
14233 onclose: true,
14234 onconnect: true,
14235 onerror: true,
14236 onlanguagechange: true,
14237 onmessage: true,
14238 onoffline: true,
14239 ononline: true,
14240 onrejectionhandled: true,
14241 onunhandledrejection: true,
14242 performance: false,
14243 Performance: false,
14244 PerformanceEntry: false,
14245 PerformanceMark: false,
14246 PerformanceMeasure: false,
14247 PerformanceNavigation: false,
14248 PerformanceResourceTiming: false,
14249 PerformanceTiming: false,
14250 postMessage: true,
14251 "Promise": false,
14252 queueMicrotask: false,
14253 removeEventListener: false,
14254 Request: false,
14255 Response: false,
14256 self: true,
14257 ServiceWorkerRegistration: false,
14258 setInterval: false,
14259 setTimeout: false,
14260 TextDecoder: false,
14261 TextEncoder: false,
14262 URL: false,
14263 URLSearchParams: false,
14264 WebSocket: false,
14265 Worker: false,
14266 WorkerGlobalScope: false,
14267 XMLHttpRequest: false
14268 };
14269 var node$1 = {
14270 __dirname: false,
14271 __filename: false,
14272 Buffer: false,
14273 clearImmediate: false,
14274 clearInterval: false,
14275 clearTimeout: false,
14276 console: false,
14277 exports: true,
14278 global: false,
14279 "Intl": false,
14280 module: false,
14281 process: false,
14282 queueMicrotask: false,
14283 require: false,
14284 setImmediate: false,
14285 setInterval: false,
14286 setTimeout: false,
14287 TextDecoder: false,
14288 TextEncoder: false,
14289 URL: false,
14290 URLSearchParams: false
14291 };
14292 var commonjs$1 = {
14293 exports: true,
14294 global: false,
14295 module: false,
14296 require: false
14297 };
14298 var amd$1 = {
14299 define: false,
14300 require: false
14301 };
14302 var mocha$1 = {
14303 after: false,
14304 afterEach: false,
14305 before: false,
14306 beforeEach: false,
14307 context: false,
14308 describe: false,
14309 it: false,
14310 mocha: false,
14311 run: false,
14312 setup: false,
14313 specify: false,
14314 suite: false,
14315 suiteSetup: false,
14316 suiteTeardown: false,
14317 teardown: false,
14318 test: false,
14319 xcontext: false,
14320 xdescribe: false,
14321 xit: false,
14322 xspecify: false
14323 };
14324 var jasmine$1 = {
14325 afterAll: false,
14326 afterEach: false,
14327 beforeAll: false,
14328 beforeEach: false,
14329 describe: false,
14330 expect: false,
14331 fail: false,
14332 fdescribe: false,
14333 fit: false,
14334 it: false,
14335 jasmine: false,
14336 pending: false,
14337 runs: false,
14338 spyOn: false,
14339 spyOnProperty: false,
14340 waits: false,
14341 waitsFor: false,
14342 xdescribe: false,
14343 xit: false
14344 };
14345 var jest$1 = {
14346 afterAll: false,
14347 afterEach: false,
14348 beforeAll: false,
14349 beforeEach: false,
14350 describe: false,
14351 expect: false,
14352 fdescribe: false,
14353 fit: false,
14354 it: false,
14355 jest: false,
14356 pit: false,
14357 require: false,
14358 test: false,
14359 xdescribe: false,
14360 xit: false,
14361 xtest: false
14362 };
14363 var qunit$1 = {
14364 asyncTest: false,
14365 deepEqual: false,
14366 equal: false,
14367 expect: false,
14368 module: false,
14369 notDeepEqual: false,
14370 notEqual: false,
14371 notOk: false,
14372 notPropEqual: false,
14373 notStrictEqual: false,
14374 ok: false,
14375 propEqual: false,
14376 QUnit: false,
14377 raises: false,
14378 start: false,
14379 stop: false,
14380 strictEqual: false,
14381 test: false,
14382 throws: false
14383 };
14384 var phantomjs$1 = {
14385 console: true,
14386 exports: true,
14387 phantom: true,
14388 require: true,
14389 WebPage: true
14390 };
14391 var couch$1 = {
14392 emit: false,
14393 exports: false,
14394 getRow: false,
14395 log: false,
14396 module: false,
14397 provides: false,
14398 require: false,
14399 respond: false,
14400 send: false,
14401 start: false,
14402 sum: false
14403 };
14404 var rhino$1 = {
14405 defineClass: false,
14406 deserialize: false,
14407 gc: false,
14408 help: false,
14409 importClass: false,
14410 importPackage: false,
14411 java: false,
14412 load: false,
14413 loadClass: false,
14414 Packages: false,
14415 print: false,
14416 quit: false,
14417 readFile: false,
14418 readUrl: false,
14419 runCommand: false,
14420 seal: false,
14421 serialize: false,
14422 spawn: false,
14423 sync: false,
14424 toint32: false,
14425 version: false
14426 };
14427 var nashorn$1 = {
14428 __DIR__: false,
14429 __FILE__: false,
14430 __LINE__: false,
14431 com: false,
14432 edu: false,
14433 exit: false,
14434 java: false,
14435 Java: false,
14436 javafx: false,
14437 JavaImporter: false,
14438 javax: false,
14439 JSAdapter: false,
14440 load: false,
14441 loadWithNewGlobal: false,
14442 org: false,
14443 Packages: false,
14444 print: false,
14445 quit: false
14446 };
14447 var wsh$1 = {
14448 ActiveXObject: true,
14449 Enumerator: true,
14450 GetObject: true,
14451 ScriptEngine: true,
14452 ScriptEngineBuildVersion: true,
14453 ScriptEngineMajorVersion: true,
14454 ScriptEngineMinorVersion: true,
14455 VBArray: true,
14456 WScript: true,
14457 WSH: true,
14458 XDomainRequest: true
14459 };
14460 var jquery$1 = {
14461 $: false,
14462 jQuery: false
14463 };
14464 var yui$1 = {
14465 YAHOO: false,
14466 YAHOO_config: false,
14467 YUI: false,
14468 YUI_config: false
14469 };
14470 var shelljs$1 = {
14471 cat: false,
14472 cd: false,
14473 chmod: false,
14474 config: false,
14475 cp: false,
14476 dirs: false,
14477 echo: false,
14478 env: false,
14479 error: false,
14480 exec: false,
14481 exit: false,
14482 find: false,
14483 grep: false,
14484 ln: false,
14485 ls: false,
14486 mkdir: false,
14487 mv: false,
14488 popd: false,
14489 pushd: false,
14490 pwd: false,
14491 rm: false,
14492 sed: false,
14493 set: false,
14494 target: false,
14495 tempdir: false,
14496 test: false,
14497 touch: false,
14498 which: false
14499 };
14500 var prototypejs$1 = {
14501 $: false,
14502 $$: false,
14503 $A: false,
14504 $break: false,
14505 $continue: false,
14506 $F: false,
14507 $H: false,
14508 $R: false,
14509 $w: false,
14510 Abstract: false,
14511 Ajax: false,
14512 Autocompleter: false,
14513 Builder: false,
14514 Class: false,
14515 Control: false,
14516 Draggable: false,
14517 Draggables: false,
14518 Droppables: false,
14519 Effect: false,
14520 Element: false,
14521 Enumerable: false,
14522 Event: false,
14523 Field: false,
14524 Form: false,
14525 Hash: false,
14526 Insertion: false,
14527 ObjectRange: false,
14528 PeriodicalExecuter: false,
14529 Position: false,
14530 Prototype: false,
14531 Scriptaculous: false,
14532 Selector: false,
14533 Sortable: false,
14534 SortableObserver: false,
14535 Sound: false,
14536 Template: false,
14537 Toggle: false,
14538 Try: false
14539 };
14540 var meteor$1 = {
14541 _: false,
14542 $: false,
14543 Accounts: false,
14544 AccountsClient: false,
14545 AccountsCommon: false,
14546 AccountsServer: false,
14547 App: false,
14548 Assets: false,
14549 Blaze: false,
14550 check: false,
14551 Cordova: false,
14552 DDP: false,
14553 DDPRateLimiter: false,
14554 DDPServer: false,
14555 Deps: false,
14556 EJSON: false,
14557 Email: false,
14558 HTTP: false,
14559 Log: false,
14560 Match: false,
14561 Meteor: false,
14562 Mongo: false,
14563 MongoInternals: false,
14564 Npm: false,
14565 Package: false,
14566 Plugin: false,
14567 process: false,
14568 Random: false,
14569 ReactiveDict: false,
14570 ReactiveVar: false,
14571 Router: false,
14572 ServiceConfiguration: false,
14573 Session: false,
14574 share: false,
14575 Spacebars: false,
14576 Template: false,
14577 Tinytest: false,
14578 Tracker: false,
14579 UI: false,
14580 Utils: false,
14581 WebApp: false,
14582 WebAppInternals: false
14583 };
14584 var mongo$1 = {
14585 _isWindows: false,
14586 _rand: false,
14587 BulkWriteResult: false,
14588 cat: false,
14589 cd: false,
14590 connect: false,
14591 db: false,
14592 getHostName: false,
14593 getMemInfo: false,
14594 hostname: false,
14595 ISODate: false,
14596 listFiles: false,
14597 load: false,
14598 ls: false,
14599 md5sumFile: false,
14600 mkdir: false,
14601 Mongo: false,
14602 NumberInt: false,
14603 NumberLong: false,
14604 ObjectId: false,
14605 PlanCache: false,
14606 print: false,
14607 printjson: false,
14608 pwd: false,
14609 quit: false,
14610 removeFile: false,
14611 rs: false,
14612 sh: false,
14613 UUID: false,
14614 version: false,
14615 WriteResult: false
14616 };
14617 var applescript$1 = {
14618 $: false,
14619 Application: false,
14620 Automation: false,
14621 console: false,
14622 delay: false,
14623 Library: false,
14624 ObjC: false,
14625 ObjectSpecifier: false,
14626 Path: false,
14627 Progress: false,
14628 Ref: false
14629 };
14630 var serviceworker$1 = {
14631 addEventListener: false,
14632 applicationCache: false,
14633 atob: false,
14634 Blob: false,
14635 BroadcastChannel: false,
14636 btoa: false,
14637 Cache: false,
14638 caches: false,
14639 CacheStorage: false,
14640 clearInterval: false,
14641 clearTimeout: false,
14642 Client: false,
14643 clients: false,
14644 Clients: false,
14645 close: true,
14646 console: false,
14647 ExtendableEvent: false,
14648 ExtendableMessageEvent: false,
14649 fetch: false,
14650 FetchEvent: false,
14651 FileReaderSync: false,
14652 FormData: false,
14653 Headers: false,
14654 IDBCursor: false,
14655 IDBCursorWithValue: false,
14656 IDBDatabase: false,
14657 IDBFactory: false,
14658 IDBIndex: false,
14659 IDBKeyRange: false,
14660 IDBObjectStore: false,
14661 IDBOpenDBRequest: false,
14662 IDBRequest: false,
14663 IDBTransaction: false,
14664 IDBVersionChangeEvent: false,
14665 ImageData: false,
14666 importScripts: false,
14667 indexedDB: false,
14668 location: false,
14669 MessageChannel: false,
14670 MessagePort: false,
14671 name: false,
14672 navigator: false,
14673 Notification: false,
14674 onclose: true,
14675 onconnect: true,
14676 onerror: true,
14677 onfetch: true,
14678 oninstall: true,
14679 onlanguagechange: true,
14680 onmessage: true,
14681 onmessageerror: true,
14682 onnotificationclick: true,
14683 onnotificationclose: true,
14684 onoffline: true,
14685 ononline: true,
14686 onpush: true,
14687 onpushsubscriptionchange: true,
14688 onrejectionhandled: true,
14689 onsync: true,
14690 onunhandledrejection: true,
14691 performance: false,
14692 Performance: false,
14693 PerformanceEntry: false,
14694 PerformanceMark: false,
14695 PerformanceMeasure: false,
14696 PerformanceNavigation: false,
14697 PerformanceResourceTiming: false,
14698 PerformanceTiming: false,
14699 postMessage: true,
14700 "Promise": false,
14701 queueMicrotask: false,
14702 registration: false,
14703 removeEventListener: false,
14704 Request: false,
14705 Response: false,
14706 self: false,
14707 ServiceWorker: false,
14708 ServiceWorkerContainer: false,
14709 ServiceWorkerGlobalScope: false,
14710 ServiceWorkerMessageEvent: false,
14711 ServiceWorkerRegistration: false,
14712 setInterval: false,
14713 setTimeout: false,
14714 skipWaiting: false,
14715 TextDecoder: false,
14716 TextEncoder: false,
14717 URL: false,
14718 URLSearchParams: false,
14719 WebSocket: false,
14720 WindowClient: false,
14721 Worker: false,
14722 WorkerGlobalScope: false,
14723 XMLHttpRequest: false
14724 };
14725 var atomtest$1 = {
14726 advanceClock: false,
14727 fakeClearInterval: false,
14728 fakeClearTimeout: false,
14729 fakeSetInterval: false,
14730 fakeSetTimeout: false,
14731 resetTimeouts: false,
14732 waitsForPromise: false
14733 };
14734 var embertest$1 = {
14735 andThen: false,
14736 click: false,
14737 currentPath: false,
14738 currentRouteName: false,
14739 currentURL: false,
14740 fillIn: false,
14741 find: false,
14742 findAll: false,
14743 findWithAssert: false,
14744 keyEvent: false,
14745 pauseTest: false,
14746 resumeTest: false,
14747 triggerEvent: false,
14748 visit: false,
14749 wait: false
14750 };
14751 var protractor$1 = {
14752 $: false,
14753 $$: false,
14754 browser: false,
14755 by: false,
14756 By: false,
14757 DartObject: false,
14758 element: false,
14759 protractor: false
14760 };
14761 var webextensions$1 = {
14762 browser: false,
14763 chrome: false,
14764 opr: false
14765 };
14766 var greasemonkey$1 = {
14767 cloneInto: false,
14768 createObjectIn: false,
14769 exportFunction: false,
14770 GM: false,
14771 GM_addStyle: false,
14772 GM_deleteValue: false,
14773 GM_getResourceText: false,
14774 GM_getResourceURL: false,
14775 GM_getValue: false,
14776 GM_info: false,
14777 GM_listValues: false,
14778 GM_log: false,
14779 GM_openInTab: false,
14780 GM_registerMenuCommand: false,
14781 GM_setClipboard: false,
14782 GM_setValue: false,
14783 GM_xmlhttpRequest: false,
14784 unsafeWindow: false
14785 };
14786 var devtools$1 = {
14787 $: false,
14788 $_: false,
14789 $$: false,
14790 $0: false,
14791 $1: false,
14792 $2: false,
14793 $3: false,
14794 $4: false,
14795 $x: false,
14796 chrome: false,
14797 clear: false,
14798 copy: false,
14799 debug: false,
14800 dir: false,
14801 dirxml: false,
14802 getEventListeners: false,
14803 inspect: false,
14804 keys: false,
14805 monitor: false,
14806 monitorEvents: false,
14807 profile: false,
14808 profileEnd: false,
14809 queryObjects: false,
14810 table: false,
14811 undebug: false,
14812 unmonitor: false,
14813 unmonitorEvents: false,
14814 values: false
14815 };
14816 var require$$0$8 = {
14817 builtin: builtin$1,
14818 es5: es5$1,
14819 es2015: es2015$1,
14820 es2017: es2017$1,
14821 browser: browser$4,
14822 worker: worker$1,
14823 node: node$1,
14824 commonjs: commonjs$1,
14825 amd: amd$1,
14826 mocha: mocha$1,
14827 jasmine: jasmine$1,
14828 jest: jest$1,
14829 qunit: qunit$1,
14830 phantomjs: phantomjs$1,
14831 couch: couch$1,
14832 rhino: rhino$1,
14833 nashorn: nashorn$1,
14834 wsh: wsh$1,
14835 jquery: jquery$1,
14836 yui: yui$1,
14837 shelljs: shelljs$1,
14838 prototypejs: prototypejs$1,
14839 meteor: meteor$1,
14840 mongo: mongo$1,
14841 applescript: applescript$1,
14842 serviceworker: serviceworker$1,
14843 atomtest: atomtest$1,
14844 embertest: embertest$1,
14845 protractor: protractor$1,
14846 "shared-node-browser": {
14847 clearInterval: false,
14848 clearTimeout: false,
14849 console: false,
14850 setInterval: false,
14851 setTimeout: false,
14852 URL: false,
14853 URLSearchParams: false
14854 },
14855 webextensions: webextensions$1,
14856 greasemonkey: greasemonkey$1,
14857 devtools: devtools$1
14858 };
14859
14860 var globalsBABEL_8_BREAKINGFalse$1 = require$$0$8;
14861
14862 var globals$1 = globalsBABEL_8_BREAKINGFalse$1;
14863
14864 var path$3 = new WeakMap();
14865 var scope = new WeakMap();
14866 function clear() {
14867 clearPath();
14868 clearScope();
14869 }
14870 function clearPath() {
14871 path$3 = new WeakMap();
14872 }
14873 function clearScope() {
14874 scope = new WeakMap();
14875 }
14876
14877 var cache$4 = /*#__PURE__*/Object.freeze({
14878 __proto__: null,
14879 get path () { return path$3; },
14880 get scope () { return scope; },
14881 clear: clear,
14882 clearPath: clearPath,
14883 clearScope: clearScope
14884 });
14885
14886 function gatherNodeParts(node, parts) {
14887 switch (node == null ? void 0 : node.type) {
14888 default:
14889 if (isModuleDeclaration(node)) {
14890 if ((isExportAllDeclaration(node) || isExportNamedDeclaration(node) || isImportDeclaration(node)) && node.source) {
14891 gatherNodeParts(node.source, parts);
14892 } else if ((isExportNamedDeclaration(node) || isImportDeclaration(node)) && node.specifiers && node.specifiers.length) {
14893 for (var _iterator = _createForOfIteratorHelperLoose(node.specifiers), _step; !(_step = _iterator()).done;) {
14894 var e = _step.value;
14895 gatherNodeParts(e, parts);
14896 }
14897 } else if ((isExportDefaultDeclaration(node) || isExportNamedDeclaration(node)) && node.declaration) {
14898 gatherNodeParts(node.declaration, parts);
14899 }
14900 } else if (isModuleSpecifier(node)) {
14901 gatherNodeParts(node.local, parts);
14902 } else if (isLiteral(node)) {
14903 parts.push(node.value);
14904 }
14905
14906 break;
14907
14908 case "MemberExpression":
14909 case "OptionalMemberExpression":
14910 case "JSXMemberExpression":
14911 gatherNodeParts(node.object, parts);
14912 gatherNodeParts(node.property, parts);
14913 break;
14914
14915 case "Identifier":
14916 case "JSXIdentifier":
14917 parts.push(node.name);
14918 break;
14919
14920 case "CallExpression":
14921 case "OptionalCallExpression":
14922 case "NewExpression":
14923 gatherNodeParts(node.callee, parts);
14924 break;
14925
14926 case "ObjectExpression":
14927 case "ObjectPattern":
14928 for (var _iterator2 = _createForOfIteratorHelperLoose(node.properties), _step2; !(_step2 = _iterator2()).done;) {
14929 var _e = _step2.value;
14930 gatherNodeParts(_e, parts);
14931 }
14932
14933 break;
14934
14935 case "SpreadElement":
14936 case "RestElement":
14937 gatherNodeParts(node.argument, parts);
14938 break;
14939
14940 case "ObjectProperty":
14941 case "ObjectMethod":
14942 case "ClassProperty":
14943 case "ClassMethod":
14944 case "ClassPrivateProperty":
14945 case "ClassPrivateMethod":
14946 gatherNodeParts(node.key, parts);
14947 break;
14948
14949 case "ThisExpression":
14950 parts.push("this");
14951 break;
14952
14953 case "Super":
14954 parts.push("super");
14955 break;
14956
14957 case "Import":
14958 parts.push("import");
14959 break;
14960
14961 case "DoExpression":
14962 parts.push("do");
14963 break;
14964
14965 case "YieldExpression":
14966 parts.push("yield");
14967 gatherNodeParts(node.argument, parts);
14968 break;
14969
14970 case "AwaitExpression":
14971 parts.push("await");
14972 gatherNodeParts(node.argument, parts);
14973 break;
14974
14975 case "AssignmentExpression":
14976 gatherNodeParts(node.left, parts);
14977 break;
14978
14979 case "VariableDeclarator":
14980 gatherNodeParts(node.id, parts);
14981 break;
14982
14983 case "FunctionExpression":
14984 case "FunctionDeclaration":
14985 case "ClassExpression":
14986 case "ClassDeclaration":
14987 gatherNodeParts(node.id, parts);
14988 break;
14989
14990 case "PrivateName":
14991 gatherNodeParts(node.id, parts);
14992 break;
14993
14994 case "ParenthesizedExpression":
14995 gatherNodeParts(node.expression, parts);
14996 break;
14997
14998 case "UnaryExpression":
14999 case "UpdateExpression":
15000 gatherNodeParts(node.argument, parts);
15001 break;
15002
15003 case "MetaProperty":
15004 gatherNodeParts(node.meta, parts);
15005 gatherNodeParts(node.property, parts);
15006 break;
15007
15008 case "JSXElement":
15009 gatherNodeParts(node.openingElement, parts);
15010 break;
15011
15012 case "JSXOpeningElement":
15013 parts.push(node.name);
15014 break;
15015
15016 case "JSXFragment":
15017 gatherNodeParts(node.openingFragment, parts);
15018 break;
15019
15020 case "JSXOpeningFragment":
15021 parts.push("Fragment");
15022 break;
15023
15024 case "JSXNamespacedName":
15025 gatherNodeParts(node.namespace, parts);
15026 gatherNodeParts(node.name, parts);
15027 break;
15028 }
15029 }
15030
15031 var collectorVisitor = {
15032 For: function For(path) {
15033 for (var _iterator3 = _createForOfIteratorHelperLoose(FOR_INIT_KEYS), _step3; !(_step3 = _iterator3()).done;) {
15034 var key = _step3.value;
15035 var declar = path.get(key);
15036
15037 if (declar.isVar()) {
15038 var parentScope = path.scope.getFunctionParent() || path.scope.getProgramParent();
15039 parentScope.registerBinding("var", declar);
15040 }
15041 }
15042 },
15043 Declaration: function Declaration(path) {
15044 if (path.isBlockScoped()) return;
15045 if (path.isImportDeclaration()) return;
15046 if (path.isExportDeclaration()) return;
15047 var parent = path.scope.getFunctionParent() || path.scope.getProgramParent();
15048 parent.registerDeclaration(path);
15049 },
15050 ImportDeclaration: function ImportDeclaration(path) {
15051 var parent = path.scope.getBlockParent();
15052 parent.registerDeclaration(path);
15053 },
15054 ReferencedIdentifier: function ReferencedIdentifier(path, state) {
15055 state.references.push(path);
15056 },
15057 ForXStatement: function ForXStatement(path, state) {
15058 var left = path.get("left");
15059
15060 if (left.isPattern() || left.isIdentifier()) {
15061 state.constantViolations.push(path);
15062 }
15063 },
15064 ExportDeclaration: {
15065 exit: function exit(path) {
15066 var node = path.node,
15067 scope = path.scope;
15068 if (isExportAllDeclaration(node)) return;
15069 var declar = node.declaration;
15070
15071 if (isClassDeclaration(declar) || isFunctionDeclaration(declar)) {
15072 var id = declar.id;
15073 if (!id) return;
15074 var binding = scope.getBinding(id.name);
15075 if (binding) binding.reference(path);
15076 } else if (isVariableDeclaration(declar)) {
15077 for (var _iterator4 = _createForOfIteratorHelperLoose(declar.declarations), _step4; !(_step4 = _iterator4()).done;) {
15078 var decl = _step4.value;
15079
15080 for (var _i = 0, _Object$keys = Object.keys(getBindingIdentifiers$1(decl)); _i < _Object$keys.length; _i++) {
15081 var _name = _Object$keys[_i];
15082
15083 var _binding = scope.getBinding(_name);
15084
15085 if (_binding) _binding.reference(path);
15086 }
15087 }
15088 }
15089 }
15090 },
15091 LabeledStatement: function LabeledStatement(path) {
15092 path.scope.getBlockParent().registerDeclaration(path);
15093 },
15094 AssignmentExpression: function AssignmentExpression(path, state) {
15095 state.assignments.push(path);
15096 },
15097 UpdateExpression: function UpdateExpression(path, state) {
15098 state.constantViolations.push(path);
15099 },
15100 UnaryExpression: function UnaryExpression(path, state) {
15101 if (path.node.operator === "delete") {
15102 state.constantViolations.push(path);
15103 }
15104 },
15105 BlockScoped: function BlockScoped(path) {
15106 var scope = path.scope;
15107 if (scope.path === path) scope = scope.parent;
15108 var parent = scope.getBlockParent();
15109 parent.registerDeclaration(path);
15110
15111 if (path.isClassDeclaration() && path.node.id) {
15112 var id = path.node.id;
15113 var _name2 = id.name;
15114 path.scope.bindings[_name2] = path.scope.parent.getBinding(_name2);
15115 }
15116 },
15117 CatchClause: function CatchClause(path) {
15118 path.scope.registerBinding("let", path);
15119 },
15120 Function: function Function(path) {
15121 if (path.isFunctionExpression() && path.has("id") && !path.get("id").node[NOT_LOCAL_BINDING]) {
15122 path.scope.registerBinding("local", path.get("id"), path);
15123 }
15124
15125 var params = path.get("params");
15126
15127 for (var _iterator5 = _createForOfIteratorHelperLoose(params), _step5; !(_step5 = _iterator5()).done;) {
15128 var param = _step5.value;
15129 path.scope.registerBinding("param", param);
15130 }
15131 },
15132 ClassExpression: function ClassExpression(path) {
15133 if (path.has("id") && !path.get("id").node[NOT_LOCAL_BINDING]) {
15134 path.scope.registerBinding("local", path);
15135 }
15136 }
15137 };
15138 var uid = 0;
15139
15140 var Scope$1 = function () {
15141 function Scope(path) {
15142 this.uid = void 0;
15143 this.path = void 0;
15144 this.block = void 0;
15145 this.labels = void 0;
15146 this.inited = void 0;
15147 this.bindings = void 0;
15148 this.references = void 0;
15149 this.globals = void 0;
15150 this.uids = void 0;
15151 this.data = void 0;
15152 this.crawling = void 0;
15153 var node = path.node;
15154 var cached = scope.get(node);
15155
15156 if ((cached == null ? void 0 : cached.path) === path) {
15157 return cached;
15158 }
15159
15160 scope.set(node, this);
15161 this.uid = uid++;
15162 this.block = node;
15163 this.path = path;
15164 this.labels = new Map();
15165 this.inited = false;
15166 }
15167
15168 var _proto = Scope.prototype;
15169
15170 _proto.traverse = function traverse$1(node, opts, state) {
15171 traverse(node, opts, this, state, this.path);
15172 };
15173
15174 _proto.generateDeclaredUidIdentifier = function generateDeclaredUidIdentifier(name) {
15175 var id = this.generateUidIdentifier(name);
15176 this.push({
15177 id: id
15178 });
15179 return cloneNode(id);
15180 };
15181
15182 _proto.generateUidIdentifier = function generateUidIdentifier(name) {
15183 return identifier(this.generateUid(name));
15184 };
15185
15186 _proto.generateUid = function generateUid(name) {
15187 if (name === void 0) {
15188 name = "temp";
15189 }
15190
15191 name = toIdentifier(name).replace(/^_+/, "").replace(/[0-9]+$/g, "");
15192 var uid;
15193 var i = 1;
15194
15195 do {
15196 uid = this._generateUid(name, i);
15197 i++;
15198 } while (this.hasLabel(uid) || this.hasBinding(uid) || this.hasGlobal(uid) || this.hasReference(uid));
15199
15200 var program = this.getProgramParent();
15201 program.references[uid] = true;
15202 program.uids[uid] = true;
15203 return uid;
15204 };
15205
15206 _proto._generateUid = function _generateUid(name, i) {
15207 var id = name;
15208 if (i > 1) id += i;
15209 return "_" + id;
15210 };
15211
15212 _proto.generateUidBasedOnNode = function generateUidBasedOnNode(node, defaultName) {
15213 var parts = [];
15214 gatherNodeParts(node, parts);
15215 var id = parts.join("$");
15216 id = id.replace(/^_/, "") || defaultName || "ref";
15217 return this.generateUid(id.slice(0, 20));
15218 };
15219
15220 _proto.generateUidIdentifierBasedOnNode = function generateUidIdentifierBasedOnNode(node, defaultName) {
15221 return identifier(this.generateUidBasedOnNode(node, defaultName));
15222 };
15223
15224 _proto.isStatic = function isStatic(node) {
15225 if (isThisExpression(node) || isSuper(node)) {
15226 return true;
15227 }
15228
15229 if (isIdentifier(node)) {
15230 var binding = this.getBinding(node.name);
15231
15232 if (binding) {
15233 return binding.constant;
15234 } else {
15235 return this.hasBinding(node.name);
15236 }
15237 }
15238
15239 return false;
15240 };
15241
15242 _proto.maybeGenerateMemoised = function maybeGenerateMemoised(node, dontPush) {
15243 if (this.isStatic(node)) {
15244 return null;
15245 } else {
15246 var id = this.generateUidIdentifierBasedOnNode(node);
15247
15248 if (!dontPush) {
15249 this.push({
15250 id: id
15251 });
15252 return cloneNode(id);
15253 }
15254
15255 return id;
15256 }
15257 };
15258
15259 _proto.checkBlockScopedCollisions = function checkBlockScopedCollisions(local, kind, name, id) {
15260 if (kind === "param") return;
15261 if (local.kind === "local") return;
15262 var duplicate = kind === "let" || local.kind === "let" || local.kind === "const" || local.kind === "module" || local.kind === "param" && (kind === "let" || kind === "const");
15263
15264 if (duplicate) {
15265 throw this.hub.buildError(id, "Duplicate declaration \"" + name + "\"", TypeError);
15266 }
15267 };
15268
15269 _proto.rename = function rename(oldName, newName, block) {
15270 var binding = this.getBinding(oldName);
15271
15272 if (binding) {
15273 newName = newName || this.generateUidIdentifier(oldName).name;
15274 return new Renamer(binding, oldName, newName).rename(block);
15275 }
15276 };
15277
15278 _proto._renameFromMap = function _renameFromMap(map, oldName, newName, value) {
15279 if (map[oldName]) {
15280 map[newName] = value;
15281 map[oldName] = null;
15282 }
15283 };
15284
15285 _proto.dump = function dump() {
15286 var sep = "-".repeat(60);
15287 console.log(sep);
15288 var scope = this;
15289
15290 do {
15291 console.log("#", scope.block.type);
15292
15293 for (var _i2 = 0, _Object$keys2 = Object.keys(scope.bindings); _i2 < _Object$keys2.length; _i2++) {
15294 var _name3 = _Object$keys2[_i2];
15295 var binding = scope.bindings[_name3];
15296 console.log(" -", _name3, {
15297 constant: binding.constant,
15298 references: binding.references,
15299 violations: binding.constantViolations.length,
15300 kind: binding.kind
15301 });
15302 }
15303 } while (scope = scope.parent);
15304
15305 console.log(sep);
15306 };
15307
15308 _proto.toArray = function toArray(node, i, arrayLikeIsIterable) {
15309 if (isIdentifier(node)) {
15310 var binding = this.getBinding(node.name);
15311
15312 if (binding != null && binding.constant && binding.path.isGenericType("Array")) {
15313 return node;
15314 }
15315 }
15316
15317 if (isArrayExpression(node)) {
15318 return node;
15319 }
15320
15321 if (isIdentifier(node, {
15322 name: "arguments"
15323 })) {
15324 return callExpression(memberExpression(memberExpression(memberExpression(identifier("Array"), identifier("prototype")), identifier("slice")), identifier("call")), [node]);
15325 }
15326
15327 var helperName;
15328 var args = [node];
15329
15330 if (i === true) {
15331 helperName = "toConsumableArray";
15332 } else if (i) {
15333 args.push(numericLiteral(i));
15334 helperName = "slicedToArray";
15335 } else {
15336 helperName = "toArray";
15337 }
15338
15339 if (arrayLikeIsIterable) {
15340 args.unshift(this.hub.addHelper(helperName));
15341 helperName = "maybeArrayLike";
15342 }
15343
15344 return callExpression(this.hub.addHelper(helperName), args);
15345 };
15346
15347 _proto.hasLabel = function hasLabel(name) {
15348 return !!this.getLabel(name);
15349 };
15350
15351 _proto.getLabel = function getLabel(name) {
15352 return this.labels.get(name);
15353 };
15354
15355 _proto.registerLabel = function registerLabel(path) {
15356 this.labels.set(path.node.label.name, path);
15357 };
15358
15359 _proto.registerDeclaration = function registerDeclaration(path) {
15360 if (path.isLabeledStatement()) {
15361 this.registerLabel(path);
15362 } else if (path.isFunctionDeclaration()) {
15363 this.registerBinding("hoisted", path.get("id"), path);
15364 } else if (path.isVariableDeclaration()) {
15365 var declarations = path.get("declarations");
15366
15367 for (var _iterator6 = _createForOfIteratorHelperLoose(declarations), _step6; !(_step6 = _iterator6()).done;) {
15368 var declar = _step6.value;
15369 this.registerBinding(path.node.kind, declar);
15370 }
15371 } else if (path.isClassDeclaration()) {
15372 this.registerBinding("let", path);
15373 } else if (path.isImportDeclaration()) {
15374 var specifiers = path.get("specifiers");
15375
15376 for (var _iterator7 = _createForOfIteratorHelperLoose(specifiers), _step7; !(_step7 = _iterator7()).done;) {
15377 var specifier = _step7.value;
15378 this.registerBinding("module", specifier);
15379 }
15380 } else if (path.isExportDeclaration()) {
15381 var _declar = path.get("declaration");
15382
15383 if (_declar.isClassDeclaration() || _declar.isFunctionDeclaration() || _declar.isVariableDeclaration()) {
15384 this.registerDeclaration(_declar);
15385 }
15386 } else {
15387 this.registerBinding("unknown", path);
15388 }
15389 };
15390
15391 _proto.buildUndefinedNode = function buildUndefinedNode() {
15392 return unaryExpression("void", numericLiteral(0), true);
15393 };
15394
15395 _proto.registerConstantViolation = function registerConstantViolation(path) {
15396 var ids = path.getBindingIdentifiers();
15397
15398 for (var _i3 = 0, _Object$keys3 = Object.keys(ids); _i3 < _Object$keys3.length; _i3++) {
15399 var _name4 = _Object$keys3[_i3];
15400 var binding = this.getBinding(_name4);
15401 if (binding) binding.reassign(path);
15402 }
15403 };
15404
15405 _proto.registerBinding = function registerBinding(kind, path, bindingPath) {
15406 if (bindingPath === void 0) {
15407 bindingPath = path;
15408 }
15409
15410 if (!kind) throw new ReferenceError("no `kind`");
15411
15412 if (path.isVariableDeclaration()) {
15413 var declarators = path.get("declarations");
15414
15415 for (var _iterator8 = _createForOfIteratorHelperLoose(declarators), _step8; !(_step8 = _iterator8()).done;) {
15416 var declar = _step8.value;
15417 this.registerBinding(kind, declar);
15418 }
15419
15420 return;
15421 }
15422
15423 var parent = this.getProgramParent();
15424 var ids = path.getOuterBindingIdentifiers(true);
15425
15426 for (var _i4 = 0, _Object$keys4 = Object.keys(ids); _i4 < _Object$keys4.length; _i4++) {
15427 var _name5 = _Object$keys4[_i4];
15428 parent.references[_name5] = true;
15429
15430 for (var _iterator9 = _createForOfIteratorHelperLoose(ids[_name5]), _step9; !(_step9 = _iterator9()).done;) {
15431 var id = _step9.value;
15432 var local = this.getOwnBinding(_name5);
15433
15434 if (local) {
15435 if (local.identifier === id) continue;
15436 this.checkBlockScopedCollisions(local, kind, _name5, id);
15437 }
15438
15439 if (local) {
15440 this.registerConstantViolation(bindingPath);
15441 } else {
15442 this.bindings[_name5] = new Binding({
15443 identifier: id,
15444 scope: this,
15445 path: bindingPath,
15446 kind: kind
15447 });
15448 }
15449 }
15450 }
15451 };
15452
15453 _proto.addGlobal = function addGlobal(node) {
15454 this.globals[node.name] = node;
15455 };
15456
15457 _proto.hasUid = function hasUid(name) {
15458 var scope = this;
15459
15460 do {
15461 if (scope.uids[name]) return true;
15462 } while (scope = scope.parent);
15463
15464 return false;
15465 };
15466
15467 _proto.hasGlobal = function hasGlobal(name) {
15468 var scope = this;
15469
15470 do {
15471 if (scope.globals[name]) return true;
15472 } while (scope = scope.parent);
15473
15474 return false;
15475 };
15476
15477 _proto.hasReference = function hasReference(name) {
15478 return !!this.getProgramParent().references[name];
15479 };
15480
15481 _proto.isPure = function isPure(node, constantsOnly) {
15482 if (isIdentifier(node)) {
15483 var binding = this.getBinding(node.name);
15484 if (!binding) return false;
15485 if (constantsOnly) return binding.constant;
15486 return true;
15487 } else if (isClass(node)) {
15488 if (node.superClass && !this.isPure(node.superClass, constantsOnly)) {
15489 return false;
15490 }
15491
15492 return this.isPure(node.body, constantsOnly);
15493 } else if (isClassBody(node)) {
15494 for (var _iterator10 = _createForOfIteratorHelperLoose(node.body), _step10; !(_step10 = _iterator10()).done;) {
15495 var method = _step10.value;
15496 if (!this.isPure(method, constantsOnly)) return false;
15497 }
15498
15499 return true;
15500 } else if (isBinary(node)) {
15501 return this.isPure(node.left, constantsOnly) && this.isPure(node.right, constantsOnly);
15502 } else if (isArrayExpression(node)) {
15503 for (var _iterator11 = _createForOfIteratorHelperLoose(node.elements), _step11; !(_step11 = _iterator11()).done;) {
15504 var elem = _step11.value;
15505 if (!this.isPure(elem, constantsOnly)) return false;
15506 }
15507
15508 return true;
15509 } else if (isObjectExpression(node)) {
15510 for (var _iterator12 = _createForOfIteratorHelperLoose(node.properties), _step12; !(_step12 = _iterator12()).done;) {
15511 var prop = _step12.value;
15512 if (!this.isPure(prop, constantsOnly)) return false;
15513 }
15514
15515 return true;
15516 } else if (isMethod(node)) {
15517 if (node.computed && !this.isPure(node.key, constantsOnly)) return false;
15518 if (node.kind === "get" || node.kind === "set") return false;
15519 return true;
15520 } else if (isProperty(node)) {
15521 if (node.computed && !this.isPure(node.key, constantsOnly)) return false;
15522 return this.isPure(node.value, constantsOnly);
15523 } else if (isUnaryExpression(node)) {
15524 return this.isPure(node.argument, constantsOnly);
15525 } else if (isTaggedTemplateExpression(node)) {
15526 return matchesPattern$1(node.tag, "String.raw") && !this.hasBinding("String", true) && this.isPure(node.quasi, constantsOnly);
15527 } else if (isTemplateLiteral(node)) {
15528 for (var _iterator13 = _createForOfIteratorHelperLoose(node.expressions), _step13; !(_step13 = _iterator13()).done;) {
15529 var expression = _step13.value;
15530 if (!this.isPure(expression, constantsOnly)) return false;
15531 }
15532
15533 return true;
15534 } else {
15535 return isPureish(node);
15536 }
15537 };
15538
15539 _proto.setData = function setData(key, val) {
15540 return this.data[key] = val;
15541 };
15542
15543 _proto.getData = function getData(key) {
15544 var scope = this;
15545
15546 do {
15547 var data = scope.data[key];
15548 if (data != null) return data;
15549 } while (scope = scope.parent);
15550 };
15551
15552 _proto.removeData = function removeData(key) {
15553 var scope = this;
15554
15555 do {
15556 var data = scope.data[key];
15557 if (data != null) scope.data[key] = null;
15558 } while (scope = scope.parent);
15559 };
15560
15561 _proto.init = function init() {
15562 if (!this.inited) {
15563 this.inited = true;
15564 this.crawl();
15565 }
15566 };
15567
15568 _proto.crawl = function crawl() {
15569 var path = this.path;
15570 this.references = Object.create(null);
15571 this.bindings = Object.create(null);
15572 this.globals = Object.create(null);
15573 this.uids = Object.create(null);
15574 this.data = Object.create(null);
15575 var programParent = this.getProgramParent();
15576 if (programParent.crawling) return;
15577 var state = {
15578 references: [],
15579 constantViolations: [],
15580 assignments: []
15581 };
15582 this.crawling = true;
15583
15584 if (path.type !== "Program" && collectorVisitor._exploded) {
15585 for (var _iterator14 = _createForOfIteratorHelperLoose(collectorVisitor.enter), _step14; !(_step14 = _iterator14()).done;) {
15586 var _visit = _step14.value;
15587
15588 _visit(path, state);
15589 }
15590
15591 var typeVisitors = collectorVisitor[path.type];
15592
15593 if (typeVisitors) {
15594 for (var _iterator15 = _createForOfIteratorHelperLoose(typeVisitors.enter), _step15; !(_step15 = _iterator15()).done;) {
15595 var visit = _step15.value;
15596 visit(path, state);
15597 }
15598 }
15599 }
15600
15601 path.traverse(collectorVisitor, state);
15602 this.crawling = false;
15603
15604 for (var _iterator16 = _createForOfIteratorHelperLoose(state.assignments), _step16; !(_step16 = _iterator16()).done;) {
15605 var _path = _step16.value;
15606
15607 var ids = _path.getBindingIdentifiers();
15608
15609 for (var _i5 = 0, _Object$keys5 = Object.keys(ids); _i5 < _Object$keys5.length; _i5++) {
15610 var _name6 = _Object$keys5[_i5];
15611 if (_path.scope.getBinding(_name6)) continue;
15612 programParent.addGlobal(ids[_name6]);
15613 }
15614
15615 _path.scope.registerConstantViolation(_path);
15616 }
15617
15618 for (var _iterator17 = _createForOfIteratorHelperLoose(state.references), _step17; !(_step17 = _iterator17()).done;) {
15619 var ref = _step17.value;
15620 var binding = ref.scope.getBinding(ref.node.name);
15621
15622 if (binding) {
15623 binding.reference(ref);
15624 } else {
15625 programParent.addGlobal(ref.node);
15626 }
15627 }
15628
15629 for (var _iterator18 = _createForOfIteratorHelperLoose(state.constantViolations), _step18; !(_step18 = _iterator18()).done;) {
15630 var _path2 = _step18.value;
15631
15632 _path2.scope.registerConstantViolation(_path2);
15633 }
15634 };
15635
15636 _proto.push = function push(opts) {
15637 var path = this.path;
15638
15639 if (!path.isBlockStatement() && !path.isProgram()) {
15640 path = this.getBlockParent().path;
15641 }
15642
15643 if (path.isSwitchStatement()) {
15644 path = (this.getFunctionParent() || this.getProgramParent()).path;
15645 }
15646
15647 if (path.isLoop() || path.isCatchClause() || path.isFunction()) {
15648 path.ensureBlock();
15649 path = path.get("body");
15650 }
15651
15652 var unique = opts.unique;
15653 var kind = opts.kind || "var";
15654 var blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist;
15655 var dataKey = "declaration:" + kind + ":" + blockHoist;
15656 var declarPath = !unique && path.getData(dataKey);
15657
15658 if (!declarPath) {
15659 var declar = variableDeclaration(kind, []);
15660 declar._blockHoist = blockHoist;
15661
15662 var _path$unshiftContaine = path.unshiftContainer("body", [declar]);
15663
15664 var _path$unshiftContaine2 = _slicedToArray$2(_path$unshiftContaine, 1);
15665
15666 declarPath = _path$unshiftContaine2[0];
15667 if (!unique) path.setData(dataKey, declarPath);
15668 }
15669
15670 var declarator = variableDeclarator(opts.id, opts.init);
15671 declarPath.node.declarations.push(declarator);
15672 this.registerBinding(kind, declarPath.get("declarations").pop());
15673 };
15674
15675 _proto.getProgramParent = function getProgramParent() {
15676 var scope = this;
15677
15678 do {
15679 if (scope.path.isProgram()) {
15680 return scope;
15681 }
15682 } while (scope = scope.parent);
15683
15684 throw new Error("Couldn't find a Program");
15685 };
15686
15687 _proto.getFunctionParent = function getFunctionParent() {
15688 var scope = this;
15689
15690 do {
15691 if (scope.path.isFunctionParent()) {
15692 return scope;
15693 }
15694 } while (scope = scope.parent);
15695
15696 return null;
15697 };
15698
15699 _proto.getBlockParent = function getBlockParent() {
15700 var scope = this;
15701
15702 do {
15703 if (scope.path.isBlockParent()) {
15704 return scope;
15705 }
15706 } while (scope = scope.parent);
15707
15708 throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
15709 };
15710
15711 _proto.getAllBindings = function getAllBindings() {
15712 var ids = Object.create(null);
15713 var scope = this;
15714
15715 do {
15716 for (var _i6 = 0, _Object$keys6 = Object.keys(scope.bindings); _i6 < _Object$keys6.length; _i6++) {
15717 var key = _Object$keys6[_i6];
15718
15719 if (key in ids === false) {
15720 ids[key] = scope.bindings[key];
15721 }
15722 }
15723
15724 scope = scope.parent;
15725 } while (scope);
15726
15727 return ids;
15728 };
15729
15730 _proto.getAllBindingsOfKind = function getAllBindingsOfKind() {
15731 var ids = Object.create(null);
15732
15733 for (var _len = arguments.length, kinds = new Array(_len), _key = 0; _key < _len; _key++) {
15734 kinds[_key] = arguments[_key];
15735 }
15736
15737 for (var _i7 = 0, _kinds = kinds; _i7 < _kinds.length; _i7++) {
15738 var kind = _kinds[_i7];
15739 var scope = this;
15740
15741 do {
15742 for (var _i8 = 0, _Object$keys7 = Object.keys(scope.bindings); _i8 < _Object$keys7.length; _i8++) {
15743 var _name7 = _Object$keys7[_i8];
15744 var binding = scope.bindings[_name7];
15745 if (binding.kind === kind) ids[_name7] = binding;
15746 }
15747
15748 scope = scope.parent;
15749 } while (scope);
15750 }
15751
15752 return ids;
15753 };
15754
15755 _proto.bindingIdentifierEquals = function bindingIdentifierEquals(name, node) {
15756 return this.getBindingIdentifier(name) === node;
15757 };
15758
15759 _proto.getBinding = function getBinding(name) {
15760 var scope = this;
15761 var previousPath;
15762
15763 do {
15764 var binding = scope.getOwnBinding(name);
15765
15766 if (binding) {
15767 var _previousPath;
15768
15769 if ((_previousPath = previousPath) != null && _previousPath.isPattern() && binding.kind !== "param") ; else {
15770 return binding;
15771 }
15772 }
15773
15774 previousPath = scope.path;
15775 } while (scope = scope.parent);
15776 };
15777
15778 _proto.getOwnBinding = function getOwnBinding(name) {
15779 return this.bindings[name];
15780 };
15781
15782 _proto.getBindingIdentifier = function getBindingIdentifier(name) {
15783 var _this$getBinding;
15784
15785 return (_this$getBinding = this.getBinding(name)) == null ? void 0 : _this$getBinding.identifier;
15786 };
15787
15788 _proto.getOwnBindingIdentifier = function getOwnBindingIdentifier(name) {
15789 var binding = this.bindings[name];
15790 return binding == null ? void 0 : binding.identifier;
15791 };
15792
15793 _proto.hasOwnBinding = function hasOwnBinding(name) {
15794 return !!this.getOwnBinding(name);
15795 };
15796
15797 _proto.hasBinding = function hasBinding(name, noGlobals) {
15798 if (!name) return false;
15799 if (this.hasOwnBinding(name)) return true;
15800 if (this.parentHasBinding(name, noGlobals)) return true;
15801 if (this.hasUid(name)) return true;
15802 if (!noGlobals && Scope.globals.includes(name)) return true;
15803 if (!noGlobals && Scope.contextVariables.includes(name)) return true;
15804 return false;
15805 };
15806
15807 _proto.parentHasBinding = function parentHasBinding(name, noGlobals) {
15808 var _this$parent;
15809
15810 return (_this$parent = this.parent) == null ? void 0 : _this$parent.hasBinding(name, noGlobals);
15811 };
15812
15813 _proto.moveBindingTo = function moveBindingTo(name, scope) {
15814 var info = this.getBinding(name);
15815
15816 if (info) {
15817 info.scope.removeOwnBinding(name);
15818 info.scope = scope;
15819 scope.bindings[name] = info;
15820 }
15821 };
15822
15823 _proto.removeOwnBinding = function removeOwnBinding(name) {
15824 delete this.bindings[name];
15825 };
15826
15827 _proto.removeBinding = function removeBinding(name) {
15828 var _this$getBinding2;
15829
15830 (_this$getBinding2 = this.getBinding(name)) == null ? void 0 : _this$getBinding2.scope.removeOwnBinding(name);
15831 var scope = this;
15832
15833 do {
15834 if (scope.uids[name]) {
15835 scope.uids[name] = false;
15836 }
15837 } while (scope = scope.parent);
15838 };
15839
15840 _createClass(Scope, [{
15841 key: "parent",
15842 get: function get() {
15843 var _parent;
15844
15845 var parent,
15846 path = this.path;
15847
15848 do {
15849 var isKey = path.key === "key";
15850 path = path.parentPath;
15851 if (isKey && path.isMethod()) path = path.parentPath;
15852 if (path && path.isScope()) parent = path;
15853 } while (path && !parent);
15854
15855 return (_parent = parent) == null ? void 0 : _parent.scope;
15856 }
15857 }, {
15858 key: "parentBlock",
15859 get: function get() {
15860 return this.path.parent;
15861 }
15862 }, {
15863 key: "hub",
15864 get: function get() {
15865 return this.path.hub;
15866 }
15867 }]);
15868
15869 return Scope;
15870 }();
15871
15872 Scope$1.globals = Object.keys(globals$1.builtin);
15873 Scope$1.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
15874
15875 var intToCharMap$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
15876
15877 var encode$3 = function encode(number) {
15878 if (0 <= number && number < intToCharMap$1.length) {
15879 return intToCharMap$1[number];
15880 }
15881
15882 throw new TypeError("Must be between 0 and 63: " + number);
15883 };
15884
15885 var decode$3 = function decode(charCode) {
15886 var bigA = 65;
15887 var bigZ = 90;
15888 var littleA = 97;
15889 var littleZ = 122;
15890 var zero = 48;
15891 var nine = 57;
15892 var plus = 43;
15893 var slash = 47;
15894 var littleOffset = 26;
15895 var numberOffset = 52;
15896
15897 if (bigA <= charCode && charCode <= bigZ) {
15898 return charCode - bigA;
15899 }
15900
15901 if (littleA <= charCode && charCode <= littleZ) {
15902 return charCode - littleA + littleOffset;
15903 }
15904
15905 if (zero <= charCode && charCode <= nine) {
15906 return charCode - zero + numberOffset;
15907 }
15908
15909 if (charCode == plus) {
15910 return 62;
15911 }
15912
15913 if (charCode == slash) {
15914 return 63;
15915 }
15916
15917 return -1;
15918 };
15919
15920 var base64$1 = {
15921 encode: encode$3,
15922 decode: decode$3
15923 };
15924
15925 var VLQ_BASE_SHIFT$1 = 5;
15926 var VLQ_BASE$1 = 1 << VLQ_BASE_SHIFT$1;
15927 var VLQ_BASE_MASK$1 = VLQ_BASE$1 - 1;
15928 var VLQ_CONTINUATION_BIT$1 = VLQ_BASE$1;
15929
15930 function toVLQSigned$1(aValue) {
15931 return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0;
15932 }
15933
15934 function fromVLQSigned$1(aValue) {
15935 var isNegative = (aValue & 1) === 1;
15936 var shifted = aValue >> 1;
15937 return isNegative ? -shifted : shifted;
15938 }
15939
15940 var encode$2 = function base64VLQ_encode(aValue) {
15941 var encoded = "";
15942 var digit;
15943 var vlq = toVLQSigned$1(aValue);
15944
15945 do {
15946 digit = vlq & VLQ_BASE_MASK$1;
15947 vlq >>>= VLQ_BASE_SHIFT$1;
15948
15949 if (vlq > 0) {
15950 digit |= VLQ_CONTINUATION_BIT$1;
15951 }
15952
15953 encoded += base64$1.encode(digit);
15954 } while (vlq > 0);
15955
15956 return encoded;
15957 };
15958
15959 var decode$2 = function base64VLQ_decode(aStr, aIndex, aOutParam) {
15960 var strLen = aStr.length;
15961 var result = 0;
15962 var shift = 0;
15963 var continuation, digit;
15964
15965 do {
15966 if (aIndex >= strLen) {
15967 throw new Error("Expected more digits in base 64 VLQ value.");
15968 }
15969
15970 digit = base64$1.decode(aStr.charCodeAt(aIndex++));
15971
15972 if (digit === -1) {
15973 throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
15974 }
15975
15976 continuation = !!(digit & VLQ_CONTINUATION_BIT$1);
15977 digit &= VLQ_BASE_MASK$1;
15978 result = result + (digit << shift);
15979 shift += VLQ_BASE_SHIFT$1;
15980 } while (continuation);
15981
15982 aOutParam.value = fromVLQSigned$1(result);
15983 aOutParam.rest = aIndex;
15984 };
15985
15986 var base64Vlq$1 = {
15987 encode: encode$2,
15988 decode: decode$2
15989 };
15990
15991 var util$6 = createCommonjsModule(function (module, exports) {
15992 function getArg(aArgs, aName, aDefaultValue) {
15993 if (aName in aArgs) {
15994 return aArgs[aName];
15995 } else if (arguments.length === 3) {
15996 return aDefaultValue;
15997 } else {
15998 throw new Error('"' + aName + '" is a required argument.');
15999 }
16000 }
16001
16002 exports.getArg = getArg;
16003 var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/;
16004 var dataUrlRegexp = /^data:.+\,.+$/;
16005
16006 function urlParse(aUrl) {
16007 var match = aUrl.match(urlRegexp);
16008
16009 if (!match) {
16010 return null;
16011 }
16012
16013 return {
16014 scheme: match[1],
16015 auth: match[2],
16016 host: match[3],
16017 port: match[4],
16018 path: match[5]
16019 };
16020 }
16021
16022 exports.urlParse = urlParse;
16023
16024 function urlGenerate(aParsedUrl) {
16025 var url = '';
16026
16027 if (aParsedUrl.scheme) {
16028 url += aParsedUrl.scheme + ':';
16029 }
16030
16031 url += '//';
16032
16033 if (aParsedUrl.auth) {
16034 url += aParsedUrl.auth + '@';
16035 }
16036
16037 if (aParsedUrl.host) {
16038 url += aParsedUrl.host;
16039 }
16040
16041 if (aParsedUrl.port) {
16042 url += ":" + aParsedUrl.port;
16043 }
16044
16045 if (aParsedUrl.path) {
16046 url += aParsedUrl.path;
16047 }
16048
16049 return url;
16050 }
16051
16052 exports.urlGenerate = urlGenerate;
16053
16054 function normalize(aPath) {
16055 var path = aPath;
16056 var url = urlParse(aPath);
16057
16058 if (url) {
16059 if (!url.path) {
16060 return aPath;
16061 }
16062
16063 path = url.path;
16064 }
16065
16066 var isAbsolute = exports.isAbsolute(path);
16067 var parts = path.split(/\/+/);
16068
16069 for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
16070 part = parts[i];
16071
16072 if (part === '.') {
16073 parts.splice(i, 1);
16074 } else if (part === '..') {
16075 up++;
16076 } else if (up > 0) {
16077 if (part === '') {
16078 parts.splice(i + 1, up);
16079 up = 0;
16080 } else {
16081 parts.splice(i, 2);
16082 up--;
16083 }
16084 }
16085 }
16086
16087 path = parts.join('/');
16088
16089 if (path === '') {
16090 path = isAbsolute ? '/' : '.';
16091 }
16092
16093 if (url) {
16094 url.path = path;
16095 return urlGenerate(url);
16096 }
16097
16098 return path;
16099 }
16100
16101 exports.normalize = normalize;
16102
16103 function join(aRoot, aPath) {
16104 if (aRoot === "") {
16105 aRoot = ".";
16106 }
16107
16108 if (aPath === "") {
16109 aPath = ".";
16110 }
16111
16112 var aPathUrl = urlParse(aPath);
16113 var aRootUrl = urlParse(aRoot);
16114
16115 if (aRootUrl) {
16116 aRoot = aRootUrl.path || '/';
16117 }
16118
16119 if (aPathUrl && !aPathUrl.scheme) {
16120 if (aRootUrl) {
16121 aPathUrl.scheme = aRootUrl.scheme;
16122 }
16123
16124 return urlGenerate(aPathUrl);
16125 }
16126
16127 if (aPathUrl || aPath.match(dataUrlRegexp)) {
16128 return aPath;
16129 }
16130
16131 if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
16132 aRootUrl.host = aPath;
16133 return urlGenerate(aRootUrl);
16134 }
16135
16136 var joined = aPath.charAt(0) === '/' ? aPath : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath);
16137
16138 if (aRootUrl) {
16139 aRootUrl.path = joined;
16140 return urlGenerate(aRootUrl);
16141 }
16142
16143 return joined;
16144 }
16145
16146 exports.join = join;
16147
16148 exports.isAbsolute = function (aPath) {
16149 return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);
16150 };
16151
16152 function relative(aRoot, aPath) {
16153 if (aRoot === "") {
16154 aRoot = ".";
16155 }
16156
16157 aRoot = aRoot.replace(/\/$/, '');
16158 var level = 0;
16159
16160 while (aPath.indexOf(aRoot + '/') !== 0) {
16161 var index = aRoot.lastIndexOf("/");
16162
16163 if (index < 0) {
16164 return aPath;
16165 }
16166
16167 aRoot = aRoot.slice(0, index);
16168
16169 if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
16170 return aPath;
16171 }
16172
16173 ++level;
16174 }
16175
16176 return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
16177 }
16178
16179 exports.relative = relative;
16180
16181 var supportsNullProto = function () {
16182 var obj = Object.create(null);
16183 return !('__proto__' in obj);
16184 }();
16185
16186 function identity(s) {
16187 return s;
16188 }
16189
16190 function toSetString(aStr) {
16191 if (isProtoString(aStr)) {
16192 return '$' + aStr;
16193 }
16194
16195 return aStr;
16196 }
16197
16198 exports.toSetString = supportsNullProto ? identity : toSetString;
16199
16200 function fromSetString(aStr) {
16201 if (isProtoString(aStr)) {
16202 return aStr.slice(1);
16203 }
16204
16205 return aStr;
16206 }
16207
16208 exports.fromSetString = supportsNullProto ? identity : fromSetString;
16209
16210 function isProtoString(s) {
16211 if (!s) {
16212 return false;
16213 }
16214
16215 var length = s.length;
16216
16217 if (length < 9) {
16218 return false;
16219 }
16220
16221 if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) {
16222 return false;
16223 }
16224
16225 for (var i = length - 10; i >= 0; i--) {
16226 if (s.charCodeAt(i) !== 36) {
16227 return false;
16228 }
16229 }
16230
16231 return true;
16232 }
16233
16234 function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
16235 var cmp = mappingA.source - mappingB.source;
16236
16237 if (cmp !== 0) {
16238 return cmp;
16239 }
16240
16241 cmp = mappingA.originalLine - mappingB.originalLine;
16242
16243 if (cmp !== 0) {
16244 return cmp;
16245 }
16246
16247 cmp = mappingA.originalColumn - mappingB.originalColumn;
16248
16249 if (cmp !== 0 || onlyCompareOriginal) {
16250 return cmp;
16251 }
16252
16253 cmp = mappingA.generatedColumn - mappingB.generatedColumn;
16254
16255 if (cmp !== 0) {
16256 return cmp;
16257 }
16258
16259 cmp = mappingA.generatedLine - mappingB.generatedLine;
16260
16261 if (cmp !== 0) {
16262 return cmp;
16263 }
16264
16265 return mappingA.name - mappingB.name;
16266 }
16267
16268 exports.compareByOriginalPositions = compareByOriginalPositions;
16269
16270 function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
16271 var cmp = mappingA.generatedLine - mappingB.generatedLine;
16272
16273 if (cmp !== 0) {
16274 return cmp;
16275 }
16276
16277 cmp = mappingA.generatedColumn - mappingB.generatedColumn;
16278
16279 if (cmp !== 0 || onlyCompareGenerated) {
16280 return cmp;
16281 }
16282
16283 cmp = mappingA.source - mappingB.source;
16284
16285 if (cmp !== 0) {
16286 return cmp;
16287 }
16288
16289 cmp = mappingA.originalLine - mappingB.originalLine;
16290
16291 if (cmp !== 0) {
16292 return cmp;
16293 }
16294
16295 cmp = mappingA.originalColumn - mappingB.originalColumn;
16296
16297 if (cmp !== 0) {
16298 return cmp;
16299 }
16300
16301 return mappingA.name - mappingB.name;
16302 }
16303
16304 exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;
16305
16306 function strcmp(aStr1, aStr2) {
16307 if (aStr1 === aStr2) {
16308 return 0;
16309 }
16310
16311 if (aStr1 > aStr2) {
16312 return 1;
16313 }
16314
16315 return -1;
16316 }
16317
16318 function compareByGeneratedPositionsInflated(mappingA, mappingB) {
16319 var cmp = mappingA.generatedLine - mappingB.generatedLine;
16320
16321 if (cmp !== 0) {
16322 return cmp;
16323 }
16324
16325 cmp = mappingA.generatedColumn - mappingB.generatedColumn;
16326
16327 if (cmp !== 0) {
16328 return cmp;
16329 }
16330
16331 cmp = strcmp(mappingA.source, mappingB.source);
16332
16333 if (cmp !== 0) {
16334 return cmp;
16335 }
16336
16337 cmp = mappingA.originalLine - mappingB.originalLine;
16338
16339 if (cmp !== 0) {
16340 return cmp;
16341 }
16342
16343 cmp = mappingA.originalColumn - mappingB.originalColumn;
16344
16345 if (cmp !== 0) {
16346 return cmp;
16347 }
16348
16349 return strcmp(mappingA.name, mappingB.name);
16350 }
16351
16352 exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
16353 }, "/$$rollup_base$$/packages/babel-generator/node_modules/source-map/lib");
16354
16355 var has$c = Object.prototype.hasOwnProperty;
16356 var hasNativeMap$1 = typeof Map !== "undefined";
16357
16358 function ArraySet$5() {
16359 this._array = [];
16360 this._set = hasNativeMap$1 ? new Map() : Object.create(null);
16361 }
16362
16363 ArraySet$5.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
16364 var set = new ArraySet$5();
16365
16366 for (var i = 0, len = aArray.length; i < len; i++) {
16367 set.add(aArray[i], aAllowDuplicates);
16368 }
16369
16370 return set;
16371 };
16372
16373 ArraySet$5.prototype.size = function ArraySet_size() {
16374 return hasNativeMap$1 ? this._set.size : Object.getOwnPropertyNames(this._set).length;
16375 };
16376
16377 ArraySet$5.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
16378 var sStr = hasNativeMap$1 ? aStr : util$6.toSetString(aStr);
16379 var isDuplicate = hasNativeMap$1 ? this.has(aStr) : has$c.call(this._set, sStr);
16380 var idx = this._array.length;
16381
16382 if (!isDuplicate || aAllowDuplicates) {
16383 this._array.push(aStr);
16384 }
16385
16386 if (!isDuplicate) {
16387 if (hasNativeMap$1) {
16388 this._set.set(aStr, idx);
16389 } else {
16390 this._set[sStr] = idx;
16391 }
16392 }
16393 };
16394
16395 ArraySet$5.prototype.has = function ArraySet_has(aStr) {
16396 if (hasNativeMap$1) {
16397 return this._set.has(aStr);
16398 } else {
16399 var sStr = util$6.toSetString(aStr);
16400 return has$c.call(this._set, sStr);
16401 }
16402 };
16403
16404 ArraySet$5.prototype.indexOf = function ArraySet_indexOf(aStr) {
16405 if (hasNativeMap$1) {
16406 var idx = this._set.get(aStr);
16407
16408 if (idx >= 0) {
16409 return idx;
16410 }
16411 } else {
16412 var sStr = util$6.toSetString(aStr);
16413
16414 if (has$c.call(this._set, sStr)) {
16415 return this._set[sStr];
16416 }
16417 }
16418
16419 throw new Error('"' + aStr + '" is not in the set.');
16420 };
16421
16422 ArraySet$5.prototype.at = function ArraySet_at(aIdx) {
16423 if (aIdx >= 0 && aIdx < this._array.length) {
16424 return this._array[aIdx];
16425 }
16426
16427 throw new Error('No element indexed by ' + aIdx);
16428 };
16429
16430 ArraySet$5.prototype.toArray = function ArraySet_toArray() {
16431 return this._array.slice();
16432 };
16433
16434 var ArraySet_1$1 = ArraySet$5;
16435 var arraySet$1 = {
16436 ArraySet: ArraySet_1$1
16437 };
16438
16439 function generatedPositionAfter$1(mappingA, mappingB) {
16440 var lineA = mappingA.generatedLine;
16441 var lineB = mappingB.generatedLine;
16442 var columnA = mappingA.generatedColumn;
16443 var columnB = mappingB.generatedColumn;
16444 return lineB > lineA || lineB == lineA && columnB >= columnA || util$6.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
16445 }
16446
16447 function MappingList$3() {
16448 this._array = [];
16449 this._sorted = true;
16450 this._last = {
16451 generatedLine: -1,
16452 generatedColumn: 0
16453 };
16454 }
16455
16456 MappingList$3.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) {
16457 this._array.forEach(aCallback, aThisArg);
16458 };
16459
16460 MappingList$3.prototype.add = function MappingList_add(aMapping) {
16461 if (generatedPositionAfter$1(this._last, aMapping)) {
16462 this._last = aMapping;
16463
16464 this._array.push(aMapping);
16465 } else {
16466 this._sorted = false;
16467
16468 this._array.push(aMapping);
16469 }
16470 };
16471
16472 MappingList$3.prototype.toArray = function MappingList_toArray() {
16473 if (!this._sorted) {
16474 this._array.sort(util$6.compareByGeneratedPositionsInflated);
16475
16476 this._sorted = true;
16477 }
16478
16479 return this._array;
16480 };
16481
16482 var MappingList_1$1 = MappingList$3;
16483 var mappingList$1 = {
16484 MappingList: MappingList_1$1
16485 };
16486
16487 var ArraySet$4 = arraySet$1.ArraySet;
16488 var MappingList$2 = mappingList$1.MappingList;
16489
16490 function SourceMapGenerator$5(aArgs) {
16491 if (!aArgs) {
16492 aArgs = {};
16493 }
16494
16495 this._file = util$6.getArg(aArgs, 'file', null);
16496 this._sourceRoot = util$6.getArg(aArgs, 'sourceRoot', null);
16497 this._skipValidation = util$6.getArg(aArgs, 'skipValidation', false);
16498 this._sources = new ArraySet$4();
16499 this._names = new ArraySet$4();
16500 this._mappings = new MappingList$2();
16501 this._sourcesContents = null;
16502 }
16503
16504 SourceMapGenerator$5.prototype._version = 3;
16505
16506 SourceMapGenerator$5.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
16507 var sourceRoot = aSourceMapConsumer.sourceRoot;
16508 var generator = new SourceMapGenerator$5({
16509 file: aSourceMapConsumer.file,
16510 sourceRoot: sourceRoot
16511 });
16512 aSourceMapConsumer.eachMapping(function (mapping) {
16513 var newMapping = {
16514 generated: {
16515 line: mapping.generatedLine,
16516 column: mapping.generatedColumn
16517 }
16518 };
16519
16520 if (mapping.source != null) {
16521 newMapping.source = mapping.source;
16522
16523 if (sourceRoot != null) {
16524 newMapping.source = util$6.relative(sourceRoot, newMapping.source);
16525 }
16526
16527 newMapping.original = {
16528 line: mapping.originalLine,
16529 column: mapping.originalColumn
16530 };
16531
16532 if (mapping.name != null) {
16533 newMapping.name = mapping.name;
16534 }
16535 }
16536
16537 generator.addMapping(newMapping);
16538 });
16539 aSourceMapConsumer.sources.forEach(function (sourceFile) {
16540 var content = aSourceMapConsumer.sourceContentFor(sourceFile);
16541
16542 if (content != null) {
16543 generator.setSourceContent(sourceFile, content);
16544 }
16545 });
16546 return generator;
16547 };
16548
16549 SourceMapGenerator$5.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) {
16550 var generated = util$6.getArg(aArgs, 'generated');
16551 var original = util$6.getArg(aArgs, 'original', null);
16552 var source = util$6.getArg(aArgs, 'source', null);
16553 var name = util$6.getArg(aArgs, 'name', null);
16554
16555 if (!this._skipValidation) {
16556 this._validateMapping(generated, original, source, name);
16557 }
16558
16559 if (source != null) {
16560 source = String(source);
16561
16562 if (!this._sources.has(source)) {
16563 this._sources.add(source);
16564 }
16565 }
16566
16567 if (name != null) {
16568 name = String(name);
16569
16570 if (!this._names.has(name)) {
16571 this._names.add(name);
16572 }
16573 }
16574
16575 this._mappings.add({
16576 generatedLine: generated.line,
16577 generatedColumn: generated.column,
16578 originalLine: original != null && original.line,
16579 originalColumn: original != null && original.column,
16580 source: source,
16581 name: name
16582 });
16583 };
16584
16585 SourceMapGenerator$5.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
16586 var source = aSourceFile;
16587
16588 if (this._sourceRoot != null) {
16589 source = util$6.relative(this._sourceRoot, source);
16590 }
16591
16592 if (aSourceContent != null) {
16593 if (!this._sourcesContents) {
16594 this._sourcesContents = Object.create(null);
16595 }
16596
16597 this._sourcesContents[util$6.toSetString(source)] = aSourceContent;
16598 } else if (this._sourcesContents) {
16599 delete this._sourcesContents[util$6.toSetString(source)];
16600
16601 if (Object.keys(this._sourcesContents).length === 0) {
16602 this._sourcesContents = null;
16603 }
16604 }
16605 };
16606
16607 SourceMapGenerator$5.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
16608 var sourceFile = aSourceFile;
16609
16610 if (aSourceFile == null) {
16611 if (aSourceMapConsumer.file == null) {
16612 throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + 'or the source map\'s "file" property. Both were omitted.');
16613 }
16614
16615 sourceFile = aSourceMapConsumer.file;
16616 }
16617
16618 var sourceRoot = this._sourceRoot;
16619
16620 if (sourceRoot != null) {
16621 sourceFile = util$6.relative(sourceRoot, sourceFile);
16622 }
16623
16624 var newSources = new ArraySet$4();
16625 var newNames = new ArraySet$4();
16626
16627 this._mappings.unsortedForEach(function (mapping) {
16628 if (mapping.source === sourceFile && mapping.originalLine != null) {
16629 var original = aSourceMapConsumer.originalPositionFor({
16630 line: mapping.originalLine,
16631 column: mapping.originalColumn
16632 });
16633
16634 if (original.source != null) {
16635 mapping.source = original.source;
16636
16637 if (aSourceMapPath != null) {
16638 mapping.source = util$6.join(aSourceMapPath, mapping.source);
16639 }
16640
16641 if (sourceRoot != null) {
16642 mapping.source = util$6.relative(sourceRoot, mapping.source);
16643 }
16644
16645 mapping.originalLine = original.line;
16646 mapping.originalColumn = original.column;
16647
16648 if (original.name != null) {
16649 mapping.name = original.name;
16650 }
16651 }
16652 }
16653
16654 var source = mapping.source;
16655
16656 if (source != null && !newSources.has(source)) {
16657 newSources.add(source);
16658 }
16659
16660 var name = mapping.name;
16661
16662 if (name != null && !newNames.has(name)) {
16663 newNames.add(name);
16664 }
16665 }, this);
16666
16667 this._sources = newSources;
16668 this._names = newNames;
16669 aSourceMapConsumer.sources.forEach(function (sourceFile) {
16670 var content = aSourceMapConsumer.sourceContentFor(sourceFile);
16671
16672 if (content != null) {
16673 if (aSourceMapPath != null) {
16674 sourceFile = util$6.join(aSourceMapPath, sourceFile);
16675 }
16676
16677 if (sourceRoot != null) {
16678 sourceFile = util$6.relative(sourceRoot, sourceFile);
16679 }
16680
16681 this.setSourceContent(sourceFile, content);
16682 }
16683 }, this);
16684 };
16685
16686 SourceMapGenerator$5.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) {
16687 if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {
16688 throw new Error('original.line and original.column are not numbers -- you probably meant to omit ' + 'the original mapping entirely and only map the generated position. If so, pass ' + 'null for the original mapping instead of an object with empty or null values.');
16689 }
16690
16691 if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) {
16692 return;
16693 } else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aOriginal && 'line' in aOriginal && 'column' in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) {
16694 return;
16695 } else {
16696 throw new Error('Invalid mapping: ' + JSON.stringify({
16697 generated: aGenerated,
16698 source: aSource,
16699 original: aOriginal,
16700 name: aName
16701 }));
16702 }
16703 };
16704
16705 SourceMapGenerator$5.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() {
16706 var previousGeneratedColumn = 0;
16707 var previousGeneratedLine = 1;
16708 var previousOriginalColumn = 0;
16709 var previousOriginalLine = 0;
16710 var previousName = 0;
16711 var previousSource = 0;
16712 var result = '';
16713 var next;
16714 var mapping;
16715 var nameIdx;
16716 var sourceIdx;
16717
16718 var mappings = this._mappings.toArray();
16719
16720 for (var i = 0, len = mappings.length; i < len; i++) {
16721 mapping = mappings[i];
16722 next = '';
16723
16724 if (mapping.generatedLine !== previousGeneratedLine) {
16725 previousGeneratedColumn = 0;
16726
16727 while (mapping.generatedLine !== previousGeneratedLine) {
16728 next += ';';
16729 previousGeneratedLine++;
16730 }
16731 } else {
16732 if (i > 0) {
16733 if (!util$6.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
16734 continue;
16735 }
16736
16737 next += ',';
16738 }
16739 }
16740
16741 next += base64Vlq$1.encode(mapping.generatedColumn - previousGeneratedColumn);
16742 previousGeneratedColumn = mapping.generatedColumn;
16743
16744 if (mapping.source != null) {
16745 sourceIdx = this._sources.indexOf(mapping.source);
16746 next += base64Vlq$1.encode(sourceIdx - previousSource);
16747 previousSource = sourceIdx;
16748 next += base64Vlq$1.encode(mapping.originalLine - 1 - previousOriginalLine);
16749 previousOriginalLine = mapping.originalLine - 1;
16750 next += base64Vlq$1.encode(mapping.originalColumn - previousOriginalColumn);
16751 previousOriginalColumn = mapping.originalColumn;
16752
16753 if (mapping.name != null) {
16754 nameIdx = this._names.indexOf(mapping.name);
16755 next += base64Vlq$1.encode(nameIdx - previousName);
16756 previousName = nameIdx;
16757 }
16758 }
16759
16760 result += next;
16761 }
16762
16763 return result;
16764 };
16765
16766 SourceMapGenerator$5.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
16767 return aSources.map(function (source) {
16768 if (!this._sourcesContents) {
16769 return null;
16770 }
16771
16772 if (aSourceRoot != null) {
16773 source = util$6.relative(aSourceRoot, source);
16774 }
16775
16776 var key = util$6.toSetString(source);
16777 return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null;
16778 }, this);
16779 };
16780
16781 SourceMapGenerator$5.prototype.toJSON = function SourceMapGenerator_toJSON() {
16782 var map = {
16783 version: this._version,
16784 sources: this._sources.toArray(),
16785 names: this._names.toArray(),
16786 mappings: this._serializeMappings()
16787 };
16788
16789 if (this._file != null) {
16790 map.file = this._file;
16791 }
16792
16793 if (this._sourceRoot != null) {
16794 map.sourceRoot = this._sourceRoot;
16795 }
16796
16797 if (this._sourcesContents) {
16798 map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
16799 }
16800
16801 return map;
16802 };
16803
16804 SourceMapGenerator$5.prototype.toString = function SourceMapGenerator_toString() {
16805 return JSON.stringify(this.toJSON());
16806 };
16807
16808 var SourceMapGenerator_1$1 = SourceMapGenerator$5;
16809 var sourceMapGenerator$1 = {
16810 SourceMapGenerator: SourceMapGenerator_1$1
16811 };
16812
16813 var binarySearch$1 = createCommonjsModule(function (module, exports) {
16814 exports.GREATEST_LOWER_BOUND = 1;
16815 exports.LEAST_UPPER_BOUND = 2;
16816
16817 function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
16818 var mid = Math.floor((aHigh - aLow) / 2) + aLow;
16819 var cmp = aCompare(aNeedle, aHaystack[mid], true);
16820
16821 if (cmp === 0) {
16822 return mid;
16823 } else if (cmp > 0) {
16824 if (aHigh - mid > 1) {
16825 return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
16826 }
16827
16828 if (aBias == exports.LEAST_UPPER_BOUND) {
16829 return aHigh < aHaystack.length ? aHigh : -1;
16830 } else {
16831 return mid;
16832 }
16833 } else {
16834 if (mid - aLow > 1) {
16835 return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
16836 }
16837
16838 if (aBias == exports.LEAST_UPPER_BOUND) {
16839 return mid;
16840 } else {
16841 return aLow < 0 ? -1 : aLow;
16842 }
16843 }
16844 }
16845
16846 exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
16847 if (aHaystack.length === 0) {
16848 return -1;
16849 }
16850
16851 var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare, aBias || exports.GREATEST_LOWER_BOUND);
16852
16853 if (index < 0) {
16854 return -1;
16855 }
16856
16857 while (index - 1 >= 0) {
16858 if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
16859 break;
16860 }
16861
16862 --index;
16863 }
16864
16865 return index;
16866 };
16867 }, "/$$rollup_base$$/packages/babel-generator/node_modules/source-map/lib");
16868
16869 function swap$1(ary, x, y) {
16870 var temp = ary[x];
16871 ary[x] = ary[y];
16872 ary[y] = temp;
16873 }
16874
16875 function randomIntInRange$1(low, high) {
16876 return Math.round(low + Math.random() * (high - low));
16877 }
16878
16879 function doQuickSort$1(ary, comparator, p, r) {
16880 if (p < r) {
16881 var pivotIndex = randomIntInRange$1(p, r);
16882 var i = p - 1;
16883 swap$1(ary, pivotIndex, r);
16884 var pivot = ary[r];
16885
16886 for (var j = p; j < r; j++) {
16887 if (comparator(ary[j], pivot) <= 0) {
16888 i += 1;
16889 swap$1(ary, i, j);
16890 }
16891 }
16892
16893 swap$1(ary, i + 1, j);
16894 var q = i + 1;
16895 doQuickSort$1(ary, comparator, p, q - 1);
16896 doQuickSort$1(ary, comparator, q + 1, r);
16897 }
16898 }
16899
16900 var quickSort_1$1 = function quickSort_1(ary, comparator) {
16901 doQuickSort$1(ary, comparator, 0, ary.length - 1);
16902 };
16903
16904 var quickSort$3 = {
16905 quickSort: quickSort_1$1
16906 };
16907
16908 var ArraySet$3 = arraySet$1.ArraySet;
16909 var quickSort$2 = quickSort$3.quickSort;
16910
16911 function SourceMapConsumer$3(aSourceMap) {
16912 var sourceMap = aSourceMap;
16913
16914 if (typeof aSourceMap === 'string') {
16915 sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
16916 }
16917
16918 return sourceMap.sections != null ? new IndexedSourceMapConsumer$1(sourceMap) : new BasicSourceMapConsumer$1(sourceMap);
16919 }
16920
16921 SourceMapConsumer$3.fromSourceMap = function (aSourceMap) {
16922 return BasicSourceMapConsumer$1.fromSourceMap(aSourceMap);
16923 };
16924
16925 SourceMapConsumer$3.prototype._version = 3;
16926 SourceMapConsumer$3.prototype.__generatedMappings = null;
16927 Object.defineProperty(SourceMapConsumer$3.prototype, '_generatedMappings', {
16928 get: function get() {
16929 if (!this.__generatedMappings) {
16930 this._parseMappings(this._mappings, this.sourceRoot);
16931 }
16932
16933 return this.__generatedMappings;
16934 }
16935 });
16936 SourceMapConsumer$3.prototype.__originalMappings = null;
16937 Object.defineProperty(SourceMapConsumer$3.prototype, '_originalMappings', {
16938 get: function get() {
16939 if (!this.__originalMappings) {
16940 this._parseMappings(this._mappings, this.sourceRoot);
16941 }
16942
16943 return this.__originalMappings;
16944 }
16945 });
16946
16947 SourceMapConsumer$3.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) {
16948 var c = aStr.charAt(index);
16949 return c === ";" || c === ",";
16950 };
16951
16952 SourceMapConsumer$3.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
16953 throw new Error("Subclasses must implement _parseMappings");
16954 };
16955
16956 SourceMapConsumer$3.GENERATED_ORDER = 1;
16957 SourceMapConsumer$3.ORIGINAL_ORDER = 2;
16958 SourceMapConsumer$3.GREATEST_LOWER_BOUND = 1;
16959 SourceMapConsumer$3.LEAST_UPPER_BOUND = 2;
16960
16961 SourceMapConsumer$3.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
16962 var context = aContext || null;
16963 var order = aOrder || SourceMapConsumer$3.GENERATED_ORDER;
16964 var mappings;
16965
16966 switch (order) {
16967 case SourceMapConsumer$3.GENERATED_ORDER:
16968 mappings = this._generatedMappings;
16969 break;
16970
16971 case SourceMapConsumer$3.ORIGINAL_ORDER:
16972 mappings = this._originalMappings;
16973 break;
16974
16975 default:
16976 throw new Error("Unknown order of iteration.");
16977 }
16978
16979 var sourceRoot = this.sourceRoot;
16980 mappings.map(function (mapping) {
16981 var source = mapping.source === null ? null : this._sources.at(mapping.source);
16982
16983 if (source != null && sourceRoot != null) {
16984 source = util$6.join(sourceRoot, source);
16985 }
16986
16987 return {
16988 source: source,
16989 generatedLine: mapping.generatedLine,
16990 generatedColumn: mapping.generatedColumn,
16991 originalLine: mapping.originalLine,
16992 originalColumn: mapping.originalColumn,
16993 name: mapping.name === null ? null : this._names.at(mapping.name)
16994 };
16995 }, this).forEach(aCallback, context);
16996 };
16997
16998 SourceMapConsumer$3.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
16999 var line = util$6.getArg(aArgs, 'line');
17000 var needle = {
17001 source: util$6.getArg(aArgs, 'source'),
17002 originalLine: line,
17003 originalColumn: util$6.getArg(aArgs, 'column', 0)
17004 };
17005
17006 if (this.sourceRoot != null) {
17007 needle.source = util$6.relative(this.sourceRoot, needle.source);
17008 }
17009
17010 if (!this._sources.has(needle.source)) {
17011 return [];
17012 }
17013
17014 needle.source = this._sources.indexOf(needle.source);
17015 var mappings = [];
17016
17017 var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util$6.compareByOriginalPositions, binarySearch$1.LEAST_UPPER_BOUND);
17018
17019 if (index >= 0) {
17020 var mapping = this._originalMappings[index];
17021
17022 if (aArgs.column === undefined) {
17023 var originalLine = mapping.originalLine;
17024
17025 while (mapping && mapping.originalLine === originalLine) {
17026 mappings.push({
17027 line: util$6.getArg(mapping, 'generatedLine', null),
17028 column: util$6.getArg(mapping, 'generatedColumn', null),
17029 lastColumn: util$6.getArg(mapping, 'lastGeneratedColumn', null)
17030 });
17031 mapping = this._originalMappings[++index];
17032 }
17033 } else {
17034 var originalColumn = mapping.originalColumn;
17035
17036 while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) {
17037 mappings.push({
17038 line: util$6.getArg(mapping, 'generatedLine', null),
17039 column: util$6.getArg(mapping, 'generatedColumn', null),
17040 lastColumn: util$6.getArg(mapping, 'lastGeneratedColumn', null)
17041 });
17042 mapping = this._originalMappings[++index];
17043 }
17044 }
17045 }
17046
17047 return mappings;
17048 };
17049
17050 var SourceMapConsumer_1$1 = SourceMapConsumer$3;
17051
17052 function BasicSourceMapConsumer$1(aSourceMap) {
17053 var sourceMap = aSourceMap;
17054
17055 if (typeof aSourceMap === 'string') {
17056 sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
17057 }
17058
17059 var version = util$6.getArg(sourceMap, 'version');
17060 var sources = util$6.getArg(sourceMap, 'sources');
17061 var names = util$6.getArg(sourceMap, 'names', []);
17062 var sourceRoot = util$6.getArg(sourceMap, 'sourceRoot', null);
17063 var sourcesContent = util$6.getArg(sourceMap, 'sourcesContent', null);
17064 var mappings = util$6.getArg(sourceMap, 'mappings');
17065 var file = util$6.getArg(sourceMap, 'file', null);
17066
17067 if (version != this._version) {
17068 throw new Error('Unsupported version: ' + version);
17069 }
17070
17071 sources = sources.map(String).map(util$6.normalize).map(function (source) {
17072 return sourceRoot && util$6.isAbsolute(sourceRoot) && util$6.isAbsolute(source) ? util$6.relative(sourceRoot, source) : source;
17073 });
17074 this._names = ArraySet$3.fromArray(names.map(String), true);
17075 this._sources = ArraySet$3.fromArray(sources, true);
17076 this.sourceRoot = sourceRoot;
17077 this.sourcesContent = sourcesContent;
17078 this._mappings = mappings;
17079 this.file = file;
17080 }
17081
17082 BasicSourceMapConsumer$1.prototype = Object.create(SourceMapConsumer$3.prototype);
17083 BasicSourceMapConsumer$1.prototype.consumer = SourceMapConsumer$3;
17084
17085 BasicSourceMapConsumer$1.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap) {
17086 var smc = Object.create(BasicSourceMapConsumer$1.prototype);
17087 var names = smc._names = ArraySet$3.fromArray(aSourceMap._names.toArray(), true);
17088 var sources = smc._sources = ArraySet$3.fromArray(aSourceMap._sources.toArray(), true);
17089 smc.sourceRoot = aSourceMap._sourceRoot;
17090 smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), smc.sourceRoot);
17091 smc.file = aSourceMap._file;
17092
17093 var generatedMappings = aSourceMap._mappings.toArray().slice();
17094
17095 var destGeneratedMappings = smc.__generatedMappings = [];
17096 var destOriginalMappings = smc.__originalMappings = [];
17097
17098 for (var i = 0, length = generatedMappings.length; i < length; i++) {
17099 var srcMapping = generatedMappings[i];
17100 var destMapping = new Mapping$1();
17101 destMapping.generatedLine = srcMapping.generatedLine;
17102 destMapping.generatedColumn = srcMapping.generatedColumn;
17103
17104 if (srcMapping.source) {
17105 destMapping.source = sources.indexOf(srcMapping.source);
17106 destMapping.originalLine = srcMapping.originalLine;
17107 destMapping.originalColumn = srcMapping.originalColumn;
17108
17109 if (srcMapping.name) {
17110 destMapping.name = names.indexOf(srcMapping.name);
17111 }
17112
17113 destOriginalMappings.push(destMapping);
17114 }
17115
17116 destGeneratedMappings.push(destMapping);
17117 }
17118
17119 quickSort$2(smc.__originalMappings, util$6.compareByOriginalPositions);
17120 return smc;
17121 };
17122
17123 BasicSourceMapConsumer$1.prototype._version = 3;
17124 Object.defineProperty(BasicSourceMapConsumer$1.prototype, 'sources', {
17125 get: function get() {
17126 return this._sources.toArray().map(function (s) {
17127 return this.sourceRoot != null ? util$6.join(this.sourceRoot, s) : s;
17128 }, this);
17129 }
17130 });
17131
17132 function Mapping$1() {
17133 this.generatedLine = 0;
17134 this.generatedColumn = 0;
17135 this.source = null;
17136 this.originalLine = null;
17137 this.originalColumn = null;
17138 this.name = null;
17139 }
17140
17141 BasicSourceMapConsumer$1.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
17142 var generatedLine = 1;
17143 var previousGeneratedColumn = 0;
17144 var previousOriginalLine = 0;
17145 var previousOriginalColumn = 0;
17146 var previousSource = 0;
17147 var previousName = 0;
17148 var length = aStr.length;
17149 var index = 0;
17150 var cachedSegments = {};
17151 var temp = {};
17152 var originalMappings = [];
17153 var generatedMappings = [];
17154 var mapping, str, segment, end, value;
17155
17156 while (index < length) {
17157 if (aStr.charAt(index) === ';') {
17158 generatedLine++;
17159 index++;
17160 previousGeneratedColumn = 0;
17161 } else if (aStr.charAt(index) === ',') {
17162 index++;
17163 } else {
17164 mapping = new Mapping$1();
17165 mapping.generatedLine = generatedLine;
17166
17167 for (end = index; end < length; end++) {
17168 if (this._charIsMappingSeparator(aStr, end)) {
17169 break;
17170 }
17171 }
17172
17173 str = aStr.slice(index, end);
17174 segment = cachedSegments[str];
17175
17176 if (segment) {
17177 index += str.length;
17178 } else {
17179 segment = [];
17180
17181 while (index < end) {
17182 base64Vlq$1.decode(aStr, index, temp);
17183 value = temp.value;
17184 index = temp.rest;
17185 segment.push(value);
17186 }
17187
17188 if (segment.length === 2) {
17189 throw new Error('Found a source, but no line and column');
17190 }
17191
17192 if (segment.length === 3) {
17193 throw new Error('Found a source and line, but no column');
17194 }
17195
17196 cachedSegments[str] = segment;
17197 }
17198
17199 mapping.generatedColumn = previousGeneratedColumn + segment[0];
17200 previousGeneratedColumn = mapping.generatedColumn;
17201
17202 if (segment.length > 1) {
17203 mapping.source = previousSource + segment[1];
17204 previousSource += segment[1];
17205 mapping.originalLine = previousOriginalLine + segment[2];
17206 previousOriginalLine = mapping.originalLine;
17207 mapping.originalLine += 1;
17208 mapping.originalColumn = previousOriginalColumn + segment[3];
17209 previousOriginalColumn = mapping.originalColumn;
17210
17211 if (segment.length > 4) {
17212 mapping.name = previousName + segment[4];
17213 previousName += segment[4];
17214 }
17215 }
17216
17217 generatedMappings.push(mapping);
17218
17219 if (typeof mapping.originalLine === 'number') {
17220 originalMappings.push(mapping);
17221 }
17222 }
17223 }
17224
17225 quickSort$2(generatedMappings, util$6.compareByGeneratedPositionsDeflated);
17226 this.__generatedMappings = generatedMappings;
17227 quickSort$2(originalMappings, util$6.compareByOriginalPositions);
17228 this.__originalMappings = originalMappings;
17229 };
17230
17231 BasicSourceMapConsumer$1.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) {
17232 if (aNeedle[aLineName] <= 0) {
17233 throw new TypeError('Line must be greater than or equal to 1, got ' + aNeedle[aLineName]);
17234 }
17235
17236 if (aNeedle[aColumnName] < 0) {
17237 throw new TypeError('Column must be greater than or equal to 0, got ' + aNeedle[aColumnName]);
17238 }
17239
17240 return binarySearch$1.search(aNeedle, aMappings, aComparator, aBias);
17241 };
17242
17243 BasicSourceMapConsumer$1.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() {
17244 for (var index = 0; index < this._generatedMappings.length; ++index) {
17245 var mapping = this._generatedMappings[index];
17246
17247 if (index + 1 < this._generatedMappings.length) {
17248 var nextMapping = this._generatedMappings[index + 1];
17249
17250 if (mapping.generatedLine === nextMapping.generatedLine) {
17251 mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
17252 continue;
17253 }
17254 }
17255
17256 mapping.lastGeneratedColumn = Infinity;
17257 }
17258 };
17259
17260 BasicSourceMapConsumer$1.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) {
17261 var needle = {
17262 generatedLine: util$6.getArg(aArgs, 'line'),
17263 generatedColumn: util$6.getArg(aArgs, 'column')
17264 };
17265
17266 var index = this._findMapping(needle, this._generatedMappings, "generatedLine", "generatedColumn", util$6.compareByGeneratedPositionsDeflated, util$6.getArg(aArgs, 'bias', SourceMapConsumer$3.GREATEST_LOWER_BOUND));
17267
17268 if (index >= 0) {
17269 var mapping = this._generatedMappings[index];
17270
17271 if (mapping.generatedLine === needle.generatedLine) {
17272 var source = util$6.getArg(mapping, 'source', null);
17273
17274 if (source !== null) {
17275 source = this._sources.at(source);
17276
17277 if (this.sourceRoot != null) {
17278 source = util$6.join(this.sourceRoot, source);
17279 }
17280 }
17281
17282 var name = util$6.getArg(mapping, 'name', null);
17283
17284 if (name !== null) {
17285 name = this._names.at(name);
17286 }
17287
17288 return {
17289 source: source,
17290 line: util$6.getArg(mapping, 'originalLine', null),
17291 column: util$6.getArg(mapping, 'originalColumn', null),
17292 name: name
17293 };
17294 }
17295 }
17296
17297 return {
17298 source: null,
17299 line: null,
17300 column: null,
17301 name: null
17302 };
17303 };
17304
17305 BasicSourceMapConsumer$1.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() {
17306 if (!this.sourcesContent) {
17307 return false;
17308 }
17309
17310 return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function (sc) {
17311 return sc == null;
17312 });
17313 };
17314
17315 BasicSourceMapConsumer$1.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
17316 if (!this.sourcesContent) {
17317 return null;
17318 }
17319
17320 if (this.sourceRoot != null) {
17321 aSource = util$6.relative(this.sourceRoot, aSource);
17322 }
17323
17324 if (this._sources.has(aSource)) {
17325 return this.sourcesContent[this._sources.indexOf(aSource)];
17326 }
17327
17328 var url;
17329
17330 if (this.sourceRoot != null && (url = util$6.urlParse(this.sourceRoot))) {
17331 var fileUriAbsPath = aSource.replace(/^file:\/\//, "");
17332
17333 if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) {
17334 return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)];
17335 }
17336
17337 if ((!url.path || url.path == "/") && this._sources.has("/" + aSource)) {
17338 return this.sourcesContent[this._sources.indexOf("/" + aSource)];
17339 }
17340 }
17341
17342 if (nullOnMissing) {
17343 return null;
17344 } else {
17345 throw new Error('"' + aSource + '" is not in the SourceMap.');
17346 }
17347 };
17348
17349 BasicSourceMapConsumer$1.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) {
17350 var source = util$6.getArg(aArgs, 'source');
17351
17352 if (this.sourceRoot != null) {
17353 source = util$6.relative(this.sourceRoot, source);
17354 }
17355
17356 if (!this._sources.has(source)) {
17357 return {
17358 line: null,
17359 column: null,
17360 lastColumn: null
17361 };
17362 }
17363
17364 source = this._sources.indexOf(source);
17365 var needle = {
17366 source: source,
17367 originalLine: util$6.getArg(aArgs, 'line'),
17368 originalColumn: util$6.getArg(aArgs, 'column')
17369 };
17370
17371 var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util$6.compareByOriginalPositions, util$6.getArg(aArgs, 'bias', SourceMapConsumer$3.GREATEST_LOWER_BOUND));
17372
17373 if (index >= 0) {
17374 var mapping = this._originalMappings[index];
17375
17376 if (mapping.source === needle.source) {
17377 return {
17378 line: util$6.getArg(mapping, 'generatedLine', null),
17379 column: util$6.getArg(mapping, 'generatedColumn', null),
17380 lastColumn: util$6.getArg(mapping, 'lastGeneratedColumn', null)
17381 };
17382 }
17383 }
17384
17385 return {
17386 line: null,
17387 column: null,
17388 lastColumn: null
17389 };
17390 };
17391
17392 var BasicSourceMapConsumer_1$1 = BasicSourceMapConsumer$1;
17393
17394 function IndexedSourceMapConsumer$1(aSourceMap) {
17395 var sourceMap = aSourceMap;
17396
17397 if (typeof aSourceMap === 'string') {
17398 sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
17399 }
17400
17401 var version = util$6.getArg(sourceMap, 'version');
17402 var sections = util$6.getArg(sourceMap, 'sections');
17403
17404 if (version != this._version) {
17405 throw new Error('Unsupported version: ' + version);
17406 }
17407
17408 this._sources = new ArraySet$3();
17409 this._names = new ArraySet$3();
17410 var lastOffset = {
17411 line: -1,
17412 column: 0
17413 };
17414 this._sections = sections.map(function (s) {
17415 if (s.url) {
17416 throw new Error('Support for url field in sections not implemented.');
17417 }
17418
17419 var offset = util$6.getArg(s, 'offset');
17420 var offsetLine = util$6.getArg(offset, 'line');
17421 var offsetColumn = util$6.getArg(offset, 'column');
17422
17423 if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) {
17424 throw new Error('Section offsets must be ordered and non-overlapping.');
17425 }
17426
17427 lastOffset = offset;
17428 return {
17429 generatedOffset: {
17430 generatedLine: offsetLine + 1,
17431 generatedColumn: offsetColumn + 1
17432 },
17433 consumer: new SourceMapConsumer$3(util$6.getArg(s, 'map'))
17434 };
17435 });
17436 }
17437
17438 IndexedSourceMapConsumer$1.prototype = Object.create(SourceMapConsumer$3.prototype);
17439 IndexedSourceMapConsumer$1.prototype.constructor = SourceMapConsumer$3;
17440 IndexedSourceMapConsumer$1.prototype._version = 3;
17441 Object.defineProperty(IndexedSourceMapConsumer$1.prototype, 'sources', {
17442 get: function get() {
17443 var sources = [];
17444
17445 for (var i = 0; i < this._sections.length; i++) {
17446 for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {
17447 sources.push(this._sections[i].consumer.sources[j]);
17448 }
17449 }
17450
17451 return sources;
17452 }
17453 });
17454
17455 IndexedSourceMapConsumer$1.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) {
17456 var needle = {
17457 generatedLine: util$6.getArg(aArgs, 'line'),
17458 generatedColumn: util$6.getArg(aArgs, 'column')
17459 };
17460 var sectionIndex = binarySearch$1.search(needle, this._sections, function (needle, section) {
17461 var cmp = needle.generatedLine - section.generatedOffset.generatedLine;
17462
17463 if (cmp) {
17464 return cmp;
17465 }
17466
17467 return needle.generatedColumn - section.generatedOffset.generatedColumn;
17468 });
17469 var section = this._sections[sectionIndex];
17470
17471 if (!section) {
17472 return {
17473 source: null,
17474 line: null,
17475 column: null,
17476 name: null
17477 };
17478 }
17479
17480 return section.consumer.originalPositionFor({
17481 line: needle.generatedLine - (section.generatedOffset.generatedLine - 1),
17482 column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
17483 bias: aArgs.bias
17484 });
17485 };
17486
17487 IndexedSourceMapConsumer$1.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() {
17488 return this._sections.every(function (s) {
17489 return s.consumer.hasContentsOfAllSources();
17490 });
17491 };
17492
17493 IndexedSourceMapConsumer$1.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
17494 for (var i = 0; i < this._sections.length; i++) {
17495 var section = this._sections[i];
17496 var content = section.consumer.sourceContentFor(aSource, true);
17497
17498 if (content) {
17499 return content;
17500 }
17501 }
17502
17503 if (nullOnMissing) {
17504 return null;
17505 } else {
17506 throw new Error('"' + aSource + '" is not in the SourceMap.');
17507 }
17508 };
17509
17510 IndexedSourceMapConsumer$1.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {
17511 for (var i = 0; i < this._sections.length; i++) {
17512 var section = this._sections[i];
17513
17514 if (section.consumer.sources.indexOf(util$6.getArg(aArgs, 'source')) === -1) {
17515 continue;
17516 }
17517
17518 var generatedPosition = section.consumer.generatedPositionFor(aArgs);
17519
17520 if (generatedPosition) {
17521 var ret = {
17522 line: generatedPosition.line + (section.generatedOffset.generatedLine - 1),
17523 column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0)
17524 };
17525 return ret;
17526 }
17527 }
17528
17529 return {
17530 line: null,
17531 column: null
17532 };
17533 };
17534
17535 IndexedSourceMapConsumer$1.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {
17536 this.__generatedMappings = [];
17537 this.__originalMappings = [];
17538
17539 for (var i = 0; i < this._sections.length; i++) {
17540 var section = this._sections[i];
17541 var sectionMappings = section.consumer._generatedMappings;
17542
17543 for (var j = 0; j < sectionMappings.length; j++) {
17544 var mapping = sectionMappings[j];
17545
17546 var source = section.consumer._sources.at(mapping.source);
17547
17548 if (section.consumer.sourceRoot !== null) {
17549 source = util$6.join(section.consumer.sourceRoot, source);
17550 }
17551
17552 this._sources.add(source);
17553
17554 source = this._sources.indexOf(source);
17555
17556 var name = section.consumer._names.at(mapping.name);
17557
17558 this._names.add(name);
17559
17560 name = this._names.indexOf(name);
17561 var adjustedMapping = {
17562 source: source,
17563 generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1),
17564 generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
17565 originalLine: mapping.originalLine,
17566 originalColumn: mapping.originalColumn,
17567 name: name
17568 };
17569
17570 this.__generatedMappings.push(adjustedMapping);
17571
17572 if (typeof adjustedMapping.originalLine === 'number') {
17573 this.__originalMappings.push(adjustedMapping);
17574 }
17575 }
17576 }
17577
17578 quickSort$2(this.__generatedMappings, util$6.compareByGeneratedPositionsDeflated);
17579 quickSort$2(this.__originalMappings, util$6.compareByOriginalPositions);
17580 };
17581
17582 var IndexedSourceMapConsumer_1$1 = IndexedSourceMapConsumer$1;
17583 var sourceMapConsumer$1 = {
17584 SourceMapConsumer: SourceMapConsumer_1$1,
17585 BasicSourceMapConsumer: BasicSourceMapConsumer_1$1,
17586 IndexedSourceMapConsumer: IndexedSourceMapConsumer_1$1
17587 };
17588
17589 var SourceMapGenerator$4 = sourceMapGenerator$1.SourceMapGenerator;
17590 var REGEX_NEWLINE$1 = /(\r?\n)/;
17591 var NEWLINE_CODE$1 = 10;
17592 var isSourceNode$1 = "$$$isSourceNode$$$";
17593
17594 function SourceNode$3(aLine, aColumn, aSource, aChunks, aName) {
17595 this.children = [];
17596 this.sourceContents = {};
17597 this.line = aLine == null ? null : aLine;
17598 this.column = aColumn == null ? null : aColumn;
17599 this.source = aSource == null ? null : aSource;
17600 this.name = aName == null ? null : aName;
17601 this[isSourceNode$1] = true;
17602 if (aChunks != null) this.add(aChunks);
17603 }
17604
17605 SourceNode$3.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
17606 var node = new SourceNode$3();
17607 var remainingLines = aGeneratedCode.split(REGEX_NEWLINE$1);
17608 var remainingLinesIndex = 0;
17609
17610 var shiftNextLine = function shiftNextLine() {
17611 var lineContents = getNextLine();
17612 var newLine = getNextLine() || "";
17613 return lineContents + newLine;
17614
17615 function getNextLine() {
17616 return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : undefined;
17617 }
17618 };
17619
17620 var lastGeneratedLine = 1,
17621 lastGeneratedColumn = 0;
17622 var lastMapping = null;
17623 aSourceMapConsumer.eachMapping(function (mapping) {
17624 if (lastMapping !== null) {
17625 if (lastGeneratedLine < mapping.generatedLine) {
17626 addMappingWithCode(lastMapping, shiftNextLine());
17627 lastGeneratedLine++;
17628 lastGeneratedColumn = 0;
17629 } else {
17630 var nextLine = remainingLines[remainingLinesIndex];
17631 var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn);
17632 remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn);
17633 lastGeneratedColumn = mapping.generatedColumn;
17634 addMappingWithCode(lastMapping, code);
17635 lastMapping = mapping;
17636 return;
17637 }
17638 }
17639
17640 while (lastGeneratedLine < mapping.generatedLine) {
17641 node.add(shiftNextLine());
17642 lastGeneratedLine++;
17643 }
17644
17645 if (lastGeneratedColumn < mapping.generatedColumn) {
17646 var nextLine = remainingLines[remainingLinesIndex];
17647 node.add(nextLine.substr(0, mapping.generatedColumn));
17648 remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
17649 lastGeneratedColumn = mapping.generatedColumn;
17650 }
17651
17652 lastMapping = mapping;
17653 }, this);
17654
17655 if (remainingLinesIndex < remainingLines.length) {
17656 if (lastMapping) {
17657 addMappingWithCode(lastMapping, shiftNextLine());
17658 }
17659
17660 node.add(remainingLines.splice(remainingLinesIndex).join(""));
17661 }
17662
17663 aSourceMapConsumer.sources.forEach(function (sourceFile) {
17664 var content = aSourceMapConsumer.sourceContentFor(sourceFile);
17665
17666 if (content != null) {
17667 if (aRelativePath != null) {
17668 sourceFile = util$6.join(aRelativePath, sourceFile);
17669 }
17670
17671 node.setSourceContent(sourceFile, content);
17672 }
17673 });
17674 return node;
17675
17676 function addMappingWithCode(mapping, code) {
17677 if (mapping === null || mapping.source === undefined) {
17678 node.add(code);
17679 } else {
17680 var source = aRelativePath ? util$6.join(aRelativePath, mapping.source) : mapping.source;
17681 node.add(new SourceNode$3(mapping.originalLine, mapping.originalColumn, source, code, mapping.name));
17682 }
17683 }
17684 };
17685
17686 SourceNode$3.prototype.add = function SourceNode_add(aChunk) {
17687 if (Array.isArray(aChunk)) {
17688 aChunk.forEach(function (chunk) {
17689 this.add(chunk);
17690 }, this);
17691 } else if (aChunk[isSourceNode$1] || typeof aChunk === "string") {
17692 if (aChunk) {
17693 this.children.push(aChunk);
17694 }
17695 } else {
17696 throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk);
17697 }
17698
17699 return this;
17700 };
17701
17702 SourceNode$3.prototype.prepend = function SourceNode_prepend(aChunk) {
17703 if (Array.isArray(aChunk)) {
17704 for (var i = aChunk.length - 1; i >= 0; i--) {
17705 this.prepend(aChunk[i]);
17706 }
17707 } else if (aChunk[isSourceNode$1] || typeof aChunk === "string") {
17708 this.children.unshift(aChunk);
17709 } else {
17710 throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk);
17711 }
17712
17713 return this;
17714 };
17715
17716 SourceNode$3.prototype.walk = function SourceNode_walk(aFn) {
17717 var chunk;
17718
17719 for (var i = 0, len = this.children.length; i < len; i++) {
17720 chunk = this.children[i];
17721
17722 if (chunk[isSourceNode$1]) {
17723 chunk.walk(aFn);
17724 } else {
17725 if (chunk !== '') {
17726 aFn(chunk, {
17727 source: this.source,
17728 line: this.line,
17729 column: this.column,
17730 name: this.name
17731 });
17732 }
17733 }
17734 }
17735 };
17736
17737 SourceNode$3.prototype.join = function SourceNode_join(aSep) {
17738 var newChildren;
17739 var i;
17740 var len = this.children.length;
17741
17742 if (len > 0) {
17743 newChildren = [];
17744
17745 for (i = 0; i < len - 1; i++) {
17746 newChildren.push(this.children[i]);
17747 newChildren.push(aSep);
17748 }
17749
17750 newChildren.push(this.children[i]);
17751 this.children = newChildren;
17752 }
17753
17754 return this;
17755 };
17756
17757 SourceNode$3.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
17758 var lastChild = this.children[this.children.length - 1];
17759
17760 if (lastChild[isSourceNode$1]) {
17761 lastChild.replaceRight(aPattern, aReplacement);
17762 } else if (typeof lastChild === 'string') {
17763 this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
17764 } else {
17765 this.children.push(''.replace(aPattern, aReplacement));
17766 }
17767
17768 return this;
17769 };
17770
17771 SourceNode$3.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
17772 this.sourceContents[util$6.toSetString(aSourceFile)] = aSourceContent;
17773 };
17774
17775 SourceNode$3.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) {
17776 for (var i = 0, len = this.children.length; i < len; i++) {
17777 if (this.children[i][isSourceNode$1]) {
17778 this.children[i].walkSourceContents(aFn);
17779 }
17780 }
17781
17782 var sources = Object.keys(this.sourceContents);
17783
17784 for (var i = 0, len = sources.length; i < len; i++) {
17785 aFn(util$6.fromSetString(sources[i]), this.sourceContents[sources[i]]);
17786 }
17787 };
17788
17789 SourceNode$3.prototype.toString = function SourceNode_toString() {
17790 var str = "";
17791 this.walk(function (chunk) {
17792 str += chunk;
17793 });
17794 return str;
17795 };
17796
17797 SourceNode$3.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
17798 var generated = {
17799 code: "",
17800 line: 1,
17801 column: 0
17802 };
17803 var map = new SourceMapGenerator$4(aArgs);
17804 var sourceMappingActive = false;
17805 var lastOriginalSource = null;
17806 var lastOriginalLine = null;
17807 var lastOriginalColumn = null;
17808 var lastOriginalName = null;
17809 this.walk(function (chunk, original) {
17810 generated.code += chunk;
17811
17812 if (original.source !== null && original.line !== null && original.column !== null) {
17813 if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) {
17814 map.addMapping({
17815 source: original.source,
17816 original: {
17817 line: original.line,
17818 column: original.column
17819 },
17820 generated: {
17821 line: generated.line,
17822 column: generated.column
17823 },
17824 name: original.name
17825 });
17826 }
17827
17828 lastOriginalSource = original.source;
17829 lastOriginalLine = original.line;
17830 lastOriginalColumn = original.column;
17831 lastOriginalName = original.name;
17832 sourceMappingActive = true;
17833 } else if (sourceMappingActive) {
17834 map.addMapping({
17835 generated: {
17836 line: generated.line,
17837 column: generated.column
17838 }
17839 });
17840 lastOriginalSource = null;
17841 sourceMappingActive = false;
17842 }
17843
17844 for (var idx = 0, length = chunk.length; idx < length; idx++) {
17845 if (chunk.charCodeAt(idx) === NEWLINE_CODE$1) {
17846 generated.line++;
17847 generated.column = 0;
17848
17849 if (idx + 1 === length) {
17850 lastOriginalSource = null;
17851 sourceMappingActive = false;
17852 } else if (sourceMappingActive) {
17853 map.addMapping({
17854 source: original.source,
17855 original: {
17856 line: original.line,
17857 column: original.column
17858 },
17859 generated: {
17860 line: generated.line,
17861 column: generated.column
17862 },
17863 name: original.name
17864 });
17865 }
17866 } else {
17867 generated.column++;
17868 }
17869 }
17870 });
17871 this.walkSourceContents(function (sourceFile, sourceContent) {
17872 map.setSourceContent(sourceFile, sourceContent);
17873 });
17874 return {
17875 code: generated.code,
17876 map: map
17877 };
17878 };
17879
17880 var SourceNode_1$1 = SourceNode$3;
17881 var sourceNode$1 = {
17882 SourceNode: SourceNode_1$1
17883 };
17884
17885 var SourceMapGenerator$3 = sourceMapGenerator$1.SourceMapGenerator;
17886 var SourceMapConsumer$2 = sourceMapConsumer$1.SourceMapConsumer;
17887 var SourceNode$2 = sourceNode$1.SourceNode;
17888 var sourceMap$1 = {
17889 SourceMapGenerator: SourceMapGenerator$3,
17890 SourceMapConsumer: SourceMapConsumer$2,
17891 SourceNode: SourceNode$2
17892 };
17893
17894 var SourceMap = function () {
17895 function SourceMap(opts, code) {
17896 this._cachedMap = void 0;
17897 this._code = void 0;
17898 this._opts = void 0;
17899 this._rawMappings = void 0;
17900 this._lastGenLine = void 0;
17901 this._lastSourceLine = void 0;
17902 this._lastSourceColumn = void 0;
17903 this._cachedMap = null;
17904 this._code = code;
17905 this._opts = opts;
17906 this._rawMappings = [];
17907 }
17908
17909 var _proto = SourceMap.prototype;
17910
17911 _proto.get = function get() {
17912 if (!this._cachedMap) {
17913 var map = this._cachedMap = new sourceMap$1.SourceMapGenerator({
17914 sourceRoot: this._opts.sourceRoot
17915 });
17916 var code = this._code;
17917
17918 if (typeof code === "string") {
17919 map.setSourceContent(this._opts.sourceFileName.replace(/\\/g, "/"), code);
17920 } else if (typeof code === "object") {
17921 Object.keys(code).forEach(function (sourceFileName) {
17922 map.setSourceContent(sourceFileName.replace(/\\/g, "/"), code[sourceFileName]);
17923 });
17924 }
17925
17926 this._rawMappings.forEach(function (mapping) {
17927 return map.addMapping(mapping);
17928 }, map);
17929 }
17930
17931 return this._cachedMap.toJSON();
17932 };
17933
17934 _proto.getRawMappings = function getRawMappings() {
17935 return this._rawMappings.slice();
17936 };
17937
17938 _proto.mark = function mark(generatedLine, generatedColumn, line, column, identifierName, filename, force) {
17939 if (this._lastGenLine !== generatedLine && line === null) return;
17940
17941 if (!force && this._lastGenLine === generatedLine && this._lastSourceLine === line && this._lastSourceColumn === column) {
17942 return;
17943 }
17944
17945 this._cachedMap = null;
17946 this._lastGenLine = generatedLine;
17947 this._lastSourceLine = line;
17948 this._lastSourceColumn = column;
17949
17950 this._rawMappings.push({
17951 name: identifierName || undefined,
17952 generated: {
17953 line: generatedLine,
17954 column: generatedColumn
17955 },
17956 source: line == null ? undefined : (filename || this._opts.sourceFileName).replace(/\\/g, "/"),
17957 original: line == null ? undefined : {
17958 line: line,
17959 column: column
17960 }
17961 });
17962 };
17963
17964 return SourceMap;
17965 }();
17966
17967 var SPACES_RE = /^[ \t]+$/;
17968
17969 var Buffer = function () {
17970 function Buffer(map) {
17971 this._map = null;
17972 this._buf = [];
17973 this._last = "";
17974 this._queue = [];
17975 this._position = {
17976 line: 1,
17977 column: 0
17978 };
17979 this._sourcePosition = {
17980 identifierName: null,
17981 line: null,
17982 column: null,
17983 filename: null
17984 };
17985 this._disallowedPop = null;
17986 this._map = map;
17987 }
17988
17989 var _proto = Buffer.prototype;
17990
17991 _proto.get = function get() {
17992 this._flush();
17993
17994 var map = this._map;
17995 var result = {
17996 code: this._buf.join("").trimRight(),
17997 map: null,
17998 rawMappings: map == null ? void 0 : map.getRawMappings()
17999 };
18000
18001 if (map) {
18002 Object.defineProperty(result, "map", {
18003 configurable: true,
18004 enumerable: true,
18005 get: function get() {
18006 return this.map = map.get();
18007 },
18008 set: function set(value) {
18009 Object.defineProperty(this, "map", {
18010 value: value,
18011 writable: true
18012 });
18013 }
18014 });
18015 }
18016
18017 return result;
18018 };
18019
18020 _proto.append = function append(str) {
18021 this._flush();
18022
18023 var _this$_sourcePosition = this._sourcePosition,
18024 line = _this$_sourcePosition.line,
18025 column = _this$_sourcePosition.column,
18026 filename = _this$_sourcePosition.filename,
18027 identifierName = _this$_sourcePosition.identifierName,
18028 force = _this$_sourcePosition.force;
18029
18030 this._append(str, line, column, identifierName, filename, force);
18031 };
18032
18033 _proto.queue = function queue(str) {
18034 if (str === "\n") {
18035 while (this._queue.length > 0 && SPACES_RE.test(this._queue[0][0])) {
18036 this._queue.shift();
18037 }
18038 }
18039
18040 var _this$_sourcePosition2 = this._sourcePosition,
18041 line = _this$_sourcePosition2.line,
18042 column = _this$_sourcePosition2.column,
18043 filename = _this$_sourcePosition2.filename,
18044 identifierName = _this$_sourcePosition2.identifierName,
18045 force = _this$_sourcePosition2.force;
18046
18047 this._queue.unshift([str, line, column, identifierName, filename, force]);
18048 };
18049
18050 _proto._flush = function _flush() {
18051 var item;
18052
18053 while (item = this._queue.pop()) {
18054 this._append.apply(this, _toConsumableArray(item));
18055 }
18056 };
18057
18058 _proto._append = function _append(str, line, column, identifierName, filename, force) {
18059 this._buf.push(str);
18060
18061 this._last = str[str.length - 1];
18062 var i = str.indexOf("\n");
18063 var last = 0;
18064
18065 if (i !== 0) {
18066 this._mark(line, column, identifierName, filename, force);
18067 }
18068
18069 while (i !== -1) {
18070 this._position.line++;
18071 this._position.column = 0;
18072 last = i + 1;
18073
18074 if (last < str.length) {
18075 this._mark(++line, 0, identifierName, filename, force);
18076 }
18077
18078 i = str.indexOf("\n", last);
18079 }
18080
18081 this._position.column += str.length - last;
18082 };
18083
18084 _proto._mark = function _mark(line, column, identifierName, filename, force) {
18085 var _this$_map;
18086
18087 (_this$_map = this._map) == null ? void 0 : _this$_map.mark(this._position.line, this._position.column, line, column, identifierName, filename, force);
18088 };
18089
18090 _proto.removeTrailingNewline = function removeTrailingNewline() {
18091 if (this._queue.length > 0 && this._queue[0][0] === "\n") {
18092 this._queue.shift();
18093 }
18094 };
18095
18096 _proto.removeLastSemicolon = function removeLastSemicolon() {
18097 if (this._queue.length > 0 && this._queue[0][0] === ";") {
18098 this._queue.shift();
18099 }
18100 };
18101
18102 _proto.endsWith = function endsWith(suffix) {
18103 if (suffix.length === 1) {
18104 var last;
18105
18106 if (this._queue.length > 0) {
18107 var _str = this._queue[0][0];
18108 last = _str[_str.length - 1];
18109 } else {
18110 last = this._last;
18111 }
18112
18113 return last === suffix;
18114 }
18115
18116 var end = this._last + this._queue.reduce(function (acc, item) {
18117 return item[0] + acc;
18118 }, "");
18119
18120 if (suffix.length <= end.length) {
18121 return end.slice(-suffix.length) === suffix;
18122 }
18123
18124 return false;
18125 };
18126
18127 _proto.hasContent = function hasContent() {
18128 return this._queue.length > 0 || !!this._last;
18129 };
18130
18131 _proto.exactSource = function exactSource(loc, cb) {
18132 this.source("start", loc, true);
18133 cb();
18134 this.source("end", loc);
18135
18136 this._disallowPop("start", loc);
18137 };
18138
18139 _proto.source = function source(prop, loc, force) {
18140 if (prop && !loc) return;
18141
18142 this._normalizePosition(prop, loc, this._sourcePosition, force);
18143 };
18144
18145 _proto.withSource = function withSource(prop, loc, cb) {
18146 if (!this._map) return cb();
18147 var originalLine = this._sourcePosition.line;
18148 var originalColumn = this._sourcePosition.column;
18149 var originalFilename = this._sourcePosition.filename;
18150 var originalIdentifierName = this._sourcePosition.identifierName;
18151 this.source(prop, loc);
18152 cb();
18153
18154 if ((!this._sourcePosition.force || this._sourcePosition.line !== originalLine || this._sourcePosition.column !== originalColumn || this._sourcePosition.filename !== originalFilename) && (!this._disallowedPop || this._disallowedPop.line !== originalLine || this._disallowedPop.column !== originalColumn || this._disallowedPop.filename !== originalFilename)) {
18155 this._sourcePosition.line = originalLine;
18156 this._sourcePosition.column = originalColumn;
18157 this._sourcePosition.filename = originalFilename;
18158 this._sourcePosition.identifierName = originalIdentifierName;
18159 this._sourcePosition.force = false;
18160 this._disallowedPop = null;
18161 }
18162 };
18163
18164 _proto._disallowPop = function _disallowPop(prop, loc) {
18165 if (prop && !loc) return;
18166 this._disallowedPop = this._normalizePosition(prop, loc);
18167 };
18168
18169 _proto._normalizePosition = function _normalizePosition(prop, loc, targetObj, force) {
18170 var pos = loc ? loc[prop] : null;
18171
18172 if (targetObj === undefined) {
18173 targetObj = {
18174 identifierName: null,
18175 line: null,
18176 column: null,
18177 filename: null,
18178 force: false
18179 };
18180 }
18181
18182 var origLine = targetObj.line;
18183 var origColumn = targetObj.column;
18184 var origFilename = targetObj.filename;
18185 targetObj.identifierName = prop === "start" && (loc == null ? void 0 : loc.identifierName) || null;
18186 targetObj.line = pos == null ? void 0 : pos.line;
18187 targetObj.column = pos == null ? void 0 : pos.column;
18188 targetObj.filename = loc == null ? void 0 : loc.filename;
18189
18190 if (force || targetObj.line !== origLine || targetObj.column !== origColumn || targetObj.filename !== origFilename) {
18191 targetObj.force = force;
18192 }
18193
18194 return targetObj;
18195 };
18196
18197 _proto.getCurrentColumn = function getCurrentColumn() {
18198 var extra = this._queue.reduce(function (acc, item) {
18199 return item[0] + acc;
18200 }, "");
18201
18202 var lastIndex = extra.lastIndexOf("\n");
18203 return lastIndex === -1 ? this._position.column + extra.length : extra.length - 1 - lastIndex;
18204 };
18205
18206 _proto.getCurrentLine = function getCurrentLine() {
18207 var extra = this._queue.reduce(function (acc, item) {
18208 return item[0] + acc;
18209 }, "");
18210
18211 var count = 0;
18212
18213 for (var i = 0; i < extra.length; i++) {
18214 if (extra[i] === "\n") count++;
18215 }
18216
18217 return this._position.line + count;
18218 };
18219
18220 return Buffer;
18221 }();
18222
18223 function crawl(node, state) {
18224 if (state === void 0) {
18225 state = {};
18226 }
18227
18228 if (isMemberExpression(node) || isOptionalMemberExpression(node)) {
18229 crawl(node.object, state);
18230 if (node.computed) crawl(node.property, state);
18231 } else if (isBinary(node) || isAssignmentExpression(node)) {
18232 crawl(node.left, state);
18233 crawl(node.right, state);
18234 } else if (isCallExpression(node) || isOptionalCallExpression(node)) {
18235 state.hasCall = true;
18236 crawl(node.callee, state);
18237 } else if (isFunction$1(node)) {
18238 state.hasFunction = true;
18239 } else if (isIdentifier(node)) {
18240 state.hasHelper = state.hasHelper || isHelper(node.callee);
18241 }
18242
18243 return state;
18244 }
18245
18246 function isHelper(node) {
18247 if (isMemberExpression(node)) {
18248 return isHelper(node.object) || isHelper(node.property);
18249 } else if (isIdentifier(node)) {
18250 return node.name === "require" || node.name[0] === "_";
18251 } else if (isCallExpression(node)) {
18252 return isHelper(node.callee);
18253 } else if (isBinary(node) || isAssignmentExpression(node)) {
18254 return isIdentifier(node.left) && isHelper(node.left) || isHelper(node.right);
18255 } else {
18256 return false;
18257 }
18258 }
18259
18260 function isType(node) {
18261 return isLiteral(node) || isObjectExpression(node) || isArrayExpression(node) || isIdentifier(node) || isMemberExpression(node);
18262 }
18263
18264 var nodes = {
18265 AssignmentExpression: function (_AssignmentExpression) {
18266 function AssignmentExpression(_x) {
18267 return _AssignmentExpression.apply(this, arguments);
18268 }
18269
18270 AssignmentExpression.toString = function () {
18271 return _AssignmentExpression.toString();
18272 };
18273
18274 return AssignmentExpression;
18275 }(function (node) {
18276 var state = crawl(node.right);
18277
18278 if (state.hasCall && state.hasHelper || state.hasFunction) {
18279 return {
18280 before: state.hasFunction,
18281 after: true
18282 };
18283 }
18284 }),
18285 SwitchCase: function (_SwitchCase) {
18286 function SwitchCase(_x2, _x3) {
18287 return _SwitchCase.apply(this, arguments);
18288 }
18289
18290 SwitchCase.toString = function () {
18291 return _SwitchCase.toString();
18292 };
18293
18294 return SwitchCase;
18295 }(function (node, parent) {
18296 return {
18297 before: !!node.consequent.length || parent.cases[0] === node,
18298 after: !node.consequent.length && parent.cases[parent.cases.length - 1] === node
18299 };
18300 }),
18301 LogicalExpression: function (_LogicalExpression) {
18302 function LogicalExpression(_x4) {
18303 return _LogicalExpression.apply(this, arguments);
18304 }
18305
18306 LogicalExpression.toString = function () {
18307 return _LogicalExpression.toString();
18308 };
18309
18310 return LogicalExpression;
18311 }(function (node) {
18312 if (isFunction$1(node.left) || isFunction$1(node.right)) {
18313 return {
18314 after: true
18315 };
18316 }
18317 }),
18318 Literal: function (_Literal) {
18319 function Literal(_x5) {
18320 return _Literal.apply(this, arguments);
18321 }
18322
18323 Literal.toString = function () {
18324 return _Literal.toString();
18325 };
18326
18327 return Literal;
18328 }(function (node) {
18329 if (isStringLiteral(node) && node.value === "use strict") {
18330 return {
18331 after: true
18332 };
18333 }
18334 }),
18335 CallExpression: function (_CallExpression) {
18336 function CallExpression(_x6) {
18337 return _CallExpression.apply(this, arguments);
18338 }
18339
18340 CallExpression.toString = function () {
18341 return _CallExpression.toString();
18342 };
18343
18344 return CallExpression;
18345 }(function (node) {
18346 if (isFunction$1(node.callee) || isHelper(node)) {
18347 return {
18348 before: true,
18349 after: true
18350 };
18351 }
18352 }),
18353 OptionalCallExpression: function (_OptionalCallExpression) {
18354 function OptionalCallExpression(_x7) {
18355 return _OptionalCallExpression.apply(this, arguments);
18356 }
18357
18358 OptionalCallExpression.toString = function () {
18359 return _OptionalCallExpression.toString();
18360 };
18361
18362 return OptionalCallExpression;
18363 }(function (node) {
18364 if (isFunction$1(node.callee)) {
18365 return {
18366 before: true,
18367 after: true
18368 };
18369 }
18370 }),
18371 VariableDeclaration: function (_VariableDeclaration) {
18372 function VariableDeclaration(_x8) {
18373 return _VariableDeclaration.apply(this, arguments);
18374 }
18375
18376 VariableDeclaration.toString = function () {
18377 return _VariableDeclaration.toString();
18378 };
18379
18380 return VariableDeclaration;
18381 }(function (node) {
18382 for (var i = 0; i < node.declarations.length; i++) {
18383 var declar = node.declarations[i];
18384 var enabled = isHelper(declar.id) && !isType(declar.init);
18385
18386 if (!enabled) {
18387 var state = crawl(declar.init);
18388 enabled = isHelper(declar.init) && state.hasCall || state.hasFunction;
18389 }
18390
18391 if (enabled) {
18392 return {
18393 before: true,
18394 after: true
18395 };
18396 }
18397 }
18398 }),
18399 IfStatement: function (_IfStatement) {
18400 function IfStatement(_x9) {
18401 return _IfStatement.apply(this, arguments);
18402 }
18403
18404 IfStatement.toString = function () {
18405 return _IfStatement.toString();
18406 };
18407
18408 return IfStatement;
18409 }(function (node) {
18410 if (isBlockStatement(node.consequent)) {
18411 return {
18412 before: true,
18413 after: true
18414 };
18415 }
18416 })
18417 };
18418
18419 nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) {
18420 if (parent.properties[0] === node) {
18421 return {
18422 before: true
18423 };
18424 }
18425 };
18426
18427 nodes.ObjectTypeCallProperty = function (node, parent) {
18428 var _parent$properties;
18429
18430 if (parent.callProperties[0] === node && !((_parent$properties = parent.properties) != null && _parent$properties.length)) {
18431 return {
18432 before: true
18433 };
18434 }
18435 };
18436
18437 nodes.ObjectTypeIndexer = function (node, parent) {
18438 var _parent$properties2, _parent$callPropertie;
18439
18440 if (parent.indexers[0] === node && !((_parent$properties2 = parent.properties) != null && _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) != null && _parent$callPropertie.length)) {
18441 return {
18442 before: true
18443 };
18444 }
18445 };
18446
18447 nodes.ObjectTypeInternalSlot = function (node, parent) {
18448 var _parent$properties3, _parent$callPropertie2, _parent$indexers;
18449
18450 if (parent.internalSlots[0] === node && !((_parent$properties3 = parent.properties) != null && _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) != null && _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) != null && _parent$indexers.length)) {
18451 return {
18452 before: true
18453 };
18454 }
18455 };
18456
18457 var list$1 = {
18458 VariableDeclaration: function (_VariableDeclaration2) {
18459 function VariableDeclaration(_x10) {
18460 return _VariableDeclaration2.apply(this, arguments);
18461 }
18462
18463 VariableDeclaration.toString = function () {
18464 return _VariableDeclaration2.toString();
18465 };
18466
18467 return VariableDeclaration;
18468 }(function (node) {
18469 return node.declarations.map(function (decl) {
18470 return decl.init;
18471 });
18472 }),
18473 ArrayExpression: function (_ArrayExpression) {
18474 function ArrayExpression(_x11) {
18475 return _ArrayExpression.apply(this, arguments);
18476 }
18477
18478 ArrayExpression.toString = function () {
18479 return _ArrayExpression.toString();
18480 };
18481
18482 return ArrayExpression;
18483 }(function (node) {
18484 return node.elements;
18485 }),
18486 ObjectExpression: function (_ObjectExpression) {
18487 function ObjectExpression(_x12) {
18488 return _ObjectExpression.apply(this, arguments);
18489 }
18490
18491 ObjectExpression.toString = function () {
18492 return _ObjectExpression.toString();
18493 };
18494
18495 return ObjectExpression;
18496 }(function (node) {
18497 return node.properties;
18498 })
18499 };
18500 [["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function (_ref) {
18501 var _ref2 = _slicedToArray$2(_ref, 2),
18502 type = _ref2[0],
18503 amounts = _ref2[1];
18504
18505 if (typeof amounts === "boolean") {
18506 amounts = {
18507 after: amounts,
18508 before: amounts
18509 };
18510 }
18511
18512 [type].concat(FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) {
18513 nodes[type] = function () {
18514 return amounts;
18515 };
18516 });
18517 });
18518
18519 var PRECEDENCE = {
18520 "||": 0,
18521 "??": 0,
18522 "&&": 1,
18523 "|": 2,
18524 "^": 3,
18525 "&": 4,
18526 "==": 5,
18527 "===": 5,
18528 "!=": 5,
18529 "!==": 5,
18530 "<": 6,
18531 ">": 6,
18532 "<=": 6,
18533 ">=": 6,
18534 "in": 6,
18535 "instanceof": 6,
18536 ">>": 7,
18537 "<<": 7,
18538 ">>>": 7,
18539 "+": 8,
18540 "-": 8,
18541 "*": 9,
18542 "/": 9,
18543 "%": 9,
18544 "**": 10
18545 };
18546
18547 var isClassExtendsClause = function isClassExtendsClause(node, parent) {
18548 return (isClassDeclaration(parent) || isClassExpression(parent)) && parent.superClass === node;
18549 };
18550
18551 var hasPostfixPart = function hasPostfixPart(node, parent) {
18552 return (isMemberExpression(parent) || isOptionalMemberExpression(parent)) && parent.object === node || (isCallExpression(parent) || isOptionalCallExpression(parent) || isNewExpression(parent)) && parent.callee === node || isTaggedTemplateExpression(parent) && parent.tag === node || isTSNonNullExpression(parent);
18553 };
18554
18555 function NullableTypeAnnotation$1(node, parent) {
18556 return isArrayTypeAnnotation(parent);
18557 }
18558 function FunctionTypeAnnotation$1(node, parent, printStack) {
18559 return isUnionTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isArrayTypeAnnotation(parent) || isTypeAnnotation(parent) && isArrowFunctionExpression(printStack[printStack.length - 3]);
18560 }
18561 function UpdateExpression$2(node, parent) {
18562 return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent);
18563 }
18564 function ObjectExpression$2(node, parent, printStack) {
18565 return isFirstInContext(printStack, {
18566 expressionStatement: true,
18567 arrowBody: true
18568 });
18569 }
18570 function DoExpression$1(node, parent, printStack) {
18571 return !node.async && isFirstInContext(printStack, {
18572 expressionStatement: true
18573 });
18574 }
18575 function Binary(node, parent) {
18576 if (node.operator === "**" && isBinaryExpression(parent, {
18577 operator: "**"
18578 })) {
18579 return parent.left === node;
18580 }
18581
18582 if (isClassExtendsClause(node, parent)) {
18583 return true;
18584 }
18585
18586 if (hasPostfixPart(node, parent) || isUnaryLike(parent) || isAwaitExpression(parent)) {
18587 return true;
18588 }
18589
18590 if (isBinary(parent)) {
18591 var parentOp = parent.operator;
18592 var parentPos = PRECEDENCE[parentOp];
18593 var nodeOp = node.operator;
18594 var nodePos = PRECEDENCE[nodeOp];
18595
18596 if (parentPos === nodePos && parent.right === node && !isLogicalExpression(parent) || parentPos > nodePos) {
18597 return true;
18598 }
18599 }
18600 }
18601 function UnionTypeAnnotation$1(node, parent) {
18602 return isArrayTypeAnnotation(parent) || isNullableTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isUnionTypeAnnotation(parent);
18603 }
18604 function OptionalIndexedAccessType$1(node, parent) {
18605 return isIndexedAccessType(parent, {
18606 objectType: node
18607 });
18608 }
18609 function TSAsExpression$1() {
18610 return true;
18611 }
18612 function TSTypeAssertion$1() {
18613 return true;
18614 }
18615 function TSUnionType$1(node, parent) {
18616 return isTSArrayType(parent) || isTSOptionalType(parent) || isTSIntersectionType(parent) || isTSUnionType(parent) || isTSRestType(parent);
18617 }
18618 function TSInferType$1(node, parent) {
18619 return isTSArrayType(parent) || isTSOptionalType(parent);
18620 }
18621 function BinaryExpression$1(node, parent) {
18622 return node.operator === "in" && (isVariableDeclarator(parent) || isFor(parent));
18623 }
18624 function SequenceExpression$2(node, parent) {
18625 if (isForStatement(parent) || isThrowStatement(parent) || isReturnStatement(parent) || isIfStatement(parent) && parent.test === node || isWhileStatement(parent) && parent.test === node || isForInStatement(parent) && parent.right === node || isSwitchStatement(parent) && parent.discriminant === node || isExpressionStatement(parent) && parent.expression === node) {
18626 return false;
18627 }
18628
18629 return true;
18630 }
18631 function YieldExpression$1(node, parent) {
18632 return isBinary(parent) || isUnaryLike(parent) || hasPostfixPart(node, parent) || isAwaitExpression(parent) && isYieldExpression(node) || isConditionalExpression(parent) && node === parent.test || isClassExtendsClause(node, parent);
18633 }
18634 function ClassExpression(node, parent, printStack) {
18635 return isFirstInContext(printStack, {
18636 expressionStatement: true,
18637 exportDefault: true
18638 });
18639 }
18640 function UnaryLike(node, parent) {
18641 return hasPostfixPart(node, parent) || isBinaryExpression(parent, {
18642 operator: "**",
18643 left: node
18644 }) || isClassExtendsClause(node, parent);
18645 }
18646 function FunctionExpression$1(node, parent, printStack) {
18647 return isFirstInContext(printStack, {
18648 expressionStatement: true,
18649 exportDefault: true
18650 });
18651 }
18652 function ArrowFunctionExpression$1(node, parent) {
18653 return isExportDeclaration(parent) || ConditionalExpression$2(node, parent);
18654 }
18655 function ConditionalExpression$2(node, parent) {
18656 if (isUnaryLike(parent) || isBinary(parent) || isConditionalExpression(parent, {
18657 test: node
18658 }) || isAwaitExpression(parent) || isTSTypeAssertion(parent) || isTSAsExpression(parent)) {
18659 return true;
18660 }
18661
18662 return UnaryLike(node, parent);
18663 }
18664 function OptionalMemberExpression$1(node, parent) {
18665 return isCallExpression(parent, {
18666 callee: node
18667 }) || isMemberExpression(parent, {
18668 object: node
18669 });
18670 }
18671 function AssignmentExpression$2(node, parent) {
18672 if (isObjectPattern(node.left)) {
18673 return true;
18674 } else {
18675 return ConditionalExpression$2(node, parent);
18676 }
18677 }
18678 function LogicalExpression$1(node, parent) {
18679 switch (node.operator) {
18680 case "||":
18681 if (!isLogicalExpression(parent)) return false;
18682 return parent.operator === "??" || parent.operator === "&&";
18683
18684 case "&&":
18685 return isLogicalExpression(parent, {
18686 operator: "??"
18687 });
18688
18689 case "??":
18690 return isLogicalExpression(parent) && parent.operator !== "??";
18691 }
18692 }
18693 function Identifier$1(node, parent, printStack) {
18694 if (node.name === "let") {
18695 var isFollowedByBracket = isMemberExpression(parent, {
18696 object: node,
18697 computed: true
18698 }) || isOptionalMemberExpression(parent, {
18699 object: node,
18700 computed: true,
18701 optional: false
18702 });
18703 return isFirstInContext(printStack, {
18704 expressionStatement: isFollowedByBracket,
18705 forHead: isFollowedByBracket,
18706 forInHead: isFollowedByBracket,
18707 forOfHead: true
18708 });
18709 }
18710
18711 return node.name === "async" && isForOfStatement(parent) && node === parent.left;
18712 }
18713
18714 function isFirstInContext(printStack, _ref) {
18715 var _ref$expressionStatem = _ref.expressionStatement,
18716 expressionStatement = _ref$expressionStatem === void 0 ? false : _ref$expressionStatem,
18717 _ref$arrowBody = _ref.arrowBody,
18718 arrowBody = _ref$arrowBody === void 0 ? false : _ref$arrowBody,
18719 _ref$exportDefault = _ref.exportDefault,
18720 exportDefault = _ref$exportDefault === void 0 ? false : _ref$exportDefault,
18721 _ref$forHead = _ref.forHead,
18722 forHead = _ref$forHead === void 0 ? false : _ref$forHead,
18723 _ref$forInHead = _ref.forInHead,
18724 forInHead = _ref$forInHead === void 0 ? false : _ref$forInHead,
18725 _ref$forOfHead = _ref.forOfHead,
18726 forOfHead = _ref$forOfHead === void 0 ? false : _ref$forOfHead;
18727 var i = printStack.length - 1;
18728 var node = printStack[i];
18729 i--;
18730 var parent = printStack[i];
18731
18732 while (i >= 0) {
18733 if (expressionStatement && isExpressionStatement(parent, {
18734 expression: node
18735 }) || exportDefault && isExportDefaultDeclaration(parent, {
18736 declaration: node
18737 }) || arrowBody && isArrowFunctionExpression(parent, {
18738 body: node
18739 }) || forHead && isForStatement(parent, {
18740 init: node
18741 }) || forInHead && isForInStatement(parent, {
18742 left: node
18743 }) || forOfHead && isForOfStatement(parent, {
18744 left: node
18745 })) {
18746 return true;
18747 }
18748
18749 if (hasPostfixPart(node, parent) && !isNewExpression(parent) || isSequenceExpression(parent) && parent.expressions[0] === node || isConditional(parent, {
18750 test: node
18751 }) || isBinary(parent, {
18752 left: node
18753 }) || isAssignmentExpression(parent, {
18754 left: node
18755 })) {
18756 node = parent;
18757 i--;
18758 parent = printStack[i];
18759 } else {
18760 return false;
18761 }
18762 }
18763
18764 return false;
18765 }
18766
18767 var parens = /*#__PURE__*/Object.freeze({
18768 __proto__: null,
18769 NullableTypeAnnotation: NullableTypeAnnotation$1,
18770 FunctionTypeAnnotation: FunctionTypeAnnotation$1,
18771 UpdateExpression: UpdateExpression$2,
18772 ObjectExpression: ObjectExpression$2,
18773 DoExpression: DoExpression$1,
18774 Binary: Binary,
18775 UnionTypeAnnotation: UnionTypeAnnotation$1,
18776 IntersectionTypeAnnotation: UnionTypeAnnotation$1,
18777 OptionalIndexedAccessType: OptionalIndexedAccessType$1,
18778 TSAsExpression: TSAsExpression$1,
18779 TSTypeAssertion: TSTypeAssertion$1,
18780 TSUnionType: TSUnionType$1,
18781 TSIntersectionType: TSUnionType$1,
18782 TSInferType: TSInferType$1,
18783 BinaryExpression: BinaryExpression$1,
18784 SequenceExpression: SequenceExpression$2,
18785 YieldExpression: YieldExpression$1,
18786 AwaitExpression: YieldExpression$1,
18787 ClassExpression: ClassExpression,
18788 UnaryLike: UnaryLike,
18789 FunctionExpression: FunctionExpression$1,
18790 ArrowFunctionExpression: ArrowFunctionExpression$1,
18791 ConditionalExpression: ConditionalExpression$2,
18792 OptionalMemberExpression: OptionalMemberExpression$1,
18793 OptionalCallExpression: OptionalMemberExpression$1,
18794 AssignmentExpression: AssignmentExpression$2,
18795 LogicalExpression: LogicalExpression$1,
18796 Identifier: Identifier$1
18797 });
18798
18799 function expandAliases(obj) {
18800 var newObj = {};
18801
18802 function add(type, func) {
18803 var fn = newObj[type];
18804 newObj[type] = fn ? function (node, parent, stack) {
18805 var result = fn(node, parent, stack);
18806 return result == null ? func(node, parent, stack) : result;
18807 } : func;
18808 }
18809
18810 for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) {
18811 var type = _Object$keys[_i];
18812 var aliases = FLIPPED_ALIAS_KEYS[type];
18813
18814 if (aliases) {
18815 for (var _iterator = _createForOfIteratorHelperLoose(aliases), _step; !(_step = _iterator()).done;) {
18816 var alias = _step.value;
18817 add(alias, obj[type]);
18818 }
18819 } else {
18820 add(type, obj[type]);
18821 }
18822 }
18823
18824 return newObj;
18825 }
18826
18827 var expandedParens = expandAliases(parens);
18828 var expandedWhitespaceNodes = expandAliases(nodes);
18829 var expandedWhitespaceList = expandAliases(list$1);
18830
18831 function find$2(obj, node, parent, printStack) {
18832 var fn = obj[node.type];
18833 return fn ? fn(node, parent, printStack) : null;
18834 }
18835
18836 function isOrHasCallExpression(node) {
18837 if (isCallExpression(node)) {
18838 return true;
18839 }
18840
18841 return isMemberExpression(node) && isOrHasCallExpression(node.object);
18842 }
18843
18844 function needsWhitespace(node, parent, type) {
18845 if (!node) return 0;
18846
18847 if (isExpressionStatement(node)) {
18848 node = node.expression;
18849 }
18850
18851 var linesInfo = find$2(expandedWhitespaceNodes, node, parent);
18852
18853 if (!linesInfo) {
18854 var items = find$2(expandedWhitespaceList, node, parent);
18855
18856 if (items) {
18857 for (var i = 0; i < items.length; i++) {
18858 linesInfo = needsWhitespace(items[i], node, type);
18859 if (linesInfo) break;
18860 }
18861 }
18862 }
18863
18864 if (typeof linesInfo === "object" && linesInfo !== null) {
18865 return linesInfo[type] || 0;
18866 }
18867
18868 return 0;
18869 }
18870 function needsWhitespaceBefore(node, parent) {
18871 return needsWhitespace(node, parent, "before");
18872 }
18873 function needsWhitespaceAfter(node, parent) {
18874 return needsWhitespace(node, parent, "after");
18875 }
18876 function needsParens(node, parent, printStack) {
18877 if (!parent) return false;
18878
18879 if (isNewExpression(parent) && parent.callee === node) {
18880 if (isOrHasCallExpression(node)) return true;
18881 }
18882
18883 return find$2(expandedParens, node, parent, printStack);
18884 }
18885
18886 function TaggedTemplateExpression$1(node) {
18887 this.print(node.tag, node);
18888 this.print(node.typeParameters, node);
18889 this.print(node.quasi, node);
18890 }
18891 function TemplateElement(node, parent) {
18892 var isFirst = parent.quasis[0] === node;
18893 var isLast = parent.quasis[parent.quasis.length - 1] === node;
18894 var value = (isFirst ? "`" : "}") + node.value.raw + (isLast ? "`" : "${");
18895 this.token(value);
18896 }
18897 function TemplateLiteral$1(node) {
18898 var quasis = node.quasis;
18899
18900 for (var i = 0; i < quasis.length; i++) {
18901 this.print(quasis[i], node);
18902
18903 if (i + 1 < quasis.length) {
18904 this.print(node.expressions[i], node);
18905 }
18906 }
18907 }
18908
18909 function UnaryExpression$1(node) {
18910 if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof" || node.operator === "throw") {
18911 this.word(node.operator);
18912 this.space();
18913 } else {
18914 this.token(node.operator);
18915 }
18916
18917 this.print(node.argument, node);
18918 }
18919 function DoExpression(node) {
18920 if (node.async) {
18921 this.word("async");
18922 this.space();
18923 }
18924
18925 this.word("do");
18926 this.space();
18927 this.print(node.body, node);
18928 }
18929 function ParenthesizedExpression$1(node) {
18930 this.token("(");
18931 this.print(node.expression, node);
18932 this.token(")");
18933 }
18934 function UpdateExpression$1(node) {
18935 if (node.prefix) {
18936 this.token(node.operator);
18937 this.print(node.argument, node);
18938 } else {
18939 this.startTerminatorless(true);
18940 this.print(node.argument, node);
18941 this.endTerminatorless();
18942 this.token(node.operator);
18943 }
18944 }
18945 function ConditionalExpression$1(node) {
18946 this.print(node.test, node);
18947 this.space();
18948 this.token("?");
18949 this.space();
18950 this.print(node.consequent, node);
18951 this.space();
18952 this.token(":");
18953 this.space();
18954 this.print(node.alternate, node);
18955 }
18956 function NewExpression$1(node, parent) {
18957 this.word("new");
18958 this.space();
18959 this.print(node.callee, node);
18960
18961 if (this.format.minified && node.arguments.length === 0 && !node.optional && !isCallExpression(parent, {
18962 callee: node
18963 }) && !isMemberExpression(parent) && !isNewExpression(parent)) {
18964 return;
18965 }
18966
18967 this.print(node.typeArguments, node);
18968 this.print(node.typeParameters, node);
18969
18970 if (node.optional) {
18971 this.token("?.");
18972 }
18973
18974 this.token("(");
18975 this.printList(node.arguments, node);
18976 this.token(")");
18977 }
18978 function SequenceExpression$1(node) {
18979 this.printList(node.expressions, node);
18980 }
18981 function ThisExpression() {
18982 this.word("this");
18983 }
18984 function Super() {
18985 this.word("super");
18986 }
18987 function Decorator(node) {
18988 this.token("@");
18989 this.print(node.expression, node);
18990 this.newline();
18991 }
18992 function OptionalMemberExpression(node) {
18993 this.print(node.object, node);
18994
18995 if (!node.computed && isMemberExpression(node.property)) {
18996 throw new TypeError("Got a MemberExpression for MemberExpression property");
18997 }
18998
18999 var computed = node.computed;
19000
19001 if (isLiteral(node.property) && typeof node.property.value === "number") {
19002 computed = true;
19003 }
19004
19005 if (node.optional) {
19006 this.token("?.");
19007 }
19008
19009 if (computed) {
19010 this.token("[");
19011 this.print(node.property, node);
19012 this.token("]");
19013 } else {
19014 if (!node.optional) {
19015 this.token(".");
19016 }
19017
19018 this.print(node.property, node);
19019 }
19020 }
19021 function OptionalCallExpression(node) {
19022 this.print(node.callee, node);
19023 this.print(node.typeArguments, node);
19024 this.print(node.typeParameters, node);
19025
19026 if (node.optional) {
19027 this.token("?.");
19028 }
19029
19030 this.token("(");
19031 this.printList(node.arguments, node);
19032 this.token(")");
19033 }
19034 function CallExpression$1(node) {
19035 this.print(node.callee, node);
19036 this.print(node.typeArguments, node);
19037 this.print(node.typeParameters, node);
19038 this.token("(");
19039 this.printList(node.arguments, node);
19040 this.token(")");
19041 }
19042 function Import() {
19043 this.word("import");
19044 }
19045
19046 function buildYieldAwait(keyword) {
19047 return function (node) {
19048 this.word(keyword);
19049
19050 if (node.delegate) {
19051 this.token("*");
19052 }
19053
19054 if (node.argument) {
19055 this.space();
19056 var terminatorState = this.startTerminatorless();
19057 this.print(node.argument, node);
19058 this.endTerminatorless(terminatorState);
19059 }
19060 };
19061 }
19062
19063 var YieldExpression = buildYieldAwait("yield");
19064 var AwaitExpression = buildYieldAwait("await");
19065 function EmptyStatement() {
19066 this.semicolon(true);
19067 }
19068 function ExpressionStatement(node) {
19069 this.print(node.expression, node);
19070 this.semicolon();
19071 }
19072 function AssignmentPattern(node) {
19073 this.print(node.left, node);
19074 if (node.left.optional) this.token("?");
19075 this.print(node.left.typeAnnotation, node);
19076 this.space();
19077 this.token("=");
19078 this.space();
19079 this.print(node.right, node);
19080 }
19081 function AssignmentExpression$1(node, parent) {
19082 var parens = this.inForStatementInitCounter && node.operator === "in" && !needsParens(node, parent);
19083
19084 if (parens) {
19085 this.token("(");
19086 }
19087
19088 this.print(node.left, node);
19089 this.space();
19090
19091 if (node.operator === "in" || node.operator === "instanceof") {
19092 this.word(node.operator);
19093 } else {
19094 this.token(node.operator);
19095 }
19096
19097 this.space();
19098 this.print(node.right, node);
19099
19100 if (parens) {
19101 this.token(")");
19102 }
19103 }
19104 function BindExpression(node) {
19105 this.print(node.object, node);
19106 this.token("::");
19107 this.print(node.callee, node);
19108 }
19109 function MemberExpression(node) {
19110 this.print(node.object, node);
19111
19112 if (!node.computed && isMemberExpression(node.property)) {
19113 throw new TypeError("Got a MemberExpression for MemberExpression property");
19114 }
19115
19116 var computed = node.computed;
19117
19118 if (isLiteral(node.property) && typeof node.property.value === "number") {
19119 computed = true;
19120 }
19121
19122 if (computed) {
19123 this.token("[");
19124 this.print(node.property, node);
19125 this.token("]");
19126 } else {
19127 this.token(".");
19128 this.print(node.property, node);
19129 }
19130 }
19131 function MetaProperty(node) {
19132 this.print(node.meta, node);
19133 this.token(".");
19134 this.print(node.property, node);
19135 }
19136 function PrivateName(node) {
19137 this.token("#");
19138 this.print(node.id, node);
19139 }
19140 function V8IntrinsicIdentifier(node) {
19141 this.token("%");
19142 this.word(node.name);
19143 }
19144 function ModuleExpression(node) {
19145 this.word("module");
19146 this.space();
19147 this.token("{");
19148
19149 if (node.body.body.length === 0) {
19150 this.token("}");
19151 } else {
19152 this.newline();
19153 this.printSequence(node.body.body, node, {
19154 indent: true
19155 });
19156 this.rightBrace();
19157 }
19158 }
19159
19160 function WithStatement(node) {
19161 this.word("with");
19162 this.space();
19163 this.token("(");
19164 this.print(node.object, node);
19165 this.token(")");
19166 this.printBlock(node);
19167 }
19168 function IfStatement(node) {
19169 this.word("if");
19170 this.space();
19171 this.token("(");
19172 this.print(node.test, node);
19173 this.token(")");
19174 this.space();
19175 var needsBlock = node.alternate && isIfStatement(getLastStatement(node.consequent));
19176
19177 if (needsBlock) {
19178 this.token("{");
19179 this.newline();
19180 this.indent();
19181 }
19182
19183 this.printAndIndentOnComments(node.consequent, node);
19184
19185 if (needsBlock) {
19186 this.dedent();
19187 this.newline();
19188 this.token("}");
19189 }
19190
19191 if (node.alternate) {
19192 if (this.endsWith("}")) this.space();
19193 this.word("else");
19194 this.space();
19195 this.printAndIndentOnComments(node.alternate, node);
19196 }
19197 }
19198
19199 function getLastStatement(statement) {
19200 if (!isStatement(statement.body)) return statement;
19201 return getLastStatement(statement.body);
19202 }
19203
19204 function ForStatement(node) {
19205 this.word("for");
19206 this.space();
19207 this.token("(");
19208 this.inForStatementInitCounter++;
19209 this.print(node.init, node);
19210 this.inForStatementInitCounter--;
19211 this.token(";");
19212
19213 if (node.test) {
19214 this.space();
19215 this.print(node.test, node);
19216 }
19217
19218 this.token(";");
19219
19220 if (node.update) {
19221 this.space();
19222 this.print(node.update, node);
19223 }
19224
19225 this.token(")");
19226 this.printBlock(node);
19227 }
19228 function WhileStatement(node) {
19229 this.word("while");
19230 this.space();
19231 this.token("(");
19232 this.print(node.test, node);
19233 this.token(")");
19234 this.printBlock(node);
19235 }
19236
19237 var buildForXStatement = function buildForXStatement(op) {
19238 return function (node) {
19239 this.word("for");
19240 this.space();
19241
19242 if (op === "of" && node["await"]) {
19243 this.word("await");
19244 this.space();
19245 }
19246
19247 this.token("(");
19248 this.print(node.left, node);
19249 this.space();
19250 this.word(op);
19251 this.space();
19252 this.print(node.right, node);
19253 this.token(")");
19254 this.printBlock(node);
19255 };
19256 };
19257
19258 var ForInStatement = buildForXStatement("in");
19259 var ForOfStatement = buildForXStatement("of");
19260 function DoWhileStatement(node) {
19261 this.word("do");
19262 this.space();
19263 this.print(node.body, node);
19264 this.space();
19265 this.word("while");
19266 this.space();
19267 this.token("(");
19268 this.print(node.test, node);
19269 this.token(")");
19270 this.semicolon();
19271 }
19272
19273 function buildLabelStatement(prefix, key) {
19274 if (key === void 0) {
19275 key = "label";
19276 }
19277
19278 return function (node) {
19279 this.word(prefix);
19280 var label = node[key];
19281
19282 if (label) {
19283 this.space();
19284 var isLabel = key == "label";
19285 var terminatorState = this.startTerminatorless(isLabel);
19286 this.print(label, node);
19287 this.endTerminatorless(terminatorState);
19288 }
19289
19290 this.semicolon();
19291 };
19292 }
19293
19294 var ContinueStatement = buildLabelStatement("continue");
19295 var ReturnStatement = buildLabelStatement("return", "argument");
19296 var BreakStatement = buildLabelStatement("break");
19297 var ThrowStatement = buildLabelStatement("throw", "argument");
19298 function LabeledStatement(node) {
19299 this.print(node.label, node);
19300 this.token(":");
19301 this.space();
19302 this.print(node.body, node);
19303 }
19304 function TryStatement(node) {
19305 this.word("try");
19306 this.space();
19307 this.print(node.block, node);
19308 this.space();
19309
19310 if (node.handlers) {
19311 this.print(node.handlers[0], node);
19312 } else {
19313 this.print(node.handler, node);
19314 }
19315
19316 if (node.finalizer) {
19317 this.space();
19318 this.word("finally");
19319 this.space();
19320 this.print(node.finalizer, node);
19321 }
19322 }
19323 function CatchClause(node) {
19324 this.word("catch");
19325 this.space();
19326
19327 if (node.param) {
19328 this.token("(");
19329 this.print(node.param, node);
19330 this.print(node.param.typeAnnotation, node);
19331 this.token(")");
19332 this.space();
19333 }
19334
19335 this.print(node.body, node);
19336 }
19337 function SwitchStatement(node) {
19338 this.word("switch");
19339 this.space();
19340 this.token("(");
19341 this.print(node.discriminant, node);
19342 this.token(")");
19343 this.space();
19344 this.token("{");
19345 this.printSequence(node.cases, node, {
19346 indent: true,
19347 addNewlines: function addNewlines(leading, cas) {
19348 if (!leading && node.cases[node.cases.length - 1] === cas) return -1;
19349 }
19350 });
19351 this.token("}");
19352 }
19353 function SwitchCase(node) {
19354 if (node.test) {
19355 this.word("case");
19356 this.space();
19357 this.print(node.test, node);
19358 this.token(":");
19359 } else {
19360 this.word("default");
19361 this.token(":");
19362 }
19363
19364 if (node.consequent.length) {
19365 this.newline();
19366 this.printSequence(node.consequent, node, {
19367 indent: true
19368 });
19369 }
19370 }
19371 function DebuggerStatement() {
19372 this.word("debugger");
19373 this.semicolon();
19374 }
19375
19376 function variableDeclarationIndent() {
19377 this.token(",");
19378 this.newline();
19379 if (this.endsWith("\n")) for (var i = 0; i < 4; i++) {
19380 this.space(true);
19381 }
19382 }
19383
19384 function constDeclarationIndent() {
19385 this.token(",");
19386 this.newline();
19387 if (this.endsWith("\n")) for (var i = 0; i < 6; i++) {
19388 this.space(true);
19389 }
19390 }
19391
19392 function VariableDeclaration(node, parent) {
19393 if (node.declare) {
19394 this.word("declare");
19395 this.space();
19396 }
19397
19398 this.word(node.kind);
19399 this.space();
19400 var hasInits = false;
19401
19402 if (!isFor(parent)) {
19403 for (var _iterator = _createForOfIteratorHelperLoose(node.declarations), _step; !(_step = _iterator()).done;) {
19404 var declar = _step.value;
19405
19406 if (declar.init) {
19407 hasInits = true;
19408 }
19409 }
19410 }
19411
19412 var separator;
19413
19414 if (hasInits) {
19415 separator = node.kind === "const" ? constDeclarationIndent : variableDeclarationIndent;
19416 }
19417
19418 this.printList(node.declarations, node, {
19419 separator: separator
19420 });
19421
19422 if (isFor(parent)) {
19423 if (isForStatement(parent)) {
19424 if (parent.init === node) return;
19425 } else {
19426 if (parent.left === node) return;
19427 }
19428 }
19429
19430 this.semicolon();
19431 }
19432 function VariableDeclarator$1(node) {
19433 this.print(node.id, node);
19434 if (node.definite) this.token("!");
19435 this.print(node.id.typeAnnotation, node);
19436
19437 if (node.init) {
19438 this.space();
19439 this.token("=");
19440 this.space();
19441 this.print(node.init, node);
19442 }
19443 }
19444
19445 function ClassDeclaration(node, parent) {
19446 if (!this.format.decoratorsBeforeExport || !isExportDefaultDeclaration(parent) && !isExportNamedDeclaration(parent)) {
19447 this.printJoin(node.decorators, node);
19448 }
19449
19450 if (node.declare) {
19451 this.word("declare");
19452 this.space();
19453 }
19454
19455 if (node["abstract"]) {
19456 this.word("abstract");
19457 this.space();
19458 }
19459
19460 this.word("class");
19461
19462 if (node.id) {
19463 this.space();
19464 this.print(node.id, node);
19465 }
19466
19467 this.print(node.typeParameters, node);
19468
19469 if (node.superClass) {
19470 this.space();
19471 this.word("extends");
19472 this.space();
19473 this.print(node.superClass, node);
19474 this.print(node.superTypeParameters, node);
19475 }
19476
19477 if (node["implements"]) {
19478 this.space();
19479 this.word("implements");
19480 this.space();
19481 this.printList(node["implements"], node);
19482 }
19483
19484 this.space();
19485 this.print(node.body, node);
19486 }
19487 function ClassBody(node) {
19488 this.token("{");
19489 this.printInnerComments(node);
19490
19491 if (node.body.length === 0) {
19492 this.token("}");
19493 } else {
19494 this.newline();
19495 this.indent();
19496 this.printSequence(node.body, node);
19497 this.dedent();
19498 if (!this.endsWith("\n")) this.newline();
19499 this.rightBrace();
19500 }
19501 }
19502 function ClassProperty(node) {
19503 this.printJoin(node.decorators, node);
19504 this.source("end", node.key.loc);
19505 this.tsPrintClassMemberModifiers(node, true);
19506
19507 if (node.computed) {
19508 this.token("[");
19509 this.print(node.key, node);
19510 this.token("]");
19511 } else {
19512 this._variance(node);
19513
19514 this.print(node.key, node);
19515 }
19516
19517 if (node.optional) {
19518 this.token("?");
19519 }
19520
19521 if (node.definite) {
19522 this.token("!");
19523 }
19524
19525 this.print(node.typeAnnotation, node);
19526
19527 if (node.value) {
19528 this.space();
19529 this.token("=");
19530 this.space();
19531 this.print(node.value, node);
19532 }
19533
19534 this.semicolon();
19535 }
19536 function ClassPrivateProperty(node) {
19537 this.printJoin(node.decorators, node);
19538
19539 if (node["static"]) {
19540 this.word("static");
19541 this.space();
19542 }
19543
19544 this.print(node.key, node);
19545 this.print(node.typeAnnotation, node);
19546
19547 if (node.value) {
19548 this.space();
19549 this.token("=");
19550 this.space();
19551 this.print(node.value, node);
19552 }
19553
19554 this.semicolon();
19555 }
19556 function ClassMethod(node) {
19557 this._classMethodHead(node);
19558
19559 this.space();
19560 this.print(node.body, node);
19561 }
19562 function ClassPrivateMethod(node) {
19563 this._classMethodHead(node);
19564
19565 this.space();
19566 this.print(node.body, node);
19567 }
19568 function _classMethodHead(node) {
19569 this.printJoin(node.decorators, node);
19570 this.source("end", node.key.loc);
19571 this.tsPrintClassMemberModifiers(node, false);
19572
19573 this._methodHead(node);
19574 }
19575 function StaticBlock(node) {
19576 this.word("static");
19577 this.space();
19578 this.token("{");
19579
19580 if (node.body.length === 0) {
19581 this.token("}");
19582 } else {
19583 this.newline();
19584 this.printSequence(node.body, node, {
19585 indent: true
19586 });
19587 this.rightBrace();
19588 }
19589 }
19590
19591 function _params(node) {
19592 this.print(node.typeParameters, node);
19593 this.token("(");
19594
19595 this._parameters(node.params, node);
19596
19597 this.token(")");
19598 this.print(node.returnType, node);
19599 }
19600 function _parameters(parameters, parent) {
19601 for (var i = 0; i < parameters.length; i++) {
19602 this._param(parameters[i], parent);
19603
19604 if (i < parameters.length - 1) {
19605 this.token(",");
19606 this.space();
19607 }
19608 }
19609 }
19610 function _param(parameter, parent) {
19611 this.printJoin(parameter.decorators, parameter);
19612 this.print(parameter, parent);
19613 if (parameter.optional) this.token("?");
19614 this.print(parameter.typeAnnotation, parameter);
19615 }
19616 function _methodHead(node) {
19617 var kind = node.kind;
19618 var key = node.key;
19619
19620 if (kind === "get" || kind === "set") {
19621 this.word(kind);
19622 this.space();
19623 }
19624
19625 if (node.async) {
19626 this._catchUp("start", key.loc);
19627
19628 this.word("async");
19629 this.space();
19630 }
19631
19632 if (kind === "method" || kind === "init") {
19633 if (node.generator) {
19634 this.token("*");
19635 }
19636 }
19637
19638 if (node.computed) {
19639 this.token("[");
19640 this.print(key, node);
19641 this.token("]");
19642 } else {
19643 this.print(key, node);
19644 }
19645
19646 if (node.optional) {
19647 this.token("?");
19648 }
19649
19650 this._params(node);
19651 }
19652 function _predicate(node) {
19653 if (node.predicate) {
19654 if (!node.returnType) {
19655 this.token(":");
19656 }
19657
19658 this.space();
19659 this.print(node.predicate, node);
19660 }
19661 }
19662 function _functionHead(node) {
19663 if (node.async) {
19664 this.word("async");
19665 this.space();
19666 }
19667
19668 this.word("function");
19669 if (node.generator) this.token("*");
19670 this.space();
19671
19672 if (node.id) {
19673 this.print(node.id, node);
19674 }
19675
19676 this._params(node);
19677
19678 this._predicate(node);
19679 }
19680 function FunctionExpression(node) {
19681 this._functionHead(node);
19682
19683 this.space();
19684 this.print(node.body, node);
19685 }
19686 function ArrowFunctionExpression(node) {
19687 if (node.async) {
19688 this.word("async");
19689 this.space();
19690 }
19691
19692 var firstParam = node.params[0];
19693
19694 if (!this.format.retainLines && !this.format.auxiliaryCommentBefore && !this.format.auxiliaryCommentAfter && node.params.length === 1 && isIdentifier(firstParam) && !hasTypesOrComments(node, firstParam)) {
19695 this.print(firstParam, node);
19696 } else {
19697 this._params(node);
19698 }
19699
19700 this._predicate(node);
19701
19702 this.space();
19703 this.token("=>");
19704 this.space();
19705 this.print(node.body, node);
19706 }
19707
19708 function hasTypesOrComments(node, param) {
19709 var _param$leadingComment, _param$trailingCommen;
19710
19711 return !!(node.typeParameters || node.returnType || node.predicate || param.typeAnnotation || param.optional || (_param$leadingComment = param.leadingComments) != null && _param$leadingComment.length || (_param$trailingCommen = param.trailingComments) != null && _param$trailingCommen.length);
19712 }
19713
19714 function ImportSpecifier(node) {
19715 if (node.importKind === "type" || node.importKind === "typeof") {
19716 this.word(node.importKind);
19717 this.space();
19718 }
19719
19720 this.print(node.imported, node);
19721
19722 if (node.local && node.local.name !== node.imported.name) {
19723 this.space();
19724 this.word("as");
19725 this.space();
19726 this.print(node.local, node);
19727 }
19728 }
19729 function ImportDefaultSpecifier(node) {
19730 this.print(node.local, node);
19731 }
19732 function ExportDefaultSpecifier(node) {
19733 this.print(node.exported, node);
19734 }
19735 function ExportSpecifier(node) {
19736 this.print(node.local, node);
19737
19738 if (node.exported && node.local.name !== node.exported.name) {
19739 this.space();
19740 this.word("as");
19741 this.space();
19742 this.print(node.exported, node);
19743 }
19744 }
19745 function ExportNamespaceSpecifier(node) {
19746 this.token("*");
19747 this.space();
19748 this.word("as");
19749 this.space();
19750 this.print(node.exported, node);
19751 }
19752 function ExportAllDeclaration(node) {
19753 this.word("export");
19754 this.space();
19755
19756 if (node.exportKind === "type") {
19757 this.word("type");
19758 this.space();
19759 }
19760
19761 this.token("*");
19762 this.space();
19763 this.word("from");
19764 this.space();
19765 this.print(node.source, node);
19766 this.printAssertions(node);
19767 this.semicolon();
19768 }
19769 function ExportNamedDeclaration(node) {
19770 if (this.format.decoratorsBeforeExport && isClassDeclaration(node.declaration)) {
19771 this.printJoin(node.declaration.decorators, node);
19772 }
19773
19774 this.word("export");
19775 this.space();
19776 ExportDeclaration.apply(this, arguments);
19777 }
19778 function ExportDefaultDeclaration(node) {
19779 if (this.format.decoratorsBeforeExport && isClassDeclaration(node.declaration)) {
19780 this.printJoin(node.declaration.decorators, node);
19781 }
19782
19783 this.word("export");
19784 this.space();
19785 this.word("default");
19786 this.space();
19787 ExportDeclaration.apply(this, arguments);
19788 }
19789
19790 function ExportDeclaration(node) {
19791 if (node.declaration) {
19792 var declar = node.declaration;
19793 this.print(declar, node);
19794 if (!isStatement(declar)) this.semicolon();
19795 } else {
19796 if (node.exportKind === "type") {
19797 this.word("type");
19798 this.space();
19799 }
19800
19801 var specifiers = node.specifiers.slice(0);
19802 var hasSpecial = false;
19803
19804 for (;;) {
19805 var first = specifiers[0];
19806
19807 if (isExportDefaultSpecifier(first) || isExportNamespaceSpecifier(first)) {
19808 hasSpecial = true;
19809 this.print(specifiers.shift(), node);
19810
19811 if (specifiers.length) {
19812 this.token(",");
19813 this.space();
19814 }
19815 } else {
19816 break;
19817 }
19818 }
19819
19820 if (specifiers.length || !specifiers.length && !hasSpecial) {
19821 this.token("{");
19822
19823 if (specifiers.length) {
19824 this.space();
19825 this.printList(specifiers, node);
19826 this.space();
19827 }
19828
19829 this.token("}");
19830 }
19831
19832 if (node.source) {
19833 this.space();
19834 this.word("from");
19835 this.space();
19836 this.print(node.source, node);
19837 this.printAssertions(node);
19838 }
19839
19840 this.semicolon();
19841 }
19842 }
19843
19844 function ImportDeclaration(node) {
19845 this.word("import");
19846 this.space();
19847
19848 if (node.importKind === "type" || node.importKind === "typeof") {
19849 this.word(node.importKind);
19850 this.space();
19851 }
19852
19853 var specifiers = node.specifiers.slice(0);
19854
19855 if (specifiers != null && specifiers.length) {
19856 for (;;) {
19857 var first = specifiers[0];
19858
19859 if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {
19860 this.print(specifiers.shift(), node);
19861
19862 if (specifiers.length) {
19863 this.token(",");
19864 this.space();
19865 }
19866 } else {
19867 break;
19868 }
19869 }
19870
19871 if (specifiers.length) {
19872 this.token("{");
19873 this.space();
19874 this.printList(specifiers, node);
19875 this.space();
19876 this.token("}");
19877 }
19878
19879 this.space();
19880 this.word("from");
19881 this.space();
19882 }
19883
19884 this.print(node.source, node);
19885 this.printAssertions(node);
19886 {
19887 var _node$attributes;
19888
19889 if ((_node$attributes = node.attributes) != null && _node$attributes.length) {
19890 this.space();
19891 this.word("with");
19892 this.space();
19893 this.printList(node.attributes, node);
19894 }
19895 }
19896 this.semicolon();
19897 }
19898 function ImportAttribute(node) {
19899 this.print(node.key);
19900 this.token(":");
19901 this.space();
19902 this.print(node.value);
19903 }
19904 function ImportNamespaceSpecifier(node) {
19905 this.token("*");
19906 this.space();
19907 this.word("as");
19908 this.space();
19909 this.print(node.local, node);
19910 }
19911
19912 var byteLength_1 = byteLength;
19913 var toByteArray_1 = toByteArray;
19914 var fromByteArray_1 = fromByteArray;
19915 var lookup = [];
19916 var revLookup = [];
19917 var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
19918 var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
19919
19920 for (var i = 0, len = code.length; i < len; ++i) {
19921 lookup[i] = code[i];
19922 revLookup[code.charCodeAt(i)] = i;
19923 }
19924
19925 revLookup['-'.charCodeAt(0)] = 62;
19926 revLookup['_'.charCodeAt(0)] = 63;
19927
19928 function getLens(b64) {
19929 var len = b64.length;
19930
19931 if (len % 4 > 0) {
19932 throw new Error('Invalid string. Length must be a multiple of 4');
19933 }
19934
19935 var validLen = b64.indexOf('=');
19936 if (validLen === -1) validLen = len;
19937 var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;
19938 return [validLen, placeHoldersLen];
19939 }
19940
19941 function byteLength(b64) {
19942 var lens = getLens(b64);
19943 var validLen = lens[0];
19944 var placeHoldersLen = lens[1];
19945 return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
19946 }
19947
19948 function _byteLength(b64, validLen, placeHoldersLen) {
19949 return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
19950 }
19951
19952 function toByteArray(b64) {
19953 var tmp;
19954 var lens = getLens(b64);
19955 var validLen = lens[0];
19956 var placeHoldersLen = lens[1];
19957 var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
19958 var curByte = 0;
19959 var len = placeHoldersLen > 0 ? validLen - 4 : validLen;
19960 var i;
19961
19962 for (i = 0; i < len; i += 4) {
19963 tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];
19964 arr[curByte++] = tmp >> 16 & 0xFF;
19965 arr[curByte++] = tmp >> 8 & 0xFF;
19966 arr[curByte++] = tmp & 0xFF;
19967 }
19968
19969 if (placeHoldersLen === 2) {
19970 tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;
19971 arr[curByte++] = tmp & 0xFF;
19972 }
19973
19974 if (placeHoldersLen === 1) {
19975 tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;
19976 arr[curByte++] = tmp >> 8 & 0xFF;
19977 arr[curByte++] = tmp & 0xFF;
19978 }
19979
19980 return arr;
19981 }
19982
19983 function tripletToBase64(num) {
19984 return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];
19985 }
19986
19987 function encodeChunk(uint8, start, end) {
19988 var tmp;
19989 var output = [];
19990
19991 for (var i = start; i < end; i += 3) {
19992 tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);
19993 output.push(tripletToBase64(tmp));
19994 }
19995
19996 return output.join('');
19997 }
19998
19999 function fromByteArray(uint8) {
20000 var tmp;
20001 var len = uint8.length;
20002 var extraBytes = len % 3;
20003 var parts = [];
20004 var maxChunkLength = 16383;
20005
20006 for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
20007 parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));
20008 }
20009
20010 if (extraBytes === 1) {
20011 tmp = uint8[len - 1];
20012 parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');
20013 } else if (extraBytes === 2) {
20014 tmp = (uint8[len - 2] << 8) + uint8[len - 1];
20015 parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');
20016 }
20017
20018 return parts.join('');
20019 }
20020
20021 var base64Js = {
20022 byteLength: byteLength_1,
20023 toByteArray: toByteArray_1,
20024 fromByteArray: fromByteArray_1
20025 };
20026
20027 var read = function read(buffer, offset, isLE, mLen, nBytes) {
20028 var e, m;
20029 var eLen = nBytes * 8 - mLen - 1;
20030 var eMax = (1 << eLen) - 1;
20031 var eBias = eMax >> 1;
20032 var nBits = -7;
20033 var i = isLE ? nBytes - 1 : 0;
20034 var d = isLE ? -1 : 1;
20035 var s = buffer[offset + i];
20036 i += d;
20037 e = s & (1 << -nBits) - 1;
20038 s >>= -nBits;
20039 nBits += eLen;
20040
20041 for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
20042
20043 m = e & (1 << -nBits) - 1;
20044 e >>= -nBits;
20045 nBits += mLen;
20046
20047 for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
20048
20049 if (e === 0) {
20050 e = 1 - eBias;
20051 } else if (e === eMax) {
20052 return m ? NaN : (s ? -1 : 1) * Infinity;
20053 } else {
20054 m = m + Math.pow(2, mLen);
20055 e = e - eBias;
20056 }
20057
20058 return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
20059 };
20060
20061 var write = function write(buffer, value, offset, isLE, mLen, nBytes) {
20062 var e, m, c;
20063 var eLen = nBytes * 8 - mLen - 1;
20064 var eMax = (1 << eLen) - 1;
20065 var eBias = eMax >> 1;
20066 var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
20067 var i = isLE ? 0 : nBytes - 1;
20068 var d = isLE ? 1 : -1;
20069 var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
20070 value = Math.abs(value);
20071
20072 if (isNaN(value) || value === Infinity) {
20073 m = isNaN(value) ? 1 : 0;
20074 e = eMax;
20075 } else {
20076 e = Math.floor(Math.log(value) / Math.LN2);
20077
20078 if (value * (c = Math.pow(2, -e)) < 1) {
20079 e--;
20080 c *= 2;
20081 }
20082
20083 if (e + eBias >= 1) {
20084 value += rt / c;
20085 } else {
20086 value += rt * Math.pow(2, 1 - eBias);
20087 }
20088
20089 if (value * c >= 2) {
20090 e++;
20091 c /= 2;
20092 }
20093
20094 if (e + eBias >= eMax) {
20095 m = 0;
20096 e = eMax;
20097 } else if (e + eBias >= 1) {
20098 m = (value * c - 1) * Math.pow(2, mLen);
20099 e = e + eBias;
20100 } else {
20101 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
20102 e = 0;
20103 }
20104 }
20105
20106 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
20107
20108 e = e << mLen | m;
20109 eLen += mLen;
20110
20111 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
20112
20113 buffer[offset + i - d] |= s * 128;
20114 };
20115
20116 var ieee754 = {
20117 read: read,
20118 write: write
20119 };
20120
20121 /*!
20122 * The buffer module from node.js, for the browser.
20123 *
20124 * @author Feross Aboukhadijeh <https://feross.org>
20125 * @license MIT
20126 */
20127 var buffer = createCommonjsModule(function (module, exports) {
20128
20129 exports.Buffer = Buffer;
20130 exports.SlowBuffer = SlowBuffer;
20131 exports.INSPECT_MAX_BYTES = 50;
20132 var K_MAX_LENGTH = 0x7fffffff;
20133 exports.kMaxLength = K_MAX_LENGTH;
20134 Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();
20135
20136 if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') {
20137 console.error('This browser lacks typed array (Uint8Array) support which is required by ' + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.');
20138 }
20139
20140 function typedArraySupport() {
20141 try {
20142 var arr = new Uint8Array(1);
20143 arr.__proto__ = {
20144 __proto__: Uint8Array.prototype,
20145 foo: function foo() {
20146 return 42;
20147 }
20148 };
20149 return arr.foo() === 42;
20150 } catch (e) {
20151 return false;
20152 }
20153 }
20154
20155 Object.defineProperty(Buffer.prototype, 'parent', {
20156 enumerable: true,
20157 get: function get() {
20158 if (!Buffer.isBuffer(this)) return undefined;
20159 return this.buffer;
20160 }
20161 });
20162 Object.defineProperty(Buffer.prototype, 'offset', {
20163 enumerable: true,
20164 get: function get() {
20165 if (!Buffer.isBuffer(this)) return undefined;
20166 return this.byteOffset;
20167 }
20168 });
20169
20170 function createBuffer(length) {
20171 if (length > K_MAX_LENGTH) {
20172 throw new RangeError('The value "' + length + '" is invalid for option "size"');
20173 }
20174
20175 var buf = new Uint8Array(length);
20176 buf.__proto__ = Buffer.prototype;
20177 return buf;
20178 }
20179
20180 function Buffer(arg, encodingOrOffset, length) {
20181 if (typeof arg === 'number') {
20182 if (typeof encodingOrOffset === 'string') {
20183 throw new TypeError('The "string" argument must be of type string. Received type number');
20184 }
20185
20186 return allocUnsafe(arg);
20187 }
20188
20189 return from(arg, encodingOrOffset, length);
20190 }
20191
20192 if (typeof Symbol !== 'undefined' && Symbol.species != null && Buffer[Symbol.species] === Buffer) {
20193 Object.defineProperty(Buffer, Symbol.species, {
20194 value: null,
20195 configurable: true,
20196 enumerable: false,
20197 writable: false
20198 });
20199 }
20200
20201 Buffer.poolSize = 8192;
20202
20203 function from(value, encodingOrOffset, length) {
20204 if (typeof value === 'string') {
20205 return fromString(value, encodingOrOffset);
20206 }
20207
20208 if (ArrayBuffer.isView(value)) {
20209 return fromArrayLike(value);
20210 }
20211
20212 if (value == null) {
20213 throw TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + typeof value);
20214 }
20215
20216 if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {
20217 return fromArrayBuffer(value, encodingOrOffset, length);
20218 }
20219
20220 if (typeof value === 'number') {
20221 throw new TypeError('The "value" argument must not be of type number. Received type number');
20222 }
20223
20224 var valueOf = value.valueOf && value.valueOf();
20225
20226 if (valueOf != null && valueOf !== value) {
20227 return Buffer.from(valueOf, encodingOrOffset, length);
20228 }
20229
20230 var b = fromObject(value);
20231 if (b) return b;
20232
20233 if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === 'function') {
20234 return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length);
20235 }
20236
20237 throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + typeof value);
20238 }
20239
20240 Buffer.from = function (value, encodingOrOffset, length) {
20241 return from(value, encodingOrOffset, length);
20242 };
20243
20244 Buffer.prototype.__proto__ = Uint8Array.prototype;
20245 Buffer.__proto__ = Uint8Array;
20246
20247 function assertSize(size) {
20248 if (typeof size !== 'number') {
20249 throw new TypeError('"size" argument must be of type number');
20250 } else if (size < 0) {
20251 throw new RangeError('The value "' + size + '" is invalid for option "size"');
20252 }
20253 }
20254
20255 function alloc(size, fill, encoding) {
20256 assertSize(size);
20257
20258 if (size <= 0) {
20259 return createBuffer(size);
20260 }
20261
20262 if (fill !== undefined) {
20263 return typeof encoding === 'string' ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);
20264 }
20265
20266 return createBuffer(size);
20267 }
20268
20269 Buffer.alloc = function (size, fill, encoding) {
20270 return alloc(size, fill, encoding);
20271 };
20272
20273 function allocUnsafe(size) {
20274 assertSize(size);
20275 return createBuffer(size < 0 ? 0 : checked(size) | 0);
20276 }
20277
20278 Buffer.allocUnsafe = function (size) {
20279 return allocUnsafe(size);
20280 };
20281
20282 Buffer.allocUnsafeSlow = function (size) {
20283 return allocUnsafe(size);
20284 };
20285
20286 function fromString(string, encoding) {
20287 if (typeof encoding !== 'string' || encoding === '') {
20288 encoding = 'utf8';
20289 }
20290
20291 if (!Buffer.isEncoding(encoding)) {
20292 throw new TypeError('Unknown encoding: ' + encoding);
20293 }
20294
20295 var length = byteLength(string, encoding) | 0;
20296 var buf = createBuffer(length);
20297 var actual = buf.write(string, encoding);
20298
20299 if (actual !== length) {
20300 buf = buf.slice(0, actual);
20301 }
20302
20303 return buf;
20304 }
20305
20306 function fromArrayLike(array) {
20307 var length = array.length < 0 ? 0 : checked(array.length) | 0;
20308 var buf = createBuffer(length);
20309
20310 for (var i = 0; i < length; i += 1) {
20311 buf[i] = array[i] & 255;
20312 }
20313
20314 return buf;
20315 }
20316
20317 function fromArrayBuffer(array, byteOffset, length) {
20318 if (byteOffset < 0 || array.byteLength < byteOffset) {
20319 throw new RangeError('"offset" is outside of buffer bounds');
20320 }
20321
20322 if (array.byteLength < byteOffset + (length || 0)) {
20323 throw new RangeError('"length" is outside of buffer bounds');
20324 }
20325
20326 var buf;
20327
20328 if (byteOffset === undefined && length === undefined) {
20329 buf = new Uint8Array(array);
20330 } else if (length === undefined) {
20331 buf = new Uint8Array(array, byteOffset);
20332 } else {
20333 buf = new Uint8Array(array, byteOffset, length);
20334 }
20335
20336 buf.__proto__ = Buffer.prototype;
20337 return buf;
20338 }
20339
20340 function fromObject(obj) {
20341 if (Buffer.isBuffer(obj)) {
20342 var len = checked(obj.length) | 0;
20343 var buf = createBuffer(len);
20344
20345 if (buf.length === 0) {
20346 return buf;
20347 }
20348
20349 obj.copy(buf, 0, 0, len);
20350 return buf;
20351 }
20352
20353 if (obj.length !== undefined) {
20354 if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {
20355 return createBuffer(0);
20356 }
20357
20358 return fromArrayLike(obj);
20359 }
20360
20361 if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
20362 return fromArrayLike(obj.data);
20363 }
20364 }
20365
20366 function checked(length) {
20367 if (length >= K_MAX_LENGTH) {
20368 throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes');
20369 }
20370
20371 return length | 0;
20372 }
20373
20374 function SlowBuffer(length) {
20375 if (+length != length) {
20376 length = 0;
20377 }
20378
20379 return Buffer.alloc(+length);
20380 }
20381
20382 Buffer.isBuffer = function isBuffer(b) {
20383 return b != null && b._isBuffer === true && b !== Buffer.prototype;
20384 };
20385
20386 Buffer.compare = function compare(a, b) {
20387 if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);
20388 if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);
20389
20390 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
20391 throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');
20392 }
20393
20394 if (a === b) return 0;
20395 var x = a.length;
20396 var y = b.length;
20397
20398 for (var i = 0, len = Math.min(x, y); i < len; ++i) {
20399 if (a[i] !== b[i]) {
20400 x = a[i];
20401 y = b[i];
20402 break;
20403 }
20404 }
20405
20406 if (x < y) return -1;
20407 if (y < x) return 1;
20408 return 0;
20409 };
20410
20411 Buffer.isEncoding = function isEncoding(encoding) {
20412 switch (String(encoding).toLowerCase()) {
20413 case 'hex':
20414 case 'utf8':
20415 case 'utf-8':
20416 case 'ascii':
20417 case 'latin1':
20418 case 'binary':
20419 case 'base64':
20420 case 'ucs2':
20421 case 'ucs-2':
20422 case 'utf16le':
20423 case 'utf-16le':
20424 return true;
20425
20426 default:
20427 return false;
20428 }
20429 };
20430
20431 Buffer.concat = function concat(list, length) {
20432 if (!Array.isArray(list)) {
20433 throw new TypeError('"list" argument must be an Array of Buffers');
20434 }
20435
20436 if (list.length === 0) {
20437 return Buffer.alloc(0);
20438 }
20439
20440 var i;
20441
20442 if (length === undefined) {
20443 length = 0;
20444
20445 for (i = 0; i < list.length; ++i) {
20446 length += list[i].length;
20447 }
20448 }
20449
20450 var buffer = Buffer.allocUnsafe(length);
20451 var pos = 0;
20452
20453 for (i = 0; i < list.length; ++i) {
20454 var buf = list[i];
20455
20456 if (isInstance(buf, Uint8Array)) {
20457 buf = Buffer.from(buf);
20458 }
20459
20460 if (!Buffer.isBuffer(buf)) {
20461 throw new TypeError('"list" argument must be an Array of Buffers');
20462 }
20463
20464 buf.copy(buffer, pos);
20465 pos += buf.length;
20466 }
20467
20468 return buffer;
20469 };
20470
20471 function byteLength(string, encoding) {
20472 if (Buffer.isBuffer(string)) {
20473 return string.length;
20474 }
20475
20476 if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {
20477 return string.byteLength;
20478 }
20479
20480 if (typeof string !== 'string') {
20481 throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + 'Received type ' + typeof string);
20482 }
20483
20484 var len = string.length;
20485 var mustMatch = arguments.length > 2 && arguments[2] === true;
20486 if (!mustMatch && len === 0) return 0;
20487 var loweredCase = false;
20488
20489 for (;;) {
20490 switch (encoding) {
20491 case 'ascii':
20492 case 'latin1':
20493 case 'binary':
20494 return len;
20495
20496 case 'utf8':
20497 case 'utf-8':
20498 return utf8ToBytes(string).length;
20499
20500 case 'ucs2':
20501 case 'ucs-2':
20502 case 'utf16le':
20503 case 'utf-16le':
20504 return len * 2;
20505
20506 case 'hex':
20507 return len >>> 1;
20508
20509 case 'base64':
20510 return base64ToBytes(string).length;
20511
20512 default:
20513 if (loweredCase) {
20514 return mustMatch ? -1 : utf8ToBytes(string).length;
20515 }
20516
20517 encoding = ('' + encoding).toLowerCase();
20518 loweredCase = true;
20519 }
20520 }
20521 }
20522
20523 Buffer.byteLength = byteLength;
20524
20525 function slowToString(encoding, start, end) {
20526 var loweredCase = false;
20527
20528 if (start === undefined || start < 0) {
20529 start = 0;
20530 }
20531
20532 if (start > this.length) {
20533 return '';
20534 }
20535
20536 if (end === undefined || end > this.length) {
20537 end = this.length;
20538 }
20539
20540 if (end <= 0) {
20541 return '';
20542 }
20543
20544 end >>>= 0;
20545 start >>>= 0;
20546
20547 if (end <= start) {
20548 return '';
20549 }
20550
20551 if (!encoding) encoding = 'utf8';
20552
20553 while (true) {
20554 switch (encoding) {
20555 case 'hex':
20556 return hexSlice(this, start, end);
20557
20558 case 'utf8':
20559 case 'utf-8':
20560 return utf8Slice(this, start, end);
20561
20562 case 'ascii':
20563 return asciiSlice(this, start, end);
20564
20565 case 'latin1':
20566 case 'binary':
20567 return latin1Slice(this, start, end);
20568
20569 case 'base64':
20570 return base64Slice(this, start, end);
20571
20572 case 'ucs2':
20573 case 'ucs-2':
20574 case 'utf16le':
20575 case 'utf-16le':
20576 return utf16leSlice(this, start, end);
20577
20578 default:
20579 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);
20580 encoding = (encoding + '').toLowerCase();
20581 loweredCase = true;
20582 }
20583 }
20584 }
20585
20586 Buffer.prototype._isBuffer = true;
20587
20588 function swap(b, n, m) {
20589 var i = b[n];
20590 b[n] = b[m];
20591 b[m] = i;
20592 }
20593
20594 Buffer.prototype.swap16 = function swap16() {
20595 var len = this.length;
20596
20597 if (len % 2 !== 0) {
20598 throw new RangeError('Buffer size must be a multiple of 16-bits');
20599 }
20600
20601 for (var i = 0; i < len; i += 2) {
20602 swap(this, i, i + 1);
20603 }
20604
20605 return this;
20606 };
20607
20608 Buffer.prototype.swap32 = function swap32() {
20609 var len = this.length;
20610
20611 if (len % 4 !== 0) {
20612 throw new RangeError('Buffer size must be a multiple of 32-bits');
20613 }
20614
20615 for (var i = 0; i < len; i += 4) {
20616 swap(this, i, i + 3);
20617 swap(this, i + 1, i + 2);
20618 }
20619
20620 return this;
20621 };
20622
20623 Buffer.prototype.swap64 = function swap64() {
20624 var len = this.length;
20625
20626 if (len % 8 !== 0) {
20627 throw new RangeError('Buffer size must be a multiple of 64-bits');
20628 }
20629
20630 for (var i = 0; i < len; i += 8) {
20631 swap(this, i, i + 7);
20632 swap(this, i + 1, i + 6);
20633 swap(this, i + 2, i + 5);
20634 swap(this, i + 3, i + 4);
20635 }
20636
20637 return this;
20638 };
20639
20640 Buffer.prototype.toString = function toString() {
20641 var length = this.length;
20642 if (length === 0) return '';
20643 if (arguments.length === 0) return utf8Slice(this, 0, length);
20644 return slowToString.apply(this, arguments);
20645 };
20646
20647 Buffer.prototype.toLocaleString = Buffer.prototype.toString;
20648
20649 Buffer.prototype.equals = function equals(b) {
20650 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');
20651 if (this === b) return true;
20652 return Buffer.compare(this, b) === 0;
20653 };
20654
20655 Buffer.prototype.inspect = function inspect() {
20656 var str = '';
20657 var max = exports.INSPECT_MAX_BYTES;
20658 str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();
20659 if (this.length > max) str += ' ... ';
20660 return '<Buffer ' + str + '>';
20661 };
20662
20663 Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {
20664 if (isInstance(target, Uint8Array)) {
20665 target = Buffer.from(target, target.offset, target.byteLength);
20666 }
20667
20668 if (!Buffer.isBuffer(target)) {
20669 throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. ' + 'Received type ' + typeof target);
20670 }
20671
20672 if (start === undefined) {
20673 start = 0;
20674 }
20675
20676 if (end === undefined) {
20677 end = target ? target.length : 0;
20678 }
20679
20680 if (thisStart === undefined) {
20681 thisStart = 0;
20682 }
20683
20684 if (thisEnd === undefined) {
20685 thisEnd = this.length;
20686 }
20687
20688 if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
20689 throw new RangeError('out of range index');
20690 }
20691
20692 if (thisStart >= thisEnd && start >= end) {
20693 return 0;
20694 }
20695
20696 if (thisStart >= thisEnd) {
20697 return -1;
20698 }
20699
20700 if (start >= end) {
20701 return 1;
20702 }
20703
20704 start >>>= 0;
20705 end >>>= 0;
20706 thisStart >>>= 0;
20707 thisEnd >>>= 0;
20708 if (this === target) return 0;
20709 var x = thisEnd - thisStart;
20710 var y = end - start;
20711 var len = Math.min(x, y);
20712 var thisCopy = this.slice(thisStart, thisEnd);
20713 var targetCopy = target.slice(start, end);
20714
20715 for (var i = 0; i < len; ++i) {
20716 if (thisCopy[i] !== targetCopy[i]) {
20717 x = thisCopy[i];
20718 y = targetCopy[i];
20719 break;
20720 }
20721 }
20722
20723 if (x < y) return -1;
20724 if (y < x) return 1;
20725 return 0;
20726 };
20727
20728 function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
20729 if (buffer.length === 0) return -1;
20730
20731 if (typeof byteOffset === 'string') {
20732 encoding = byteOffset;
20733 byteOffset = 0;
20734 } else if (byteOffset > 0x7fffffff) {
20735 byteOffset = 0x7fffffff;
20736 } else if (byteOffset < -0x80000000) {
20737 byteOffset = -0x80000000;
20738 }
20739
20740 byteOffset = +byteOffset;
20741
20742 if (numberIsNaN(byteOffset)) {
20743 byteOffset = dir ? 0 : buffer.length - 1;
20744 }
20745
20746 if (byteOffset < 0) byteOffset = buffer.length + byteOffset;
20747
20748 if (byteOffset >= buffer.length) {
20749 if (dir) return -1;else byteOffset = buffer.length - 1;
20750 } else if (byteOffset < 0) {
20751 if (dir) byteOffset = 0;else return -1;
20752 }
20753
20754 if (typeof val === 'string') {
20755 val = Buffer.from(val, encoding);
20756 }
20757
20758 if (Buffer.isBuffer(val)) {
20759 if (val.length === 0) {
20760 return -1;
20761 }
20762
20763 return arrayIndexOf(buffer, val, byteOffset, encoding, dir);
20764 } else if (typeof val === 'number') {
20765 val = val & 0xFF;
20766
20767 if (typeof Uint8Array.prototype.indexOf === 'function') {
20768 if (dir) {
20769 return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);
20770 } else {
20771 return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);
20772 }
20773 }
20774
20775 return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);
20776 }
20777
20778 throw new TypeError('val must be string, number or Buffer');
20779 }
20780
20781 function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
20782 var indexSize = 1;
20783 var arrLength = arr.length;
20784 var valLength = val.length;
20785
20786 if (encoding !== undefined) {
20787 encoding = String(encoding).toLowerCase();
20788
20789 if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {
20790 if (arr.length < 2 || val.length < 2) {
20791 return -1;
20792 }
20793
20794 indexSize = 2;
20795 arrLength /= 2;
20796 valLength /= 2;
20797 byteOffset /= 2;
20798 }
20799 }
20800
20801 function read(buf, i) {
20802 if (indexSize === 1) {
20803 return buf[i];
20804 } else {
20805 return buf.readUInt16BE(i * indexSize);
20806 }
20807 }
20808
20809 var i;
20810
20811 if (dir) {
20812 var foundIndex = -1;
20813
20814 for (i = byteOffset; i < arrLength; i++) {
20815 if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
20816 if (foundIndex === -1) foundIndex = i;
20817 if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;
20818 } else {
20819 if (foundIndex !== -1) i -= i - foundIndex;
20820 foundIndex = -1;
20821 }
20822 }
20823 } else {
20824 if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;
20825
20826 for (i = byteOffset; i >= 0; i--) {
20827 var found = true;
20828
20829 for (var j = 0; j < valLength; j++) {
20830 if (read(arr, i + j) !== read(val, j)) {
20831 found = false;
20832 break;
20833 }
20834 }
20835
20836 if (found) return i;
20837 }
20838 }
20839
20840 return -1;
20841 }
20842
20843 Buffer.prototype.includes = function includes(val, byteOffset, encoding) {
20844 return this.indexOf(val, byteOffset, encoding) !== -1;
20845 };
20846
20847 Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
20848 return bidirectionalIndexOf(this, val, byteOffset, encoding, true);
20849 };
20850
20851 Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {
20852 return bidirectionalIndexOf(this, val, byteOffset, encoding, false);
20853 };
20854
20855 function hexWrite(buf, string, offset, length) {
20856 offset = Number(offset) || 0;
20857 var remaining = buf.length - offset;
20858
20859 if (!length) {
20860 length = remaining;
20861 } else {
20862 length = Number(length);
20863
20864 if (length > remaining) {
20865 length = remaining;
20866 }
20867 }
20868
20869 var strLen = string.length;
20870
20871 if (length > strLen / 2) {
20872 length = strLen / 2;
20873 }
20874
20875 for (var i = 0; i < length; ++i) {
20876 var parsed = parseInt(string.substr(i * 2, 2), 16);
20877 if (numberIsNaN(parsed)) return i;
20878 buf[offset + i] = parsed;
20879 }
20880
20881 return i;
20882 }
20883
20884 function utf8Write(buf, string, offset, length) {
20885 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);
20886 }
20887
20888 function asciiWrite(buf, string, offset, length) {
20889 return blitBuffer(asciiToBytes(string), buf, offset, length);
20890 }
20891
20892 function latin1Write(buf, string, offset, length) {
20893 return asciiWrite(buf, string, offset, length);
20894 }
20895
20896 function base64Write(buf, string, offset, length) {
20897 return blitBuffer(base64ToBytes(string), buf, offset, length);
20898 }
20899
20900 function ucs2Write(buf, string, offset, length) {
20901 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);
20902 }
20903
20904 Buffer.prototype.write = function write(string, offset, length, encoding) {
20905 if (offset === undefined) {
20906 encoding = 'utf8';
20907 length = this.length;
20908 offset = 0;
20909 } else if (length === undefined && typeof offset === 'string') {
20910 encoding = offset;
20911 length = this.length;
20912 offset = 0;
20913 } else if (isFinite(offset)) {
20914 offset = offset >>> 0;
20915
20916 if (isFinite(length)) {
20917 length = length >>> 0;
20918 if (encoding === undefined) encoding = 'utf8';
20919 } else {
20920 encoding = length;
20921 length = undefined;
20922 }
20923 } else {
20924 throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');
20925 }
20926
20927 var remaining = this.length - offset;
20928 if (length === undefined || length > remaining) length = remaining;
20929
20930 if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {
20931 throw new RangeError('Attempt to write outside buffer bounds');
20932 }
20933
20934 if (!encoding) encoding = 'utf8';
20935 var loweredCase = false;
20936
20937 for (;;) {
20938 switch (encoding) {
20939 case 'hex':
20940 return hexWrite(this, string, offset, length);
20941
20942 case 'utf8':
20943 case 'utf-8':
20944 return utf8Write(this, string, offset, length);
20945
20946 case 'ascii':
20947 return asciiWrite(this, string, offset, length);
20948
20949 case 'latin1':
20950 case 'binary':
20951 return latin1Write(this, string, offset, length);
20952
20953 case 'base64':
20954 return base64Write(this, string, offset, length);
20955
20956 case 'ucs2':
20957 case 'ucs-2':
20958 case 'utf16le':
20959 case 'utf-16le':
20960 return ucs2Write(this, string, offset, length);
20961
20962 default:
20963 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);
20964 encoding = ('' + encoding).toLowerCase();
20965 loweredCase = true;
20966 }
20967 }
20968 };
20969
20970 Buffer.prototype.toJSON = function toJSON() {
20971 return {
20972 type: 'Buffer',
20973 data: Array.prototype.slice.call(this._arr || this, 0)
20974 };
20975 };
20976
20977 function base64Slice(buf, start, end) {
20978 if (start === 0 && end === buf.length) {
20979 return base64Js.fromByteArray(buf);
20980 } else {
20981 return base64Js.fromByteArray(buf.slice(start, end));
20982 }
20983 }
20984
20985 function utf8Slice(buf, start, end) {
20986 end = Math.min(buf.length, end);
20987 var res = [];
20988 var i = start;
20989
20990 while (i < end) {
20991 var firstByte = buf[i];
20992 var codePoint = null;
20993 var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;
20994
20995 if (i + bytesPerSequence <= end) {
20996 var secondByte, thirdByte, fourthByte, tempCodePoint;
20997
20998 switch (bytesPerSequence) {
20999 case 1:
21000 if (firstByte < 0x80) {
21001 codePoint = firstByte;
21002 }
21003
21004 break;
21005
21006 case 2:
21007 secondByte = buf[i + 1];
21008
21009 if ((secondByte & 0xC0) === 0x80) {
21010 tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;
21011
21012 if (tempCodePoint > 0x7F) {
21013 codePoint = tempCodePoint;
21014 }
21015 }
21016
21017 break;
21018
21019 case 3:
21020 secondByte = buf[i + 1];
21021 thirdByte = buf[i + 2];
21022
21023 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
21024 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;
21025
21026 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
21027 codePoint = tempCodePoint;
21028 }
21029 }
21030
21031 break;
21032
21033 case 4:
21034 secondByte = buf[i + 1];
21035 thirdByte = buf[i + 2];
21036 fourthByte = buf[i + 3];
21037
21038 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
21039 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;
21040
21041 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
21042 codePoint = tempCodePoint;
21043 }
21044 }
21045
21046 }
21047 }
21048
21049 if (codePoint === null) {
21050 codePoint = 0xFFFD;
21051 bytesPerSequence = 1;
21052 } else if (codePoint > 0xFFFF) {
21053 codePoint -= 0x10000;
21054 res.push(codePoint >>> 10 & 0x3FF | 0xD800);
21055 codePoint = 0xDC00 | codePoint & 0x3FF;
21056 }
21057
21058 res.push(codePoint);
21059 i += bytesPerSequence;
21060 }
21061
21062 return decodeCodePointsArray(res);
21063 }
21064
21065 var MAX_ARGUMENTS_LENGTH = 0x1000;
21066
21067 function decodeCodePointsArray(codePoints) {
21068 var len = codePoints.length;
21069
21070 if (len <= MAX_ARGUMENTS_LENGTH) {
21071 return String.fromCharCode.apply(String, codePoints);
21072 }
21073
21074 var res = '';
21075 var i = 0;
21076
21077 while (i < len) {
21078 res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));
21079 }
21080
21081 return res;
21082 }
21083
21084 function asciiSlice(buf, start, end) {
21085 var ret = '';
21086 end = Math.min(buf.length, end);
21087
21088 for (var i = start; i < end; ++i) {
21089 ret += String.fromCharCode(buf[i] & 0x7F);
21090 }
21091
21092 return ret;
21093 }
21094
21095 function latin1Slice(buf, start, end) {
21096 var ret = '';
21097 end = Math.min(buf.length, end);
21098
21099 for (var i = start; i < end; ++i) {
21100 ret += String.fromCharCode(buf[i]);
21101 }
21102
21103 return ret;
21104 }
21105
21106 function hexSlice(buf, start, end) {
21107 var len = buf.length;
21108 if (!start || start < 0) start = 0;
21109 if (!end || end < 0 || end > len) end = len;
21110 var out = '';
21111
21112 for (var i = start; i < end; ++i) {
21113 out += toHex(buf[i]);
21114 }
21115
21116 return out;
21117 }
21118
21119 function utf16leSlice(buf, start, end) {
21120 var bytes = buf.slice(start, end);
21121 var res = '';
21122
21123 for (var i = 0; i < bytes.length; i += 2) {
21124 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);
21125 }
21126
21127 return res;
21128 }
21129
21130 Buffer.prototype.slice = function slice(start, end) {
21131 var len = this.length;
21132 start = ~~start;
21133 end = end === undefined ? len : ~~end;
21134
21135 if (start < 0) {
21136 start += len;
21137 if (start < 0) start = 0;
21138 } else if (start > len) {
21139 start = len;
21140 }
21141
21142 if (end < 0) {
21143 end += len;
21144 if (end < 0) end = 0;
21145 } else if (end > len) {
21146 end = len;
21147 }
21148
21149 if (end < start) end = start;
21150 var newBuf = this.subarray(start, end);
21151 newBuf.__proto__ = Buffer.prototype;
21152 return newBuf;
21153 };
21154
21155 function checkOffset(offset, ext, length) {
21156 if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');
21157 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');
21158 }
21159
21160 Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {
21161 offset = offset >>> 0;
21162 byteLength = byteLength >>> 0;
21163 if (!noAssert) checkOffset(offset, byteLength, this.length);
21164 var val = this[offset];
21165 var mul = 1;
21166 var i = 0;
21167
21168 while (++i < byteLength && (mul *= 0x100)) {
21169 val += this[offset + i] * mul;
21170 }
21171
21172 return val;
21173 };
21174
21175 Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {
21176 offset = offset >>> 0;
21177 byteLength = byteLength >>> 0;
21178
21179 if (!noAssert) {
21180 checkOffset(offset, byteLength, this.length);
21181 }
21182
21183 var val = this[offset + --byteLength];
21184 var mul = 1;
21185
21186 while (byteLength > 0 && (mul *= 0x100)) {
21187 val += this[offset + --byteLength] * mul;
21188 }
21189
21190 return val;
21191 };
21192
21193 Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {
21194 offset = offset >>> 0;
21195 if (!noAssert) checkOffset(offset, 1, this.length);
21196 return this[offset];
21197 };
21198
21199 Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {
21200 offset = offset >>> 0;
21201 if (!noAssert) checkOffset(offset, 2, this.length);
21202 return this[offset] | this[offset + 1] << 8;
21203 };
21204
21205 Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {
21206 offset = offset >>> 0;
21207 if (!noAssert) checkOffset(offset, 2, this.length);
21208 return this[offset] << 8 | this[offset + 1];
21209 };
21210
21211 Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {
21212 offset = offset >>> 0;
21213 if (!noAssert) checkOffset(offset, 4, this.length);
21214 return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;
21215 };
21216
21217 Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {
21218 offset = offset >>> 0;
21219 if (!noAssert) checkOffset(offset, 4, this.length);
21220 return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);
21221 };
21222
21223 Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {
21224 offset = offset >>> 0;
21225 byteLength = byteLength >>> 0;
21226 if (!noAssert) checkOffset(offset, byteLength, this.length);
21227 var val = this[offset];
21228 var mul = 1;
21229 var i = 0;
21230
21231 while (++i < byteLength && (mul *= 0x100)) {
21232 val += this[offset + i] * mul;
21233 }
21234
21235 mul *= 0x80;
21236 if (val >= mul) val -= Math.pow(2, 8 * byteLength);
21237 return val;
21238 };
21239
21240 Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {
21241 offset = offset >>> 0;
21242 byteLength = byteLength >>> 0;
21243 if (!noAssert) checkOffset(offset, byteLength, this.length);
21244 var i = byteLength;
21245 var mul = 1;
21246 var val = this[offset + --i];
21247
21248 while (i > 0 && (mul *= 0x100)) {
21249 val += this[offset + --i] * mul;
21250 }
21251
21252 mul *= 0x80;
21253 if (val >= mul) val -= Math.pow(2, 8 * byteLength);
21254 return val;
21255 };
21256
21257 Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {
21258 offset = offset >>> 0;
21259 if (!noAssert) checkOffset(offset, 1, this.length);
21260 if (!(this[offset] & 0x80)) return this[offset];
21261 return (0xff - this[offset] + 1) * -1;
21262 };
21263
21264 Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {
21265 offset = offset >>> 0;
21266 if (!noAssert) checkOffset(offset, 2, this.length);
21267 var val = this[offset] | this[offset + 1] << 8;
21268 return val & 0x8000 ? val | 0xFFFF0000 : val;
21269 };
21270
21271 Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {
21272 offset = offset >>> 0;
21273 if (!noAssert) checkOffset(offset, 2, this.length);
21274 var val = this[offset + 1] | this[offset] << 8;
21275 return val & 0x8000 ? val | 0xFFFF0000 : val;
21276 };
21277
21278 Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {
21279 offset = offset >>> 0;
21280 if (!noAssert) checkOffset(offset, 4, this.length);
21281 return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;
21282 };
21283
21284 Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {
21285 offset = offset >>> 0;
21286 if (!noAssert) checkOffset(offset, 4, this.length);
21287 return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];
21288 };
21289
21290 Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {
21291 offset = offset >>> 0;
21292 if (!noAssert) checkOffset(offset, 4, this.length);
21293 return ieee754.read(this, offset, true, 23, 4);
21294 };
21295
21296 Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {
21297 offset = offset >>> 0;
21298 if (!noAssert) checkOffset(offset, 4, this.length);
21299 return ieee754.read(this, offset, false, 23, 4);
21300 };
21301
21302 Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {
21303 offset = offset >>> 0;
21304 if (!noAssert) checkOffset(offset, 8, this.length);
21305 return ieee754.read(this, offset, true, 52, 8);
21306 };
21307
21308 Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {
21309 offset = offset >>> 0;
21310 if (!noAssert) checkOffset(offset, 8, this.length);
21311 return ieee754.read(this, offset, false, 52, 8);
21312 };
21313
21314 function checkInt(buf, value, offset, ext, max, min) {
21315 if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance');
21316 if (value > max || value < min) throw new RangeError('"value" argument is out of bounds');
21317 if (offset + ext > buf.length) throw new RangeError('Index out of range');
21318 }
21319
21320 Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {
21321 value = +value;
21322 offset = offset >>> 0;
21323 byteLength = byteLength >>> 0;
21324
21325 if (!noAssert) {
21326 var maxBytes = Math.pow(2, 8 * byteLength) - 1;
21327 checkInt(this, value, offset, byteLength, maxBytes, 0);
21328 }
21329
21330 var mul = 1;
21331 var i = 0;
21332 this[offset] = value & 0xFF;
21333
21334 while (++i < byteLength && (mul *= 0x100)) {
21335 this[offset + i] = value / mul & 0xFF;
21336 }
21337
21338 return offset + byteLength;
21339 };
21340
21341 Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {
21342 value = +value;
21343 offset = offset >>> 0;
21344 byteLength = byteLength >>> 0;
21345
21346 if (!noAssert) {
21347 var maxBytes = Math.pow(2, 8 * byteLength) - 1;
21348 checkInt(this, value, offset, byteLength, maxBytes, 0);
21349 }
21350
21351 var i = byteLength - 1;
21352 var mul = 1;
21353 this[offset + i] = value & 0xFF;
21354
21355 while (--i >= 0 && (mul *= 0x100)) {
21356 this[offset + i] = value / mul & 0xFF;
21357 }
21358
21359 return offset + byteLength;
21360 };
21361
21362 Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {
21363 value = +value;
21364 offset = offset >>> 0;
21365 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);
21366 this[offset] = value & 0xff;
21367 return offset + 1;
21368 };
21369
21370 Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {
21371 value = +value;
21372 offset = offset >>> 0;
21373 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
21374 this[offset] = value & 0xff;
21375 this[offset + 1] = value >>> 8;
21376 return offset + 2;
21377 };
21378
21379 Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {
21380 value = +value;
21381 offset = offset >>> 0;
21382 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
21383 this[offset] = value >>> 8;
21384 this[offset + 1] = value & 0xff;
21385 return offset + 2;
21386 };
21387
21388 Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {
21389 value = +value;
21390 offset = offset >>> 0;
21391 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
21392 this[offset + 3] = value >>> 24;
21393 this[offset + 2] = value >>> 16;
21394 this[offset + 1] = value >>> 8;
21395 this[offset] = value & 0xff;
21396 return offset + 4;
21397 };
21398
21399 Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {
21400 value = +value;
21401 offset = offset >>> 0;
21402 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
21403 this[offset] = value >>> 24;
21404 this[offset + 1] = value >>> 16;
21405 this[offset + 2] = value >>> 8;
21406 this[offset + 3] = value & 0xff;
21407 return offset + 4;
21408 };
21409
21410 Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {
21411 value = +value;
21412 offset = offset >>> 0;
21413
21414 if (!noAssert) {
21415 var limit = Math.pow(2, 8 * byteLength - 1);
21416 checkInt(this, value, offset, byteLength, limit - 1, -limit);
21417 }
21418
21419 var i = 0;
21420 var mul = 1;
21421 var sub = 0;
21422 this[offset] = value & 0xFF;
21423
21424 while (++i < byteLength && (mul *= 0x100)) {
21425 if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
21426 sub = 1;
21427 }
21428
21429 this[offset + i] = (value / mul >> 0) - sub & 0xFF;
21430 }
21431
21432 return offset + byteLength;
21433 };
21434
21435 Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {
21436 value = +value;
21437 offset = offset >>> 0;
21438
21439 if (!noAssert) {
21440 var limit = Math.pow(2, 8 * byteLength - 1);
21441 checkInt(this, value, offset, byteLength, limit - 1, -limit);
21442 }
21443
21444 var i = byteLength - 1;
21445 var mul = 1;
21446 var sub = 0;
21447 this[offset + i] = value & 0xFF;
21448
21449 while (--i >= 0 && (mul *= 0x100)) {
21450 if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
21451 sub = 1;
21452 }
21453
21454 this[offset + i] = (value / mul >> 0) - sub & 0xFF;
21455 }
21456
21457 return offset + byteLength;
21458 };
21459
21460 Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {
21461 value = +value;
21462 offset = offset >>> 0;
21463 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);
21464 if (value < 0) value = 0xff + value + 1;
21465 this[offset] = value & 0xff;
21466 return offset + 1;
21467 };
21468
21469 Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {
21470 value = +value;
21471 offset = offset >>> 0;
21472 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
21473 this[offset] = value & 0xff;
21474 this[offset + 1] = value >>> 8;
21475 return offset + 2;
21476 };
21477
21478 Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {
21479 value = +value;
21480 offset = offset >>> 0;
21481 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
21482 this[offset] = value >>> 8;
21483 this[offset + 1] = value & 0xff;
21484 return offset + 2;
21485 };
21486
21487 Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {
21488 value = +value;
21489 offset = offset >>> 0;
21490 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
21491 this[offset] = value & 0xff;
21492 this[offset + 1] = value >>> 8;
21493 this[offset + 2] = value >>> 16;
21494 this[offset + 3] = value >>> 24;
21495 return offset + 4;
21496 };
21497
21498 Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {
21499 value = +value;
21500 offset = offset >>> 0;
21501 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
21502 if (value < 0) value = 0xffffffff + value + 1;
21503 this[offset] = value >>> 24;
21504 this[offset + 1] = value >>> 16;
21505 this[offset + 2] = value >>> 8;
21506 this[offset + 3] = value & 0xff;
21507 return offset + 4;
21508 };
21509
21510 function checkIEEE754(buf, value, offset, ext, max, min) {
21511 if (offset + ext > buf.length) throw new RangeError('Index out of range');
21512 if (offset < 0) throw new RangeError('Index out of range');
21513 }
21514
21515 function writeFloat(buf, value, offset, littleEndian, noAssert) {
21516 value = +value;
21517 offset = offset >>> 0;
21518
21519 if (!noAssert) {
21520 checkIEEE754(buf, value, offset, 4);
21521 }
21522
21523 ieee754.write(buf, value, offset, littleEndian, 23, 4);
21524 return offset + 4;
21525 }
21526
21527 Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {
21528 return writeFloat(this, value, offset, true, noAssert);
21529 };
21530
21531 Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {
21532 return writeFloat(this, value, offset, false, noAssert);
21533 };
21534
21535 function writeDouble(buf, value, offset, littleEndian, noAssert) {
21536 value = +value;
21537 offset = offset >>> 0;
21538
21539 if (!noAssert) {
21540 checkIEEE754(buf, value, offset, 8);
21541 }
21542
21543 ieee754.write(buf, value, offset, littleEndian, 52, 8);
21544 return offset + 8;
21545 }
21546
21547 Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {
21548 return writeDouble(this, value, offset, true, noAssert);
21549 };
21550
21551 Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {
21552 return writeDouble(this, value, offset, false, noAssert);
21553 };
21554
21555 Buffer.prototype.copy = function copy(target, targetStart, start, end) {
21556 if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer');
21557 if (!start) start = 0;
21558 if (!end && end !== 0) end = this.length;
21559 if (targetStart >= target.length) targetStart = target.length;
21560 if (!targetStart) targetStart = 0;
21561 if (end > 0 && end < start) end = start;
21562 if (end === start) return 0;
21563 if (target.length === 0 || this.length === 0) return 0;
21564
21565 if (targetStart < 0) {
21566 throw new RangeError('targetStart out of bounds');
21567 }
21568
21569 if (start < 0 || start >= this.length) throw new RangeError('Index out of range');
21570 if (end < 0) throw new RangeError('sourceEnd out of bounds');
21571 if (end > this.length) end = this.length;
21572
21573 if (target.length - targetStart < end - start) {
21574 end = target.length - targetStart + start;
21575 }
21576
21577 var len = end - start;
21578
21579 if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
21580 this.copyWithin(targetStart, start, end);
21581 } else if (this === target && start < targetStart && targetStart < end) {
21582 for (var i = len - 1; i >= 0; --i) {
21583 target[i + targetStart] = this[i + start];
21584 }
21585 } else {
21586 Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);
21587 }
21588
21589 return len;
21590 };
21591
21592 Buffer.prototype.fill = function fill(val, start, end, encoding) {
21593 if (typeof val === 'string') {
21594 if (typeof start === 'string') {
21595 encoding = start;
21596 start = 0;
21597 end = this.length;
21598 } else if (typeof end === 'string') {
21599 encoding = end;
21600 end = this.length;
21601 }
21602
21603 if (encoding !== undefined && typeof encoding !== 'string') {
21604 throw new TypeError('encoding must be a string');
21605 }
21606
21607 if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
21608 throw new TypeError('Unknown encoding: ' + encoding);
21609 }
21610
21611 if (val.length === 1) {
21612 var code = val.charCodeAt(0);
21613
21614 if (encoding === 'utf8' && code < 128 || encoding === 'latin1') {
21615 val = code;
21616 }
21617 }
21618 } else if (typeof val === 'number') {
21619 val = val & 255;
21620 }
21621
21622 if (start < 0 || this.length < start || this.length < end) {
21623 throw new RangeError('Out of range index');
21624 }
21625
21626 if (end <= start) {
21627 return this;
21628 }
21629
21630 start = start >>> 0;
21631 end = end === undefined ? this.length : end >>> 0;
21632 if (!val) val = 0;
21633 var i;
21634
21635 if (typeof val === 'number') {
21636 for (i = start; i < end; ++i) {
21637 this[i] = val;
21638 }
21639 } else {
21640 var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);
21641 var len = bytes.length;
21642
21643 if (len === 0) {
21644 throw new TypeError('The value "' + val + '" is invalid for argument "value"');
21645 }
21646
21647 for (i = 0; i < end - start; ++i) {
21648 this[i + start] = bytes[i % len];
21649 }
21650 }
21651
21652 return this;
21653 };
21654
21655 var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;
21656
21657 function base64clean(str) {
21658 str = str.split('=')[0];
21659 str = str.trim().replace(INVALID_BASE64_RE, '');
21660 if (str.length < 2) return '';
21661
21662 while (str.length % 4 !== 0) {
21663 str = str + '=';
21664 }
21665
21666 return str;
21667 }
21668
21669 function toHex(n) {
21670 if (n < 16) return '0' + n.toString(16);
21671 return n.toString(16);
21672 }
21673
21674 function utf8ToBytes(string, units) {
21675 units = units || Infinity;
21676 var codePoint;
21677 var length = string.length;
21678 var leadSurrogate = null;
21679 var bytes = [];
21680
21681 for (var i = 0; i < length; ++i) {
21682 codePoint = string.charCodeAt(i);
21683
21684 if (codePoint > 0xD7FF && codePoint < 0xE000) {
21685 if (!leadSurrogate) {
21686 if (codePoint > 0xDBFF) {
21687 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
21688 continue;
21689 } else if (i + 1 === length) {
21690 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
21691 continue;
21692 }
21693
21694 leadSurrogate = codePoint;
21695 continue;
21696 }
21697
21698 if (codePoint < 0xDC00) {
21699 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
21700 leadSurrogate = codePoint;
21701 continue;
21702 }
21703
21704 codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;
21705 } else if (leadSurrogate) {
21706 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
21707 }
21708
21709 leadSurrogate = null;
21710
21711 if (codePoint < 0x80) {
21712 if ((units -= 1) < 0) break;
21713 bytes.push(codePoint);
21714 } else if (codePoint < 0x800) {
21715 if ((units -= 2) < 0) break;
21716 bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);
21717 } else if (codePoint < 0x10000) {
21718 if ((units -= 3) < 0) break;
21719 bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);
21720 } else if (codePoint < 0x110000) {
21721 if ((units -= 4) < 0) break;
21722 bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);
21723 } else {
21724 throw new Error('Invalid code point');
21725 }
21726 }
21727
21728 return bytes;
21729 }
21730
21731 function asciiToBytes(str) {
21732 var byteArray = [];
21733
21734 for (var i = 0; i < str.length; ++i) {
21735 byteArray.push(str.charCodeAt(i) & 0xFF);
21736 }
21737
21738 return byteArray;
21739 }
21740
21741 function utf16leToBytes(str, units) {
21742 var c, hi, lo;
21743 var byteArray = [];
21744
21745 for (var i = 0; i < str.length; ++i) {
21746 if ((units -= 2) < 0) break;
21747 c = str.charCodeAt(i);
21748 hi = c >> 8;
21749 lo = c % 256;
21750 byteArray.push(lo);
21751 byteArray.push(hi);
21752 }
21753
21754 return byteArray;
21755 }
21756
21757 function base64ToBytes(str) {
21758 return base64Js.toByteArray(base64clean(str));
21759 }
21760
21761 function blitBuffer(src, dst, offset, length) {
21762 for (var i = 0; i < length; ++i) {
21763 if (i + offset >= dst.length || i >= src.length) break;
21764 dst[i + offset] = src[i];
21765 }
21766
21767 return i;
21768 }
21769
21770 function isInstance(obj, type) {
21771 return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;
21772 }
21773
21774 function numberIsNaN(obj) {
21775 return obj !== obj;
21776 }
21777 }, "/$$rollup_base$$/node_modules/buffer");
21778
21779 var object = {};
21780 var hasOwnProperty$2 = object.hasOwnProperty;
21781
21782 var forOwn = function forOwn(object, callback) {
21783 for (var key in object) {
21784 if (hasOwnProperty$2.call(object, key)) {
21785 callback(key, object[key]);
21786 }
21787 }
21788 };
21789
21790 var extend = function extend(destination, source) {
21791 if (!source) {
21792 return destination;
21793 }
21794
21795 forOwn(source, function (key, value) {
21796 destination[key] = value;
21797 });
21798 return destination;
21799 };
21800
21801 var forEach = function forEach(array, callback) {
21802 var length = array.length;
21803 var index = -1;
21804
21805 while (++index < length) {
21806 callback(array[index]);
21807 }
21808 };
21809
21810 var toString = object.toString;
21811 var isArray$1 = Array.isArray;
21812 var isBuffer = buffer.Buffer.isBuffer;
21813
21814 var isObject = function isObject(value) {
21815 return toString.call(value) == '[object Object]';
21816 };
21817
21818 var isString = function isString(value) {
21819 return typeof value == 'string' || toString.call(value) == '[object String]';
21820 };
21821
21822 var isNumber = function isNumber(value) {
21823 return typeof value == 'number' || toString.call(value) == '[object Number]';
21824 };
21825
21826 var isFunction = function isFunction(value) {
21827 return typeof value == 'function';
21828 };
21829
21830 var isMap = function isMap(value) {
21831 return toString.call(value) == '[object Map]';
21832 };
21833
21834 var isSet = function isSet(value) {
21835 return toString.call(value) == '[object Set]';
21836 };
21837
21838 var singleEscapes = {
21839 '"': '\\"',
21840 '\'': '\\\'',
21841 '\\': '\\\\',
21842 '\b': '\\b',
21843 '\f': '\\f',
21844 '\n': '\\n',
21845 '\r': '\\r',
21846 '\t': '\\t'
21847 };
21848 var regexSingleEscape = /["'\\\b\f\n\r\t]/;
21849 var regexDigit = /[0-9]/;
21850 var regexWhitelist = /[ !#-&\(-\[\]-_a-~]/;
21851
21852 var jsesc$1 = function jsesc(argument, options) {
21853 var increaseIndentation = function increaseIndentation() {
21854 oldIndent = indent;
21855 ++options.indentLevel;
21856 indent = options.indent.repeat(options.indentLevel);
21857 };
21858
21859 var defaults = {
21860 'escapeEverything': false,
21861 'minimal': false,
21862 'isScriptContext': false,
21863 'quotes': 'single',
21864 'wrap': false,
21865 'es6': false,
21866 'json': false,
21867 'compact': true,
21868 'lowercaseHex': false,
21869 'numbers': 'decimal',
21870 'indent': '\t',
21871 'indentLevel': 0,
21872 '__inline1__': false,
21873 '__inline2__': false
21874 };
21875 var json = options && options.json;
21876
21877 if (json) {
21878 defaults.quotes = 'double';
21879 defaults.wrap = true;
21880 }
21881
21882 options = extend(defaults, options);
21883
21884 if (options.quotes != 'single' && options.quotes != 'double' && options.quotes != 'backtick') {
21885 options.quotes = 'single';
21886 }
21887
21888 var quote = options.quotes == 'double' ? '"' : options.quotes == 'backtick' ? '`' : '\'';
21889 var compact = options.compact;
21890 var lowercaseHex = options.lowercaseHex;
21891 var indent = options.indent.repeat(options.indentLevel);
21892 var oldIndent = '';
21893 var inline1 = options.__inline1__;
21894 var inline2 = options.__inline2__;
21895 var newLine = compact ? '' : '\n';
21896 var result;
21897 var isEmpty = true;
21898 var useBinNumbers = options.numbers == 'binary';
21899 var useOctNumbers = options.numbers == 'octal';
21900 var useDecNumbers = options.numbers == 'decimal';
21901 var useHexNumbers = options.numbers == 'hexadecimal';
21902
21903 if (json && argument && isFunction(argument.toJSON)) {
21904 argument = argument.toJSON();
21905 }
21906
21907 if (!isString(argument)) {
21908 if (isMap(argument)) {
21909 if (argument.size == 0) {
21910 return 'new Map()';
21911 }
21912
21913 if (!compact) {
21914 options.__inline1__ = true;
21915 options.__inline2__ = false;
21916 }
21917
21918 return 'new Map(' + jsesc(Array.from(argument), options) + ')';
21919 }
21920
21921 if (isSet(argument)) {
21922 if (argument.size == 0) {
21923 return 'new Set()';
21924 }
21925
21926 return 'new Set(' + jsesc(Array.from(argument), options) + ')';
21927 }
21928
21929 if (isBuffer(argument)) {
21930 if (argument.length == 0) {
21931 return 'Buffer.from([])';
21932 }
21933
21934 return 'Buffer.from(' + jsesc(Array.from(argument), options) + ')';
21935 }
21936
21937 if (isArray$1(argument)) {
21938 result = [];
21939 options.wrap = true;
21940
21941 if (inline1) {
21942 options.__inline1__ = false;
21943 options.__inline2__ = true;
21944 }
21945
21946 if (!inline2) {
21947 increaseIndentation();
21948 }
21949
21950 forEach(argument, function (value) {
21951 isEmpty = false;
21952
21953 if (inline2) {
21954 options.__inline2__ = false;
21955 }
21956
21957 result.push((compact || inline2 ? '' : indent) + jsesc(value, options));
21958 });
21959
21960 if (isEmpty) {
21961 return '[]';
21962 }
21963
21964 if (inline2) {
21965 return '[' + result.join(', ') + ']';
21966 }
21967
21968 return '[' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + ']';
21969 } else if (isNumber(argument)) {
21970 if (json) {
21971 return JSON.stringify(argument);
21972 }
21973
21974 if (useDecNumbers) {
21975 return String(argument);
21976 }
21977
21978 if (useHexNumbers) {
21979 var hexadecimal = argument.toString(16);
21980
21981 if (!lowercaseHex) {
21982 hexadecimal = hexadecimal.toUpperCase();
21983 }
21984
21985 return '0x' + hexadecimal;
21986 }
21987
21988 if (useBinNumbers) {
21989 return '0b' + argument.toString(2);
21990 }
21991
21992 if (useOctNumbers) {
21993 return '0o' + argument.toString(8);
21994 }
21995 } else if (!isObject(argument)) {
21996 if (json) {
21997 return JSON.stringify(argument) || 'null';
21998 }
21999
22000 return String(argument);
22001 } else {
22002 result = [];
22003 options.wrap = true;
22004 increaseIndentation();
22005 forOwn(argument, function (key, value) {
22006 isEmpty = false;
22007 result.push((compact ? '' : indent) + jsesc(key, options) + ':' + (compact ? '' : ' ') + jsesc(value, options));
22008 });
22009
22010 if (isEmpty) {
22011 return '{}';
22012 }
22013
22014 return '{' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + '}';
22015 }
22016 }
22017
22018 var string = argument;
22019 var index = -1;
22020 var length = string.length;
22021 result = '';
22022
22023 while (++index < length) {
22024 var character = string.charAt(index);
22025
22026 if (options.es6) {
22027 var first = string.charCodeAt(index);
22028
22029 if (first >= 0xD800 && first <= 0xDBFF && length > index + 1) {
22030 var second = string.charCodeAt(index + 1);
22031
22032 if (second >= 0xDC00 && second <= 0xDFFF) {
22033 var codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
22034
22035 var _hexadecimal2 = codePoint.toString(16);
22036
22037 if (!lowercaseHex) {
22038 _hexadecimal2 = _hexadecimal2.toUpperCase();
22039 }
22040
22041 result += "\\u{" + _hexadecimal2 + '}';
22042 ++index;
22043 continue;
22044 }
22045 }
22046 }
22047
22048 if (!options.escapeEverything) {
22049 if (regexWhitelist.test(character)) {
22050 result += character;
22051 continue;
22052 }
22053
22054 if (character == '"') {
22055 result += quote == character ? '\\"' : character;
22056 continue;
22057 }
22058
22059 if (character == '`') {
22060 result += quote == character ? '\\`' : character;
22061 continue;
22062 }
22063
22064 if (character == '\'') {
22065 result += quote == character ? '\\\'' : character;
22066 continue;
22067 }
22068 }
22069
22070 if (character == '\0' && !json && !regexDigit.test(string.charAt(index + 1))) {
22071 result += '\\0';
22072 continue;
22073 }
22074
22075 if (regexSingleEscape.test(character)) {
22076 result += singleEscapes[character];
22077 continue;
22078 }
22079
22080 var charCode = character.charCodeAt(0);
22081
22082 if (options.minimal && charCode != 0x2028 && charCode != 0x2029) {
22083 result += character;
22084 continue;
22085 }
22086
22087 var _hexadecimal = charCode.toString(16);
22088
22089 if (!lowercaseHex) {
22090 _hexadecimal = _hexadecimal.toUpperCase();
22091 }
22092
22093 var longhand = _hexadecimal.length > 2 || json;
22094
22095 var escaped = '\\' + (longhand ? 'u' : 'x') + ('0000' + _hexadecimal).slice(longhand ? -4 : -2);
22096
22097 result += escaped;
22098 continue;
22099 }
22100
22101 if (options.wrap) {
22102 result = quote + result + quote;
22103 }
22104
22105 if (quote == '`') {
22106 result = result.replace(/\$\{/g, '\\\$\{');
22107 }
22108
22109 if (options.isScriptContext) {
22110 return result.replace(/<\/(script|style)/gi, '<\\/$1').replace(/<!--/g, json ? "\\u003C!--" : '\\x3C!--');
22111 }
22112
22113 return result;
22114 };
22115
22116 jsesc$1.version = '2.5.2';
22117 var jsesc_1 = jsesc$1;
22118
22119 var jsesc = jsesc_1;
22120
22121 function Identifier(node) {
22122 var _this = this;
22123
22124 this.exactSource(node.loc, function () {
22125 _this.word(node.name);
22126 });
22127 }
22128 function ArgumentPlaceholder() {
22129 this.token("?");
22130 }
22131 function RestElement$1(node) {
22132 this.token("...");
22133 this.print(node.argument, node);
22134 }
22135 function ObjectExpression$1(node) {
22136 var props = node.properties;
22137 this.token("{");
22138 this.printInnerComments(node);
22139
22140 if (props.length) {
22141 this.space();
22142 this.printList(props, node, {
22143 indent: true,
22144 statement: true
22145 });
22146 this.space();
22147 }
22148
22149 this.token("}");
22150 }
22151 function ObjectMethod(node) {
22152 this.printJoin(node.decorators, node);
22153
22154 this._methodHead(node);
22155
22156 this.space();
22157 this.print(node.body, node);
22158 }
22159 function ObjectProperty(node) {
22160 this.printJoin(node.decorators, node);
22161
22162 if (node.computed) {
22163 this.token("[");
22164 this.print(node.key, node);
22165 this.token("]");
22166 } else {
22167 if (isAssignmentPattern(node.value) && isIdentifier(node.key) && node.key.name === node.value.left.name) {
22168 this.print(node.value, node);
22169 return;
22170 }
22171
22172 this.print(node.key, node);
22173
22174 if (node.shorthand && isIdentifier(node.key) && isIdentifier(node.value) && node.key.name === node.value.name) {
22175 return;
22176 }
22177 }
22178
22179 this.token(":");
22180 this.space();
22181 this.print(node.value, node);
22182 }
22183 function ArrayExpression$1(node) {
22184 var elems = node.elements;
22185 var len = elems.length;
22186 this.token("[");
22187 this.printInnerComments(node);
22188
22189 for (var i = 0; i < elems.length; i++) {
22190 var elem = elems[i];
22191
22192 if (elem) {
22193 if (i > 0) this.space();
22194 this.print(elem, node);
22195 if (i < len - 1) this.token(",");
22196 } else {
22197 this.token(",");
22198 }
22199 }
22200
22201 this.token("]");
22202 }
22203 function RecordExpression(node) {
22204 var props = node.properties;
22205 var startToken;
22206 var endToken;
22207
22208 if (this.format.recordAndTupleSyntaxType === "bar") {
22209 startToken = "{|";
22210 endToken = "|}";
22211 } else if (this.format.recordAndTupleSyntaxType === "hash") {
22212 startToken = "#{";
22213 endToken = "}";
22214 } else {
22215 throw new Error("The \"recordAndTupleSyntaxType\" generator option must be \"bar\" or \"hash\" (" + JSON.stringify(this.format.recordAndTupleSyntaxType) + " received).");
22216 }
22217
22218 this.token(startToken);
22219 this.printInnerComments(node);
22220
22221 if (props.length) {
22222 this.space();
22223 this.printList(props, node, {
22224 indent: true,
22225 statement: true
22226 });
22227 this.space();
22228 }
22229
22230 this.token(endToken);
22231 }
22232 function TupleExpression(node) {
22233 var elems = node.elements;
22234 var len = elems.length;
22235 var startToken;
22236 var endToken;
22237
22238 if (this.format.recordAndTupleSyntaxType === "bar") {
22239 startToken = "[|";
22240 endToken = "|]";
22241 } else if (this.format.recordAndTupleSyntaxType === "hash") {
22242 startToken = "#[";
22243 endToken = "]";
22244 } else {
22245 throw new Error(this.format.recordAndTupleSyntaxType + " is not a valid recordAndTuple syntax type");
22246 }
22247
22248 this.token(startToken);
22249 this.printInnerComments(node);
22250
22251 for (var i = 0; i < elems.length; i++) {
22252 var elem = elems[i];
22253
22254 if (elem) {
22255 if (i > 0) this.space();
22256 this.print(elem, node);
22257 if (i < len - 1) this.token(",");
22258 }
22259 }
22260
22261 this.token(endToken);
22262 }
22263 function RegExpLiteral$1(node) {
22264 this.word("/" + node.pattern + "/" + node.flags);
22265 }
22266 function BooleanLiteral$1(node) {
22267 this.word(node.value ? "true" : "false");
22268 }
22269 function NullLiteral$1() {
22270 this.word("null");
22271 }
22272 function NumericLiteral$2(node) {
22273 var raw = this.getPossibleRaw(node);
22274 var opts = this.format.jsescOption;
22275 var value = node.value + "";
22276
22277 if (opts.numbers) {
22278 this.number(jsesc(node.value, opts));
22279 } else if (raw == null) {
22280 this.number(value);
22281 } else if (this.format.minified) {
22282 this.number(raw.length < value.length ? raw : value);
22283 } else {
22284 this.number(raw);
22285 }
22286 }
22287 function StringLiteral$2(node) {
22288 var raw = this.getPossibleRaw(node);
22289
22290 if (!this.format.minified && raw != null) {
22291 this.token(raw);
22292 return;
22293 }
22294
22295 var val = jsesc(node.value, Object.assign(this.format.jsescOption, this.format.jsonCompatibleStrings && {
22296 json: true
22297 }));
22298 return this.token(val);
22299 }
22300 function BigIntLiteral(node) {
22301 var raw = this.getPossibleRaw(node);
22302
22303 if (!this.format.minified && raw != null) {
22304 this.word(raw);
22305 return;
22306 }
22307
22308 this.word(node.value + "n");
22309 }
22310 function DecimalLiteral(node) {
22311 var raw = this.getPossibleRaw(node);
22312
22313 if (!this.format.minified && raw != null) {
22314 this.word(raw);
22315 return;
22316 }
22317
22318 this.word(node.value + "m");
22319 }
22320 function PipelineTopicExpression(node) {
22321 this.print(node.expression, node);
22322 }
22323 function PipelineBareFunction(node) {
22324 this.print(node.callee, node);
22325 }
22326 function PipelinePrimaryTopicReference() {
22327 this.token("#");
22328 }
22329
22330 function AnyTypeAnnotation() {
22331 this.word("any");
22332 }
22333 function ArrayTypeAnnotation(node) {
22334 this.print(node.elementType, node);
22335 this.token("[");
22336 this.token("]");
22337 }
22338 function BooleanTypeAnnotation() {
22339 this.word("boolean");
22340 }
22341 function BooleanLiteralTypeAnnotation(node) {
22342 this.word(node.value ? "true" : "false");
22343 }
22344 function NullLiteralTypeAnnotation() {
22345 this.word("null");
22346 }
22347 function DeclareClass(node, parent) {
22348 if (!isDeclareExportDeclaration(parent)) {
22349 this.word("declare");
22350 this.space();
22351 }
22352
22353 this.word("class");
22354 this.space();
22355
22356 this._interfaceish(node);
22357 }
22358 function DeclareFunction(node, parent) {
22359 if (!isDeclareExportDeclaration(parent)) {
22360 this.word("declare");
22361 this.space();
22362 }
22363
22364 this.word("function");
22365 this.space();
22366 this.print(node.id, node);
22367 this.print(node.id.typeAnnotation.typeAnnotation, node);
22368
22369 if (node.predicate) {
22370 this.space();
22371 this.print(node.predicate, node);
22372 }
22373
22374 this.semicolon();
22375 }
22376 function InferredPredicate() {
22377 this.token("%");
22378 this.word("checks");
22379 }
22380 function DeclaredPredicate(node) {
22381 this.token("%");
22382 this.word("checks");
22383 this.token("(");
22384 this.print(node.value, node);
22385 this.token(")");
22386 }
22387 function DeclareInterface(node) {
22388 this.word("declare");
22389 this.space();
22390 this.InterfaceDeclaration(node);
22391 }
22392 function DeclareModule(node) {
22393 this.word("declare");
22394 this.space();
22395 this.word("module");
22396 this.space();
22397 this.print(node.id, node);
22398 this.space();
22399 this.print(node.body, node);
22400 }
22401 function DeclareModuleExports(node) {
22402 this.word("declare");
22403 this.space();
22404 this.word("module");
22405 this.token(".");
22406 this.word("exports");
22407 this.print(node.typeAnnotation, node);
22408 }
22409 function DeclareTypeAlias(node) {
22410 this.word("declare");
22411 this.space();
22412 this.TypeAlias(node);
22413 }
22414 function DeclareOpaqueType(node, parent) {
22415 if (!isDeclareExportDeclaration(parent)) {
22416 this.word("declare");
22417 this.space();
22418 }
22419
22420 this.OpaqueType(node);
22421 }
22422 function DeclareVariable(node, parent) {
22423 if (!isDeclareExportDeclaration(parent)) {
22424 this.word("declare");
22425 this.space();
22426 }
22427
22428 this.word("var");
22429 this.space();
22430 this.print(node.id, node);
22431 this.print(node.id.typeAnnotation, node);
22432 this.semicolon();
22433 }
22434 function DeclareExportDeclaration(node) {
22435 this.word("declare");
22436 this.space();
22437 this.word("export");
22438 this.space();
22439
22440 if (node["default"]) {
22441 this.word("default");
22442 this.space();
22443 }
22444
22445 FlowExportDeclaration.apply(this, arguments);
22446 }
22447 function DeclareExportAllDeclaration() {
22448 this.word("declare");
22449 this.space();
22450 ExportAllDeclaration.apply(this, arguments);
22451 }
22452 function EnumDeclaration(node) {
22453 var id = node.id,
22454 body = node.body;
22455 this.word("enum");
22456 this.space();
22457 this.print(id, node);
22458 this.print(body, node);
22459 }
22460
22461 function enumExplicitType(context, name, hasExplicitType) {
22462 if (hasExplicitType) {
22463 context.space();
22464 context.word("of");
22465 context.space();
22466 context.word(name);
22467 }
22468
22469 context.space();
22470 }
22471
22472 function enumBody(context, node) {
22473 var members = node.members;
22474 context.token("{");
22475 context.indent();
22476 context.newline();
22477
22478 for (var _iterator = _createForOfIteratorHelperLoose(members), _step; !(_step = _iterator()).done;) {
22479 var member = _step.value;
22480 context.print(member, node);
22481 context.newline();
22482 }
22483
22484 if (node.hasUnknownMembers) {
22485 context.token("...");
22486 context.newline();
22487 }
22488
22489 context.dedent();
22490 context.token("}");
22491 }
22492
22493 function EnumBooleanBody(node) {
22494 var explicitType = node.explicitType;
22495 enumExplicitType(this, "boolean", explicitType);
22496 enumBody(this, node);
22497 }
22498 function EnumNumberBody(node) {
22499 var explicitType = node.explicitType;
22500 enumExplicitType(this, "number", explicitType);
22501 enumBody(this, node);
22502 }
22503 function EnumStringBody(node) {
22504 var explicitType = node.explicitType;
22505 enumExplicitType(this, "string", explicitType);
22506 enumBody(this, node);
22507 }
22508 function EnumSymbolBody(node) {
22509 enumExplicitType(this, "symbol", true);
22510 enumBody(this, node);
22511 }
22512 function EnumDefaultedMember(node) {
22513 var id = node.id;
22514 this.print(id, node);
22515 this.token(",");
22516 }
22517
22518 function enumInitializedMember(context, node) {
22519 var id = node.id,
22520 init = node.init;
22521 context.print(id, node);
22522 context.space();
22523 context.token("=");
22524 context.space();
22525 context.print(init, node);
22526 context.token(",");
22527 }
22528
22529 function EnumBooleanMember(node) {
22530 enumInitializedMember(this, node);
22531 }
22532 function EnumNumberMember(node) {
22533 enumInitializedMember(this, node);
22534 }
22535 function EnumStringMember(node) {
22536 enumInitializedMember(this, node);
22537 }
22538
22539 function FlowExportDeclaration(node) {
22540 if (node.declaration) {
22541 var declar = node.declaration;
22542 this.print(declar, node);
22543 if (!isStatement(declar)) this.semicolon();
22544 } else {
22545 this.token("{");
22546
22547 if (node.specifiers.length) {
22548 this.space();
22549 this.printList(node.specifiers, node);
22550 this.space();
22551 }
22552
22553 this.token("}");
22554
22555 if (node.source) {
22556 this.space();
22557 this.word("from");
22558 this.space();
22559 this.print(node.source, node);
22560 }
22561
22562 this.semicolon();
22563 }
22564 }
22565
22566 function ExistsTypeAnnotation() {
22567 this.token("*");
22568 }
22569 function FunctionTypeAnnotation(node, parent) {
22570 this.print(node.typeParameters, node);
22571 this.token("(");
22572
22573 if (node["this"]) {
22574 this.word("this");
22575 this.token(":");
22576 this.space();
22577 this.print(node["this"].typeAnnotation, node);
22578
22579 if (node.params.length || node.rest) {
22580 this.token(",");
22581 this.space();
22582 }
22583 }
22584
22585 this.printList(node.params, node);
22586
22587 if (node.rest) {
22588 if (node.params.length) {
22589 this.token(",");
22590 this.space();
22591 }
22592
22593 this.token("...");
22594 this.print(node.rest, node);
22595 }
22596
22597 this.token(")");
22598
22599 if (parent.type === "ObjectTypeCallProperty" || parent.type === "DeclareFunction" || parent.type === "ObjectTypeProperty" && parent.method) {
22600 this.token(":");
22601 } else {
22602 this.space();
22603 this.token("=>");
22604 }
22605
22606 this.space();
22607 this.print(node.returnType, node);
22608 }
22609 function FunctionTypeParam(node) {
22610 this.print(node.name, node);
22611 if (node.optional) this.token("?");
22612
22613 if (node.name) {
22614 this.token(":");
22615 this.space();
22616 }
22617
22618 this.print(node.typeAnnotation, node);
22619 }
22620 function InterfaceExtends(node) {
22621 this.print(node.id, node);
22622 this.print(node.typeParameters, node);
22623 }
22624 function _interfaceish(node) {
22625 var _node$extends;
22626
22627 this.print(node.id, node);
22628 this.print(node.typeParameters, node);
22629
22630 if ((_node$extends = node["extends"]) != null && _node$extends.length) {
22631 this.space();
22632 this.word("extends");
22633 this.space();
22634 this.printList(node["extends"], node);
22635 }
22636
22637 if (node.mixins && node.mixins.length) {
22638 this.space();
22639 this.word("mixins");
22640 this.space();
22641 this.printList(node.mixins, node);
22642 }
22643
22644 if (node["implements"] && node["implements"].length) {
22645 this.space();
22646 this.word("implements");
22647 this.space();
22648 this.printList(node["implements"], node);
22649 }
22650
22651 this.space();
22652 this.print(node.body, node);
22653 }
22654 function _variance(node) {
22655 if (node.variance) {
22656 if (node.variance.kind === "plus") {
22657 this.token("+");
22658 } else if (node.variance.kind === "minus") {
22659 this.token("-");
22660 }
22661 }
22662 }
22663 function InterfaceDeclaration(node) {
22664 this.word("interface");
22665 this.space();
22666
22667 this._interfaceish(node);
22668 }
22669
22670 function andSeparator() {
22671 this.space();
22672 this.token("&");
22673 this.space();
22674 }
22675
22676 function InterfaceTypeAnnotation(node) {
22677 this.word("interface");
22678
22679 if (node["extends"] && node["extends"].length) {
22680 this.space();
22681 this.word("extends");
22682 this.space();
22683 this.printList(node["extends"], node);
22684 }
22685
22686 this.space();
22687 this.print(node.body, node);
22688 }
22689 function IntersectionTypeAnnotation(node) {
22690 this.printJoin(node.types, node, {
22691 separator: andSeparator
22692 });
22693 }
22694 function MixedTypeAnnotation() {
22695 this.word("mixed");
22696 }
22697 function EmptyTypeAnnotation() {
22698 this.word("empty");
22699 }
22700 function NullableTypeAnnotation(node) {
22701 this.token("?");
22702 this.print(node.typeAnnotation, node);
22703 }
22704 function NumberTypeAnnotation() {
22705 this.word("number");
22706 }
22707 function StringTypeAnnotation() {
22708 this.word("string");
22709 }
22710 function ThisTypeAnnotation() {
22711 this.word("this");
22712 }
22713 function TupleTypeAnnotation(node) {
22714 this.token("[");
22715 this.printList(node.types, node);
22716 this.token("]");
22717 }
22718 function TypeofTypeAnnotation(node) {
22719 this.word("typeof");
22720 this.space();
22721 this.print(node.argument, node);
22722 }
22723 function TypeAlias(node) {
22724 this.word("type");
22725 this.space();
22726 this.print(node.id, node);
22727 this.print(node.typeParameters, node);
22728 this.space();
22729 this.token("=");
22730 this.space();
22731 this.print(node.right, node);
22732 this.semicolon();
22733 }
22734 function TypeAnnotation(node) {
22735 this.token(":");
22736 this.space();
22737 if (node.optional) this.token("?");
22738 this.print(node.typeAnnotation, node);
22739 }
22740 function TypeParameterInstantiation(node) {
22741 this.token("<");
22742 this.printList(node.params, node, {});
22743 this.token(">");
22744 }
22745 function TypeParameter(node) {
22746 this._variance(node);
22747
22748 this.word(node.name);
22749
22750 if (node.bound) {
22751 this.print(node.bound, node);
22752 }
22753
22754 if (node["default"]) {
22755 this.space();
22756 this.token("=");
22757 this.space();
22758 this.print(node["default"], node);
22759 }
22760 }
22761 function OpaqueType(node) {
22762 this.word("opaque");
22763 this.space();
22764 this.word("type");
22765 this.space();
22766 this.print(node.id, node);
22767 this.print(node.typeParameters, node);
22768
22769 if (node.supertype) {
22770 this.token(":");
22771 this.space();
22772 this.print(node.supertype, node);
22773 }
22774
22775 if (node.impltype) {
22776 this.space();
22777 this.token("=");
22778 this.space();
22779 this.print(node.impltype, node);
22780 }
22781
22782 this.semicolon();
22783 }
22784 function ObjectTypeAnnotation(node) {
22785 var _this = this;
22786
22787 if (node.exact) {
22788 this.token("{|");
22789 } else {
22790 this.token("{");
22791 }
22792
22793 var props = [].concat(_toConsumableArray(node.properties), _toConsumableArray(node.callProperties || []), _toConsumableArray(node.indexers || []), _toConsumableArray(node.internalSlots || []));
22794
22795 if (props.length) {
22796 this.space();
22797 this.printJoin(props, node, {
22798 addNewlines: function addNewlines(leading) {
22799 if (leading && !props[0]) return 1;
22800 },
22801 indent: true,
22802 statement: true,
22803 iterator: function iterator() {
22804 if (props.length !== 1 || node.inexact) {
22805 _this.token(",");
22806
22807 _this.space();
22808 }
22809 }
22810 });
22811 this.space();
22812 }
22813
22814 if (node.inexact) {
22815 this.indent();
22816 this.token("...");
22817
22818 if (props.length) {
22819 this.newline();
22820 }
22821
22822 this.dedent();
22823 }
22824
22825 if (node.exact) {
22826 this.token("|}");
22827 } else {
22828 this.token("}");
22829 }
22830 }
22831 function ObjectTypeInternalSlot(node) {
22832 if (node["static"]) {
22833 this.word("static");
22834 this.space();
22835 }
22836
22837 this.token("[");
22838 this.token("[");
22839 this.print(node.id, node);
22840 this.token("]");
22841 this.token("]");
22842 if (node.optional) this.token("?");
22843
22844 if (!node.method) {
22845 this.token(":");
22846 this.space();
22847 }
22848
22849 this.print(node.value, node);
22850 }
22851 function ObjectTypeCallProperty(node) {
22852 if (node["static"]) {
22853 this.word("static");
22854 this.space();
22855 }
22856
22857 this.print(node.value, node);
22858 }
22859 function ObjectTypeIndexer(node) {
22860 if (node["static"]) {
22861 this.word("static");
22862 this.space();
22863 }
22864
22865 this._variance(node);
22866
22867 this.token("[");
22868
22869 if (node.id) {
22870 this.print(node.id, node);
22871 this.token(":");
22872 this.space();
22873 }
22874
22875 this.print(node.key, node);
22876 this.token("]");
22877 this.token(":");
22878 this.space();
22879 this.print(node.value, node);
22880 }
22881 function ObjectTypeProperty(node) {
22882 if (node.proto) {
22883 this.word("proto");
22884 this.space();
22885 }
22886
22887 if (node["static"]) {
22888 this.word("static");
22889 this.space();
22890 }
22891
22892 if (node.kind === "get" || node.kind === "set") {
22893 this.word(node.kind);
22894 this.space();
22895 }
22896
22897 this._variance(node);
22898
22899 this.print(node.key, node);
22900 if (node.optional) this.token("?");
22901
22902 if (!node.method) {
22903 this.token(":");
22904 this.space();
22905 }
22906
22907 this.print(node.value, node);
22908 }
22909 function ObjectTypeSpreadProperty(node) {
22910 this.token("...");
22911 this.print(node.argument, node);
22912 }
22913 function QualifiedTypeIdentifier(node) {
22914 this.print(node.qualification, node);
22915 this.token(".");
22916 this.print(node.id, node);
22917 }
22918 function SymbolTypeAnnotation() {
22919 this.word("symbol");
22920 }
22921
22922 function orSeparator() {
22923 this.space();
22924 this.token("|");
22925 this.space();
22926 }
22927
22928 function UnionTypeAnnotation(node) {
22929 this.printJoin(node.types, node, {
22930 separator: orSeparator
22931 });
22932 }
22933 function TypeCastExpression$1(node) {
22934 this.token("(");
22935 this.print(node.expression, node);
22936 this.print(node.typeAnnotation, node);
22937 this.token(")");
22938 }
22939 function Variance(node) {
22940 if (node.kind === "plus") {
22941 this.token("+");
22942 } else {
22943 this.token("-");
22944 }
22945 }
22946 function VoidTypeAnnotation() {
22947 this.word("void");
22948 }
22949 function IndexedAccessType(node) {
22950 this.print(node.objectType, node);
22951 this.token("[");
22952 this.print(node.indexType, node);
22953 this.token("]");
22954 }
22955 function OptionalIndexedAccessType(node) {
22956 this.print(node.objectType, node);
22957
22958 if (node.optional) {
22959 this.token("?.");
22960 }
22961
22962 this.token("[");
22963 this.print(node.indexType, node);
22964 this.token("]");
22965 }
22966
22967 function File$1(node) {
22968 if (node.program) {
22969 this.print(node.program.interpreter, node);
22970 }
22971
22972 this.print(node.program, node);
22973 }
22974 function Program(node) {
22975 this.printInnerComments(node, false);
22976 this.printSequence(node.directives, node);
22977 if (node.directives && node.directives.length) this.newline();
22978 this.printSequence(node.body, node);
22979 }
22980 function BlockStatement(node) {
22981 var _node$directives;
22982
22983 this.token("{");
22984 this.printInnerComments(node);
22985 var hasDirectives = (_node$directives = node.directives) == null ? void 0 : _node$directives.length;
22986
22987 if (node.body.length || hasDirectives) {
22988 this.newline();
22989 this.printSequence(node.directives, node, {
22990 indent: true
22991 });
22992 if (hasDirectives) this.newline();
22993 this.printSequence(node.body, node, {
22994 indent: true
22995 });
22996 this.removeTrailingNewline();
22997 this.source("end", node.loc);
22998 if (!this.endsWith("\n")) this.newline();
22999 this.rightBrace();
23000 } else {
23001 this.source("end", node.loc);
23002 this.token("}");
23003 }
23004 }
23005 function Directive(node) {
23006 this.print(node.value, node);
23007 this.semicolon();
23008 }
23009 var unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/;
23010 var unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/;
23011 function DirectiveLiteral(node) {
23012 var raw = this.getPossibleRaw(node);
23013
23014 if (raw != null) {
23015 this.token(raw);
23016 return;
23017 }
23018
23019 var value = node.value;
23020
23021 if (!unescapedDoubleQuoteRE.test(value)) {
23022 this.token("\"" + value + "\"");
23023 } else if (!unescapedSingleQuoteRE.test(value)) {
23024 this.token("'" + value + "'");
23025 } else {
23026 throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes.");
23027 }
23028 }
23029 function InterpreterDirective(node) {
23030 this.token("#!" + node.value + "\n");
23031 }
23032 function Placeholder(node) {
23033 this.token("%%");
23034 this.print(node.name);
23035 this.token("%%");
23036
23037 if (node.expectedNode === "Statement") {
23038 this.semicolon();
23039 }
23040 }
23041
23042 function JSXAttribute(node) {
23043 this.print(node.name, node);
23044
23045 if (node.value) {
23046 this.token("=");
23047 this.print(node.value, node);
23048 }
23049 }
23050 function JSXIdentifier$1(node) {
23051 this.word(node.name);
23052 }
23053 function JSXNamespacedName(node) {
23054 this.print(node.namespace, node);
23055 this.token(":");
23056 this.print(node.name, node);
23057 }
23058 function JSXMemberExpression(node) {
23059 this.print(node.object, node);
23060 this.token(".");
23061 this.print(node.property, node);
23062 }
23063 function JSXSpreadAttribute(node) {
23064 this.token("{");
23065 this.token("...");
23066 this.print(node.argument, node);
23067 this.token("}");
23068 }
23069 function JSXExpressionContainer(node) {
23070 this.token("{");
23071 this.print(node.expression, node);
23072 this.token("}");
23073 }
23074 function JSXSpreadChild(node) {
23075 this.token("{");
23076 this.token("...");
23077 this.print(node.expression, node);
23078 this.token("}");
23079 }
23080 function JSXText$1(node) {
23081 var raw = this.getPossibleRaw(node);
23082
23083 if (raw != null) {
23084 this.token(raw);
23085 } else {
23086 this.token(node.value);
23087 }
23088 }
23089 function JSXElement(node) {
23090 var open = node.openingElement;
23091 this.print(open, node);
23092 if (open.selfClosing) return;
23093 this.indent();
23094
23095 for (var _iterator = _createForOfIteratorHelperLoose(node.children), _step; !(_step = _iterator()).done;) {
23096 var child = _step.value;
23097 this.print(child, node);
23098 }
23099
23100 this.dedent();
23101 this.print(node.closingElement, node);
23102 }
23103
23104 function spaceSeparator() {
23105 this.space();
23106 }
23107
23108 function JSXOpeningElement(node) {
23109 this.token("<");
23110 this.print(node.name, node);
23111 this.print(node.typeParameters, node);
23112
23113 if (node.attributes.length > 0) {
23114 this.space();
23115 this.printJoin(node.attributes, node, {
23116 separator: spaceSeparator
23117 });
23118 }
23119
23120 if (node.selfClosing) {
23121 this.space();
23122 this.token("/>");
23123 } else {
23124 this.token(">");
23125 }
23126 }
23127 function JSXClosingElement(node) {
23128 this.token("</");
23129 this.print(node.name, node);
23130 this.token(">");
23131 }
23132 function JSXEmptyExpression(node) {
23133 this.printInnerComments(node);
23134 }
23135 function JSXFragment(node) {
23136 this.print(node.openingFragment, node);
23137 this.indent();
23138
23139 for (var _iterator2 = _createForOfIteratorHelperLoose(node.children), _step2; !(_step2 = _iterator2()).done;) {
23140 var child = _step2.value;
23141 this.print(child, node);
23142 }
23143
23144 this.dedent();
23145 this.print(node.closingFragment, node);
23146 }
23147 function JSXOpeningFragment() {
23148 this.token("<");
23149 this.token(">");
23150 }
23151 function JSXClosingFragment() {
23152 this.token("</");
23153 this.token(">");
23154 }
23155
23156 function TSTypeAnnotation(node) {
23157 this.token(":");
23158 this.space();
23159 if (node.optional) this.token("?");
23160 this.print(node.typeAnnotation, node);
23161 }
23162 function TSTypeParameterInstantiation(node) {
23163 this.token("<");
23164 this.printList(node.params, node, {});
23165 this.token(">");
23166 }
23167 function TSTypeParameter(node) {
23168 this.word(node.name);
23169
23170 if (node.constraint) {
23171 this.space();
23172 this.word("extends");
23173 this.space();
23174 this.print(node.constraint, node);
23175 }
23176
23177 if (node["default"]) {
23178 this.space();
23179 this.token("=");
23180 this.space();
23181 this.print(node["default"], node);
23182 }
23183 }
23184 function TSParameterProperty(node) {
23185 if (node.accessibility) {
23186 this.word(node.accessibility);
23187 this.space();
23188 }
23189
23190 if (node.readonly) {
23191 this.word("readonly");
23192 this.space();
23193 }
23194
23195 this._param(node.parameter);
23196 }
23197 function TSDeclareFunction(node) {
23198 if (node.declare) {
23199 this.word("declare");
23200 this.space();
23201 }
23202
23203 this._functionHead(node);
23204
23205 this.token(";");
23206 }
23207 function TSDeclareMethod(node) {
23208 this._classMethodHead(node);
23209
23210 this.token(";");
23211 }
23212 function TSQualifiedName(node) {
23213 this.print(node.left, node);
23214 this.token(".");
23215 this.print(node.right, node);
23216 }
23217 function TSCallSignatureDeclaration(node) {
23218 this.tsPrintSignatureDeclarationBase(node);
23219 this.token(";");
23220 }
23221 function TSConstructSignatureDeclaration(node) {
23222 this.word("new");
23223 this.space();
23224 this.tsPrintSignatureDeclarationBase(node);
23225 this.token(";");
23226 }
23227 function TSPropertySignature(node) {
23228 var readonly = node.readonly,
23229 initializer = node.initializer;
23230
23231 if (readonly) {
23232 this.word("readonly");
23233 this.space();
23234 }
23235
23236 this.tsPrintPropertyOrMethodName(node);
23237 this.print(node.typeAnnotation, node);
23238
23239 if (initializer) {
23240 this.space();
23241 this.token("=");
23242 this.space();
23243 this.print(initializer, node);
23244 }
23245
23246 this.token(";");
23247 }
23248 function tsPrintPropertyOrMethodName(node) {
23249 if (node.computed) {
23250 this.token("[");
23251 }
23252
23253 this.print(node.key, node);
23254
23255 if (node.computed) {
23256 this.token("]");
23257 }
23258
23259 if (node.optional) {
23260 this.token("?");
23261 }
23262 }
23263 function TSMethodSignature(node) {
23264 var kind = node.kind;
23265
23266 if (kind === "set" || kind === "get") {
23267 this.word(kind);
23268 this.space();
23269 }
23270
23271 this.tsPrintPropertyOrMethodName(node);
23272 this.tsPrintSignatureDeclarationBase(node);
23273 this.token(";");
23274 }
23275 function TSIndexSignature(node) {
23276 var readonly = node.readonly,
23277 isStatic = node["static"];
23278
23279 if (isStatic) {
23280 this.word("static");
23281 this.space();
23282 }
23283
23284 if (readonly) {
23285 this.word("readonly");
23286 this.space();
23287 }
23288
23289 this.token("[");
23290
23291 this._parameters(node.parameters, node);
23292
23293 this.token("]");
23294 this.print(node.typeAnnotation, node);
23295 this.token(";");
23296 }
23297 function TSAnyKeyword() {
23298 this.word("any");
23299 }
23300 function TSBigIntKeyword() {
23301 this.word("bigint");
23302 }
23303 function TSUnknownKeyword() {
23304 this.word("unknown");
23305 }
23306 function TSNumberKeyword() {
23307 this.word("number");
23308 }
23309 function TSObjectKeyword() {
23310 this.word("object");
23311 }
23312 function TSBooleanKeyword() {
23313 this.word("boolean");
23314 }
23315 function TSStringKeyword() {
23316 this.word("string");
23317 }
23318 function TSSymbolKeyword() {
23319 this.word("symbol");
23320 }
23321 function TSVoidKeyword() {
23322 this.word("void");
23323 }
23324 function TSUndefinedKeyword() {
23325 this.word("undefined");
23326 }
23327 function TSNullKeyword() {
23328 this.word("null");
23329 }
23330 function TSNeverKeyword() {
23331 this.word("never");
23332 }
23333 function TSIntrinsicKeyword() {
23334 this.word("intrinsic");
23335 }
23336 function TSThisType() {
23337 this.word("this");
23338 }
23339 function TSFunctionType(node) {
23340 this.tsPrintFunctionOrConstructorType(node);
23341 }
23342 function TSConstructorType(node) {
23343 if (node["abstract"]) {
23344 this.word("abstract");
23345 this.space();
23346 }
23347
23348 this.word("new");
23349 this.space();
23350 this.tsPrintFunctionOrConstructorType(node);
23351 }
23352 function tsPrintFunctionOrConstructorType(node) {
23353 var typeParameters = node.typeParameters,
23354 parameters = node.parameters;
23355 this.print(typeParameters, node);
23356 this.token("(");
23357
23358 this._parameters(parameters, node);
23359
23360 this.token(")");
23361 this.space();
23362 this.token("=>");
23363 this.space();
23364 this.print(node.typeAnnotation.typeAnnotation, node);
23365 }
23366 function TSTypeReference(node) {
23367 this.print(node.typeName, node);
23368 this.print(node.typeParameters, node);
23369 }
23370 function TSTypePredicate(node) {
23371 if (node.asserts) {
23372 this.word("asserts");
23373 this.space();
23374 }
23375
23376 this.print(node.parameterName);
23377
23378 if (node.typeAnnotation) {
23379 this.space();
23380 this.word("is");
23381 this.space();
23382 this.print(node.typeAnnotation.typeAnnotation);
23383 }
23384 }
23385 function TSTypeQuery(node) {
23386 this.word("typeof");
23387 this.space();
23388 this.print(node.exprName);
23389 }
23390 function TSTypeLiteral(node) {
23391 this.tsPrintTypeLiteralOrInterfaceBody(node.members, node);
23392 }
23393 function tsPrintTypeLiteralOrInterfaceBody(members, node) {
23394 this.tsPrintBraced(members, node);
23395 }
23396 function tsPrintBraced(members, node) {
23397 this.token("{");
23398
23399 if (members.length) {
23400 this.indent();
23401 this.newline();
23402
23403 for (var _iterator = _createForOfIteratorHelperLoose(members), _step; !(_step = _iterator()).done;) {
23404 var member = _step.value;
23405 this.print(member, node);
23406 this.newline();
23407 }
23408
23409 this.dedent();
23410 this.rightBrace();
23411 } else {
23412 this.token("}");
23413 }
23414 }
23415 function TSArrayType(node) {
23416 this.print(node.elementType, node);
23417 this.token("[]");
23418 }
23419 function TSTupleType(node) {
23420 this.token("[");
23421 this.printList(node.elementTypes, node);
23422 this.token("]");
23423 }
23424 function TSOptionalType(node) {
23425 this.print(node.typeAnnotation, node);
23426 this.token("?");
23427 }
23428 function TSRestType(node) {
23429 this.token("...");
23430 this.print(node.typeAnnotation, node);
23431 }
23432 function TSNamedTupleMember(node) {
23433 this.print(node.label, node);
23434 if (node.optional) this.token("?");
23435 this.token(":");
23436 this.space();
23437 this.print(node.elementType, node);
23438 }
23439 function TSUnionType(node) {
23440 this.tsPrintUnionOrIntersectionType(node, "|");
23441 }
23442 function TSIntersectionType(node) {
23443 this.tsPrintUnionOrIntersectionType(node, "&");
23444 }
23445 function tsPrintUnionOrIntersectionType(node, sep) {
23446 this.printJoin(node.types, node, {
23447 separator: function separator() {
23448 this.space();
23449 this.token(sep);
23450 this.space();
23451 }
23452 });
23453 }
23454 function TSConditionalType(node) {
23455 this.print(node.checkType);
23456 this.space();
23457 this.word("extends");
23458 this.space();
23459 this.print(node.extendsType);
23460 this.space();
23461 this.token("?");
23462 this.space();
23463 this.print(node.trueType);
23464 this.space();
23465 this.token(":");
23466 this.space();
23467 this.print(node.falseType);
23468 }
23469 function TSInferType(node) {
23470 this.token("infer");
23471 this.space();
23472 this.print(node.typeParameter);
23473 }
23474 function TSParenthesizedType(node) {
23475 this.token("(");
23476 this.print(node.typeAnnotation, node);
23477 this.token(")");
23478 }
23479 function TSTypeOperator(node) {
23480 this.word(node.operator);
23481 this.space();
23482 this.print(node.typeAnnotation, node);
23483 }
23484 function TSIndexedAccessType(node) {
23485 this.print(node.objectType, node);
23486 this.token("[");
23487 this.print(node.indexType, node);
23488 this.token("]");
23489 }
23490 function TSMappedType(node) {
23491 var nameType = node.nameType,
23492 optional = node.optional,
23493 readonly = node.readonly,
23494 typeParameter = node.typeParameter;
23495 this.token("{");
23496 this.space();
23497
23498 if (readonly) {
23499 tokenIfPlusMinus(this, readonly);
23500 this.word("readonly");
23501 this.space();
23502 }
23503
23504 this.token("[");
23505 this.word(typeParameter.name);
23506 this.space();
23507 this.word("in");
23508 this.space();
23509 this.print(typeParameter.constraint, typeParameter);
23510
23511 if (nameType) {
23512 this.space();
23513 this.word("as");
23514 this.space();
23515 this.print(nameType, node);
23516 }
23517
23518 this.token("]");
23519
23520 if (optional) {
23521 tokenIfPlusMinus(this, optional);
23522 this.token("?");
23523 }
23524
23525 this.token(":");
23526 this.space();
23527 this.print(node.typeAnnotation, node);
23528 this.space();
23529 this.token("}");
23530 }
23531
23532 function tokenIfPlusMinus(self, tok) {
23533 if (tok !== true) {
23534 self.token(tok);
23535 }
23536 }
23537
23538 function TSLiteralType(node) {
23539 this.print(node.literal, node);
23540 }
23541 function TSExpressionWithTypeArguments(node) {
23542 this.print(node.expression, node);
23543 this.print(node.typeParameters, node);
23544 }
23545 function TSInterfaceDeclaration(node) {
23546 var declare = node.declare,
23547 id = node.id,
23548 typeParameters = node.typeParameters,
23549 extendz = node["extends"],
23550 body = node.body;
23551
23552 if (declare) {
23553 this.word("declare");
23554 this.space();
23555 }
23556
23557 this.word("interface");
23558 this.space();
23559 this.print(id, node);
23560 this.print(typeParameters, node);
23561
23562 if (extendz != null && extendz.length) {
23563 this.space();
23564 this.word("extends");
23565 this.space();
23566 this.printList(extendz, node);
23567 }
23568
23569 this.space();
23570 this.print(body, node);
23571 }
23572 function TSInterfaceBody(node) {
23573 this.tsPrintTypeLiteralOrInterfaceBody(node.body, node);
23574 }
23575 function TSTypeAliasDeclaration(node) {
23576 var declare = node.declare,
23577 id = node.id,
23578 typeParameters = node.typeParameters,
23579 typeAnnotation = node.typeAnnotation;
23580
23581 if (declare) {
23582 this.word("declare");
23583 this.space();
23584 }
23585
23586 this.word("type");
23587 this.space();
23588 this.print(id, node);
23589 this.print(typeParameters, node);
23590 this.space();
23591 this.token("=");
23592 this.space();
23593 this.print(typeAnnotation, node);
23594 this.token(";");
23595 }
23596 function TSAsExpression(node) {
23597 var expression = node.expression,
23598 typeAnnotation = node.typeAnnotation;
23599 this.print(expression, node);
23600 this.space();
23601 this.word("as");
23602 this.space();
23603 this.print(typeAnnotation, node);
23604 }
23605 function TSTypeAssertion(node) {
23606 var typeAnnotation = node.typeAnnotation,
23607 expression = node.expression;
23608 this.token("<");
23609 this.print(typeAnnotation, node);
23610 this.token(">");
23611 this.space();
23612 this.print(expression, node);
23613 }
23614 function TSEnumDeclaration(node) {
23615 var declare = node.declare,
23616 isConst = node["const"],
23617 id = node.id,
23618 members = node.members;
23619
23620 if (declare) {
23621 this.word("declare");
23622 this.space();
23623 }
23624
23625 if (isConst) {
23626 this.word("const");
23627 this.space();
23628 }
23629
23630 this.word("enum");
23631 this.space();
23632 this.print(id, node);
23633 this.space();
23634 this.tsPrintBraced(members, node);
23635 }
23636 function TSEnumMember(node) {
23637 var id = node.id,
23638 initializer = node.initializer;
23639 this.print(id, node);
23640
23641 if (initializer) {
23642 this.space();
23643 this.token("=");
23644 this.space();
23645 this.print(initializer, node);
23646 }
23647
23648 this.token(",");
23649 }
23650 function TSModuleDeclaration(node) {
23651 var declare = node.declare,
23652 id = node.id;
23653
23654 if (declare) {
23655 this.word("declare");
23656 this.space();
23657 }
23658
23659 if (!node.global) {
23660 this.word(id.type === "Identifier" ? "namespace" : "module");
23661 this.space();
23662 }
23663
23664 this.print(id, node);
23665
23666 if (!node.body) {
23667 this.token(";");
23668 return;
23669 }
23670
23671 var body = node.body;
23672
23673 while (body.type === "TSModuleDeclaration") {
23674 this.token(".");
23675 this.print(body.id, body);
23676 body = body.body;
23677 }
23678
23679 this.space();
23680 this.print(body, node);
23681 }
23682 function TSModuleBlock(node) {
23683 this.tsPrintBraced(node.body, node);
23684 }
23685 function TSImportType(node) {
23686 var argument = node.argument,
23687 qualifier = node.qualifier,
23688 typeParameters = node.typeParameters;
23689 this.word("import");
23690 this.token("(");
23691 this.print(argument, node);
23692 this.token(")");
23693
23694 if (qualifier) {
23695 this.token(".");
23696 this.print(qualifier, node);
23697 }
23698
23699 if (typeParameters) {
23700 this.print(typeParameters, node);
23701 }
23702 }
23703 function TSImportEqualsDeclaration(node) {
23704 var isExport = node.isExport,
23705 id = node.id,
23706 moduleReference = node.moduleReference;
23707
23708 if (isExport) {
23709 this.word("export");
23710 this.space();
23711 }
23712
23713 this.word("import");
23714 this.space();
23715 this.print(id, node);
23716 this.space();
23717 this.token("=");
23718 this.space();
23719 this.print(moduleReference, node);
23720 this.token(";");
23721 }
23722 function TSExternalModuleReference(node) {
23723 this.token("require(");
23724 this.print(node.expression, node);
23725 this.token(")");
23726 }
23727 function TSNonNullExpression(node) {
23728 this.print(node.expression, node);
23729 this.token("!");
23730 }
23731 function TSExportAssignment(node) {
23732 this.word("export");
23733 this.space();
23734 this.token("=");
23735 this.space();
23736 this.print(node.expression, node);
23737 this.token(";");
23738 }
23739 function TSNamespaceExportDeclaration(node) {
23740 this.word("export");
23741 this.space();
23742 this.word("as");
23743 this.space();
23744 this.word("namespace");
23745 this.space();
23746 this.print(node.id, node);
23747 }
23748 function tsPrintSignatureDeclarationBase(node) {
23749 var typeParameters = node.typeParameters,
23750 parameters = node.parameters;
23751 this.print(typeParameters, node);
23752 this.token("(");
23753
23754 this._parameters(parameters, node);
23755
23756 this.token(")");
23757 this.print(node.typeAnnotation, node);
23758 }
23759 function tsPrintClassMemberModifiers(node, isField) {
23760 if (isField && node.declare) {
23761 this.word("declare");
23762 this.space();
23763 }
23764
23765 if (node.accessibility) {
23766 this.word(node.accessibility);
23767 this.space();
23768 }
23769
23770 if (node["static"]) {
23771 this.word("static");
23772 this.space();
23773 }
23774
23775 if (node.override) {
23776 this.word("override");
23777 this.space();
23778 }
23779
23780 if (node["abstract"]) {
23781 this.word("abstract");
23782 this.space();
23783 }
23784
23785 if (isField && node.readonly) {
23786 this.word("readonly");
23787 this.space();
23788 }
23789 }
23790
23791 var generatorFunctions = /*#__PURE__*/Object.freeze({
23792 __proto__: null,
23793 TaggedTemplateExpression: TaggedTemplateExpression$1,
23794 TemplateElement: TemplateElement,
23795 TemplateLiteral: TemplateLiteral$1,
23796 UnaryExpression: UnaryExpression$1,
23797 DoExpression: DoExpression,
23798 ParenthesizedExpression: ParenthesizedExpression$1,
23799 UpdateExpression: UpdateExpression$1,
23800 ConditionalExpression: ConditionalExpression$1,
23801 NewExpression: NewExpression$1,
23802 SequenceExpression: SequenceExpression$1,
23803 ThisExpression: ThisExpression,
23804 Super: Super,
23805 Decorator: Decorator,
23806 OptionalMemberExpression: OptionalMemberExpression,
23807 OptionalCallExpression: OptionalCallExpression,
23808 CallExpression: CallExpression$1,
23809 Import: Import,
23810 YieldExpression: YieldExpression,
23811 AwaitExpression: AwaitExpression,
23812 EmptyStatement: EmptyStatement,
23813 ExpressionStatement: ExpressionStatement,
23814 AssignmentPattern: AssignmentPattern,
23815 AssignmentExpression: AssignmentExpression$1,
23816 BindExpression: BindExpression,
23817 BinaryExpression: AssignmentExpression$1,
23818 LogicalExpression: AssignmentExpression$1,
23819 MemberExpression: MemberExpression,
23820 MetaProperty: MetaProperty,
23821 PrivateName: PrivateName,
23822 V8IntrinsicIdentifier: V8IntrinsicIdentifier,
23823 ModuleExpression: ModuleExpression,
23824 WithStatement: WithStatement,
23825 IfStatement: IfStatement,
23826 ForStatement: ForStatement,
23827 WhileStatement: WhileStatement,
23828 ForInStatement: ForInStatement,
23829 ForOfStatement: ForOfStatement,
23830 DoWhileStatement: DoWhileStatement,
23831 ContinueStatement: ContinueStatement,
23832 ReturnStatement: ReturnStatement,
23833 BreakStatement: BreakStatement,
23834 ThrowStatement: ThrowStatement,
23835 LabeledStatement: LabeledStatement,
23836 TryStatement: TryStatement,
23837 CatchClause: CatchClause,
23838 SwitchStatement: SwitchStatement,
23839 SwitchCase: SwitchCase,
23840 DebuggerStatement: DebuggerStatement,
23841 VariableDeclaration: VariableDeclaration,
23842 VariableDeclarator: VariableDeclarator$1,
23843 ClassDeclaration: ClassDeclaration,
23844 ClassExpression: ClassDeclaration,
23845 ClassBody: ClassBody,
23846 ClassProperty: ClassProperty,
23847 ClassPrivateProperty: ClassPrivateProperty,
23848 ClassMethod: ClassMethod,
23849 ClassPrivateMethod: ClassPrivateMethod,
23850 _classMethodHead: _classMethodHead,
23851 StaticBlock: StaticBlock,
23852 _params: _params,
23853 _parameters: _parameters,
23854 _param: _param,
23855 _methodHead: _methodHead,
23856 _predicate: _predicate,
23857 _functionHead: _functionHead,
23858 FunctionExpression: FunctionExpression,
23859 FunctionDeclaration: FunctionExpression,
23860 ArrowFunctionExpression: ArrowFunctionExpression,
23861 ImportSpecifier: ImportSpecifier,
23862 ImportDefaultSpecifier: ImportDefaultSpecifier,
23863 ExportDefaultSpecifier: ExportDefaultSpecifier,
23864 ExportSpecifier: ExportSpecifier,
23865 ExportNamespaceSpecifier: ExportNamespaceSpecifier,
23866 ExportAllDeclaration: ExportAllDeclaration,
23867 ExportNamedDeclaration: ExportNamedDeclaration,
23868 ExportDefaultDeclaration: ExportDefaultDeclaration,
23869 ImportDeclaration: ImportDeclaration,
23870 ImportAttribute: ImportAttribute,
23871 ImportNamespaceSpecifier: ImportNamespaceSpecifier,
23872 Identifier: Identifier,
23873 ArgumentPlaceholder: ArgumentPlaceholder,
23874 RestElement: RestElement$1,
23875 SpreadElement: RestElement$1,
23876 ObjectExpression: ObjectExpression$1,
23877 ObjectPattern: ObjectExpression$1,
23878 ObjectMethod: ObjectMethod,
23879 ObjectProperty: ObjectProperty,
23880 ArrayExpression: ArrayExpression$1,
23881 ArrayPattern: ArrayExpression$1,
23882 RecordExpression: RecordExpression,
23883 TupleExpression: TupleExpression,
23884 RegExpLiteral: RegExpLiteral$1,
23885 BooleanLiteral: BooleanLiteral$1,
23886 NullLiteral: NullLiteral$1,
23887 NumericLiteral: NumericLiteral$2,
23888 StringLiteral: StringLiteral$2,
23889 BigIntLiteral: BigIntLiteral,
23890 DecimalLiteral: DecimalLiteral,
23891 PipelineTopicExpression: PipelineTopicExpression,
23892 PipelineBareFunction: PipelineBareFunction,
23893 PipelinePrimaryTopicReference: PipelinePrimaryTopicReference,
23894 NumberLiteralTypeAnnotation: NumericLiteral$2,
23895 StringLiteralTypeAnnotation: StringLiteral$2,
23896 AnyTypeAnnotation: AnyTypeAnnotation,
23897 ArrayTypeAnnotation: ArrayTypeAnnotation,
23898 BooleanTypeAnnotation: BooleanTypeAnnotation,
23899 BooleanLiteralTypeAnnotation: BooleanLiteralTypeAnnotation,
23900 NullLiteralTypeAnnotation: NullLiteralTypeAnnotation,
23901 DeclareClass: DeclareClass,
23902 DeclareFunction: DeclareFunction,
23903 InferredPredicate: InferredPredicate,
23904 DeclaredPredicate: DeclaredPredicate,
23905 DeclareInterface: DeclareInterface,
23906 DeclareModule: DeclareModule,
23907 DeclareModuleExports: DeclareModuleExports,
23908 DeclareTypeAlias: DeclareTypeAlias,
23909 DeclareOpaqueType: DeclareOpaqueType,
23910 DeclareVariable: DeclareVariable,
23911 DeclareExportDeclaration: DeclareExportDeclaration,
23912 DeclareExportAllDeclaration: DeclareExportAllDeclaration,
23913 EnumDeclaration: EnumDeclaration,
23914 EnumBooleanBody: EnumBooleanBody,
23915 EnumNumberBody: EnumNumberBody,
23916 EnumStringBody: EnumStringBody,
23917 EnumSymbolBody: EnumSymbolBody,
23918 EnumDefaultedMember: EnumDefaultedMember,
23919 EnumBooleanMember: EnumBooleanMember,
23920 EnumNumberMember: EnumNumberMember,
23921 EnumStringMember: EnumStringMember,
23922 ExistsTypeAnnotation: ExistsTypeAnnotation,
23923 FunctionTypeAnnotation: FunctionTypeAnnotation,
23924 FunctionTypeParam: FunctionTypeParam,
23925 InterfaceExtends: InterfaceExtends,
23926 ClassImplements: InterfaceExtends,
23927 GenericTypeAnnotation: InterfaceExtends,
23928 _interfaceish: _interfaceish,
23929 _variance: _variance,
23930 InterfaceDeclaration: InterfaceDeclaration,
23931 InterfaceTypeAnnotation: InterfaceTypeAnnotation,
23932 IntersectionTypeAnnotation: IntersectionTypeAnnotation,
23933 MixedTypeAnnotation: MixedTypeAnnotation,
23934 EmptyTypeAnnotation: EmptyTypeAnnotation,
23935 NullableTypeAnnotation: NullableTypeAnnotation,
23936 NumberTypeAnnotation: NumberTypeAnnotation,
23937 StringTypeAnnotation: StringTypeAnnotation,
23938 ThisTypeAnnotation: ThisTypeAnnotation,
23939 TupleTypeAnnotation: TupleTypeAnnotation,
23940 TypeofTypeAnnotation: TypeofTypeAnnotation,
23941 TypeAlias: TypeAlias,
23942 TypeAnnotation: TypeAnnotation,
23943 TypeParameterInstantiation: TypeParameterInstantiation,
23944 TypeParameterDeclaration: TypeParameterInstantiation,
23945 TypeParameter: TypeParameter,
23946 OpaqueType: OpaqueType,
23947 ObjectTypeAnnotation: ObjectTypeAnnotation,
23948 ObjectTypeInternalSlot: ObjectTypeInternalSlot,
23949 ObjectTypeCallProperty: ObjectTypeCallProperty,
23950 ObjectTypeIndexer: ObjectTypeIndexer,
23951 ObjectTypeProperty: ObjectTypeProperty,
23952 ObjectTypeSpreadProperty: ObjectTypeSpreadProperty,
23953 QualifiedTypeIdentifier: QualifiedTypeIdentifier,
23954 SymbolTypeAnnotation: SymbolTypeAnnotation,
23955 UnionTypeAnnotation: UnionTypeAnnotation,
23956 TypeCastExpression: TypeCastExpression$1,
23957 Variance: Variance,
23958 VoidTypeAnnotation: VoidTypeAnnotation,
23959 IndexedAccessType: IndexedAccessType,
23960 OptionalIndexedAccessType: OptionalIndexedAccessType,
23961 File: File$1,
23962 Program: Program,
23963 BlockStatement: BlockStatement,
23964 Directive: Directive,
23965 DirectiveLiteral: DirectiveLiteral,
23966 InterpreterDirective: InterpreterDirective,
23967 Placeholder: Placeholder,
23968 JSXAttribute: JSXAttribute,
23969 JSXIdentifier: JSXIdentifier$1,
23970 JSXNamespacedName: JSXNamespacedName,
23971 JSXMemberExpression: JSXMemberExpression,
23972 JSXSpreadAttribute: JSXSpreadAttribute,
23973 JSXExpressionContainer: JSXExpressionContainer,
23974 JSXSpreadChild: JSXSpreadChild,
23975 JSXText: JSXText$1,
23976 JSXElement: JSXElement,
23977 JSXOpeningElement: JSXOpeningElement,
23978 JSXClosingElement: JSXClosingElement,
23979 JSXEmptyExpression: JSXEmptyExpression,
23980 JSXFragment: JSXFragment,
23981 JSXOpeningFragment: JSXOpeningFragment,
23982 JSXClosingFragment: JSXClosingFragment,
23983 TSTypeAnnotation: TSTypeAnnotation,
23984 TSTypeParameterInstantiation: TSTypeParameterInstantiation,
23985 TSTypeParameterDeclaration: TSTypeParameterInstantiation,
23986 TSTypeParameter: TSTypeParameter,
23987 TSParameterProperty: TSParameterProperty,
23988 TSDeclareFunction: TSDeclareFunction,
23989 TSDeclareMethod: TSDeclareMethod,
23990 TSQualifiedName: TSQualifiedName,
23991 TSCallSignatureDeclaration: TSCallSignatureDeclaration,
23992 TSConstructSignatureDeclaration: TSConstructSignatureDeclaration,
23993 TSPropertySignature: TSPropertySignature,
23994 tsPrintPropertyOrMethodName: tsPrintPropertyOrMethodName,
23995 TSMethodSignature: TSMethodSignature,
23996 TSIndexSignature: TSIndexSignature,
23997 TSAnyKeyword: TSAnyKeyword,
23998 TSBigIntKeyword: TSBigIntKeyword,
23999 TSUnknownKeyword: TSUnknownKeyword,
24000 TSNumberKeyword: TSNumberKeyword,
24001 TSObjectKeyword: TSObjectKeyword,
24002 TSBooleanKeyword: TSBooleanKeyword,
24003 TSStringKeyword: TSStringKeyword,
24004 TSSymbolKeyword: TSSymbolKeyword,
24005 TSVoidKeyword: TSVoidKeyword,
24006 TSUndefinedKeyword: TSUndefinedKeyword,
24007 TSNullKeyword: TSNullKeyword,
24008 TSNeverKeyword: TSNeverKeyword,
24009 TSIntrinsicKeyword: TSIntrinsicKeyword,
24010 TSThisType: TSThisType,
24011 TSFunctionType: TSFunctionType,
24012 TSConstructorType: TSConstructorType,
24013 tsPrintFunctionOrConstructorType: tsPrintFunctionOrConstructorType,
24014 TSTypeReference: TSTypeReference,
24015 TSTypePredicate: TSTypePredicate,
24016 TSTypeQuery: TSTypeQuery,
24017 TSTypeLiteral: TSTypeLiteral,
24018 tsPrintTypeLiteralOrInterfaceBody: tsPrintTypeLiteralOrInterfaceBody,
24019 tsPrintBraced: tsPrintBraced,
24020 TSArrayType: TSArrayType,
24021 TSTupleType: TSTupleType,
24022 TSOptionalType: TSOptionalType,
24023 TSRestType: TSRestType,
24024 TSNamedTupleMember: TSNamedTupleMember,
24025 TSUnionType: TSUnionType,
24026 TSIntersectionType: TSIntersectionType,
24027 tsPrintUnionOrIntersectionType: tsPrintUnionOrIntersectionType,
24028 TSConditionalType: TSConditionalType,
24029 TSInferType: TSInferType,
24030 TSParenthesizedType: TSParenthesizedType,
24031 TSTypeOperator: TSTypeOperator,
24032 TSIndexedAccessType: TSIndexedAccessType,
24033 TSMappedType: TSMappedType,
24034 TSLiteralType: TSLiteralType,
24035 TSExpressionWithTypeArguments: TSExpressionWithTypeArguments,
24036 TSInterfaceDeclaration: TSInterfaceDeclaration,
24037 TSInterfaceBody: TSInterfaceBody,
24038 TSTypeAliasDeclaration: TSTypeAliasDeclaration,
24039 TSAsExpression: TSAsExpression,
24040 TSTypeAssertion: TSTypeAssertion,
24041 TSEnumDeclaration: TSEnumDeclaration,
24042 TSEnumMember: TSEnumMember,
24043 TSModuleDeclaration: TSModuleDeclaration,
24044 TSModuleBlock: TSModuleBlock,
24045 TSImportType: TSImportType,
24046 TSImportEqualsDeclaration: TSImportEqualsDeclaration,
24047 TSExternalModuleReference: TSExternalModuleReference,
24048 TSNonNullExpression: TSNonNullExpression,
24049 TSExportAssignment: TSExportAssignment,
24050 TSNamespaceExportDeclaration: TSNamespaceExportDeclaration,
24051 tsPrintSignatureDeclarationBase: tsPrintSignatureDeclarationBase,
24052 tsPrintClassMemberModifiers: tsPrintClassMemberModifiers
24053 });
24054
24055 var SCIENTIFIC_NOTATION = /e/i;
24056 var ZERO_DECIMAL_INTEGER = /\.0+$/;
24057 var NON_DECIMAL_LITERAL = /^0[box]/;
24058 var PURE_ANNOTATION_RE = /^\s*[@#]__PURE__\s*$/;
24059
24060 var Printer = function () {
24061 function Printer(format, map) {
24062 this.inForStatementInitCounter = 0;
24063 this._printStack = [];
24064 this._indent = 0;
24065 this._insideAux = false;
24066 this._parenPushNewlineState = null;
24067 this._noLineTerminator = false;
24068 this._printAuxAfterOnNextUserNode = false;
24069 this._printedComments = new WeakSet();
24070 this._endsWithInteger = false;
24071 this._endsWithWord = false;
24072 this.format = format;
24073 this._buf = new Buffer(map);
24074 }
24075
24076 var _proto = Printer.prototype;
24077
24078 _proto.generate = function generate(ast) {
24079 this.print(ast);
24080
24081 this._maybeAddAuxComment();
24082
24083 return this._buf.get();
24084 };
24085
24086 _proto.indent = function indent() {
24087 if (this.format.compact || this.format.concise) return;
24088 this._indent++;
24089 };
24090
24091 _proto.dedent = function dedent() {
24092 if (this.format.compact || this.format.concise) return;
24093 this._indent--;
24094 };
24095
24096 _proto.semicolon = function semicolon(force) {
24097 if (force === void 0) {
24098 force = false;
24099 }
24100
24101 this._maybeAddAuxComment();
24102
24103 this._append(";", !force);
24104 };
24105
24106 _proto.rightBrace = function rightBrace() {
24107 if (this.format.minified) {
24108 this._buf.removeLastSemicolon();
24109 }
24110
24111 this.token("}");
24112 };
24113
24114 _proto.space = function space(force) {
24115 if (force === void 0) {
24116 force = false;
24117 }
24118
24119 if (this.format.compact) return;
24120
24121 if (this._buf.hasContent() && !this.endsWith(" ") && !this.endsWith("\n") || force) {
24122 this._space();
24123 }
24124 };
24125
24126 _proto.word = function word(str) {
24127 if (this._endsWithWord || this.endsWith("/") && str.indexOf("/") === 0) {
24128 this._space();
24129 }
24130
24131 this._maybeAddAuxComment();
24132
24133 this._append(str);
24134
24135 this._endsWithWord = true;
24136 };
24137
24138 _proto.number = function number(str) {
24139 this.word(str);
24140 this._endsWithInteger = Number.isInteger(+str) && !NON_DECIMAL_LITERAL.test(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str[str.length - 1] !== ".";
24141 };
24142
24143 _proto.token = function token(str) {
24144 if (str === "--" && this.endsWith("!") || str[0] === "+" && this.endsWith("+") || str[0] === "-" && this.endsWith("-") || str[0] === "." && this._endsWithInteger) {
24145 this._space();
24146 }
24147
24148 this._maybeAddAuxComment();
24149
24150 this._append(str);
24151 };
24152
24153 _proto.newline = function newline(i) {
24154 if (this.format.retainLines || this.format.compact) return;
24155
24156 if (this.format.concise) {
24157 this.space();
24158 return;
24159 }
24160
24161 if (this.endsWith("\n\n")) return;
24162 if (typeof i !== "number") i = 1;
24163 i = Math.min(2, i);
24164 if (this.endsWith("{\n") || this.endsWith(":\n")) i--;
24165 if (i <= 0) return;
24166
24167 for (var j = 0; j < i; j++) {
24168 this._newline();
24169 }
24170 };
24171
24172 _proto.endsWith = function endsWith(str) {
24173 return this._buf.endsWith(str);
24174 };
24175
24176 _proto.removeTrailingNewline = function removeTrailingNewline() {
24177 this._buf.removeTrailingNewline();
24178 };
24179
24180 _proto.exactSource = function exactSource(loc, cb) {
24181 this._catchUp("start", loc);
24182
24183 this._buf.exactSource(loc, cb);
24184 };
24185
24186 _proto.source = function source(prop, loc) {
24187 this._catchUp(prop, loc);
24188
24189 this._buf.source(prop, loc);
24190 };
24191
24192 _proto.withSource = function withSource(prop, loc, cb) {
24193 this._catchUp(prop, loc);
24194
24195 this._buf.withSource(prop, loc, cb);
24196 };
24197
24198 _proto._space = function _space() {
24199 this._append(" ", true);
24200 };
24201
24202 _proto._newline = function _newline() {
24203 this._append("\n", true);
24204 };
24205
24206 _proto._append = function _append(str, queue) {
24207 if (queue === void 0) {
24208 queue = false;
24209 }
24210
24211 this._maybeAddParen(str);
24212
24213 this._maybeIndent(str);
24214
24215 if (queue) this._buf.queue(str);else this._buf.append(str);
24216 this._endsWithWord = false;
24217 this._endsWithInteger = false;
24218 };
24219
24220 _proto._maybeIndent = function _maybeIndent(str) {
24221 if (this._indent && this.endsWith("\n") && str[0] !== "\n") {
24222 this._buf.queue(this._getIndent());
24223 }
24224 };
24225
24226 _proto._maybeAddParen = function _maybeAddParen(str) {
24227 var parenPushNewlineState = this._parenPushNewlineState;
24228 if (!parenPushNewlineState) return;
24229 var i;
24230
24231 for (i = 0; i < str.length && str[i] === " "; i++) {
24232 continue;
24233 }
24234
24235 if (i === str.length) {
24236 return;
24237 }
24238
24239 var cha = str[i];
24240
24241 if (cha !== "\n") {
24242 if (cha !== "/" || i + 1 === str.length) {
24243 this._parenPushNewlineState = null;
24244 return;
24245 }
24246
24247 var chaPost = str[i + 1];
24248
24249 if (chaPost === "*") {
24250 if (PURE_ANNOTATION_RE.test(str.slice(i + 2, str.length - 2))) {
24251 return;
24252 }
24253 } else if (chaPost !== "/") {
24254 this._parenPushNewlineState = null;
24255 return;
24256 }
24257 }
24258
24259 this.token("(");
24260 this.indent();
24261 parenPushNewlineState.printed = true;
24262 };
24263
24264 _proto._catchUp = function _catchUp(prop, loc) {
24265 if (!this.format.retainLines) return;
24266 var pos = loc ? loc[prop] : null;
24267
24268 if ((pos == null ? void 0 : pos.line) != null) {
24269 var count = pos.line - this._buf.getCurrentLine();
24270
24271 for (var i = 0; i < count; i++) {
24272 this._newline();
24273 }
24274 }
24275 };
24276
24277 _proto._getIndent = function _getIndent() {
24278 return this.format.indent.style.repeat(this._indent);
24279 };
24280
24281 _proto.startTerminatorless = function startTerminatorless(isLabel) {
24282 if (isLabel === void 0) {
24283 isLabel = false;
24284 }
24285
24286 if (isLabel) {
24287 this._noLineTerminator = true;
24288 return null;
24289 } else {
24290 return this._parenPushNewlineState = {
24291 printed: false
24292 };
24293 }
24294 };
24295
24296 _proto.endTerminatorless = function endTerminatorless(state) {
24297 this._noLineTerminator = false;
24298
24299 if (state != null && state.printed) {
24300 this.dedent();
24301 this.newline();
24302 this.token(")");
24303 }
24304 };
24305
24306 _proto.print = function print(node, parent) {
24307 var _this = this;
24308
24309 if (!node) return;
24310 var oldConcise = this.format.concise;
24311
24312 if (node._compact) {
24313 this.format.concise = true;
24314 }
24315
24316 var printMethod = this[node.type];
24317
24318 if (!printMethod) {
24319 throw new ReferenceError("unknown node of type " + JSON.stringify(node.type) + " with constructor " + JSON.stringify(node == null ? void 0 : node.constructor.name));
24320 }
24321
24322 this._printStack.push(node);
24323
24324 var oldInAux = this._insideAux;
24325 this._insideAux = !node.loc;
24326
24327 this._maybeAddAuxComment(this._insideAux && !oldInAux);
24328
24329 var needsParens$1 = needsParens(node, parent, this._printStack);
24330
24331 if (this.format.retainFunctionParens && node.type === "FunctionExpression" && node.extra && node.extra.parenthesized) {
24332 needsParens$1 = true;
24333 }
24334
24335 if (needsParens$1) this.token("(");
24336
24337 this._printLeadingComments(node);
24338
24339 var loc = isProgram(node) || isFile(node) ? null : node.loc;
24340 this.withSource("start", loc, function () {
24341 printMethod.call(_this, node, parent);
24342 });
24343
24344 this._printTrailingComments(node);
24345
24346 if (needsParens$1) this.token(")");
24347
24348 this._printStack.pop();
24349
24350 this.format.concise = oldConcise;
24351 this._insideAux = oldInAux;
24352 };
24353
24354 _proto._maybeAddAuxComment = function _maybeAddAuxComment(enteredPositionlessNode) {
24355 if (enteredPositionlessNode) this._printAuxBeforeComment();
24356 if (!this._insideAux) this._printAuxAfterComment();
24357 };
24358
24359 _proto._printAuxBeforeComment = function _printAuxBeforeComment() {
24360 if (this._printAuxAfterOnNextUserNode) return;
24361 this._printAuxAfterOnNextUserNode = true;
24362 var comment = this.format.auxiliaryCommentBefore;
24363
24364 if (comment) {
24365 this._printComment({
24366 type: "CommentBlock",
24367 value: comment
24368 });
24369 }
24370 };
24371
24372 _proto._printAuxAfterComment = function _printAuxAfterComment() {
24373 if (!this._printAuxAfterOnNextUserNode) return;
24374 this._printAuxAfterOnNextUserNode = false;
24375 var comment = this.format.auxiliaryCommentAfter;
24376
24377 if (comment) {
24378 this._printComment({
24379 type: "CommentBlock",
24380 value: comment
24381 });
24382 }
24383 };
24384
24385 _proto.getPossibleRaw = function getPossibleRaw(node) {
24386 var extra = node.extra;
24387
24388 if (extra && extra.raw != null && extra.rawValue != null && node.value === extra.rawValue) {
24389 return extra.raw;
24390 }
24391 };
24392
24393 _proto.printJoin = function printJoin(nodes, parent, opts) {
24394 if (opts === void 0) {
24395 opts = {};
24396 }
24397
24398 if (!(nodes != null && nodes.length)) return;
24399 if (opts.indent) this.indent();
24400 var newlineOpts = {
24401 addNewlines: opts.addNewlines
24402 };
24403
24404 for (var i = 0; i < nodes.length; i++) {
24405 var node = nodes[i];
24406 if (!node) continue;
24407 if (opts.statement) this._printNewline(true, node, parent, newlineOpts);
24408 this.print(node, parent);
24409
24410 if (opts.iterator) {
24411 opts.iterator(node, i);
24412 }
24413
24414 if (opts.separator && i < nodes.length - 1) {
24415 opts.separator.call(this);
24416 }
24417
24418 if (opts.statement) this._printNewline(false, node, parent, newlineOpts);
24419 }
24420
24421 if (opts.indent) this.dedent();
24422 };
24423
24424 _proto.printAndIndentOnComments = function printAndIndentOnComments(node, parent) {
24425 var indent = node.leadingComments && node.leadingComments.length > 0;
24426 if (indent) this.indent();
24427 this.print(node, parent);
24428 if (indent) this.dedent();
24429 };
24430
24431 _proto.printBlock = function printBlock(parent) {
24432 var node = parent.body;
24433
24434 if (!isEmptyStatement(node)) {
24435 this.space();
24436 }
24437
24438 this.print(node, parent);
24439 };
24440
24441 _proto._printTrailingComments = function _printTrailingComments(node) {
24442 this._printComments(this._getComments(false, node));
24443 };
24444
24445 _proto._printLeadingComments = function _printLeadingComments(node) {
24446 this._printComments(this._getComments(true, node), true);
24447 };
24448
24449 _proto.printInnerComments = function printInnerComments(node, indent) {
24450 var _node$innerComments;
24451
24452 if (indent === void 0) {
24453 indent = true;
24454 }
24455
24456 if (!((_node$innerComments = node.innerComments) != null && _node$innerComments.length)) return;
24457 if (indent) this.indent();
24458
24459 this._printComments(node.innerComments);
24460
24461 if (indent) this.dedent();
24462 };
24463
24464 _proto.printSequence = function printSequence(nodes, parent, opts) {
24465 if (opts === void 0) {
24466 opts = {};
24467 }
24468
24469 opts.statement = true;
24470 return this.printJoin(nodes, parent, opts);
24471 };
24472
24473 _proto.printList = function printList(items, parent, opts) {
24474 if (opts === void 0) {
24475 opts = {};
24476 }
24477
24478 if (opts.separator == null) {
24479 opts.separator = commaSeparator;
24480 }
24481
24482 return this.printJoin(items, parent, opts);
24483 };
24484
24485 _proto._printNewline = function _printNewline(leading, node, parent, opts) {
24486 if (this.format.retainLines || this.format.compact) return;
24487
24488 if (this.format.concise) {
24489 this.space();
24490 return;
24491 }
24492
24493 var lines = 0;
24494
24495 if (this._buf.hasContent()) {
24496 if (!leading) lines++;
24497 if (opts.addNewlines) lines += opts.addNewlines(leading, node) || 0;
24498 var needs = leading ? needsWhitespaceBefore : needsWhitespaceAfter;
24499 if (needs(node, parent)) lines++;
24500 }
24501
24502 this.newline(lines);
24503 };
24504
24505 _proto._getComments = function _getComments(leading, node) {
24506 return node && (leading ? node.leadingComments : node.trailingComments) || [];
24507 };
24508
24509 _proto._printComment = function _printComment(comment, skipNewLines) {
24510 var _this2 = this;
24511
24512 if (!this.format.shouldPrintComment(comment.value)) return;
24513 if (comment.ignore) return;
24514 if (this._printedComments.has(comment)) return;
24515
24516 this._printedComments.add(comment);
24517
24518 var isBlockComment = comment.type === "CommentBlock";
24519 var printNewLines = isBlockComment && !skipNewLines && !this._noLineTerminator;
24520 if (printNewLines && this._buf.hasContent()) this.newline(1);
24521 if (!this.endsWith("[") && !this.endsWith("{")) this.space();
24522 var val = !isBlockComment && !this._noLineTerminator ? "//" + comment.value + "\n" : "/*" + comment.value + "*/";
24523
24524 if (isBlockComment && this.format.indent.adjustMultilineComment) {
24525 var _comment$loc;
24526
24527 var offset = (_comment$loc = comment.loc) == null ? void 0 : _comment$loc.start.column;
24528
24529 if (offset) {
24530 var newlineRegex = new RegExp("\\n\\s{1," + offset + "}", "g");
24531 val = val.replace(newlineRegex, "\n");
24532 }
24533
24534 var indentSize = Math.max(this._getIndent().length, this.format.retainLines ? 0 : this._buf.getCurrentColumn());
24535 val = val.replace(/\n(?!$)/g, "\n" + " ".repeat(indentSize));
24536 }
24537
24538 if (this.endsWith("/")) this._space();
24539 this.withSource("start", comment.loc, function () {
24540 _this2._append(val);
24541 });
24542 if (printNewLines) this.newline(1);
24543 };
24544
24545 _proto._printComments = function _printComments(comments, inlinePureAnnotation) {
24546 if (!(comments != null && comments.length)) return;
24547
24548 if (inlinePureAnnotation && comments.length === 1 && PURE_ANNOTATION_RE.test(comments[0].value)) {
24549 this._printComment(comments[0], this._buf.hasContent() && !this.endsWith("\n"));
24550 } else {
24551 for (var _iterator = _createForOfIteratorHelperLoose(comments), _step; !(_step = _iterator()).done;) {
24552 var _comment = _step.value;
24553
24554 this._printComment(_comment);
24555 }
24556 }
24557 };
24558
24559 _proto.printAssertions = function printAssertions(node) {
24560 var _node$assertions;
24561
24562 if ((_node$assertions = node.assertions) != null && _node$assertions.length) {
24563 this.space();
24564 this.word("assert");
24565 this.space();
24566 this.token("{");
24567 this.space();
24568 this.printList(node.assertions, node);
24569 this.space();
24570 this.token("}");
24571 }
24572 };
24573
24574 return Printer;
24575 }();
24576
24577 Object.assign(Printer.prototype, generatorFunctions);
24578 {
24579 Printer.prototype.Noop = function Noop() {};
24580 }
24581
24582 function commaSeparator() {
24583 this.token(",");
24584 this.space();
24585 }
24586
24587 var Generator = function (_Printer) {
24588 _inherits(Generator, _Printer);
24589
24590 function Generator(ast, opts, code) {
24591 var _this;
24592
24593 if (opts === void 0) {
24594 opts = {};
24595 }
24596
24597 var format = normalizeOptions$6(code, opts);
24598 var map = opts.sourceMaps ? new SourceMap(opts, code) : null;
24599 _this = _Printer.call(this, format, map) || this;
24600 _this.ast = void 0;
24601 _this.ast = ast;
24602 return _this;
24603 }
24604
24605 var _proto = Generator.prototype;
24606
24607 _proto.generate = function generate() {
24608 return _Printer.prototype.generate.call(this, this.ast);
24609 };
24610
24611 return Generator;
24612 }(Printer);
24613
24614 function normalizeOptions$6(code, opts) {
24615 var format = {
24616 auxiliaryCommentBefore: opts.auxiliaryCommentBefore,
24617 auxiliaryCommentAfter: opts.auxiliaryCommentAfter,
24618 shouldPrintComment: opts.shouldPrintComment,
24619 retainLines: opts.retainLines,
24620 retainFunctionParens: opts.retainFunctionParens,
24621 comments: opts.comments == null || opts.comments,
24622 compact: opts.compact,
24623 minified: opts.minified,
24624 concise: opts.concise,
24625 indent: {
24626 adjustMultilineComment: true,
24627 style: " ",
24628 base: 0
24629 },
24630 decoratorsBeforeExport: !!opts.decoratorsBeforeExport,
24631 jsescOption: Object.assign({
24632 quotes: "double",
24633 wrap: true,
24634 minimal: false
24635 }, opts.jsescOption),
24636 recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType
24637 };
24638 {
24639 format.jsonCompatibleStrings = opts.jsonCompatibleStrings;
24640 }
24641
24642 if (format.minified) {
24643 format.compact = true;
24644
24645 format.shouldPrintComment = format.shouldPrintComment || function () {
24646 return format.comments;
24647 };
24648 } else {
24649 format.shouldPrintComment = format.shouldPrintComment || function (value) {
24650 return format.comments || value.indexOf("@license") >= 0 || value.indexOf("@preserve") >= 0;
24651 };
24652 }
24653
24654 if (format.compact === "auto") {
24655 format.compact = code.length > 500000;
24656
24657 if (format.compact) {
24658 console.error("[BABEL] Note: The code generator has deoptimised the styling of " + (opts.filename + " as it exceeds the max of " + "500KB" + "."));
24659 }
24660 }
24661
24662 if (format.compact) {
24663 format.indent.adjustMultilineComment = false;
24664 }
24665
24666 return format;
24667 }
24668 function generate$1(ast, opts, code) {
24669 var gen = new Generator(ast, opts, code);
24670 return gen.generate();
24671 }
24672
24673 function findParent(callback) {
24674 var path = this;
24675
24676 while (path = path.parentPath) {
24677 if (callback(path)) return path;
24678 }
24679
24680 return null;
24681 }
24682 function find$1(callback) {
24683 var path = this;
24684
24685 do {
24686 if (callback(path)) return path;
24687 } while (path = path.parentPath);
24688
24689 return null;
24690 }
24691 function getFunctionParent() {
24692 return this.findParent(function (p) {
24693 return p.isFunction();
24694 });
24695 }
24696 function getStatementParent() {
24697 var path = this;
24698
24699 do {
24700 if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) {
24701 break;
24702 } else {
24703 path = path.parentPath;
24704 }
24705 } while (path);
24706
24707 if (path && (path.isProgram() || path.isFile())) {
24708 throw new Error("File/Program node, we can't possibly find a statement parent to this");
24709 }
24710
24711 return path;
24712 }
24713 function getEarliestCommonAncestorFrom(paths) {
24714 return this.getDeepestCommonAncestorFrom(paths, function (deepest, i, ancestries) {
24715 var earliest;
24716 var keys = VISITOR_KEYS[deepest.type];
24717
24718 for (var _iterator = _createForOfIteratorHelperLoose(ancestries), _step; !(_step = _iterator()).done;) {
24719 var ancestry = _step.value;
24720 var path = ancestry[i + 1];
24721
24722 if (!earliest) {
24723 earliest = path;
24724 continue;
24725 }
24726
24727 if (path.listKey && earliest.listKey === path.listKey) {
24728 if (path.key < earliest.key) {
24729 earliest = path;
24730 continue;
24731 }
24732 }
24733
24734 var earliestKeyIndex = keys.indexOf(earliest.parentKey);
24735 var currentKeyIndex = keys.indexOf(path.parentKey);
24736
24737 if (earliestKeyIndex > currentKeyIndex) {
24738 earliest = path;
24739 }
24740 }
24741
24742 return earliest;
24743 });
24744 }
24745 function getDeepestCommonAncestorFrom(paths, filter) {
24746 var _this = this;
24747
24748 if (!paths.length) {
24749 return this;
24750 }
24751
24752 if (paths.length === 1) {
24753 return paths[0];
24754 }
24755
24756 var minDepth = Infinity;
24757 var lastCommonIndex, lastCommon;
24758 var ancestries = paths.map(function (path) {
24759 var ancestry = [];
24760
24761 do {
24762 ancestry.unshift(path);
24763 } while ((path = path.parentPath) && path !== _this);
24764
24765 if (ancestry.length < minDepth) {
24766 minDepth = ancestry.length;
24767 }
24768
24769 return ancestry;
24770 });
24771 var first = ancestries[0];
24772
24773 depthLoop: for (var _i = 0; _i < minDepth; _i++) {
24774 var shouldMatch = first[_i];
24775
24776 for (var _iterator2 = _createForOfIteratorHelperLoose(ancestries), _step2; !(_step2 = _iterator2()).done;) {
24777 var ancestry = _step2.value;
24778
24779 if (ancestry[_i] !== shouldMatch) {
24780 break depthLoop;
24781 }
24782 }
24783
24784 lastCommonIndex = _i;
24785 lastCommon = shouldMatch;
24786 }
24787
24788 if (lastCommon) {
24789 if (filter) {
24790 return filter(lastCommon, lastCommonIndex, ancestries);
24791 } else {
24792 return lastCommon;
24793 }
24794 } else {
24795 throw new Error("Couldn't find intersection");
24796 }
24797 }
24798 function getAncestry() {
24799 var path = this;
24800 var paths = [];
24801
24802 do {
24803 paths.push(path);
24804 } while (path = path.parentPath);
24805
24806 return paths;
24807 }
24808 function isAncestor(maybeDescendant) {
24809 return maybeDescendant.isDescendant(this);
24810 }
24811 function isDescendant(maybeAncestor) {
24812 return !!this.findParent(function (parent) {
24813 return parent === maybeAncestor;
24814 });
24815 }
24816 function inType() {
24817 var path = this;
24818
24819 for (var _len = arguments.length, candidateTypes = new Array(_len), _key = 0; _key < _len; _key++) {
24820 candidateTypes[_key] = arguments[_key];
24821 }
24822
24823 while (path) {
24824 for (var _iterator3 = _createForOfIteratorHelperLoose(candidateTypes), _step3; !(_step3 = _iterator3()).done;) {
24825 var type = _step3.value;
24826 if (path.node.type === type) return true;
24827 }
24828
24829 path = path.parentPath;
24830 }
24831
24832 return false;
24833 }
24834
24835 var NodePath_ancestry = /*#__PURE__*/Object.freeze({
24836 __proto__: null,
24837 findParent: findParent,
24838 find: find$1,
24839 getFunctionParent: getFunctionParent,
24840 getStatementParent: getStatementParent,
24841 getEarliestCommonAncestorFrom: getEarliestCommonAncestorFrom,
24842 getDeepestCommonAncestorFrom: getDeepestCommonAncestorFrom,
24843 getAncestry: getAncestry,
24844 isAncestor: isAncestor,
24845 isDescendant: isDescendant,
24846 inType: inType
24847 });
24848
24849 function infererReference (node) {
24850 if (!this.isReferenced()) return;
24851 var binding = this.scope.getBinding(node.name);
24852
24853 if (binding) {
24854 if (binding.identifier.typeAnnotation) {
24855 return binding.identifier.typeAnnotation;
24856 } else {
24857 return getTypeAnnotationBindingConstantViolations(binding, this, node.name);
24858 }
24859 }
24860
24861 if (node.name === "undefined") {
24862 return voidTypeAnnotation();
24863 } else if (node.name === "NaN" || node.name === "Infinity") {
24864 return numberTypeAnnotation();
24865 } else if (node.name === "arguments") ;
24866 }
24867
24868 function getTypeAnnotationBindingConstantViolations(binding, path, name) {
24869 var types = [];
24870 var functionConstantViolations = [];
24871 var constantViolations = getConstantViolationsBefore(binding, path, functionConstantViolations);
24872 var testType = getConditionalAnnotation(binding, path, name);
24873
24874 if (testType) {
24875 var testConstantViolations = getConstantViolationsBefore(binding, testType.ifStatement);
24876 constantViolations = constantViolations.filter(function (path) {
24877 return testConstantViolations.indexOf(path) < 0;
24878 });
24879 types.push(testType.typeAnnotation);
24880 }
24881
24882 if (constantViolations.length) {
24883 constantViolations = constantViolations.concat(functionConstantViolations);
24884
24885 for (var _iterator = _createForOfIteratorHelperLoose(constantViolations), _step; !(_step = _iterator()).done;) {
24886 var violation = _step.value;
24887 types.push(violation.getTypeAnnotation());
24888 }
24889 }
24890
24891 if (!types.length) {
24892 return;
24893 }
24894
24895 if (isTSTypeAnnotation(types[0]) && createTSUnionType) {
24896 return createTSUnionType(types);
24897 }
24898
24899 if (createFlowUnionType) {
24900 return createFlowUnionType(types);
24901 }
24902
24903 return createFlowUnionType(types);
24904 }
24905
24906 function getConstantViolationsBefore(binding, path, functions) {
24907 var violations = binding.constantViolations.slice();
24908 violations.unshift(binding.path);
24909 return violations.filter(function (violation) {
24910 violation = violation.resolve();
24911
24912 var status = violation._guessExecutionStatusRelativeTo(path);
24913
24914 if (functions && status === "unknown") functions.push(violation);
24915 return status === "before";
24916 });
24917 }
24918
24919 function inferAnnotationFromBinaryExpression(name, path) {
24920 var operator = path.node.operator;
24921 var right = path.get("right").resolve();
24922 var left = path.get("left").resolve();
24923 var target;
24924
24925 if (left.isIdentifier({
24926 name: name
24927 })) {
24928 target = right;
24929 } else if (right.isIdentifier({
24930 name: name
24931 })) {
24932 target = left;
24933 }
24934
24935 if (target) {
24936 if (operator === "===") {
24937 return target.getTypeAnnotation();
24938 }
24939
24940 if (BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) {
24941 return numberTypeAnnotation();
24942 }
24943
24944 return;
24945 }
24946
24947 if (operator !== "===" && operator !== "==") return;
24948 var typeofPath;
24949 var typePath;
24950
24951 if (left.isUnaryExpression({
24952 operator: "typeof"
24953 })) {
24954 typeofPath = left;
24955 typePath = right;
24956 } else if (right.isUnaryExpression({
24957 operator: "typeof"
24958 })) {
24959 typeofPath = right;
24960 typePath = left;
24961 }
24962
24963 if (!typeofPath) return;
24964 if (!typeofPath.get("argument").isIdentifier({
24965 name: name
24966 })) return;
24967 typePath = typePath.resolve();
24968 if (!typePath.isLiteral()) return;
24969 var typeValue = typePath.node.value;
24970 if (typeof typeValue !== "string") return;
24971 return createTypeAnnotationBasedOnTypeof(typeValue);
24972 }
24973
24974 function getParentConditionalPath(binding, path, name) {
24975 var parentPath;
24976
24977 while (parentPath = path.parentPath) {
24978 if (parentPath.isIfStatement() || parentPath.isConditionalExpression()) {
24979 if (path.key === "test") {
24980 return;
24981 }
24982
24983 return parentPath;
24984 }
24985
24986 if (parentPath.isFunction()) {
24987 if (parentPath.parentPath.scope.getBinding(name) !== binding) return;
24988 }
24989
24990 path = parentPath;
24991 }
24992 }
24993
24994 function getConditionalAnnotation(binding, path, name) {
24995 var ifStatement = getParentConditionalPath(binding, path, name);
24996 if (!ifStatement) return;
24997 var test = ifStatement.get("test");
24998 var paths = [test];
24999 var types = [];
25000
25001 for (var i = 0; i < paths.length; i++) {
25002 var _path = paths[i];
25003
25004 if (_path.isLogicalExpression()) {
25005 if (_path.node.operator === "&&") {
25006 paths.push(_path.get("left"));
25007 paths.push(_path.get("right"));
25008 }
25009 } else if (_path.isBinaryExpression()) {
25010 var type = inferAnnotationFromBinaryExpression(name, _path);
25011 if (type) types.push(type);
25012 }
25013 }
25014
25015 if (types.length) {
25016 if (isTSTypeAnnotation(types[0]) && createTSUnionType) {
25017 return {
25018 typeAnnotation: createTSUnionType(types),
25019 ifStatement: ifStatement
25020 };
25021 }
25022
25023 if (createFlowUnionType) {
25024 return {
25025 typeAnnotation: createFlowUnionType(types),
25026 ifStatement: ifStatement
25027 };
25028 }
25029
25030 return {
25031 typeAnnotation: createFlowUnionType(types),
25032 ifStatement: ifStatement
25033 };
25034 }
25035
25036 return getConditionalAnnotation(ifStatement, name);
25037 }
25038
25039 function VariableDeclarator() {
25040 var _type;
25041
25042 var id = this.get("id");
25043 if (!id.isIdentifier()) return;
25044 var init = this.get("init");
25045 var type = init.getTypeAnnotation();
25046
25047 if (((_type = type) == null ? void 0 : _type.type) === "AnyTypeAnnotation") {
25048 if (init.isCallExpression() && init.get("callee").isIdentifier({
25049 name: "Array"
25050 }) && !init.scope.hasBinding("Array", true)) {
25051 type = ArrayExpression();
25052 }
25053 }
25054
25055 return type;
25056 }
25057 function TypeCastExpression(node) {
25058 return node.typeAnnotation;
25059 }
25060 TypeCastExpression.validParent = true;
25061 function NewExpression(node) {
25062 if (this.get("callee").isIdentifier()) {
25063 return genericTypeAnnotation(node.callee);
25064 }
25065 }
25066 function TemplateLiteral() {
25067 return stringTypeAnnotation();
25068 }
25069 function UnaryExpression(node) {
25070 var operator = node.operator;
25071
25072 if (operator === "void") {
25073 return voidTypeAnnotation();
25074 } else if (NUMBER_UNARY_OPERATORS.indexOf(operator) >= 0) {
25075 return numberTypeAnnotation();
25076 } else if (STRING_UNARY_OPERATORS.indexOf(operator) >= 0) {
25077 return stringTypeAnnotation();
25078 } else if (BOOLEAN_UNARY_OPERATORS.indexOf(operator) >= 0) {
25079 return booleanTypeAnnotation();
25080 }
25081 }
25082 function BinaryExpression(node) {
25083 var operator = node.operator;
25084
25085 if (NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) {
25086 return numberTypeAnnotation();
25087 } else if (BOOLEAN_BINARY_OPERATORS.indexOf(operator) >= 0) {
25088 return booleanTypeAnnotation();
25089 } else if (operator === "+") {
25090 var right = this.get("right");
25091 var left = this.get("left");
25092
25093 if (left.isBaseType("number") && right.isBaseType("number")) {
25094 return numberTypeAnnotation();
25095 } else if (left.isBaseType("string") || right.isBaseType("string")) {
25096 return stringTypeAnnotation();
25097 }
25098
25099 return unionTypeAnnotation([stringTypeAnnotation(), numberTypeAnnotation()]);
25100 }
25101 }
25102 function LogicalExpression() {
25103 var argumentTypes = [this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()];
25104
25105 if (isTSTypeAnnotation(argumentTypes[0]) && createTSUnionType) {
25106 return createTSUnionType(argumentTypes);
25107 }
25108
25109 if (createFlowUnionType) {
25110 return createFlowUnionType(argumentTypes);
25111 }
25112
25113 return createFlowUnionType(argumentTypes);
25114 }
25115 function ConditionalExpression() {
25116 var argumentTypes = [this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()];
25117
25118 if (isTSTypeAnnotation(argumentTypes[0]) && createTSUnionType) {
25119 return createTSUnionType(argumentTypes);
25120 }
25121
25122 if (createFlowUnionType) {
25123 return createFlowUnionType(argumentTypes);
25124 }
25125
25126 return createFlowUnionType(argumentTypes);
25127 }
25128 function SequenceExpression() {
25129 return this.get("expressions").pop().getTypeAnnotation();
25130 }
25131 function ParenthesizedExpression() {
25132 return this.get("expression").getTypeAnnotation();
25133 }
25134 function AssignmentExpression() {
25135 return this.get("right").getTypeAnnotation();
25136 }
25137 function UpdateExpression(node) {
25138 var operator = node.operator;
25139
25140 if (operator === "++" || operator === "--") {
25141 return numberTypeAnnotation();
25142 }
25143 }
25144 function StringLiteral$1() {
25145 return stringTypeAnnotation();
25146 }
25147 function NumericLiteral$1() {
25148 return numberTypeAnnotation();
25149 }
25150 function BooleanLiteral() {
25151 return booleanTypeAnnotation();
25152 }
25153 function NullLiteral() {
25154 return nullLiteralTypeAnnotation();
25155 }
25156 function RegExpLiteral() {
25157 return genericTypeAnnotation(identifier("RegExp"));
25158 }
25159 function ObjectExpression() {
25160 return genericTypeAnnotation(identifier("Object"));
25161 }
25162 function ArrayExpression() {
25163 return genericTypeAnnotation(identifier("Array"));
25164 }
25165 function RestElement() {
25166 return ArrayExpression();
25167 }
25168 RestElement.validParent = true;
25169
25170 function Func() {
25171 return genericTypeAnnotation(identifier("Function"));
25172 }
25173 var isArrayFrom = buildMatchMemberExpression("Array.from");
25174 var isObjectKeys = buildMatchMemberExpression("Object.keys");
25175 var isObjectValues = buildMatchMemberExpression("Object.values");
25176 var isObjectEntries = buildMatchMemberExpression("Object.entries");
25177 function CallExpression() {
25178 var callee = this.node.callee;
25179
25180 if (isObjectKeys(callee)) {
25181 return arrayTypeAnnotation(stringTypeAnnotation());
25182 } else if (isArrayFrom(callee) || isObjectValues(callee)) {
25183 return arrayTypeAnnotation(anyTypeAnnotation());
25184 } else if (isObjectEntries(callee)) {
25185 return arrayTypeAnnotation(tupleTypeAnnotation([stringTypeAnnotation(), anyTypeAnnotation()]));
25186 }
25187
25188 return resolveCall(this.get("callee"));
25189 }
25190 function TaggedTemplateExpression() {
25191 return resolveCall(this.get("tag"));
25192 }
25193
25194 function resolveCall(callee) {
25195 callee = callee.resolve();
25196
25197 if (callee.isFunction()) {
25198 if (callee.is("async")) {
25199 if (callee.is("generator")) {
25200 return genericTypeAnnotation(identifier("AsyncIterator"));
25201 } else {
25202 return genericTypeAnnotation(identifier("Promise"));
25203 }
25204 } else {
25205 if (callee.node.returnType) {
25206 return callee.node.returnType;
25207 }
25208 }
25209 }
25210 }
25211
25212 var inferers = /*#__PURE__*/Object.freeze({
25213 __proto__: null,
25214 VariableDeclarator: VariableDeclarator,
25215 TypeCastExpression: TypeCastExpression,
25216 NewExpression: NewExpression,
25217 TemplateLiteral: TemplateLiteral,
25218 UnaryExpression: UnaryExpression,
25219 BinaryExpression: BinaryExpression,
25220 LogicalExpression: LogicalExpression,
25221 ConditionalExpression: ConditionalExpression,
25222 SequenceExpression: SequenceExpression,
25223 ParenthesizedExpression: ParenthesizedExpression,
25224 AssignmentExpression: AssignmentExpression,
25225 UpdateExpression: UpdateExpression,
25226 StringLiteral: StringLiteral$1,
25227 NumericLiteral: NumericLiteral$1,
25228 BooleanLiteral: BooleanLiteral,
25229 NullLiteral: NullLiteral,
25230 RegExpLiteral: RegExpLiteral,
25231 ObjectExpression: ObjectExpression,
25232 ArrayExpression: ArrayExpression,
25233 RestElement: RestElement,
25234 FunctionExpression: Func,
25235 ArrowFunctionExpression: Func,
25236 FunctionDeclaration: Func,
25237 ClassExpression: Func,
25238 ClassDeclaration: Func,
25239 CallExpression: CallExpression,
25240 TaggedTemplateExpression: TaggedTemplateExpression,
25241 Identifier: infererReference
25242 });
25243
25244 function getTypeAnnotation() {
25245 if (this.typeAnnotation) return this.typeAnnotation;
25246 var type = this._getTypeAnnotation() || anyTypeAnnotation();
25247 if (isTypeAnnotation(type)) type = type.typeAnnotation;
25248 return this.typeAnnotation = type;
25249 }
25250 var typeAnnotationInferringNodes = new WeakSet();
25251 function _getTypeAnnotation() {
25252 var node = this.node;
25253
25254 if (!node) {
25255 if (this.key === "init" && this.parentPath.isVariableDeclarator()) {
25256 var declar = this.parentPath.parentPath;
25257 var declarParent = declar.parentPath;
25258
25259 if (declar.key === "left" && declarParent.isForInStatement()) {
25260 return stringTypeAnnotation();
25261 }
25262
25263 if (declar.key === "left" && declarParent.isForOfStatement()) {
25264 return anyTypeAnnotation();
25265 }
25266
25267 return voidTypeAnnotation();
25268 } else {
25269 return;
25270 }
25271 }
25272
25273 if (node.typeAnnotation) {
25274 return node.typeAnnotation;
25275 }
25276
25277 if (typeAnnotationInferringNodes.has(node)) {
25278 return;
25279 }
25280
25281 typeAnnotationInferringNodes.add(node);
25282
25283 try {
25284 var _inferer;
25285
25286 var inferer = inferers[node.type];
25287
25288 if (inferer) {
25289 return inferer.call(this, node);
25290 }
25291
25292 inferer = inferers[this.parentPath.type];
25293
25294 if ((_inferer = inferer) != null && _inferer.validParent) {
25295 return this.parentPath.getTypeAnnotation();
25296 }
25297 } finally {
25298 typeAnnotationInferringNodes["delete"](node);
25299 }
25300 }
25301 function isBaseType(baseName, soft) {
25302 return _isBaseType(baseName, this.getTypeAnnotation(), soft);
25303 }
25304
25305 function _isBaseType(baseName, type, soft) {
25306 if (baseName === "string") {
25307 return isStringTypeAnnotation(type);
25308 } else if (baseName === "number") {
25309 return isNumberTypeAnnotation(type);
25310 } else if (baseName === "boolean") {
25311 return isBooleanTypeAnnotation(type);
25312 } else if (baseName === "any") {
25313 return isAnyTypeAnnotation(type);
25314 } else if (baseName === "mixed") {
25315 return isMixedTypeAnnotation(type);
25316 } else if (baseName === "empty") {
25317 return isEmptyTypeAnnotation(type);
25318 } else if (baseName === "void") {
25319 return isVoidTypeAnnotation(type);
25320 } else {
25321 if (soft) {
25322 return false;
25323 } else {
25324 throw new Error("Unknown base type " + baseName);
25325 }
25326 }
25327 }
25328
25329 function couldBeBaseType(name) {
25330 var type = this.getTypeAnnotation();
25331 if (isAnyTypeAnnotation(type)) return true;
25332
25333 if (isUnionTypeAnnotation(type)) {
25334 for (var _iterator = _createForOfIteratorHelperLoose(type.types), _step; !(_step = _iterator()).done;) {
25335 var type2 = _step.value;
25336
25337 if (isAnyTypeAnnotation(type2) || _isBaseType(name, type2, true)) {
25338 return true;
25339 }
25340 }
25341
25342 return false;
25343 } else {
25344 return _isBaseType(name, type, true);
25345 }
25346 }
25347 function baseTypeStrictlyMatches(rightArg) {
25348 var left = this.getTypeAnnotation();
25349 var right = rightArg.getTypeAnnotation();
25350
25351 if (!isAnyTypeAnnotation(left) && isFlowBaseAnnotation(left)) {
25352 return right.type === left.type;
25353 }
25354
25355 return false;
25356 }
25357 function isGenericType(genericName) {
25358 var type = this.getTypeAnnotation();
25359 return isGenericTypeAnnotation(type) && isIdentifier(type.id, {
25360 name: genericName
25361 });
25362 }
25363
25364 var NodePath_inference = /*#__PURE__*/Object.freeze({
25365 __proto__: null,
25366 getTypeAnnotation: getTypeAnnotation,
25367 _getTypeAnnotation: _getTypeAnnotation,
25368 isBaseType: isBaseType,
25369 couldBeBaseType: couldBeBaseType,
25370 baseTypeStrictlyMatches: baseTypeStrictlyMatches,
25371 isGenericType: isGenericType
25372 });
25373
25374 var runtime_1 = createCommonjsModule(function (module) {
25375 var runtime = function (exports) {
25376
25377 var Op = Object.prototype;
25378 var hasOwn = Op.hasOwnProperty;
25379 var undefined$1;
25380 var $Symbol = typeof Symbol === "function" ? Symbol : {};
25381 var iteratorSymbol = $Symbol.iterator || "@@iterator";
25382 var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
25383 var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
25384
25385 function define(obj, key, value) {
25386 Object.defineProperty(obj, key, {
25387 value: value,
25388 enumerable: true,
25389 configurable: true,
25390 writable: true
25391 });
25392 return obj[key];
25393 }
25394
25395 try {
25396 define({}, "");
25397 } catch (err) {
25398 define = function define(obj, key, value) {
25399 return obj[key] = value;
25400 };
25401 }
25402
25403 function wrap(innerFn, outerFn, self, tryLocsList) {
25404 var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
25405 var generator = Object.create(protoGenerator.prototype);
25406 var context = new Context(tryLocsList || []);
25407 generator._invoke = makeInvokeMethod(innerFn, self, context);
25408 return generator;
25409 }
25410
25411 exports.wrap = wrap;
25412
25413 function tryCatch(fn, obj, arg) {
25414 try {
25415 return {
25416 type: "normal",
25417 arg: fn.call(obj, arg)
25418 };
25419 } catch (err) {
25420 return {
25421 type: "throw",
25422 arg: err
25423 };
25424 }
25425 }
25426
25427 var GenStateSuspendedStart = "suspendedStart";
25428 var GenStateSuspendedYield = "suspendedYield";
25429 var GenStateExecuting = "executing";
25430 var GenStateCompleted = "completed";
25431 var ContinueSentinel = {};
25432
25433 function Generator() {}
25434
25435 function GeneratorFunction() {}
25436
25437 function GeneratorFunctionPrototype() {}
25438
25439 var IteratorPrototype = {};
25440
25441 IteratorPrototype[iteratorSymbol] = function () {
25442 return this;
25443 };
25444
25445 var getProto = Object.getPrototypeOf;
25446 var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
25447
25448 if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
25449 IteratorPrototype = NativeIteratorPrototype;
25450 }
25451
25452 var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
25453 GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
25454 GeneratorFunctionPrototype.constructor = GeneratorFunction;
25455 GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction");
25456
25457 function defineIteratorMethods(prototype) {
25458 ["next", "throw", "return"].forEach(function (method) {
25459 define(prototype, method, function (arg) {
25460 return this._invoke(method, arg);
25461 });
25462 });
25463 }
25464
25465 exports.isGeneratorFunction = function (genFun) {
25466 var ctor = typeof genFun === "function" && genFun.constructor;
25467 return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
25468 };
25469
25470 exports.mark = function (genFun) {
25471 if (Object.setPrototypeOf) {
25472 Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
25473 } else {
25474 genFun.__proto__ = GeneratorFunctionPrototype;
25475 define(genFun, toStringTagSymbol, "GeneratorFunction");
25476 }
25477
25478 genFun.prototype = Object.create(Gp);
25479 return genFun;
25480 };
25481
25482 exports.awrap = function (arg) {
25483 return {
25484 __await: arg
25485 };
25486 };
25487
25488 function AsyncIterator(generator, PromiseImpl) {
25489 function invoke(method, arg, resolve, reject) {
25490 var record = tryCatch(generator[method], generator, arg);
25491
25492 if (record.type === "throw") {
25493 reject(record.arg);
25494 } else {
25495 var result = record.arg;
25496 var value = result.value;
25497
25498 if (value && typeof value === "object" && hasOwn.call(value, "__await")) {
25499 return PromiseImpl.resolve(value.__await).then(function (value) {
25500 invoke("next", value, resolve, reject);
25501 }, function (err) {
25502 invoke("throw", err, resolve, reject);
25503 });
25504 }
25505
25506 return PromiseImpl.resolve(value).then(function (unwrapped) {
25507 result.value = unwrapped;
25508 resolve(result);
25509 }, function (error) {
25510 return invoke("throw", error, resolve, reject);
25511 });
25512 }
25513 }
25514
25515 var previousPromise;
25516
25517 function enqueue(method, arg) {
25518 function callInvokeWithMethodAndArg() {
25519 return new PromiseImpl(function (resolve, reject) {
25520 invoke(method, arg, resolve, reject);
25521 });
25522 }
25523
25524 return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
25525 }
25526
25527 this._invoke = enqueue;
25528 }
25529
25530 defineIteratorMethods(AsyncIterator.prototype);
25531
25532 AsyncIterator.prototype[asyncIteratorSymbol] = function () {
25533 return this;
25534 };
25535
25536 exports.AsyncIterator = AsyncIterator;
25537
25538 exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
25539 if (PromiseImpl === void 0) PromiseImpl = Promise;
25540 var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
25541 return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
25542 return result.done ? result.value : iter.next();
25543 });
25544 };
25545
25546 function makeInvokeMethod(innerFn, self, context) {
25547 var state = GenStateSuspendedStart;
25548 return function invoke(method, arg) {
25549 if (state === GenStateExecuting) {
25550 throw new Error("Generator is already running");
25551 }
25552
25553 if (state === GenStateCompleted) {
25554 if (method === "throw") {
25555 throw arg;
25556 }
25557
25558 return doneResult();
25559 }
25560
25561 context.method = method;
25562 context.arg = arg;
25563
25564 while (true) {
25565 var delegate = context.delegate;
25566
25567 if (delegate) {
25568 var delegateResult = maybeInvokeDelegate(delegate, context);
25569
25570 if (delegateResult) {
25571 if (delegateResult === ContinueSentinel) continue;
25572 return delegateResult;
25573 }
25574 }
25575
25576 if (context.method === "next") {
25577 context.sent = context._sent = context.arg;
25578 } else if (context.method === "throw") {
25579 if (state === GenStateSuspendedStart) {
25580 state = GenStateCompleted;
25581 throw context.arg;
25582 }
25583
25584 context.dispatchException(context.arg);
25585 } else if (context.method === "return") {
25586 context.abrupt("return", context.arg);
25587 }
25588
25589 state = GenStateExecuting;
25590 var record = tryCatch(innerFn, self, context);
25591
25592 if (record.type === "normal") {
25593 state = context.done ? GenStateCompleted : GenStateSuspendedYield;
25594
25595 if (record.arg === ContinueSentinel) {
25596 continue;
25597 }
25598
25599 return {
25600 value: record.arg,
25601 done: context.done
25602 };
25603 } else if (record.type === "throw") {
25604 state = GenStateCompleted;
25605 context.method = "throw";
25606 context.arg = record.arg;
25607 }
25608 }
25609 };
25610 }
25611
25612 function maybeInvokeDelegate(delegate, context) {
25613 var method = delegate.iterator[context.method];
25614
25615 if (method === undefined$1) {
25616 context.delegate = null;
25617
25618 if (context.method === "throw") {
25619 if (delegate.iterator["return"]) {
25620 context.method = "return";
25621 context.arg = undefined$1;
25622 maybeInvokeDelegate(delegate, context);
25623
25624 if (context.method === "throw") {
25625 return ContinueSentinel;
25626 }
25627 }
25628
25629 context.method = "throw";
25630 context.arg = new TypeError("The iterator does not provide a 'throw' method");
25631 }
25632
25633 return ContinueSentinel;
25634 }
25635
25636 var record = tryCatch(method, delegate.iterator, context.arg);
25637
25638 if (record.type === "throw") {
25639 context.method = "throw";
25640 context.arg = record.arg;
25641 context.delegate = null;
25642 return ContinueSentinel;
25643 }
25644
25645 var info = record.arg;
25646
25647 if (!info) {
25648 context.method = "throw";
25649 context.arg = new TypeError("iterator result is not an object");
25650 context.delegate = null;
25651 return ContinueSentinel;
25652 }
25653
25654 if (info.done) {
25655 context[delegate.resultName] = info.value;
25656 context.next = delegate.nextLoc;
25657
25658 if (context.method !== "return") {
25659 context.method = "next";
25660 context.arg = undefined$1;
25661 }
25662 } else {
25663 return info;
25664 }
25665
25666 context.delegate = null;
25667 return ContinueSentinel;
25668 }
25669
25670 defineIteratorMethods(Gp);
25671 define(Gp, toStringTagSymbol, "Generator");
25672
25673 Gp[iteratorSymbol] = function () {
25674 return this;
25675 };
25676
25677 Gp.toString = function () {
25678 return "[object Generator]";
25679 };
25680
25681 function pushTryEntry(locs) {
25682 var entry = {
25683 tryLoc: locs[0]
25684 };
25685
25686 if (1 in locs) {
25687 entry.catchLoc = locs[1];
25688 }
25689
25690 if (2 in locs) {
25691 entry.finallyLoc = locs[2];
25692 entry.afterLoc = locs[3];
25693 }
25694
25695 this.tryEntries.push(entry);
25696 }
25697
25698 function resetTryEntry(entry) {
25699 var record = entry.completion || {};
25700 record.type = "normal";
25701 delete record.arg;
25702 entry.completion = record;
25703 }
25704
25705 function Context(tryLocsList) {
25706 this.tryEntries = [{
25707 tryLoc: "root"
25708 }];
25709 tryLocsList.forEach(pushTryEntry, this);
25710 this.reset(true);
25711 }
25712
25713 exports.keys = function (object) {
25714 var keys = [];
25715
25716 for (var key in object) {
25717 keys.push(key);
25718 }
25719
25720 keys.reverse();
25721 return function next() {
25722 while (keys.length) {
25723 var key = keys.pop();
25724
25725 if (key in object) {
25726 next.value = key;
25727 next.done = false;
25728 return next;
25729 }
25730 }
25731
25732 next.done = true;
25733 return next;
25734 };
25735 };
25736
25737 function values(iterable) {
25738 if (iterable) {
25739 var iteratorMethod = iterable[iteratorSymbol];
25740
25741 if (iteratorMethod) {
25742 return iteratorMethod.call(iterable);
25743 }
25744
25745 if (typeof iterable.next === "function") {
25746 return iterable;
25747 }
25748
25749 if (!isNaN(iterable.length)) {
25750 var i = -1,
25751 next = function next() {
25752 while (++i < iterable.length) {
25753 if (hasOwn.call(iterable, i)) {
25754 next.value = iterable[i];
25755 next.done = false;
25756 return next;
25757 }
25758 }
25759
25760 next.value = undefined$1;
25761 next.done = true;
25762 return next;
25763 };
25764
25765 return next.next = next;
25766 }
25767 }
25768
25769 return {
25770 next: doneResult
25771 };
25772 }
25773
25774 exports.values = values;
25775
25776 function doneResult() {
25777 return {
25778 value: undefined$1,
25779 done: true
25780 };
25781 }
25782
25783 Context.prototype = {
25784 constructor: Context,
25785 reset: function reset(skipTempReset) {
25786 this.prev = 0;
25787 this.next = 0;
25788 this.sent = this._sent = undefined$1;
25789 this.done = false;
25790 this.delegate = null;
25791 this.method = "next";
25792 this.arg = undefined$1;
25793 this.tryEntries.forEach(resetTryEntry);
25794
25795 if (!skipTempReset) {
25796 for (var name in this) {
25797 if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
25798 this[name] = undefined$1;
25799 }
25800 }
25801 }
25802 },
25803 stop: function stop() {
25804 this.done = true;
25805 var rootEntry = this.tryEntries[0];
25806 var rootRecord = rootEntry.completion;
25807
25808 if (rootRecord.type === "throw") {
25809 throw rootRecord.arg;
25810 }
25811
25812 return this.rval;
25813 },
25814 dispatchException: function dispatchException(exception) {
25815 if (this.done) {
25816 throw exception;
25817 }
25818
25819 var context = this;
25820
25821 function handle(loc, caught) {
25822 record.type = "throw";
25823 record.arg = exception;
25824 context.next = loc;
25825
25826 if (caught) {
25827 context.method = "next";
25828 context.arg = undefined$1;
25829 }
25830
25831 return !!caught;
25832 }
25833
25834 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
25835 var entry = this.tryEntries[i];
25836 var record = entry.completion;
25837
25838 if (entry.tryLoc === "root") {
25839 return handle("end");
25840 }
25841
25842 if (entry.tryLoc <= this.prev) {
25843 var hasCatch = hasOwn.call(entry, "catchLoc");
25844 var hasFinally = hasOwn.call(entry, "finallyLoc");
25845
25846 if (hasCatch && hasFinally) {
25847 if (this.prev < entry.catchLoc) {
25848 return handle(entry.catchLoc, true);
25849 } else if (this.prev < entry.finallyLoc) {
25850 return handle(entry.finallyLoc);
25851 }
25852 } else if (hasCatch) {
25853 if (this.prev < entry.catchLoc) {
25854 return handle(entry.catchLoc, true);
25855 }
25856 } else if (hasFinally) {
25857 if (this.prev < entry.finallyLoc) {
25858 return handle(entry.finallyLoc);
25859 }
25860 } else {
25861 throw new Error("try statement without catch or finally");
25862 }
25863 }
25864 }
25865 },
25866 abrupt: function abrupt(type, arg) {
25867 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
25868 var entry = this.tryEntries[i];
25869
25870 if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
25871 var finallyEntry = entry;
25872 break;
25873 }
25874 }
25875
25876 if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
25877 finallyEntry = null;
25878 }
25879
25880 var record = finallyEntry ? finallyEntry.completion : {};
25881 record.type = type;
25882 record.arg = arg;
25883
25884 if (finallyEntry) {
25885 this.method = "next";
25886 this.next = finallyEntry.finallyLoc;
25887 return ContinueSentinel;
25888 }
25889
25890 return this.complete(record);
25891 },
25892 complete: function complete(record, afterLoc) {
25893 if (record.type === "throw") {
25894 throw record.arg;
25895 }
25896
25897 if (record.type === "break" || record.type === "continue") {
25898 this.next = record.arg;
25899 } else if (record.type === "return") {
25900 this.rval = this.arg = record.arg;
25901 this.method = "return";
25902 this.next = "end";
25903 } else if (record.type === "normal" && afterLoc) {
25904 this.next = afterLoc;
25905 }
25906
25907 return ContinueSentinel;
25908 },
25909 finish: function finish(finallyLoc) {
25910 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
25911 var entry = this.tryEntries[i];
25912
25913 if (entry.finallyLoc === finallyLoc) {
25914 this.complete(entry.completion, entry.afterLoc);
25915 resetTryEntry(entry);
25916 return ContinueSentinel;
25917 }
25918 }
25919 },
25920 "catch": function _catch(tryLoc) {
25921 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
25922 var entry = this.tryEntries[i];
25923
25924 if (entry.tryLoc === tryLoc) {
25925 var record = entry.completion;
25926
25927 if (record.type === "throw") {
25928 var thrown = record.arg;
25929 resetTryEntry(entry);
25930 }
25931
25932 return thrown;
25933 }
25934 }
25935
25936 throw new Error("illegal catch attempt");
25937 },
25938 delegateYield: function delegateYield(iterable, resultName, nextLoc) {
25939 this.delegate = {
25940 iterator: values(iterable),
25941 resultName: resultName,
25942 nextLoc: nextLoc
25943 };
25944
25945 if (this.method === "next") {
25946 this.arg = undefined$1;
25947 }
25948
25949 return ContinueSentinel;
25950 }
25951 };
25952 return exports;
25953 }(module.exports );
25954
25955 try {
25956 regeneratorRuntime = runtime;
25957 } catch (accidentalStrictMode) {
25958 Function("r", "regeneratorRuntime = r")(runtime);
25959 }
25960 }, "/$$rollup_base$$/node_modules/regenerator-runtime");
25961
25962 var regenerator = runtime_1;
25963
25964 var IdentifierName, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace;
25965 RegularExpressionLiteral = new RegExp("\\/(?![\\*\\/])(?:\\[(?:(?![\\\\\\]])(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])|\\\\(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]))*\\]|(?![\\/\\\\\\]])(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])|\\\\(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]))*(\\/(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u08D3-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1DF9\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]|\\uDB40[\\uDD00-\\uDDEF])*|\\\\)?", "y");
25966 Punctuator = new RegExp("--|\\+\\+|=>|\\.{3}|\\??\\.(?!\\d)|(?:&&|\\|\\||\\?\\?|[+\\-%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\\/(?![\\/*]))=?|[?~,:;[\\](){}]", "y");
25967 IdentifierName = new RegExp("(?=(?:[\\$A-Z\\\\_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDEC0-\\uDEEB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]))(?:(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u08D3-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1DF9\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]|\\uDB40[\\uDD00-\\uDDEF])|\\\\u[0-9A-Fa-f]{4}|\\\\u\\{[0-9A-Fa-f]+\\})+", "y");
25968 StringLiteral = new RegExp("(['\"])(?:(?!\\1)[^\\\\\\n\\r]|\\\\(?:\\r\\n|[^]))*(\\1)?", "y");
25969 NumericLiteral = new RegExp("(?:0[xX][\\da-fA-F](?:_?[\\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\\d)*n|(?:(?:0(?!\\d)|0\\d*[89]\\d*|[1-9](?:_?\\d)*)(?:\\.(?:\\d(?:_?\\d)*)?)?|\\.\\d(?:_?\\d)*)(?:[eE][+-]?\\d(?:_?\\d)*)?|0[0-7]+", "y");
25970 Template = new RegExp("[`}](?:[^`\\\\$]|\\\\[^]|\\$(?!\\{))*(`|\\$\\{)?", "y");
25971 WhiteSpace = new RegExp("[\\t\\x0B\\f \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000\\uFEFF]+", "y");
25972 LineTerminatorSequence = new RegExp("\\r?\\n|[\\r\\u2028\\u2029]", "y");
25973 MultiLineComment = new RegExp("\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?", "y");
25974 SingleLineComment = new RegExp("\\/\\/.*", "y");
25975 JSXPunctuator = new RegExp("[<>.:={}]|\\/(?![\\/*])", "y");
25976 JSXIdentifier = new RegExp("(?:[\\$A-Z_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDEC0-\\uDEEB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])(?:[\\$\\x2D0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u08D3-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1DF9\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]|\\uDB40[\\uDD00-\\uDDEF])*", "y");
25977 JSXString = new RegExp("(['\"])(?:(?!\\1)[^])*(\\1)?", "y");
25978 JSXText = new RegExp("[^<>{}]+", "y");
25979 TokensPrecedingExpression = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/;
25980 TokensNotPrecedingObjectLiteral = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/;
25981 KeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/;
25982 KeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/;
25983 Newline = RegExp(LineTerminatorSequence.source);
25984
25985 regenerator.mark(function jsTokens(input, _temp) {
25986 var _ref, _ref$jsx, jsx, braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack;
25987
25988 return regenerator.wrap(function jsTokens$(_context) {
25989 while (1) {
25990 switch (_context.prev = _context.next) {
25991 case 0:
25992 _ref = _temp === void 0 ? {} : _temp, _ref$jsx = _ref.jsx, jsx = _ref$jsx === void 0 ? false : _ref$jsx;
25993 length = input.length;
25994 lastIndex = 0;
25995 lastSignificantToken = "";
25996 stack = [{
25997 tag: "JS"
25998 }];
25999 braces = [];
26000 parenNesting = 0;
26001 postfixIncDec = false;
26002
26003 case 8:
26004 if (!(lastIndex < length)) {
26005 _context.next = 231;
26006 break;
26007 }
26008
26009 mode = stack[stack.length - 1];
26010 _context.t0 = mode.tag;
26011 _context.next = _context.t0 === "JS" ? 13 : _context.t0 === "JSNonExpressionParen" ? 13 : _context.t0 === "InterpolationInTemplate" ? 13 : _context.t0 === "InterpolationInJSX" ? 13 : _context.t0 === "JSXTag" ? 136 : _context.t0 === "JSXTagEnd" ? 136 : _context.t0 === "JSXChildren" ? 172 : 195;
26012 break;
26013
26014 case 13:
26015 if (!(input[lastIndex] === "/" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken)))) {
26016 _context.next = 22;
26017 break;
26018 }
26019
26020 RegularExpressionLiteral.lastIndex = lastIndex;
26021
26022 if (!(match = RegularExpressionLiteral.exec(input))) {
26023 _context.next = 22;
26024 break;
26025 }
26026
26027 lastIndex = RegularExpressionLiteral.lastIndex;
26028 lastSignificantToken = match[0];
26029 postfixIncDec = true;
26030 _context.next = 21;
26031 return {
26032 type: "RegularExpressionLiteral",
26033 value: match[0],
26034 closed: match[1] !== void 0 && match[1] !== "\\"
26035 };
26036
26037 case 21:
26038 return _context.abrupt("continue", 8);
26039
26040 case 22:
26041 Punctuator.lastIndex = lastIndex;
26042
26043 if (!(match = Punctuator.exec(input))) {
26044 _context.next = 93;
26045 break;
26046 }
26047
26048 punctuator = match[0];
26049 nextLastIndex = Punctuator.lastIndex;
26050 nextLastSignificantToken = punctuator;
26051 _context.t1 = punctuator;
26052 _context.next = _context.t1 === "(" ? 30 : _context.t1 === ")" ? 34 : _context.t1 === "{" ? 38 : _context.t1 === "}" ? 43 : _context.t1 === "]" ? 74 : _context.t1 === "++" ? 76 : _context.t1 === "--" ? 76 : _context.t1 === "<" ? 78 : 87;
26053 break;
26054
26055 case 30:
26056 if (lastSignificantToken === "?NonExpressionParenKeyword") {
26057 stack.push({
26058 tag: "JSNonExpressionParen",
26059 nesting: parenNesting
26060 });
26061 }
26062
26063 parenNesting++;
26064 postfixIncDec = false;
26065 return _context.abrupt("break", 88);
26066
26067 case 34:
26068 parenNesting--;
26069 postfixIncDec = true;
26070
26071 if (mode.tag === "JSNonExpressionParen" && parenNesting === mode.nesting) {
26072 stack.pop();
26073 nextLastSignificantToken = "?NonExpressionParenEnd";
26074 postfixIncDec = false;
26075 }
26076
26077 return _context.abrupt("break", 88);
26078
26079 case 38:
26080 Punctuator.lastIndex = 0;
26081 isExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken));
26082 braces.push(isExpression);
26083 postfixIncDec = false;
26084 return _context.abrupt("break", 88);
26085
26086 case 43:
26087 _context.t2 = mode.tag;
26088 _context.next = _context.t2 === "InterpolationInTemplate" ? 46 : _context.t2 === "InterpolationInJSX" ? 64 : 71;
26089 break;
26090
26091 case 46:
26092 if (!(braces.length === mode.nesting)) {
26093 _context.next = 63;
26094 break;
26095 }
26096
26097 Template.lastIndex = lastIndex;
26098 match = Template.exec(input);
26099 lastIndex = Template.lastIndex;
26100 lastSignificantToken = match[0];
26101
26102 if (!(match[1] === "${")) {
26103 _context.next = 58;
26104 break;
26105 }
26106
26107 lastSignificantToken = "?InterpolationInTemplate";
26108 postfixIncDec = false;
26109 _context.next = 56;
26110 return {
26111 type: "TemplateMiddle",
26112 value: match[0]
26113 };
26114
26115 case 56:
26116 _context.next = 62;
26117 break;
26118
26119 case 58:
26120 stack.pop();
26121 postfixIncDec = true;
26122 _context.next = 62;
26123 return {
26124 type: "TemplateTail",
26125 value: match[0],
26126 closed: match[1] === "`"
26127 };
26128
26129 case 62:
26130 return _context.abrupt("continue", 8);
26131
26132 case 63:
26133 return _context.abrupt("break", 71);
26134
26135 case 64:
26136 if (!(braces.length === mode.nesting)) {
26137 _context.next = 71;
26138 break;
26139 }
26140
26141 stack.pop();
26142 lastIndex += 1;
26143 lastSignificantToken = "}";
26144 _context.next = 70;
26145 return {
26146 type: "JSXPunctuator",
26147 value: "}"
26148 };
26149
26150 case 70:
26151 return _context.abrupt("continue", 8);
26152
26153 case 71:
26154 postfixIncDec = braces.pop();
26155 nextLastSignificantToken = postfixIncDec ? "?ExpressionBraceEnd" : "}";
26156 return _context.abrupt("break", 88);
26157
26158 case 74:
26159 postfixIncDec = true;
26160 return _context.abrupt("break", 88);
26161
26162 case 76:
26163 nextLastSignificantToken = postfixIncDec ? "?PostfixIncDec" : "?UnaryIncDec";
26164 return _context.abrupt("break", 88);
26165
26166 case 78:
26167 if (!(jsx && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken)))) {
26168 _context.next = 85;
26169 break;
26170 }
26171
26172 stack.push({
26173 tag: "JSXTag"
26174 });
26175 lastIndex += 1;
26176 lastSignificantToken = "<";
26177 _context.next = 84;
26178 return {
26179 type: "JSXPunctuator",
26180 value: punctuator
26181 };
26182
26183 case 84:
26184 return _context.abrupt("continue", 8);
26185
26186 case 85:
26187 postfixIncDec = false;
26188 return _context.abrupt("break", 88);
26189
26190 case 87:
26191 postfixIncDec = false;
26192
26193 case 88:
26194 lastIndex = nextLastIndex;
26195 lastSignificantToken = nextLastSignificantToken;
26196 _context.next = 92;
26197 return {
26198 type: "Punctuator",
26199 value: punctuator
26200 };
26201
26202 case 92:
26203 return _context.abrupt("continue", 8);
26204
26205 case 93:
26206 IdentifierName.lastIndex = lastIndex;
26207
26208 if (!(match = IdentifierName.exec(input))) {
26209 _context.next = 103;
26210 break;
26211 }
26212
26213 lastIndex = IdentifierName.lastIndex;
26214 nextLastSignificantToken = match[0];
26215
26216 switch (match[0]) {
26217 case "for":
26218 case "if":
26219 case "while":
26220 case "with":
26221 if (lastSignificantToken !== "." && lastSignificantToken !== "?.") {
26222 nextLastSignificantToken = "?NonExpressionParenKeyword";
26223 }
26224
26225 }
26226
26227 lastSignificantToken = nextLastSignificantToken;
26228 postfixIncDec = !KeywordsWithExpressionAfter.test(match[0]);
26229 _context.next = 102;
26230 return {
26231 type: "IdentifierName",
26232 value: match[0]
26233 };
26234
26235 case 102:
26236 return _context.abrupt("continue", 8);
26237
26238 case 103:
26239 StringLiteral.lastIndex = lastIndex;
26240
26241 if (!(match = StringLiteral.exec(input))) {
26242 _context.next = 111;
26243 break;
26244 }
26245
26246 lastIndex = StringLiteral.lastIndex;
26247 lastSignificantToken = match[0];
26248 postfixIncDec = true;
26249 _context.next = 110;
26250 return {
26251 type: "StringLiteral",
26252 value: match[0],
26253 closed: match[2] !== void 0
26254 };
26255
26256 case 110:
26257 return _context.abrupt("continue", 8);
26258
26259 case 111:
26260 NumericLiteral.lastIndex = lastIndex;
26261
26262 if (!(match = NumericLiteral.exec(input))) {
26263 _context.next = 119;
26264 break;
26265 }
26266
26267 lastIndex = NumericLiteral.lastIndex;
26268 lastSignificantToken = match[0];
26269 postfixIncDec = true;
26270 _context.next = 118;
26271 return {
26272 type: "NumericLiteral",
26273 value: match[0]
26274 };
26275
26276 case 118:
26277 return _context.abrupt("continue", 8);
26278
26279 case 119:
26280 Template.lastIndex = lastIndex;
26281
26282 if (!(match = Template.exec(input))) {
26283 _context.next = 135;
26284 break;
26285 }
26286
26287 lastIndex = Template.lastIndex;
26288 lastSignificantToken = match[0];
26289
26290 if (!(match[1] === "${")) {
26291 _context.next = 131;
26292 break;
26293 }
26294
26295 lastSignificantToken = "?InterpolationInTemplate";
26296 stack.push({
26297 tag: "InterpolationInTemplate",
26298 nesting: braces.length
26299 });
26300 postfixIncDec = false;
26301 _context.next = 129;
26302 return {
26303 type: "TemplateHead",
26304 value: match[0]
26305 };
26306
26307 case 129:
26308 _context.next = 134;
26309 break;
26310
26311 case 131:
26312 postfixIncDec = true;
26313 _context.next = 134;
26314 return {
26315 type: "NoSubstitutionTemplate",
26316 value: match[0],
26317 closed: match[1] === "`"
26318 };
26319
26320 case 134:
26321 return _context.abrupt("continue", 8);
26322
26323 case 135:
26324 return _context.abrupt("break", 195);
26325
26326 case 136:
26327 JSXPunctuator.lastIndex = lastIndex;
26328
26329 if (!(match = JSXPunctuator.exec(input))) {
26330 _context.next = 157;
26331 break;
26332 }
26333
26334 lastIndex = JSXPunctuator.lastIndex;
26335 nextLastSignificantToken = match[0];
26336 _context.t3 = match[0];
26337 _context.next = _context.t3 === "<" ? 143 : _context.t3 === ">" ? 145 : _context.t3 === "{" ? 148 : _context.t3 === "/" ? 152 : 153;
26338 break;
26339
26340 case 143:
26341 stack.push({
26342 tag: "JSXTag"
26343 });
26344 return _context.abrupt("break", 153);
26345
26346 case 145:
26347 stack.pop();
26348
26349 if (lastSignificantToken === "/" || mode.tag === "JSXTagEnd") {
26350 nextLastSignificantToken = "?JSX";
26351 postfixIncDec = true;
26352 } else {
26353 stack.push({
26354 tag: "JSXChildren"
26355 });
26356 }
26357
26358 return _context.abrupt("break", 153);
26359
26360 case 148:
26361 stack.push({
26362 tag: "InterpolationInJSX",
26363 nesting: braces.length
26364 });
26365 nextLastSignificantToken = "?InterpolationInJSX";
26366 postfixIncDec = false;
26367 return _context.abrupt("break", 153);
26368
26369 case 152:
26370 if (lastSignificantToken === "<") {
26371 stack.pop();
26372
26373 if (stack[stack.length - 1].tag === "JSXChildren") {
26374 stack.pop();
26375 }
26376
26377 stack.push({
26378 tag: "JSXTagEnd"
26379 });
26380 }
26381
26382 case 153:
26383 lastSignificantToken = nextLastSignificantToken;
26384 _context.next = 156;
26385 return {
26386 type: "JSXPunctuator",
26387 value: match[0]
26388 };
26389
26390 case 156:
26391 return _context.abrupt("continue", 8);
26392
26393 case 157:
26394 JSXIdentifier.lastIndex = lastIndex;
26395
26396 if (!(match = JSXIdentifier.exec(input))) {
26397 _context.next = 164;
26398 break;
26399 }
26400
26401 lastIndex = JSXIdentifier.lastIndex;
26402 lastSignificantToken = match[0];
26403 _context.next = 163;
26404 return {
26405 type: "JSXIdentifier",
26406 value: match[0]
26407 };
26408
26409 case 163:
26410 return _context.abrupt("continue", 8);
26411
26412 case 164:
26413 JSXString.lastIndex = lastIndex;
26414
26415 if (!(match = JSXString.exec(input))) {
26416 _context.next = 171;
26417 break;
26418 }
26419
26420 lastIndex = JSXString.lastIndex;
26421 lastSignificantToken = match[0];
26422 _context.next = 170;
26423 return {
26424 type: "JSXString",
26425 value: match[0],
26426 closed: match[2] !== void 0
26427 };
26428
26429 case 170:
26430 return _context.abrupt("continue", 8);
26431
26432 case 171:
26433 return _context.abrupt("break", 195);
26434
26435 case 172:
26436 JSXText.lastIndex = lastIndex;
26437
26438 if (!(match = JSXText.exec(input))) {
26439 _context.next = 179;
26440 break;
26441 }
26442
26443 lastIndex = JSXText.lastIndex;
26444 lastSignificantToken = match[0];
26445 _context.next = 178;
26446 return {
26447 type: "JSXText",
26448 value: match[0]
26449 };
26450
26451 case 178:
26452 return _context.abrupt("continue", 8);
26453
26454 case 179:
26455 _context.t4 = input[lastIndex];
26456 _context.next = _context.t4 === "<" ? 182 : _context.t4 === "{" ? 188 : 195;
26457 break;
26458
26459 case 182:
26460 stack.push({
26461 tag: "JSXTag"
26462 });
26463 lastIndex++;
26464 lastSignificantToken = "<";
26465 _context.next = 187;
26466 return {
26467 type: "JSXPunctuator",
26468 value: "<"
26469 };
26470
26471 case 187:
26472 return _context.abrupt("continue", 8);
26473
26474 case 188:
26475 stack.push({
26476 tag: "InterpolationInJSX",
26477 nesting: braces.length
26478 });
26479 lastIndex++;
26480 lastSignificantToken = "?InterpolationInJSX";
26481 postfixIncDec = false;
26482 _context.next = 194;
26483 return {
26484 type: "JSXPunctuator",
26485 value: "{"
26486 };
26487
26488 case 194:
26489 return _context.abrupt("continue", 8);
26490
26491 case 195:
26492 WhiteSpace.lastIndex = lastIndex;
26493
26494 if (!(match = WhiteSpace.exec(input))) {
26495 _context.next = 201;
26496 break;
26497 }
26498
26499 lastIndex = WhiteSpace.lastIndex;
26500 _context.next = 200;
26501 return {
26502 type: "WhiteSpace",
26503 value: match[0]
26504 };
26505
26506 case 200:
26507 return _context.abrupt("continue", 8);
26508
26509 case 201:
26510 LineTerminatorSequence.lastIndex = lastIndex;
26511
26512 if (!(match = LineTerminatorSequence.exec(input))) {
26513 _context.next = 209;
26514 break;
26515 }
26516
26517 lastIndex = LineTerminatorSequence.lastIndex;
26518 postfixIncDec = false;
26519
26520 if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
26521 lastSignificantToken = "?NoLineTerminatorHere";
26522 }
26523
26524 _context.next = 208;
26525 return {
26526 type: "LineTerminatorSequence",
26527 value: match[0]
26528 };
26529
26530 case 208:
26531 return _context.abrupt("continue", 8);
26532
26533 case 209:
26534 MultiLineComment.lastIndex = lastIndex;
26535
26536 if (!(match = MultiLineComment.exec(input))) {
26537 _context.next = 216;
26538 break;
26539 }
26540
26541 lastIndex = MultiLineComment.lastIndex;
26542
26543 if (Newline.test(match[0])) {
26544 postfixIncDec = false;
26545
26546 if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
26547 lastSignificantToken = "?NoLineTerminatorHere";
26548 }
26549 }
26550
26551 _context.next = 215;
26552 return {
26553 type: "MultiLineComment",
26554 value: match[0],
26555 closed: match[1] !== void 0
26556 };
26557
26558 case 215:
26559 return _context.abrupt("continue", 8);
26560
26561 case 216:
26562 SingleLineComment.lastIndex = lastIndex;
26563
26564 if (!(match = SingleLineComment.exec(input))) {
26565 _context.next = 223;
26566 break;
26567 }
26568
26569 lastIndex = SingleLineComment.lastIndex;
26570 postfixIncDec = false;
26571 _context.next = 222;
26572 return {
26573 type: "SingleLineComment",
26574 value: match[0]
26575 };
26576
26577 case 222:
26578 return _context.abrupt("continue", 8);
26579
26580 case 223:
26581 firstCodePoint = String.fromCodePoint(input.codePointAt(lastIndex));
26582 lastIndex += firstCodePoint.length;
26583 lastSignificantToken = firstCodePoint;
26584 postfixIncDec = false;
26585 _context.next = 229;
26586 return {
26587 type: mode.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid",
26588 value: firstCodePoint
26589 };
26590
26591 case 229:
26592 _context.next = 8;
26593 break;
26594
26595 case 231:
26596 return _context.abrupt("return", void 0);
26597
26598 case 232:
26599 case "end":
26600 return _context.stop();
26601 }
26602 }
26603 }, jsTokens);
26604 });
26605
26606 var _default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
26607
26608 var matchToToken = function matchToToken(match) {
26609 var token = {
26610 type: "invalid",
26611 value: match[0],
26612 closed: undefined
26613 };
26614 if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = "comment";else if (match[6]) token.type = "comment", token.closed = !!match[7];else if (match[8]) token.type = "regex";else if (match[9]) token.type = "number";else if (match[10]) token.type = "name";else if (match[11]) token.type = "punctuator";else if (match[12]) token.type = "whitespace";
26615 return token;
26616 };
26617
26618 var jsTokensBABEL_8_BREAKINGFalse = Object.defineProperty({
26619 "default": _default,
26620 matchToToken: matchToToken
26621 }, '__esModule', {
26622 value: true
26623 });
26624
26625 var jsTokens = jsTokensBABEL_8_BREAKINGFalse;
26626
26627 var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
26628
26629 var escapeStringRegexp = function escapeStringRegexp(str) {
26630 if (typeof str !== 'string') {
26631 throw new TypeError('Expected a string');
26632 }
26633
26634 return str.replace(matchOperatorsRe, '\\$&');
26635 };
26636
26637 var colorName = {
26638 "aliceblue": [240, 248, 255],
26639 "antiquewhite": [250, 235, 215],
26640 "aqua": [0, 255, 255],
26641 "aquamarine": [127, 255, 212],
26642 "azure": [240, 255, 255],
26643 "beige": [245, 245, 220],
26644 "bisque": [255, 228, 196],
26645 "black": [0, 0, 0],
26646 "blanchedalmond": [255, 235, 205],
26647 "blue": [0, 0, 255],
26648 "blueviolet": [138, 43, 226],
26649 "brown": [165, 42, 42],
26650 "burlywood": [222, 184, 135],
26651 "cadetblue": [95, 158, 160],
26652 "chartreuse": [127, 255, 0],
26653 "chocolate": [210, 105, 30],
26654 "coral": [255, 127, 80],
26655 "cornflowerblue": [100, 149, 237],
26656 "cornsilk": [255, 248, 220],
26657 "crimson": [220, 20, 60],
26658 "cyan": [0, 255, 255],
26659 "darkblue": [0, 0, 139],
26660 "darkcyan": [0, 139, 139],
26661 "darkgoldenrod": [184, 134, 11],
26662 "darkgray": [169, 169, 169],
26663 "darkgreen": [0, 100, 0],
26664 "darkgrey": [169, 169, 169],
26665 "darkkhaki": [189, 183, 107],
26666 "darkmagenta": [139, 0, 139],
26667 "darkolivegreen": [85, 107, 47],
26668 "darkorange": [255, 140, 0],
26669 "darkorchid": [153, 50, 204],
26670 "darkred": [139, 0, 0],
26671 "darksalmon": [233, 150, 122],
26672 "darkseagreen": [143, 188, 143],
26673 "darkslateblue": [72, 61, 139],
26674 "darkslategray": [47, 79, 79],
26675 "darkslategrey": [47, 79, 79],
26676 "darkturquoise": [0, 206, 209],
26677 "darkviolet": [148, 0, 211],
26678 "deeppink": [255, 20, 147],
26679 "deepskyblue": [0, 191, 255],
26680 "dimgray": [105, 105, 105],
26681 "dimgrey": [105, 105, 105],
26682 "dodgerblue": [30, 144, 255],
26683 "firebrick": [178, 34, 34],
26684 "floralwhite": [255, 250, 240],
26685 "forestgreen": [34, 139, 34],
26686 "fuchsia": [255, 0, 255],
26687 "gainsboro": [220, 220, 220],
26688 "ghostwhite": [248, 248, 255],
26689 "gold": [255, 215, 0],
26690 "goldenrod": [218, 165, 32],
26691 "gray": [128, 128, 128],
26692 "green": [0, 128, 0],
26693 "greenyellow": [173, 255, 47],
26694 "grey": [128, 128, 128],
26695 "honeydew": [240, 255, 240],
26696 "hotpink": [255, 105, 180],
26697 "indianred": [205, 92, 92],
26698 "indigo": [75, 0, 130],
26699 "ivory": [255, 255, 240],
26700 "khaki": [240, 230, 140],
26701 "lavender": [230, 230, 250],
26702 "lavenderblush": [255, 240, 245],
26703 "lawngreen": [124, 252, 0],
26704 "lemonchiffon": [255, 250, 205],
26705 "lightblue": [173, 216, 230],
26706 "lightcoral": [240, 128, 128],
26707 "lightcyan": [224, 255, 255],
26708 "lightgoldenrodyellow": [250, 250, 210],
26709 "lightgray": [211, 211, 211],
26710 "lightgreen": [144, 238, 144],
26711 "lightgrey": [211, 211, 211],
26712 "lightpink": [255, 182, 193],
26713 "lightsalmon": [255, 160, 122],
26714 "lightseagreen": [32, 178, 170],
26715 "lightskyblue": [135, 206, 250],
26716 "lightslategray": [119, 136, 153],
26717 "lightslategrey": [119, 136, 153],
26718 "lightsteelblue": [176, 196, 222],
26719 "lightyellow": [255, 255, 224],
26720 "lime": [0, 255, 0],
26721 "limegreen": [50, 205, 50],
26722 "linen": [250, 240, 230],
26723 "magenta": [255, 0, 255],
26724 "maroon": [128, 0, 0],
26725 "mediumaquamarine": [102, 205, 170],
26726 "mediumblue": [0, 0, 205],
26727 "mediumorchid": [186, 85, 211],
26728 "mediumpurple": [147, 112, 219],
26729 "mediumseagreen": [60, 179, 113],
26730 "mediumslateblue": [123, 104, 238],
26731 "mediumspringgreen": [0, 250, 154],
26732 "mediumturquoise": [72, 209, 204],
26733 "mediumvioletred": [199, 21, 133],
26734 "midnightblue": [25, 25, 112],
26735 "mintcream": [245, 255, 250],
26736 "mistyrose": [255, 228, 225],
26737 "moccasin": [255, 228, 181],
26738 "navajowhite": [255, 222, 173],
26739 "navy": [0, 0, 128],
26740 "oldlace": [253, 245, 230],
26741 "olive": [128, 128, 0],
26742 "olivedrab": [107, 142, 35],
26743 "orange": [255, 165, 0],
26744 "orangered": [255, 69, 0],
26745 "orchid": [218, 112, 214],
26746 "palegoldenrod": [238, 232, 170],
26747 "palegreen": [152, 251, 152],
26748 "paleturquoise": [175, 238, 238],
26749 "palevioletred": [219, 112, 147],
26750 "papayawhip": [255, 239, 213],
26751 "peachpuff": [255, 218, 185],
26752 "peru": [205, 133, 63],
26753 "pink": [255, 192, 203],
26754 "plum": [221, 160, 221],
26755 "powderblue": [176, 224, 230],
26756 "purple": [128, 0, 128],
26757 "rebeccapurple": [102, 51, 153],
26758 "red": [255, 0, 0],
26759 "rosybrown": [188, 143, 143],
26760 "royalblue": [65, 105, 225],
26761 "saddlebrown": [139, 69, 19],
26762 "salmon": [250, 128, 114],
26763 "sandybrown": [244, 164, 96],
26764 "seagreen": [46, 139, 87],
26765 "seashell": [255, 245, 238],
26766 "sienna": [160, 82, 45],
26767 "silver": [192, 192, 192],
26768 "skyblue": [135, 206, 235],
26769 "slateblue": [106, 90, 205],
26770 "slategray": [112, 128, 144],
26771 "slategrey": [112, 128, 144],
26772 "snow": [255, 250, 250],
26773 "springgreen": [0, 255, 127],
26774 "steelblue": [70, 130, 180],
26775 "tan": [210, 180, 140],
26776 "teal": [0, 128, 128],
26777 "thistle": [216, 191, 216],
26778 "tomato": [255, 99, 71],
26779 "turquoise": [64, 224, 208],
26780 "violet": [238, 130, 238],
26781 "wheat": [245, 222, 179],
26782 "white": [255, 255, 255],
26783 "whitesmoke": [245, 245, 245],
26784 "yellow": [255, 255, 0],
26785 "yellowgreen": [154, 205, 50]
26786 };
26787
26788 var conversions = createCommonjsModule(function (module) {
26789 var reverseKeywords = {};
26790
26791 for (var key in colorName) {
26792 if (colorName.hasOwnProperty(key)) {
26793 reverseKeywords[colorName[key]] = key;
26794 }
26795 }
26796
26797 var convert = module.exports = {
26798 rgb: {
26799 channels: 3,
26800 labels: 'rgb'
26801 },
26802 hsl: {
26803 channels: 3,
26804 labels: 'hsl'
26805 },
26806 hsv: {
26807 channels: 3,
26808 labels: 'hsv'
26809 },
26810 hwb: {
26811 channels: 3,
26812 labels: 'hwb'
26813 },
26814 cmyk: {
26815 channels: 4,
26816 labels: 'cmyk'
26817 },
26818 xyz: {
26819 channels: 3,
26820 labels: 'xyz'
26821 },
26822 lab: {
26823 channels: 3,
26824 labels: 'lab'
26825 },
26826 lch: {
26827 channels: 3,
26828 labels: 'lch'
26829 },
26830 hex: {
26831 channels: 1,
26832 labels: ['hex']
26833 },
26834 keyword: {
26835 channels: 1,
26836 labels: ['keyword']
26837 },
26838 ansi16: {
26839 channels: 1,
26840 labels: ['ansi16']
26841 },
26842 ansi256: {
26843 channels: 1,
26844 labels: ['ansi256']
26845 },
26846 hcg: {
26847 channels: 3,
26848 labels: ['h', 'c', 'g']
26849 },
26850 apple: {
26851 channels: 3,
26852 labels: ['r16', 'g16', 'b16']
26853 },
26854 gray: {
26855 channels: 1,
26856 labels: ['gray']
26857 }
26858 };
26859
26860 for (var model in convert) {
26861 if (convert.hasOwnProperty(model)) {
26862 if (!('channels' in convert[model])) {
26863 throw new Error('missing channels property: ' + model);
26864 }
26865
26866 if (!('labels' in convert[model])) {
26867 throw new Error('missing channel labels property: ' + model);
26868 }
26869
26870 if (convert[model].labels.length !== convert[model].channels) {
26871 throw new Error('channel and label counts mismatch: ' + model);
26872 }
26873
26874 var channels = convert[model].channels;
26875 var labels = convert[model].labels;
26876 delete convert[model].channels;
26877 delete convert[model].labels;
26878 Object.defineProperty(convert[model], 'channels', {
26879 value: channels
26880 });
26881 Object.defineProperty(convert[model], 'labels', {
26882 value: labels
26883 });
26884 }
26885 }
26886
26887 convert.rgb.hsl = function (rgb) {
26888 var r = rgb[0] / 255;
26889 var g = rgb[1] / 255;
26890 var b = rgb[2] / 255;
26891 var min = Math.min(r, g, b);
26892 var max = Math.max(r, g, b);
26893 var delta = max - min;
26894 var h;
26895 var s;
26896 var l;
26897
26898 if (max === min) {
26899 h = 0;
26900 } else if (r === max) {
26901 h = (g - b) / delta;
26902 } else if (g === max) {
26903 h = 2 + (b - r) / delta;
26904 } else if (b === max) {
26905 h = 4 + (r - g) / delta;
26906 }
26907
26908 h = Math.min(h * 60, 360);
26909
26910 if (h < 0) {
26911 h += 360;
26912 }
26913
26914 l = (min + max) / 2;
26915
26916 if (max === min) {
26917 s = 0;
26918 } else if (l <= 0.5) {
26919 s = delta / (max + min);
26920 } else {
26921 s = delta / (2 - max - min);
26922 }
26923
26924 return [h, s * 100, l * 100];
26925 };
26926
26927 convert.rgb.hsv = function (rgb) {
26928 var rdif;
26929 var gdif;
26930 var bdif;
26931 var h;
26932 var s;
26933 var r = rgb[0] / 255;
26934 var g = rgb[1] / 255;
26935 var b = rgb[2] / 255;
26936 var v = Math.max(r, g, b);
26937 var diff = v - Math.min(r, g, b);
26938
26939 var diffc = function diffc(c) {
26940 return (v - c) / 6 / diff + 1 / 2;
26941 };
26942
26943 if (diff === 0) {
26944 h = s = 0;
26945 } else {
26946 s = diff / v;
26947 rdif = diffc(r);
26948 gdif = diffc(g);
26949 bdif = diffc(b);
26950
26951 if (r === v) {
26952 h = bdif - gdif;
26953 } else if (g === v) {
26954 h = 1 / 3 + rdif - bdif;
26955 } else if (b === v) {
26956 h = 2 / 3 + gdif - rdif;
26957 }
26958
26959 if (h < 0) {
26960 h += 1;
26961 } else if (h > 1) {
26962 h -= 1;
26963 }
26964 }
26965
26966 return [h * 360, s * 100, v * 100];
26967 };
26968
26969 convert.rgb.hwb = function (rgb) {
26970 var r = rgb[0];
26971 var g = rgb[1];
26972 var b = rgb[2];
26973 var h = convert.rgb.hsl(rgb)[0];
26974 var w = 1 / 255 * Math.min(r, Math.min(g, b));
26975 b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
26976 return [h, w * 100, b * 100];
26977 };
26978
26979 convert.rgb.cmyk = function (rgb) {
26980 var r = rgb[0] / 255;
26981 var g = rgb[1] / 255;
26982 var b = rgb[2] / 255;
26983 var c;
26984 var m;
26985 var y;
26986 var k;
26987 k = Math.min(1 - r, 1 - g, 1 - b);
26988 c = (1 - r - k) / (1 - k) || 0;
26989 m = (1 - g - k) / (1 - k) || 0;
26990 y = (1 - b - k) / (1 - k) || 0;
26991 return [c * 100, m * 100, y * 100, k * 100];
26992 };
26993
26994 function comparativeDistance(x, y) {
26995 return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
26996 }
26997
26998 convert.rgb.keyword = function (rgb) {
26999 var reversed = reverseKeywords[rgb];
27000
27001 if (reversed) {
27002 return reversed;
27003 }
27004
27005 var currentClosestDistance = Infinity;
27006 var currentClosestKeyword;
27007
27008 for (var keyword in colorName) {
27009 if (colorName.hasOwnProperty(keyword)) {
27010 var value = colorName[keyword];
27011 var distance = comparativeDistance(rgb, value);
27012
27013 if (distance < currentClosestDistance) {
27014 currentClosestDistance = distance;
27015 currentClosestKeyword = keyword;
27016 }
27017 }
27018 }
27019
27020 return currentClosestKeyword;
27021 };
27022
27023 convert.keyword.rgb = function (keyword) {
27024 return colorName[keyword];
27025 };
27026
27027 convert.rgb.xyz = function (rgb) {
27028 var r = rgb[0] / 255;
27029 var g = rgb[1] / 255;
27030 var b = rgb[2] / 255;
27031 r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
27032 g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
27033 b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
27034 var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
27035 var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
27036 var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
27037 return [x * 100, y * 100, z * 100];
27038 };
27039
27040 convert.rgb.lab = function (rgb) {
27041 var xyz = convert.rgb.xyz(rgb);
27042 var x = xyz[0];
27043 var y = xyz[1];
27044 var z = xyz[2];
27045 var l;
27046 var a;
27047 var b;
27048 x /= 95.047;
27049 y /= 100;
27050 z /= 108.883;
27051 x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
27052 y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
27053 z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
27054 l = 116 * y - 16;
27055 a = 500 * (x - y);
27056 b = 200 * (y - z);
27057 return [l, a, b];
27058 };
27059
27060 convert.hsl.rgb = function (hsl) {
27061 var h = hsl[0] / 360;
27062 var s = hsl[1] / 100;
27063 var l = hsl[2] / 100;
27064 var t1;
27065 var t2;
27066 var t3;
27067 var rgb;
27068 var val;
27069
27070 if (s === 0) {
27071 val = l * 255;
27072 return [val, val, val];
27073 }
27074
27075 if (l < 0.5) {
27076 t2 = l * (1 + s);
27077 } else {
27078 t2 = l + s - l * s;
27079 }
27080
27081 t1 = 2 * l - t2;
27082 rgb = [0, 0, 0];
27083
27084 for (var i = 0; i < 3; i++) {
27085 t3 = h + 1 / 3 * -(i - 1);
27086
27087 if (t3 < 0) {
27088 t3++;
27089 }
27090
27091 if (t3 > 1) {
27092 t3--;
27093 }
27094
27095 if (6 * t3 < 1) {
27096 val = t1 + (t2 - t1) * 6 * t3;
27097 } else if (2 * t3 < 1) {
27098 val = t2;
27099 } else if (3 * t3 < 2) {
27100 val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
27101 } else {
27102 val = t1;
27103 }
27104
27105 rgb[i] = val * 255;
27106 }
27107
27108 return rgb;
27109 };
27110
27111 convert.hsl.hsv = function (hsl) {
27112 var h = hsl[0];
27113 var s = hsl[1] / 100;
27114 var l = hsl[2] / 100;
27115 var smin = s;
27116 var lmin = Math.max(l, 0.01);
27117 var sv;
27118 var v;
27119 l *= 2;
27120 s *= l <= 1 ? l : 2 - l;
27121 smin *= lmin <= 1 ? lmin : 2 - lmin;
27122 v = (l + s) / 2;
27123 sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
27124 return [h, sv * 100, v * 100];
27125 };
27126
27127 convert.hsv.rgb = function (hsv) {
27128 var h = hsv[0] / 60;
27129 var s = hsv[1] / 100;
27130 var v = hsv[2] / 100;
27131 var hi = Math.floor(h) % 6;
27132 var f = h - Math.floor(h);
27133 var p = 255 * v * (1 - s);
27134 var q = 255 * v * (1 - s * f);
27135 var t = 255 * v * (1 - s * (1 - f));
27136 v *= 255;
27137
27138 switch (hi) {
27139 case 0:
27140 return [v, t, p];
27141
27142 case 1:
27143 return [q, v, p];
27144
27145 case 2:
27146 return [p, v, t];
27147
27148 case 3:
27149 return [p, q, v];
27150
27151 case 4:
27152 return [t, p, v];
27153
27154 case 5:
27155 return [v, p, q];
27156 }
27157 };
27158
27159 convert.hsv.hsl = function (hsv) {
27160 var h = hsv[0];
27161 var s = hsv[1] / 100;
27162 var v = hsv[2] / 100;
27163 var vmin = Math.max(v, 0.01);
27164 var lmin;
27165 var sl;
27166 var l;
27167 l = (2 - s) * v;
27168 lmin = (2 - s) * vmin;
27169 sl = s * vmin;
27170 sl /= lmin <= 1 ? lmin : 2 - lmin;
27171 sl = sl || 0;
27172 l /= 2;
27173 return [h, sl * 100, l * 100];
27174 };
27175
27176 convert.hwb.rgb = function (hwb) {
27177 var h = hwb[0] / 360;
27178 var wh = hwb[1] / 100;
27179 var bl = hwb[2] / 100;
27180 var ratio = wh + bl;
27181 var i;
27182 var v;
27183 var f;
27184 var n;
27185
27186 if (ratio > 1) {
27187 wh /= ratio;
27188 bl /= ratio;
27189 }
27190
27191 i = Math.floor(6 * h);
27192 v = 1 - bl;
27193 f = 6 * h - i;
27194
27195 if ((i & 0x01) !== 0) {
27196 f = 1 - f;
27197 }
27198
27199 n = wh + f * (v - wh);
27200 var r;
27201 var g;
27202 var b;
27203
27204 switch (i) {
27205 default:
27206 case 6:
27207 case 0:
27208 r = v;
27209 g = n;
27210 b = wh;
27211 break;
27212
27213 case 1:
27214 r = n;
27215 g = v;
27216 b = wh;
27217 break;
27218
27219 case 2:
27220 r = wh;
27221 g = v;
27222 b = n;
27223 break;
27224
27225 case 3:
27226 r = wh;
27227 g = n;
27228 b = v;
27229 break;
27230
27231 case 4:
27232 r = n;
27233 g = wh;
27234 b = v;
27235 break;
27236
27237 case 5:
27238 r = v;
27239 g = wh;
27240 b = n;
27241 break;
27242 }
27243
27244 return [r * 255, g * 255, b * 255];
27245 };
27246
27247 convert.cmyk.rgb = function (cmyk) {
27248 var c = cmyk[0] / 100;
27249 var m = cmyk[1] / 100;
27250 var y = cmyk[2] / 100;
27251 var k = cmyk[3] / 100;
27252 var r;
27253 var g;
27254 var b;
27255 r = 1 - Math.min(1, c * (1 - k) + k);
27256 g = 1 - Math.min(1, m * (1 - k) + k);
27257 b = 1 - Math.min(1, y * (1 - k) + k);
27258 return [r * 255, g * 255, b * 255];
27259 };
27260
27261 convert.xyz.rgb = function (xyz) {
27262 var x = xyz[0] / 100;
27263 var y = xyz[1] / 100;
27264 var z = xyz[2] / 100;
27265 var r;
27266 var g;
27267 var b;
27268 r = x * 3.2406 + y * -1.5372 + z * -0.4986;
27269 g = x * -0.9689 + y * 1.8758 + z * 0.0415;
27270 b = x * 0.0557 + y * -0.2040 + z * 1.0570;
27271 r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;
27272 g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;
27273 b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;
27274 r = Math.min(Math.max(0, r), 1);
27275 g = Math.min(Math.max(0, g), 1);
27276 b = Math.min(Math.max(0, b), 1);
27277 return [r * 255, g * 255, b * 255];
27278 };
27279
27280 convert.xyz.lab = function (xyz) {
27281 var x = xyz[0];
27282 var y = xyz[1];
27283 var z = xyz[2];
27284 var l;
27285 var a;
27286 var b;
27287 x /= 95.047;
27288 y /= 100;
27289 z /= 108.883;
27290 x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
27291 y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
27292 z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
27293 l = 116 * y - 16;
27294 a = 500 * (x - y);
27295 b = 200 * (y - z);
27296 return [l, a, b];
27297 };
27298
27299 convert.lab.xyz = function (lab) {
27300 var l = lab[0];
27301 var a = lab[1];
27302 var b = lab[2];
27303 var x;
27304 var y;
27305 var z;
27306 y = (l + 16) / 116;
27307 x = a / 500 + y;
27308 z = y - b / 200;
27309 var y2 = Math.pow(y, 3);
27310 var x2 = Math.pow(x, 3);
27311 var z2 = Math.pow(z, 3);
27312 y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
27313 x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
27314 z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
27315 x *= 95.047;
27316 y *= 100;
27317 z *= 108.883;
27318 return [x, y, z];
27319 };
27320
27321 convert.lab.lch = function (lab) {
27322 var l = lab[0];
27323 var a = lab[1];
27324 var b = lab[2];
27325 var hr;
27326 var h;
27327 var c;
27328 hr = Math.atan2(b, a);
27329 h = hr * 360 / 2 / Math.PI;
27330
27331 if (h < 0) {
27332 h += 360;
27333 }
27334
27335 c = Math.sqrt(a * a + b * b);
27336 return [l, c, h];
27337 };
27338
27339 convert.lch.lab = function (lch) {
27340 var l = lch[0];
27341 var c = lch[1];
27342 var h = lch[2];
27343 var a;
27344 var b;
27345 var hr;
27346 hr = h / 360 * 2 * Math.PI;
27347 a = c * Math.cos(hr);
27348 b = c * Math.sin(hr);
27349 return [l, a, b];
27350 };
27351
27352 convert.rgb.ansi16 = function (args) {
27353 var r = args[0];
27354 var g = args[1];
27355 var b = args[2];
27356 var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2];
27357 value = Math.round(value / 50);
27358
27359 if (value === 0) {
27360 return 30;
27361 }
27362
27363 var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
27364
27365 if (value === 2) {
27366 ansi += 60;
27367 }
27368
27369 return ansi;
27370 };
27371
27372 convert.hsv.ansi16 = function (args) {
27373 return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
27374 };
27375
27376 convert.rgb.ansi256 = function (args) {
27377 var r = args[0];
27378 var g = args[1];
27379 var b = args[2];
27380
27381 if (r === g && g === b) {
27382 if (r < 8) {
27383 return 16;
27384 }
27385
27386 if (r > 248) {
27387 return 231;
27388 }
27389
27390 return Math.round((r - 8) / 247 * 24) + 232;
27391 }
27392
27393 var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
27394 return ansi;
27395 };
27396
27397 convert.ansi16.rgb = function (args) {
27398 var color = args % 10;
27399
27400 if (color === 0 || color === 7) {
27401 if (args > 50) {
27402 color += 3.5;
27403 }
27404
27405 color = color / 10.5 * 255;
27406 return [color, color, color];
27407 }
27408
27409 var mult = (~~(args > 50) + 1) * 0.5;
27410 var r = (color & 1) * mult * 255;
27411 var g = (color >> 1 & 1) * mult * 255;
27412 var b = (color >> 2 & 1) * mult * 255;
27413 return [r, g, b];
27414 };
27415
27416 convert.ansi256.rgb = function (args) {
27417 if (args >= 232) {
27418 var c = (args - 232) * 10 + 8;
27419 return [c, c, c];
27420 }
27421
27422 args -= 16;
27423 var rem;
27424 var r = Math.floor(args / 36) / 5 * 255;
27425 var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
27426 var b = rem % 6 / 5 * 255;
27427 return [r, g, b];
27428 };
27429
27430 convert.rgb.hex = function (args) {
27431 var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);
27432 var string = integer.toString(16).toUpperCase();
27433 return '000000'.substring(string.length) + string;
27434 };
27435
27436 convert.hex.rgb = function (args) {
27437 var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
27438
27439 if (!match) {
27440 return [0, 0, 0];
27441 }
27442
27443 var colorString = match[0];
27444
27445 if (match[0].length === 3) {
27446 colorString = colorString.split('').map(function (_char) {
27447 return _char + _char;
27448 }).join('');
27449 }
27450
27451 var integer = parseInt(colorString, 16);
27452 var r = integer >> 16 & 0xFF;
27453 var g = integer >> 8 & 0xFF;
27454 var b = integer & 0xFF;
27455 return [r, g, b];
27456 };
27457
27458 convert.rgb.hcg = function (rgb) {
27459 var r = rgb[0] / 255;
27460 var g = rgb[1] / 255;
27461 var b = rgb[2] / 255;
27462 var max = Math.max(Math.max(r, g), b);
27463 var min = Math.min(Math.min(r, g), b);
27464 var chroma = max - min;
27465 var grayscale;
27466 var hue;
27467
27468 if (chroma < 1) {
27469 grayscale = min / (1 - chroma);
27470 } else {
27471 grayscale = 0;
27472 }
27473
27474 if (chroma <= 0) {
27475 hue = 0;
27476 } else if (max === r) {
27477 hue = (g - b) / chroma % 6;
27478 } else if (max === g) {
27479 hue = 2 + (b - r) / chroma;
27480 } else {
27481 hue = 4 + (r - g) / chroma + 4;
27482 }
27483
27484 hue /= 6;
27485 hue %= 1;
27486 return [hue * 360, chroma * 100, grayscale * 100];
27487 };
27488
27489 convert.hsl.hcg = function (hsl) {
27490 var s = hsl[1] / 100;
27491 var l = hsl[2] / 100;
27492 var c = 1;
27493 var f = 0;
27494
27495 if (l < 0.5) {
27496 c = 2.0 * s * l;
27497 } else {
27498 c = 2.0 * s * (1.0 - l);
27499 }
27500
27501 if (c < 1.0) {
27502 f = (l - 0.5 * c) / (1.0 - c);
27503 }
27504
27505 return [hsl[0], c * 100, f * 100];
27506 };
27507
27508 convert.hsv.hcg = function (hsv) {
27509 var s = hsv[1] / 100;
27510 var v = hsv[2] / 100;
27511 var c = s * v;
27512 var f = 0;
27513
27514 if (c < 1.0) {
27515 f = (v - c) / (1 - c);
27516 }
27517
27518 return [hsv[0], c * 100, f * 100];
27519 };
27520
27521 convert.hcg.rgb = function (hcg) {
27522 var h = hcg[0] / 360;
27523 var c = hcg[1] / 100;
27524 var g = hcg[2] / 100;
27525
27526 if (c === 0.0) {
27527 return [g * 255, g * 255, g * 255];
27528 }
27529
27530 var pure = [0, 0, 0];
27531 var hi = h % 1 * 6;
27532 var v = hi % 1;
27533 var w = 1 - v;
27534 var mg = 0;
27535
27536 switch (Math.floor(hi)) {
27537 case 0:
27538 pure[0] = 1;
27539 pure[1] = v;
27540 pure[2] = 0;
27541 break;
27542
27543 case 1:
27544 pure[0] = w;
27545 pure[1] = 1;
27546 pure[2] = 0;
27547 break;
27548
27549 case 2:
27550 pure[0] = 0;
27551 pure[1] = 1;
27552 pure[2] = v;
27553 break;
27554
27555 case 3:
27556 pure[0] = 0;
27557 pure[1] = w;
27558 pure[2] = 1;
27559 break;
27560
27561 case 4:
27562 pure[0] = v;
27563 pure[1] = 0;
27564 pure[2] = 1;
27565 break;
27566
27567 default:
27568 pure[0] = 1;
27569 pure[1] = 0;
27570 pure[2] = w;
27571 }
27572
27573 mg = (1.0 - c) * g;
27574 return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];
27575 };
27576
27577 convert.hcg.hsv = function (hcg) {
27578 var c = hcg[1] / 100;
27579 var g = hcg[2] / 100;
27580 var v = c + g * (1.0 - c);
27581 var f = 0;
27582
27583 if (v > 0.0) {
27584 f = c / v;
27585 }
27586
27587 return [hcg[0], f * 100, v * 100];
27588 };
27589
27590 convert.hcg.hsl = function (hcg) {
27591 var c = hcg[1] / 100;
27592 var g = hcg[2] / 100;
27593 var l = g * (1.0 - c) + 0.5 * c;
27594 var s = 0;
27595
27596 if (l > 0.0 && l < 0.5) {
27597 s = c / (2 * l);
27598 } else if (l >= 0.5 && l < 1.0) {
27599 s = c / (2 * (1 - l));
27600 }
27601
27602 return [hcg[0], s * 100, l * 100];
27603 };
27604
27605 convert.hcg.hwb = function (hcg) {
27606 var c = hcg[1] / 100;
27607 var g = hcg[2] / 100;
27608 var v = c + g * (1.0 - c);
27609 return [hcg[0], (v - c) * 100, (1 - v) * 100];
27610 };
27611
27612 convert.hwb.hcg = function (hwb) {
27613 var w = hwb[1] / 100;
27614 var b = hwb[2] / 100;
27615 var v = 1 - b;
27616 var c = v - w;
27617 var g = 0;
27618
27619 if (c < 1) {
27620 g = (v - c) / (1 - c);
27621 }
27622
27623 return [hwb[0], c * 100, g * 100];
27624 };
27625
27626 convert.apple.rgb = function (apple) {
27627 return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
27628 };
27629
27630 convert.rgb.apple = function (rgb) {
27631 return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
27632 };
27633
27634 convert.gray.rgb = function (args) {
27635 return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
27636 };
27637
27638 convert.gray.hsl = convert.gray.hsv = function (args) {
27639 return [0, 0, args[0]];
27640 };
27641
27642 convert.gray.hwb = function (gray) {
27643 return [0, 100, gray[0]];
27644 };
27645
27646 convert.gray.cmyk = function (gray) {
27647 return [0, 0, 0, gray[0]];
27648 };
27649
27650 convert.gray.lab = function (gray) {
27651 return [gray[0], 0, 0];
27652 };
27653
27654 convert.gray.hex = function (gray) {
27655 var val = Math.round(gray[0] / 100 * 255) & 0xFF;
27656 var integer = (val << 16) + (val << 8) + val;
27657 var string = integer.toString(16).toUpperCase();
27658 return '000000'.substring(string.length) + string;
27659 };
27660
27661 convert.rgb.gray = function (rgb) {
27662 var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
27663 return [val / 255 * 100];
27664 };
27665 }, "/$$rollup_base$$/packages/babel-highlight/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert");
27666
27667 function buildGraph() {
27668 var graph = {};
27669 var models = Object.keys(conversions);
27670
27671 for (var len = models.length, i = 0; i < len; i++) {
27672 graph[models[i]] = {
27673 distance: -1,
27674 parent: null
27675 };
27676 }
27677
27678 return graph;
27679 }
27680
27681 function deriveBFS(fromModel) {
27682 var graph = buildGraph();
27683 var queue = [fromModel];
27684 graph[fromModel].distance = 0;
27685
27686 while (queue.length) {
27687 var current = queue.pop();
27688 var adjacents = Object.keys(conversions[current]);
27689
27690 for (var len = adjacents.length, i = 0; i < len; i++) {
27691 var adjacent = adjacents[i];
27692 var node = graph[adjacent];
27693
27694 if (node.distance === -1) {
27695 node.distance = graph[current].distance + 1;
27696 node.parent = current;
27697 queue.unshift(adjacent);
27698 }
27699 }
27700 }
27701
27702 return graph;
27703 }
27704
27705 function link(from, to) {
27706 return function (args) {
27707 return to(from(args));
27708 };
27709 }
27710
27711 function wrapConversion(toModel, graph) {
27712 var path = [graph[toModel].parent, toModel];
27713 var fn = conversions[graph[toModel].parent][toModel];
27714 var cur = graph[toModel].parent;
27715
27716 while (graph[cur].parent) {
27717 path.unshift(graph[cur].parent);
27718 fn = link(conversions[graph[cur].parent][cur], fn);
27719 cur = graph[cur].parent;
27720 }
27721
27722 fn.conversion = path;
27723 return fn;
27724 }
27725
27726 var route = function route(fromModel) {
27727 var graph = deriveBFS(fromModel);
27728 var conversion = {};
27729 var models = Object.keys(graph);
27730
27731 for (var len = models.length, i = 0; i < len; i++) {
27732 var toModel = models[i];
27733 var node = graph[toModel];
27734
27735 if (node.parent === null) {
27736 continue;
27737 }
27738
27739 conversion[toModel] = wrapConversion(toModel, graph);
27740 }
27741
27742 return conversion;
27743 };
27744
27745 var convert = {};
27746 var models = Object.keys(conversions);
27747
27748 function wrapRaw(fn) {
27749 var wrappedFn = function wrappedFn(args) {
27750 if (args === undefined || args === null) {
27751 return args;
27752 }
27753
27754 if (arguments.length > 1) {
27755 args = Array.prototype.slice.call(arguments);
27756 }
27757
27758 return fn(args);
27759 };
27760
27761 if ('conversion' in fn) {
27762 wrappedFn.conversion = fn.conversion;
27763 }
27764
27765 return wrappedFn;
27766 }
27767
27768 function wrapRounded(fn) {
27769 var wrappedFn = function wrappedFn(args) {
27770 if (args === undefined || args === null) {
27771 return args;
27772 }
27773
27774 if (arguments.length > 1) {
27775 args = Array.prototype.slice.call(arguments);
27776 }
27777
27778 var result = fn(args);
27779
27780 if (typeof result === 'object') {
27781 for (var len = result.length, i = 0; i < len; i++) {
27782 result[i] = Math.round(result[i]);
27783 }
27784 }
27785
27786 return result;
27787 };
27788
27789 if ('conversion' in fn) {
27790 wrappedFn.conversion = fn.conversion;
27791 }
27792
27793 return wrappedFn;
27794 }
27795
27796 models.forEach(function (fromModel) {
27797 convert[fromModel] = {};
27798 Object.defineProperty(convert[fromModel], 'channels', {
27799 value: conversions[fromModel].channels
27800 });
27801 Object.defineProperty(convert[fromModel], 'labels', {
27802 value: conversions[fromModel].labels
27803 });
27804 var routes = route(fromModel);
27805 var routeModels = Object.keys(routes);
27806 routeModels.forEach(function (toModel) {
27807 var fn = routes[toModel];
27808 convert[fromModel][toModel] = wrapRounded(fn);
27809 convert[fromModel][toModel].raw = wrapRaw(fn);
27810 });
27811 });
27812 var colorConvert = convert;
27813
27814 var ansiStyles = createCommonjsModule(function (module) {
27815
27816 var wrapAnsi16 = function wrapAnsi16(fn, offset) {
27817 return function () {
27818 var code = fn.apply(colorConvert, arguments);
27819 return "\x1B[" + (code + offset) + "m";
27820 };
27821 };
27822
27823 var wrapAnsi256 = function wrapAnsi256(fn, offset) {
27824 return function () {
27825 var code = fn.apply(colorConvert, arguments);
27826 return "\x1B[" + (38 + offset) + ";5;" + code + "m";
27827 };
27828 };
27829
27830 var wrapAnsi16m = function wrapAnsi16m(fn, offset) {
27831 return function () {
27832 var rgb = fn.apply(colorConvert, arguments);
27833 return "\x1B[" + (38 + offset) + ";2;" + rgb[0] + ";" + rgb[1] + ";" + rgb[2] + "m";
27834 };
27835 };
27836
27837 function assembleStyles() {
27838 var codes = new Map();
27839 var styles = {
27840 modifier: {
27841 reset: [0, 0],
27842 bold: [1, 22],
27843 dim: [2, 22],
27844 italic: [3, 23],
27845 underline: [4, 24],
27846 inverse: [7, 27],
27847 hidden: [8, 28],
27848 strikethrough: [9, 29]
27849 },
27850 color: {
27851 black: [30, 39],
27852 red: [31, 39],
27853 green: [32, 39],
27854 yellow: [33, 39],
27855 blue: [34, 39],
27856 magenta: [35, 39],
27857 cyan: [36, 39],
27858 white: [37, 39],
27859 gray: [90, 39],
27860 redBright: [91, 39],
27861 greenBright: [92, 39],
27862 yellowBright: [93, 39],
27863 blueBright: [94, 39],
27864 magentaBright: [95, 39],
27865 cyanBright: [96, 39],
27866 whiteBright: [97, 39]
27867 },
27868 bgColor: {
27869 bgBlack: [40, 49],
27870 bgRed: [41, 49],
27871 bgGreen: [42, 49],
27872 bgYellow: [43, 49],
27873 bgBlue: [44, 49],
27874 bgMagenta: [45, 49],
27875 bgCyan: [46, 49],
27876 bgWhite: [47, 49],
27877 bgBlackBright: [100, 49],
27878 bgRedBright: [101, 49],
27879 bgGreenBright: [102, 49],
27880 bgYellowBright: [103, 49],
27881 bgBlueBright: [104, 49],
27882 bgMagentaBright: [105, 49],
27883 bgCyanBright: [106, 49],
27884 bgWhiteBright: [107, 49]
27885 }
27886 };
27887 styles.color.grey = styles.color.gray;
27888
27889 for (var _i = 0, _Object$keys = Object.keys(styles); _i < _Object$keys.length; _i++) {
27890 var groupName = _Object$keys[_i];
27891 var group = styles[groupName];
27892
27893 for (var _i2 = 0, _Object$keys2 = Object.keys(group); _i2 < _Object$keys2.length; _i2++) {
27894 var styleName = _Object$keys2[_i2];
27895 var style = group[styleName];
27896 styles[styleName] = {
27897 open: "\x1B[" + style[0] + "m",
27898 close: "\x1B[" + style[1] + "m"
27899 };
27900 group[styleName] = styles[styleName];
27901 codes.set(style[0], style[1]);
27902 }
27903
27904 Object.defineProperty(styles, groupName, {
27905 value: group,
27906 enumerable: false
27907 });
27908 Object.defineProperty(styles, 'codes', {
27909 value: codes,
27910 enumerable: false
27911 });
27912 }
27913
27914 var ansi2ansi = function ansi2ansi(n) {
27915 return n;
27916 };
27917
27918 var rgb2rgb = function rgb2rgb(r, g, b) {
27919 return [r, g, b];
27920 };
27921
27922 styles.color.close = "\x1B[39m";
27923 styles.bgColor.close = "\x1B[49m";
27924 styles.color.ansi = {
27925 ansi: wrapAnsi16(ansi2ansi, 0)
27926 };
27927 styles.color.ansi256 = {
27928 ansi256: wrapAnsi256(ansi2ansi, 0)
27929 };
27930 styles.color.ansi16m = {
27931 rgb: wrapAnsi16m(rgb2rgb, 0)
27932 };
27933 styles.bgColor.ansi = {
27934 ansi: wrapAnsi16(ansi2ansi, 10)
27935 };
27936 styles.bgColor.ansi256 = {
27937 ansi256: wrapAnsi256(ansi2ansi, 10)
27938 };
27939 styles.bgColor.ansi16m = {
27940 rgb: wrapAnsi16m(rgb2rgb, 10)
27941 };
27942
27943 for (var _i3 = 0, _Object$keys3 = Object.keys(colorConvert); _i3 < _Object$keys3.length; _i3++) {
27944 var key = _Object$keys3[_i3];
27945
27946 if (typeof colorConvert[key] !== 'object') {
27947 continue;
27948 }
27949
27950 var suite = colorConvert[key];
27951
27952 if (key === 'ansi16') {
27953 key = 'ansi';
27954 }
27955
27956 if ('ansi16' in suite) {
27957 styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);
27958 styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);
27959 }
27960
27961 if ('ansi256' in suite) {
27962 styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);
27963 styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);
27964 }
27965
27966 if ('rgb' in suite) {
27967 styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);
27968 styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);
27969 }
27970 }
27971
27972 return styles;
27973 }
27974
27975 Object.defineProperty(module, 'exports', {
27976 enumerable: true,
27977 get: assembleStyles
27978 });
27979 }, "/$$rollup_base$$/packages/babel-highlight/node_modules/chalk/node_modules/ansi-styles");
27980
27981 var browser$3 = {
27982 stdout: false,
27983 stderr: false
27984 };
27985
27986 var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
27987 var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
27988 var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
27989 var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;
27990 var ESCAPES = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', "\x1B"], ['a', "\x07"]]);
27991
27992 function unescape(c) {
27993 if (c[0] === 'u' && c.length === 5 || c[0] === 'x' && c.length === 3) {
27994 return String.fromCharCode(parseInt(c.slice(1), 16));
27995 }
27996
27997 return ESCAPES.get(c) || c;
27998 }
27999
28000 function parseArguments(name, args) {
28001 var results = [];
28002 var chunks = args.trim().split(/\s*,\s*/g);
28003 var matches;
28004
28005 for (var _iterator = _createForOfIteratorHelperLoose(chunks), _step; !(_step = _iterator()).done;) {
28006 var chunk = _step.value;
28007
28008 if (!isNaN(chunk)) {
28009 results.push(Number(chunk));
28010 } else if (matches = chunk.match(STRING_REGEX)) {
28011 results.push(matches[2].replace(ESCAPE_REGEX, function (m, escape, chr) {
28012 return escape ? unescape(escape) : chr;
28013 }));
28014 } else {
28015 throw new Error("Invalid Chalk template style argument: " + chunk + " (in style '" + name + "')");
28016 }
28017 }
28018
28019 return results;
28020 }
28021
28022 function parseStyle(style) {
28023 STYLE_REGEX.lastIndex = 0;
28024 var results = [];
28025 var matches;
28026
28027 while ((matches = STYLE_REGEX.exec(style)) !== null) {
28028 var name = matches[1];
28029
28030 if (matches[2]) {
28031 var args = parseArguments(name, matches[2]);
28032 results.push([name].concat(args));
28033 } else {
28034 results.push([name]);
28035 }
28036 }
28037
28038 return results;
28039 }
28040
28041 function buildStyle(chalk, styles) {
28042 var enabled = {};
28043
28044 for (var _iterator2 = _createForOfIteratorHelperLoose(styles), _step2; !(_step2 = _iterator2()).done;) {
28045 var layer = _step2.value;
28046
28047 for (var _iterator3 = _createForOfIteratorHelperLoose(layer.styles), _step3; !(_step3 = _iterator3()).done;) {
28048 var style = _step3.value;
28049 enabled[style[0]] = layer.inverse ? null : style.slice(1);
28050 }
28051 }
28052
28053 var current = chalk;
28054
28055 for (var _i = 0, _Object$keys = Object.keys(enabled); _i < _Object$keys.length; _i++) {
28056 var styleName = _Object$keys[_i];
28057
28058 if (Array.isArray(enabled[styleName])) {
28059 if (!(styleName in current)) {
28060 throw new Error("Unknown Chalk style: " + styleName);
28061 }
28062
28063 if (enabled[styleName].length > 0) {
28064 current = current[styleName].apply(current, enabled[styleName]);
28065 } else {
28066 current = current[styleName];
28067 }
28068 }
28069 }
28070
28071 return current;
28072 }
28073
28074 var templates = function templates(chalk, tmp) {
28075 var styles = [];
28076 var chunks = [];
28077 var chunk = [];
28078 tmp.replace(TEMPLATE_REGEX, function (m, escapeChar, inverse, style, close, chr) {
28079 if (escapeChar) {
28080 chunk.push(unescape(escapeChar));
28081 } else if (style) {
28082 var str = chunk.join('');
28083 chunk = [];
28084 chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));
28085 styles.push({
28086 inverse: inverse,
28087 styles: parseStyle(style)
28088 });
28089 } else if (close) {
28090 if (styles.length === 0) {
28091 throw new Error('Found extraneous } in Chalk template literal');
28092 }
28093
28094 chunks.push(buildStyle(chalk, styles)(chunk.join('')));
28095 chunk = [];
28096 styles.pop();
28097 } else {
28098 chunk.push(chr);
28099 }
28100 });
28101 chunks.push(chunk.join(''));
28102
28103 if (styles.length > 0) {
28104 var errMsg = "Chalk template literal is missing " + styles.length + " closing bracket" + (styles.length === 1 ? '' : 's') + " (`}`)";
28105 throw new Error(errMsg);
28106 }
28107
28108 return chunks.join('');
28109 };
28110
28111 var chalk = createCommonjsModule(function (module) {
28112
28113 var stdoutColor = browser$3.stdout;
28114 var isSimpleWindowsTerm = browser$6.platform === 'win32' && !(browser$6.env.TERM || '').toLowerCase().startsWith('xterm');
28115 var levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];
28116 var skipModels = new Set(['gray']);
28117 var styles = Object.create(null);
28118
28119 function applyOptions(obj, options) {
28120 options = options || {};
28121 var scLevel = 0;
28122 obj.level = options.level === undefined ? scLevel : options.level;
28123 obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;
28124 }
28125
28126 function Chalk(options) {
28127 if (!this || !(this instanceof Chalk) || this.template) {
28128 var _chalk = {};
28129 applyOptions(_chalk, options);
28130
28131 _chalk.template = function () {
28132 var args = [].slice.call(arguments);
28133 return chalkTag.apply(null, [_chalk.template].concat(args));
28134 };
28135
28136 Object.setPrototypeOf(_chalk, Chalk.prototype);
28137 Object.setPrototypeOf(_chalk.template, _chalk);
28138 _chalk.template.constructor = Chalk;
28139 return _chalk.template;
28140 }
28141
28142 applyOptions(this, options);
28143 }
28144
28145 if (isSimpleWindowsTerm) {
28146 ansiStyles.blue.open = "\x1B[94m";
28147 }
28148
28149 var _loop = function _loop() {
28150 var key = _Object$keys[_i];
28151 ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
28152 styles[key] = {
28153 get: function get() {
28154 var codes = ansiStyles[key];
28155 return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);
28156 }
28157 };
28158 };
28159
28160 for (var _i = 0, _Object$keys = Object.keys(ansiStyles); _i < _Object$keys.length; _i++) {
28161 _loop();
28162 }
28163
28164 styles.visible = {
28165 get: function get() {
28166 return build.call(this, this._styles || [], true, 'visible');
28167 }
28168 };
28169 ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');
28170
28171 var _loop2 = function _loop2() {
28172 var model = _Object$keys2[_i2];
28173
28174 if (skipModels.has(model)) {
28175 return "continue";
28176 }
28177
28178 styles[model] = {
28179 get: function get() {
28180 var level = this.level;
28181 return function () {
28182 var open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);
28183 var codes = {
28184 open: open,
28185 close: ansiStyles.color.close,
28186 closeRe: ansiStyles.color.closeRe
28187 };
28188 return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
28189 };
28190 }
28191 };
28192 };
28193
28194 for (var _i2 = 0, _Object$keys2 = Object.keys(ansiStyles.color.ansi); _i2 < _Object$keys2.length; _i2++) {
28195 var _ret = _loop2();
28196
28197 if (_ret === "continue") continue;
28198 }
28199
28200 ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');
28201
28202 var _loop3 = function _loop3() {
28203 var model = _Object$keys3[_i3];
28204
28205 if (skipModels.has(model)) {
28206 return "continue";
28207 }
28208
28209 var bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);
28210 styles[bgModel] = {
28211 get: function get() {
28212 var level = this.level;
28213 return function () {
28214 var open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);
28215 var codes = {
28216 open: open,
28217 close: ansiStyles.bgColor.close,
28218 closeRe: ansiStyles.bgColor.closeRe
28219 };
28220 return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
28221 };
28222 }
28223 };
28224 };
28225
28226 for (var _i3 = 0, _Object$keys3 = Object.keys(ansiStyles.bgColor.ansi); _i3 < _Object$keys3.length; _i3++) {
28227 var _ret2 = _loop3();
28228
28229 if (_ret2 === "continue") continue;
28230 }
28231
28232 var proto = Object.defineProperties(function () {}, styles);
28233
28234 function build(_styles, _empty, key) {
28235 var builder = function builder() {
28236 return applyStyle.apply(builder, arguments);
28237 };
28238
28239 builder._styles = _styles;
28240 builder._empty = _empty;
28241 var self = this;
28242 Object.defineProperty(builder, 'level', {
28243 enumerable: true,
28244 get: function get() {
28245 return self.level;
28246 },
28247 set: function set(level) {
28248 self.level = level;
28249 }
28250 });
28251 Object.defineProperty(builder, 'enabled', {
28252 enumerable: true,
28253 get: function get() {
28254 return self.enabled;
28255 },
28256 set: function set(enabled) {
28257 self.enabled = enabled;
28258 }
28259 });
28260 builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';
28261 builder.__proto__ = proto;
28262 return builder;
28263 }
28264
28265 function applyStyle() {
28266 var args = arguments;
28267 var argsLen = args.length;
28268 var str = String(arguments[0]);
28269
28270 if (argsLen === 0) {
28271 return '';
28272 }
28273
28274 if (argsLen > 1) {
28275 for (var a = 1; a < argsLen; a++) {
28276 str += ' ' + args[a];
28277 }
28278 }
28279
28280 if (!this.enabled || this.level <= 0 || !str) {
28281 return this._empty ? '' : str;
28282 }
28283
28284 var originalDim = ansiStyles.dim.open;
28285
28286 if (isSimpleWindowsTerm && this.hasGrey) {
28287 ansiStyles.dim.open = '';
28288 }
28289
28290 for (var _iterator = _createForOfIteratorHelperLoose(this._styles.slice().reverse()), _step; !(_step = _iterator()).done;) {
28291 var code = _step.value;
28292 str = code.open + str.replace(code.closeRe, code.open) + code.close;
28293 str = str.replace(/\r?\n/g, code.close + "$&" + code.open);
28294 }
28295
28296 ansiStyles.dim.open = originalDim;
28297 return str;
28298 }
28299
28300 function chalkTag(chalk, strings) {
28301 if (!Array.isArray(strings)) {
28302 return [].slice.call(arguments, 1).join(' ');
28303 }
28304
28305 var args = [].slice.call(arguments, 2);
28306 var parts = [strings.raw[0]];
28307
28308 for (var i = 1; i < strings.length; i++) {
28309 parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&'));
28310 parts.push(String(strings.raw[i]));
28311 }
28312
28313 return templates(chalk, parts.join(''));
28314 }
28315
28316 Object.defineProperties(Chalk.prototype, styles);
28317 module.exports = Chalk();
28318 module.exports.supportsColor = stdoutColor;
28319 module.exports["default"] = module.exports;
28320 }, "/$$rollup_base$$/packages/babel-highlight/node_modules/chalk");
28321
28322 var sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
28323
28324 function getDefs$1(chalk) {
28325 return {
28326 keyword: chalk.cyan,
28327 capitalized: chalk.yellow,
28328 jsxIdentifier: chalk.yellow,
28329 punctuator: chalk.yellow,
28330 number: chalk.magenta,
28331 string: chalk.green,
28332 regex: chalk.magenta,
28333 comment: chalk.grey,
28334 invalid: chalk.white.bgRed.bold
28335 };
28336 }
28337
28338 var NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
28339 var BRACKET = /^[()[\]{}]$/;
28340 var tokenize;
28341 {
28342 var JSX_TAG = /^[a-z][\w-]*$/i;
28343
28344 var getTokenType = function getTokenType(token, offset, text) {
28345 if (token.type === "name") {
28346 if (isKeyword(token.value) || isStrictReservedWord(token.value, true) || sometimesKeywords.has(token.value)) {
28347 return "keyword";
28348 }
28349
28350 if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == "</")) {
28351 return "jsxIdentifier";
28352 }
28353
28354 if (token.value[0] !== token.value[0].toLowerCase()) {
28355 return "capitalized";
28356 }
28357 }
28358
28359 if (token.type === "punctuator" && BRACKET.test(token.value)) {
28360 return "bracket";
28361 }
28362
28363 if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
28364 return "punctuator";
28365 }
28366
28367 return token.type;
28368 };
28369
28370 tokenize = regenerator.mark(function tokenize(text) {
28371 var match, token;
28372 return regenerator.wrap(function tokenize$(_context) {
28373 while (1) {
28374 switch (_context.prev = _context.next) {
28375 case 0:
28376 if (!(match = jsTokens["default"].exec(text))) {
28377 _context.next = 6;
28378 break;
28379 }
28380
28381 token = jsTokens.matchToToken(match);
28382 _context.next = 4;
28383 return {
28384 type: getTokenType(token, match.index, text),
28385 value: token.value
28386 };
28387
28388 case 4:
28389 _context.next = 0;
28390 break;
28391
28392 case 6:
28393 case "end":
28394 return _context.stop();
28395 }
28396 }
28397 }, tokenize);
28398 });
28399 }
28400
28401 function highlightTokens(defs, text) {
28402 var highlighted = "";
28403
28404 var _loop = function _loop() {
28405 var _step$value = _step.value,
28406 type = _step$value.type,
28407 value = _step$value.value;
28408 var colorize = defs[type];
28409
28410 if (colorize) {
28411 highlighted += value.split(NEWLINE$1).map(function (str) {
28412 return colorize(str);
28413 }).join("\n");
28414 } else {
28415 highlighted += value;
28416 }
28417 };
28418
28419 for (var _iterator = _createForOfIteratorHelperLoose(tokenize(text)), _step; !(_step = _iterator()).done;) {
28420 _loop();
28421 }
28422
28423 return highlighted;
28424 }
28425
28426 function shouldHighlight(options) {
28427 return !!chalk.supportsColor || options.forceColor;
28428 }
28429 function getChalk(options) {
28430 return options.forceColor ? new chalk.constructor({
28431 enabled: true,
28432 level: 1
28433 }) : chalk;
28434 }
28435 function highlight(code, options) {
28436 if (options === void 0) {
28437 options = {};
28438 }
28439
28440 if (shouldHighlight(options)) {
28441 var chalk = getChalk(options);
28442 var defs = getDefs$1(chalk);
28443 return highlightTokens(defs, code);
28444 } else {
28445 return code;
28446 }
28447 }
28448
28449 function getDefs(chalk) {
28450 return {
28451 gutter: chalk.grey,
28452 marker: chalk.red.bold,
28453 message: chalk.red.bold
28454 };
28455 }
28456
28457 var NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
28458
28459 function getMarkerLines(loc, source, opts) {
28460 var startLoc = Object.assign({
28461 column: 0,
28462 line: -1
28463 }, loc.start);
28464 var endLoc = Object.assign({}, startLoc, loc.end);
28465
28466 var _ref = opts || {},
28467 _ref$linesAbove = _ref.linesAbove,
28468 linesAbove = _ref$linesAbove === void 0 ? 2 : _ref$linesAbove,
28469 _ref$linesBelow = _ref.linesBelow,
28470 linesBelow = _ref$linesBelow === void 0 ? 3 : _ref$linesBelow;
28471
28472 var startLine = startLoc.line;
28473 var startColumn = startLoc.column;
28474 var endLine = endLoc.line;
28475 var endColumn = endLoc.column;
28476 var start = Math.max(startLine - (linesAbove + 1), 0);
28477 var end = Math.min(source.length, endLine + linesBelow);
28478
28479 if (startLine === -1) {
28480 start = 0;
28481 }
28482
28483 if (endLine === -1) {
28484 end = source.length;
28485 }
28486
28487 var lineDiff = endLine - startLine;
28488 var markerLines = {};
28489
28490 if (lineDiff) {
28491 for (var i = 0; i <= lineDiff; i++) {
28492 var lineNumber = i + startLine;
28493
28494 if (!startColumn) {
28495 markerLines[lineNumber] = true;
28496 } else if (i === 0) {
28497 var sourceLength = source[lineNumber - 1].length;
28498 markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
28499 } else if (i === lineDiff) {
28500 markerLines[lineNumber] = [0, endColumn];
28501 } else {
28502 var _sourceLength = source[lineNumber - i].length;
28503 markerLines[lineNumber] = [0, _sourceLength];
28504 }
28505 }
28506 } else {
28507 if (startColumn === endColumn) {
28508 if (startColumn) {
28509 markerLines[startLine] = [startColumn, 0];
28510 } else {
28511 markerLines[startLine] = true;
28512 }
28513 } else {
28514 markerLines[startLine] = [startColumn, endColumn - startColumn];
28515 }
28516 }
28517
28518 return {
28519 start: start,
28520 end: end,
28521 markerLines: markerLines
28522 };
28523 }
28524
28525 function codeFrameColumns(rawLines, loc, opts) {
28526 if (opts === void 0) {
28527 opts = {};
28528 }
28529
28530 var highlighted = (opts.highlightCode || opts.forceColor) && shouldHighlight(opts);
28531 var chalk = getChalk(opts);
28532 var defs = getDefs(chalk);
28533
28534 var maybeHighlight = function maybeHighlight(chalkFn, string) {
28535 return highlighted ? chalkFn(string) : string;
28536 };
28537
28538 var lines = rawLines.split(NEWLINE);
28539
28540 var _getMarkerLines = getMarkerLines(loc, lines, opts),
28541 start = _getMarkerLines.start,
28542 end = _getMarkerLines.end,
28543 markerLines = _getMarkerLines.markerLines;
28544
28545 var hasColumns = loc.start && typeof loc.start.column === "number";
28546 var numberMaxWidth = String(end).length;
28547 var highlightedLines = highlighted ? highlight(rawLines, opts) : rawLines;
28548 var frame = highlightedLines.split(NEWLINE).slice(start, end).map(function (line, index) {
28549 var number = start + 1 + index;
28550 var paddedNumber = (" " + number).slice(-numberMaxWidth);
28551 var gutter = " " + paddedNumber + " |";
28552 var hasMarker = markerLines[number];
28553 var lastMarkerLine = !markerLines[number + 1];
28554
28555 if (hasMarker) {
28556 var markerLine = "";
28557
28558 if (Array.isArray(hasMarker)) {
28559 var markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
28560 var numberOfMarkers = hasMarker[1] || 1;
28561 markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join("");
28562
28563 if (lastMarkerLine && opts.message) {
28564 markerLine += " " + maybeHighlight(defs.message, opts.message);
28565 }
28566 }
28567
28568 return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? " " + line : "", markerLine].join("");
28569 } else {
28570 return " " + maybeHighlight(defs.gutter, gutter) + (line.length > 0 ? " " + line : "");
28571 }
28572 }).join("\n");
28573
28574 if (opts.message && !hasColumns) {
28575 frame = "" + " ".repeat(numberMaxWidth + 1) + opts.message + "\n" + frame;
28576 }
28577
28578 if (highlighted) {
28579 return chalk.reset(frame);
28580 } else {
28581 return frame;
28582 }
28583 }
28584
28585 var beforeExpr = true;
28586 var startsExpr = true;
28587 var isLoop = true;
28588 var isAssign = true;
28589 var prefix = true;
28590 var postfix = true;
28591 var TokenType = function TokenType(label, conf) {
28592 if (conf === void 0) {
28593 conf = {};
28594 }
28595
28596 this.label = void 0;
28597 this.keyword = void 0;
28598 this.beforeExpr = void 0;
28599 this.startsExpr = void 0;
28600 this.rightAssociative = void 0;
28601 this.isLoop = void 0;
28602 this.isAssign = void 0;
28603 this.prefix = void 0;
28604 this.postfix = void 0;
28605 this.binop = void 0;
28606 this.updateContext = void 0;
28607 this.label = label;
28608 this.keyword = conf.keyword;
28609 this.beforeExpr = !!conf.beforeExpr;
28610 this.startsExpr = !!conf.startsExpr;
28611 this.rightAssociative = !!conf.rightAssociative;
28612 this.isLoop = !!conf.isLoop;
28613 this.isAssign = !!conf.isAssign;
28614 this.prefix = !!conf.prefix;
28615 this.postfix = !!conf.postfix;
28616 this.binop = conf.binop != null ? conf.binop : null;
28617 this.updateContext = null;
28618 };
28619 var keywords = new Map();
28620
28621 function createKeyword(name, options) {
28622 if (options === void 0) {
28623 options = {};
28624 }
28625
28626 options.keyword = name;
28627 var token = new TokenType(name, options);
28628 keywords.set(name, token);
28629 return token;
28630 }
28631
28632 function createBinop(name, binop) {
28633 return new TokenType(name, {
28634 beforeExpr: beforeExpr,
28635 binop: binop
28636 });
28637 }
28638
28639 var types$1 = {
28640 num: new TokenType("num", {
28641 startsExpr: startsExpr
28642 }),
28643 bigint: new TokenType("bigint", {
28644 startsExpr: startsExpr
28645 }),
28646 decimal: new TokenType("decimal", {
28647 startsExpr: startsExpr
28648 }),
28649 regexp: new TokenType("regexp", {
28650 startsExpr: startsExpr
28651 }),
28652 string: new TokenType("string", {
28653 startsExpr: startsExpr
28654 }),
28655 name: new TokenType("name", {
28656 startsExpr: startsExpr
28657 }),
28658 privateName: new TokenType("#name", {
28659 startsExpr: startsExpr
28660 }),
28661 eof: new TokenType("eof"),
28662 bracketL: new TokenType("[", {
28663 beforeExpr: beforeExpr,
28664 startsExpr: startsExpr
28665 }),
28666 bracketHashL: new TokenType("#[", {
28667 beforeExpr: beforeExpr,
28668 startsExpr: startsExpr
28669 }),
28670 bracketBarL: new TokenType("[|", {
28671 beforeExpr: beforeExpr,
28672 startsExpr: startsExpr
28673 }),
28674 bracketR: new TokenType("]"),
28675 bracketBarR: new TokenType("|]"),
28676 braceL: new TokenType("{", {
28677 beforeExpr: beforeExpr,
28678 startsExpr: startsExpr
28679 }),
28680 braceBarL: new TokenType("{|", {
28681 beforeExpr: beforeExpr,
28682 startsExpr: startsExpr
28683 }),
28684 braceHashL: new TokenType("#{", {
28685 beforeExpr: beforeExpr,
28686 startsExpr: startsExpr
28687 }),
28688 braceR: new TokenType("}", {
28689 beforeExpr: beforeExpr
28690 }),
28691 braceBarR: new TokenType("|}"),
28692 parenL: new TokenType("(", {
28693 beforeExpr: beforeExpr,
28694 startsExpr: startsExpr
28695 }),
28696 parenR: new TokenType(")"),
28697 comma: new TokenType(",", {
28698 beforeExpr: beforeExpr
28699 }),
28700 semi: new TokenType(";", {
28701 beforeExpr: beforeExpr
28702 }),
28703 colon: new TokenType(":", {
28704 beforeExpr: beforeExpr
28705 }),
28706 doubleColon: new TokenType("::", {
28707 beforeExpr: beforeExpr
28708 }),
28709 dot: new TokenType("."),
28710 question: new TokenType("?", {
28711 beforeExpr: beforeExpr
28712 }),
28713 questionDot: new TokenType("?."),
28714 arrow: new TokenType("=>", {
28715 beforeExpr: beforeExpr
28716 }),
28717 template: new TokenType("template"),
28718 ellipsis: new TokenType("...", {
28719 beforeExpr: beforeExpr
28720 }),
28721 backQuote: new TokenType("`", {
28722 startsExpr: startsExpr
28723 }),
28724 dollarBraceL: new TokenType("${", {
28725 beforeExpr: beforeExpr,
28726 startsExpr: startsExpr
28727 }),
28728 at: new TokenType("@"),
28729 hash: new TokenType("#", {
28730 startsExpr: startsExpr
28731 }),
28732 interpreterDirective: new TokenType("#!..."),
28733 eq: new TokenType("=", {
28734 beforeExpr: beforeExpr,
28735 isAssign: isAssign
28736 }),
28737 assign: new TokenType("_=", {
28738 beforeExpr: beforeExpr,
28739 isAssign: isAssign
28740 }),
28741 slashAssign: new TokenType("_=", {
28742 beforeExpr: beforeExpr,
28743 isAssign: isAssign
28744 }),
28745 incDec: new TokenType("++/--", {
28746 prefix: prefix,
28747 postfix: postfix,
28748 startsExpr: startsExpr
28749 }),
28750 bang: new TokenType("!", {
28751 beforeExpr: beforeExpr,
28752 prefix: prefix,
28753 startsExpr: startsExpr
28754 }),
28755 tilde: new TokenType("~", {
28756 beforeExpr: beforeExpr,
28757 prefix: prefix,
28758 startsExpr: startsExpr
28759 }),
28760 pipeline: createBinop("|>", 0),
28761 nullishCoalescing: createBinop("??", 1),
28762 logicalOR: createBinop("||", 1),
28763 logicalAND: createBinop("&&", 2),
28764 bitwiseOR: createBinop("|", 3),
28765 bitwiseXOR: createBinop("^", 4),
28766 bitwiseAND: createBinop("&", 5),
28767 equality: createBinop("==/!=/===/!==", 6),
28768 relational: createBinop("</>/<=/>=", 7),
28769 bitShift: createBinop("<</>>/>>>", 8),
28770 plusMin: new TokenType("+/-", {
28771 beforeExpr: beforeExpr,
28772 binop: 9,
28773 prefix: prefix,
28774 startsExpr: startsExpr
28775 }),
28776 modulo: new TokenType("%", {
28777 beforeExpr: beforeExpr,
28778 binop: 10,
28779 startsExpr: startsExpr
28780 }),
28781 star: new TokenType("*", {
28782 binop: 10
28783 }),
28784 slash: createBinop("/", 10),
28785 exponent: new TokenType("**", {
28786 beforeExpr: beforeExpr,
28787 binop: 11,
28788 rightAssociative: true
28789 }),
28790 _break: createKeyword("break"),
28791 _case: createKeyword("case", {
28792 beforeExpr: beforeExpr
28793 }),
28794 _catch: createKeyword("catch"),
28795 _continue: createKeyword("continue"),
28796 _debugger: createKeyword("debugger"),
28797 _default: createKeyword("default", {
28798 beforeExpr: beforeExpr
28799 }),
28800 _do: createKeyword("do", {
28801 isLoop: isLoop,
28802 beforeExpr: beforeExpr
28803 }),
28804 _else: createKeyword("else", {
28805 beforeExpr: beforeExpr
28806 }),
28807 _finally: createKeyword("finally"),
28808 _for: createKeyword("for", {
28809 isLoop: isLoop
28810 }),
28811 _function: createKeyword("function", {
28812 startsExpr: startsExpr
28813 }),
28814 _if: createKeyword("if"),
28815 _return: createKeyword("return", {
28816 beforeExpr: beforeExpr
28817 }),
28818 _switch: createKeyword("switch"),
28819 _throw: createKeyword("throw", {
28820 beforeExpr: beforeExpr,
28821 prefix: prefix,
28822 startsExpr: startsExpr
28823 }),
28824 _try: createKeyword("try"),
28825 _var: createKeyword("var"),
28826 _const: createKeyword("const"),
28827 _while: createKeyword("while", {
28828 isLoop: isLoop
28829 }),
28830 _with: createKeyword("with"),
28831 _new: createKeyword("new", {
28832 beforeExpr: beforeExpr,
28833 startsExpr: startsExpr
28834 }),
28835 _this: createKeyword("this", {
28836 startsExpr: startsExpr
28837 }),
28838 _super: createKeyword("super", {
28839 startsExpr: startsExpr
28840 }),
28841 _class: createKeyword("class", {
28842 startsExpr: startsExpr
28843 }),
28844 _extends: createKeyword("extends", {
28845 beforeExpr: beforeExpr
28846 }),
28847 _export: createKeyword("export"),
28848 _import: createKeyword("import", {
28849 startsExpr: startsExpr
28850 }),
28851 _null: createKeyword("null", {
28852 startsExpr: startsExpr
28853 }),
28854 _true: createKeyword("true", {
28855 startsExpr: startsExpr
28856 }),
28857 _false: createKeyword("false", {
28858 startsExpr: startsExpr
28859 }),
28860 _in: createKeyword("in", {
28861 beforeExpr: beforeExpr,
28862 binop: 7
28863 }),
28864 _instanceof: createKeyword("instanceof", {
28865 beforeExpr: beforeExpr,
28866 binop: 7
28867 }),
28868 _typeof: createKeyword("typeof", {
28869 beforeExpr: beforeExpr,
28870 prefix: prefix,
28871 startsExpr: startsExpr
28872 }),
28873 _void: createKeyword("void", {
28874 beforeExpr: beforeExpr,
28875 prefix: prefix,
28876 startsExpr: startsExpr
28877 }),
28878 _delete: createKeyword("delete", {
28879 beforeExpr: beforeExpr,
28880 prefix: prefix,
28881 startsExpr: startsExpr
28882 })
28883 };
28884
28885 var lineBreak = /\r\n?|[\n\u2028\u2029]/;
28886 var lineBreakG = new RegExp(lineBreak.source, "g");
28887 function isNewLine(code) {
28888 switch (code) {
28889 case 10:
28890 case 13:
28891 case 8232:
28892 case 8233:
28893 return true;
28894
28895 default:
28896 return false;
28897 }
28898 }
28899 var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
28900 function isWhitespace(code) {
28901 switch (code) {
28902 case 0x0009:
28903 case 0x000b:
28904 case 0x000c:
28905 case 32:
28906 case 160:
28907 case 5760:
28908 case 0x2000:
28909 case 0x2001:
28910 case 0x2002:
28911 case 0x2003:
28912 case 0x2004:
28913 case 0x2005:
28914 case 0x2006:
28915 case 0x2007:
28916 case 0x2008:
28917 case 0x2009:
28918 case 0x200a:
28919 case 0x202f:
28920 case 0x205f:
28921 case 0x3000:
28922 case 0xfeff:
28923 return true;
28924
28925 default:
28926 return false;
28927 }
28928 }
28929
28930 var Position = function Position(line, col) {
28931 this.line = void 0;
28932 this.column = void 0;
28933 this.line = line;
28934 this.column = col;
28935 };
28936 var SourceLocation = function SourceLocation(start, end) {
28937 this.start = void 0;
28938 this.end = void 0;
28939 this.filename = void 0;
28940 this.identifierName = void 0;
28941 this.start = start;
28942 this.end = end;
28943 };
28944 function getLineInfo(input, offset) {
28945 var line = 1;
28946 var lineStart = 0;
28947 var match;
28948 lineBreakG.lastIndex = 0;
28949
28950 while ((match = lineBreakG.exec(input)) && match.index < offset) {
28951 line++;
28952 lineStart = lineBreakG.lastIndex;
28953 }
28954
28955 return new Position(line, offset - lineStart);
28956 }
28957
28958 var BaseParser = function () {
28959 function BaseParser() {
28960 this.sawUnambiguousESM = false;
28961 this.ambiguousScriptDifferentAst = false;
28962 }
28963
28964 var _proto = BaseParser.prototype;
28965
28966 _proto.hasPlugin = function hasPlugin(name) {
28967 return this.plugins.has(name);
28968 };
28969
28970 _proto.getPluginOption = function getPluginOption(plugin, name) {
28971 if (this.hasPlugin(plugin)) return this.plugins.get(plugin)[name];
28972 };
28973
28974 return BaseParser;
28975 }();
28976
28977 function setTrailingComments(node, comments) {
28978 if (node.trailingComments === undefined) {
28979 node.trailingComments = comments;
28980 } else {
28981 var _node$trailingComment;
28982
28983 (_node$trailingComment = node.trailingComments).unshift.apply(_node$trailingComment, comments);
28984 }
28985 }
28986
28987 function setInnerComments(node, comments) {
28988 if (node.innerComments === undefined) {
28989 node.innerComments = comments;
28990 } else if (comments !== undefined) {
28991 var _node$innerComments;
28992
28993 (_node$innerComments = node.innerComments).unshift.apply(_node$innerComments, comments);
28994 }
28995 }
28996
28997 function adjustInnerComments(node, elements, commentWS) {
28998 var lastElement = null;
28999 var i = elements.length;
29000
29001 while (lastElement === null && i > 0) {
29002 lastElement = elements[--i];
29003 }
29004
29005 if (lastElement === null || lastElement.start > commentWS.start) {
29006 setInnerComments(node, commentWS.comments);
29007 } else {
29008 setTrailingComments(lastElement, commentWS.comments);
29009 }
29010 }
29011
29012 var CommentsParser = function (_BaseParser) {
29013 _inherits(CommentsParser, _BaseParser);
29014
29015 function CommentsParser() {
29016 return _BaseParser.apply(this, arguments) || this;
29017 }
29018
29019 var _proto = CommentsParser.prototype;
29020
29021 _proto.addComment = function addComment(comment) {
29022 if (this.filename) comment.loc.filename = this.filename;
29023 this.state.comments.push(comment);
29024 };
29025
29026 _proto.processComment = function processComment(node) {
29027 var commentStack = this.state.commentStack;
29028 var commentStackLength = commentStack.length;
29029 if (commentStackLength === 0) return;
29030 var i = commentStackLength - 1;
29031 var lastCommentWS = commentStack[i];
29032
29033 if (lastCommentWS.start === node.end) {
29034 lastCommentWS.leadingNode = node;
29035 i--;
29036 }
29037
29038 var nodeStart = node.start;
29039
29040 for (; i >= 0; i--) {
29041 var commentWS = commentStack[i];
29042 var commentEnd = commentWS.end;
29043
29044 if (commentEnd > nodeStart) {
29045 commentWS.containingNode = node;
29046 this.finalizeComment(commentWS);
29047 commentStack.splice(i, 1);
29048 } else {
29049 if (commentEnd === nodeStart) {
29050 commentWS.trailingNode = node;
29051 }
29052
29053 break;
29054 }
29055 }
29056 };
29057
29058 _proto.finalizeComment = function finalizeComment(commentWS) {
29059 var comments = commentWS.comments;
29060
29061 if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) {
29062 if (commentWS.leadingNode !== null) {
29063 setTrailingComments(commentWS.leadingNode, comments);
29064 }
29065
29066 if (commentWS.trailingNode !== null) {
29067 commentWS.trailingNode.leadingComments = comments;
29068 }
29069 } else {
29070 var node = commentWS.containingNode,
29071 commentStart = commentWS.start;
29072
29073 if (this.input.charCodeAt(commentStart - 1) === 44) {
29074 switch (node.type) {
29075 case "ObjectExpression":
29076 case "ObjectPattern":
29077 case "RecordExpression":
29078 adjustInnerComments(node, node.properties, commentWS);
29079 break;
29080
29081 case "CallExpression":
29082 case "OptionalCallExpression":
29083 adjustInnerComments(node, node.arguments, commentWS);
29084 break;
29085
29086 case "FunctionDeclaration":
29087 case "FunctionExpression":
29088 case "ArrowFunctionExpression":
29089 case "ObjectMethod":
29090 case "ClassMethod":
29091 case "ClassPrivateMethod":
29092 adjustInnerComments(node, node.params, commentWS);
29093 break;
29094
29095 case "ArrayExpression":
29096 case "ArrayPattern":
29097 case "TupleExpression":
29098 adjustInnerComments(node, node.elements, commentWS);
29099 break;
29100
29101 case "ExportNamedDeclaration":
29102 case "ImportDeclaration":
29103 adjustInnerComments(node, node.specifiers, commentWS);
29104 break;
29105
29106 default:
29107 {
29108 setInnerComments(node, comments);
29109 }
29110 }
29111 } else {
29112 setInnerComments(node, comments);
29113 }
29114 }
29115 };
29116
29117 _proto.finalizeRemainingComments = function finalizeRemainingComments() {
29118 var commentStack = this.state.commentStack;
29119
29120 for (var i = commentStack.length - 1; i >= 0; i--) {
29121 this.finalizeComment(commentStack[i]);
29122 }
29123
29124 this.state.commentStack = [];
29125 };
29126
29127 _proto.resetPreviousNodeTrailingComments = function resetPreviousNodeTrailingComments(node) {
29128 var commentStack = this.state.commentStack;
29129 var length = commentStack.length;
29130 if (length === 0) return;
29131 var commentWS = commentStack[length - 1];
29132
29133 if (commentWS.leadingNode === node) {
29134 commentWS.leadingNode = null;
29135 }
29136 };
29137
29138 return CommentsParser;
29139 }(BaseParser);
29140
29141 var ErrorCodes = Object.freeze({
29142 SyntaxError: "BABEL_PARSER_SYNTAX_ERROR",
29143 SourceTypeModuleError: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"
29144 });
29145
29146 var ErrorMessages = makeErrorTemplates({
29147 AccessorIsGenerator: "A %0ter cannot be a generator.",
29148 ArgumentsInClass: "'arguments' is only allowed in functions and class methods.",
29149 AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.",
29150 AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.",
29151 AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.",
29152 AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.",
29153 AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.",
29154 AwaitNotInAsyncFunction: "'await' is only allowed within async functions.",
29155 BadGetterArity: "A 'get' accesor must not have any formal parameters.",
29156 BadSetterArity: "A 'set' accesor must have exactly one formal parameter.",
29157 BadSetterRestParameter: "A 'set' accesor function argument must not be a rest parameter.",
29158 ConstructorClassField: "Classes may not have a field named 'constructor'.",
29159 ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.",
29160 ConstructorIsAccessor: "Class constructor may not be an accessor.",
29161 ConstructorIsAsync: "Constructor can't be an async function.",
29162 ConstructorIsGenerator: "Constructor can't be a generator.",
29163 DeclarationMissingInitializer: "'%0' require an initialization value.",
29164 DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.",
29165 DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",
29166 DecoratorExportClass: "Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",
29167 DecoratorSemicolon: "Decorators must not be followed by a semicolon.",
29168 DecoratorStaticBlock: "Decorators can't be used with a static block.",
29169 DeletePrivateField: "Deleting a private field is not allowed.",
29170 DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.",
29171 DuplicateConstructor: "Duplicate constructor in the same class.",
29172 DuplicateDefaultExport: "Only one default export allowed per module.",
29173 DuplicateExport: "`%0` has already been exported. Exported identifiers must be unique.",
29174 DuplicateProto: "Redefinition of __proto__ property.",
29175 DuplicateRegExpFlags: "Duplicate regular expression flag.",
29176 ElementAfterRest: "Rest element must be last element.",
29177 EscapedCharNotAnIdentifier: "Invalid Unicode escape.",
29178 ExportBindingIsString: "A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?",
29179 ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.",
29180 ForInOfLoopInitializer: "'%0' loop variable declaration may not have an initializer.",
29181 ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.",
29182 ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.",
29183 GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.",
29184 IllegalBreakContinue: "Unsyntactic %0.",
29185 IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.",
29186 IllegalReturn: "'return' outside of function.",
29187 ImportBindingIsString: 'A string literal cannot be used as an imported binding.\n- Did you mean `import { "%0" as foo }`?',
29188 ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments.",
29189 ImportCallArity: "`import()` requires exactly %0.",
29190 ImportCallNotNewExpression: "Cannot use new with import(...).",
29191 ImportCallSpreadArgument: "`...` is not allowed in `import()`.",
29192 InvalidBigIntLiteral: "Invalid BigIntLiteral.",
29193 InvalidCodePoint: "Code point out of bounds.",
29194 InvalidDecimal: "Invalid decimal.",
29195 InvalidDigit: "Expected number in radix %0.",
29196 InvalidEscapeSequence: "Bad character escape sequence.",
29197 InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.",
29198 InvalidEscapedReservedWord: "Escape sequence in keyword %0.",
29199 InvalidIdentifier: "Invalid identifier %0.",
29200 InvalidLhs: "Invalid left-hand side in %0.",
29201 InvalidLhsBinding: "Binding invalid left-hand side in %0.",
29202 InvalidNumber: "Invalid number.",
29203 InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.",
29204 InvalidOrUnexpectedToken: "Unexpected character '%0'.",
29205 InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.",
29206 InvalidPrivateFieldResolution: "Private name #%0 is not defined.",
29207 InvalidPropertyBindingPattern: "Binding member expression.",
29208 InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.",
29209 InvalidRestAssignmentPattern: "Invalid rest operator's argument.",
29210 LabelRedeclaration: "Label '%0' is already declared.",
29211 LetInLexicalBinding: "'let' is not allowed to be used as a name in 'let' or 'const' declarations.",
29212 LineTerminatorBeforeArrow: "No line break is allowed before '=>'.",
29213 MalformedRegExpFlags: "Invalid regular expression flag.",
29214 MissingClassName: "A class name is required.",
29215 MissingEqInAssignment: "Only '=' operator can be used for specifying default value.",
29216 MissingSemicolon: "Missing semicolon.",
29217 MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.",
29218 MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.",
29219 ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.",
29220 ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.",
29221 ModuleAttributesWithDuplicateKeys: 'Duplicate key "%0" is not allowed in module attributes.',
29222 ModuleExportNameHasLoneSurrogate: "An export name cannot include a lone surrogate, found '\\u%0'.",
29223 ModuleExportUndefined: "Export '%0' is not defined.",
29224 MultipleDefaultsInSwitch: "Multiple default clauses.",
29225 NewlineAfterThrow: "Illegal newline after throw.",
29226 NoCatchOrFinally: "Missing catch or finally clause.",
29227 NumberIdentifier: "Identifier directly after number.",
29228 NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",
29229 ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.",
29230 OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.",
29231 OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.",
29232 OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.",
29233 ParamDupe: "Argument name clash.",
29234 PatternHasAccessor: "Object pattern can't contain getter or setter.",
29235 PatternHasMethod: "Object pattern can't contain methods.",
29236 PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',
29237 PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.",
29238 PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.",
29239 PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.",
29240 PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.",
29241 PrimaryTopicRequiresSmartPipeline: "Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.",
29242 PrivateInExpectedIn: "Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`).",
29243 PrivateNameRedeclaration: "Duplicate private name #%0.",
29244 RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",
29245 RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",
29246 RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",
29247 RecordNoProto: "'__proto__' is not allowed in Record expressions.",
29248 RestTrailingComma: "Unexpected trailing comma after rest element.",
29249 SloppyFunction: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",
29250 StaticPrototype: "Classes may not have static property named prototype.",
29251 StrictDelete: "Deleting local variable in strict mode.",
29252 StrictEvalArguments: "Assigning to '%0' in strict mode.",
29253 StrictEvalArgumentsBinding: "Binding '%0' in strict mode.",
29254 StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.",
29255 StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.",
29256 StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.",
29257 StrictWith: "'with' in strict mode.",
29258 SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",
29259 SuperPrivateField: "Private fields can't be accessed on super.",
29260 TrailingDecorator: "Decorators must be attached to a class element.",
29261 TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",
29262 TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",
29263 TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",
29264 UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.",
29265 UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',
29266 UnexpectedDigitAfterHash: "Unexpected digit after hash token.",
29267 UnexpectedImportExport: "'import' and 'export' may only appear at the top level.",
29268 UnexpectedKeyword: "Unexpected keyword '%0'.",
29269 UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.",
29270 UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.",
29271 UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.",
29272 UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.",
29273 UnexpectedPrivateField: "Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).",
29274 UnexpectedReservedWord: "Unexpected reserved word '%0'.",
29275 UnexpectedSuper: "'super' is only allowed in object methods and classes.",
29276 UnexpectedToken: "Unexpected token '%0'.",
29277 UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",
29278 UnsupportedBind: "Binding should be performed on object property.",
29279 UnsupportedDecoratorExport: "A decorated export must export a class declaration.",
29280 UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.",
29281 UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.",
29282 UnsupportedMetaProperty: "The only valid meta property for %0 is %0.%1.",
29283 UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.",
29284 UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.",
29285 UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",
29286 UnterminatedComment: "Unterminated comment.",
29287 UnterminatedRegExp: "Unterminated regular expression.",
29288 UnterminatedString: "Unterminated string constant.",
29289 UnterminatedTemplate: "Unterminated template.",
29290 VarRedeclaration: "Identifier '%0' has already been declared.",
29291 YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.",
29292 YieldInParameter: "Yield expression is not allowed in formal parameters.",
29293 ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0."
29294 }, ErrorCodes.SyntaxError);
29295 var SourceTypeModuleErrorMessages = makeErrorTemplates({
29296 ImportMetaOutsideModule: "import.meta may appear only with 'sourceType: \"module\"'",
29297 ImportOutsideModule: "'import' and 'export' may appear only with 'sourceType: \"module\"'"
29298 }, ErrorCodes.SourceTypeModuleError);
29299
29300 function makeErrorTemplates(messages, code) {
29301 var templates = {};
29302 Object.keys(messages).forEach(function (reasonCode) {
29303 templates[reasonCode] = Object.freeze({
29304 code: code,
29305 reasonCode: reasonCode,
29306 template: messages[reasonCode]
29307 });
29308 });
29309 return Object.freeze(templates);
29310 }
29311
29312 var ParserError = function (_CommentsParser) {
29313 _inherits(ParserError, _CommentsParser);
29314
29315 function ParserError() {
29316 return _CommentsParser.apply(this, arguments) || this;
29317 }
29318
29319 var _proto = ParserError.prototype;
29320
29321 _proto.getLocationForPosition = function getLocationForPosition(pos) {
29322 var loc;
29323 if (pos === this.state.start) loc = this.state.startLoc;else if (pos === this.state.lastTokStart) loc = this.state.lastTokStartLoc;else if (pos === this.state.end) loc = this.state.endLoc;else if (pos === this.state.lastTokEnd) loc = this.state.lastTokEndLoc;else loc = getLineInfo(this.input, pos);
29324 return loc;
29325 };
29326
29327 _proto.raise = function raise(pos, _ref) {
29328 var code = _ref.code,
29329 reasonCode = _ref.reasonCode,
29330 template = _ref.template;
29331
29332 for (var _len = arguments.length, params = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
29333 params[_key - 2] = arguments[_key];
29334 }
29335
29336 return this.raiseWithData.apply(this, [pos, {
29337 code: code,
29338 reasonCode: reasonCode
29339 }, template].concat(params));
29340 };
29341
29342 _proto.raiseOverwrite = function raiseOverwrite(pos, _ref2) {
29343 var code = _ref2.code,
29344 template = _ref2.template;
29345
29346 for (var _len2 = arguments.length, params = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
29347 params[_key2 - 2] = arguments[_key2];
29348 }
29349
29350 var loc = this.getLocationForPosition(pos);
29351 var message = template.replace(/%(\d+)/g, function (_, i) {
29352 return params[i];
29353 }) + (" (" + loc.line + ":" + loc.column + ")");
29354
29355 if (this.options.errorRecovery) {
29356 var errors = this.state.errors;
29357
29358 for (var i = errors.length - 1; i >= 0; i--) {
29359 var error = errors[i];
29360
29361 if (error.pos === pos) {
29362 return Object.assign(error, {
29363 message: message
29364 });
29365 } else if (error.pos < pos) {
29366 break;
29367 }
29368 }
29369 }
29370
29371 return this._raise({
29372 code: code,
29373 loc: loc,
29374 pos: pos
29375 }, message);
29376 };
29377
29378 _proto.raiseWithData = function raiseWithData(pos, data, errorTemplate) {
29379 for (var _len3 = arguments.length, params = new Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) {
29380 params[_key3 - 3] = arguments[_key3];
29381 }
29382
29383 var loc = this.getLocationForPosition(pos);
29384 var message = errorTemplate.replace(/%(\d+)/g, function (_, i) {
29385 return params[i];
29386 }) + (" (" + loc.line + ":" + loc.column + ")");
29387 return this._raise(Object.assign({
29388 loc: loc,
29389 pos: pos
29390 }, data), message);
29391 };
29392
29393 _proto._raise = function _raise(errorContext, message) {
29394 var err = new SyntaxError(message);
29395 Object.assign(err, errorContext);
29396
29397 if (this.options.errorRecovery) {
29398 if (!this.isLookahead) this.state.errors.push(err);
29399 return err;
29400 } else {
29401 throw err;
29402 }
29403 };
29404
29405 return ParserError;
29406 }(CommentsParser);
29407
29408 var estree = (function (superClass) {
29409 return function (_superClass) {
29410 _inherits(_class, _superClass);
29411
29412 function _class() {
29413 return _superClass.apply(this, arguments) || this;
29414 }
29415
29416 var _proto = _class.prototype;
29417
29418 _proto.parseRegExpLiteral = function parseRegExpLiteral(_ref) {
29419 var pattern = _ref.pattern,
29420 flags = _ref.flags;
29421 var regex = null;
29422
29423 try {
29424 regex = new RegExp(pattern, flags);
29425 } catch (e) {}
29426
29427 var node = this.estreeParseLiteral(regex);
29428 node.regex = {
29429 pattern: pattern,
29430 flags: flags
29431 };
29432 return node;
29433 };
29434
29435 _proto.parseBigIntLiteral = function parseBigIntLiteral(value) {
29436 var bigInt;
29437
29438 try {
29439 bigInt = BigInt(value);
29440 } catch (_unused) {
29441 bigInt = null;
29442 }
29443
29444 var node = this.estreeParseLiteral(bigInt);
29445 node.bigint = String(node.value || value);
29446 return node;
29447 };
29448
29449 _proto.parseDecimalLiteral = function parseDecimalLiteral(value) {
29450 var decimal = null;
29451 var node = this.estreeParseLiteral(decimal);
29452 node.decimal = String(node.value || value);
29453 return node;
29454 };
29455
29456 _proto.estreeParseLiteral = function estreeParseLiteral(value) {
29457 return this.parseLiteral(value, "Literal");
29458 };
29459
29460 _proto.parseStringLiteral = function parseStringLiteral(value) {
29461 return this.estreeParseLiteral(value);
29462 };
29463
29464 _proto.parseNumericLiteral = function parseNumericLiteral(value) {
29465 return this.estreeParseLiteral(value);
29466 };
29467
29468 _proto.parseNullLiteral = function parseNullLiteral() {
29469 return this.estreeParseLiteral(null);
29470 };
29471
29472 _proto.parseBooleanLiteral = function parseBooleanLiteral(value) {
29473 return this.estreeParseLiteral(value);
29474 };
29475
29476 _proto.directiveToStmt = function directiveToStmt(directive) {
29477 var directiveLiteral = directive.value;
29478 var stmt = this.startNodeAt(directive.start, directive.loc.start);
29479 var expression = this.startNodeAt(directiveLiteral.start, directiveLiteral.loc.start);
29480 expression.value = directiveLiteral.extra.expressionValue;
29481 expression.raw = directiveLiteral.extra.raw;
29482 stmt.expression = this.finishNodeAt(expression, "Literal", directiveLiteral.end, directiveLiteral.loc.end);
29483 stmt.directive = directiveLiteral.extra.raw.slice(1, -1);
29484 return this.finishNodeAt(stmt, "ExpressionStatement", directive.end, directive.loc.end);
29485 };
29486
29487 _proto.initFunction = function initFunction(node, isAsync) {
29488 _superClass.prototype.initFunction.call(this, node, isAsync);
29489
29490 node.expression = false;
29491 };
29492
29493 _proto.checkDeclaration = function checkDeclaration(node) {
29494 if (node != null && this.isObjectProperty(node)) {
29495 this.checkDeclaration(node.value);
29496 } else {
29497 _superClass.prototype.checkDeclaration.call(this, node);
29498 }
29499 };
29500
29501 _proto.getObjectOrClassMethodParams = function getObjectOrClassMethodParams(method) {
29502 return method.value.params;
29503 };
29504
29505 _proto.isValidDirective = function isValidDirective(stmt) {
29506 var _stmt$expression$extr;
29507
29508 return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized);
29509 };
29510
29511 _proto.stmtToDirective = function stmtToDirective(stmt) {
29512 var value = stmt.expression.value;
29513
29514 var directive = _superClass.prototype.stmtToDirective.call(this, stmt);
29515
29516 this.addExtra(directive.value, "expressionValue", value);
29517 return directive;
29518 };
29519
29520 _proto.parseBlockBody = function parseBlockBody(node) {
29521 var _superClass$prototype,
29522 _this = this;
29523
29524 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
29525 args[_key - 1] = arguments[_key];
29526 }
29527
29528 (_superClass$prototype = _superClass.prototype.parseBlockBody).call.apply(_superClass$prototype, [this, node].concat(args));
29529
29530 var directiveStatements = node.directives.map(function (d) {
29531 return _this.directiveToStmt(d);
29532 });
29533 node.body = directiveStatements.concat(node.body);
29534 delete node.directives;
29535 };
29536
29537 _proto.pushClassMethod = function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
29538 this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true);
29539
29540 if (method.typeParameters) {
29541 method.value.typeParameters = method.typeParameters;
29542 delete method.typeParameters;
29543 }
29544
29545 classBody.body.push(method);
29546 };
29547
29548 _proto.parseMaybePrivateName = function parseMaybePrivateName() {
29549 var _superClass$prototype2;
29550
29551 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
29552 args[_key2] = arguments[_key2];
29553 }
29554
29555 var node = (_superClass$prototype2 = _superClass.prototype.parseMaybePrivateName).call.apply(_superClass$prototype2, [this].concat(args));
29556
29557 if (node.type === "PrivateName" && this.getPluginOption("estree", "classFeatures")) {
29558 return this.convertPrivateNameToPrivateIdentifier(node);
29559 }
29560
29561 return node;
29562 };
29563
29564 _proto.convertPrivateNameToPrivateIdentifier = function convertPrivateNameToPrivateIdentifier(node) {
29565 var name = _superClass.prototype.getPrivateNameSV.call(this, node);
29566
29567 node = node;
29568 delete node.id;
29569 node.name = name;
29570 node.type = "PrivateIdentifier";
29571 return node;
29572 };
29573
29574 _proto.isPrivateName = function isPrivateName(node) {
29575 if (!this.getPluginOption("estree", "classFeatures")) {
29576 return _superClass.prototype.isPrivateName.call(this, node);
29577 }
29578
29579 return node.type === "PrivateIdentifier";
29580 };
29581
29582 _proto.getPrivateNameSV = function getPrivateNameSV(node) {
29583 if (!this.getPluginOption("estree", "classFeatures")) {
29584 return _superClass.prototype.getPrivateNameSV.call(this, node);
29585 }
29586
29587 return node.name;
29588 };
29589
29590 _proto.parseLiteral = function parseLiteral(value, type) {
29591 var node = _superClass.prototype.parseLiteral.call(this, value, type);
29592
29593 node.raw = node.extra.raw;
29594 delete node.extra;
29595 return node;
29596 };
29597
29598 _proto.parseFunctionBody = function parseFunctionBody(node, allowExpression, isMethod) {
29599 if (isMethod === void 0) {
29600 isMethod = false;
29601 }
29602
29603 _superClass.prototype.parseFunctionBody.call(this, node, allowExpression, isMethod);
29604
29605 node.expression = node.body.type !== "BlockStatement";
29606 };
29607
29608 _proto.parseMethod = function parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) {
29609 if (inClassScope === void 0) {
29610 inClassScope = false;
29611 }
29612
29613 var funcNode = this.startNode();
29614 funcNode.kind = node.kind;
29615 funcNode = _superClass.prototype.parseMethod.call(this, funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope);
29616 funcNode.type = "FunctionExpression";
29617 delete funcNode.kind;
29618 node.value = funcNode;
29619
29620 if (type === "ClassPrivateMethod") {
29621 node.computed = false;
29622 }
29623
29624 type = "MethodDefinition";
29625 return this.finishNode(node, type);
29626 };
29627
29628 _proto.parseClassProperty = function parseClassProperty() {
29629 var _superClass$prototype3;
29630
29631 for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
29632 args[_key3] = arguments[_key3];
29633 }
29634
29635 var propertyNode = (_superClass$prototype3 = _superClass.prototype.parseClassProperty).call.apply(_superClass$prototype3, [this].concat(args));
29636
29637 if (this.getPluginOption("estree", "classFeatures")) {
29638 propertyNode.type = "PropertyDefinition";
29639 }
29640
29641 return propertyNode;
29642 };
29643
29644 _proto.parseClassPrivateProperty = function parseClassPrivateProperty() {
29645 var _superClass$prototype4;
29646
29647 for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
29648 args[_key4] = arguments[_key4];
29649 }
29650
29651 var propertyNode = (_superClass$prototype4 = _superClass.prototype.parseClassPrivateProperty).call.apply(_superClass$prototype4, [this].concat(args));
29652
29653 if (this.getPluginOption("estree", "classFeatures")) {
29654 propertyNode.type = "PropertyDefinition";
29655 propertyNode.computed = false;
29656 }
29657
29658 return propertyNode;
29659 };
29660
29661 _proto.parseObjectMethod = function parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {
29662 var node = _superClass.prototype.parseObjectMethod.call(this, prop, isGenerator, isAsync, isPattern, isAccessor);
29663
29664 if (node) {
29665 node.type = "Property";
29666 if (node.kind === "method") node.kind = "init";
29667 node.shorthand = false;
29668 }
29669
29670 return node;
29671 };
29672
29673 _proto.parseObjectProperty = function parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) {
29674 var node = _superClass.prototype.parseObjectProperty.call(this, prop, startPos, startLoc, isPattern, refExpressionErrors);
29675
29676 if (node) {
29677 node.kind = "init";
29678 node.type = "Property";
29679 }
29680
29681 return node;
29682 };
29683
29684 _proto.toAssignable = function toAssignable(node, isLHS) {
29685 if (isLHS === void 0) {
29686 isLHS = false;
29687 }
29688
29689 if (node != null && this.isObjectProperty(node)) {
29690 this.toAssignable(node.value, isLHS);
29691 return node;
29692 }
29693
29694 return _superClass.prototype.toAssignable.call(this, node, isLHS);
29695 };
29696
29697 _proto.toAssignableObjectExpressionProp = function toAssignableObjectExpressionProp(prop) {
29698 if (prop.kind === "get" || prop.kind === "set") {
29699 this.raise(prop.key.start, ErrorMessages.PatternHasAccessor);
29700 } else if (prop.method) {
29701 this.raise(prop.key.start, ErrorMessages.PatternHasMethod);
29702 } else {
29703 var _superClass$prototype5;
29704
29705 for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
29706 args[_key5 - 1] = arguments[_key5];
29707 }
29708
29709 (_superClass$prototype5 = _superClass.prototype.toAssignableObjectExpressionProp).call.apply(_superClass$prototype5, [this, prop].concat(args));
29710 }
29711 };
29712
29713 _proto.finishCallExpression = function finishCallExpression(node, optional) {
29714 _superClass.prototype.finishCallExpression.call(this, node, optional);
29715
29716 if (node.callee.type === "Import") {
29717 node.type = "ImportExpression";
29718 node.source = node.arguments[0];
29719
29720 if (this.hasPlugin("importAssertions")) {
29721 var _node$arguments$;
29722
29723 node.attributes = (_node$arguments$ = node.arguments[1]) != null ? _node$arguments$ : null;
29724 }
29725
29726 delete node.arguments;
29727 delete node.callee;
29728 }
29729
29730 return node;
29731 };
29732
29733 _proto.toReferencedArguments = function toReferencedArguments(node) {
29734 if (node.type === "ImportExpression") {
29735 return;
29736 }
29737
29738 _superClass.prototype.toReferencedArguments.call(this, node);
29739 };
29740
29741 _proto.parseExport = function parseExport(node) {
29742 _superClass.prototype.parseExport.call(this, node);
29743
29744 switch (node.type) {
29745 case "ExportAllDeclaration":
29746 node.exported = null;
29747 break;
29748
29749 case "ExportNamedDeclaration":
29750 if (node.specifiers.length === 1 && node.specifiers[0].type === "ExportNamespaceSpecifier") {
29751 node.type = "ExportAllDeclaration";
29752 node.exported = node.specifiers[0].exported;
29753 delete node.specifiers;
29754 }
29755
29756 break;
29757 }
29758
29759 return node;
29760 };
29761
29762 _proto.parseSubscript = function parseSubscript(base, startPos, startLoc, noCalls, state) {
29763 var node = _superClass.prototype.parseSubscript.call(this, base, startPos, startLoc, noCalls, state);
29764
29765 if (state.optionalChainMember) {
29766 if (node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression") {
29767 node.type = node.type.substring(8);
29768 }
29769
29770 if (state.stop) {
29771 var chain = this.startNodeAtNode(node);
29772 chain.expression = node;
29773 return this.finishNode(chain, "ChainExpression");
29774 }
29775 } else if (node.type === "MemberExpression" || node.type === "CallExpression") {
29776 node.optional = false;
29777 }
29778
29779 return node;
29780 };
29781
29782 _proto.hasPropertyAsPrivateName = function hasPropertyAsPrivateName(node) {
29783 if (node.type === "ChainExpression") {
29784 node = node.expression;
29785 }
29786
29787 return _superClass.prototype.hasPropertyAsPrivateName.call(this, node);
29788 };
29789
29790 _proto.isOptionalChain = function isOptionalChain(node) {
29791 return node.type === "ChainExpression";
29792 };
29793
29794 _proto.isObjectProperty = function isObjectProperty(node) {
29795 return node.type === "Property" && node.kind === "init" && !node.method;
29796 };
29797
29798 _proto.isObjectMethod = function isObjectMethod(node) {
29799 return node.method || node.kind === "get" || node.kind === "set";
29800 };
29801
29802 return _class;
29803 }(superClass);
29804 });
29805
29806 var TokContext = function TokContext(token, preserveSpace) {
29807 this.token = void 0;
29808 this.preserveSpace = void 0;
29809 this.token = token;
29810 this.preserveSpace = !!preserveSpace;
29811 };
29812 var types = {
29813 brace: new TokContext("{"),
29814 template: new TokContext("`", true)
29815 };
29816
29817 types$1.braceR.updateContext = function (context) {
29818 context.pop();
29819 };
29820
29821 types$1.braceL.updateContext = types$1.braceHashL.updateContext = types$1.dollarBraceL.updateContext = function (context) {
29822 context.push(types.brace);
29823 };
29824
29825 types$1.backQuote.updateContext = function (context) {
29826 if (context[context.length - 1] === types.template) {
29827 context.pop();
29828 } else {
29829 context.push(types.template);
29830 }
29831 };
29832
29833 function isIteratorStart(current, next) {
29834 return current === 64 && next === 64;
29835 }
29836 var reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]);
29837 function canBeReservedWord(word) {
29838 return reservedWordLikeSet.has(word);
29839 }
29840
29841 var SCOPE_OTHER = 0,
29842 SCOPE_PROGRAM = 1,
29843 SCOPE_FUNCTION = 2,
29844 SCOPE_ARROW = 4,
29845 SCOPE_SIMPLE_CATCH = 8,
29846 SCOPE_SUPER = 16,
29847 SCOPE_DIRECT_SUPER = 32,
29848 SCOPE_CLASS = 64,
29849 SCOPE_STATIC_BLOCK = 128,
29850 SCOPE_TS_MODULE = 256,
29851 SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE;
29852 var BIND_KIND_VALUE = 1,
29853 BIND_KIND_TYPE = 2,
29854 BIND_SCOPE_VAR = 4,
29855 BIND_SCOPE_LEXICAL = 8,
29856 BIND_SCOPE_FUNCTION = 16,
29857 BIND_FLAGS_NONE = 64,
29858 BIND_FLAGS_CLASS = 128,
29859 BIND_FLAGS_TS_ENUM = 256,
29860 BIND_FLAGS_TS_CONST_ENUM = 512,
29861 BIND_FLAGS_TS_EXPORT_ONLY = 1024,
29862 BIND_FLAGS_FLOW_DECLARE_FN = 2048;
29863 var BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS,
29864 BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0,
29865 BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0,
29866 BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0,
29867 BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS,
29868 BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0,
29869 BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM,
29870 BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,
29871 BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE,
29872 BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE,
29873 BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM,
29874 BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,
29875 BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;
29876 var CLASS_ELEMENT_FLAG_STATIC = 4,
29877 CLASS_ELEMENT_KIND_GETTER = 2,
29878 CLASS_ELEMENT_KIND_SETTER = 1,
29879 CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER;
29880 var CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC,
29881 CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC,
29882 CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER,
29883 CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER,
29884 CLASS_ELEMENT_OTHER = 0;
29885
29886 var Scope = function Scope(flags) {
29887 this["var"] = new Set();
29888 this.lexical = new Set();
29889 this.functions = new Set();
29890 this.flags = flags;
29891 };
29892
29893 var ScopeHandler = function () {
29894 function ScopeHandler(raise, inModule) {
29895 this.scopeStack = [];
29896 this.undefinedExports = new Map();
29897 this.undefinedPrivateNames = new Map();
29898 this.raise = raise;
29899 this.inModule = inModule;
29900 }
29901
29902 var _proto = ScopeHandler.prototype;
29903
29904 _proto.createScope = function createScope(flags) {
29905 return new Scope(flags);
29906 };
29907
29908 _proto.enter = function enter(flags) {
29909 this.scopeStack.push(this.createScope(flags));
29910 };
29911
29912 _proto.exit = function exit() {
29913 this.scopeStack.pop();
29914 };
29915
29916 _proto.treatFunctionsAsVarInScope = function treatFunctionsAsVarInScope(scope) {
29917 return !!(scope.flags & SCOPE_FUNCTION || !this.inModule && scope.flags & SCOPE_PROGRAM);
29918 };
29919
29920 _proto.declareName = function declareName(name, bindingType, pos) {
29921 var scope = this.currentScope();
29922
29923 if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) {
29924 this.checkRedeclarationInScope(scope, name, bindingType, pos);
29925
29926 if (bindingType & BIND_SCOPE_FUNCTION) {
29927 scope.functions.add(name);
29928 } else {
29929 scope.lexical.add(name);
29930 }
29931
29932 if (bindingType & BIND_SCOPE_LEXICAL) {
29933 this.maybeExportDefined(scope, name);
29934 }
29935 } else if (bindingType & BIND_SCOPE_VAR) {
29936 for (var i = this.scopeStack.length - 1; i >= 0; --i) {
29937 scope = this.scopeStack[i];
29938 this.checkRedeclarationInScope(scope, name, bindingType, pos);
29939 scope["var"].add(name);
29940 this.maybeExportDefined(scope, name);
29941 if (scope.flags & SCOPE_VAR) break;
29942 }
29943 }
29944
29945 if (this.inModule && scope.flags & SCOPE_PROGRAM) {
29946 this.undefinedExports["delete"](name);
29947 }
29948 };
29949
29950 _proto.maybeExportDefined = function maybeExportDefined(scope, name) {
29951 if (this.inModule && scope.flags & SCOPE_PROGRAM) {
29952 this.undefinedExports["delete"](name);
29953 }
29954 };
29955
29956 _proto.checkRedeclarationInScope = function checkRedeclarationInScope(scope, name, bindingType, pos) {
29957 if (this.isRedeclaredInScope(scope, name, bindingType)) {
29958 this.raise(pos, ErrorMessages.VarRedeclaration, name);
29959 }
29960 };
29961
29962 _proto.isRedeclaredInScope = function isRedeclaredInScope(scope, name, bindingType) {
29963 if (!(bindingType & BIND_KIND_VALUE)) return false;
29964
29965 if (bindingType & BIND_SCOPE_LEXICAL) {
29966 return scope.lexical.has(name) || scope.functions.has(name) || scope["var"].has(name);
29967 }
29968
29969 if (bindingType & BIND_SCOPE_FUNCTION) {
29970 return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope["var"].has(name);
29971 }
29972
29973 return scope.lexical.has(name) && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name);
29974 };
29975
29976 _proto.checkLocalExport = function checkLocalExport(id) {
29977 var name = id.name;
29978 var topLevelScope = this.scopeStack[0];
29979
29980 if (!topLevelScope.lexical.has(name) && !topLevelScope["var"].has(name) && !topLevelScope.functions.has(name)) {
29981 this.undefinedExports.set(name, id.start);
29982 }
29983 };
29984
29985 _proto.currentScope = function currentScope() {
29986 return this.scopeStack[this.scopeStack.length - 1];
29987 };
29988
29989 _proto.currentVarScopeFlags = function currentVarScopeFlags() {
29990 for (var i = this.scopeStack.length - 1;; i--) {
29991 var flags = this.scopeStack[i].flags;
29992
29993 if (flags & SCOPE_VAR) {
29994 return flags;
29995 }
29996 }
29997 };
29998
29999 _proto.currentThisScopeFlags = function currentThisScopeFlags() {
30000 for (var i = this.scopeStack.length - 1;; i--) {
30001 var flags = this.scopeStack[i].flags;
30002
30003 if (flags & (SCOPE_VAR | SCOPE_CLASS) && !(flags & SCOPE_ARROW)) {
30004 return flags;
30005 }
30006 }
30007 };
30008
30009 _createClass(ScopeHandler, [{
30010 key: "inFunction",
30011 get: function get() {
30012 return (this.currentVarScopeFlags() & SCOPE_FUNCTION) > 0;
30013 }
30014 }, {
30015 key: "allowSuper",
30016 get: function get() {
30017 return (this.currentThisScopeFlags() & SCOPE_SUPER) > 0;
30018 }
30019 }, {
30020 key: "allowDirectSuper",
30021 get: function get() {
30022 return (this.currentThisScopeFlags() & SCOPE_DIRECT_SUPER) > 0;
30023 }
30024 }, {
30025 key: "inClass",
30026 get: function get() {
30027 return (this.currentThisScopeFlags() & SCOPE_CLASS) > 0;
30028 }
30029 }, {
30030 key: "inClassAndNotInNonArrowFunction",
30031 get: function get() {
30032 var flags = this.currentThisScopeFlags();
30033 return (flags & SCOPE_CLASS) > 0 && (flags & SCOPE_FUNCTION) === 0;
30034 }
30035 }, {
30036 key: "inStaticBlock",
30037 get: function get() {
30038 for (var i = this.scopeStack.length - 1;; i--) {
30039 var flags = this.scopeStack[i].flags;
30040
30041 if (flags & SCOPE_STATIC_BLOCK) {
30042 return true;
30043 }
30044
30045 if (flags & (SCOPE_VAR | SCOPE_CLASS)) {
30046 return false;
30047 }
30048 }
30049 }
30050 }, {
30051 key: "inNonArrowFunction",
30052 get: function get() {
30053 return (this.currentThisScopeFlags() & SCOPE_FUNCTION) > 0;
30054 }
30055 }, {
30056 key: "treatFunctionsAsVar",
30057 get: function get() {
30058 return this.treatFunctionsAsVarInScope(this.currentScope());
30059 }
30060 }]);
30061
30062 return ScopeHandler;
30063 }();
30064
30065 var FlowScope = function (_Scope) {
30066 _inherits(FlowScope, _Scope);
30067
30068 function FlowScope() {
30069 var _this;
30070
30071 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30072 args[_key] = arguments[_key];
30073 }
30074
30075 _this = _Scope.call.apply(_Scope, [this].concat(args)) || this;
30076 _this.declareFunctions = new Set();
30077 return _this;
30078 }
30079
30080 return FlowScope;
30081 }(Scope);
30082
30083 var FlowScopeHandler = function (_ScopeHandler) {
30084 _inherits(FlowScopeHandler, _ScopeHandler);
30085
30086 function FlowScopeHandler() {
30087 return _ScopeHandler.apply(this, arguments) || this;
30088 }
30089
30090 var _proto = FlowScopeHandler.prototype;
30091
30092 _proto.createScope = function createScope(flags) {
30093 return new FlowScope(flags);
30094 };
30095
30096 _proto.declareName = function declareName(name, bindingType, pos) {
30097 var scope = this.currentScope();
30098
30099 if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {
30100 this.checkRedeclarationInScope(scope, name, bindingType, pos);
30101 this.maybeExportDefined(scope, name);
30102 scope.declareFunctions.add(name);
30103 return;
30104 }
30105
30106 _ScopeHandler.prototype.declareName.apply(this, arguments);
30107 };
30108
30109 _proto.isRedeclaredInScope = function isRedeclaredInScope(scope, name, bindingType) {
30110 if (_ScopeHandler.prototype.isRedeclaredInScope.apply(this, arguments)) return true;
30111
30112 if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {
30113 return !scope.declareFunctions.has(name) && (scope.lexical.has(name) || scope.functions.has(name));
30114 }
30115
30116 return false;
30117 };
30118
30119 _proto.checkLocalExport = function checkLocalExport(id) {
30120 if (!this.scopeStack[0].declareFunctions.has(id.name)) {
30121 _ScopeHandler.prototype.checkLocalExport.call(this, id);
30122 }
30123 };
30124
30125 return FlowScopeHandler;
30126 }(ScopeHandler);
30127
30128 var reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]);
30129 var FlowErrors = makeErrorTemplates({
30130 AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",
30131 AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",
30132 AssignReservedType: "Cannot overwrite reserved type %0.",
30133 DeclareClassElement: "The `declare` modifier can only appear on class fields.",
30134 DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.",
30135 DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.",
30136 EnumBooleanMemberNotInitialized: "Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.",
30137 EnumDuplicateMemberName: "Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.",
30138 EnumInconsistentMemberValues: "Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",
30139 EnumInvalidExplicitType: "Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",
30140 EnumInvalidExplicitTypeUnknownSupplied: "Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",
30141 EnumInvalidMemberInitializerPrimaryType: "Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.",
30142 EnumInvalidMemberInitializerSymbolType: "Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.",
30143 EnumInvalidMemberInitializerUnknownType: "The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.",
30144 EnumInvalidMemberName: "Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.",
30145 EnumNumberMemberNotInitialized: "Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.",
30146 EnumStringMemberInconsistentlyInitailized: "String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.",
30147 GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.",
30148 ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",
30149 InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.",
30150 InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.",
30151 InexactVariance: "Explicit inexact syntax cannot have variance.",
30152 InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.",
30153 MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",
30154 NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.",
30155 NestedFlowComment: "Cannot have a flow comment inside another flow comment.",
30156 OptionalBindingPattern: "A binding pattern parameter cannot be optional in an implementation signature.",
30157 SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.",
30158 SpreadVariance: "Spread properties cannot have variance.",
30159 ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.",
30160 ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",
30161 ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.",
30162 ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.",
30163 ThisParamNoDefault: "The `this` parameter may not have a default value.",
30164 TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",
30165 TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.",
30166 UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.",
30167 UnexpectedReservedType: "Unexpected reserved type %0.",
30168 UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.",
30169 UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.",
30170 UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.",
30171 UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".',
30172 UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.",
30173 UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.",
30174 UnsupportedDeclareExportKind: "`declare export %0` is not supported. Use `%1` instead.",
30175 UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.",
30176 UnterminatedFlowComment: "Unterminated flow-comment."
30177 }, ErrorCodes.SyntaxError);
30178
30179 function isEsModuleType(bodyElement) {
30180 return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration");
30181 }
30182
30183 function hasTypeImportKind(node) {
30184 return node.importKind === "type" || node.importKind === "typeof";
30185 }
30186
30187 function isMaybeDefaultImport(state) {
30188 return (state.type === types$1.name || !!state.type.keyword) && state.value !== "from";
30189 }
30190
30191 var exportSuggestions = {
30192 "const": "declare export var",
30193 "let": "declare export var",
30194 type: "export type",
30195 "interface": "export interface"
30196 };
30197
30198 function partition(list, test) {
30199 var list1 = [];
30200 var list2 = [];
30201
30202 for (var i = 0; i < list.length; i++) {
30203 (test(list[i], i, list) ? list1 : list2).push(list[i]);
30204 }
30205
30206 return [list1, list2];
30207 }
30208
30209 var FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/;
30210 var flow = (function (superClass) {
30211 return function (_superClass) {
30212 _inherits(_class2, _superClass);
30213
30214 function _class2() {
30215 var _this2;
30216
30217 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30218 args[_key] = arguments[_key];
30219 }
30220
30221 _this2 = _superClass.call.apply(_superClass, [this].concat(args)) || this;
30222 _this2.flowPragma = undefined;
30223 return _this2;
30224 }
30225
30226 var _proto = _class2.prototype;
30227
30228 _proto.getScopeHandler = function getScopeHandler() {
30229 return FlowScopeHandler;
30230 };
30231
30232 _proto.shouldParseTypes = function shouldParseTypes() {
30233 return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
30234 };
30235
30236 _proto.shouldParseEnums = function shouldParseEnums() {
30237 return !!this.getPluginOption("flow", "enums");
30238 };
30239
30240 _proto.finishToken = function finishToken(type, val) {
30241 if (type !== types$1.string && type !== types$1.semi && type !== types$1.interpreterDirective) {
30242 if (this.flowPragma === undefined) {
30243 this.flowPragma = null;
30244 }
30245 }
30246
30247 return _superClass.prototype.finishToken.call(this, type, val);
30248 };
30249
30250 _proto.addComment = function addComment(comment) {
30251 if (this.flowPragma === undefined) {
30252 var matches = FLOW_PRAGMA_REGEX.exec(comment.value);
30253
30254 if (!matches) ; else if (matches[1] === "flow") {
30255 this.flowPragma = "flow";
30256 } else if (matches[1] === "noflow") {
30257 this.flowPragma = "noflow";
30258 } else {
30259 throw new Error("Unexpected flow pragma");
30260 }
30261 }
30262
30263 return _superClass.prototype.addComment.call(this, comment);
30264 };
30265
30266 _proto.flowParseTypeInitialiser = function flowParseTypeInitialiser(tok) {
30267 var oldInType = this.state.inType;
30268 this.state.inType = true;
30269 this.expect(tok || types$1.colon);
30270 var type = this.flowParseType();
30271 this.state.inType = oldInType;
30272 return type;
30273 };
30274
30275 _proto.flowParsePredicate = function flowParsePredicate() {
30276 var node = this.startNode();
30277 var moduloPos = this.state.start;
30278 this.next();
30279 this.expectContextual("checks");
30280
30281 if (this.state.lastTokStart > moduloPos + 1) {
30282 this.raise(moduloPos, FlowErrors.UnexpectedSpaceBetweenModuloChecks);
30283 }
30284
30285 if (this.eat(types$1.parenL)) {
30286 node.value = this.parseExpression();
30287 this.expect(types$1.parenR);
30288 return this.finishNode(node, "DeclaredPredicate");
30289 } else {
30290 return this.finishNode(node, "InferredPredicate");
30291 }
30292 };
30293
30294 _proto.flowParseTypeAndPredicateInitialiser = function flowParseTypeAndPredicateInitialiser() {
30295 var oldInType = this.state.inType;
30296 this.state.inType = true;
30297 this.expect(types$1.colon);
30298 var type = null;
30299 var predicate = null;
30300
30301 if (this.match(types$1.modulo)) {
30302 this.state.inType = oldInType;
30303 predicate = this.flowParsePredicate();
30304 } else {
30305 type = this.flowParseType();
30306 this.state.inType = oldInType;
30307
30308 if (this.match(types$1.modulo)) {
30309 predicate = this.flowParsePredicate();
30310 }
30311 }
30312
30313 return [type, predicate];
30314 };
30315
30316 _proto.flowParseDeclareClass = function flowParseDeclareClass(node) {
30317 this.next();
30318 this.flowParseInterfaceish(node, true);
30319 return this.finishNode(node, "DeclareClass");
30320 };
30321
30322 _proto.flowParseDeclareFunction = function flowParseDeclareFunction(node) {
30323 this.next();
30324 var id = node.id = this.parseIdentifier();
30325 var typeNode = this.startNode();
30326 var typeContainer = this.startNode();
30327
30328 if (this.isRelational("<")) {
30329 typeNode.typeParameters = this.flowParseTypeParameterDeclaration();
30330 } else {
30331 typeNode.typeParameters = null;
30332 }
30333
30334 this.expect(types$1.parenL);
30335 var tmp = this.flowParseFunctionTypeParams();
30336 typeNode.params = tmp.params;
30337 typeNode.rest = tmp.rest;
30338 typeNode["this"] = tmp._this;
30339 this.expect(types$1.parenR);
30340
30341 var _this$flowParseTypeAn = this.flowParseTypeAndPredicateInitialiser();
30342
30343 typeNode.returnType = _this$flowParseTypeAn[0];
30344 node.predicate = _this$flowParseTypeAn[1];
30345 typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation");
30346 id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation");
30347 this.resetEndLocation(id);
30348 this.semicolon();
30349 this.scope.declareName(node.id.name, BIND_FLOW_DECLARE_FN, node.id.start);
30350 return this.finishNode(node, "DeclareFunction");
30351 };
30352
30353 _proto.flowParseDeclare = function flowParseDeclare(node, insideModule) {
30354 if (this.match(types$1._class)) {
30355 return this.flowParseDeclareClass(node);
30356 } else if (this.match(types$1._function)) {
30357 return this.flowParseDeclareFunction(node);
30358 } else if (this.match(types$1._var)) {
30359 return this.flowParseDeclareVariable(node);
30360 } else if (this.eatContextual("module")) {
30361 if (this.match(types$1.dot)) {
30362 return this.flowParseDeclareModuleExports(node);
30363 } else {
30364 if (insideModule) {
30365 this.raise(this.state.lastTokStart, FlowErrors.NestedDeclareModule);
30366 }
30367
30368 return this.flowParseDeclareModule(node);
30369 }
30370 } else if (this.isContextual("type")) {
30371 return this.flowParseDeclareTypeAlias(node);
30372 } else if (this.isContextual("opaque")) {
30373 return this.flowParseDeclareOpaqueType(node);
30374 } else if (this.isContextual("interface")) {
30375 return this.flowParseDeclareInterface(node);
30376 } else if (this.match(types$1._export)) {
30377 return this.flowParseDeclareExportDeclaration(node, insideModule);
30378 } else {
30379 throw this.unexpected();
30380 }
30381 };
30382
30383 _proto.flowParseDeclareVariable = function flowParseDeclareVariable(node) {
30384 this.next();
30385 node.id = this.flowParseTypeAnnotatableIdentifier(true);
30386 this.scope.declareName(node.id.name, BIND_VAR, node.id.start);
30387 this.semicolon();
30388 return this.finishNode(node, "DeclareVariable");
30389 };
30390
30391 _proto.flowParseDeclareModule = function flowParseDeclareModule(node) {
30392 var _this3 = this;
30393
30394 this.scope.enter(SCOPE_OTHER);
30395
30396 if (this.match(types$1.string)) {
30397 node.id = this.parseExprAtom();
30398 } else {
30399 node.id = this.parseIdentifier();
30400 }
30401
30402 var bodyNode = node.body = this.startNode();
30403 var body = bodyNode.body = [];
30404 this.expect(types$1.braceL);
30405
30406 while (!this.match(types$1.braceR)) {
30407 var _bodyNode = this.startNode();
30408
30409 if (this.match(types$1._import)) {
30410 this.next();
30411
30412 if (!this.isContextual("type") && !this.match(types$1._typeof)) {
30413 this.raise(this.state.lastTokStart, FlowErrors.InvalidNonTypeImportInDeclareModule);
30414 }
30415
30416 this.parseImport(_bodyNode);
30417 } else {
30418 this.expectContextual("declare", FlowErrors.UnsupportedStatementInDeclareModule);
30419 _bodyNode = this.flowParseDeclare(_bodyNode, true);
30420 }
30421
30422 body.push(_bodyNode);
30423 }
30424
30425 this.scope.exit();
30426 this.expect(types$1.braceR);
30427 this.finishNode(bodyNode, "BlockStatement");
30428 var kind = null;
30429 var hasModuleExport = false;
30430 body.forEach(function (bodyElement) {
30431 if (isEsModuleType(bodyElement)) {
30432 if (kind === "CommonJS") {
30433 _this3.raise(bodyElement.start, FlowErrors.AmbiguousDeclareModuleKind);
30434 }
30435
30436 kind = "ES";
30437 } else if (bodyElement.type === "DeclareModuleExports") {
30438 if (hasModuleExport) {
30439 _this3.raise(bodyElement.start, FlowErrors.DuplicateDeclareModuleExports);
30440 }
30441
30442 if (kind === "ES") {
30443 _this3.raise(bodyElement.start, FlowErrors.AmbiguousDeclareModuleKind);
30444 }
30445
30446 kind = "CommonJS";
30447 hasModuleExport = true;
30448 }
30449 });
30450 node.kind = kind || "CommonJS";
30451 return this.finishNode(node, "DeclareModule");
30452 };
30453
30454 _proto.flowParseDeclareExportDeclaration = function flowParseDeclareExportDeclaration(node, insideModule) {
30455 this.expect(types$1._export);
30456
30457 if (this.eat(types$1._default)) {
30458 if (this.match(types$1._function) || this.match(types$1._class)) {
30459 node.declaration = this.flowParseDeclare(this.startNode());
30460 } else {
30461 node.declaration = this.flowParseType();
30462 this.semicolon();
30463 }
30464
30465 node["default"] = true;
30466 return this.finishNode(node, "DeclareExportDeclaration");
30467 } else {
30468 if (this.match(types$1._const) || this.isLet() || (this.isContextual("type") || this.isContextual("interface")) && !insideModule) {
30469 var label = this.state.value;
30470 var suggestion = exportSuggestions[label];
30471 throw this.raise(this.state.start, FlowErrors.UnsupportedDeclareExportKind, label, suggestion);
30472 }
30473
30474 if (this.match(types$1._var) || this.match(types$1._function) || this.match(types$1._class) || this.isContextual("opaque")) {
30475 node.declaration = this.flowParseDeclare(this.startNode());
30476 node["default"] = false;
30477 return this.finishNode(node, "DeclareExportDeclaration");
30478 } else if (this.match(types$1.star) || this.match(types$1.braceL) || this.isContextual("interface") || this.isContextual("type") || this.isContextual("opaque")) {
30479 node = this.parseExport(node);
30480
30481 if (node.type === "ExportNamedDeclaration") {
30482 node.type = "ExportDeclaration";
30483 node["default"] = false;
30484 delete node.exportKind;
30485 }
30486
30487 node.type = "Declare" + node.type;
30488 return node;
30489 }
30490 }
30491
30492 throw this.unexpected();
30493 };
30494
30495 _proto.flowParseDeclareModuleExports = function flowParseDeclareModuleExports(node) {
30496 this.next();
30497 this.expectContextual("exports");
30498 node.typeAnnotation = this.flowParseTypeAnnotation();
30499 this.semicolon();
30500 return this.finishNode(node, "DeclareModuleExports");
30501 };
30502
30503 _proto.flowParseDeclareTypeAlias = function flowParseDeclareTypeAlias(node) {
30504 this.next();
30505 this.flowParseTypeAlias(node);
30506 node.type = "DeclareTypeAlias";
30507 return node;
30508 };
30509
30510 _proto.flowParseDeclareOpaqueType = function flowParseDeclareOpaqueType(node) {
30511 this.next();
30512 this.flowParseOpaqueType(node, true);
30513 node.type = "DeclareOpaqueType";
30514 return node;
30515 };
30516
30517 _proto.flowParseDeclareInterface = function flowParseDeclareInterface(node) {
30518 this.next();
30519 this.flowParseInterfaceish(node);
30520 return this.finishNode(node, "DeclareInterface");
30521 };
30522
30523 _proto.flowParseInterfaceish = function flowParseInterfaceish(node, isClass) {
30524 if (isClass === void 0) {
30525 isClass = false;
30526 }
30527
30528 node.id = this.flowParseRestrictedIdentifier(!isClass, true);
30529 this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.start);
30530
30531 if (this.isRelational("<")) {
30532 node.typeParameters = this.flowParseTypeParameterDeclaration();
30533 } else {
30534 node.typeParameters = null;
30535 }
30536
30537 node["extends"] = [];
30538 node["implements"] = [];
30539 node.mixins = [];
30540
30541 if (this.eat(types$1._extends)) {
30542 do {
30543 node["extends"].push(this.flowParseInterfaceExtends());
30544 } while (!isClass && this.eat(types$1.comma));
30545 }
30546
30547 if (this.isContextual("mixins")) {
30548 this.next();
30549
30550 do {
30551 node.mixins.push(this.flowParseInterfaceExtends());
30552 } while (this.eat(types$1.comma));
30553 }
30554
30555 if (this.isContextual("implements")) {
30556 this.next();
30557
30558 do {
30559 node["implements"].push(this.flowParseInterfaceExtends());
30560 } while (this.eat(types$1.comma));
30561 }
30562
30563 node.body = this.flowParseObjectType({
30564 allowStatic: isClass,
30565 allowExact: false,
30566 allowSpread: false,
30567 allowProto: isClass,
30568 allowInexact: false
30569 });
30570 };
30571
30572 _proto.flowParseInterfaceExtends = function flowParseInterfaceExtends() {
30573 var node = this.startNode();
30574 node.id = this.flowParseQualifiedTypeIdentifier();
30575
30576 if (this.isRelational("<")) {
30577 node.typeParameters = this.flowParseTypeParameterInstantiation();
30578 } else {
30579 node.typeParameters = null;
30580 }
30581
30582 return this.finishNode(node, "InterfaceExtends");
30583 };
30584
30585 _proto.flowParseInterface = function flowParseInterface(node) {
30586 this.flowParseInterfaceish(node);
30587 return this.finishNode(node, "InterfaceDeclaration");
30588 };
30589
30590 _proto.checkNotUnderscore = function checkNotUnderscore(word) {
30591 if (word === "_") {
30592 this.raise(this.state.start, FlowErrors.UnexpectedReservedUnderscore);
30593 }
30594 };
30595
30596 _proto.checkReservedType = function checkReservedType(word, startLoc, declaration) {
30597 if (!reservedTypes.has(word)) return;
30598 this.raise(startLoc, declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, word);
30599 };
30600
30601 _proto.flowParseRestrictedIdentifier = function flowParseRestrictedIdentifier(liberal, declaration) {
30602 this.checkReservedType(this.state.value, this.state.start, declaration);
30603 return this.parseIdentifier(liberal);
30604 };
30605
30606 _proto.flowParseTypeAlias = function flowParseTypeAlias(node) {
30607 node.id = this.flowParseRestrictedIdentifier(false, true);
30608 this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start);
30609
30610 if (this.isRelational("<")) {
30611 node.typeParameters = this.flowParseTypeParameterDeclaration();
30612 } else {
30613 node.typeParameters = null;
30614 }
30615
30616 node.right = this.flowParseTypeInitialiser(types$1.eq);
30617 this.semicolon();
30618 return this.finishNode(node, "TypeAlias");
30619 };
30620
30621 _proto.flowParseOpaqueType = function flowParseOpaqueType(node, declare) {
30622 this.expectContextual("type");
30623 node.id = this.flowParseRestrictedIdentifier(true, true);
30624 this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start);
30625
30626 if (this.isRelational("<")) {
30627 node.typeParameters = this.flowParseTypeParameterDeclaration();
30628 } else {
30629 node.typeParameters = null;
30630 }
30631
30632 node.supertype = null;
30633
30634 if (this.match(types$1.colon)) {
30635 node.supertype = this.flowParseTypeInitialiser(types$1.colon);
30636 }
30637
30638 node.impltype = null;
30639
30640 if (!declare) {
30641 node.impltype = this.flowParseTypeInitialiser(types$1.eq);
30642 }
30643
30644 this.semicolon();
30645 return this.finishNode(node, "OpaqueType");
30646 };
30647
30648 _proto.flowParseTypeParameter = function flowParseTypeParameter(requireDefault) {
30649 if (requireDefault === void 0) {
30650 requireDefault = false;
30651 }
30652
30653 var nodeStart = this.state.start;
30654 var node = this.startNode();
30655 var variance = this.flowParseVariance();
30656 var ident = this.flowParseTypeAnnotatableIdentifier();
30657 node.name = ident.name;
30658 node.variance = variance;
30659 node.bound = ident.typeAnnotation;
30660
30661 if (this.match(types$1.eq)) {
30662 this.eat(types$1.eq);
30663 node["default"] = this.flowParseType();
30664 } else {
30665 if (requireDefault) {
30666 this.raise(nodeStart, FlowErrors.MissingTypeParamDefault);
30667 }
30668 }
30669
30670 return this.finishNode(node, "TypeParameter");
30671 };
30672
30673 _proto.flowParseTypeParameterDeclaration = function flowParseTypeParameterDeclaration() {
30674 var oldInType = this.state.inType;
30675 var node = this.startNode();
30676 node.params = [];
30677 this.state.inType = true;
30678
30679 if (this.isRelational("<") || this.match(types$1.jsxTagStart)) {
30680 this.next();
30681 } else {
30682 this.unexpected();
30683 }
30684
30685 var defaultRequired = false;
30686
30687 do {
30688 var typeParameter = this.flowParseTypeParameter(defaultRequired);
30689 node.params.push(typeParameter);
30690
30691 if (typeParameter["default"]) {
30692 defaultRequired = true;
30693 }
30694
30695 if (!this.isRelational(">")) {
30696 this.expect(types$1.comma);
30697 }
30698 } while (!this.isRelational(">"));
30699
30700 this.expectRelational(">");
30701 this.state.inType = oldInType;
30702 return this.finishNode(node, "TypeParameterDeclaration");
30703 };
30704
30705 _proto.flowParseTypeParameterInstantiation = function flowParseTypeParameterInstantiation() {
30706 var node = this.startNode();
30707 var oldInType = this.state.inType;
30708 node.params = [];
30709 this.state.inType = true;
30710 this.expectRelational("<");
30711 var oldNoAnonFunctionType = this.state.noAnonFunctionType;
30712 this.state.noAnonFunctionType = false;
30713
30714 while (!this.isRelational(">")) {
30715 node.params.push(this.flowParseType());
30716
30717 if (!this.isRelational(">")) {
30718 this.expect(types$1.comma);
30719 }
30720 }
30721
30722 this.state.noAnonFunctionType = oldNoAnonFunctionType;
30723 this.expectRelational(">");
30724 this.state.inType = oldInType;
30725 return this.finishNode(node, "TypeParameterInstantiation");
30726 };
30727
30728 _proto.flowParseTypeParameterInstantiationCallOrNew = function flowParseTypeParameterInstantiationCallOrNew() {
30729 var node = this.startNode();
30730 var oldInType = this.state.inType;
30731 node.params = [];
30732 this.state.inType = true;
30733 this.expectRelational("<");
30734
30735 while (!this.isRelational(">")) {
30736 node.params.push(this.flowParseTypeOrImplicitInstantiation());
30737
30738 if (!this.isRelational(">")) {
30739 this.expect(types$1.comma);
30740 }
30741 }
30742
30743 this.expectRelational(">");
30744 this.state.inType = oldInType;
30745 return this.finishNode(node, "TypeParameterInstantiation");
30746 };
30747
30748 _proto.flowParseInterfaceType = function flowParseInterfaceType() {
30749 var node = this.startNode();
30750 this.expectContextual("interface");
30751 node["extends"] = [];
30752
30753 if (this.eat(types$1._extends)) {
30754 do {
30755 node["extends"].push(this.flowParseInterfaceExtends());
30756 } while (this.eat(types$1.comma));
30757 }
30758
30759 node.body = this.flowParseObjectType({
30760 allowStatic: false,
30761 allowExact: false,
30762 allowSpread: false,
30763 allowProto: false,
30764 allowInexact: false
30765 });
30766 return this.finishNode(node, "InterfaceTypeAnnotation");
30767 };
30768
30769 _proto.flowParseObjectPropertyKey = function flowParseObjectPropertyKey() {
30770 return this.match(types$1.num) || this.match(types$1.string) ? this.parseExprAtom() : this.parseIdentifier(true);
30771 };
30772
30773 _proto.flowParseObjectTypeIndexer = function flowParseObjectTypeIndexer(node, isStatic, variance) {
30774 node["static"] = isStatic;
30775
30776 if (this.lookahead().type === types$1.colon) {
30777 node.id = this.flowParseObjectPropertyKey();
30778 node.key = this.flowParseTypeInitialiser();
30779 } else {
30780 node.id = null;
30781 node.key = this.flowParseType();
30782 }
30783
30784 this.expect(types$1.bracketR);
30785 node.value = this.flowParseTypeInitialiser();
30786 node.variance = variance;
30787 return this.finishNode(node, "ObjectTypeIndexer");
30788 };
30789
30790 _proto.flowParseObjectTypeInternalSlot = function flowParseObjectTypeInternalSlot(node, isStatic) {
30791 node["static"] = isStatic;
30792 node.id = this.flowParseObjectPropertyKey();
30793 this.expect(types$1.bracketR);
30794 this.expect(types$1.bracketR);
30795
30796 if (this.isRelational("<") || this.match(types$1.parenL)) {
30797 node.method = true;
30798 node.optional = false;
30799 node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start));
30800 } else {
30801 node.method = false;
30802
30803 if (this.eat(types$1.question)) {
30804 node.optional = true;
30805 }
30806
30807 node.value = this.flowParseTypeInitialiser();
30808 }
30809
30810 return this.finishNode(node, "ObjectTypeInternalSlot");
30811 };
30812
30813 _proto.flowParseObjectTypeMethodish = function flowParseObjectTypeMethodish(node) {
30814 node.params = [];
30815 node.rest = null;
30816 node.typeParameters = null;
30817 node["this"] = null;
30818
30819 if (this.isRelational("<")) {
30820 node.typeParameters = this.flowParseTypeParameterDeclaration();
30821 }
30822
30823 this.expect(types$1.parenL);
30824
30825 if (this.match(types$1._this)) {
30826 node["this"] = this.flowParseFunctionTypeParam(true);
30827 node["this"].name = null;
30828
30829 if (!this.match(types$1.parenR)) {
30830 this.expect(types$1.comma);
30831 }
30832 }
30833
30834 while (!this.match(types$1.parenR) && !this.match(types$1.ellipsis)) {
30835 node.params.push(this.flowParseFunctionTypeParam(false));
30836
30837 if (!this.match(types$1.parenR)) {
30838 this.expect(types$1.comma);
30839 }
30840 }
30841
30842 if (this.eat(types$1.ellipsis)) {
30843 node.rest = this.flowParseFunctionTypeParam(false);
30844 }
30845
30846 this.expect(types$1.parenR);
30847 node.returnType = this.flowParseTypeInitialiser();
30848 return this.finishNode(node, "FunctionTypeAnnotation");
30849 };
30850
30851 _proto.flowParseObjectTypeCallProperty = function flowParseObjectTypeCallProperty(node, isStatic) {
30852 var valueNode = this.startNode();
30853 node["static"] = isStatic;
30854 node.value = this.flowParseObjectTypeMethodish(valueNode);
30855 return this.finishNode(node, "ObjectTypeCallProperty");
30856 };
30857
30858 _proto.flowParseObjectType = function flowParseObjectType(_ref) {
30859 var allowStatic = _ref.allowStatic,
30860 allowExact = _ref.allowExact,
30861 allowSpread = _ref.allowSpread,
30862 allowProto = _ref.allowProto,
30863 allowInexact = _ref.allowInexact;
30864 var oldInType = this.state.inType;
30865 this.state.inType = true;
30866 var nodeStart = this.startNode();
30867 nodeStart.callProperties = [];
30868 nodeStart.properties = [];
30869 nodeStart.indexers = [];
30870 nodeStart.internalSlots = [];
30871 var endDelim;
30872 var exact;
30873 var inexact = false;
30874
30875 if (allowExact && this.match(types$1.braceBarL)) {
30876 this.expect(types$1.braceBarL);
30877 endDelim = types$1.braceBarR;
30878 exact = true;
30879 } else {
30880 this.expect(types$1.braceL);
30881 endDelim = types$1.braceR;
30882 exact = false;
30883 }
30884
30885 nodeStart.exact = exact;
30886
30887 while (!this.match(endDelim)) {
30888 var isStatic = false;
30889 var protoStart = null;
30890 var inexactStart = null;
30891 var node = this.startNode();
30892
30893 if (allowProto && this.isContextual("proto")) {
30894 var lookahead = this.lookahead();
30895
30896 if (lookahead.type !== types$1.colon && lookahead.type !== types$1.question) {
30897 this.next();
30898 protoStart = this.state.start;
30899 allowStatic = false;
30900 }
30901 }
30902
30903 if (allowStatic && this.isContextual("static")) {
30904 var _lookahead = this.lookahead();
30905
30906 if (_lookahead.type !== types$1.colon && _lookahead.type !== types$1.question) {
30907 this.next();
30908 isStatic = true;
30909 }
30910 }
30911
30912 var variance = this.flowParseVariance();
30913
30914 if (this.eat(types$1.bracketL)) {
30915 if (protoStart != null) {
30916 this.unexpected(protoStart);
30917 }
30918
30919 if (this.eat(types$1.bracketL)) {
30920 if (variance) {
30921 this.unexpected(variance.start);
30922 }
30923
30924 nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic));
30925 } else {
30926 nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance));
30927 }
30928 } else if (this.match(types$1.parenL) || this.isRelational("<")) {
30929 if (protoStart != null) {
30930 this.unexpected(protoStart);
30931 }
30932
30933 if (variance) {
30934 this.unexpected(variance.start);
30935 }
30936
30937 nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic));
30938 } else {
30939 var kind = "init";
30940
30941 if (this.isContextual("get") || this.isContextual("set")) {
30942 var _lookahead2 = this.lookahead();
30943
30944 if (_lookahead2.type === types$1.name || _lookahead2.type === types$1.string || _lookahead2.type === types$1.num) {
30945 kind = this.state.value;
30946 this.next();
30947 }
30948 }
30949
30950 var propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact);
30951
30952 if (propOrInexact === null) {
30953 inexact = true;
30954 inexactStart = this.state.lastTokStart;
30955 } else {
30956 nodeStart.properties.push(propOrInexact);
30957 }
30958 }
30959
30960 this.flowObjectTypeSemicolon();
30961
30962 if (inexactStart && !this.match(types$1.braceR) && !this.match(types$1.braceBarR)) {
30963 this.raise(inexactStart, FlowErrors.UnexpectedExplicitInexactInObject);
30964 }
30965 }
30966
30967 this.expect(endDelim);
30968
30969 if (allowSpread) {
30970 nodeStart.inexact = inexact;
30971 }
30972
30973 var out = this.finishNode(nodeStart, "ObjectTypeAnnotation");
30974 this.state.inType = oldInType;
30975 return out;
30976 };
30977
30978 _proto.flowParseObjectTypeProperty = function flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact) {
30979 if (this.eat(types$1.ellipsis)) {
30980 var isInexactToken = this.match(types$1.comma) || this.match(types$1.semi) || this.match(types$1.braceR) || this.match(types$1.braceBarR);
30981
30982 if (isInexactToken) {
30983 if (!allowSpread) {
30984 this.raise(this.state.lastTokStart, FlowErrors.InexactInsideNonObject);
30985 } else if (!allowInexact) {
30986 this.raise(this.state.lastTokStart, FlowErrors.InexactInsideExact);
30987 }
30988
30989 if (variance) {
30990 this.raise(variance.start, FlowErrors.InexactVariance);
30991 }
30992
30993 return null;
30994 }
30995
30996 if (!allowSpread) {
30997 this.raise(this.state.lastTokStart, FlowErrors.UnexpectedSpreadType);
30998 }
30999
31000 if (protoStart != null) {
31001 this.unexpected(protoStart);
31002 }
31003
31004 if (variance) {
31005 this.raise(variance.start, FlowErrors.SpreadVariance);
31006 }
31007
31008 node.argument = this.flowParseType();
31009 return this.finishNode(node, "ObjectTypeSpreadProperty");
31010 } else {
31011 node.key = this.flowParseObjectPropertyKey();
31012 node["static"] = isStatic;
31013 node.proto = protoStart != null;
31014 node.kind = kind;
31015 var optional = false;
31016
31017 if (this.isRelational("<") || this.match(types$1.parenL)) {
31018 node.method = true;
31019
31020 if (protoStart != null) {
31021 this.unexpected(protoStart);
31022 }
31023
31024 if (variance) {
31025 this.unexpected(variance.start);
31026 }
31027
31028 node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start));
31029
31030 if (kind === "get" || kind === "set") {
31031 this.flowCheckGetterSetterParams(node);
31032 }
31033
31034 if (!allowSpread && node.key.name === "constructor" && node.value["this"]) {
31035 this.raise(node.value["this"].start, FlowErrors.ThisParamBannedInConstructor);
31036 }
31037 } else {
31038 if (kind !== "init") this.unexpected();
31039 node.method = false;
31040
31041 if (this.eat(types$1.question)) {
31042 optional = true;
31043 }
31044
31045 node.value = this.flowParseTypeInitialiser();
31046 node.variance = variance;
31047 }
31048
31049 node.optional = optional;
31050 return this.finishNode(node, "ObjectTypeProperty");
31051 }
31052 };
31053
31054 _proto.flowCheckGetterSetterParams = function flowCheckGetterSetterParams(property) {
31055 var paramCount = property.kind === "get" ? 0 : 1;
31056 var start = property.start;
31057 var length = property.value.params.length + (property.value.rest ? 1 : 0);
31058
31059 if (property.value["this"]) {
31060 this.raise(property.value["this"].start, property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam);
31061 }
31062
31063 if (length !== paramCount) {
31064 if (property.kind === "get") {
31065 this.raise(start, ErrorMessages.BadGetterArity);
31066 } else {
31067 this.raise(start, ErrorMessages.BadSetterArity);
31068 }
31069 }
31070
31071 if (property.kind === "set" && property.value.rest) {
31072 this.raise(start, ErrorMessages.BadSetterRestParameter);
31073 }
31074 };
31075
31076 _proto.flowObjectTypeSemicolon = function flowObjectTypeSemicolon() {
31077 if (!this.eat(types$1.semi) && !this.eat(types$1.comma) && !this.match(types$1.braceR) && !this.match(types$1.braceBarR)) {
31078 this.unexpected();
31079 }
31080 };
31081
31082 _proto.flowParseQualifiedTypeIdentifier = function flowParseQualifiedTypeIdentifier(startPos, startLoc, id) {
31083 startPos = startPos || this.state.start;
31084 startLoc = startLoc || this.state.startLoc;
31085 var node = id || this.flowParseRestrictedIdentifier(true);
31086
31087 while (this.eat(types$1.dot)) {
31088 var node2 = this.startNodeAt(startPos, startLoc);
31089 node2.qualification = node;
31090 node2.id = this.flowParseRestrictedIdentifier(true);
31091 node = this.finishNode(node2, "QualifiedTypeIdentifier");
31092 }
31093
31094 return node;
31095 };
31096
31097 _proto.flowParseGenericType = function flowParseGenericType(startPos, startLoc, id) {
31098 var node = this.startNodeAt(startPos, startLoc);
31099 node.typeParameters = null;
31100 node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id);
31101
31102 if (this.isRelational("<")) {
31103 node.typeParameters = this.flowParseTypeParameterInstantiation();
31104 }
31105
31106 return this.finishNode(node, "GenericTypeAnnotation");
31107 };
31108
31109 _proto.flowParseTypeofType = function flowParseTypeofType() {
31110 var node = this.startNode();
31111 this.expect(types$1._typeof);
31112 node.argument = this.flowParsePrimaryType();
31113 return this.finishNode(node, "TypeofTypeAnnotation");
31114 };
31115
31116 _proto.flowParseTupleType = function flowParseTupleType() {
31117 var node = this.startNode();
31118 node.types = [];
31119 this.expect(types$1.bracketL);
31120
31121 while (this.state.pos < this.length && !this.match(types$1.bracketR)) {
31122 node.types.push(this.flowParseType());
31123 if (this.match(types$1.bracketR)) break;
31124 this.expect(types$1.comma);
31125 }
31126
31127 this.expect(types$1.bracketR);
31128 return this.finishNode(node, "TupleTypeAnnotation");
31129 };
31130
31131 _proto.flowParseFunctionTypeParam = function flowParseFunctionTypeParam(first) {
31132 var name = null;
31133 var optional = false;
31134 var typeAnnotation = null;
31135 var node = this.startNode();
31136 var lh = this.lookahead();
31137 var isThis = this.state.type === types$1._this;
31138
31139 if (lh.type === types$1.colon || lh.type === types$1.question) {
31140 if (isThis && !first) {
31141 this.raise(node.start, FlowErrors.ThisParamMustBeFirst);
31142 }
31143
31144 name = this.parseIdentifier(isThis);
31145
31146 if (this.eat(types$1.question)) {
31147 optional = true;
31148
31149 if (isThis) {
31150 this.raise(node.start, FlowErrors.ThisParamMayNotBeOptional);
31151 }
31152 }
31153
31154 typeAnnotation = this.flowParseTypeInitialiser();
31155 } else {
31156 typeAnnotation = this.flowParseType();
31157 }
31158
31159 node.name = name;
31160 node.optional = optional;
31161 node.typeAnnotation = typeAnnotation;
31162 return this.finishNode(node, "FunctionTypeParam");
31163 };
31164
31165 _proto.reinterpretTypeAsFunctionTypeParam = function reinterpretTypeAsFunctionTypeParam(type) {
31166 var node = this.startNodeAt(type.start, type.loc.start);
31167 node.name = null;
31168 node.optional = false;
31169 node.typeAnnotation = type;
31170 return this.finishNode(node, "FunctionTypeParam");
31171 };
31172
31173 _proto.flowParseFunctionTypeParams = function flowParseFunctionTypeParams(params) {
31174 if (params === void 0) {
31175 params = [];
31176 }
31177
31178 var rest = null;
31179 var _this = null;
31180
31181 if (this.match(types$1._this)) {
31182 _this = this.flowParseFunctionTypeParam(true);
31183 _this.name = null;
31184
31185 if (!this.match(types$1.parenR)) {
31186 this.expect(types$1.comma);
31187 }
31188 }
31189
31190 while (!this.match(types$1.parenR) && !this.match(types$1.ellipsis)) {
31191 params.push(this.flowParseFunctionTypeParam(false));
31192
31193 if (!this.match(types$1.parenR)) {
31194 this.expect(types$1.comma);
31195 }
31196 }
31197
31198 if (this.eat(types$1.ellipsis)) {
31199 rest = this.flowParseFunctionTypeParam(false);
31200 }
31201
31202 return {
31203 params: params,
31204 rest: rest,
31205 _this: _this
31206 };
31207 };
31208
31209 _proto.flowIdentToTypeAnnotation = function flowIdentToTypeAnnotation(startPos, startLoc, node, id) {
31210 switch (id.name) {
31211 case "any":
31212 return this.finishNode(node, "AnyTypeAnnotation");
31213
31214 case "bool":
31215 case "boolean":
31216 return this.finishNode(node, "BooleanTypeAnnotation");
31217
31218 case "mixed":
31219 return this.finishNode(node, "MixedTypeAnnotation");
31220
31221 case "empty":
31222 return this.finishNode(node, "EmptyTypeAnnotation");
31223
31224 case "number":
31225 return this.finishNode(node, "NumberTypeAnnotation");
31226
31227 case "string":
31228 return this.finishNode(node, "StringTypeAnnotation");
31229
31230 case "symbol":
31231 return this.finishNode(node, "SymbolTypeAnnotation");
31232
31233 default:
31234 this.checkNotUnderscore(id.name);
31235 return this.flowParseGenericType(startPos, startLoc, id);
31236 }
31237 };
31238
31239 _proto.flowParsePrimaryType = function flowParsePrimaryType() {
31240 var startPos = this.state.start;
31241 var startLoc = this.state.startLoc;
31242 var node = this.startNode();
31243 var tmp;
31244 var type;
31245 var isGroupedType = false;
31246 var oldNoAnonFunctionType = this.state.noAnonFunctionType;
31247
31248 switch (this.state.type) {
31249 case types$1.name:
31250 if (this.isContextual("interface")) {
31251 return this.flowParseInterfaceType();
31252 }
31253
31254 return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdentifier());
31255
31256 case types$1.braceL:
31257 return this.flowParseObjectType({
31258 allowStatic: false,
31259 allowExact: false,
31260 allowSpread: true,
31261 allowProto: false,
31262 allowInexact: true
31263 });
31264
31265 case types$1.braceBarL:
31266 return this.flowParseObjectType({
31267 allowStatic: false,
31268 allowExact: true,
31269 allowSpread: true,
31270 allowProto: false,
31271 allowInexact: false
31272 });
31273
31274 case types$1.bracketL:
31275 this.state.noAnonFunctionType = false;
31276 type = this.flowParseTupleType();
31277 this.state.noAnonFunctionType = oldNoAnonFunctionType;
31278 return type;
31279
31280 case types$1.relational:
31281 if (this.state.value === "<") {
31282 node.typeParameters = this.flowParseTypeParameterDeclaration();
31283 this.expect(types$1.parenL);
31284 tmp = this.flowParseFunctionTypeParams();
31285 node.params = tmp.params;
31286 node.rest = tmp.rest;
31287 node["this"] = tmp._this;
31288 this.expect(types$1.parenR);
31289 this.expect(types$1.arrow);
31290 node.returnType = this.flowParseType();
31291 return this.finishNode(node, "FunctionTypeAnnotation");
31292 }
31293
31294 break;
31295
31296 case types$1.parenL:
31297 this.next();
31298
31299 if (!this.match(types$1.parenR) && !this.match(types$1.ellipsis)) {
31300 if (this.match(types$1.name) || this.match(types$1._this)) {
31301 var token = this.lookahead().type;
31302 isGroupedType = token !== types$1.question && token !== types$1.colon;
31303 } else {
31304 isGroupedType = true;
31305 }
31306 }
31307
31308 if (isGroupedType) {
31309 this.state.noAnonFunctionType = false;
31310 type = this.flowParseType();
31311 this.state.noAnonFunctionType = oldNoAnonFunctionType;
31312
31313 if (this.state.noAnonFunctionType || !(this.match(types$1.comma) || this.match(types$1.parenR) && this.lookahead().type === types$1.arrow)) {
31314 this.expect(types$1.parenR);
31315 return type;
31316 } else {
31317 this.eat(types$1.comma);
31318 }
31319 }
31320
31321 if (type) {
31322 tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]);
31323 } else {
31324 tmp = this.flowParseFunctionTypeParams();
31325 }
31326
31327 node.params = tmp.params;
31328 node.rest = tmp.rest;
31329 node["this"] = tmp._this;
31330 this.expect(types$1.parenR);
31331 this.expect(types$1.arrow);
31332 node.returnType = this.flowParseType();
31333 node.typeParameters = null;
31334 return this.finishNode(node, "FunctionTypeAnnotation");
31335
31336 case types$1.string:
31337 return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
31338
31339 case types$1._true:
31340 case types$1._false:
31341 node.value = this.match(types$1._true);
31342 this.next();
31343 return this.finishNode(node, "BooleanLiteralTypeAnnotation");
31344
31345 case types$1.plusMin:
31346 if (this.state.value === "-") {
31347 this.next();
31348
31349 if (this.match(types$1.num)) {
31350 return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node);
31351 }
31352
31353 if (this.match(types$1.bigint)) {
31354 return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node);
31355 }
31356
31357 throw this.raise(this.state.start, FlowErrors.UnexpectedSubtractionOperand);
31358 }
31359
31360 throw this.unexpected();
31361
31362 case types$1.num:
31363 return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
31364
31365 case types$1.bigint:
31366 return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
31367
31368 case types$1._void:
31369 this.next();
31370 return this.finishNode(node, "VoidTypeAnnotation");
31371
31372 case types$1._null:
31373 this.next();
31374 return this.finishNode(node, "NullLiteralTypeAnnotation");
31375
31376 case types$1._this:
31377 this.next();
31378 return this.finishNode(node, "ThisTypeAnnotation");
31379
31380 case types$1.star:
31381 this.next();
31382 return this.finishNode(node, "ExistsTypeAnnotation");
31383
31384 default:
31385 if (this.state.type.keyword === "typeof") {
31386 return this.flowParseTypeofType();
31387 } else if (this.state.type.keyword) {
31388 var label = this.state.type.label;
31389 this.next();
31390 return _superClass.prototype.createIdentifier.call(this, node, label);
31391 }
31392
31393 }
31394
31395 throw this.unexpected();
31396 };
31397
31398 _proto.flowParsePostfixType = function flowParsePostfixType() {
31399 var startPos = this.state.start;
31400 var startLoc = this.state.startLoc;
31401 var type = this.flowParsePrimaryType();
31402 var seenOptionalIndexedAccess = false;
31403
31404 while ((this.match(types$1.bracketL) || this.match(types$1.questionDot)) && !this.canInsertSemicolon()) {
31405 var node = this.startNodeAt(startPos, startLoc);
31406 var optional = this.eat(types$1.questionDot);
31407 seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional;
31408 this.expect(types$1.bracketL);
31409
31410 if (!optional && this.match(types$1.bracketR)) {
31411 node.elementType = type;
31412 this.next();
31413 type = this.finishNode(node, "ArrayTypeAnnotation");
31414 } else {
31415 node.objectType = type;
31416 node.indexType = this.flowParseType();
31417 this.expect(types$1.bracketR);
31418
31419 if (seenOptionalIndexedAccess) {
31420 node.optional = optional;
31421 type = this.finishNode(node, "OptionalIndexedAccessType");
31422 } else {
31423 type = this.finishNode(node, "IndexedAccessType");
31424 }
31425 }
31426 }
31427
31428 return type;
31429 };
31430
31431 _proto.flowParsePrefixType = function flowParsePrefixType() {
31432 var node = this.startNode();
31433
31434 if (this.eat(types$1.question)) {
31435 node.typeAnnotation = this.flowParsePrefixType();
31436 return this.finishNode(node, "NullableTypeAnnotation");
31437 } else {
31438 return this.flowParsePostfixType();
31439 }
31440 };
31441
31442 _proto.flowParseAnonFunctionWithoutParens = function flowParseAnonFunctionWithoutParens() {
31443 var param = this.flowParsePrefixType();
31444
31445 if (!this.state.noAnonFunctionType && this.eat(types$1.arrow)) {
31446 var node = this.startNodeAt(param.start, param.loc.start);
31447 node.params = [this.reinterpretTypeAsFunctionTypeParam(param)];
31448 node.rest = null;
31449 node["this"] = null;
31450 node.returnType = this.flowParseType();
31451 node.typeParameters = null;
31452 return this.finishNode(node, "FunctionTypeAnnotation");
31453 }
31454
31455 return param;
31456 };
31457
31458 _proto.flowParseIntersectionType = function flowParseIntersectionType() {
31459 var node = this.startNode();
31460 this.eat(types$1.bitwiseAND);
31461 var type = this.flowParseAnonFunctionWithoutParens();
31462 node.types = [type];
31463
31464 while (this.eat(types$1.bitwiseAND)) {
31465 node.types.push(this.flowParseAnonFunctionWithoutParens());
31466 }
31467
31468 return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation");
31469 };
31470
31471 _proto.flowParseUnionType = function flowParseUnionType() {
31472 var node = this.startNode();
31473 this.eat(types$1.bitwiseOR);
31474 var type = this.flowParseIntersectionType();
31475 node.types = [type];
31476
31477 while (this.eat(types$1.bitwiseOR)) {
31478 node.types.push(this.flowParseIntersectionType());
31479 }
31480
31481 return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation");
31482 };
31483
31484 _proto.flowParseType = function flowParseType() {
31485 var oldInType = this.state.inType;
31486 this.state.inType = true;
31487 var type = this.flowParseUnionType();
31488 this.state.inType = oldInType;
31489 return type;
31490 };
31491
31492 _proto.flowParseTypeOrImplicitInstantiation = function flowParseTypeOrImplicitInstantiation() {
31493 if (this.state.type === types$1.name && this.state.value === "_") {
31494 var startPos = this.state.start;
31495 var startLoc = this.state.startLoc;
31496 var node = this.parseIdentifier();
31497 return this.flowParseGenericType(startPos, startLoc, node);
31498 } else {
31499 return this.flowParseType();
31500 }
31501 };
31502
31503 _proto.flowParseTypeAnnotation = function flowParseTypeAnnotation() {
31504 var node = this.startNode();
31505 node.typeAnnotation = this.flowParseTypeInitialiser();
31506 return this.finishNode(node, "TypeAnnotation");
31507 };
31508
31509 _proto.flowParseTypeAnnotatableIdentifier = function flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) {
31510 var ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();
31511
31512 if (this.match(types$1.colon)) {
31513 ident.typeAnnotation = this.flowParseTypeAnnotation();
31514 this.resetEndLocation(ident);
31515 }
31516
31517 return ident;
31518 };
31519
31520 _proto.typeCastToParameter = function typeCastToParameter(node) {
31521 node.expression.typeAnnotation = node.typeAnnotation;
31522 this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end);
31523 return node.expression;
31524 };
31525
31526 _proto.flowParseVariance = function flowParseVariance() {
31527 var variance = null;
31528
31529 if (this.match(types$1.plusMin)) {
31530 variance = this.startNode();
31531
31532 if (this.state.value === "+") {
31533 variance.kind = "plus";
31534 } else {
31535 variance.kind = "minus";
31536 }
31537
31538 this.next();
31539 this.finishNode(variance, "Variance");
31540 }
31541
31542 return variance;
31543 };
31544
31545 _proto.parseFunctionBody = function parseFunctionBody(node, allowExpressionBody, isMethod) {
31546 var _this4 = this;
31547
31548 if (isMethod === void 0) {
31549 isMethod = false;
31550 }
31551
31552 if (allowExpressionBody) {
31553 return this.forwardNoArrowParamsConversionAt(node, function () {
31554 return _superClass.prototype.parseFunctionBody.call(_this4, node, true, isMethod);
31555 });
31556 }
31557
31558 return _superClass.prototype.parseFunctionBody.call(this, node, false, isMethod);
31559 };
31560
31561 _proto.parseFunctionBodyAndFinish = function parseFunctionBodyAndFinish(node, type, isMethod) {
31562 if (isMethod === void 0) {
31563 isMethod = false;
31564 }
31565
31566 if (this.match(types$1.colon)) {
31567 var typeNode = this.startNode();
31568
31569 var _this$flowParseTypeAn2 = this.flowParseTypeAndPredicateInitialiser();
31570
31571 typeNode.typeAnnotation = _this$flowParseTypeAn2[0];
31572 node.predicate = _this$flowParseTypeAn2[1];
31573 node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null;
31574 }
31575
31576 _superClass.prototype.parseFunctionBodyAndFinish.call(this, node, type, isMethod);
31577 };
31578
31579 _proto.parseStatement = function parseStatement(context, topLevel) {
31580 if (this.state.strict && this.match(types$1.name) && this.state.value === "interface") {
31581 var lookahead = this.lookahead();
31582
31583 if (lookahead.type === types$1.name || isKeyword(lookahead.value)) {
31584 var node = this.startNode();
31585 this.next();
31586 return this.flowParseInterface(node);
31587 }
31588 } else if (this.shouldParseEnums() && this.isContextual("enum")) {
31589 var _node = this.startNode();
31590
31591 this.next();
31592 return this.flowParseEnumDeclaration(_node);
31593 }
31594
31595 var stmt = _superClass.prototype.parseStatement.call(this, context, topLevel);
31596
31597 if (this.flowPragma === undefined && !this.isValidDirective(stmt)) {
31598 this.flowPragma = null;
31599 }
31600
31601 return stmt;
31602 };
31603
31604 _proto.parseExpressionStatement = function parseExpressionStatement(node, expr) {
31605 if (expr.type === "Identifier") {
31606 if (expr.name === "declare") {
31607 if (this.match(types$1._class) || this.match(types$1.name) || this.match(types$1._function) || this.match(types$1._var) || this.match(types$1._export)) {
31608 return this.flowParseDeclare(node);
31609 }
31610 } else if (this.match(types$1.name)) {
31611 if (expr.name === "interface") {
31612 return this.flowParseInterface(node);
31613 } else if (expr.name === "type") {
31614 return this.flowParseTypeAlias(node);
31615 } else if (expr.name === "opaque") {
31616 return this.flowParseOpaqueType(node, false);
31617 }
31618 }
31619 }
31620
31621 return _superClass.prototype.parseExpressionStatement.call(this, node, expr);
31622 };
31623
31624 _proto.shouldParseExportDeclaration = function shouldParseExportDeclaration() {
31625 return this.isContextual("type") || this.isContextual("interface") || this.isContextual("opaque") || this.shouldParseEnums() && this.isContextual("enum") || _superClass.prototype.shouldParseExportDeclaration.call(this);
31626 };
31627
31628 _proto.isExportDefaultSpecifier = function isExportDefaultSpecifier() {
31629 if (this.match(types$1.name) && (this.state.value === "type" || this.state.value === "interface" || this.state.value === "opaque" || this.shouldParseEnums() && this.state.value === "enum")) {
31630 return false;
31631 }
31632
31633 return _superClass.prototype.isExportDefaultSpecifier.call(this);
31634 };
31635
31636 _proto.parseExportDefaultExpression = function parseExportDefaultExpression() {
31637 if (this.shouldParseEnums() && this.isContextual("enum")) {
31638 var node = this.startNode();
31639 this.next();
31640 return this.flowParseEnumDeclaration(node);
31641 }
31642
31643 return _superClass.prototype.parseExportDefaultExpression.call(this);
31644 };
31645
31646 _proto.parseConditional = function parseConditional(expr, startPos, startLoc, refExpressionErrors) {
31647 var _this5 = this;
31648
31649 if (!this.match(types$1.question)) return expr;
31650
31651 if (this.state.maybeInArrowParameters) {
31652 var result = this.tryParse(function () {
31653 return _superClass.prototype.parseConditional.call(_this5, expr, startPos, startLoc);
31654 });
31655
31656 if (!result.node) {
31657 if (result.error) {
31658 _superClass.prototype.setOptionalParametersError.call(this, refExpressionErrors, result.error);
31659 }
31660
31661 return expr;
31662 }
31663
31664 if (result.error) this.state = result.failState;
31665 return result.node;
31666 }
31667
31668 this.expect(types$1.question);
31669 var state = this.state.clone();
31670 var originalNoArrowAt = this.state.noArrowAt;
31671 var node = this.startNodeAt(startPos, startLoc);
31672
31673 var _this$tryParseConditi = this.tryParseConditionalConsequent(),
31674 consequent = _this$tryParseConditi.consequent,
31675 failed = _this$tryParseConditi.failed;
31676
31677 var _this$getArrowLikeExp = this.getArrowLikeExpressions(consequent),
31678 valid = _this$getArrowLikeExp[0],
31679 invalid = _this$getArrowLikeExp[1];
31680
31681 if (failed || invalid.length > 0) {
31682 var noArrowAt = [].concat(originalNoArrowAt);
31683
31684 if (invalid.length > 0) {
31685 this.state = state;
31686 this.state.noArrowAt = noArrowAt;
31687
31688 for (var i = 0; i < invalid.length; i++) {
31689 noArrowAt.push(invalid[i].start);
31690 }
31691
31692 var _this$tryParseConditi2 = this.tryParseConditionalConsequent();
31693
31694 consequent = _this$tryParseConditi2.consequent;
31695 failed = _this$tryParseConditi2.failed;
31696
31697 var _this$getArrowLikeExp2 = this.getArrowLikeExpressions(consequent);
31698
31699 valid = _this$getArrowLikeExp2[0];
31700 invalid = _this$getArrowLikeExp2[1];
31701 }
31702
31703 if (failed && valid.length > 1) {
31704 this.raise(state.start, FlowErrors.AmbiguousConditionalArrow);
31705 }
31706
31707 if (failed && valid.length === 1) {
31708 this.state = state;
31709 this.state.noArrowAt = noArrowAt.concat(valid[0].start);
31710
31711 var _this$tryParseConditi3 = this.tryParseConditionalConsequent();
31712
31713 consequent = _this$tryParseConditi3.consequent;
31714 failed = _this$tryParseConditi3.failed;
31715 }
31716 }
31717
31718 this.getArrowLikeExpressions(consequent, true);
31719 this.state.noArrowAt = originalNoArrowAt;
31720 this.expect(types$1.colon);
31721 node.test = expr;
31722 node.consequent = consequent;
31723 node.alternate = this.forwardNoArrowParamsConversionAt(node, function () {
31724 return _this5.parseMaybeAssign(undefined, undefined);
31725 });
31726 return this.finishNode(node, "ConditionalExpression");
31727 };
31728
31729 _proto.tryParseConditionalConsequent = function tryParseConditionalConsequent() {
31730 this.state.noArrowParamsConversionAt.push(this.state.start);
31731 var consequent = this.parseMaybeAssignAllowIn();
31732 var failed = !this.match(types$1.colon);
31733 this.state.noArrowParamsConversionAt.pop();
31734 return {
31735 consequent: consequent,
31736 failed: failed
31737 };
31738 };
31739
31740 _proto.getArrowLikeExpressions = function getArrowLikeExpressions(node, disallowInvalid) {
31741 var _this6 = this;
31742
31743 var stack = [node];
31744 var arrows = [];
31745
31746 while (stack.length !== 0) {
31747 var _node2 = stack.pop();
31748
31749 if (_node2.type === "ArrowFunctionExpression") {
31750 if (_node2.typeParameters || !_node2.returnType) {
31751 this.finishArrowValidation(_node2);
31752 } else {
31753 arrows.push(_node2);
31754 }
31755
31756 stack.push(_node2.body);
31757 } else if (_node2.type === "ConditionalExpression") {
31758 stack.push(_node2.consequent);
31759 stack.push(_node2.alternate);
31760 }
31761 }
31762
31763 if (disallowInvalid) {
31764 arrows.forEach(function (node) {
31765 return _this6.finishArrowValidation(node);
31766 });
31767 return [arrows, []];
31768 }
31769
31770 return partition(arrows, function (node) {
31771 return node.params.every(function (param) {
31772 return _this6.isAssignable(param, true);
31773 });
31774 });
31775 };
31776
31777 _proto.finishArrowValidation = function finishArrowValidation(node) {
31778 var _node$extra;
31779
31780 this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingComma, false);
31781 this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);
31782
31783 _superClass.prototype.checkParams.call(this, node, false, true);
31784
31785 this.scope.exit();
31786 };
31787
31788 _proto.forwardNoArrowParamsConversionAt = function forwardNoArrowParamsConversionAt(node, parse) {
31789 var result;
31790
31791 if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {
31792 this.state.noArrowParamsConversionAt.push(this.state.start);
31793 result = parse();
31794 this.state.noArrowParamsConversionAt.pop();
31795 } else {
31796 result = parse();
31797 }
31798
31799 return result;
31800 };
31801
31802 _proto.parseParenItem = function parseParenItem(node, startPos, startLoc) {
31803 node = _superClass.prototype.parseParenItem.call(this, node, startPos, startLoc);
31804
31805 if (this.eat(types$1.question)) {
31806 node.optional = true;
31807 this.resetEndLocation(node);
31808 }
31809
31810 if (this.match(types$1.colon)) {
31811 var typeCastNode = this.startNodeAt(startPos, startLoc);
31812 typeCastNode.expression = node;
31813 typeCastNode.typeAnnotation = this.flowParseTypeAnnotation();
31814 return this.finishNode(typeCastNode, "TypeCastExpression");
31815 }
31816
31817 return node;
31818 };
31819
31820 _proto.assertModuleNodeAllowed = function assertModuleNodeAllowed(node) {
31821 if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") {
31822 return;
31823 }
31824
31825 _superClass.prototype.assertModuleNodeAllowed.call(this, node);
31826 };
31827
31828 _proto.parseExport = function parseExport(node) {
31829 var decl = _superClass.prototype.parseExport.call(this, node);
31830
31831 if (decl.type === "ExportNamedDeclaration" || decl.type === "ExportAllDeclaration") {
31832 decl.exportKind = decl.exportKind || "value";
31833 }
31834
31835 return decl;
31836 };
31837
31838 _proto.parseExportDeclaration = function parseExportDeclaration(node) {
31839 if (this.isContextual("type")) {
31840 node.exportKind = "type";
31841 var declarationNode = this.startNode();
31842 this.next();
31843
31844 if (this.match(types$1.braceL)) {
31845 node.specifiers = this.parseExportSpecifiers();
31846 this.parseExportFrom(node);
31847 return null;
31848 } else {
31849 return this.flowParseTypeAlias(declarationNode);
31850 }
31851 } else if (this.isContextual("opaque")) {
31852 node.exportKind = "type";
31853
31854 var _declarationNode = this.startNode();
31855
31856 this.next();
31857 return this.flowParseOpaqueType(_declarationNode, false);
31858 } else if (this.isContextual("interface")) {
31859 node.exportKind = "type";
31860
31861 var _declarationNode2 = this.startNode();
31862
31863 this.next();
31864 return this.flowParseInterface(_declarationNode2);
31865 } else if (this.shouldParseEnums() && this.isContextual("enum")) {
31866 node.exportKind = "value";
31867
31868 var _declarationNode3 = this.startNode();
31869
31870 this.next();
31871 return this.flowParseEnumDeclaration(_declarationNode3);
31872 } else {
31873 return _superClass.prototype.parseExportDeclaration.call(this, node);
31874 }
31875 };
31876
31877 _proto.eatExportStar = function eatExportStar(node) {
31878 if (_superClass.prototype.eatExportStar.apply(this, arguments)) return true;
31879
31880 if (this.isContextual("type") && this.lookahead().type === types$1.star) {
31881 node.exportKind = "type";
31882 this.next();
31883 this.next();
31884 return true;
31885 }
31886
31887 return false;
31888 };
31889
31890 _proto.maybeParseExportNamespaceSpecifier = function maybeParseExportNamespaceSpecifier(node) {
31891 var pos = this.state.start;
31892
31893 var hasNamespace = _superClass.prototype.maybeParseExportNamespaceSpecifier.call(this, node);
31894
31895 if (hasNamespace && node.exportKind === "type") {
31896 this.unexpected(pos);
31897 }
31898
31899 return hasNamespace;
31900 };
31901
31902 _proto.parseClassId = function parseClassId(node, isStatement, optionalId) {
31903 _superClass.prototype.parseClassId.call(this, node, isStatement, optionalId);
31904
31905 if (this.isRelational("<")) {
31906 node.typeParameters = this.flowParseTypeParameterDeclaration();
31907 }
31908 };
31909
31910 _proto.parseClassMember = function parseClassMember(classBody, member, state) {
31911 var pos = this.state.start;
31912
31913 if (this.isContextual("declare")) {
31914 if (this.parseClassMemberFromModifier(classBody, member)) {
31915 return;
31916 }
31917
31918 member.declare = true;
31919 }
31920
31921 _superClass.prototype.parseClassMember.call(this, classBody, member, state);
31922
31923 if (member.declare) {
31924 if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") {
31925 this.raise(pos, FlowErrors.DeclareClassElement);
31926 } else if (member.value) {
31927 this.raise(member.value.start, FlowErrors.DeclareClassFieldInitializer);
31928 }
31929 }
31930 };
31931
31932 _proto.isIterator = function isIterator(word) {
31933 return word === "iterator" || word === "asyncIterator";
31934 };
31935
31936 _proto.readIterator = function readIterator() {
31937 var word = _superClass.prototype.readWord1.call(this);
31938
31939 var fullWord = "@@" + word;
31940
31941 if (!this.isIterator(word) || !this.state.inType) {
31942 this.raise(this.state.pos, ErrorMessages.InvalidIdentifier, fullWord);
31943 }
31944
31945 this.finishToken(types$1.name, fullWord);
31946 };
31947
31948 _proto.getTokenFromCode = function getTokenFromCode(code) {
31949 var next = this.input.charCodeAt(this.state.pos + 1);
31950
31951 if (code === 123 && next === 124) {
31952 return this.finishOp(types$1.braceBarL, 2);
31953 } else if (this.state.inType && (code === 62 || code === 60)) {
31954 return this.finishOp(types$1.relational, 1);
31955 } else if (this.state.inType && code === 63) {
31956 if (next === 46) {
31957 return this.finishOp(types$1.questionDot, 2);
31958 }
31959
31960 return this.finishOp(types$1.question, 1);
31961 } else if (isIteratorStart(code, next)) {
31962 this.state.pos += 2;
31963 return this.readIterator();
31964 } else {
31965 return _superClass.prototype.getTokenFromCode.call(this, code);
31966 }
31967 };
31968
31969 _proto.isAssignable = function isAssignable(node, isBinding) {
31970 var _this7 = this;
31971
31972 switch (node.type) {
31973 case "Identifier":
31974 case "ObjectPattern":
31975 case "ArrayPattern":
31976 case "AssignmentPattern":
31977 return true;
31978
31979 case "ObjectExpression":
31980 {
31981 var last = node.properties.length - 1;
31982 return node.properties.every(function (prop, i) {
31983 return prop.type !== "ObjectMethod" && (i === last || prop.type === "SpreadElement") && _this7.isAssignable(prop);
31984 });
31985 }
31986
31987 case "ObjectProperty":
31988 return this.isAssignable(node.value);
31989
31990 case "SpreadElement":
31991 return this.isAssignable(node.argument);
31992
31993 case "ArrayExpression":
31994 return node.elements.every(function (element) {
31995 return _this7.isAssignable(element);
31996 });
31997
31998 case "AssignmentExpression":
31999 return node.operator === "=";
32000
32001 case "ParenthesizedExpression":
32002 case "TypeCastExpression":
32003 return this.isAssignable(node.expression);
32004
32005 case "MemberExpression":
32006 case "OptionalMemberExpression":
32007 return !isBinding;
32008
32009 default:
32010 return false;
32011 }
32012 };
32013
32014 _proto.toAssignable = function toAssignable(node, isLHS) {
32015 if (isLHS === void 0) {
32016 isLHS = false;
32017 }
32018
32019 if (node.type === "TypeCastExpression") {
32020 return _superClass.prototype.toAssignable.call(this, this.typeCastToParameter(node), isLHS);
32021 } else {
32022 return _superClass.prototype.toAssignable.call(this, node, isLHS);
32023 }
32024 };
32025
32026 _proto.toAssignableList = function toAssignableList(exprList, trailingCommaPos, isLHS) {
32027 for (var i = 0; i < exprList.length; i++) {
32028 var expr = exprList[i];
32029
32030 if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") {
32031 exprList[i] = this.typeCastToParameter(expr);
32032 }
32033 }
32034
32035 return _superClass.prototype.toAssignableList.call(this, exprList, trailingCommaPos, isLHS);
32036 };
32037
32038 _proto.toReferencedList = function toReferencedList(exprList, isParenthesizedExpr) {
32039 for (var i = 0; i < exprList.length; i++) {
32040 var _expr$extra;
32041
32042 var expr = exprList[i];
32043
32044 if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) {
32045 this.raise(expr.typeAnnotation.start, FlowErrors.TypeCastInPattern);
32046 }
32047 }
32048
32049 return exprList;
32050 };
32051
32052 _proto.parseArrayLike = function parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {
32053 var node = _superClass.prototype.parseArrayLike.call(this, close, canBePattern, isTuple, refExpressionErrors);
32054
32055 if (canBePattern && !this.state.maybeInArrowParameters) {
32056 this.toReferencedList(node.elements);
32057 }
32058
32059 return node;
32060 };
32061
32062 _proto.checkLVal = function checkLVal(expr) {
32063 if (expr.type !== "TypeCastExpression") {
32064 var _superClass$prototype;
32065
32066 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
32067 args[_key2 - 1] = arguments[_key2];
32068 }
32069
32070 return (_superClass$prototype = _superClass.prototype.checkLVal).call.apply(_superClass$prototype, [this, expr].concat(args));
32071 }
32072 };
32073
32074 _proto.parseClassProperty = function parseClassProperty(node) {
32075 if (this.match(types$1.colon)) {
32076 node.typeAnnotation = this.flowParseTypeAnnotation();
32077 }
32078
32079 return _superClass.prototype.parseClassProperty.call(this, node);
32080 };
32081
32082 _proto.parseClassPrivateProperty = function parseClassPrivateProperty(node) {
32083 if (this.match(types$1.colon)) {
32084 node.typeAnnotation = this.flowParseTypeAnnotation();
32085 }
32086
32087 return _superClass.prototype.parseClassPrivateProperty.call(this, node);
32088 };
32089
32090 _proto.isClassMethod = function isClassMethod() {
32091 return this.isRelational("<") || _superClass.prototype.isClassMethod.call(this);
32092 };
32093
32094 _proto.isClassProperty = function isClassProperty() {
32095 return this.match(types$1.colon) || _superClass.prototype.isClassProperty.call(this);
32096 };
32097
32098 _proto.isNonstaticConstructor = function isNonstaticConstructor(method) {
32099 return !this.match(types$1.colon) && _superClass.prototype.isNonstaticConstructor.call(this, method);
32100 };
32101
32102 _proto.pushClassMethod = function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
32103 if (method.variance) {
32104 this.unexpected(method.variance.start);
32105 }
32106
32107 delete method.variance;
32108
32109 if (this.isRelational("<")) {
32110 method.typeParameters = this.flowParseTypeParameterDeclaration();
32111 }
32112
32113 _superClass.prototype.pushClassMethod.call(this, classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);
32114
32115 if (method.params && isConstructor) {
32116 var params = method.params;
32117
32118 if (params.length > 0 && this.isThisParam(params[0])) {
32119 this.raise(method.start, FlowErrors.ThisParamBannedInConstructor);
32120 }
32121 } else if (method.type === "MethodDefinition" && isConstructor && method.value.params) {
32122 var _params = method.value.params;
32123
32124 if (_params.length > 0 && this.isThisParam(_params[0])) {
32125 this.raise(method.start, FlowErrors.ThisParamBannedInConstructor);
32126 }
32127 }
32128 };
32129
32130 _proto.pushClassPrivateMethod = function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {
32131 if (method.variance) {
32132 this.unexpected(method.variance.start);
32133 }
32134
32135 delete method.variance;
32136
32137 if (this.isRelational("<")) {
32138 method.typeParameters = this.flowParseTypeParameterDeclaration();
32139 }
32140
32141 _superClass.prototype.pushClassPrivateMethod.call(this, classBody, method, isGenerator, isAsync);
32142 };
32143
32144 _proto.parseClassSuper = function parseClassSuper(node) {
32145 _superClass.prototype.parseClassSuper.call(this, node);
32146
32147 if (node.superClass && this.isRelational("<")) {
32148 node.superTypeParameters = this.flowParseTypeParameterInstantiation();
32149 }
32150
32151 if (this.isContextual("implements")) {
32152 this.next();
32153 var implemented = node["implements"] = [];
32154
32155 do {
32156 var _node3 = this.startNode();
32157
32158 _node3.id = this.flowParseRestrictedIdentifier(true);
32159
32160 if (this.isRelational("<")) {
32161 _node3.typeParameters = this.flowParseTypeParameterInstantiation();
32162 } else {
32163 _node3.typeParameters = null;
32164 }
32165
32166 implemented.push(this.finishNode(_node3, "ClassImplements"));
32167 } while (this.eat(types$1.comma));
32168 }
32169 };
32170
32171 _proto.checkGetterSetterParams = function checkGetterSetterParams(method) {
32172 _superClass.prototype.checkGetterSetterParams.call(this, method);
32173
32174 var params = this.getObjectOrClassMethodParams(method);
32175
32176 if (params.length > 0) {
32177 var param = params[0];
32178
32179 if (this.isThisParam(param) && method.kind === "get") {
32180 this.raise(param.start, FlowErrors.GetterMayNotHaveThisParam);
32181 } else if (this.isThisParam(param)) {
32182 this.raise(param.start, FlowErrors.SetterMayNotHaveThisParam);
32183 }
32184 }
32185 };
32186
32187 _proto.parsePropertyName = function parsePropertyName(node, isPrivateNameAllowed) {
32188 var variance = this.flowParseVariance();
32189
32190 var key = _superClass.prototype.parsePropertyName.call(this, node, isPrivateNameAllowed);
32191
32192 node.variance = variance;
32193 return key;
32194 };
32195
32196 _proto.parseObjPropValue = function parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {
32197 if (prop.variance) {
32198 this.unexpected(prop.variance.start);
32199 }
32200
32201 delete prop.variance;
32202 var typeParameters;
32203
32204 if (this.isRelational("<") && !isAccessor) {
32205 typeParameters = this.flowParseTypeParameterDeclaration();
32206 if (!this.match(types$1.parenL)) this.unexpected();
32207 }
32208
32209 _superClass.prototype.parseObjPropValue.call(this, prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors);
32210
32211 if (typeParameters) {
32212 (prop.value || prop).typeParameters = typeParameters;
32213 }
32214 };
32215
32216 _proto.parseAssignableListItemTypes = function parseAssignableListItemTypes(param) {
32217 if (this.eat(types$1.question)) {
32218 if (param.type !== "Identifier") {
32219 this.raise(param.start, FlowErrors.OptionalBindingPattern);
32220 }
32221
32222 if (this.isThisParam(param)) {
32223 this.raise(param.start, FlowErrors.ThisParamMayNotBeOptional);
32224 }
32225
32226 param.optional = true;
32227 }
32228
32229 if (this.match(types$1.colon)) {
32230 param.typeAnnotation = this.flowParseTypeAnnotation();
32231 } else if (this.isThisParam(param)) {
32232 this.raise(param.start, FlowErrors.ThisParamAnnotationRequired);
32233 }
32234
32235 if (this.match(types$1.eq) && this.isThisParam(param)) {
32236 this.raise(param.start, FlowErrors.ThisParamNoDefault);
32237 }
32238
32239 this.resetEndLocation(param);
32240 return param;
32241 };
32242
32243 _proto.parseMaybeDefault = function parseMaybeDefault(startPos, startLoc, left) {
32244 var node = _superClass.prototype.parseMaybeDefault.call(this, startPos, startLoc, left);
32245
32246 if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {
32247 this.raise(node.typeAnnotation.start, FlowErrors.TypeBeforeInitializer);
32248 }
32249
32250 return node;
32251 };
32252
32253 _proto.shouldParseDefaultImport = function shouldParseDefaultImport(node) {
32254 if (!hasTypeImportKind(node)) {
32255 return _superClass.prototype.shouldParseDefaultImport.call(this, node);
32256 }
32257
32258 return isMaybeDefaultImport(this.state);
32259 };
32260
32261 _proto.parseImportSpecifierLocal = function parseImportSpecifierLocal(node, specifier, type, contextDescription) {
32262 specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier();
32263 this.checkLVal(specifier.local, contextDescription, BIND_LEXICAL);
32264 node.specifiers.push(this.finishNode(specifier, type));
32265 };
32266
32267 _proto.maybeParseDefaultImportSpecifier = function maybeParseDefaultImportSpecifier(node) {
32268 node.importKind = "value";
32269 var kind = null;
32270
32271 if (this.match(types$1._typeof)) {
32272 kind = "typeof";
32273 } else if (this.isContextual("type")) {
32274 kind = "type";
32275 }
32276
32277 if (kind) {
32278 var lh = this.lookahead();
32279
32280 if (kind === "type" && lh.type === types$1.star) {
32281 this.unexpected(lh.start);
32282 }
32283
32284 if (isMaybeDefaultImport(lh) || lh.type === types$1.braceL || lh.type === types$1.star) {
32285 this.next();
32286 node.importKind = kind;
32287 }
32288 }
32289
32290 return _superClass.prototype.maybeParseDefaultImportSpecifier.call(this, node);
32291 };
32292
32293 _proto.parseImportSpecifier = function parseImportSpecifier(node) {
32294 var specifier = this.startNode();
32295 var firstIdentIsString = this.match(types$1.string);
32296 var firstIdent = this.parseModuleExportName();
32297 var specifierTypeKind = null;
32298
32299 if (firstIdent.type === "Identifier") {
32300 if (firstIdent.name === "type") {
32301 specifierTypeKind = "type";
32302 } else if (firstIdent.name === "typeof") {
32303 specifierTypeKind = "typeof";
32304 }
32305 }
32306
32307 var isBinding = false;
32308
32309 if (this.isContextual("as") && !this.isLookaheadContextual("as")) {
32310 var as_ident = this.parseIdentifier(true);
32311
32312 if (specifierTypeKind !== null && !this.match(types$1.name) && !this.state.type.keyword) {
32313 specifier.imported = as_ident;
32314 specifier.importKind = specifierTypeKind;
32315 specifier.local = as_ident.__clone();
32316 } else {
32317 specifier.imported = firstIdent;
32318 specifier.importKind = null;
32319 specifier.local = this.parseIdentifier();
32320 }
32321 } else if (specifierTypeKind !== null && (this.match(types$1.name) || this.state.type.keyword)) {
32322 specifier.imported = this.parseIdentifier(true);
32323 specifier.importKind = specifierTypeKind;
32324
32325 if (this.eatContextual("as")) {
32326 specifier.local = this.parseIdentifier();
32327 } else {
32328 isBinding = true;
32329 specifier.local = specifier.imported.__clone();
32330 }
32331 } else {
32332 if (firstIdentIsString) {
32333 throw this.raise(specifier.start, ErrorMessages.ImportBindingIsString, firstIdent.value);
32334 }
32335
32336 isBinding = true;
32337 specifier.imported = firstIdent;
32338 specifier.importKind = null;
32339 specifier.local = specifier.imported.__clone();
32340 }
32341
32342 var nodeIsTypeImport = hasTypeImportKind(node);
32343 var specifierIsTypeImport = hasTypeImportKind(specifier);
32344
32345 if (nodeIsTypeImport && specifierIsTypeImport) {
32346 this.raise(specifier.start, FlowErrors.ImportTypeShorthandOnlyInPureImport);
32347 }
32348
32349 if (nodeIsTypeImport || specifierIsTypeImport) {
32350 this.checkReservedType(specifier.local.name, specifier.local.start, true);
32351 }
32352
32353 if (isBinding && !nodeIsTypeImport && !specifierIsTypeImport) {
32354 this.checkReservedWord(specifier.local.name, specifier.start, true, true);
32355 }
32356
32357 this.checkLVal(specifier.local, "import specifier", BIND_LEXICAL);
32358 node.specifiers.push(this.finishNode(specifier, "ImportSpecifier"));
32359 };
32360
32361 _proto.parseBindingAtom = function parseBindingAtom() {
32362 switch (this.state.type) {
32363 case types$1._this:
32364 return this.parseIdentifier(true);
32365
32366 default:
32367 return _superClass.prototype.parseBindingAtom.call(this);
32368 }
32369 };
32370
32371 _proto.parseFunctionParams = function parseFunctionParams(node, allowModifiers) {
32372 var kind = node.kind;
32373
32374 if (kind !== "get" && kind !== "set" && this.isRelational("<")) {
32375 node.typeParameters = this.flowParseTypeParameterDeclaration();
32376 }
32377
32378 _superClass.prototype.parseFunctionParams.call(this, node, allowModifiers);
32379 };
32380
32381 _proto.parseVarId = function parseVarId(decl, kind) {
32382 _superClass.prototype.parseVarId.call(this, decl, kind);
32383
32384 if (this.match(types$1.colon)) {
32385 decl.id.typeAnnotation = this.flowParseTypeAnnotation();
32386 this.resetEndLocation(decl.id);
32387 }
32388 };
32389
32390 _proto.parseAsyncArrowFromCallExpression = function parseAsyncArrowFromCallExpression(node, call) {
32391 if (this.match(types$1.colon)) {
32392 var oldNoAnonFunctionType = this.state.noAnonFunctionType;
32393 this.state.noAnonFunctionType = true;
32394 node.returnType = this.flowParseTypeAnnotation();
32395 this.state.noAnonFunctionType = oldNoAnonFunctionType;
32396 }
32397
32398 return _superClass.prototype.parseAsyncArrowFromCallExpression.call(this, node, call);
32399 };
32400
32401 _proto.shouldParseAsyncArrow = function shouldParseAsyncArrow() {
32402 return this.match(types$1.colon) || _superClass.prototype.shouldParseAsyncArrow.call(this);
32403 };
32404
32405 _proto.parseMaybeAssign = function parseMaybeAssign(refExpressionErrors, afterLeftParse) {
32406 var _this8 = this,
32407 _jsx;
32408
32409 var state = null;
32410 var jsx;
32411
32412 if (this.hasPlugin("jsx") && (this.match(types$1.jsxTagStart) || this.isRelational("<"))) {
32413 state = this.state.clone();
32414 jsx = this.tryParse(function () {
32415 return _superClass.prototype.parseMaybeAssign.call(_this8, refExpressionErrors, afterLeftParse);
32416 }, state);
32417 if (!jsx.error) return jsx.node;
32418 var context = this.state.context;
32419 var curContext = context[context.length - 1];
32420
32421 if (curContext === types.j_oTag) {
32422 context.length -= 2;
32423 } else if (curContext === types.j_expr) {
32424 context.length -= 1;
32425 }
32426 }
32427
32428 if ((_jsx = jsx) != null && _jsx.error || this.isRelational("<")) {
32429 var _jsx2, _jsx3;
32430
32431 state = state || this.state.clone();
32432 var typeParameters;
32433 var arrow = this.tryParse(function (abort) {
32434 var _arrowExpression$extr;
32435
32436 typeParameters = _this8.flowParseTypeParameterDeclaration();
32437
32438 var arrowExpression = _this8.forwardNoArrowParamsConversionAt(typeParameters, function () {
32439 var result = _superClass.prototype.parseMaybeAssign.call(_this8, refExpressionErrors, afterLeftParse);
32440
32441 _this8.resetStartLocationFromNode(result, typeParameters);
32442
32443 return result;
32444 });
32445
32446 if (arrowExpression.type !== "ArrowFunctionExpression" && (_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) {
32447 abort();
32448 }
32449
32450 var expr = _this8.maybeUnwrapTypeCastExpression(arrowExpression);
32451
32452 expr.typeParameters = typeParameters;
32453
32454 _this8.resetStartLocationFromNode(expr, typeParameters);
32455
32456 return arrowExpression;
32457 }, state);
32458 var arrowExpression = null;
32459
32460 if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") {
32461 if (!arrow.error && !arrow.aborted) {
32462 if (arrow.node.async) {
32463 this.raise(typeParameters.start, FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction);
32464 }
32465
32466 return arrow.node;
32467 }
32468
32469 arrowExpression = arrow.node;
32470 }
32471
32472 if ((_jsx2 = jsx) != null && _jsx2.node) {
32473 this.state = jsx.failState;
32474 return jsx.node;
32475 }
32476
32477 if (arrowExpression) {
32478 this.state = arrow.failState;
32479 return arrowExpression;
32480 }
32481
32482 if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error;
32483 if (arrow.thrown) throw arrow.error;
32484 throw this.raise(typeParameters.start, FlowErrors.UnexpectedTokenAfterTypeParameter);
32485 }
32486
32487 return _superClass.prototype.parseMaybeAssign.call(this, refExpressionErrors, afterLeftParse);
32488 };
32489
32490 _proto.parseArrow = function parseArrow(node) {
32491 var _this9 = this;
32492
32493 if (this.match(types$1.colon)) {
32494 var result = this.tryParse(function () {
32495 var oldNoAnonFunctionType = _this9.state.noAnonFunctionType;
32496 _this9.state.noAnonFunctionType = true;
32497
32498 var typeNode = _this9.startNode();
32499
32500 var _this9$flowParseTypeA = _this9.flowParseTypeAndPredicateInitialiser();
32501
32502 typeNode.typeAnnotation = _this9$flowParseTypeA[0];
32503 node.predicate = _this9$flowParseTypeA[1];
32504 _this9.state.noAnonFunctionType = oldNoAnonFunctionType;
32505 if (_this9.canInsertSemicolon()) _this9.unexpected();
32506 if (!_this9.match(types$1.arrow)) _this9.unexpected();
32507 return typeNode;
32508 });
32509 if (result.thrown) return null;
32510 if (result.error) this.state = result.failState;
32511 node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null;
32512 }
32513
32514 return _superClass.prototype.parseArrow.call(this, node);
32515 };
32516
32517 _proto.shouldParseArrow = function shouldParseArrow() {
32518 return this.match(types$1.colon) || _superClass.prototype.shouldParseArrow.call(this);
32519 };
32520
32521 _proto.setArrowFunctionParameters = function setArrowFunctionParameters(node, params) {
32522 if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {
32523 node.params = params;
32524 } else {
32525 _superClass.prototype.setArrowFunctionParameters.call(this, node, params);
32526 }
32527 };
32528
32529 _proto.checkParams = function checkParams(node, allowDuplicates, isArrowFunction) {
32530 if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {
32531 return;
32532 }
32533
32534 for (var i = 0; i < node.params.length; i++) {
32535 if (this.isThisParam(node.params[i]) && i > 0) {
32536 this.raise(node.params[i].start, FlowErrors.ThisParamMustBeFirst);
32537 }
32538 }
32539
32540 return _superClass.prototype.checkParams.apply(this, arguments);
32541 };
32542
32543 _proto.parseParenAndDistinguishExpression = function parseParenAndDistinguishExpression(canBeArrow) {
32544 return _superClass.prototype.parseParenAndDistinguishExpression.call(this, canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1);
32545 };
32546
32547 _proto.parseSubscripts = function parseSubscripts(base, startPos, startLoc, noCalls) {
32548 var _this10 = this;
32549
32550 if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startPos) !== -1) {
32551 this.next();
32552 var node = this.startNodeAt(startPos, startLoc);
32553 node.callee = base;
32554 node.arguments = this.parseCallExpressionArguments(types$1.parenR, false);
32555 base = this.finishNode(node, "CallExpression");
32556 } else if (base.type === "Identifier" && base.name === "async" && this.isRelational("<")) {
32557 var state = this.state.clone();
32558 var arrow = this.tryParse(function (abort) {
32559 return _this10.parseAsyncArrowWithTypeParameters(startPos, startLoc) || abort();
32560 }, state);
32561 if (!arrow.error && !arrow.aborted) return arrow.node;
32562 var result = this.tryParse(function () {
32563 return _superClass.prototype.parseSubscripts.call(_this10, base, startPos, startLoc, noCalls);
32564 }, state);
32565 if (result.node && !result.error) return result.node;
32566
32567 if (arrow.node) {
32568 this.state = arrow.failState;
32569 return arrow.node;
32570 }
32571
32572 if (result.node) {
32573 this.state = result.failState;
32574 return result.node;
32575 }
32576
32577 throw arrow.error || result.error;
32578 }
32579
32580 return _superClass.prototype.parseSubscripts.call(this, base, startPos, startLoc, noCalls);
32581 };
32582
32583 _proto.parseSubscript = function parseSubscript(base, startPos, startLoc, noCalls, subscriptState) {
32584 var _this11 = this;
32585
32586 if (this.match(types$1.questionDot) && this.isLookaheadToken_lt()) {
32587 subscriptState.optionalChainMember = true;
32588
32589 if (noCalls) {
32590 subscriptState.stop = true;
32591 return base;
32592 }
32593
32594 this.next();
32595 var node = this.startNodeAt(startPos, startLoc);
32596 node.callee = base;
32597 node.typeArguments = this.flowParseTypeParameterInstantiation();
32598 this.expect(types$1.parenL);
32599 node.arguments = this.parseCallExpressionArguments(types$1.parenR, false);
32600 node.optional = true;
32601 return this.finishCallExpression(node, true);
32602 } else if (!noCalls && this.shouldParseTypes() && this.isRelational("<")) {
32603 var _node4 = this.startNodeAt(startPos, startLoc);
32604
32605 _node4.callee = base;
32606 var result = this.tryParse(function () {
32607 _node4.typeArguments = _this11.flowParseTypeParameterInstantiationCallOrNew();
32608
32609 _this11.expect(types$1.parenL);
32610
32611 _node4.arguments = _this11.parseCallExpressionArguments(types$1.parenR, false);
32612 if (subscriptState.optionalChainMember) _node4.optional = false;
32613 return _this11.finishCallExpression(_node4, subscriptState.optionalChainMember);
32614 });
32615
32616 if (result.node) {
32617 if (result.error) this.state = result.failState;
32618 return result.node;
32619 }
32620 }
32621
32622 return _superClass.prototype.parseSubscript.call(this, base, startPos, startLoc, noCalls, subscriptState);
32623 };
32624
32625 _proto.parseNewArguments = function parseNewArguments(node) {
32626 var _this12 = this;
32627
32628 var targs = null;
32629
32630 if (this.shouldParseTypes() && this.isRelational("<")) {
32631 targs = this.tryParse(function () {
32632 return _this12.flowParseTypeParameterInstantiationCallOrNew();
32633 }).node;
32634 }
32635
32636 node.typeArguments = targs;
32637
32638 _superClass.prototype.parseNewArguments.call(this, node);
32639 };
32640
32641 _proto.parseAsyncArrowWithTypeParameters = function parseAsyncArrowWithTypeParameters(startPos, startLoc) {
32642 var node = this.startNodeAt(startPos, startLoc);
32643 this.parseFunctionParams(node);
32644 if (!this.parseArrow(node)) return;
32645 return this.parseArrowExpression(node, undefined, true);
32646 };
32647
32648 _proto.readToken_mult_modulo = function readToken_mult_modulo(code) {
32649 var next = this.input.charCodeAt(this.state.pos + 1);
32650
32651 if (code === 42 && next === 47 && this.state.hasFlowComment) {
32652 this.state.hasFlowComment = false;
32653 this.state.pos += 2;
32654 this.nextToken();
32655 return;
32656 }
32657
32658 _superClass.prototype.readToken_mult_modulo.call(this, code);
32659 };
32660
32661 _proto.readToken_pipe_amp = function readToken_pipe_amp(code) {
32662 var next = this.input.charCodeAt(this.state.pos + 1);
32663
32664 if (code === 124 && next === 125) {
32665 this.finishOp(types$1.braceBarR, 2);
32666 return;
32667 }
32668
32669 _superClass.prototype.readToken_pipe_amp.call(this, code);
32670 };
32671
32672 _proto.parseTopLevel = function parseTopLevel(file, program) {
32673 var fileNode = _superClass.prototype.parseTopLevel.call(this, file, program);
32674
32675 if (this.state.hasFlowComment) {
32676 this.raise(this.state.pos, FlowErrors.UnterminatedFlowComment);
32677 }
32678
32679 return fileNode;
32680 };
32681
32682 _proto.skipBlockComment = function skipBlockComment() {
32683 if (this.hasPlugin("flowComments") && this.skipFlowComment()) {
32684 if (this.state.hasFlowComment) {
32685 this.unexpected(null, FlowErrors.NestedFlowComment);
32686 }
32687
32688 this.hasFlowCommentCompletion();
32689 this.state.pos += this.skipFlowComment();
32690 this.state.hasFlowComment = true;
32691 return;
32692 }
32693
32694 if (this.state.hasFlowComment) {
32695 var end = this.input.indexOf("*-/", this.state.pos += 2);
32696
32697 if (end === -1) {
32698 throw this.raise(this.state.pos - 2, ErrorMessages.UnterminatedComment);
32699 }
32700
32701 this.state.pos = end + 3;
32702 return;
32703 }
32704
32705 return _superClass.prototype.skipBlockComment.call(this);
32706 };
32707
32708 _proto.skipFlowComment = function skipFlowComment() {
32709 var pos = this.state.pos;
32710 var shiftToFirstNonWhiteSpace = 2;
32711
32712 while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) {
32713 shiftToFirstNonWhiteSpace++;
32714 }
32715
32716 var ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos);
32717 var ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1);
32718
32719 if (ch2 === 58 && ch3 === 58) {
32720 return shiftToFirstNonWhiteSpace + 2;
32721 }
32722
32723 if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") {
32724 return shiftToFirstNonWhiteSpace + 12;
32725 }
32726
32727 if (ch2 === 58 && ch3 !== 58) {
32728 return shiftToFirstNonWhiteSpace;
32729 }
32730
32731 return false;
32732 };
32733
32734 _proto.hasFlowCommentCompletion = function hasFlowCommentCompletion() {
32735 var end = this.input.indexOf("*/", this.state.pos);
32736
32737 if (end === -1) {
32738 throw this.raise(this.state.pos, ErrorMessages.UnterminatedComment);
32739 }
32740 };
32741
32742 _proto.flowEnumErrorBooleanMemberNotInitialized = function flowEnumErrorBooleanMemberNotInitialized(pos, _ref2) {
32743 var enumName = _ref2.enumName,
32744 memberName = _ref2.memberName;
32745 this.raise(pos, FlowErrors.EnumBooleanMemberNotInitialized, memberName, enumName);
32746 };
32747
32748 _proto.flowEnumErrorInvalidMemberName = function flowEnumErrorInvalidMemberName(pos, _ref3) {
32749 var enumName = _ref3.enumName,
32750 memberName = _ref3.memberName;
32751 var suggestion = memberName[0].toUpperCase() + memberName.slice(1);
32752 this.raise(pos, FlowErrors.EnumInvalidMemberName, memberName, suggestion, enumName);
32753 };
32754
32755 _proto.flowEnumErrorDuplicateMemberName = function flowEnumErrorDuplicateMemberName(pos, _ref4) {
32756 var enumName = _ref4.enumName,
32757 memberName = _ref4.memberName;
32758 this.raise(pos, FlowErrors.EnumDuplicateMemberName, memberName, enumName);
32759 };
32760
32761 _proto.flowEnumErrorInconsistentMemberValues = function flowEnumErrorInconsistentMemberValues(pos, _ref5) {
32762 var enumName = _ref5.enumName;
32763 this.raise(pos, FlowErrors.EnumInconsistentMemberValues, enumName);
32764 };
32765
32766 _proto.flowEnumErrorInvalidExplicitType = function flowEnumErrorInvalidExplicitType(pos, _ref6) {
32767 var enumName = _ref6.enumName,
32768 suppliedType = _ref6.suppliedType;
32769 return this.raise(pos, suppliedType === null ? FlowErrors.EnumInvalidExplicitTypeUnknownSupplied : FlowErrors.EnumInvalidExplicitType, enumName, suppliedType);
32770 };
32771
32772 _proto.flowEnumErrorInvalidMemberInitializer = function flowEnumErrorInvalidMemberInitializer(pos, _ref7) {
32773 var enumName = _ref7.enumName,
32774 explicitType = _ref7.explicitType,
32775 memberName = _ref7.memberName;
32776 var message = null;
32777
32778 switch (explicitType) {
32779 case "boolean":
32780 case "number":
32781 case "string":
32782 message = FlowErrors.EnumInvalidMemberInitializerPrimaryType;
32783 break;
32784
32785 case "symbol":
32786 message = FlowErrors.EnumInvalidMemberInitializerSymbolType;
32787 break;
32788
32789 default:
32790 message = FlowErrors.EnumInvalidMemberInitializerUnknownType;
32791 }
32792
32793 return this.raise(pos, message, enumName, memberName, explicitType);
32794 };
32795
32796 _proto.flowEnumErrorNumberMemberNotInitialized = function flowEnumErrorNumberMemberNotInitialized(pos, _ref8) {
32797 var enumName = _ref8.enumName,
32798 memberName = _ref8.memberName;
32799 this.raise(pos, FlowErrors.EnumNumberMemberNotInitialized, enumName, memberName);
32800 };
32801
32802 _proto.flowEnumErrorStringMemberInconsistentlyInitailized = function flowEnumErrorStringMemberInconsistentlyInitailized(pos, _ref9) {
32803 var enumName = _ref9.enumName;
32804 this.raise(pos, FlowErrors.EnumStringMemberInconsistentlyInitailized, enumName);
32805 };
32806
32807 _proto.flowEnumMemberInit = function flowEnumMemberInit() {
32808 var _this13 = this;
32809
32810 var startPos = this.state.start;
32811
32812 var endOfInit = function endOfInit() {
32813 return _this13.match(types$1.comma) || _this13.match(types$1.braceR);
32814 };
32815
32816 switch (this.state.type) {
32817 case types$1.num:
32818 {
32819 var literal = this.parseNumericLiteral(this.state.value);
32820
32821 if (endOfInit()) {
32822 return {
32823 type: "number",
32824 pos: literal.start,
32825 value: literal
32826 };
32827 }
32828
32829 return {
32830 type: "invalid",
32831 pos: startPos
32832 };
32833 }
32834
32835 case types$1.string:
32836 {
32837 var _literal = this.parseStringLiteral(this.state.value);
32838
32839 if (endOfInit()) {
32840 return {
32841 type: "string",
32842 pos: _literal.start,
32843 value: _literal
32844 };
32845 }
32846
32847 return {
32848 type: "invalid",
32849 pos: startPos
32850 };
32851 }
32852
32853 case types$1._true:
32854 case types$1._false:
32855 {
32856 var _literal2 = this.parseBooleanLiteral(this.match(types$1._true));
32857
32858 if (endOfInit()) {
32859 return {
32860 type: "boolean",
32861 pos: _literal2.start,
32862 value: _literal2
32863 };
32864 }
32865
32866 return {
32867 type: "invalid",
32868 pos: startPos
32869 };
32870 }
32871
32872 default:
32873 return {
32874 type: "invalid",
32875 pos: startPos
32876 };
32877 }
32878 };
32879
32880 _proto.flowEnumMemberRaw = function flowEnumMemberRaw() {
32881 var pos = this.state.start;
32882 var id = this.parseIdentifier(true);
32883 var init = this.eat(types$1.eq) ? this.flowEnumMemberInit() : {
32884 type: "none",
32885 pos: pos
32886 };
32887 return {
32888 id: id,
32889 init: init
32890 };
32891 };
32892
32893 _proto.flowEnumCheckExplicitTypeMismatch = function flowEnumCheckExplicitTypeMismatch(pos, context, expectedType) {
32894 var explicitType = context.explicitType;
32895
32896 if (explicitType === null) {
32897 return;
32898 }
32899
32900 if (explicitType !== expectedType) {
32901 this.flowEnumErrorInvalidMemberInitializer(pos, context);
32902 }
32903 };
32904
32905 _proto.flowEnumMembers = function flowEnumMembers(_ref10) {
32906 var enumName = _ref10.enumName,
32907 explicitType = _ref10.explicitType;
32908 var seenNames = new Set();
32909 var members = {
32910 booleanMembers: [],
32911 numberMembers: [],
32912 stringMembers: [],
32913 defaultedMembers: []
32914 };
32915 var hasUnknownMembers = false;
32916
32917 while (!this.match(types$1.braceR)) {
32918 if (this.eat(types$1.ellipsis)) {
32919 hasUnknownMembers = true;
32920 break;
32921 }
32922
32923 var memberNode = this.startNode();
32924
32925 var _this$flowEnumMemberR = this.flowEnumMemberRaw(),
32926 id = _this$flowEnumMemberR.id,
32927 init = _this$flowEnumMemberR.init;
32928
32929 var memberName = id.name;
32930
32931 if (memberName === "") {
32932 continue;
32933 }
32934
32935 if (/^[a-z]/.test(memberName)) {
32936 this.flowEnumErrorInvalidMemberName(id.start, {
32937 enumName: enumName,
32938 memberName: memberName
32939 });
32940 }
32941
32942 if (seenNames.has(memberName)) {
32943 this.flowEnumErrorDuplicateMemberName(id.start, {
32944 enumName: enumName,
32945 memberName: memberName
32946 });
32947 }
32948
32949 seenNames.add(memberName);
32950 var context = {
32951 enumName: enumName,
32952 explicitType: explicitType,
32953 memberName: memberName
32954 };
32955 memberNode.id = id;
32956
32957 switch (init.type) {
32958 case "boolean":
32959 {
32960 this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "boolean");
32961 memberNode.init = init.value;
32962 members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember"));
32963 break;
32964 }
32965
32966 case "number":
32967 {
32968 this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "number");
32969 memberNode.init = init.value;
32970 members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember"));
32971 break;
32972 }
32973
32974 case "string":
32975 {
32976 this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "string");
32977 memberNode.init = init.value;
32978 members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember"));
32979 break;
32980 }
32981
32982 case "invalid":
32983 {
32984 throw this.flowEnumErrorInvalidMemberInitializer(init.pos, context);
32985 }
32986
32987 case "none":
32988 {
32989 switch (explicitType) {
32990 case "boolean":
32991 this.flowEnumErrorBooleanMemberNotInitialized(init.pos, context);
32992 break;
32993
32994 case "number":
32995 this.flowEnumErrorNumberMemberNotInitialized(init.pos, context);
32996 break;
32997
32998 default:
32999 members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember"));
33000 }
33001 }
33002 }
33003
33004 if (!this.match(types$1.braceR)) {
33005 this.expect(types$1.comma);
33006 }
33007 }
33008
33009 return {
33010 members: members,
33011 hasUnknownMembers: hasUnknownMembers
33012 };
33013 };
33014
33015 _proto.flowEnumStringMembers = function flowEnumStringMembers(initializedMembers, defaultedMembers, _ref11) {
33016 var enumName = _ref11.enumName;
33017
33018 if (initializedMembers.length === 0) {
33019 return defaultedMembers;
33020 } else if (defaultedMembers.length === 0) {
33021 return initializedMembers;
33022 } else if (defaultedMembers.length > initializedMembers.length) {
33023 for (var _i2 = 0; _i2 < initializedMembers.length; _i2++) {
33024 var member = initializedMembers[_i2];
33025 this.flowEnumErrorStringMemberInconsistentlyInitailized(member.start, {
33026 enumName: enumName
33027 });
33028 }
33029
33030 return defaultedMembers;
33031 } else {
33032 for (var _i4 = 0; _i4 < defaultedMembers.length; _i4++) {
33033 var _member = defaultedMembers[_i4];
33034 this.flowEnumErrorStringMemberInconsistentlyInitailized(_member.start, {
33035 enumName: enumName
33036 });
33037 }
33038
33039 return initializedMembers;
33040 }
33041 };
33042
33043 _proto.flowEnumParseExplicitType = function flowEnumParseExplicitType(_ref12) {
33044 var enumName = _ref12.enumName;
33045
33046 if (this.eatContextual("of")) {
33047 if (!this.match(types$1.name)) {
33048 throw this.flowEnumErrorInvalidExplicitType(this.state.start, {
33049 enumName: enumName,
33050 suppliedType: null
33051 });
33052 }
33053
33054 var value = this.state.value;
33055 this.next();
33056
33057 if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") {
33058 this.flowEnumErrorInvalidExplicitType(this.state.start, {
33059 enumName: enumName,
33060 suppliedType: value
33061 });
33062 }
33063
33064 return value;
33065 }
33066
33067 return null;
33068 };
33069
33070 _proto.flowEnumBody = function flowEnumBody(node, _ref13) {
33071 var _this14 = this;
33072
33073 var enumName = _ref13.enumName,
33074 nameLoc = _ref13.nameLoc;
33075 var explicitType = this.flowEnumParseExplicitType({
33076 enumName: enumName
33077 });
33078 this.expect(types$1.braceL);
33079
33080 var _this$flowEnumMembers = this.flowEnumMembers({
33081 enumName: enumName,
33082 explicitType: explicitType
33083 }),
33084 members = _this$flowEnumMembers.members,
33085 hasUnknownMembers = _this$flowEnumMembers.hasUnknownMembers;
33086
33087 node.hasUnknownMembers = hasUnknownMembers;
33088
33089 switch (explicitType) {
33090 case "boolean":
33091 node.explicitType = true;
33092 node.members = members.booleanMembers;
33093 this.expect(types$1.braceR);
33094 return this.finishNode(node, "EnumBooleanBody");
33095
33096 case "number":
33097 node.explicitType = true;
33098 node.members = members.numberMembers;
33099 this.expect(types$1.braceR);
33100 return this.finishNode(node, "EnumNumberBody");
33101
33102 case "string":
33103 node.explicitType = true;
33104 node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {
33105 enumName: enumName
33106 });
33107 this.expect(types$1.braceR);
33108 return this.finishNode(node, "EnumStringBody");
33109
33110 case "symbol":
33111 node.members = members.defaultedMembers;
33112 this.expect(types$1.braceR);
33113 return this.finishNode(node, "EnumSymbolBody");
33114
33115 default:
33116 {
33117 var empty = function empty() {
33118 node.members = [];
33119
33120 _this14.expect(types$1.braceR);
33121
33122 return _this14.finishNode(node, "EnumStringBody");
33123 };
33124
33125 node.explicitType = false;
33126 var boolsLen = members.booleanMembers.length;
33127 var numsLen = members.numberMembers.length;
33128 var strsLen = members.stringMembers.length;
33129 var defaultedLen = members.defaultedMembers.length;
33130
33131 if (!boolsLen && !numsLen && !strsLen && !defaultedLen) {
33132 return empty();
33133 } else if (!boolsLen && !numsLen) {
33134 node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {
33135 enumName: enumName
33136 });
33137 this.expect(types$1.braceR);
33138 return this.finishNode(node, "EnumStringBody");
33139 } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) {
33140 for (var _i6 = 0, _members$defaultedMem2 = members.defaultedMembers; _i6 < _members$defaultedMem2.length; _i6++) {
33141 var member = _members$defaultedMem2[_i6];
33142 this.flowEnumErrorBooleanMemberNotInitialized(member.start, {
33143 enumName: enumName,
33144 memberName: member.id.name
33145 });
33146 }
33147
33148 node.members = members.booleanMembers;
33149 this.expect(types$1.braceR);
33150 return this.finishNode(node, "EnumBooleanBody");
33151 } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) {
33152 for (var _i8 = 0, _members$defaultedMem4 = members.defaultedMembers; _i8 < _members$defaultedMem4.length; _i8++) {
33153 var _member2 = _members$defaultedMem4[_i8];
33154 this.flowEnumErrorNumberMemberNotInitialized(_member2.start, {
33155 enumName: enumName,
33156 memberName: _member2.id.name
33157 });
33158 }
33159
33160 node.members = members.numberMembers;
33161 this.expect(types$1.braceR);
33162 return this.finishNode(node, "EnumNumberBody");
33163 } else {
33164 this.flowEnumErrorInconsistentMemberValues(nameLoc, {
33165 enumName: enumName
33166 });
33167 return empty();
33168 }
33169 }
33170 }
33171 };
33172
33173 _proto.flowParseEnumDeclaration = function flowParseEnumDeclaration(node) {
33174 var id = this.parseIdentifier();
33175 node.id = id;
33176 node.body = this.flowEnumBody(this.startNode(), {
33177 enumName: id.name,
33178 nameLoc: id.start
33179 });
33180 return this.finishNode(node, "EnumDeclaration");
33181 };
33182
33183 _proto.isLookaheadToken_lt = function isLookaheadToken_lt() {
33184 var next = this.nextTokenStart();
33185
33186 if (this.input.charCodeAt(next) === 60) {
33187 var afterNext = this.input.charCodeAt(next + 1);
33188 return afterNext !== 60 && afterNext !== 61;
33189 }
33190
33191 return false;
33192 };
33193
33194 _proto.maybeUnwrapTypeCastExpression = function maybeUnwrapTypeCastExpression(node) {
33195 return node.type === "TypeCastExpression" ? node.expression : node;
33196 };
33197
33198 return _class2;
33199 }(superClass);
33200 });
33201
33202 var entities = {
33203 quot: "\"",
33204 amp: "&",
33205 apos: "'",
33206 lt: "<",
33207 gt: ">",
33208 nbsp: "\xA0",
33209 iexcl: "\xA1",
33210 cent: "\xA2",
33211 pound: "\xA3",
33212 curren: "\xA4",
33213 yen: "\xA5",
33214 brvbar: "\xA6",
33215 sect: "\xA7",
33216 uml: "\xA8",
33217 copy: "\xA9",
33218 ordf: "\xAA",
33219 laquo: "\xAB",
33220 not: "\xAC",
33221 shy: "\xAD",
33222 reg: "\xAE",
33223 macr: "\xAF",
33224 deg: "\xB0",
33225 plusmn: "\xB1",
33226 sup2: "\xB2",
33227 sup3: "\xB3",
33228 acute: "\xB4",
33229 micro: "\xB5",
33230 para: "\xB6",
33231 middot: "\xB7",
33232 cedil: "\xB8",
33233 sup1: "\xB9",
33234 ordm: "\xBA",
33235 raquo: "\xBB",
33236 frac14: "\xBC",
33237 frac12: "\xBD",
33238 frac34: "\xBE",
33239 iquest: "\xBF",
33240 Agrave: "\xC0",
33241 Aacute: "\xC1",
33242 Acirc: "\xC2",
33243 Atilde: "\xC3",
33244 Auml: "\xC4",
33245 Aring: "\xC5",
33246 AElig: "\xC6",
33247 Ccedil: "\xC7",
33248 Egrave: "\xC8",
33249 Eacute: "\xC9",
33250 Ecirc: "\xCA",
33251 Euml: "\xCB",
33252 Igrave: "\xCC",
33253 Iacute: "\xCD",
33254 Icirc: "\xCE",
33255 Iuml: "\xCF",
33256 ETH: "\xD0",
33257 Ntilde: "\xD1",
33258 Ograve: "\xD2",
33259 Oacute: "\xD3",
33260 Ocirc: "\xD4",
33261 Otilde: "\xD5",
33262 Ouml: "\xD6",
33263 times: "\xD7",
33264 Oslash: "\xD8",
33265 Ugrave: "\xD9",
33266 Uacute: "\xDA",
33267 Ucirc: "\xDB",
33268 Uuml: "\xDC",
33269 Yacute: "\xDD",
33270 THORN: "\xDE",
33271 szlig: "\xDF",
33272 agrave: "\xE0",
33273 aacute: "\xE1",
33274 acirc: "\xE2",
33275 atilde: "\xE3",
33276 auml: "\xE4",
33277 aring: "\xE5",
33278 aelig: "\xE6",
33279 ccedil: "\xE7",
33280 egrave: "\xE8",
33281 eacute: "\xE9",
33282 ecirc: "\xEA",
33283 euml: "\xEB",
33284 igrave: "\xEC",
33285 iacute: "\xED",
33286 icirc: "\xEE",
33287 iuml: "\xEF",
33288 eth: "\xF0",
33289 ntilde: "\xF1",
33290 ograve: "\xF2",
33291 oacute: "\xF3",
33292 ocirc: "\xF4",
33293 otilde: "\xF5",
33294 ouml: "\xF6",
33295 divide: "\xF7",
33296 oslash: "\xF8",
33297 ugrave: "\xF9",
33298 uacute: "\xFA",
33299 ucirc: "\xFB",
33300 uuml: "\xFC",
33301 yacute: "\xFD",
33302 thorn: "\xFE",
33303 yuml: "\xFF",
33304 OElig: "\u0152",
33305 oelig: "\u0153",
33306 Scaron: "\u0160",
33307 scaron: "\u0161",
33308 Yuml: "\u0178",
33309 fnof: "\u0192",
33310 circ: "\u02C6",
33311 tilde: "\u02DC",
33312 Alpha: "\u0391",
33313 Beta: "\u0392",
33314 Gamma: "\u0393",
33315 Delta: "\u0394",
33316 Epsilon: "\u0395",
33317 Zeta: "\u0396",
33318 Eta: "\u0397",
33319 Theta: "\u0398",
33320 Iota: "\u0399",
33321 Kappa: "\u039A",
33322 Lambda: "\u039B",
33323 Mu: "\u039C",
33324 Nu: "\u039D",
33325 Xi: "\u039E",
33326 Omicron: "\u039F",
33327 Pi: "\u03A0",
33328 Rho: "\u03A1",
33329 Sigma: "\u03A3",
33330 Tau: "\u03A4",
33331 Upsilon: "\u03A5",
33332 Phi: "\u03A6",
33333 Chi: "\u03A7",
33334 Psi: "\u03A8",
33335 Omega: "\u03A9",
33336 alpha: "\u03B1",
33337 beta: "\u03B2",
33338 gamma: "\u03B3",
33339 delta: "\u03B4",
33340 epsilon: "\u03B5",
33341 zeta: "\u03B6",
33342 eta: "\u03B7",
33343 theta: "\u03B8",
33344 iota: "\u03B9",
33345 kappa: "\u03BA",
33346 lambda: "\u03BB",
33347 mu: "\u03BC",
33348 nu: "\u03BD",
33349 xi: "\u03BE",
33350 omicron: "\u03BF",
33351 pi: "\u03C0",
33352 rho: "\u03C1",
33353 sigmaf: "\u03C2",
33354 sigma: "\u03C3",
33355 tau: "\u03C4",
33356 upsilon: "\u03C5",
33357 phi: "\u03C6",
33358 chi: "\u03C7",
33359 psi: "\u03C8",
33360 omega: "\u03C9",
33361 thetasym: "\u03D1",
33362 upsih: "\u03D2",
33363 piv: "\u03D6",
33364 ensp: "\u2002",
33365 emsp: "\u2003",
33366 thinsp: "\u2009",
33367 zwnj: "\u200C",
33368 zwj: "\u200D",
33369 lrm: "\u200E",
33370 rlm: "\u200F",
33371 ndash: "\u2013",
33372 mdash: "\u2014",
33373 lsquo: "\u2018",
33374 rsquo: "\u2019",
33375 sbquo: "\u201A",
33376 ldquo: "\u201C",
33377 rdquo: "\u201D",
33378 bdquo: "\u201E",
33379 dagger: "\u2020",
33380 Dagger: "\u2021",
33381 bull: "\u2022",
33382 hellip: "\u2026",
33383 permil: "\u2030",
33384 prime: "\u2032",
33385 Prime: "\u2033",
33386 lsaquo: "\u2039",
33387 rsaquo: "\u203A",
33388 oline: "\u203E",
33389 frasl: "\u2044",
33390 euro: "\u20AC",
33391 image: "\u2111",
33392 weierp: "\u2118",
33393 real: "\u211C",
33394 trade: "\u2122",
33395 alefsym: "\u2135",
33396 larr: "\u2190",
33397 uarr: "\u2191",
33398 rarr: "\u2192",
33399 darr: "\u2193",
33400 harr: "\u2194",
33401 crarr: "\u21B5",
33402 lArr: "\u21D0",
33403 uArr: "\u21D1",
33404 rArr: "\u21D2",
33405 dArr: "\u21D3",
33406 hArr: "\u21D4",
33407 forall: "\u2200",
33408 part: "\u2202",
33409 exist: "\u2203",
33410 empty: "\u2205",
33411 nabla: "\u2207",
33412 isin: "\u2208",
33413 notin: "\u2209",
33414 ni: "\u220B",
33415 prod: "\u220F",
33416 sum: "\u2211",
33417 minus: "\u2212",
33418 lowast: "\u2217",
33419 radic: "\u221A",
33420 prop: "\u221D",
33421 infin: "\u221E",
33422 ang: "\u2220",
33423 and: "\u2227",
33424 or: "\u2228",
33425 cap: "\u2229",
33426 cup: "\u222A",
33427 "int": "\u222B",
33428 there4: "\u2234",
33429 sim: "\u223C",
33430 cong: "\u2245",
33431 asymp: "\u2248",
33432 ne: "\u2260",
33433 equiv: "\u2261",
33434 le: "\u2264",
33435 ge: "\u2265",
33436 sub: "\u2282",
33437 sup: "\u2283",
33438 nsub: "\u2284",
33439 sube: "\u2286",
33440 supe: "\u2287",
33441 oplus: "\u2295",
33442 otimes: "\u2297",
33443 perp: "\u22A5",
33444 sdot: "\u22C5",
33445 lceil: "\u2308",
33446 rceil: "\u2309",
33447 lfloor: "\u230A",
33448 rfloor: "\u230B",
33449 lang: "\u2329",
33450 rang: "\u232A",
33451 loz: "\u25CA",
33452 spades: "\u2660",
33453 clubs: "\u2663",
33454 hearts: "\u2665",
33455 diams: "\u2666"
33456 };
33457
33458 var State = function () {
33459 function State() {
33460 this.strict = void 0;
33461 this.curLine = void 0;
33462 this.startLoc = void 0;
33463 this.endLoc = void 0;
33464 this.errors = [];
33465 this.potentialArrowAt = -1;
33466 this.noArrowAt = [];
33467 this.noArrowParamsConversionAt = [];
33468 this.maybeInArrowParameters = false;
33469 this.inPipeline = false;
33470 this.inType = false;
33471 this.noAnonFunctionType = false;
33472 this.inPropertyName = false;
33473 this.hasFlowComment = false;
33474 this.isAmbientContext = false;
33475 this.inAbstractClass = false;
33476 this.topicContext = {
33477 maxNumOfResolvableTopics: 0,
33478 maxTopicIndex: null
33479 };
33480 this.soloAwait = false;
33481 this.inFSharpPipelineDirectBody = false;
33482 this.labels = [];
33483 this.decoratorStack = [[]];
33484 this.comments = [];
33485 this.commentStack = [];
33486 this.pos = 0;
33487 this.lineStart = 0;
33488 this.type = types$1.eof;
33489 this.value = null;
33490 this.start = 0;
33491 this.end = 0;
33492 this.lastTokEndLoc = null;
33493 this.lastTokStartLoc = null;
33494 this.lastTokStart = 0;
33495 this.lastTokEnd = 0;
33496 this.context = [types.brace];
33497 this.exprAllowed = true;
33498 this.containsEsc = false;
33499 this.strictErrors = new Map();
33500 this.tokensLength = 0;
33501 }
33502
33503 var _proto = State.prototype;
33504
33505 _proto.init = function init(options) {
33506 this.strict = options.strictMode === false ? false : options.strictMode === true ? true : options.sourceType === "module";
33507 this.curLine = options.startLine;
33508 this.startLoc = this.endLoc = this.curPosition();
33509 };
33510
33511 _proto.curPosition = function curPosition() {
33512 return new Position(this.curLine, this.pos - this.lineStart);
33513 };
33514
33515 _proto.clone = function clone(skipArrays) {
33516 var state = new State();
33517 var keys = Object.keys(this);
33518
33519 for (var i = 0, length = keys.length; i < length; i++) {
33520 var key = keys[i];
33521 var val = this[key];
33522
33523 if (!skipArrays && Array.isArray(val)) {
33524 val = val.slice();
33525 }
33526
33527 state[key] = val;
33528 }
33529
33530 return state;
33531 };
33532
33533 return State;
33534 }();
33535
33536 var HEX_NUMBER = /^[\da-fA-F]+$/;
33537 var DECIMAL_NUMBER = /^\d+$/;
33538 var JsxErrors = makeErrorTemplates({
33539 AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.",
33540 MissingClosingTagElement: "Expected corresponding JSX closing tag for <%0>.",
33541 MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.",
33542 UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",
33543 UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.",
33544 UnterminatedJsxContent: "Unterminated JSX contents.",
33545 UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"
33546 }, ErrorCodes.SyntaxError);
33547 types.j_oTag = new TokContext("<tag");
33548 types.j_cTag = new TokContext("</tag");
33549 types.j_expr = new TokContext("<tag>...</tag>", true);
33550 types$1.jsxName = new TokenType("jsxName");
33551 types$1.jsxText = new TokenType("jsxText", {
33552 beforeExpr: true
33553 });
33554 types$1.jsxTagStart = new TokenType("jsxTagStart", {
33555 startsExpr: true
33556 });
33557 types$1.jsxTagEnd = new TokenType("jsxTagEnd");
33558
33559 types$1.jsxTagStart.updateContext = function (context) {
33560 context.push(types.j_expr, types.j_oTag);
33561 };
33562
33563 function isFragment(object) {
33564 return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false;
33565 }
33566
33567 function getQualifiedJSXName(object) {
33568 if (object.type === "JSXIdentifier") {
33569 return object.name;
33570 }
33571
33572 if (object.type === "JSXNamespacedName") {
33573 return object.namespace.name + ":" + object.name.name;
33574 }
33575
33576 if (object.type === "JSXMemberExpression") {
33577 return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property);
33578 }
33579
33580 throw new Error("Node had unexpected type: " + object.type);
33581 }
33582
33583 var jsx$1 = (function (superClass) {
33584 return function (_superClass) {
33585 _inherits(_class, _superClass);
33586
33587 function _class() {
33588 return _superClass.apply(this, arguments) || this;
33589 }
33590
33591 var _proto = _class.prototype;
33592
33593 _proto.jsxReadToken = function jsxReadToken() {
33594 var out = "";
33595 var chunkStart = this.state.pos;
33596
33597 for (;;) {
33598 if (this.state.pos >= this.length) {
33599 throw this.raise(this.state.start, JsxErrors.UnterminatedJsxContent);
33600 }
33601
33602 var ch = this.input.charCodeAt(this.state.pos);
33603
33604 switch (ch) {
33605 case 60:
33606 case 123:
33607 if (this.state.pos === this.state.start) {
33608 if (ch === 60 && this.state.exprAllowed) {
33609 ++this.state.pos;
33610 return this.finishToken(types$1.jsxTagStart);
33611 }
33612
33613 return _superClass.prototype.getTokenFromCode.call(this, ch);
33614 }
33615
33616 out += this.input.slice(chunkStart, this.state.pos);
33617 return this.finishToken(types$1.jsxText, out);
33618
33619 case 38:
33620 out += this.input.slice(chunkStart, this.state.pos);
33621 out += this.jsxReadEntity();
33622 chunkStart = this.state.pos;
33623 break;
33624
33625 case 62:
33626 case 125:
33627
33628 default:
33629 if (isNewLine(ch)) {
33630 out += this.input.slice(chunkStart, this.state.pos);
33631 out += this.jsxReadNewLine(true);
33632 chunkStart = this.state.pos;
33633 } else {
33634 ++this.state.pos;
33635 }
33636
33637 }
33638 }
33639 };
33640
33641 _proto.jsxReadNewLine = function jsxReadNewLine(normalizeCRLF) {
33642 var ch = this.input.charCodeAt(this.state.pos);
33643 var out;
33644 ++this.state.pos;
33645
33646 if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) {
33647 ++this.state.pos;
33648 out = normalizeCRLF ? "\n" : "\r\n";
33649 } else {
33650 out = String.fromCharCode(ch);
33651 }
33652
33653 ++this.state.curLine;
33654 this.state.lineStart = this.state.pos;
33655 return out;
33656 };
33657
33658 _proto.jsxReadString = function jsxReadString(quote) {
33659 var out = "";
33660 var chunkStart = ++this.state.pos;
33661
33662 for (;;) {
33663 if (this.state.pos >= this.length) {
33664 throw this.raise(this.state.start, ErrorMessages.UnterminatedString);
33665 }
33666
33667 var ch = this.input.charCodeAt(this.state.pos);
33668 if (ch === quote) break;
33669
33670 if (ch === 38) {
33671 out += this.input.slice(chunkStart, this.state.pos);
33672 out += this.jsxReadEntity();
33673 chunkStart = this.state.pos;
33674 } else if (isNewLine(ch)) {
33675 out += this.input.slice(chunkStart, this.state.pos);
33676 out += this.jsxReadNewLine(false);
33677 chunkStart = this.state.pos;
33678 } else {
33679 ++this.state.pos;
33680 }
33681 }
33682
33683 out += this.input.slice(chunkStart, this.state.pos++);
33684 return this.finishToken(types$1.string, out);
33685 };
33686
33687 _proto.jsxReadEntity = function jsxReadEntity() {
33688 var str = "";
33689 var count = 0;
33690 var entity;
33691 var ch = this.input[this.state.pos];
33692 var startPos = ++this.state.pos;
33693
33694 while (this.state.pos < this.length && count++ < 10) {
33695 ch = this.input[this.state.pos++];
33696
33697 if (ch === ";") {
33698 if (str[0] === "#") {
33699 if (str[1] === "x") {
33700 str = str.substr(2);
33701
33702 if (HEX_NUMBER.test(str)) {
33703 entity = String.fromCodePoint(parseInt(str, 16));
33704 }
33705 } else {
33706 str = str.substr(1);
33707
33708 if (DECIMAL_NUMBER.test(str)) {
33709 entity = String.fromCodePoint(parseInt(str, 10));
33710 }
33711 }
33712 } else {
33713 entity = entities[str];
33714 }
33715
33716 break;
33717 }
33718
33719 str += ch;
33720 }
33721
33722 if (!entity) {
33723 this.state.pos = startPos;
33724 return "&";
33725 }
33726
33727 return entity;
33728 };
33729
33730 _proto.jsxReadWord = function jsxReadWord() {
33731 var ch;
33732 var start = this.state.pos;
33733
33734 do {
33735 ch = this.input.charCodeAt(++this.state.pos);
33736 } while (isIdentifierChar(ch) || ch === 45);
33737
33738 return this.finishToken(types$1.jsxName, this.input.slice(start, this.state.pos));
33739 };
33740
33741 _proto.jsxParseIdentifier = function jsxParseIdentifier() {
33742 var node = this.startNode();
33743
33744 if (this.match(types$1.jsxName)) {
33745 node.name = this.state.value;
33746 } else if (this.state.type.keyword) {
33747 node.name = this.state.type.keyword;
33748 } else {
33749 this.unexpected();
33750 }
33751
33752 this.next();
33753 return this.finishNode(node, "JSXIdentifier");
33754 };
33755
33756 _proto.jsxParseNamespacedName = function jsxParseNamespacedName() {
33757 var startPos = this.state.start;
33758 var startLoc = this.state.startLoc;
33759 var name = this.jsxParseIdentifier();
33760 if (!this.eat(types$1.colon)) return name;
33761 var node = this.startNodeAt(startPos, startLoc);
33762 node.namespace = name;
33763 node.name = this.jsxParseIdentifier();
33764 return this.finishNode(node, "JSXNamespacedName");
33765 };
33766
33767 _proto.jsxParseElementName = function jsxParseElementName() {
33768 var startPos = this.state.start;
33769 var startLoc = this.state.startLoc;
33770 var node = this.jsxParseNamespacedName();
33771
33772 if (node.type === "JSXNamespacedName") {
33773 return node;
33774 }
33775
33776 while (this.eat(types$1.dot)) {
33777 var newNode = this.startNodeAt(startPos, startLoc);
33778 newNode.object = node;
33779 newNode.property = this.jsxParseIdentifier();
33780 node = this.finishNode(newNode, "JSXMemberExpression");
33781 }
33782
33783 return node;
33784 };
33785
33786 _proto.jsxParseAttributeValue = function jsxParseAttributeValue() {
33787 var node;
33788
33789 switch (this.state.type) {
33790 case types$1.braceL:
33791 node = this.startNode();
33792 this.next();
33793 node = this.jsxParseExpressionContainer(node);
33794
33795 if (node.expression.type === "JSXEmptyExpression") {
33796 this.raise(node.start, JsxErrors.AttributeIsEmpty);
33797 }
33798
33799 return node;
33800
33801 case types$1.jsxTagStart:
33802 case types$1.string:
33803 return this.parseExprAtom();
33804
33805 default:
33806 throw this.raise(this.state.start, JsxErrors.UnsupportedJsxValue);
33807 }
33808 };
33809
33810 _proto.jsxParseEmptyExpression = function jsxParseEmptyExpression() {
33811 var node = this.startNodeAt(this.state.lastTokEnd, this.state.lastTokEndLoc);
33812 return this.finishNodeAt(node, "JSXEmptyExpression", this.state.start, this.state.startLoc);
33813 };
33814
33815 _proto.jsxParseSpreadChild = function jsxParseSpreadChild(node) {
33816 this.next();
33817 node.expression = this.parseExpression();
33818 this.expect(types$1.braceR);
33819 return this.finishNode(node, "JSXSpreadChild");
33820 };
33821
33822 _proto.jsxParseExpressionContainer = function jsxParseExpressionContainer(node) {
33823 if (this.match(types$1.braceR)) {
33824 node.expression = this.jsxParseEmptyExpression();
33825 } else {
33826 var expression = this.parseExpression();
33827 node.expression = expression;
33828 }
33829
33830 this.expect(types$1.braceR);
33831 return this.finishNode(node, "JSXExpressionContainer");
33832 };
33833
33834 _proto.jsxParseAttribute = function jsxParseAttribute() {
33835 var node = this.startNode();
33836
33837 if (this.eat(types$1.braceL)) {
33838 this.expect(types$1.ellipsis);
33839 node.argument = this.parseMaybeAssignAllowIn();
33840 this.expect(types$1.braceR);
33841 return this.finishNode(node, "JSXSpreadAttribute");
33842 }
33843
33844 node.name = this.jsxParseNamespacedName();
33845 node.value = this.eat(types$1.eq) ? this.jsxParseAttributeValue() : null;
33846 return this.finishNode(node, "JSXAttribute");
33847 };
33848
33849 _proto.jsxParseOpeningElementAt = function jsxParseOpeningElementAt(startPos, startLoc) {
33850 var node = this.startNodeAt(startPos, startLoc);
33851
33852 if (this.match(types$1.jsxTagEnd)) {
33853 this.expect(types$1.jsxTagEnd);
33854 return this.finishNode(node, "JSXOpeningFragment");
33855 }
33856
33857 node.name = this.jsxParseElementName();
33858 return this.jsxParseOpeningElementAfterName(node);
33859 };
33860
33861 _proto.jsxParseOpeningElementAfterName = function jsxParseOpeningElementAfterName(node) {
33862 var attributes = [];
33863
33864 while (!this.match(types$1.slash) && !this.match(types$1.jsxTagEnd)) {
33865 attributes.push(this.jsxParseAttribute());
33866 }
33867
33868 node.attributes = attributes;
33869 node.selfClosing = this.eat(types$1.slash);
33870 this.expect(types$1.jsxTagEnd);
33871 return this.finishNode(node, "JSXOpeningElement");
33872 };
33873
33874 _proto.jsxParseClosingElementAt = function jsxParseClosingElementAt(startPos, startLoc) {
33875 var node = this.startNodeAt(startPos, startLoc);
33876
33877 if (this.match(types$1.jsxTagEnd)) {
33878 this.expect(types$1.jsxTagEnd);
33879 return this.finishNode(node, "JSXClosingFragment");
33880 }
33881
33882 node.name = this.jsxParseElementName();
33883 this.expect(types$1.jsxTagEnd);
33884 return this.finishNode(node, "JSXClosingElement");
33885 };
33886
33887 _proto.jsxParseElementAt = function jsxParseElementAt(startPos, startLoc) {
33888 var node = this.startNodeAt(startPos, startLoc);
33889 var children = [];
33890 var openingElement = this.jsxParseOpeningElementAt(startPos, startLoc);
33891 var closingElement = null;
33892
33893 if (!openingElement.selfClosing) {
33894 contents: for (;;) {
33895 switch (this.state.type) {
33896 case types$1.jsxTagStart:
33897 startPos = this.state.start;
33898 startLoc = this.state.startLoc;
33899 this.next();
33900
33901 if (this.eat(types$1.slash)) {
33902 closingElement = this.jsxParseClosingElementAt(startPos, startLoc);
33903 break contents;
33904 }
33905
33906 children.push(this.jsxParseElementAt(startPos, startLoc));
33907 break;
33908
33909 case types$1.jsxText:
33910 children.push(this.parseExprAtom());
33911 break;
33912
33913 case types$1.braceL:
33914 {
33915 var _node = this.startNode();
33916
33917 this.next();
33918
33919 if (this.match(types$1.ellipsis)) {
33920 children.push(this.jsxParseSpreadChild(_node));
33921 } else {
33922 children.push(this.jsxParseExpressionContainer(_node));
33923 }
33924
33925 break;
33926 }
33927
33928 default:
33929 throw this.unexpected();
33930 }
33931 }
33932
33933 if (isFragment(openingElement) && !isFragment(closingElement)) {
33934 this.raise(closingElement.start, JsxErrors.MissingClosingTagFragment);
33935 } else if (!isFragment(openingElement) && isFragment(closingElement)) {
33936 this.raise(closingElement.start, JsxErrors.MissingClosingTagElement, getQualifiedJSXName(openingElement.name));
33937 } else if (!isFragment(openingElement) && !isFragment(closingElement)) {
33938 if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) {
33939 this.raise(closingElement.start, JsxErrors.MissingClosingTagElement, getQualifiedJSXName(openingElement.name));
33940 }
33941 }
33942 }
33943
33944 if (isFragment(openingElement)) {
33945 node.openingFragment = openingElement;
33946 node.closingFragment = closingElement;
33947 } else {
33948 node.openingElement = openingElement;
33949 node.closingElement = closingElement;
33950 }
33951
33952 node.children = children;
33953
33954 if (this.isRelational("<")) {
33955 throw this.raise(this.state.start, JsxErrors.UnwrappedAdjacentJSXElements);
33956 }
33957
33958 return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement");
33959 };
33960
33961 _proto.jsxParseElement = function jsxParseElement() {
33962 var startPos = this.state.start;
33963 var startLoc = this.state.startLoc;
33964 this.next();
33965 return this.jsxParseElementAt(startPos, startLoc);
33966 };
33967
33968 _proto.parseExprAtom = function parseExprAtom(refExpressionErrors) {
33969 if (this.match(types$1.jsxText)) {
33970 return this.parseLiteral(this.state.value, "JSXText");
33971 } else if (this.match(types$1.jsxTagStart)) {
33972 return this.jsxParseElement();
33973 } else if (this.isRelational("<") && this.input.charCodeAt(this.state.pos) !== 33) {
33974 this.finishToken(types$1.jsxTagStart);
33975 return this.jsxParseElement();
33976 } else {
33977 return _superClass.prototype.parseExprAtom.call(this, refExpressionErrors);
33978 }
33979 };
33980
33981 _proto.createLookaheadState = function createLookaheadState(state) {
33982 var lookaheadState = _superClass.prototype.createLookaheadState.call(this, state);
33983
33984 lookaheadState.inPropertyName = state.inPropertyName;
33985 return lookaheadState;
33986 };
33987
33988 _proto.getTokenFromCode = function getTokenFromCode(code) {
33989 if (this.state.inPropertyName) return _superClass.prototype.getTokenFromCode.call(this, code);
33990 var context = this.curContext();
33991
33992 if (context === types.j_expr) {
33993 return this.jsxReadToken();
33994 }
33995
33996 if (context === types.j_oTag || context === types.j_cTag) {
33997 if (isIdentifierStart(code)) {
33998 return this.jsxReadWord();
33999 }
34000
34001 if (code === 62) {
34002 ++this.state.pos;
34003 return this.finishToken(types$1.jsxTagEnd);
34004 }
34005
34006 if ((code === 34 || code === 39) && context === types.j_oTag) {
34007 return this.jsxReadString(code);
34008 }
34009 }
34010
34011 if (code === 60 && this.state.exprAllowed && this.input.charCodeAt(this.state.pos + 1) !== 33) {
34012 ++this.state.pos;
34013 return this.finishToken(types$1.jsxTagStart);
34014 }
34015
34016 return _superClass.prototype.getTokenFromCode.call(this, code);
34017 };
34018
34019 _proto.updateContext = function updateContext(prevType) {
34020 _superClass.prototype.updateContext.call(this, prevType);
34021
34022 var _this$state = this.state,
34023 context = _this$state.context,
34024 type = _this$state.type;
34025
34026 if (type === types$1.slash && prevType === types$1.jsxTagStart) {
34027 context.splice(-2, 2, types.j_cTag);
34028 this.state.exprAllowed = false;
34029 } else if (type === types$1.jsxTagEnd) {
34030 var out = context.pop();
34031
34032 if (out === types.j_oTag && prevType === types$1.slash || out === types.j_cTag) {
34033 context.pop();
34034 this.state.exprAllowed = context[context.length - 1] === types.j_expr;
34035 } else {
34036 this.state.exprAllowed = true;
34037 }
34038 } else if (type.keyword && (prevType === types$1.dot || prevType === types$1.questionDot)) {
34039 this.state.exprAllowed = false;
34040 } else {
34041 this.state.exprAllowed = type.beforeExpr;
34042 }
34043 };
34044
34045 return _class;
34046 }(superClass);
34047 });
34048
34049 var TypeScriptScope = function (_Scope) {
34050 _inherits(TypeScriptScope, _Scope);
34051
34052 function TypeScriptScope() {
34053 var _this;
34054
34055 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34056 args[_key] = arguments[_key];
34057 }
34058
34059 _this = _Scope.call.apply(_Scope, [this].concat(args)) || this;
34060 _this.types = new Set();
34061 _this.enums = new Set();
34062 _this.constEnums = new Set();
34063 _this.classes = new Set();
34064 _this.exportOnlyBindings = new Set();
34065 return _this;
34066 }
34067
34068 return TypeScriptScope;
34069 }(Scope);
34070
34071 var TypeScriptScopeHandler = function (_ScopeHandler) {
34072 _inherits(TypeScriptScopeHandler, _ScopeHandler);
34073
34074 function TypeScriptScopeHandler() {
34075 return _ScopeHandler.apply(this, arguments) || this;
34076 }
34077
34078 var _proto = TypeScriptScopeHandler.prototype;
34079
34080 _proto.createScope = function createScope(flags) {
34081 return new TypeScriptScope(flags);
34082 };
34083
34084 _proto.declareName = function declareName(name, bindingType, pos) {
34085 var scope = this.currentScope();
34086
34087 if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) {
34088 this.maybeExportDefined(scope, name);
34089 scope.exportOnlyBindings.add(name);
34090 return;
34091 }
34092
34093 _ScopeHandler.prototype.declareName.apply(this, arguments);
34094
34095 if (bindingType & BIND_KIND_TYPE) {
34096 if (!(bindingType & BIND_KIND_VALUE)) {
34097 this.checkRedeclarationInScope(scope, name, bindingType, pos);
34098 this.maybeExportDefined(scope, name);
34099 }
34100
34101 scope.types.add(name);
34102 }
34103
34104 if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.add(name);
34105 if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.add(name);
34106 if (bindingType & BIND_FLAGS_CLASS) scope.classes.add(name);
34107 };
34108
34109 _proto.isRedeclaredInScope = function isRedeclaredInScope(scope, name, bindingType) {
34110 if (scope.enums.has(name)) {
34111 if (bindingType & BIND_FLAGS_TS_ENUM) {
34112 var isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM);
34113 var wasConst = scope.constEnums.has(name);
34114 return isConst !== wasConst;
34115 }
34116
34117 return true;
34118 }
34119
34120 if (bindingType & BIND_FLAGS_CLASS && scope.classes.has(name)) {
34121 if (scope.lexical.has(name)) {
34122 return !!(bindingType & BIND_KIND_VALUE);
34123 } else {
34124 return false;
34125 }
34126 }
34127
34128 if (bindingType & BIND_KIND_TYPE && scope.types.has(name)) {
34129 return true;
34130 }
34131
34132 return _ScopeHandler.prototype.isRedeclaredInScope.apply(this, arguments);
34133 };
34134
34135 _proto.checkLocalExport = function checkLocalExport(id) {
34136 var topLevelScope = this.scopeStack[0];
34137 var name = id.name;
34138
34139 if (!topLevelScope.types.has(name) && !topLevelScope.exportOnlyBindings.has(name)) {
34140 _ScopeHandler.prototype.checkLocalExport.call(this, id);
34141 }
34142 };
34143
34144 return TypeScriptScopeHandler;
34145 }(ScopeHandler);
34146
34147 var PARAM = 0,
34148 PARAM_YIELD = 1,
34149 PARAM_AWAIT = 2,
34150 PARAM_RETURN = 4,
34151 PARAM_IN = 8;
34152
34153 var ProductionParameterHandler = function () {
34154 function ProductionParameterHandler() {
34155 this.stacks = [];
34156 }
34157
34158 var _proto = ProductionParameterHandler.prototype;
34159
34160 _proto.enter = function enter(flags) {
34161 this.stacks.push(flags);
34162 };
34163
34164 _proto.exit = function exit() {
34165 this.stacks.pop();
34166 };
34167
34168 _proto.currentFlags = function currentFlags() {
34169 return this.stacks[this.stacks.length - 1];
34170 };
34171
34172 _createClass(ProductionParameterHandler, [{
34173 key: "hasAwait",
34174 get: function get() {
34175 return (this.currentFlags() & PARAM_AWAIT) > 0;
34176 }
34177 }, {
34178 key: "hasYield",
34179 get: function get() {
34180 return (this.currentFlags() & PARAM_YIELD) > 0;
34181 }
34182 }, {
34183 key: "hasReturn",
34184 get: function get() {
34185 return (this.currentFlags() & PARAM_RETURN) > 0;
34186 }
34187 }, {
34188 key: "hasIn",
34189 get: function get() {
34190 return (this.currentFlags() & PARAM_IN) > 0;
34191 }
34192 }]);
34193
34194 return ProductionParameterHandler;
34195 }();
34196 function functionFlags(isAsync, isGenerator) {
34197 return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0);
34198 }
34199
34200 function nonNull(x) {
34201 if (x == null) {
34202 throw new Error("Unexpected " + x + " value.");
34203 }
34204
34205 return x;
34206 }
34207
34208 function assert(x) {
34209 if (!x) {
34210 throw new Error("Assert fail");
34211 }
34212 }
34213
34214 var TSErrors = makeErrorTemplates({
34215 AbstractMethodHasImplementation: "Method '%0' cannot have an implementation because it is marked abstract.",
34216 AccesorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
34217 AccesorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
34218 ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.",
34219 ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.",
34220 ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.",
34221 DeclareAccessor: "'declare' is not allowed in %0ters.",
34222 DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.",
34223 DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.",
34224 DuplicateAccessibilityModifier: "Accessibility modifier already seen.",
34225 DuplicateModifier: "Duplicate modifier: '%0'.",
34226 EmptyHeritageClauseType: "'%0' list cannot be empty.",
34227 EmptyTypeArguments: "Type argument list cannot be empty.",
34228 EmptyTypeParameters: "Type parameter list cannot be empty.",
34229 ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.",
34230 ImportAliasHasImportType: "An import alias can not use 'import type'.",
34231 IncompatibleModifiers: "'%0' modifier cannot be used with '%1' modifier.",
34232 IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.",
34233 IndexSignatureHasAccessibility: "Index signatures cannot have an accessibility modifier ('%0').",
34234 IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.",
34235 IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.",
34236 IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.",
34237 InvalidModifierOnTypeMember: "'%0' modifier cannot appear on a type member.",
34238 InvalidModifiersOrder: "'%0' modifier must precede '%1' modifier.",
34239 InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.",
34240 MixedLabeledAndUnlabeledElements: "Tuple members must all have names or all not have names.",
34241 NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.",
34242 NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.",
34243 OptionalTypeBeforeRequired: "A required element cannot follow an optional element.",
34244 OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.",
34245 PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.",
34246 PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.",
34247 PrivateElementHasAccessibility: "Private elements cannot have an accessibility modifier ('%0').",
34248 ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.",
34249 SetAccesorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
34250 SetAccesorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
34251 SetAccesorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
34252 StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.",
34253 TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",
34254 TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.",
34255 UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.",
34256 UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.",
34257 UnexpectedTypeAnnotation: "Did not expect a type annotation here.",
34258 UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.",
34259 UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.",
34260 UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.",
34261 UnsupportedSignatureParameterKind: "Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0."
34262 }, ErrorCodes.SyntaxError);
34263
34264 function keywordTypeFromName(value) {
34265 switch (value) {
34266 case "any":
34267 return "TSAnyKeyword";
34268
34269 case "boolean":
34270 return "TSBooleanKeyword";
34271
34272 case "bigint":
34273 return "TSBigIntKeyword";
34274
34275 case "never":
34276 return "TSNeverKeyword";
34277
34278 case "number":
34279 return "TSNumberKeyword";
34280
34281 case "object":
34282 return "TSObjectKeyword";
34283
34284 case "string":
34285 return "TSStringKeyword";
34286
34287 case "symbol":
34288 return "TSSymbolKeyword";
34289
34290 case "undefined":
34291 return "TSUndefinedKeyword";
34292
34293 case "unknown":
34294 return "TSUnknownKeyword";
34295
34296 default:
34297 return undefined;
34298 }
34299 }
34300
34301 function tsIsAccessModifier(modifier) {
34302 return modifier === "private" || modifier === "public" || modifier === "protected";
34303 }
34304
34305 var typescript = (function (superClass) {
34306 return function (_superClass) {
34307 _inherits(_class, _superClass);
34308
34309 function _class() {
34310 return _superClass.apply(this, arguments) || this;
34311 }
34312
34313 var _proto = _class.prototype;
34314
34315 _proto.getScopeHandler = function getScopeHandler() {
34316 return TypeScriptScopeHandler;
34317 };
34318
34319 _proto.tsIsIdentifier = function tsIsIdentifier() {
34320 return this.match(types$1.name);
34321 };
34322
34323 _proto.tsTokenCanFollowModifier = function tsTokenCanFollowModifier() {
34324 return (this.match(types$1.bracketL) || this.match(types$1.braceL) || this.match(types$1.star) || this.match(types$1.ellipsis) || this.match(types$1.privateName) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak();
34325 };
34326
34327 _proto.tsNextTokenCanFollowModifier = function tsNextTokenCanFollowModifier() {
34328 this.next();
34329 return this.tsTokenCanFollowModifier();
34330 };
34331
34332 _proto.tsParseModifier = function tsParseModifier(allowedModifiers) {
34333 if (!this.match(types$1.name)) {
34334 return undefined;
34335 }
34336
34337 var modifier = this.state.value;
34338
34339 if (allowedModifiers.indexOf(modifier) !== -1 && this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) {
34340 return modifier;
34341 }
34342
34343 return undefined;
34344 };
34345
34346 _proto.tsParseModifiers = function tsParseModifiers(modified, allowedModifiers, disallowedModifiers, errorTemplate) {
34347 var _this = this;
34348
34349 var enforceOrder = function enforceOrder(pos, modifier, before, after) {
34350 if (modifier === before && modified[after]) {
34351 _this.raise(pos, TSErrors.InvalidModifiersOrder, before, after);
34352 }
34353 };
34354
34355 var incompatible = function incompatible(pos, modifier, mod1, mod2) {
34356 if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) {
34357 _this.raise(pos, TSErrors.IncompatibleModifiers, mod1, mod2);
34358 }
34359 };
34360
34361 for (;;) {
34362 var startPos = this.state.start;
34363 var modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []));
34364 if (!modifier) break;
34365
34366 if (tsIsAccessModifier(modifier)) {
34367 if (modified.accessibility) {
34368 this.raise(startPos, TSErrors.DuplicateAccessibilityModifier);
34369 } else {
34370 enforceOrder(startPos, modifier, modifier, "override");
34371 enforceOrder(startPos, modifier, modifier, "static");
34372 enforceOrder(startPos, modifier, modifier, "readonly");
34373 modified.accessibility = modifier;
34374 }
34375 } else {
34376 if (Object.hasOwnProperty.call(modified, modifier)) {
34377 this.raise(startPos, TSErrors.DuplicateModifier, modifier);
34378 } else {
34379 enforceOrder(startPos, modifier, "static", "readonly");
34380 enforceOrder(startPos, modifier, "static", "override");
34381 enforceOrder(startPos, modifier, "override", "readonly");
34382 enforceOrder(startPos, modifier, "abstract", "override");
34383 incompatible(startPos, modifier, "declare", "override");
34384 incompatible(startPos, modifier, "static", "abstract");
34385 }
34386
34387 modified[modifier] = true;
34388 }
34389
34390 if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) {
34391 this.raise(startPos, errorTemplate, modifier);
34392 }
34393 }
34394 };
34395
34396 _proto.tsIsListTerminator = function tsIsListTerminator(kind) {
34397 switch (kind) {
34398 case "EnumMembers":
34399 case "TypeMembers":
34400 return this.match(types$1.braceR);
34401
34402 case "HeritageClauseElement":
34403 return this.match(types$1.braceL);
34404
34405 case "TupleElementTypes":
34406 return this.match(types$1.bracketR);
34407
34408 case "TypeParametersOrArguments":
34409 return this.isRelational(">");
34410 }
34411
34412 throw new Error("Unreachable");
34413 };
34414
34415 _proto.tsParseList = function tsParseList(kind, parseElement) {
34416 var result = [];
34417
34418 while (!this.tsIsListTerminator(kind)) {
34419 result.push(parseElement());
34420 }
34421
34422 return result;
34423 };
34424
34425 _proto.tsParseDelimitedList = function tsParseDelimitedList(kind, parseElement) {
34426 return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true));
34427 };
34428
34429 _proto.tsParseDelimitedListWorker = function tsParseDelimitedListWorker(kind, parseElement, expectSuccess) {
34430 var result = [];
34431
34432 for (;;) {
34433 if (this.tsIsListTerminator(kind)) {
34434 break;
34435 }
34436
34437 var element = parseElement();
34438
34439 if (element == null) {
34440 return undefined;
34441 }
34442
34443 result.push(element);
34444
34445 if (this.eat(types$1.comma)) {
34446 continue;
34447 }
34448
34449 if (this.tsIsListTerminator(kind)) {
34450 break;
34451 }
34452
34453 if (expectSuccess) {
34454 this.expect(types$1.comma);
34455 }
34456
34457 return undefined;
34458 }
34459
34460 return result;
34461 };
34462
34463 _proto.tsParseBracketedList = function tsParseBracketedList(kind, parseElement, bracket, skipFirstToken) {
34464 if (!skipFirstToken) {
34465 if (bracket) {
34466 this.expect(types$1.bracketL);
34467 } else {
34468 this.expectRelational("<");
34469 }
34470 }
34471
34472 var result = this.tsParseDelimitedList(kind, parseElement);
34473
34474 if (bracket) {
34475 this.expect(types$1.bracketR);
34476 } else {
34477 this.expectRelational(">");
34478 }
34479
34480 return result;
34481 };
34482
34483 _proto.tsParseImportType = function tsParseImportType() {
34484 var node = this.startNode();
34485 this.expect(types$1._import);
34486 this.expect(types$1.parenL);
34487
34488 if (!this.match(types$1.string)) {
34489 this.raise(this.state.start, TSErrors.UnsupportedImportTypeArgument);
34490 }
34491
34492 node.argument = this.parseExprAtom();
34493 this.expect(types$1.parenR);
34494
34495 if (this.eat(types$1.dot)) {
34496 node.qualifier = this.tsParseEntityName(true);
34497 }
34498
34499 if (this.isRelational("<")) {
34500 node.typeParameters = this.tsParseTypeArguments();
34501 }
34502
34503 return this.finishNode(node, "TSImportType");
34504 };
34505
34506 _proto.tsParseEntityName = function tsParseEntityName(allowReservedWords) {
34507 var entity = this.parseIdentifier();
34508
34509 while (this.eat(types$1.dot)) {
34510 var node = this.startNodeAtNode(entity);
34511 node.left = entity;
34512 node.right = this.parseIdentifier(allowReservedWords);
34513 entity = this.finishNode(node, "TSQualifiedName");
34514 }
34515
34516 return entity;
34517 };
34518
34519 _proto.tsParseTypeReference = function tsParseTypeReference() {
34520 var node = this.startNode();
34521 node.typeName = this.tsParseEntityName(false);
34522
34523 if (!this.hasPrecedingLineBreak() && this.isRelational("<")) {
34524 node.typeParameters = this.tsParseTypeArguments();
34525 }
34526
34527 return this.finishNode(node, "TSTypeReference");
34528 };
34529
34530 _proto.tsParseThisTypePredicate = function tsParseThisTypePredicate(lhs) {
34531 this.next();
34532 var node = this.startNodeAtNode(lhs);
34533 node.parameterName = lhs;
34534 node.typeAnnotation = this.tsParseTypeAnnotation(false);
34535 node.asserts = false;
34536 return this.finishNode(node, "TSTypePredicate");
34537 };
34538
34539 _proto.tsParseThisTypeNode = function tsParseThisTypeNode() {
34540 var node = this.startNode();
34541 this.next();
34542 return this.finishNode(node, "TSThisType");
34543 };
34544
34545 _proto.tsParseTypeQuery = function tsParseTypeQuery() {
34546 var node = this.startNode();
34547 this.expect(types$1._typeof);
34548
34549 if (this.match(types$1._import)) {
34550 node.exprName = this.tsParseImportType();
34551 } else {
34552 node.exprName = this.tsParseEntityName(true);
34553 }
34554
34555 return this.finishNode(node, "TSTypeQuery");
34556 };
34557
34558 _proto.tsParseTypeParameter = function tsParseTypeParameter() {
34559 var node = this.startNode();
34560 node.name = this.tsParseTypeParameterName();
34561 node.constraint = this.tsEatThenParseType(types$1._extends);
34562 node["default"] = this.tsEatThenParseType(types$1.eq);
34563 return this.finishNode(node, "TSTypeParameter");
34564 };
34565
34566 _proto.tsTryParseTypeParameters = function tsTryParseTypeParameters() {
34567 if (this.isRelational("<")) {
34568 return this.tsParseTypeParameters();
34569 }
34570 };
34571
34572 _proto.tsParseTypeParameters = function tsParseTypeParameters() {
34573 var node = this.startNode();
34574
34575 if (this.isRelational("<") || this.match(types$1.jsxTagStart)) {
34576 this.next();
34577 } else {
34578 this.unexpected();
34579 }
34580
34581 node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this), false, true);
34582
34583 if (node.params.length === 0) {
34584 this.raise(node.start, TSErrors.EmptyTypeParameters);
34585 }
34586
34587 return this.finishNode(node, "TSTypeParameterDeclaration");
34588 };
34589
34590 _proto.tsTryNextParseConstantContext = function tsTryNextParseConstantContext() {
34591 if (this.lookahead().type === types$1._const) {
34592 this.next();
34593 return this.tsParseTypeReference();
34594 }
34595
34596 return null;
34597 };
34598
34599 _proto.tsFillSignature = function tsFillSignature(returnToken, signature) {
34600 var returnTokenRequired = returnToken === types$1.arrow;
34601 signature.typeParameters = this.tsTryParseTypeParameters();
34602 this.expect(types$1.parenL);
34603 signature.parameters = this.tsParseBindingListForSignature();
34604
34605 if (returnTokenRequired) {
34606 signature.typeAnnotation = this.tsParseTypeOrTypePredicateAnnotation(returnToken);
34607 } else if (this.match(returnToken)) {
34608 signature.typeAnnotation = this.tsParseTypeOrTypePredicateAnnotation(returnToken);
34609 }
34610 };
34611
34612 _proto.tsParseBindingListForSignature = function tsParseBindingListForSignature() {
34613 var _this2 = this;
34614
34615 return this.parseBindingList(types$1.parenR, 41).map(function (pattern) {
34616 if (pattern.type !== "Identifier" && pattern.type !== "RestElement" && pattern.type !== "ObjectPattern" && pattern.type !== "ArrayPattern") {
34617 _this2.raise(pattern.start, TSErrors.UnsupportedSignatureParameterKind, pattern.type);
34618 }
34619
34620 return pattern;
34621 });
34622 };
34623
34624 _proto.tsParseTypeMemberSemicolon = function tsParseTypeMemberSemicolon() {
34625 if (!this.eat(types$1.comma) && !this.isLineTerminator()) {
34626 this.expect(types$1.semi);
34627 }
34628 };
34629
34630 _proto.tsParseSignatureMember = function tsParseSignatureMember(kind, node) {
34631 this.tsFillSignature(types$1.colon, node);
34632 this.tsParseTypeMemberSemicolon();
34633 return this.finishNode(node, kind);
34634 };
34635
34636 _proto.tsIsUnambiguouslyIndexSignature = function tsIsUnambiguouslyIndexSignature() {
34637 this.next();
34638 return this.eat(types$1.name) && this.match(types$1.colon);
34639 };
34640
34641 _proto.tsTryParseIndexSignature = function tsTryParseIndexSignature(node) {
34642 if (!(this.match(types$1.bracketL) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) {
34643 return undefined;
34644 }
34645
34646 this.expect(types$1.bracketL);
34647 var id = this.parseIdentifier();
34648 id.typeAnnotation = this.tsParseTypeAnnotation();
34649 this.resetEndLocation(id);
34650 this.expect(types$1.bracketR);
34651 node.parameters = [id];
34652 var type = this.tsTryParseTypeAnnotation();
34653 if (type) node.typeAnnotation = type;
34654 this.tsParseTypeMemberSemicolon();
34655 return this.finishNode(node, "TSIndexSignature");
34656 };
34657
34658 _proto.tsParsePropertyOrMethodSignature = function tsParsePropertyOrMethodSignature(node, readonly) {
34659 if (this.eat(types$1.question)) node.optional = true;
34660 var nodeAny = node;
34661
34662 if (this.match(types$1.parenL) || this.isRelational("<")) {
34663 if (readonly) {
34664 this.raise(node.start, TSErrors.ReadonlyForMethodSignature);
34665 }
34666
34667 var method = nodeAny;
34668
34669 if (method.kind && this.isRelational("<")) {
34670 this.raise(this.state.pos, TSErrors.AccesorCannotHaveTypeParameters);
34671 }
34672
34673 this.tsFillSignature(types$1.colon, method);
34674 this.tsParseTypeMemberSemicolon();
34675
34676 if (method.kind === "get") {
34677 if (method.parameters.length > 0) {
34678 this.raise(this.state.pos, ErrorMessages.BadGetterArity);
34679
34680 if (this.isThisParam(method.parameters[0])) {
34681 this.raise(this.state.pos, TSErrors.AccesorCannotDeclareThisParameter);
34682 }
34683 }
34684 } else if (method.kind === "set") {
34685 if (method.parameters.length !== 1) {
34686 this.raise(this.state.pos, ErrorMessages.BadSetterArity);
34687 } else {
34688 var firstParameter = method.parameters[0];
34689
34690 if (this.isThisParam(firstParameter)) {
34691 this.raise(this.state.pos, TSErrors.AccesorCannotDeclareThisParameter);
34692 }
34693
34694 if (firstParameter.type === "Identifier" && firstParameter.optional) {
34695 this.raise(this.state.pos, TSErrors.SetAccesorCannotHaveOptionalParameter);
34696 }
34697
34698 if (firstParameter.type === "RestElement") {
34699 this.raise(this.state.pos, TSErrors.SetAccesorCannotHaveRestParameter);
34700 }
34701 }
34702
34703 if (method.typeAnnotation) {
34704 this.raise(method.typeAnnotation.start, TSErrors.SetAccesorCannotHaveReturnType);
34705 }
34706 } else {
34707 method.kind = "method";
34708 }
34709
34710 return this.finishNode(method, "TSMethodSignature");
34711 } else {
34712 var property = nodeAny;
34713 if (readonly) property.readonly = true;
34714 var type = this.tsTryParseTypeAnnotation();
34715 if (type) property.typeAnnotation = type;
34716 this.tsParseTypeMemberSemicolon();
34717 return this.finishNode(property, "TSPropertySignature");
34718 }
34719 };
34720
34721 _proto.tsParseTypeMember = function tsParseTypeMember() {
34722 var node = this.startNode();
34723
34724 if (this.match(types$1.parenL) || this.isRelational("<")) {
34725 return this.tsParseSignatureMember("TSCallSignatureDeclaration", node);
34726 }
34727
34728 if (this.match(types$1._new)) {
34729 var id = this.startNode();
34730 this.next();
34731
34732 if (this.match(types$1.parenL) || this.isRelational("<")) {
34733 return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node);
34734 } else {
34735 node.key = this.createIdentifier(id, "new");
34736 return this.tsParsePropertyOrMethodSignature(node, false);
34737 }
34738 }
34739
34740 this.tsParseModifiers(node, ["readonly"], ["declare", "abstract", "private", "protected", "public", "static", "override"], TSErrors.InvalidModifierOnTypeMember);
34741 var idx = this.tsTryParseIndexSignature(node);
34742
34743 if (idx) {
34744 return idx;
34745 }
34746
34747 this.parsePropertyName(node, false);
34748
34749 if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) {
34750 node.kind = node.key.name;
34751 this.parsePropertyName(node, false);
34752 }
34753
34754 return this.tsParsePropertyOrMethodSignature(node, !!node.readonly);
34755 };
34756
34757 _proto.tsParseTypeLiteral = function tsParseTypeLiteral() {
34758 var node = this.startNode();
34759 node.members = this.tsParseObjectTypeMembers();
34760 return this.finishNode(node, "TSTypeLiteral");
34761 };
34762
34763 _proto.tsParseObjectTypeMembers = function tsParseObjectTypeMembers() {
34764 this.expect(types$1.braceL);
34765 var members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this));
34766 this.expect(types$1.braceR);
34767 return members;
34768 };
34769
34770 _proto.tsIsStartOfMappedType = function tsIsStartOfMappedType() {
34771 this.next();
34772
34773 if (this.eat(types$1.plusMin)) {
34774 return this.isContextual("readonly");
34775 }
34776
34777 if (this.isContextual("readonly")) {
34778 this.next();
34779 }
34780
34781 if (!this.match(types$1.bracketL)) {
34782 return false;
34783 }
34784
34785 this.next();
34786
34787 if (!this.tsIsIdentifier()) {
34788 return false;
34789 }
34790
34791 this.next();
34792 return this.match(types$1._in);
34793 };
34794
34795 _proto.tsParseMappedTypeParameter = function tsParseMappedTypeParameter() {
34796 var node = this.startNode();
34797 node.name = this.tsParseTypeParameterName();
34798 node.constraint = this.tsExpectThenParseType(types$1._in);
34799 return this.finishNode(node, "TSTypeParameter");
34800 };
34801
34802 _proto.tsParseMappedType = function tsParseMappedType() {
34803 var node = this.startNode();
34804 this.expect(types$1.braceL);
34805
34806 if (this.match(types$1.plusMin)) {
34807 node.readonly = this.state.value;
34808 this.next();
34809 this.expectContextual("readonly");
34810 } else if (this.eatContextual("readonly")) {
34811 node.readonly = true;
34812 }
34813
34814 this.expect(types$1.bracketL);
34815 node.typeParameter = this.tsParseMappedTypeParameter();
34816 node.nameType = this.eatContextual("as") ? this.tsParseType() : null;
34817 this.expect(types$1.bracketR);
34818
34819 if (this.match(types$1.plusMin)) {
34820 node.optional = this.state.value;
34821 this.next();
34822 this.expect(types$1.question);
34823 } else if (this.eat(types$1.question)) {
34824 node.optional = true;
34825 }
34826
34827 node.typeAnnotation = this.tsTryParseType();
34828 this.semicolon();
34829 this.expect(types$1.braceR);
34830 return this.finishNode(node, "TSMappedType");
34831 };
34832
34833 _proto.tsParseTupleType = function tsParseTupleType() {
34834 var _this3 = this;
34835
34836 var node = this.startNode();
34837 node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false);
34838 var seenOptionalElement = false;
34839 var labeledElements = null;
34840 node.elementTypes.forEach(function (elementNode) {
34841 var _labeledElements;
34842
34843 var _elementNode = elementNode,
34844 type = _elementNode.type;
34845
34846 if (seenOptionalElement && type !== "TSRestType" && type !== "TSOptionalType" && !(type === "TSNamedTupleMember" && elementNode.optional)) {
34847 _this3.raise(elementNode.start, TSErrors.OptionalTypeBeforeRequired);
34848 }
34849
34850 seenOptionalElement = seenOptionalElement || type === "TSNamedTupleMember" && elementNode.optional || type === "TSOptionalType";
34851
34852 if (type === "TSRestType") {
34853 elementNode = elementNode.typeAnnotation;
34854 type = elementNode.type;
34855 }
34856
34857 var isLabeled = type === "TSNamedTupleMember";
34858 labeledElements = (_labeledElements = labeledElements) != null ? _labeledElements : isLabeled;
34859
34860 if (labeledElements !== isLabeled) {
34861 _this3.raise(elementNode.start, TSErrors.MixedLabeledAndUnlabeledElements);
34862 }
34863 });
34864 return this.finishNode(node, "TSTupleType");
34865 };
34866
34867 _proto.tsParseTupleElementType = function tsParseTupleElementType() {
34868 var _this$state = this.state,
34869 startPos = _this$state.start,
34870 startLoc = _this$state.startLoc;
34871 var rest = this.eat(types$1.ellipsis);
34872 var type = this.tsParseType();
34873 var optional = this.eat(types$1.question);
34874 var labeled = this.eat(types$1.colon);
34875
34876 if (labeled) {
34877 var labeledNode = this.startNodeAtNode(type);
34878 labeledNode.optional = optional;
34879
34880 if (type.type === "TSTypeReference" && !type.typeParameters && type.typeName.type === "Identifier") {
34881 labeledNode.label = type.typeName;
34882 } else {
34883 this.raise(type.start, TSErrors.InvalidTupleMemberLabel);
34884 labeledNode.label = type;
34885 }
34886
34887 labeledNode.elementType = this.tsParseType();
34888 type = this.finishNode(labeledNode, "TSNamedTupleMember");
34889 } else if (optional) {
34890 var optionalTypeNode = this.startNodeAtNode(type);
34891 optionalTypeNode.typeAnnotation = type;
34892 type = this.finishNode(optionalTypeNode, "TSOptionalType");
34893 }
34894
34895 if (rest) {
34896 var restNode = this.startNodeAt(startPos, startLoc);
34897 restNode.typeAnnotation = type;
34898 type = this.finishNode(restNode, "TSRestType");
34899 }
34900
34901 return type;
34902 };
34903
34904 _proto.tsParseParenthesizedType = function tsParseParenthesizedType() {
34905 var node = this.startNode();
34906 this.expect(types$1.parenL);
34907 node.typeAnnotation = this.tsParseType();
34908 this.expect(types$1.parenR);
34909 return this.finishNode(node, "TSParenthesizedType");
34910 };
34911
34912 _proto.tsParseFunctionOrConstructorType = function tsParseFunctionOrConstructorType(type, _abstract) {
34913 var node = this.startNode();
34914
34915 if (type === "TSConstructorType") {
34916 node["abstract"] = !!_abstract;
34917 if (_abstract) this.next();
34918 this.next();
34919 }
34920
34921 this.tsFillSignature(types$1.arrow, node);
34922 return this.finishNode(node, type);
34923 };
34924
34925 _proto.tsParseLiteralTypeNode = function tsParseLiteralTypeNode() {
34926 var _this4 = this;
34927
34928 var node = this.startNode();
34929
34930 node.literal = function () {
34931 switch (_this4.state.type) {
34932 case types$1.num:
34933 case types$1.bigint:
34934 case types$1.string:
34935 case types$1._true:
34936 case types$1._false:
34937 return _this4.parseExprAtom();
34938
34939 default:
34940 throw _this4.unexpected();
34941 }
34942 }();
34943
34944 return this.finishNode(node, "TSLiteralType");
34945 };
34946
34947 _proto.tsParseTemplateLiteralType = function tsParseTemplateLiteralType() {
34948 var node = this.startNode();
34949 node.literal = this.parseTemplate(false);
34950 return this.finishNode(node, "TSLiteralType");
34951 };
34952
34953 _proto.parseTemplateSubstitution = function parseTemplateSubstitution() {
34954 if (this.state.inType) return this.tsParseType();
34955 return _superClass.prototype.parseTemplateSubstitution.call(this);
34956 };
34957
34958 _proto.tsParseThisTypeOrThisTypePredicate = function tsParseThisTypeOrThisTypePredicate() {
34959 var thisKeyword = this.tsParseThisTypeNode();
34960
34961 if (this.isContextual("is") && !this.hasPrecedingLineBreak()) {
34962 return this.tsParseThisTypePredicate(thisKeyword);
34963 } else {
34964 return thisKeyword;
34965 }
34966 };
34967
34968 _proto.tsParseNonArrayType = function tsParseNonArrayType() {
34969 switch (this.state.type) {
34970 case types$1.name:
34971 case types$1._void:
34972 case types$1._null:
34973 {
34974 var type = this.match(types$1._void) ? "TSVoidKeyword" : this.match(types$1._null) ? "TSNullKeyword" : keywordTypeFromName(this.state.value);
34975
34976 if (type !== undefined && this.lookaheadCharCode() !== 46) {
34977 var node = this.startNode();
34978 this.next();
34979 return this.finishNode(node, type);
34980 }
34981
34982 return this.tsParseTypeReference();
34983 }
34984
34985 case types$1.string:
34986 case types$1.num:
34987 case types$1.bigint:
34988 case types$1._true:
34989 case types$1._false:
34990 return this.tsParseLiteralTypeNode();
34991
34992 case types$1.plusMin:
34993 if (this.state.value === "-") {
34994 var _node = this.startNode();
34995
34996 var nextToken = this.lookahead();
34997
34998 if (nextToken.type !== types$1.num && nextToken.type !== types$1.bigint) {
34999 throw this.unexpected();
35000 }
35001
35002 _node.literal = this.parseMaybeUnary();
35003 return this.finishNode(_node, "TSLiteralType");
35004 }
35005
35006 break;
35007
35008 case types$1._this:
35009 return this.tsParseThisTypeOrThisTypePredicate();
35010
35011 case types$1._typeof:
35012 return this.tsParseTypeQuery();
35013
35014 case types$1._import:
35015 return this.tsParseImportType();
35016
35017 case types$1.braceL:
35018 return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();
35019
35020 case types$1.bracketL:
35021 return this.tsParseTupleType();
35022
35023 case types$1.parenL:
35024 return this.tsParseParenthesizedType();
35025
35026 case types$1.backQuote:
35027 return this.tsParseTemplateLiteralType();
35028 }
35029
35030 throw this.unexpected();
35031 };
35032
35033 _proto.tsParseArrayTypeOrHigher = function tsParseArrayTypeOrHigher() {
35034 var type = this.tsParseNonArrayType();
35035
35036 while (!this.hasPrecedingLineBreak() && this.eat(types$1.bracketL)) {
35037 if (this.match(types$1.bracketR)) {
35038 var node = this.startNodeAtNode(type);
35039 node.elementType = type;
35040 this.expect(types$1.bracketR);
35041 type = this.finishNode(node, "TSArrayType");
35042 } else {
35043 var _node2 = this.startNodeAtNode(type);
35044
35045 _node2.objectType = type;
35046 _node2.indexType = this.tsParseType();
35047 this.expect(types$1.bracketR);
35048 type = this.finishNode(_node2, "TSIndexedAccessType");
35049 }
35050 }
35051
35052 return type;
35053 };
35054
35055 _proto.tsParseTypeOperator = function tsParseTypeOperator(operator) {
35056 var node = this.startNode();
35057 this.expectContextual(operator);
35058 node.operator = operator;
35059 node.typeAnnotation = this.tsParseTypeOperatorOrHigher();
35060
35061 if (operator === "readonly") {
35062 this.tsCheckTypeAnnotationForReadOnly(node);
35063 }
35064
35065 return this.finishNode(node, "TSTypeOperator");
35066 };
35067
35068 _proto.tsCheckTypeAnnotationForReadOnly = function tsCheckTypeAnnotationForReadOnly(node) {
35069 switch (node.typeAnnotation.type) {
35070 case "TSTupleType":
35071 case "TSArrayType":
35072 return;
35073
35074 default:
35075 this.raise(node.start, TSErrors.UnexpectedReadonly);
35076 }
35077 };
35078
35079 _proto.tsParseInferType = function tsParseInferType() {
35080 var node = this.startNode();
35081 this.expectContextual("infer");
35082 var typeParameter = this.startNode();
35083 typeParameter.name = this.tsParseTypeParameterName();
35084 node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter");
35085 return this.finishNode(node, "TSInferType");
35086 };
35087
35088 _proto.tsParseTypeOperatorOrHigher = function tsParseTypeOperatorOrHigher() {
35089 var _this5 = this;
35090
35091 var operator = ["keyof", "unique", "readonly"].find(function (kw) {
35092 return _this5.isContextual(kw);
35093 });
35094 return operator ? this.tsParseTypeOperator(operator) : this.isContextual("infer") ? this.tsParseInferType() : this.tsParseArrayTypeOrHigher();
35095 };
35096
35097 _proto.tsParseUnionOrIntersectionType = function tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) {
35098 var node = this.startNode();
35099 var hasLeadingOperator = this.eat(operator);
35100 var types = [];
35101
35102 do {
35103 types.push(parseConstituentType());
35104 } while (this.eat(operator));
35105
35106 if (types.length === 1 && !hasLeadingOperator) {
35107 return types[0];
35108 }
35109
35110 node.types = types;
35111 return this.finishNode(node, kind);
35112 };
35113
35114 _proto.tsParseIntersectionTypeOrHigher = function tsParseIntersectionTypeOrHigher() {
35115 return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), types$1.bitwiseAND);
35116 };
35117
35118 _proto.tsParseUnionTypeOrHigher = function tsParseUnionTypeOrHigher() {
35119 return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), types$1.bitwiseOR);
35120 };
35121
35122 _proto.tsIsStartOfFunctionType = function tsIsStartOfFunctionType() {
35123 if (this.isRelational("<")) {
35124 return true;
35125 }
35126
35127 return this.match(types$1.parenL) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));
35128 };
35129
35130 _proto.tsSkipParameterStart = function tsSkipParameterStart() {
35131 if (this.match(types$1.name) || this.match(types$1._this)) {
35132 this.next();
35133 return true;
35134 }
35135
35136 if (this.match(types$1.braceL)) {
35137 var braceStackCounter = 1;
35138 this.next();
35139
35140 while (braceStackCounter > 0) {
35141 if (this.match(types$1.braceL)) {
35142 ++braceStackCounter;
35143 } else if (this.match(types$1.braceR)) {
35144 --braceStackCounter;
35145 }
35146
35147 this.next();
35148 }
35149
35150 return true;
35151 }
35152
35153 if (this.match(types$1.bracketL)) {
35154 var _braceStackCounter = 1;
35155 this.next();
35156
35157 while (_braceStackCounter > 0) {
35158 if (this.match(types$1.bracketL)) {
35159 ++_braceStackCounter;
35160 } else if (this.match(types$1.bracketR)) {
35161 --_braceStackCounter;
35162 }
35163
35164 this.next();
35165 }
35166
35167 return true;
35168 }
35169
35170 return false;
35171 };
35172
35173 _proto.tsIsUnambiguouslyStartOfFunctionType = function tsIsUnambiguouslyStartOfFunctionType() {
35174 this.next();
35175
35176 if (this.match(types$1.parenR) || this.match(types$1.ellipsis)) {
35177 return true;
35178 }
35179
35180 if (this.tsSkipParameterStart()) {
35181 if (this.match(types$1.colon) || this.match(types$1.comma) || this.match(types$1.question) || this.match(types$1.eq)) {
35182 return true;
35183 }
35184
35185 if (this.match(types$1.parenR)) {
35186 this.next();
35187
35188 if (this.match(types$1.arrow)) {
35189 return true;
35190 }
35191 }
35192 }
35193
35194 return false;
35195 };
35196
35197 _proto.tsParseTypeOrTypePredicateAnnotation = function tsParseTypeOrTypePredicateAnnotation(returnToken) {
35198 var _this6 = this;
35199
35200 return this.tsInType(function () {
35201 var t = _this6.startNode();
35202
35203 _this6.expect(returnToken);
35204
35205 var node = _this6.startNode();
35206
35207 var asserts = !!_this6.tsTryParse(_this6.tsParseTypePredicateAsserts.bind(_this6));
35208
35209 if (asserts && _this6.match(types$1._this)) {
35210 var thisTypePredicate = _this6.tsParseThisTypeOrThisTypePredicate();
35211
35212 if (thisTypePredicate.type === "TSThisType") {
35213 node.parameterName = thisTypePredicate;
35214 node.asserts = true;
35215 node.typeAnnotation = null;
35216 thisTypePredicate = _this6.finishNode(node, "TSTypePredicate");
35217 } else {
35218 _this6.resetStartLocationFromNode(thisTypePredicate, node);
35219
35220 thisTypePredicate.asserts = true;
35221 }
35222
35223 t.typeAnnotation = thisTypePredicate;
35224 return _this6.finishNode(t, "TSTypeAnnotation");
35225 }
35226
35227 var typePredicateVariable = _this6.tsIsIdentifier() && _this6.tsTryParse(_this6.tsParseTypePredicatePrefix.bind(_this6));
35228
35229 if (!typePredicateVariable) {
35230 if (!asserts) {
35231 return _this6.tsParseTypeAnnotation(false, t);
35232 }
35233
35234 node.parameterName = _this6.parseIdentifier();
35235 node.asserts = asserts;
35236 node.typeAnnotation = null;
35237 t.typeAnnotation = _this6.finishNode(node, "TSTypePredicate");
35238 return _this6.finishNode(t, "TSTypeAnnotation");
35239 }
35240
35241 var type = _this6.tsParseTypeAnnotation(false);
35242
35243 node.parameterName = typePredicateVariable;
35244 node.typeAnnotation = type;
35245 node.asserts = asserts;
35246 t.typeAnnotation = _this6.finishNode(node, "TSTypePredicate");
35247 return _this6.finishNode(t, "TSTypeAnnotation");
35248 });
35249 };
35250
35251 _proto.tsTryParseTypeOrTypePredicateAnnotation = function tsTryParseTypeOrTypePredicateAnnotation() {
35252 return this.match(types$1.colon) ? this.tsParseTypeOrTypePredicateAnnotation(types$1.colon) : undefined;
35253 };
35254
35255 _proto.tsTryParseTypeAnnotation = function tsTryParseTypeAnnotation() {
35256 return this.match(types$1.colon) ? this.tsParseTypeAnnotation() : undefined;
35257 };
35258
35259 _proto.tsTryParseType = function tsTryParseType() {
35260 return this.tsEatThenParseType(types$1.colon);
35261 };
35262
35263 _proto.tsParseTypePredicatePrefix = function tsParseTypePredicatePrefix() {
35264 var id = this.parseIdentifier();
35265
35266 if (this.isContextual("is") && !this.hasPrecedingLineBreak()) {
35267 this.next();
35268 return id;
35269 }
35270 };
35271
35272 _proto.tsParseTypePredicateAsserts = function tsParseTypePredicateAsserts() {
35273 if (!this.match(types$1.name) || this.state.value !== "asserts" || this.hasPrecedingLineBreak()) {
35274 return false;
35275 }
35276
35277 var containsEsc = this.state.containsEsc;
35278 this.next();
35279
35280 if (!this.match(types$1.name) && !this.match(types$1._this)) {
35281 return false;
35282 }
35283
35284 if (containsEsc) {
35285 this.raise(this.state.lastTokStart, ErrorMessages.InvalidEscapedReservedWord, "asserts");
35286 }
35287
35288 return true;
35289 };
35290
35291 _proto.tsParseTypeAnnotation = function tsParseTypeAnnotation(eatColon, t) {
35292 var _this7 = this;
35293
35294 if (eatColon === void 0) {
35295 eatColon = true;
35296 }
35297
35298 if (t === void 0) {
35299 t = this.startNode();
35300 }
35301
35302 this.tsInType(function () {
35303 if (eatColon) _this7.expect(types$1.colon);
35304 t.typeAnnotation = _this7.tsParseType();
35305 });
35306 return this.finishNode(t, "TSTypeAnnotation");
35307 };
35308
35309 _proto.tsParseType = function tsParseType() {
35310 assert(this.state.inType);
35311 var type = this.tsParseNonConditionalType();
35312
35313 if (this.hasPrecedingLineBreak() || !this.eat(types$1._extends)) {
35314 return type;
35315 }
35316
35317 var node = this.startNodeAtNode(type);
35318 node.checkType = type;
35319 node.extendsType = this.tsParseNonConditionalType();
35320 this.expect(types$1.question);
35321 node.trueType = this.tsParseType();
35322 this.expect(types$1.colon);
35323 node.falseType = this.tsParseType();
35324 return this.finishNode(node, "TSConditionalType");
35325 };
35326
35327 _proto.isAbstractConstructorSignature = function isAbstractConstructorSignature() {
35328 return this.isContextual("abstract") && this.lookahead().type === types$1._new;
35329 };
35330
35331 _proto.tsParseNonConditionalType = function tsParseNonConditionalType() {
35332 if (this.tsIsStartOfFunctionType()) {
35333 return this.tsParseFunctionOrConstructorType("TSFunctionType");
35334 }
35335
35336 if (this.match(types$1._new)) {
35337 return this.tsParseFunctionOrConstructorType("TSConstructorType");
35338 } else if (this.isAbstractConstructorSignature()) {
35339 return this.tsParseFunctionOrConstructorType("TSConstructorType", true);
35340 }
35341
35342 return this.tsParseUnionTypeOrHigher();
35343 };
35344
35345 _proto.tsParseTypeAssertion = function tsParseTypeAssertion() {
35346 var node = this.startNode();
35347
35348 var _const = this.tsTryNextParseConstantContext();
35349
35350 node.typeAnnotation = _const || this.tsNextThenParseType();
35351 this.expectRelational(">");
35352 node.expression = this.parseMaybeUnary();
35353 return this.finishNode(node, "TSTypeAssertion");
35354 };
35355
35356 _proto.tsParseHeritageClause = function tsParseHeritageClause(descriptor) {
35357 var originalStart = this.state.start;
35358 var delimitedList = this.tsParseDelimitedList("HeritageClauseElement", this.tsParseExpressionWithTypeArguments.bind(this));
35359
35360 if (!delimitedList.length) {
35361 this.raise(originalStart, TSErrors.EmptyHeritageClauseType, descriptor);
35362 }
35363
35364 return delimitedList;
35365 };
35366
35367 _proto.tsParseExpressionWithTypeArguments = function tsParseExpressionWithTypeArguments() {
35368 var node = this.startNode();
35369 node.expression = this.tsParseEntityName(false);
35370
35371 if (this.isRelational("<")) {
35372 node.typeParameters = this.tsParseTypeArguments();
35373 }
35374
35375 return this.finishNode(node, "TSExpressionWithTypeArguments");
35376 };
35377
35378 _proto.tsParseInterfaceDeclaration = function tsParseInterfaceDeclaration(node) {
35379 node.id = this.parseIdentifier();
35380 this.checkLVal(node.id, "typescript interface declaration", BIND_TS_INTERFACE);
35381 node.typeParameters = this.tsTryParseTypeParameters();
35382
35383 if (this.eat(types$1._extends)) {
35384 node["extends"] = this.tsParseHeritageClause("extends");
35385 }
35386
35387 var body = this.startNode();
35388 body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this));
35389 node.body = this.finishNode(body, "TSInterfaceBody");
35390 return this.finishNode(node, "TSInterfaceDeclaration");
35391 };
35392
35393 _proto.tsParseTypeAliasDeclaration = function tsParseTypeAliasDeclaration(node) {
35394 var _this8 = this;
35395
35396 node.id = this.parseIdentifier();
35397 this.checkLVal(node.id, "typescript type alias", BIND_TS_TYPE);
35398 node.typeParameters = this.tsTryParseTypeParameters();
35399 node.typeAnnotation = this.tsInType(function () {
35400 _this8.expect(types$1.eq);
35401
35402 if (_this8.isContextual("intrinsic") && _this8.lookahead().type !== types$1.dot) {
35403 var _node3 = _this8.startNode();
35404
35405 _this8.next();
35406
35407 return _this8.finishNode(_node3, "TSIntrinsicKeyword");
35408 }
35409
35410 return _this8.tsParseType();
35411 });
35412 this.semicolon();
35413 return this.finishNode(node, "TSTypeAliasDeclaration");
35414 };
35415
35416 _proto.tsInNoContext = function tsInNoContext(cb) {
35417 var oldContext = this.state.context;
35418 this.state.context = [oldContext[0]];
35419
35420 try {
35421 return cb();
35422 } finally {
35423 this.state.context = oldContext;
35424 }
35425 };
35426
35427 _proto.tsInType = function tsInType(cb) {
35428 var oldInType = this.state.inType;
35429 this.state.inType = true;
35430
35431 try {
35432 return cb();
35433 } finally {
35434 this.state.inType = oldInType;
35435 }
35436 };
35437
35438 _proto.tsEatThenParseType = function tsEatThenParseType(token) {
35439 return !this.match(token) ? undefined : this.tsNextThenParseType();
35440 };
35441
35442 _proto.tsExpectThenParseType = function tsExpectThenParseType(token) {
35443 var _this9 = this;
35444
35445 return this.tsDoThenParseType(function () {
35446 return _this9.expect(token);
35447 });
35448 };
35449
35450 _proto.tsNextThenParseType = function tsNextThenParseType() {
35451 var _this10 = this;
35452
35453 return this.tsDoThenParseType(function () {
35454 return _this10.next();
35455 });
35456 };
35457
35458 _proto.tsDoThenParseType = function tsDoThenParseType(cb) {
35459 var _this11 = this;
35460
35461 return this.tsInType(function () {
35462 cb();
35463 return _this11.tsParseType();
35464 });
35465 };
35466
35467 _proto.tsParseEnumMember = function tsParseEnumMember() {
35468 var node = this.startNode();
35469 node.id = this.match(types$1.string) ? this.parseExprAtom() : this.parseIdentifier(true);
35470
35471 if (this.eat(types$1.eq)) {
35472 node.initializer = this.parseMaybeAssignAllowIn();
35473 }
35474
35475 return this.finishNode(node, "TSEnumMember");
35476 };
35477
35478 _proto.tsParseEnumDeclaration = function tsParseEnumDeclaration(node, isConst) {
35479 if (isConst) node["const"] = true;
35480 node.id = this.parseIdentifier();
35481 this.checkLVal(node.id, "typescript enum declaration", isConst ? BIND_TS_CONST_ENUM : BIND_TS_ENUM);
35482 this.expect(types$1.braceL);
35483 node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this));
35484 this.expect(types$1.braceR);
35485 return this.finishNode(node, "TSEnumDeclaration");
35486 };
35487
35488 _proto.tsParseModuleBlock = function tsParseModuleBlock() {
35489 var node = this.startNode();
35490 this.scope.enter(SCOPE_OTHER);
35491 this.expect(types$1.braceL);
35492 this.parseBlockOrModuleBlockBody(node.body = [], undefined, true, types$1.braceR);
35493 this.scope.exit();
35494 return this.finishNode(node, "TSModuleBlock");
35495 };
35496
35497 _proto.tsParseModuleOrNamespaceDeclaration = function tsParseModuleOrNamespaceDeclaration(node, nested) {
35498 if (nested === void 0) {
35499 nested = false;
35500 }
35501
35502 node.id = this.parseIdentifier();
35503
35504 if (!nested) {
35505 this.checkLVal(node.id, "module or namespace declaration", BIND_TS_NAMESPACE);
35506 }
35507
35508 if (this.eat(types$1.dot)) {
35509 var inner = this.startNode();
35510 this.tsParseModuleOrNamespaceDeclaration(inner, true);
35511 node.body = inner;
35512 } else {
35513 this.scope.enter(SCOPE_TS_MODULE);
35514 this.prodParam.enter(PARAM);
35515 node.body = this.tsParseModuleBlock();
35516 this.prodParam.exit();
35517 this.scope.exit();
35518 }
35519
35520 return this.finishNode(node, "TSModuleDeclaration");
35521 };
35522
35523 _proto.tsParseAmbientExternalModuleDeclaration = function tsParseAmbientExternalModuleDeclaration(node) {
35524 if (this.isContextual("global")) {
35525 node.global = true;
35526 node.id = this.parseIdentifier();
35527 } else if (this.match(types$1.string)) {
35528 node.id = this.parseExprAtom();
35529 } else {
35530 this.unexpected();
35531 }
35532
35533 if (this.match(types$1.braceL)) {
35534 this.scope.enter(SCOPE_TS_MODULE);
35535 this.prodParam.enter(PARAM);
35536 node.body = this.tsParseModuleBlock();
35537 this.prodParam.exit();
35538 this.scope.exit();
35539 } else {
35540 this.semicolon();
35541 }
35542
35543 return this.finishNode(node, "TSModuleDeclaration");
35544 };
35545
35546 _proto.tsParseImportEqualsDeclaration = function tsParseImportEqualsDeclaration(node, isExport) {
35547 node.isExport = isExport || false;
35548 node.id = this.parseIdentifier();
35549 this.checkLVal(node.id, "import equals declaration", BIND_LEXICAL);
35550 this.expect(types$1.eq);
35551 var moduleReference = this.tsParseModuleReference();
35552
35553 if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") {
35554 this.raise(moduleReference.start, TSErrors.ImportAliasHasImportType);
35555 }
35556
35557 node.moduleReference = moduleReference;
35558 this.semicolon();
35559 return this.finishNode(node, "TSImportEqualsDeclaration");
35560 };
35561
35562 _proto.tsIsExternalModuleReference = function tsIsExternalModuleReference() {
35563 return this.isContextual("require") && this.lookaheadCharCode() === 40;
35564 };
35565
35566 _proto.tsParseModuleReference = function tsParseModuleReference() {
35567 return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false);
35568 };
35569
35570 _proto.tsParseExternalModuleReference = function tsParseExternalModuleReference() {
35571 var node = this.startNode();
35572 this.expectContextual("require");
35573 this.expect(types$1.parenL);
35574
35575 if (!this.match(types$1.string)) {
35576 throw this.unexpected();
35577 }
35578
35579 node.expression = this.parseExprAtom();
35580 this.expect(types$1.parenR);
35581 return this.finishNode(node, "TSExternalModuleReference");
35582 };
35583
35584 _proto.tsLookAhead = function tsLookAhead(f) {
35585 var state = this.state.clone();
35586 var res = f();
35587 this.state = state;
35588 return res;
35589 };
35590
35591 _proto.tsTryParseAndCatch = function tsTryParseAndCatch(f) {
35592 var result = this.tryParse(function (abort) {
35593 return f() || abort();
35594 });
35595 if (result.aborted || !result.node) return undefined;
35596 if (result.error) this.state = result.failState;
35597 return result.node;
35598 };
35599
35600 _proto.tsTryParse = function tsTryParse(f) {
35601 var state = this.state.clone();
35602 var result = f();
35603
35604 if (result !== undefined && result !== false) {
35605 return result;
35606 } else {
35607 this.state = state;
35608 return undefined;
35609 }
35610 };
35611
35612 _proto.tsTryParseDeclare = function tsTryParseDeclare(nany) {
35613 var _this12 = this;
35614
35615 if (this.isLineTerminator()) {
35616 return;
35617 }
35618
35619 var starttype = this.state.type;
35620 var kind;
35621
35622 if (this.isContextual("let")) {
35623 starttype = types$1._var;
35624 kind = "let";
35625 }
35626
35627 return this.tsInAmbientContext(function () {
35628 switch (starttype) {
35629 case types$1._function:
35630 nany.declare = true;
35631 return _this12.parseFunctionStatement(nany, false, true);
35632
35633 case types$1._class:
35634 nany.declare = true;
35635 return _this12.parseClass(nany, true, false);
35636
35637 case types$1._const:
35638 if (_this12.match(types$1._const) && _this12.isLookaheadContextual("enum")) {
35639 _this12.expect(types$1._const);
35640
35641 _this12.expectContextual("enum");
35642
35643 return _this12.tsParseEnumDeclaration(nany, true);
35644 }
35645
35646 case types$1._var:
35647 kind = kind || _this12.state.value;
35648 return _this12.parseVarStatement(nany, kind);
35649
35650 case types$1.name:
35651 {
35652 var value = _this12.state.value;
35653
35654 if (value === "global") {
35655 return _this12.tsParseAmbientExternalModuleDeclaration(nany);
35656 } else {
35657 return _this12.tsParseDeclaration(nany, value, true);
35658 }
35659 }
35660 }
35661 });
35662 };
35663
35664 _proto.tsTryParseExportDeclaration = function tsTryParseExportDeclaration() {
35665 return this.tsParseDeclaration(this.startNode(), this.state.value, true);
35666 };
35667
35668 _proto.tsParseExpressionStatement = function tsParseExpressionStatement(node, expr) {
35669 switch (expr.name) {
35670 case "declare":
35671 {
35672 var declaration = this.tsTryParseDeclare(node);
35673
35674 if (declaration) {
35675 declaration.declare = true;
35676 return declaration;
35677 }
35678
35679 break;
35680 }
35681
35682 case "global":
35683 if (this.match(types$1.braceL)) {
35684 this.scope.enter(SCOPE_TS_MODULE);
35685 this.prodParam.enter(PARAM);
35686 var mod = node;
35687 mod.global = true;
35688 mod.id = expr;
35689 mod.body = this.tsParseModuleBlock();
35690 this.scope.exit();
35691 this.prodParam.exit();
35692 return this.finishNode(mod, "TSModuleDeclaration");
35693 }
35694
35695 break;
35696
35697 default:
35698 return this.tsParseDeclaration(node, expr.name, false);
35699 }
35700 };
35701
35702 _proto.tsParseDeclaration = function tsParseDeclaration(node, value, next) {
35703 switch (value) {
35704 case "abstract":
35705 if (this.tsCheckLineTerminator(next) && (this.match(types$1._class) || this.match(types$1.name))) {
35706 return this.tsParseAbstractDeclaration(node);
35707 }
35708
35709 break;
35710
35711 case "enum":
35712 if (next || this.match(types$1.name)) {
35713 if (next) this.next();
35714 return this.tsParseEnumDeclaration(node, false);
35715 }
35716
35717 break;
35718
35719 case "interface":
35720 if (this.tsCheckLineTerminator(next) && this.match(types$1.name)) {
35721 return this.tsParseInterfaceDeclaration(node);
35722 }
35723
35724 break;
35725
35726 case "module":
35727 if (this.tsCheckLineTerminator(next)) {
35728 if (this.match(types$1.string)) {
35729 return this.tsParseAmbientExternalModuleDeclaration(node);
35730 } else if (this.match(types$1.name)) {
35731 return this.tsParseModuleOrNamespaceDeclaration(node);
35732 }
35733 }
35734
35735 break;
35736
35737 case "namespace":
35738 if (this.tsCheckLineTerminator(next) && this.match(types$1.name)) {
35739 return this.tsParseModuleOrNamespaceDeclaration(node);
35740 }
35741
35742 break;
35743
35744 case "type":
35745 if (this.tsCheckLineTerminator(next) && this.match(types$1.name)) {
35746 return this.tsParseTypeAliasDeclaration(node);
35747 }
35748
35749 break;
35750 }
35751 };
35752
35753 _proto.tsCheckLineTerminator = function tsCheckLineTerminator(next) {
35754 if (next) {
35755 if (this.hasFollowingLineBreak()) return false;
35756 this.next();
35757 return true;
35758 }
35759
35760 return !this.isLineTerminator();
35761 };
35762
35763 _proto.tsTryParseGenericAsyncArrowFunction = function tsTryParseGenericAsyncArrowFunction(startPos, startLoc) {
35764 var _this13 = this;
35765
35766 if (!this.isRelational("<")) {
35767 return undefined;
35768 }
35769
35770 var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
35771 this.state.maybeInArrowParameters = true;
35772 var res = this.tsTryParseAndCatch(function () {
35773 var node = _this13.startNodeAt(startPos, startLoc);
35774
35775 node.typeParameters = _this13.tsParseTypeParameters();
35776
35777 _superClass.prototype.parseFunctionParams.call(_this13, node);
35778
35779 node.returnType = _this13.tsTryParseTypeOrTypePredicateAnnotation();
35780
35781 _this13.expect(types$1.arrow);
35782
35783 return node;
35784 });
35785 this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
35786
35787 if (!res) {
35788 return undefined;
35789 }
35790
35791 return this.parseArrowExpression(res, null, true);
35792 };
35793
35794 _proto.tsParseTypeArguments = function tsParseTypeArguments() {
35795 var _this14 = this;
35796
35797 var node = this.startNode();
35798 node.params = this.tsInType(function () {
35799 return _this14.tsInNoContext(function () {
35800 _this14.expectRelational("<");
35801
35802 return _this14.tsParseDelimitedList("TypeParametersOrArguments", _this14.tsParseType.bind(_this14));
35803 });
35804 });
35805
35806 if (node.params.length === 0) {
35807 this.raise(node.start, TSErrors.EmptyTypeArguments);
35808 }
35809
35810 this.expectRelational(">");
35811 return this.finishNode(node, "TSTypeParameterInstantiation");
35812 };
35813
35814 _proto.tsIsDeclarationStart = function tsIsDeclarationStart() {
35815 if (this.match(types$1.name)) {
35816 switch (this.state.value) {
35817 case "abstract":
35818 case "declare":
35819 case "enum":
35820 case "interface":
35821 case "module":
35822 case "namespace":
35823 case "type":
35824 return true;
35825 }
35826 }
35827
35828 return false;
35829 };
35830
35831 _proto.isExportDefaultSpecifier = function isExportDefaultSpecifier() {
35832 if (this.tsIsDeclarationStart()) return false;
35833 return _superClass.prototype.isExportDefaultSpecifier.call(this);
35834 };
35835
35836 _proto.parseAssignableListItem = function parseAssignableListItem(allowModifiers, decorators) {
35837 var startPos = this.state.start;
35838 var startLoc = this.state.startLoc;
35839 var accessibility;
35840 var readonly = false;
35841 var override = false;
35842
35843 if (allowModifiers !== undefined) {
35844 var modified = {};
35845 this.tsParseModifiers(modified, ["public", "private", "protected", "override", "readonly"]);
35846 accessibility = modified.accessibility;
35847 override = modified.override;
35848 readonly = modified.readonly;
35849
35850 if (allowModifiers === false && (accessibility || readonly || override)) {
35851 this.raise(startPos, TSErrors.UnexpectedParameterModifier);
35852 }
35853 }
35854
35855 var left = this.parseMaybeDefault();
35856 this.parseAssignableListItemTypes(left);
35857 var elt = this.parseMaybeDefault(left.start, left.loc.start, left);
35858
35859 if (accessibility || readonly || override) {
35860 var pp = this.startNodeAt(startPos, startLoc);
35861
35862 if (decorators.length) {
35863 pp.decorators = decorators;
35864 }
35865
35866 if (accessibility) pp.accessibility = accessibility;
35867 if (readonly) pp.readonly = readonly;
35868 if (override) pp.override = override;
35869
35870 if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") {
35871 this.raise(pp.start, TSErrors.UnsupportedParameterPropertyKind);
35872 }
35873
35874 pp.parameter = elt;
35875 return this.finishNode(pp, "TSParameterProperty");
35876 }
35877
35878 if (decorators.length) {
35879 left.decorators = decorators;
35880 }
35881
35882 return elt;
35883 };
35884
35885 _proto.parseFunctionBodyAndFinish = function parseFunctionBodyAndFinish(node, type, isMethod) {
35886 if (isMethod === void 0) {
35887 isMethod = false;
35888 }
35889
35890 if (this.match(types$1.colon)) {
35891 node.returnType = this.tsParseTypeOrTypePredicateAnnotation(types$1.colon);
35892 }
35893
35894 var bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" ? "TSDeclareMethod" : undefined;
35895
35896 if (bodilessType && !this.match(types$1.braceL) && this.isLineTerminator()) {
35897 this.finishNode(node, bodilessType);
35898 return;
35899 }
35900
35901 if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) {
35902 this.raise(node.start, TSErrors.DeclareFunctionHasImplementation);
35903
35904 if (node.declare) {
35905 _superClass.prototype.parseFunctionBodyAndFinish.call(this, node, bodilessType, isMethod);
35906
35907 return;
35908 }
35909 }
35910
35911 _superClass.prototype.parseFunctionBodyAndFinish.call(this, node, type, isMethod);
35912 };
35913
35914 _proto.registerFunctionStatementId = function registerFunctionStatementId(node) {
35915 if (!node.body && node.id) {
35916 this.checkLVal(node.id, "function name", BIND_TS_AMBIENT);
35917 } else {
35918 _superClass.prototype.registerFunctionStatementId.apply(this, arguments);
35919 }
35920 };
35921
35922 _proto.tsCheckForInvalidTypeCasts = function tsCheckForInvalidTypeCasts(items) {
35923 var _this15 = this;
35924
35925 items.forEach(function (node) {
35926 if ((node == null ? void 0 : node.type) === "TSTypeCastExpression") {
35927 _this15.raise(node.typeAnnotation.start, TSErrors.UnexpectedTypeAnnotation);
35928 }
35929 });
35930 };
35931
35932 _proto.toReferencedList = function toReferencedList(exprList, isInParens) {
35933 this.tsCheckForInvalidTypeCasts(exprList);
35934 return exprList;
35935 };
35936
35937 _proto.parseArrayLike = function parseArrayLike() {
35938 var _superClass$prototype;
35939
35940 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
35941 args[_key] = arguments[_key];
35942 }
35943
35944 var node = (_superClass$prototype = _superClass.prototype.parseArrayLike).call.apply(_superClass$prototype, [this].concat(args));
35945
35946 if (node.type === "ArrayExpression") {
35947 this.tsCheckForInvalidTypeCasts(node.elements);
35948 }
35949
35950 return node;
35951 };
35952
35953 _proto.parseSubscript = function parseSubscript(base, startPos, startLoc, noCalls, state) {
35954 var _this16 = this;
35955
35956 if (!this.hasPrecedingLineBreak() && this.match(types$1.bang)) {
35957 this.state.exprAllowed = false;
35958 this.next();
35959 var nonNullExpression = this.startNodeAt(startPos, startLoc);
35960 nonNullExpression.expression = base;
35961 return this.finishNode(nonNullExpression, "TSNonNullExpression");
35962 }
35963
35964 if (this.isRelational("<")) {
35965 var result = this.tsTryParseAndCatch(function () {
35966 if (!noCalls && _this16.atPossibleAsyncArrow(base)) {
35967 var asyncArrowFn = _this16.tsTryParseGenericAsyncArrowFunction(startPos, startLoc);
35968
35969 if (asyncArrowFn) {
35970 return asyncArrowFn;
35971 }
35972 }
35973
35974 var node = _this16.startNodeAt(startPos, startLoc);
35975
35976 node.callee = base;
35977
35978 var typeArguments = _this16.tsParseTypeArguments();
35979
35980 if (typeArguments) {
35981 if (!noCalls && _this16.eat(types$1.parenL)) {
35982 node.arguments = _this16.parseCallExpressionArguments(types$1.parenR, false);
35983
35984 _this16.tsCheckForInvalidTypeCasts(node.arguments);
35985
35986 node.typeParameters = typeArguments;
35987
35988 if (state.optionalChainMember) {
35989 node.optional = false;
35990 }
35991
35992 return _this16.finishCallExpression(node, state.optionalChainMember);
35993 } else if (_this16.match(types$1.backQuote)) {
35994 var _result = _this16.parseTaggedTemplateExpression(base, startPos, startLoc, state);
35995
35996 _result.typeParameters = typeArguments;
35997 return _result;
35998 }
35999 }
36000
36001 _this16.unexpected();
36002 });
36003 if (result) return result;
36004 }
36005
36006 return _superClass.prototype.parseSubscript.call(this, base, startPos, startLoc, noCalls, state);
36007 };
36008
36009 _proto.parseNewArguments = function parseNewArguments(node) {
36010 var _this17 = this;
36011
36012 if (this.isRelational("<")) {
36013 var typeParameters = this.tsTryParseAndCatch(function () {
36014 var args = _this17.tsParseTypeArguments();
36015
36016 if (!_this17.match(types$1.parenL)) _this17.unexpected();
36017 return args;
36018 });
36019
36020 if (typeParameters) {
36021 node.typeParameters = typeParameters;
36022 }
36023 }
36024
36025 _superClass.prototype.parseNewArguments.call(this, node);
36026 };
36027
36028 _proto.parseExprOp = function parseExprOp(left, leftStartPos, leftStartLoc, minPrec) {
36029 if (nonNull(types$1._in.binop) > minPrec && !this.hasPrecedingLineBreak() && this.isContextual("as")) {
36030 var node = this.startNodeAt(leftStartPos, leftStartLoc);
36031 node.expression = left;
36032
36033 var _const = this.tsTryNextParseConstantContext();
36034
36035 if (_const) {
36036 node.typeAnnotation = _const;
36037 } else {
36038 node.typeAnnotation = this.tsNextThenParseType();
36039 }
36040
36041 this.finishNode(node, "TSAsExpression");
36042 this.reScan_lt_gt();
36043 return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec);
36044 }
36045
36046 return _superClass.prototype.parseExprOp.call(this, left, leftStartPos, leftStartLoc, minPrec);
36047 };
36048
36049 _proto.checkReservedWord = function checkReservedWord(word, startLoc, checkKeywords, isBinding) {};
36050
36051 _proto.checkDuplicateExports = function checkDuplicateExports() {};
36052
36053 _proto.parseImport = function parseImport(node) {
36054 node.importKind = "value";
36055
36056 if (this.match(types$1.name) || this.match(types$1.star) || this.match(types$1.braceL)) {
36057 var ahead = this.lookahead();
36058
36059 if (this.isContextual("type") && ahead.type !== types$1.comma && !(ahead.type === types$1.name && ahead.value === "from") && ahead.type !== types$1.eq) {
36060 node.importKind = "type";
36061 this.next();
36062 ahead = this.lookahead();
36063 }
36064
36065 if (this.match(types$1.name) && ahead.type === types$1.eq) {
36066 return this.tsParseImportEqualsDeclaration(node);
36067 }
36068 }
36069
36070 var importNode = _superClass.prototype.parseImport.call(this, node);
36071
36072 if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") {
36073 this.raise(importNode.start, TSErrors.TypeImportCannotSpecifyDefaultAndNamed);
36074 }
36075
36076 return importNode;
36077 };
36078
36079 _proto.parseExport = function parseExport(node) {
36080 if (this.match(types$1._import)) {
36081 this.next();
36082
36083 if (this.isContextual("type") && this.lookaheadCharCode() !== 61) {
36084 node.importKind = "type";
36085 this.next();
36086 } else {
36087 node.importKind = "value";
36088 }
36089
36090 return this.tsParseImportEqualsDeclaration(node, true);
36091 } else if (this.eat(types$1.eq)) {
36092 var assign = node;
36093 assign.expression = this.parseExpression();
36094 this.semicolon();
36095 return this.finishNode(assign, "TSExportAssignment");
36096 } else if (this.eatContextual("as")) {
36097 var decl = node;
36098 this.expectContextual("namespace");
36099 decl.id = this.parseIdentifier();
36100 this.semicolon();
36101 return this.finishNode(decl, "TSNamespaceExportDeclaration");
36102 } else {
36103 if (this.isContextual("type") && this.lookahead().type === types$1.braceL) {
36104 this.next();
36105 node.exportKind = "type";
36106 } else {
36107 node.exportKind = "value";
36108 }
36109
36110 return _superClass.prototype.parseExport.call(this, node);
36111 }
36112 };
36113
36114 _proto.isAbstractClass = function isAbstractClass() {
36115 return this.isContextual("abstract") && this.lookahead().type === types$1._class;
36116 };
36117
36118 _proto.parseExportDefaultExpression = function parseExportDefaultExpression() {
36119 if (this.isAbstractClass()) {
36120 var cls = this.startNode();
36121 this.next();
36122 cls["abstract"] = true;
36123 this.parseClass(cls, true, true);
36124 return cls;
36125 }
36126
36127 if (this.state.value === "interface") {
36128 var result = this.tsParseDeclaration(this.startNode(), this.state.value, true);
36129 if (result) return result;
36130 }
36131
36132 return _superClass.prototype.parseExportDefaultExpression.call(this);
36133 };
36134
36135 _proto.parseStatementContent = function parseStatementContent(context, topLevel) {
36136 if (this.state.type === types$1._const) {
36137 var ahead = this.lookahead();
36138
36139 if (ahead.type === types$1.name && ahead.value === "enum") {
36140 var node = this.startNode();
36141 this.expect(types$1._const);
36142 this.expectContextual("enum");
36143 return this.tsParseEnumDeclaration(node, true);
36144 }
36145 }
36146
36147 return _superClass.prototype.parseStatementContent.call(this, context, topLevel);
36148 };
36149
36150 _proto.parseAccessModifier = function parseAccessModifier() {
36151 return this.tsParseModifier(["public", "protected", "private"]);
36152 };
36153
36154 _proto.tsHasSomeModifiers = function tsHasSomeModifiers(member, modifiers) {
36155 return modifiers.some(function (modifier) {
36156 if (tsIsAccessModifier(modifier)) {
36157 return member.accessibility === modifier;
36158 }
36159
36160 return !!member[modifier];
36161 });
36162 };
36163
36164 _proto.parseClassMember = function parseClassMember(classBody, member, state) {
36165 var _this18 = this;
36166
36167 var invalidModifersForStaticBlocks = ["declare", "private", "public", "protected", "override", "abstract", "readonly"];
36168 this.tsParseModifiers(member, invalidModifersForStaticBlocks.concat(["static"]));
36169
36170 var callParseClassMemberWithIsStatic = function callParseClassMemberWithIsStatic() {
36171 var isStatic = !!member["static"];
36172
36173 if (isStatic && _this18.eat(types$1.braceL)) {
36174 if (_this18.tsHasSomeModifiers(member, invalidModifersForStaticBlocks)) {
36175 _this18.raise(_this18.state.pos, TSErrors.StaticBlockCannotHaveModifier);
36176 }
36177
36178 _this18.parseClassStaticBlock(classBody, member);
36179 } else {
36180 _this18.parseClassMemberWithIsStatic(classBody, member, state, isStatic);
36181 }
36182 };
36183
36184 if (member.declare) {
36185 this.tsInAmbientContext(callParseClassMemberWithIsStatic);
36186 } else {
36187 callParseClassMemberWithIsStatic();
36188 }
36189 };
36190
36191 _proto.parseClassMemberWithIsStatic = function parseClassMemberWithIsStatic(classBody, member, state, isStatic) {
36192 var idx = this.tsTryParseIndexSignature(member);
36193
36194 if (idx) {
36195 classBody.body.push(idx);
36196
36197 if (member["abstract"]) {
36198 this.raise(member.start, TSErrors.IndexSignatureHasAbstract);
36199 }
36200
36201 if (member.accessibility) {
36202 this.raise(member.start, TSErrors.IndexSignatureHasAccessibility, member.accessibility);
36203 }
36204
36205 if (member.declare) {
36206 this.raise(member.start, TSErrors.IndexSignatureHasDeclare);
36207 }
36208
36209 if (member.override) {
36210 this.raise(member.start, TSErrors.IndexSignatureHasOverride);
36211 }
36212
36213 return;
36214 }
36215
36216 if (!this.state.inAbstractClass && member["abstract"]) {
36217 this.raise(member.start, TSErrors.NonAbstractClassHasAbstractMethod);
36218 }
36219
36220 if (member.override) {
36221 if (!state.hadSuperClass) {
36222 this.raise(member.start, TSErrors.OverrideNotInSubClass);
36223 }
36224 }
36225
36226 _superClass.prototype.parseClassMemberWithIsStatic.call(this, classBody, member, state, isStatic);
36227 };
36228
36229 _proto.parsePostMemberNameModifiers = function parsePostMemberNameModifiers(methodOrProp) {
36230 var optional = this.eat(types$1.question);
36231 if (optional) methodOrProp.optional = true;
36232
36233 if (methodOrProp.readonly && this.match(types$1.parenL)) {
36234 this.raise(methodOrProp.start, TSErrors.ClassMethodHasReadonly);
36235 }
36236
36237 if (methodOrProp.declare && this.match(types$1.parenL)) {
36238 this.raise(methodOrProp.start, TSErrors.ClassMethodHasDeclare);
36239 }
36240 };
36241
36242 _proto.parseExpressionStatement = function parseExpressionStatement(node, expr) {
36243 var decl = expr.type === "Identifier" ? this.tsParseExpressionStatement(node, expr) : undefined;
36244 return decl || _superClass.prototype.parseExpressionStatement.call(this, node, expr);
36245 };
36246
36247 _proto.shouldParseExportDeclaration = function shouldParseExportDeclaration() {
36248 if (this.tsIsDeclarationStart()) return true;
36249 return _superClass.prototype.shouldParseExportDeclaration.call(this);
36250 };
36251
36252 _proto.parseConditional = function parseConditional(expr, startPos, startLoc, refExpressionErrors) {
36253 var _this19 = this;
36254
36255 if (!this.state.maybeInArrowParameters || !this.match(types$1.question)) {
36256 return _superClass.prototype.parseConditional.call(this, expr, startPos, startLoc, refExpressionErrors);
36257 }
36258
36259 var result = this.tryParse(function () {
36260 return _superClass.prototype.parseConditional.call(_this19, expr, startPos, startLoc);
36261 });
36262
36263 if (!result.node) {
36264 if (result.error) {
36265 _superClass.prototype.setOptionalParametersError.call(this, refExpressionErrors, result.error);
36266 }
36267
36268 return expr;
36269 }
36270
36271 if (result.error) this.state = result.failState;
36272 return result.node;
36273 };
36274
36275 _proto.parseParenItem = function parseParenItem(node, startPos, startLoc) {
36276 node = _superClass.prototype.parseParenItem.call(this, node, startPos, startLoc);
36277
36278 if (this.eat(types$1.question)) {
36279 node.optional = true;
36280 this.resetEndLocation(node);
36281 }
36282
36283 if (this.match(types$1.colon)) {
36284 var typeCastNode = this.startNodeAt(startPos, startLoc);
36285 typeCastNode.expression = node;
36286 typeCastNode.typeAnnotation = this.tsParseTypeAnnotation();
36287 return this.finishNode(typeCastNode, "TSTypeCastExpression");
36288 }
36289
36290 return node;
36291 };
36292
36293 _proto.parseExportDeclaration = function parseExportDeclaration(node) {
36294 var startPos = this.state.start;
36295 var startLoc = this.state.startLoc;
36296 var isDeclare = this.eatContextual("declare");
36297
36298 if (isDeclare && (this.isContextual("declare") || !this.shouldParseExportDeclaration())) {
36299 throw this.raise(this.state.start, TSErrors.ExpectedAmbientAfterExportDeclare);
36300 }
36301
36302 var declaration;
36303
36304 if (this.match(types$1.name)) {
36305 declaration = this.tsTryParseExportDeclaration();
36306 }
36307
36308 if (!declaration) {
36309 declaration = _superClass.prototype.parseExportDeclaration.call(this, node);
36310 }
36311
36312 if (declaration && (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare)) {
36313 node.exportKind = "type";
36314 }
36315
36316 if (declaration && isDeclare) {
36317 this.resetStartLocation(declaration, startPos, startLoc);
36318 declaration.declare = true;
36319 }
36320
36321 return declaration;
36322 };
36323
36324 _proto.parseClassId = function parseClassId(node, isStatement, optionalId) {
36325 if ((!isStatement || optionalId) && this.isContextual("implements")) {
36326 return;
36327 }
36328
36329 _superClass.prototype.parseClassId.call(this, node, isStatement, optionalId, node.declare ? BIND_TS_AMBIENT : BIND_CLASS);
36330
36331 var typeParameters = this.tsTryParseTypeParameters();
36332 if (typeParameters) node.typeParameters = typeParameters;
36333 };
36334
36335 _proto.parseClassPropertyAnnotation = function parseClassPropertyAnnotation(node) {
36336 if (!node.optional && this.eat(types$1.bang)) {
36337 node.definite = true;
36338 }
36339
36340 var type = this.tsTryParseTypeAnnotation();
36341 if (type) node.typeAnnotation = type;
36342 };
36343
36344 _proto.parseClassProperty = function parseClassProperty(node) {
36345 this.parseClassPropertyAnnotation(node);
36346
36347 if (this.state.isAmbientContext && this.match(types$1.eq)) {
36348 this.raise(this.state.start, TSErrors.DeclareClassFieldHasInitializer);
36349 }
36350
36351 return _superClass.prototype.parseClassProperty.call(this, node);
36352 };
36353
36354 _proto.parseClassPrivateProperty = function parseClassPrivateProperty(node) {
36355 if (node["abstract"]) {
36356 this.raise(node.start, TSErrors.PrivateElementHasAbstract);
36357 }
36358
36359 if (node.accessibility) {
36360 this.raise(node.start, TSErrors.PrivateElementHasAccessibility, node.accessibility);
36361 }
36362
36363 this.parseClassPropertyAnnotation(node);
36364 return _superClass.prototype.parseClassPrivateProperty.call(this, node);
36365 };
36366
36367 _proto.pushClassMethod = function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
36368 var typeParameters = this.tsTryParseTypeParameters();
36369
36370 if (typeParameters && isConstructor) {
36371 this.raise(typeParameters.start, TSErrors.ConstructorHasTypeParameters);
36372 }
36373
36374 if (method.declare && (method.kind === "get" || method.kind === "set")) {
36375 this.raise(method.start, TSErrors.DeclareAccessor, method.kind);
36376 }
36377
36378 if (typeParameters) method.typeParameters = typeParameters;
36379
36380 _superClass.prototype.pushClassMethod.call(this, classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);
36381 };
36382
36383 _proto.pushClassPrivateMethod = function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {
36384 var typeParameters = this.tsTryParseTypeParameters();
36385 if (typeParameters) method.typeParameters = typeParameters;
36386
36387 _superClass.prototype.pushClassPrivateMethod.call(this, classBody, method, isGenerator, isAsync);
36388 };
36389
36390 _proto.parseClassSuper = function parseClassSuper(node) {
36391 _superClass.prototype.parseClassSuper.call(this, node);
36392
36393 if (node.superClass && this.isRelational("<")) {
36394 node.superTypeParameters = this.tsParseTypeArguments();
36395 }
36396
36397 if (this.eatContextual("implements")) {
36398 node["implements"] = this.tsParseHeritageClause("implements");
36399 }
36400 };
36401
36402 _proto.parseObjPropValue = function parseObjPropValue(prop) {
36403 var _superClass$prototype2;
36404
36405 var typeParameters = this.tsTryParseTypeParameters();
36406 if (typeParameters) prop.typeParameters = typeParameters;
36407
36408 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
36409 args[_key2 - 1] = arguments[_key2];
36410 }
36411
36412 (_superClass$prototype2 = _superClass.prototype.parseObjPropValue).call.apply(_superClass$prototype2, [this, prop].concat(args));
36413 };
36414
36415 _proto.parseFunctionParams = function parseFunctionParams(node, allowModifiers) {
36416 var typeParameters = this.tsTryParseTypeParameters();
36417 if (typeParameters) node.typeParameters = typeParameters;
36418
36419 _superClass.prototype.parseFunctionParams.call(this, node, allowModifiers);
36420 };
36421
36422 _proto.parseVarId = function parseVarId(decl, kind) {
36423 _superClass.prototype.parseVarId.call(this, decl, kind);
36424
36425 if (decl.id.type === "Identifier" && this.eat(types$1.bang)) {
36426 decl.definite = true;
36427 }
36428
36429 var type = this.tsTryParseTypeAnnotation();
36430
36431 if (type) {
36432 decl.id.typeAnnotation = type;
36433 this.resetEndLocation(decl.id);
36434 }
36435 };
36436
36437 _proto.parseAsyncArrowFromCallExpression = function parseAsyncArrowFromCallExpression(node, call) {
36438 if (this.match(types$1.colon)) {
36439 node.returnType = this.tsParseTypeAnnotation();
36440 }
36441
36442 return _superClass.prototype.parseAsyncArrowFromCallExpression.call(this, node, call);
36443 };
36444
36445 _proto.parseMaybeAssign = function parseMaybeAssign() {
36446 var _this20 = this,
36447 _jsx,
36448 _jsx2,
36449 _typeCast,
36450 _jsx3,
36451 _typeCast2,
36452 _jsx4,
36453 _typeCast3;
36454
36455 for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
36456 args[_key3] = arguments[_key3];
36457 }
36458
36459 var state;
36460 var jsx;
36461 var typeCast;
36462
36463 if (this.hasPlugin("jsx") && (this.match(types$1.jsxTagStart) || this.isRelational("<"))) {
36464 state = this.state.clone();
36465 jsx = this.tryParse(function () {
36466 var _superClass$prototype3;
36467
36468 return (_superClass$prototype3 = _superClass.prototype.parseMaybeAssign).call.apply(_superClass$prototype3, [_this20].concat(args));
36469 }, state);
36470 if (!jsx.error) return jsx.node;
36471 var context = this.state.context;
36472
36473 if (context[context.length - 1] === types.j_oTag) {
36474 context.length -= 2;
36475 } else if (context[context.length - 1] === types.j_expr) {
36476 context.length -= 1;
36477 }
36478 }
36479
36480 if (!((_jsx = jsx) != null && _jsx.error) && !this.isRelational("<")) {
36481 var _superClass$prototype4;
36482
36483 return (_superClass$prototype4 = _superClass.prototype.parseMaybeAssign).call.apply(_superClass$prototype4, [this].concat(args));
36484 }
36485
36486 var typeParameters;
36487 state = state || this.state.clone();
36488 var arrow = this.tryParse(function (abort) {
36489 var _superClass$prototype5, _expr$extra, _typeParameters;
36490
36491 typeParameters = _this20.tsParseTypeParameters();
36492
36493 var expr = (_superClass$prototype5 = _superClass.prototype.parseMaybeAssign).call.apply(_superClass$prototype5, [_this20].concat(args));
36494
36495 if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) {
36496 abort();
36497 }
36498
36499 if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) {
36500 _this20.resetStartLocationFromNode(expr, typeParameters);
36501 }
36502
36503 expr.typeParameters = typeParameters;
36504 return expr;
36505 }, state);
36506 if (!arrow.error && !arrow.aborted) return arrow.node;
36507
36508 if (!jsx) {
36509 assert(!this.hasPlugin("jsx"));
36510 typeCast = this.tryParse(function () {
36511 var _superClass$prototype6;
36512
36513 return (_superClass$prototype6 = _superClass.prototype.parseMaybeAssign).call.apply(_superClass$prototype6, [_this20].concat(args));
36514 }, state);
36515 if (!typeCast.error) return typeCast.node;
36516 }
36517
36518 if ((_jsx2 = jsx) != null && _jsx2.node) {
36519 this.state = jsx.failState;
36520 return jsx.node;
36521 }
36522
36523 if (arrow.node) {
36524 this.state = arrow.failState;
36525 return arrow.node;
36526 }
36527
36528 if ((_typeCast = typeCast) != null && _typeCast.node) {
36529 this.state = typeCast.failState;
36530 return typeCast.node;
36531 }
36532
36533 if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error;
36534 if (arrow.thrown) throw arrow.error;
36535 if ((_typeCast2 = typeCast) != null && _typeCast2.thrown) throw typeCast.error;
36536 throw ((_jsx4 = jsx) == null ? void 0 : _jsx4.error) || arrow.error || ((_typeCast3 = typeCast) == null ? void 0 : _typeCast3.error);
36537 };
36538
36539 _proto.parseMaybeUnary = function parseMaybeUnary(refExpressionErrors) {
36540 if (!this.hasPlugin("jsx") && this.isRelational("<")) {
36541 return this.tsParseTypeAssertion();
36542 } else {
36543 return _superClass.prototype.parseMaybeUnary.call(this, refExpressionErrors);
36544 }
36545 };
36546
36547 _proto.parseArrow = function parseArrow(node) {
36548 var _this21 = this;
36549
36550 if (this.match(types$1.colon)) {
36551 var result = this.tryParse(function (abort) {
36552 var returnType = _this21.tsParseTypeOrTypePredicateAnnotation(types$1.colon);
36553
36554 if (_this21.canInsertSemicolon() || !_this21.match(types$1.arrow)) abort();
36555 return returnType;
36556 });
36557 if (result.aborted) return;
36558
36559 if (!result.thrown) {
36560 if (result.error) this.state = result.failState;
36561 node.returnType = result.node;
36562 }
36563 }
36564
36565 return _superClass.prototype.parseArrow.call(this, node);
36566 };
36567
36568 _proto.parseAssignableListItemTypes = function parseAssignableListItemTypes(param) {
36569 if (this.eat(types$1.question)) {
36570 if (param.type !== "Identifier" && !this.state.isAmbientContext && !this.state.inType) {
36571 this.raise(param.start, TSErrors.PatternIsOptional);
36572 }
36573
36574 param.optional = true;
36575 }
36576
36577 var type = this.tsTryParseTypeAnnotation();
36578 if (type) param.typeAnnotation = type;
36579 this.resetEndLocation(param);
36580 return param;
36581 };
36582
36583 _proto.toAssignable = function toAssignable(node, isLHS) {
36584 if (isLHS === void 0) {
36585 isLHS = false;
36586 }
36587
36588 switch (node.type) {
36589 case "TSTypeCastExpression":
36590 return _superClass.prototype.toAssignable.call(this, this.typeCastToParameter(node), isLHS);
36591
36592 case "TSParameterProperty":
36593 return _superClass.prototype.toAssignable.call(this, node, isLHS);
36594
36595 case "ParenthesizedExpression":
36596 return this.toAssignableParenthesizedExpression(node, isLHS);
36597
36598 case "TSAsExpression":
36599 case "TSNonNullExpression":
36600 case "TSTypeAssertion":
36601 node.expression = this.toAssignable(node.expression, isLHS);
36602 return node;
36603
36604 default:
36605 return _superClass.prototype.toAssignable.call(this, node, isLHS);
36606 }
36607 };
36608
36609 _proto.toAssignableParenthesizedExpression = function toAssignableParenthesizedExpression(node, isLHS) {
36610 switch (node.expression.type) {
36611 case "TSAsExpression":
36612 case "TSNonNullExpression":
36613 case "TSTypeAssertion":
36614 case "ParenthesizedExpression":
36615 node.expression = this.toAssignable(node.expression, isLHS);
36616 return node;
36617
36618 default:
36619 return _superClass.prototype.toAssignable.call(this, node, isLHS);
36620 }
36621 };
36622
36623 _proto.checkLVal = function checkLVal(expr, contextDescription) {
36624 var _expr$extra2, _superClass$prototype7;
36625
36626 for (var _len4 = arguments.length, args = new Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {
36627 args[_key4 - 2] = arguments[_key4];
36628 }
36629
36630 switch (expr.type) {
36631 case "TSTypeCastExpression":
36632 return;
36633
36634 case "TSParameterProperty":
36635 this.checkLVal.apply(this, [expr.parameter, "parameter property"].concat(args));
36636 return;
36637
36638 case "TSAsExpression":
36639 case "TSTypeAssertion":
36640 if (!args[0] && contextDescription !== "parenthesized expression" && !((_expr$extra2 = expr.extra) != null && _expr$extra2.parenthesized)) {
36641 this.raise(expr.start, ErrorMessages.InvalidLhs, contextDescription);
36642 break;
36643 }
36644
36645 this.checkLVal.apply(this, [expr.expression, "parenthesized expression"].concat(args));
36646 return;
36647
36648 case "TSNonNullExpression":
36649 this.checkLVal.apply(this, [expr.expression, contextDescription].concat(args));
36650 return;
36651
36652 default:
36653 (_superClass$prototype7 = _superClass.prototype.checkLVal).call.apply(_superClass$prototype7, [this, expr, contextDescription].concat(args));
36654
36655 return;
36656 }
36657 };
36658
36659 _proto.parseBindingAtom = function parseBindingAtom() {
36660 switch (this.state.type) {
36661 case types$1._this:
36662 return this.parseIdentifier(true);
36663
36664 default:
36665 return _superClass.prototype.parseBindingAtom.call(this);
36666 }
36667 };
36668
36669 _proto.parseMaybeDecoratorArguments = function parseMaybeDecoratorArguments(expr) {
36670 if (this.isRelational("<")) {
36671 var typeArguments = this.tsParseTypeArguments();
36672
36673 if (this.match(types$1.parenL)) {
36674 var call = _superClass.prototype.parseMaybeDecoratorArguments.call(this, expr);
36675
36676 call.typeParameters = typeArguments;
36677 return call;
36678 }
36679
36680 this.unexpected(this.state.start, types$1.parenL);
36681 }
36682
36683 return _superClass.prototype.parseMaybeDecoratorArguments.call(this, expr);
36684 };
36685
36686 _proto.checkCommaAfterRest = function checkCommaAfterRest(close) {
36687 if (this.state.isAmbientContext && this.match(types$1.comma) && this.lookaheadCharCode() === close) {
36688 this.next();
36689 } else {
36690 _superClass.prototype.checkCommaAfterRest.call(this, close);
36691 }
36692 };
36693
36694 _proto.isClassMethod = function isClassMethod() {
36695 return this.isRelational("<") || _superClass.prototype.isClassMethod.call(this);
36696 };
36697
36698 _proto.isClassProperty = function isClassProperty() {
36699 return this.match(types$1.bang) || this.match(types$1.colon) || _superClass.prototype.isClassProperty.call(this);
36700 };
36701
36702 _proto.parseMaybeDefault = function parseMaybeDefault() {
36703 var _superClass$prototype8;
36704
36705 for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
36706 args[_key5] = arguments[_key5];
36707 }
36708
36709 var node = (_superClass$prototype8 = _superClass.prototype.parseMaybeDefault).call.apply(_superClass$prototype8, [this].concat(args));
36710
36711 if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {
36712 this.raise(node.typeAnnotation.start, TSErrors.TypeAnnotationAfterAssign);
36713 }
36714
36715 return node;
36716 };
36717
36718 _proto.getTokenFromCode = function getTokenFromCode(code) {
36719 if (this.state.inType && (code === 62 || code === 60)) {
36720 return this.finishOp(types$1.relational, 1);
36721 } else {
36722 return _superClass.prototype.getTokenFromCode.call(this, code);
36723 }
36724 };
36725
36726 _proto.reScan_lt_gt = function reScan_lt_gt() {
36727 if (this.match(types$1.relational)) {
36728 var code = this.input.charCodeAt(this.state.start);
36729
36730 if (code === 60 || code === 62) {
36731 this.state.pos -= 1;
36732 this.readToken_lt_gt(code);
36733 }
36734 }
36735 };
36736
36737 _proto.toAssignableList = function toAssignableList(exprList) {
36738 for (var i = 0; i < exprList.length; i++) {
36739 var expr = exprList[i];
36740 if (!expr) continue;
36741
36742 switch (expr.type) {
36743 case "TSTypeCastExpression":
36744 exprList[i] = this.typeCastToParameter(expr);
36745 break;
36746
36747 case "TSAsExpression":
36748 case "TSTypeAssertion":
36749 if (!this.state.maybeInArrowParameters) {
36750 exprList[i] = this.typeCastToParameter(expr);
36751 } else {
36752 this.raise(expr.start, TSErrors.UnexpectedTypeCastInParameter);
36753 }
36754
36755 break;
36756 }
36757 }
36758
36759 return _superClass.prototype.toAssignableList.apply(this, arguments);
36760 };
36761
36762 _proto.typeCastToParameter = function typeCastToParameter(node) {
36763 node.expression.typeAnnotation = node.typeAnnotation;
36764 this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end);
36765 return node.expression;
36766 };
36767
36768 _proto.shouldParseArrow = function shouldParseArrow() {
36769 return this.match(types$1.colon) || _superClass.prototype.shouldParseArrow.call(this);
36770 };
36771
36772 _proto.shouldParseAsyncArrow = function shouldParseAsyncArrow() {
36773 return this.match(types$1.colon) || _superClass.prototype.shouldParseAsyncArrow.call(this);
36774 };
36775
36776 _proto.canHaveLeadingDecorator = function canHaveLeadingDecorator() {
36777 return _superClass.prototype.canHaveLeadingDecorator.call(this) || this.isAbstractClass();
36778 };
36779
36780 _proto.jsxParseOpeningElementAfterName = function jsxParseOpeningElementAfterName(node) {
36781 var _this22 = this;
36782
36783 if (this.isRelational("<")) {
36784 var typeArguments = this.tsTryParseAndCatch(function () {
36785 return _this22.tsParseTypeArguments();
36786 });
36787 if (typeArguments) node.typeParameters = typeArguments;
36788 }
36789
36790 return _superClass.prototype.jsxParseOpeningElementAfterName.call(this, node);
36791 };
36792
36793 _proto.getGetterSetterExpectedParamCount = function getGetterSetterExpectedParamCount(method) {
36794 var baseCount = _superClass.prototype.getGetterSetterExpectedParamCount.call(this, method);
36795
36796 var params = this.getObjectOrClassMethodParams(method);
36797 var firstParam = params[0];
36798 var hasContextParam = firstParam && this.isThisParam(firstParam);
36799 return hasContextParam ? baseCount + 1 : baseCount;
36800 };
36801
36802 _proto.parseCatchClauseParam = function parseCatchClauseParam() {
36803 var param = _superClass.prototype.parseCatchClauseParam.call(this);
36804
36805 var type = this.tsTryParseTypeAnnotation();
36806
36807 if (type) {
36808 param.typeAnnotation = type;
36809 this.resetEndLocation(param);
36810 }
36811
36812 return param;
36813 };
36814
36815 _proto.tsInAmbientContext = function tsInAmbientContext(cb) {
36816 var oldIsAmbientContext = this.state.isAmbientContext;
36817 this.state.isAmbientContext = true;
36818
36819 try {
36820 return cb();
36821 } finally {
36822 this.state.isAmbientContext = oldIsAmbientContext;
36823 }
36824 };
36825
36826 _proto.parseClass = function parseClass(node) {
36827 var oldInAbstractClass = this.state.inAbstractClass;
36828 this.state.inAbstractClass = !!node["abstract"];
36829
36830 try {
36831 var _superClass$prototype9;
36832
36833 for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
36834 args[_key6 - 1] = arguments[_key6];
36835 }
36836
36837 return (_superClass$prototype9 = _superClass.prototype.parseClass).call.apply(_superClass$prototype9, [this, node].concat(args));
36838 } finally {
36839 this.state.inAbstractClass = oldInAbstractClass;
36840 }
36841 };
36842
36843 _proto.tsParseAbstractDeclaration = function tsParseAbstractDeclaration(node) {
36844 if (this.match(types$1._class)) {
36845 node["abstract"] = true;
36846 return this.parseClass(node, true, false);
36847 } else if (this.isContextual("interface")) {
36848 if (!this.hasFollowingLineBreak()) {
36849 node["abstract"] = true;
36850 this.raise(node.start, TSErrors.NonClassMethodPropertyHasAbstractModifer);
36851 this.next();
36852 return this.tsParseInterfaceDeclaration(node);
36853 }
36854 } else {
36855 this.unexpected(null, types$1._class);
36856 }
36857 };
36858
36859 _proto.parseMethod = function parseMethod() {
36860 var _superClass$prototype10;
36861
36862 for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
36863 args[_key7] = arguments[_key7];
36864 }
36865
36866 var method = (_superClass$prototype10 = _superClass.prototype.parseMethod).call.apply(_superClass$prototype10, [this].concat(args));
36867
36868 if (method["abstract"]) {
36869 var hasBody = this.hasPlugin("estree") ? !!method.value.body : !!method.body;
36870
36871 if (hasBody) {
36872 var _key8 = method.key;
36873 this.raise(method.start, TSErrors.AbstractMethodHasImplementation, _key8.type === "Identifier" ? _key8.name : "[" + this.input.slice(_key8.start, _key8.end) + "]");
36874 }
36875 }
36876
36877 return method;
36878 };
36879
36880 _proto.tsParseTypeParameterName = function tsParseTypeParameterName() {
36881 var typeName = this.parseIdentifier();
36882 return typeName.name;
36883 };
36884
36885 _proto.shouldParseAsAmbientContext = function shouldParseAsAmbientContext() {
36886 return !!this.getPluginOption("typescript", "dts");
36887 };
36888
36889 _proto.parse = function parse() {
36890 if (this.shouldParseAsAmbientContext()) {
36891 this.state.isAmbientContext = true;
36892 }
36893
36894 return _superClass.prototype.parse.call(this);
36895 };
36896
36897 _proto.getExpression = function getExpression() {
36898 if (this.shouldParseAsAmbientContext()) {
36899 this.state.isAmbientContext = true;
36900 }
36901
36902 return _superClass.prototype.getExpression.call(this);
36903 };
36904
36905 return _class;
36906 }(superClass);
36907 });
36908
36909 types$1.placeholder = new TokenType("%%", {
36910 startsExpr: true
36911 });
36912 var PlaceHolderErrors = makeErrorTemplates({
36913 ClassNameIsRequired: "A class name is required."
36914 }, ErrorCodes.SyntaxError);
36915 var placeholders = (function (superClass) {
36916 return function (_superClass) {
36917 _inherits(_class, _superClass);
36918
36919 function _class() {
36920 return _superClass.apply(this, arguments) || this;
36921 }
36922
36923 var _proto = _class.prototype;
36924
36925 _proto.parsePlaceholder = function parsePlaceholder(expectedNode) {
36926 if (this.match(types$1.placeholder)) {
36927 var node = this.startNode();
36928 this.next();
36929 this.assertNoSpace("Unexpected space in placeholder.");
36930 node.name = _superClass.prototype.parseIdentifier.call(this, true);
36931 this.assertNoSpace("Unexpected space in placeholder.");
36932 this.expect(types$1.placeholder);
36933 return this.finishPlaceholder(node, expectedNode);
36934 }
36935 };
36936
36937 _proto.finishPlaceholder = function finishPlaceholder(node, expectedNode) {
36938 var isFinished = !!(node.expectedNode && node.type === "Placeholder");
36939 node.expectedNode = expectedNode;
36940 return isFinished ? node : this.finishNode(node, "Placeholder");
36941 };
36942
36943 _proto.getTokenFromCode = function getTokenFromCode(code) {
36944 if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) {
36945 return this.finishOp(types$1.placeholder, 2);
36946 }
36947
36948 return _superClass.prototype.getTokenFromCode.apply(this, arguments);
36949 };
36950
36951 _proto.parseExprAtom = function parseExprAtom() {
36952 return this.parsePlaceholder("Expression") || _superClass.prototype.parseExprAtom.apply(this, arguments);
36953 };
36954
36955 _proto.parseIdentifier = function parseIdentifier() {
36956 return this.parsePlaceholder("Identifier") || _superClass.prototype.parseIdentifier.apply(this, arguments);
36957 };
36958
36959 _proto.checkReservedWord = function checkReservedWord(word) {
36960 if (word !== undefined) _superClass.prototype.checkReservedWord.apply(this, arguments);
36961 };
36962
36963 _proto.parseBindingAtom = function parseBindingAtom() {
36964 return this.parsePlaceholder("Pattern") || _superClass.prototype.parseBindingAtom.apply(this, arguments);
36965 };
36966
36967 _proto.checkLVal = function checkLVal(expr) {
36968 if (expr.type !== "Placeholder") _superClass.prototype.checkLVal.apply(this, arguments);
36969 };
36970
36971 _proto.toAssignable = function toAssignable(node) {
36972 if (node && node.type === "Placeholder" && node.expectedNode === "Expression") {
36973 node.expectedNode = "Pattern";
36974 return node;
36975 }
36976
36977 return _superClass.prototype.toAssignable.apply(this, arguments);
36978 };
36979
36980 _proto.isLet = function isLet(context) {
36981 if (_superClass.prototype.isLet.call(this, context)) {
36982 return true;
36983 }
36984
36985 if (!this.isContextual("let")) {
36986 return false;
36987 }
36988
36989 if (context) return false;
36990 var nextToken = this.lookahead();
36991
36992 if (nextToken.type === types$1.placeholder) {
36993 return true;
36994 }
36995
36996 return false;
36997 };
36998
36999 _proto.verifyBreakContinue = function verifyBreakContinue(node) {
37000 if (node.label && node.label.type === "Placeholder") return;
37001
37002 _superClass.prototype.verifyBreakContinue.apply(this, arguments);
37003 };
37004
37005 _proto.parseExpressionStatement = function parseExpressionStatement(node, expr) {
37006 if (expr.type !== "Placeholder" || expr.extra && expr.extra.parenthesized) {
37007 return _superClass.prototype.parseExpressionStatement.apply(this, arguments);
37008 }
37009
37010 if (this.match(types$1.colon)) {
37011 var stmt = node;
37012 stmt.label = this.finishPlaceholder(expr, "Identifier");
37013 this.next();
37014 stmt.body = this.parseStatement("label");
37015 return this.finishNode(stmt, "LabeledStatement");
37016 }
37017
37018 this.semicolon();
37019 node.name = expr.name;
37020 return this.finishPlaceholder(node, "Statement");
37021 };
37022
37023 _proto.parseBlock = function parseBlock() {
37024 return this.parsePlaceholder("BlockStatement") || _superClass.prototype.parseBlock.apply(this, arguments);
37025 };
37026
37027 _proto.parseFunctionId = function parseFunctionId() {
37028 return this.parsePlaceholder("Identifier") || _superClass.prototype.parseFunctionId.apply(this, arguments);
37029 };
37030
37031 _proto.parseClass = function parseClass(node, isStatement, optionalId) {
37032 var type = isStatement ? "ClassDeclaration" : "ClassExpression";
37033 this.next();
37034 this.takeDecorators(node);
37035 var oldStrict = this.state.strict;
37036 var placeholder = this.parsePlaceholder("Identifier");
37037
37038 if (placeholder) {
37039 if (this.match(types$1._extends) || this.match(types$1.placeholder) || this.match(types$1.braceL)) {
37040 node.id = placeholder;
37041 } else if (optionalId || !isStatement) {
37042 node.id = null;
37043 node.body = this.finishPlaceholder(placeholder, "ClassBody");
37044 return this.finishNode(node, type);
37045 } else {
37046 this.unexpected(null, PlaceHolderErrors.ClassNameIsRequired);
37047 }
37048 } else {
37049 this.parseClassId(node, isStatement, optionalId);
37050 }
37051
37052 this.parseClassSuper(node);
37053 node.body = this.parsePlaceholder("ClassBody") || this.parseClassBody(!!node.superClass, oldStrict);
37054 return this.finishNode(node, type);
37055 };
37056
37057 _proto.parseExport = function parseExport(node) {
37058 var placeholder = this.parsePlaceholder("Identifier");
37059 if (!placeholder) return _superClass.prototype.parseExport.apply(this, arguments);
37060
37061 if (!this.isContextual("from") && !this.match(types$1.comma)) {
37062 node.specifiers = [];
37063 node.source = null;
37064 node.declaration = this.finishPlaceholder(placeholder, "Declaration");
37065 return this.finishNode(node, "ExportNamedDeclaration");
37066 }
37067
37068 this.expectPlugin("exportDefaultFrom");
37069 var specifier = this.startNode();
37070 specifier.exported = placeholder;
37071 node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")];
37072 return _superClass.prototype.parseExport.call(this, node);
37073 };
37074
37075 _proto.isExportDefaultSpecifier = function isExportDefaultSpecifier() {
37076 if (this.match(types$1._default)) {
37077 var next = this.nextTokenStart();
37078
37079 if (this.isUnparsedContextual(next, "from")) {
37080 if (this.input.startsWith(types$1.placeholder.label, this.nextTokenStartSince(next + 4))) {
37081 return true;
37082 }
37083 }
37084 }
37085
37086 return _superClass.prototype.isExportDefaultSpecifier.call(this);
37087 };
37088
37089 _proto.maybeParseExportDefaultSpecifier = function maybeParseExportDefaultSpecifier(node) {
37090 if (node.specifiers && node.specifiers.length > 0) {
37091 return true;
37092 }
37093
37094 return _superClass.prototype.maybeParseExportDefaultSpecifier.apply(this, arguments);
37095 };
37096
37097 _proto.checkExport = function checkExport(node) {
37098 var specifiers = node.specifiers;
37099
37100 if (specifiers != null && specifiers.length) {
37101 node.specifiers = specifiers.filter(function (node) {
37102 return node.exported.type === "Placeholder";
37103 });
37104 }
37105
37106 _superClass.prototype.checkExport.call(this, node);
37107
37108 node.specifiers = specifiers;
37109 };
37110
37111 _proto.parseImport = function parseImport(node) {
37112 var placeholder = this.parsePlaceholder("Identifier");
37113 if (!placeholder) return _superClass.prototype.parseImport.apply(this, arguments);
37114 node.specifiers = [];
37115
37116 if (!this.isContextual("from") && !this.match(types$1.comma)) {
37117 node.source = this.finishPlaceholder(placeholder, "StringLiteral");
37118 this.semicolon();
37119 return this.finishNode(node, "ImportDeclaration");
37120 }
37121
37122 var specifier = this.startNodeAtNode(placeholder);
37123 specifier.local = placeholder;
37124 this.finishNode(specifier, "ImportDefaultSpecifier");
37125 node.specifiers.push(specifier);
37126
37127 if (this.eat(types$1.comma)) {
37128 var hasStarImport = this.maybeParseStarImportSpecifier(node);
37129 if (!hasStarImport) this.parseNamedImportSpecifiers(node);
37130 }
37131
37132 this.expectContextual("from");
37133 node.source = this.parseImportSource();
37134 this.semicolon();
37135 return this.finishNode(node, "ImportDeclaration");
37136 };
37137
37138 _proto.parseImportSource = function parseImportSource() {
37139 return this.parsePlaceholder("StringLiteral") || _superClass.prototype.parseImportSource.apply(this, arguments);
37140 };
37141
37142 return _class;
37143 }(superClass);
37144 });
37145
37146 var v8intrinsic = (function (superClass) {
37147 return function (_superClass) {
37148 _inherits(_class, _superClass);
37149
37150 function _class() {
37151 return _superClass.apply(this, arguments) || this;
37152 }
37153
37154 var _proto = _class.prototype;
37155
37156 _proto.parseV8Intrinsic = function parseV8Intrinsic() {
37157 if (this.match(types$1.modulo)) {
37158 var v8IntrinsicStart = this.state.start;
37159 var node = this.startNode();
37160 this.eat(types$1.modulo);
37161
37162 if (this.match(types$1.name)) {
37163 var name = this.parseIdentifierName(this.state.start);
37164 var identifier = this.createIdentifier(node, name);
37165 identifier.type = "V8IntrinsicIdentifier";
37166
37167 if (this.match(types$1.parenL)) {
37168 return identifier;
37169 }
37170 }
37171
37172 this.unexpected(v8IntrinsicStart);
37173 }
37174 };
37175
37176 _proto.parseExprAtom = function parseExprAtom() {
37177 return this.parseV8Intrinsic() || _superClass.prototype.parseExprAtom.apply(this, arguments);
37178 };
37179
37180 return _class;
37181 }(superClass);
37182 });
37183
37184 function hasPlugin(plugins, name) {
37185 return plugins.some(function (plugin) {
37186 if (Array.isArray(plugin)) {
37187 return plugin[0] === name;
37188 } else {
37189 return plugin === name;
37190 }
37191 });
37192 }
37193 function getPluginOption(plugins, name, option) {
37194 var plugin = plugins.find(function (plugin) {
37195 if (Array.isArray(plugin)) {
37196 return plugin[0] === name;
37197 } else {
37198 return plugin === name;
37199 }
37200 });
37201
37202 if (plugin && Array.isArray(plugin)) {
37203 return plugin[1][option];
37204 }
37205
37206 return null;
37207 }
37208 var PIPELINE_PROPOSALS = ["minimal", "smart", "fsharp"];
37209 var RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"];
37210 function validatePlugins(plugins) {
37211 if (hasPlugin(plugins, "decorators")) {
37212 if (hasPlugin(plugins, "decorators-legacy")) {
37213 throw new Error("Cannot use the decorators and decorators-legacy plugin together");
37214 }
37215
37216 var decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport");
37217
37218 if (decoratorsBeforeExport == null) {
37219 throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option," + " whose value must be a boolean. If you are migrating from" + " Babylon/Babel 6 or want to use the old decorators proposal, you" + " should use the 'decorators-legacy' plugin instead of 'decorators'.");
37220 } else if (typeof decoratorsBeforeExport !== "boolean") {
37221 throw new Error("'decoratorsBeforeExport' must be a boolean.");
37222 }
37223 }
37224
37225 if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) {
37226 throw new Error("Cannot combine flow and typescript plugins.");
37227 }
37228
37229 if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) {
37230 throw new Error("Cannot combine placeholders and v8intrinsic plugins.");
37231 }
37232
37233 if (hasPlugin(plugins, "pipelineOperator") && !PIPELINE_PROPOSALS.includes(getPluginOption(plugins, "pipelineOperator", "proposal"))) {
37234 throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: " + PIPELINE_PROPOSALS.map(function (p) {
37235 return "'" + p + "'";
37236 }).join(", "));
37237 }
37238
37239 if (hasPlugin(plugins, "moduleAttributes")) {
37240 {
37241 if (hasPlugin(plugins, "importAssertions")) {
37242 throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");
37243 }
37244
37245 var moduleAttributesVerionPluginOption = getPluginOption(plugins, "moduleAttributes", "version");
37246
37247 if (moduleAttributesVerionPluginOption !== "may-2020") {
37248 throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'.");
37249 }
37250 }
37251 }
37252
37253 if (hasPlugin(plugins, "recordAndTuple") && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, "recordAndTuple", "syntaxType"))) {
37254 throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(function (p) {
37255 return "'" + p + "'";
37256 }).join(", "));
37257 }
37258
37259 if (hasPlugin(plugins, "asyncDoExpressions") && !hasPlugin(plugins, "doExpressions")) {
37260 var error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");
37261 error.missingPlugins = "doExpressions";
37262 throw error;
37263 }
37264 }
37265 var mixinPlugins = {
37266 estree: estree,
37267 jsx: jsx$1,
37268 flow: flow,
37269 typescript: typescript,
37270 v8intrinsic: v8intrinsic,
37271 placeholders: placeholders
37272 };
37273 var mixinPluginNames = Object.keys(mixinPlugins);
37274
37275 var defaultOptions = {
37276 sourceType: "script",
37277 sourceFilename: undefined,
37278 startLine: 1,
37279 allowAwaitOutsideFunction: false,
37280 allowReturnOutsideFunction: false,
37281 allowImportExportEverywhere: false,
37282 allowSuperOutsideMethod: false,
37283 allowUndeclaredExports: false,
37284 plugins: [],
37285 strictMode: null,
37286 ranges: false,
37287 tokens: false,
37288 createParenthesizedExpressions: false,
37289 errorRecovery: false
37290 };
37291 function getOptions(opts) {
37292 var options = {};
37293
37294 for (var _i2 = 0, _Object$keys2 = Object.keys(defaultOptions); _i2 < _Object$keys2.length; _i2++) {
37295 var key = _Object$keys2[_i2];
37296 options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key];
37297 }
37298
37299 return options;
37300 }
37301
37302 var _isDigit = function isDigit(code) {
37303 return code >= 48 && code <= 57;
37304 };
37305 var VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100]);
37306 var forbiddenNumericSeparatorSiblings = {
37307 decBinOct: [46, 66, 69, 79, 95, 98, 101, 111],
37308 hex: [46, 88, 95, 120]
37309 };
37310 var allowedNumericSeparatorSiblings = {};
37311 allowedNumericSeparatorSiblings.bin = [48, 49];
37312 allowedNumericSeparatorSiblings.oct = [].concat(allowedNumericSeparatorSiblings.bin, [50, 51, 52, 53, 54, 55]);
37313 allowedNumericSeparatorSiblings.dec = [].concat(allowedNumericSeparatorSiblings.oct, [56, 57]);
37314 allowedNumericSeparatorSiblings.hex = [].concat(allowedNumericSeparatorSiblings.dec, [65, 66, 67, 68, 69, 70, 97, 98, 99, 100, 101, 102]);
37315 var Token = function Token(state) {
37316 this.type = state.type;
37317 this.value = state.value;
37318 this.start = state.start;
37319 this.end = state.end;
37320 this.loc = new SourceLocation(state.startLoc, state.endLoc);
37321 };
37322
37323 var Tokenizer = function (_ParserErrors) {
37324 _inherits(Tokenizer, _ParserErrors);
37325
37326 function Tokenizer(options, input) {
37327 var _this;
37328
37329 _this = _ParserErrors.call(this) || this;
37330 _this.isLookahead = void 0;
37331 _this.tokens = [];
37332 _this.state = new State();
37333
37334 _this.state.init(options);
37335
37336 _this.input = input;
37337 _this.length = input.length;
37338 _this.isLookahead = false;
37339 return _this;
37340 }
37341
37342 var _proto = Tokenizer.prototype;
37343
37344 _proto.pushToken = function pushToken(token) {
37345 this.tokens.length = this.state.tokensLength;
37346 this.tokens.push(token);
37347 ++this.state.tokensLength;
37348 };
37349
37350 _proto.next = function next() {
37351 this.checkKeywordEscapes();
37352
37353 if (this.options.tokens) {
37354 this.pushToken(new Token(this.state));
37355 }
37356
37357 this.state.lastTokEnd = this.state.end;
37358 this.state.lastTokStart = this.state.start;
37359 this.state.lastTokEndLoc = this.state.endLoc;
37360 this.state.lastTokStartLoc = this.state.startLoc;
37361 this.nextToken();
37362 };
37363
37364 _proto.eat = function eat(type) {
37365 if (this.match(type)) {
37366 this.next();
37367 return true;
37368 } else {
37369 return false;
37370 }
37371 };
37372
37373 _proto.match = function match(type) {
37374 return this.state.type === type;
37375 };
37376
37377 _proto.createLookaheadState = function createLookaheadState(state) {
37378 return {
37379 pos: state.pos,
37380 value: null,
37381 type: state.type,
37382 start: state.start,
37383 end: state.end,
37384 lastTokEnd: state.end,
37385 context: [this.curContext()],
37386 inType: state.inType
37387 };
37388 };
37389
37390 _proto.lookahead = function lookahead() {
37391 var old = this.state;
37392 this.state = this.createLookaheadState(old);
37393 this.isLookahead = true;
37394 this.nextToken();
37395 this.isLookahead = false;
37396 var curr = this.state;
37397 this.state = old;
37398 return curr;
37399 };
37400
37401 _proto.nextTokenStart = function nextTokenStart() {
37402 return this.nextTokenStartSince(this.state.pos);
37403 };
37404
37405 _proto.nextTokenStartSince = function nextTokenStartSince(pos) {
37406 skipWhiteSpace.lastIndex = pos;
37407 var skip = skipWhiteSpace.exec(this.input);
37408 return pos + skip[0].length;
37409 };
37410
37411 _proto.lookaheadCharCode = function lookaheadCharCode() {
37412 return this.input.charCodeAt(this.nextTokenStart());
37413 };
37414
37415 _proto.codePointAtPos = function codePointAtPos(pos) {
37416 var cp = this.input.charCodeAt(pos);
37417
37418 if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) {
37419 var trail = this.input.charCodeAt(pos);
37420
37421 if ((trail & 0xfc00) === 0xdc00) {
37422 cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
37423 }
37424 }
37425
37426 return cp;
37427 };
37428
37429 _proto.setStrict = function setStrict(strict) {
37430 var _this2 = this;
37431
37432 this.state.strict = strict;
37433
37434 if (strict) {
37435 this.state.strictErrors.forEach(function (message, pos) {
37436 return _this2.raise(pos, message);
37437 });
37438 this.state.strictErrors.clear();
37439 }
37440 };
37441
37442 _proto.curContext = function curContext() {
37443 return this.state.context[this.state.context.length - 1];
37444 };
37445
37446 _proto.nextToken = function nextToken() {
37447 var curContext = this.curContext();
37448 if (!curContext.preserveSpace) this.skipSpace();
37449 this.state.start = this.state.pos;
37450 if (!this.isLookahead) this.state.startLoc = this.state.curPosition();
37451
37452 if (this.state.pos >= this.length) {
37453 this.finishToken(types$1.eof);
37454 return;
37455 }
37456
37457 if (curContext === types.template) {
37458 this.readTmplToken();
37459 } else {
37460 this.getTokenFromCode(this.codePointAtPos(this.state.pos));
37461 }
37462 };
37463
37464 _proto.skipBlockComment = function skipBlockComment() {
37465 var startLoc;
37466 if (!this.isLookahead) startLoc = this.state.curPosition();
37467 var start = this.state.pos;
37468 var end = this.input.indexOf("*/", this.state.pos + 2);
37469 if (end === -1) throw this.raise(start, ErrorMessages.UnterminatedComment);
37470 this.state.pos = end + 2;
37471 lineBreakG.lastIndex = start;
37472 var match;
37473
37474 while ((match = lineBreakG.exec(this.input)) && match.index < this.state.pos) {
37475 ++this.state.curLine;
37476 this.state.lineStart = match.index + match[0].length;
37477 }
37478
37479 if (this.isLookahead) return;
37480 var value = this.input.slice(start + 2, end);
37481 var comment = {
37482 type: "CommentBlock",
37483 value: value,
37484 start: start,
37485 end: end + 2,
37486 loc: new SourceLocation(startLoc, this.state.curPosition())
37487 };
37488 if (this.options.tokens) this.pushToken(comment);
37489 return comment;
37490 };
37491
37492 _proto.skipLineComment = function skipLineComment(startSkip) {
37493 var start = this.state.pos;
37494 var startLoc;
37495 if (!this.isLookahead) startLoc = this.state.curPosition();
37496 var ch = this.input.charCodeAt(this.state.pos += startSkip);
37497
37498 if (this.state.pos < this.length) {
37499 while (!isNewLine(ch) && ++this.state.pos < this.length) {
37500 ch = this.input.charCodeAt(this.state.pos);
37501 }
37502 }
37503
37504 if (this.isLookahead) return;
37505 var end = this.state.pos;
37506 var value = this.input.slice(start + startSkip, end);
37507 var comment = {
37508 type: "CommentLine",
37509 value: value,
37510 start: start,
37511 end: end,
37512 loc: new SourceLocation(startLoc, this.state.curPosition())
37513 };
37514 if (this.options.tokens) this.pushToken(comment);
37515 return comment;
37516 };
37517
37518 _proto.skipSpace = function skipSpace() {
37519 var spaceStart = this.state.pos;
37520 var comments = [];
37521
37522 loop: while (this.state.pos < this.length) {
37523 var ch = this.input.charCodeAt(this.state.pos);
37524
37525 switch (ch) {
37526 case 32:
37527 case 160:
37528 case 9:
37529 ++this.state.pos;
37530 break;
37531
37532 case 13:
37533 if (this.input.charCodeAt(this.state.pos + 1) === 10) {
37534 ++this.state.pos;
37535 }
37536
37537 case 10:
37538 case 8232:
37539 case 8233:
37540 ++this.state.pos;
37541 ++this.state.curLine;
37542 this.state.lineStart = this.state.pos;
37543 break;
37544
37545 case 47:
37546 switch (this.input.charCodeAt(this.state.pos + 1)) {
37547 case 42:
37548 {
37549 var comment = this.skipBlockComment();
37550
37551 if (comment !== undefined) {
37552 this.addComment(comment);
37553 comments.push(comment);
37554 }
37555
37556 break;
37557 }
37558
37559 case 47:
37560 {
37561 var _comment = this.skipLineComment(2);
37562
37563 if (_comment !== undefined) {
37564 this.addComment(_comment);
37565 comments.push(_comment);
37566 }
37567
37568 break;
37569 }
37570
37571 default:
37572 break loop;
37573 }
37574
37575 break;
37576
37577 default:
37578 if (isWhitespace(ch)) {
37579 ++this.state.pos;
37580 } else if (ch === 45 && !this.inModule) {
37581 var pos = this.state.pos;
37582
37583 if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) {
37584 var _comment2 = this.skipLineComment(3);
37585
37586 if (_comment2 !== undefined) {
37587 this.addComment(_comment2);
37588 comments.push(_comment2);
37589 }
37590 } else {
37591 break loop;
37592 }
37593 } else if (ch === 60 && !this.inModule) {
37594 var _pos = this.state.pos;
37595
37596 if (this.input.charCodeAt(_pos + 1) === 33 && this.input.charCodeAt(_pos + 2) === 45 && this.input.charCodeAt(_pos + 3) === 45) {
37597 var _comment3 = this.skipLineComment(4);
37598
37599 if (_comment3 !== undefined) {
37600 this.addComment(_comment3);
37601 comments.push(_comment3);
37602 }
37603 } else {
37604 break loop;
37605 }
37606 } else {
37607 break loop;
37608 }
37609
37610 }
37611 }
37612
37613 if (comments.length > 0) {
37614 var end = this.state.pos;
37615 var CommentWhitespace = {
37616 start: spaceStart,
37617 end: end,
37618 comments: comments,
37619 leadingNode: null,
37620 trailingNode: null,
37621 containingNode: null
37622 };
37623 this.state.commentStack.push(CommentWhitespace);
37624 }
37625 };
37626
37627 _proto.finishToken = function finishToken(type, val) {
37628 this.state.end = this.state.pos;
37629 var prevType = this.state.type;
37630 this.state.type = type;
37631 this.state.value = val;
37632
37633 if (!this.isLookahead) {
37634 this.state.endLoc = this.state.curPosition();
37635 this.updateContext(prevType);
37636 }
37637 };
37638
37639 _proto.readToken_numberSign = function readToken_numberSign() {
37640 if (this.state.pos === 0 && this.readToken_interpreter()) {
37641 return;
37642 }
37643
37644 var nextPos = this.state.pos + 1;
37645 var next = this.codePointAtPos(nextPos);
37646
37647 if (next >= 48 && next <= 57) {
37648 throw this.raise(this.state.pos, ErrorMessages.UnexpectedDigitAfterHash);
37649 }
37650
37651 if (next === 123 || next === 91 && this.hasPlugin("recordAndTuple")) {
37652 this.expectPlugin("recordAndTuple");
37653
37654 if (this.getPluginOption("recordAndTuple", "syntaxType") !== "hash") {
37655 throw this.raise(this.state.pos, next === 123 ? ErrorMessages.RecordExpressionHashIncorrectStartSyntaxType : ErrorMessages.TupleExpressionHashIncorrectStartSyntaxType);
37656 }
37657
37658 this.state.pos += 2;
37659
37660 if (next === 123) {
37661 this.finishToken(types$1.braceHashL);
37662 } else {
37663 this.finishToken(types$1.bracketHashL);
37664 }
37665 } else if (isIdentifierStart(next)) {
37666 ++this.state.pos;
37667 this.finishToken(types$1.privateName, this.readWord1(next));
37668 } else if (next === 92) {
37669 ++this.state.pos;
37670 this.finishToken(types$1.privateName, this.readWord1());
37671 } else {
37672 this.finishOp(types$1.hash, 1);
37673 }
37674 };
37675
37676 _proto.readToken_dot = function readToken_dot() {
37677 var next = this.input.charCodeAt(this.state.pos + 1);
37678
37679 if (next >= 48 && next <= 57) {
37680 this.readNumber(true);
37681 return;
37682 }
37683
37684 if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) {
37685 this.state.pos += 3;
37686 this.finishToken(types$1.ellipsis);
37687 } else {
37688 ++this.state.pos;
37689 this.finishToken(types$1.dot);
37690 }
37691 };
37692
37693 _proto.readToken_slash = function readToken_slash() {
37694 var next = this.input.charCodeAt(this.state.pos + 1);
37695
37696 if (next === 61) {
37697 this.finishOp(types$1.slashAssign, 2);
37698 } else {
37699 this.finishOp(types$1.slash, 1);
37700 }
37701 };
37702
37703 _proto.readToken_interpreter = function readToken_interpreter() {
37704 if (this.state.pos !== 0 || this.length < 2) return false;
37705 var ch = this.input.charCodeAt(this.state.pos + 1);
37706 if (ch !== 33) return false;
37707 var start = this.state.pos;
37708 this.state.pos += 1;
37709
37710 while (!isNewLine(ch) && ++this.state.pos < this.length) {
37711 ch = this.input.charCodeAt(this.state.pos);
37712 }
37713
37714 var value = this.input.slice(start + 2, this.state.pos);
37715 this.finishToken(types$1.interpreterDirective, value);
37716 return true;
37717 };
37718
37719 _proto.readToken_mult_modulo = function readToken_mult_modulo(code) {
37720 var type = code === 42 ? types$1.star : types$1.modulo;
37721 var width = 1;
37722 var next = this.input.charCodeAt(this.state.pos + 1);
37723
37724 if (code === 42 && next === 42) {
37725 width++;
37726 next = this.input.charCodeAt(this.state.pos + 2);
37727 type = types$1.exponent;
37728 }
37729
37730 if (next === 61 && !this.state.inType) {
37731 width++;
37732 type = types$1.assign;
37733 }
37734
37735 this.finishOp(type, width);
37736 };
37737
37738 _proto.readToken_pipe_amp = function readToken_pipe_amp(code) {
37739 var next = this.input.charCodeAt(this.state.pos + 1);
37740
37741 if (next === code) {
37742 if (this.input.charCodeAt(this.state.pos + 2) === 61) {
37743 this.finishOp(types$1.assign, 3);
37744 } else {
37745 this.finishOp(code === 124 ? types$1.logicalOR : types$1.logicalAND, 2);
37746 }
37747
37748 return;
37749 }
37750
37751 if (code === 124) {
37752 if (next === 62) {
37753 this.finishOp(types$1.pipeline, 2);
37754 return;
37755 }
37756
37757 if (this.hasPlugin("recordAndTuple") && next === 125) {
37758 if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
37759 throw this.raise(this.state.pos, ErrorMessages.RecordExpressionBarIncorrectEndSyntaxType);
37760 }
37761
37762 this.state.pos += 2;
37763 this.finishToken(types$1.braceBarR);
37764 return;
37765 }
37766
37767 if (this.hasPlugin("recordAndTuple") && next === 93) {
37768 if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
37769 throw this.raise(this.state.pos, ErrorMessages.TupleExpressionBarIncorrectEndSyntaxType);
37770 }
37771
37772 this.state.pos += 2;
37773 this.finishToken(types$1.bracketBarR);
37774 return;
37775 }
37776 }
37777
37778 if (next === 61) {
37779 this.finishOp(types$1.assign, 2);
37780 return;
37781 }
37782
37783 this.finishOp(code === 124 ? types$1.bitwiseOR : types$1.bitwiseAND, 1);
37784 };
37785
37786 _proto.readToken_caret = function readToken_caret() {
37787 var next = this.input.charCodeAt(this.state.pos + 1);
37788
37789 if (next === 61) {
37790 this.finishOp(types$1.assign, 2);
37791 } else {
37792 this.finishOp(types$1.bitwiseXOR, 1);
37793 }
37794 };
37795
37796 _proto.readToken_plus_min = function readToken_plus_min(code) {
37797 var next = this.input.charCodeAt(this.state.pos + 1);
37798
37799 if (next === code) {
37800 this.finishOp(types$1.incDec, 2);
37801 return;
37802 }
37803
37804 if (next === 61) {
37805 this.finishOp(types$1.assign, 2);
37806 } else {
37807 this.finishOp(types$1.plusMin, 1);
37808 }
37809 };
37810
37811 _proto.readToken_lt_gt = function readToken_lt_gt(code) {
37812 var next = this.input.charCodeAt(this.state.pos + 1);
37813 var size = 1;
37814
37815 if (next === code) {
37816 size = code === 62 && this.input.charCodeAt(this.state.pos + 2) === 62 ? 3 : 2;
37817
37818 if (this.input.charCodeAt(this.state.pos + size) === 61) {
37819 this.finishOp(types$1.assign, size + 1);
37820 return;
37821 }
37822
37823 this.finishOp(types$1.bitShift, size);
37824 return;
37825 }
37826
37827 if (next === 61) {
37828 size = 2;
37829 }
37830
37831 this.finishOp(types$1.relational, size);
37832 };
37833
37834 _proto.readToken_eq_excl = function readToken_eq_excl(code) {
37835 var next = this.input.charCodeAt(this.state.pos + 1);
37836
37837 if (next === 61) {
37838 this.finishOp(types$1.equality, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);
37839 return;
37840 }
37841
37842 if (code === 61 && next === 62) {
37843 this.state.pos += 2;
37844 this.finishToken(types$1.arrow);
37845 return;
37846 }
37847
37848 this.finishOp(code === 61 ? types$1.eq : types$1.bang, 1);
37849 };
37850
37851 _proto.readToken_question = function readToken_question() {
37852 var next = this.input.charCodeAt(this.state.pos + 1);
37853 var next2 = this.input.charCodeAt(this.state.pos + 2);
37854
37855 if (next === 63) {
37856 if (next2 === 61) {
37857 this.finishOp(types$1.assign, 3);
37858 } else {
37859 this.finishOp(types$1.nullishCoalescing, 2);
37860 }
37861 } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) {
37862 this.state.pos += 2;
37863 this.finishToken(types$1.questionDot);
37864 } else {
37865 ++this.state.pos;
37866 this.finishToken(types$1.question);
37867 }
37868 };
37869
37870 _proto.getTokenFromCode = function getTokenFromCode(code) {
37871 switch (code) {
37872 case 46:
37873 this.readToken_dot();
37874 return;
37875
37876 case 40:
37877 ++this.state.pos;
37878 this.finishToken(types$1.parenL);
37879 return;
37880
37881 case 41:
37882 ++this.state.pos;
37883 this.finishToken(types$1.parenR);
37884 return;
37885
37886 case 59:
37887 ++this.state.pos;
37888 this.finishToken(types$1.semi);
37889 return;
37890
37891 case 44:
37892 ++this.state.pos;
37893 this.finishToken(types$1.comma);
37894 return;
37895
37896 case 91:
37897 if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
37898 if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
37899 throw this.raise(this.state.pos, ErrorMessages.TupleExpressionBarIncorrectStartSyntaxType);
37900 }
37901
37902 this.state.pos += 2;
37903 this.finishToken(types$1.bracketBarL);
37904 } else {
37905 ++this.state.pos;
37906 this.finishToken(types$1.bracketL);
37907 }
37908
37909 return;
37910
37911 case 93:
37912 ++this.state.pos;
37913 this.finishToken(types$1.bracketR);
37914 return;
37915
37916 case 123:
37917 if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
37918 if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
37919 throw this.raise(this.state.pos, ErrorMessages.RecordExpressionBarIncorrectStartSyntaxType);
37920 }
37921
37922 this.state.pos += 2;
37923 this.finishToken(types$1.braceBarL);
37924 } else {
37925 ++this.state.pos;
37926 this.finishToken(types$1.braceL);
37927 }
37928
37929 return;
37930
37931 case 125:
37932 ++this.state.pos;
37933 this.finishToken(types$1.braceR);
37934 return;
37935
37936 case 58:
37937 if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) {
37938 this.finishOp(types$1.doubleColon, 2);
37939 } else {
37940 ++this.state.pos;
37941 this.finishToken(types$1.colon);
37942 }
37943
37944 return;
37945
37946 case 63:
37947 this.readToken_question();
37948 return;
37949
37950 case 96:
37951 ++this.state.pos;
37952 this.finishToken(types$1.backQuote);
37953 return;
37954
37955 case 48:
37956 {
37957 var next = this.input.charCodeAt(this.state.pos + 1);
37958
37959 if (next === 120 || next === 88) {
37960 this.readRadixNumber(16);
37961 return;
37962 }
37963
37964 if (next === 111 || next === 79) {
37965 this.readRadixNumber(8);
37966 return;
37967 }
37968
37969 if (next === 98 || next === 66) {
37970 this.readRadixNumber(2);
37971 return;
37972 }
37973 }
37974
37975 case 49:
37976 case 50:
37977 case 51:
37978 case 52:
37979 case 53:
37980 case 54:
37981 case 55:
37982 case 56:
37983 case 57:
37984 this.readNumber(false);
37985 return;
37986
37987 case 34:
37988 case 39:
37989 this.readString(code);
37990 return;
37991
37992 case 47:
37993 this.readToken_slash();
37994 return;
37995
37996 case 37:
37997 case 42:
37998 this.readToken_mult_modulo(code);
37999 return;
38000
38001 case 124:
38002 case 38:
38003 this.readToken_pipe_amp(code);
38004 return;
38005
38006 case 94:
38007 this.readToken_caret();
38008 return;
38009
38010 case 43:
38011 case 45:
38012 this.readToken_plus_min(code);
38013 return;
38014
38015 case 60:
38016 case 62:
38017 this.readToken_lt_gt(code);
38018 return;
38019
38020 case 61:
38021 case 33:
38022 this.readToken_eq_excl(code);
38023 return;
38024
38025 case 126:
38026 this.finishOp(types$1.tilde, 1);
38027 return;
38028
38029 case 64:
38030 ++this.state.pos;
38031 this.finishToken(types$1.at);
38032 return;
38033
38034 case 35:
38035 this.readToken_numberSign();
38036 return;
38037
38038 case 92:
38039 this.readWord();
38040 return;
38041
38042 default:
38043 if (isIdentifierStart(code)) {
38044 this.readWord(code);
38045 return;
38046 }
38047
38048 }
38049
38050 throw this.raise(this.state.pos, ErrorMessages.InvalidOrUnexpectedToken, String.fromCodePoint(code));
38051 };
38052
38053 _proto.finishOp = function finishOp(type, size) {
38054 var str = this.input.slice(this.state.pos, this.state.pos + size);
38055 this.state.pos += size;
38056 this.finishToken(type, str);
38057 };
38058
38059 _proto.readRegexp = function readRegexp() {
38060 var start = this.state.start + 1;
38061 var escaped, inClass;
38062 var pos = this.state.pos;
38063
38064 for (;; ++pos) {
38065 if (pos >= this.length) {
38066 throw this.raise(start, ErrorMessages.UnterminatedRegExp);
38067 }
38068
38069 var ch = this.input.charCodeAt(pos);
38070
38071 if (isNewLine(ch)) {
38072 throw this.raise(start, ErrorMessages.UnterminatedRegExp);
38073 }
38074
38075 if (escaped) {
38076 escaped = false;
38077 } else {
38078 if (ch === 91) {
38079 inClass = true;
38080 } else if (ch === 93 && inClass) {
38081 inClass = false;
38082 } else if (ch === 47 && !inClass) {
38083 break;
38084 }
38085
38086 escaped = ch === 92;
38087 }
38088 }
38089
38090 var content = this.input.slice(start, pos);
38091 ++pos;
38092 var mods = "";
38093
38094 while (pos < this.length) {
38095 var cp = this.codePointAtPos(pos);
38096
38097 var _char = String.fromCharCode(cp);
38098
38099 if (VALID_REGEX_FLAGS.has(cp)) {
38100 if (mods.includes(_char)) {
38101 this.raise(pos + 1, ErrorMessages.DuplicateRegExpFlags);
38102 }
38103 } else if (isIdentifierChar(cp) || cp === 92) {
38104 this.raise(pos + 1, ErrorMessages.MalformedRegExpFlags);
38105 } else {
38106 break;
38107 }
38108
38109 ++pos;
38110 mods += _char;
38111 }
38112
38113 this.state.pos = pos;
38114 this.finishToken(types$1.regexp, {
38115 pattern: content,
38116 flags: mods
38117 });
38118 };
38119
38120 _proto.readInt = function readInt(radix, len, forceLen, allowNumSeparator) {
38121 if (allowNumSeparator === void 0) {
38122 allowNumSeparator = true;
38123 }
38124
38125 var start = this.state.pos;
38126 var forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
38127 var allowedSiblings = radix === 16 ? allowedNumericSeparatorSiblings.hex : radix === 10 ? allowedNumericSeparatorSiblings.dec : radix === 8 ? allowedNumericSeparatorSiblings.oct : allowedNumericSeparatorSiblings.bin;
38128 var invalid = false;
38129 var total = 0;
38130
38131 for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) {
38132 var code = this.input.charCodeAt(this.state.pos);
38133 var val = void 0;
38134
38135 if (code === 95) {
38136 var prev = this.input.charCodeAt(this.state.pos - 1);
38137 var next = this.input.charCodeAt(this.state.pos + 1);
38138
38139 if (allowedSiblings.indexOf(next) === -1) {
38140 this.raise(this.state.pos, ErrorMessages.UnexpectedNumericSeparator);
38141 } else if (forbiddenSiblings.indexOf(prev) > -1 || forbiddenSiblings.indexOf(next) > -1 || Number.isNaN(next)) {
38142 this.raise(this.state.pos, ErrorMessages.UnexpectedNumericSeparator);
38143 }
38144
38145 if (!allowNumSeparator) {
38146 this.raise(this.state.pos, ErrorMessages.NumericSeparatorInEscapeSequence);
38147 }
38148
38149 ++this.state.pos;
38150 continue;
38151 }
38152
38153 if (code >= 97) {
38154 val = code - 97 + 10;
38155 } else if (code >= 65) {
38156 val = code - 65 + 10;
38157 } else if (_isDigit(code)) {
38158 val = code - 48;
38159 } else {
38160 val = Infinity;
38161 }
38162
38163 if (val >= radix) {
38164 if (this.options.errorRecovery && val <= 9) {
38165 val = 0;
38166 this.raise(this.state.start + i + 2, ErrorMessages.InvalidDigit, radix);
38167 } else if (forceLen) {
38168 val = 0;
38169 invalid = true;
38170 } else {
38171 break;
38172 }
38173 }
38174
38175 ++this.state.pos;
38176 total = total * radix + val;
38177 }
38178
38179 if (this.state.pos === start || len != null && this.state.pos - start !== len || invalid) {
38180 return null;
38181 }
38182
38183 return total;
38184 };
38185
38186 _proto.readRadixNumber = function readRadixNumber(radix) {
38187 var start = this.state.pos;
38188 var isBigInt = false;
38189 this.state.pos += 2;
38190 var val = this.readInt(radix);
38191
38192 if (val == null) {
38193 this.raise(this.state.start + 2, ErrorMessages.InvalidDigit, radix);
38194 }
38195
38196 var next = this.input.charCodeAt(this.state.pos);
38197
38198 if (next === 110) {
38199 ++this.state.pos;
38200 isBigInt = true;
38201 } else if (next === 109) {
38202 throw this.raise(start, ErrorMessages.InvalidDecimal);
38203 }
38204
38205 if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {
38206 throw this.raise(this.state.pos, ErrorMessages.NumberIdentifier);
38207 }
38208
38209 if (isBigInt) {
38210 var str = this.input.slice(start, this.state.pos).replace(/[_n]/g, "");
38211 this.finishToken(types$1.bigint, str);
38212 return;
38213 }
38214
38215 this.finishToken(types$1.num, val);
38216 };
38217
38218 _proto.readNumber = function readNumber(startsWithDot) {
38219 var start = this.state.pos;
38220 var isFloat = false;
38221 var isBigInt = false;
38222 var isDecimal = false;
38223 var hasExponent = false;
38224 var isOctal = false;
38225
38226 if (!startsWithDot && this.readInt(10) === null) {
38227 this.raise(start, ErrorMessages.InvalidNumber);
38228 }
38229
38230 var hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48;
38231
38232 if (hasLeadingZero) {
38233 var integer = this.input.slice(start, this.state.pos);
38234 this.recordStrictModeErrors(start, ErrorMessages.StrictOctalLiteral);
38235
38236 if (!this.state.strict) {
38237 var underscorePos = integer.indexOf("_");
38238
38239 if (underscorePos > 0) {
38240 this.raise(underscorePos + start, ErrorMessages.ZeroDigitNumericSeparator);
38241 }
38242 }
38243
38244 isOctal = hasLeadingZero && !/[89]/.test(integer);
38245 }
38246
38247 var next = this.input.charCodeAt(this.state.pos);
38248
38249 if (next === 46 && !isOctal) {
38250 ++this.state.pos;
38251 this.readInt(10);
38252 isFloat = true;
38253 next = this.input.charCodeAt(this.state.pos);
38254 }
38255
38256 if ((next === 69 || next === 101) && !isOctal) {
38257 next = this.input.charCodeAt(++this.state.pos);
38258
38259 if (next === 43 || next === 45) {
38260 ++this.state.pos;
38261 }
38262
38263 if (this.readInt(10) === null) {
38264 this.raise(start, ErrorMessages.InvalidOrMissingExponent);
38265 }
38266
38267 isFloat = true;
38268 hasExponent = true;
38269 next = this.input.charCodeAt(this.state.pos);
38270 }
38271
38272 if (next === 110) {
38273 if (isFloat || hasLeadingZero) {
38274 this.raise(start, ErrorMessages.InvalidBigIntLiteral);
38275 }
38276
38277 ++this.state.pos;
38278 isBigInt = true;
38279 }
38280
38281 if (next === 109) {
38282 this.expectPlugin("decimal", this.state.pos);
38283
38284 if (hasExponent || hasLeadingZero) {
38285 this.raise(start, ErrorMessages.InvalidDecimal);
38286 }
38287
38288 ++this.state.pos;
38289 isDecimal = true;
38290 }
38291
38292 if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {
38293 throw this.raise(this.state.pos, ErrorMessages.NumberIdentifier);
38294 }
38295
38296 var str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, "");
38297
38298 if (isBigInt) {
38299 this.finishToken(types$1.bigint, str);
38300 return;
38301 }
38302
38303 if (isDecimal) {
38304 this.finishToken(types$1.decimal, str);
38305 return;
38306 }
38307
38308 var val = isOctal ? parseInt(str, 8) : parseFloat(str);
38309 this.finishToken(types$1.num, val);
38310 };
38311
38312 _proto.readCodePoint = function readCodePoint(throwOnInvalid) {
38313 var ch = this.input.charCodeAt(this.state.pos);
38314 var code;
38315
38316 if (ch === 123) {
38317 var codePos = ++this.state.pos;
38318 code = this.readHexChar(this.input.indexOf("}", this.state.pos) - this.state.pos, true, throwOnInvalid);
38319 ++this.state.pos;
38320
38321 if (code !== null && code > 0x10ffff) {
38322 if (throwOnInvalid) {
38323 this.raise(codePos, ErrorMessages.InvalidCodePoint);
38324 } else {
38325 return null;
38326 }
38327 }
38328 } else {
38329 code = this.readHexChar(4, false, throwOnInvalid);
38330 }
38331
38332 return code;
38333 };
38334
38335 _proto.readString = function readString(quote) {
38336 var out = "",
38337 chunkStart = ++this.state.pos;
38338
38339 for (;;) {
38340 if (this.state.pos >= this.length) {
38341 throw this.raise(this.state.start, ErrorMessages.UnterminatedString);
38342 }
38343
38344 var ch = this.input.charCodeAt(this.state.pos);
38345 if (ch === quote) break;
38346
38347 if (ch === 92) {
38348 out += this.input.slice(chunkStart, this.state.pos);
38349 out += this.readEscapedChar(false);
38350 chunkStart = this.state.pos;
38351 } else if (ch === 8232 || ch === 8233) {
38352 ++this.state.pos;
38353 ++this.state.curLine;
38354 this.state.lineStart = this.state.pos;
38355 } else if (isNewLine(ch)) {
38356 throw this.raise(this.state.start, ErrorMessages.UnterminatedString);
38357 } else {
38358 ++this.state.pos;
38359 }
38360 }
38361
38362 out += this.input.slice(chunkStart, this.state.pos++);
38363 this.finishToken(types$1.string, out);
38364 };
38365
38366 _proto.readTmplToken = function readTmplToken() {
38367 var out = "",
38368 chunkStart = this.state.pos,
38369 containsInvalid = false;
38370
38371 for (;;) {
38372 if (this.state.pos >= this.length) {
38373 throw this.raise(this.state.start, ErrorMessages.UnterminatedTemplate);
38374 }
38375
38376 var ch = this.input.charCodeAt(this.state.pos);
38377
38378 if (ch === 96 || ch === 36 && this.input.charCodeAt(this.state.pos + 1) === 123) {
38379 if (this.state.pos === this.state.start && this.match(types$1.template)) {
38380 if (ch === 36) {
38381 this.state.pos += 2;
38382 this.finishToken(types$1.dollarBraceL);
38383 return;
38384 } else {
38385 ++this.state.pos;
38386 this.finishToken(types$1.backQuote);
38387 return;
38388 }
38389 }
38390
38391 out += this.input.slice(chunkStart, this.state.pos);
38392 this.finishToken(types$1.template, containsInvalid ? null : out);
38393 return;
38394 }
38395
38396 if (ch === 92) {
38397 out += this.input.slice(chunkStart, this.state.pos);
38398 var escaped = this.readEscapedChar(true);
38399
38400 if (escaped === null) {
38401 containsInvalid = true;
38402 } else {
38403 out += escaped;
38404 }
38405
38406 chunkStart = this.state.pos;
38407 } else if (isNewLine(ch)) {
38408 out += this.input.slice(chunkStart, this.state.pos);
38409 ++this.state.pos;
38410
38411 switch (ch) {
38412 case 13:
38413 if (this.input.charCodeAt(this.state.pos) === 10) {
38414 ++this.state.pos;
38415 }
38416
38417 case 10:
38418 out += "\n";
38419 break;
38420
38421 default:
38422 out += String.fromCharCode(ch);
38423 break;
38424 }
38425
38426 ++this.state.curLine;
38427 this.state.lineStart = this.state.pos;
38428 chunkStart = this.state.pos;
38429 } else {
38430 ++this.state.pos;
38431 }
38432 }
38433 };
38434
38435 _proto.recordStrictModeErrors = function recordStrictModeErrors(pos, message) {
38436 if (this.state.strict && !this.state.strictErrors.has(pos)) {
38437 this.raise(pos, message);
38438 } else {
38439 this.state.strictErrors.set(pos, message);
38440 }
38441 };
38442
38443 _proto.readEscapedChar = function readEscapedChar(inTemplate) {
38444 var throwOnInvalid = !inTemplate;
38445 var ch = this.input.charCodeAt(++this.state.pos);
38446 ++this.state.pos;
38447
38448 switch (ch) {
38449 case 110:
38450 return "\n";
38451
38452 case 114:
38453 return "\r";
38454
38455 case 120:
38456 {
38457 var code = this.readHexChar(2, false, throwOnInvalid);
38458 return code === null ? null : String.fromCharCode(code);
38459 }
38460
38461 case 117:
38462 {
38463 var _code = this.readCodePoint(throwOnInvalid);
38464
38465 return _code === null ? null : String.fromCodePoint(_code);
38466 }
38467
38468 case 116:
38469 return "\t";
38470
38471 case 98:
38472 return "\b";
38473
38474 case 118:
38475 return "\x0B";
38476
38477 case 102:
38478 return "\f";
38479
38480 case 13:
38481 if (this.input.charCodeAt(this.state.pos) === 10) {
38482 ++this.state.pos;
38483 }
38484
38485 case 10:
38486 this.state.lineStart = this.state.pos;
38487 ++this.state.curLine;
38488
38489 case 8232:
38490 case 8233:
38491 return "";
38492
38493 case 56:
38494 case 57:
38495 if (inTemplate) {
38496 return null;
38497 } else {
38498 this.recordStrictModeErrors(this.state.pos - 1, ErrorMessages.StrictNumericEscape);
38499 }
38500
38501 default:
38502 if (ch >= 48 && ch <= 55) {
38503 var codePos = this.state.pos - 1;
38504 var match = this.input.substr(this.state.pos - 1, 3).match(/^[0-7]+/);
38505 var octalStr = match[0];
38506 var octal = parseInt(octalStr, 8);
38507
38508 if (octal > 255) {
38509 octalStr = octalStr.slice(0, -1);
38510 octal = parseInt(octalStr, 8);
38511 }
38512
38513 this.state.pos += octalStr.length - 1;
38514 var next = this.input.charCodeAt(this.state.pos);
38515
38516 if (octalStr !== "0" || next === 56 || next === 57) {
38517 if (inTemplate) {
38518 return null;
38519 } else {
38520 this.recordStrictModeErrors(codePos, ErrorMessages.StrictNumericEscape);
38521 }
38522 }
38523
38524 return String.fromCharCode(octal);
38525 }
38526
38527 return String.fromCharCode(ch);
38528 }
38529 };
38530
38531 _proto.readHexChar = function readHexChar(len, forceLen, throwOnInvalid) {
38532 var codePos = this.state.pos;
38533 var n = this.readInt(16, len, forceLen, false);
38534
38535 if (n === null) {
38536 if (throwOnInvalid) {
38537 this.raise(codePos, ErrorMessages.InvalidEscapeSequence);
38538 } else {
38539 this.state.pos = codePos - 1;
38540 }
38541 }
38542
38543 return n;
38544 };
38545
38546 _proto.readWord1 = function readWord1(firstCode) {
38547 this.state.containsEsc = false;
38548 var word = "";
38549 var start = this.state.pos;
38550 var chunkStart = this.state.pos;
38551
38552 if (firstCode !== undefined) {
38553 this.state.pos += firstCode <= 0xffff ? 1 : 2;
38554 }
38555
38556 while (this.state.pos < this.length) {
38557 var ch = this.codePointAtPos(this.state.pos);
38558
38559 if (isIdentifierChar(ch)) {
38560 this.state.pos += ch <= 0xffff ? 1 : 2;
38561 } else if (ch === 92) {
38562 this.state.containsEsc = true;
38563 word += this.input.slice(chunkStart, this.state.pos);
38564 var escStart = this.state.pos;
38565 var identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar;
38566
38567 if (this.input.charCodeAt(++this.state.pos) !== 117) {
38568 this.raise(this.state.pos, ErrorMessages.MissingUnicodeEscape);
38569 chunkStart = this.state.pos - 1;
38570 continue;
38571 }
38572
38573 ++this.state.pos;
38574 var esc = this.readCodePoint(true);
38575
38576 if (esc !== null) {
38577 if (!identifierCheck(esc)) {
38578 this.raise(escStart, ErrorMessages.EscapedCharNotAnIdentifier);
38579 }
38580
38581 word += String.fromCodePoint(esc);
38582 }
38583
38584 chunkStart = this.state.pos;
38585 } else {
38586 break;
38587 }
38588 }
38589
38590 return word + this.input.slice(chunkStart, this.state.pos);
38591 };
38592
38593 _proto.readWord = function readWord(firstCode) {
38594 var word = this.readWord1(firstCode);
38595 var type = keywords.get(word) || types$1.name;
38596 this.finishToken(type, word);
38597 };
38598
38599 _proto.checkKeywordEscapes = function checkKeywordEscapes() {
38600 var kw = this.state.type.keyword;
38601
38602 if (kw && this.state.containsEsc) {
38603 this.raise(this.state.start, ErrorMessages.InvalidEscapedReservedWord, kw);
38604 }
38605 };
38606
38607 _proto.updateContext = function updateContext(prevType) {
38608 var _this$state$type$upda, _this$state$type;
38609
38610 (_this$state$type$upda = (_this$state$type = this.state.type).updateContext) == null ? void 0 : _this$state$type$upda.call(_this$state$type, this.state.context);
38611 };
38612
38613 return Tokenizer;
38614 }(ParserError);
38615
38616 var ClassScope = function ClassScope() {
38617 this.privateNames = new Set();
38618 this.loneAccessors = new Map();
38619 this.undefinedPrivateNames = new Map();
38620 };
38621
38622 var ClassScopeHandler = function () {
38623 function ClassScopeHandler(raise) {
38624 this.stack = [];
38625 this.undefinedPrivateNames = new Map();
38626 this.raise = raise;
38627 }
38628
38629 var _proto = ClassScopeHandler.prototype;
38630
38631 _proto.current = function current() {
38632 return this.stack[this.stack.length - 1];
38633 };
38634
38635 _proto.enter = function enter() {
38636 this.stack.push(new ClassScope());
38637 };
38638
38639 _proto.exit = function exit() {
38640 var oldClassScope = this.stack.pop();
38641 var current = this.current();
38642
38643 for (var _i2 = 0, _Array$from2 = Array.from(oldClassScope.undefinedPrivateNames); _i2 < _Array$from2.length; _i2++) {
38644 var _Array$from2$_i = _Array$from2[_i2],
38645 name = _Array$from2$_i[0],
38646 pos = _Array$from2$_i[1];
38647
38648 if (current) {
38649 if (!current.undefinedPrivateNames.has(name)) {
38650 current.undefinedPrivateNames.set(name, pos);
38651 }
38652 } else {
38653 this.raise(pos, ErrorMessages.InvalidPrivateFieldResolution, name);
38654 }
38655 }
38656 };
38657
38658 _proto.declarePrivateName = function declarePrivateName(name, elementType, pos) {
38659 var classScope = this.current();
38660 var redefined = classScope.privateNames.has(name);
38661
38662 if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) {
38663 var accessor = redefined && classScope.loneAccessors.get(name);
38664
38665 if (accessor) {
38666 var oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC;
38667 var newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC;
38668 var oldKind = accessor & CLASS_ELEMENT_KIND_ACCESSOR;
38669 var newKind = elementType & CLASS_ELEMENT_KIND_ACCESSOR;
38670 redefined = oldKind === newKind || oldStatic !== newStatic;
38671 if (!redefined) classScope.loneAccessors["delete"](name);
38672 } else if (!redefined) {
38673 classScope.loneAccessors.set(name, elementType);
38674 }
38675 }
38676
38677 if (redefined) {
38678 this.raise(pos, ErrorMessages.PrivateNameRedeclaration, name);
38679 }
38680
38681 classScope.privateNames.add(name);
38682 classScope.undefinedPrivateNames["delete"](name);
38683 };
38684
38685 _proto.usePrivateName = function usePrivateName(name, pos) {
38686 var classScope;
38687
38688 for (var _i4 = 0, _this$stack2 = this.stack; _i4 < _this$stack2.length; _i4++) {
38689 classScope = _this$stack2[_i4];
38690 if (classScope.privateNames.has(name)) return;
38691 }
38692
38693 if (classScope) {
38694 classScope.undefinedPrivateNames.set(name, pos);
38695 } else {
38696 this.raise(pos, ErrorMessages.InvalidPrivateFieldResolution, name);
38697 }
38698 };
38699
38700 return ClassScopeHandler;
38701 }();
38702
38703 var kExpression = 0,
38704 kMaybeArrowParameterDeclaration = 1,
38705 kMaybeAsyncArrowParameterDeclaration = 2,
38706 kParameterDeclaration = 3;
38707
38708 var ExpressionScope = function () {
38709 function ExpressionScope(type) {
38710 if (type === void 0) {
38711 type = kExpression;
38712 }
38713
38714 this.type = void 0;
38715 this.type = type;
38716 }
38717
38718 var _proto = ExpressionScope.prototype;
38719
38720 _proto.canBeArrowParameterDeclaration = function canBeArrowParameterDeclaration() {
38721 return this.type === kMaybeAsyncArrowParameterDeclaration || this.type === kMaybeArrowParameterDeclaration;
38722 };
38723
38724 _proto.isCertainlyParameterDeclaration = function isCertainlyParameterDeclaration() {
38725 return this.type === kParameterDeclaration;
38726 };
38727
38728 return ExpressionScope;
38729 }();
38730
38731 var ArrowHeadParsingScope = function (_ExpressionScope) {
38732 _inherits(ArrowHeadParsingScope, _ExpressionScope);
38733
38734 function ArrowHeadParsingScope(type) {
38735 var _this;
38736
38737 _this = _ExpressionScope.call(this, type) || this;
38738 _this.errors = new Map();
38739 return _this;
38740 }
38741
38742 var _proto2 = ArrowHeadParsingScope.prototype;
38743
38744 _proto2.recordDeclarationError = function recordDeclarationError(pos, template) {
38745 this.errors.set(pos, template);
38746 };
38747
38748 _proto2.clearDeclarationError = function clearDeclarationError(pos) {
38749 this.errors["delete"](pos);
38750 };
38751
38752 _proto2.iterateErrors = function iterateErrors(iterator) {
38753 this.errors.forEach(iterator);
38754 };
38755
38756 return ArrowHeadParsingScope;
38757 }(ExpressionScope);
38758
38759 var ExpressionScopeHandler = function () {
38760 function ExpressionScopeHandler(raise) {
38761 this.stack = [new ExpressionScope()];
38762 this.raise = raise;
38763 }
38764
38765 var _proto3 = ExpressionScopeHandler.prototype;
38766
38767 _proto3.enter = function enter(scope) {
38768 this.stack.push(scope);
38769 };
38770
38771 _proto3.exit = function exit() {
38772 this.stack.pop();
38773 };
38774
38775 _proto3.recordParameterInitializerError = function recordParameterInitializerError(pos, template) {
38776 var stack = this.stack;
38777 var i = stack.length - 1;
38778 var scope = stack[i];
38779
38780 while (!scope.isCertainlyParameterDeclaration()) {
38781 if (scope.canBeArrowParameterDeclaration()) {
38782 scope.recordDeclarationError(pos, template);
38783 } else {
38784 return;
38785 }
38786
38787 scope = stack[--i];
38788 }
38789
38790 this.raise(pos, template);
38791 };
38792
38793 _proto3.recordParenthesizedIdentifierError = function recordParenthesizedIdentifierError(pos, template) {
38794 var stack = this.stack;
38795 var scope = stack[stack.length - 1];
38796
38797 if (scope.isCertainlyParameterDeclaration()) {
38798 this.raise(pos, template);
38799 } else if (scope.canBeArrowParameterDeclaration()) {
38800 scope.recordDeclarationError(pos, template);
38801 } else {
38802 return;
38803 }
38804 };
38805
38806 _proto3.recordAsyncArrowParametersError = function recordAsyncArrowParametersError(pos, template) {
38807 var stack = this.stack;
38808 var i = stack.length - 1;
38809 var scope = stack[i];
38810
38811 while (scope.canBeArrowParameterDeclaration()) {
38812 if (scope.type === kMaybeAsyncArrowParameterDeclaration) {
38813 scope.recordDeclarationError(pos, template);
38814 }
38815
38816 scope = stack[--i];
38817 }
38818 };
38819
38820 _proto3.validateAsPattern = function validateAsPattern() {
38821 var _this2 = this;
38822
38823 var stack = this.stack;
38824 var currentScope = stack[stack.length - 1];
38825 if (!currentScope.canBeArrowParameterDeclaration()) return;
38826 currentScope.iterateErrors(function (template, pos) {
38827 _this2.raise(pos, template);
38828
38829 var i = stack.length - 2;
38830 var scope = stack[i];
38831
38832 while (scope.canBeArrowParameterDeclaration()) {
38833 scope.clearDeclarationError(pos);
38834 scope = stack[--i];
38835 }
38836 });
38837 };
38838
38839 return ExpressionScopeHandler;
38840 }();
38841 function newParameterDeclarationScope() {
38842 return new ExpressionScope(kParameterDeclaration);
38843 }
38844 function newArrowHeadScope() {
38845 return new ArrowHeadParsingScope(kMaybeArrowParameterDeclaration);
38846 }
38847 function newAsyncArrowScope() {
38848 return new ArrowHeadParsingScope(kMaybeAsyncArrowParameterDeclaration);
38849 }
38850 function newExpressionScope() {
38851 return new ExpressionScope();
38852 }
38853
38854 var UtilParser = function (_Tokenizer) {
38855 _inherits(UtilParser, _Tokenizer);
38856
38857 function UtilParser() {
38858 return _Tokenizer.apply(this, arguments) || this;
38859 }
38860
38861 var _proto = UtilParser.prototype;
38862
38863 _proto.addExtra = function addExtra(node, key, val) {
38864 if (!node) return;
38865 var extra = node.extra = node.extra || {};
38866 extra[key] = val;
38867 };
38868
38869 _proto.isRelational = function isRelational(op) {
38870 return this.match(types$1.relational) && this.state.value === op;
38871 };
38872
38873 _proto.expectRelational = function expectRelational(op) {
38874 if (this.isRelational(op)) {
38875 this.next();
38876 } else {
38877 this.unexpected(null, types$1.relational);
38878 }
38879 };
38880
38881 _proto.isContextual = function isContextual(name) {
38882 return this.match(types$1.name) && this.state.value === name && !this.state.containsEsc;
38883 };
38884
38885 _proto.isUnparsedContextual = function isUnparsedContextual(nameStart, name) {
38886 var nameEnd = nameStart + name.length;
38887
38888 if (this.input.slice(nameStart, nameEnd) === name) {
38889 var nextCh = this.input.charCodeAt(nameEnd);
38890 return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800);
38891 }
38892
38893 return false;
38894 };
38895
38896 _proto.isLookaheadContextual = function isLookaheadContextual(name) {
38897 var next = this.nextTokenStart();
38898 return this.isUnparsedContextual(next, name);
38899 };
38900
38901 _proto.eatContextual = function eatContextual(name) {
38902 return this.isContextual(name) && this.eat(types$1.name);
38903 };
38904
38905 _proto.expectContextual = function expectContextual(name, template) {
38906 if (!this.eatContextual(name)) this.unexpected(null, template);
38907 };
38908
38909 _proto.canInsertSemicolon = function canInsertSemicolon() {
38910 return this.match(types$1.eof) || this.match(types$1.braceR) || this.hasPrecedingLineBreak();
38911 };
38912
38913 _proto.hasPrecedingLineBreak = function hasPrecedingLineBreak() {
38914 return lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start));
38915 };
38916
38917 _proto.hasFollowingLineBreak = function hasFollowingLineBreak() {
38918 return lineBreak.test(this.input.slice(this.state.end, this.nextTokenStart()));
38919 };
38920
38921 _proto.isLineTerminator = function isLineTerminator() {
38922 return this.eat(types$1.semi) || this.canInsertSemicolon();
38923 };
38924
38925 _proto.semicolon = function semicolon(allowAsi) {
38926 if (allowAsi === void 0) {
38927 allowAsi = true;
38928 }
38929
38930 if (allowAsi ? this.isLineTerminator() : this.eat(types$1.semi)) return;
38931 this.raise(this.state.lastTokEnd, ErrorMessages.MissingSemicolon);
38932 };
38933
38934 _proto.expect = function expect(type, pos) {
38935 this.eat(type) || this.unexpected(pos, type);
38936 };
38937
38938 _proto.assertNoSpace = function assertNoSpace(message) {
38939 if (message === void 0) {
38940 message = "Unexpected space.";
38941 }
38942
38943 if (this.state.start > this.state.lastTokEnd) {
38944 this.raise(this.state.lastTokEnd, {
38945 code: ErrorCodes.SyntaxError,
38946 reasonCode: "UnexpectedSpace",
38947 template: message
38948 });
38949 }
38950 };
38951
38952 _proto.unexpected = function unexpected(pos, messageOrType) {
38953 if (messageOrType === void 0) {
38954 messageOrType = {
38955 code: ErrorCodes.SyntaxError,
38956 reasonCode: "UnexpectedToken",
38957 template: "Unexpected token"
38958 };
38959 }
38960
38961 if (messageOrType instanceof TokenType) {
38962 messageOrType = {
38963 code: ErrorCodes.SyntaxError,
38964 reasonCode: "UnexpectedToken",
38965 template: "Unexpected token, expected \"" + messageOrType.label + "\""
38966 };
38967 }
38968
38969 throw this.raise(pos != null ? pos : this.state.start, messageOrType);
38970 };
38971
38972 _proto.expectPlugin = function expectPlugin(name, pos) {
38973 if (!this.hasPlugin(name)) {
38974 throw this.raiseWithData(pos != null ? pos : this.state.start, {
38975 missingPlugin: [name]
38976 }, "This experimental syntax requires enabling the parser plugin: '" + name + "'");
38977 }
38978
38979 return true;
38980 };
38981
38982 _proto.expectOnePlugin = function expectOnePlugin(names, pos) {
38983 var _this = this;
38984
38985 if (!names.some(function (n) {
38986 return _this.hasPlugin(n);
38987 })) {
38988 throw this.raiseWithData(pos != null ? pos : this.state.start, {
38989 missingPlugin: names
38990 }, "This experimental syntax requires enabling one of the following parser plugin(s): '" + names.join(", ") + "'");
38991 }
38992 };
38993
38994 _proto.tryParse = function tryParse(fn, oldState) {
38995 if (oldState === void 0) {
38996 oldState = this.state.clone();
38997 }
38998
38999 var abortSignal = {
39000 node: null
39001 };
39002
39003 try {
39004 var _node = fn(function (node) {
39005 if (node === void 0) {
39006 node = null;
39007 }
39008
39009 abortSignal.node = node;
39010 throw abortSignal;
39011 });
39012
39013 if (this.state.errors.length > oldState.errors.length) {
39014 var failState = this.state;
39015 this.state = oldState;
39016 this.state.tokensLength = failState.tokensLength;
39017 return {
39018 node: _node,
39019 error: failState.errors[oldState.errors.length],
39020 thrown: false,
39021 aborted: false,
39022 failState: failState
39023 };
39024 }
39025
39026 return {
39027 node: _node,
39028 error: null,
39029 thrown: false,
39030 aborted: false,
39031 failState: null
39032 };
39033 } catch (error) {
39034 var _failState = this.state;
39035 this.state = oldState;
39036
39037 if (error instanceof SyntaxError) {
39038 return {
39039 node: null,
39040 error: error,
39041 thrown: true,
39042 aborted: false,
39043 failState: _failState
39044 };
39045 }
39046
39047 if (error === abortSignal) {
39048 return {
39049 node: abortSignal.node,
39050 error: null,
39051 thrown: false,
39052 aborted: true,
39053 failState: _failState
39054 };
39055 }
39056
39057 throw error;
39058 }
39059 };
39060
39061 _proto.checkExpressionErrors = function checkExpressionErrors(refExpressionErrors, andThrow) {
39062 if (!refExpressionErrors) return false;
39063 var shorthandAssign = refExpressionErrors.shorthandAssign,
39064 doubleProto = refExpressionErrors.doubleProto,
39065 optionalParameters = refExpressionErrors.optionalParameters;
39066
39067 if (!andThrow) {
39068 return shorthandAssign >= 0 || doubleProto >= 0 || optionalParameters >= 0;
39069 }
39070
39071 if (shorthandAssign >= 0) {
39072 this.unexpected(shorthandAssign);
39073 }
39074
39075 if (doubleProto >= 0) {
39076 this.raise(doubleProto, ErrorMessages.DuplicateProto);
39077 }
39078
39079 if (optionalParameters >= 0) {
39080 this.unexpected(optionalParameters);
39081 }
39082 };
39083
39084 _proto.isLiteralPropertyName = function isLiteralPropertyName() {
39085 return this.match(types$1.name) || !!this.state.type.keyword || this.match(types$1.string) || this.match(types$1.num) || this.match(types$1.bigint) || this.match(types$1.decimal);
39086 };
39087
39088 _proto.isPrivateName = function isPrivateName(node) {
39089 return node.type === "PrivateName";
39090 };
39091
39092 _proto.getPrivateNameSV = function getPrivateNameSV(node) {
39093 return node.id.name;
39094 };
39095
39096 _proto.hasPropertyAsPrivateName = function hasPropertyAsPrivateName(node) {
39097 return (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") && this.isPrivateName(node.property);
39098 };
39099
39100 _proto.isOptionalChain = function isOptionalChain(node) {
39101 return node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression";
39102 };
39103
39104 _proto.isObjectProperty = function isObjectProperty(node) {
39105 return node.type === "ObjectProperty";
39106 };
39107
39108 _proto.isObjectMethod = function isObjectMethod(node) {
39109 return node.type === "ObjectMethod";
39110 };
39111
39112 _proto.initializeScopes = function initializeScopes(inModule) {
39113 var _this2 = this;
39114
39115 if (inModule === void 0) {
39116 inModule = this.options.sourceType === "module";
39117 }
39118
39119 var oldLabels = this.state.labels;
39120 this.state.labels = [];
39121 var oldExportedIdentifiers = this.exportedIdentifiers;
39122 this.exportedIdentifiers = new Set();
39123 var oldInModule = this.inModule;
39124 this.inModule = inModule;
39125 var oldScope = this.scope;
39126 var ScopeHandler = this.getScopeHandler();
39127 this.scope = new ScopeHandler(this.raise.bind(this), this.inModule);
39128 var oldProdParam = this.prodParam;
39129 this.prodParam = new ProductionParameterHandler();
39130 var oldClassScope = this.classScope;
39131 this.classScope = new ClassScopeHandler(this.raise.bind(this));
39132 var oldExpressionScope = this.expressionScope;
39133 this.expressionScope = new ExpressionScopeHandler(this.raise.bind(this));
39134 return function () {
39135 _this2.state.labels = oldLabels;
39136 _this2.exportedIdentifiers = oldExportedIdentifiers;
39137 _this2.inModule = oldInModule;
39138 _this2.scope = oldScope;
39139 _this2.prodParam = oldProdParam;
39140 _this2.classScope = oldClassScope;
39141 _this2.expressionScope = oldExpressionScope;
39142 };
39143 };
39144
39145 _proto.enterInitialScopes = function enterInitialScopes() {
39146 var paramFlags = PARAM;
39147
39148 if (this.hasPlugin("topLevelAwait") && this.inModule) {
39149 paramFlags |= PARAM_AWAIT;
39150 }
39151
39152 this.scope.enter(SCOPE_PROGRAM);
39153 this.prodParam.enter(paramFlags);
39154 };
39155
39156 return UtilParser;
39157 }(Tokenizer);
39158 var ExpressionErrors = function ExpressionErrors() {
39159 this.shorthandAssign = -1;
39160 this.doubleProto = -1;
39161 this.optionalParameters = -1;
39162 };
39163
39164 var Node$3 = function () {
39165 function Node(parser, pos, loc) {
39166 this.type = void 0;
39167 this.start = void 0;
39168 this.end = void 0;
39169 this.loc = void 0;
39170 this.range = void 0;
39171 this.leadingComments = void 0;
39172 this.trailingComments = void 0;
39173 this.innerComments = void 0;
39174 this.extra = void 0;
39175 this.type = "";
39176 this.start = pos;
39177 this.end = 0;
39178 this.loc = new SourceLocation(loc);
39179 if (parser != null && parser.options.ranges) this.range = [pos, 0];
39180 if (parser != null && parser.filename) this.loc.filename = parser.filename;
39181 }
39182
39183 var _proto = Node.prototype;
39184
39185 _proto.__clone = function __clone() {
39186 var newNode = new Node();
39187 var keys = Object.keys(this);
39188
39189 for (var i = 0, length = keys.length; i < length; i++) {
39190 var _key = keys[i];
39191
39192 if (_key !== "leadingComments" && _key !== "trailingComments" && _key !== "innerComments") {
39193 newNode[_key] = this[_key];
39194 }
39195 }
39196
39197 return newNode;
39198 };
39199
39200 return Node;
39201 }();
39202
39203 var NodeUtils = function (_UtilParser) {
39204 _inherits(NodeUtils, _UtilParser);
39205
39206 function NodeUtils() {
39207 return _UtilParser.apply(this, arguments) || this;
39208 }
39209
39210 var _proto2 = NodeUtils.prototype;
39211
39212 _proto2.startNode = function startNode() {
39213 return new Node$3(this, this.state.start, this.state.startLoc);
39214 };
39215
39216 _proto2.startNodeAt = function startNodeAt(pos, loc) {
39217 return new Node$3(this, pos, loc);
39218 };
39219
39220 _proto2.startNodeAtNode = function startNodeAtNode(type) {
39221 return this.startNodeAt(type.start, type.loc.start);
39222 };
39223
39224 _proto2.finishNode = function finishNode(node, type) {
39225 return this.finishNodeAt(node, type, this.state.lastTokEnd, this.state.lastTokEndLoc);
39226 };
39227
39228 _proto2.finishNodeAt = function finishNodeAt(node, type, pos, loc) {
39229 if (node.end > 0) {
39230 throw new Error("Do not call finishNode*() twice on the same node." + " Instead use resetEndLocation() or change type directly.");
39231 }
39232
39233 node.type = type;
39234 node.end = pos;
39235 node.loc.end = loc;
39236 if (this.options.ranges) node.range[1] = pos;
39237 this.processComment(node);
39238 return node;
39239 };
39240
39241 _proto2.resetStartLocation = function resetStartLocation(node, start, startLoc) {
39242 node.start = start;
39243 node.loc.start = startLoc;
39244 if (this.options.ranges) node.range[0] = start;
39245 };
39246
39247 _proto2.resetEndLocation = function resetEndLocation(node, end, endLoc) {
39248 if (end === void 0) {
39249 end = this.state.lastTokEnd;
39250 }
39251
39252 if (endLoc === void 0) {
39253 endLoc = this.state.lastTokEndLoc;
39254 }
39255
39256 node.end = end;
39257 node.loc.end = endLoc;
39258 if (this.options.ranges) node.range[1] = end;
39259 };
39260
39261 _proto2.resetStartLocationFromNode = function resetStartLocationFromNode(node, locationNode) {
39262 this.resetStartLocation(node, locationNode.start, locationNode.loc.start);
39263 };
39264
39265 return NodeUtils;
39266 }(UtilParser);
39267
39268 var unwrapParenthesizedExpression = function unwrapParenthesizedExpression(node) {
39269 return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node;
39270 };
39271
39272 var LValParser = function (_NodeUtils) {
39273 _inherits(LValParser, _NodeUtils);
39274
39275 function LValParser() {
39276 return _NodeUtils.apply(this, arguments) || this;
39277 }
39278
39279 var _proto = LValParser.prototype;
39280
39281 _proto.toAssignable = function toAssignable(node, isLHS) {
39282 var _node$extra, _node$extra3;
39283
39284 if (isLHS === void 0) {
39285 isLHS = false;
39286 }
39287
39288 var parenthesized = undefined;
39289
39290 if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) {
39291 parenthesized = unwrapParenthesizedExpression(node);
39292
39293 if (isLHS) {
39294 if (parenthesized.type === "Identifier") {
39295 this.expressionScope.recordParenthesizedIdentifierError(node.start, ErrorMessages.InvalidParenthesizedAssignment);
39296 } else if (parenthesized.type !== "MemberExpression") {
39297 this.raise(node.start, ErrorMessages.InvalidParenthesizedAssignment);
39298 }
39299 } else {
39300 this.raise(node.start, ErrorMessages.InvalidParenthesizedAssignment);
39301 }
39302 }
39303
39304 switch (node.type) {
39305 case "Identifier":
39306 case "ObjectPattern":
39307 case "ArrayPattern":
39308 case "AssignmentPattern":
39309 break;
39310
39311 case "ObjectExpression":
39312 node.type = "ObjectPattern";
39313
39314 for (var i = 0, length = node.properties.length, last = length - 1; i < length; i++) {
39315 var _node$extra2;
39316
39317 var prop = node.properties[i];
39318 var isLast = i === last;
39319 this.toAssignableObjectExpressionProp(prop, isLast, isLHS);
39320
39321 if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingComma) {
39322 this.raiseRestNotLast(node.extra.trailingComma);
39323 }
39324 }
39325
39326 break;
39327
39328 case "ObjectProperty":
39329 this.toAssignable(node.value, isLHS);
39330 break;
39331
39332 case "SpreadElement":
39333 {
39334 this.checkToRestConversion(node);
39335 node.type = "RestElement";
39336 var arg = node.argument;
39337 this.toAssignable(arg, isLHS);
39338 break;
39339 }
39340
39341 case "ArrayExpression":
39342 node.type = "ArrayPattern";
39343 this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingComma, isLHS);
39344 break;
39345
39346 case "AssignmentExpression":
39347 if (node.operator !== "=") {
39348 this.raise(node.left.end, ErrorMessages.MissingEqInAssignment);
39349 }
39350
39351 node.type = "AssignmentPattern";
39352 delete node.operator;
39353 this.toAssignable(node.left, isLHS);
39354 break;
39355
39356 case "ParenthesizedExpression":
39357 this.toAssignable(parenthesized, isLHS);
39358 break;
39359 }
39360
39361 return node;
39362 };
39363
39364 _proto.toAssignableObjectExpressionProp = function toAssignableObjectExpressionProp(prop, isLast, isLHS) {
39365 if (prop.type === "ObjectMethod") {
39366 var error = prop.kind === "get" || prop.kind === "set" ? ErrorMessages.PatternHasAccessor : ErrorMessages.PatternHasMethod;
39367 this.raise(prop.key.start, error);
39368 } else if (prop.type === "SpreadElement" && !isLast) {
39369 this.raiseRestNotLast(prop.start);
39370 } else {
39371 this.toAssignable(prop, isLHS);
39372 }
39373 };
39374
39375 _proto.toAssignableList = function toAssignableList(exprList, trailingCommaPos, isLHS) {
39376 var end = exprList.length;
39377
39378 if (end) {
39379 var last = exprList[end - 1];
39380
39381 if ((last == null ? void 0 : last.type) === "RestElement") {
39382 --end;
39383 } else if ((last == null ? void 0 : last.type) === "SpreadElement") {
39384 last.type = "RestElement";
39385 var arg = last.argument;
39386 this.toAssignable(arg, isLHS);
39387 arg = unwrapParenthesizedExpression(arg);
39388
39389 if (arg.type !== "Identifier" && arg.type !== "MemberExpression" && arg.type !== "ArrayPattern" && arg.type !== "ObjectPattern") {
39390 this.unexpected(arg.start);
39391 }
39392
39393 if (trailingCommaPos) {
39394 this.raiseTrailingCommaAfterRest(trailingCommaPos);
39395 }
39396
39397 --end;
39398 }
39399 }
39400
39401 for (var i = 0; i < end; i++) {
39402 var elt = exprList[i];
39403
39404 if (elt) {
39405 this.toAssignable(elt, isLHS);
39406
39407 if (elt.type === "RestElement") {
39408 this.raiseRestNotLast(elt.start);
39409 }
39410 }
39411 }
39412
39413 return exprList;
39414 };
39415
39416 _proto.toReferencedList = function toReferencedList(exprList, isParenthesizedExpr) {
39417 return exprList;
39418 };
39419
39420 _proto.toReferencedListDeep = function toReferencedListDeep(exprList, isParenthesizedExpr) {
39421 this.toReferencedList(exprList, isParenthesizedExpr);
39422
39423 for (var _i2 = 0; _i2 < exprList.length; _i2++) {
39424 var expr = exprList[_i2];
39425
39426 if ((expr == null ? void 0 : expr.type) === "ArrayExpression") {
39427 this.toReferencedListDeep(expr.elements);
39428 }
39429 }
39430 };
39431
39432 _proto.parseSpread = function parseSpread(refExpressionErrors, refNeedsArrowPos) {
39433 var node = this.startNode();
39434 this.next();
39435 node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined, refNeedsArrowPos);
39436 return this.finishNode(node, "SpreadElement");
39437 };
39438
39439 _proto.parseRestBinding = function parseRestBinding() {
39440 var node = this.startNode();
39441 this.next();
39442 node.argument = this.parseBindingAtom();
39443 return this.finishNode(node, "RestElement");
39444 };
39445
39446 _proto.parseBindingAtom = function parseBindingAtom() {
39447 switch (this.state.type) {
39448 case types$1.bracketL:
39449 {
39450 var node = this.startNode();
39451 this.next();
39452 node.elements = this.parseBindingList(types$1.bracketR, 93, true);
39453 return this.finishNode(node, "ArrayPattern");
39454 }
39455
39456 case types$1.braceL:
39457 return this.parseObjectLike(types$1.braceR, true);
39458 }
39459
39460 return this.parseIdentifier();
39461 };
39462
39463 _proto.parseBindingList = function parseBindingList(close, closeCharCode, allowEmpty, allowModifiers) {
39464 var elts = [];
39465 var first = true;
39466
39467 while (!this.eat(close)) {
39468 if (first) {
39469 first = false;
39470 } else {
39471 this.expect(types$1.comma);
39472 }
39473
39474 if (allowEmpty && this.match(types$1.comma)) {
39475 elts.push(null);
39476 } else if (this.eat(close)) {
39477 break;
39478 } else if (this.match(types$1.ellipsis)) {
39479 elts.push(this.parseAssignableListItemTypes(this.parseRestBinding()));
39480 this.checkCommaAfterRest(closeCharCode);
39481 this.expect(close);
39482 break;
39483 } else {
39484 var decorators = [];
39485
39486 if (this.match(types$1.at) && this.hasPlugin("decorators")) {
39487 this.raise(this.state.start, ErrorMessages.UnsupportedParameterDecorator);
39488 }
39489
39490 while (this.match(types$1.at)) {
39491 decorators.push(this.parseDecorator());
39492 }
39493
39494 elts.push(this.parseAssignableListItem(allowModifiers, decorators));
39495 }
39496 }
39497
39498 return elts;
39499 };
39500
39501 _proto.parseAssignableListItem = function parseAssignableListItem(allowModifiers, decorators) {
39502 var left = this.parseMaybeDefault();
39503 this.parseAssignableListItemTypes(left);
39504 var elt = this.parseMaybeDefault(left.start, left.loc.start, left);
39505
39506 if (decorators.length) {
39507 left.decorators = decorators;
39508 }
39509
39510 return elt;
39511 };
39512
39513 _proto.parseAssignableListItemTypes = function parseAssignableListItemTypes(param) {
39514 return param;
39515 };
39516
39517 _proto.parseMaybeDefault = function parseMaybeDefault(startPos, startLoc, left) {
39518 var _startLoc, _startPos, _left;
39519
39520 startLoc = (_startLoc = startLoc) != null ? _startLoc : this.state.startLoc;
39521 startPos = (_startPos = startPos) != null ? _startPos : this.state.start;
39522 left = (_left = left) != null ? _left : this.parseBindingAtom();
39523 if (!this.eat(types$1.eq)) return left;
39524 var node = this.startNodeAt(startPos, startLoc);
39525 node.left = left;
39526 node.right = this.parseMaybeAssignAllowIn();
39527 return this.finishNode(node, "AssignmentPattern");
39528 };
39529
39530 _proto.checkLVal = function checkLVal(expr, contextDescription, bindingType, checkClashes, disallowLetBinding, strictModeChanged) {
39531 if (bindingType === void 0) {
39532 bindingType = BIND_NONE;
39533 }
39534
39535 if (strictModeChanged === void 0) {
39536 strictModeChanged = false;
39537 }
39538
39539 switch (expr.type) {
39540 case "Identifier":
39541 {
39542 var name = expr.name;
39543
39544 if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(name, this.inModule) : isStrictBindOnlyReservedWord(name))) {
39545 this.raise(expr.start, bindingType === BIND_NONE ? ErrorMessages.StrictEvalArguments : ErrorMessages.StrictEvalArgumentsBinding, name);
39546 }
39547
39548 if (checkClashes) {
39549 if (checkClashes.has(name)) {
39550 this.raise(expr.start, ErrorMessages.ParamDupe);
39551 } else {
39552 checkClashes.add(name);
39553 }
39554 }
39555
39556 if (disallowLetBinding && name === "let") {
39557 this.raise(expr.start, ErrorMessages.LetInLexicalBinding);
39558 }
39559
39560 if (!(bindingType & BIND_NONE)) {
39561 this.scope.declareName(name, bindingType, expr.start);
39562 }
39563
39564 break;
39565 }
39566
39567 case "MemberExpression":
39568 if (bindingType !== BIND_NONE) {
39569 this.raise(expr.start, ErrorMessages.InvalidPropertyBindingPattern);
39570 }
39571
39572 break;
39573
39574 case "ObjectPattern":
39575 for (var _i4 = 0, _expr$properties2 = expr.properties; _i4 < _expr$properties2.length; _i4++) {
39576 var prop = _expr$properties2[_i4];
39577 if (this.isObjectProperty(prop)) prop = prop.value;else if (this.isObjectMethod(prop)) continue;
39578 this.checkLVal(prop, "object destructuring pattern", bindingType, checkClashes, disallowLetBinding);
39579 }
39580
39581 break;
39582
39583 case "ArrayPattern":
39584 for (var _i6 = 0, _expr$elements2 = expr.elements; _i6 < _expr$elements2.length; _i6++) {
39585 var elem = _expr$elements2[_i6];
39586
39587 if (elem) {
39588 this.checkLVal(elem, "array destructuring pattern", bindingType, checkClashes, disallowLetBinding);
39589 }
39590 }
39591
39592 break;
39593
39594 case "AssignmentPattern":
39595 this.checkLVal(expr.left, "assignment pattern", bindingType, checkClashes);
39596 break;
39597
39598 case "RestElement":
39599 this.checkLVal(expr.argument, "rest element", bindingType, checkClashes);
39600 break;
39601
39602 case "ParenthesizedExpression":
39603 this.checkLVal(expr.expression, "parenthesized expression", bindingType, checkClashes);
39604 break;
39605
39606 default:
39607 {
39608 this.raise(expr.start, bindingType === BIND_NONE ? ErrorMessages.InvalidLhs : ErrorMessages.InvalidLhsBinding, contextDescription);
39609 }
39610 }
39611 };
39612
39613 _proto.checkToRestConversion = function checkToRestConversion(node) {
39614 if (node.argument.type !== "Identifier" && node.argument.type !== "MemberExpression") {
39615 this.raise(node.argument.start, ErrorMessages.InvalidRestAssignmentPattern);
39616 }
39617 };
39618
39619 _proto.checkCommaAfterRest = function checkCommaAfterRest(close) {
39620 if (this.match(types$1.comma)) {
39621 if (this.lookaheadCharCode() === close) {
39622 this.raiseTrailingCommaAfterRest(this.state.start);
39623 } else {
39624 this.raiseRestNotLast(this.state.start);
39625 }
39626 }
39627 };
39628
39629 _proto.raiseRestNotLast = function raiseRestNotLast(pos) {
39630 throw this.raise(pos, ErrorMessages.ElementAfterRest);
39631 };
39632
39633 _proto.raiseTrailingCommaAfterRest = function raiseTrailingCommaAfterRest(pos) {
39634 this.raise(pos, ErrorMessages.RestTrailingComma);
39635 };
39636
39637 return LValParser;
39638 }(NodeUtils);
39639
39640 var ExpressionParser = function (_LValParser) {
39641 _inherits(ExpressionParser, _LValParser);
39642
39643 function ExpressionParser() {
39644 return _LValParser.apply(this, arguments) || this;
39645 }
39646
39647 var _proto = ExpressionParser.prototype;
39648
39649 _proto.checkProto = function checkProto(prop, isRecord, protoRef, refExpressionErrors) {
39650 if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) {
39651 return;
39652 }
39653
39654 var key = prop.key;
39655 var name = key.type === "Identifier" ? key.name : key.value;
39656
39657 if (name === "__proto__") {
39658 if (isRecord) {
39659 this.raise(key.start, ErrorMessages.RecordNoProto);
39660 return;
39661 }
39662
39663 if (protoRef.used) {
39664 if (refExpressionErrors) {
39665 if (refExpressionErrors.doubleProto === -1) {
39666 refExpressionErrors.doubleProto = key.start;
39667 }
39668 } else {
39669 this.raise(key.start, ErrorMessages.DuplicateProto);
39670 }
39671 }
39672
39673 protoRef.used = true;
39674 }
39675 };
39676
39677 _proto.shouldExitDescending = function shouldExitDescending(expr, potentialArrowAt) {
39678 return expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt;
39679 };
39680
39681 _proto.getExpression = function getExpression() {
39682 var paramFlags = PARAM;
39683
39684 if (this.hasPlugin("topLevelAwait") && this.inModule) {
39685 paramFlags |= PARAM_AWAIT;
39686 }
39687
39688 this.scope.enter(SCOPE_PROGRAM);
39689 this.prodParam.enter(paramFlags);
39690 this.nextToken();
39691 var expr = this.parseExpression();
39692
39693 if (!this.match(types$1.eof)) {
39694 this.unexpected();
39695 }
39696
39697 this.finalizeRemainingComments();
39698 expr.comments = this.state.comments;
39699 expr.errors = this.state.errors;
39700
39701 if (this.options.tokens) {
39702 expr.tokens = this.tokens;
39703 }
39704
39705 return expr;
39706 };
39707
39708 _proto.parseExpression = function parseExpression(disallowIn, refExpressionErrors) {
39709 var _this = this;
39710
39711 if (disallowIn) {
39712 return this.disallowInAnd(function () {
39713 return _this.parseExpressionBase(refExpressionErrors);
39714 });
39715 }
39716
39717 return this.allowInAnd(function () {
39718 return _this.parseExpressionBase(refExpressionErrors);
39719 });
39720 };
39721
39722 _proto.parseExpressionBase = function parseExpressionBase(refExpressionErrors) {
39723 var startPos = this.state.start;
39724 var startLoc = this.state.startLoc;
39725 var expr = this.parseMaybeAssign(refExpressionErrors);
39726
39727 if (this.match(types$1.comma)) {
39728 var node = this.startNodeAt(startPos, startLoc);
39729 node.expressions = [expr];
39730
39731 while (this.eat(types$1.comma)) {
39732 node.expressions.push(this.parseMaybeAssign(refExpressionErrors));
39733 }
39734
39735 this.toReferencedList(node.expressions);
39736 return this.finishNode(node, "SequenceExpression");
39737 }
39738
39739 return expr;
39740 };
39741
39742 _proto.parseMaybeAssignDisallowIn = function parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) {
39743 var _this2 = this;
39744
39745 return this.disallowInAnd(function () {
39746 return _this2.parseMaybeAssign(refExpressionErrors, afterLeftParse);
39747 });
39748 };
39749
39750 _proto.parseMaybeAssignAllowIn = function parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) {
39751 var _this3 = this;
39752
39753 return this.allowInAnd(function () {
39754 return _this3.parseMaybeAssign(refExpressionErrors, afterLeftParse);
39755 });
39756 };
39757
39758 _proto.setOptionalParametersError = function setOptionalParametersError(refExpressionErrors, resultError) {
39759 var _resultError$pos;
39760
39761 refExpressionErrors.optionalParameters = (_resultError$pos = resultError == null ? void 0 : resultError.pos) != null ? _resultError$pos : this.state.start;
39762 };
39763
39764 _proto.parseMaybeAssign = function parseMaybeAssign(refExpressionErrors, afterLeftParse) {
39765 var startPos = this.state.start;
39766 var startLoc = this.state.startLoc;
39767
39768 if (this.isContextual("yield")) {
39769 if (this.prodParam.hasYield) {
39770 var _left = this.parseYield();
39771
39772 if (afterLeftParse) {
39773 _left = afterLeftParse.call(this, _left, startPos, startLoc);
39774 }
39775
39776 return _left;
39777 }
39778 }
39779
39780 var ownExpressionErrors;
39781
39782 if (refExpressionErrors) {
39783 ownExpressionErrors = false;
39784 } else {
39785 refExpressionErrors = new ExpressionErrors();
39786 ownExpressionErrors = true;
39787 }
39788
39789 if (this.match(types$1.parenL) || this.match(types$1.name)) {
39790 this.state.potentialArrowAt = this.state.start;
39791 }
39792
39793 var left = this.parseMaybeConditional(refExpressionErrors);
39794
39795 if (afterLeftParse) {
39796 left = afterLeftParse.call(this, left, startPos, startLoc);
39797 }
39798
39799 if (this.state.type.isAssign) {
39800 var node = this.startNodeAt(startPos, startLoc);
39801 var operator = this.state.value;
39802 node.operator = operator;
39803
39804 if (this.match(types$1.eq)) {
39805 node.left = this.toAssignable(left, true);
39806 refExpressionErrors.doubleProto = -1;
39807 } else {
39808 node.left = left;
39809 }
39810
39811 if (refExpressionErrors.shorthandAssign >= node.left.start) {
39812 refExpressionErrors.shorthandAssign = -1;
39813 }
39814
39815 this.checkLVal(left, "assignment expression");
39816 this.next();
39817 node.right = this.parseMaybeAssign();
39818 return this.finishNode(node, "AssignmentExpression");
39819 } else if (ownExpressionErrors) {
39820 this.checkExpressionErrors(refExpressionErrors, true);
39821 }
39822
39823 return left;
39824 };
39825
39826 _proto.parseMaybeConditional = function parseMaybeConditional(refExpressionErrors) {
39827 var startPos = this.state.start;
39828 var startLoc = this.state.startLoc;
39829 var potentialArrowAt = this.state.potentialArrowAt;
39830 var expr = this.parseExprOps(refExpressionErrors);
39831
39832 if (this.shouldExitDescending(expr, potentialArrowAt)) {
39833 return expr;
39834 }
39835
39836 return this.parseConditional(expr, startPos, startLoc, refExpressionErrors);
39837 };
39838
39839 _proto.parseConditional = function parseConditional(expr, startPos, startLoc, refExpressionErrors) {
39840 if (this.eat(types$1.question)) {
39841 var node = this.startNodeAt(startPos, startLoc);
39842 node.test = expr;
39843 node.consequent = this.parseMaybeAssignAllowIn();
39844 this.expect(types$1.colon);
39845 node.alternate = this.parseMaybeAssign();
39846 return this.finishNode(node, "ConditionalExpression");
39847 }
39848
39849 return expr;
39850 };
39851
39852 _proto.parseExprOps = function parseExprOps(refExpressionErrors) {
39853 var startPos = this.state.start;
39854 var startLoc = this.state.startLoc;
39855 var potentialArrowAt = this.state.potentialArrowAt;
39856 var expr = this.parseMaybeUnary(refExpressionErrors);
39857
39858 if (this.shouldExitDescending(expr, potentialArrowAt)) {
39859 return expr;
39860 }
39861
39862 return this.parseExprOp(expr, startPos, startLoc, -1);
39863 };
39864
39865 _proto.parseExprOp = function parseExprOp(left, leftStartPos, leftStartLoc, minPrec) {
39866 var prec = this.state.type.binop;
39867
39868 if (prec != null && (this.prodParam.hasIn || !this.match(types$1._in))) {
39869 if (prec > minPrec) {
39870 var op = this.state.type;
39871
39872 if (op === types$1.pipeline) {
39873 this.expectPlugin("pipelineOperator");
39874
39875 if (this.state.inFSharpPipelineDirectBody) {
39876 return left;
39877 }
39878
39879 this.state.inPipeline = true;
39880 this.checkPipelineAtInfixOperator(left, leftStartPos);
39881 }
39882
39883 var node = this.startNodeAt(leftStartPos, leftStartLoc);
39884 node.left = left;
39885 node.operator = this.state.value;
39886 var logical = op === types$1.logicalOR || op === types$1.logicalAND;
39887 var coalesce = op === types$1.nullishCoalescing;
39888
39889 if (coalesce) {
39890 prec = types$1.logicalAND.binop;
39891 }
39892
39893 this.next();
39894
39895 if (op === types$1.pipeline && this.getPluginOption("pipelineOperator", "proposal") === "minimal") {
39896 if (this.match(types$1.name) && this.state.value === "await" && this.prodParam.hasAwait) {
39897 throw this.raise(this.state.start, ErrorMessages.UnexpectedAwaitAfterPipelineBody);
39898 }
39899 }
39900
39901 node.right = this.parseExprOpRightExpr(op, prec);
39902 this.finishNode(node, logical || coalesce ? "LogicalExpression" : "BinaryExpression");
39903 var nextOp = this.state.type;
39904
39905 if (coalesce && (nextOp === types$1.logicalOR || nextOp === types$1.logicalAND) || logical && nextOp === types$1.nullishCoalescing) {
39906 throw this.raise(this.state.start, ErrorMessages.MixingCoalesceWithLogical);
39907 }
39908
39909 return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec);
39910 }
39911 }
39912
39913 return left;
39914 };
39915
39916 _proto.parseExprOpRightExpr = function parseExprOpRightExpr(op, prec) {
39917 var _this4 = this;
39918
39919 var startPos = this.state.start;
39920 var startLoc = this.state.startLoc;
39921
39922 switch (op) {
39923 case types$1.pipeline:
39924 switch (this.getPluginOption("pipelineOperator", "proposal")) {
39925 case "smart":
39926 return this.withTopicPermittingContext(function () {
39927 return _this4.parseSmartPipelineBody(_this4.parseExprOpBaseRightExpr(op, prec), startPos, startLoc);
39928 });
39929
39930 case "fsharp":
39931 return this.withSoloAwaitPermittingContext(function () {
39932 return _this4.parseFSharpPipelineBody(prec);
39933 });
39934 }
39935
39936 default:
39937 return this.parseExprOpBaseRightExpr(op, prec);
39938 }
39939 };
39940
39941 _proto.parseExprOpBaseRightExpr = function parseExprOpBaseRightExpr(op, prec) {
39942 var startPos = this.state.start;
39943 var startLoc = this.state.startLoc;
39944 return this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, op.rightAssociative ? prec - 1 : prec);
39945 };
39946
39947 _proto.checkExponentialAfterUnary = function checkExponentialAfterUnary(node) {
39948 if (this.match(types$1.exponent)) {
39949 this.raise(node.argument.start, ErrorMessages.UnexpectedTokenUnaryExponentiation);
39950 }
39951 };
39952
39953 _proto.parseMaybeUnary = function parseMaybeUnary(refExpressionErrors, sawUnary) {
39954 var startPos = this.state.start;
39955 var startLoc = this.state.startLoc;
39956 var isAwait = this.isContextual("await");
39957
39958 if (isAwait && this.isAwaitAllowed()) {
39959 this.next();
39960
39961 var _expr = this.parseAwait(startPos, startLoc);
39962
39963 if (!sawUnary) this.checkExponentialAfterUnary(_expr);
39964 return _expr;
39965 }
39966
39967 var update = this.match(types$1.incDec);
39968 var node = this.startNode();
39969
39970 if (this.state.type.prefix) {
39971 node.operator = this.state.value;
39972 node.prefix = true;
39973
39974 if (this.match(types$1._throw)) {
39975 this.expectPlugin("throwExpressions");
39976 }
39977
39978 var isDelete = this.match(types$1._delete);
39979 this.next();
39980 node.argument = this.parseMaybeUnary(null, true);
39981 this.checkExpressionErrors(refExpressionErrors, true);
39982
39983 if (this.state.strict && isDelete) {
39984 var arg = node.argument;
39985
39986 if (arg.type === "Identifier") {
39987 this.raise(node.start, ErrorMessages.StrictDelete);
39988 } else if (this.hasPropertyAsPrivateName(arg)) {
39989 this.raise(node.start, ErrorMessages.DeletePrivateField);
39990 }
39991 }
39992
39993 if (!update) {
39994 if (!sawUnary) this.checkExponentialAfterUnary(node);
39995 return this.finishNode(node, "UnaryExpression");
39996 }
39997 }
39998
39999 var expr = this.parseUpdate(node, update, refExpressionErrors);
40000
40001 if (isAwait) {
40002 var startsExpr = this.hasPlugin("v8intrinsic") ? this.state.type.startsExpr : this.state.type.startsExpr && !this.match(types$1.modulo);
40003
40004 if (startsExpr && !this.isAmbiguousAwait()) {
40005 this.raiseOverwrite(startPos, this.hasPlugin("topLevelAwait") ? ErrorMessages.AwaitNotInAsyncContext : ErrorMessages.AwaitNotInAsyncFunction);
40006 return this.parseAwait(startPos, startLoc);
40007 }
40008 }
40009
40010 return expr;
40011 };
40012
40013 _proto.parseUpdate = function parseUpdate(node, update, refExpressionErrors) {
40014 if (update) {
40015 this.checkLVal(node.argument, "prefix operation");
40016 return this.finishNode(node, "UpdateExpression");
40017 }
40018
40019 var startPos = this.state.start;
40020 var startLoc = this.state.startLoc;
40021 var expr = this.parseExprSubscripts(refExpressionErrors);
40022 if (this.checkExpressionErrors(refExpressionErrors, false)) return expr;
40023
40024 while (this.state.type.postfix && !this.canInsertSemicolon()) {
40025 var _node = this.startNodeAt(startPos, startLoc);
40026
40027 _node.operator = this.state.value;
40028 _node.prefix = false;
40029 _node.argument = expr;
40030 this.checkLVal(expr, "postfix operation");
40031 this.next();
40032 expr = this.finishNode(_node, "UpdateExpression");
40033 }
40034
40035 return expr;
40036 };
40037
40038 _proto.parseExprSubscripts = function parseExprSubscripts(refExpressionErrors) {
40039 var startPos = this.state.start;
40040 var startLoc = this.state.startLoc;
40041 var potentialArrowAt = this.state.potentialArrowAt;
40042 var expr = this.parseExprAtom(refExpressionErrors);
40043
40044 if (this.shouldExitDescending(expr, potentialArrowAt)) {
40045 return expr;
40046 }
40047
40048 return this.parseSubscripts(expr, startPos, startLoc);
40049 };
40050
40051 _proto.parseSubscripts = function parseSubscripts(base, startPos, startLoc, noCalls) {
40052 var state = {
40053 optionalChainMember: false,
40054 maybeAsyncArrow: this.atPossibleAsyncArrow(base),
40055 stop: false
40056 };
40057
40058 do {
40059 base = this.parseSubscript(base, startPos, startLoc, noCalls, state);
40060 state.maybeAsyncArrow = false;
40061 } while (!state.stop);
40062
40063 return base;
40064 };
40065
40066 _proto.parseSubscript = function parseSubscript(base, startPos, startLoc, noCalls, state) {
40067 if (!noCalls && this.eat(types$1.doubleColon)) {
40068 return this.parseBind(base, startPos, startLoc, noCalls, state);
40069 } else if (this.match(types$1.backQuote)) {
40070 return this.parseTaggedTemplateExpression(base, startPos, startLoc, state);
40071 }
40072
40073 var optional = false;
40074
40075 if (this.match(types$1.questionDot)) {
40076 if (noCalls && this.lookaheadCharCode() === 40) {
40077 state.stop = true;
40078 return base;
40079 }
40080
40081 state.optionalChainMember = optional = true;
40082 this.next();
40083 }
40084
40085 if (!noCalls && this.match(types$1.parenL)) {
40086 return this.parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional);
40087 } else if (optional || this.match(types$1.bracketL) || this.eat(types$1.dot)) {
40088 return this.parseMember(base, startPos, startLoc, state, optional);
40089 } else {
40090 state.stop = true;
40091 return base;
40092 }
40093 };
40094
40095 _proto.parseMember = function parseMember(base, startPos, startLoc, state, optional) {
40096 var node = this.startNodeAt(startPos, startLoc);
40097 var computed = this.eat(types$1.bracketL);
40098 node.object = base;
40099 node.computed = computed;
40100 var privateName = !computed && this.match(types$1.privateName) && this.state.value;
40101 var property = computed ? this.parseExpression() : privateName ? this.parsePrivateName() : this.parseIdentifier(true);
40102
40103 if (privateName !== false) {
40104 if (node.object.type === "Super") {
40105 this.raise(startPos, ErrorMessages.SuperPrivateField);
40106 }
40107
40108 this.classScope.usePrivateName(privateName, property.start);
40109 }
40110
40111 node.property = property;
40112
40113 if (computed) {
40114 this.expect(types$1.bracketR);
40115 }
40116
40117 if (state.optionalChainMember) {
40118 node.optional = optional;
40119 return this.finishNode(node, "OptionalMemberExpression");
40120 } else {
40121 return this.finishNode(node, "MemberExpression");
40122 }
40123 };
40124
40125 _proto.parseBind = function parseBind(base, startPos, startLoc, noCalls, state) {
40126 var node = this.startNodeAt(startPos, startLoc);
40127 node.object = base;
40128 node.callee = this.parseNoCallExpr();
40129 state.stop = true;
40130 return this.parseSubscripts(this.finishNode(node, "BindExpression"), startPos, startLoc, noCalls);
40131 };
40132
40133 _proto.parseCoverCallAndAsyncArrowHead = function parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional) {
40134 var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
40135 var refExpressionErrors = null;
40136 this.state.maybeInArrowParameters = true;
40137 this.next();
40138 var node = this.startNodeAt(startPos, startLoc);
40139 node.callee = base;
40140
40141 if (state.maybeAsyncArrow) {
40142 this.expressionScope.enter(newAsyncArrowScope());
40143 refExpressionErrors = new ExpressionErrors();
40144 }
40145
40146 if (state.optionalChainMember) {
40147 node.optional = optional;
40148 }
40149
40150 if (optional) {
40151 node.arguments = this.parseCallExpressionArguments(types$1.parenR);
40152 } else {
40153 node.arguments = this.parseCallExpressionArguments(types$1.parenR, base.type === "Import", base.type !== "Super", node, refExpressionErrors);
40154 }
40155
40156 this.finishCallExpression(node, state.optionalChainMember);
40157
40158 if (state.maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) {
40159 state.stop = true;
40160 this.expressionScope.validateAsPattern();
40161 this.expressionScope.exit();
40162 node = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startPos, startLoc), node);
40163 } else {
40164 if (state.maybeAsyncArrow) {
40165 this.checkExpressionErrors(refExpressionErrors, true);
40166 this.expressionScope.exit();
40167 }
40168
40169 this.toReferencedArguments(node);
40170 }
40171
40172 this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
40173 return node;
40174 };
40175
40176 _proto.toReferencedArguments = function toReferencedArguments(node, isParenthesizedExpr) {
40177 this.toReferencedListDeep(node.arguments, isParenthesizedExpr);
40178 };
40179
40180 _proto.parseTaggedTemplateExpression = function parseTaggedTemplateExpression(base, startPos, startLoc, state) {
40181 var node = this.startNodeAt(startPos, startLoc);
40182 node.tag = base;
40183 node.quasi = this.parseTemplate(true);
40184
40185 if (state.optionalChainMember) {
40186 this.raise(startPos, ErrorMessages.OptionalChainingNoTemplate);
40187 }
40188
40189 return this.finishNode(node, "TaggedTemplateExpression");
40190 };
40191
40192 _proto.atPossibleAsyncArrow = function atPossibleAsyncArrow(base) {
40193 return base.type === "Identifier" && base.name === "async" && this.state.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt;
40194 };
40195
40196 _proto.finishCallExpression = function finishCallExpression(node, optional) {
40197 if (node.callee.type === "Import") {
40198 if (node.arguments.length === 2) {
40199 {
40200 if (!this.hasPlugin("moduleAttributes")) {
40201 this.expectPlugin("importAssertions");
40202 }
40203 }
40204 }
40205
40206 if (node.arguments.length === 0 || node.arguments.length > 2) {
40207 this.raise(node.start, ErrorMessages.ImportCallArity, this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? "one or two arguments" : "one argument");
40208 } else {
40209 for (var _i2 = 0, _node$arguments2 = node.arguments; _i2 < _node$arguments2.length; _i2++) {
40210 var arg = _node$arguments2[_i2];
40211
40212 if (arg.type === "SpreadElement") {
40213 this.raise(arg.start, ErrorMessages.ImportCallSpreadArgument);
40214 }
40215 }
40216 }
40217 }
40218
40219 return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression");
40220 };
40221
40222 _proto.parseCallExpressionArguments = function parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) {
40223 var elts = [];
40224 var first = true;
40225 var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
40226 this.state.inFSharpPipelineDirectBody = false;
40227
40228 while (!this.eat(close)) {
40229 if (first) {
40230 first = false;
40231 } else {
40232 this.expect(types$1.comma);
40233
40234 if (this.match(close)) {
40235 if (dynamicImport && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) {
40236 this.raise(this.state.lastTokStart, ErrorMessages.ImportCallArgumentTrailingComma);
40237 }
40238
40239 if (nodeForExtra) {
40240 this.addExtra(nodeForExtra, "trailingComma", this.state.lastTokStart);
40241 }
40242
40243 this.next();
40244 break;
40245 }
40246 }
40247
40248 elts.push(this.parseExprListItem(false, refExpressionErrors, allowPlaceholder));
40249 }
40250
40251 this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
40252 return elts;
40253 };
40254
40255 _proto.shouldParseAsyncArrow = function shouldParseAsyncArrow() {
40256 return this.match(types$1.arrow) && !this.canInsertSemicolon();
40257 };
40258
40259 _proto.parseAsyncArrowFromCallExpression = function parseAsyncArrowFromCallExpression(node, call) {
40260 var _call$extra;
40261
40262 this.resetPreviousNodeTrailingComments(call);
40263 this.expect(types$1.arrow);
40264 this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingComma);
40265 setInnerComments(node, call.innerComments);
40266 setInnerComments(node, call.callee.trailingComments);
40267 return node;
40268 };
40269
40270 _proto.parseNoCallExpr = function parseNoCallExpr() {
40271 var startPos = this.state.start;
40272 var startLoc = this.state.startLoc;
40273 return this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);
40274 };
40275
40276 _proto.parseExprAtom = function parseExprAtom(refExpressionErrors) {
40277 var node;
40278
40279 switch (this.state.type) {
40280 case types$1._super:
40281 return this.parseSuper();
40282
40283 case types$1._import:
40284 node = this.startNode();
40285 this.next();
40286
40287 if (this.match(types$1.dot)) {
40288 return this.parseImportMetaProperty(node);
40289 }
40290
40291 if (!this.match(types$1.parenL)) {
40292 this.raise(this.state.lastTokStart, ErrorMessages.UnsupportedImport);
40293 }
40294
40295 return this.finishNode(node, "Import");
40296
40297 case types$1._this:
40298 node = this.startNode();
40299 this.next();
40300 return this.finishNode(node, "ThisExpression");
40301
40302 case types$1.name:
40303 {
40304 if (this.isContextual("module") && this.lookaheadCharCode() === 123 && !this.hasFollowingLineBreak()) {
40305 return this.parseModuleExpression();
40306 }
40307
40308 var canBeArrow = this.state.potentialArrowAt === this.state.start;
40309 var containsEsc = this.state.containsEsc;
40310 var id = this.parseIdentifier();
40311
40312 if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) {
40313 if (this.match(types$1._function)) {
40314 this.resetPreviousNodeTrailingComments(id);
40315 this.next();
40316 return this.parseFunction(this.startNodeAtNode(id), undefined, true);
40317 } else if (this.match(types$1.name)) {
40318 if (this.lookaheadCharCode() === 61) {
40319 return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id));
40320 } else {
40321 return id;
40322 }
40323 } else if (this.match(types$1._do)) {
40324 this.resetPreviousNodeTrailingComments(id);
40325 return this.parseDo(this.startNodeAtNode(id), true);
40326 }
40327 }
40328
40329 if (canBeArrow && this.match(types$1.arrow) && !this.canInsertSemicolon()) {
40330 this.next();
40331 return this.parseArrowExpression(this.startNodeAtNode(id), [id], false);
40332 }
40333
40334 return id;
40335 }
40336
40337 case types$1._do:
40338 {
40339 return this.parseDo(this.startNode(), false);
40340 }
40341
40342 case types$1.slash:
40343 case types$1.slashAssign:
40344 {
40345 this.readRegexp();
40346 return this.parseRegExpLiteral(this.state.value);
40347 }
40348
40349 case types$1.num:
40350 return this.parseNumericLiteral(this.state.value);
40351
40352 case types$1.bigint:
40353 return this.parseBigIntLiteral(this.state.value);
40354
40355 case types$1.decimal:
40356 return this.parseDecimalLiteral(this.state.value);
40357
40358 case types$1.string:
40359 return this.parseStringLiteral(this.state.value);
40360
40361 case types$1._null:
40362 return this.parseNullLiteral();
40363
40364 case types$1._true:
40365 return this.parseBooleanLiteral(true);
40366
40367 case types$1._false:
40368 return this.parseBooleanLiteral(false);
40369
40370 case types$1.parenL:
40371 {
40372 var _canBeArrow = this.state.potentialArrowAt === this.state.start;
40373
40374 return this.parseParenAndDistinguishExpression(_canBeArrow);
40375 }
40376
40377 case types$1.bracketBarL:
40378 case types$1.bracketHashL:
40379 {
40380 return this.parseArrayLike(this.state.type === types$1.bracketBarL ? types$1.bracketBarR : types$1.bracketR, false, true, refExpressionErrors);
40381 }
40382
40383 case types$1.bracketL:
40384 {
40385 return this.parseArrayLike(types$1.bracketR, true, false, refExpressionErrors);
40386 }
40387
40388 case types$1.braceBarL:
40389 case types$1.braceHashL:
40390 {
40391 return this.parseObjectLike(this.state.type === types$1.braceBarL ? types$1.braceBarR : types$1.braceR, false, true, refExpressionErrors);
40392 }
40393
40394 case types$1.braceL:
40395 {
40396 return this.parseObjectLike(types$1.braceR, false, false, refExpressionErrors);
40397 }
40398
40399 case types$1._function:
40400 return this.parseFunctionOrFunctionSent();
40401
40402 case types$1.at:
40403 this.parseDecorators();
40404
40405 case types$1._class:
40406 node = this.startNode();
40407 this.takeDecorators(node);
40408 return this.parseClass(node, false);
40409
40410 case types$1._new:
40411 return this.parseNewOrNewTarget();
40412
40413 case types$1.backQuote:
40414 return this.parseTemplate(false);
40415
40416 case types$1.doubleColon:
40417 {
40418 node = this.startNode();
40419 this.next();
40420 node.object = null;
40421 var callee = node.callee = this.parseNoCallExpr();
40422
40423 if (callee.type === "MemberExpression") {
40424 return this.finishNode(node, "BindExpression");
40425 } else {
40426 throw this.raise(callee.start, ErrorMessages.UnsupportedBind);
40427 }
40428 }
40429
40430 case types$1.privateName:
40431 {
40432 var start = this.state.start;
40433 var value = this.state.value;
40434 node = this.parsePrivateName();
40435
40436 if (this.match(types$1._in)) {
40437 this.expectPlugin("privateIn");
40438 this.classScope.usePrivateName(value, node.start);
40439 } else if (this.hasPlugin("privateIn")) {
40440 this.raise(this.state.start, ErrorMessages.PrivateInExpectedIn, value);
40441 } else {
40442 throw this.unexpected(start);
40443 }
40444
40445 return node;
40446 }
40447
40448 case types$1.hash:
40449 {
40450 if (this.state.inPipeline) {
40451 node = this.startNode();
40452
40453 if (this.getPluginOption("pipelineOperator", "proposal") !== "smart") {
40454 this.raise(node.start, ErrorMessages.PrimaryTopicRequiresSmartPipeline);
40455 }
40456
40457 this.next();
40458
40459 if (!this.primaryTopicReferenceIsAllowedInCurrentTopicContext()) {
40460 this.raise(node.start, ErrorMessages.PrimaryTopicNotAllowed);
40461 }
40462
40463 this.registerTopicReference();
40464 return this.finishNode(node, "PipelinePrimaryTopicReference");
40465 }
40466 }
40467
40468 case types$1.relational:
40469 {
40470 if (this.state.value === "<") {
40471 var lookaheadCh = this.input.codePointAt(this.nextTokenStart());
40472
40473 if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) {
40474 this.expectOnePlugin(["jsx", "flow", "typescript"]);
40475 }
40476 }
40477 }
40478
40479 default:
40480 throw this.unexpected();
40481 }
40482 };
40483
40484 _proto.parseAsyncArrowUnaryFunction = function parseAsyncArrowUnaryFunction(node) {
40485 this.prodParam.enter(functionFlags(true, this.prodParam.hasYield));
40486 var params = [this.parseIdentifier()];
40487 this.prodParam.exit();
40488
40489 if (this.hasPrecedingLineBreak()) {
40490 this.raise(this.state.pos, ErrorMessages.LineTerminatorBeforeArrow);
40491 }
40492
40493 this.expect(types$1.arrow);
40494 this.parseArrowExpression(node, params, true);
40495 return node;
40496 };
40497
40498 _proto.parseDo = function parseDo(node, isAsync) {
40499 this.expectPlugin("doExpressions");
40500
40501 if (isAsync) {
40502 this.expectPlugin("asyncDoExpressions");
40503 }
40504
40505 node.async = isAsync;
40506 this.next();
40507 var oldLabels = this.state.labels;
40508 this.state.labels = [];
40509
40510 if (isAsync) {
40511 this.prodParam.enter(PARAM_AWAIT);
40512 node.body = this.parseBlock();
40513 this.prodParam.exit();
40514 } else {
40515 node.body = this.parseBlock();
40516 }
40517
40518 this.state.labels = oldLabels;
40519 return this.finishNode(node, "DoExpression");
40520 };
40521
40522 _proto.parseSuper = function parseSuper() {
40523 var node = this.startNode();
40524 this.next();
40525
40526 if (this.match(types$1.parenL) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) {
40527 this.raise(node.start, ErrorMessages.SuperNotAllowed);
40528 } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) {
40529 this.raise(node.start, ErrorMessages.UnexpectedSuper);
40530 }
40531
40532 if (!this.match(types$1.parenL) && !this.match(types$1.bracketL) && !this.match(types$1.dot)) {
40533 this.raise(node.start, ErrorMessages.UnsupportedSuper);
40534 }
40535
40536 return this.finishNode(node, "Super");
40537 };
40538
40539 _proto.parseMaybePrivateName = function parseMaybePrivateName(isPrivateNameAllowed) {
40540 var isPrivate = this.match(types$1.privateName);
40541
40542 if (isPrivate) {
40543 if (!isPrivateNameAllowed) {
40544 this.raise(this.state.start + 1, ErrorMessages.UnexpectedPrivateField);
40545 }
40546
40547 return this.parsePrivateName();
40548 } else {
40549 return this.parseIdentifier(true);
40550 }
40551 };
40552
40553 _proto.parsePrivateName = function parsePrivateName() {
40554 var node = this.startNode();
40555 var id = this.startNodeAt(this.state.start + 1, new Position(this.state.curLine, this.state.start + 1 - this.state.lineStart));
40556 var name = this.state.value;
40557 this.next();
40558 node.id = this.createIdentifier(id, name);
40559 return this.finishNode(node, "PrivateName");
40560 };
40561
40562 _proto.parseFunctionOrFunctionSent = function parseFunctionOrFunctionSent() {
40563 var node = this.startNode();
40564 this.next();
40565
40566 if (this.prodParam.hasYield && this.match(types$1.dot)) {
40567 var meta = this.createIdentifier(this.startNodeAtNode(node), "function");
40568 this.next();
40569 return this.parseMetaProperty(node, meta, "sent");
40570 }
40571
40572 return this.parseFunction(node);
40573 };
40574
40575 _proto.parseMetaProperty = function parseMetaProperty(node, meta, propertyName) {
40576 node.meta = meta;
40577
40578 if (meta.name === "function" && propertyName === "sent") {
40579 if (this.isContextual(propertyName)) {
40580 this.expectPlugin("functionSent");
40581 } else if (!this.hasPlugin("functionSent")) {
40582 this.unexpected();
40583 }
40584 }
40585
40586 var containsEsc = this.state.containsEsc;
40587 node.property = this.parseIdentifier(true);
40588
40589 if (node.property.name !== propertyName || containsEsc) {
40590 this.raise(node.property.start, ErrorMessages.UnsupportedMetaProperty, meta.name, propertyName);
40591 }
40592
40593 return this.finishNode(node, "MetaProperty");
40594 };
40595
40596 _proto.parseImportMetaProperty = function parseImportMetaProperty(node) {
40597 var id = this.createIdentifier(this.startNodeAtNode(node), "import");
40598 this.next();
40599
40600 if (this.isContextual("meta")) {
40601 if (!this.inModule) {
40602 this.raise(id.start, SourceTypeModuleErrorMessages.ImportMetaOutsideModule);
40603 }
40604
40605 this.sawUnambiguousESM = true;
40606 }
40607
40608 return this.parseMetaProperty(node, id, "meta");
40609 };
40610
40611 _proto.parseLiteralAtNode = function parseLiteralAtNode(value, type, node) {
40612 this.addExtra(node, "rawValue", value);
40613 this.addExtra(node, "raw", this.input.slice(node.start, this.state.end));
40614 node.value = value;
40615 this.next();
40616 return this.finishNode(node, type);
40617 };
40618
40619 _proto.parseLiteral = function parseLiteral(value, type) {
40620 var node = this.startNode();
40621 return this.parseLiteralAtNode(value, type, node);
40622 };
40623
40624 _proto.parseStringLiteral = function parseStringLiteral(value) {
40625 return this.parseLiteral(value, "StringLiteral");
40626 };
40627
40628 _proto.parseNumericLiteral = function parseNumericLiteral(value) {
40629 return this.parseLiteral(value, "NumericLiteral");
40630 };
40631
40632 _proto.parseBigIntLiteral = function parseBigIntLiteral(value) {
40633 return this.parseLiteral(value, "BigIntLiteral");
40634 };
40635
40636 _proto.parseDecimalLiteral = function parseDecimalLiteral(value) {
40637 return this.parseLiteral(value, "DecimalLiteral");
40638 };
40639
40640 _proto.parseRegExpLiteral = function parseRegExpLiteral(value) {
40641 var node = this.parseLiteral(value.value, "RegExpLiteral");
40642 node.pattern = value.pattern;
40643 node.flags = value.flags;
40644 return node;
40645 };
40646
40647 _proto.parseBooleanLiteral = function parseBooleanLiteral(value) {
40648 var node = this.startNode();
40649 node.value = value;
40650 this.next();
40651 return this.finishNode(node, "BooleanLiteral");
40652 };
40653
40654 _proto.parseNullLiteral = function parseNullLiteral() {
40655 var node = this.startNode();
40656 this.next();
40657 return this.finishNode(node, "NullLiteral");
40658 };
40659
40660 _proto.parseParenAndDistinguishExpression = function parseParenAndDistinguishExpression(canBeArrow) {
40661 var startPos = this.state.start;
40662 var startLoc = this.state.startLoc;
40663 var val;
40664 this.next();
40665 this.expressionScope.enter(newArrowHeadScope());
40666 var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
40667 var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
40668 this.state.maybeInArrowParameters = true;
40669 this.state.inFSharpPipelineDirectBody = false;
40670 var innerStartPos = this.state.start;
40671 var innerStartLoc = this.state.startLoc;
40672 var exprList = [];
40673 var refExpressionErrors = new ExpressionErrors();
40674 var first = true;
40675 var spreadStart;
40676 var optionalCommaStart;
40677
40678 while (!this.match(types$1.parenR)) {
40679 if (first) {
40680 first = false;
40681 } else {
40682 this.expect(types$1.comma, refExpressionErrors.optionalParameters === -1 ? null : refExpressionErrors.optionalParameters);
40683
40684 if (this.match(types$1.parenR)) {
40685 optionalCommaStart = this.state.start;
40686 break;
40687 }
40688 }
40689
40690 if (this.match(types$1.ellipsis)) {
40691 var spreadNodeStartPos = this.state.start;
40692 var spreadNodeStartLoc = this.state.startLoc;
40693 spreadStart = this.state.start;
40694 exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartPos, spreadNodeStartLoc));
40695 this.checkCommaAfterRest(41);
40696 break;
40697 } else {
40698 exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem));
40699 }
40700 }
40701
40702 var innerEndPos = this.state.lastTokEnd;
40703 var innerEndLoc = this.state.lastTokEndLoc;
40704 this.expect(types$1.parenR);
40705 this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
40706 this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
40707 var arrowNode = this.startNodeAt(startPos, startLoc);
40708
40709 if (canBeArrow && this.shouldParseArrow() && (arrowNode = this.parseArrow(arrowNode))) {
40710 this.expressionScope.validateAsPattern();
40711 this.expressionScope.exit();
40712 this.parseArrowExpression(arrowNode, exprList, false);
40713 return arrowNode;
40714 }
40715
40716 this.expressionScope.exit();
40717
40718 if (!exprList.length) {
40719 this.unexpected(this.state.lastTokStart);
40720 }
40721
40722 if (optionalCommaStart) this.unexpected(optionalCommaStart);
40723 if (spreadStart) this.unexpected(spreadStart);
40724 this.checkExpressionErrors(refExpressionErrors, true);
40725 this.toReferencedListDeep(exprList, true);
40726
40727 if (exprList.length > 1) {
40728 val = this.startNodeAt(innerStartPos, innerStartLoc);
40729 val.expressions = exprList;
40730 this.finishNode(val, "SequenceExpression");
40731 val.end = innerEndPos;
40732 val.loc.end = innerEndLoc;
40733 } else {
40734 val = exprList[0];
40735 }
40736
40737 if (!this.options.createParenthesizedExpressions) {
40738 this.addExtra(val, "parenthesized", true);
40739 this.addExtra(val, "parenStart", startPos);
40740 return val;
40741 }
40742
40743 var parenExpression = this.startNodeAt(startPos, startLoc);
40744 parenExpression.expression = val;
40745 this.finishNode(parenExpression, "ParenthesizedExpression");
40746 return parenExpression;
40747 };
40748
40749 _proto.shouldParseArrow = function shouldParseArrow() {
40750 return !this.canInsertSemicolon();
40751 };
40752
40753 _proto.parseArrow = function parseArrow(node) {
40754 if (this.eat(types$1.arrow)) {
40755 return node;
40756 }
40757 };
40758
40759 _proto.parseParenItem = function parseParenItem(node, startPos, startLoc) {
40760 return node;
40761 };
40762
40763 _proto.parseNewOrNewTarget = function parseNewOrNewTarget() {
40764 var node = this.startNode();
40765 this.next();
40766
40767 if (this.match(types$1.dot)) {
40768 var meta = this.createIdentifier(this.startNodeAtNode(node), "new");
40769 this.next();
40770 var metaProp = this.parseMetaProperty(node, meta, "target");
40771
40772 if (!this.scope.inNonArrowFunction && !this.scope.inClass) {
40773 this.raise(metaProp.start, ErrorMessages.UnexpectedNewTarget);
40774 }
40775
40776 return metaProp;
40777 }
40778
40779 return this.parseNew(node);
40780 };
40781
40782 _proto.parseNew = function parseNew(node) {
40783 node.callee = this.parseNoCallExpr();
40784
40785 if (node.callee.type === "Import") {
40786 this.raise(node.callee.start, ErrorMessages.ImportCallNotNewExpression);
40787 } else if (this.isOptionalChain(node.callee)) {
40788 this.raise(this.state.lastTokEnd, ErrorMessages.OptionalChainingNoNew);
40789 } else if (this.eat(types$1.questionDot)) {
40790 this.raise(this.state.start, ErrorMessages.OptionalChainingNoNew);
40791 }
40792
40793 this.parseNewArguments(node);
40794 return this.finishNode(node, "NewExpression");
40795 };
40796
40797 _proto.parseNewArguments = function parseNewArguments(node) {
40798 if (this.eat(types$1.parenL)) {
40799 var args = this.parseExprList(types$1.parenR);
40800 this.toReferencedList(args);
40801 node.arguments = args;
40802 } else {
40803 node.arguments = [];
40804 }
40805 };
40806
40807 _proto.parseTemplateElement = function parseTemplateElement(isTagged) {
40808 var elem = this.startNode();
40809
40810 if (this.state.value === null) {
40811 if (!isTagged) {
40812 this.raise(this.state.start + 1, ErrorMessages.InvalidEscapeSequenceTemplate);
40813 }
40814 }
40815
40816 elem.value = {
40817 raw: this.input.slice(this.state.start, this.state.end).replace(/\r\n?/g, "\n"),
40818 cooked: this.state.value
40819 };
40820 this.next();
40821 elem.tail = this.match(types$1.backQuote);
40822 return this.finishNode(elem, "TemplateElement");
40823 };
40824
40825 _proto.parseTemplate = function parseTemplate(isTagged) {
40826 var node = this.startNode();
40827 this.next();
40828 node.expressions = [];
40829 var curElt = this.parseTemplateElement(isTagged);
40830 node.quasis = [curElt];
40831
40832 while (!curElt.tail) {
40833 this.expect(types$1.dollarBraceL);
40834 node.expressions.push(this.parseTemplateSubstitution());
40835 this.expect(types$1.braceR);
40836 node.quasis.push(curElt = this.parseTemplateElement(isTagged));
40837 }
40838
40839 this.next();
40840 return this.finishNode(node, "TemplateLiteral");
40841 };
40842
40843 _proto.parseTemplateSubstitution = function parseTemplateSubstitution() {
40844 return this.parseExpression();
40845 };
40846
40847 _proto.parseObjectLike = function parseObjectLike(close, isPattern, isRecord, refExpressionErrors) {
40848 if (isRecord) {
40849 this.expectPlugin("recordAndTuple");
40850 }
40851
40852 var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
40853 this.state.inFSharpPipelineDirectBody = false;
40854 var propHash = Object.create(null);
40855 var first = true;
40856 var node = this.startNode();
40857 node.properties = [];
40858 this.next();
40859
40860 while (!this.match(close)) {
40861 if (first) {
40862 first = false;
40863 } else {
40864 this.expect(types$1.comma);
40865
40866 if (this.match(close)) {
40867 this.addExtra(node, "trailingComma", this.state.lastTokStart);
40868 break;
40869 }
40870 }
40871
40872 var prop = this.parsePropertyDefinition(isPattern, refExpressionErrors);
40873
40874 if (!isPattern) {
40875 this.checkProto(prop, isRecord, propHash, refExpressionErrors);
40876 }
40877
40878 if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") {
40879 this.raise(prop.start, ErrorMessages.InvalidRecordProperty);
40880 }
40881
40882 if (prop.shorthand) {
40883 this.addExtra(prop, "shorthand", true);
40884 }
40885
40886 node.properties.push(prop);
40887 }
40888
40889 this.next();
40890 this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
40891 var type = "ObjectExpression";
40892
40893 if (isPattern) {
40894 type = "ObjectPattern";
40895 } else if (isRecord) {
40896 type = "RecordExpression";
40897 }
40898
40899 return this.finishNode(node, type);
40900 };
40901
40902 _proto.maybeAsyncOrAccessorProp = function maybeAsyncOrAccessorProp(prop) {
40903 return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(types$1.bracketL) || this.match(types$1.star));
40904 };
40905
40906 _proto.parsePropertyDefinition = function parsePropertyDefinition(isPattern, refExpressionErrors) {
40907 var decorators = [];
40908
40909 if (this.match(types$1.at)) {
40910 if (this.hasPlugin("decorators")) {
40911 this.raise(this.state.start, ErrorMessages.UnsupportedPropertyDecorator);
40912 }
40913
40914 while (this.match(types$1.at)) {
40915 decorators.push(this.parseDecorator());
40916 }
40917 }
40918
40919 var prop = this.startNode();
40920 var isGenerator = false;
40921 var isAsync = false;
40922 var isAccessor = false;
40923 var startPos;
40924 var startLoc;
40925
40926 if (this.match(types$1.ellipsis)) {
40927 if (decorators.length) this.unexpected();
40928
40929 if (isPattern) {
40930 this.next();
40931 prop.argument = this.parseIdentifier();
40932 this.checkCommaAfterRest(125);
40933 return this.finishNode(prop, "RestElement");
40934 }
40935
40936 return this.parseSpread();
40937 }
40938
40939 if (decorators.length) {
40940 prop.decorators = decorators;
40941 decorators = [];
40942 }
40943
40944 prop.method = false;
40945
40946 if (isPattern || refExpressionErrors) {
40947 startPos = this.state.start;
40948 startLoc = this.state.startLoc;
40949 }
40950
40951 if (!isPattern) {
40952 isGenerator = this.eat(types$1.star);
40953 }
40954
40955 var containsEsc = this.state.containsEsc;
40956 var key = this.parsePropertyName(prop, false);
40957
40958 if (!isPattern && !isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) {
40959 var keyName = key.name;
40960
40961 if (keyName === "async" && !this.hasPrecedingLineBreak()) {
40962 isAsync = true;
40963 this.resetPreviousNodeTrailingComments(key);
40964 isGenerator = this.eat(types$1.star);
40965 this.parsePropertyName(prop, false);
40966 }
40967
40968 if (keyName === "get" || keyName === "set") {
40969 isAccessor = true;
40970 this.resetPreviousNodeTrailingComments(key);
40971 prop.kind = keyName;
40972
40973 if (this.match(types$1.star)) {
40974 isGenerator = true;
40975 this.raise(this.state.pos, ErrorMessages.AccessorIsGenerator, keyName);
40976 this.next();
40977 }
40978
40979 this.parsePropertyName(prop, false);
40980 }
40981 }
40982
40983 this.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors);
40984 return prop;
40985 };
40986
40987 _proto.getGetterSetterExpectedParamCount = function getGetterSetterExpectedParamCount(method) {
40988 return method.kind === "get" ? 0 : 1;
40989 };
40990
40991 _proto.getObjectOrClassMethodParams = function getObjectOrClassMethodParams(method) {
40992 return method.params;
40993 };
40994
40995 _proto.checkGetterSetterParams = function checkGetterSetterParams(method) {
40996 var _params;
40997
40998 var paramCount = this.getGetterSetterExpectedParamCount(method);
40999 var params = this.getObjectOrClassMethodParams(method);
41000 var start = method.start;
41001
41002 if (params.length !== paramCount) {
41003 if (method.kind === "get") {
41004 this.raise(start, ErrorMessages.BadGetterArity);
41005 } else {
41006 this.raise(start, ErrorMessages.BadSetterArity);
41007 }
41008 }
41009
41010 if (method.kind === "set" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === "RestElement") {
41011 this.raise(start, ErrorMessages.BadSetterRestParameter);
41012 }
41013 };
41014
41015 _proto.parseObjectMethod = function parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {
41016 if (isAccessor) {
41017 this.parseMethod(prop, isGenerator, false, false, false, "ObjectMethod");
41018 this.checkGetterSetterParams(prop);
41019 return prop;
41020 }
41021
41022 if (isAsync || isGenerator || this.match(types$1.parenL)) {
41023 if (isPattern) this.unexpected();
41024 prop.kind = "method";
41025 prop.method = true;
41026 return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod");
41027 }
41028 };
41029
41030 _proto.parseObjectProperty = function parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) {
41031 prop.shorthand = false;
41032
41033 if (this.eat(types$1.colon)) {
41034 prop.value = isPattern ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors);
41035 return this.finishNode(prop, "ObjectProperty");
41036 }
41037
41038 if (!prop.computed && prop.key.type === "Identifier") {
41039 this.checkReservedWord(prop.key.name, prop.key.start, true, false);
41040
41041 if (isPattern) {
41042 prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key.__clone());
41043 } else if (this.match(types$1.eq) && refExpressionErrors) {
41044 if (refExpressionErrors.shorthandAssign === -1) {
41045 refExpressionErrors.shorthandAssign = this.state.start;
41046 }
41047
41048 prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key.__clone());
41049 } else {
41050 prop.value = prop.key.__clone();
41051 }
41052
41053 prop.shorthand = true;
41054 return this.finishNode(prop, "ObjectProperty");
41055 }
41056 };
41057
41058 _proto.parseObjPropValue = function parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {
41059 var node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors);
41060 if (!node) this.unexpected();
41061 return node;
41062 };
41063
41064 _proto.parsePropertyName = function parsePropertyName(prop, isPrivateNameAllowed) {
41065 if (this.eat(types$1.bracketL)) {
41066 prop.computed = true;
41067 prop.key = this.parseMaybeAssignAllowIn();
41068 this.expect(types$1.bracketR);
41069 } else {
41070 var oldInPropertyName = this.state.inPropertyName;
41071 this.state.inPropertyName = true;
41072 var type = this.state.type;
41073 prop.key = type === types$1.num || type === types$1.string || type === types$1.bigint || type === types$1.decimal ? this.parseExprAtom() : this.parseMaybePrivateName(isPrivateNameAllowed);
41074
41075 if (type !== types$1.privateName) {
41076 prop.computed = false;
41077 }
41078
41079 this.state.inPropertyName = oldInPropertyName;
41080 }
41081
41082 return prop.key;
41083 };
41084
41085 _proto.initFunction = function initFunction(node, isAsync) {
41086 node.id = null;
41087 node.generator = false;
41088 node.async = !!isAsync;
41089 };
41090
41091 _proto.parseMethod = function parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) {
41092 if (inClassScope === void 0) {
41093 inClassScope = false;
41094 }
41095
41096 this.initFunction(node, isAsync);
41097 node.generator = !!isGenerator;
41098 var allowModifiers = isConstructor;
41099 this.scope.enter(SCOPE_FUNCTION | SCOPE_SUPER | (inClassScope ? SCOPE_CLASS : 0) | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));
41100 this.prodParam.enter(functionFlags(isAsync, node.generator));
41101 this.parseFunctionParams(node, allowModifiers);
41102 this.parseFunctionBodyAndFinish(node, type, true);
41103 this.prodParam.exit();
41104 this.scope.exit();
41105 return node;
41106 };
41107
41108 _proto.parseArrayLike = function parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {
41109 if (isTuple) {
41110 this.expectPlugin("recordAndTuple");
41111 }
41112
41113 var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
41114 this.state.inFSharpPipelineDirectBody = false;
41115 var node = this.startNode();
41116 this.next();
41117 node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node);
41118 this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
41119 return this.finishNode(node, isTuple ? "TupleExpression" : "ArrayExpression");
41120 };
41121
41122 _proto.parseArrowExpression = function parseArrowExpression(node, params, isAsync, trailingCommaPos) {
41123 this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);
41124 var flags = functionFlags(isAsync, false);
41125
41126 if (!this.match(types$1.bracketL) && this.prodParam.hasIn) {
41127 flags |= PARAM_IN;
41128 }
41129
41130 this.prodParam.enter(flags);
41131 this.initFunction(node, isAsync);
41132 var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
41133
41134 if (params) {
41135 this.state.maybeInArrowParameters = true;
41136 this.setArrowFunctionParameters(node, params, trailingCommaPos);
41137 }
41138
41139 this.state.maybeInArrowParameters = false;
41140 this.parseFunctionBody(node, true);
41141 this.prodParam.exit();
41142 this.scope.exit();
41143 this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
41144 return this.finishNode(node, "ArrowFunctionExpression");
41145 };
41146
41147 _proto.setArrowFunctionParameters = function setArrowFunctionParameters(node, params, trailingCommaPos) {
41148 node.params = this.toAssignableList(params, trailingCommaPos, false);
41149 };
41150
41151 _proto.parseFunctionBodyAndFinish = function parseFunctionBodyAndFinish(node, type, isMethod) {
41152 if (isMethod === void 0) {
41153 isMethod = false;
41154 }
41155
41156 this.parseFunctionBody(node, false, isMethod);
41157 this.finishNode(node, type);
41158 };
41159
41160 _proto.parseFunctionBody = function parseFunctionBody(node, allowExpression, isMethod) {
41161 var _this5 = this;
41162
41163 if (isMethod === void 0) {
41164 isMethod = false;
41165 }
41166
41167 var isExpression = allowExpression && !this.match(types$1.braceL);
41168 this.expressionScope.enter(newExpressionScope());
41169
41170 if (isExpression) {
41171 node.body = this.parseMaybeAssign();
41172 this.checkParams(node, false, allowExpression, false);
41173 } else {
41174 var oldStrict = this.state.strict;
41175 var oldLabels = this.state.labels;
41176 this.state.labels = [];
41177 this.prodParam.enter(this.prodParam.currentFlags() | PARAM_RETURN);
41178 node.body = this.parseBlock(true, false, function (hasStrictModeDirective) {
41179 var nonSimple = !_this5.isSimpleParamList(node.params);
41180
41181 if (hasStrictModeDirective && nonSimple) {
41182 var errorPos = (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.end : node.start;
41183
41184 _this5.raise(errorPos, ErrorMessages.IllegalLanguageModeDirective);
41185 }
41186
41187 var strictModeChanged = !oldStrict && _this5.state.strict;
41188
41189 _this5.checkParams(node, !_this5.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged);
41190
41191 if (_this5.state.strict && node.id) {
41192 _this5.checkLVal(node.id, "function name", BIND_OUTSIDE, undefined, undefined, strictModeChanged);
41193 }
41194 });
41195 this.prodParam.exit();
41196 this.expressionScope.exit();
41197 this.state.labels = oldLabels;
41198 }
41199 };
41200
41201 _proto.isSimpleParamList = function isSimpleParamList(params) {
41202 for (var i = 0, len = params.length; i < len; i++) {
41203 if (params[i].type !== "Identifier") return false;
41204 }
41205
41206 return true;
41207 };
41208
41209 _proto.checkParams = function checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged) {
41210 if (strictModeChanged === void 0) {
41211 strictModeChanged = true;
41212 }
41213
41214 var checkClashes = new Set();
41215
41216 for (var _i4 = 0, _node$params2 = node.params; _i4 < _node$params2.length; _i4++) {
41217 var param = _node$params2[_i4];
41218 this.checkLVal(param, "function parameter list", BIND_VAR, allowDuplicates ? null : checkClashes, undefined, strictModeChanged);
41219 }
41220 };
41221
41222 _proto.parseExprList = function parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) {
41223 var elts = [];
41224 var first = true;
41225
41226 while (!this.eat(close)) {
41227 if (first) {
41228 first = false;
41229 } else {
41230 this.expect(types$1.comma);
41231
41232 if (this.match(close)) {
41233 if (nodeForExtra) {
41234 this.addExtra(nodeForExtra, "trailingComma", this.state.lastTokStart);
41235 }
41236
41237 this.next();
41238 break;
41239 }
41240 }
41241
41242 elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors));
41243 }
41244
41245 return elts;
41246 };
41247
41248 _proto.parseExprListItem = function parseExprListItem(allowEmpty, refExpressionErrors, allowPlaceholder) {
41249 var elt;
41250
41251 if (this.match(types$1.comma)) {
41252 if (!allowEmpty) {
41253 this.raise(this.state.pos, ErrorMessages.UnexpectedToken, ",");
41254 }
41255
41256 elt = null;
41257 } else if (this.match(types$1.ellipsis)) {
41258 var spreadNodeStartPos = this.state.start;
41259 var spreadNodeStartLoc = this.state.startLoc;
41260 elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartPos, spreadNodeStartLoc);
41261 } else if (this.match(types$1.question)) {
41262 this.expectPlugin("partialApplication");
41263
41264 if (!allowPlaceholder) {
41265 this.raise(this.state.start, ErrorMessages.UnexpectedArgumentPlaceholder);
41266 }
41267
41268 var node = this.startNode();
41269 this.next();
41270 elt = this.finishNode(node, "ArgumentPlaceholder");
41271 } else {
41272 elt = this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem);
41273 }
41274
41275 return elt;
41276 };
41277
41278 _proto.parseIdentifier = function parseIdentifier(liberal) {
41279 var node = this.startNode();
41280 var name = this.parseIdentifierName(node.start, liberal);
41281 return this.createIdentifier(node, name);
41282 };
41283
41284 _proto.createIdentifier = function createIdentifier(node, name) {
41285 node.name = name;
41286 node.loc.identifierName = name;
41287 return this.finishNode(node, "Identifier");
41288 };
41289
41290 _proto.parseIdentifierName = function parseIdentifierName(pos, liberal) {
41291 var name;
41292 var _this$state = this.state,
41293 start = _this$state.start,
41294 type = _this$state.type;
41295
41296 if (type === types$1.name) {
41297 name = this.state.value;
41298 } else if (type.keyword) {
41299 name = type.keyword;
41300 } else {
41301 throw this.unexpected();
41302 }
41303
41304 if (liberal) {
41305 this.state.type = types$1.name;
41306 } else {
41307 this.checkReservedWord(name, start, !!type.keyword, false);
41308 }
41309
41310 this.next();
41311 return name;
41312 };
41313
41314 _proto.checkReservedWord = function checkReservedWord(word, startLoc, checkKeywords, isBinding) {
41315 if (word.length > 10) {
41316 return;
41317 }
41318
41319 if (!canBeReservedWord(word)) {
41320 return;
41321 }
41322
41323 if (word === "yield") {
41324 if (this.prodParam.hasYield) {
41325 this.raise(startLoc, ErrorMessages.YieldBindingIdentifier);
41326 return;
41327 }
41328 } else if (word === "await") {
41329 if (this.prodParam.hasAwait) {
41330 this.raise(startLoc, ErrorMessages.AwaitBindingIdentifier);
41331 return;
41332 } else if (this.scope.inStaticBlock) {
41333 this.raise(startLoc, ErrorMessages.AwaitBindingIdentifierInStaticBlock);
41334 return;
41335 } else {
41336 this.expressionScope.recordAsyncArrowParametersError(startLoc, ErrorMessages.AwaitBindingIdentifier);
41337 }
41338 } else if (word === "arguments") {
41339 if (this.scope.inClassAndNotInNonArrowFunction) {
41340 this.raise(startLoc, ErrorMessages.ArgumentsInClass);
41341 return;
41342 }
41343 }
41344
41345 if (checkKeywords && isKeyword(word)) {
41346 this.raise(startLoc, ErrorMessages.UnexpectedKeyword, word);
41347 return;
41348 }
41349
41350 var reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord;
41351
41352 if (reservedTest(word, this.inModule)) {
41353 this.raise(startLoc, ErrorMessages.UnexpectedReservedWord, word);
41354 }
41355 };
41356
41357 _proto.isAwaitAllowed = function isAwaitAllowed() {
41358 if (this.prodParam.hasAwait) return true;
41359
41360 if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) {
41361 return true;
41362 }
41363
41364 return false;
41365 };
41366
41367 _proto.parseAwait = function parseAwait(startPos, startLoc) {
41368 var node = this.startNodeAt(startPos, startLoc);
41369 this.expressionScope.recordParameterInitializerError(node.start, ErrorMessages.AwaitExpressionFormalParameter);
41370
41371 if (this.eat(types$1.star)) {
41372 this.raise(node.start, ErrorMessages.ObsoleteAwaitStar);
41373 }
41374
41375 if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) {
41376 if (this.isAmbiguousAwait()) {
41377 this.ambiguousScriptDifferentAst = true;
41378 } else {
41379 this.sawUnambiguousESM = true;
41380 }
41381 }
41382
41383 if (!this.state.soloAwait) {
41384 node.argument = this.parseMaybeUnary(null, true);
41385 }
41386
41387 return this.finishNode(node, "AwaitExpression");
41388 };
41389
41390 _proto.isAmbiguousAwait = function isAmbiguousAwait() {
41391 return this.hasPrecedingLineBreak() || this.match(types$1.plusMin) || this.match(types$1.parenL) || this.match(types$1.bracketL) || this.match(types$1.backQuote) || this.match(types$1.regexp) || this.match(types$1.slash) || this.hasPlugin("v8intrinsic") && this.match(types$1.modulo);
41392 };
41393
41394 _proto.parseYield = function parseYield() {
41395 var node = this.startNode();
41396 this.expressionScope.recordParameterInitializerError(node.start, ErrorMessages.YieldInParameter);
41397 this.next();
41398 var delegating = false;
41399 var argument = null;
41400
41401 if (!this.hasPrecedingLineBreak()) {
41402 delegating = this.eat(types$1.star);
41403
41404 switch (this.state.type) {
41405 case types$1.semi:
41406 case types$1.eof:
41407 case types$1.braceR:
41408 case types$1.parenR:
41409 case types$1.bracketR:
41410 case types$1.braceBarR:
41411 case types$1.colon:
41412 case types$1.comma:
41413 if (!delegating) break;
41414
41415 default:
41416 argument = this.parseMaybeAssign();
41417 }
41418 }
41419
41420 node.delegate = delegating;
41421 node.argument = argument;
41422 return this.finishNode(node, "YieldExpression");
41423 };
41424
41425 _proto.checkPipelineAtInfixOperator = function checkPipelineAtInfixOperator(left, leftStartPos) {
41426 if (this.getPluginOption("pipelineOperator", "proposal") === "smart") {
41427 if (left.type === "SequenceExpression") {
41428 this.raise(leftStartPos, ErrorMessages.PipelineHeadSequenceExpression);
41429 }
41430 }
41431 };
41432
41433 _proto.parseSmartPipelineBody = function parseSmartPipelineBody(childExpression, startPos, startLoc) {
41434 this.checkSmartPipelineBodyEarlyErrors(childExpression, startPos);
41435 return this.parseSmartPipelineBodyInStyle(childExpression, startPos, startLoc);
41436 };
41437
41438 _proto.checkSmartPipelineBodyEarlyErrors = function checkSmartPipelineBodyEarlyErrors(childExpression, startPos) {
41439 if (this.match(types$1.arrow)) {
41440 throw this.raise(this.state.start, ErrorMessages.PipelineBodyNoArrow);
41441 } else if (childExpression.type === "SequenceExpression") {
41442 this.raise(startPos, ErrorMessages.PipelineBodySequenceExpression);
41443 }
41444 };
41445
41446 _proto.parseSmartPipelineBodyInStyle = function parseSmartPipelineBodyInStyle(childExpression, startPos, startLoc) {
41447 var bodyNode = this.startNodeAt(startPos, startLoc);
41448 var isSimpleReference = this.isSimpleReference(childExpression);
41449
41450 if (isSimpleReference) {
41451 bodyNode.callee = childExpression;
41452 } else {
41453 if (!this.topicReferenceWasUsedInCurrentTopicContext()) {
41454 this.raise(startPos, ErrorMessages.PipelineTopicUnused);
41455 }
41456
41457 bodyNode.expression = childExpression;
41458 }
41459
41460 return this.finishNode(bodyNode, isSimpleReference ? "PipelineBareFunction" : "PipelineTopicExpression");
41461 };
41462
41463 _proto.isSimpleReference = function isSimpleReference(expression) {
41464 switch (expression.type) {
41465 case "MemberExpression":
41466 return !expression.computed && this.isSimpleReference(expression.object);
41467
41468 case "Identifier":
41469 return true;
41470
41471 default:
41472 return false;
41473 }
41474 };
41475
41476 _proto.withTopicPermittingContext = function withTopicPermittingContext(callback) {
41477 var outerContextTopicState = this.state.topicContext;
41478 this.state.topicContext = {
41479 maxNumOfResolvableTopics: 1,
41480 maxTopicIndex: null
41481 };
41482
41483 try {
41484 return callback();
41485 } finally {
41486 this.state.topicContext = outerContextTopicState;
41487 }
41488 };
41489
41490 _proto.withTopicForbiddingContext = function withTopicForbiddingContext(callback) {
41491 var outerContextTopicState = this.state.topicContext;
41492 this.state.topicContext = {
41493 maxNumOfResolvableTopics: 0,
41494 maxTopicIndex: null
41495 };
41496
41497 try {
41498 return callback();
41499 } finally {
41500 this.state.topicContext = outerContextTopicState;
41501 }
41502 };
41503
41504 _proto.withSoloAwaitPermittingContext = function withSoloAwaitPermittingContext(callback) {
41505 var outerContextSoloAwaitState = this.state.soloAwait;
41506 this.state.soloAwait = true;
41507
41508 try {
41509 return callback();
41510 } finally {
41511 this.state.soloAwait = outerContextSoloAwaitState;
41512 }
41513 };
41514
41515 _proto.allowInAnd = function allowInAnd(callback) {
41516 var flags = this.prodParam.currentFlags();
41517 var prodParamToSet = PARAM_IN & ~flags;
41518
41519 if (prodParamToSet) {
41520 this.prodParam.enter(flags | PARAM_IN);
41521
41522 try {
41523 return callback();
41524 } finally {
41525 this.prodParam.exit();
41526 }
41527 }
41528
41529 return callback();
41530 };
41531
41532 _proto.disallowInAnd = function disallowInAnd(callback) {
41533 var flags = this.prodParam.currentFlags();
41534 var prodParamToClear = PARAM_IN & flags;
41535
41536 if (prodParamToClear) {
41537 this.prodParam.enter(flags & ~PARAM_IN);
41538
41539 try {
41540 return callback();
41541 } finally {
41542 this.prodParam.exit();
41543 }
41544 }
41545
41546 return callback();
41547 };
41548
41549 _proto.registerTopicReference = function registerTopicReference() {
41550 this.state.topicContext.maxTopicIndex = 0;
41551 };
41552
41553 _proto.primaryTopicReferenceIsAllowedInCurrentTopicContext = function primaryTopicReferenceIsAllowedInCurrentTopicContext() {
41554 return this.state.topicContext.maxNumOfResolvableTopics >= 1;
41555 };
41556
41557 _proto.topicReferenceWasUsedInCurrentTopicContext = function topicReferenceWasUsedInCurrentTopicContext() {
41558 return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;
41559 };
41560
41561 _proto.parseFSharpPipelineBody = function parseFSharpPipelineBody(prec) {
41562 var startPos = this.state.start;
41563 var startLoc = this.state.startLoc;
41564 this.state.potentialArrowAt = this.state.start;
41565 var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
41566 this.state.inFSharpPipelineDirectBody = true;
41567 var ret = this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, prec);
41568 this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
41569 return ret;
41570 };
41571
41572 _proto.parseModuleExpression = function parseModuleExpression() {
41573 this.expectPlugin("moduleBlocks");
41574 var node = this.startNode();
41575 this.next();
41576 this.eat(types$1.braceL);
41577 var revertScopes = this.initializeScopes(true);
41578 this.enterInitialScopes();
41579 var program = this.startNode();
41580
41581 try {
41582 node.body = this.parseProgram(program, types$1.braceR, "module");
41583 } finally {
41584 revertScopes();
41585 }
41586
41587 this.eat(types$1.braceR);
41588 return this.finishNode(node, "ModuleExpression");
41589 };
41590
41591 return ExpressionParser;
41592 }(LValParser);
41593
41594 var loopLabel = {
41595 kind: "loop"
41596 },
41597 switchLabel = {
41598 kind: "switch"
41599 };
41600 var FUNC_NO_FLAGS = 0,
41601 FUNC_STATEMENT = 1,
41602 FUNC_HANGING_STATEMENT = 2,
41603 FUNC_NULLABLE_ID = 4;
41604 var loneSurrogate = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;
41605 var keywordRelationalOperator = new RegExp("in(?:stanceof)?", "y");
41606
41607 function babel7CompatTokens(tokens) {
41608 {
41609 for (var i = 0; i < tokens.length; i++) {
41610 var token = tokens[i];
41611
41612 if (token.type === types$1.privateName) {
41613 var loc = token.loc,
41614 start = token.start,
41615 value = token.value,
41616 end = token.end;
41617 var hashEndPos = start + 1;
41618 var hashEndLoc = new Position(loc.start.line, loc.start.column + 1);
41619 tokens.splice(i, 1, new Token({
41620 type: types$1.hash,
41621 value: "#",
41622 start: start,
41623 end: hashEndPos,
41624 startLoc: loc.start,
41625 endLoc: hashEndLoc
41626 }), new Token({
41627 type: types$1.name,
41628 value: value,
41629 start: hashEndPos,
41630 end: end,
41631 startLoc: hashEndLoc,
41632 endLoc: loc.end
41633 }));
41634 }
41635 }
41636 }
41637 return tokens;
41638 }
41639
41640 var StatementParser = function (_ExpressionParser) {
41641 _inherits(StatementParser, _ExpressionParser);
41642
41643 function StatementParser() {
41644 return _ExpressionParser.apply(this, arguments) || this;
41645 }
41646
41647 var _proto = StatementParser.prototype;
41648
41649 _proto.parseTopLevel = function parseTopLevel(file, program) {
41650 file.program = this.parseProgram(program);
41651 file.comments = this.state.comments;
41652 if (this.options.tokens) file.tokens = babel7CompatTokens(this.tokens);
41653 return this.finishNode(file, "File");
41654 };
41655
41656 _proto.parseProgram = function parseProgram(program, end, sourceType) {
41657 if (end === void 0) {
41658 end = types$1.eof;
41659 }
41660
41661 if (sourceType === void 0) {
41662 sourceType = this.options.sourceType;
41663 }
41664
41665 program.sourceType = sourceType;
41666 program.interpreter = this.parseInterpreterDirective();
41667 this.parseBlockBody(program, true, true, end);
41668
41669 if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) {
41670 for (var _i2 = 0, _Array$from2 = Array.from(this.scope.undefinedExports); _i2 < _Array$from2.length; _i2++) {
41671 var _Array$from2$_i = _Array$from2[_i2],
41672 name = _Array$from2$_i[0];
41673 var pos = this.scope.undefinedExports.get(name);
41674 this.raise(pos, ErrorMessages.ModuleExportUndefined, name);
41675 }
41676 }
41677
41678 return this.finishNode(program, "Program");
41679 };
41680
41681 _proto.stmtToDirective = function stmtToDirective(stmt) {
41682 var directive = stmt;
41683 directive.type = "Directive";
41684 directive.value = directive.expression;
41685 delete directive.expression;
41686 var directiveLiteral = directive.value;
41687 var raw = this.input.slice(directiveLiteral.start, directiveLiteral.end);
41688 var val = directiveLiteral.value = raw.slice(1, -1);
41689 this.addExtra(directiveLiteral, "raw", raw);
41690 this.addExtra(directiveLiteral, "rawValue", val);
41691 directiveLiteral.type = "DirectiveLiteral";
41692 return directive;
41693 };
41694
41695 _proto.parseInterpreterDirective = function parseInterpreterDirective() {
41696 if (!this.match(types$1.interpreterDirective)) {
41697 return null;
41698 }
41699
41700 var node = this.startNode();
41701 node.value = this.state.value;
41702 this.next();
41703 return this.finishNode(node, "InterpreterDirective");
41704 };
41705
41706 _proto.isLet = function isLet(context) {
41707 if (!this.isContextual("let")) {
41708 return false;
41709 }
41710
41711 return this.isLetKeyword(context);
41712 };
41713
41714 _proto.isLetKeyword = function isLetKeyword(context) {
41715 var next = this.nextTokenStart();
41716 var nextCh = this.codePointAtPos(next);
41717
41718 if (nextCh === 92 || nextCh === 91) {
41719 return true;
41720 }
41721
41722 if (context) return false;
41723 if (nextCh === 123) return true;
41724
41725 if (isIdentifierStart(nextCh)) {
41726 keywordRelationalOperator.lastIndex = next;
41727 var matched = keywordRelationalOperator.exec(this.input);
41728
41729 if (matched !== null) {
41730 var endCh = this.codePointAtPos(next + matched[0].length);
41731
41732 if (!isIdentifierChar(endCh) && endCh !== 92) {
41733 return false;
41734 }
41735 }
41736
41737 return true;
41738 }
41739
41740 return false;
41741 };
41742
41743 _proto.parseStatement = function parseStatement(context, topLevel) {
41744 if (this.match(types$1.at)) {
41745 this.parseDecorators(true);
41746 }
41747
41748 return this.parseStatementContent(context, topLevel);
41749 };
41750
41751 _proto.parseStatementContent = function parseStatementContent(context, topLevel) {
41752 var starttype = this.state.type;
41753 var node = this.startNode();
41754 var kind;
41755
41756 if (this.isLet(context)) {
41757 starttype = types$1._var;
41758 kind = "let";
41759 }
41760
41761 switch (starttype) {
41762 case types$1._break:
41763 case types$1._continue:
41764 return this.parseBreakContinueStatement(node, starttype.keyword);
41765
41766 case types$1._debugger:
41767 return this.parseDebuggerStatement(node);
41768
41769 case types$1._do:
41770 return this.parseDoStatement(node);
41771
41772 case types$1._for:
41773 return this.parseForStatement(node);
41774
41775 case types$1._function:
41776 if (this.lookaheadCharCode() === 46) break;
41777
41778 if (context) {
41779 if (this.state.strict) {
41780 this.raise(this.state.start, ErrorMessages.StrictFunction);
41781 } else if (context !== "if" && context !== "label") {
41782 this.raise(this.state.start, ErrorMessages.SloppyFunction);
41783 }
41784 }
41785
41786 return this.parseFunctionStatement(node, false, !context);
41787
41788 case types$1._class:
41789 if (context) this.unexpected();
41790 return this.parseClass(node, true);
41791
41792 case types$1._if:
41793 return this.parseIfStatement(node);
41794
41795 case types$1._return:
41796 return this.parseReturnStatement(node);
41797
41798 case types$1._switch:
41799 return this.parseSwitchStatement(node);
41800
41801 case types$1._throw:
41802 return this.parseThrowStatement(node);
41803
41804 case types$1._try:
41805 return this.parseTryStatement(node);
41806
41807 case types$1._const:
41808 case types$1._var:
41809 kind = kind || this.state.value;
41810
41811 if (context && kind !== "var") {
41812 this.raise(this.state.start, ErrorMessages.UnexpectedLexicalDeclaration);
41813 }
41814
41815 return this.parseVarStatement(node, kind);
41816
41817 case types$1._while:
41818 return this.parseWhileStatement(node);
41819
41820 case types$1._with:
41821 return this.parseWithStatement(node);
41822
41823 case types$1.braceL:
41824 return this.parseBlock();
41825
41826 case types$1.semi:
41827 return this.parseEmptyStatement(node);
41828
41829 case types$1._import:
41830 {
41831 var nextTokenCharCode = this.lookaheadCharCode();
41832
41833 if (nextTokenCharCode === 40 || nextTokenCharCode === 46) {
41834 break;
41835 }
41836 }
41837
41838 case types$1._export:
41839 {
41840 if (!this.options.allowImportExportEverywhere && !topLevel) {
41841 this.raise(this.state.start, ErrorMessages.UnexpectedImportExport);
41842 }
41843
41844 this.next();
41845 var result;
41846
41847 if (starttype === types$1._import) {
41848 result = this.parseImport(node);
41849
41850 if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) {
41851 this.sawUnambiguousESM = true;
41852 }
41853 } else {
41854 result = this.parseExport(node);
41855
41856 if (result.type === "ExportNamedDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportAllDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportDefaultDeclaration") {
41857 this.sawUnambiguousESM = true;
41858 }
41859 }
41860
41861 this.assertModuleNodeAllowed(node);
41862 return result;
41863 }
41864
41865 default:
41866 {
41867 if (this.isAsyncFunction()) {
41868 if (context) {
41869 this.raise(this.state.start, ErrorMessages.AsyncFunctionInSingleStatementContext);
41870 }
41871
41872 this.next();
41873 return this.parseFunctionStatement(node, true, !context);
41874 }
41875 }
41876 }
41877
41878 var maybeName = this.state.value;
41879 var expr = this.parseExpression();
41880
41881 if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon)) {
41882 return this.parseLabeledStatement(node, maybeName, expr, context);
41883 } else {
41884 return this.parseExpressionStatement(node, expr);
41885 }
41886 };
41887
41888 _proto.assertModuleNodeAllowed = function assertModuleNodeAllowed(node) {
41889 if (!this.options.allowImportExportEverywhere && !this.inModule) {
41890 this.raise(node.start, SourceTypeModuleErrorMessages.ImportOutsideModule);
41891 }
41892 };
41893
41894 _proto.takeDecorators = function takeDecorators(node) {
41895 var decorators = this.state.decoratorStack[this.state.decoratorStack.length - 1];
41896
41897 if (decorators.length) {
41898 node.decorators = decorators;
41899 this.resetStartLocationFromNode(node, decorators[0]);
41900 this.state.decoratorStack[this.state.decoratorStack.length - 1] = [];
41901 }
41902 };
41903
41904 _proto.canHaveLeadingDecorator = function canHaveLeadingDecorator() {
41905 return this.match(types$1._class);
41906 };
41907
41908 _proto.parseDecorators = function parseDecorators(allowExport) {
41909 var currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1];
41910
41911 while (this.match(types$1.at)) {
41912 var decorator = this.parseDecorator();
41913 currentContextDecorators.push(decorator);
41914 }
41915
41916 if (this.match(types$1._export)) {
41917 if (!allowExport) {
41918 this.unexpected();
41919 }
41920
41921 if (this.hasPlugin("decorators") && !this.getPluginOption("decorators", "decoratorsBeforeExport")) {
41922 this.raise(this.state.start, ErrorMessages.DecoratorExportClass);
41923 }
41924 } else if (!this.canHaveLeadingDecorator()) {
41925 throw this.raise(this.state.start, ErrorMessages.UnexpectedLeadingDecorator);
41926 }
41927 };
41928
41929 _proto.parseDecorator = function parseDecorator() {
41930 this.expectOnePlugin(["decorators-legacy", "decorators"]);
41931 var node = this.startNode();
41932 this.next();
41933
41934 if (this.hasPlugin("decorators")) {
41935 this.state.decoratorStack.push([]);
41936 var startPos = this.state.start;
41937 var startLoc = this.state.startLoc;
41938 var expr;
41939
41940 if (this.eat(types$1.parenL)) {
41941 expr = this.parseExpression();
41942 this.expect(types$1.parenR);
41943 } else {
41944 expr = this.parseIdentifier(false);
41945
41946 while (this.eat(types$1.dot)) {
41947 var _node = this.startNodeAt(startPos, startLoc);
41948
41949 _node.object = expr;
41950 _node.property = this.parseIdentifier(true);
41951 _node.computed = false;
41952 expr = this.finishNode(_node, "MemberExpression");
41953 }
41954 }
41955
41956 node.expression = this.parseMaybeDecoratorArguments(expr);
41957 this.state.decoratorStack.pop();
41958 } else {
41959 node.expression = this.parseExprSubscripts();
41960 }
41961
41962 return this.finishNode(node, "Decorator");
41963 };
41964
41965 _proto.parseMaybeDecoratorArguments = function parseMaybeDecoratorArguments(expr) {
41966 if (this.eat(types$1.parenL)) {
41967 var node = this.startNodeAtNode(expr);
41968 node.callee = expr;
41969 node.arguments = this.parseCallExpressionArguments(types$1.parenR, false);
41970 this.toReferencedList(node.arguments);
41971 return this.finishNode(node, "CallExpression");
41972 }
41973
41974 return expr;
41975 };
41976
41977 _proto.parseBreakContinueStatement = function parseBreakContinueStatement(node, keyword) {
41978 var isBreak = keyword === "break";
41979 this.next();
41980
41981 if (this.isLineTerminator()) {
41982 node.label = null;
41983 } else {
41984 node.label = this.parseIdentifier();
41985 this.semicolon();
41986 }
41987
41988 this.verifyBreakContinue(node, keyword);
41989 return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement");
41990 };
41991
41992 _proto.verifyBreakContinue = function verifyBreakContinue(node, keyword) {
41993 var isBreak = keyword === "break";
41994 var i;
41995
41996 for (i = 0; i < this.state.labels.length; ++i) {
41997 var lab = this.state.labels[i];
41998
41999 if (node.label == null || lab.name === node.label.name) {
42000 if (lab.kind != null && (isBreak || lab.kind === "loop")) break;
42001 if (node.label && isBreak) break;
42002 }
42003 }
42004
42005 if (i === this.state.labels.length) {
42006 this.raise(node.start, ErrorMessages.IllegalBreakContinue, keyword);
42007 }
42008 };
42009
42010 _proto.parseDebuggerStatement = function parseDebuggerStatement(node) {
42011 this.next();
42012 this.semicolon();
42013 return this.finishNode(node, "DebuggerStatement");
42014 };
42015
42016 _proto.parseHeaderExpression = function parseHeaderExpression() {
42017 this.expect(types$1.parenL);
42018 var val = this.parseExpression();
42019 this.expect(types$1.parenR);
42020 return val;
42021 };
42022
42023 _proto.parseDoStatement = function parseDoStatement(node) {
42024 var _this = this;
42025
42026 this.next();
42027 this.state.labels.push(loopLabel);
42028 node.body = this.withTopicForbiddingContext(function () {
42029 return _this.parseStatement("do");
42030 });
42031 this.state.labels.pop();
42032 this.expect(types$1._while);
42033 node.test = this.parseHeaderExpression();
42034 this.eat(types$1.semi);
42035 return this.finishNode(node, "DoWhileStatement");
42036 };
42037
42038 _proto.parseForStatement = function parseForStatement(node) {
42039 this.next();
42040 this.state.labels.push(loopLabel);
42041 var awaitAt = -1;
42042
42043 if (this.isAwaitAllowed() && this.eatContextual("await")) {
42044 awaitAt = this.state.lastTokStart;
42045 }
42046
42047 this.scope.enter(SCOPE_OTHER);
42048 this.expect(types$1.parenL);
42049
42050 if (this.match(types$1.semi)) {
42051 if (awaitAt > -1) {
42052 this.unexpected(awaitAt);
42053 }
42054
42055 return this.parseFor(node, null);
42056 }
42057
42058 var startsWithLet = this.isContextual("let");
42059 var isLet = startsWithLet && this.isLetKeyword();
42060
42061 if (this.match(types$1._var) || this.match(types$1._const) || isLet) {
42062 var _init = this.startNode();
42063
42064 var kind = isLet ? "let" : this.state.value;
42065 this.next();
42066 this.parseVar(_init, true, kind);
42067 this.finishNode(_init, "VariableDeclaration");
42068
42069 if ((this.match(types$1._in) || this.isContextual("of")) && _init.declarations.length === 1) {
42070 return this.parseForIn(node, _init, awaitAt);
42071 }
42072
42073 if (awaitAt > -1) {
42074 this.unexpected(awaitAt);
42075 }
42076
42077 return this.parseFor(node, _init);
42078 }
42079
42080 var startsWithUnescapedName = this.match(types$1.name) && !this.state.containsEsc;
42081 var refExpressionErrors = new ExpressionErrors();
42082 var init = this.parseExpression(true, refExpressionErrors);
42083 var isForOf = this.isContextual("of");
42084
42085 if (isForOf) {
42086 if (startsWithLet) {
42087 this.raise(init.start, ErrorMessages.ForOfLet);
42088 } else if (awaitAt === -1 && startsWithUnescapedName && init.type === "Identifier" && init.name === "async") {
42089 this.raise(init.start, ErrorMessages.ForOfAsync);
42090 }
42091 }
42092
42093 if (isForOf || this.match(types$1._in)) {
42094 this.toAssignable(init, true);
42095 var description = isForOf ? "for-of statement" : "for-in statement";
42096 this.checkLVal(init, description);
42097 return this.parseForIn(node, init, awaitAt);
42098 } else {
42099 this.checkExpressionErrors(refExpressionErrors, true);
42100 }
42101
42102 if (awaitAt > -1) {
42103 this.unexpected(awaitAt);
42104 }
42105
42106 return this.parseFor(node, init);
42107 };
42108
42109 _proto.parseFunctionStatement = function parseFunctionStatement(node, isAsync, declarationPosition) {
42110 this.next();
42111 return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), isAsync);
42112 };
42113
42114 _proto.parseIfStatement = function parseIfStatement(node) {
42115 this.next();
42116 node.test = this.parseHeaderExpression();
42117 node.consequent = this.parseStatement("if");
42118 node.alternate = this.eat(types$1._else) ? this.parseStatement("if") : null;
42119 return this.finishNode(node, "IfStatement");
42120 };
42121
42122 _proto.parseReturnStatement = function parseReturnStatement(node) {
42123 if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) {
42124 this.raise(this.state.start, ErrorMessages.IllegalReturn);
42125 }
42126
42127 this.next();
42128
42129 if (this.isLineTerminator()) {
42130 node.argument = null;
42131 } else {
42132 node.argument = this.parseExpression();
42133 this.semicolon();
42134 }
42135
42136 return this.finishNode(node, "ReturnStatement");
42137 };
42138
42139 _proto.parseSwitchStatement = function parseSwitchStatement(node) {
42140 this.next();
42141 node.discriminant = this.parseHeaderExpression();
42142 var cases = node.cases = [];
42143 this.expect(types$1.braceL);
42144 this.state.labels.push(switchLabel);
42145 this.scope.enter(SCOPE_OTHER);
42146 var cur;
42147
42148 for (var sawDefault; !this.match(types$1.braceR);) {
42149 if (this.match(types$1._case) || this.match(types$1._default)) {
42150 var isCase = this.match(types$1._case);
42151 if (cur) this.finishNode(cur, "SwitchCase");
42152 cases.push(cur = this.startNode());
42153 cur.consequent = [];
42154 this.next();
42155
42156 if (isCase) {
42157 cur.test = this.parseExpression();
42158 } else {
42159 if (sawDefault) {
42160 this.raise(this.state.lastTokStart, ErrorMessages.MultipleDefaultsInSwitch);
42161 }
42162
42163 sawDefault = true;
42164 cur.test = null;
42165 }
42166
42167 this.expect(types$1.colon);
42168 } else {
42169 if (cur) {
42170 cur.consequent.push(this.parseStatement(null));
42171 } else {
42172 this.unexpected();
42173 }
42174 }
42175 }
42176
42177 this.scope.exit();
42178 if (cur) this.finishNode(cur, "SwitchCase");
42179 this.next();
42180 this.state.labels.pop();
42181 return this.finishNode(node, "SwitchStatement");
42182 };
42183
42184 _proto.parseThrowStatement = function parseThrowStatement(node) {
42185 this.next();
42186
42187 if (this.hasPrecedingLineBreak()) {
42188 this.raise(this.state.lastTokEnd, ErrorMessages.NewlineAfterThrow);
42189 }
42190
42191 node.argument = this.parseExpression();
42192 this.semicolon();
42193 return this.finishNode(node, "ThrowStatement");
42194 };
42195
42196 _proto.parseCatchClauseParam = function parseCatchClauseParam() {
42197 var param = this.parseBindingAtom();
42198 var simple = param.type === "Identifier";
42199 this.scope.enter(simple ? SCOPE_SIMPLE_CATCH : 0);
42200 this.checkLVal(param, "catch clause", BIND_LEXICAL);
42201 return param;
42202 };
42203
42204 _proto.parseTryStatement = function parseTryStatement(node) {
42205 var _this2 = this;
42206
42207 this.next();
42208 node.block = this.parseBlock();
42209 node.handler = null;
42210
42211 if (this.match(types$1._catch)) {
42212 var clause = this.startNode();
42213 this.next();
42214
42215 if (this.match(types$1.parenL)) {
42216 this.expect(types$1.parenL);
42217 clause.param = this.parseCatchClauseParam();
42218 this.expect(types$1.parenR);
42219 } else {
42220 clause.param = null;
42221 this.scope.enter(SCOPE_OTHER);
42222 }
42223
42224 clause.body = this.withTopicForbiddingContext(function () {
42225 return _this2.parseBlock(false, false);
42226 });
42227 this.scope.exit();
42228 node.handler = this.finishNode(clause, "CatchClause");
42229 }
42230
42231 node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null;
42232
42233 if (!node.handler && !node.finalizer) {
42234 this.raise(node.start, ErrorMessages.NoCatchOrFinally);
42235 }
42236
42237 return this.finishNode(node, "TryStatement");
42238 };
42239
42240 _proto.parseVarStatement = function parseVarStatement(node, kind) {
42241 this.next();
42242 this.parseVar(node, false, kind);
42243 this.semicolon();
42244 return this.finishNode(node, "VariableDeclaration");
42245 };
42246
42247 _proto.parseWhileStatement = function parseWhileStatement(node) {
42248 var _this3 = this;
42249
42250 this.next();
42251 node.test = this.parseHeaderExpression();
42252 this.state.labels.push(loopLabel);
42253 node.body = this.withTopicForbiddingContext(function () {
42254 return _this3.parseStatement("while");
42255 });
42256 this.state.labels.pop();
42257 return this.finishNode(node, "WhileStatement");
42258 };
42259
42260 _proto.parseWithStatement = function parseWithStatement(node) {
42261 var _this4 = this;
42262
42263 if (this.state.strict) {
42264 this.raise(this.state.start, ErrorMessages.StrictWith);
42265 }
42266
42267 this.next();
42268 node.object = this.parseHeaderExpression();
42269 node.body = this.withTopicForbiddingContext(function () {
42270 return _this4.parseStatement("with");
42271 });
42272 return this.finishNode(node, "WithStatement");
42273 };
42274
42275 _proto.parseEmptyStatement = function parseEmptyStatement(node) {
42276 this.next();
42277 return this.finishNode(node, "EmptyStatement");
42278 };
42279
42280 _proto.parseLabeledStatement = function parseLabeledStatement(node, maybeName, expr, context) {
42281 for (var _i4 = 0, _this$state$labels2 = this.state.labels; _i4 < _this$state$labels2.length; _i4++) {
42282 var label = _this$state$labels2[_i4];
42283
42284 if (label.name === maybeName) {
42285 this.raise(expr.start, ErrorMessages.LabelRedeclaration, maybeName);
42286 }
42287 }
42288
42289 var kind = this.state.type.isLoop ? "loop" : this.match(types$1._switch) ? "switch" : null;
42290
42291 for (var i = this.state.labels.length - 1; i >= 0; i--) {
42292 var _label = this.state.labels[i];
42293
42294 if (_label.statementStart === node.start) {
42295 _label.statementStart = this.state.start;
42296 _label.kind = kind;
42297 } else {
42298 break;
42299 }
42300 }
42301
42302 this.state.labels.push({
42303 name: maybeName,
42304 kind: kind,
42305 statementStart: this.state.start
42306 });
42307 node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label");
42308 this.state.labels.pop();
42309 node.label = expr;
42310 return this.finishNode(node, "LabeledStatement");
42311 };
42312
42313 _proto.parseExpressionStatement = function parseExpressionStatement(node, expr) {
42314 node.expression = expr;
42315 this.semicolon();
42316 return this.finishNode(node, "ExpressionStatement");
42317 };
42318
42319 _proto.parseBlock = function parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse) {
42320 if (allowDirectives === void 0) {
42321 allowDirectives = false;
42322 }
42323
42324 if (createNewLexicalScope === void 0) {
42325 createNewLexicalScope = true;
42326 }
42327
42328 var node = this.startNode();
42329
42330 if (allowDirectives) {
42331 this.state.strictErrors.clear();
42332 }
42333
42334 this.expect(types$1.braceL);
42335
42336 if (createNewLexicalScope) {
42337 this.scope.enter(SCOPE_OTHER);
42338 }
42339
42340 this.parseBlockBody(node, allowDirectives, false, types$1.braceR, afterBlockParse);
42341
42342 if (createNewLexicalScope) {
42343 this.scope.exit();
42344 }
42345
42346 return this.finishNode(node, "BlockStatement");
42347 };
42348
42349 _proto.isValidDirective = function isValidDirective(stmt) {
42350 return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized;
42351 };
42352
42353 _proto.parseBlockBody = function parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) {
42354 var body = node.body = [];
42355 var directives = node.directives = [];
42356 this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse);
42357 };
42358
42359 _proto.parseBlockOrModuleBlockBody = function parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) {
42360 var oldStrict = this.state.strict;
42361 var hasStrictModeDirective = false;
42362 var parsedNonDirective = false;
42363
42364 while (!this.match(end)) {
42365 var stmt = this.parseStatement(null, topLevel);
42366
42367 if (directives && !parsedNonDirective) {
42368 if (this.isValidDirective(stmt)) {
42369 var directive = this.stmtToDirective(stmt);
42370 directives.push(directive);
42371
42372 if (!hasStrictModeDirective && directive.value.value === "use strict") {
42373 hasStrictModeDirective = true;
42374 this.setStrict(true);
42375 }
42376
42377 continue;
42378 }
42379
42380 parsedNonDirective = true;
42381 this.state.strictErrors.clear();
42382 }
42383
42384 body.push(stmt);
42385 }
42386
42387 if (afterBlockParse) {
42388 afterBlockParse.call(this, hasStrictModeDirective);
42389 }
42390
42391 if (!oldStrict) {
42392 this.setStrict(false);
42393 }
42394
42395 this.next();
42396 };
42397
42398 _proto.parseFor = function parseFor(node, init) {
42399 var _this5 = this;
42400
42401 node.init = init;
42402 this.semicolon(false);
42403 node.test = this.match(types$1.semi) ? null : this.parseExpression();
42404 this.semicolon(false);
42405 node.update = this.match(types$1.parenR) ? null : this.parseExpression();
42406 this.expect(types$1.parenR);
42407 node.body = this.withTopicForbiddingContext(function () {
42408 return _this5.parseStatement("for");
42409 });
42410 this.scope.exit();
42411 this.state.labels.pop();
42412 return this.finishNode(node, "ForStatement");
42413 };
42414
42415 _proto.parseForIn = function parseForIn(node, init, awaitAt) {
42416 var _this6 = this;
42417
42418 var isForIn = this.match(types$1._in);
42419 this.next();
42420
42421 if (isForIn) {
42422 if (awaitAt > -1) this.unexpected(awaitAt);
42423 } else {
42424 node["await"] = awaitAt > -1;
42425 }
42426
42427 if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) {
42428 this.raise(init.start, ErrorMessages.ForInOfLoopInitializer, isForIn ? "for-in" : "for-of");
42429 } else if (init.type === "AssignmentPattern") {
42430 this.raise(init.start, ErrorMessages.InvalidLhs, "for-loop");
42431 }
42432
42433 node.left = init;
42434 node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn();
42435 this.expect(types$1.parenR);
42436 node.body = this.withTopicForbiddingContext(function () {
42437 return _this6.parseStatement("for");
42438 });
42439 this.scope.exit();
42440 this.state.labels.pop();
42441 return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement");
42442 };
42443
42444 _proto.parseVar = function parseVar(node, isFor, kind) {
42445 var declarations = node.declarations = [];
42446 var isTypescript = this.hasPlugin("typescript");
42447 node.kind = kind;
42448
42449 for (;;) {
42450 var decl = this.startNode();
42451 this.parseVarId(decl, kind);
42452
42453 if (this.eat(types$1.eq)) {
42454 decl.init = isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn();
42455 } else {
42456 if (kind === "const" && !(this.match(types$1._in) || this.isContextual("of"))) {
42457 if (!isTypescript) {
42458 this.raise(this.state.lastTokEnd, ErrorMessages.DeclarationMissingInitializer, "Const declarations");
42459 }
42460 } else if (decl.id.type !== "Identifier" && !(isFor && (this.match(types$1._in) || this.isContextual("of")))) {
42461 this.raise(this.state.lastTokEnd, ErrorMessages.DeclarationMissingInitializer, "Complex binding patterns");
42462 }
42463
42464 decl.init = null;
42465 }
42466
42467 declarations.push(this.finishNode(decl, "VariableDeclarator"));
42468 if (!this.eat(types$1.comma)) break;
42469 }
42470
42471 return node;
42472 };
42473
42474 _proto.parseVarId = function parseVarId(decl, kind) {
42475 decl.id = this.parseBindingAtom();
42476 this.checkLVal(decl.id, "variable declaration", kind === "var" ? BIND_VAR : BIND_LEXICAL, undefined, kind !== "var");
42477 };
42478
42479 _proto.parseFunction = function parseFunction(node, statement, isAsync) {
42480 var _this7 = this;
42481
42482 if (statement === void 0) {
42483 statement = FUNC_NO_FLAGS;
42484 }
42485
42486 if (isAsync === void 0) {
42487 isAsync = false;
42488 }
42489
42490 var isStatement = statement & FUNC_STATEMENT;
42491 var isHangingStatement = statement & FUNC_HANGING_STATEMENT;
42492 var requireId = !!isStatement && !(statement & FUNC_NULLABLE_ID);
42493 this.initFunction(node, isAsync);
42494
42495 if (this.match(types$1.star) && isHangingStatement) {
42496 this.raise(this.state.start, ErrorMessages.GeneratorInSingleStatementContext);
42497 }
42498
42499 node.generator = this.eat(types$1.star);
42500
42501 if (isStatement) {
42502 node.id = this.parseFunctionId(requireId);
42503 }
42504
42505 var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
42506 this.state.maybeInArrowParameters = false;
42507 this.scope.enter(SCOPE_FUNCTION);
42508 this.prodParam.enter(functionFlags(isAsync, node.generator));
42509
42510 if (!isStatement) {
42511 node.id = this.parseFunctionId();
42512 }
42513
42514 this.parseFunctionParams(node, false);
42515 this.withTopicForbiddingContext(function () {
42516 _this7.parseFunctionBodyAndFinish(node, isStatement ? "FunctionDeclaration" : "FunctionExpression");
42517 });
42518 this.prodParam.exit();
42519 this.scope.exit();
42520
42521 if (isStatement && !isHangingStatement) {
42522 this.registerFunctionStatementId(node);
42523 }
42524
42525 this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
42526 return node;
42527 };
42528
42529 _proto.parseFunctionId = function parseFunctionId(requireId) {
42530 return requireId || this.match(types$1.name) ? this.parseIdentifier() : null;
42531 };
42532
42533 _proto.parseFunctionParams = function parseFunctionParams(node, allowModifiers) {
42534 this.expect(types$1.parenL);
42535 this.expressionScope.enter(newParameterDeclarationScope());
42536 node.params = this.parseBindingList(types$1.parenR, 41, false, allowModifiers);
42537 this.expressionScope.exit();
42538 };
42539
42540 _proto.registerFunctionStatementId = function registerFunctionStatementId(node) {
42541 if (!node.id) return;
42542 this.scope.declareName(node.id.name, this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION, node.id.start);
42543 };
42544
42545 _proto.parseClass = function parseClass(node, isStatement, optionalId) {
42546 this.next();
42547 this.takeDecorators(node);
42548 var oldStrict = this.state.strict;
42549 this.state.strict = true;
42550 this.parseClassId(node, isStatement, optionalId);
42551 this.parseClassSuper(node);
42552 node.body = this.parseClassBody(!!node.superClass, oldStrict);
42553 return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression");
42554 };
42555
42556 _proto.isClassProperty = function isClassProperty() {
42557 return this.match(types$1.eq) || this.match(types$1.semi) || this.match(types$1.braceR);
42558 };
42559
42560 _proto.isClassMethod = function isClassMethod() {
42561 return this.match(types$1.parenL);
42562 };
42563
42564 _proto.isNonstaticConstructor = function isNonstaticConstructor(method) {
42565 return !method.computed && !method["static"] && (method.key.name === "constructor" || method.key.value === "constructor");
42566 };
42567
42568 _proto.parseClassBody = function parseClassBody(hadSuperClass, oldStrict) {
42569 var _this8 = this;
42570
42571 this.classScope.enter();
42572 var state = {
42573 hadConstructor: false,
42574 hadSuperClass: hadSuperClass
42575 };
42576 var decorators = [];
42577 var classBody = this.startNode();
42578 classBody.body = [];
42579 this.expect(types$1.braceL);
42580 this.withTopicForbiddingContext(function () {
42581 while (!_this8.match(types$1.braceR)) {
42582 if (_this8.eat(types$1.semi)) {
42583 if (decorators.length > 0) {
42584 throw _this8.raise(_this8.state.lastTokEnd, ErrorMessages.DecoratorSemicolon);
42585 }
42586
42587 continue;
42588 }
42589
42590 if (_this8.match(types$1.at)) {
42591 decorators.push(_this8.parseDecorator());
42592 continue;
42593 }
42594
42595 var member = _this8.startNode();
42596
42597 if (decorators.length) {
42598 member.decorators = decorators;
42599
42600 _this8.resetStartLocationFromNode(member, decorators[0]);
42601
42602 decorators = [];
42603 }
42604
42605 _this8.parseClassMember(classBody, member, state);
42606
42607 if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) {
42608 _this8.raise(member.start, ErrorMessages.DecoratorConstructor);
42609 }
42610 }
42611 });
42612 this.state.strict = oldStrict;
42613 this.next();
42614
42615 if (decorators.length) {
42616 throw this.raise(this.state.start, ErrorMessages.TrailingDecorator);
42617 }
42618
42619 this.classScope.exit();
42620 return this.finishNode(classBody, "ClassBody");
42621 };
42622
42623 _proto.parseClassMemberFromModifier = function parseClassMemberFromModifier(classBody, member) {
42624 var key = this.parseIdentifier(true);
42625
42626 if (this.isClassMethod()) {
42627 var method = member;
42628 method.kind = "method";
42629 method.computed = false;
42630 method.key = key;
42631 method["static"] = false;
42632 this.pushClassMethod(classBody, method, false, false, false, false);
42633 return true;
42634 } else if (this.isClassProperty()) {
42635 var prop = member;
42636 prop.computed = false;
42637 prop.key = key;
42638 prop["static"] = false;
42639 classBody.body.push(this.parseClassProperty(prop));
42640 return true;
42641 }
42642
42643 this.resetPreviousNodeTrailingComments(key);
42644 return false;
42645 };
42646
42647 _proto.parseClassMember = function parseClassMember(classBody, member, state) {
42648 var isStatic = this.isContextual("static");
42649
42650 if (isStatic) {
42651 if (this.parseClassMemberFromModifier(classBody, member)) {
42652 return;
42653 }
42654
42655 if (this.eat(types$1.braceL)) {
42656 this.parseClassStaticBlock(classBody, member);
42657 return;
42658 }
42659 }
42660
42661 this.parseClassMemberWithIsStatic(classBody, member, state, isStatic);
42662 };
42663
42664 _proto.parseClassMemberWithIsStatic = function parseClassMemberWithIsStatic(classBody, member, state, isStatic) {
42665 var publicMethod = member;
42666 var privateMethod = member;
42667 var publicProp = member;
42668 var privateProp = member;
42669 var method = publicMethod;
42670 var publicMember = publicMethod;
42671 member["static"] = isStatic;
42672
42673 if (this.eat(types$1.star)) {
42674 method.kind = "method";
42675 var isPrivateName = this.match(types$1.privateName);
42676 this.parseClassElementName(method);
42677
42678 if (isPrivateName) {
42679 this.pushClassPrivateMethod(classBody, privateMethod, true, false);
42680 return;
42681 }
42682
42683 if (this.isNonstaticConstructor(publicMethod)) {
42684 this.raise(publicMethod.key.start, ErrorMessages.ConstructorIsGenerator);
42685 }
42686
42687 this.pushClassMethod(classBody, publicMethod, true, false, false, false);
42688 return;
42689 }
42690
42691 var isContextual = this.match(types$1.name) && !this.state.containsEsc;
42692 var isPrivate = this.match(types$1.privateName);
42693 var key = this.parseClassElementName(member);
42694 var maybeQuestionTokenStart = this.state.start;
42695 this.parsePostMemberNameModifiers(publicMember);
42696
42697 if (this.isClassMethod()) {
42698 method.kind = "method";
42699
42700 if (isPrivate) {
42701 this.pushClassPrivateMethod(classBody, privateMethod, false, false);
42702 return;
42703 }
42704
42705 var isConstructor = this.isNonstaticConstructor(publicMethod);
42706 var allowsDirectSuper = false;
42707
42708 if (isConstructor) {
42709 publicMethod.kind = "constructor";
42710
42711 if (state.hadConstructor && !this.hasPlugin("typescript")) {
42712 this.raise(key.start, ErrorMessages.DuplicateConstructor);
42713 }
42714
42715 if (isConstructor && this.hasPlugin("typescript") && member.override) {
42716 this.raise(key.start, ErrorMessages.OverrideOnConstructor);
42717 }
42718
42719 state.hadConstructor = true;
42720 allowsDirectSuper = state.hadSuperClass;
42721 }
42722
42723 this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper);
42724 } else if (this.isClassProperty()) {
42725 if (isPrivate) {
42726 this.pushClassPrivateProperty(classBody, privateProp);
42727 } else {
42728 this.pushClassProperty(classBody, publicProp);
42729 }
42730 } else if (isContextual && key.name === "async" && !this.isLineTerminator()) {
42731 this.resetPreviousNodeTrailingComments(key);
42732 var isGenerator = this.eat(types$1.star);
42733
42734 if (publicMember.optional) {
42735 this.unexpected(maybeQuestionTokenStart);
42736 }
42737
42738 method.kind = "method";
42739
42740 var _isPrivate = this.match(types$1.privateName);
42741
42742 this.parseClassElementName(method);
42743 this.parsePostMemberNameModifiers(publicMember);
42744
42745 if (_isPrivate) {
42746 this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true);
42747 } else {
42748 if (this.isNonstaticConstructor(publicMethod)) {
42749 this.raise(publicMethod.key.start, ErrorMessages.ConstructorIsAsync);
42750 }
42751
42752 this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false);
42753 }
42754 } else if (isContextual && (key.name === "get" || key.name === "set") && !(this.match(types$1.star) && this.isLineTerminator())) {
42755 this.resetPreviousNodeTrailingComments(key);
42756 method.kind = key.name;
42757
42758 var _isPrivate2 = this.match(types$1.privateName);
42759
42760 this.parseClassElementName(publicMethod);
42761
42762 if (_isPrivate2) {
42763 this.pushClassPrivateMethod(classBody, privateMethod, false, false);
42764 } else {
42765 if (this.isNonstaticConstructor(publicMethod)) {
42766 this.raise(publicMethod.key.start, ErrorMessages.ConstructorIsAccessor);
42767 }
42768
42769 this.pushClassMethod(classBody, publicMethod, false, false, false, false);
42770 }
42771
42772 this.checkGetterSetterParams(publicMethod);
42773 } else if (this.isLineTerminator()) {
42774 if (isPrivate) {
42775 this.pushClassPrivateProperty(classBody, privateProp);
42776 } else {
42777 this.pushClassProperty(classBody, publicProp);
42778 }
42779 } else {
42780 this.unexpected();
42781 }
42782 };
42783
42784 _proto.parseClassElementName = function parseClassElementName(member) {
42785 var _this$state = this.state,
42786 type = _this$state.type,
42787 value = _this$state.value,
42788 start = _this$state.start;
42789
42790 if ((type === types$1.name || type === types$1.string) && member["static"] && value === "prototype") {
42791 this.raise(start, ErrorMessages.StaticPrototype);
42792 }
42793
42794 if (type === types$1.privateName && value === "constructor") {
42795 this.raise(start, ErrorMessages.ConstructorClassPrivateField);
42796 }
42797
42798 return this.parsePropertyName(member, true);
42799 };
42800
42801 _proto.parseClassStaticBlock = function parseClassStaticBlock(classBody, member) {
42802 var _member$decorators;
42803
42804 this.expectPlugin("classStaticBlock", member.start);
42805 this.scope.enter(SCOPE_CLASS | SCOPE_STATIC_BLOCK | SCOPE_SUPER);
42806 var oldLabels = this.state.labels;
42807 this.state.labels = [];
42808 this.prodParam.enter(PARAM);
42809 var body = member.body = [];
42810 this.parseBlockOrModuleBlockBody(body, undefined, false, types$1.braceR);
42811 this.prodParam.exit();
42812 this.scope.exit();
42813 this.state.labels = oldLabels;
42814 classBody.body.push(this.finishNode(member, "StaticBlock"));
42815
42816 if ((_member$decorators = member.decorators) != null && _member$decorators.length) {
42817 this.raise(member.start, ErrorMessages.DecoratorStaticBlock);
42818 }
42819 };
42820
42821 _proto.pushClassProperty = function pushClassProperty(classBody, prop) {
42822 if (!prop.computed && (prop.key.name === "constructor" || prop.key.value === "constructor")) {
42823 this.raise(prop.key.start, ErrorMessages.ConstructorClassField);
42824 }
42825
42826 classBody.body.push(this.parseClassProperty(prop));
42827 };
42828
42829 _proto.pushClassPrivateProperty = function pushClassPrivateProperty(classBody, prop) {
42830 var node = this.parseClassPrivateProperty(prop);
42831 classBody.body.push(node);
42832 this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.start);
42833 };
42834
42835 _proto.pushClassMethod = function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
42836 classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true));
42837 };
42838
42839 _proto.pushClassPrivateMethod = function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {
42840 var node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true);
42841 classBody.body.push(node);
42842 var kind = node.kind === "get" ? node["static"] ? CLASS_ELEMENT_STATIC_GETTER : CLASS_ELEMENT_INSTANCE_GETTER : node.kind === "set" ? node["static"] ? CLASS_ELEMENT_STATIC_SETTER : CLASS_ELEMENT_INSTANCE_SETTER : CLASS_ELEMENT_OTHER;
42843 this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.start);
42844 };
42845
42846 _proto.parsePostMemberNameModifiers = function parsePostMemberNameModifiers(methodOrProp) {};
42847
42848 _proto.parseClassPrivateProperty = function parseClassPrivateProperty(node) {
42849 this.parseInitializer(node);
42850 this.semicolon();
42851 return this.finishNode(node, "ClassPrivateProperty");
42852 };
42853
42854 _proto.parseClassProperty = function parseClassProperty(node) {
42855 this.parseInitializer(node);
42856 this.semicolon();
42857 return this.finishNode(node, "ClassProperty");
42858 };
42859
42860 _proto.parseInitializer = function parseInitializer(node) {
42861 this.scope.enter(SCOPE_CLASS | SCOPE_SUPER);
42862 this.expressionScope.enter(newExpressionScope());
42863 this.prodParam.enter(PARAM);
42864 node.value = this.eat(types$1.eq) ? this.parseMaybeAssignAllowIn() : null;
42865 this.expressionScope.exit();
42866 this.prodParam.exit();
42867 this.scope.exit();
42868 };
42869
42870 _proto.parseClassId = function parseClassId(node, isStatement, optionalId, bindingType) {
42871 if (bindingType === void 0) {
42872 bindingType = BIND_CLASS;
42873 }
42874
42875 if (this.match(types$1.name)) {
42876 node.id = this.parseIdentifier();
42877
42878 if (isStatement) {
42879 this.checkLVal(node.id, "class name", bindingType);
42880 }
42881 } else {
42882 if (optionalId || !isStatement) {
42883 node.id = null;
42884 } else {
42885 this.unexpected(null, ErrorMessages.MissingClassName);
42886 }
42887 }
42888 };
42889
42890 _proto.parseClassSuper = function parseClassSuper(node) {
42891 node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts() : null;
42892 };
42893
42894 _proto.parseExport = function parseExport(node) {
42895 var hasDefault = this.maybeParseExportDefaultSpecifier(node);
42896 var parseAfterDefault = !hasDefault || this.eat(types$1.comma);
42897 var hasStar = parseAfterDefault && this.eatExportStar(node);
42898 var hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node);
42899 var parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(types$1.comma));
42900 var isFromRequired = hasDefault || hasStar;
42901
42902 if (hasStar && !hasNamespace) {
42903 if (hasDefault) this.unexpected();
42904 this.parseExportFrom(node, true);
42905 return this.finishNode(node, "ExportAllDeclaration");
42906 }
42907
42908 var hasSpecifiers = this.maybeParseExportNamedSpecifiers(node);
42909
42910 if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers || hasNamespace && parseAfterNamespace && !hasSpecifiers) {
42911 throw this.unexpected(null, types$1.braceL);
42912 }
42913
42914 var hasDeclaration;
42915
42916 if (isFromRequired || hasSpecifiers) {
42917 hasDeclaration = false;
42918 this.parseExportFrom(node, isFromRequired);
42919 } else {
42920 hasDeclaration = this.maybeParseExportDeclaration(node);
42921 }
42922
42923 if (isFromRequired || hasSpecifiers || hasDeclaration) {
42924 this.checkExport(node, true, false, !!node.source);
42925 return this.finishNode(node, "ExportNamedDeclaration");
42926 }
42927
42928 if (this.eat(types$1._default)) {
42929 node.declaration = this.parseExportDefaultExpression();
42930 this.checkExport(node, true, true);
42931 return this.finishNode(node, "ExportDefaultDeclaration");
42932 }
42933
42934 throw this.unexpected(null, types$1.braceL);
42935 };
42936
42937 _proto.eatExportStar = function eatExportStar(node) {
42938 return this.eat(types$1.star);
42939 };
42940
42941 _proto.maybeParseExportDefaultSpecifier = function maybeParseExportDefaultSpecifier(node) {
42942 if (this.isExportDefaultSpecifier()) {
42943 this.expectPlugin("exportDefaultFrom");
42944 var specifier = this.startNode();
42945 specifier.exported = this.parseIdentifier(true);
42946 node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")];
42947 return true;
42948 }
42949
42950 return false;
42951 };
42952
42953 _proto.maybeParseExportNamespaceSpecifier = function maybeParseExportNamespaceSpecifier(node) {
42954 if (this.isContextual("as")) {
42955 if (!node.specifiers) node.specifiers = [];
42956 var specifier = this.startNodeAt(this.state.lastTokStart, this.state.lastTokStartLoc);
42957 this.next();
42958 specifier.exported = this.parseModuleExportName();
42959 node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier"));
42960 return true;
42961 }
42962
42963 return false;
42964 };
42965
42966 _proto.maybeParseExportNamedSpecifiers = function maybeParseExportNamedSpecifiers(node) {
42967 if (this.match(types$1.braceL)) {
42968 var _node$specifiers;
42969
42970 if (!node.specifiers) node.specifiers = [];
42971
42972 (_node$specifiers = node.specifiers).push.apply(_node$specifiers, this.parseExportSpecifiers());
42973
42974 node.source = null;
42975 node.declaration = null;
42976 return true;
42977 }
42978
42979 return false;
42980 };
42981
42982 _proto.maybeParseExportDeclaration = function maybeParseExportDeclaration(node) {
42983 if (this.shouldParseExportDeclaration()) {
42984 node.specifiers = [];
42985 node.source = null;
42986 node.declaration = this.parseExportDeclaration(node);
42987 return true;
42988 }
42989
42990 return false;
42991 };
42992
42993 _proto.isAsyncFunction = function isAsyncFunction() {
42994 if (!this.isContextual("async")) return false;
42995 var next = this.nextTokenStart();
42996 return !lineBreak.test(this.input.slice(this.state.pos, next)) && this.isUnparsedContextual(next, "function");
42997 };
42998
42999 _proto.parseExportDefaultExpression = function parseExportDefaultExpression() {
43000 var expr = this.startNode();
43001 var isAsync = this.isAsyncFunction();
43002
43003 if (this.match(types$1._function) || isAsync) {
43004 this.next();
43005
43006 if (isAsync) {
43007 this.next();
43008 }
43009
43010 return this.parseFunction(expr, FUNC_STATEMENT | FUNC_NULLABLE_ID, isAsync);
43011 } else if (this.match(types$1._class)) {
43012 return this.parseClass(expr, true, true);
43013 } else if (this.match(types$1.at)) {
43014 if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport")) {
43015 this.raise(this.state.start, ErrorMessages.DecoratorBeforeExport);
43016 }
43017
43018 this.parseDecorators(false);
43019 return this.parseClass(expr, true, true);
43020 } else if (this.match(types$1._const) || this.match(types$1._var) || this.isLet()) {
43021 throw this.raise(this.state.start, ErrorMessages.UnsupportedDefaultExport);
43022 } else {
43023 var res = this.parseMaybeAssignAllowIn();
43024 this.semicolon();
43025 return res;
43026 }
43027 };
43028
43029 _proto.parseExportDeclaration = function parseExportDeclaration(node) {
43030 return this.parseStatement(null);
43031 };
43032
43033 _proto.isExportDefaultSpecifier = function isExportDefaultSpecifier() {
43034 if (this.match(types$1.name)) {
43035 var value = this.state.value;
43036
43037 if (value === "async" && !this.state.containsEsc || value === "let") {
43038 return false;
43039 }
43040
43041 if ((value === "type" || value === "interface") && !this.state.containsEsc) {
43042 var l = this.lookahead();
43043
43044 if (l.type === types$1.name && l.value !== "from" || l.type === types$1.braceL) {
43045 this.expectOnePlugin(["flow", "typescript"]);
43046 return false;
43047 }
43048 }
43049 } else if (!this.match(types$1._default)) {
43050 return false;
43051 }
43052
43053 var next = this.nextTokenStart();
43054 var hasFrom = this.isUnparsedContextual(next, "from");
43055
43056 if (this.input.charCodeAt(next) === 44 || this.match(types$1.name) && hasFrom) {
43057 return true;
43058 }
43059
43060 if (this.match(types$1._default) && hasFrom) {
43061 var nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4));
43062 return nextAfterFrom === 34 || nextAfterFrom === 39;
43063 }
43064
43065 return false;
43066 };
43067
43068 _proto.parseExportFrom = function parseExportFrom(node, expect) {
43069 if (this.eatContextual("from")) {
43070 node.source = this.parseImportSource();
43071 this.checkExport(node);
43072 var assertions = this.maybeParseImportAssertions();
43073
43074 if (assertions) {
43075 node.assertions = assertions;
43076 }
43077 } else {
43078 if (expect) {
43079 this.unexpected();
43080 } else {
43081 node.source = null;
43082 }
43083 }
43084
43085 this.semicolon();
43086 };
43087
43088 _proto.shouldParseExportDeclaration = function shouldParseExportDeclaration() {
43089 if (this.match(types$1.at)) {
43090 this.expectOnePlugin(["decorators", "decorators-legacy"]);
43091
43092 if (this.hasPlugin("decorators")) {
43093 if (this.getPluginOption("decorators", "decoratorsBeforeExport")) {
43094 this.unexpected(this.state.start, ErrorMessages.DecoratorBeforeExport);
43095 } else {
43096 return true;
43097 }
43098 }
43099 }
43100
43101 return this.state.type.keyword === "var" || this.state.type.keyword === "const" || this.state.type.keyword === "function" || this.state.type.keyword === "class" || this.isLet() || this.isAsyncFunction();
43102 };
43103
43104 _proto.checkExport = function checkExport(node, checkNames, isDefault, isFrom) {
43105 if (checkNames) {
43106 if (isDefault) {
43107 this.checkDuplicateExports(node, "default");
43108
43109 if (this.hasPlugin("exportDefaultFrom")) {
43110 var _declaration$extra;
43111
43112 var declaration = node.declaration;
43113
43114 if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) {
43115 this.raise(declaration.start, ErrorMessages.ExportDefaultFromAsIdentifier);
43116 }
43117 }
43118 } else if (node.specifiers && node.specifiers.length) {
43119 for (var _i6 = 0, _node$specifiers3 = node.specifiers; _i6 < _node$specifiers3.length; _i6++) {
43120 var specifier = _node$specifiers3[_i6];
43121 var exported = specifier.exported;
43122 var exportedName = exported.type === "Identifier" ? exported.name : exported.value;
43123 this.checkDuplicateExports(specifier, exportedName);
43124
43125 if (!isFrom && specifier.local) {
43126 var local = specifier.local;
43127
43128 if (local.type !== "Identifier") {
43129 this.raise(specifier.start, ErrorMessages.ExportBindingIsString, local.value, exportedName);
43130 } else {
43131 this.checkReservedWord(local.name, local.start, true, false);
43132 this.scope.checkLocalExport(local);
43133 }
43134 }
43135 }
43136 } else if (node.declaration) {
43137 if (node.declaration.type === "FunctionDeclaration" || node.declaration.type === "ClassDeclaration") {
43138 var id = node.declaration.id;
43139 if (!id) throw new Error("Assertion failure");
43140 this.checkDuplicateExports(node, id.name);
43141 } else if (node.declaration.type === "VariableDeclaration") {
43142 for (var _i8 = 0, _node$declaration$dec2 = node.declaration.declarations; _i8 < _node$declaration$dec2.length; _i8++) {
43143 var _declaration = _node$declaration$dec2[_i8];
43144 this.checkDeclaration(_declaration.id);
43145 }
43146 }
43147 }
43148 }
43149
43150 var currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1];
43151
43152 if (currentContextDecorators.length) {
43153 throw this.raise(node.start, ErrorMessages.UnsupportedDecoratorExport);
43154 }
43155 };
43156
43157 _proto.checkDeclaration = function checkDeclaration(node) {
43158 if (node.type === "Identifier") {
43159 this.checkDuplicateExports(node, node.name);
43160 } else if (node.type === "ObjectPattern") {
43161 for (var _i10 = 0, _node$properties2 = node.properties; _i10 < _node$properties2.length; _i10++) {
43162 var prop = _node$properties2[_i10];
43163 this.checkDeclaration(prop);
43164 }
43165 } else if (node.type === "ArrayPattern") {
43166 for (var _i12 = 0, _node$elements2 = node.elements; _i12 < _node$elements2.length; _i12++) {
43167 var elem = _node$elements2[_i12];
43168
43169 if (elem) {
43170 this.checkDeclaration(elem);
43171 }
43172 }
43173 } else if (node.type === "ObjectProperty") {
43174 this.checkDeclaration(node.value);
43175 } else if (node.type === "RestElement") {
43176 this.checkDeclaration(node.argument);
43177 } else if (node.type === "AssignmentPattern") {
43178 this.checkDeclaration(node.left);
43179 }
43180 };
43181
43182 _proto.checkDuplicateExports = function checkDuplicateExports(node, name) {
43183 if (this.exportedIdentifiers.has(name)) {
43184 this.raise(node.start, name === "default" ? ErrorMessages.DuplicateDefaultExport : ErrorMessages.DuplicateExport, name);
43185 }
43186
43187 this.exportedIdentifiers.add(name);
43188 };
43189
43190 _proto.parseExportSpecifiers = function parseExportSpecifiers() {
43191 var nodes = [];
43192 var first = true;
43193 this.expect(types$1.braceL);
43194
43195 while (!this.eat(types$1.braceR)) {
43196 if (first) {
43197 first = false;
43198 } else {
43199 this.expect(types$1.comma);
43200 if (this.eat(types$1.braceR)) break;
43201 }
43202
43203 var node = this.startNode();
43204 node.local = this.parseModuleExportName();
43205 node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local.__clone();
43206 nodes.push(this.finishNode(node, "ExportSpecifier"));
43207 }
43208
43209 return nodes;
43210 };
43211
43212 _proto.parseModuleExportName = function parseModuleExportName() {
43213 if (this.match(types$1.string)) {
43214 var result = this.parseStringLiteral(this.state.value);
43215 var surrogate = result.value.match(loneSurrogate);
43216
43217 if (surrogate) {
43218 this.raise(result.start, ErrorMessages.ModuleExportNameHasLoneSurrogate, surrogate[0].charCodeAt(0).toString(16));
43219 }
43220
43221 return result;
43222 }
43223
43224 return this.parseIdentifier(true);
43225 };
43226
43227 _proto.parseImport = function parseImport(node) {
43228 node.specifiers = [];
43229
43230 if (!this.match(types$1.string)) {
43231 var hasDefault = this.maybeParseDefaultImportSpecifier(node);
43232 var parseNext = !hasDefault || this.eat(types$1.comma);
43233 var hasStar = parseNext && this.maybeParseStarImportSpecifier(node);
43234 if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node);
43235 this.expectContextual("from");
43236 }
43237
43238 node.source = this.parseImportSource();
43239 var assertions = this.maybeParseImportAssertions();
43240
43241 if (assertions) {
43242 node.assertions = assertions;
43243 } else {
43244 var attributes = this.maybeParseModuleAttributes();
43245
43246 if (attributes) {
43247 node.attributes = attributes;
43248 }
43249 }
43250
43251 this.semicolon();
43252 return this.finishNode(node, "ImportDeclaration");
43253 };
43254
43255 _proto.parseImportSource = function parseImportSource() {
43256 if (!this.match(types$1.string)) this.unexpected();
43257 return this.parseExprAtom();
43258 };
43259
43260 _proto.shouldParseDefaultImport = function shouldParseDefaultImport(node) {
43261 return this.match(types$1.name);
43262 };
43263
43264 _proto.parseImportSpecifierLocal = function parseImportSpecifierLocal(node, specifier, type, contextDescription) {
43265 specifier.local = this.parseIdentifier();
43266 this.checkLVal(specifier.local, contextDescription, BIND_LEXICAL);
43267 node.specifiers.push(this.finishNode(specifier, type));
43268 };
43269
43270 _proto.parseAssertEntries = function parseAssertEntries() {
43271 var attrs = [];
43272 var attrNames = new Set();
43273
43274 do {
43275 if (this.match(types$1.braceR)) {
43276 break;
43277 }
43278
43279 var node = this.startNode();
43280 var keyName = this.state.value;
43281
43282 if (attrNames.has(keyName)) {
43283 this.raise(this.state.start, ErrorMessages.ModuleAttributesWithDuplicateKeys, keyName);
43284 }
43285
43286 attrNames.add(keyName);
43287
43288 if (this.match(types$1.string)) {
43289 node.key = this.parseStringLiteral(keyName);
43290 } else {
43291 node.key = this.parseIdentifier(true);
43292 }
43293
43294 this.expect(types$1.colon);
43295
43296 if (!this.match(types$1.string)) {
43297 throw this.unexpected(this.state.start, ErrorMessages.ModuleAttributeInvalidValue);
43298 }
43299
43300 node.value = this.parseStringLiteral(this.state.value);
43301 this.finishNode(node, "ImportAttribute");
43302 attrs.push(node);
43303 } while (this.eat(types$1.comma));
43304
43305 return attrs;
43306 };
43307
43308 _proto.maybeParseModuleAttributes = function maybeParseModuleAttributes() {
43309 if (this.match(types$1._with) && !this.hasPrecedingLineBreak()) {
43310 this.expectPlugin("moduleAttributes");
43311 this.next();
43312 } else {
43313 if (this.hasPlugin("moduleAttributes")) return [];
43314 return null;
43315 }
43316
43317 var attrs = [];
43318 var attributes = new Set();
43319
43320 do {
43321 var node = this.startNode();
43322 node.key = this.parseIdentifier(true);
43323
43324 if (node.key.name !== "type") {
43325 this.raise(node.key.start, ErrorMessages.ModuleAttributeDifferentFromType, node.key.name);
43326 }
43327
43328 if (attributes.has(node.key.name)) {
43329 this.raise(node.key.start, ErrorMessages.ModuleAttributesWithDuplicateKeys, node.key.name);
43330 }
43331
43332 attributes.add(node.key.name);
43333 this.expect(types$1.colon);
43334
43335 if (!this.match(types$1.string)) {
43336 throw this.unexpected(this.state.start, ErrorMessages.ModuleAttributeInvalidValue);
43337 }
43338
43339 node.value = this.parseStringLiteral(this.state.value);
43340 this.finishNode(node, "ImportAttribute");
43341 attrs.push(node);
43342 } while (this.eat(types$1.comma));
43343
43344 return attrs;
43345 };
43346
43347 _proto.maybeParseImportAssertions = function maybeParseImportAssertions() {
43348 if (this.isContextual("assert") && !this.hasPrecedingLineBreak()) {
43349 this.expectPlugin("importAssertions");
43350 this.next();
43351 } else {
43352 if (this.hasPlugin("importAssertions")) return [];
43353 return null;
43354 }
43355
43356 this.eat(types$1.braceL);
43357 var attrs = this.parseAssertEntries();
43358 this.eat(types$1.braceR);
43359 return attrs;
43360 };
43361
43362 _proto.maybeParseDefaultImportSpecifier = function maybeParseDefaultImportSpecifier(node) {
43363 if (this.shouldParseDefaultImport(node)) {
43364 this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier", "default import specifier");
43365 return true;
43366 }
43367
43368 return false;
43369 };
43370
43371 _proto.maybeParseStarImportSpecifier = function maybeParseStarImportSpecifier(node) {
43372 if (this.match(types$1.star)) {
43373 var specifier = this.startNode();
43374 this.next();
43375 this.expectContextual("as");
43376 this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier", "import namespace specifier");
43377 return true;
43378 }
43379
43380 return false;
43381 };
43382
43383 _proto.parseNamedImportSpecifiers = function parseNamedImportSpecifiers(node) {
43384 var first = true;
43385 this.expect(types$1.braceL);
43386
43387 while (!this.eat(types$1.braceR)) {
43388 if (first) {
43389 first = false;
43390 } else {
43391 if (this.eat(types$1.colon)) {
43392 throw this.raise(this.state.start, ErrorMessages.DestructureNamedImport);
43393 }
43394
43395 this.expect(types$1.comma);
43396 if (this.eat(types$1.braceR)) break;
43397 }
43398
43399 this.parseImportSpecifier(node);
43400 }
43401 };
43402
43403 _proto.parseImportSpecifier = function parseImportSpecifier(node) {
43404 var specifier = this.startNode();
43405 var importedIsString = this.match(types$1.string);
43406 specifier.imported = this.parseModuleExportName();
43407
43408 if (this.eatContextual("as")) {
43409 specifier.local = this.parseIdentifier();
43410 } else {
43411 var imported = specifier.imported;
43412
43413 if (importedIsString) {
43414 throw this.raise(specifier.start, ErrorMessages.ImportBindingIsString, imported.value);
43415 }
43416
43417 this.checkReservedWord(imported.name, specifier.start, true, true);
43418 specifier.local = imported.__clone();
43419 }
43420
43421 this.checkLVal(specifier.local, "import specifier", BIND_LEXICAL);
43422 node.specifiers.push(this.finishNode(specifier, "ImportSpecifier"));
43423 };
43424
43425 _proto.isThisParam = function isThisParam(param) {
43426 return param.type === "Identifier" && param.name === "this";
43427 };
43428
43429 return StatementParser;
43430 }(ExpressionParser);
43431
43432 var Parser = function (_StatementParser) {
43433 _inherits(Parser, _StatementParser);
43434
43435 function Parser(options, input) {
43436 var _this;
43437
43438 options = getOptions(options);
43439 _this = _StatementParser.call(this, options, input) || this;
43440 _this.options = options;
43441
43442 _this.initializeScopes();
43443
43444 _this.plugins = pluginsMap(_this.options.plugins);
43445 _this.filename = options.sourceFilename;
43446 return _this;
43447 }
43448
43449 var _proto = Parser.prototype;
43450
43451 _proto.getScopeHandler = function getScopeHandler() {
43452 return ScopeHandler;
43453 };
43454
43455 _proto.parse = function parse() {
43456 this.enterInitialScopes();
43457 var file = this.startNode();
43458 var program = this.startNode();
43459 this.nextToken();
43460 file.errors = null;
43461 this.parseTopLevel(file, program);
43462 file.errors = this.state.errors;
43463 return file;
43464 };
43465
43466 return Parser;
43467 }(StatementParser);
43468
43469 function pluginsMap(plugins) {
43470 var pluginMap = new Map();
43471
43472 for (var _i2 = 0; _i2 < plugins.length; _i2++) {
43473 var plugin = plugins[_i2];
43474
43475 var _ref = Array.isArray(plugin) ? plugin : [plugin, {}],
43476 name = _ref[0],
43477 options = _ref[1];
43478
43479 if (!pluginMap.has(name)) pluginMap.set(name, options || {});
43480 }
43481
43482 return pluginMap;
43483 }
43484
43485 function parse$8(input, options) {
43486 var _options;
43487
43488 if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") {
43489 options = Object.assign({}, options);
43490
43491 try {
43492 options.sourceType = "module";
43493 var parser = getParser(options, input);
43494 var ast = parser.parse();
43495
43496 if (parser.sawUnambiguousESM) {
43497 return ast;
43498 }
43499
43500 if (parser.ambiguousScriptDifferentAst) {
43501 try {
43502 options.sourceType = "script";
43503 return getParser(options, input).parse();
43504 } catch (_unused) {}
43505 } else {
43506 ast.program.sourceType = "script";
43507 }
43508
43509 return ast;
43510 } catch (moduleError) {
43511 try {
43512 options.sourceType = "script";
43513 return getParser(options, input).parse();
43514 } catch (_unused2) {}
43515
43516 throw moduleError;
43517 }
43518 } else {
43519 return getParser(options, input).parse();
43520 }
43521 }
43522
43523 function getParser(options, input) {
43524 var cls = Parser;
43525
43526 if (options != null && options.plugins) {
43527 validatePlugins(options.plugins);
43528 cls = getParserClass(options.plugins);
43529 }
43530
43531 return new cls(options, input);
43532 }
43533
43534 var parserClassCache = {};
43535
43536 function getParserClass(pluginsFromOptions) {
43537 var pluginList = mixinPluginNames.filter(function (name) {
43538 return hasPlugin(pluginsFromOptions, name);
43539 });
43540 var key = pluginList.join("/");
43541 var cls = parserClassCache[key];
43542
43543 if (!cls) {
43544 cls = Parser;
43545
43546 for (var _i2 = 0; _i2 < pluginList.length; _i2++) {
43547 var plugin = pluginList[_i2];
43548 cls = mixinPlugins[plugin](cls);
43549 }
43550
43551 parserClassCache[key] = cls;
43552 }
43553
43554 return cls;
43555 }
43556
43557 var visitor$3 = {
43558 Scope: function Scope(path, state) {
43559 if (state.kind === "let") path.skip();
43560 },
43561 FunctionParent: function FunctionParent(path) {
43562 path.skip();
43563 },
43564 VariableDeclaration: function (_VariableDeclaration) {
43565 function VariableDeclaration(_x, _x2) {
43566 return _VariableDeclaration.apply(this, arguments);
43567 }
43568
43569 VariableDeclaration.toString = function () {
43570 return _VariableDeclaration.toString();
43571 };
43572
43573 return VariableDeclaration;
43574 }(function (path, state) {
43575 if (state.kind && path.node.kind !== state.kind) return;
43576 var nodes = [];
43577 var declarations = path.get("declarations");
43578 var firstId;
43579
43580 for (var _iterator = _createForOfIteratorHelperLoose(declarations), _step; !(_step = _iterator()).done;) {
43581 var declar = _step.value;
43582 firstId = declar.node.id;
43583
43584 if (declar.node.init) {
43585 nodes.push(expressionStatement(assignmentExpression("=", declar.node.id, declar.node.init)));
43586 }
43587
43588 for (var _i = 0, _Object$keys = Object.keys(declar.getBindingIdentifiers()); _i < _Object$keys.length; _i++) {
43589 var name = _Object$keys[_i];
43590 state.emit(identifier(name), name, declar.node.init !== null);
43591 }
43592 }
43593
43594 if (path.parentPath.isFor({
43595 left: path.node
43596 })) {
43597 path.replaceWith(firstId);
43598 } else {
43599 path.replaceWithMultiple(nodes);
43600 }
43601 })
43602 };
43603 function hoistVariables(path, emit, kind) {
43604 if (kind === void 0) {
43605 kind = "var";
43606 }
43607
43608 path.traverse(visitor$3, {
43609 kind: kind,
43610 emit: emit
43611 });
43612 }
43613
43614 function replaceWithMultiple(nodes) {
43615 var _pathCache$get;
43616
43617 this.resync();
43618 nodes = this._verifyNodeList(nodes);
43619 inheritLeadingComments(nodes[0], this.node);
43620 inheritTrailingComments(nodes[nodes.length - 1], this.node);
43621 (_pathCache$get = path$3.get(this.parent)) == null ? void 0 : _pathCache$get["delete"](this.node);
43622 this.node = this.container[this.key] = null;
43623 var paths = this.insertAfter(nodes);
43624
43625 if (this.node) {
43626 this.requeue();
43627 } else {
43628 this.remove();
43629 }
43630
43631 return paths;
43632 }
43633 function replaceWithSourceString(replacement) {
43634 this.resync();
43635
43636 try {
43637 replacement = "(" + replacement + ")";
43638 replacement = parse$8(replacement);
43639 } catch (err) {
43640 var loc = err.loc;
43641
43642 if (loc) {
43643 err.message += " - make sure this is an expression.\n" + codeFrameColumns(replacement, {
43644 start: {
43645 line: loc.line,
43646 column: loc.column + 1
43647 }
43648 });
43649 err.code = "BABEL_REPLACE_SOURCE_ERROR";
43650 }
43651
43652 throw err;
43653 }
43654
43655 replacement = replacement.program.body[0].expression;
43656 traverse.removeProperties(replacement);
43657 return this.replaceWith(replacement);
43658 }
43659 function replaceWith(replacement) {
43660 this.resync();
43661
43662 if (this.removed) {
43663 throw new Error("You can't replace this node, we've already removed it");
43664 }
43665
43666 if (replacement instanceof NodePath) {
43667 replacement = replacement.node;
43668 }
43669
43670 if (!replacement) {
43671 throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");
43672 }
43673
43674 if (this.node === replacement) {
43675 return [this];
43676 }
43677
43678 if (this.isProgram() && !isProgram(replacement)) {
43679 throw new Error("You can only replace a Program root node with another Program node");
43680 }
43681
43682 if (Array.isArray(replacement)) {
43683 throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");
43684 }
43685
43686 if (typeof replacement === "string") {
43687 throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");
43688 }
43689
43690 var nodePath = "";
43691
43692 if (this.isNodeType("Statement") && isExpression(replacement)) {
43693 if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement) && !this.parentPath.isExportDefaultDeclaration()) {
43694 replacement = expressionStatement(replacement);
43695 nodePath = "expression";
43696 }
43697 }
43698
43699 if (this.isNodeType("Expression") && isStatement(replacement)) {
43700 if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement)) {
43701 return this.replaceExpressionWithStatements([replacement]);
43702 }
43703 }
43704
43705 var oldNode = this.node;
43706
43707 if (oldNode) {
43708 inheritsComments(replacement, oldNode);
43709 removeComments(oldNode);
43710 }
43711
43712 this._replaceWith(replacement);
43713
43714 this.type = replacement.type;
43715 this.setScope();
43716 this.requeue();
43717 return [nodePath ? this.get(nodePath) : this];
43718 }
43719 function _replaceWith(node) {
43720 var _pathCache$get2;
43721
43722 if (!this.container) {
43723 throw new ReferenceError("Container is falsy");
43724 }
43725
43726 if (this.inList) {
43727 validate$3(this.parent, this.key, [node]);
43728 } else {
43729 validate$3(this.parent, this.key, node);
43730 }
43731
43732 this.debug("Replace with " + (node == null ? void 0 : node.type));
43733 (_pathCache$get2 = path$3.get(this.parent)) == null ? void 0 : _pathCache$get2.set(node, this)["delete"](this.node);
43734 this.node = this.container[this.key] = node;
43735 }
43736 function replaceExpressionWithStatements(nodes) {
43737 var _this = this;
43738
43739 this.resync();
43740 var toSequenceExpression$1 = toSequenceExpression(nodes, this.scope);
43741
43742 if (toSequenceExpression$1) {
43743 return this.replaceWith(toSequenceExpression$1)[0].get("expressions");
43744 }
43745
43746 var functionParent = this.getFunctionParent();
43747 var isParentAsync = functionParent == null ? void 0 : functionParent.is("async");
43748 var isParentGenerator = functionParent == null ? void 0 : functionParent.is("generator");
43749 var container = arrowFunctionExpression([], blockStatement(nodes));
43750 this.replaceWith(callExpression(container, []));
43751 var callee = this.get("callee");
43752 hoistVariables(callee.get("body"), function (id) {
43753 _this.scope.push({
43754 id: id
43755 });
43756 }, "var");
43757 var completionRecords = this.get("callee").getCompletionRecords();
43758
43759 for (var _iterator = _createForOfIteratorHelperLoose(completionRecords), _step; !(_step = _iterator()).done;) {
43760 var path = _step.value;
43761 if (!path.isExpressionStatement()) continue;
43762 var loop = path.findParent(function (path) {
43763 return path.isLoop();
43764 });
43765
43766 if (loop) {
43767 var uid = loop.getData("expressionReplacementReturnUid");
43768
43769 if (!uid) {
43770 uid = callee.scope.generateDeclaredUidIdentifier("ret");
43771 callee.get("body").pushContainer("body", returnStatement(cloneNode(uid)));
43772 loop.setData("expressionReplacementReturnUid", uid);
43773 } else {
43774 uid = identifier(uid.name);
43775 }
43776
43777 path.get("expression").replaceWith(assignmentExpression("=", cloneNode(uid), path.node.expression));
43778 } else {
43779 path.replaceWith(returnStatement(path.node.expression));
43780 }
43781 }
43782
43783 callee.arrowFunctionToExpression();
43784 var newCallee = callee;
43785 var needToAwaitFunction = isParentAsync && traverse.hasType(this.get("callee.body").node, "AwaitExpression", FUNCTION_TYPES);
43786 var needToYieldFunction = isParentGenerator && traverse.hasType(this.get("callee.body").node, "YieldExpression", FUNCTION_TYPES);
43787
43788 if (needToAwaitFunction) {
43789 newCallee.set("async", true);
43790
43791 if (!needToYieldFunction) {
43792 this.replaceWith(awaitExpression(this.node));
43793 }
43794 }
43795
43796 if (needToYieldFunction) {
43797 newCallee.set("generator", true);
43798 this.replaceWith(yieldExpression(this.node, true));
43799 }
43800
43801 return newCallee.get("body.body");
43802 }
43803 function replaceInline(nodes) {
43804 this.resync();
43805
43806 if (Array.isArray(nodes)) {
43807 if (Array.isArray(this.container)) {
43808 nodes = this._verifyNodeList(nodes);
43809
43810 var paths = this._containerInsertAfter(nodes);
43811
43812 this.remove();
43813 return paths;
43814 } else {
43815 return this.replaceWithMultiple(nodes);
43816 }
43817 } else {
43818 return this.replaceWith(nodes);
43819 }
43820 }
43821
43822 var NodePath_replacement = /*#__PURE__*/Object.freeze({
43823 __proto__: null,
43824 replaceWithMultiple: replaceWithMultiple,
43825 replaceWithSourceString: replaceWithSourceString,
43826 replaceWith: replaceWith,
43827 _replaceWith: _replaceWith,
43828 replaceExpressionWithStatements: replaceExpressionWithStatements,
43829 replaceInline: replaceInline
43830 });
43831
43832 var global$1 = typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {};
43833
43834 var VALID_CALLEES = ["String", "Number", "Math"];
43835 var INVALID_METHODS = ["random"];
43836 function evaluateTruthy() {
43837 var res = this.evaluate();
43838 if (res.confident) return !!res.value;
43839 }
43840
43841 function deopt(path, state) {
43842 if (!state.confident) return;
43843 state.deoptPath = path;
43844 state.confident = false;
43845 }
43846
43847 function evaluateCached(path, state) {
43848 var node = path.node;
43849 var seen = state.seen;
43850
43851 if (seen.has(node)) {
43852 var existing = seen.get(node);
43853
43854 if (existing.resolved) {
43855 return existing.value;
43856 } else {
43857 deopt(path, state);
43858 return;
43859 }
43860 } else {
43861 var item = {
43862 resolved: false
43863 };
43864 seen.set(node, item);
43865
43866 var val = _evaluate(path, state);
43867
43868 if (state.confident) {
43869 item.resolved = true;
43870 item.value = val;
43871 }
43872
43873 return val;
43874 }
43875 }
43876
43877 function _evaluate(path, state) {
43878 if (!state.confident) return;
43879
43880 if (path.isSequenceExpression()) {
43881 var exprs = path.get("expressions");
43882 return evaluateCached(exprs[exprs.length - 1], state);
43883 }
43884
43885 if (path.isStringLiteral() || path.isNumericLiteral() || path.isBooleanLiteral()) {
43886 return path.node.value;
43887 }
43888
43889 if (path.isNullLiteral()) {
43890 return null;
43891 }
43892
43893 if (path.isTemplateLiteral()) {
43894 return evaluateQuasis(path, path.node.quasis, state);
43895 }
43896
43897 if (path.isTaggedTemplateExpression() && path.get("tag").isMemberExpression()) {
43898 var object = path.get("tag.object");
43899 var name = object.node.name;
43900 var property = path.get("tag.property");
43901
43902 if (object.isIdentifier() && name === "String" && !path.scope.getBinding(name) && property.isIdentifier() && property.node.name === "raw") {
43903 return evaluateQuasis(path, path.node.quasi.quasis, state, true);
43904 }
43905 }
43906
43907 if (path.isConditionalExpression()) {
43908 var testResult = evaluateCached(path.get("test"), state);
43909 if (!state.confident) return;
43910
43911 if (testResult) {
43912 return evaluateCached(path.get("consequent"), state);
43913 } else {
43914 return evaluateCached(path.get("alternate"), state);
43915 }
43916 }
43917
43918 if (path.isExpressionWrapper()) {
43919 return evaluateCached(path.get("expression"), state);
43920 }
43921
43922 if (path.isMemberExpression() && !path.parentPath.isCallExpression({
43923 callee: path.node
43924 })) {
43925 var _property = path.get("property");
43926
43927 var _object = path.get("object");
43928
43929 if (_object.isLiteral() && _property.isIdentifier()) {
43930 var value = _object.node.value;
43931 var type = typeof value;
43932
43933 if (type === "number" || type === "string") {
43934 return value[_property.node.name];
43935 }
43936 }
43937 }
43938
43939 if (path.isReferencedIdentifier()) {
43940 var binding = path.scope.getBinding(path.node.name);
43941
43942 if (binding && binding.constantViolations.length > 0) {
43943 return deopt(binding.path, state);
43944 }
43945
43946 if (binding && path.node.start < binding.path.node.end) {
43947 return deopt(binding.path, state);
43948 }
43949
43950 if (binding != null && binding.hasValue) {
43951 return binding.value;
43952 } else {
43953 if (path.node.name === "undefined") {
43954 return binding ? deopt(binding.path, state) : undefined;
43955 } else if (path.node.name === "Infinity") {
43956 return binding ? deopt(binding.path, state) : Infinity;
43957 } else if (path.node.name === "NaN") {
43958 return binding ? deopt(binding.path, state) : NaN;
43959 }
43960
43961 var resolved = path.resolve();
43962
43963 if (resolved === path) {
43964 return deopt(path, state);
43965 } else {
43966 return evaluateCached(resolved, state);
43967 }
43968 }
43969 }
43970
43971 if (path.isUnaryExpression({
43972 prefix: true
43973 })) {
43974 if (path.node.operator === "void") {
43975 return undefined;
43976 }
43977
43978 var argument = path.get("argument");
43979
43980 if (path.node.operator === "typeof" && (argument.isFunction() || argument.isClass())) {
43981 return "function";
43982 }
43983
43984 var arg = evaluateCached(argument, state);
43985 if (!state.confident) return;
43986
43987 switch (path.node.operator) {
43988 case "!":
43989 return !arg;
43990
43991 case "+":
43992 return +arg;
43993
43994 case "-":
43995 return -arg;
43996
43997 case "~":
43998 return ~arg;
43999
44000 case "typeof":
44001 return typeof arg;
44002 }
44003 }
44004
44005 if (path.isArrayExpression()) {
44006 var arr = [];
44007 var elems = path.get("elements");
44008
44009 for (var _iterator = _createForOfIteratorHelperLoose(elems), _step; !(_step = _iterator()).done;) {
44010 var elem = _step.value;
44011 var elemValue = elem.evaluate();
44012
44013 if (elemValue.confident) {
44014 arr.push(elemValue.value);
44015 } else {
44016 return deopt(elemValue.deopt, state);
44017 }
44018 }
44019
44020 return arr;
44021 }
44022
44023 if (path.isObjectExpression()) {
44024 var obj = {};
44025 var props = path.get("properties");
44026
44027 for (var _iterator2 = _createForOfIteratorHelperLoose(props), _step2; !(_step2 = _iterator2()).done;) {
44028 var prop = _step2.value;
44029
44030 if (prop.isObjectMethod() || prop.isSpreadElement()) {
44031 return deopt(prop, state);
44032 }
44033
44034 var keyPath = prop.get("key");
44035 var key = keyPath;
44036
44037 if (prop.node.computed) {
44038 key = key.evaluate();
44039
44040 if (!key.confident) {
44041 return deopt(key.deopt, state);
44042 }
44043
44044 key = key.value;
44045 } else if (key.isIdentifier()) {
44046 key = key.node.name;
44047 } else {
44048 key = key.node.value;
44049 }
44050
44051 var valuePath = prop.get("value");
44052
44053 var _value = valuePath.evaluate();
44054
44055 if (!_value.confident) {
44056 return deopt(_value.deopt, state);
44057 }
44058
44059 _value = _value.value;
44060 obj[key] = _value;
44061 }
44062
44063 return obj;
44064 }
44065
44066 if (path.isLogicalExpression()) {
44067 var wasConfident = state.confident;
44068 var left = evaluateCached(path.get("left"), state);
44069 var leftConfident = state.confident;
44070 state.confident = wasConfident;
44071 var right = evaluateCached(path.get("right"), state);
44072 var rightConfident = state.confident;
44073
44074 switch (path.node.operator) {
44075 case "||":
44076 state.confident = leftConfident && (!!left || rightConfident);
44077 if (!state.confident) return;
44078 return left || right;
44079
44080 case "&&":
44081 state.confident = leftConfident && (!left || rightConfident);
44082 if (!state.confident) return;
44083 return left && right;
44084 }
44085 }
44086
44087 if (path.isBinaryExpression()) {
44088 var _left = evaluateCached(path.get("left"), state);
44089
44090 if (!state.confident) return;
44091
44092 var _right = evaluateCached(path.get("right"), state);
44093
44094 if (!state.confident) return;
44095
44096 switch (path.node.operator) {
44097 case "-":
44098 return _left - _right;
44099
44100 case "+":
44101 return _left + _right;
44102
44103 case "/":
44104 return _left / _right;
44105
44106 case "*":
44107 return _left * _right;
44108
44109 case "%":
44110 return _left % _right;
44111
44112 case "**":
44113 return Math.pow(_left, _right);
44114
44115 case "<":
44116 return _left < _right;
44117
44118 case ">":
44119 return _left > _right;
44120
44121 case "<=":
44122 return _left <= _right;
44123
44124 case ">=":
44125 return _left >= _right;
44126
44127 case "==":
44128 return _left == _right;
44129
44130 case "!=":
44131 return _left != _right;
44132
44133 case "===":
44134 return _left === _right;
44135
44136 case "!==":
44137 return _left !== _right;
44138
44139 case "|":
44140 return _left | _right;
44141
44142 case "&":
44143 return _left & _right;
44144
44145 case "^":
44146 return _left ^ _right;
44147
44148 case "<<":
44149 return _left << _right;
44150
44151 case ">>":
44152 return _left >> _right;
44153
44154 case ">>>":
44155 return _left >>> _right;
44156 }
44157 }
44158
44159 if (path.isCallExpression()) {
44160 var callee = path.get("callee");
44161 var context;
44162 var func;
44163
44164 if (callee.isIdentifier() && !path.scope.getBinding(callee.node.name) && VALID_CALLEES.indexOf(callee.node.name) >= 0) {
44165 func = global$1[callee.node.name];
44166 }
44167
44168 if (callee.isMemberExpression()) {
44169 var _object2 = callee.get("object");
44170
44171 var _property2 = callee.get("property");
44172
44173 if (_object2.isIdentifier() && _property2.isIdentifier() && VALID_CALLEES.indexOf(_object2.node.name) >= 0 && INVALID_METHODS.indexOf(_property2.node.name) < 0) {
44174 context = global$1[_object2.node.name];
44175 func = context[_property2.node.name];
44176 }
44177
44178 if (_object2.isLiteral() && _property2.isIdentifier()) {
44179 var _type = typeof _object2.node.value;
44180
44181 if (_type === "string" || _type === "number") {
44182 context = _object2.node.value;
44183 func = context[_property2.node.name];
44184 }
44185 }
44186 }
44187
44188 if (func) {
44189 var args = path.get("arguments").map(function (arg) {
44190 return evaluateCached(arg, state);
44191 });
44192 if (!state.confident) return;
44193 return func.apply(context, args);
44194 }
44195 }
44196
44197 deopt(path, state);
44198 }
44199
44200 function evaluateQuasis(path, quasis, state, raw) {
44201 if (raw === void 0) {
44202 raw = false;
44203 }
44204
44205 var str = "";
44206 var i = 0;
44207 var exprs = path.get("expressions");
44208
44209 for (var _iterator3 = _createForOfIteratorHelperLoose(quasis), _step3; !(_step3 = _iterator3()).done;) {
44210 var elem = _step3.value;
44211 if (!state.confident) break;
44212 str += raw ? elem.value.raw : elem.value.cooked;
44213 var expr = exprs[i++];
44214 if (expr) str += String(evaluateCached(expr, state));
44215 }
44216
44217 if (!state.confident) return;
44218 return str;
44219 }
44220
44221 function evaluate$1() {
44222 var state = {
44223 confident: true,
44224 deoptPath: null,
44225 seen: new Map()
44226 };
44227 var value = evaluateCached(this, state);
44228 if (!state.confident) value = undefined;
44229 return {
44230 confident: state.confident,
44231 deopt: state.deoptPath,
44232 value: value
44233 };
44234 }
44235
44236 var NodePath_evaluation = /*#__PURE__*/Object.freeze({
44237 __proto__: null,
44238 evaluateTruthy: evaluateTruthy,
44239 evaluate: evaluate$1
44240 });
44241
44242 function getFunctionArity (node) {
44243 var params = node.params;
44244
44245 for (var i = 0; i < params.length; i++) {
44246 var param = params[i];
44247
44248 if (isAssignmentPattern(param) || isRestElement(param)) {
44249 return i;
44250 }
44251 }
44252
44253 return params.length;
44254 }
44255
44256 function makeStatementFormatter(fn) {
44257 return {
44258 code: function code(str) {
44259 return "/* @babel/template */;\n" + str;
44260 },
44261 validate: function validate() {},
44262 unwrap: function unwrap(ast) {
44263 return fn(ast.program.body.slice(1));
44264 }
44265 };
44266 }
44267
44268 var smart$1 = makeStatementFormatter(function (body) {
44269 if (body.length > 1) {
44270 return body;
44271 } else {
44272 return body[0];
44273 }
44274 });
44275 var statements$1 = makeStatementFormatter(function (body) {
44276 return body;
44277 });
44278 var statement$1 = makeStatementFormatter(function (body) {
44279 if (body.length === 0) {
44280 throw new Error("Found nothing to return.");
44281 }
44282
44283 if (body.length > 1) {
44284 throw new Error("Found multiple statements but wanted one");
44285 }
44286
44287 return body[0];
44288 });
44289 var expression$1 = {
44290 code: function code(str) {
44291 return "(\n" + str + "\n)";
44292 },
44293 validate: function validate(ast) {
44294 if (ast.program.body.length > 1) {
44295 throw new Error("Found multiple statements but wanted one");
44296 }
44297
44298 if (expression$1.unwrap(ast).start === 0) {
44299 throw new Error("Parse result included parens.");
44300 }
44301 },
44302 unwrap: function unwrap(_ref) {
44303 var program = _ref.program;
44304
44305 var _program$body = _slicedToArray$2(program.body, 1),
44306 stmt = _program$body[0];
44307
44308 assertExpressionStatement(stmt);
44309 return stmt.expression;
44310 }
44311 };
44312 var program$1 = {
44313 code: function code(str) {
44314 return str;
44315 },
44316 validate: function validate() {},
44317 unwrap: function unwrap(ast) {
44318 return ast.program;
44319 }
44320 };
44321
44322 var _excluded$3 = ["placeholderWhitelist", "placeholderPattern", "preserveComments", "syntacticPlaceholders"];
44323 function merge$1(a, b) {
44324 var _b$placeholderWhiteli = b.placeholderWhitelist,
44325 placeholderWhitelist = _b$placeholderWhiteli === void 0 ? a.placeholderWhitelist : _b$placeholderWhiteli,
44326 _b$placeholderPattern = b.placeholderPattern,
44327 placeholderPattern = _b$placeholderPattern === void 0 ? a.placeholderPattern : _b$placeholderPattern,
44328 _b$preserveComments = b.preserveComments,
44329 preserveComments = _b$preserveComments === void 0 ? a.preserveComments : _b$preserveComments,
44330 _b$syntacticPlacehold = b.syntacticPlaceholders,
44331 syntacticPlaceholders = _b$syntacticPlacehold === void 0 ? a.syntacticPlaceholders : _b$syntacticPlacehold;
44332 return {
44333 parser: Object.assign({}, a.parser, b.parser),
44334 placeholderWhitelist: placeholderWhitelist,
44335 placeholderPattern: placeholderPattern,
44336 preserveComments: preserveComments,
44337 syntacticPlaceholders: syntacticPlaceholders
44338 };
44339 }
44340 function validate$1(opts) {
44341 if (opts != null && typeof opts !== "object") {
44342 throw new Error("Unknown template options.");
44343 }
44344
44345 var _ref = opts || {},
44346 placeholderWhitelist = _ref.placeholderWhitelist,
44347 placeholderPattern = _ref.placeholderPattern,
44348 preserveComments = _ref.preserveComments,
44349 syntacticPlaceholders = _ref.syntacticPlaceholders,
44350 parser = _objectWithoutPropertiesLoose(_ref, _excluded$3);
44351
44352 if (placeholderWhitelist != null && !(placeholderWhitelist instanceof Set)) {
44353 throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined");
44354 }
44355
44356 if (placeholderPattern != null && !(placeholderPattern instanceof RegExp) && placeholderPattern !== false) {
44357 throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined");
44358 }
44359
44360 if (preserveComments != null && typeof preserveComments !== "boolean") {
44361 throw new Error("'.preserveComments' must be a boolean, null, or undefined");
44362 }
44363
44364 if (syntacticPlaceholders != null && typeof syntacticPlaceholders !== "boolean") {
44365 throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined");
44366 }
44367
44368 if (syntacticPlaceholders === true && (placeholderWhitelist != null || placeholderPattern != null)) {
44369 throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'");
44370 }
44371
44372 return {
44373 parser: parser,
44374 placeholderWhitelist: placeholderWhitelist || undefined,
44375 placeholderPattern: placeholderPattern == null ? undefined : placeholderPattern,
44376 preserveComments: preserveComments == null ? undefined : preserveComments,
44377 syntacticPlaceholders: syntacticPlaceholders == null ? undefined : syntacticPlaceholders
44378 };
44379 }
44380 function normalizeReplacements(replacements) {
44381 if (Array.isArray(replacements)) {
44382 return replacements.reduce(function (acc, replacement, i) {
44383 acc["$" + i] = replacement;
44384 return acc;
44385 }, {});
44386 } else if (typeof replacements === "object" || replacements == null) {
44387 return replacements || undefined;
44388 }
44389
44390 throw new Error("Template replacements must be an array, object, null, or undefined");
44391 }
44392
44393 var PATTERN = /^[_$A-Z0-9]+$/;
44394 function parseAndBuildMetadata(formatter, code, opts) {
44395 var placeholderWhitelist = opts.placeholderWhitelist,
44396 placeholderPattern = opts.placeholderPattern,
44397 preserveComments = opts.preserveComments,
44398 syntacticPlaceholders = opts.syntacticPlaceholders;
44399 var ast = parseWithCodeFrame(code, opts.parser, syntacticPlaceholders);
44400 removePropertiesDeep(ast, {
44401 preserveComments: preserveComments
44402 });
44403 formatter.validate(ast);
44404 var syntactic = {
44405 placeholders: [],
44406 placeholderNames: new Set()
44407 };
44408 var legacy = {
44409 placeholders: [],
44410 placeholderNames: new Set()
44411 };
44412 var isLegacyRef = {
44413 value: undefined
44414 };
44415 traverse$1(ast, placeholderVisitorHandler, {
44416 syntactic: syntactic,
44417 legacy: legacy,
44418 isLegacyRef: isLegacyRef,
44419 placeholderWhitelist: placeholderWhitelist,
44420 placeholderPattern: placeholderPattern,
44421 syntacticPlaceholders: syntacticPlaceholders
44422 });
44423 return Object.assign({
44424 ast: ast
44425 }, isLegacyRef.value ? legacy : syntactic);
44426 }
44427
44428 function placeholderVisitorHandler(node, ancestors, state) {
44429 var _state$placeholderWhi;
44430
44431 var name;
44432
44433 if (isPlaceholder(node)) {
44434 if (state.syntacticPlaceholders === false) {
44435 throw new Error("%%foo%%-style placeholders can't be used when " + "'.syntacticPlaceholders' is false.");
44436 } else {
44437 name = node.name.name;
44438 state.isLegacyRef.value = false;
44439 }
44440 } else if (state.isLegacyRef.value === false || state.syntacticPlaceholders) {
44441 return;
44442 } else if (isIdentifier(node) || isJSXIdentifier(node)) {
44443 name = node.name;
44444 state.isLegacyRef.value = true;
44445 } else if (isStringLiteral(node)) {
44446 name = node.value;
44447 state.isLegacyRef.value = true;
44448 } else {
44449 return;
44450 }
44451
44452 if (!state.isLegacyRef.value && (state.placeholderPattern != null || state.placeholderWhitelist != null)) {
44453 throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'");
44454 }
44455
44456 if (state.isLegacyRef.value && (state.placeholderPattern === false || !(state.placeholderPattern || PATTERN).test(name)) && !((_state$placeholderWhi = state.placeholderWhitelist) != null && _state$placeholderWhi.has(name))) {
44457 return;
44458 }
44459
44460 ancestors = ancestors.slice();
44461 var _ancestors = ancestors[ancestors.length - 1],
44462 parent = _ancestors.node,
44463 key = _ancestors.key;
44464 var type;
44465
44466 if (isStringLiteral(node) || isPlaceholder(node, {
44467 expectedNode: "StringLiteral"
44468 })) {
44469 type = "string";
44470 } else if (isNewExpression(parent) && key === "arguments" || isCallExpression(parent) && key === "arguments" || isFunction$1(parent) && key === "params") {
44471 type = "param";
44472 } else if (isExpressionStatement(parent) && !isPlaceholder(node)) {
44473 type = "statement";
44474 ancestors = ancestors.slice(0, -1);
44475 } else if (isStatement(node) && isPlaceholder(node)) {
44476 type = "statement";
44477 } else {
44478 type = "other";
44479 }
44480
44481 var _ref = state.isLegacyRef.value ? state.legacy : state.syntactic,
44482 placeholders = _ref.placeholders,
44483 placeholderNames = _ref.placeholderNames;
44484
44485 placeholders.push({
44486 name: name,
44487 type: type,
44488 resolve: function resolve(ast) {
44489 return resolveAncestors(ast, ancestors);
44490 },
44491 isDuplicate: placeholderNames.has(name)
44492 });
44493 placeholderNames.add(name);
44494 }
44495
44496 function resolveAncestors(ast, ancestors) {
44497 var parent = ast;
44498
44499 for (var i = 0; i < ancestors.length - 1; i++) {
44500 var _ancestors$i = ancestors[i],
44501 _key = _ancestors$i.key,
44502 _index = _ancestors$i.index;
44503
44504 if (_index === undefined) {
44505 parent = parent[_key];
44506 } else {
44507 parent = parent[_key][_index];
44508 }
44509 }
44510
44511 var _ancestors2 = ancestors[ancestors.length - 1],
44512 key = _ancestors2.key,
44513 index = _ancestors2.index;
44514 return {
44515 parent: parent,
44516 key: key,
44517 index: index
44518 };
44519 }
44520
44521 function parseWithCodeFrame(code, parserOpts, syntacticPlaceholders) {
44522 var plugins = (parserOpts.plugins || []).slice();
44523
44524 if (syntacticPlaceholders !== false) {
44525 plugins.push("placeholders");
44526 }
44527
44528 parserOpts = Object.assign({
44529 allowReturnOutsideFunction: true,
44530 allowSuperOutsideMethod: true,
44531 sourceType: "module"
44532 }, parserOpts, {
44533 plugins: plugins
44534 });
44535
44536 try {
44537 return parse$8(code, parserOpts);
44538 } catch (err) {
44539 var loc = err.loc;
44540
44541 if (loc) {
44542 err.message += "\n" + codeFrameColumns(code, {
44543 start: loc
44544 });
44545 err.code = "BABEL_TEMPLATE_PARSE_ERROR";
44546 }
44547
44548 throw err;
44549 }
44550 }
44551
44552 function populatePlaceholders(metadata, replacements) {
44553 var ast = cloneNode(metadata.ast);
44554
44555 if (replacements) {
44556 metadata.placeholders.forEach(function (placeholder) {
44557 if (!Object.prototype.hasOwnProperty.call(replacements, placeholder.name)) {
44558 var placeholderName = placeholder.name;
44559 throw new Error("Error: No substitution given for \"" + placeholderName + "\". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['" + placeholderName + "'])}\n - { placeholderPattern: /^" + placeholderName + "$/ }");
44560 }
44561 });
44562 Object.keys(replacements).forEach(function (key) {
44563 if (!metadata.placeholderNames.has(key)) {
44564 throw new Error("Unknown substitution \"" + key + "\" given");
44565 }
44566 });
44567 }
44568
44569 metadata.placeholders.slice().reverse().forEach(function (placeholder) {
44570 try {
44571 applyReplacement(placeholder, ast, replacements && replacements[placeholder.name] || null);
44572 } catch (e) {
44573 e.message = "@babel/template placeholder \"" + placeholder.name + "\": " + e.message;
44574 throw e;
44575 }
44576 });
44577 return ast;
44578 }
44579
44580 function applyReplacement(placeholder, ast, replacement) {
44581 if (placeholder.isDuplicate) {
44582 if (Array.isArray(replacement)) {
44583 replacement = replacement.map(function (node) {
44584 return cloneNode(node);
44585 });
44586 } else if (typeof replacement === "object") {
44587 replacement = cloneNode(replacement);
44588 }
44589 }
44590
44591 var _placeholder$resolve = placeholder.resolve(ast),
44592 parent = _placeholder$resolve.parent,
44593 key = _placeholder$resolve.key,
44594 index = _placeholder$resolve.index;
44595
44596 if (placeholder.type === "string") {
44597 if (typeof replacement === "string") {
44598 replacement = stringLiteral(replacement);
44599 }
44600
44601 if (!replacement || !isStringLiteral(replacement)) {
44602 throw new Error("Expected string substitution");
44603 }
44604 } else if (placeholder.type === "statement") {
44605 if (index === undefined) {
44606 if (!replacement) {
44607 replacement = emptyStatement();
44608 } else if (Array.isArray(replacement)) {
44609 replacement = blockStatement(replacement);
44610 } else if (typeof replacement === "string") {
44611 replacement = expressionStatement(identifier(replacement));
44612 } else if (!isStatement(replacement)) {
44613 replacement = expressionStatement(replacement);
44614 }
44615 } else {
44616 if (replacement && !Array.isArray(replacement)) {
44617 if (typeof replacement === "string") {
44618 replacement = identifier(replacement);
44619 }
44620
44621 if (!isStatement(replacement)) {
44622 replacement = expressionStatement(replacement);
44623 }
44624 }
44625 }
44626 } else if (placeholder.type === "param") {
44627 if (typeof replacement === "string") {
44628 replacement = identifier(replacement);
44629 }
44630
44631 if (index === undefined) throw new Error("Assertion failure.");
44632 } else {
44633 if (typeof replacement === "string") {
44634 replacement = identifier(replacement);
44635 }
44636
44637 if (Array.isArray(replacement)) {
44638 throw new Error("Cannot replace single expression with an array.");
44639 }
44640 }
44641
44642 if (index === undefined) {
44643 validate$3(parent, key, replacement);
44644 parent[key] = replacement;
44645 } else {
44646 var items = parent[key].slice();
44647
44648 if (placeholder.type === "statement" || placeholder.type === "param") {
44649 if (replacement == null) {
44650 items.splice(index, 1);
44651 } else if (Array.isArray(replacement)) {
44652 items.splice.apply(items, [index, 1].concat(_toConsumableArray(replacement)));
44653 } else {
44654 items[index] = replacement;
44655 }
44656 } else {
44657 items[index] = replacement;
44658 }
44659
44660 validate$3(parent, key, items);
44661 parent[key] = items;
44662 }
44663 }
44664
44665 function stringTemplate(formatter, code, opts) {
44666 code = formatter.code(code);
44667 var metadata;
44668 return function (arg) {
44669 var replacements = normalizeReplacements(arg);
44670 if (!metadata) metadata = parseAndBuildMetadata(formatter, code, opts);
44671 return formatter.unwrap(populatePlaceholders(metadata, replacements));
44672 };
44673 }
44674
44675 function literalTemplate(formatter, tpl, opts) {
44676 var _buildLiteralData = buildLiteralData(formatter, tpl, opts),
44677 metadata = _buildLiteralData.metadata,
44678 names = _buildLiteralData.names;
44679
44680 return function (arg) {
44681 var defaultReplacements = {};
44682 arg.forEach(function (replacement, i) {
44683 defaultReplacements[names[i]] = replacement;
44684 });
44685 return function (arg) {
44686 var replacements = normalizeReplacements(arg);
44687
44688 if (replacements) {
44689 Object.keys(replacements).forEach(function (key) {
44690 if (Object.prototype.hasOwnProperty.call(defaultReplacements, key)) {
44691 throw new Error("Unexpected replacement overlap.");
44692 }
44693 });
44694 }
44695
44696 return formatter.unwrap(populatePlaceholders(metadata, replacements ? Object.assign(replacements, defaultReplacements) : defaultReplacements));
44697 };
44698 };
44699 }
44700
44701 function buildLiteralData(formatter, tpl, opts) {
44702 var names;
44703 var nameSet;
44704 var metadata;
44705 var prefix = "";
44706
44707 do {
44708 prefix += "$";
44709 var result = buildTemplateCode(tpl, prefix);
44710 names = result.names;
44711 nameSet = new Set(names);
44712 metadata = parseAndBuildMetadata(formatter, formatter.code(result.code), {
44713 parser: opts.parser,
44714 placeholderWhitelist: new Set(result.names.concat(opts.placeholderWhitelist ? Array.from(opts.placeholderWhitelist) : [])),
44715 placeholderPattern: opts.placeholderPattern,
44716 preserveComments: opts.preserveComments,
44717 syntacticPlaceholders: opts.syntacticPlaceholders
44718 });
44719 } while (metadata.placeholders.some(function (placeholder) {
44720 return placeholder.isDuplicate && nameSet.has(placeholder.name);
44721 }));
44722
44723 return {
44724 metadata: metadata,
44725 names: names
44726 };
44727 }
44728
44729 function buildTemplateCode(tpl, prefix) {
44730 var names = [];
44731 var code = tpl[0];
44732
44733 for (var i = 1; i < tpl.length; i++) {
44734 var value = "" + prefix + (i - 1);
44735 names.push(value);
44736 code += value + tpl[i];
44737 }
44738
44739 return {
44740 names: names,
44741 code: code
44742 };
44743 }
44744
44745 var NO_PLACEHOLDER = validate$1({
44746 placeholderPattern: false
44747 });
44748 function createTemplateBuilder(formatter, defaultOpts) {
44749 var templateFnCache = new WeakMap();
44750 var templateAstCache = new WeakMap();
44751 var cachedOpts = defaultOpts || validate$1(null);
44752 return Object.assign(function (tpl) {
44753 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
44754 args[_key - 1] = arguments[_key];
44755 }
44756
44757 if (typeof tpl === "string") {
44758 if (args.length > 1) throw new Error("Unexpected extra params.");
44759 return extendedTrace(stringTemplate(formatter, tpl, merge$1(cachedOpts, validate$1(args[0]))));
44760 } else if (Array.isArray(tpl)) {
44761 var builder = templateFnCache.get(tpl);
44762
44763 if (!builder) {
44764 builder = literalTemplate(formatter, tpl, cachedOpts);
44765 templateFnCache.set(tpl, builder);
44766 }
44767
44768 return extendedTrace(builder(args));
44769 } else if (typeof tpl === "object" && tpl) {
44770 if (args.length > 0) throw new Error("Unexpected extra params.");
44771 return createTemplateBuilder(formatter, merge$1(cachedOpts, validate$1(tpl)));
44772 }
44773
44774 throw new Error("Unexpected template param " + typeof tpl);
44775 }, {
44776 ast: function ast(tpl) {
44777 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
44778 args[_key2 - 1] = arguments[_key2];
44779 }
44780
44781 if (typeof tpl === "string") {
44782 if (args.length > 1) throw new Error("Unexpected extra params.");
44783 return stringTemplate(formatter, tpl, merge$1(merge$1(cachedOpts, validate$1(args[0])), NO_PLACEHOLDER))();
44784 } else if (Array.isArray(tpl)) {
44785 var builder = templateAstCache.get(tpl);
44786
44787 if (!builder) {
44788 builder = literalTemplate(formatter, tpl, merge$1(cachedOpts, NO_PLACEHOLDER));
44789 templateAstCache.set(tpl, builder);
44790 }
44791
44792 return builder(args)();
44793 }
44794
44795 throw new Error("Unexpected template param " + typeof tpl);
44796 }
44797 });
44798 }
44799
44800 function extendedTrace(fn) {
44801 var rootStack = "";
44802
44803 try {
44804 throw new Error();
44805 } catch (error) {
44806 if (error.stack) {
44807 rootStack = error.stack.split("\n").slice(3).join("\n");
44808 }
44809 }
44810
44811 return function (arg) {
44812 try {
44813 return fn(arg);
44814 } catch (err) {
44815 err.stack += "\n =============\n" + rootStack;
44816 throw err;
44817 }
44818 };
44819 }
44820
44821 var smart = createTemplateBuilder(smart$1);
44822 var statement = createTemplateBuilder(statement$1);
44823 var statements = createTemplateBuilder(statements$1);
44824 var expression = createTemplateBuilder(expression$1);
44825 var program = createTemplateBuilder(program$1);
44826 var template$2 = Object.assign(smart.bind(undefined), {
44827 smart: smart,
44828 statement: statement,
44829 statements: statements,
44830 expression: expression,
44831 program: program,
44832 ast: smart.ast
44833 });
44834
44835 var buildPropertyMethodAssignmentWrapper = template$2("\n (function (FUNCTION_KEY) {\n function FUNCTION_ID() {\n return FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n }\n\n return FUNCTION_ID;\n })(FUNCTION)\n");
44836 var buildGeneratorPropertyMethodAssignmentWrapper = template$2("\n (function (FUNCTION_KEY) {\n function* FUNCTION_ID() {\n return yield* FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n };\n\n return FUNCTION_ID;\n })(FUNCTION)\n");
44837 var visitor$2 = {
44838 "ReferencedIdentifier|BindingIdentifier": function ReferencedIdentifierBindingIdentifier(path, state) {
44839 if (path.node.name !== state.name) return;
44840 var localDeclar = path.scope.getBindingIdentifier(state.name);
44841 if (localDeclar !== state.outerDeclar) return;
44842 state.selfReference = true;
44843 path.stop();
44844 }
44845 };
44846
44847 function getNameFromLiteralId(id) {
44848 if (isNullLiteral(id)) {
44849 return "null";
44850 }
44851
44852 if (isRegExpLiteral(id)) {
44853 return "_" + id.pattern + "_" + id.flags;
44854 }
44855
44856 if (isTemplateLiteral(id)) {
44857 return id.quasis.map(function (quasi) {
44858 return quasi.value.raw;
44859 }).join("");
44860 }
44861
44862 if (id.value !== undefined) {
44863 return id.value + "";
44864 }
44865
44866 return "";
44867 }
44868
44869 function wrap$1(state, method, id, scope) {
44870 if (state.selfReference) {
44871 if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) {
44872 scope.rename(id.name);
44873 } else {
44874 if (!isFunction$1(method)) return;
44875 var build = buildPropertyMethodAssignmentWrapper;
44876
44877 if (method.generator) {
44878 build = buildGeneratorPropertyMethodAssignmentWrapper;
44879 }
44880
44881 var _template = build({
44882 FUNCTION: method,
44883 FUNCTION_ID: id,
44884 FUNCTION_KEY: scope.generateUidIdentifier(id.name)
44885 }).expression;
44886 var params = _template.callee.body.body[0].params;
44887
44888 for (var i = 0, len = getFunctionArity(method); i < len; i++) {
44889 params.push(scope.generateUidIdentifier("x"));
44890 }
44891
44892 return _template;
44893 }
44894 }
44895
44896 method.id = id;
44897 scope.getProgramParent().references[id.name] = true;
44898 }
44899
44900 function visit$2(node, name, scope) {
44901 var state = {
44902 selfAssignment: false,
44903 selfReference: false,
44904 outerDeclar: scope.getBindingIdentifier(name),
44905 references: [],
44906 name: name
44907 };
44908 var binding = scope.getOwnBinding(name);
44909
44910 if (binding) {
44911 if (binding.kind === "param") {
44912 state.selfReference = true;
44913 }
44914 } else if (state.outerDeclar || scope.hasGlobal(name)) {
44915 scope.traverse(node, visitor$2, state);
44916 }
44917
44918 return state;
44919 }
44920
44921 function nameFunction (_ref, localBinding) {
44922 var node = _ref.node,
44923 parent = _ref.parent,
44924 scope = _ref.scope,
44925 id = _ref.id;
44926
44927 if (localBinding === void 0) {
44928 localBinding = false;
44929 }
44930
44931 if (node.id) return;
44932
44933 if ((isObjectProperty(parent) || isObjectMethod(parent, {
44934 kind: "method"
44935 })) && (!parent.computed || isLiteral(parent.key))) {
44936 id = parent.key;
44937 } else if (isVariableDeclarator(parent)) {
44938 id = parent.id;
44939
44940 if (isIdentifier(id) && !localBinding) {
44941 var binding = scope.parent.getBinding(id.name);
44942
44943 if (binding && binding.constant && scope.getBinding(id.name) === binding) {
44944 node.id = cloneNode(id);
44945 node.id[NOT_LOCAL_BINDING] = true;
44946 return;
44947 }
44948 }
44949 } else if (isAssignmentExpression(parent, {
44950 operator: "="
44951 })) {
44952 id = parent.left;
44953 } else if (!id) {
44954 return;
44955 }
44956
44957 var name;
44958
44959 if (id && isLiteral(id)) {
44960 name = getNameFromLiteralId(id);
44961 } else if (id && isIdentifier(id)) {
44962 name = id.name;
44963 }
44964
44965 if (name === undefined) {
44966 return;
44967 }
44968
44969 name = toBindingIdentifierName(name);
44970 id = identifier(name);
44971 id[NOT_LOCAL_BINDING] = true;
44972 var state = visit$2(node, name, scope);
44973 return wrap$1(state, node, id, scope) || node;
44974 }
44975
44976 function toComputedKey() {
44977 var key;
44978
44979 if (this.isMemberExpression()) {
44980 key = this.node.property;
44981 } else if (this.isProperty() || this.isMethod()) {
44982 key = this.node.key;
44983 } else {
44984 throw new ReferenceError("todo");
44985 }
44986
44987 if (!this.node.computed) {
44988 if (isIdentifier(key)) key = stringLiteral(key.name);
44989 }
44990
44991 return key;
44992 }
44993 function ensureBlock() {
44994 var body = this.get("body");
44995 var bodyNode = body.node;
44996
44997 if (Array.isArray(body)) {
44998 throw new Error("Can't convert array path to a block statement");
44999 }
45000
45001 if (!bodyNode) {
45002 throw new Error("Can't convert node without a body");
45003 }
45004
45005 if (body.isBlockStatement()) {
45006 return bodyNode;
45007 }
45008
45009 var statements = [];
45010 var stringPath = "body";
45011 var key;
45012 var listKey;
45013
45014 if (body.isStatement()) {
45015 listKey = "body";
45016 key = 0;
45017 statements.push(body.node);
45018 } else {
45019 stringPath += ".body.0";
45020
45021 if (this.isFunction()) {
45022 key = "argument";
45023 statements.push(returnStatement(body.node));
45024 } else {
45025 key = "expression";
45026 statements.push(expressionStatement(body.node));
45027 }
45028 }
45029
45030 this.node.body = blockStatement(statements);
45031 var parentPath = this.get(stringPath);
45032 body.setup(parentPath, listKey ? parentPath.node[listKey] : parentPath.node, listKey, key);
45033 return this.node;
45034 }
45035 function arrowFunctionToShadowed() {
45036 if (!this.isArrowFunctionExpression()) return;
45037 this.arrowFunctionToExpression();
45038 }
45039 function unwrapFunctionEnvironment() {
45040 if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration()) {
45041 throw this.buildCodeFrameError("Can only unwrap the environment of a function.");
45042 }
45043
45044 hoistFunctionEnvironment(this);
45045 }
45046 function arrowFunctionToExpression(_temp) {
45047 var _ref = _temp === void 0 ? {} : _temp,
45048 _ref$allowInsertArrow = _ref.allowInsertArrow,
45049 allowInsertArrow = _ref$allowInsertArrow === void 0 ? true : _ref$allowInsertArrow,
45050 _ref$specCompliant = _ref.specCompliant,
45051 specCompliant = _ref$specCompliant === void 0 ? false : _ref$specCompliant,
45052 _ref$noNewArrows = _ref.noNewArrows,
45053 noNewArrows = _ref$noNewArrows === void 0 ? !specCompliant : _ref$noNewArrows;
45054
45055 if (!this.isArrowFunctionExpression()) {
45056 throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");
45057 }
45058
45059 var thisBinding = hoistFunctionEnvironment(this, noNewArrows, allowInsertArrow);
45060 this.ensureBlock();
45061 this.node.type = "FunctionExpression";
45062
45063 if (!noNewArrows) {
45064 var checkBinding = thisBinding ? null : this.parentPath.scope.generateUidIdentifier("arrowCheckId");
45065
45066 if (checkBinding) {
45067 this.parentPath.scope.push({
45068 id: checkBinding,
45069 init: objectExpression([])
45070 });
45071 }
45072
45073 this.get("body").unshiftContainer("body", expressionStatement(callExpression(this.hub.addHelper("newArrowCheck"), [thisExpression(), checkBinding ? identifier(checkBinding.name) : identifier(thisBinding)])));
45074 this.replaceWith(callExpression(memberExpression(nameFunction(this, true) || this.node, identifier("bind")), [checkBinding ? identifier(checkBinding.name) : thisExpression()]));
45075 }
45076 }
45077
45078 function hoistFunctionEnvironment(fnPath, noNewArrows, allowInsertArrow) {
45079 if (noNewArrows === void 0) {
45080 noNewArrows = true;
45081 }
45082
45083 if (allowInsertArrow === void 0) {
45084 allowInsertArrow = true;
45085 }
45086
45087 var thisEnvFn = fnPath.findParent(function (p) {
45088 return p.isFunction() && !p.isArrowFunctionExpression() || p.isProgram() || p.isClassProperty({
45089 "static": false
45090 });
45091 });
45092 var inConstructor = (thisEnvFn == null ? void 0 : thisEnvFn.node.kind) === "constructor";
45093
45094 if (thisEnvFn.isClassProperty()) {
45095 throw fnPath.buildCodeFrameError("Unable to transform arrow inside class property");
45096 }
45097
45098 var _getScopeInformation = getScopeInformation(fnPath),
45099 thisPaths = _getScopeInformation.thisPaths,
45100 argumentsPaths = _getScopeInformation.argumentsPaths,
45101 newTargetPaths = _getScopeInformation.newTargetPaths,
45102 superProps = _getScopeInformation.superProps,
45103 superCalls = _getScopeInformation.superCalls;
45104
45105 if (inConstructor && superCalls.length > 0) {
45106 if (!allowInsertArrow) {
45107 throw superCalls[0].buildCodeFrameError("Unable to handle nested super() usage in arrow");
45108 }
45109
45110 var allSuperCalls = [];
45111 thisEnvFn.traverse({
45112 Function: function Function(child) {
45113 if (child.isArrowFunctionExpression()) return;
45114 child.skip();
45115 },
45116 ClassProperty: function ClassProperty(child) {
45117 child.skip();
45118 },
45119 CallExpression: function CallExpression(child) {
45120 if (!child.get("callee").isSuper()) return;
45121 allSuperCalls.push(child);
45122 }
45123 });
45124 var superBinding = getSuperBinding(thisEnvFn);
45125 allSuperCalls.forEach(function (superCall) {
45126 var callee = identifier(superBinding);
45127 callee.loc = superCall.node.callee.loc;
45128 superCall.get("callee").replaceWith(callee);
45129 });
45130 }
45131
45132 if (argumentsPaths.length > 0) {
45133 var argumentsBinding = getBinding(thisEnvFn, "arguments", function () {
45134 var args = function args() {
45135 return identifier("arguments");
45136 };
45137
45138 if (thisEnvFn.scope.path.isProgram()) {
45139 return conditionalExpression(binaryExpression("===", unaryExpression("typeof", args()), stringLiteral("undefined")), thisEnvFn.scope.buildUndefinedNode(), args());
45140 } else {
45141 return args();
45142 }
45143 });
45144 argumentsPaths.forEach(function (argumentsChild) {
45145 var argsRef = identifier(argumentsBinding);
45146 argsRef.loc = argumentsChild.node.loc;
45147 argumentsChild.replaceWith(argsRef);
45148 });
45149 }
45150
45151 if (newTargetPaths.length > 0) {
45152 var newTargetBinding = getBinding(thisEnvFn, "newtarget", function () {
45153 return metaProperty(identifier("new"), identifier("target"));
45154 });
45155 newTargetPaths.forEach(function (targetChild) {
45156 var targetRef = identifier(newTargetBinding);
45157 targetRef.loc = targetChild.node.loc;
45158 targetChild.replaceWith(targetRef);
45159 });
45160 }
45161
45162 if (superProps.length > 0) {
45163 if (!allowInsertArrow) {
45164 throw superProps[0].buildCodeFrameError("Unable to handle nested super.prop usage");
45165 }
45166
45167 var flatSuperProps = superProps.reduce(function (acc, superProp) {
45168 return acc.concat(standardizeSuperProperty(superProp));
45169 }, []);
45170 flatSuperProps.forEach(function (superProp) {
45171 var key = superProp.node.computed ? "" : superProp.get("property").node.name;
45172 var isAssignment = superProp.parentPath.isAssignmentExpression({
45173 left: superProp.node
45174 });
45175 var isCall = superProp.parentPath.isCallExpression({
45176 callee: superProp.node
45177 });
45178 var superBinding = getSuperPropBinding(thisEnvFn, isAssignment, key);
45179 var args = [];
45180
45181 if (superProp.node.computed) {
45182 args.push(superProp.get("property").node);
45183 }
45184
45185 if (isAssignment) {
45186 var value = superProp.parentPath.node.right;
45187 args.push(value);
45188 }
45189
45190 var call = callExpression(identifier(superBinding), args);
45191
45192 if (isCall) {
45193 superProp.parentPath.unshiftContainer("arguments", thisExpression());
45194 superProp.replaceWith(memberExpression(call, identifier("call")));
45195 thisPaths.push(superProp.parentPath.get("arguments.0"));
45196 } else if (isAssignment) {
45197 superProp.parentPath.replaceWith(call);
45198 } else {
45199 superProp.replaceWith(call);
45200 }
45201 });
45202 }
45203
45204 var thisBinding;
45205
45206 if (thisPaths.length > 0 || !noNewArrows) {
45207 thisBinding = getThisBinding(thisEnvFn, inConstructor);
45208
45209 if (noNewArrows || inConstructor && hasSuperClass(thisEnvFn)) {
45210 thisPaths.forEach(function (thisChild) {
45211 var thisRef = thisChild.isJSX() ? jsxIdentifier(thisBinding) : identifier(thisBinding);
45212 thisRef.loc = thisChild.node.loc;
45213 thisChild.replaceWith(thisRef);
45214 });
45215 if (!noNewArrows) thisBinding = null;
45216 }
45217 }
45218
45219 return thisBinding;
45220 }
45221
45222 function standardizeSuperProperty(superProp) {
45223 if (superProp.parentPath.isAssignmentExpression() && superProp.parentPath.node.operator !== "=") {
45224 var assignmentPath = superProp.parentPath;
45225 var op = assignmentPath.node.operator.slice(0, -1);
45226 var value = assignmentPath.node.right;
45227 assignmentPath.node.operator = "=";
45228
45229 if (superProp.node.computed) {
45230 var tmp = superProp.scope.generateDeclaredUidIdentifier("tmp");
45231 assignmentPath.get("left").replaceWith(memberExpression(superProp.node.object, assignmentExpression("=", tmp, superProp.node.property), true));
45232 assignmentPath.get("right").replaceWith(binaryExpression(op, memberExpression(superProp.node.object, identifier(tmp.name), true), value));
45233 } else {
45234 assignmentPath.get("left").replaceWith(memberExpression(superProp.node.object, superProp.node.property));
45235 assignmentPath.get("right").replaceWith(binaryExpression(op, memberExpression(superProp.node.object, identifier(superProp.node.property.name)), value));
45236 }
45237
45238 return [assignmentPath.get("left"), assignmentPath.get("right").get("left")];
45239 } else if (superProp.parentPath.isUpdateExpression()) {
45240 var updateExpr = superProp.parentPath;
45241
45242 var _tmp = superProp.scope.generateDeclaredUidIdentifier("tmp");
45243
45244 var computedKey = superProp.node.computed ? superProp.scope.generateDeclaredUidIdentifier("prop") : null;
45245 var parts = [assignmentExpression("=", _tmp, memberExpression(superProp.node.object, computedKey ? assignmentExpression("=", computedKey, superProp.node.property) : superProp.node.property, superProp.node.computed)), assignmentExpression("=", memberExpression(superProp.node.object, computedKey ? identifier(computedKey.name) : superProp.node.property, superProp.node.computed), binaryExpression("+", identifier(_tmp.name), numericLiteral(1)))];
45246
45247 if (!superProp.parentPath.node.prefix) {
45248 parts.push(identifier(_tmp.name));
45249 }
45250
45251 updateExpr.replaceWith(sequenceExpression(parts));
45252 var left = updateExpr.get("expressions.0.right");
45253 var right = updateExpr.get("expressions.1.left");
45254 return [left, right];
45255 }
45256
45257 return [superProp];
45258 }
45259
45260 function hasSuperClass(thisEnvFn) {
45261 return thisEnvFn.isClassMethod() && !!thisEnvFn.parentPath.parentPath.node.superClass;
45262 }
45263
45264 function getThisBinding(thisEnvFn, inConstructor) {
45265 return getBinding(thisEnvFn, "this", function (thisBinding) {
45266 if (!inConstructor || !hasSuperClass(thisEnvFn)) return thisExpression();
45267 var supers = new WeakSet();
45268 thisEnvFn.traverse({
45269 Function: function Function(child) {
45270 if (child.isArrowFunctionExpression()) return;
45271 child.skip();
45272 },
45273 ClassProperty: function ClassProperty(child) {
45274 child.skip();
45275 },
45276 CallExpression: function CallExpression(child) {
45277 if (!child.get("callee").isSuper()) return;
45278 if (supers.has(child.node)) return;
45279 supers.add(child.node);
45280 child.replaceWithMultiple([child.node, assignmentExpression("=", identifier(thisBinding), identifier("this"))]);
45281 }
45282 });
45283 });
45284 }
45285
45286 function getSuperBinding(thisEnvFn) {
45287 return getBinding(thisEnvFn, "supercall", function () {
45288 var argsBinding = thisEnvFn.scope.generateUidIdentifier("args");
45289 return arrowFunctionExpression([restElement(argsBinding)], callExpression(_super(), [spreadElement(identifier(argsBinding.name))]));
45290 });
45291 }
45292
45293 function getSuperPropBinding(thisEnvFn, isAssignment, propName) {
45294 var op = isAssignment ? "set" : "get";
45295 return getBinding(thisEnvFn, "superprop_" + op + ":" + (propName || ""), function () {
45296 var argsList = [];
45297 var fnBody;
45298
45299 if (propName) {
45300 fnBody = memberExpression(_super(), identifier(propName));
45301 } else {
45302 var method = thisEnvFn.scope.generateUidIdentifier("prop");
45303 argsList.unshift(method);
45304 fnBody = memberExpression(_super(), identifier(method.name), true);
45305 }
45306
45307 if (isAssignment) {
45308 var valueIdent = thisEnvFn.scope.generateUidIdentifier("value");
45309 argsList.push(valueIdent);
45310 fnBody = assignmentExpression("=", fnBody, identifier(valueIdent.name));
45311 }
45312
45313 return arrowFunctionExpression(argsList, fnBody);
45314 });
45315 }
45316
45317 function getBinding(thisEnvFn, key, init) {
45318 var cacheKey = "binding:" + key;
45319 var data = thisEnvFn.getData(cacheKey);
45320
45321 if (!data) {
45322 var id = thisEnvFn.scope.generateUidIdentifier(key);
45323 data = id.name;
45324 thisEnvFn.setData(cacheKey, data);
45325 thisEnvFn.scope.push({
45326 id: id,
45327 init: init(data)
45328 });
45329 }
45330
45331 return data;
45332 }
45333
45334 function getScopeInformation(fnPath) {
45335 var thisPaths = [];
45336 var argumentsPaths = [];
45337 var newTargetPaths = [];
45338 var superProps = [];
45339 var superCalls = [];
45340 fnPath.traverse({
45341 ClassProperty: function ClassProperty(child) {
45342 child.skip();
45343 },
45344 Function: function Function(child) {
45345 if (child.isArrowFunctionExpression()) return;
45346 child.skip();
45347 },
45348 ThisExpression: function ThisExpression(child) {
45349 thisPaths.push(child);
45350 },
45351 JSXIdentifier: function JSXIdentifier(child) {
45352 if (child.node.name !== "this") return;
45353
45354 if (!child.parentPath.isJSXMemberExpression({
45355 object: child.node
45356 }) && !child.parentPath.isJSXOpeningElement({
45357 name: child.node
45358 })) {
45359 return;
45360 }
45361
45362 thisPaths.push(child);
45363 },
45364 CallExpression: function CallExpression(child) {
45365 if (child.get("callee").isSuper()) superCalls.push(child);
45366 },
45367 MemberExpression: function MemberExpression(child) {
45368 if (child.get("object").isSuper()) superProps.push(child);
45369 },
45370 ReferencedIdentifier: function ReferencedIdentifier(child) {
45371 if (child.node.name !== "arguments") return;
45372 var curr = child.scope;
45373
45374 do {
45375 if (curr.hasOwnBinding("arguments")) {
45376 curr.rename("arguments");
45377 return;
45378 }
45379
45380 if (curr.path.isFunction() && !curr.path.isArrowFunctionExpression()) {
45381 break;
45382 }
45383 } while (curr = curr.parent);
45384
45385 argumentsPaths.push(child);
45386 },
45387 MetaProperty: function MetaProperty(child) {
45388 if (!child.get("meta").isIdentifier({
45389 name: "new"
45390 })) return;
45391 if (!child.get("property").isIdentifier({
45392 name: "target"
45393 })) return;
45394 newTargetPaths.push(child);
45395 }
45396 });
45397 return {
45398 thisPaths: thisPaths,
45399 argumentsPaths: argumentsPaths,
45400 newTargetPaths: newTargetPaths,
45401 superProps: superProps,
45402 superCalls: superCalls
45403 };
45404 }
45405
45406 var NodePath_conversion = /*#__PURE__*/Object.freeze({
45407 __proto__: null,
45408 toComputedKey: toComputedKey,
45409 ensureBlock: ensureBlock,
45410 arrowFunctionToShadowed: arrowFunctionToShadowed,
45411 unwrapFunctionEnvironment: unwrapFunctionEnvironment,
45412 arrowFunctionToExpression: arrowFunctionToExpression
45413 });
45414
45415 function matchesPattern(pattern, allowPartial) {
45416 return matchesPattern$1(this.node, pattern, allowPartial);
45417 }
45418 function has$b(key) {
45419 var val = this.node && this.node[key];
45420
45421 if (val && Array.isArray(val)) {
45422 return !!val.length;
45423 } else {
45424 return !!val;
45425 }
45426 }
45427 function isStatic() {
45428 return this.scope.isStatic(this.node);
45429 }
45430 var is = has$b;
45431 function isnt(key) {
45432 return !this.has(key);
45433 }
45434 function equals(key, value) {
45435 return this.node[key] === value;
45436 }
45437 function isNodeType(type) {
45438 return isType$1(this.type, type);
45439 }
45440 function canHaveVariableDeclarationOrExpression() {
45441 return (this.key === "init" || this.key === "left") && this.parentPath.isFor();
45442 }
45443 function canSwapBetweenExpressionAndStatement(replacement) {
45444 if (this.key !== "body" || !this.parentPath.isArrowFunctionExpression()) {
45445 return false;
45446 }
45447
45448 if (this.isExpression()) {
45449 return isBlockStatement(replacement);
45450 } else if (this.isBlockStatement()) {
45451 return isExpression(replacement);
45452 }
45453
45454 return false;
45455 }
45456 function isCompletionRecord(allowInsideFunction) {
45457 var path = this;
45458 var first = true;
45459
45460 do {
45461 var container = path.container;
45462
45463 if (path.isFunction() && !first) {
45464 return !!allowInsideFunction;
45465 }
45466
45467 first = false;
45468
45469 if (Array.isArray(container) && path.key !== container.length - 1) {
45470 return false;
45471 }
45472 } while ((path = path.parentPath) && !path.isProgram());
45473
45474 return true;
45475 }
45476 function isStatementOrBlock() {
45477 if (this.parentPath.isLabeledStatement() || isBlockStatement(this.container)) {
45478 return false;
45479 } else {
45480 return STATEMENT_OR_BLOCK_KEYS.includes(this.key);
45481 }
45482 }
45483 function referencesImport(moduleSource, importName) {
45484 if (!this.isReferencedIdentifier()) {
45485 if ((this.isMemberExpression() || this.isOptionalMemberExpression()) && (this.node.computed ? isStringLiteral(this.node.property, {
45486 value: importName
45487 }) : this.node.property.name === importName)) {
45488 var object = this.get("object");
45489 return object.isReferencedIdentifier() && object.referencesImport(moduleSource, "*");
45490 }
45491
45492 return false;
45493 }
45494
45495 var binding = this.scope.getBinding(this.node.name);
45496 if (!binding || binding.kind !== "module") return false;
45497 var path = binding.path;
45498 var parent = path.parentPath;
45499 if (!parent.isImportDeclaration()) return false;
45500
45501 if (parent.node.source.value === moduleSource) {
45502 if (!importName) return true;
45503 } else {
45504 return false;
45505 }
45506
45507 if (path.isImportDefaultSpecifier() && importName === "default") {
45508 return true;
45509 }
45510
45511 if (path.isImportNamespaceSpecifier() && importName === "*") {
45512 return true;
45513 }
45514
45515 if (path.isImportSpecifier() && isIdentifier(path.node.imported, {
45516 name: importName
45517 })) {
45518 return true;
45519 }
45520
45521 return false;
45522 }
45523 function getSource$1() {
45524 var node = this.node;
45525
45526 if (node.end) {
45527 var code = this.hub.getCode();
45528 if (code) return code.slice(node.start, node.end);
45529 }
45530
45531 return "";
45532 }
45533 function willIMaybeExecuteBefore(target) {
45534 return this._guessExecutionStatusRelativeTo(target) !== "after";
45535 }
45536
45537 function getOuterFunction(path) {
45538 return (path.scope.getFunctionParent() || path.scope.getProgramParent()).path;
45539 }
45540
45541 function isExecutionUncertain(type, key) {
45542 switch (type) {
45543 case "LogicalExpression":
45544 return key === "right";
45545
45546 case "ConditionalExpression":
45547 case "IfStatement":
45548 return key === "consequent" || key === "alternate";
45549
45550 case "WhileStatement":
45551 case "DoWhileStatement":
45552 case "ForInStatement":
45553 case "ForOfStatement":
45554 return key === "body";
45555
45556 case "ForStatement":
45557 return key === "body" || key === "update";
45558
45559 case "SwitchStatement":
45560 return key === "cases";
45561
45562 case "TryStatement":
45563 return key === "handler";
45564
45565 case "AssignmentPattern":
45566 return key === "right";
45567
45568 case "OptionalMemberExpression":
45569 return key === "property";
45570
45571 case "OptionalCallExpression":
45572 return key === "arguments";
45573
45574 default:
45575 return false;
45576 }
45577 }
45578
45579 function isExecutionUncertainInList(paths, maxIndex) {
45580 for (var i = 0; i < maxIndex; i++) {
45581 var path = paths[i];
45582
45583 if (isExecutionUncertain(path.parent.type, path.parentKey)) {
45584 return true;
45585 }
45586 }
45587
45588 return false;
45589 }
45590
45591 function _guessExecutionStatusRelativeTo(target) {
45592 var funcParent = {
45593 "this": getOuterFunction(this),
45594 target: getOuterFunction(target)
45595 };
45596
45597 if (funcParent.target.node !== funcParent["this"].node) {
45598 return this._guessExecutionStatusRelativeToDifferentFunctions(funcParent.target);
45599 }
45600
45601 var paths = {
45602 target: target.getAncestry(),
45603 "this": this.getAncestry()
45604 };
45605 if (paths.target.indexOf(this) >= 0) return "after";
45606 if (paths["this"].indexOf(target) >= 0) return "before";
45607 var commonPath;
45608 var commonIndex = {
45609 target: 0,
45610 "this": 0
45611 };
45612
45613 while (!commonPath && commonIndex["this"] < paths["this"].length) {
45614 var path = paths["this"][commonIndex["this"]];
45615 commonIndex.target = paths.target.indexOf(path);
45616
45617 if (commonIndex.target >= 0) {
45618 commonPath = path;
45619 } else {
45620 commonIndex["this"]++;
45621 }
45622 }
45623
45624 if (!commonPath) {
45625 throw new Error("Internal Babel error - The two compared nodes" + " don't appear to belong to the same program.");
45626 }
45627
45628 if (isExecutionUncertainInList(paths["this"], commonIndex["this"] - 1) || isExecutionUncertainInList(paths.target, commonIndex.target - 1)) {
45629 return "unknown";
45630 }
45631
45632 var divergence = {
45633 "this": paths["this"][commonIndex["this"] - 1],
45634 target: paths.target[commonIndex.target - 1]
45635 };
45636
45637 if (divergence.target.listKey && divergence["this"].listKey && divergence.target.container === divergence["this"].container) {
45638 return divergence.target.key > divergence["this"].key ? "before" : "after";
45639 }
45640
45641 var keys = VISITOR_KEYS[commonPath.type];
45642 var keyPosition = {
45643 "this": keys.indexOf(divergence["this"].parentKey),
45644 target: keys.indexOf(divergence.target.parentKey)
45645 };
45646 return keyPosition.target > keyPosition["this"] ? "before" : "after";
45647 }
45648 var executionOrderCheckedNodes = new WeakSet();
45649 function _guessExecutionStatusRelativeToDifferentFunctions(target) {
45650 if (!target.isFunctionDeclaration() || target.parentPath.isExportDeclaration()) {
45651 return "unknown";
45652 }
45653
45654 var binding = target.scope.getBinding(target.node.id.name);
45655 if (!binding.references) return "before";
45656 var referencePaths = binding.referencePaths;
45657 var allStatus;
45658
45659 for (var _iterator = _createForOfIteratorHelperLoose(referencePaths), _step; !(_step = _iterator()).done;) {
45660 var path = _step.value;
45661 var childOfFunction = !!path.find(function (path) {
45662 return path.node === target.node;
45663 });
45664 if (childOfFunction) continue;
45665
45666 if (path.key !== "callee" || !path.parentPath.isCallExpression()) {
45667 return "unknown";
45668 }
45669
45670 if (executionOrderCheckedNodes.has(path.node)) continue;
45671 executionOrderCheckedNodes.add(path.node);
45672
45673 var status = this._guessExecutionStatusRelativeTo(path);
45674
45675 executionOrderCheckedNodes["delete"](path.node);
45676
45677 if (allStatus && allStatus !== status) {
45678 return "unknown";
45679 } else {
45680 allStatus = status;
45681 }
45682 }
45683
45684 return allStatus;
45685 }
45686 function resolve$4(dangerous, resolved) {
45687 return this._resolve(dangerous, resolved) || this;
45688 }
45689 function _resolve(dangerous, resolved) {
45690 if (resolved && resolved.indexOf(this) >= 0) return;
45691 resolved = resolved || [];
45692 resolved.push(this);
45693
45694 if (this.isVariableDeclarator()) {
45695 if (this.get("id").isIdentifier()) {
45696 return this.get("init").resolve(dangerous, resolved);
45697 }
45698 } else if (this.isReferencedIdentifier()) {
45699 var binding = this.scope.getBinding(this.node.name);
45700 if (!binding) return;
45701 if (!binding.constant) return;
45702 if (binding.kind === "module") return;
45703
45704 if (binding.path !== this) {
45705 var ret = binding.path.resolve(dangerous, resolved);
45706 if (this.find(function (parent) {
45707 return parent.node === ret.node;
45708 })) return;
45709 return ret;
45710 }
45711 } else if (this.isTypeCastExpression()) {
45712 return this.get("expression").resolve(dangerous, resolved);
45713 } else if (dangerous && this.isMemberExpression()) {
45714 var targetKey = this.toComputedKey();
45715 if (!isLiteral(targetKey)) return;
45716 var targetName = targetKey.value;
45717 var target = this.get("object").resolve(dangerous, resolved);
45718
45719 if (target.isObjectExpression()) {
45720 var props = target.get("properties");
45721
45722 for (var _iterator2 = _createForOfIteratorHelperLoose(props), _step2; !(_step2 = _iterator2()).done;) {
45723 var prop = _step2.value;
45724 if (!prop.isProperty()) continue;
45725 var key = prop.get("key");
45726 var match = prop.isnt("computed") && key.isIdentifier({
45727 name: targetName
45728 });
45729 match = match || key.isLiteral({
45730 value: targetName
45731 });
45732 if (match) return prop.get("value").resolve(dangerous, resolved);
45733 }
45734 } else if (target.isArrayExpression() && !isNaN(+targetName)) {
45735 var elems = target.get("elements");
45736 var elem = elems[targetName];
45737 if (elem) return elem.resolve(dangerous, resolved);
45738 }
45739 }
45740 }
45741 function isConstantExpression() {
45742 if (this.isIdentifier()) {
45743 var binding = this.scope.getBinding(this.node.name);
45744 if (!binding) return false;
45745 return binding.constant;
45746 }
45747
45748 if (this.isLiteral()) {
45749 if (this.isRegExpLiteral()) {
45750 return false;
45751 }
45752
45753 if (this.isTemplateLiteral()) {
45754 return this.get("expressions").every(function (expression) {
45755 return expression.isConstantExpression();
45756 });
45757 }
45758
45759 return true;
45760 }
45761
45762 if (this.isUnaryExpression()) {
45763 if (this.node.operator !== "void") {
45764 return false;
45765 }
45766
45767 return this.get("argument").isConstantExpression();
45768 }
45769
45770 if (this.isBinaryExpression()) {
45771 return this.get("left").isConstantExpression() && this.get("right").isConstantExpression();
45772 }
45773
45774 return false;
45775 }
45776 function isInStrictMode() {
45777 var start = this.isProgram() ? this : this.parentPath;
45778 var strictParent = start.find(function (path) {
45779 if (path.isProgram({
45780 sourceType: "module"
45781 })) return true;
45782 if (path.isClass()) return true;
45783 if (!path.isProgram() && !path.isFunction()) return false;
45784
45785 if (path.isArrowFunctionExpression() && !path.get("body").isBlockStatement()) {
45786 return false;
45787 }
45788
45789 var body = path.isFunction() ? path.node.body : path.node;
45790
45791 for (var _iterator3 = _createForOfIteratorHelperLoose(body.directives), _step3; !(_step3 = _iterator3()).done;) {
45792 var directive = _step3.value;
45793
45794 if (directive.value.value === "use strict") {
45795 return true;
45796 }
45797 }
45798 });
45799 return !!strictParent;
45800 }
45801
45802 var NodePath_introspection = /*#__PURE__*/Object.freeze({
45803 __proto__: null,
45804 matchesPattern: matchesPattern,
45805 has: has$b,
45806 isStatic: isStatic,
45807 is: is,
45808 isnt: isnt,
45809 equals: equals,
45810 isNodeType: isNodeType,
45811 canHaveVariableDeclarationOrExpression: canHaveVariableDeclarationOrExpression,
45812 canSwapBetweenExpressionAndStatement: canSwapBetweenExpressionAndStatement,
45813 isCompletionRecord: isCompletionRecord,
45814 isStatementOrBlock: isStatementOrBlock,
45815 referencesImport: referencesImport,
45816 getSource: getSource$1,
45817 willIMaybeExecuteBefore: willIMaybeExecuteBefore,
45818 _guessExecutionStatusRelativeTo: _guessExecutionStatusRelativeTo,
45819 _guessExecutionStatusRelativeToDifferentFunctions: _guessExecutionStatusRelativeToDifferentFunctions,
45820 resolve: resolve$4,
45821 _resolve: _resolve,
45822 isConstantExpression: isConstantExpression,
45823 isInStrictMode: isInStrictMode
45824 });
45825
45826 function call(key) {
45827 var opts = this.opts;
45828 this.debug(key);
45829
45830 if (this.node) {
45831 if (this._call(opts[key])) return true;
45832 }
45833
45834 if (this.node) {
45835 return this._call(opts[this.node.type] && opts[this.node.type][key]);
45836 }
45837
45838 return false;
45839 }
45840 function _call(fns) {
45841 if (!fns) return false;
45842
45843 for (var _iterator = _createForOfIteratorHelperLoose(fns), _step; !(_step = _iterator()).done;) {
45844 var fn = _step.value;
45845 if (!fn) continue;
45846 var node = this.node;
45847 if (!node) return true;
45848 var ret = fn.call(this.state, this, this.state);
45849
45850 if (ret && typeof ret === "object" && typeof ret.then === "function") {
45851 throw new Error("You appear to be using a plugin with an async traversal visitor, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version.");
45852 }
45853
45854 if (ret) {
45855 throw new Error("Unexpected return value from visitor method " + fn);
45856 }
45857
45858 if (this.node !== node) return true;
45859 if (this._traverseFlags > 0) return true;
45860 }
45861
45862 return false;
45863 }
45864 function isDenylisted() {
45865 var _this$opts$denylist;
45866
45867 var denylist = (_this$opts$denylist = this.opts.denylist) != null ? _this$opts$denylist : this.opts.blacklist;
45868 return denylist && denylist.indexOf(this.node.type) > -1;
45869 }
45870 function visit$1() {
45871 if (!this.node) {
45872 return false;
45873 }
45874
45875 if (this.isDenylisted()) {
45876 return false;
45877 }
45878
45879 if (this.opts.shouldSkip && this.opts.shouldSkip(this)) {
45880 return false;
45881 }
45882
45883 if (this.shouldSkip || this.call("enter") || this.shouldSkip) {
45884 this.debug("Skip...");
45885 return this.shouldStop;
45886 }
45887
45888 this.debug("Recursing into...");
45889 traverse.node(this.node, this.opts, this.scope, this.state, this, this.skipKeys);
45890 this.call("exit");
45891 return this.shouldStop;
45892 }
45893 function skip() {
45894 this.shouldSkip = true;
45895 }
45896 function skipKey(key) {
45897 if (this.skipKeys == null) {
45898 this.skipKeys = {};
45899 }
45900
45901 this.skipKeys[key] = true;
45902 }
45903 function stop() {
45904 this._traverseFlags |= SHOULD_SKIP | SHOULD_STOP;
45905 }
45906 function setScope() {
45907 if (this.opts && this.opts.noScope) return;
45908 var path = this.parentPath;
45909 if (this.key === "key" && path.isMethod()) path = path.parentPath;
45910 var target;
45911
45912 while (path && !target) {
45913 if (path.opts && path.opts.noScope) return;
45914 target = path.scope;
45915 path = path.parentPath;
45916 }
45917
45918 this.scope = this.getScope(target);
45919 if (this.scope) this.scope.init();
45920 }
45921 function setContext(context) {
45922 if (this.skipKeys != null) {
45923 this.skipKeys = {};
45924 }
45925
45926 this._traverseFlags = 0;
45927
45928 if (context) {
45929 this.context = context;
45930 this.state = context.state;
45931 this.opts = context.opts;
45932 }
45933
45934 this.setScope();
45935 return this;
45936 }
45937 function resync() {
45938 if (this.removed) return;
45939
45940 this._resyncParent();
45941
45942 this._resyncList();
45943
45944 this._resyncKey();
45945 }
45946 function _resyncParent() {
45947 if (this.parentPath) {
45948 this.parent = this.parentPath.node;
45949 }
45950 }
45951 function _resyncKey() {
45952 if (!this.container) return;
45953 if (this.node === this.container[this.key]) return;
45954
45955 if (Array.isArray(this.container)) {
45956 for (var i = 0; i < this.container.length; i++) {
45957 if (this.container[i] === this.node) {
45958 return this.setKey(i);
45959 }
45960 }
45961 } else {
45962 for (var _i = 0, _Object$keys = Object.keys(this.container); _i < _Object$keys.length; _i++) {
45963 var key = _Object$keys[_i];
45964
45965 if (this.container[key] === this.node) {
45966 return this.setKey(key);
45967 }
45968 }
45969 }
45970
45971 this.key = null;
45972 }
45973 function _resyncList() {
45974 if (!this.parent || !this.inList) return;
45975 var newContainer = this.parent[this.listKey];
45976 if (this.container === newContainer) return;
45977 this.container = newContainer || null;
45978 }
45979 function _resyncRemoved() {
45980 if (this.key == null || !this.container || this.container[this.key] !== this.node) {
45981 this._markRemoved();
45982 }
45983 }
45984 function popContext() {
45985 this.contexts.pop();
45986
45987 if (this.contexts.length > 0) {
45988 this.setContext(this.contexts[this.contexts.length - 1]);
45989 } else {
45990 this.setContext(undefined);
45991 }
45992 }
45993 function pushContext(context) {
45994 this.contexts.push(context);
45995 this.setContext(context);
45996 }
45997 function setup$1(parentPath, container, listKey, key) {
45998 this.listKey = listKey;
45999 this.container = container;
46000 this.parentPath = parentPath || this.parentPath;
46001 this.setKey(key);
46002 }
46003 function setKey(key) {
46004 var _this$node;
46005
46006 this.key = key;
46007 this.node = this.container[this.key];
46008 this.type = (_this$node = this.node) == null ? void 0 : _this$node.type;
46009 }
46010 function requeue(pathToQueue) {
46011 if (pathToQueue === void 0) {
46012 pathToQueue = this;
46013 }
46014
46015 if (pathToQueue.removed) return;
46016 var contexts = this.contexts;
46017
46018 for (var _iterator2 = _createForOfIteratorHelperLoose(contexts), _step2; !(_step2 = _iterator2()).done;) {
46019 var context = _step2.value;
46020 context.maybeQueue(pathToQueue);
46021 }
46022 }
46023 function _getQueueContexts() {
46024 var path = this;
46025 var contexts = this.contexts;
46026
46027 while (!contexts.length) {
46028 path = path.parentPath;
46029 if (!path) break;
46030 contexts = path.contexts;
46031 }
46032
46033 return contexts;
46034 }
46035
46036 var NodePath_context = /*#__PURE__*/Object.freeze({
46037 __proto__: null,
46038 call: call,
46039 _call: _call,
46040 isDenylisted: isDenylisted,
46041 isBlacklisted: isDenylisted,
46042 visit: visit$1,
46043 skip: skip,
46044 skipKey: skipKey,
46045 stop: stop,
46046 setScope: setScope,
46047 setContext: setContext,
46048 resync: resync,
46049 _resyncParent: _resyncParent,
46050 _resyncKey: _resyncKey,
46051 _resyncList: _resyncList,
46052 _resyncRemoved: _resyncRemoved,
46053 popContext: popContext,
46054 pushContext: pushContext,
46055 setup: setup$1,
46056 setKey: setKey,
46057 requeue: requeue,
46058 _getQueueContexts: _getQueueContexts
46059 });
46060
46061 var hooks = [function (self, parent) {
46062 var removeParent = self.key === "test" && (parent.isWhile() || parent.isSwitchCase()) || self.key === "declaration" && parent.isExportDeclaration() || self.key === "body" && parent.isLabeledStatement() || self.listKey === "declarations" && parent.isVariableDeclaration() && parent.node.declarations.length === 1 || self.key === "expression" && parent.isExpressionStatement();
46063
46064 if (removeParent) {
46065 parent.remove();
46066 return true;
46067 }
46068 }, function (self, parent) {
46069 if (parent.isSequenceExpression() && parent.node.expressions.length === 1) {
46070 parent.replaceWith(parent.node.expressions[0]);
46071 return true;
46072 }
46073 }, function (self, parent) {
46074 if (parent.isBinary()) {
46075 if (self.key === "left") {
46076 parent.replaceWith(parent.node.right);
46077 } else {
46078 parent.replaceWith(parent.node.left);
46079 }
46080
46081 return true;
46082 }
46083 }, function (self, parent) {
46084 if (parent.isIfStatement() && (self.key === "consequent" || self.key === "alternate") || self.key === "body" && (parent.isLoop() || parent.isArrowFunctionExpression())) {
46085 self.replaceWith({
46086 type: "BlockStatement",
46087 body: []
46088 });
46089 return true;
46090 }
46091 }];
46092
46093 function remove() {
46094 var _this$opts;
46095
46096 this._assertUnremoved();
46097
46098 this.resync();
46099
46100 if (!((_this$opts = this.opts) != null && _this$opts.noScope)) {
46101 this._removeFromScope();
46102 }
46103
46104 if (this._callRemovalHooks()) {
46105 this._markRemoved();
46106
46107 return;
46108 }
46109
46110 this.shareCommentsWithSiblings();
46111
46112 this._remove();
46113
46114 this._markRemoved();
46115 }
46116 function _removeFromScope() {
46117 var _this = this;
46118
46119 var bindings = this.getBindingIdentifiers();
46120 Object.keys(bindings).forEach(function (name) {
46121 return _this.scope.removeBinding(name);
46122 });
46123 }
46124 function _callRemovalHooks() {
46125 for (var _iterator = _createForOfIteratorHelperLoose(hooks), _step; !(_step = _iterator()).done;) {
46126 var fn = _step.value;
46127 if (fn(this, this.parentPath)) return true;
46128 }
46129 }
46130 function _remove() {
46131 if (Array.isArray(this.container)) {
46132 this.container.splice(this.key, 1);
46133 this.updateSiblingKeys(this.key, -1);
46134 } else {
46135 this._replaceWith(null);
46136 }
46137 }
46138 function _markRemoved() {
46139 this._traverseFlags |= SHOULD_SKIP | REMOVED;
46140 if (this.parent) path$3.get(this.parent)["delete"](this.node);
46141 this.node = null;
46142 }
46143 function _assertUnremoved() {
46144 if (this.removed) {
46145 throw this.buildCodeFrameError("NodePath has been removed so is read-only.");
46146 }
46147 }
46148
46149 var NodePath_removal = /*#__PURE__*/Object.freeze({
46150 __proto__: null,
46151 remove: remove,
46152 _removeFromScope: _removeFromScope,
46153 _callRemovalHooks: _callRemovalHooks,
46154 _remove: _remove,
46155 _markRemoved: _markRemoved,
46156 _assertUnremoved: _assertUnremoved
46157 });
46158
46159 var referenceVisitor$1 = {
46160 ReferencedIdentifier: function ReferencedIdentifier(path, state) {
46161 if (path.isJSXIdentifier() && react.isCompatTag(path.node.name) && !path.parentPath.isJSXMemberExpression()) {
46162 return;
46163 }
46164
46165 if (path.node.name === "this") {
46166 var scope = path.scope;
46167
46168 do {
46169 if (scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) {
46170 break;
46171 }
46172 } while (scope = scope.parent);
46173
46174 if (scope) state.breakOnScopePaths.push(scope.path);
46175 }
46176
46177 var binding = path.scope.getBinding(path.node.name);
46178 if (!binding) return;
46179
46180 for (var _iterator = _createForOfIteratorHelperLoose(binding.constantViolations), _step; !(_step = _iterator()).done;) {
46181 var violation = _step.value;
46182
46183 if (violation.scope !== binding.path.scope) {
46184 state.mutableBinding = true;
46185 path.stop();
46186 return;
46187 }
46188 }
46189
46190 if (binding !== state.scope.getBinding(path.node.name)) return;
46191 state.bindings[path.node.name] = binding;
46192 }
46193 };
46194
46195 var PathHoister = function () {
46196 function PathHoister(path, scope) {
46197 this.breakOnScopePaths = void 0;
46198 this.bindings = void 0;
46199 this.mutableBinding = void 0;
46200 this.scopes = void 0;
46201 this.scope = void 0;
46202 this.path = void 0;
46203 this.attachAfter = void 0;
46204 this.breakOnScopePaths = [];
46205 this.bindings = {};
46206 this.mutableBinding = false;
46207 this.scopes = [];
46208 this.scope = scope;
46209 this.path = path;
46210 this.attachAfter = false;
46211 }
46212
46213 var _proto = PathHoister.prototype;
46214
46215 _proto.isCompatibleScope = function isCompatibleScope(scope) {
46216 for (var _i = 0, _Object$keys = Object.keys(this.bindings); _i < _Object$keys.length; _i++) {
46217 var key = _Object$keys[_i];
46218 var binding = this.bindings[key];
46219
46220 if (!scope.bindingIdentifierEquals(key, binding.identifier)) {
46221 return false;
46222 }
46223 }
46224
46225 return true;
46226 };
46227
46228 _proto.getCompatibleScopes = function getCompatibleScopes() {
46229 var scope = this.path.scope;
46230
46231 do {
46232 if (this.isCompatibleScope(scope)) {
46233 this.scopes.push(scope);
46234 } else {
46235 break;
46236 }
46237
46238 if (this.breakOnScopePaths.indexOf(scope.path) >= 0) {
46239 break;
46240 }
46241 } while (scope = scope.parent);
46242 };
46243
46244 _proto.getAttachmentPath = function getAttachmentPath() {
46245 var path = this._getAttachmentPath();
46246
46247 if (!path) return;
46248 var targetScope = path.scope;
46249
46250 if (targetScope.path === path) {
46251 targetScope = path.scope.parent;
46252 }
46253
46254 if (targetScope.path.isProgram() || targetScope.path.isFunction()) {
46255 for (var _i2 = 0, _Object$keys2 = Object.keys(this.bindings); _i2 < _Object$keys2.length; _i2++) {
46256 var name = _Object$keys2[_i2];
46257 if (!targetScope.hasOwnBinding(name)) continue;
46258 var binding = this.bindings[name];
46259
46260 if (binding.kind === "param" || binding.path.parentKey === "params") {
46261 continue;
46262 }
46263
46264 var bindingParentPath = this.getAttachmentParentForPath(binding.path);
46265
46266 if (bindingParentPath.key >= path.key) {
46267 this.attachAfter = true;
46268 path = binding.path;
46269
46270 for (var _iterator2 = _createForOfIteratorHelperLoose(binding.constantViolations), _step2; !(_step2 = _iterator2()).done;) {
46271 var violationPath = _step2.value;
46272
46273 if (this.getAttachmentParentForPath(violationPath).key > path.key) {
46274 path = violationPath;
46275 }
46276 }
46277 }
46278 }
46279 }
46280
46281 return path;
46282 };
46283
46284 _proto._getAttachmentPath = function _getAttachmentPath() {
46285 var scopes = this.scopes;
46286 var scope = scopes.pop();
46287 if (!scope) return;
46288
46289 if (scope.path.isFunction()) {
46290 if (this.hasOwnParamBindings(scope)) {
46291 if (this.scope === scope) return;
46292 var bodies = scope.path.get("body").get("body");
46293
46294 for (var i = 0; i < bodies.length; i++) {
46295 if (bodies[i].node._blockHoist) continue;
46296 return bodies[i];
46297 }
46298 } else {
46299 return this.getNextScopeAttachmentParent();
46300 }
46301 } else if (scope.path.isProgram()) {
46302 return this.getNextScopeAttachmentParent();
46303 }
46304 };
46305
46306 _proto.getNextScopeAttachmentParent = function getNextScopeAttachmentParent() {
46307 var scope = this.scopes.pop();
46308 if (scope) return this.getAttachmentParentForPath(scope.path);
46309 };
46310
46311 _proto.getAttachmentParentForPath = function getAttachmentParentForPath(path) {
46312 do {
46313 if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) {
46314 return path;
46315 }
46316 } while (path = path.parentPath);
46317 };
46318
46319 _proto.hasOwnParamBindings = function hasOwnParamBindings(scope) {
46320 for (var _i3 = 0, _Object$keys3 = Object.keys(this.bindings); _i3 < _Object$keys3.length; _i3++) {
46321 var name = _Object$keys3[_i3];
46322 if (!scope.hasOwnBinding(name)) continue;
46323 var binding = this.bindings[name];
46324 if (binding.kind === "param" && binding.constant) return true;
46325 }
46326
46327 return false;
46328 };
46329
46330 _proto.run = function run() {
46331 this.path.traverse(referenceVisitor$1, this);
46332 if (this.mutableBinding) return;
46333 this.getCompatibleScopes();
46334 var attachTo = this.getAttachmentPath();
46335 if (!attachTo) return;
46336 if (attachTo.getFunctionParent() === this.path.getFunctionParent()) return;
46337 var uid = attachTo.scope.generateUidIdentifier("ref");
46338 var declarator = variableDeclarator(uid, this.path.node);
46339 var insertFn = this.attachAfter ? "insertAfter" : "insertBefore";
46340
46341 var _attachTo$insertFn = attachTo[insertFn]([attachTo.isVariableDeclarator() ? declarator : variableDeclaration("var", [declarator])]),
46342 _attachTo$insertFn2 = _slicedToArray$2(_attachTo$insertFn, 1),
46343 attached = _attachTo$insertFn2[0];
46344
46345 var parent = this.path.parentPath;
46346
46347 if (parent.isJSXElement() && this.path.container === parent.node.children) {
46348 uid = jsxExpressionContainer(uid);
46349 }
46350
46351 this.path.replaceWith(cloneNode(uid));
46352 return attachTo.isVariableDeclarator() ? attached.get("init") : attached.get("declarations.0.init");
46353 };
46354
46355 return PathHoister;
46356 }();
46357
46358 function insertBefore(nodes_) {
46359 this._assertUnremoved();
46360
46361 var nodes = this._verifyNodeList(nodes_);
46362
46363 var parentPath = this.parentPath;
46364
46365 if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || parentPath.isExportNamedDeclaration() || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) {
46366 return parentPath.insertBefore(nodes);
46367 } else if (this.isNodeType("Expression") && !this.isJSXElement() || parentPath.isForStatement() && this.key === "init") {
46368 if (this.node) nodes.push(this.node);
46369 return this.replaceExpressionWithStatements(nodes);
46370 } else if (Array.isArray(this.container)) {
46371 return this._containerInsertBefore(nodes);
46372 } else if (this.isStatementOrBlock()) {
46373 var node = this.node;
46374 var shouldInsertCurrentNode = node && (!this.isExpressionStatement() || node.expression != null);
46375 this.replaceWith(blockStatement(shouldInsertCurrentNode ? [node] : []));
46376 return this.unshiftContainer("body", nodes);
46377 } else {
46378 throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?");
46379 }
46380 }
46381 function _containerInsert(from, nodes) {
46382 var _this$container;
46383
46384 this.updateSiblingKeys(from, nodes.length);
46385 var paths = [];
46386
46387 (_this$container = this.container).splice.apply(_this$container, [from, 0].concat(_toConsumableArray(nodes)));
46388
46389 for (var i = 0; i < nodes.length; i++) {
46390 var to = from + i;
46391 var path = this.getSibling(to);
46392 paths.push(path);
46393
46394 if (this.context && this.context.queue) {
46395 path.pushContext(this.context);
46396 }
46397 }
46398
46399 var contexts = this._getQueueContexts();
46400
46401 for (var _i = 0, _paths = paths; _i < _paths.length; _i++) {
46402 var _path = _paths[_i];
46403
46404 _path.setScope();
46405
46406 _path.debug("Inserted.");
46407
46408 for (var _iterator = _createForOfIteratorHelperLoose(contexts), _step; !(_step = _iterator()).done;) {
46409 var context = _step.value;
46410 context.maybeQueue(_path, true);
46411 }
46412 }
46413
46414 return paths;
46415 }
46416 function _containerInsertBefore(nodes) {
46417 return this._containerInsert(this.key, nodes);
46418 }
46419 function _containerInsertAfter(nodes) {
46420 return this._containerInsert(this.key + 1, nodes);
46421 }
46422 function insertAfter(nodes_) {
46423 this._assertUnremoved();
46424
46425 var nodes = this._verifyNodeList(nodes_);
46426
46427 var parentPath = this.parentPath;
46428
46429 if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || parentPath.isExportNamedDeclaration() || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) {
46430 return parentPath.insertAfter(nodes.map(function (node) {
46431 return isExpression(node) ? expressionStatement(node) : node;
46432 }));
46433 } else if (this.isNodeType("Expression") && !this.isJSXElement() && !parentPath.isJSXElement() || parentPath.isForStatement() && this.key === "init") {
46434 if (this.node) {
46435 var node = this.node;
46436 var scope = this.scope;
46437
46438 if (scope.path.isPattern()) {
46439 assertExpression(node);
46440 this.replaceWith(callExpression(arrowFunctionExpression([], node), []));
46441 this.get("callee.body").insertAfter(nodes);
46442 return [this];
46443 }
46444
46445 if (parentPath.isMethod({
46446 computed: true,
46447 key: node
46448 })) {
46449 scope = scope.parent;
46450 }
46451
46452 var temp = scope.generateDeclaredUidIdentifier();
46453 nodes.unshift(expressionStatement(assignmentExpression("=", cloneNode(temp), node)));
46454 nodes.push(expressionStatement(cloneNode(temp)));
46455 }
46456
46457 return this.replaceExpressionWithStatements(nodes);
46458 } else if (Array.isArray(this.container)) {
46459 return this._containerInsertAfter(nodes);
46460 } else if (this.isStatementOrBlock()) {
46461 var _node = this.node;
46462 var shouldInsertCurrentNode = _node && (!this.isExpressionStatement() || _node.expression != null);
46463 this.replaceWith(blockStatement(shouldInsertCurrentNode ? [_node] : []));
46464 return this.pushContainer("body", nodes);
46465 } else {
46466 throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?");
46467 }
46468 }
46469 function updateSiblingKeys(fromIndex, incrementBy) {
46470 if (!this.parent) return;
46471 var paths = path$3.get(this.parent);
46472
46473 for (var _iterator2 = _createForOfIteratorHelperLoose(paths), _step2; !(_step2 = _iterator2()).done;) {
46474 var _step2$value = _slicedToArray$2(_step2.value, 2),
46475 path = _step2$value[1];
46476
46477 if (path.key >= fromIndex) {
46478 path.key += incrementBy;
46479 }
46480 }
46481 }
46482 function _verifyNodeList(nodes) {
46483 if (!nodes) {
46484 return [];
46485 }
46486
46487 if (!Array.isArray(nodes)) {
46488 nodes = [nodes];
46489 }
46490
46491 for (var i = 0; i < nodes.length; i++) {
46492 var node = nodes[i];
46493 var msg = void 0;
46494
46495 if (!node) {
46496 msg = "has falsy node";
46497 } else if (typeof node !== "object") {
46498 msg = "contains a non-object node";
46499 } else if (!node.type) {
46500 msg = "without a type";
46501 } else if (node instanceof NodePath) {
46502 msg = "has a NodePath when it expected a raw object";
46503 }
46504
46505 if (msg) {
46506 var type = Array.isArray(node) ? "array" : typeof node;
46507 throw new Error("Node list " + msg + " with the index of " + i + " and type of " + type);
46508 }
46509 }
46510
46511 return nodes;
46512 }
46513 function unshiftContainer(listKey, nodes) {
46514 this._assertUnremoved();
46515
46516 nodes = this._verifyNodeList(nodes);
46517 var path = NodePath.get({
46518 parentPath: this,
46519 parent: this.node,
46520 container: this.node[listKey],
46521 listKey: listKey,
46522 key: 0
46523 }).setContext(this.context);
46524 return path._containerInsertBefore(nodes);
46525 }
46526 function pushContainer(listKey, nodes) {
46527 this._assertUnremoved();
46528
46529 var verifiedNodes = this._verifyNodeList(nodes);
46530
46531 var container = this.node[listKey];
46532 var path = NodePath.get({
46533 parentPath: this,
46534 parent: this.node,
46535 container: container,
46536 listKey: listKey,
46537 key: container.length
46538 }).setContext(this.context);
46539 return path.replaceWithMultiple(verifiedNodes);
46540 }
46541 function hoist$3(scope) {
46542 if (scope === void 0) {
46543 scope = this.scope;
46544 }
46545
46546 var hoister = new PathHoister(this, scope);
46547 return hoister.run();
46548 }
46549
46550 var NodePath_modification = /*#__PURE__*/Object.freeze({
46551 __proto__: null,
46552 insertBefore: insertBefore,
46553 _containerInsert: _containerInsert,
46554 _containerInsertBefore: _containerInsertBefore,
46555 _containerInsertAfter: _containerInsertAfter,
46556 insertAfter: insertAfter,
46557 updateSiblingKeys: updateSiblingKeys,
46558 _verifyNodeList: _verifyNodeList,
46559 unshiftContainer: unshiftContainer,
46560 pushContainer: pushContainer,
46561 hoist: hoist$3
46562 });
46563
46564 var NORMAL_COMPLETION = 0;
46565 var BREAK_COMPLETION = 1;
46566
46567 function NormalCompletion(path) {
46568 return {
46569 type: NORMAL_COMPLETION,
46570 path: path
46571 };
46572 }
46573
46574 function BreakCompletion(path) {
46575 return {
46576 type: BREAK_COMPLETION,
46577 path: path
46578 };
46579 }
46580
46581 function getOpposite() {
46582 if (this.key === "left") {
46583 return this.getSibling("right");
46584 } else if (this.key === "right") {
46585 return this.getSibling("left");
46586 }
46587
46588 return null;
46589 }
46590
46591 function addCompletionRecords(path, records, context) {
46592 if (path) return records.concat(_getCompletionRecords(path, context));
46593 return records;
46594 }
46595
46596 function completionRecordForSwitch(cases, records, context) {
46597 var lastNormalCompletions = [];
46598
46599 for (var i = 0; i < cases.length; i++) {
46600 var casePath = cases[i];
46601
46602 var caseCompletions = _getCompletionRecords(casePath, context);
46603
46604 var normalCompletions = [];
46605 var breakCompletions = [];
46606
46607 for (var _iterator = _createForOfIteratorHelperLoose(caseCompletions), _step; !(_step = _iterator()).done;) {
46608 var c = _step.value;
46609
46610 if (c.type === NORMAL_COMPLETION) {
46611 normalCompletions.push(c);
46612 }
46613
46614 if (c.type === BREAK_COMPLETION) {
46615 breakCompletions.push(c);
46616 }
46617 }
46618
46619 if (normalCompletions.length) {
46620 lastNormalCompletions = normalCompletions;
46621 }
46622
46623 records = records.concat(breakCompletions);
46624 }
46625
46626 records = records.concat(lastNormalCompletions);
46627 return records;
46628 }
46629
46630 function normalCompletionToBreak(completions) {
46631 completions.forEach(function (c) {
46632 c.type = BREAK_COMPLETION;
46633 });
46634 }
46635
46636 function replaceBreakStatementInBreakCompletion(completions, reachable) {
46637 completions.forEach(function (c) {
46638 if (c.path.isBreakStatement({
46639 label: null
46640 })) {
46641 if (reachable) {
46642 c.path.replaceWith(unaryExpression("void", numericLiteral(0)));
46643 } else {
46644 c.path.remove();
46645 }
46646 }
46647 });
46648 }
46649
46650 function getStatementListCompletion(paths, context) {
46651 var completions = [];
46652
46653 if (context.canHaveBreak) {
46654 var lastNormalCompletions = [];
46655
46656 for (var i = 0; i < paths.length; i++) {
46657 var path = paths[i];
46658 var newContext = Object.assign({}, context, {
46659 inCaseClause: false
46660 });
46661
46662 if (path.isBlockStatement() && (context.inCaseClause || context.shouldPopulateBreak)) {
46663 newContext.shouldPopulateBreak = true;
46664 } else {
46665 newContext.shouldPopulateBreak = false;
46666 }
46667
46668 var statementCompletions = _getCompletionRecords(path, newContext);
46669
46670 if (statementCompletions.length > 0 && statementCompletions.every(function (c) {
46671 return c.type === BREAK_COMPLETION;
46672 })) {
46673 if (lastNormalCompletions.length > 0 && statementCompletions.every(function (c) {
46674 return c.path.isBreakStatement({
46675 label: null
46676 });
46677 })) {
46678 normalCompletionToBreak(lastNormalCompletions);
46679 completions = completions.concat(lastNormalCompletions);
46680
46681 if (lastNormalCompletions.some(function (c) {
46682 return c.path.isDeclaration();
46683 })) {
46684 completions = completions.concat(statementCompletions);
46685 replaceBreakStatementInBreakCompletion(statementCompletions, true);
46686 }
46687
46688 replaceBreakStatementInBreakCompletion(statementCompletions, false);
46689 } else {
46690 completions = completions.concat(statementCompletions);
46691
46692 if (!context.shouldPopulateBreak) {
46693 replaceBreakStatementInBreakCompletion(statementCompletions, true);
46694 }
46695 }
46696
46697 break;
46698 }
46699
46700 if (i === paths.length - 1) {
46701 completions = completions.concat(statementCompletions);
46702 } else {
46703 completions = completions.concat(statementCompletions.filter(function (c) {
46704 return c.type === BREAK_COMPLETION;
46705 }));
46706 lastNormalCompletions = statementCompletions.filter(function (c) {
46707 return c.type === NORMAL_COMPLETION;
46708 });
46709 }
46710 }
46711 } else if (paths.length) {
46712 completions = completions.concat(_getCompletionRecords(paths[paths.length - 1], context));
46713 }
46714
46715 return completions;
46716 }
46717
46718 function _getCompletionRecords(path, context) {
46719 var records = [];
46720
46721 if (path.isIfStatement()) {
46722 records = addCompletionRecords(path.get("consequent"), records, context);
46723 records = addCompletionRecords(path.get("alternate"), records, context);
46724 } else if (path.isDoExpression() || path.isFor() || path.isWhile() || path.isLabeledStatement()) {
46725 records = addCompletionRecords(path.get("body"), records, context);
46726 } else if (path.isProgram() || path.isBlockStatement()) {
46727 records = records.concat(getStatementListCompletion(path.get("body"), context));
46728 } else if (path.isFunction()) {
46729 return _getCompletionRecords(path.get("body"), context);
46730 } else if (path.isTryStatement()) {
46731 records = addCompletionRecords(path.get("block"), records, context);
46732 records = addCompletionRecords(path.get("handler"), records, context);
46733 } else if (path.isCatchClause()) {
46734 records = addCompletionRecords(path.get("body"), records, context);
46735 } else if (path.isSwitchStatement()) {
46736 records = completionRecordForSwitch(path.get("cases"), records, context);
46737 } else if (path.isSwitchCase()) {
46738 records = records.concat(getStatementListCompletion(path.get("consequent"), {
46739 canHaveBreak: true,
46740 shouldPopulateBreak: false,
46741 inCaseClause: true
46742 }));
46743 } else if (path.isBreakStatement()) {
46744 records.push(BreakCompletion(path));
46745 } else {
46746 records.push(NormalCompletion(path));
46747 }
46748
46749 return records;
46750 }
46751
46752 function getCompletionRecords() {
46753 var records = _getCompletionRecords(this, {
46754 canHaveBreak: false,
46755 shouldPopulateBreak: false,
46756 inCaseClause: false
46757 });
46758
46759 return records.map(function (r) {
46760 return r.path;
46761 });
46762 }
46763 function getSibling(key) {
46764 return NodePath.get({
46765 parentPath: this.parentPath,
46766 parent: this.parent,
46767 container: this.container,
46768 listKey: this.listKey,
46769 key: key
46770 }).setContext(this.context);
46771 }
46772 function getPrevSibling() {
46773 return this.getSibling(this.key - 1);
46774 }
46775 function getNextSibling() {
46776 return this.getSibling(this.key + 1);
46777 }
46778 function getAllNextSiblings() {
46779 var _key = this.key;
46780 var sibling = this.getSibling(++_key);
46781 var siblings = [];
46782
46783 while (sibling.node) {
46784 siblings.push(sibling);
46785 sibling = this.getSibling(++_key);
46786 }
46787
46788 return siblings;
46789 }
46790 function getAllPrevSiblings() {
46791 var _key = this.key;
46792 var sibling = this.getSibling(--_key);
46793 var siblings = [];
46794
46795 while (sibling.node) {
46796 siblings.push(sibling);
46797 sibling = this.getSibling(--_key);
46798 }
46799
46800 return siblings;
46801 }
46802
46803 function get$2(key, context) {
46804 if (context === void 0) {
46805 context = true;
46806 }
46807
46808 if (context === true) context = this.context;
46809 var parts = key.split(".");
46810
46811 if (parts.length === 1) {
46812 return this._getKey(key, context);
46813 } else {
46814 return this._getPattern(parts, context);
46815 }
46816 }
46817 function _getKey(key, context) {
46818 var _this = this;
46819
46820 var node = this.node;
46821 var container = node[key];
46822
46823 if (Array.isArray(container)) {
46824 return container.map(function (_, i) {
46825 return NodePath.get({
46826 listKey: key,
46827 parentPath: _this,
46828 parent: node,
46829 container: container,
46830 key: i
46831 }).setContext(context);
46832 });
46833 } else {
46834 return NodePath.get({
46835 parentPath: this,
46836 parent: node,
46837 container: node,
46838 key: key
46839 }).setContext(context);
46840 }
46841 }
46842 function _getPattern(parts, context) {
46843 var path = this;
46844
46845 for (var _iterator2 = _createForOfIteratorHelperLoose(parts), _step2; !(_step2 = _iterator2()).done;) {
46846 var part = _step2.value;
46847
46848 if (part === ".") {
46849 path = path.parentPath;
46850 } else {
46851 if (Array.isArray(path)) {
46852 path = path[part];
46853 } else {
46854 path = path.get(part, context);
46855 }
46856 }
46857 }
46858
46859 return path;
46860 }
46861
46862 function getBindingIdentifiers(duplicates) {
46863 return getBindingIdentifiers$1(this.node, duplicates);
46864 }
46865
46866 function getOuterBindingIdentifiers(duplicates) {
46867 return getOuterBindingIdentifiers$1(this.node, duplicates);
46868 }
46869 function getBindingIdentifierPaths(duplicates, outerOnly) {
46870 if (duplicates === void 0) {
46871 duplicates = false;
46872 }
46873
46874 if (outerOnly === void 0) {
46875 outerOnly = false;
46876 }
46877
46878 var path = this;
46879 var search = [].concat(path);
46880 var ids = Object.create(null);
46881
46882 while (search.length) {
46883 var id = search.shift();
46884 if (!id) continue;
46885 if (!id.node) continue;
46886 var keys = getBindingIdentifiers$1.keys[id.node.type];
46887
46888 if (id.isIdentifier()) {
46889 if (duplicates) {
46890 var _ids = ids[id.node.name] = ids[id.node.name] || [];
46891
46892 _ids.push(id);
46893 } else {
46894 ids[id.node.name] = id;
46895 }
46896
46897 continue;
46898 }
46899
46900 if (id.isExportDeclaration()) {
46901 var declaration = id.get("declaration");
46902
46903 if (declaration.isDeclaration()) {
46904 search.push(declaration);
46905 }
46906
46907 continue;
46908 }
46909
46910 if (outerOnly) {
46911 if (id.isFunctionDeclaration()) {
46912 search.push(id.get("id"));
46913 continue;
46914 }
46915
46916 if (id.isFunctionExpression()) {
46917 continue;
46918 }
46919 }
46920
46921 if (keys) {
46922 for (var i = 0; i < keys.length; i++) {
46923 var _key2 = keys[i];
46924 var child = id.get(_key2);
46925
46926 if (Array.isArray(child) || child.node) {
46927 search = search.concat(child);
46928 }
46929 }
46930 }
46931 }
46932
46933 return ids;
46934 }
46935 function getOuterBindingIdentifierPaths(duplicates) {
46936 return this.getBindingIdentifierPaths(duplicates, true);
46937 }
46938
46939 var NodePath_family = /*#__PURE__*/Object.freeze({
46940 __proto__: null,
46941 getOpposite: getOpposite,
46942 getCompletionRecords: getCompletionRecords,
46943 getSibling: getSibling,
46944 getPrevSibling: getPrevSibling,
46945 getNextSibling: getNextSibling,
46946 getAllNextSiblings: getAllNextSiblings,
46947 getAllPrevSiblings: getAllPrevSiblings,
46948 get: get$2,
46949 _getKey: _getKey,
46950 _getPattern: _getPattern,
46951 getBindingIdentifiers: getBindingIdentifiers,
46952 getOuterBindingIdentifiers: getOuterBindingIdentifiers,
46953 getBindingIdentifierPaths: getBindingIdentifierPaths,
46954 getOuterBindingIdentifierPaths: getOuterBindingIdentifierPaths
46955 });
46956
46957 function shareCommentsWithSiblings() {
46958 if (typeof this.key === "string") return;
46959 var node = this.node;
46960 if (!node) return;
46961 var trailing = node.trailingComments;
46962 var leading = node.leadingComments;
46963 if (!trailing && !leading) return;
46964 var prev = this.getSibling(this.key - 1);
46965 var next = this.getSibling(this.key + 1);
46966 var hasPrev = Boolean(prev.node);
46967 var hasNext = Boolean(next.node);
46968
46969 if (hasPrev && !hasNext) {
46970 prev.addComments("trailing", trailing);
46971 } else if (hasNext && !hasPrev) {
46972 next.addComments("leading", leading);
46973 }
46974 }
46975 function addComment(type, content, line) {
46976 addComment$1(this.node, type, content, line);
46977 }
46978 function addComments(type, comments) {
46979 addComments$1(this.node, type, comments);
46980 }
46981
46982 var NodePath_comments = /*#__PURE__*/Object.freeze({
46983 __proto__: null,
46984 shareCommentsWithSiblings: shareCommentsWithSiblings,
46985 addComment: addComment,
46986 addComments: addComments
46987 });
46988
46989 var _debug = browser$5("babel");
46990
46991 var REMOVED = 1 << 0;
46992 var SHOULD_STOP = 1 << 1;
46993 var SHOULD_SKIP = 1 << 2;
46994
46995 var NodePath = function () {
46996 function NodePath(hub, parent) {
46997 this.contexts = [];
46998 this.state = null;
46999 this.opts = null;
47000 this._traverseFlags = 0;
47001 this.skipKeys = null;
47002 this.parentPath = null;
47003 this.container = null;
47004 this.listKey = null;
47005 this.key = null;
47006 this.node = null;
47007 this.type = null;
47008 this.parent = parent;
47009 this.hub = hub;
47010 this.data = null;
47011 this.context = null;
47012 this.scope = null;
47013 }
47014
47015 NodePath.get = function get(_ref) {
47016 var hub = _ref.hub,
47017 parentPath = _ref.parentPath,
47018 parent = _ref.parent,
47019 container = _ref.container,
47020 listKey = _ref.listKey,
47021 key = _ref.key;
47022
47023 if (!hub && parentPath) {
47024 hub = parentPath.hub;
47025 }
47026
47027 if (!parent) {
47028 throw new Error("To get a node path the parent needs to exist");
47029 }
47030
47031 var targetNode = container[key];
47032 var paths = path$3.get(parent);
47033
47034 if (!paths) {
47035 paths = new Map();
47036 path$3.set(parent, paths);
47037 }
47038
47039 var path = paths.get(targetNode);
47040
47041 if (!path) {
47042 path = new NodePath(hub, parent);
47043 if (targetNode) paths.set(targetNode, path);
47044 }
47045
47046 path.setup(parentPath, container, listKey, key);
47047 return path;
47048 };
47049
47050 var _proto = NodePath.prototype;
47051
47052 _proto.getScope = function getScope(scope) {
47053 return this.isScope() ? new Scope$1(this) : scope;
47054 };
47055
47056 _proto.setData = function setData(key, val) {
47057 if (this.data == null) {
47058 this.data = Object.create(null);
47059 }
47060
47061 return this.data[key] = val;
47062 };
47063
47064 _proto.getData = function getData(key, def) {
47065 if (this.data == null) {
47066 this.data = Object.create(null);
47067 }
47068
47069 var val = this.data[key];
47070 if (val === undefined && def !== undefined) val = this.data[key] = def;
47071 return val;
47072 };
47073
47074 _proto.buildCodeFrameError = function buildCodeFrameError(msg, Error) {
47075 if (Error === void 0) {
47076 Error = SyntaxError;
47077 }
47078
47079 return this.hub.buildError(this.node, msg, Error);
47080 };
47081
47082 _proto.traverse = function traverse$1(visitor, state) {
47083 traverse(this.node, visitor, this.scope, state, this);
47084 };
47085
47086 _proto.set = function set(key, node) {
47087 validate$3(this.node, key, node);
47088 this.node[key] = node;
47089 };
47090
47091 _proto.getPathLocation = function getPathLocation() {
47092 var parts = [];
47093 var path = this;
47094
47095 do {
47096 var key = path.key;
47097 if (path.inList) key = path.listKey + "[" + key + "]";
47098 parts.unshift(key);
47099 } while (path = path.parentPath);
47100
47101 return parts.join(".");
47102 };
47103
47104 _proto.debug = function debug(message) {
47105 if (!_debug.enabled) return;
47106
47107 _debug(this.getPathLocation() + " " + this.type + ": " + message);
47108 };
47109
47110 _proto.toString = function toString() {
47111 return generate$1(this.node).code;
47112 };
47113
47114 _createClass(NodePath, [{
47115 key: "inList",
47116 get: function get() {
47117 return !!this.listKey;
47118 },
47119 set: function set(inList) {
47120 if (!inList) {
47121 this.listKey = null;
47122 }
47123 }
47124 }, {
47125 key: "parentKey",
47126 get: function get() {
47127 return this.listKey || this.key;
47128 }
47129 }, {
47130 key: "shouldSkip",
47131 get: function get() {
47132 return !!(this._traverseFlags & SHOULD_SKIP);
47133 },
47134 set: function set(v) {
47135 if (v) {
47136 this._traverseFlags |= SHOULD_SKIP;
47137 } else {
47138 this._traverseFlags &= ~SHOULD_SKIP;
47139 }
47140 }
47141 }, {
47142 key: "shouldStop",
47143 get: function get() {
47144 return !!(this._traverseFlags & SHOULD_STOP);
47145 },
47146 set: function set(v) {
47147 if (v) {
47148 this._traverseFlags |= SHOULD_STOP;
47149 } else {
47150 this._traverseFlags &= ~SHOULD_STOP;
47151 }
47152 }
47153 }, {
47154 key: "removed",
47155 get: function get() {
47156 return !!(this._traverseFlags & REMOVED);
47157 },
47158 set: function set(v) {
47159 if (v) {
47160 this._traverseFlags |= REMOVED;
47161 } else {
47162 this._traverseFlags &= ~REMOVED;
47163 }
47164 }
47165 }]);
47166
47167 return NodePath;
47168 }();
47169
47170 Object.assign(NodePath.prototype, NodePath_ancestry, NodePath_inference, NodePath_replacement, NodePath_evaluation, NodePath_conversion, NodePath_introspection, NodePath_context, NodePath_removal, NodePath_modification, NodePath_family, NodePath_comments);
47171
47172 var _loop2 = function _loop2() {
47173 var type = _step.value;
47174 var typeKey = "is" + type;
47175 var fn = t$p[typeKey];
47176
47177 NodePath.prototype[typeKey] = function (opts) {
47178 return fn(this.node, opts);
47179 };
47180
47181 NodePath.prototype["assert" + type] = function (opts) {
47182 if (!fn(this.node, opts)) {
47183 throw new TypeError("Expected node path of type " + type);
47184 }
47185 };
47186 };
47187
47188 for (var _iterator = _createForOfIteratorHelperLoose(TYPES), _step; !(_step = _iterator()).done;) {
47189 _loop2();
47190 }
47191
47192 var _loop = function _loop() {
47193 var type = _Object$keys$1[_i$1];
47194 if (type[0] === "_") return "continue";
47195 if (TYPES.indexOf(type) < 0) TYPES.push(type);
47196 var virtualType = virtualTypes[type];
47197
47198 NodePath.prototype["is" + type] = function (opts) {
47199 return virtualType.checkPath(this, opts);
47200 };
47201 };
47202
47203 for (var _i$1 = 0, _Object$keys$1 = Object.keys(virtualTypes); _i$1 < _Object$keys$1.length; _i$1++) {
47204 var _ret = _loop();
47205
47206 if (_ret === "continue") continue;
47207 }
47208
47209 var TraversalContext = function () {
47210 function TraversalContext(scope, opts, state, parentPath) {
47211 this.queue = null;
47212 this.priorityQueue = null;
47213 this.parentPath = parentPath;
47214 this.scope = scope;
47215 this.state = state;
47216 this.opts = opts;
47217 }
47218
47219 var _proto = TraversalContext.prototype;
47220
47221 _proto.shouldVisit = function shouldVisit(node) {
47222 var opts = this.opts;
47223 if (opts.enter || opts.exit) return true;
47224 if (opts[node.type]) return true;
47225 var keys = VISITOR_KEYS[node.type];
47226 if (!(keys != null && keys.length)) return false;
47227
47228 for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
47229 var key = _step.value;
47230 if (node[key]) return true;
47231 }
47232
47233 return false;
47234 };
47235
47236 _proto.create = function create(node, obj, key, listKey) {
47237 return NodePath.get({
47238 parentPath: this.parentPath,
47239 parent: node,
47240 container: obj,
47241 key: key,
47242 listKey: listKey
47243 });
47244 };
47245
47246 _proto.maybeQueue = function maybeQueue(path, notPriority) {
47247 if (this.queue) {
47248 if (notPriority) {
47249 this.queue.push(path);
47250 } else {
47251 this.priorityQueue.push(path);
47252 }
47253 }
47254 };
47255
47256 _proto.visitMultiple = function visitMultiple(container, parent, listKey) {
47257 if (container.length === 0) return false;
47258 var queue = [];
47259
47260 for (var key = 0; key < container.length; key++) {
47261 var node = container[key];
47262
47263 if (node && this.shouldVisit(node)) {
47264 queue.push(this.create(parent, container, key, listKey));
47265 }
47266 }
47267
47268 return this.visitQueue(queue);
47269 };
47270
47271 _proto.visitSingle = function visitSingle(node, key) {
47272 if (this.shouldVisit(node[key])) {
47273 return this.visitQueue([this.create(node, node, key)]);
47274 } else {
47275 return false;
47276 }
47277 };
47278
47279 _proto.visitQueue = function visitQueue(queue) {
47280 this.queue = queue;
47281 this.priorityQueue = [];
47282 var visited = new WeakSet();
47283 var stop = false;
47284
47285 for (var _iterator2 = _createForOfIteratorHelperLoose(queue), _step2; !(_step2 = _iterator2()).done;) {
47286 var path = _step2.value;
47287 path.resync();
47288
47289 if (path.contexts.length === 0 || path.contexts[path.contexts.length - 1] !== this) {
47290 path.pushContext(this);
47291 }
47292
47293 if (path.key === null) continue;
47294 var node = path.node;
47295 if (visited.has(node)) continue;
47296 if (node) visited.add(node);
47297
47298 if (path.visit()) {
47299 stop = true;
47300 break;
47301 }
47302
47303 if (this.priorityQueue.length) {
47304 stop = this.visitQueue(this.priorityQueue);
47305 this.priorityQueue = [];
47306 this.queue = queue;
47307 if (stop) break;
47308 }
47309 }
47310
47311 for (var _iterator3 = _createForOfIteratorHelperLoose(queue), _step3; !(_step3 = _iterator3()).done;) {
47312 var _path = _step3.value;
47313
47314 _path.popContext();
47315 }
47316
47317 this.queue = null;
47318 return stop;
47319 };
47320
47321 _proto.visit = function visit(node, key) {
47322 var nodes = node[key];
47323 if (!nodes) return false;
47324
47325 if (Array.isArray(nodes)) {
47326 return this.visitMultiple(nodes, node, key);
47327 } else {
47328 return this.visitSingle(node, key);
47329 }
47330 };
47331
47332 return TraversalContext;
47333 }();
47334
47335 function explode$1(visitor) {
47336 if (visitor._exploded) return visitor;
47337 visitor._exploded = true;
47338
47339 for (var _i = 0, _Object$keys = Object.keys(visitor); _i < _Object$keys.length; _i++) {
47340 var nodeType = _Object$keys[_i];
47341 if (shouldIgnoreKey(nodeType)) continue;
47342 var parts = nodeType.split("|");
47343 if (parts.length === 1) continue;
47344 var fns = visitor[nodeType];
47345 delete visitor[nodeType];
47346
47347 for (var _iterator = _createForOfIteratorHelperLoose(parts), _step; !(_step = _iterator()).done;) {
47348 var part = _step.value;
47349 visitor[part] = fns;
47350 }
47351 }
47352
47353 verify(visitor);
47354 delete visitor.__esModule;
47355 ensureEntranceObjects(visitor);
47356 ensureCallbackArrays(visitor);
47357
47358 for (var _i2 = 0, _Object$keys2 = Object.keys(visitor); _i2 < _Object$keys2.length; _i2++) {
47359 var _nodeType = _Object$keys2[_i2];
47360 if (shouldIgnoreKey(_nodeType)) continue;
47361 var wrapper = virtualTypes[_nodeType];
47362 if (!wrapper) continue;
47363 var _fns = visitor[_nodeType];
47364
47365 for (var _i3 = 0, _Object$keys3 = Object.keys(_fns); _i3 < _Object$keys3.length; _i3++) {
47366 var type = _Object$keys3[_i3];
47367 _fns[type] = wrapCheck(wrapper, _fns[type]);
47368 }
47369
47370 delete visitor[_nodeType];
47371
47372 if (wrapper.types) {
47373 for (var _iterator2 = _createForOfIteratorHelperLoose(wrapper.types), _step2; !(_step2 = _iterator2()).done;) {
47374 var _type = _step2.value;
47375
47376 if (visitor[_type]) {
47377 mergePair(visitor[_type], _fns);
47378 } else {
47379 visitor[_type] = _fns;
47380 }
47381 }
47382 } else {
47383 mergePair(visitor, _fns);
47384 }
47385 }
47386
47387 for (var _i4 = 0, _Object$keys4 = Object.keys(visitor); _i4 < _Object$keys4.length; _i4++) {
47388 var _nodeType2 = _Object$keys4[_i4];
47389 if (shouldIgnoreKey(_nodeType2)) continue;
47390 var _fns2 = visitor[_nodeType2];
47391 var aliases = FLIPPED_ALIAS_KEYS[_nodeType2];
47392 var deprecatedKey = DEPRECATED_KEYS[_nodeType2];
47393
47394 if (deprecatedKey) {
47395 console.trace("Visitor defined for " + _nodeType2 + " but it has been renamed to " + deprecatedKey);
47396 aliases = [deprecatedKey];
47397 }
47398
47399 if (!aliases) continue;
47400 delete visitor[_nodeType2];
47401
47402 for (var _iterator3 = _createForOfIteratorHelperLoose(aliases), _step3; !(_step3 = _iterator3()).done;) {
47403 var alias = _step3.value;
47404 var existing = visitor[alias];
47405
47406 if (existing) {
47407 mergePair(existing, _fns2);
47408 } else {
47409 visitor[alias] = Object.assign({}, _fns2);
47410 }
47411 }
47412 }
47413
47414 for (var _i5 = 0, _Object$keys5 = Object.keys(visitor); _i5 < _Object$keys5.length; _i5++) {
47415 var _nodeType3 = _Object$keys5[_i5];
47416 if (shouldIgnoreKey(_nodeType3)) continue;
47417 ensureCallbackArrays(visitor[_nodeType3]);
47418 }
47419
47420 return visitor;
47421 }
47422 function verify(visitor) {
47423 if (visitor._verified) return;
47424
47425 if (typeof visitor === "function") {
47426 throw new Error("You passed `traverse()` a function when it expected a visitor object, " + "are you sure you didn't mean `{ enter: Function }`?");
47427 }
47428
47429 for (var _i6 = 0, _Object$keys6 = Object.keys(visitor); _i6 < _Object$keys6.length; _i6++) {
47430 var nodeType = _Object$keys6[_i6];
47431
47432 if (nodeType === "enter" || nodeType === "exit") {
47433 validateVisitorMethods(nodeType, visitor[nodeType]);
47434 }
47435
47436 if (shouldIgnoreKey(nodeType)) continue;
47437
47438 if (TYPES.indexOf(nodeType) < 0) {
47439 throw new Error("You gave us a visitor for the node type " + nodeType + " but it's not a valid type");
47440 }
47441
47442 var visitors = visitor[nodeType];
47443
47444 if (typeof visitors === "object") {
47445 for (var _i7 = 0, _Object$keys7 = Object.keys(visitors); _i7 < _Object$keys7.length; _i7++) {
47446 var visitorKey = _Object$keys7[_i7];
47447
47448 if (visitorKey === "enter" || visitorKey === "exit") {
47449 validateVisitorMethods(nodeType + "." + visitorKey, visitors[visitorKey]);
47450 } else {
47451 throw new Error("You passed `traverse()` a visitor object with the property " + (nodeType + " that has the invalid property " + visitorKey));
47452 }
47453 }
47454 }
47455 }
47456
47457 visitor._verified = true;
47458 }
47459
47460 function validateVisitorMethods(path, val) {
47461 var fns = [].concat(val);
47462
47463 for (var _iterator4 = _createForOfIteratorHelperLoose(fns), _step4; !(_step4 = _iterator4()).done;) {
47464 var fn = _step4.value;
47465
47466 if (typeof fn !== "function") {
47467 throw new TypeError("Non-function found defined in " + path + " with type " + typeof fn);
47468 }
47469 }
47470 }
47471
47472 function merge(visitors, states, wrapper) {
47473 if (states === void 0) {
47474 states = [];
47475 }
47476
47477 var rootVisitor = {};
47478
47479 for (var i = 0; i < visitors.length; i++) {
47480 var visitor = visitors[i];
47481 var state = states[i];
47482 explode$1(visitor);
47483
47484 for (var _i8 = 0, _Object$keys8 = Object.keys(visitor); _i8 < _Object$keys8.length; _i8++) {
47485 var type = _Object$keys8[_i8];
47486 var visitorType = visitor[type];
47487
47488 if (state || wrapper) {
47489 visitorType = wrapWithStateOrWrapper(visitorType, state, wrapper);
47490 }
47491
47492 var nodeVisitor = rootVisitor[type] = rootVisitor[type] || {};
47493 mergePair(nodeVisitor, visitorType);
47494 }
47495 }
47496
47497 return rootVisitor;
47498 }
47499
47500 function wrapWithStateOrWrapper(oldVisitor, state, wrapper) {
47501 var newVisitor = {};
47502
47503 var _loop = function _loop() {
47504 var key = _Object$keys9[_i9];
47505 var fns = oldVisitor[key];
47506 if (!Array.isArray(fns)) return "continue";
47507 fns = fns.map(function (fn) {
47508 var newFn = fn;
47509
47510 if (state) {
47511 newFn = function newFn(path) {
47512 return fn.call(state, path, state);
47513 };
47514 }
47515
47516 if (wrapper) {
47517 newFn = wrapper(state.key, key, newFn);
47518 }
47519
47520 if (newFn !== fn) {
47521 newFn.toString = function () {
47522 return fn.toString();
47523 };
47524 }
47525
47526 return newFn;
47527 });
47528 newVisitor[key] = fns;
47529 };
47530
47531 for (var _i9 = 0, _Object$keys9 = Object.keys(oldVisitor); _i9 < _Object$keys9.length; _i9++) {
47532 var _ret = _loop();
47533
47534 if (_ret === "continue") continue;
47535 }
47536
47537 return newVisitor;
47538 }
47539
47540 function ensureEntranceObjects(obj) {
47541 for (var _i10 = 0, _Object$keys10 = Object.keys(obj); _i10 < _Object$keys10.length; _i10++) {
47542 var key = _Object$keys10[_i10];
47543 if (shouldIgnoreKey(key)) continue;
47544 var fns = obj[key];
47545
47546 if (typeof fns === "function") {
47547 obj[key] = {
47548 enter: fns
47549 };
47550 }
47551 }
47552 }
47553
47554 function ensureCallbackArrays(obj) {
47555 if (obj.enter && !Array.isArray(obj.enter)) obj.enter = [obj.enter];
47556 if (obj.exit && !Array.isArray(obj.exit)) obj.exit = [obj.exit];
47557 }
47558
47559 function wrapCheck(wrapper, fn) {
47560 var newFn = function newFn(path) {
47561 if (wrapper.checkPath(path)) {
47562 return fn.apply(this, arguments);
47563 }
47564 };
47565
47566 newFn.toString = function () {
47567 return fn.toString();
47568 };
47569
47570 return newFn;
47571 }
47572
47573 function shouldIgnoreKey(key) {
47574 if (key[0] === "_") return true;
47575 if (key === "enter" || key === "exit" || key === "shouldSkip") return true;
47576
47577 if (key === "denylist" || key === "noScope" || key === "skipKeys" || key === "blacklist") {
47578 return true;
47579 }
47580
47581 return false;
47582 }
47583
47584 function mergePair(dest, src) {
47585 for (var _i11 = 0, _Object$keys11 = Object.keys(src); _i11 < _Object$keys11.length; _i11++) {
47586 var key = _Object$keys11[_i11];
47587 dest[key] = [].concat(dest[key] || [], src[key]);
47588 }
47589 }
47590
47591 var visitors = /*#__PURE__*/Object.freeze({
47592 __proto__: null,
47593 explode: explode$1,
47594 verify: verify,
47595 merge: merge
47596 });
47597
47598 function traverse(parent, opts, scope, state, parentPath) {
47599 if (opts === void 0) {
47600 opts = {};
47601 }
47602
47603 if (!parent) return;
47604
47605 if (!opts.noScope && !scope) {
47606 if (parent.type !== "Program" && parent.type !== "File") {
47607 throw new Error("You must pass a scope and parentPath unless traversing a Program/File. " + ("Instead of that you tried to traverse a " + parent.type + " node without ") + "passing scope and parentPath.");
47608 }
47609 }
47610
47611 if (!VISITOR_KEYS[parent.type]) {
47612 return;
47613 }
47614
47615 explode$1(opts);
47616 traverse.node(parent, opts, scope, state, parentPath);
47617 }
47618 traverse.visitors = visitors;
47619 traverse.verify = verify;
47620 traverse.explode = explode$1;
47621
47622 traverse.cheap = function (node, enter) {
47623 return traverseFast(node, enter);
47624 };
47625
47626 traverse.node = function (node, opts, scope, state, parentPath, skipKeys) {
47627 var keys = VISITOR_KEYS[node.type];
47628 if (!keys) return;
47629 var context = new TraversalContext(scope, opts, state, parentPath);
47630
47631 for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
47632 var key = _step.value;
47633 if (skipKeys && skipKeys[key]) continue;
47634 if (context.visit(node, key)) return;
47635 }
47636 };
47637
47638 traverse.clearNode = function (node, opts) {
47639 removeProperties(node, opts);
47640 path$3["delete"](node);
47641 };
47642
47643 traverse.removeProperties = function (tree, opts) {
47644 traverseFast(tree, traverse.clearNode, opts);
47645 return tree;
47646 };
47647
47648 function hasDenylistedType(path, state) {
47649 if (path.node.type === state.type) {
47650 state.has = true;
47651 path.stop();
47652 }
47653 }
47654
47655 traverse.hasType = function (tree, type, denylistTypes) {
47656 if (denylistTypes != null && denylistTypes.includes(tree.type)) return false;
47657 if (tree.type === type) return true;
47658 var state = {
47659 has: false,
47660 type: type
47661 };
47662 traverse(tree, {
47663 noScope: true,
47664 denylist: denylistTypes,
47665 enter: hasDenylistedType
47666 }, null, state);
47667 return state.has;
47668 };
47669
47670 traverse.cache = cache$4;
47671
47672 var jsx = {
47673 minVersion: "7.0.0-beta.0",
47674 ast: function ast() {
47675 return template$2.program.ast('\nvar REACT_ELEMENT_TYPE;\nexport default function _createRawReactElement(type, props, key, children) {\n if (!REACT_ELEMENT_TYPE) {\n REACT_ELEMENT_TYPE =\n (typeof Symbol === "function" &&\n \n Symbol["for"] &&\n Symbol["for"]("react.element")) ||\n 0xeac7;\n }\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n if (!props && childrenLength !== 0) {\n \n \n props = { children: void 0 };\n }\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = new Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n props.children = childArray;\n }\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : "" + key,\n ref: null,\n props: props,\n _owner: null,\n };\n}\n');
47676 }
47677 };
47678 var objectSpread2 = {
47679 minVersion: "7.5.0",
47680 ast: function ast() {
47681 return template$2.program.ast('\nimport defineProperty from "defineProperty";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}\n');
47682 }
47683 };
47684 var _typeof = {
47685 minVersion: "7.0.0-beta.0",
47686 ast: function ast() {
47687 return template$2.program.ast('\nexport default function _typeof(obj) {\n "@babel/helpers - typeof";\n if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj &&\n typeof Symbol === "function" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? "symbol"\n : typeof obj;\n };\n }\n return _typeof(obj);\n}\n');
47688 }
47689 };
47690 var wrapRegExp = {
47691 minVersion: "7.2.6",
47692 ast: function ast() {
47693 return template$2.program.ast('\nimport setPrototypeOf from "setPrototypeOf";\nimport inherits from "inherits";\nexport default function _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n var _super = RegExp.prototype;\n var _groups = new WeakMap();\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n \n _groups.set(_this, groups || _groups.get(re));\n return setPrototypeOf(_this, BabelRegExp.prototype);\n }\n inherits(BabelRegExp, RegExp);\n BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (typeof substitution === "string") {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(\n this,\n str,\n substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return "$" + groups[name];\n })\n );\n } else if (typeof substitution === "function") {\n var _this = this;\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n \n if (typeof args[args.length - 1] !== "object") {\n args = [].slice.call(args);\n args.push(buildGroups(args, _this));\n }\n return substitution.apply(this, args);\n });\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n };\n function buildGroups(result, re) {\n \n \n var g = _groups.get(re);\n return Object.keys(g).reduce(function (groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n return _wrapRegExp.apply(this, arguments);\n}\n');
47694 }
47695 };
47696
47697 var generated = /*#__PURE__*/Object.freeze({
47698 __proto__: null,
47699 jsx: jsx,
47700 objectSpread2: objectSpread2,
47701 'typeof': _typeof,
47702 wrapRegExp: wrapRegExp
47703 });
47704
47705 var _templateObject$n, _templateObject2$b, _templateObject3$a, _templateObject4$6, _templateObject5$4, _templateObject6$4, _templateObject7$3, _templateObject8$2, _templateObject9$2, _templateObject10$2, _templateObject11$2, _templateObject12$2, _templateObject13$2, _templateObject14$1, _templateObject15$1, _templateObject16$1, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53, _templateObject54, _templateObject55, _templateObject56, _templateObject57, _templateObject58, _templateObject59, _templateObject60, _templateObject61, _templateObject62, _templateObject63, _templateObject64, _templateObject65, _templateObject66, _templateObject67, _templateObject68, _templateObject69, _templateObject70, _templateObject71, _templateObject72, _templateObject73, _templateObject74, _templateObject75, _templateObject76, _templateObject77, _templateObject78, _templateObject79, _templateObject80, _templateObject81, _templateObject82, _templateObject83, _templateObject84;
47706 var helpers$1 = Object.assign({
47707 __proto__: null
47708 }, generated);
47709
47710 var helper$2 = function helper(minVersion) {
47711 return function (tpl) {
47712 return {
47713 minVersion: minVersion,
47714 ast: function ast() {
47715 return template$2.program.ast(tpl);
47716 }
47717 };
47718 };
47719 };
47720
47721 helpers$1.asyncIterator = helper$2("7.0.0-beta.0")(_templateObject$n || (_templateObject$n = _taggedTemplateLiteralLoose(["\n export default function _asyncIterator(iterable) {\n var method;\n if (typeof Symbol !== \"undefined\") {\n if (Symbol.asyncIterator) method = iterable[Symbol.asyncIterator];\n if (method == null && Symbol.iterator) method = iterable[Symbol.iterator];\n }\n if (method == null) method = iterable[\"@@asyncIterator\"];\n if (method == null) method = iterable[\"@@iterator\"]\n if (method == null) throw new TypeError(\"Object is not async iterable\");\n return method.call(iterable);\n }\n"])));
47722 helpers$1.AwaitValue = helper$2("7.0.0-beta.0")(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteralLoose(["\n export default function _AwaitValue(value) {\n this.wrapped = value;\n }\n"])));
47723 helpers$1.AsyncGenerator = helper$2("7.0.0-beta.0")(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteralLoose(["\n import AwaitValue from \"AwaitValue\";\n\n export default function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null,\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg)\n var value = result.value;\n var wrappedAwait = value instanceof AwaitValue;\n\n Promise.resolve(wrappedAwait ? value.wrapped : value).then(\n function (arg) {\n if (wrappedAwait) {\n resume(key === \"return\" ? \"return\" : \"next\", arg);\n return\n }\n\n settle(result.done ? \"return\" : \"normal\", arg);\n },\n function (err) { resume(\"throw\", err); });\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({ value: value, done: true });\n break;\n case \"throw\":\n front.reject(value);\n break;\n default:\n front.resolve({ value: value, done: false });\n break;\n }\n\n front = front.next;\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n // Hide \"return\" method if generator return is not supported\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n }\n\n AsyncGenerator.prototype[typeof Symbol === \"function\" && Symbol.asyncIterator || \"@@asyncIterator\"] = function () { return this; };\n\n AsyncGenerator.prototype.next = function (arg) { return this._invoke(\"next\", arg); };\n AsyncGenerator.prototype.throw = function (arg) { return this._invoke(\"throw\", arg); };\n AsyncGenerator.prototype.return = function (arg) { return this._invoke(\"return\", arg); };\n"])));
47724 helpers$1.wrapAsyncGenerator = helper$2("7.0.0-beta.0")(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteralLoose(["\n import AsyncGenerator from \"AsyncGenerator\";\n\n export default function _wrapAsyncGenerator(fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n }\n"])));
47725 helpers$1.awaitAsyncGenerator = helper$2("7.0.0-beta.0")(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteralLoose(["\n import AwaitValue from \"AwaitValue\";\n\n export default function _awaitAsyncGenerator(value) {\n return new AwaitValue(value);\n }\n"])));
47726 helpers$1.asyncGeneratorDelegate = helper$2("7.0.0-beta.0")(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteralLoose(["\n export default function _asyncGeneratorDelegate(inner, awaitWrap) {\n var iter = {}, waiting = false;\n\n function pump(key, value) {\n waiting = true;\n value = new Promise(function (resolve) { resolve(inner[key](value)); });\n return { done: false, value: awaitWrap(value) };\n };\n\n iter[typeof Symbol !== \"undefined\" && Symbol.iterator || \"@@iterator\"] = function () { return this; };\n\n iter.next = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n return pump(\"next\", value);\n };\n\n if (typeof inner.throw === \"function\") {\n iter.throw = function (value) {\n if (waiting) {\n waiting = false;\n throw value;\n }\n return pump(\"throw\", value);\n };\n }\n\n if (typeof inner.return === \"function\") {\n iter.return = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n return pump(\"return\", value);\n };\n }\n\n return iter;\n }\n"])));
47727 helpers$1.asyncToGenerator = helper$2("7.0.0-beta.0")(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteralLoose(["\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n export default function _asyncToGenerator(fn) {\n return function () {\n var self = this, args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n"])));
47728 helpers$1.classCallCheck = helper$2("7.0.0-beta.0")(_templateObject8$2 || (_templateObject8$2 = _taggedTemplateLiteralLoose(["\n export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n"])));
47729 helpers$1.createClass = helper$2("7.0.0-beta.0")(_templateObject9$2 || (_templateObject9$2 = _taggedTemplateLiteralLoose(["\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i ++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n export default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n"])));
47730 helpers$1.defineEnumerableProperties = helper$2("7.0.0-beta.0")(_templateObject10$2 || (_templateObject10$2 = _taggedTemplateLiteralLoose(["\n export default function _defineEnumerableProperties(obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n // Symbols are not enumerated over by for-in loops. If native\n // Symbols are available, fetch all of the descs object's own\n // symbol properties and define them on our target object too.\n if (Object.getOwnPropertySymbols) {\n var objectSymbols = Object.getOwnPropertySymbols(descs);\n for (var i = 0; i < objectSymbols.length; i++) {\n var sym = objectSymbols[i];\n var desc = descs[sym];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, sym, desc);\n }\n }\n return obj;\n }\n"])));
47731 helpers$1.defaults = helper$2("7.0.0-beta.0")(_templateObject11$2 || (_templateObject11$2 = _taggedTemplateLiteralLoose(["\n export default function _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n return obj;\n }\n"])));
47732 helpers$1.defineProperty = helper$2("7.0.0-beta.0")(_templateObject12$2 || (_templateObject12$2 = _taggedTemplateLiteralLoose(["\n export default function _defineProperty(obj, key, value) {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n"])));
47733 helpers$1["extends"] = helper$2("7.0.0-beta.0")(_templateObject13$2 || (_templateObject13$2 = _taggedTemplateLiteralLoose(["\n export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n"])));
47734 helpers$1.objectSpread = helper$2("7.0.0-beta.0")(_templateObject14$1 || (_templateObject14$1 = _taggedTemplateLiteralLoose(["\n import defineProperty from \"defineProperty\";\n\n export default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = (arguments[i] != null) ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n"])));
47735 helpers$1.inherits = helper$2("7.0.0-beta.0")(_templateObject15$1 || (_templateObject15$1 = _taggedTemplateLiteralLoose(["\n import setPrototypeOf from \"setPrototypeOf\";\n\n export default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n }\n"])));
47736 helpers$1.inheritsLoose = helper$2("7.0.0-beta.0")(_templateObject16$1 || (_templateObject16$1 = _taggedTemplateLiteralLoose(["\n import setPrototypeOf from \"setPrototypeOf\";\n\n export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n }\n"])));
47737 helpers$1.getPrototypeOf = helper$2("7.0.0-beta.0")(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf\n ? Object.getPrototypeOf\n : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n"])));
47738 helpers$1.setPrototypeOf = helper$2("7.0.0-beta.0")(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n"])));
47739 helpers$1.isNativeReflectConstruct = helper$2("7.9.0")(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n\n // core-js@3\n if (Reflect.construct.sham) return false;\n\n // Proxy can't be polyfilled. Every browser implemented\n // proxies before or at the same time as Reflect.construct,\n // so if they support Proxy they also support Reflect.construct.\n if (typeof Proxy === \"function\") return true;\n\n // Since Reflect.construct can't be properly polyfilled, some\n // implementations (e.g. core-js@2) don't set the correct internal slots.\n // Those polyfills don't allow us to subclass built-ins, so we need to\n // use our fallback implementation.\n try {\n // If the internal slots aren't set, this throws an error similar to\n // TypeError: this is not a Boolean object.\n\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n"])));
47740 helpers$1.construct = helper$2("7.0.0-beta.0")(_templateObject20 || (_templateObject20 = _taggedTemplateLiteralLoose(["\n import setPrototypeOf from \"setPrototypeOf\";\n import isNativeReflectConstruct from \"isNativeReflectConstruct\";\n\n export default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n // NOTE: If Parent !== Class, the correct __proto__ is set *after*\n // calling the constructor.\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n // Avoid issues with Class being present but undefined when it wasn't\n // present in the original call.\n return _construct.apply(null, arguments);\n }\n"])));
47741 helpers$1.isNativeFunction = helper$2("7.0.0-beta.0")(_templateObject21 || (_templateObject21 = _taggedTemplateLiteralLoose(["\n export default function _isNativeFunction(fn) {\n // Note: This function returns \"true\" for core-js functions.\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n }\n"])));
47742 helpers$1.wrapNativeSuper = helper$2("7.0.0-beta.0")(_templateObject22 || (_templateObject22 = _taggedTemplateLiteralLoose(["\n import getPrototypeOf from \"getPrototypeOf\";\n import setPrototypeOf from \"setPrototypeOf\";\n import isNativeFunction from \"isNativeFunction\";\n import construct from \"construct\";\n\n export default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor)\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n }\n });\n\n return setPrototypeOf(Wrapper, Class);\n }\n\n return _wrapNativeSuper(Class)\n }\n"])));
47743 helpers$1["instanceof"] = helper$2("7.0.0-beta.0")(_templateObject23 || (_templateObject23 = _taggedTemplateLiteralLoose(["\n export default function _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n }\n"])));
47744 helpers$1.interopRequireDefault = helper$2("7.0.0-beta.0")(_templateObject24 || (_templateObject24 = _taggedTemplateLiteralLoose(["\n export default function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n"])));
47745 helpers$1.interopRequireWildcard = helper$2("7.14.0")(_templateObject25 || (_templateObject25 = _taggedTemplateLiteralLoose(["\n function _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function (nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n }\n\n export default function _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || (typeof obj !== \"object\" && typeof obj !== \"function\")) {\n return { default: obj }\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor\n ? Object.getOwnPropertyDescriptor(obj, key)\n : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n }\n"])));
47746 helpers$1.newArrowCheck = helper$2("7.0.0-beta.0")(_templateObject26 || (_templateObject26 = _taggedTemplateLiteralLoose(["\n export default function _newArrowCheck(innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n }\n"])));
47747 helpers$1.objectDestructuringEmpty = helper$2("7.0.0-beta.0")(_templateObject27 || (_templateObject27 = _taggedTemplateLiteralLoose(["\n export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n }\n"])));
47748 helpers$1.objectWithoutPropertiesLoose = helper$2("7.0.0-beta.0")(_templateObject28 || (_templateObject28 = _taggedTemplateLiteralLoose(["\n export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n }\n"])));
47749 helpers$1.objectWithoutProperties = helper$2("7.0.0-beta.0")(_templateObject29 || (_templateObject29 = _taggedTemplateLiteralLoose(["\n import objectWithoutPropertiesLoose from \"objectWithoutPropertiesLoose\";\n\n export default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n }\n"])));
47750 helpers$1.assertThisInitialized = helper$2("7.0.0-beta.0")(_templateObject30 || (_templateObject30 = _taggedTemplateLiteralLoose(["\n export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n"])));
47751 helpers$1.possibleConstructorReturn = helper$2("7.0.0-beta.0")(_templateObject31 || (_templateObject31 = _taggedTemplateLiteralLoose(["\n import assertThisInitialized from \"assertThisInitialized\";\n\n export default function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return assertThisInitialized(self);\n }\n"])));
47752 helpers$1.createSuper = helper$2("7.9.0")(_templateObject32 || (_templateObject32 = _taggedTemplateLiteralLoose(["\n import getPrototypeOf from \"getPrototypeOf\";\n import isNativeReflectConstruct from \"isNativeReflectConstruct\";\n import possibleConstructorReturn from \"possibleConstructorReturn\";\n\n export default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived), result;\n if (hasNativeReflectConstruct) {\n // NOTE: This doesn't work if this.__proto__.constructor has been modified.\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n }\n }\n "])));
47753 helpers$1.superPropBase = helper$2("7.0.0-beta.0")(_templateObject33 || (_templateObject33 = _taggedTemplateLiteralLoose(["\n import getPrototypeOf from \"getPrototypeOf\";\n\n export default function _superPropBase(object, property) {\n // Yes, this throws if object is null to being with, that's on purpose.\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n }\n"])));
47754 helpers$1.get = helper$2("7.0.0-beta.0")(_templateObject34 || (_templateObject34 = _taggedTemplateLiteralLoose(["\n import superPropBase from \"superPropBase\";\n\n export default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n\n if (!base) return;\n\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n return _get(target, property, receiver || target);\n }\n"])));
47755 helpers$1.set = helper$2("7.0.0-beta.0")(_templateObject35 || (_templateObject35 = _taggedTemplateLiteralLoose(["\n import superPropBase from \"superPropBase\";\n import defineProperty from \"defineProperty\";\n\n function set(target, property, value, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.set) {\n set = Reflect.set;\n } else {\n set = function set(target, property, value, receiver) {\n var base = superPropBase(target, property);\n var desc;\n\n if (base) {\n desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.set) {\n desc.set.call(receiver, value);\n return true;\n } else if (!desc.writable) {\n // Both getter and non-writable fall into this.\n return false;\n }\n }\n\n // Without a super that defines the property, spec boils down to\n // \"define on receiver\" for some reason.\n desc = Object.getOwnPropertyDescriptor(receiver, property);\n if (desc) {\n if (!desc.writable) {\n // Setter, getter, and non-writable fall into this.\n return false;\n }\n\n desc.value = value;\n Object.defineProperty(receiver, property, desc);\n } else {\n // Avoid setters that may be defined on Sub's prototype, but not on\n // the instance.\n defineProperty(receiver, property, value);\n }\n\n return true;\n };\n }\n\n return set(target, property, value, receiver);\n }\n\n export default function _set(target, property, value, receiver, isStrict) {\n var s = set(target, property, value, receiver || target);\n if (!s && isStrict) {\n throw new Error('failed to set property');\n }\n\n return value;\n }\n"])));
47756 helpers$1.taggedTemplateLiteral = helper$2("7.0.0-beta.0")(_templateObject36 || (_templateObject36 = _taggedTemplateLiteralLoose(["\n export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) { raw = strings.slice(0); }\n return Object.freeze(Object.defineProperties(strings, {\n raw: { value: Object.freeze(raw) }\n }));\n }\n"])));
47757 helpers$1.taggedTemplateLiteralLoose = helper$2("7.0.0-beta.0")(_templateObject37 || (_templateObject37 = _taggedTemplateLiteralLoose(["\n export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) { raw = strings.slice(0); }\n strings.raw = raw;\n return strings;\n }\n"])));
47758 helpers$1.readOnlyError = helper$2("7.0.0-beta.0")(_templateObject38 || (_templateObject38 = _taggedTemplateLiteralLoose(["\n export default function _readOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is read-only\");\n }\n"], ["\n export default function _readOnlyError(name) {\n throw new TypeError(\"\\\\\"\" + name + \"\\\\\" is read-only\");\n }\n"])));
47759 helpers$1.writeOnlyError = helper$2("7.12.13")(_templateObject39 || (_templateObject39 = _taggedTemplateLiteralLoose(["\n export default function _writeOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is write-only\");\n }\n"], ["\n export default function _writeOnlyError(name) {\n throw new TypeError(\"\\\\\"\" + name + \"\\\\\" is write-only\");\n }\n"])));
47760 helpers$1.classNameTDZError = helper$2("7.0.0-beta.0")(_templateObject40 || (_templateObject40 = _taggedTemplateLiteralLoose(["\n export default function _classNameTDZError(name) {\n throw new Error(\"Class \\\"\" + name + \"\\\" cannot be referenced in computed property keys.\");\n }\n"], ["\n export default function _classNameTDZError(name) {\n throw new Error(\"Class \\\\\"\" + name + \"\\\\\" cannot be referenced in computed property keys.\");\n }\n"])));
47761 helpers$1.temporalUndefined = helper$2("7.0.0-beta.0")(_templateObject41 || (_templateObject41 = _taggedTemplateLiteralLoose(["\n // This function isn't mean to be called, but to be used as a reference.\n // We can't use a normal object because it isn't hoisted.\n export default function _temporalUndefined() {}\n"])));
47762 helpers$1.tdz = helper$2("7.5.5")(_templateObject42 || (_templateObject42 = _taggedTemplateLiteralLoose(["\n export default function _tdzError(name) {\n throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n }\n"])));
47763 helpers$1.temporalRef = helper$2("7.0.0-beta.0")(_templateObject43 || (_templateObject43 = _taggedTemplateLiteralLoose(["\n import undef from \"temporalUndefined\";\n import err from \"tdz\";\n\n export default function _temporalRef(val, name) {\n return val === undef ? err(name) : val;\n }\n"])));
47764 helpers$1.slicedToArray = helper$2("7.0.0-beta.0")(_templateObject44 || (_templateObject44 = _taggedTemplateLiteralLoose(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArrayLimit from \"iterableToArrayLimit\";\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _slicedToArray(arr, i) {\n return (\n arrayWithHoles(arr) ||\n iterableToArrayLimit(arr, i) ||\n unsupportedIterableToArray(arr, i) ||\n nonIterableRest()\n );\n }\n"])));
47765 helpers$1.slicedToArrayLoose = helper$2("7.0.0-beta.0")(_templateObject45 || (_templateObject45 = _taggedTemplateLiteralLoose(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArrayLimitLoose from \"iterableToArrayLimitLoose\";\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _slicedToArrayLoose(arr, i) {\n return (\n arrayWithHoles(arr) ||\n iterableToArrayLimitLoose(arr, i) ||\n unsupportedIterableToArray(arr, i) ||\n nonIterableRest()\n );\n }\n"])));
47766 helpers$1.toArray = helper$2("7.0.0-beta.0")(_templateObject46 || (_templateObject46 = _taggedTemplateLiteralLoose(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArray from \"iterableToArray\";\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _toArray(arr) {\n return (\n arrayWithHoles(arr) ||\n iterableToArray(arr) ||\n unsupportedIterableToArray(arr) ||\n nonIterableRest()\n );\n }\n"])));
47767 helpers$1.toConsumableArray = helper$2("7.0.0-beta.0")(_templateObject47 || (_templateObject47 = _taggedTemplateLiteralLoose(["\n import arrayWithoutHoles from \"arrayWithoutHoles\";\n import iterableToArray from \"iterableToArray\";\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n import nonIterableSpread from \"nonIterableSpread\";\n\n export default function _toConsumableArray(arr) {\n return (\n arrayWithoutHoles(arr) ||\n iterableToArray(arr) ||\n unsupportedIterableToArray(arr) ||\n nonIterableSpread()\n );\n }\n"])));
47768 helpers$1.arrayWithoutHoles = helper$2("7.0.0-beta.0")(_templateObject48 || (_templateObject48 = _taggedTemplateLiteralLoose(["\n import arrayLikeToArray from \"arrayLikeToArray\";\n\n export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n }\n"])));
47769 helpers$1.arrayWithHoles = helper$2("7.0.0-beta.0")(_templateObject49 || (_templateObject49 = _taggedTemplateLiteralLoose(["\n export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n"])));
47770 helpers$1.maybeArrayLike = helper$2("7.9.0")(_templateObject50 || (_templateObject50 = _taggedTemplateLiteralLoose(["\n import arrayLikeToArray from \"arrayLikeToArray\";\n\n export default function _maybeArrayLike(next, arr, i) {\n if (arr && !Array.isArray(arr) && typeof arr.length === \"number\") {\n var len = arr.length;\n return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len);\n }\n return next(arr, i);\n }\n"])));
47771 helpers$1.iterableToArray = helper$2("7.0.0-beta.0")(_templateObject51 || (_templateObject51 = _taggedTemplateLiteralLoose(["\n export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n"])));
47772 helpers$1.iterableToArrayLimit = helper$2("7.0.0-beta.0")(_templateObject52 || (_templateObject52 = _taggedTemplateLiteralLoose(["\n export default function _iterableToArrayLimit(arr, i) {\n // this is an expanded form of `for...of` that properly supports abrupt completions of\n // iterators etc. variable names have been minimised to reduce the size of this massive\n // helper. sometimes spec compliance is annoying :(\n //\n // _n = _iteratorNormalCompletion\n // _d = _didIteratorError\n // _e = _iteratorError\n // _i = _iterator\n // _s = _step\n\n var _i = arr == null ? null : (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n if (_i == null) return;\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n"], ["\n export default function _iterableToArrayLimit(arr, i) {\n // this is an expanded form of \\`for...of\\` that properly supports abrupt completions of\n // iterators etc. variable names have been minimised to reduce the size of this massive\n // helper. sometimes spec compliance is annoying :(\n //\n // _n = _iteratorNormalCompletion\n // _d = _didIteratorError\n // _e = _iteratorError\n // _i = _iterator\n // _s = _step\n\n var _i = arr == null ? null : (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n if (_i == null) return;\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n"])));
47773 helpers$1.iterableToArrayLimitLoose = helper$2("7.0.0-beta.0")(_templateObject53 || (_templateObject53 = _taggedTemplateLiteralLoose(["\n export default function _iterableToArrayLimitLoose(arr, i) {\n var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n if (_i == null) return;\n\n var _arr = [];\n for (_i = _i.call(arr), _step; !(_step = _i.next()).done;) {\n _arr.push(_step.value);\n if (i && _arr.length === i) break;\n }\n return _arr;\n }\n"])));
47774 helpers$1.unsupportedIterableToArray = helper$2("7.9.0")(_templateObject54 || (_templateObject54 = _taggedTemplateLiteralLoose(["\n import arrayLikeToArray from \"arrayLikeToArray\";\n\n export default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return arrayLikeToArray(o, minLen);\n }\n"])));
47775 helpers$1.arrayLikeToArray = helper$2("7.9.0")(_templateObject55 || (_templateObject55 = _taggedTemplateLiteralLoose(["\n export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n"])));
47776 helpers$1.nonIterableSpread = helper$2("7.0.0-beta.0")(_templateObject56 || (_templateObject56 = _taggedTemplateLiteralLoose(["\n export default function _nonIterableSpread() {\n throw new TypeError(\n \"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n );\n }\n"], ["\n export default function _nonIterableSpread() {\n throw new TypeError(\n \"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n );\n }\n"])));
47777 helpers$1.nonIterableRest = helper$2("7.0.0-beta.0")(_templateObject57 || (_templateObject57 = _taggedTemplateLiteralLoose(["\n export default function _nonIterableRest() {\n throw new TypeError(\n \"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n );\n }\n"], ["\n export default function _nonIterableRest() {\n throw new TypeError(\n \"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n );\n }\n"])));
47778 helpers$1.createForOfIteratorHelper = helper$2("7.9.0")(_templateObject58 || (_templateObject58 = _taggedTemplateLiteralLoose(["\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n // s: start (create the iterator)\n // n: next\n // e: error (called whenever something throws)\n // f: finish (always called at the end)\n\n export default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n // Fallback for engines without symbol support\n if (\n Array.isArray(o) ||\n (it = unsupportedIterableToArray(o)) ||\n (allowArrayLike && o && typeof o.length === \"number\")\n ) {\n if (it) o = it;\n var i = 0;\n var F = function(){};\n return {\n s: F,\n n: function() {\n if (i >= o.length) return { done: true };\n return { done: false, value: o[i++] };\n },\n e: function(e) { throw e; },\n f: F,\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true, didErr = false, err;\n\n return {\n s: function() {\n it = it.call(o);\n },\n n: function() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function(e) {\n didErr = true;\n err = e;\n },\n f: function() {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n"], ["\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n // s: start (create the iterator)\n // n: next\n // e: error (called whenever something throws)\n // f: finish (always called at the end)\n\n export default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n // Fallback for engines without symbol support\n if (\n Array.isArray(o) ||\n (it = unsupportedIterableToArray(o)) ||\n (allowArrayLike && o && typeof o.length === \"number\")\n ) {\n if (it) o = it;\n var i = 0;\n var F = function(){};\n return {\n s: F,\n n: function() {\n if (i >= o.length) return { done: true };\n return { done: false, value: o[i++] };\n },\n e: function(e) { throw e; },\n f: F,\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true, didErr = false, err;\n\n return {\n s: function() {\n it = it.call(o);\n },\n n: function() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function(e) {\n didErr = true;\n err = e;\n },\n f: function() {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n"])));
47779 helpers$1.createForOfIteratorHelperLoose = helper$2("7.9.0")(_templateObject59 || (_templateObject59 = _taggedTemplateLiteralLoose(["\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n export default function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (it) return (it = it.call(o)).next.bind(it);\n\n // Fallback for engines without symbol support\n if (\n Array.isArray(o) ||\n (it = unsupportedIterableToArray(o)) ||\n (allowArrayLike && o && typeof o.length === \"number\")\n ) {\n if (it) o = it;\n var i = 0;\n return function() {\n if (i >= o.length) return { done: true };\n return { done: false, value: o[i++] };\n }\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n"], ["\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n export default function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (it) return (it = it.call(o)).next.bind(it);\n\n // Fallback for engines without symbol support\n if (\n Array.isArray(o) ||\n (it = unsupportedIterableToArray(o)) ||\n (allowArrayLike && o && typeof o.length === \"number\")\n ) {\n if (it) o = it;\n var i = 0;\n return function() {\n if (i >= o.length) return { done: true };\n return { done: false, value: o[i++] };\n }\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n"])));
47780 helpers$1.skipFirstGeneratorNext = helper$2("7.0.0-beta.0")(_templateObject60 || (_templateObject60 = _taggedTemplateLiteralLoose(["\n export default function _skipFirstGeneratorNext(fn) {\n return function () {\n var it = fn.apply(this, arguments);\n it.next();\n return it;\n }\n }\n"])));
47781 helpers$1.toPrimitive = helper$2("7.1.5")(_templateObject61 || (_templateObject61 = _taggedTemplateLiteralLoose(["\n export default function _toPrimitive(\n input,\n hint /*: \"default\" | \"string\" | \"number\" | void */\n ) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n"])));
47782 helpers$1.toPropertyKey = helper$2("7.1.5")(_templateObject62 || (_templateObject62 = _taggedTemplateLiteralLoose(["\n import toPrimitive from \"toPrimitive\";\n\n export default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n"])));
47783 helpers$1.initializerWarningHelper = helper$2("7.0.0-beta.0")(_templateObject63 || (_templateObject63 = _taggedTemplateLiteralLoose(["\n export default function _initializerWarningHelper(descriptor, context){\n throw new Error(\n 'Decorating class property failed. Please ensure that ' +\n 'proposal-class-properties is enabled and runs after the decorators transform.'\n );\n }\n"])));
47784 helpers$1.initializerDefineProperty = helper$2("7.0.0-beta.0")(_templateObject64 || (_templateObject64 = _taggedTemplateLiteralLoose(["\n export default function _initializerDefineProperty(target, property, descriptor, context){\n if (!descriptor) return;\n\n Object.defineProperty(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,\n });\n }\n"])));
47785 helpers$1.applyDecoratedDescriptor = helper$2("7.0.0-beta.0")(_templateObject65 || (_templateObject65 = _taggedTemplateLiteralLoose(["\n export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){\n var desc = {};\n Object.keys(descriptor).forEach(function(key){\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n if ('value' in desc || desc.initializer){\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function(desc, decorator){\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0){\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0){\n Object.defineProperty(target, property, desc);\n desc = null;\n }\n\n return desc;\n }\n"])));
47786 helpers$1.classPrivateFieldLooseKey = helper$2("7.0.0-beta.0")(_templateObject66 || (_templateObject66 = _taggedTemplateLiteralLoose(["\n var id = 0;\n export default function _classPrivateFieldKey(name) {\n return \"__private_\" + (id++) + \"_\" + name;\n }\n"])));
47787 helpers$1.classPrivateFieldLooseBase = helper$2("7.0.0-beta.0")(_templateObject67 || (_templateObject67 = _taggedTemplateLiteralLoose(["\n export default function _classPrivateFieldBase(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n return receiver;\n }\n"])));
47788 helpers$1.classPrivateFieldGet = helper$2("7.0.0-beta.0")(_templateObject68 || (_templateObject68 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorGet from \"classApplyDescriptorGet\";\n import classExtractFieldDescriptor from \"classExtractFieldDescriptor\";\n export default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n }\n"])));
47789 helpers$1.classPrivateFieldSet = helper$2("7.0.0-beta.0")(_templateObject69 || (_templateObject69 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorSet from \"classApplyDescriptorSet\";\n import classExtractFieldDescriptor from \"classExtractFieldDescriptor\";\n export default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n }\n"])));
47790 helpers$1.classPrivateFieldDestructureSet = helper$2("7.4.4")(_templateObject70 || (_templateObject70 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorDestructureSet from \"classApplyDescriptorDestructureSet\";\n import classExtractFieldDescriptor from \"classExtractFieldDescriptor\";\n export default function _classPrivateFieldDestructureSet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n return classApplyDescriptorDestructureSet(receiver, descriptor);\n }\n"])));
47791 helpers$1.classExtractFieldDescriptor = helper$2("7.13.10")(_templateObject71 || (_templateObject71 = _taggedTemplateLiteralLoose(["\n export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n }\n"])));
47792 helpers$1.classStaticPrivateFieldSpecGet = helper$2("7.0.2")(_templateObject72 || (_templateObject72 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorGet from \"classApplyDescriptorGet\";\n import classCheckPrivateStaticAccess from \"classCheckPrivateStaticAccess\";\n import classCheckPrivateStaticFieldDescriptor from \"classCheckPrivateStaticFieldDescriptor\";\n export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n classCheckPrivateStaticFieldDescriptor(descriptor, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n }\n"])));
47793 helpers$1.classStaticPrivateFieldSpecSet = helper$2("7.0.2")(_templateObject73 || (_templateObject73 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorSet from \"classApplyDescriptorSet\";\n import classCheckPrivateStaticAccess from \"classCheckPrivateStaticAccess\";\n import classCheckPrivateStaticFieldDescriptor from \"classCheckPrivateStaticFieldDescriptor\";\n export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n classCheckPrivateStaticFieldDescriptor(descriptor, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n }\n"])));
47794 helpers$1.classStaticPrivateMethodGet = helper$2("7.3.2")(_templateObject74 || (_templateObject74 = _taggedTemplateLiteralLoose(["\n import classCheckPrivateStaticAccess from \"classCheckPrivateStaticAccess\";\n export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n return method;\n }\n"])));
47795 helpers$1.classStaticPrivateMethodSet = helper$2("7.3.2")(_templateObject75 || (_templateObject75 = _taggedTemplateLiteralLoose(["\n export default function _classStaticPrivateMethodSet() {\n throw new TypeError(\"attempted to set read only static private field\");\n }\n"])));
47796 helpers$1.classApplyDescriptorGet = helper$2("7.13.10")(_templateObject76 || (_templateObject76 = _taggedTemplateLiteralLoose(["\n export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n }\n"])));
47797 helpers$1.classApplyDescriptorSet = helper$2("7.13.10")(_templateObject77 || (_templateObject77 = _taggedTemplateLiteralLoose(["\n export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n }\n"])));
47798 helpers$1.classApplyDescriptorDestructureSet = helper$2("7.13.10")(_templateObject78 || (_templateObject78 = _taggedTemplateLiteralLoose(["\n export default function _classApplyDescriptorDestructureSet(receiver, descriptor) {\n if (descriptor.set) {\n if (!(\"__destrObj\" in descriptor)) {\n descriptor.__destrObj = {\n set value(v) {\n descriptor.set.call(receiver, v)\n },\n };\n }\n return descriptor.__destrObj;\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n return descriptor;\n }\n }\n"])));
47799 helpers$1.classStaticPrivateFieldDestructureSet = helper$2("7.13.10")(_templateObject79 || (_templateObject79 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorDestructureSet from \"classApplyDescriptorDestructureSet\";\n import classCheckPrivateStaticAccess from \"classCheckPrivateStaticAccess\";\n import classCheckPrivateStaticFieldDescriptor from \"classCheckPrivateStaticFieldDescriptor\";\n export default function _classStaticPrivateFieldDestructureSet(receiver, classConstructor, descriptor) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n classCheckPrivateStaticFieldDescriptor(descriptor, \"set\");\n return classApplyDescriptorDestructureSet(receiver, descriptor);\n }\n"])));
47800 helpers$1.classCheckPrivateStaticAccess = helper$2("7.13.10")(_templateObject80 || (_templateObject80 = _taggedTemplateLiteralLoose(["\n export default function _classCheckPrivateStaticAccess(receiver, classConstructor) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n }\n"])));
47801 helpers$1.classCheckPrivateStaticFieldDescriptor = helper$2("7.13.10")(_templateObject81 || (_templateObject81 = _taggedTemplateLiteralLoose(["\n export default function _classCheckPrivateStaticFieldDescriptor(descriptor, action) {\n if (descriptor === undefined) {\n throw new TypeError(\"attempted to \" + action + \" private static field before its declaration\");\n }\n }\n"])));
47802 helpers$1.decorate = helper$2("7.1.5")(_templateObject82 || (_templateObject82 = _taggedTemplateLiteralLoose(["\n import toArray from \"toArray\";\n import toPropertyKey from \"toPropertyKey\";\n\n // These comments are stripped by @babel/template\n /*::\n type PropertyDescriptor =\n | {\n value: any,\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n }\n | {\n get?: () => any,\n set?: (v: any) => void,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type FieldDescriptor ={\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type Placement = \"static\" | \"prototype\" | \"own\";\n type Key = string | symbol; // PrivateName is not supported yet.\n\n type ElementDescriptor =\n | {\n kind: \"method\",\n key: Key,\n placement: Placement,\n descriptor: PropertyDescriptor\n }\n | {\n kind: \"field\",\n key: Key,\n placement: Placement,\n descriptor: FieldDescriptor,\n initializer?: () => any,\n };\n\n // This is exposed to the user code\n type ElementObjectInput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n };\n\n // This is exposed to the user code\n type ElementObjectOutput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n extras?: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n // This is exposed to the user code\n type ClassObject = {\n [@@toStringTag]?: \"Descriptor\",\n kind: \"class\",\n elements: ElementDescriptor[],\n };\n\n type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n type ClassFinisher = <A, B>(cl: Class<A>) => Class<B>;\n\n // Only used by Babel in the transform output, not part of the spec.\n type ElementDefinition =\n | {\n kind: \"method\",\n value: any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n }\n | {\n kind: \"field\",\n value: () => any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n };\n\n declare function ClassFactory<C>(initialize: (instance: C) => void): {\n F: Class<C>,\n d: ElementDefinition[]\n }\n\n */\n\n /*::\n // Various combinations with/without extras and with one or many finishers\n\n type ElementFinisherExtras = {\n element: ElementDescriptor,\n finisher?: ClassFinisher,\n extras?: ElementDescriptor[],\n };\n\n type ElementFinishersExtras = {\n element: ElementDescriptor,\n finishers: ClassFinisher[],\n extras: ElementDescriptor[],\n };\n\n type ElementsFinisher = {\n elements: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n type ElementsFinishers = {\n elements: ElementDescriptor[],\n finishers: ClassFinisher[],\n };\n\n */\n\n /*::\n\n type Placements = {\n static: Key[],\n prototype: Key[],\n own: Key[],\n };\n\n */\n\n // ClassDefinitionEvaluation (Steps 26-*)\n export default function _decorate(\n decorators /*: ClassDecorator[] */,\n factory /*: ClassFactory */,\n superClass /*: ?Class<*> */,\n mixins /*: ?Array<Function> */,\n ) /*: Class<*> */ {\n var api = _getDecoratorsApi();\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n api = mixins[i](api);\n }\n }\n\n var r = factory(function initialize(O) {\n api.initializeInstanceElements(O, decorated.elements);\n }, superClass);\n var decorated = api.decorateClass(\n _coalesceClassElements(r.d.map(_createElementDescriptor)),\n decorators,\n );\n\n api.initializeClassElements(r.F, decorated.elements);\n\n return api.runClassFinishers(r.F, decorated.finishers);\n }\n\n function _getDecoratorsApi() {\n _getDecoratorsApi = function() {\n return api;\n };\n\n var api = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n // InitializeInstanceElements\n initializeInstanceElements: function(\n /*::<C>*/ O /*: C */,\n elements /*: ElementDescriptor[] */,\n ) {\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (element.kind === kind && element.placement === \"own\") {\n this.defineClassElement(O, element);\n }\n }, this);\n }, this);\n },\n\n // InitializeClassElements\n initializeClassElements: function(\n /*::<C>*/ F /*: Class<C> */,\n elements /*: ElementDescriptor[] */,\n ) {\n var proto = F.prototype;\n\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n var placement = element.placement;\n if (\n element.kind === kind &&\n (placement === \"static\" || placement === \"prototype\")\n ) {\n var receiver = placement === \"static\" ? F : proto;\n this.defineClassElement(receiver, element);\n }\n }, this);\n }, this);\n },\n\n // DefineClassElement\n defineClassElement: function(\n /*::<C>*/ receiver /*: C | Class<C> */,\n element /*: ElementDescriptor */,\n ) {\n var descriptor /*: PropertyDescriptor */ = element.descriptor;\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver),\n };\n }\n Object.defineProperty(receiver, element.key, descriptor);\n },\n\n // DecorateClass\n decorateClass: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var newElements /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n var placements /*: Placements */ = {\n static: [],\n prototype: [],\n own: [],\n };\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n this.addElementPlacement(element, placements);\n }, this);\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (!_hasDecorators(element)) return newElements.push(element);\n\n var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n element,\n placements,\n );\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n }, this);\n\n if (!decorators) {\n return { elements: newElements, finishers: finishers };\n }\n\n var result /*: ElementsFinishers */ = this.decorateConstructor(\n newElements,\n decorators,\n );\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n\n return result;\n },\n\n // AddElementPlacement\n addElementPlacement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n silent /*: boolean */,\n ) {\n var keys = placements[element.placement];\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n keys.push(element.key);\n },\n\n // DecorateElement\n decorateElement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n ) /*: ElementFinishersExtras */ {\n var extras /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n\n for (\n var decorators = element.decorators, i = decorators.length - 1;\n i >= 0;\n i--\n ) {\n // (inlined) RemoveElementPlacement\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n\n var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n element,\n );\n var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n elementObject,\n );\n\n element = elementFinisherExtras.element;\n this.addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras /*: ElementDescriptor[] | void */ =\n elementFinisherExtras.extras;\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n this.addElementPlacement(newExtras[j], placements);\n }\n extras.push.apply(extras, newExtras);\n }\n }\n\n return { element: element, finishers: finishers, extras: extras };\n },\n\n // DecorateConstructor\n decorateConstructor: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var finishers /*: ClassFinisher[] */ = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n (0, decorators[i])(obj) /*: ClassObject */ || obj,\n );\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (\n elements[j].key === elements[k].key &&\n elements[j].placement === elements[k].placement\n ) {\n throw new TypeError(\n \"Duplicated element (\" + elements[j].key + \")\",\n );\n }\n }\n }\n }\n }\n\n return { elements: elements, finishers: finishers };\n },\n\n // FromElementDescriptor\n fromElementDescriptor: function(\n element /*: ElementDescriptor */,\n ) /*: ElementObject */ {\n var obj /*: ElementObject */ = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor,\n };\n\n var desc = {\n value: \"Descriptor\",\n configurable: true,\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n if (element.kind === \"field\") obj.initializer = element.initializer;\n\n return obj;\n },\n\n // ToElementDescriptors\n toElementDescriptors: function(\n elementObjects /*: ElementObject[] */,\n ) /*: ElementDescriptor[] */ {\n if (elementObjects === undefined) return;\n return toArray(elementObjects).map(function(elementObject) {\n var element = this.toElementDescriptor(elementObject);\n this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n return element;\n }, this);\n },\n\n // ToElementDescriptor\n toElementDescriptor: function(\n elementObject /*: ElementObject */,\n ) /*: ElementDescriptor */ {\n var kind = String(elementObject.kind);\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError(\n 'An element descriptor\\'s .kind property must be either \"method\" or' +\n ' \"field\", but a decorator created an element descriptor with' +\n ' .kind \"' +\n kind +\n '\"',\n );\n }\n\n var key = toPropertyKey(elementObject.key);\n\n var placement = String(elementObject.placement);\n if (\n placement !== \"static\" &&\n placement !== \"prototype\" &&\n placement !== \"own\"\n ) {\n throw new TypeError(\n 'An element descriptor\\'s .placement property must be one of \"static\",' +\n ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n ' with .placement \"' +\n placement +\n '\"',\n );\n }\n\n var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n var element /*: ElementDescriptor */ = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor),\n };\n\n if (kind !== \"field\") {\n this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n this.disallowProperty(\n descriptor,\n \"get\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"set\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"value\",\n \"The property descriptor of a field descriptor\",\n );\n\n element.initializer = elementObject.initializer;\n }\n\n return element;\n },\n\n toElementFinisherExtras: function(\n elementObject /*: ElementObject */,\n ) /*: ElementFinisherExtras */ {\n var element /*: ElementDescriptor */ = this.toElementDescriptor(\n elementObject,\n );\n var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n elementObject,\n \"finisher\",\n );\n var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n elementObject.extras,\n );\n\n return { element: element, finisher: finisher, extras: extras };\n },\n\n // FromClassDescriptor\n fromClassDescriptor: function(\n elements /*: ElementDescriptor[] */,\n ) /*: ClassObject */ {\n var obj = {\n kind: \"class\",\n elements: elements.map(this.fromElementDescriptor, this),\n };\n\n var desc = { value: \"Descriptor\", configurable: true };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n return obj;\n },\n\n // ToClassDescriptor\n toClassDescriptor: function(\n obj /*: ClassObject */,\n ) /*: ElementsFinisher */ {\n var kind = String(obj.kind);\n if (kind !== \"class\") {\n throw new TypeError(\n 'A class descriptor\\'s .kind property must be \"class\", but a decorator' +\n ' created a class descriptor with .kind \"' +\n kind +\n '\"',\n );\n }\n\n this.disallowProperty(obj, \"key\", \"A class descriptor\");\n this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n var elements = this.toElementDescriptors(obj.elements);\n\n return { elements: elements, finisher: finisher };\n },\n\n // RunClassFinishers\n runClassFinishers: function(\n constructor /*: Class<*> */,\n finishers /*: ClassFinisher[] */,\n ) /*: Class<*> */ {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n if (newConstructor !== undefined) {\n // NOTE: This should check if IsConstructor(newConstructor) is false.\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n constructor = newConstructor;\n }\n }\n return constructor;\n },\n\n disallowProperty: function(obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n }\n };\n\n return api;\n }\n\n // ClassElementEvaluation\n function _createElementDescriptor(\n def /*: ElementDefinition */,\n ) /*: ElementDescriptor */ {\n var key = toPropertyKey(def.key);\n\n var descriptor /*: PropertyDescriptor */;\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false,\n };\n } else if (def.kind === \"get\") {\n descriptor = { get: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"set\") {\n descriptor = { set: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"field\") {\n descriptor = { configurable: true, writable: true, enumerable: true };\n }\n\n var element /*: ElementDescriptor */ = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static\n ? \"static\"\n : def.kind === \"field\"\n ? \"own\"\n : \"prototype\",\n descriptor: descriptor,\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n\n return element;\n }\n\n // CoalesceGetterSetter\n function _coalesceGetterSetter(\n element /*: ElementDescriptor */,\n other /*: ElementDescriptor */,\n ) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n }\n\n // CoalesceClassElements\n function _coalesceClassElements(\n elements /*: ElementDescriptor[] */,\n ) /*: ElementDescriptor[] */ {\n var newElements /*: ElementDescriptor[] */ = [];\n\n var isSameElement = function(\n other /*: ElementDescriptor */,\n ) /*: boolean */ {\n return (\n other.kind === \"method\" &&\n other.key === element.key &&\n other.placement === element.placement\n );\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element /*: ElementDescriptor */ = elements[i];\n var other /*: ElementDescriptor */;\n\n if (\n element.kind === \"method\" &&\n (other = newElements.find(isSameElement))\n ) {\n if (\n _isDataDescriptor(element.descriptor) ||\n _isDataDescriptor(other.descriptor)\n ) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\n \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n );\n }\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\n \"Decorators can't be placed on different accessors with for \" +\n \"the same property (\" +\n element.key +\n \").\",\n );\n }\n other.decorators = element.decorators;\n }\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n }\n\n function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n return element.decorators && element.decorators.length;\n }\n\n function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n return (\n desc !== undefined &&\n !(desc.value === undefined && desc.writable === undefined)\n );\n }\n\n function _optionalCallableProperty /*::<T>*/(\n obj /*: T */,\n name /*: $Keys<T> */,\n ) /*: ?Function */ {\n var value = obj[name];\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n return value;\n }\n\n"], ["\n import toArray from \"toArray\";\n import toPropertyKey from \"toPropertyKey\";\n\n // These comments are stripped by @babel/template\n /*::\n type PropertyDescriptor =\n | {\n value: any,\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n }\n | {\n get?: () => any,\n set?: (v: any) => void,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type FieldDescriptor ={\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type Placement = \"static\" | \"prototype\" | \"own\";\n type Key = string | symbol; // PrivateName is not supported yet.\n\n type ElementDescriptor =\n | {\n kind: \"method\",\n key: Key,\n placement: Placement,\n descriptor: PropertyDescriptor\n }\n | {\n kind: \"field\",\n key: Key,\n placement: Placement,\n descriptor: FieldDescriptor,\n initializer?: () => any,\n };\n\n // This is exposed to the user code\n type ElementObjectInput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n };\n\n // This is exposed to the user code\n type ElementObjectOutput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n extras?: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n // This is exposed to the user code\n type ClassObject = {\n [@@toStringTag]?: \"Descriptor\",\n kind: \"class\",\n elements: ElementDescriptor[],\n };\n\n type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n type ClassFinisher = <A, B>(cl: Class<A>) => Class<B>;\n\n // Only used by Babel in the transform output, not part of the spec.\n type ElementDefinition =\n | {\n kind: \"method\",\n value: any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n }\n | {\n kind: \"field\",\n value: () => any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n };\n\n declare function ClassFactory<C>(initialize: (instance: C) => void): {\n F: Class<C>,\n d: ElementDefinition[]\n }\n\n */\n\n /*::\n // Various combinations with/without extras and with one or many finishers\n\n type ElementFinisherExtras = {\n element: ElementDescriptor,\n finisher?: ClassFinisher,\n extras?: ElementDescriptor[],\n };\n\n type ElementFinishersExtras = {\n element: ElementDescriptor,\n finishers: ClassFinisher[],\n extras: ElementDescriptor[],\n };\n\n type ElementsFinisher = {\n elements: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n type ElementsFinishers = {\n elements: ElementDescriptor[],\n finishers: ClassFinisher[],\n };\n\n */\n\n /*::\n\n type Placements = {\n static: Key[],\n prototype: Key[],\n own: Key[],\n };\n\n */\n\n // ClassDefinitionEvaluation (Steps 26-*)\n export default function _decorate(\n decorators /*: ClassDecorator[] */,\n factory /*: ClassFactory */,\n superClass /*: ?Class<*> */,\n mixins /*: ?Array<Function> */,\n ) /*: Class<*> */ {\n var api = _getDecoratorsApi();\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n api = mixins[i](api);\n }\n }\n\n var r = factory(function initialize(O) {\n api.initializeInstanceElements(O, decorated.elements);\n }, superClass);\n var decorated = api.decorateClass(\n _coalesceClassElements(r.d.map(_createElementDescriptor)),\n decorators,\n );\n\n api.initializeClassElements(r.F, decorated.elements);\n\n return api.runClassFinishers(r.F, decorated.finishers);\n }\n\n function _getDecoratorsApi() {\n _getDecoratorsApi = function() {\n return api;\n };\n\n var api = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n // InitializeInstanceElements\n initializeInstanceElements: function(\n /*::<C>*/ O /*: C */,\n elements /*: ElementDescriptor[] */,\n ) {\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (element.kind === kind && element.placement === \"own\") {\n this.defineClassElement(O, element);\n }\n }, this);\n }, this);\n },\n\n // InitializeClassElements\n initializeClassElements: function(\n /*::<C>*/ F /*: Class<C> */,\n elements /*: ElementDescriptor[] */,\n ) {\n var proto = F.prototype;\n\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n var placement = element.placement;\n if (\n element.kind === kind &&\n (placement === \"static\" || placement === \"prototype\")\n ) {\n var receiver = placement === \"static\" ? F : proto;\n this.defineClassElement(receiver, element);\n }\n }, this);\n }, this);\n },\n\n // DefineClassElement\n defineClassElement: function(\n /*::<C>*/ receiver /*: C | Class<C> */,\n element /*: ElementDescriptor */,\n ) {\n var descriptor /*: PropertyDescriptor */ = element.descriptor;\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver),\n };\n }\n Object.defineProperty(receiver, element.key, descriptor);\n },\n\n // DecorateClass\n decorateClass: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var newElements /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n var placements /*: Placements */ = {\n static: [],\n prototype: [],\n own: [],\n };\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n this.addElementPlacement(element, placements);\n }, this);\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (!_hasDecorators(element)) return newElements.push(element);\n\n var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n element,\n placements,\n );\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n }, this);\n\n if (!decorators) {\n return { elements: newElements, finishers: finishers };\n }\n\n var result /*: ElementsFinishers */ = this.decorateConstructor(\n newElements,\n decorators,\n );\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n\n return result;\n },\n\n // AddElementPlacement\n addElementPlacement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n silent /*: boolean */,\n ) {\n var keys = placements[element.placement];\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n keys.push(element.key);\n },\n\n // DecorateElement\n decorateElement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n ) /*: ElementFinishersExtras */ {\n var extras /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n\n for (\n var decorators = element.decorators, i = decorators.length - 1;\n i >= 0;\n i--\n ) {\n // (inlined) RemoveElementPlacement\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n\n var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n element,\n );\n var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n elementObject,\n );\n\n element = elementFinisherExtras.element;\n this.addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras /*: ElementDescriptor[] | void */ =\n elementFinisherExtras.extras;\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n this.addElementPlacement(newExtras[j], placements);\n }\n extras.push.apply(extras, newExtras);\n }\n }\n\n return { element: element, finishers: finishers, extras: extras };\n },\n\n // DecorateConstructor\n decorateConstructor: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var finishers /*: ClassFinisher[] */ = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n (0, decorators[i])(obj) /*: ClassObject */ || obj,\n );\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (\n elements[j].key === elements[k].key &&\n elements[j].placement === elements[k].placement\n ) {\n throw new TypeError(\n \"Duplicated element (\" + elements[j].key + \")\",\n );\n }\n }\n }\n }\n }\n\n return { elements: elements, finishers: finishers };\n },\n\n // FromElementDescriptor\n fromElementDescriptor: function(\n element /*: ElementDescriptor */,\n ) /*: ElementObject */ {\n var obj /*: ElementObject */ = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor,\n };\n\n var desc = {\n value: \"Descriptor\",\n configurable: true,\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n if (element.kind === \"field\") obj.initializer = element.initializer;\n\n return obj;\n },\n\n // ToElementDescriptors\n toElementDescriptors: function(\n elementObjects /*: ElementObject[] */,\n ) /*: ElementDescriptor[] */ {\n if (elementObjects === undefined) return;\n return toArray(elementObjects).map(function(elementObject) {\n var element = this.toElementDescriptor(elementObject);\n this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n return element;\n }, this);\n },\n\n // ToElementDescriptor\n toElementDescriptor: function(\n elementObject /*: ElementObject */,\n ) /*: ElementDescriptor */ {\n var kind = String(elementObject.kind);\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError(\n 'An element descriptor\\\\'s .kind property must be either \"method\" or' +\n ' \"field\", but a decorator created an element descriptor with' +\n ' .kind \"' +\n kind +\n '\"',\n );\n }\n\n var key = toPropertyKey(elementObject.key);\n\n var placement = String(elementObject.placement);\n if (\n placement !== \"static\" &&\n placement !== \"prototype\" &&\n placement !== \"own\"\n ) {\n throw new TypeError(\n 'An element descriptor\\\\'s .placement property must be one of \"static\",' +\n ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n ' with .placement \"' +\n placement +\n '\"',\n );\n }\n\n var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n var element /*: ElementDescriptor */ = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor),\n };\n\n if (kind !== \"field\") {\n this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n this.disallowProperty(\n descriptor,\n \"get\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"set\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"value\",\n \"The property descriptor of a field descriptor\",\n );\n\n element.initializer = elementObject.initializer;\n }\n\n return element;\n },\n\n toElementFinisherExtras: function(\n elementObject /*: ElementObject */,\n ) /*: ElementFinisherExtras */ {\n var element /*: ElementDescriptor */ = this.toElementDescriptor(\n elementObject,\n );\n var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n elementObject,\n \"finisher\",\n );\n var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n elementObject.extras,\n );\n\n return { element: element, finisher: finisher, extras: extras };\n },\n\n // FromClassDescriptor\n fromClassDescriptor: function(\n elements /*: ElementDescriptor[] */,\n ) /*: ClassObject */ {\n var obj = {\n kind: \"class\",\n elements: elements.map(this.fromElementDescriptor, this),\n };\n\n var desc = { value: \"Descriptor\", configurable: true };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n return obj;\n },\n\n // ToClassDescriptor\n toClassDescriptor: function(\n obj /*: ClassObject */,\n ) /*: ElementsFinisher */ {\n var kind = String(obj.kind);\n if (kind !== \"class\") {\n throw new TypeError(\n 'A class descriptor\\\\'s .kind property must be \"class\", but a decorator' +\n ' created a class descriptor with .kind \"' +\n kind +\n '\"',\n );\n }\n\n this.disallowProperty(obj, \"key\", \"A class descriptor\");\n this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n var elements = this.toElementDescriptors(obj.elements);\n\n return { elements: elements, finisher: finisher };\n },\n\n // RunClassFinishers\n runClassFinishers: function(\n constructor /*: Class<*> */,\n finishers /*: ClassFinisher[] */,\n ) /*: Class<*> */ {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n if (newConstructor !== undefined) {\n // NOTE: This should check if IsConstructor(newConstructor) is false.\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n constructor = newConstructor;\n }\n }\n return constructor;\n },\n\n disallowProperty: function(obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n }\n };\n\n return api;\n }\n\n // ClassElementEvaluation\n function _createElementDescriptor(\n def /*: ElementDefinition */,\n ) /*: ElementDescriptor */ {\n var key = toPropertyKey(def.key);\n\n var descriptor /*: PropertyDescriptor */;\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false,\n };\n } else if (def.kind === \"get\") {\n descriptor = { get: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"set\") {\n descriptor = { set: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"field\") {\n descriptor = { configurable: true, writable: true, enumerable: true };\n }\n\n var element /*: ElementDescriptor */ = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static\n ? \"static\"\n : def.kind === \"field\"\n ? \"own\"\n : \"prototype\",\n descriptor: descriptor,\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n\n return element;\n }\n\n // CoalesceGetterSetter\n function _coalesceGetterSetter(\n element /*: ElementDescriptor */,\n other /*: ElementDescriptor */,\n ) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n }\n\n // CoalesceClassElements\n function _coalesceClassElements(\n elements /*: ElementDescriptor[] */,\n ) /*: ElementDescriptor[] */ {\n var newElements /*: ElementDescriptor[] */ = [];\n\n var isSameElement = function(\n other /*: ElementDescriptor */,\n ) /*: boolean */ {\n return (\n other.kind === \"method\" &&\n other.key === element.key &&\n other.placement === element.placement\n );\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element /*: ElementDescriptor */ = elements[i];\n var other /*: ElementDescriptor */;\n\n if (\n element.kind === \"method\" &&\n (other = newElements.find(isSameElement))\n ) {\n if (\n _isDataDescriptor(element.descriptor) ||\n _isDataDescriptor(other.descriptor)\n ) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\n \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n );\n }\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\n \"Decorators can't be placed on different accessors with for \" +\n \"the same property (\" +\n element.key +\n \").\",\n );\n }\n other.decorators = element.decorators;\n }\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n }\n\n function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n return element.decorators && element.decorators.length;\n }\n\n function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n return (\n desc !== undefined &&\n !(desc.value === undefined && desc.writable === undefined)\n );\n }\n\n function _optionalCallableProperty /*::<T>*/(\n obj /*: T */,\n name /*: $Keys<T> */,\n ) /*: ?Function */ {\n var value = obj[name];\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n return value;\n }\n\n"])));
47803 helpers$1.classPrivateMethodGet = helper$2("7.1.6")(_templateObject83 || (_templateObject83 = _taggedTemplateLiteralLoose(["\n export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n }\n"])));
47804 {
47805 helpers$1.classPrivateMethodSet = helper$2("7.1.6")(_templateObject84 || (_templateObject84 = _taggedTemplateLiteralLoose(["\n export default function _classPrivateMethodSet() {\n throw new TypeError(\"attempted to reassign private method\");\n }\n "])));
47806 }
47807
47808 function makePath(path) {
47809 var parts = [];
47810
47811 for (; path.parentPath; path = path.parentPath) {
47812 parts.push(path.key);
47813 if (path.inList) parts.push(path.listKey);
47814 }
47815
47816 return parts.reverse().join(".");
47817 }
47818
47819 var fileClass = undefined;
47820
47821 function getHelperMetadata(file) {
47822 var globals = new Set();
47823 var localBindingNames = new Set();
47824 var dependencies = new Map();
47825 var exportName;
47826 var exportPath;
47827 var exportBindingAssignments = [];
47828 var importPaths = [];
47829 var importBindingsReferences = [];
47830 var dependencyVisitor = {
47831 ImportDeclaration: function ImportDeclaration(child) {
47832 var name = child.node.source.value;
47833
47834 if (!helpers$1[name]) {
47835 throw child.buildCodeFrameError("Unknown helper " + name);
47836 }
47837
47838 if (child.get("specifiers").length !== 1 || !child.get("specifiers.0").isImportDefaultSpecifier()) {
47839 throw child.buildCodeFrameError("Helpers can only import a default value");
47840 }
47841
47842 var bindingIdentifier = child.node.specifiers[0].local;
47843 dependencies.set(bindingIdentifier, name);
47844 importPaths.push(makePath(child));
47845 },
47846 ExportDefaultDeclaration: function ExportDefaultDeclaration(child) {
47847 var decl = child.get("declaration");
47848
47849 if (decl.isFunctionDeclaration()) {
47850 if (!decl.node.id) {
47851 throw decl.buildCodeFrameError("Helpers should give names to their exported func declaration");
47852 }
47853
47854 exportName = decl.node.id.name;
47855 }
47856
47857 exportPath = makePath(child);
47858 },
47859 ExportAllDeclaration: function ExportAllDeclaration(child) {
47860 throw child.buildCodeFrameError("Helpers can only export default");
47861 },
47862 ExportNamedDeclaration: function ExportNamedDeclaration(child) {
47863 throw child.buildCodeFrameError("Helpers can only export default");
47864 },
47865 Statement: function Statement(child) {
47866 if (child.isModuleDeclaration()) return;
47867 child.skip();
47868 }
47869 };
47870 var referenceVisitor = {
47871 Program: function Program(path) {
47872 var bindings = path.scope.getAllBindings();
47873 Object.keys(bindings).forEach(function (name) {
47874 if (name === exportName) return;
47875 if (dependencies.has(bindings[name].identifier)) return;
47876 localBindingNames.add(name);
47877 });
47878 },
47879 ReferencedIdentifier: function ReferencedIdentifier(child) {
47880 var name = child.node.name;
47881 var binding = child.scope.getBinding(name, true);
47882
47883 if (!binding) {
47884 globals.add(name);
47885 } else if (dependencies.has(binding.identifier)) {
47886 importBindingsReferences.push(makePath(child));
47887 }
47888 },
47889 AssignmentExpression: function AssignmentExpression(child) {
47890 var left = child.get("left");
47891 if (!(exportName in left.getBindingIdentifiers())) return;
47892
47893 if (!left.isIdentifier()) {
47894 throw left.buildCodeFrameError("Only simple assignments to exports are allowed in helpers");
47895 }
47896
47897 var binding = child.scope.getBinding(exportName);
47898
47899 if (binding != null && binding.scope.path.isProgram()) {
47900 exportBindingAssignments.push(makePath(child));
47901 }
47902 }
47903 };
47904 traverse(file.ast, dependencyVisitor, file.scope);
47905 traverse(file.ast, referenceVisitor, file.scope);
47906 if (!exportPath) throw new Error("Helpers must default-export something.");
47907 exportBindingAssignments.reverse();
47908 return {
47909 globals: Array.from(globals),
47910 localBindingNames: Array.from(localBindingNames),
47911 dependencies: dependencies,
47912 exportBindingAssignments: exportBindingAssignments,
47913 exportPath: exportPath,
47914 exportName: exportName,
47915 importBindingsReferences: importBindingsReferences,
47916 importPaths: importPaths
47917 };
47918 }
47919
47920 function permuteHelperAST(file, metadata, id, localBindings, getDependency) {
47921 if (localBindings && !id) {
47922 throw new Error("Unexpected local bindings for module-based helpers.");
47923 }
47924
47925 if (!id) return;
47926 var localBindingNames = metadata.localBindingNames,
47927 dependencies = metadata.dependencies,
47928 exportBindingAssignments = metadata.exportBindingAssignments,
47929 exportPath = metadata.exportPath,
47930 exportName = metadata.exportName,
47931 importBindingsReferences = metadata.importBindingsReferences,
47932 importPaths = metadata.importPaths;
47933 var dependenciesRefs = {};
47934 dependencies.forEach(function (name, id) {
47935 dependenciesRefs[id.name] = typeof getDependency === "function" && getDependency(name) || id;
47936 });
47937 var toRename = {};
47938 var bindings = new Set(localBindings || []);
47939 localBindingNames.forEach(function (name) {
47940 var newName = name;
47941
47942 while (bindings.has(newName)) {
47943 newName = "_" + newName;
47944 }
47945
47946 if (newName !== name) toRename[name] = newName;
47947 });
47948
47949 if (id.type === "Identifier" && exportName !== id.name) {
47950 toRename[exportName] = id.name;
47951 }
47952
47953 var visitor = {
47954 Program: function Program(path) {
47955 var exp = path.get(exportPath);
47956 var imps = importPaths.map(function (p) {
47957 return path.get(p);
47958 });
47959 var impsBindingRefs = importBindingsReferences.map(function (p) {
47960 return path.get(p);
47961 });
47962 var decl = exp.get("declaration");
47963
47964 if (id.type === "Identifier") {
47965 if (decl.isFunctionDeclaration()) {
47966 exp.replaceWith(decl);
47967 } else {
47968 exp.replaceWith(variableDeclaration("var", [variableDeclarator(id, decl.node)]));
47969 }
47970 } else if (id.type === "MemberExpression") {
47971 if (decl.isFunctionDeclaration()) {
47972 exportBindingAssignments.forEach(function (assignPath) {
47973 var assign = path.get(assignPath);
47974 assign.replaceWith(assignmentExpression("=", id, assign.node));
47975 });
47976 exp.replaceWith(decl);
47977 path.pushContainer("body", expressionStatement(assignmentExpression("=", id, identifier(exportName))));
47978 } else {
47979 exp.replaceWith(expressionStatement(assignmentExpression("=", id, decl.node)));
47980 }
47981 } else {
47982 throw new Error("Unexpected helper format.");
47983 }
47984
47985 Object.keys(toRename).forEach(function (name) {
47986 path.scope.rename(name, toRename[name]);
47987 });
47988
47989 for (var _iterator = _createForOfIteratorHelperLoose(imps), _step; !(_step = _iterator()).done;) {
47990 var _path = _step.value;
47991
47992 _path.remove();
47993 }
47994
47995 for (var _iterator2 = _createForOfIteratorHelperLoose(impsBindingRefs), _step2; !(_step2 = _iterator2()).done;) {
47996 var _path2 = _step2.value;
47997 var node = cloneNode(dependenciesRefs[_path2.node.name]);
47998
47999 _path2.replaceWith(node);
48000 }
48001
48002 path.stop();
48003 }
48004 };
48005 traverse(file.ast, visitor, file.scope);
48006 }
48007
48008 var helperData = Object.create(null);
48009
48010 function loadHelper(name) {
48011 if (!helperData[name]) {
48012 var helper = helpers$1[name];
48013
48014 if (!helper) {
48015 throw Object.assign(new ReferenceError("Unknown helper " + name), {
48016 code: "BABEL_HELPER_UNKNOWN",
48017 helper: name
48018 });
48019 }
48020
48021 var fn = function fn() {
48022 var file$1 = {
48023 ast: file(helper.ast())
48024 };
48025
48026 if (fileClass) {
48027 return new fileClass({
48028 filename: "babel-helper://" + name
48029 }, file$1);
48030 }
48031
48032 return file$1;
48033 };
48034
48035 var metadata = getHelperMetadata(fn());
48036 helperData[name] = {
48037 build: function build(getDependency, id, localBindings) {
48038 var file = fn();
48039 permuteHelperAST(file, metadata, id, localBindings, getDependency);
48040 return {
48041 nodes: file.ast.program.body,
48042 globals: metadata.globals
48043 };
48044 },
48045 minVersion: function minVersion() {
48046 return helper.minVersion;
48047 },
48048 dependencies: metadata.dependencies
48049 };
48050 }
48051
48052 return helperData[name];
48053 }
48054
48055 function get$1(name, getDependency, id, localBindings) {
48056 return loadHelper(name).build(getDependency, id, localBindings);
48057 }
48058 function minVersion$3(name) {
48059 return loadHelper(name).minVersion();
48060 }
48061 function getDependencies(name) {
48062 return Array.from(loadHelper(name).dependencies.values());
48063 }
48064 function ensure(name, newFileClass) {
48065 if (!fileClass) {
48066 fileClass = newFileClass;
48067 }
48068
48069 loadHelper(name);
48070 }
48071 var list = Object.keys(helpers$1).map(function (name) {
48072 return name.replace(/^_/, "");
48073 }).filter(function (name) {
48074 return name !== "__esModule";
48075 });
48076
48077 /*
48078 object-assign
48079 (c) Sindre Sorhus
48080 @license MIT
48081 */
48082
48083 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
48084 var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
48085 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
48086
48087 function toObject(val) {
48088 if (val === null || val === undefined) {
48089 throw new TypeError('Object.assign cannot be called with null or undefined');
48090 }
48091
48092 return Object(val);
48093 }
48094
48095 function shouldUseNative() {
48096 try {
48097 if (!Object.assign) {
48098 return false;
48099 }
48100
48101 var test1 = new String('abc');
48102 test1[5] = 'de';
48103
48104 if (Object.getOwnPropertyNames(test1)[0] === '5') {
48105 return false;
48106 }
48107
48108 var test2 = {};
48109
48110 for (var i = 0; i < 10; i++) {
48111 test2['_' + String.fromCharCode(i)] = i;
48112 }
48113
48114 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
48115 return test2[n];
48116 });
48117
48118 if (order2.join('') !== '0123456789') {
48119 return false;
48120 }
48121
48122 var test3 = {};
48123 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
48124 test3[letter] = letter;
48125 });
48126
48127 if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {
48128 return false;
48129 }
48130
48131 return true;
48132 } catch (err) {
48133 return false;
48134 }
48135 }
48136
48137 var objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
48138 var from;
48139 var to = toObject(target);
48140 var symbols;
48141
48142 for (var s = 1; s < arguments.length; s++) {
48143 from = Object(arguments[s]);
48144
48145 for (var key in from) {
48146 if (hasOwnProperty$1.call(from, key)) {
48147 to[key] = from[key];
48148 }
48149 }
48150
48151 if (getOwnPropertySymbols) {
48152 symbols = getOwnPropertySymbols(from);
48153
48154 for (var i = 0; i < symbols.length; i++) {
48155 if (propIsEnumerable.call(from, symbols[i])) {
48156 to[symbols[i]] = from[symbols[i]];
48157 }
48158 }
48159 }
48160 }
48161
48162 return to;
48163 };
48164
48165 var isBufferBrowser = function isBuffer(arg) {
48166 return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';
48167 };
48168
48169 var inherits_browser = createCommonjsModule(function (module) {
48170 if (typeof Object.create === 'function') {
48171 module.exports = function inherits(ctor, superCtor) {
48172 ctor.super_ = superCtor;
48173 ctor.prototype = Object.create(superCtor.prototype, {
48174 constructor: {
48175 value: ctor,
48176 enumerable: false,
48177 writable: true,
48178 configurable: true
48179 }
48180 });
48181 };
48182 } else {
48183 module.exports = function inherits(ctor, superCtor) {
48184 ctor.super_ = superCtor;
48185
48186 var TempCtor = function TempCtor() {};
48187
48188 TempCtor.prototype = superCtor.prototype;
48189 ctor.prototype = new TempCtor();
48190 ctor.prototype.constructor = ctor;
48191 };
48192 }
48193 }, "/$$rollup_base$$/node_modules/util/node_modules/inherits");
48194
48195 var util$5 = createCommonjsModule(function (module, exports) {
48196 var formatRegExp = /%[sdj%]/g;
48197
48198 exports.format = function (f) {
48199 if (!isString(f)) {
48200 var objects = [];
48201
48202 for (var i = 0; i < arguments.length; i++) {
48203 objects.push(inspect(arguments[i]));
48204 }
48205
48206 return objects.join(' ');
48207 }
48208
48209 var i = 1;
48210 var args = arguments;
48211 var len = args.length;
48212 var str = String(f).replace(formatRegExp, function (x) {
48213 if (x === '%%') return '%';
48214 if (i >= len) return x;
48215
48216 switch (x) {
48217 case '%s':
48218 return String(args[i++]);
48219
48220 case '%d':
48221 return Number(args[i++]);
48222
48223 case '%j':
48224 try {
48225 return JSON.stringify(args[i++]);
48226 } catch (_) {
48227 return '[Circular]';
48228 }
48229
48230 default:
48231 return x;
48232 }
48233 });
48234
48235 for (var x = args[i]; i < len; x = args[++i]) {
48236 if (isNull(x) || !isObject(x)) {
48237 str += ' ' + x;
48238 } else {
48239 str += ' ' + inspect(x);
48240 }
48241 }
48242
48243 return str;
48244 };
48245
48246 exports.deprecate = function (fn, msg) {
48247 if (isUndefined(commonjsGlobal.process)) {
48248 return function () {
48249 return exports.deprecate(fn, msg).apply(this, arguments);
48250 };
48251 }
48252
48253 if (browser$6.noDeprecation === true) {
48254 return fn;
48255 }
48256
48257 var warned = false;
48258
48259 function deprecated() {
48260 if (!warned) {
48261 if (browser$6.throwDeprecation) {
48262 throw new Error(msg);
48263 } else if (browser$6.traceDeprecation) {
48264 console.trace(msg);
48265 } else {
48266 console.error(msg);
48267 }
48268
48269 warned = true;
48270 }
48271
48272 return fn.apply(this, arguments);
48273 }
48274
48275 return deprecated;
48276 };
48277
48278 var debugs = {};
48279 var debugEnviron;
48280
48281 exports.debuglog = function (set) {
48282 if (isUndefined(debugEnviron)) debugEnviron = browser$6.env.NODE_DEBUG || '';
48283 set = set.toUpperCase();
48284
48285 if (!debugs[set]) {
48286 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
48287 var pid = browser$6.pid;
48288
48289 debugs[set] = function () {
48290 var msg = exports.format.apply(exports, arguments);
48291 console.error('%s %d: %s', set, pid, msg);
48292 };
48293 } else {
48294 debugs[set] = function () {};
48295 }
48296 }
48297
48298 return debugs[set];
48299 };
48300
48301 function inspect(obj, opts) {
48302 var ctx = {
48303 seen: [],
48304 stylize: stylizeNoColor
48305 };
48306 if (arguments.length >= 3) ctx.depth = arguments[2];
48307 if (arguments.length >= 4) ctx.colors = arguments[3];
48308
48309 if (isBoolean(opts)) {
48310 ctx.showHidden = opts;
48311 } else if (opts) {
48312 exports._extend(ctx, opts);
48313 }
48314
48315 if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
48316 if (isUndefined(ctx.depth)) ctx.depth = 2;
48317 if (isUndefined(ctx.colors)) ctx.colors = false;
48318 if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
48319 if (ctx.colors) ctx.stylize = stylizeWithColor;
48320 return formatValue(ctx, obj, ctx.depth);
48321 }
48322
48323 exports.inspect = inspect;
48324 inspect.colors = {
48325 'bold': [1, 22],
48326 'italic': [3, 23],
48327 'underline': [4, 24],
48328 'inverse': [7, 27],
48329 'white': [37, 39],
48330 'grey': [90, 39],
48331 'black': [30, 39],
48332 'blue': [34, 39],
48333 'cyan': [36, 39],
48334 'green': [32, 39],
48335 'magenta': [35, 39],
48336 'red': [31, 39],
48337 'yellow': [33, 39]
48338 };
48339 inspect.styles = {
48340 'special': 'cyan',
48341 'number': 'yellow',
48342 'boolean': 'yellow',
48343 'undefined': 'grey',
48344 'null': 'bold',
48345 'string': 'green',
48346 'date': 'magenta',
48347 'regexp': 'red'
48348 };
48349
48350 function stylizeWithColor(str, styleType) {
48351 var style = inspect.styles[styleType];
48352
48353 if (style) {
48354 return "\x1B[" + inspect.colors[style][0] + 'm' + str + "\x1B[" + inspect.colors[style][1] + 'm';
48355 } else {
48356 return str;
48357 }
48358 }
48359
48360 function stylizeNoColor(str, styleType) {
48361 return str;
48362 }
48363
48364 function arrayToHash(array) {
48365 var hash = {};
48366 array.forEach(function (val, idx) {
48367 hash[val] = true;
48368 });
48369 return hash;
48370 }
48371
48372 function formatValue(ctx, value, recurseTimes) {
48373 if (ctx.customInspect && value && isFunction(value.inspect) && value.inspect !== exports.inspect && !(value.constructor && value.constructor.prototype === value)) {
48374 var ret = value.inspect(recurseTimes, ctx);
48375
48376 if (!isString(ret)) {
48377 ret = formatValue(ctx, ret, recurseTimes);
48378 }
48379
48380 return ret;
48381 }
48382
48383 var primitive = formatPrimitive(ctx, value);
48384
48385 if (primitive) {
48386 return primitive;
48387 }
48388
48389 var keys = Object.keys(value);
48390 var visibleKeys = arrayToHash(keys);
48391
48392 if (ctx.showHidden) {
48393 keys = Object.getOwnPropertyNames(value);
48394 }
48395
48396 if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
48397 return formatError(value);
48398 }
48399
48400 if (keys.length === 0) {
48401 if (isFunction(value)) {
48402 var name = value.name ? ': ' + value.name : '';
48403 return ctx.stylize('[Function' + name + ']', 'special');
48404 }
48405
48406 if (isRegExp(value)) {
48407 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
48408 }
48409
48410 if (isDate(value)) {
48411 return ctx.stylize(Date.prototype.toString.call(value), 'date');
48412 }
48413
48414 if (isError(value)) {
48415 return formatError(value);
48416 }
48417 }
48418
48419 var base = '',
48420 array = false,
48421 braces = ['{', '}'];
48422
48423 if (isArray(value)) {
48424 array = true;
48425 braces = ['[', ']'];
48426 }
48427
48428 if (isFunction(value)) {
48429 var n = value.name ? ': ' + value.name : '';
48430 base = ' [Function' + n + ']';
48431 }
48432
48433 if (isRegExp(value)) {
48434 base = ' ' + RegExp.prototype.toString.call(value);
48435 }
48436
48437 if (isDate(value)) {
48438 base = ' ' + Date.prototype.toUTCString.call(value);
48439 }
48440
48441 if (isError(value)) {
48442 base = ' ' + formatError(value);
48443 }
48444
48445 if (keys.length === 0 && (!array || value.length == 0)) {
48446 return braces[0] + base + braces[1];
48447 }
48448
48449 if (recurseTimes < 0) {
48450 if (isRegExp(value)) {
48451 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
48452 } else {
48453 return ctx.stylize('[Object]', 'special');
48454 }
48455 }
48456
48457 ctx.seen.push(value);
48458 var output;
48459
48460 if (array) {
48461 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
48462 } else {
48463 output = keys.map(function (key) {
48464 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
48465 });
48466 }
48467
48468 ctx.seen.pop();
48469 return reduceToSingleString(output, base, braces);
48470 }
48471
48472 function formatPrimitive(ctx, value) {
48473 if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');
48474
48475 if (isString(value)) {
48476 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '').replace(/'/g, "\\'").replace(/\\"/g, '"') + '\'';
48477 return ctx.stylize(simple, 'string');
48478 }
48479
48480 if (isNumber(value)) return ctx.stylize('' + value, 'number');
48481 if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');
48482 if (isNull(value)) return ctx.stylize('null', 'null');
48483 }
48484
48485 function formatError(value) {
48486 return '[' + Error.prototype.toString.call(value) + ']';
48487 }
48488
48489 function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
48490 var output = [];
48491
48492 for (var i = 0, l = value.length; i < l; ++i) {
48493 if (hasOwnProperty(value, String(i))) {
48494 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));
48495 } else {
48496 output.push('');
48497 }
48498 }
48499
48500 keys.forEach(function (key) {
48501 if (!key.match(/^\d+$/)) {
48502 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));
48503 }
48504 });
48505 return output;
48506 }
48507
48508 function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
48509 var name, str, desc;
48510 desc = Object.getOwnPropertyDescriptor(value, key) || {
48511 value: value[key]
48512 };
48513
48514 if (desc.get) {
48515 if (desc.set) {
48516 str = ctx.stylize('[Getter/Setter]', 'special');
48517 } else {
48518 str = ctx.stylize('[Getter]', 'special');
48519 }
48520 } else {
48521 if (desc.set) {
48522 str = ctx.stylize('[Setter]', 'special');
48523 }
48524 }
48525
48526 if (!hasOwnProperty(visibleKeys, key)) {
48527 name = '[' + key + ']';
48528 }
48529
48530 if (!str) {
48531 if (ctx.seen.indexOf(desc.value) < 0) {
48532 if (isNull(recurseTimes)) {
48533 str = formatValue(ctx, desc.value, null);
48534 } else {
48535 str = formatValue(ctx, desc.value, recurseTimes - 1);
48536 }
48537
48538 if (str.indexOf('\n') > -1) {
48539 if (array) {
48540 str = str.split('\n').map(function (line) {
48541 return ' ' + line;
48542 }).join('\n').substr(2);
48543 } else {
48544 str = '\n' + str.split('\n').map(function (line) {
48545 return ' ' + line;
48546 }).join('\n');
48547 }
48548 }
48549 } else {
48550 str = ctx.stylize('[Circular]', 'special');
48551 }
48552 }
48553
48554 if (isUndefined(name)) {
48555 if (array && key.match(/^\d+$/)) {
48556 return str;
48557 }
48558
48559 name = JSON.stringify('' + key);
48560
48561 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
48562 name = name.substr(1, name.length - 2);
48563 name = ctx.stylize(name, 'name');
48564 } else {
48565 name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'");
48566 name = ctx.stylize(name, 'string');
48567 }
48568 }
48569
48570 return name + ': ' + str;
48571 }
48572
48573 function reduceToSingleString(output, base, braces) {
48574 var length = output.reduce(function (prev, cur) {
48575 if (cur.indexOf('\n') >= 0) ;
48576 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
48577 }, 0);
48578
48579 if (length > 60) {
48580 return braces[0] + (base === '' ? '' : base + '\n ') + ' ' + output.join(',\n ') + ' ' + braces[1];
48581 }
48582
48583 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
48584 }
48585
48586 function isArray(ar) {
48587 return Array.isArray(ar);
48588 }
48589
48590 exports.isArray = isArray;
48591
48592 function isBoolean(arg) {
48593 return typeof arg === 'boolean';
48594 }
48595
48596 exports.isBoolean = isBoolean;
48597
48598 function isNull(arg) {
48599 return arg === null;
48600 }
48601
48602 exports.isNull = isNull;
48603
48604 function isNullOrUndefined(arg) {
48605 return arg == null;
48606 }
48607
48608 exports.isNullOrUndefined = isNullOrUndefined;
48609
48610 function isNumber(arg) {
48611 return typeof arg === 'number';
48612 }
48613
48614 exports.isNumber = isNumber;
48615
48616 function isString(arg) {
48617 return typeof arg === 'string';
48618 }
48619
48620 exports.isString = isString;
48621
48622 function isSymbol(arg) {
48623 return typeof arg === 'symbol';
48624 }
48625
48626 exports.isSymbol = isSymbol;
48627
48628 function isUndefined(arg) {
48629 return arg === void 0;
48630 }
48631
48632 exports.isUndefined = isUndefined;
48633
48634 function isRegExp(re) {
48635 return isObject(re) && objectToString(re) === '[object RegExp]';
48636 }
48637
48638 exports.isRegExp = isRegExp;
48639
48640 function isObject(arg) {
48641 return typeof arg === 'object' && arg !== null;
48642 }
48643
48644 exports.isObject = isObject;
48645
48646 function isDate(d) {
48647 return isObject(d) && objectToString(d) === '[object Date]';
48648 }
48649
48650 exports.isDate = isDate;
48651
48652 function isError(e) {
48653 return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);
48654 }
48655
48656 exports.isError = isError;
48657
48658 function isFunction(arg) {
48659 return typeof arg === 'function';
48660 }
48661
48662 exports.isFunction = isFunction;
48663
48664 function isPrimitive(arg) {
48665 return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || typeof arg === 'undefined';
48666 }
48667
48668 exports.isPrimitive = isPrimitive;
48669 exports.isBuffer = isBufferBrowser;
48670
48671 function objectToString(o) {
48672 return Object.prototype.toString.call(o);
48673 }
48674
48675 function pad(n) {
48676 return n < 10 ? '0' + n.toString(10) : n.toString(10);
48677 }
48678
48679 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
48680
48681 function timestamp() {
48682 var d = new Date();
48683 var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');
48684 return [d.getDate(), months[d.getMonth()], time].join(' ');
48685 }
48686
48687 exports.log = function () {
48688 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
48689 };
48690
48691 exports.inherits = inherits_browser;
48692
48693 exports._extend = function (origin, add) {
48694 if (!add || !isObject(add)) return origin;
48695 var keys = Object.keys(add);
48696 var i = keys.length;
48697
48698 while (i--) {
48699 origin[keys[i]] = add[keys[i]];
48700 }
48701
48702 return origin;
48703 };
48704
48705 function hasOwnProperty(obj, prop) {
48706 return Object.prototype.hasOwnProperty.call(obj, prop);
48707 }
48708 }, "/$$rollup_base$$/node_modules/util");
48709
48710 var assert_1 = createCommonjsModule(function (module) {
48711 /*!
48712 * The buffer module from node.js, for the browser.
48713 *
48714 * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
48715 * @license MIT
48716 */
48717
48718 function compare(a, b) {
48719 if (a === b) {
48720 return 0;
48721 }
48722
48723 var x = a.length;
48724 var y = b.length;
48725
48726 for (var i = 0, len = Math.min(x, y); i < len; ++i) {
48727 if (a[i] !== b[i]) {
48728 x = a[i];
48729 y = b[i];
48730 break;
48731 }
48732 }
48733
48734 if (x < y) {
48735 return -1;
48736 }
48737
48738 if (y < x) {
48739 return 1;
48740 }
48741
48742 return 0;
48743 }
48744
48745 function isBuffer(b) {
48746 if (commonjsGlobal.Buffer && typeof commonjsGlobal.Buffer.isBuffer === 'function') {
48747 return commonjsGlobal.Buffer.isBuffer(b);
48748 }
48749
48750 return !!(b != null && b._isBuffer);
48751 }
48752
48753 var hasOwn = Object.prototype.hasOwnProperty;
48754 var pSlice = Array.prototype.slice;
48755
48756 var functionsHaveNames = function () {
48757 return function foo() {}.name === 'foo';
48758 }();
48759
48760 function pToString(obj) {
48761 return Object.prototype.toString.call(obj);
48762 }
48763
48764 function isView(arrbuf) {
48765 if (isBuffer(arrbuf)) {
48766 return false;
48767 }
48768
48769 if (typeof commonjsGlobal.ArrayBuffer !== 'function') {
48770 return false;
48771 }
48772
48773 if (typeof ArrayBuffer.isView === 'function') {
48774 return ArrayBuffer.isView(arrbuf);
48775 }
48776
48777 if (!arrbuf) {
48778 return false;
48779 }
48780
48781 if (arrbuf instanceof DataView) {
48782 return true;
48783 }
48784
48785 if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {
48786 return true;
48787 }
48788
48789 return false;
48790 }
48791
48792 var assert = module.exports = ok;
48793 var regex = /\s*function\s+([^\(\s]*)\s*/;
48794
48795 function getName(func) {
48796 if (!util$5.isFunction(func)) {
48797 return;
48798 }
48799
48800 if (functionsHaveNames) {
48801 return func.name;
48802 }
48803
48804 var str = func.toString();
48805 var match = str.match(regex);
48806 return match && match[1];
48807 }
48808
48809 assert.AssertionError = function AssertionError(options) {
48810 this.name = 'AssertionError';
48811 this.actual = options.actual;
48812 this.expected = options.expected;
48813 this.operator = options.operator;
48814
48815 if (options.message) {
48816 this.message = options.message;
48817 this.generatedMessage = false;
48818 } else {
48819 this.message = getMessage(this);
48820 this.generatedMessage = true;
48821 }
48822
48823 var stackStartFunction = options.stackStartFunction || fail;
48824
48825 if (Error.captureStackTrace) {
48826 Error.captureStackTrace(this, stackStartFunction);
48827 } else {
48828 var err = new Error();
48829
48830 if (err.stack) {
48831 var out = err.stack;
48832 var fn_name = getName(stackStartFunction);
48833 var idx = out.indexOf('\n' + fn_name);
48834
48835 if (idx >= 0) {
48836 var next_line = out.indexOf('\n', idx + 1);
48837 out = out.substring(next_line + 1);
48838 }
48839
48840 this.stack = out;
48841 }
48842 }
48843 };
48844
48845 util$5.inherits(assert.AssertionError, Error);
48846
48847 function truncate(s, n) {
48848 if (typeof s === 'string') {
48849 return s.length < n ? s : s.slice(0, n);
48850 } else {
48851 return s;
48852 }
48853 }
48854
48855 function inspect(something) {
48856 if (functionsHaveNames || !util$5.isFunction(something)) {
48857 return util$5.inspect(something);
48858 }
48859
48860 var rawname = getName(something);
48861 var name = rawname ? ': ' + rawname : '';
48862 return '[Function' + name + ']';
48863 }
48864
48865 function getMessage(self) {
48866 return truncate(inspect(self.actual), 128) + ' ' + self.operator + ' ' + truncate(inspect(self.expected), 128);
48867 }
48868
48869 function fail(actual, expected, message, operator, stackStartFunction) {
48870 throw new assert.AssertionError({
48871 message: message,
48872 actual: actual,
48873 expected: expected,
48874 operator: operator,
48875 stackStartFunction: stackStartFunction
48876 });
48877 }
48878
48879 assert.fail = fail;
48880
48881 function ok(value, message) {
48882 if (!value) fail(value, true, message, '==', assert.ok);
48883 }
48884
48885 assert.ok = ok;
48886
48887 assert.equal = function equal(actual, expected, message) {
48888 if (actual != expected) fail(actual, expected, message, '==', assert.equal);
48889 };
48890
48891 assert.notEqual = function notEqual(actual, expected, message) {
48892 if (actual == expected) {
48893 fail(actual, expected, message, '!=', assert.notEqual);
48894 }
48895 };
48896
48897 assert.deepEqual = function deepEqual(actual, expected, message) {
48898 if (!_deepEqual(actual, expected, false)) {
48899 fail(actual, expected, message, 'deepEqual', assert.deepEqual);
48900 }
48901 };
48902
48903 assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {
48904 if (!_deepEqual(actual, expected, true)) {
48905 fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);
48906 }
48907 };
48908
48909 function _deepEqual(actual, expected, strict, memos) {
48910 if (actual === expected) {
48911 return true;
48912 } else if (isBuffer(actual) && isBuffer(expected)) {
48913 return compare(actual, expected) === 0;
48914 } else if (util$5.isDate(actual) && util$5.isDate(expected)) {
48915 return actual.getTime() === expected.getTime();
48916 } else if (util$5.isRegExp(actual) && util$5.isRegExp(expected)) {
48917 return actual.source === expected.source && actual.global === expected.global && actual.multiline === expected.multiline && actual.lastIndex === expected.lastIndex && actual.ignoreCase === expected.ignoreCase;
48918 } else if ((actual === null || typeof actual !== 'object') && (expected === null || typeof expected !== 'object')) {
48919 return strict ? actual === expected : actual == expected;
48920 } else if (isView(actual) && isView(expected) && pToString(actual) === pToString(expected) && !(actual instanceof Float32Array || actual instanceof Float64Array)) {
48921 return compare(new Uint8Array(actual.buffer), new Uint8Array(expected.buffer)) === 0;
48922 } else if (isBuffer(actual) !== isBuffer(expected)) {
48923 return false;
48924 } else {
48925 memos = memos || {
48926 actual: [],
48927 expected: []
48928 };
48929 var actualIndex = memos.actual.indexOf(actual);
48930
48931 if (actualIndex !== -1) {
48932 if (actualIndex === memos.expected.indexOf(expected)) {
48933 return true;
48934 }
48935 }
48936
48937 memos.actual.push(actual);
48938 memos.expected.push(expected);
48939 return objEquiv(actual, expected, strict, memos);
48940 }
48941 }
48942
48943 function isArguments(object) {
48944 return Object.prototype.toString.call(object) == '[object Arguments]';
48945 }
48946
48947 function objEquiv(a, b, strict, actualVisitedObjects) {
48948 if (a === null || a === undefined || b === null || b === undefined) return false;
48949 if (util$5.isPrimitive(a) || util$5.isPrimitive(b)) return a === b;
48950 if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false;
48951 var aIsArgs = isArguments(a);
48952 var bIsArgs = isArguments(b);
48953 if (aIsArgs && !bIsArgs || !aIsArgs && bIsArgs) return false;
48954
48955 if (aIsArgs) {
48956 a = pSlice.call(a);
48957 b = pSlice.call(b);
48958 return _deepEqual(a, b, strict);
48959 }
48960
48961 var ka = objectKeys(a);
48962 var kb = objectKeys(b);
48963 var key, i;
48964 if (ka.length !== kb.length) return false;
48965 ka.sort();
48966 kb.sort();
48967
48968 for (i = ka.length - 1; i >= 0; i--) {
48969 if (ka[i] !== kb[i]) return false;
48970 }
48971
48972 for (i = ka.length - 1; i >= 0; i--) {
48973 key = ka[i];
48974 if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects)) return false;
48975 }
48976
48977 return true;
48978 }
48979
48980 assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
48981 if (_deepEqual(actual, expected, false)) {
48982 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
48983 }
48984 };
48985
48986 assert.notDeepStrictEqual = notDeepStrictEqual;
48987
48988 function notDeepStrictEqual(actual, expected, message) {
48989 if (_deepEqual(actual, expected, true)) {
48990 fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);
48991 }
48992 }
48993
48994 assert.strictEqual = function strictEqual(actual, expected, message) {
48995 if (actual !== expected) {
48996 fail(actual, expected, message, '===', assert.strictEqual);
48997 }
48998 };
48999
49000 assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
49001 if (actual === expected) {
49002 fail(actual, expected, message, '!==', assert.notStrictEqual);
49003 }
49004 };
49005
49006 function expectedException(actual, expected) {
49007 if (!actual || !expected) {
49008 return false;
49009 }
49010
49011 if (Object.prototype.toString.call(expected) == '[object RegExp]') {
49012 return expected.test(actual);
49013 }
49014
49015 try {
49016 if (actual instanceof expected) {
49017 return true;
49018 }
49019 } catch (e) {}
49020
49021 if (Error.isPrototypeOf(expected)) {
49022 return false;
49023 }
49024
49025 return expected.call({}, actual) === true;
49026 }
49027
49028 function _tryBlock(block) {
49029 var error;
49030
49031 try {
49032 block();
49033 } catch (e) {
49034 error = e;
49035 }
49036
49037 return error;
49038 }
49039
49040 function _throws(shouldThrow, block, expected, message) {
49041 var actual;
49042
49043 if (typeof block !== 'function') {
49044 throw new TypeError('"block" argument must be a function');
49045 }
49046
49047 if (typeof expected === 'string') {
49048 message = expected;
49049 expected = null;
49050 }
49051
49052 actual = _tryBlock(block);
49053 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + (message ? ' ' + message : '.');
49054
49055 if (shouldThrow && !actual) {
49056 fail(actual, expected, 'Missing expected exception' + message);
49057 }
49058
49059 var userProvidedMessage = typeof message === 'string';
49060 var isUnwantedException = !shouldThrow && util$5.isError(actual);
49061 var isUnexpectedException = !shouldThrow && actual && !expected;
49062
49063 if (isUnwantedException && userProvidedMessage && expectedException(actual, expected) || isUnexpectedException) {
49064 fail(actual, expected, 'Got unwanted exception' + message);
49065 }
49066
49067 if (shouldThrow && actual && expected && !expectedException(actual, expected) || !shouldThrow && actual) {
49068 throw actual;
49069 }
49070 }
49071
49072 assert["throws"] = function (block, error, message) {
49073 _throws(true, block, error, message);
49074 };
49075
49076 assert.doesNotThrow = function (block, error, message) {
49077 _throws(false, block, error, message);
49078 };
49079
49080 assert.ifError = function (err) {
49081 if (err) throw err;
49082 };
49083
49084 function strict(value, message) {
49085 if (!value) fail(value, true, message, '==', strict);
49086 }
49087
49088 assert.strict = objectAssign(strict, assert, {
49089 equal: assert.strictEqual,
49090 deepEqual: assert.deepStrictEqual,
49091 notEqual: assert.notStrictEqual,
49092 notDeepEqual: assert.notDeepStrictEqual
49093 });
49094 assert.strict.strict = assert.strict;
49095
49096 var objectKeys = Object.keys || function (obj) {
49097 var keys = [];
49098
49099 for (var key in obj) {
49100 if (hasOwn.call(obj, key)) keys.push(key);
49101 }
49102
49103 return keys;
49104 };
49105 }, "/$$rollup_base$$/node_modules/assert");
49106
49107 var ImportBuilder = function () {
49108 function ImportBuilder(importedSource, scope, hub) {
49109 this._statements = [];
49110 this._resultName = null;
49111 this._scope = null;
49112 this._hub = null;
49113 this._importedSource = void 0;
49114 this._scope = scope;
49115 this._hub = hub;
49116 this._importedSource = importedSource;
49117 }
49118
49119 var _proto = ImportBuilder.prototype;
49120
49121 _proto.done = function done() {
49122 return {
49123 statements: this._statements,
49124 resultName: this._resultName
49125 };
49126 };
49127
49128 _proto["import"] = function _import() {
49129 this._statements.push(importDeclaration([], stringLiteral(this._importedSource)));
49130
49131 return this;
49132 };
49133
49134 _proto.require = function require() {
49135 this._statements.push(expressionStatement(callExpression(identifier("require"), [stringLiteral(this._importedSource)])));
49136
49137 return this;
49138 };
49139
49140 _proto.namespace = function namespace(name) {
49141 if (name === void 0) {
49142 name = "namespace";
49143 }
49144
49145 var local = this._scope.generateUidIdentifier(name);
49146
49147 var statement = this._statements[this._statements.length - 1];
49148 assert_1(statement.type === "ImportDeclaration");
49149 assert_1(statement.specifiers.length === 0);
49150 statement.specifiers = [importNamespaceSpecifier(local)];
49151 this._resultName = cloneNode(local);
49152 return this;
49153 };
49154
49155 _proto["default"] = function _default(name) {
49156 name = this._scope.generateUidIdentifier(name);
49157 var statement = this._statements[this._statements.length - 1];
49158 assert_1(statement.type === "ImportDeclaration");
49159 assert_1(statement.specifiers.length === 0);
49160 statement.specifiers = [importDefaultSpecifier(name)];
49161 this._resultName = cloneNode(name);
49162 return this;
49163 };
49164
49165 _proto.named = function named(name, importName) {
49166 if (importName === "default") return this["default"](name);
49167 name = this._scope.generateUidIdentifier(name);
49168 var statement = this._statements[this._statements.length - 1];
49169 assert_1(statement.type === "ImportDeclaration");
49170 assert_1(statement.specifiers.length === 0);
49171 statement.specifiers = [importSpecifier(name, identifier(importName))];
49172 this._resultName = cloneNode(name);
49173 return this;
49174 };
49175
49176 _proto["var"] = function _var(name) {
49177 name = this._scope.generateUidIdentifier(name);
49178 var statement = this._statements[this._statements.length - 1];
49179
49180 if (statement.type !== "ExpressionStatement") {
49181 assert_1(this._resultName);
49182 statement = expressionStatement(this._resultName);
49183
49184 this._statements.push(statement);
49185 }
49186
49187 this._statements[this._statements.length - 1] = variableDeclaration("var", [variableDeclarator(name, statement.expression)]);
49188 this._resultName = cloneNode(name);
49189 return this;
49190 };
49191
49192 _proto.defaultInterop = function defaultInterop() {
49193 return this._interop(this._hub.addHelper("interopRequireDefault"));
49194 };
49195
49196 _proto.wildcardInterop = function wildcardInterop() {
49197 return this._interop(this._hub.addHelper("interopRequireWildcard"));
49198 };
49199
49200 _proto._interop = function _interop(callee) {
49201 var statement = this._statements[this._statements.length - 1];
49202
49203 if (statement.type === "ExpressionStatement") {
49204 statement.expression = callExpression(callee, [statement.expression]);
49205 } else if (statement.type === "VariableDeclaration") {
49206 assert_1(statement.declarations.length === 1);
49207 statement.declarations[0].init = callExpression(callee, [statement.declarations[0].init]);
49208 } else {
49209 assert_1.fail("Unexpected type.");
49210 }
49211
49212 return this;
49213 };
49214
49215 _proto.prop = function prop(name) {
49216 var statement = this._statements[this._statements.length - 1];
49217
49218 if (statement.type === "ExpressionStatement") {
49219 statement.expression = memberExpression(statement.expression, identifier(name));
49220 } else if (statement.type === "VariableDeclaration") {
49221 assert_1(statement.declarations.length === 1);
49222 statement.declarations[0].init = memberExpression(statement.declarations[0].init, identifier(name));
49223 } else {
49224 assert_1.fail("Unexpected type:" + statement.type);
49225 }
49226
49227 return this;
49228 };
49229
49230 _proto.read = function read(name) {
49231 this._resultName = memberExpression(this._resultName, identifier(name));
49232 };
49233
49234 return ImportBuilder;
49235 }();
49236
49237 function isModule(path) {
49238 var sourceType = path.node.sourceType;
49239
49240 if (sourceType !== "module" && sourceType !== "script") {
49241 throw path.buildCodeFrameError("Unknown sourceType \"" + sourceType + "\", cannot transform.");
49242 }
49243
49244 return path.node.sourceType === "module";
49245 }
49246
49247 var ImportInjector = function () {
49248 function ImportInjector(path, importedSource, opts) {
49249 this._defaultOpts = {
49250 importedSource: null,
49251 importedType: "commonjs",
49252 importedInterop: "babel",
49253 importingInterop: "babel",
49254 ensureLiveReference: false,
49255 ensureNoContext: false,
49256 importPosition: "before"
49257 };
49258 var programPath = path.find(function (p) {
49259 return p.isProgram();
49260 });
49261 this._programPath = programPath;
49262 this._programScope = programPath.scope;
49263 this._hub = programPath.hub;
49264 this._defaultOpts = this._applyDefaults(importedSource, opts, true);
49265 }
49266
49267 var _proto = ImportInjector.prototype;
49268
49269 _proto.addDefault = function addDefault(importedSourceIn, opts) {
49270 return this.addNamed("default", importedSourceIn, opts);
49271 };
49272
49273 _proto.addNamed = function addNamed(importName, importedSourceIn, opts) {
49274 assert_1(typeof importName === "string");
49275 return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName);
49276 };
49277
49278 _proto.addNamespace = function addNamespace(importedSourceIn, opts) {
49279 return this._generateImport(this._applyDefaults(importedSourceIn, opts), null);
49280 };
49281
49282 _proto.addSideEffect = function addSideEffect(importedSourceIn, opts) {
49283 return this._generateImport(this._applyDefaults(importedSourceIn, opts), false);
49284 };
49285
49286 _proto._applyDefaults = function _applyDefaults(importedSource, opts, isInit) {
49287 if (isInit === void 0) {
49288 isInit = false;
49289 }
49290
49291 var optsList = [];
49292
49293 if (typeof importedSource === "string") {
49294 optsList.push({
49295 importedSource: importedSource
49296 });
49297 optsList.push(opts);
49298 } else {
49299 assert_1(!opts, "Unexpected secondary arguments.");
49300 optsList.push(importedSource);
49301 }
49302
49303 var newOpts = Object.assign({}, this._defaultOpts);
49304
49305 var _loop = function _loop() {
49306 var opts = _optsList[_i];
49307 if (!opts) return "continue";
49308 Object.keys(newOpts).forEach(function (key) {
49309 if (opts[key] !== undefined) newOpts[key] = opts[key];
49310 });
49311
49312 if (!isInit) {
49313 if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint;
49314 if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist;
49315 }
49316 };
49317
49318 for (var _i = 0, _optsList = optsList; _i < _optsList.length; _i++) {
49319 var _ret = _loop();
49320
49321 if (_ret === "continue") continue;
49322 }
49323
49324 return newOpts;
49325 };
49326
49327 _proto._generateImport = function _generateImport(opts, importName) {
49328 var isDefault = importName === "default";
49329 var isNamed = !!importName && !isDefault;
49330 var isNamespace = importName === null;
49331 var importedSource = opts.importedSource,
49332 importedType = opts.importedType,
49333 importedInterop = opts.importedInterop,
49334 importingInterop = opts.importingInterop,
49335 ensureLiveReference = opts.ensureLiveReference,
49336 ensureNoContext = opts.ensureNoContext,
49337 nameHint = opts.nameHint,
49338 importPosition = opts.importPosition,
49339 blockHoist = opts.blockHoist;
49340 var name = nameHint || importName;
49341 var isMod = isModule(this._programPath);
49342 var isModuleForNode = isMod && importingInterop === "node";
49343 var isModuleForBabel = isMod && importingInterop === "babel";
49344
49345 if (importPosition === "after" && !isMod) {
49346 throw new Error("\"importPosition\": \"after\" is only supported in modules");
49347 }
49348
49349 var builder = new ImportBuilder(importedSource, this._programScope, this._hub);
49350
49351 if (importedType === "es6") {
49352 if (!isModuleForNode && !isModuleForBabel) {
49353 throw new Error("Cannot import an ES6 module from CommonJS");
49354 }
49355
49356 builder["import"]();
49357
49358 if (isNamespace) {
49359 builder.namespace(nameHint || importedSource);
49360 } else if (isDefault || isNamed) {
49361 builder.named(name, importName);
49362 }
49363 } else if (importedType !== "commonjs") {
49364 throw new Error("Unexpected interopType \"" + importedType + "\"");
49365 } else if (importedInterop === "babel") {
49366 if (isModuleForNode) {
49367 name = name !== "default" ? name : importedSource;
49368 var es6Default = importedSource + "$es6Default";
49369 builder["import"]();
49370
49371 if (isNamespace) {
49372 builder["default"](es6Default)["var"](name || importedSource).wildcardInterop();
49373 } else if (isDefault) {
49374 if (ensureLiveReference) {
49375 builder["default"](es6Default)["var"](name || importedSource).defaultInterop().read("default");
49376 } else {
49377 builder["default"](es6Default)["var"](name).defaultInterop().prop(importName);
49378 }
49379 } else if (isNamed) {
49380 builder["default"](es6Default).read(importName);
49381 }
49382 } else if (isModuleForBabel) {
49383 builder["import"]();
49384
49385 if (isNamespace) {
49386 builder.namespace(name || importedSource);
49387 } else if (isDefault || isNamed) {
49388 builder.named(name, importName);
49389 }
49390 } else {
49391 builder.require();
49392
49393 if (isNamespace) {
49394 builder["var"](name || importedSource).wildcardInterop();
49395 } else if ((isDefault || isNamed) && ensureLiveReference) {
49396 if (isDefault) {
49397 name = name !== "default" ? name : importedSource;
49398 builder["var"](name).read(importName);
49399 builder.defaultInterop();
49400 } else {
49401 builder["var"](importedSource).read(importName);
49402 }
49403 } else if (isDefault) {
49404 builder["var"](name).defaultInterop().prop(importName);
49405 } else if (isNamed) {
49406 builder["var"](name).prop(importName);
49407 }
49408 }
49409 } else if (importedInterop === "compiled") {
49410 if (isModuleForNode) {
49411 builder["import"]();
49412
49413 if (isNamespace) {
49414 builder["default"](name || importedSource);
49415 } else if (isDefault || isNamed) {
49416 builder["default"](importedSource).read(name);
49417 }
49418 } else if (isModuleForBabel) {
49419 builder["import"]();
49420
49421 if (isNamespace) {
49422 builder.namespace(name || importedSource);
49423 } else if (isDefault || isNamed) {
49424 builder.named(name, importName);
49425 }
49426 } else {
49427 builder.require();
49428
49429 if (isNamespace) {
49430 builder["var"](name || importedSource);
49431 } else if (isDefault || isNamed) {
49432 if (ensureLiveReference) {
49433 builder["var"](importedSource).read(name);
49434 } else {
49435 builder.prop(importName)["var"](name);
49436 }
49437 }
49438 }
49439 } else if (importedInterop === "uncompiled") {
49440 if (isDefault && ensureLiveReference) {
49441 throw new Error("No live reference for commonjs default");
49442 }
49443
49444 if (isModuleForNode) {
49445 builder["import"]();
49446
49447 if (isNamespace) {
49448 builder["default"](name || importedSource);
49449 } else if (isDefault) {
49450 builder["default"](name);
49451 } else if (isNamed) {
49452 builder["default"](importedSource).read(name);
49453 }
49454 } else if (isModuleForBabel) {
49455 builder["import"]();
49456
49457 if (isNamespace) {
49458 builder["default"](name || importedSource);
49459 } else if (isDefault) {
49460 builder["default"](name);
49461 } else if (isNamed) {
49462 builder.named(name, importName);
49463 }
49464 } else {
49465 builder.require();
49466
49467 if (isNamespace) {
49468 builder["var"](name || importedSource);
49469 } else if (isDefault) {
49470 builder["var"](name);
49471 } else if (isNamed) {
49472 if (ensureLiveReference) {
49473 builder["var"](importedSource).read(name);
49474 } else {
49475 builder["var"](name).prop(importName);
49476 }
49477 }
49478 }
49479 } else {
49480 throw new Error("Unknown importedInterop \"" + importedInterop + "\".");
49481 }
49482
49483 var _builder$done = builder.done(),
49484 statements = _builder$done.statements,
49485 resultName = _builder$done.resultName;
49486
49487 this._insertStatements(statements, importPosition, blockHoist);
49488
49489 if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") {
49490 return sequenceExpression([numericLiteral(0), resultName]);
49491 }
49492
49493 return resultName;
49494 };
49495
49496 _proto._insertStatements = function _insertStatements(statements, importPosition, blockHoist) {
49497 if (importPosition === void 0) {
49498 importPosition = "before";
49499 }
49500
49501 if (blockHoist === void 0) {
49502 blockHoist = 3;
49503 }
49504
49505 var body = this._programPath.get("body");
49506
49507 if (importPosition === "after") {
49508 for (var i = body.length - 1; i >= 0; i--) {
49509 if (body[i].isImportDeclaration()) {
49510 body[i].insertAfter(statements);
49511 return;
49512 }
49513 }
49514 } else {
49515 statements.forEach(function (node) {
49516 node._blockHoist = blockHoist;
49517 });
49518 var targetPath = body.find(function (p) {
49519 var val = p.node._blockHoist;
49520 return Number.isFinite(val) && val < 4;
49521 });
49522
49523 if (targetPath) {
49524 targetPath.insertBefore(statements);
49525 return;
49526 }
49527 }
49528
49529 this._programPath.unshiftContainer("body", statements);
49530 };
49531
49532 return ImportInjector;
49533 }();
49534
49535 function addDefault(path, importedSource, opts) {
49536 return new ImportInjector(path).addDefault(importedSource, opts);
49537 }
49538 function addNamed(path, name, importedSource, opts) {
49539 return new ImportInjector(path).addNamed(name, importedSource, opts);
49540 }
49541 function addNamespace(path, importedSource, opts) {
49542 return new ImportInjector(path).addNamespace(importedSource, opts);
49543 }
49544
49545 function willPathCastToBoolean$1(path) {
49546 var maybeWrapped = path;
49547 var node = maybeWrapped.node,
49548 parentPath = maybeWrapped.parentPath;
49549
49550 if (parentPath.isLogicalExpression()) {
49551 var _parentPath$node = parentPath.node,
49552 operator = _parentPath$node.operator,
49553 right = _parentPath$node.right;
49554
49555 if (operator === "&&" || operator === "||" || operator === "??" && node === right) {
49556 return willPathCastToBoolean$1(parentPath);
49557 }
49558 }
49559
49560 if (parentPath.isSequenceExpression()) {
49561 var expressions = parentPath.node.expressions;
49562
49563 if (expressions[expressions.length - 1] === node) {
49564 return willPathCastToBoolean$1(parentPath);
49565 } else {
49566 return true;
49567 }
49568 }
49569
49570 return parentPath.isConditional({
49571 test: node
49572 }) || parentPath.isUnaryExpression({
49573 operator: "!"
49574 }) || parentPath.isLoop({
49575 test: node
49576 });
49577 }
49578
49579 var AssignmentMemoiser = function () {
49580 function AssignmentMemoiser() {
49581 this._map = void 0;
49582 this._map = new WeakMap();
49583 }
49584
49585 var _proto = AssignmentMemoiser.prototype;
49586
49587 _proto.has = function has(key) {
49588 return this._map.has(key);
49589 };
49590
49591 _proto.get = function get(key) {
49592 if (!this.has(key)) return;
49593
49594 var record = this._map.get(key);
49595
49596 var value = record.value;
49597 record.count--;
49598
49599 if (record.count === 0) {
49600 return assignmentExpression("=", value, key);
49601 }
49602
49603 return value;
49604 };
49605
49606 _proto.set = function set(key, value, count) {
49607 return this._map.set(key, {
49608 count: count,
49609 value: value
49610 });
49611 };
49612
49613 return AssignmentMemoiser;
49614 }();
49615
49616 function toNonOptional(path, base) {
49617 var node = path.node;
49618
49619 if (path.isOptionalMemberExpression()) {
49620 return memberExpression(base, node.property, node.computed);
49621 }
49622
49623 if (path.isOptionalCallExpression()) {
49624 var callee = path.get("callee");
49625
49626 if (path.node.optional && callee.isOptionalMemberExpression()) {
49627 var object = callee.node.object;
49628 var context = path.scope.maybeGenerateMemoised(object) || object;
49629 callee.get("object").replaceWith(assignmentExpression("=", context, object));
49630 return callExpression(memberExpression(base, identifier("call")), [context].concat(_toConsumableArray(node.arguments)));
49631 }
49632
49633 return callExpression(base, node.arguments);
49634 }
49635
49636 return path.node;
49637 }
49638
49639 function isInDetachedTree(path) {
49640 while (path) {
49641 if (path.isProgram()) break;
49642 var _path = path,
49643 parentPath = _path.parentPath,
49644 container = _path.container,
49645 listKey = _path.listKey;
49646 var parentNode = parentPath.node;
49647
49648 if (listKey) {
49649 if (container !== parentNode[listKey]) return true;
49650 } else {
49651 if (container !== parentNode) return true;
49652 }
49653
49654 path = parentPath;
49655 }
49656
49657 return false;
49658 }
49659
49660 var handle = {
49661 memoise: function memoise() {},
49662 handle: function handle(member, noDocumentAll) {
49663 var node = member.node,
49664 parent = member.parent,
49665 parentPath = member.parentPath,
49666 scope = member.scope;
49667
49668 if (member.isOptionalMemberExpression()) {
49669 if (isInDetachedTree(member)) return;
49670 var endPath = member.find(function (_ref) {
49671 var node = _ref.node,
49672 parent = _ref.parent,
49673 parentPath = _ref.parentPath;
49674
49675 if (parentPath.isOptionalMemberExpression()) {
49676 return parent.optional || parent.object !== node;
49677 }
49678
49679 if (parentPath.isOptionalCallExpression()) {
49680 return node !== member.node && parent.optional || parent.callee !== node;
49681 }
49682
49683 return true;
49684 });
49685
49686 if (scope.path.isPattern()) {
49687 endPath.replaceWith(callExpression(arrowFunctionExpression([], endPath.node), []));
49688 return;
49689 }
49690
49691 var willEndPathCastToBoolean = willPathCastToBoolean$1(endPath);
49692 var rootParentPath = endPath.parentPath;
49693
49694 if (rootParentPath.isUpdateExpression({
49695 argument: node
49696 }) || rootParentPath.isAssignmentExpression({
49697 left: node
49698 })) {
49699 throw member.buildCodeFrameError("can't handle assignment");
49700 }
49701
49702 var isDeleteOperation = rootParentPath.isUnaryExpression({
49703 operator: "delete"
49704 });
49705
49706 if (isDeleteOperation && endPath.isOptionalMemberExpression() && endPath.get("property").isPrivateName()) {
49707 throw member.buildCodeFrameError("can't delete a private class element");
49708 }
49709
49710 var startingOptional = member;
49711
49712 for (;;) {
49713 if (startingOptional.isOptionalMemberExpression()) {
49714 if (startingOptional.node.optional) break;
49715 startingOptional = startingOptional.get("object");
49716 continue;
49717 } else if (startingOptional.isOptionalCallExpression()) {
49718 if (startingOptional.node.optional) break;
49719 startingOptional = startingOptional.get("callee");
49720 continue;
49721 }
49722
49723 throw new Error("Internal error: unexpected " + startingOptional.node.type);
49724 }
49725
49726 var startingProp = startingOptional.isOptionalMemberExpression() ? "object" : "callee";
49727 var startingNode = startingOptional.node[startingProp];
49728 var baseNeedsMemoised = scope.maybeGenerateMemoised(startingNode);
49729 var baseRef = baseNeedsMemoised != null ? baseNeedsMemoised : startingNode;
49730 var parentIsOptionalCall = parentPath.isOptionalCallExpression({
49731 callee: node
49732 });
49733 var parentIsCall = parentPath.isCallExpression({
49734 callee: node
49735 });
49736 startingOptional.replaceWith(toNonOptional(startingOptional, baseRef));
49737
49738 if (parentIsOptionalCall) {
49739 if (parent.optional) {
49740 parentPath.replaceWith(this.optionalCall(member, parent.arguments));
49741 } else {
49742 parentPath.replaceWith(this.call(member, parent.arguments));
49743 }
49744 } else if (parentIsCall) {
49745 member.replaceWith(this.boundGet(member));
49746 } else {
49747 member.replaceWith(this.get(member));
49748 }
49749
49750 var regular = member.node;
49751
49752 for (var current = member; current !== endPath;) {
49753 var _current = current,
49754 _parentPath = _current.parentPath;
49755
49756 if (_parentPath === endPath && parentIsOptionalCall && parent.optional) {
49757 regular = _parentPath.node;
49758 break;
49759 }
49760
49761 regular = toNonOptional(_parentPath, regular);
49762 current = _parentPath;
49763 }
49764
49765 var context;
49766 var endParentPath = endPath.parentPath;
49767
49768 if (isMemberExpression(regular) && endParentPath.isOptionalCallExpression({
49769 callee: endPath.node,
49770 optional: true
49771 })) {
49772 var _regular = regular,
49773 object = _regular.object;
49774 context = member.scope.maybeGenerateMemoised(object);
49775
49776 if (context) {
49777 regular.object = assignmentExpression("=", context, object);
49778 }
49779 }
49780
49781 var replacementPath = endPath;
49782
49783 if (isDeleteOperation) {
49784 replacementPath = endParentPath;
49785 regular = endParentPath.node;
49786 }
49787
49788 var baseMemoised = baseNeedsMemoised ? assignmentExpression("=", cloneNode(baseRef), cloneNode(startingNode)) : cloneNode(baseRef);
49789
49790 if (willEndPathCastToBoolean) {
49791 var nonNullishCheck;
49792
49793 if (noDocumentAll) {
49794 nonNullishCheck = binaryExpression("!=", baseMemoised, nullLiteral());
49795 } else {
49796 nonNullishCheck = logicalExpression("&&", binaryExpression("!==", baseMemoised, nullLiteral()), binaryExpression("!==", cloneNode(baseRef), scope.buildUndefinedNode()));
49797 }
49798
49799 replacementPath.replaceWith(logicalExpression("&&", nonNullishCheck, regular));
49800 } else {
49801 var nullishCheck;
49802
49803 if (noDocumentAll) {
49804 nullishCheck = binaryExpression("==", baseMemoised, nullLiteral());
49805 } else {
49806 nullishCheck = logicalExpression("||", binaryExpression("===", baseMemoised, nullLiteral()), binaryExpression("===", cloneNode(baseRef), scope.buildUndefinedNode()));
49807 }
49808
49809 replacementPath.replaceWith(conditionalExpression(nullishCheck, isDeleteOperation ? booleanLiteral(true) : scope.buildUndefinedNode(), regular));
49810 }
49811
49812 if (context) {
49813 var endParent = endParentPath.node;
49814 endParentPath.replaceWith(optionalCallExpression(optionalMemberExpression(endParent.callee, identifier("call"), false, true), [cloneNode(context)].concat(_toConsumableArray(endParent.arguments)), false));
49815 }
49816
49817 return;
49818 }
49819
49820 if (parentPath.isUpdateExpression({
49821 argument: node
49822 })) {
49823 if (this.simpleSet) {
49824 member.replaceWith(this.simpleSet(member));
49825 return;
49826 }
49827
49828 var operator = parent.operator,
49829 prefix = parent.prefix;
49830 this.memoise(member, 2);
49831 var value = binaryExpression(operator[0], unaryExpression("+", this.get(member)), numericLiteral(1));
49832
49833 if (prefix) {
49834 parentPath.replaceWith(this.set(member, value));
49835 } else {
49836 var _scope = member.scope;
49837
49838 var ref = _scope.generateUidIdentifierBasedOnNode(node);
49839
49840 _scope.push({
49841 id: ref
49842 });
49843
49844 value.left = assignmentExpression("=", cloneNode(ref), value.left);
49845 parentPath.replaceWith(sequenceExpression([this.set(member, value), cloneNode(ref)]));
49846 }
49847
49848 return;
49849 }
49850
49851 if (parentPath.isAssignmentExpression({
49852 left: node
49853 })) {
49854 if (this.simpleSet) {
49855 member.replaceWith(this.simpleSet(member));
49856 return;
49857 }
49858
49859 var _operator = parent.operator,
49860 _value = parent.right;
49861
49862 if (_operator === "=") {
49863 parentPath.replaceWith(this.set(member, _value));
49864 } else {
49865 var operatorTrunc = _operator.slice(0, -1);
49866
49867 if (LOGICAL_OPERATORS.includes(operatorTrunc)) {
49868 this.memoise(member, 1);
49869 parentPath.replaceWith(logicalExpression(operatorTrunc, this.get(member), this.set(member, _value)));
49870 } else {
49871 this.memoise(member, 2);
49872 parentPath.replaceWith(this.set(member, binaryExpression(operatorTrunc, this.get(member), _value)));
49873 }
49874 }
49875
49876 return;
49877 }
49878
49879 if (parentPath.isCallExpression({
49880 callee: node
49881 })) {
49882 parentPath.replaceWith(this.call(member, parent.arguments));
49883 return;
49884 }
49885
49886 if (parentPath.isOptionalCallExpression({
49887 callee: node
49888 })) {
49889 if (scope.path.isPattern()) {
49890 parentPath.replaceWith(callExpression(arrowFunctionExpression([], parentPath.node), []));
49891 return;
49892 }
49893
49894 parentPath.replaceWith(this.optionalCall(member, parent.arguments));
49895 return;
49896 }
49897
49898 if (parentPath.isForXStatement({
49899 left: node
49900 }) || parentPath.isObjectProperty({
49901 value: node
49902 }) && parentPath.parentPath.isObjectPattern() || parentPath.isAssignmentPattern({
49903 left: node
49904 }) && parentPath.parentPath.isObjectProperty({
49905 value: parent
49906 }) && parentPath.parentPath.parentPath.isObjectPattern() || parentPath.isArrayPattern() || parentPath.isAssignmentPattern({
49907 left: node
49908 }) && parentPath.parentPath.isArrayPattern() || parentPath.isRestElement()) {
49909 member.replaceWith(this.destructureSet(member));
49910 return;
49911 }
49912
49913 if (parentPath.isTaggedTemplateExpression()) {
49914 member.replaceWith(this.boundGet(member));
49915 } else {
49916 member.replaceWith(this.get(member));
49917 }
49918 }
49919 };
49920 function memberExpressionToFunctions(path, visitor, state) {
49921 path.traverse(visitor, Object.assign({}, handle, state, {
49922 memoiser: new AssignmentMemoiser()
49923 }));
49924 }
49925
49926 function optimiseCallExpression(callee, thisNode, args, optional) {
49927 if (args.length === 1 && isSpreadElement(args[0]) && isIdentifier(args[0].argument, {
49928 name: "arguments"
49929 })) {
49930 if (optional) {
49931 return optionalCallExpression(optionalMemberExpression(callee, identifier("apply"), false, true), [thisNode, args[0].argument], false);
49932 }
49933
49934 return callExpression(memberExpression(callee, identifier("apply")), [thisNode, args[0].argument]);
49935 } else {
49936 if (optional) {
49937 return optionalCallExpression(optionalMemberExpression(callee, identifier("call"), false, true), [thisNode].concat(_toConsumableArray(args)), false);
49938 }
49939
49940 return callExpression(memberExpression(callee, identifier("call")), [thisNode].concat(_toConsumableArray(args)));
49941 }
49942 }
49943
49944 var _environmentVisitor;
49945
49946 function getPrototypeOfExpression(objectRef, isStatic, file, isPrivateMethod) {
49947 objectRef = cloneNode(objectRef);
49948 var targetRef = isStatic || isPrivateMethod ? objectRef : memberExpression(objectRef, identifier("prototype"));
49949 return callExpression(file.addHelper("getPrototypeOf"), [targetRef]);
49950 }
49951
49952 function skipAllButComputedKey(path) {
49953 if (!path.node.computed) {
49954 path.skip();
49955 return;
49956 }
49957
49958 var keys = VISITOR_KEYS[path.type];
49959
49960 for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
49961 var key = _step.value;
49962 if (key !== "key") path.skipKey(key);
49963 }
49964 }
49965 var environmentVisitor = (_environmentVisitor = {}, _environmentVisitor[(staticBlock ? "StaticBlock|" : "") + "ClassPrivateProperty|TypeAnnotation"] = function ClassPrivatePropertyTypeAnnotation(path) {
49966 path.skip();
49967 }, _environmentVisitor.Function = function Function(path) {
49968 if (path.isMethod()) return;
49969 if (path.isArrowFunctionExpression()) return;
49970 path.skip();
49971 }, _environmentVisitor["Method|ClassProperty"] = function MethodClassProperty(path) {
49972 skipAllButComputedKey(path);
49973 }, _environmentVisitor);
49974 var visitor$1 = traverse.visitors.merge([environmentVisitor, {
49975 Super: function Super(path, state) {
49976 var node = path.node,
49977 parentPath = path.parentPath;
49978 if (!parentPath.isMemberExpression({
49979 object: node
49980 })) return;
49981 state.handle(parentPath);
49982 }
49983 }]);
49984 var unshadowSuperBindingVisitor = traverse.visitors.merge([environmentVisitor, {
49985 Scopable: function Scopable(path, _ref) {
49986 var refName = _ref.refName;
49987 var binding = path.scope.getOwnBinding(refName);
49988
49989 if (binding && binding.identifier.name === refName) {
49990 path.scope.rename(refName);
49991 }
49992 }
49993 }]);
49994 var specHandlers = {
49995 memoise: function memoise(superMember, count) {
49996 var scope = superMember.scope,
49997 node = superMember.node;
49998 var computed = node.computed,
49999 property = node.property;
50000
50001 if (!computed) {
50002 return;
50003 }
50004
50005 var memo = scope.maybeGenerateMemoised(property);
50006
50007 if (!memo) {
50008 return;
50009 }
50010
50011 this.memoiser.set(property, memo, count);
50012 },
50013 prop: function prop(superMember) {
50014 var _superMember$node = superMember.node,
50015 computed = _superMember$node.computed,
50016 property = _superMember$node.property;
50017
50018 if (this.memoiser.has(property)) {
50019 return cloneNode(this.memoiser.get(property));
50020 }
50021
50022 if (computed) {
50023 return cloneNode(property);
50024 }
50025
50026 return stringLiteral(property.name);
50027 },
50028 get: function get(superMember) {
50029 return this._get(superMember, this._getThisRefs());
50030 },
50031 _get: function _get(superMember, thisRefs) {
50032 var proto = getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod);
50033 return callExpression(this.file.addHelper("get"), [thisRefs.memo ? sequenceExpression([thisRefs.memo, proto]) : proto, this.prop(superMember), thisRefs["this"]]);
50034 },
50035 _getThisRefs: function _getThisRefs() {
50036 if (!this.isDerivedConstructor) {
50037 return {
50038 "this": thisExpression()
50039 };
50040 }
50041
50042 var thisRef = this.scope.generateDeclaredUidIdentifier("thisSuper");
50043 return {
50044 memo: assignmentExpression("=", thisRef, thisExpression()),
50045 "this": cloneNode(thisRef)
50046 };
50047 },
50048 set: function set(superMember, value) {
50049 var thisRefs = this._getThisRefs();
50050
50051 var proto = getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod);
50052 return callExpression(this.file.addHelper("set"), [thisRefs.memo ? sequenceExpression([thisRefs.memo, proto]) : proto, this.prop(superMember), value, thisRefs["this"], booleanLiteral(superMember.isInStrictMode())]);
50053 },
50054 destructureSet: function destructureSet(superMember) {
50055 throw superMember.buildCodeFrameError("Destructuring to a super field is not supported yet.");
50056 },
50057 call: function call(superMember, args) {
50058 var thisRefs = this._getThisRefs();
50059
50060 return optimiseCallExpression(this._get(superMember, thisRefs), cloneNode(thisRefs["this"]), args, false);
50061 },
50062 optionalCall: function optionalCall(superMember, args) {
50063 var thisRefs = this._getThisRefs();
50064
50065 return optimiseCallExpression(this._get(superMember, thisRefs), cloneNode(thisRefs["this"]), args, true);
50066 }
50067 };
50068 var looseHandlers = Object.assign({}, specHandlers, {
50069 prop: function prop(superMember) {
50070 var property = superMember.node.property;
50071
50072 if (this.memoiser.has(property)) {
50073 return cloneNode(this.memoiser.get(property));
50074 }
50075
50076 return cloneNode(property);
50077 },
50078 get: function get(superMember) {
50079 var isStatic = this.isStatic,
50080 getSuperRef = this.getSuperRef;
50081 var computed = superMember.node.computed;
50082 var prop = this.prop(superMember);
50083 var object;
50084
50085 if (isStatic) {
50086 var _getSuperRef;
50087
50088 object = (_getSuperRef = getSuperRef()) != null ? _getSuperRef : memberExpression(identifier("Function"), identifier("prototype"));
50089 } else {
50090 var _getSuperRef2;
50091
50092 object = memberExpression((_getSuperRef2 = getSuperRef()) != null ? _getSuperRef2 : identifier("Object"), identifier("prototype"));
50093 }
50094
50095 return memberExpression(object, prop, computed);
50096 },
50097 set: function set(superMember, value) {
50098 var computed = superMember.node.computed;
50099 var prop = this.prop(superMember);
50100 return assignmentExpression("=", memberExpression(thisExpression(), prop, computed), value);
50101 },
50102 destructureSet: function destructureSet(superMember) {
50103 var computed = superMember.node.computed;
50104 var prop = this.prop(superMember);
50105 return memberExpression(thisExpression(), prop, computed);
50106 },
50107 call: function call(superMember, args) {
50108 return optimiseCallExpression(this.get(superMember), thisExpression(), args, false);
50109 },
50110 optionalCall: function optionalCall(superMember, args) {
50111 return optimiseCallExpression(this.get(superMember), thisExpression(), args, true);
50112 }
50113 });
50114
50115 var ReplaceSupers = function () {
50116 function ReplaceSupers(opts) {
50117 var _opts$constantSuper;
50118
50119 var path = opts.methodPath;
50120 this.methodPath = path;
50121 this.isDerivedConstructor = path.isClassMethod({
50122 kind: "constructor"
50123 }) && !!opts.superRef;
50124 this.isStatic = path.isObjectMethod() || path.node["static"] || (path.isStaticBlock == null ? void 0 : path.isStaticBlock());
50125 this.isPrivateMethod = path.isPrivate() && path.isMethod();
50126 this.file = opts.file;
50127 this.constantSuper = (_opts$constantSuper = opts.constantSuper) != null ? _opts$constantSuper : opts.isLoose;
50128 this.opts = opts;
50129 }
50130
50131 var _proto = ReplaceSupers.prototype;
50132
50133 _proto.getObjectRef = function getObjectRef() {
50134 return cloneNode(this.opts.objectRef || this.opts.getObjectRef());
50135 };
50136
50137 _proto.getSuperRef = function getSuperRef() {
50138 if (this.opts.superRef) return cloneNode(this.opts.superRef);
50139 if (this.opts.getSuperRef) return cloneNode(this.opts.getSuperRef());
50140 };
50141
50142 _proto.replace = function replace() {
50143 if (this.opts.refToPreserve) {
50144 this.methodPath.traverse(unshadowSuperBindingVisitor, {
50145 refName: this.opts.refToPreserve.name
50146 });
50147 }
50148
50149 var handler = this.constantSuper ? looseHandlers : specHandlers;
50150 memberExpressionToFunctions(this.methodPath, visitor$1, Object.assign({
50151 file: this.file,
50152 scope: this.methodPath.scope,
50153 isDerivedConstructor: this.isDerivedConstructor,
50154 isStatic: this.isStatic,
50155 isPrivateMethod: this.isPrivateMethod,
50156 getObjectRef: this.getObjectRef.bind(this),
50157 getSuperRef: this.getSuperRef.bind(this)
50158 }, handler));
50159 };
50160
50161 return ReplaceSupers;
50162 }();
50163
50164 function rewriteThis(programPath) {
50165 traverse(programPath.node, Object.assign({}, rewriteThisVisitor, {
50166 noScope: true
50167 }));
50168 }
50169 var rewriteThisVisitor = traverse.visitors.merge([environmentVisitor, {
50170 ThisExpression: function (_ThisExpression) {
50171 function ThisExpression(_x) {
50172 return _ThisExpression.apply(this, arguments);
50173 }
50174
50175 ThisExpression.toString = function () {
50176 return _ThisExpression.toString();
50177 };
50178
50179 return ThisExpression;
50180 }(function (path) {
50181 path.replaceWith(unaryExpression("void", numericLiteral(0), true));
50182 })
50183 }]);
50184
50185 function simplifyAccess(path, bindingNames) {
50186 path.traverse(simpleAssignmentVisitor, {
50187 scope: path.scope,
50188 bindingNames: bindingNames,
50189 seen: new WeakSet()
50190 });
50191 }
50192 var simpleAssignmentVisitor = {
50193 UpdateExpression: {
50194 exit: function exit(path) {
50195 var scope = this.scope,
50196 bindingNames = this.bindingNames;
50197 var arg = path.get("argument");
50198 if (!arg.isIdentifier()) return;
50199 var localName = arg.node.name;
50200 if (!bindingNames.has(localName)) return;
50201
50202 if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {
50203 return;
50204 }
50205
50206 if (path.parentPath.isExpressionStatement() && !path.isCompletionRecord()) {
50207 var operator = path.node.operator == "++" ? "+=" : "-=";
50208 path.replaceWith(assignmentExpression(operator, arg.node, numericLiteral(1)));
50209 } else if (path.node.prefix) {
50210 path.replaceWith(assignmentExpression("=", identifier(localName), binaryExpression(path.node.operator[0], unaryExpression("+", arg.node), numericLiteral(1))));
50211 } else {
50212 var old = path.scope.generateUidIdentifierBasedOnNode(arg.node, "old");
50213 var varName = old.name;
50214 path.scope.push({
50215 id: old
50216 });
50217 var binary = binaryExpression(path.node.operator[0], identifier(varName), numericLiteral(1));
50218 path.replaceWith(sequenceExpression([assignmentExpression("=", identifier(varName), unaryExpression("+", arg.node)), assignmentExpression("=", cloneNode(arg.node), binary), identifier(varName)]));
50219 }
50220 }
50221 },
50222 AssignmentExpression: {
50223 exit: function exit(path) {
50224 var scope = this.scope,
50225 seen = this.seen,
50226 bindingNames = this.bindingNames;
50227 if (path.node.operator === "=") return;
50228 if (seen.has(path.node)) return;
50229 seen.add(path.node);
50230 var left = path.get("left");
50231 if (!left.isIdentifier()) return;
50232 var localName = left.node.name;
50233 if (!bindingNames.has(localName)) return;
50234
50235 if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {
50236 return;
50237 }
50238
50239 var operator = path.node.operator.slice(0, -1);
50240
50241 if (LOGICAL_OPERATORS.includes(operator)) {
50242 path.replaceWith(logicalExpression(operator, path.node.left, assignmentExpression("=", cloneNode(path.node.left), path.node.right)));
50243 } else {
50244 path.node.right = binaryExpression(operator, cloneNode(path.node.left), path.node.right);
50245 path.node.operator = "=";
50246 }
50247 }
50248 }
50249 };
50250
50251 var _templateObject$m;
50252 function rewriteLiveReferences(programPath, metadata) {
50253 var imported = new Map();
50254 var exported = new Map();
50255
50256 var requeueInParent = function requeueInParent(path) {
50257 programPath.requeue(path);
50258 };
50259
50260 for (var _iterator = _createForOfIteratorHelperLoose(metadata.source), _step; !(_step = _iterator()).done;) {
50261 var _step$value = _slicedToArray$2(_step.value, 2),
50262 source = _step$value[0],
50263 data = _step$value[1];
50264
50265 for (var _iterator3 = _createForOfIteratorHelperLoose(data.imports), _step3; !(_step3 = _iterator3()).done;) {
50266 var _step3$value = _slicedToArray$2(_step3.value, 2),
50267 localName = _step3$value[0],
50268 importName = _step3$value[1];
50269
50270 imported.set(localName, [source, importName, null]);
50271 }
50272
50273 for (var _iterator4 = _createForOfIteratorHelperLoose(data.importsNamespace), _step4; !(_step4 = _iterator4()).done;) {
50274 var _localName = _step4.value;
50275 imported.set(_localName, [source, null, _localName]);
50276 }
50277 }
50278
50279 for (var _iterator2 = _createForOfIteratorHelperLoose(metadata.local), _step2; !(_step2 = _iterator2()).done;) {
50280 var _exportMeta;
50281
50282 var _step2$value = _slicedToArray$2(_step2.value, 2),
50283 local = _step2$value[0],
50284 _data = _step2$value[1];
50285
50286 var exportMeta = exported.get(local);
50287
50288 if (!exportMeta) {
50289 exportMeta = [];
50290 exported.set(local, exportMeta);
50291 }
50292
50293 (_exportMeta = exportMeta).push.apply(_exportMeta, _toConsumableArray(_data.names));
50294 }
50295
50296 var rewriteBindingInitVisitorState = {
50297 metadata: metadata,
50298 requeueInParent: requeueInParent,
50299 scope: programPath.scope,
50300 exported: exported
50301 };
50302 programPath.traverse(rewriteBindingInitVisitor, rewriteBindingInitVisitorState);
50303 simplifyAccess(programPath, new Set([].concat(_toConsumableArray(Array.from(imported.keys())), _toConsumableArray(Array.from(exported.keys())))));
50304 var rewriteReferencesVisitorState = {
50305 seen: new WeakSet(),
50306 metadata: metadata,
50307 requeueInParent: requeueInParent,
50308 scope: programPath.scope,
50309 imported: imported,
50310 exported: exported,
50311 buildImportReference: function buildImportReference(_ref, identNode) {
50312 var _ref2 = _slicedToArray$2(_ref, 3),
50313 source = _ref2[0],
50314 importName = _ref2[1],
50315 localName = _ref2[2];
50316
50317 var meta = metadata.source.get(source);
50318
50319 if (localName) {
50320 if (meta.lazy) identNode = callExpression(identNode, []);
50321 return identNode;
50322 }
50323
50324 var namespace = identifier(meta.name);
50325 if (meta.lazy) namespace = callExpression(namespace, []);
50326
50327 if (importName === "default" && meta.interop === "node-default") {
50328 return namespace;
50329 }
50330
50331 var computed = metadata.stringSpecifiers.has(importName);
50332 return memberExpression(namespace, computed ? stringLiteral(importName) : identifier(importName), computed);
50333 }
50334 };
50335 programPath.traverse(rewriteReferencesVisitor, rewriteReferencesVisitorState);
50336 }
50337 var rewriteBindingInitVisitor = {
50338 Scope: function Scope(path) {
50339 path.skip();
50340 },
50341 ClassDeclaration: function ClassDeclaration(path) {
50342 var requeueInParent = this.requeueInParent,
50343 exported = this.exported,
50344 metadata = this.metadata;
50345 var id = path.node.id;
50346 if (!id) throw new Error("Expected class to have a name");
50347 var localName = id.name;
50348 var exportNames = exported.get(localName) || [];
50349
50350 if (exportNames.length > 0) {
50351 var statement = expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, identifier(localName)));
50352 statement._blockHoist = path.node._blockHoist;
50353 requeueInParent(path.insertAfter(statement)[0]);
50354 }
50355 },
50356 VariableDeclaration: function VariableDeclaration(path) {
50357 var requeueInParent = this.requeueInParent,
50358 exported = this.exported,
50359 metadata = this.metadata;
50360 Object.keys(path.getOuterBindingIdentifiers()).forEach(function (localName) {
50361 var exportNames = exported.get(localName) || [];
50362
50363 if (exportNames.length > 0) {
50364 var statement = expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, identifier(localName)));
50365 statement._blockHoist = path.node._blockHoist;
50366 requeueInParent(path.insertAfter(statement)[0]);
50367 }
50368 });
50369 }
50370 };
50371
50372 var buildBindingExportAssignmentExpression = function buildBindingExportAssignmentExpression(metadata, exportNames, localExpr) {
50373 return (exportNames || []).reduce(function (expr, exportName) {
50374 var stringSpecifiers = metadata.stringSpecifiers;
50375 var computed = stringSpecifiers.has(exportName);
50376 return assignmentExpression("=", memberExpression(identifier(metadata.exportName), computed ? stringLiteral(exportName) : identifier(exportName), computed), expr);
50377 }, localExpr);
50378 };
50379
50380 var buildImportThrow = function buildImportThrow(localName) {
50381 return template$2.expression.ast(_templateObject$m || (_templateObject$m = _taggedTemplateLiteralLoose(["\n (function() {\n throw new Error('\"' + '", "' + '\" is read-only.');\n })()\n "])), localName);
50382 };
50383
50384 var rewriteReferencesVisitor = {
50385 ReferencedIdentifier: function ReferencedIdentifier(path) {
50386 var seen = this.seen,
50387 buildImportReference = this.buildImportReference,
50388 scope = this.scope,
50389 imported = this.imported,
50390 requeueInParent = this.requeueInParent;
50391 if (seen.has(path.node)) return;
50392 seen.add(path.node);
50393 var localName = path.node.name;
50394 var importData = imported.get(localName);
50395
50396 if (importData) {
50397 var localBinding = path.scope.getBinding(localName);
50398 var rootBinding = scope.getBinding(localName);
50399 if (rootBinding !== localBinding) return;
50400 var ref = buildImportReference(importData, path.node);
50401 ref.loc = path.node.loc;
50402
50403 if ((path.parentPath.isCallExpression({
50404 callee: path.node
50405 }) || path.parentPath.isOptionalCallExpression({
50406 callee: path.node
50407 }) || path.parentPath.isTaggedTemplateExpression({
50408 tag: path.node
50409 })) && isMemberExpression(ref)) {
50410 path.replaceWith(sequenceExpression([numericLiteral(0), ref]));
50411 } else if (path.isJSXIdentifier() && isMemberExpression(ref)) {
50412 var object = ref.object,
50413 property = ref.property;
50414 path.replaceWith(jsxMemberExpression(jsxIdentifier(object.name), jsxIdentifier(property.name)));
50415 } else {
50416 path.replaceWith(ref);
50417 }
50418
50419 requeueInParent(path);
50420 path.skip();
50421 }
50422 },
50423 AssignmentExpression: {
50424 exit: function exit(path) {
50425 var _this = this;
50426
50427 var scope = this.scope,
50428 seen = this.seen,
50429 imported = this.imported,
50430 exported = this.exported,
50431 requeueInParent = this.requeueInParent,
50432 buildImportReference = this.buildImportReference;
50433 if (seen.has(path.node)) return;
50434 seen.add(path.node);
50435 var left = path.get("left");
50436 if (left.isMemberExpression()) return;
50437
50438 if (left.isIdentifier()) {
50439 var localName = left.node.name;
50440
50441 if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {
50442 return;
50443 }
50444
50445 var exportedNames = exported.get(localName);
50446 var importData = imported.get(localName);
50447
50448 if ((exportedNames == null ? void 0 : exportedNames.length) > 0 || importData) {
50449 assert_1(path.node.operator === "=", "Path was not simplified");
50450 var assignment = path.node;
50451
50452 if (importData) {
50453 assignment.left = buildImportReference(importData, assignment.left);
50454 assignment.right = sequenceExpression([assignment.right, buildImportThrow(localName)]);
50455 }
50456
50457 path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, assignment));
50458 requeueInParent(path);
50459 }
50460 } else {
50461 var ids = left.getOuterBindingIdentifiers();
50462 var programScopeIds = Object.keys(ids).filter(function (localName) {
50463 return scope.getBinding(localName) === path.scope.getBinding(localName);
50464 });
50465 var id = programScopeIds.find(function (localName) {
50466 return imported.has(localName);
50467 });
50468
50469 if (id) {
50470 path.node.right = sequenceExpression([path.node.right, buildImportThrow(id)]);
50471 }
50472
50473 var items = [];
50474 programScopeIds.forEach(function (localName) {
50475 var exportedNames = exported.get(localName) || [];
50476
50477 if (exportedNames.length > 0) {
50478 items.push(buildBindingExportAssignmentExpression(_this.metadata, exportedNames, identifier(localName)));
50479 }
50480 });
50481
50482 if (items.length > 0) {
50483 var node = sequenceExpression(items);
50484
50485 if (path.parentPath.isExpressionStatement()) {
50486 node = expressionStatement(node);
50487 node._blockHoist = path.parentPath.node._blockHoist;
50488 }
50489
50490 var statement = path.insertAfter(node)[0];
50491 requeueInParent(statement);
50492 }
50493 }
50494 }
50495 },
50496 "ForOfStatement|ForInStatement": function ForOfStatementForInStatement(path) {
50497 var scope = path.scope,
50498 node = path.node;
50499 var left = node.left;
50500 var exported = this.exported,
50501 imported = this.imported,
50502 programScope = this.scope;
50503
50504 if (!isVariableDeclaration(left)) {
50505 var didTransformExport = false,
50506 importConstViolationName;
50507 var loopBodyScope = path.get("body").scope;
50508
50509 for (var _i = 0, _Object$keys = Object.keys(getOuterBindingIdentifiers$1(left)); _i < _Object$keys.length; _i++) {
50510 var name = _Object$keys[_i];
50511
50512 if (programScope.getBinding(name) === scope.getBinding(name)) {
50513 if (exported.has(name)) {
50514 didTransformExport = true;
50515
50516 if (loopBodyScope.hasOwnBinding(name)) {
50517 loopBodyScope.rename(name);
50518 }
50519 }
50520
50521 if (imported.has(name) && !importConstViolationName) {
50522 importConstViolationName = name;
50523 }
50524 }
50525 }
50526
50527 if (!didTransformExport && !importConstViolationName) {
50528 return;
50529 }
50530
50531 path.ensureBlock();
50532 var bodyPath = path.get("body");
50533 var newLoopId = scope.generateUidIdentifierBasedOnNode(left);
50534 path.get("left").replaceWith(variableDeclaration("let", [variableDeclarator(cloneNode(newLoopId))]));
50535 scope.registerDeclaration(path.get("left"));
50536
50537 if (didTransformExport) {
50538 bodyPath.unshiftContainer("body", expressionStatement(assignmentExpression("=", left, newLoopId)));
50539 }
50540
50541 if (importConstViolationName) {
50542 bodyPath.unshiftContainer("body", expressionStatement(buildImportThrow(importConstViolationName)));
50543 }
50544 }
50545 }
50546 };
50547
50548 function normalizeArray(parts, allowAboveRoot) {
50549 var up = 0;
50550
50551 for (var i = parts.length - 1; i >= 0; i--) {
50552 var last = parts[i];
50553
50554 if (last === '.') {
50555 parts.splice(i, 1);
50556 } else if (last === '..') {
50557 parts.splice(i, 1);
50558 up++;
50559 } else if (up) {
50560 parts.splice(i, 1);
50561 up--;
50562 }
50563 }
50564
50565 if (allowAboveRoot) {
50566 for (; up--; up) {
50567 parts.unshift('..');
50568 }
50569 }
50570
50571 return parts;
50572 }
50573
50574 var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
50575
50576 var splitPath = function splitPath(filename) {
50577 return splitPathRe.exec(filename).slice(1);
50578 };
50579
50580 function resolve$3() {
50581 var resolvedPath = '',
50582 resolvedAbsolute = false;
50583
50584 for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
50585 var path = i >= 0 ? arguments[i] : '/';
50586
50587 if (typeof path !== 'string') {
50588 throw new TypeError('Arguments to path.resolve must be strings');
50589 } else if (!path) {
50590 continue;
50591 }
50592
50593 resolvedPath = path + '/' + resolvedPath;
50594 resolvedAbsolute = path.charAt(0) === '/';
50595 }
50596
50597 resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function (p) {
50598 return !!p;
50599 }), !resolvedAbsolute).join('/');
50600 return (resolvedAbsolute ? '/' : '') + resolvedPath || '.';
50601 }
50602 function normalize$1(path) {
50603 var isPathAbsolute = isAbsolute(path),
50604 trailingSlash = substr(path, -1) === '/';
50605 path = normalizeArray(filter(path.split('/'), function (p) {
50606 return !!p;
50607 }), !isPathAbsolute).join('/');
50608
50609 if (!path && !isPathAbsolute) {
50610 path = '.';
50611 }
50612
50613 if (path && trailingSlash) {
50614 path += '/';
50615 }
50616
50617 return (isPathAbsolute ? '/' : '') + path;
50618 }
50619 function isAbsolute(path) {
50620 return path.charAt(0) === '/';
50621 }
50622 function join() {
50623 var paths = Array.prototype.slice.call(arguments, 0);
50624 return normalize$1(filter(paths, function (p, index) {
50625 if (typeof p !== 'string') {
50626 throw new TypeError('Arguments to path.join must be strings');
50627 }
50628
50629 return p;
50630 }).join('/'));
50631 }
50632 function relative(from, to) {
50633 from = resolve$3(from).substr(1);
50634 to = resolve$3(to).substr(1);
50635
50636 function trim(arr) {
50637 var start = 0;
50638
50639 for (; start < arr.length; start++) {
50640 if (arr[start] !== '') break;
50641 }
50642
50643 var end = arr.length - 1;
50644
50645 for (; end >= 0; end--) {
50646 if (arr[end] !== '') break;
50647 }
50648
50649 if (start > end) return [];
50650 return arr.slice(start, end - start + 1);
50651 }
50652
50653 var fromParts = trim(from.split('/'));
50654 var toParts = trim(to.split('/'));
50655 var length = Math.min(fromParts.length, toParts.length);
50656 var samePartsLength = length;
50657
50658 for (var i = 0; i < length; i++) {
50659 if (fromParts[i] !== toParts[i]) {
50660 samePartsLength = i;
50661 break;
50662 }
50663 }
50664
50665 var outputParts = [];
50666
50667 for (var i = samePartsLength; i < fromParts.length; i++) {
50668 outputParts.push('..');
50669 }
50670
50671 outputParts = outputParts.concat(toParts.slice(samePartsLength));
50672 return outputParts.join('/');
50673 }
50674 var sep$1 = '/';
50675 var delimiter = ':';
50676 function dirname(path) {
50677 var result = splitPath(path),
50678 root = result[0],
50679 dir = result[1];
50680
50681 if (!root && !dir) {
50682 return '.';
50683 }
50684
50685 if (dir) {
50686 dir = dir.substr(0, dir.length - 1);
50687 }
50688
50689 return root + dir;
50690 }
50691 function basename(path, ext) {
50692 var f = splitPath(path)[2];
50693
50694 if (ext && f.substr(-1 * ext.length) === ext) {
50695 f = f.substr(0, f.length - ext.length);
50696 }
50697
50698 return f;
50699 }
50700 function extname(path) {
50701 return splitPath(path)[3];
50702 }
50703 var path$1 = {
50704 extname: extname,
50705 basename: basename,
50706 dirname: dirname,
50707 sep: sep$1,
50708 delimiter: delimiter,
50709 relative: relative,
50710 join: join,
50711 isAbsolute: isAbsolute,
50712 normalize: normalize$1,
50713 resolve: resolve$3
50714 };
50715
50716 function filter(xs, f) {
50717 if (xs.filter) return xs.filter(f);
50718 var res = [];
50719
50720 for (var i = 0; i < xs.length; i++) {
50721 if (f(xs[i], i, xs)) res.push(xs[i]);
50722 }
50723
50724 return res;
50725 }
50726
50727 var substr = 'ab'.substr(-1) === 'b' ? function (str, start, len) {
50728 return str.substr(start, len);
50729 } : function (str, start, len) {
50730 if (start < 0) start = str.length + start;
50731 return str.substr(start, len);
50732 };
50733
50734 var path$2 = /*#__PURE__*/Object.freeze({
50735 __proto__: null,
50736 resolve: resolve$3,
50737 normalize: normalize$1,
50738 isAbsolute: isAbsolute,
50739 join: join,
50740 relative: relative,
50741 sep: sep$1,
50742 delimiter: delimiter,
50743 dirname: dirname,
50744 basename: basename,
50745 extname: extname,
50746 'default': path$1
50747 });
50748
50749 function hasExports(metadata) {
50750 return metadata.hasExports;
50751 }
50752 function isSideEffectImport(source) {
50753 return source.imports.size === 0 && source.importsNamespace.size === 0 && source.reexports.size === 0 && source.reexportNamespace.size === 0 && !source.reexportAll;
50754 }
50755 function validateImportInteropOption(importInterop) {
50756 if (typeof importInterop !== "function" && importInterop !== "none" && importInterop !== "babel" && importInterop !== "node") {
50757 throw new Error(".importInterop must be one of \"none\", \"babel\", \"node\", or a function returning one of those values (received " + importInterop + ").");
50758 }
50759
50760 return importInterop;
50761 }
50762
50763 function resolveImportInterop(importInterop, source) {
50764 if (typeof importInterop === "function") {
50765 return validateImportInteropOption(importInterop(source));
50766 }
50767
50768 return importInterop;
50769 }
50770
50771 function normalizeModuleAndLoadMetadata(programPath, exportName, _ref) {
50772 var importInterop = _ref.importInterop,
50773 _ref$initializeReexpo = _ref.initializeReexports,
50774 initializeReexports = _ref$initializeReexpo === void 0 ? false : _ref$initializeReexpo,
50775 _ref$lazy = _ref.lazy,
50776 lazy = _ref$lazy === void 0 ? false : _ref$lazy,
50777 _ref$esNamespaceOnly = _ref.esNamespaceOnly,
50778 esNamespaceOnly = _ref$esNamespaceOnly === void 0 ? false : _ref$esNamespaceOnly;
50779
50780 if (!exportName) {
50781 exportName = programPath.scope.generateUidIdentifier("exports").name;
50782 }
50783
50784 var stringSpecifiers = new Set();
50785 nameAnonymousExports(programPath);
50786
50787 var _getModuleMetadata = getModuleMetadata(programPath, {
50788 initializeReexports: initializeReexports,
50789 lazy: lazy
50790 }, stringSpecifiers),
50791 local = _getModuleMetadata.local,
50792 source = _getModuleMetadata.source,
50793 hasExports = _getModuleMetadata.hasExports;
50794
50795 removeModuleDeclarations(programPath);
50796
50797 for (var _iterator = _createForOfIteratorHelperLoose(source), _step; !(_step = _iterator()).done;) {
50798 var _step$value = _slicedToArray$2(_step.value, 2),
50799 metadata = _step$value[1];
50800
50801 if (metadata.importsNamespace.size > 0) {
50802 metadata.name = metadata.importsNamespace.values().next().value;
50803 }
50804
50805 var resolvedInterop = resolveImportInterop(importInterop, metadata.source);
50806
50807 if (resolvedInterop === "none") {
50808 metadata.interop = "none";
50809 } else if (resolvedInterop === "node" && metadata.interop === "namespace") {
50810 metadata.interop = "node-namespace";
50811 } else if (resolvedInterop === "node" && metadata.interop === "default") {
50812 metadata.interop = "node-default";
50813 } else if (esNamespaceOnly && metadata.interop === "namespace") {
50814 metadata.interop = "default";
50815 }
50816 }
50817
50818 return {
50819 exportName: exportName,
50820 exportNameListName: null,
50821 hasExports: hasExports,
50822 local: local,
50823 source: source,
50824 stringSpecifiers: stringSpecifiers
50825 };
50826 }
50827
50828 function getExportSpecifierName$1(path, stringSpecifiers) {
50829 if (path.isIdentifier()) {
50830 return path.node.name;
50831 } else if (path.isStringLiteral()) {
50832 var stringValue = path.node.value;
50833
50834 if (!isIdentifierName(stringValue)) {
50835 stringSpecifiers.add(stringValue);
50836 }
50837
50838 return stringValue;
50839 } else {
50840 throw new Error("Expected export specifier to be either Identifier or StringLiteral, got " + path.node.type);
50841 }
50842 }
50843
50844 function assertExportSpecifier(path) {
50845 if (path.isExportSpecifier()) {
50846 return;
50847 } else if (path.isExportNamespaceSpecifier()) {
50848 throw path.buildCodeFrameError("Export namespace should be first transformed by `@babel/plugin-proposal-export-namespace-from`.");
50849 } else {
50850 throw path.buildCodeFrameError("Unexpected export specifier type");
50851 }
50852 }
50853
50854 function getModuleMetadata(programPath, _ref2, stringSpecifiers) {
50855 var lazy = _ref2.lazy,
50856 initializeReexports = _ref2.initializeReexports;
50857 var localData = getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers);
50858 var sourceData = new Map();
50859
50860 var getData = function getData(sourceNode) {
50861 var source = sourceNode.value;
50862 var data = sourceData.get(source);
50863
50864 if (!data) {
50865 data = {
50866 name: programPath.scope.generateUidIdentifier(basename(source, extname(source))).name,
50867 interop: "none",
50868 loc: null,
50869 imports: new Map(),
50870 importsNamespace: new Set(),
50871 reexports: new Map(),
50872 reexportNamespace: new Set(),
50873 reexportAll: null,
50874 lazy: false,
50875 source: source
50876 };
50877 sourceData.set(source, data);
50878 }
50879
50880 return data;
50881 };
50882
50883 var hasExports = false;
50884 programPath.get("body").forEach(function (child) {
50885 if (child.isImportDeclaration()) {
50886 var data = getData(child.node.source);
50887 if (!data.loc) data.loc = child.node.loc;
50888 child.get("specifiers").forEach(function (spec) {
50889 if (spec.isImportDefaultSpecifier()) {
50890 var localName = spec.get("local").node.name;
50891 data.imports.set(localName, "default");
50892 var reexport = localData.get(localName);
50893
50894 if (reexport) {
50895 localData["delete"](localName);
50896 reexport.names.forEach(function (name) {
50897 data.reexports.set(name, "default");
50898 });
50899 }
50900 } else if (spec.isImportNamespaceSpecifier()) {
50901 var _localName = spec.get("local").node.name;
50902 data.importsNamespace.add(_localName);
50903
50904 var _reexport = localData.get(_localName);
50905
50906 if (_reexport) {
50907 localData["delete"](_localName);
50908
50909 _reexport.names.forEach(function (name) {
50910 data.reexportNamespace.add(name);
50911 });
50912 }
50913 } else if (spec.isImportSpecifier()) {
50914 var importName = getExportSpecifierName$1(spec.get("imported"), stringSpecifiers);
50915 var _localName2 = spec.get("local").node.name;
50916 data.imports.set(_localName2, importName);
50917
50918 var _reexport2 = localData.get(_localName2);
50919
50920 if (_reexport2) {
50921 localData["delete"](_localName2);
50922
50923 _reexport2.names.forEach(function (name) {
50924 data.reexports.set(name, importName);
50925 });
50926 }
50927 }
50928 });
50929 } else if (child.isExportAllDeclaration()) {
50930 hasExports = true;
50931
50932 var _data = getData(child.node.source);
50933
50934 if (!_data.loc) _data.loc = child.node.loc;
50935 _data.reexportAll = {
50936 loc: child.node.loc
50937 };
50938 } else if (child.isExportNamedDeclaration() && child.node.source) {
50939 hasExports = true;
50940
50941 var _data2 = getData(child.node.source);
50942
50943 if (!_data2.loc) _data2.loc = child.node.loc;
50944 child.get("specifiers").forEach(function (spec) {
50945 assertExportSpecifier(spec);
50946 var importName = getExportSpecifierName$1(spec.get("local"), stringSpecifiers);
50947 var exportName = getExportSpecifierName$1(spec.get("exported"), stringSpecifiers);
50948
50949 _data2.reexports.set(exportName, importName);
50950
50951 if (exportName === "__esModule") {
50952 throw spec.get("exported").buildCodeFrameError('Illegal export "__esModule".');
50953 }
50954 });
50955 } else if (child.isExportNamedDeclaration() || child.isExportDefaultDeclaration()) {
50956 hasExports = true;
50957 }
50958 });
50959
50960 for (var _iterator2 = _createForOfIteratorHelperLoose(sourceData.values()), _step2; !(_step2 = _iterator2()).done;) {
50961 var metadata = _step2.value;
50962 var needsDefault = false;
50963 var needsNamed = false;
50964
50965 if (metadata.importsNamespace.size > 0) {
50966 needsDefault = true;
50967 needsNamed = true;
50968 }
50969
50970 if (metadata.reexportAll) {
50971 needsNamed = true;
50972 }
50973
50974 for (var _iterator4 = _createForOfIteratorHelperLoose(metadata.imports.values()), _step4; !(_step4 = _iterator4()).done;) {
50975 var importName = _step4.value;
50976 if (importName === "default") needsDefault = true;else needsNamed = true;
50977 }
50978
50979 for (var _iterator5 = _createForOfIteratorHelperLoose(metadata.reexports.values()), _step5; !(_step5 = _iterator5()).done;) {
50980 var _importName = _step5.value;
50981 if (_importName === "default") needsDefault = true;else needsNamed = true;
50982 }
50983
50984 if (needsDefault && needsNamed) {
50985 metadata.interop = "namespace";
50986 } else if (needsDefault) {
50987 metadata.interop = "default";
50988 }
50989 }
50990
50991 for (var _iterator3 = _createForOfIteratorHelperLoose(sourceData), _step3; !(_step3 = _iterator3()).done;) {
50992 var _step3$value = _slicedToArray$2(_step3.value, 2),
50993 source = _step3$value[0],
50994 _metadata = _step3$value[1];
50995
50996 if (lazy !== false && !(isSideEffectImport(_metadata) || _metadata.reexportAll)) {
50997 if (lazy === true) {
50998 _metadata.lazy = !/\./.test(source);
50999 } else if (Array.isArray(lazy)) {
51000 _metadata.lazy = lazy.indexOf(source) !== -1;
51001 } else if (typeof lazy === "function") {
51002 _metadata.lazy = lazy(source);
51003 } else {
51004 throw new Error(".lazy must be a boolean, string array, or function");
51005 }
51006 }
51007 }
51008
51009 return {
51010 hasExports: hasExports,
51011 local: localData,
51012 source: sourceData
51013 };
51014 }
51015
51016 function getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers) {
51017 var bindingKindLookup = new Map();
51018 programPath.get("body").forEach(function (child) {
51019 var kind;
51020
51021 if (child.isImportDeclaration()) {
51022 kind = "import";
51023 } else {
51024 if (child.isExportDefaultDeclaration()) child = child.get("declaration");
51025
51026 if (child.isExportNamedDeclaration()) {
51027 if (child.node.declaration) {
51028 child = child.get("declaration");
51029 } else if (initializeReexports && child.node.source && child.get("source").isStringLiteral()) {
51030 child.get("specifiers").forEach(function (spec) {
51031 assertExportSpecifier(spec);
51032 bindingKindLookup.set(spec.get("local").node.name, "block");
51033 });
51034 return;
51035 }
51036 }
51037
51038 if (child.isFunctionDeclaration()) {
51039 kind = "hoisted";
51040 } else if (child.isClassDeclaration()) {
51041 kind = "block";
51042 } else if (child.isVariableDeclaration({
51043 kind: "var"
51044 })) {
51045 kind = "var";
51046 } else if (child.isVariableDeclaration()) {
51047 kind = "block";
51048 } else {
51049 return;
51050 }
51051 }
51052
51053 Object.keys(child.getOuterBindingIdentifiers()).forEach(function (name) {
51054 bindingKindLookup.set(name, kind);
51055 });
51056 });
51057 var localMetadata = new Map();
51058
51059 var getLocalMetadata = function getLocalMetadata(idPath) {
51060 var localName = idPath.node.name;
51061 var metadata = localMetadata.get(localName);
51062
51063 if (!metadata) {
51064 var kind = bindingKindLookup.get(localName);
51065
51066 if (kind === undefined) {
51067 throw idPath.buildCodeFrameError("Exporting local \"" + localName + "\", which is not declared.");
51068 }
51069
51070 metadata = {
51071 names: [],
51072 kind: kind
51073 };
51074 localMetadata.set(localName, metadata);
51075 }
51076
51077 return metadata;
51078 };
51079
51080 programPath.get("body").forEach(function (child) {
51081 if (child.isExportNamedDeclaration() && (initializeReexports || !child.node.source)) {
51082 if (child.node.declaration) {
51083 var declaration = child.get("declaration");
51084 var ids = declaration.getOuterBindingIdentifierPaths();
51085 Object.keys(ids).forEach(function (name) {
51086 if (name === "__esModule") {
51087 throw declaration.buildCodeFrameError('Illegal export "__esModule".');
51088 }
51089
51090 getLocalMetadata(ids[name]).names.push(name);
51091 });
51092 } else {
51093 child.get("specifiers").forEach(function (spec) {
51094 var local = spec.get("local");
51095 var exported = spec.get("exported");
51096 var localMetadata = getLocalMetadata(local);
51097 var exportName = getExportSpecifierName$1(exported, stringSpecifiers);
51098
51099 if (exportName === "__esModule") {
51100 throw exported.buildCodeFrameError('Illegal export "__esModule".');
51101 }
51102
51103 localMetadata.names.push(exportName);
51104 });
51105 }
51106 } else if (child.isExportDefaultDeclaration()) {
51107 var _declaration = child.get("declaration");
51108
51109 if (_declaration.isFunctionDeclaration() || _declaration.isClassDeclaration()) {
51110 getLocalMetadata(_declaration.get("id")).names.push("default");
51111 } else {
51112 throw _declaration.buildCodeFrameError("Unexpected default expression export.");
51113 }
51114 }
51115 });
51116 return localMetadata;
51117 }
51118
51119 function nameAnonymousExports(programPath) {
51120 programPath.get("body").forEach(function (child) {
51121 if (!child.isExportDefaultDeclaration()) return;
51122 splitExportDeclaration(child);
51123 });
51124 }
51125
51126 function removeModuleDeclarations(programPath) {
51127 programPath.get("body").forEach(function (child) {
51128 if (child.isImportDeclaration()) {
51129 child.remove();
51130 } else if (child.isExportNamedDeclaration()) {
51131 if (child.node.declaration) {
51132 child.node.declaration._blockHoist = child.node._blockHoist;
51133 child.replaceWith(child.node.declaration);
51134 } else {
51135 child.remove();
51136 }
51137 } else if (child.isExportDefaultDeclaration()) {
51138 var declaration = child.get("declaration");
51139
51140 if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) {
51141 declaration._blockHoist = child.node._blockHoist;
51142 child.replaceWith(declaration);
51143 } else {
51144 throw declaration.buildCodeFrameError("Unexpected default expression export.");
51145 }
51146 } else if (child.isExportAllDeclaration()) {
51147 child.remove();
51148 }
51149 });
51150 }
51151
51152 {
51153 var originalGetModuleName = getModuleName;
51154
51155 getModuleName = function getModuleName(rootOpts, pluginOpts) {
51156 var _pluginOpts$moduleId, _pluginOpts$moduleIds, _pluginOpts$getModule, _pluginOpts$moduleRoo;
51157
51158 return originalGetModuleName(rootOpts, {
51159 moduleId: (_pluginOpts$moduleId = pluginOpts.moduleId) != null ? _pluginOpts$moduleId : rootOpts.moduleId,
51160 moduleIds: (_pluginOpts$moduleIds = pluginOpts.moduleIds) != null ? _pluginOpts$moduleIds : rootOpts.moduleIds,
51161 getModuleId: (_pluginOpts$getModule = pluginOpts.getModuleId) != null ? _pluginOpts$getModule : rootOpts.getModuleId,
51162 moduleRoot: (_pluginOpts$moduleRoo = pluginOpts.moduleRoot) != null ? _pluginOpts$moduleRoo : rootOpts.moduleRoot
51163 });
51164 };
51165 }
51166 function getModuleName(rootOpts, pluginOpts) {
51167 var filename = rootOpts.filename,
51168 _rootOpts$filenameRel = rootOpts.filenameRelative,
51169 filenameRelative = _rootOpts$filenameRel === void 0 ? filename : _rootOpts$filenameRel,
51170 _rootOpts$sourceRoot = rootOpts.sourceRoot,
51171 sourceRoot = _rootOpts$sourceRoot === void 0 ? pluginOpts.moduleRoot : _rootOpts$sourceRoot;
51172 var moduleId = pluginOpts.moduleId,
51173 _pluginOpts$moduleIds2 = pluginOpts.moduleIds,
51174 moduleIds = _pluginOpts$moduleIds2 === void 0 ? !!moduleId : _pluginOpts$moduleIds2,
51175 getModuleId = pluginOpts.getModuleId,
51176 _pluginOpts$moduleRoo2 = pluginOpts.moduleRoot,
51177 moduleRoot = _pluginOpts$moduleRoo2 === void 0 ? sourceRoot : _pluginOpts$moduleRoo2;
51178 if (!moduleIds) return null;
51179
51180 if (moduleId != null && !getModuleId) {
51181 return moduleId;
51182 }
51183
51184 var moduleName = moduleRoot != null ? moduleRoot + "/" : "";
51185
51186 if (filenameRelative) {
51187 var sourceRootReplacer = sourceRoot != null ? new RegExp("^" + sourceRoot + "/?") : "";
51188 moduleName += filenameRelative.replace(sourceRootReplacer, "").replace(/\.(\w*?)$/, "");
51189 }
51190
51191 moduleName = moduleName.replace(/\\/g, "/");
51192
51193 if (getModuleId) {
51194 return getModuleId(moduleName) || moduleName;
51195 } else {
51196 return moduleName;
51197 }
51198 }
51199
51200 var _templateObject$l, _templateObject2$a, _templateObject3$9, _templateObject4$5, _templateObject5$3, _templateObject6$3, _templateObject7$2, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11$1, _templateObject12$1, _templateObject13$1;
51201 function rewriteModuleStatementsAndPrepareHeader(path, _ref) {
51202 var loose = _ref.loose,
51203 exportName = _ref.exportName,
51204 strict = _ref.strict,
51205 allowTopLevelThis = _ref.allowTopLevelThis,
51206 strictMode = _ref.strictMode,
51207 noInterop = _ref.noInterop,
51208 _ref$importInterop = _ref.importInterop,
51209 importInterop = _ref$importInterop === void 0 ? noInterop ? "none" : "babel" : _ref$importInterop,
51210 lazy = _ref.lazy,
51211 esNamespaceOnly = _ref.esNamespaceOnly,
51212 _ref$constantReexport = _ref.constantReexports,
51213 constantReexports = _ref$constantReexport === void 0 ? loose : _ref$constantReexport,
51214 _ref$enumerableModule = _ref.enumerableModuleMeta,
51215 enumerableModuleMeta = _ref$enumerableModule === void 0 ? loose : _ref$enumerableModule;
51216 validateImportInteropOption(importInterop);
51217 assert_1(isModule(path), "Cannot process module statements in a script");
51218 path.node.sourceType = "script";
51219 var meta = normalizeModuleAndLoadMetadata(path, exportName, {
51220 importInterop: importInterop,
51221 initializeReexports: constantReexports,
51222 lazy: lazy,
51223 esNamespaceOnly: esNamespaceOnly
51224 });
51225
51226 if (!allowTopLevelThis) {
51227 rewriteThis(path);
51228 }
51229
51230 rewriteLiveReferences(path, meta);
51231
51232 if (strictMode !== false) {
51233 var hasStrict = path.node.directives.some(function (directive) {
51234 return directive.value.value === "use strict";
51235 });
51236
51237 if (!hasStrict) {
51238 path.unshiftContainer("directives", directive(directiveLiteral("use strict")));
51239 }
51240 }
51241
51242 var headers = [];
51243
51244 if (hasExports(meta) && !strict) {
51245 headers.push(buildESModuleHeader(meta, enumerableModuleMeta));
51246 }
51247
51248 var nameList = buildExportNameListDeclaration(path, meta);
51249
51250 if (nameList) {
51251 meta.exportNameListName = nameList.name;
51252 headers.push(nameList.statement);
51253 }
51254
51255 headers.push.apply(headers, _toConsumableArray(buildExportInitializationStatements(path, meta, constantReexports)));
51256 return {
51257 meta: meta,
51258 headers: headers
51259 };
51260 }
51261 function ensureStatementsHoisted(statements) {
51262 statements.forEach(function (header) {
51263 header._blockHoist = 3;
51264 });
51265 }
51266 function wrapInterop(programPath, expr, type) {
51267 if (type === "none") {
51268 return null;
51269 }
51270
51271 if (type === "node-namespace") {
51272 return callExpression(programPath.hub.addHelper("interopRequireWildcard"), [expr, booleanLiteral(true)]);
51273 } else if (type === "node-default") {
51274 return null;
51275 }
51276
51277 var helper;
51278
51279 if (type === "default") {
51280 helper = "interopRequireDefault";
51281 } else if (type === "namespace") {
51282 helper = "interopRequireWildcard";
51283 } else {
51284 throw new Error("Unknown interop: " + type);
51285 }
51286
51287 return callExpression(programPath.hub.addHelper(helper), [expr]);
51288 }
51289 function buildNamespaceInitStatements(metadata, sourceMetadata, constantReexports) {
51290 if (constantReexports === void 0) {
51291 constantReexports = false;
51292 }
51293
51294 var statements = [];
51295 var srcNamespace = identifier(sourceMetadata.name);
51296 if (sourceMetadata.lazy) srcNamespace = callExpression(srcNamespace, []);
51297
51298 for (var _iterator = _createForOfIteratorHelperLoose(sourceMetadata.importsNamespace), _step; !(_step = _iterator()).done;) {
51299 var localName = _step.value;
51300 if (localName === sourceMetadata.name) continue;
51301 statements.push(template$2.statement(_templateObject$l || (_templateObject$l = _taggedTemplateLiteralLoose(["var NAME = SOURCE;"])))({
51302 NAME: localName,
51303 SOURCE: cloneNode(srcNamespace)
51304 }));
51305 }
51306
51307 if (constantReexports) {
51308 statements.push.apply(statements, _toConsumableArray(buildReexportsFromMeta(metadata, sourceMetadata, true)));
51309 }
51310
51311 for (var _iterator2 = _createForOfIteratorHelperLoose(sourceMetadata.reexportNamespace), _step2; !(_step2 = _iterator2()).done;) {
51312 var exportName = _step2.value;
51313 statements.push((sourceMetadata.lazy ? template$2.statement(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteralLoose(["\n Object.defineProperty(EXPORTS, \"NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE;\n }\n });\n "]))) : template$2.statement(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteralLoose(["EXPORTS.NAME = NAMESPACE;"]))))({
51314 EXPORTS: metadata.exportName,
51315 NAME: exportName,
51316 NAMESPACE: cloneNode(srcNamespace)
51317 }));
51318 }
51319
51320 if (sourceMetadata.reexportAll) {
51321 var statement = buildNamespaceReexport(metadata, cloneNode(srcNamespace), constantReexports);
51322 statement.loc = sourceMetadata.reexportAll.loc;
51323 statements.push(statement);
51324 }
51325
51326 return statements;
51327 }
51328 var ReexportTemplate = {
51329 constant: template$2.statement(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteralLoose(["EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;"]))),
51330 constantComputed: template$2.statement(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteralLoose(["EXPORTS[\"EXPORT_NAME\"] = NAMESPACE_IMPORT;"]))),
51331 spec: template$2(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(EXPORTS, \"EXPORT_NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE_IMPORT;\n },\n });\n "])))
51332 };
51333
51334 var buildReexportsFromMeta = function buildReexportsFromMeta(meta, metadata, constantReexports) {
51335 var namespace = metadata.lazy ? callExpression(identifier(metadata.name), []) : identifier(metadata.name);
51336 var stringSpecifiers = meta.stringSpecifiers;
51337 return Array.from(metadata.reexports, function (_ref2) {
51338 var _ref3 = _slicedToArray$2(_ref2, 2),
51339 exportName = _ref3[0],
51340 importName = _ref3[1];
51341
51342 var NAMESPACE_IMPORT = cloneNode(namespace);
51343
51344 if (importName === "default" && metadata.interop === "node-default") ; else if (stringSpecifiers.has(importName)) {
51345 NAMESPACE_IMPORT = memberExpression(NAMESPACE_IMPORT, stringLiteral(importName), true);
51346 } else {
51347 NAMESPACE_IMPORT = memberExpression(NAMESPACE_IMPORT, identifier(importName));
51348 }
51349
51350 var astNodes = {
51351 EXPORTS: meta.exportName,
51352 EXPORT_NAME: exportName,
51353 NAMESPACE_IMPORT: NAMESPACE_IMPORT
51354 };
51355
51356 if (constantReexports || isIdentifier(NAMESPACE_IMPORT)) {
51357 if (stringSpecifiers.has(exportName)) {
51358 return ReexportTemplate.constantComputed(astNodes);
51359 } else {
51360 return ReexportTemplate.constant(astNodes);
51361 }
51362 } else {
51363 return ReexportTemplate.spec(astNodes);
51364 }
51365 });
51366 };
51367
51368 function buildESModuleHeader(metadata, enumerableModuleMeta) {
51369 if (enumerableModuleMeta === void 0) {
51370 enumerableModuleMeta = false;
51371 }
51372
51373 return (enumerableModuleMeta ? template$2.statement(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteralLoose(["\n EXPORTS.__esModule = true;\n "]))) : template$2.statement(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(EXPORTS, \"__esModule\", {\n value: true,\n });\n "]))))({
51374 EXPORTS: metadata.exportName
51375 });
51376 }
51377
51378 function buildNamespaceReexport(metadata, namespace, constantReexports) {
51379 return (constantReexports ? template$2.statement(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteralLoose(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n EXPORTS[key] = NAMESPACE[key];\n });\n "]))) : template$2.statement(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteralLoose(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n Object.defineProperty(EXPORTS, key, {\n enumerable: true,\n get: function() {\n return NAMESPACE[key];\n },\n });\n });\n "]))))({
51380 NAMESPACE: namespace,
51381 EXPORTS: metadata.exportName,
51382 VERIFY_NAME_LIST: metadata.exportNameListName ? template$2(_templateObject11$1 || (_templateObject11$1 = _taggedTemplateLiteralLoose(["\n if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;\n "])))({
51383 EXPORTS_LIST: metadata.exportNameListName
51384 }) : null
51385 });
51386 }
51387
51388 function buildExportNameListDeclaration(programPath, metadata) {
51389 var exportedVars = Object.create(null);
51390
51391 for (var _iterator3 = _createForOfIteratorHelperLoose(metadata.local.values()), _step3; !(_step3 = _iterator3()).done;) {
51392 var data = _step3.value;
51393
51394 for (var _iterator5 = _createForOfIteratorHelperLoose(data.names), _step5; !(_step5 = _iterator5()).done;) {
51395 var _name = _step5.value;
51396 exportedVars[_name] = true;
51397 }
51398 }
51399
51400 var hasReexport = false;
51401
51402 for (var _iterator4 = _createForOfIteratorHelperLoose(metadata.source.values()), _step4; !(_step4 = _iterator4()).done;) {
51403 var _data = _step4.value;
51404
51405 for (var _iterator6 = _createForOfIteratorHelperLoose(_data.reexports.keys()), _step6; !(_step6 = _iterator6()).done;) {
51406 var exportName = _step6.value;
51407 exportedVars[exportName] = true;
51408 }
51409
51410 for (var _iterator7 = _createForOfIteratorHelperLoose(_data.reexportNamespace), _step7; !(_step7 = _iterator7()).done;) {
51411 var _exportName = _step7.value;
51412 exportedVars[_exportName] = true;
51413 }
51414
51415 hasReexport = hasReexport || !!_data.reexportAll;
51416 }
51417
51418 if (!hasReexport || Object.keys(exportedVars).length === 0) return null;
51419 var name = programPath.scope.generateUidIdentifier("exportNames");
51420 delete exportedVars["default"];
51421 return {
51422 name: name.name,
51423 statement: variableDeclaration("var", [variableDeclarator(name, valueToNode(exportedVars))])
51424 };
51425 }
51426
51427 function buildExportInitializationStatements(programPath, metadata, constantReexports) {
51428 if (constantReexports === void 0) {
51429 constantReexports = false;
51430 }
51431
51432 var initStatements = [];
51433 var exportNames = [];
51434
51435 for (var _iterator8 = _createForOfIteratorHelperLoose(metadata.local), _step8; !(_step8 = _iterator8()).done;) {
51436 var _step8$value = _slicedToArray$2(_step8.value, 2),
51437 localName = _step8$value[0],
51438 data = _step8$value[1];
51439
51440 if (data.kind === "import") ; else if (data.kind === "hoisted") {
51441 initStatements.push(buildInitStatement(metadata, data.names, identifier(localName)));
51442 } else {
51443 exportNames.push.apply(exportNames, _toConsumableArray(data.names));
51444 }
51445 }
51446
51447 for (var _iterator9 = _createForOfIteratorHelperLoose(metadata.source.values()), _step9; !(_step9 = _iterator9()).done;) {
51448 var _data2 = _step9.value;
51449
51450 if (!constantReexports) {
51451 initStatements.push.apply(initStatements, _toConsumableArray(buildReexportsFromMeta(metadata, _data2, false)));
51452 }
51453
51454 for (var _iterator10 = _createForOfIteratorHelperLoose(_data2.reexportNamespace), _step10; !(_step10 = _iterator10()).done;) {
51455 var exportName = _step10.value;
51456 exportNames.push(exportName);
51457 }
51458 }
51459
51460 initStatements.push.apply(initStatements, _toConsumableArray(chunk(exportNames, 100).map(function (members) {
51461 return buildInitStatement(metadata, members, programPath.scope.buildUndefinedNode());
51462 })));
51463 return initStatements;
51464 }
51465
51466 var InitTemplate = {
51467 computed: template$2.expression(_templateObject12$1 || (_templateObject12$1 = _taggedTemplateLiteralLoose(["EXPORTS[\"NAME\"] = VALUE"]))),
51468 "default": template$2.expression(_templateObject13$1 || (_templateObject13$1 = _taggedTemplateLiteralLoose(["EXPORTS.NAME = VALUE"])))
51469 };
51470
51471 function buildInitStatement(metadata, exportNames, initExpr) {
51472 var stringSpecifiers = metadata.stringSpecifiers,
51473 EXPORTS = metadata.exportName;
51474 return expressionStatement(exportNames.reduce(function (acc, exportName) {
51475 var params = {
51476 EXPORTS: EXPORTS,
51477 NAME: exportName,
51478 VALUE: acc
51479 };
51480
51481 if (stringSpecifiers.has(exportName)) {
51482 return InitTemplate.computed(params);
51483 } else {
51484 return InitTemplate["default"](params);
51485 }
51486 }, initExpr));
51487 }
51488
51489 function chunk(array, size) {
51490 var chunks = [];
51491
51492 for (var i = 0; i < array.length; i += size) {
51493 chunks.push(array.slice(i, i + size));
51494 }
51495
51496 return chunks;
51497 }
51498
51499 var SEMVER_SPEC_VERSION$3 = '2.0.0';
51500 var MAX_LENGTH$b = 256;
51501 var MAX_SAFE_INTEGER$7 = Number.MAX_SAFE_INTEGER || 9007199254740991;
51502 var MAX_SAFE_COMPONENT_LENGTH$3 = 16;
51503 var constants$3 = {
51504 SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION$3,
51505 MAX_LENGTH: MAX_LENGTH$b,
51506 MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$7,
51507 MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH$3
51508 };
51509
51510 var debug$5 = typeof browser$6 === 'object' && browser$6.env && browser$6.env.NODE_DEBUG && /\bsemver\b/i.test(browser$6.env.NODE_DEBUG) ? function () {
51511 var _console;
51512
51513 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
51514 args[_key] = arguments[_key];
51515 }
51516
51517 return (_console = console).error.apply(_console, ['SEMVER'].concat(args));
51518 } : function () {};
51519 var debug_1$3 = debug$5;
51520
51521 var re_1$3 = createCommonjsModule(function (module, exports) {
51522 var MAX_SAFE_COMPONENT_LENGTH = constants$3.MAX_SAFE_COMPONENT_LENGTH;
51523 exports = module.exports = {};
51524 var re = exports.re = [];
51525 var src = exports.src = [];
51526 var t = exports.t = {};
51527 var R = 0;
51528
51529 var createToken = function createToken(name, value, isGlobal) {
51530 var index = R++;
51531 debug_1$3(index, value);
51532 t[name] = index;
51533 src[index] = value;
51534 re[index] = new RegExp(value, isGlobal ? 'g' : undefined);
51535 };
51536
51537 createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*');
51538 createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+');
51539 createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*');
51540 createToken('MAINVERSION', "(" + src[t.NUMERICIDENTIFIER] + ")\\." + ("(" + src[t.NUMERICIDENTIFIER] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIER] + ")"));
51541 createToken('MAINVERSIONLOOSE', "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\." + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")"));
51542 createToken('PRERELEASEIDENTIFIER', "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
51543 createToken('PRERELEASEIDENTIFIERLOOSE', "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
51544 createToken('PRERELEASE', "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))");
51545 createToken('PRERELEASELOOSE', "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))");
51546 createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+');
51547 createToken('BUILD', "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))");
51548 createToken('FULLPLAIN', "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?");
51549 createToken('FULL', "^" + src[t.FULLPLAIN] + "$");
51550 createToken('LOOSEPLAIN', "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?");
51551 createToken('LOOSE', "^" + src[t.LOOSEPLAIN] + "$");
51552 createToken('GTLT', '((?:<|>)?=?)');
51553 createToken('XRANGEIDENTIFIERLOOSE', src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*");
51554 createToken('XRANGEIDENTIFIER', src[t.NUMERICIDENTIFIER] + "|x|X|\\*");
51555 createToken('XRANGEPLAIN', "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?") + ")?)?");
51556 createToken('XRANGEPLAINLOOSE', "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?") + ")?)?");
51557 createToken('XRANGE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$");
51558 createToken('XRANGELOOSE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$");
51559 createToken('COERCE', "" + ('(^|[^\\d])' + '(\\d{1,') + MAX_SAFE_COMPONENT_LENGTH + "})" + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + "(?:$|[^\\d])");
51560 createToken('COERCERTL', src[t.COERCE], true);
51561 createToken('LONETILDE', '(?:~>?)');
51562 createToken('TILDETRIM', "(\\s*)" + src[t.LONETILDE] + "\\s+", true);
51563 exports.tildeTrimReplace = '$1~';
51564 createToken('TILDE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$");
51565 createToken('TILDELOOSE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$");
51566 createToken('LONECARET', '(?:\\^)');
51567 createToken('CARETTRIM', "(\\s*)" + src[t.LONECARET] + "\\s+", true);
51568 exports.caretTrimReplace = '$1^';
51569 createToken('CARET', "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$");
51570 createToken('CARETLOOSE', "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$");
51571 createToken('COMPARATORLOOSE', "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$");
51572 createToken('COMPARATOR', "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$");
51573 createToken('COMPARATORTRIM', "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")", true);
51574 exports.comparatorTrimReplace = '$1$2$3';
51575 createToken('HYPHENRANGE', "^\\s*(" + src[t.XRANGEPLAIN] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAIN] + ")") + "\\s*$");
51576 createToken('HYPHENRANGELOOSE', "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAINLOOSE] + ")") + "\\s*$");
51577 createToken('STAR', '(<|>)?=?\\s*\\*');
51578 createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$');
51579 createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$');
51580 }, "/$$rollup_base$$/packages/babel-core/node_modules/semver/node_modules/semver-BABEL_8_BREAKING-true/internal");
51581
51582 var opts$2 = ['includePrerelease', 'loose', 'rtl'];
51583
51584 var parseOptions$2 = function parseOptions(options) {
51585 return !options ? {} : typeof options !== 'object' ? {
51586 loose: true
51587 } : opts$2.filter(function (k) {
51588 return options[k];
51589 }).reduce(function (options, k) {
51590 options[k] = true;
51591 return options;
51592 }, {});
51593 };
51594
51595 var parseOptions_1$2 = parseOptions$2;
51596
51597 var numeric$3 = /^[0-9]+$/;
51598
51599 var compareIdentifiers$7 = function compareIdentifiers(a, b) {
51600 var anum = numeric$3.test(a);
51601 var bnum = numeric$3.test(b);
51602
51603 if (anum && bnum) {
51604 a = +a;
51605 b = +b;
51606 }
51607
51608 return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
51609 };
51610
51611 var rcompareIdentifiers$3 = function rcompareIdentifiers(a, b) {
51612 return compareIdentifiers$7(b, a);
51613 };
51614
51615 var identifiers$3 = {
51616 compareIdentifiers: compareIdentifiers$7,
51617 rcompareIdentifiers: rcompareIdentifiers$3
51618 };
51619
51620 var MAX_LENGTH$a = constants$3.MAX_LENGTH,
51621 MAX_SAFE_INTEGER$6 = constants$3.MAX_SAFE_INTEGER;
51622 var re$h = re_1$3.re,
51623 t$o = re_1$3.t;
51624 var compareIdentifiers$6 = identifiers$3.compareIdentifiers;
51625
51626 var SemVer$3 = function () {
51627 function SemVer(version, options) {
51628 options = parseOptions_1$2(options);
51629
51630 if (version instanceof SemVer) {
51631 if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
51632 return version;
51633 } else {
51634 version = version.version;
51635 }
51636 } else if (typeof version !== 'string') {
51637 throw new TypeError("Invalid Version: " + version);
51638 }
51639
51640 if (version.length > MAX_LENGTH$a) {
51641 throw new TypeError("version is longer than " + MAX_LENGTH$a + " characters");
51642 }
51643
51644 debug_1$3('SemVer', version, options);
51645 this.options = options;
51646 this.loose = !!options.loose;
51647 this.includePrerelease = !!options.includePrerelease;
51648 var m = version.trim().match(options.loose ? re$h[t$o.LOOSE] : re$h[t$o.FULL]);
51649
51650 if (!m) {
51651 throw new TypeError("Invalid Version: " + version);
51652 }
51653
51654 this.raw = version;
51655 this.major = +m[1];
51656 this.minor = +m[2];
51657 this.patch = +m[3];
51658
51659 if (this.major > MAX_SAFE_INTEGER$6 || this.major < 0) {
51660 throw new TypeError('Invalid major version');
51661 }
51662
51663 if (this.minor > MAX_SAFE_INTEGER$6 || this.minor < 0) {
51664 throw new TypeError('Invalid minor version');
51665 }
51666
51667 if (this.patch > MAX_SAFE_INTEGER$6 || this.patch < 0) {
51668 throw new TypeError('Invalid patch version');
51669 }
51670
51671 if (!m[4]) {
51672 this.prerelease = [];
51673 } else {
51674 this.prerelease = m[4].split('.').map(function (id) {
51675 if (/^[0-9]+$/.test(id)) {
51676 var num = +id;
51677
51678 if (num >= 0 && num < MAX_SAFE_INTEGER$6) {
51679 return num;
51680 }
51681 }
51682
51683 return id;
51684 });
51685 }
51686
51687 this.build = m[5] ? m[5].split('.') : [];
51688 this.format();
51689 }
51690
51691 var _proto = SemVer.prototype;
51692
51693 _proto.format = function format() {
51694 this.version = this.major + "." + this.minor + "." + this.patch;
51695
51696 if (this.prerelease.length) {
51697 this.version += "-" + this.prerelease.join('.');
51698 }
51699
51700 return this.version;
51701 };
51702
51703 _proto.toString = function toString() {
51704 return this.version;
51705 };
51706
51707 _proto.compare = function compare(other) {
51708 debug_1$3('SemVer.compare', this.version, this.options, other);
51709
51710 if (!(other instanceof SemVer)) {
51711 if (typeof other === 'string' && other === this.version) {
51712 return 0;
51713 }
51714
51715 other = new SemVer(other, this.options);
51716 }
51717
51718 if (other.version === this.version) {
51719 return 0;
51720 }
51721
51722 return this.compareMain(other) || this.comparePre(other);
51723 };
51724
51725 _proto.compareMain = function compareMain(other) {
51726 if (!(other instanceof SemVer)) {
51727 other = new SemVer(other, this.options);
51728 }
51729
51730 return compareIdentifiers$6(this.major, other.major) || compareIdentifiers$6(this.minor, other.minor) || compareIdentifiers$6(this.patch, other.patch);
51731 };
51732
51733 _proto.comparePre = function comparePre(other) {
51734 if (!(other instanceof SemVer)) {
51735 other = new SemVer(other, this.options);
51736 }
51737
51738 if (this.prerelease.length && !other.prerelease.length) {
51739 return -1;
51740 } else if (!this.prerelease.length && other.prerelease.length) {
51741 return 1;
51742 } else if (!this.prerelease.length && !other.prerelease.length) {
51743 return 0;
51744 }
51745
51746 var i = 0;
51747
51748 do {
51749 var a = this.prerelease[i];
51750 var b = other.prerelease[i];
51751 debug_1$3('prerelease compare', i, a, b);
51752
51753 if (a === undefined && b === undefined) {
51754 return 0;
51755 } else if (b === undefined) {
51756 return 1;
51757 } else if (a === undefined) {
51758 return -1;
51759 } else if (a === b) {
51760 continue;
51761 } else {
51762 return compareIdentifiers$6(a, b);
51763 }
51764 } while (++i);
51765 };
51766
51767 _proto.compareBuild = function compareBuild(other) {
51768 if (!(other instanceof SemVer)) {
51769 other = new SemVer(other, this.options);
51770 }
51771
51772 var i = 0;
51773
51774 do {
51775 var a = this.build[i];
51776 var b = other.build[i];
51777 debug_1$3('prerelease compare', i, a, b);
51778
51779 if (a === undefined && b === undefined) {
51780 return 0;
51781 } else if (b === undefined) {
51782 return 1;
51783 } else if (a === undefined) {
51784 return -1;
51785 } else if (a === b) {
51786 continue;
51787 } else {
51788 return compareIdentifiers$6(a, b);
51789 }
51790 } while (++i);
51791 };
51792
51793 _proto.inc = function inc(release, identifier) {
51794 switch (release) {
51795 case 'premajor':
51796 this.prerelease.length = 0;
51797 this.patch = 0;
51798 this.minor = 0;
51799 this.major++;
51800 this.inc('pre', identifier);
51801 break;
51802
51803 case 'preminor':
51804 this.prerelease.length = 0;
51805 this.patch = 0;
51806 this.minor++;
51807 this.inc('pre', identifier);
51808 break;
51809
51810 case 'prepatch':
51811 this.prerelease.length = 0;
51812 this.inc('patch', identifier);
51813 this.inc('pre', identifier);
51814 break;
51815
51816 case 'prerelease':
51817 if (this.prerelease.length === 0) {
51818 this.inc('patch', identifier);
51819 }
51820
51821 this.inc('pre', identifier);
51822 break;
51823
51824 case 'major':
51825 if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
51826 this.major++;
51827 }
51828
51829 this.minor = 0;
51830 this.patch = 0;
51831 this.prerelease = [];
51832 break;
51833
51834 case 'minor':
51835 if (this.patch !== 0 || this.prerelease.length === 0) {
51836 this.minor++;
51837 }
51838
51839 this.patch = 0;
51840 this.prerelease = [];
51841 break;
51842
51843 case 'patch':
51844 if (this.prerelease.length === 0) {
51845 this.patch++;
51846 }
51847
51848 this.prerelease = [];
51849 break;
51850
51851 case 'pre':
51852 if (this.prerelease.length === 0) {
51853 this.prerelease = [0];
51854 } else {
51855 var i = this.prerelease.length;
51856
51857 while (--i >= 0) {
51858 if (typeof this.prerelease[i] === 'number') {
51859 this.prerelease[i]++;
51860 i = -2;
51861 }
51862 }
51863
51864 if (i === -1) {
51865 this.prerelease.push(0);
51866 }
51867 }
51868
51869 if (identifier) {
51870 if (this.prerelease[0] === identifier) {
51871 if (isNaN(this.prerelease[1])) {
51872 this.prerelease = [identifier, 0];
51873 }
51874 } else {
51875 this.prerelease = [identifier, 0];
51876 }
51877 }
51878
51879 break;
51880
51881 default:
51882 throw new Error("invalid increment argument: " + release);
51883 }
51884
51885 this.format();
51886 this.raw = this.version;
51887 return this;
51888 };
51889
51890 return SemVer;
51891 }();
51892
51893 var semver$c = SemVer$3;
51894
51895 var MAX_LENGTH$9 = constants$3.MAX_LENGTH;
51896 var re$g = re_1$3.re,
51897 t$n = re_1$3.t;
51898
51899 var parse$7 = function parse(version, options) {
51900 options = parseOptions_1$2(options);
51901
51902 if (version instanceof semver$c) {
51903 return version;
51904 }
51905
51906 if (typeof version !== 'string') {
51907 return null;
51908 }
51909
51910 if (version.length > MAX_LENGTH$9) {
51911 return null;
51912 }
51913
51914 var r = options.loose ? re$g[t$n.LOOSE] : re$g[t$n.FULL];
51915
51916 if (!r.test(version)) {
51917 return null;
51918 }
51919
51920 try {
51921 return new semver$c(version, options);
51922 } catch (er) {
51923 return null;
51924 }
51925 };
51926
51927 var parse_1$3 = parse$7;
51928
51929 var valid$5 = function valid(version, options) {
51930 var v = parse_1$3(version, options);
51931 return v ? v.version : null;
51932 };
51933
51934 var valid_1$2 = valid$5;
51935
51936 var clean$2 = function clean(version, options) {
51937 var s = parse_1$3(version.trim().replace(/^[=v]+/, ''), options);
51938 return s ? s.version : null;
51939 };
51940
51941 var clean_1$2 = clean$2;
51942
51943 var inc$2 = function inc(version, release, options, identifier) {
51944 if (typeof options === 'string') {
51945 identifier = options;
51946 options = undefined;
51947 }
51948
51949 try {
51950 return new semver$c(version, options).inc(release, identifier).version;
51951 } catch (er) {
51952 return null;
51953 }
51954 };
51955
51956 var inc_1$2 = inc$2;
51957
51958 var compare$6 = function compare(a, b, loose) {
51959 return new semver$c(a, loose).compare(new semver$c(b, loose));
51960 };
51961
51962 var compare_1$3 = compare$6;
51963
51964 var eq$3 = function eq(a, b, loose) {
51965 return compare_1$3(a, b, loose) === 0;
51966 };
51967
51968 var eq_1$3 = eq$3;
51969
51970 var diff$2 = function diff(version1, version2) {
51971 if (eq_1$3(version1, version2)) {
51972 return null;
51973 } else {
51974 var v1 = parse_1$3(version1);
51975 var v2 = parse_1$3(version2);
51976 var hasPre = v1.prerelease.length || v2.prerelease.length;
51977 var prefix = hasPre ? 'pre' : '';
51978 var defaultResult = hasPre ? 'prerelease' : '';
51979
51980 for (var key in v1) {
51981 if (key === 'major' || key === 'minor' || key === 'patch') {
51982 if (v1[key] !== v2[key]) {
51983 return prefix + key;
51984 }
51985 }
51986 }
51987
51988 return defaultResult;
51989 }
51990 };
51991
51992 var diff_1$2 = diff$2;
51993
51994 var major$2 = function major(a, loose) {
51995 return new semver$c(a, loose).major;
51996 };
51997
51998 var major_1$2 = major$2;
51999
52000 var minor$2 = function minor(a, loose) {
52001 return new semver$c(a, loose).minor;
52002 };
52003
52004 var minor_1$2 = minor$2;
52005
52006 var patch$2 = function patch(a, loose) {
52007 return new semver$c(a, loose).patch;
52008 };
52009
52010 var patch_1$2 = patch$2;
52011
52012 var prerelease$2 = function prerelease(version, options) {
52013 var parsed = parse_1$3(version, options);
52014 return parsed && parsed.prerelease.length ? parsed.prerelease : null;
52015 };
52016
52017 var prerelease_1$2 = prerelease$2;
52018
52019 var rcompare$2 = function rcompare(a, b, loose) {
52020 return compare_1$3(b, a, loose);
52021 };
52022
52023 var rcompare_1$2 = rcompare$2;
52024
52025 var compareLoose$2 = function compareLoose(a, b) {
52026 return compare_1$3(a, b, true);
52027 };
52028
52029 var compareLoose_1$2 = compareLoose$2;
52030
52031 var compareBuild$2 = function compareBuild(a, b, loose) {
52032 var versionA = new semver$c(a, loose);
52033 var versionB = new semver$c(b, loose);
52034 return versionA.compare(versionB) || versionA.compareBuild(versionB);
52035 };
52036
52037 var compareBuild_1$2 = compareBuild$2;
52038
52039 var sort$2 = function sort(list, loose) {
52040 return list.sort(function (a, b) {
52041 return compareBuild_1$2(a, b, loose);
52042 });
52043 };
52044
52045 var sort_1$2 = sort$2;
52046
52047 var rsort$2 = function rsort(list, loose) {
52048 return list.sort(function (a, b) {
52049 return compareBuild_1$2(b, a, loose);
52050 });
52051 };
52052
52053 var rsort_1$2 = rsort$2;
52054
52055 var gt$3 = function gt(a, b, loose) {
52056 return compare_1$3(a, b, loose) > 0;
52057 };
52058
52059 var gt_1$3 = gt$3;
52060
52061 var lt$3 = function lt(a, b, loose) {
52062 return compare_1$3(a, b, loose) < 0;
52063 };
52064
52065 var lt_1$3 = lt$3;
52066
52067 var neq$3 = function neq(a, b, loose) {
52068 return compare_1$3(a, b, loose) !== 0;
52069 };
52070
52071 var neq_1$3 = neq$3;
52072
52073 var gte$3 = function gte(a, b, loose) {
52074 return compare_1$3(a, b, loose) >= 0;
52075 };
52076
52077 var gte_1$3 = gte$3;
52078
52079 var lte$3 = function lte(a, b, loose) {
52080 return compare_1$3(a, b, loose) <= 0;
52081 };
52082
52083 var lte_1$3 = lte$3;
52084
52085 var cmp$3 = function cmp(a, op, b, loose) {
52086 switch (op) {
52087 case '===':
52088 if (typeof a === 'object') a = a.version;
52089 if (typeof b === 'object') b = b.version;
52090 return a === b;
52091
52092 case '!==':
52093 if (typeof a === 'object') a = a.version;
52094 if (typeof b === 'object') b = b.version;
52095 return a !== b;
52096
52097 case '':
52098 case '=':
52099 case '==':
52100 return eq_1$3(a, b, loose);
52101
52102 case '!=':
52103 return neq_1$3(a, b, loose);
52104
52105 case '>':
52106 return gt_1$3(a, b, loose);
52107
52108 case '>=':
52109 return gte_1$3(a, b, loose);
52110
52111 case '<':
52112 return lt_1$3(a, b, loose);
52113
52114 case '<=':
52115 return lte_1$3(a, b, loose);
52116
52117 default:
52118 throw new TypeError("Invalid operator: " + op);
52119 }
52120 };
52121
52122 var cmp_1$3 = cmp$3;
52123
52124 var re$f = re_1$3.re,
52125 t$m = re_1$3.t;
52126
52127 var coerce$3 = function coerce(version, options) {
52128 if (version instanceof semver$c) {
52129 return version;
52130 }
52131
52132 if (typeof version === 'number') {
52133 version = String(version);
52134 }
52135
52136 if (typeof version !== 'string') {
52137 return null;
52138 }
52139
52140 options = options || {};
52141 var match = null;
52142
52143 if (!options.rtl) {
52144 match = version.match(re$f[t$m.COERCE]);
52145 } else {
52146 var next;
52147
52148 while ((next = re$f[t$m.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
52149 if (!match || next.index + next[0].length !== match.index + match[0].length) {
52150 match = next;
52151 }
52152
52153 re$f[t$m.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
52154 }
52155
52156 re$f[t$m.COERCERTL].lastIndex = -1;
52157 }
52158
52159 if (match === null) return null;
52160 return parse_1$3(match[2] + "." + (match[3] || '0') + "." + (match[4] || '0'), options);
52161 };
52162
52163 var coerce_1$3 = coerce$3;
52164
52165 var iterator$2 = function iterator(Yallist) {
52166 Yallist.prototype[Symbol.iterator] = regenerator.mark(function _callee() {
52167 var walker;
52168 return regenerator.wrap(function _callee$(_context) {
52169 while (1) {
52170 switch (_context.prev = _context.next) {
52171 case 0:
52172 walker = this.head;
52173
52174 case 1:
52175 if (!walker) {
52176 _context.next = 7;
52177 break;
52178 }
52179
52180 _context.next = 4;
52181 return walker.value;
52182
52183 case 4:
52184 walker = walker.next;
52185 _context.next = 1;
52186 break;
52187
52188 case 7:
52189 case "end":
52190 return _context.stop();
52191 }
52192 }
52193 }, _callee, this);
52194 });
52195 };
52196
52197 var yallist$2 = Yallist$2;
52198 Yallist$2.Node = Node$2;
52199 Yallist$2.create = Yallist$2;
52200
52201 function Yallist$2(list) {
52202 var self = this;
52203
52204 if (!(self instanceof Yallist$2)) {
52205 self = new Yallist$2();
52206 }
52207
52208 self.tail = null;
52209 self.head = null;
52210 self.length = 0;
52211
52212 if (list && typeof list.forEach === 'function') {
52213 list.forEach(function (item) {
52214 self.push(item);
52215 });
52216 } else if (arguments.length > 0) {
52217 for (var i = 0, l = arguments.length; i < l; i++) {
52218 self.push(arguments[i]);
52219 }
52220 }
52221
52222 return self;
52223 }
52224
52225 Yallist$2.prototype.removeNode = function (node) {
52226 if (node.list !== this) {
52227 throw new Error('removing node which does not belong to this list');
52228 }
52229
52230 var next = node.next;
52231 var prev = node.prev;
52232
52233 if (next) {
52234 next.prev = prev;
52235 }
52236
52237 if (prev) {
52238 prev.next = next;
52239 }
52240
52241 if (node === this.head) {
52242 this.head = next;
52243 }
52244
52245 if (node === this.tail) {
52246 this.tail = prev;
52247 }
52248
52249 node.list.length--;
52250 node.next = null;
52251 node.prev = null;
52252 node.list = null;
52253 return next;
52254 };
52255
52256 Yallist$2.prototype.unshiftNode = function (node) {
52257 if (node === this.head) {
52258 return;
52259 }
52260
52261 if (node.list) {
52262 node.list.removeNode(node);
52263 }
52264
52265 var head = this.head;
52266 node.list = this;
52267 node.next = head;
52268
52269 if (head) {
52270 head.prev = node;
52271 }
52272
52273 this.head = node;
52274
52275 if (!this.tail) {
52276 this.tail = node;
52277 }
52278
52279 this.length++;
52280 };
52281
52282 Yallist$2.prototype.pushNode = function (node) {
52283 if (node === this.tail) {
52284 return;
52285 }
52286
52287 if (node.list) {
52288 node.list.removeNode(node);
52289 }
52290
52291 var tail = this.tail;
52292 node.list = this;
52293 node.prev = tail;
52294
52295 if (tail) {
52296 tail.next = node;
52297 }
52298
52299 this.tail = node;
52300
52301 if (!this.head) {
52302 this.head = node;
52303 }
52304
52305 this.length++;
52306 };
52307
52308 Yallist$2.prototype.push = function () {
52309 for (var i = 0, l = arguments.length; i < l; i++) {
52310 push$3(this, arguments[i]);
52311 }
52312
52313 return this.length;
52314 };
52315
52316 Yallist$2.prototype.unshift = function () {
52317 for (var i = 0, l = arguments.length; i < l; i++) {
52318 unshift$2(this, arguments[i]);
52319 }
52320
52321 return this.length;
52322 };
52323
52324 Yallist$2.prototype.pop = function () {
52325 if (!this.tail) {
52326 return undefined;
52327 }
52328
52329 var res = this.tail.value;
52330 this.tail = this.tail.prev;
52331
52332 if (this.tail) {
52333 this.tail.next = null;
52334 } else {
52335 this.head = null;
52336 }
52337
52338 this.length--;
52339 return res;
52340 };
52341
52342 Yallist$2.prototype.shift = function () {
52343 if (!this.head) {
52344 return undefined;
52345 }
52346
52347 var res = this.head.value;
52348 this.head = this.head.next;
52349
52350 if (this.head) {
52351 this.head.prev = null;
52352 } else {
52353 this.tail = null;
52354 }
52355
52356 this.length--;
52357 return res;
52358 };
52359
52360 Yallist$2.prototype.forEach = function (fn, thisp) {
52361 thisp = thisp || this;
52362
52363 for (var walker = this.head, i = 0; walker !== null; i++) {
52364 fn.call(thisp, walker.value, i, this);
52365 walker = walker.next;
52366 }
52367 };
52368
52369 Yallist$2.prototype.forEachReverse = function (fn, thisp) {
52370 thisp = thisp || this;
52371
52372 for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
52373 fn.call(thisp, walker.value, i, this);
52374 walker = walker.prev;
52375 }
52376 };
52377
52378 Yallist$2.prototype.get = function (n) {
52379 for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
52380 walker = walker.next;
52381 }
52382
52383 if (i === n && walker !== null) {
52384 return walker.value;
52385 }
52386 };
52387
52388 Yallist$2.prototype.getReverse = function (n) {
52389 for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
52390 walker = walker.prev;
52391 }
52392
52393 if (i === n && walker !== null) {
52394 return walker.value;
52395 }
52396 };
52397
52398 Yallist$2.prototype.map = function (fn, thisp) {
52399 thisp = thisp || this;
52400 var res = new Yallist$2();
52401
52402 for (var walker = this.head; walker !== null;) {
52403 res.push(fn.call(thisp, walker.value, this));
52404 walker = walker.next;
52405 }
52406
52407 return res;
52408 };
52409
52410 Yallist$2.prototype.mapReverse = function (fn, thisp) {
52411 thisp = thisp || this;
52412 var res = new Yallist$2();
52413
52414 for (var walker = this.tail; walker !== null;) {
52415 res.push(fn.call(thisp, walker.value, this));
52416 walker = walker.prev;
52417 }
52418
52419 return res;
52420 };
52421
52422 Yallist$2.prototype.reduce = function (fn, initial) {
52423 var acc;
52424 var walker = this.head;
52425
52426 if (arguments.length > 1) {
52427 acc = initial;
52428 } else if (this.head) {
52429 walker = this.head.next;
52430 acc = this.head.value;
52431 } else {
52432 throw new TypeError('Reduce of empty list with no initial value');
52433 }
52434
52435 for (var i = 0; walker !== null; i++) {
52436 acc = fn(acc, walker.value, i);
52437 walker = walker.next;
52438 }
52439
52440 return acc;
52441 };
52442
52443 Yallist$2.prototype.reduceReverse = function (fn, initial) {
52444 var acc;
52445 var walker = this.tail;
52446
52447 if (arguments.length > 1) {
52448 acc = initial;
52449 } else if (this.tail) {
52450 walker = this.tail.prev;
52451 acc = this.tail.value;
52452 } else {
52453 throw new TypeError('Reduce of empty list with no initial value');
52454 }
52455
52456 for (var i = this.length - 1; walker !== null; i--) {
52457 acc = fn(acc, walker.value, i);
52458 walker = walker.prev;
52459 }
52460
52461 return acc;
52462 };
52463
52464 Yallist$2.prototype.toArray = function () {
52465 var arr = new Array(this.length);
52466
52467 for (var i = 0, walker = this.head; walker !== null; i++) {
52468 arr[i] = walker.value;
52469 walker = walker.next;
52470 }
52471
52472 return arr;
52473 };
52474
52475 Yallist$2.prototype.toArrayReverse = function () {
52476 var arr = new Array(this.length);
52477
52478 for (var i = 0, walker = this.tail; walker !== null; i++) {
52479 arr[i] = walker.value;
52480 walker = walker.prev;
52481 }
52482
52483 return arr;
52484 };
52485
52486 Yallist$2.prototype.slice = function (from, to) {
52487 to = to || this.length;
52488
52489 if (to < 0) {
52490 to += this.length;
52491 }
52492
52493 from = from || 0;
52494
52495 if (from < 0) {
52496 from += this.length;
52497 }
52498
52499 var ret = new Yallist$2();
52500
52501 if (to < from || to < 0) {
52502 return ret;
52503 }
52504
52505 if (from < 0) {
52506 from = 0;
52507 }
52508
52509 if (to > this.length) {
52510 to = this.length;
52511 }
52512
52513 for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
52514 walker = walker.next;
52515 }
52516
52517 for (; walker !== null && i < to; i++, walker = walker.next) {
52518 ret.push(walker.value);
52519 }
52520
52521 return ret;
52522 };
52523
52524 Yallist$2.prototype.sliceReverse = function (from, to) {
52525 to = to || this.length;
52526
52527 if (to < 0) {
52528 to += this.length;
52529 }
52530
52531 from = from || 0;
52532
52533 if (from < 0) {
52534 from += this.length;
52535 }
52536
52537 var ret = new Yallist$2();
52538
52539 if (to < from || to < 0) {
52540 return ret;
52541 }
52542
52543 if (from < 0) {
52544 from = 0;
52545 }
52546
52547 if (to > this.length) {
52548 to = this.length;
52549 }
52550
52551 for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
52552 walker = walker.prev;
52553 }
52554
52555 for (; walker !== null && i > from; i--, walker = walker.prev) {
52556 ret.push(walker.value);
52557 }
52558
52559 return ret;
52560 };
52561
52562 Yallist$2.prototype.splice = function (start, deleteCount) {
52563 if (start > this.length) {
52564 start = this.length - 1;
52565 }
52566
52567 if (start < 0) {
52568 start = this.length + start;
52569 }
52570
52571 for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
52572 walker = walker.next;
52573 }
52574
52575 var ret = [];
52576
52577 for (var i = 0; walker && i < deleteCount; i++) {
52578 ret.push(walker.value);
52579 walker = this.removeNode(walker);
52580 }
52581
52582 if (walker === null) {
52583 walker = this.tail;
52584 }
52585
52586 if (walker !== this.head && walker !== this.tail) {
52587 walker = walker.prev;
52588 }
52589
52590 for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) {
52591 walker = insert$2(this, walker, i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]);
52592 }
52593
52594 return ret;
52595 };
52596
52597 Yallist$2.prototype.reverse = function () {
52598 var head = this.head;
52599 var tail = this.tail;
52600
52601 for (var walker = head; walker !== null; walker = walker.prev) {
52602 var p = walker.prev;
52603 walker.prev = walker.next;
52604 walker.next = p;
52605 }
52606
52607 this.head = tail;
52608 this.tail = head;
52609 return this;
52610 };
52611
52612 function insert$2(self, node, value) {
52613 var inserted = node === self.head ? new Node$2(value, null, node, self) : new Node$2(value, node, node.next, self);
52614
52615 if (inserted.next === null) {
52616 self.tail = inserted;
52617 }
52618
52619 if (inserted.prev === null) {
52620 self.head = inserted;
52621 }
52622
52623 self.length++;
52624 return inserted;
52625 }
52626
52627 function push$3(self, item) {
52628 self.tail = new Node$2(item, self.tail, null, self);
52629
52630 if (!self.head) {
52631 self.head = self.tail;
52632 }
52633
52634 self.length++;
52635 }
52636
52637 function unshift$2(self, item) {
52638 self.head = new Node$2(item, null, self.head, self);
52639
52640 if (!self.tail) {
52641 self.tail = self.head;
52642 }
52643
52644 self.length++;
52645 }
52646
52647 function Node$2(value, prev, next, list) {
52648 if (!(this instanceof Node$2)) {
52649 return new Node$2(value, prev, next, list);
52650 }
52651
52652 this.list = list;
52653 this.value = value;
52654
52655 if (prev) {
52656 prev.next = this;
52657 this.prev = prev;
52658 } else {
52659 this.prev = null;
52660 }
52661
52662 if (next) {
52663 next.prev = this;
52664 this.next = next;
52665 } else {
52666 this.next = null;
52667 }
52668 }
52669
52670 try {
52671 iterator$2(Yallist$2);
52672 } catch (er) {}
52673
52674 var MAX$2 = Symbol('max');
52675 var LENGTH$2 = Symbol('length');
52676 var LENGTH_CALCULATOR$2 = Symbol('lengthCalculator');
52677 var ALLOW_STALE$2 = Symbol('allowStale');
52678 var MAX_AGE$2 = Symbol('maxAge');
52679 var DISPOSE$2 = Symbol('dispose');
52680 var NO_DISPOSE_ON_SET$2 = Symbol('noDisposeOnSet');
52681 var LRU_LIST$2 = Symbol('lruList');
52682 var CACHE$2 = Symbol('cache');
52683 var UPDATE_AGE_ON_GET$2 = Symbol('updateAgeOnGet');
52684
52685 var naiveLength$2 = function naiveLength() {
52686 return 1;
52687 };
52688
52689 var LRUCache$2 = function () {
52690 function LRUCache(options) {
52691 if (typeof options === 'number') options = {
52692 max: options
52693 };
52694 if (!options) options = {};
52695 if (options.max && (typeof options.max !== 'number' || options.max < 0)) throw new TypeError('max must be a non-negative number');
52696 this[MAX$2] = options.max || Infinity;
52697 var lc = options.length || naiveLength$2;
52698 this[LENGTH_CALCULATOR$2] = typeof lc !== 'function' ? naiveLength$2 : lc;
52699 this[ALLOW_STALE$2] = options.stale || false;
52700 if (options.maxAge && typeof options.maxAge !== 'number') throw new TypeError('maxAge must be a number');
52701 this[MAX_AGE$2] = options.maxAge || 0;
52702 this[DISPOSE$2] = options.dispose;
52703 this[NO_DISPOSE_ON_SET$2] = options.noDisposeOnSet || false;
52704 this[UPDATE_AGE_ON_GET$2] = options.updateAgeOnGet || false;
52705 this.reset();
52706 }
52707
52708 var _proto = LRUCache.prototype;
52709
52710 _proto.rforEach = function rforEach(fn, thisp) {
52711 thisp = thisp || this;
52712
52713 for (var walker = this[LRU_LIST$2].tail; walker !== null;) {
52714 var prev = walker.prev;
52715 forEachStep$2(this, fn, walker, thisp);
52716 walker = prev;
52717 }
52718 };
52719
52720 _proto.forEach = function forEach(fn, thisp) {
52721 thisp = thisp || this;
52722
52723 for (var walker = this[LRU_LIST$2].head; walker !== null;) {
52724 var next = walker.next;
52725 forEachStep$2(this, fn, walker, thisp);
52726 walker = next;
52727 }
52728 };
52729
52730 _proto.keys = function keys() {
52731 return this[LRU_LIST$2].toArray().map(function (k) {
52732 return k.key;
52733 });
52734 };
52735
52736 _proto.values = function values() {
52737 return this[LRU_LIST$2].toArray().map(function (k) {
52738 return k.value;
52739 });
52740 };
52741
52742 _proto.reset = function reset() {
52743 var _this = this;
52744
52745 if (this[DISPOSE$2] && this[LRU_LIST$2] && this[LRU_LIST$2].length) {
52746 this[LRU_LIST$2].forEach(function (hit) {
52747 return _this[DISPOSE$2](hit.key, hit.value);
52748 });
52749 }
52750
52751 this[CACHE$2] = new Map();
52752 this[LRU_LIST$2] = new yallist$2();
52753 this[LENGTH$2] = 0;
52754 };
52755
52756 _proto.dump = function dump() {
52757 var _this2 = this;
52758
52759 return this[LRU_LIST$2].map(function (hit) {
52760 return isStale$2(_this2, hit) ? false : {
52761 k: hit.key,
52762 v: hit.value,
52763 e: hit.now + (hit.maxAge || 0)
52764 };
52765 }).toArray().filter(function (h) {
52766 return h;
52767 });
52768 };
52769
52770 _proto.dumpLru = function dumpLru() {
52771 return this[LRU_LIST$2];
52772 };
52773
52774 _proto.set = function set(key, value, maxAge) {
52775 maxAge = maxAge || this[MAX_AGE$2];
52776 if (maxAge && typeof maxAge !== 'number') throw new TypeError('maxAge must be a number');
52777 var now = maxAge ? Date.now() : 0;
52778 var len = this[LENGTH_CALCULATOR$2](value, key);
52779
52780 if (this[CACHE$2].has(key)) {
52781 if (len > this[MAX$2]) {
52782 _del$2(this, this[CACHE$2].get(key));
52783
52784 return false;
52785 }
52786
52787 var node = this[CACHE$2].get(key);
52788 var item = node.value;
52789
52790 if (this[DISPOSE$2]) {
52791 if (!this[NO_DISPOSE_ON_SET$2]) this[DISPOSE$2](key, item.value);
52792 }
52793
52794 item.now = now;
52795 item.maxAge = maxAge;
52796 item.value = value;
52797 this[LENGTH$2] += len - item.length;
52798 item.length = len;
52799 this.get(key);
52800 trim$2(this);
52801 return true;
52802 }
52803
52804 var hit = new Entry$3(key, value, len, now, maxAge);
52805
52806 if (hit.length > this[MAX$2]) {
52807 if (this[DISPOSE$2]) this[DISPOSE$2](key, value);
52808 return false;
52809 }
52810
52811 this[LENGTH$2] += hit.length;
52812 this[LRU_LIST$2].unshift(hit);
52813 this[CACHE$2].set(key, this[LRU_LIST$2].head);
52814 trim$2(this);
52815 return true;
52816 };
52817
52818 _proto.has = function has(key) {
52819 if (!this[CACHE$2].has(key)) return false;
52820 var hit = this[CACHE$2].get(key).value;
52821 return !isStale$2(this, hit);
52822 };
52823
52824 _proto.get = function get(key) {
52825 return _get$2(this, key, true);
52826 };
52827
52828 _proto.peek = function peek(key) {
52829 return _get$2(this, key, false);
52830 };
52831
52832 _proto.pop = function pop() {
52833 var node = this[LRU_LIST$2].tail;
52834 if (!node) return null;
52835
52836 _del$2(this, node);
52837
52838 return node.value;
52839 };
52840
52841 _proto.del = function del(key) {
52842 _del$2(this, this[CACHE$2].get(key));
52843 };
52844
52845 _proto.load = function load(arr) {
52846 this.reset();
52847 var now = Date.now();
52848
52849 for (var l = arr.length - 1; l >= 0; l--) {
52850 var hit = arr[l];
52851 var expiresAt = hit.e || 0;
52852 if (expiresAt === 0) this.set(hit.k, hit.v);else {
52853 var maxAge = expiresAt - now;
52854
52855 if (maxAge > 0) {
52856 this.set(hit.k, hit.v, maxAge);
52857 }
52858 }
52859 }
52860 };
52861
52862 _proto.prune = function prune() {
52863 var _this3 = this;
52864
52865 this[CACHE$2].forEach(function (value, key) {
52866 return _get$2(_this3, key, false);
52867 });
52868 };
52869
52870 _createClass(LRUCache, [{
52871 key: "max",
52872 get: function get() {
52873 return this[MAX$2];
52874 },
52875 set: function set(mL) {
52876 if (typeof mL !== 'number' || mL < 0) throw new TypeError('max must be a non-negative number');
52877 this[MAX$2] = mL || Infinity;
52878 trim$2(this);
52879 }
52880 }, {
52881 key: "allowStale",
52882 get: function get() {
52883 return this[ALLOW_STALE$2];
52884 },
52885 set: function set(allowStale) {
52886 this[ALLOW_STALE$2] = !!allowStale;
52887 }
52888 }, {
52889 key: "maxAge",
52890 get: function get() {
52891 return this[MAX_AGE$2];
52892 },
52893 set: function set(mA) {
52894 if (typeof mA !== 'number') throw new TypeError('maxAge must be a non-negative number');
52895 this[MAX_AGE$2] = mA;
52896 trim$2(this);
52897 }
52898 }, {
52899 key: "lengthCalculator",
52900 get: function get() {
52901 return this[LENGTH_CALCULATOR$2];
52902 },
52903 set: function set(lC) {
52904 var _this4 = this;
52905
52906 if (typeof lC !== 'function') lC = naiveLength$2;
52907
52908 if (lC !== this[LENGTH_CALCULATOR$2]) {
52909 this[LENGTH_CALCULATOR$2] = lC;
52910 this[LENGTH$2] = 0;
52911 this[LRU_LIST$2].forEach(function (hit) {
52912 hit.length = _this4[LENGTH_CALCULATOR$2](hit.value, hit.key);
52913 _this4[LENGTH$2] += hit.length;
52914 });
52915 }
52916
52917 trim$2(this);
52918 }
52919 }, {
52920 key: "length",
52921 get: function get() {
52922 return this[LENGTH$2];
52923 }
52924 }, {
52925 key: "itemCount",
52926 get: function get() {
52927 return this[LRU_LIST$2].length;
52928 }
52929 }]);
52930
52931 return LRUCache;
52932 }();
52933
52934 var _get$2 = function _get(self, key, doUse) {
52935 var node = self[CACHE$2].get(key);
52936
52937 if (node) {
52938 var hit = node.value;
52939
52940 if (isStale$2(self, hit)) {
52941 _del$2(self, node);
52942
52943 if (!self[ALLOW_STALE$2]) return undefined;
52944 } else {
52945 if (doUse) {
52946 if (self[UPDATE_AGE_ON_GET$2]) node.value.now = Date.now();
52947 self[LRU_LIST$2].unshiftNode(node);
52948 }
52949 }
52950
52951 return hit.value;
52952 }
52953 };
52954
52955 var isStale$2 = function isStale(self, hit) {
52956 if (!hit || !hit.maxAge && !self[MAX_AGE$2]) return false;
52957 var diff = Date.now() - hit.now;
52958 return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE$2] && diff > self[MAX_AGE$2];
52959 };
52960
52961 var trim$2 = function trim(self) {
52962 if (self[LENGTH$2] > self[MAX$2]) {
52963 for (var walker = self[LRU_LIST$2].tail; self[LENGTH$2] > self[MAX$2] && walker !== null;) {
52964 var prev = walker.prev;
52965
52966 _del$2(self, walker);
52967
52968 walker = prev;
52969 }
52970 }
52971 };
52972
52973 var _del$2 = function _del(self, node) {
52974 if (node) {
52975 var hit = node.value;
52976 if (self[DISPOSE$2]) self[DISPOSE$2](hit.key, hit.value);
52977 self[LENGTH$2] -= hit.length;
52978 self[CACHE$2]["delete"](hit.key);
52979 self[LRU_LIST$2].removeNode(node);
52980 }
52981 };
52982
52983 var Entry$3 = function Entry(key, value, length, now, maxAge) {
52984 this.key = key;
52985 this.value = value;
52986 this.length = length;
52987 this.now = now;
52988 this.maxAge = maxAge || 0;
52989 };
52990
52991 var forEachStep$2 = function forEachStep(self, fn, node, thisp) {
52992 var hit = node.value;
52993
52994 if (isStale$2(self, hit)) {
52995 _del$2(self, node);
52996
52997 if (!self[ALLOW_STALE$2]) hit = undefined;
52998 }
52999
53000 if (hit) fn.call(thisp, hit.value, hit.key, self);
53001 };
53002
53003 var lruCache$2 = LRUCache$2;
53004
53005 var Range$2 = function () {
53006 function Range(range, options) {
53007 var _this = this;
53008
53009 options = parseOptions_1$2(options);
53010
53011 if (range instanceof Range) {
53012 if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
53013 return range;
53014 } else {
53015 return new Range(range.raw, options);
53016 }
53017 }
53018
53019 if (range instanceof comparator$2) {
53020 this.raw = range.value;
53021 this.set = [[range]];
53022 this.format();
53023 return this;
53024 }
53025
53026 this.options = options;
53027 this.loose = !!options.loose;
53028 this.includePrerelease = !!options.includePrerelease;
53029 this.raw = range;
53030 this.set = range.split(/\s*\|\|\s*/).map(function (range) {
53031 return _this.parseRange(range.trim());
53032 }).filter(function (c) {
53033 return c.length;
53034 });
53035
53036 if (!this.set.length) {
53037 throw new TypeError("Invalid SemVer Range: " + range);
53038 }
53039
53040 if (this.set.length > 1) {
53041 var first = this.set[0];
53042 this.set = this.set.filter(function (c) {
53043 return !isNullSet$2(c[0]);
53044 });
53045 if (this.set.length === 0) this.set = [first];else if (this.set.length > 1) {
53046 for (var _iterator = _createForOfIteratorHelperLoose(this.set), _step; !(_step = _iterator()).done;) {
53047 var c = _step.value;
53048
53049 if (c.length === 1 && isAny$2(c[0])) {
53050 this.set = [c];
53051 break;
53052 }
53053 }
53054 }
53055 }
53056
53057 this.format();
53058 }
53059
53060 var _proto = Range.prototype;
53061
53062 _proto.format = function format() {
53063 this.range = this.set.map(function (comps) {
53064 return comps.join(' ').trim();
53065 }).join('||').trim();
53066 return this.range;
53067 };
53068
53069 _proto.toString = function toString() {
53070 return this.range;
53071 };
53072
53073 _proto.parseRange = function parseRange(range) {
53074 var _this2 = this;
53075
53076 range = range.trim();
53077 var memoOpts = Object.keys(this.options).join(',');
53078 var memoKey = "parseRange:" + memoOpts + ":" + range;
53079 var cached = cache$3.get(memoKey);
53080 if (cached) return cached;
53081 var loose = this.options.loose;
53082 var hr = loose ? re$e[t$l.HYPHENRANGELOOSE] : re$e[t$l.HYPHENRANGE];
53083 range = range.replace(hr, hyphenReplace$2(this.options.includePrerelease));
53084 debug_1$3('hyphen replace', range);
53085 range = range.replace(re$e[t$l.COMPARATORTRIM], comparatorTrimReplace$2);
53086 debug_1$3('comparator trim', range, re$e[t$l.COMPARATORTRIM]);
53087 range = range.replace(re$e[t$l.TILDETRIM], tildeTrimReplace$2);
53088 range = range.replace(re$e[t$l.CARETTRIM], caretTrimReplace$2);
53089 range = range.split(/\s+/).join(' ');
53090 var compRe = loose ? re$e[t$l.COMPARATORLOOSE] : re$e[t$l.COMPARATOR];
53091 var rangeList = range.split(' ').map(function (comp) {
53092 return parseComparator$2(comp, _this2.options);
53093 }).join(' ').split(/\s+/).map(function (comp) {
53094 return replaceGTE0$2(comp, _this2.options);
53095 }).filter(this.options.loose ? function (comp) {
53096 return !!comp.match(compRe);
53097 } : function () {
53098 return true;
53099 }).map(function (comp) {
53100 return new comparator$2(comp, _this2.options);
53101 });
53102 rangeList.length;
53103 var rangeMap = new Map();
53104
53105 for (var _iterator2 = _createForOfIteratorHelperLoose(rangeList), _step2; !(_step2 = _iterator2()).done;) {
53106 var comp = _step2.value;
53107 if (isNullSet$2(comp)) return [comp];
53108 rangeMap.set(comp.value, comp);
53109 }
53110
53111 if (rangeMap.size > 1 && rangeMap.has('')) rangeMap["delete"]('');
53112
53113 var result = _toConsumableArray(rangeMap.values());
53114
53115 cache$3.set(memoKey, result);
53116 return result;
53117 };
53118
53119 _proto.intersects = function intersects(range, options) {
53120 if (!(range instanceof Range)) {
53121 throw new TypeError('a Range is required');
53122 }
53123
53124 return this.set.some(function (thisComparators) {
53125 return isSatisfiable$2(thisComparators, options) && range.set.some(function (rangeComparators) {
53126 return isSatisfiable$2(rangeComparators, options) && thisComparators.every(function (thisComparator) {
53127 return rangeComparators.every(function (rangeComparator) {
53128 return thisComparator.intersects(rangeComparator, options);
53129 });
53130 });
53131 });
53132 });
53133 };
53134
53135 _proto.test = function test(version) {
53136 if (!version) {
53137 return false;
53138 }
53139
53140 if (typeof version === 'string') {
53141 try {
53142 version = new semver$c(version, this.options);
53143 } catch (er) {
53144 return false;
53145 }
53146 }
53147
53148 for (var i = 0; i < this.set.length; i++) {
53149 if (testSet$2(this.set[i], version, this.options)) {
53150 return true;
53151 }
53152 }
53153
53154 return false;
53155 };
53156
53157 return Range;
53158 }();
53159
53160 var range$2 = Range$2;
53161 var cache$3 = new lruCache$2({
53162 max: 1000
53163 });
53164 var re$e = re_1$3.re,
53165 t$l = re_1$3.t,
53166 comparatorTrimReplace$2 = re_1$3.comparatorTrimReplace,
53167 tildeTrimReplace$2 = re_1$3.tildeTrimReplace,
53168 caretTrimReplace$2 = re_1$3.caretTrimReplace;
53169
53170 var isNullSet$2 = function isNullSet(c) {
53171 return c.value === '<0.0.0-0';
53172 };
53173
53174 var isAny$2 = function isAny(c) {
53175 return c.value === '';
53176 };
53177
53178 var isSatisfiable$2 = function isSatisfiable(comparators, options) {
53179 var result = true;
53180 var remainingComparators = comparators.slice();
53181 var testComparator = remainingComparators.pop();
53182
53183 while (result && remainingComparators.length) {
53184 result = remainingComparators.every(function (otherComparator) {
53185 return testComparator.intersects(otherComparator, options);
53186 });
53187 testComparator = remainingComparators.pop();
53188 }
53189
53190 return result;
53191 };
53192
53193 var parseComparator$2 = function parseComparator(comp, options) {
53194 debug_1$3('comp', comp, options);
53195 comp = replaceCarets$2(comp, options);
53196 debug_1$3('caret', comp);
53197 comp = replaceTildes$2(comp, options);
53198 debug_1$3('tildes', comp);
53199 comp = replaceXRanges$2(comp, options);
53200 debug_1$3('xrange', comp);
53201 comp = replaceStars$2(comp, options);
53202 debug_1$3('stars', comp);
53203 return comp;
53204 };
53205
53206 var isX$2 = function isX(id) {
53207 return !id || id.toLowerCase() === 'x' || id === '*';
53208 };
53209
53210 var replaceTildes$2 = function replaceTildes(comp, options) {
53211 return comp.trim().split(/\s+/).map(function (comp) {
53212 return replaceTilde$2(comp, options);
53213 }).join(' ');
53214 };
53215
53216 var replaceTilde$2 = function replaceTilde(comp, options) {
53217 var r = options.loose ? re$e[t$l.TILDELOOSE] : re$e[t$l.TILDE];
53218 return comp.replace(r, function (_, M, m, p, pr) {
53219 debug_1$3('tilde', comp, _, M, m, p, pr);
53220 var ret;
53221
53222 if (isX$2(M)) {
53223 ret = '';
53224 } else if (isX$2(m)) {
53225 ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0-0";
53226 } else if (isX$2(p)) {
53227 ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0-0";
53228 } else if (pr) {
53229 debug_1$3('replaceTilde pr', pr);
53230 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0-0";
53231 } else {
53232 ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0-0";
53233 }
53234
53235 debug_1$3('tilde return', ret);
53236 return ret;
53237 });
53238 };
53239
53240 var replaceCarets$2 = function replaceCarets(comp, options) {
53241 return comp.trim().split(/\s+/).map(function (comp) {
53242 return replaceCaret$2(comp, options);
53243 }).join(' ');
53244 };
53245
53246 var replaceCaret$2 = function replaceCaret(comp, options) {
53247 debug_1$3('caret', comp, options);
53248 var r = options.loose ? re$e[t$l.CARETLOOSE] : re$e[t$l.CARET];
53249 var z = options.includePrerelease ? '-0' : '';
53250 return comp.replace(r, function (_, M, m, p, pr) {
53251 debug_1$3('caret', comp, _, M, m, p, pr);
53252 var ret;
53253
53254 if (isX$2(M)) {
53255 ret = '';
53256 } else if (isX$2(m)) {
53257 ret = ">=" + M + ".0.0" + z + " <" + (+M + 1) + ".0.0-0";
53258 } else if (isX$2(p)) {
53259 if (M === '0') {
53260 ret = ">=" + M + "." + m + ".0" + z + " <" + M + "." + (+m + 1) + ".0-0";
53261 } else {
53262 ret = ">=" + M + "." + m + ".0" + z + " <" + (+M + 1) + ".0.0-0";
53263 }
53264 } else if (pr) {
53265 debug_1$3('replaceCaret pr', pr);
53266
53267 if (M === '0') {
53268 if (m === '0') {
53269 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1) + "-0";
53270 } else {
53271 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0-0";
53272 }
53273 } else {
53274 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0-0";
53275 }
53276 } else {
53277 debug_1$3('no pr');
53278
53279 if (M === '0') {
53280 if (m === '0') {
53281 ret = ">=" + M + "." + m + "." + p + z + " <" + M + "." + m + "." + (+p + 1) + "-0";
53282 } else {
53283 ret = ">=" + M + "." + m + "." + p + z + " <" + M + "." + (+m + 1) + ".0-0";
53284 }
53285 } else {
53286 ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0-0";
53287 }
53288 }
53289
53290 debug_1$3('caret return', ret);
53291 return ret;
53292 });
53293 };
53294
53295 var replaceXRanges$2 = function replaceXRanges(comp, options) {
53296 debug_1$3('replaceXRanges', comp, options);
53297 return comp.split(/\s+/).map(function (comp) {
53298 return replaceXRange$2(comp, options);
53299 }).join(' ');
53300 };
53301
53302 var replaceXRange$2 = function replaceXRange(comp, options) {
53303 comp = comp.trim();
53304 var r = options.loose ? re$e[t$l.XRANGELOOSE] : re$e[t$l.XRANGE];
53305 return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
53306 debug_1$3('xRange', comp, ret, gtlt, M, m, p, pr);
53307 var xM = isX$2(M);
53308 var xm = xM || isX$2(m);
53309 var xp = xm || isX$2(p);
53310 var anyX = xp;
53311
53312 if (gtlt === '=' && anyX) {
53313 gtlt = '';
53314 }
53315
53316 pr = options.includePrerelease ? '-0' : '';
53317
53318 if (xM) {
53319 if (gtlt === '>' || gtlt === '<') {
53320 ret = '<0.0.0-0';
53321 } else {
53322 ret = '*';
53323 }
53324 } else if (gtlt && anyX) {
53325 if (xm) {
53326 m = 0;
53327 }
53328
53329 p = 0;
53330
53331 if (gtlt === '>') {
53332 gtlt = '>=';
53333
53334 if (xm) {
53335 M = +M + 1;
53336 m = 0;
53337 p = 0;
53338 } else {
53339 m = +m + 1;
53340 p = 0;
53341 }
53342 } else if (gtlt === '<=') {
53343 gtlt = '<';
53344
53345 if (xm) {
53346 M = +M + 1;
53347 } else {
53348 m = +m + 1;
53349 }
53350 }
53351
53352 if (gtlt === '<') pr = '-0';
53353 ret = gtlt + M + "." + m + "." + p + pr;
53354 } else if (xm) {
53355 ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0-0";
53356 } else if (xp) {
53357 ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0-0";
53358 }
53359
53360 debug_1$3('xRange return', ret);
53361 return ret;
53362 });
53363 };
53364
53365 var replaceStars$2 = function replaceStars(comp, options) {
53366 debug_1$3('replaceStars', comp, options);
53367 return comp.trim().replace(re$e[t$l.STAR], '');
53368 };
53369
53370 var replaceGTE0$2 = function replaceGTE0(comp, options) {
53371 debug_1$3('replaceGTE0', comp, options);
53372 return comp.trim().replace(re$e[options.includePrerelease ? t$l.GTE0PRE : t$l.GTE0], '');
53373 };
53374
53375 var hyphenReplace$2 = function hyphenReplace(incPr) {
53376 return function ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
53377 if (isX$2(fM)) {
53378 from = '';
53379 } else if (isX$2(fm)) {
53380 from = ">=" + fM + ".0.0" + (incPr ? '-0' : '');
53381 } else if (isX$2(fp)) {
53382 from = ">=" + fM + "." + fm + ".0" + (incPr ? '-0' : '');
53383 } else if (fpr) {
53384 from = ">=" + from;
53385 } else {
53386 from = ">=" + from + (incPr ? '-0' : '');
53387 }
53388
53389 if (isX$2(tM)) {
53390 to = '';
53391 } else if (isX$2(tm)) {
53392 to = "<" + (+tM + 1) + ".0.0-0";
53393 } else if (isX$2(tp)) {
53394 to = "<" + tM + "." + (+tm + 1) + ".0-0";
53395 } else if (tpr) {
53396 to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
53397 } else if (incPr) {
53398 to = "<" + tM + "." + tm + "." + (+tp + 1) + "-0";
53399 } else {
53400 to = "<=" + to;
53401 }
53402
53403 return (from + " " + to).trim();
53404 };
53405 };
53406
53407 var testSet$2 = function testSet(set, version, options) {
53408 for (var i = 0; i < set.length; i++) {
53409 if (!set[i].test(version)) {
53410 return false;
53411 }
53412 }
53413
53414 if (version.prerelease.length && !options.includePrerelease) {
53415 for (var _i = 0; _i < set.length; _i++) {
53416 debug_1$3(set[_i].semver);
53417
53418 if (set[_i].semver === comparator$2.ANY) {
53419 continue;
53420 }
53421
53422 if (set[_i].semver.prerelease.length > 0) {
53423 var allowed = set[_i].semver;
53424
53425 if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
53426 return true;
53427 }
53428 }
53429 }
53430
53431 return false;
53432 }
53433
53434 return true;
53435 };
53436
53437 var ANY$8 = Symbol('SemVer ANY');
53438
53439 var Comparator$2 = function () {
53440 function Comparator(comp, options) {
53441 options = parseOptions_1$2(options);
53442
53443 if (comp instanceof Comparator) {
53444 if (comp.loose === !!options.loose) {
53445 return comp;
53446 } else {
53447 comp = comp.value;
53448 }
53449 }
53450
53451 debug_1$3('comparator', comp, options);
53452 this.options = options;
53453 this.loose = !!options.loose;
53454 this.parse(comp);
53455
53456 if (this.semver === ANY$8) {
53457 this.value = '';
53458 } else {
53459 this.value = this.operator + this.semver.version;
53460 }
53461
53462 debug_1$3('comp', this);
53463 }
53464
53465 var _proto = Comparator.prototype;
53466
53467 _proto.parse = function parse(comp) {
53468 var r = this.options.loose ? re$d[t$k.COMPARATORLOOSE] : re$d[t$k.COMPARATOR];
53469 var m = comp.match(r);
53470
53471 if (!m) {
53472 throw new TypeError("Invalid comparator: " + comp);
53473 }
53474
53475 this.operator = m[1] !== undefined ? m[1] : '';
53476
53477 if (this.operator === '=') {
53478 this.operator = '';
53479 }
53480
53481 if (!m[2]) {
53482 this.semver = ANY$8;
53483 } else {
53484 this.semver = new semver$c(m[2], this.options.loose);
53485 }
53486 };
53487
53488 _proto.toString = function toString() {
53489 return this.value;
53490 };
53491
53492 _proto.test = function test(version) {
53493 debug_1$3('Comparator.test', version, this.options.loose);
53494
53495 if (this.semver === ANY$8 || version === ANY$8) {
53496 return true;
53497 }
53498
53499 if (typeof version === 'string') {
53500 try {
53501 version = new semver$c(version, this.options);
53502 } catch (er) {
53503 return false;
53504 }
53505 }
53506
53507 return cmp_1$3(version, this.operator, this.semver, this.options);
53508 };
53509
53510 _proto.intersects = function intersects(comp, options) {
53511 if (!(comp instanceof Comparator)) {
53512 throw new TypeError('a Comparator is required');
53513 }
53514
53515 if (!options || typeof options !== 'object') {
53516 options = {
53517 loose: !!options,
53518 includePrerelease: false
53519 };
53520 }
53521
53522 if (this.operator === '') {
53523 if (this.value === '') {
53524 return true;
53525 }
53526
53527 return new range$2(comp.value, options).test(this.value);
53528 } else if (comp.operator === '') {
53529 if (comp.value === '') {
53530 return true;
53531 }
53532
53533 return new range$2(this.value, options).test(comp.semver);
53534 }
53535
53536 var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
53537 var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
53538 var sameSemVer = this.semver.version === comp.semver.version;
53539 var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
53540 var oppositeDirectionsLessThan = cmp_1$3(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
53541 var oppositeDirectionsGreaterThan = cmp_1$3(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
53542 return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
53543 };
53544
53545 _createClass(Comparator, null, [{
53546 key: "ANY",
53547 get: function get() {
53548 return ANY$8;
53549 }
53550 }]);
53551
53552 return Comparator;
53553 }();
53554
53555 var comparator$2 = Comparator$2;
53556 var re$d = re_1$3.re,
53557 t$k = re_1$3.t;
53558
53559 var satisfies$2 = function satisfies(version, range, options) {
53560 try {
53561 range = new range$2(range, options);
53562 } catch (er) {
53563 return false;
53564 }
53565
53566 return range.test(version);
53567 };
53568
53569 var satisfies_1$2 = satisfies$2;
53570
53571 var toComparators$2 = function toComparators(range, options) {
53572 return new range$2(range, options).set.map(function (comp) {
53573 return comp.map(function (c) {
53574 return c.value;
53575 }).join(' ').trim().split(' ');
53576 });
53577 };
53578
53579 var toComparators_1$2 = toComparators$2;
53580
53581 var maxSatisfying$2 = function maxSatisfying(versions, range, options) {
53582 var max = null;
53583 var maxSV = null;
53584 var rangeObj = null;
53585
53586 try {
53587 rangeObj = new range$2(range, options);
53588 } catch (er) {
53589 return null;
53590 }
53591
53592 versions.forEach(function (v) {
53593 if (rangeObj.test(v)) {
53594 if (!max || maxSV.compare(v) === -1) {
53595 max = v;
53596 maxSV = new semver$c(max, options);
53597 }
53598 }
53599 });
53600 return max;
53601 };
53602
53603 var maxSatisfying_1$2 = maxSatisfying$2;
53604
53605 var minSatisfying$2 = function minSatisfying(versions, range, options) {
53606 var min = null;
53607 var minSV = null;
53608 var rangeObj = null;
53609
53610 try {
53611 rangeObj = new range$2(range, options);
53612 } catch (er) {
53613 return null;
53614 }
53615
53616 versions.forEach(function (v) {
53617 if (rangeObj.test(v)) {
53618 if (!min || minSV.compare(v) === 1) {
53619 min = v;
53620 minSV = new semver$c(min, options);
53621 }
53622 }
53623 });
53624 return min;
53625 };
53626
53627 var minSatisfying_1$2 = minSatisfying$2;
53628
53629 var minVersion$2 = function minVersion(range, loose) {
53630 range = new range$2(range, loose);
53631 var minver = new semver$c('0.0.0');
53632
53633 if (range.test(minver)) {
53634 return minver;
53635 }
53636
53637 minver = new semver$c('0.0.0-0');
53638
53639 if (range.test(minver)) {
53640 return minver;
53641 }
53642
53643 minver = null;
53644
53645 var _loop = function _loop(i) {
53646 var comparators = range.set[i];
53647 var setMin = null;
53648 comparators.forEach(function (comparator) {
53649 var compver = new semver$c(comparator.semver.version);
53650
53651 switch (comparator.operator) {
53652 case '>':
53653 if (compver.prerelease.length === 0) {
53654 compver.patch++;
53655 } else {
53656 compver.prerelease.push(0);
53657 }
53658
53659 compver.raw = compver.format();
53660
53661 case '':
53662 case '>=':
53663 if (!setMin || gt_1$3(compver, setMin)) {
53664 setMin = compver;
53665 }
53666
53667 break;
53668
53669 case '<':
53670 case '<=':
53671 break;
53672
53673 default:
53674 throw new Error("Unexpected operation: " + comparator.operator);
53675 }
53676 });
53677 if (setMin && (!minver || gt_1$3(minver, setMin))) minver = setMin;
53678 };
53679
53680 for (var i = 0; i < range.set.length; ++i) {
53681 _loop(i);
53682 }
53683
53684 if (minver && range.test(minver)) {
53685 return minver;
53686 }
53687
53688 return null;
53689 };
53690
53691 var minVersion_1$2 = minVersion$2;
53692
53693 var validRange$2 = function validRange(range, options) {
53694 try {
53695 return new range$2(range, options).range || '*';
53696 } catch (er) {
53697 return null;
53698 }
53699 };
53700
53701 var valid$4 = validRange$2;
53702
53703 var ANY$7 = comparator$2.ANY;
53704
53705 var outside$2 = function outside(version, range, hilo, options) {
53706 version = new semver$c(version, options);
53707 range = new range$2(range, options);
53708 var gtfn, ltefn, ltfn, comp, ecomp;
53709
53710 switch (hilo) {
53711 case '>':
53712 gtfn = gt_1$3;
53713 ltefn = lte_1$3;
53714 ltfn = lt_1$3;
53715 comp = '>';
53716 ecomp = '>=';
53717 break;
53718
53719 case '<':
53720 gtfn = lt_1$3;
53721 ltefn = gte_1$3;
53722 ltfn = gt_1$3;
53723 comp = '<';
53724 ecomp = '<=';
53725 break;
53726
53727 default:
53728 throw new TypeError('Must provide a hilo val of "<" or ">"');
53729 }
53730
53731 if (satisfies_1$2(version, range, options)) {
53732 return false;
53733 }
53734
53735 var _loop = function _loop(i) {
53736 var comparators = range.set[i];
53737 var high = null;
53738 var low = null;
53739 comparators.forEach(function (comparator) {
53740 if (comparator.semver === ANY$7) {
53741 comparator = new comparator$2('>=0.0.0');
53742 }
53743
53744 high = high || comparator;
53745 low = low || comparator;
53746
53747 if (gtfn(comparator.semver, high.semver, options)) {
53748 high = comparator;
53749 } else if (ltfn(comparator.semver, low.semver, options)) {
53750 low = comparator;
53751 }
53752 });
53753
53754 if (high.operator === comp || high.operator === ecomp) {
53755 return {
53756 v: false
53757 };
53758 }
53759
53760 if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
53761 return {
53762 v: false
53763 };
53764 } else if (low.operator === ecomp && ltfn(version, low.semver)) {
53765 return {
53766 v: false
53767 };
53768 }
53769 };
53770
53771 for (var i = 0; i < range.set.length; ++i) {
53772 var _ret = _loop(i);
53773
53774 if (typeof _ret === "object") return _ret.v;
53775 }
53776
53777 return true;
53778 };
53779
53780 var outside_1$2 = outside$2;
53781
53782 var gtr$2 = function gtr(version, range, options) {
53783 return outside_1$2(version, range, '>', options);
53784 };
53785
53786 var gtr_1$2 = gtr$2;
53787
53788 var ltr$2 = function ltr(version, range, options) {
53789 return outside_1$2(version, range, '<', options);
53790 };
53791
53792 var ltr_1$2 = ltr$2;
53793
53794 var intersects$2 = function intersects(r1, r2, options) {
53795 r1 = new range$2(r1, options);
53796 r2 = new range$2(r2, options);
53797 return r1.intersects(r2);
53798 };
53799
53800 var intersects_1$2 = intersects$2;
53801
53802 var simplify$2 = function simplify(versions, range, options) {
53803 var set = [];
53804 var min = null;
53805 var prev = null;
53806 var v = versions.sort(function (a, b) {
53807 return compare_1$3(a, b, options);
53808 });
53809
53810 for (var _iterator = _createForOfIteratorHelperLoose(v), _step; !(_step = _iterator()).done;) {
53811 var version = _step.value;
53812 var included = satisfies_1$2(version, range, options);
53813
53814 if (included) {
53815 prev = version;
53816 if (!min) min = version;
53817 } else {
53818 if (prev) {
53819 set.push([min, prev]);
53820 }
53821
53822 prev = null;
53823 min = null;
53824 }
53825 }
53826
53827 if (min) set.push([min, null]);
53828 var ranges = [];
53829
53830 for (var _i = 0, _set = set; _i < _set.length; _i++) {
53831 var _set$_i = _slicedToArray$2(_set[_i], 2),
53832 _min = _set$_i[0],
53833 max = _set$_i[1];
53834
53835 if (_min === max) ranges.push(_min);else if (!max && _min === v[0]) ranges.push('*');else if (!max) ranges.push(">=" + _min);else if (_min === v[0]) ranges.push("<=" + max);else ranges.push(_min + " - " + max);
53836 }
53837
53838 var simplified = ranges.join(' || ');
53839 var original = typeof range.raw === 'string' ? range.raw : String(range);
53840 return simplified.length < original.length ? simplified : range;
53841 };
53842
53843 var ANY$6 = comparator$2.ANY;
53844
53845 var subset$2 = function subset(sub, dom, options) {
53846 if (sub === dom) return true;
53847 sub = new range$2(sub, options);
53848 dom = new range$2(dom, options);
53849 var sawNonNull = false;
53850
53851 OUTER: for (var _iterator = _createForOfIteratorHelperLoose(sub.set), _step; !(_step = _iterator()).done;) {
53852 var simpleSub = _step.value;
53853
53854 for (var _iterator2 = _createForOfIteratorHelperLoose(dom.set), _step2; !(_step2 = _iterator2()).done;) {
53855 var simpleDom = _step2.value;
53856 var isSub = simpleSubset$2(simpleSub, simpleDom, options);
53857 sawNonNull = sawNonNull || isSub !== null;
53858 if (isSub) continue OUTER;
53859 }
53860
53861 if (sawNonNull) return false;
53862 }
53863
53864 return true;
53865 };
53866
53867 var simpleSubset$2 = function simpleSubset(sub, dom, options) {
53868 if (sub === dom) return true;
53869 if (sub.length === 1 && sub[0].semver === ANY$6) return dom.length === 1 && dom[0].semver === ANY$6;
53870 var eqSet = new Set();
53871 var gt, lt;
53872
53873 for (var _iterator3 = _createForOfIteratorHelperLoose(sub), _step3; !(_step3 = _iterator3()).done;) {
53874 var c = _step3.value;
53875 if (c.operator === '>' || c.operator === '>=') gt = higherGT$2(gt, c, options);else if (c.operator === '<' || c.operator === '<=') lt = lowerLT$2(lt, c, options);else eqSet.add(c.semver);
53876 }
53877
53878 if (eqSet.size > 1) return null;
53879 var gtltComp;
53880
53881 if (gt && lt) {
53882 gtltComp = compare_1$3(gt.semver, lt.semver, options);
53883 if (gtltComp > 0) return null;else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) return null;
53884 }
53885
53886 for (var _iterator4 = _createForOfIteratorHelperLoose(eqSet), _step4; !(_step4 = _iterator4()).done;) {
53887 var eq = _step4.value;
53888 if (gt && !satisfies_1$2(eq, String(gt), options)) return null;
53889 if (lt && !satisfies_1$2(eq, String(lt), options)) return null;
53890
53891 for (var _iterator6 = _createForOfIteratorHelperLoose(dom), _step6; !(_step6 = _iterator6()).done;) {
53892 var _c = _step6.value;
53893 if (!satisfies_1$2(eq, String(_c), options)) return false;
53894 }
53895
53896 return true;
53897 }
53898
53899 var higher, lower;
53900 var hasDomLT, hasDomGT;
53901
53902 for (var _iterator5 = _createForOfIteratorHelperLoose(dom), _step5; !(_step5 = _iterator5()).done;) {
53903 var _c2 = _step5.value;
53904 hasDomGT = hasDomGT || _c2.operator === '>' || _c2.operator === '>=';
53905 hasDomLT = hasDomLT || _c2.operator === '<' || _c2.operator === '<=';
53906
53907 if (gt) {
53908 if (_c2.operator === '>' || _c2.operator === '>=') {
53909 higher = higherGT$2(gt, _c2, options);
53910 if (higher === _c2 && higher !== gt) return false;
53911 } else if (gt.operator === '>=' && !satisfies_1$2(gt.semver, String(_c2), options)) return false;
53912 }
53913
53914 if (lt) {
53915 if (_c2.operator === '<' || _c2.operator === '<=') {
53916 lower = lowerLT$2(lt, _c2, options);
53917 if (lower === _c2 && lower !== lt) return false;
53918 } else if (lt.operator === '<=' && !satisfies_1$2(lt.semver, String(_c2), options)) return false;
53919 }
53920
53921 if (!_c2.operator && (lt || gt) && gtltComp !== 0) return false;
53922 }
53923
53924 if (gt && hasDomLT && !lt && gtltComp !== 0) return false;
53925 if (lt && hasDomGT && !gt && gtltComp !== 0) return false;
53926 return true;
53927 };
53928
53929 var higherGT$2 = function higherGT(a, b, options) {
53930 if (!a) return b;
53931 var comp = compare_1$3(a.semver, b.semver, options);
53932 return comp > 0 ? a : comp < 0 ? b : b.operator === '>' && a.operator === '>=' ? b : a;
53933 };
53934
53935 var lowerLT$2 = function lowerLT(a, b, options) {
53936 if (!a) return b;
53937 var comp = compare_1$3(a.semver, b.semver, options);
53938 return comp < 0 ? a : comp > 0 ? b : b.operator === '<' && a.operator === '<=' ? b : a;
53939 };
53940
53941 var subset_1$2 = subset$2;
53942
53943 ({
53944 re: re_1$3.re,
53945 src: re_1$3.src,
53946 tokens: re_1$3.t,
53947 SEMVER_SPEC_VERSION: constants$3.SEMVER_SPEC_VERSION,
53948 SemVer: semver$c,
53949 compareIdentifiers: identifiers$3.compareIdentifiers,
53950 rcompareIdentifiers: identifiers$3.rcompareIdentifiers,
53951 parse: parse_1$3,
53952 valid: valid_1$2,
53953 clean: clean_1$2,
53954 inc: inc_1$2,
53955 diff: diff_1$2,
53956 major: major_1$2,
53957 minor: minor_1$2,
53958 patch: patch_1$2,
53959 prerelease: prerelease_1$2,
53960 compare: compare_1$3,
53961 rcompare: rcompare_1$2,
53962 compareLoose: compareLoose_1$2,
53963 compareBuild: compareBuild_1$2,
53964 sort: sort_1$2,
53965 rsort: rsort_1$2,
53966 gt: gt_1$3,
53967 lt: lt_1$3,
53968 eq: eq_1$3,
53969 neq: neq_1$3,
53970 gte: gte_1$3,
53971 lte: lte_1$3,
53972 cmp: cmp_1$3,
53973 coerce: coerce_1$3,
53974 Comparator: comparator$2,
53975 Range: range$2,
53976 satisfies: satisfies_1$2,
53977 toComparators: toComparators_1$2,
53978 maxSatisfying: maxSatisfying_1$2,
53979 minSatisfying: minSatisfying_1$2,
53980 minVersion: minVersion_1$2,
53981 validRange: valid$4,
53982 outside: outside_1$2,
53983 gtr: gtr_1$2,
53984 ltr: ltr_1$2,
53985 intersects: intersects_1$2,
53986 simplifyRange: simplify$2,
53987 subset: subset_1$2
53988 });
53989
53990 var semver$b = createCommonjsModule(function (module, exports) {
53991 exports = module.exports = SemVer;
53992 var debug;
53993
53994 if (typeof browser$6 === 'object' && browser$6.env && browser$6.env.NODE_DEBUG && /\bsemver\b/i.test(browser$6.env.NODE_DEBUG)) {
53995 debug = function debug() {
53996 var args = Array.prototype.slice.call(arguments, 0);
53997 args.unshift('SEMVER');
53998 console.log.apply(console, args);
53999 };
54000 } else {
54001 debug = function debug() {};
54002 }
54003
54004 exports.SEMVER_SPEC_VERSION = '2.0.0';
54005 var MAX_LENGTH = 256;
54006 var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
54007 var MAX_SAFE_COMPONENT_LENGTH = 16;
54008 var re = exports.re = [];
54009 var src = exports.src = [];
54010 var t = exports.tokens = {};
54011 var R = 0;
54012
54013 function tok(n) {
54014 t[n] = R++;
54015 }
54016
54017 tok('NUMERICIDENTIFIER');
54018 src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*';
54019 tok('NUMERICIDENTIFIERLOOSE');
54020 src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+';
54021 tok('NONNUMERICIDENTIFIER');
54022 src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
54023 tok('MAINVERSION');
54024 src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')';
54025 tok('MAINVERSIONLOOSE');
54026 src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')';
54027 tok('PRERELEASEIDENTIFIER');
54028 src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
54029 tok('PRERELEASEIDENTIFIERLOOSE');
54030 src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
54031 tok('PRERELEASE');
54032 src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))';
54033 tok('PRERELEASELOOSE');
54034 src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))';
54035 tok('BUILDIDENTIFIER');
54036 src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
54037 tok('BUILD');
54038 src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))';
54039 tok('FULL');
54040 tok('FULLPLAIN');
54041 src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?';
54042 src[t.FULL] = '^' + src[t.FULLPLAIN] + '$';
54043 tok('LOOSEPLAIN');
54044 src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?';
54045 tok('LOOSE');
54046 src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$';
54047 tok('GTLT');
54048 src[t.GTLT] = '((?:<|>)?=?)';
54049 tok('XRANGEIDENTIFIERLOOSE');
54050 src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
54051 tok('XRANGEIDENTIFIER');
54052 src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*';
54053 tok('XRANGEPLAIN');
54054 src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?';
54055 tok('XRANGEPLAINLOOSE');
54056 src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?';
54057 tok('XRANGE');
54058 src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$';
54059 tok('XRANGELOOSE');
54060 src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$';
54061 tok('COERCE');
54062 src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])';
54063 tok('COERCERTL');
54064 re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g');
54065 tok('LONETILDE');
54066 src[t.LONETILDE] = '(?:~>?)';
54067 tok('TILDETRIM');
54068 src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+';
54069 re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g');
54070 var tildeTrimReplace = '$1~';
54071 tok('TILDE');
54072 src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$';
54073 tok('TILDELOOSE');
54074 src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$';
54075 tok('LONECARET');
54076 src[t.LONECARET] = '(?:\\^)';
54077 tok('CARETTRIM');
54078 src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+';
54079 re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g');
54080 var caretTrimReplace = '$1^';
54081 tok('CARET');
54082 src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$';
54083 tok('CARETLOOSE');
54084 src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$';
54085 tok('COMPARATORLOOSE');
54086 src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$';
54087 tok('COMPARATOR');
54088 src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$';
54089 tok('COMPARATORTRIM');
54090 src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')';
54091 re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g');
54092 var comparatorTrimReplace = '$1$2$3';
54093 tok('HYPHENRANGE');
54094 src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$';
54095 tok('HYPHENRANGELOOSE');
54096 src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$';
54097 tok('STAR');
54098 src[t.STAR] = '(<|>)?=?\\s*\\*';
54099
54100 for (var i = 0; i < R; i++) {
54101 debug(i, src[i]);
54102
54103 if (!re[i]) {
54104 re[i] = new RegExp(src[i]);
54105 }
54106 }
54107
54108 exports.parse = parse;
54109
54110 function parse(version, options) {
54111 if (!options || typeof options !== 'object') {
54112 options = {
54113 loose: !!options,
54114 includePrerelease: false
54115 };
54116 }
54117
54118 if (version instanceof SemVer) {
54119 return version;
54120 }
54121
54122 if (typeof version !== 'string') {
54123 return null;
54124 }
54125
54126 if (version.length > MAX_LENGTH) {
54127 return null;
54128 }
54129
54130 var r = options.loose ? re[t.LOOSE] : re[t.FULL];
54131
54132 if (!r.test(version)) {
54133 return null;
54134 }
54135
54136 try {
54137 return new SemVer(version, options);
54138 } catch (er) {
54139 return null;
54140 }
54141 }
54142
54143 exports.valid = valid;
54144
54145 function valid(version, options) {
54146 var v = parse(version, options);
54147 return v ? v.version : null;
54148 }
54149
54150 exports.clean = clean;
54151
54152 function clean(version, options) {
54153 var s = parse(version.trim().replace(/^[=v]+/, ''), options);
54154 return s ? s.version : null;
54155 }
54156
54157 exports.SemVer = SemVer;
54158
54159 function SemVer(version, options) {
54160 if (!options || typeof options !== 'object') {
54161 options = {
54162 loose: !!options,
54163 includePrerelease: false
54164 };
54165 }
54166
54167 if (version instanceof SemVer) {
54168 if (version.loose === options.loose) {
54169 return version;
54170 } else {
54171 version = version.version;
54172 }
54173 } else if (typeof version !== 'string') {
54174 throw new TypeError('Invalid Version: ' + version);
54175 }
54176
54177 if (version.length > MAX_LENGTH) {
54178 throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters');
54179 }
54180
54181 if (!(this instanceof SemVer)) {
54182 return new SemVer(version, options);
54183 }
54184
54185 debug('SemVer', version, options);
54186 this.options = options;
54187 this.loose = !!options.loose;
54188 var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
54189
54190 if (!m) {
54191 throw new TypeError('Invalid Version: ' + version);
54192 }
54193
54194 this.raw = version;
54195 this.major = +m[1];
54196 this.minor = +m[2];
54197 this.patch = +m[3];
54198
54199 if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
54200 throw new TypeError('Invalid major version');
54201 }
54202
54203 if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
54204 throw new TypeError('Invalid minor version');
54205 }
54206
54207 if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
54208 throw new TypeError('Invalid patch version');
54209 }
54210
54211 if (!m[4]) {
54212 this.prerelease = [];
54213 } else {
54214 this.prerelease = m[4].split('.').map(function (id) {
54215 if (/^[0-9]+$/.test(id)) {
54216 var num = +id;
54217
54218 if (num >= 0 && num < MAX_SAFE_INTEGER) {
54219 return num;
54220 }
54221 }
54222
54223 return id;
54224 });
54225 }
54226
54227 this.build = m[5] ? m[5].split('.') : [];
54228 this.format();
54229 }
54230
54231 SemVer.prototype.format = function () {
54232 this.version = this.major + '.' + this.minor + '.' + this.patch;
54233
54234 if (this.prerelease.length) {
54235 this.version += '-' + this.prerelease.join('.');
54236 }
54237
54238 return this.version;
54239 };
54240
54241 SemVer.prototype.toString = function () {
54242 return this.version;
54243 };
54244
54245 SemVer.prototype.compare = function (other) {
54246 debug('SemVer.compare', this.version, this.options, other);
54247
54248 if (!(other instanceof SemVer)) {
54249 other = new SemVer(other, this.options);
54250 }
54251
54252 return this.compareMain(other) || this.comparePre(other);
54253 };
54254
54255 SemVer.prototype.compareMain = function (other) {
54256 if (!(other instanceof SemVer)) {
54257 other = new SemVer(other, this.options);
54258 }
54259
54260 return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
54261 };
54262
54263 SemVer.prototype.comparePre = function (other) {
54264 if (!(other instanceof SemVer)) {
54265 other = new SemVer(other, this.options);
54266 }
54267
54268 if (this.prerelease.length && !other.prerelease.length) {
54269 return -1;
54270 } else if (!this.prerelease.length && other.prerelease.length) {
54271 return 1;
54272 } else if (!this.prerelease.length && !other.prerelease.length) {
54273 return 0;
54274 }
54275
54276 var i = 0;
54277
54278 do {
54279 var a = this.prerelease[i];
54280 var b = other.prerelease[i];
54281 debug('prerelease compare', i, a, b);
54282
54283 if (a === undefined && b === undefined) {
54284 return 0;
54285 } else if (b === undefined) {
54286 return 1;
54287 } else if (a === undefined) {
54288 return -1;
54289 } else if (a === b) {
54290 continue;
54291 } else {
54292 return compareIdentifiers(a, b);
54293 }
54294 } while (++i);
54295 };
54296
54297 SemVer.prototype.compareBuild = function (other) {
54298 if (!(other instanceof SemVer)) {
54299 other = new SemVer(other, this.options);
54300 }
54301
54302 var i = 0;
54303
54304 do {
54305 var a = this.build[i];
54306 var b = other.build[i];
54307 debug('prerelease compare', i, a, b);
54308
54309 if (a === undefined && b === undefined) {
54310 return 0;
54311 } else if (b === undefined) {
54312 return 1;
54313 } else if (a === undefined) {
54314 return -1;
54315 } else if (a === b) {
54316 continue;
54317 } else {
54318 return compareIdentifiers(a, b);
54319 }
54320 } while (++i);
54321 };
54322
54323 SemVer.prototype.inc = function (release, identifier) {
54324 switch (release) {
54325 case 'premajor':
54326 this.prerelease.length = 0;
54327 this.patch = 0;
54328 this.minor = 0;
54329 this.major++;
54330 this.inc('pre', identifier);
54331 break;
54332
54333 case 'preminor':
54334 this.prerelease.length = 0;
54335 this.patch = 0;
54336 this.minor++;
54337 this.inc('pre', identifier);
54338 break;
54339
54340 case 'prepatch':
54341 this.prerelease.length = 0;
54342 this.inc('patch', identifier);
54343 this.inc('pre', identifier);
54344 break;
54345
54346 case 'prerelease':
54347 if (this.prerelease.length === 0) {
54348 this.inc('patch', identifier);
54349 }
54350
54351 this.inc('pre', identifier);
54352 break;
54353
54354 case 'major':
54355 if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
54356 this.major++;
54357 }
54358
54359 this.minor = 0;
54360 this.patch = 0;
54361 this.prerelease = [];
54362 break;
54363
54364 case 'minor':
54365 if (this.patch !== 0 || this.prerelease.length === 0) {
54366 this.minor++;
54367 }
54368
54369 this.patch = 0;
54370 this.prerelease = [];
54371 break;
54372
54373 case 'patch':
54374 if (this.prerelease.length === 0) {
54375 this.patch++;
54376 }
54377
54378 this.prerelease = [];
54379 break;
54380
54381 case 'pre':
54382 if (this.prerelease.length === 0) {
54383 this.prerelease = [0];
54384 } else {
54385 var i = this.prerelease.length;
54386
54387 while (--i >= 0) {
54388 if (typeof this.prerelease[i] === 'number') {
54389 this.prerelease[i]++;
54390 i = -2;
54391 }
54392 }
54393
54394 if (i === -1) {
54395 this.prerelease.push(0);
54396 }
54397 }
54398
54399 if (identifier) {
54400 if (this.prerelease[0] === identifier) {
54401 if (isNaN(this.prerelease[1])) {
54402 this.prerelease = [identifier, 0];
54403 }
54404 } else {
54405 this.prerelease = [identifier, 0];
54406 }
54407 }
54408
54409 break;
54410
54411 default:
54412 throw new Error('invalid increment argument: ' + release);
54413 }
54414
54415 this.format();
54416 this.raw = this.version;
54417 return this;
54418 };
54419
54420 exports.inc = inc;
54421
54422 function inc(version, release, loose, identifier) {
54423 if (typeof loose === 'string') {
54424 identifier = loose;
54425 loose = undefined;
54426 }
54427
54428 try {
54429 return new SemVer(version, loose).inc(release, identifier).version;
54430 } catch (er) {
54431 return null;
54432 }
54433 }
54434
54435 exports.diff = diff;
54436
54437 function diff(version1, version2) {
54438 if (eq(version1, version2)) {
54439 return null;
54440 } else {
54441 var v1 = parse(version1);
54442 var v2 = parse(version2);
54443 var prefix = '';
54444
54445 if (v1.prerelease.length || v2.prerelease.length) {
54446 prefix = 'pre';
54447 var defaultResult = 'prerelease';
54448 }
54449
54450 for (var key in v1) {
54451 if (key === 'major' || key === 'minor' || key === 'patch') {
54452 if (v1[key] !== v2[key]) {
54453 return prefix + key;
54454 }
54455 }
54456 }
54457
54458 return defaultResult;
54459 }
54460 }
54461
54462 exports.compareIdentifiers = compareIdentifiers;
54463 var numeric = /^[0-9]+$/;
54464
54465 function compareIdentifiers(a, b) {
54466 var anum = numeric.test(a);
54467 var bnum = numeric.test(b);
54468
54469 if (anum && bnum) {
54470 a = +a;
54471 b = +b;
54472 }
54473
54474 return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
54475 }
54476
54477 exports.rcompareIdentifiers = rcompareIdentifiers;
54478
54479 function rcompareIdentifiers(a, b) {
54480 return compareIdentifiers(b, a);
54481 }
54482
54483 exports.major = major;
54484
54485 function major(a, loose) {
54486 return new SemVer(a, loose).major;
54487 }
54488
54489 exports.minor = minor;
54490
54491 function minor(a, loose) {
54492 return new SemVer(a, loose).minor;
54493 }
54494
54495 exports.patch = patch;
54496
54497 function patch(a, loose) {
54498 return new SemVer(a, loose).patch;
54499 }
54500
54501 exports.compare = compare;
54502
54503 function compare(a, b, loose) {
54504 return new SemVer(a, loose).compare(new SemVer(b, loose));
54505 }
54506
54507 exports.compareLoose = compareLoose;
54508
54509 function compareLoose(a, b) {
54510 return compare(a, b, true);
54511 }
54512
54513 exports.compareBuild = compareBuild;
54514
54515 function compareBuild(a, b, loose) {
54516 var versionA = new SemVer(a, loose);
54517 var versionB = new SemVer(b, loose);
54518 return versionA.compare(versionB) || versionA.compareBuild(versionB);
54519 }
54520
54521 exports.rcompare = rcompare;
54522
54523 function rcompare(a, b, loose) {
54524 return compare(b, a, loose);
54525 }
54526
54527 exports.sort = sort;
54528
54529 function sort(list, loose) {
54530 return list.sort(function (a, b) {
54531 return exports.compareBuild(a, b, loose);
54532 });
54533 }
54534
54535 exports.rsort = rsort;
54536
54537 function rsort(list, loose) {
54538 return list.sort(function (a, b) {
54539 return exports.compareBuild(b, a, loose);
54540 });
54541 }
54542
54543 exports.gt = gt;
54544
54545 function gt(a, b, loose) {
54546 return compare(a, b, loose) > 0;
54547 }
54548
54549 exports.lt = lt;
54550
54551 function lt(a, b, loose) {
54552 return compare(a, b, loose) < 0;
54553 }
54554
54555 exports.eq = eq;
54556
54557 function eq(a, b, loose) {
54558 return compare(a, b, loose) === 0;
54559 }
54560
54561 exports.neq = neq;
54562
54563 function neq(a, b, loose) {
54564 return compare(a, b, loose) !== 0;
54565 }
54566
54567 exports.gte = gte;
54568
54569 function gte(a, b, loose) {
54570 return compare(a, b, loose) >= 0;
54571 }
54572
54573 exports.lte = lte;
54574
54575 function lte(a, b, loose) {
54576 return compare(a, b, loose) <= 0;
54577 }
54578
54579 exports.cmp = cmp;
54580
54581 function cmp(a, op, b, loose) {
54582 switch (op) {
54583 case '===':
54584 if (typeof a === 'object') a = a.version;
54585 if (typeof b === 'object') b = b.version;
54586 return a === b;
54587
54588 case '!==':
54589 if (typeof a === 'object') a = a.version;
54590 if (typeof b === 'object') b = b.version;
54591 return a !== b;
54592
54593 case '':
54594 case '=':
54595 case '==':
54596 return eq(a, b, loose);
54597
54598 case '!=':
54599 return neq(a, b, loose);
54600
54601 case '>':
54602 return gt(a, b, loose);
54603
54604 case '>=':
54605 return gte(a, b, loose);
54606
54607 case '<':
54608 return lt(a, b, loose);
54609
54610 case '<=':
54611 return lte(a, b, loose);
54612
54613 default:
54614 throw new TypeError('Invalid operator: ' + op);
54615 }
54616 }
54617
54618 exports.Comparator = Comparator;
54619
54620 function Comparator(comp, options) {
54621 if (!options || typeof options !== 'object') {
54622 options = {
54623 loose: !!options,
54624 includePrerelease: false
54625 };
54626 }
54627
54628 if (comp instanceof Comparator) {
54629 if (comp.loose === !!options.loose) {
54630 return comp;
54631 } else {
54632 comp = comp.value;
54633 }
54634 }
54635
54636 if (!(this instanceof Comparator)) {
54637 return new Comparator(comp, options);
54638 }
54639
54640 debug('comparator', comp, options);
54641 this.options = options;
54642 this.loose = !!options.loose;
54643 this.parse(comp);
54644
54645 if (this.semver === ANY) {
54646 this.value = '';
54647 } else {
54648 this.value = this.operator + this.semver.version;
54649 }
54650
54651 debug('comp', this);
54652 }
54653
54654 var ANY = {};
54655
54656 Comparator.prototype.parse = function (comp) {
54657 var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
54658 var m = comp.match(r);
54659
54660 if (!m) {
54661 throw new TypeError('Invalid comparator: ' + comp);
54662 }
54663
54664 this.operator = m[1] !== undefined ? m[1] : '';
54665
54666 if (this.operator === '=') {
54667 this.operator = '';
54668 }
54669
54670 if (!m[2]) {
54671 this.semver = ANY;
54672 } else {
54673 this.semver = new SemVer(m[2], this.options.loose);
54674 }
54675 };
54676
54677 Comparator.prototype.toString = function () {
54678 return this.value;
54679 };
54680
54681 Comparator.prototype.test = function (version) {
54682 debug('Comparator.test', version, this.options.loose);
54683
54684 if (this.semver === ANY || version === ANY) {
54685 return true;
54686 }
54687
54688 if (typeof version === 'string') {
54689 try {
54690 version = new SemVer(version, this.options);
54691 } catch (er) {
54692 return false;
54693 }
54694 }
54695
54696 return cmp(version, this.operator, this.semver, this.options);
54697 };
54698
54699 Comparator.prototype.intersects = function (comp, options) {
54700 if (!(comp instanceof Comparator)) {
54701 throw new TypeError('a Comparator is required');
54702 }
54703
54704 if (!options || typeof options !== 'object') {
54705 options = {
54706 loose: !!options,
54707 includePrerelease: false
54708 };
54709 }
54710
54711 var rangeTmp;
54712
54713 if (this.operator === '') {
54714 if (this.value === '') {
54715 return true;
54716 }
54717
54718 rangeTmp = new Range(comp.value, options);
54719 return satisfies(this.value, rangeTmp, options);
54720 } else if (comp.operator === '') {
54721 if (comp.value === '') {
54722 return true;
54723 }
54724
54725 rangeTmp = new Range(this.value, options);
54726 return satisfies(comp.semver, rangeTmp, options);
54727 }
54728
54729 var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
54730 var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
54731 var sameSemVer = this.semver.version === comp.semver.version;
54732 var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
54733 var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
54734 var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
54735 return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
54736 };
54737
54738 exports.Range = Range;
54739
54740 function Range(range, options) {
54741 if (!options || typeof options !== 'object') {
54742 options = {
54743 loose: !!options,
54744 includePrerelease: false
54745 };
54746 }
54747
54748 if (range instanceof Range) {
54749 if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
54750 return range;
54751 } else {
54752 return new Range(range.raw, options);
54753 }
54754 }
54755
54756 if (range instanceof Comparator) {
54757 return new Range(range.value, options);
54758 }
54759
54760 if (!(this instanceof Range)) {
54761 return new Range(range, options);
54762 }
54763
54764 this.options = options;
54765 this.loose = !!options.loose;
54766 this.includePrerelease = !!options.includePrerelease;
54767 this.raw = range;
54768 this.set = range.split(/\s*\|\|\s*/).map(function (range) {
54769 return this.parseRange(range.trim());
54770 }, this).filter(function (c) {
54771 return c.length;
54772 });
54773
54774 if (!this.set.length) {
54775 throw new TypeError('Invalid SemVer Range: ' + range);
54776 }
54777
54778 this.format();
54779 }
54780
54781 Range.prototype.format = function () {
54782 this.range = this.set.map(function (comps) {
54783 return comps.join(' ').trim();
54784 }).join('||').trim();
54785 return this.range;
54786 };
54787
54788 Range.prototype.toString = function () {
54789 return this.range;
54790 };
54791
54792 Range.prototype.parseRange = function (range) {
54793 var loose = this.options.loose;
54794 range = range.trim();
54795 var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
54796 range = range.replace(hr, hyphenReplace);
54797 debug('hyphen replace', range);
54798 range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
54799 debug('comparator trim', range, re[t.COMPARATORTRIM]);
54800 range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
54801 range = range.replace(re[t.CARETTRIM], caretTrimReplace);
54802 range = range.split(/\s+/).join(' ');
54803 var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
54804 var set = range.split(' ').map(function (comp) {
54805 return parseComparator(comp, this.options);
54806 }, this).join(' ').split(/\s+/);
54807
54808 if (this.options.loose) {
54809 set = set.filter(function (comp) {
54810 return !!comp.match(compRe);
54811 });
54812 }
54813
54814 set = set.map(function (comp) {
54815 return new Comparator(comp, this.options);
54816 }, this);
54817 return set;
54818 };
54819
54820 Range.prototype.intersects = function (range, options) {
54821 if (!(range instanceof Range)) {
54822 throw new TypeError('a Range is required');
54823 }
54824
54825 return this.set.some(function (thisComparators) {
54826 return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
54827 return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
54828 return rangeComparators.every(function (rangeComparator) {
54829 return thisComparator.intersects(rangeComparator, options);
54830 });
54831 });
54832 });
54833 });
54834 };
54835
54836 function isSatisfiable(comparators, options) {
54837 var result = true;
54838 var remainingComparators = comparators.slice();
54839 var testComparator = remainingComparators.pop();
54840
54841 while (result && remainingComparators.length) {
54842 result = remainingComparators.every(function (otherComparator) {
54843 return testComparator.intersects(otherComparator, options);
54844 });
54845 testComparator = remainingComparators.pop();
54846 }
54847
54848 return result;
54849 }
54850
54851 exports.toComparators = toComparators;
54852
54853 function toComparators(range, options) {
54854 return new Range(range, options).set.map(function (comp) {
54855 return comp.map(function (c) {
54856 return c.value;
54857 }).join(' ').trim().split(' ');
54858 });
54859 }
54860
54861 function parseComparator(comp, options) {
54862 debug('comp', comp, options);
54863 comp = replaceCarets(comp, options);
54864 debug('caret', comp);
54865 comp = replaceTildes(comp, options);
54866 debug('tildes', comp);
54867 comp = replaceXRanges(comp, options);
54868 debug('xrange', comp);
54869 comp = replaceStars(comp, options);
54870 debug('stars', comp);
54871 return comp;
54872 }
54873
54874 function isX(id) {
54875 return !id || id.toLowerCase() === 'x' || id === '*';
54876 }
54877
54878 function replaceTildes(comp, options) {
54879 return comp.trim().split(/\s+/).map(function (comp) {
54880 return replaceTilde(comp, options);
54881 }).join(' ');
54882 }
54883
54884 function replaceTilde(comp, options) {
54885 var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
54886 return comp.replace(r, function (_, M, m, p, pr) {
54887 debug('tilde', comp, _, M, m, p, pr);
54888 var ret;
54889
54890 if (isX(M)) {
54891 ret = '';
54892 } else if (isX(m)) {
54893 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
54894 } else if (isX(p)) {
54895 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
54896 } else if (pr) {
54897 debug('replaceTilde pr', pr);
54898 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
54899 } else {
54900 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
54901 }
54902
54903 debug('tilde return', ret);
54904 return ret;
54905 });
54906 }
54907
54908 function replaceCarets(comp, options) {
54909 return comp.trim().split(/\s+/).map(function (comp) {
54910 return replaceCaret(comp, options);
54911 }).join(' ');
54912 }
54913
54914 function replaceCaret(comp, options) {
54915 debug('caret', comp, options);
54916 var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
54917 return comp.replace(r, function (_, M, m, p, pr) {
54918 debug('caret', comp, _, M, m, p, pr);
54919 var ret;
54920
54921 if (isX(M)) {
54922 ret = '';
54923 } else if (isX(m)) {
54924 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
54925 } else if (isX(p)) {
54926 if (M === '0') {
54927 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
54928 } else {
54929 ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
54930 }
54931 } else if (pr) {
54932 debug('replaceCaret pr', pr);
54933
54934 if (M === '0') {
54935 if (m === '0') {
54936 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1);
54937 } else {
54938 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
54939 }
54940 } else {
54941 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0';
54942 }
54943 } else {
54944 debug('no pr');
54945
54946 if (M === '0') {
54947 if (m === '0') {
54948 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1);
54949 } else {
54950 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
54951 }
54952 } else {
54953 ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0';
54954 }
54955 }
54956
54957 debug('caret return', ret);
54958 return ret;
54959 });
54960 }
54961
54962 function replaceXRanges(comp, options) {
54963 debug('replaceXRanges', comp, options);
54964 return comp.split(/\s+/).map(function (comp) {
54965 return replaceXRange(comp, options);
54966 }).join(' ');
54967 }
54968
54969 function replaceXRange(comp, options) {
54970 comp = comp.trim();
54971 var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
54972 return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
54973 debug('xRange', comp, ret, gtlt, M, m, p, pr);
54974 var xM = isX(M);
54975 var xm = xM || isX(m);
54976 var xp = xm || isX(p);
54977 var anyX = xp;
54978
54979 if (gtlt === '=' && anyX) {
54980 gtlt = '';
54981 }
54982
54983 pr = options.includePrerelease ? '-0' : '';
54984
54985 if (xM) {
54986 if (gtlt === '>' || gtlt === '<') {
54987 ret = '<0.0.0-0';
54988 } else {
54989 ret = '*';
54990 }
54991 } else if (gtlt && anyX) {
54992 if (xm) {
54993 m = 0;
54994 }
54995
54996 p = 0;
54997
54998 if (gtlt === '>') {
54999 gtlt = '>=';
55000
55001 if (xm) {
55002 M = +M + 1;
55003 m = 0;
55004 p = 0;
55005 } else {
55006 m = +m + 1;
55007 p = 0;
55008 }
55009 } else if (gtlt === '<=') {
55010 gtlt = '<';
55011
55012 if (xm) {
55013 M = +M + 1;
55014 } else {
55015 m = +m + 1;
55016 }
55017 }
55018
55019 ret = gtlt + M + '.' + m + '.' + p + pr;
55020 } else if (xm) {
55021 ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr;
55022 } else if (xp) {
55023 ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr;
55024 }
55025
55026 debug('xRange return', ret);
55027 return ret;
55028 });
55029 }
55030
55031 function replaceStars(comp, options) {
55032 debug('replaceStars', comp, options);
55033 return comp.trim().replace(re[t.STAR], '');
55034 }
55035
55036 function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
55037 if (isX(fM)) {
55038 from = '';
55039 } else if (isX(fm)) {
55040 from = '>=' + fM + '.0.0';
55041 } else if (isX(fp)) {
55042 from = '>=' + fM + '.' + fm + '.0';
55043 } else {
55044 from = '>=' + from;
55045 }
55046
55047 if (isX(tM)) {
55048 to = '';
55049 } else if (isX(tm)) {
55050 to = '<' + (+tM + 1) + '.0.0';
55051 } else if (isX(tp)) {
55052 to = '<' + tM + '.' + (+tm + 1) + '.0';
55053 } else if (tpr) {
55054 to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
55055 } else {
55056 to = '<=' + to;
55057 }
55058
55059 return (from + ' ' + to).trim();
55060 }
55061
55062 Range.prototype.test = function (version) {
55063 if (!version) {
55064 return false;
55065 }
55066
55067 if (typeof version === 'string') {
55068 try {
55069 version = new SemVer(version, this.options);
55070 } catch (er) {
55071 return false;
55072 }
55073 }
55074
55075 for (var i = 0; i < this.set.length; i++) {
55076 if (testSet(this.set[i], version, this.options)) {
55077 return true;
55078 }
55079 }
55080
55081 return false;
55082 };
55083
55084 function testSet(set, version, options) {
55085 for (var i = 0; i < set.length; i++) {
55086 if (!set[i].test(version)) {
55087 return false;
55088 }
55089 }
55090
55091 if (version.prerelease.length && !options.includePrerelease) {
55092 for (i = 0; i < set.length; i++) {
55093 debug(set[i].semver);
55094
55095 if (set[i].semver === ANY) {
55096 continue;
55097 }
55098
55099 if (set[i].semver.prerelease.length > 0) {
55100 var allowed = set[i].semver;
55101
55102 if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
55103 return true;
55104 }
55105 }
55106 }
55107
55108 return false;
55109 }
55110
55111 return true;
55112 }
55113
55114 exports.satisfies = satisfies;
55115
55116 function satisfies(version, range, options) {
55117 try {
55118 range = new Range(range, options);
55119 } catch (er) {
55120 return false;
55121 }
55122
55123 return range.test(version);
55124 }
55125
55126 exports.maxSatisfying = maxSatisfying;
55127
55128 function maxSatisfying(versions, range, options) {
55129 var max = null;
55130 var maxSV = null;
55131
55132 try {
55133 var rangeObj = new Range(range, options);
55134 } catch (er) {
55135 return null;
55136 }
55137
55138 versions.forEach(function (v) {
55139 if (rangeObj.test(v)) {
55140 if (!max || maxSV.compare(v) === -1) {
55141 max = v;
55142 maxSV = new SemVer(max, options);
55143 }
55144 }
55145 });
55146 return max;
55147 }
55148
55149 exports.minSatisfying = minSatisfying;
55150
55151 function minSatisfying(versions, range, options) {
55152 var min = null;
55153 var minSV = null;
55154
55155 try {
55156 var rangeObj = new Range(range, options);
55157 } catch (er) {
55158 return null;
55159 }
55160
55161 versions.forEach(function (v) {
55162 if (rangeObj.test(v)) {
55163 if (!min || minSV.compare(v) === 1) {
55164 min = v;
55165 minSV = new SemVer(min, options);
55166 }
55167 }
55168 });
55169 return min;
55170 }
55171
55172 exports.minVersion = minVersion;
55173
55174 function minVersion(range, loose) {
55175 range = new Range(range, loose);
55176 var minver = new SemVer('0.0.0');
55177
55178 if (range.test(minver)) {
55179 return minver;
55180 }
55181
55182 minver = new SemVer('0.0.0-0');
55183
55184 if (range.test(minver)) {
55185 return minver;
55186 }
55187
55188 minver = null;
55189
55190 for (var i = 0; i < range.set.length; ++i) {
55191 var comparators = range.set[i];
55192 comparators.forEach(function (comparator) {
55193 var compver = new SemVer(comparator.semver.version);
55194
55195 switch (comparator.operator) {
55196 case '>':
55197 if (compver.prerelease.length === 0) {
55198 compver.patch++;
55199 } else {
55200 compver.prerelease.push(0);
55201 }
55202
55203 compver.raw = compver.format();
55204
55205 case '':
55206 case '>=':
55207 if (!minver || gt(minver, compver)) {
55208 minver = compver;
55209 }
55210
55211 break;
55212
55213 case '<':
55214 case '<=':
55215 break;
55216
55217 default:
55218 throw new Error('Unexpected operation: ' + comparator.operator);
55219 }
55220 });
55221 }
55222
55223 if (minver && range.test(minver)) {
55224 return minver;
55225 }
55226
55227 return null;
55228 }
55229
55230 exports.validRange = validRange;
55231
55232 function validRange(range, options) {
55233 try {
55234 return new Range(range, options).range || '*';
55235 } catch (er) {
55236 return null;
55237 }
55238 }
55239
55240 exports.ltr = ltr;
55241
55242 function ltr(version, range, options) {
55243 return outside(version, range, '<', options);
55244 }
55245
55246 exports.gtr = gtr;
55247
55248 function gtr(version, range, options) {
55249 return outside(version, range, '>', options);
55250 }
55251
55252 exports.outside = outside;
55253
55254 function outside(version, range, hilo, options) {
55255 version = new SemVer(version, options);
55256 range = new Range(range, options);
55257 var gtfn, ltefn, ltfn, comp, ecomp;
55258
55259 switch (hilo) {
55260 case '>':
55261 gtfn = gt;
55262 ltefn = lte;
55263 ltfn = lt;
55264 comp = '>';
55265 ecomp = '>=';
55266 break;
55267
55268 case '<':
55269 gtfn = lt;
55270 ltefn = gte;
55271 ltfn = gt;
55272 comp = '<';
55273 ecomp = '<=';
55274 break;
55275
55276 default:
55277 throw new TypeError('Must provide a hilo val of "<" or ">"');
55278 }
55279
55280 if (satisfies(version, range, options)) {
55281 return false;
55282 }
55283
55284 for (var i = 0; i < range.set.length; ++i) {
55285 var comparators = range.set[i];
55286 var high = null;
55287 var low = null;
55288 comparators.forEach(function (comparator) {
55289 if (comparator.semver === ANY) {
55290 comparator = new Comparator('>=0.0.0');
55291 }
55292
55293 high = high || comparator;
55294 low = low || comparator;
55295
55296 if (gtfn(comparator.semver, high.semver, options)) {
55297 high = comparator;
55298 } else if (ltfn(comparator.semver, low.semver, options)) {
55299 low = comparator;
55300 }
55301 });
55302
55303 if (high.operator === comp || high.operator === ecomp) {
55304 return false;
55305 }
55306
55307 if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
55308 return false;
55309 } else if (low.operator === ecomp && ltfn(version, low.semver)) {
55310 return false;
55311 }
55312 }
55313
55314 return true;
55315 }
55316
55317 exports.prerelease = prerelease;
55318
55319 function prerelease(version, options) {
55320 var parsed = parse(version, options);
55321 return parsed && parsed.prerelease.length ? parsed.prerelease : null;
55322 }
55323
55324 exports.intersects = intersects;
55325
55326 function intersects(r1, r2, options) {
55327 r1 = new Range(r1, options);
55328 r2 = new Range(r2, options);
55329 return r1.intersects(r2);
55330 }
55331
55332 exports.coerce = coerce;
55333
55334 function coerce(version, options) {
55335 if (version instanceof SemVer) {
55336 return version;
55337 }
55338
55339 if (typeof version === 'number') {
55340 version = String(version);
55341 }
55342
55343 if (typeof version !== 'string') {
55344 return null;
55345 }
55346
55347 options = options || {};
55348 var match = null;
55349
55350 if (!options.rtl) {
55351 match = version.match(re[t.COERCE]);
55352 } else {
55353 var next;
55354
55355 while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
55356 if (!match || next.index + next[0].length !== match.index + match[0].length) {
55357 match = next;
55358 }
55359
55360 re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
55361 }
55362
55363 re[t.COERCERTL].lastIndex = -1;
55364 }
55365
55366 if (match === null) {
55367 return null;
55368 }
55369
55370 return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options);
55371 }
55372 }, "/$$rollup_base$$/packages/babel-core/node_modules/semver/node_modules/semver-BABEL_8_BREAKING-false");
55373
55374 var semver$a = semver$b;
55375
55376 var errorVisitor = {
55377 enter: function enter(path, state) {
55378 var loc = path.node.loc;
55379
55380 if (loc) {
55381 state.loc = loc;
55382 path.stop();
55383 }
55384 }
55385 };
55386
55387 var File = function () {
55388 function File(options, _ref) {
55389 var _this = this;
55390
55391 var code = _ref.code,
55392 ast = _ref.ast,
55393 inputMap = _ref.inputMap;
55394 this._map = new Map();
55395 this.opts = void 0;
55396 this.declarations = {};
55397 this.path = null;
55398 this.ast = {};
55399 this.scope = void 0;
55400 this.metadata = {};
55401 this.code = "";
55402 this.inputMap = null;
55403 this.hub = {
55404 file: this,
55405 getCode: function getCode() {
55406 return _this.code;
55407 },
55408 getScope: function getScope() {
55409 return _this.scope;
55410 },
55411 addHelper: this.addHelper.bind(this),
55412 buildError: this.buildCodeFrameError.bind(this)
55413 };
55414 this.opts = options;
55415 this.code = code;
55416 this.ast = ast;
55417 this.inputMap = inputMap;
55418 this.path = NodePath.get({
55419 hub: this.hub,
55420 parentPath: null,
55421 parent: this.ast,
55422 container: this.ast,
55423 key: "program"
55424 }).setContext();
55425 this.scope = this.path.scope;
55426 }
55427
55428 var _proto = File.prototype;
55429
55430 _proto.set = function set(key, val) {
55431 if (key === "helpersNamespace") {
55432 throw new Error("Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility." + "If you are using @babel/plugin-external-helpers you will need to use a newer " + "version than the one you currently have installed. " + "If you have your own implementation, you'll want to explore using 'helperGenerator' " + "alongside 'file.availableHelper()'.");
55433 }
55434
55435 this._map.set(key, val);
55436 };
55437
55438 _proto.get = function get(key) {
55439 return this._map.get(key);
55440 };
55441
55442 _proto.has = function has(key) {
55443 return this._map.has(key);
55444 };
55445
55446 _proto.getModuleName = function getModuleName$1() {
55447 return getModuleName(this.opts, this.opts);
55448 };
55449
55450 _proto.addImport = function addImport() {
55451 throw new Error("This API has been removed. If you're looking for this " + "functionality in Babel 7, you should import the " + "'@babel/helper-module-imports' module and use the functions exposed " + " from that module, such as 'addNamed' or 'addDefault'.");
55452 };
55453
55454 _proto.availableHelper = function availableHelper(name, versionRange) {
55455 var minVersion;
55456
55457 try {
55458 minVersion = minVersion$3(name);
55459 } catch (err) {
55460 if (err.code !== "BABEL_HELPER_UNKNOWN") throw err;
55461 return false;
55462 }
55463
55464 if (typeof versionRange !== "string") return true;
55465 if (semver$a.valid(versionRange)) versionRange = "^" + versionRange;
55466 return !semver$a.intersects("<" + minVersion, versionRange) && !semver$a.intersects(">=8.0.0", versionRange);
55467 };
55468
55469 _proto.addHelper = function addHelper(name) {
55470 var _this2 = this;
55471
55472 var declar = this.declarations[name];
55473 if (declar) return cloneNode(declar);
55474 var generator = this.get("helperGenerator");
55475
55476 if (generator) {
55477 var res = generator(name);
55478 if (res) return res;
55479 }
55480
55481 ensure(name, File);
55482 var uid = this.declarations[name] = this.scope.generateUidIdentifier(name);
55483 var dependencies = {};
55484
55485 for (var _iterator = _createForOfIteratorHelperLoose(getDependencies(name)), _step; !(_step = _iterator()).done;) {
55486 var dep = _step.value;
55487 dependencies[dep] = this.addHelper(dep);
55488 }
55489
55490 var _helpers$get = get$1(name, function (dep) {
55491 return dependencies[dep];
55492 }, uid, Object.keys(this.scope.getAllBindings())),
55493 nodes = _helpers$get.nodes,
55494 globals = _helpers$get.globals;
55495
55496 globals.forEach(function (name) {
55497 if (_this2.path.scope.hasBinding(name, true)) {
55498 _this2.path.scope.rename(name);
55499 }
55500 });
55501 nodes.forEach(function (node) {
55502 node._compact = true;
55503 });
55504 this.path.unshiftContainer("body", nodes);
55505 this.path.get("body").forEach(function (path) {
55506 if (nodes.indexOf(path.node) === -1) return;
55507 if (path.isVariableDeclaration()) _this2.scope.registerDeclaration(path);
55508 });
55509 return uid;
55510 };
55511
55512 _proto.addTemplateObject = function addTemplateObject() {
55513 throw new Error("This function has been moved into the template literal transform itself.");
55514 };
55515
55516 _proto.buildCodeFrameError = function buildCodeFrameError(node, msg, _Error) {
55517 if (_Error === void 0) {
55518 _Error = SyntaxError;
55519 }
55520
55521 var loc = node && (node.loc || node._loc);
55522
55523 if (!loc && node) {
55524 var state = {
55525 loc: null
55526 };
55527 traverse(node, errorVisitor, this.scope, state);
55528 loc = state.loc;
55529 var txt = "This is an error on an internal node. Probably an internal error.";
55530 if (loc) txt += " Location has been estimated.";
55531 msg += " (" + txt + ")";
55532 }
55533
55534 if (loc) {
55535 var _this$opts$highlightC = this.opts.highlightCode,
55536 highlightCode = _this$opts$highlightC === void 0 ? true : _this$opts$highlightC;
55537 msg += "\n" + codeFrameColumns(this.code, {
55538 start: {
55539 line: loc.start.line,
55540 column: loc.start.column + 1
55541 },
55542 end: loc.end && loc.start.line === loc.end.line ? {
55543 line: loc.end.line,
55544 column: loc.end.column + 1
55545 } : undefined
55546 }, {
55547 highlightCode: highlightCode
55548 });
55549 }
55550
55551 return new _Error(msg);
55552 };
55553
55554 _createClass(File, [{
55555 key: "shebang",
55556 get: function get() {
55557 var interpreter = this.path.node.interpreter;
55558 return interpreter ? interpreter.value : "";
55559 },
55560 set: function set(value) {
55561 if (value) {
55562 this.path.get("interpreter").replaceWith(interpreterDirective(value));
55563 } else {
55564 this.path.get("interpreter").remove();
55565 }
55566 }
55567 }]);
55568
55569 return File;
55570 }();
55571
55572 var _templateObject$k;
55573
55574 var buildUmdWrapper = function buildUmdWrapper(replacements) {
55575 return template$2(_templateObject$k || (_templateObject$k = _taggedTemplateLiteralLoose(["\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n "])))(replacements);
55576 };
55577
55578 function buildGlobal(allowlist) {
55579 var namespace = identifier("babelHelpers");
55580 var body = [];
55581 var container = functionExpression(null, [identifier("global")], blockStatement(body));
55582 var tree = program$2([expressionStatement(callExpression(container, [conditionalExpression(binaryExpression("===", unaryExpression("typeof", identifier("global")), stringLiteral("undefined")), identifier("self"), identifier("global"))]))]);
55583 body.push(variableDeclaration("var", [variableDeclarator(namespace, assignmentExpression("=", memberExpression(identifier("global"), namespace), objectExpression([])))]));
55584 buildHelpers(body, namespace, allowlist);
55585 return tree;
55586 }
55587
55588 function buildModule(allowlist) {
55589 var body = [];
55590 var refs = buildHelpers(body, null, allowlist);
55591 body.unshift(exportNamedDeclaration(null, Object.keys(refs).map(function (name) {
55592 return exportSpecifier(cloneNode(refs[name]), identifier(name));
55593 })));
55594 return program$2(body, [], "module");
55595 }
55596
55597 function buildUmd(allowlist) {
55598 var namespace = identifier("babelHelpers");
55599 var body = [];
55600 body.push(variableDeclaration("var", [variableDeclarator(namespace, identifier("global"))]));
55601 buildHelpers(body, namespace, allowlist);
55602 return program$2([buildUmdWrapper({
55603 FACTORY_PARAMETERS: identifier("global"),
55604 BROWSER_ARGUMENTS: assignmentExpression("=", memberExpression(identifier("root"), namespace), objectExpression([])),
55605 COMMON_ARGUMENTS: identifier("exports"),
55606 AMD_ARGUMENTS: arrayExpression([stringLiteral("exports")]),
55607 FACTORY_BODY: body,
55608 UMD_ROOT: identifier("this")
55609 })]);
55610 }
55611
55612 function buildVar(allowlist) {
55613 var namespace = identifier("babelHelpers");
55614 var body = [];
55615 body.push(variableDeclaration("var", [variableDeclarator(namespace, objectExpression([]))]));
55616 var tree = program$2(body);
55617 buildHelpers(body, namespace, allowlist);
55618 body.push(expressionStatement(namespace));
55619 return tree;
55620 }
55621
55622 function buildHelpers(body, namespace, allowlist) {
55623 var getHelperReference = function getHelperReference(name) {
55624 return namespace ? memberExpression(namespace, identifier(name)) : identifier("_" + name);
55625 };
55626
55627 var refs = {};
55628 list.forEach(function (name) {
55629 if (allowlist && allowlist.indexOf(name) < 0) return;
55630 var ref = refs[name] = getHelperReference(name);
55631 ensure(name, File);
55632
55633 var _helpers$get = get$1(name, getHelperReference, ref),
55634 nodes = _helpers$get.nodes;
55635
55636 body.push.apply(body, _toConsumableArray(nodes));
55637 });
55638 return refs;
55639 }
55640
55641 function babelBuildExternalHelpers (allowlist, outputType) {
55642 if (outputType === void 0) {
55643 outputType = "global";
55644 }
55645
55646 var tree;
55647 var build = {
55648 global: buildGlobal,
55649 module: buildModule,
55650 umd: buildUmd,
55651 "var": buildVar
55652 }[outputType];
55653
55654 if (build) {
55655 tree = build(allowlist);
55656 } else {
55657 throw new Error("Unsupported output type " + outputType);
55658 }
55659
55660 return generate$1(tree).code;
55661 }
55662
55663 var _marked$9 = regenerator.mark(findPackageData),
55664 _marked2$5 = regenerator.mark(findRelativeConfig),
55665 _marked3$3 = regenerator.mark(findRootConfig),
55666 _marked4$2 = regenerator.mark(loadConfig$1),
55667 _marked5$2 = regenerator.mark(resolveShowConfigPath);
55668
55669 function findConfigUpwards(rootDir) {
55670 return null;
55671 }
55672 function findPackageData(filepath) {
55673 return regenerator.wrap(function findPackageData$(_context) {
55674 while (1) {
55675 switch (_context.prev = _context.next) {
55676 case 0:
55677 return _context.abrupt("return", {
55678 filepath: filepath,
55679 directories: [],
55680 pkg: null,
55681 isPackage: false
55682 });
55683
55684 case 1:
55685 case "end":
55686 return _context.stop();
55687 }
55688 }
55689 }, _marked$9);
55690 }
55691 function findRelativeConfig(pkgData, envName, caller) {
55692 return regenerator.wrap(function findRelativeConfig$(_context2) {
55693 while (1) {
55694 switch (_context2.prev = _context2.next) {
55695 case 0:
55696 return _context2.abrupt("return", {
55697 config: null,
55698 ignore: null
55699 });
55700
55701 case 1:
55702 case "end":
55703 return _context2.stop();
55704 }
55705 }
55706 }, _marked2$5);
55707 }
55708 function findRootConfig(dirname, envName, caller) {
55709 return regenerator.wrap(function findRootConfig$(_context3) {
55710 while (1) {
55711 switch (_context3.prev = _context3.next) {
55712 case 0:
55713 return _context3.abrupt("return", null);
55714
55715 case 1:
55716 case "end":
55717 return _context3.stop();
55718 }
55719 }
55720 }, _marked3$3);
55721 }
55722 function loadConfig$1(name, dirname, envName, caller) {
55723 return regenerator.wrap(function loadConfig$(_context4) {
55724 while (1) {
55725 switch (_context4.prev = _context4.next) {
55726 case 0:
55727 throw new Error("Cannot load " + name + " relative to " + dirname + " in a browser");
55728
55729 case 1:
55730 case "end":
55731 return _context4.stop();
55732 }
55733 }
55734 }, _marked4$2);
55735 }
55736 function resolveShowConfigPath(dirname) {
55737 return regenerator.wrap(function resolveShowConfigPath$(_context5) {
55738 while (1) {
55739 switch (_context5.prev = _context5.next) {
55740 case 0:
55741 return _context5.abrupt("return", null);
55742
55743 case 1:
55744 case "end":
55745 return _context5.stop();
55746 }
55747 }
55748 }, _marked5$2);
55749 }
55750 var ROOT_CONFIG_FILENAMES = [];
55751 function resolvePlugin(name, dirname) {
55752 return null;
55753 }
55754 function resolvePreset(name, dirname) {
55755 return null;
55756 }
55757 function loadPlugin(name, dirname) {
55758 throw new Error("Cannot load plugin " + name + " relative to " + dirname + " in a browser");
55759 }
55760 function loadPreset(name, dirname) {
55761 throw new Error("Cannot load preset " + name + " relative to " + dirname + " in a browser");
55762 }
55763
55764 function getEnv(defaultValue) {
55765 if (defaultValue === void 0) {
55766 defaultValue = "development";
55767 }
55768
55769 return browser$6.env.BABEL_ENV || undefined || defaultValue;
55770 }
55771
55772 var GENSYNC_START = Symbol["for"]("gensync:v1:start");
55773 var GENSYNC_SUSPEND = Symbol["for"]("gensync:v1:suspend");
55774 var GENSYNC_EXPECTED_START = "GENSYNC_EXPECTED_START";
55775 var GENSYNC_EXPECTED_SUSPEND = "GENSYNC_EXPECTED_SUSPEND";
55776 var GENSYNC_OPTIONS_ERROR = "GENSYNC_OPTIONS_ERROR";
55777 var GENSYNC_RACE_NONEMPTY = "GENSYNC_RACE_NONEMPTY";
55778 var GENSYNC_ERRBACK_NO_CALLBACK = "GENSYNC_ERRBACK_NO_CALLBACK";
55779 var gensync = Object.assign(function gensync(optsOrFn) {
55780 var genFn = optsOrFn;
55781
55782 if (typeof optsOrFn !== "function") {
55783 genFn = newGenerator(optsOrFn);
55784 } else {
55785 genFn = wrapGenerator(optsOrFn);
55786 }
55787
55788 return Object.assign(genFn, makeFunctionAPI(genFn));
55789 }, {
55790 all: buildOperation({
55791 name: "all",
55792 arity: 1,
55793 sync: function sync(args) {
55794 var items = Array.from(args[0]);
55795 return items.map(function (item) {
55796 return evaluateSync(item);
55797 });
55798 },
55799 async: function async(args, resolve, reject) {
55800 var items = Array.from(args[0]);
55801
55802 if (items.length === 0) {
55803 Promise.resolve().then(function () {
55804 return resolve([]);
55805 });
55806 return;
55807 }
55808
55809 var count = 0;
55810 var results = items.map(function () {
55811 return undefined;
55812 });
55813 items.forEach(function (item, i) {
55814 evaluateAsync(item, function (val) {
55815 results[i] = val;
55816 count += 1;
55817 if (count === results.length) resolve(results);
55818 }, reject);
55819 });
55820 }
55821 }),
55822 race: buildOperation({
55823 name: "race",
55824 arity: 1,
55825 sync: function sync(args) {
55826 var items = Array.from(args[0]);
55827
55828 if (items.length === 0) {
55829 throw makeError("Must race at least 1 item", GENSYNC_RACE_NONEMPTY);
55830 }
55831
55832 return evaluateSync(items[0]);
55833 },
55834 async: function async(args, resolve, reject) {
55835 var items = Array.from(args[0]);
55836
55837 if (items.length === 0) {
55838 throw makeError("Must race at least 1 item", GENSYNC_RACE_NONEMPTY);
55839 }
55840
55841 for (var _i = 0, _items = items; _i < _items.length; _i++) {
55842 var item = _items[_i];
55843 evaluateAsync(item, resolve, reject);
55844 }
55845 }
55846 })
55847 });
55848
55849 function makeFunctionAPI(genFn) {
55850 var fns = {
55851 sync: function sync() {
55852 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
55853 args[_key] = arguments[_key];
55854 }
55855
55856 return evaluateSync(genFn.apply(this, args));
55857 },
55858 async: function async() {
55859 var _this = this;
55860
55861 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
55862 args[_key2] = arguments[_key2];
55863 }
55864
55865 return new Promise(function (resolve, reject) {
55866 evaluateAsync(genFn.apply(_this, args), resolve, reject);
55867 });
55868 },
55869 errback: function errback() {
55870 for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
55871 args[_key3] = arguments[_key3];
55872 }
55873
55874 var cb = args.pop();
55875
55876 if (typeof cb !== "function") {
55877 throw makeError("Asynchronous function called without callback", GENSYNC_ERRBACK_NO_CALLBACK);
55878 }
55879
55880 var gen;
55881
55882 try {
55883 gen = genFn.apply(this, args);
55884 } catch (err) {
55885 cb(err);
55886 return;
55887 }
55888
55889 evaluateAsync(gen, function (val) {
55890 return cb(undefined, val);
55891 }, function (err) {
55892 return cb(err);
55893 });
55894 }
55895 };
55896 return fns;
55897 }
55898
55899 function assertTypeof(type, name, value, allowUndefined) {
55900 if (typeof value === type || allowUndefined && typeof value === "undefined") {
55901 return;
55902 }
55903
55904 var msg;
55905
55906 if (allowUndefined) {
55907 msg = "Expected opts." + name + " to be either a " + type + ", or undefined.";
55908 } else {
55909 msg = "Expected opts." + name + " to be a " + type + ".";
55910 }
55911
55912 throw makeError(msg, GENSYNC_OPTIONS_ERROR);
55913 }
55914
55915 function makeError(msg, code) {
55916 return Object.assign(new Error(msg), {
55917 code: code
55918 });
55919 }
55920
55921 function newGenerator(_ref) {
55922 var name = _ref.name,
55923 arity = _ref.arity,
55924 _sync = _ref.sync,
55925 _async = _ref.async,
55926 errback = _ref.errback;
55927 assertTypeof("string", "name", name, true);
55928 assertTypeof("number", "arity", arity, true);
55929 assertTypeof("function", "sync", _sync);
55930 assertTypeof("function", "async", _async, true);
55931 assertTypeof("function", "errback", errback, true);
55932
55933 if (_async && errback) {
55934 throw makeError("Expected one of either opts.async or opts.errback, but got _both_.", GENSYNC_OPTIONS_ERROR);
55935 }
55936
55937 if (typeof name !== "string") {
55938 var fnName;
55939
55940 if (errback && errback.name && errback.name !== "errback") {
55941 fnName = errback.name;
55942 }
55943
55944 if (_async && _async.name && _async.name !== "async") {
55945 fnName = _async.name.replace(/Async$/, "");
55946 }
55947
55948 if (_sync && _sync.name && _sync.name !== "sync") {
55949 fnName = _sync.name.replace(/Sync$/, "");
55950 }
55951
55952 if (typeof fnName === "string") {
55953 name = fnName;
55954 }
55955 }
55956
55957 if (typeof arity !== "number") {
55958 arity = _sync.length;
55959 }
55960
55961 return buildOperation({
55962 name: name,
55963 arity: arity,
55964 sync: function sync(args) {
55965 return _sync.apply(this, args);
55966 },
55967 async: function async(args, resolve, reject) {
55968 if (_async) {
55969 _async.apply(this, args).then(resolve, reject);
55970 } else if (errback) {
55971 errback.call.apply(errback, [this].concat(_toConsumableArray(args), [function (err, value) {
55972 if (err == null) resolve(value);else reject(err);
55973 }]));
55974 } else {
55975 resolve(_sync.apply(this, args));
55976 }
55977 }
55978 });
55979 }
55980
55981 function wrapGenerator(genFn) {
55982 return setFunctionMetadata(genFn.name, genFn.length, function () {
55983 for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
55984 args[_key4] = arguments[_key4];
55985 }
55986
55987 return genFn.apply(this, args);
55988 });
55989 }
55990
55991 function buildOperation(_ref2) {
55992 var name = _ref2.name,
55993 arity = _ref2.arity,
55994 sync = _ref2.sync,
55995 async = _ref2.async;
55996 return setFunctionMetadata(name, arity, regenerator.mark(function _callee() {
55997 var resume,
55998 _len5,
55999 args,
56000 _key5,
56001 res,
56002 result,
56003 _args = arguments;
56004
56005 return regenerator.wrap(function _callee$(_context) {
56006 while (1) {
56007 switch (_context.prev = _context.next) {
56008 case 0:
56009 _context.next = 2;
56010 return GENSYNC_START;
56011
56012 case 2:
56013 resume = _context.sent;
56014
56015 for (_len5 = _args.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
56016 args[_key5] = _args[_key5];
56017 }
56018
56019 if (resume) {
56020 _context.next = 7;
56021 break;
56022 }
56023
56024 res = sync.call(this, args);
56025 return _context.abrupt("return", res);
56026
56027 case 7:
56028 try {
56029 async.call(this, args, function (value) {
56030 if (result) return;
56031 result = {
56032 value: value
56033 };
56034 resume();
56035 }, function (err) {
56036 if (result) return;
56037 result = {
56038 err: err
56039 };
56040 resume();
56041 });
56042 } catch (err) {
56043 result = {
56044 err: err
56045 };
56046 resume();
56047 }
56048
56049 _context.next = 10;
56050 return GENSYNC_SUSPEND;
56051
56052 case 10:
56053 if (!result.hasOwnProperty("err")) {
56054 _context.next = 12;
56055 break;
56056 }
56057
56058 throw result.err;
56059
56060 case 12:
56061 return _context.abrupt("return", result.value);
56062
56063 case 13:
56064 case "end":
56065 return _context.stop();
56066 }
56067 }
56068 }, _callee, this);
56069 }));
56070 }
56071
56072 function evaluateSync(gen) {
56073 var value;
56074
56075 while (!(_gen$next = gen.next(), value = _gen$next.value, _gen$next).done) {
56076 var _gen$next;
56077
56078 assertStart(value, gen);
56079 }
56080
56081 return value;
56082 }
56083
56084 function evaluateAsync(gen, resolve, reject) {
56085 (function step() {
56086 try {
56087 var value;
56088
56089 var _loop = function _loop() {
56090 assertStart(value, gen);
56091 var sync = true;
56092 var didSyncResume = false;
56093 var out = gen.next(function () {
56094 if (sync) {
56095 didSyncResume = true;
56096 } else {
56097 step();
56098 }
56099 });
56100 sync = false;
56101 assertSuspend(out, gen);
56102
56103 if (!didSyncResume) {
56104 return {
56105 v: void 0
56106 };
56107 }
56108 };
56109
56110 while (!(_gen$next2 = gen.next(), value = _gen$next2.value, _gen$next2).done) {
56111 var _gen$next2;
56112
56113 var _ret = _loop();
56114
56115 if (typeof _ret === "object") return _ret.v;
56116 }
56117
56118 return resolve(value);
56119 } catch (err) {
56120 return reject(err);
56121 }
56122 })();
56123 }
56124
56125 function assertStart(value, gen) {
56126 if (value === GENSYNC_START) return;
56127 throwError(gen, makeError("Got unexpected yielded value in gensync generator: " + JSON.stringify(value) + ". Did you perhaps mean to use 'yield*' instead of 'yield'?", GENSYNC_EXPECTED_START));
56128 }
56129
56130 function assertSuspend(_ref3, gen) {
56131 var value = _ref3.value,
56132 done = _ref3.done;
56133 if (!done && value === GENSYNC_SUSPEND) return;
56134 throwError(gen, makeError(done ? "Unexpected generator completion. If you get this, it is probably a gensync bug." : "Expected GENSYNC_SUSPEND, got " + JSON.stringify(value) + ". If you get this, it is probably a gensync bug.", GENSYNC_EXPECTED_SUSPEND));
56135 }
56136
56137 function throwError(gen, err) {
56138 if (gen["throw"]) gen["throw"](err);
56139 throw err;
56140 }
56141
56142 function setFunctionMetadata(name, arity, fn) {
56143 if (typeof name === "string") {
56144 var nameDesc = Object.getOwnPropertyDescriptor(fn, "name");
56145
56146 if (!nameDesc || nameDesc.configurable) {
56147 Object.defineProperty(fn, "name", Object.assign(nameDesc || {}, {
56148 configurable: true,
56149 value: name
56150 }));
56151 }
56152 }
56153
56154 if (typeof arity === "number") {
56155 var lengthDesc = Object.getOwnPropertyDescriptor(fn, "length");
56156
56157 if (!lengthDesc || lengthDesc.configurable) {
56158 Object.defineProperty(fn, "length", Object.assign(lengthDesc || {}, {
56159 configurable: true,
56160 value: arity
56161 }));
56162 }
56163 }
56164
56165 return fn;
56166 }
56167
56168 var id = function id(x) {
56169 return x;
56170 };
56171
56172 var runGenerator = gensync(regenerator.mark(function _callee(item) {
56173 return regenerator.wrap(function _callee$(_context) {
56174 while (1) {
56175 switch (_context.prev = _context.next) {
56176 case 0:
56177 return _context.delegateYield(item, "t0", 1);
56178
56179 case 1:
56180 return _context.abrupt("return", _context.t0);
56181
56182 case 2:
56183 case "end":
56184 return _context.stop();
56185 }
56186 }
56187 }, _callee);
56188 }));
56189 var isAsync = gensync({
56190 sync: function sync() {
56191 return false;
56192 },
56193 errback: function errback(cb) {
56194 return cb(null, true);
56195 }
56196 });
56197 function maybeAsync(fn, message) {
56198 return gensync({
56199 sync: function sync() {
56200 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
56201 args[_key] = arguments[_key];
56202 }
56203
56204 var result = fn.apply(this, args);
56205 if (isThenable$1(result)) throw new Error(message);
56206 return result;
56207 },
56208 async: function async() {
56209 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
56210 args[_key2] = arguments[_key2];
56211 }
56212
56213 return Promise.resolve(fn.apply(this, args));
56214 }
56215 });
56216 }
56217 var withKind = gensync({
56218 sync: function sync(cb) {
56219 return cb("sync");
56220 },
56221 async: function async(cb) {
56222 return cb("async");
56223 }
56224 });
56225 function forwardAsync(action, cb) {
56226 var g = gensync(action);
56227 return withKind(function (kind) {
56228 var adapted = g[kind];
56229 return cb(adapted);
56230 });
56231 }
56232 var onFirstPause = gensync({
56233 name: "onFirstPause",
56234 arity: 2,
56235 sync: function sync(item) {
56236 return runGenerator.sync(item);
56237 },
56238 errback: function errback(item, firstPause, cb) {
56239 var completed = false;
56240 runGenerator.errback(item, function (err, value) {
56241 completed = true;
56242 cb(err, value);
56243 });
56244
56245 if (!completed) {
56246 firstPause();
56247 }
56248 }
56249 });
56250 var waitFor = gensync({
56251 sync: id,
56252 async: id
56253 });
56254 function isThenable$1(val) {
56255 return !!val && (typeof val === "object" || typeof val === "function") && !!val.then && typeof val.then === "function";
56256 }
56257
56258 function mergeOptions(target, source) {
56259 for (var _i = 0, _Object$keys = Object.keys(source); _i < _Object$keys.length; _i++) {
56260 var k = _Object$keys[_i];
56261
56262 if ((k === "parserOpts" || k === "generatorOpts" || k === "assumptions") && source[k]) {
56263 var parserOpts = source[k];
56264 var targetObj = target[k] || (target[k] = {});
56265 mergeDefaultFields(targetObj, parserOpts);
56266 } else {
56267 var val = source[k];
56268 if (val !== undefined) target[k] = val;
56269 }
56270 }
56271 }
56272
56273 function mergeDefaultFields(target, source) {
56274 for (var _i2 = 0, _Object$keys2 = Object.keys(source); _i2 < _Object$keys2.length; _i2++) {
56275 var k = _Object$keys2[_i2];
56276 var val = source[k];
56277 if (val !== undefined) target[k] = val;
56278 }
56279 }
56280
56281 function isIterableIterator(value) {
56282 return !!value && typeof value.next === "function" && typeof value[Symbol.iterator] === "function";
56283 }
56284
56285 var Plugin$1 = function Plugin(plugin, options, key) {
56286 this.key = void 0;
56287 this.manipulateOptions = void 0;
56288 this.post = void 0;
56289 this.pre = void 0;
56290 this.visitor = void 0;
56291 this.parserOverride = void 0;
56292 this.generatorOverride = void 0;
56293 this.options = void 0;
56294 this.key = plugin.name || key;
56295 this.manipulateOptions = plugin.manipulateOptions;
56296 this.post = plugin.post;
56297 this.pre = plugin.pre;
56298 this.visitor = plugin.visitor || {};
56299 this.parserOverride = plugin.parserOverride;
56300 this.generatorOverride = plugin.generatorOverride;
56301 this.options = options;
56302 };
56303
56304 var _marked$8 = regenerator.mark(genTrue),
56305 _marked2$4 = regenerator.mark(getCachedValue),
56306 _marked3$2 = regenerator.mark(getCachedValueOrWait);
56307
56308 var synchronize = function synchronize(gen) {
56309 return gensync(gen).sync;
56310 };
56311
56312 function genTrue() {
56313 return regenerator.wrap(function genTrue$(_context) {
56314 while (1) {
56315 switch (_context.prev = _context.next) {
56316 case 0:
56317 return _context.abrupt("return", true);
56318
56319 case 1:
56320 case "end":
56321 return _context.stop();
56322 }
56323 }
56324 }, _marked$8);
56325 }
56326
56327 function makeWeakCache(handler) {
56328 return makeCachedFunction(WeakMap, handler);
56329 }
56330 function makeWeakCacheSync(handler) {
56331 return synchronize(makeWeakCache(handler));
56332 }
56333 function makeStrongCache(handler) {
56334 return makeCachedFunction(Map, handler);
56335 }
56336 function makeStrongCacheSync(handler) {
56337 return synchronize(makeStrongCache(handler));
56338 }
56339
56340 function makeCachedFunction(CallCache, handler) {
56341 var callCacheSync = new CallCache();
56342 var callCacheAsync = new CallCache();
56343 var futureCache = new CallCache();
56344 return regenerator.mark(function cachedFunction(arg, data) {
56345 var asyncContext, callCache, cached, cache, handlerResult, finishLock, value, gen;
56346 return regenerator.wrap(function cachedFunction$(_context2) {
56347 while (1) {
56348 switch (_context2.prev = _context2.next) {
56349 case 0:
56350 return _context2.delegateYield(isAsync(), "t0", 1);
56351
56352 case 1:
56353 asyncContext = _context2.t0;
56354 callCache = asyncContext ? callCacheAsync : callCacheSync;
56355 return _context2.delegateYield(getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data), "t1", 4);
56356
56357 case 4:
56358 cached = _context2.t1;
56359
56360 if (!cached.valid) {
56361 _context2.next = 7;
56362 break;
56363 }
56364
56365 return _context2.abrupt("return", cached.value);
56366
56367 case 7:
56368 cache = new CacheConfigurator(data);
56369 handlerResult = handler(arg, cache);
56370
56371 if (!isIterableIterator(handlerResult)) {
56372 _context2.next = 15;
56373 break;
56374 }
56375
56376 gen = handlerResult;
56377 return _context2.delegateYield(onFirstPause(gen, function () {
56378 finishLock = setupAsyncLocks(cache, futureCache, arg);
56379 }), "t2", 12);
56380
56381 case 12:
56382 value = _context2.t2;
56383 _context2.next = 16;
56384 break;
56385
56386 case 15:
56387 value = handlerResult;
56388
56389 case 16:
56390 updateFunctionCache(callCache, cache, arg, value);
56391
56392 if (finishLock) {
56393 futureCache["delete"](arg);
56394 finishLock.release(value);
56395 }
56396
56397 return _context2.abrupt("return", value);
56398
56399 case 19:
56400 case "end":
56401 return _context2.stop();
56402 }
56403 }
56404 }, cachedFunction);
56405 });
56406 }
56407
56408 function getCachedValue(cache, arg, data) {
56409 var cachedValue, _iterator, _step, _step$value, _value, valid;
56410
56411 return regenerator.wrap(function getCachedValue$(_context3) {
56412 while (1) {
56413 switch (_context3.prev = _context3.next) {
56414 case 0:
56415 cachedValue = cache.get(arg);
56416
56417 if (!cachedValue) {
56418 _context3.next = 10;
56419 break;
56420 }
56421
56422 _iterator = _createForOfIteratorHelperLoose(cachedValue);
56423
56424 case 3:
56425 if ((_step = _iterator()).done) {
56426 _context3.next = 10;
56427 break;
56428 }
56429
56430 _step$value = _step.value, _value = _step$value.value, valid = _step$value.valid;
56431 return _context3.delegateYield(valid(data), "t0", 6);
56432
56433 case 6:
56434 if (!_context3.t0) {
56435 _context3.next = 8;
56436 break;
56437 }
56438
56439 return _context3.abrupt("return", {
56440 valid: true,
56441 value: _value
56442 });
56443
56444 case 8:
56445 _context3.next = 3;
56446 break;
56447
56448 case 10:
56449 return _context3.abrupt("return", {
56450 valid: false,
56451 value: null
56452 });
56453
56454 case 11:
56455 case "end":
56456 return _context3.stop();
56457 }
56458 }
56459 }, _marked2$4);
56460 }
56461
56462 function getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data) {
56463 var cached, _cached, _value2;
56464
56465 return regenerator.wrap(function getCachedValueOrWait$(_context4) {
56466 while (1) {
56467 switch (_context4.prev = _context4.next) {
56468 case 0:
56469 return _context4.delegateYield(getCachedValue(callCache, arg, data), "t0", 1);
56470
56471 case 1:
56472 cached = _context4.t0;
56473
56474 if (!cached.valid) {
56475 _context4.next = 4;
56476 break;
56477 }
56478
56479 return _context4.abrupt("return", cached);
56480
56481 case 4:
56482 if (!asyncContext) {
56483 _context4.next = 11;
56484 break;
56485 }
56486
56487 return _context4.delegateYield(getCachedValue(futureCache, arg, data), "t1", 6);
56488
56489 case 6:
56490 _cached = _context4.t1;
56491
56492 if (!_cached.valid) {
56493 _context4.next = 11;
56494 break;
56495 }
56496
56497 return _context4.delegateYield(waitFor(_cached.value.promise), "t2", 9);
56498
56499 case 9:
56500 _value2 = _context4.t2;
56501 return _context4.abrupt("return", {
56502 valid: true,
56503 value: _value2
56504 });
56505
56506 case 11:
56507 return _context4.abrupt("return", {
56508 valid: false,
56509 value: null
56510 });
56511
56512 case 12:
56513 case "end":
56514 return _context4.stop();
56515 }
56516 }
56517 }, _marked3$2);
56518 }
56519
56520 function setupAsyncLocks(config, futureCache, arg) {
56521 var finishLock = new Lock();
56522 updateFunctionCache(futureCache, config, arg, finishLock);
56523 return finishLock;
56524 }
56525
56526 function updateFunctionCache(cache, config, arg, value) {
56527 if (!config.configured()) config.forever();
56528 var cachedValue = cache.get(arg);
56529 config.deactivate();
56530
56531 switch (config.mode()) {
56532 case "forever":
56533 cachedValue = [{
56534 value: value,
56535 valid: genTrue
56536 }];
56537 cache.set(arg, cachedValue);
56538 break;
56539
56540 case "invalidate":
56541 cachedValue = [{
56542 value: value,
56543 valid: config.validator()
56544 }];
56545 cache.set(arg, cachedValue);
56546 break;
56547
56548 case "valid":
56549 if (cachedValue) {
56550 cachedValue.push({
56551 value: value,
56552 valid: config.validator()
56553 });
56554 } else {
56555 cachedValue = [{
56556 value: value,
56557 valid: config.validator()
56558 }];
56559 cache.set(arg, cachedValue);
56560 }
56561
56562 }
56563 }
56564
56565 var CacheConfigurator = function () {
56566 function CacheConfigurator(data) {
56567 this._active = true;
56568 this._never = false;
56569 this._forever = false;
56570 this._invalidate = false;
56571 this._configured = false;
56572 this._pairs = [];
56573 this._data = void 0;
56574 this._data = data;
56575 }
56576
56577 var _proto = CacheConfigurator.prototype;
56578
56579 _proto.simple = function simple() {
56580 return makeSimpleConfigurator(this);
56581 };
56582
56583 _proto.mode = function mode() {
56584 if (this._never) return "never";
56585 if (this._forever) return "forever";
56586 if (this._invalidate) return "invalidate";
56587 return "valid";
56588 };
56589
56590 _proto.forever = function forever() {
56591 if (!this._active) {
56592 throw new Error("Cannot change caching after evaluation has completed.");
56593 }
56594
56595 if (this._never) {
56596 throw new Error("Caching has already been configured with .never()");
56597 }
56598
56599 this._forever = true;
56600 this._configured = true;
56601 };
56602
56603 _proto.never = function never() {
56604 if (!this._active) {
56605 throw new Error("Cannot change caching after evaluation has completed.");
56606 }
56607
56608 if (this._forever) {
56609 throw new Error("Caching has already been configured with .forever()");
56610 }
56611
56612 this._never = true;
56613 this._configured = true;
56614 };
56615
56616 _proto.using = function using(handler) {
56617 var _this = this;
56618
56619 if (!this._active) {
56620 throw new Error("Cannot change caching after evaluation has completed.");
56621 }
56622
56623 if (this._never || this._forever) {
56624 throw new Error("Caching has already been configured with .never or .forever()");
56625 }
56626
56627 this._configured = true;
56628 var key = handler(this._data);
56629 var fn = maybeAsync(handler, "You appear to be using an async cache handler, but Babel has been called synchronously");
56630
56631 if (isThenable$1(key)) {
56632 return key.then(function (key) {
56633 _this._pairs.push([key, fn]);
56634
56635 return key;
56636 });
56637 }
56638
56639 this._pairs.push([key, fn]);
56640
56641 return key;
56642 };
56643
56644 _proto.invalidate = function invalidate(handler) {
56645 this._invalidate = true;
56646 return this.using(handler);
56647 };
56648
56649 _proto.validator = function validator() {
56650 var pairs = this._pairs;
56651 return regenerator.mark(function _callee(data) {
56652 var _iterator2, _step2, _step2$value, key, fn;
56653
56654 return regenerator.wrap(function _callee$(_context5) {
56655 while (1) {
56656 switch (_context5.prev = _context5.next) {
56657 case 0:
56658 _iterator2 = _createForOfIteratorHelperLoose(pairs);
56659
56660 case 1:
56661 if ((_step2 = _iterator2()).done) {
56662 _context5.next = 10;
56663 break;
56664 }
56665
56666 _step2$value = _slicedToArray$2(_step2.value, 2), key = _step2$value[0], fn = _step2$value[1];
56667 _context5.t0 = key;
56668 return _context5.delegateYield(fn(data), "t1", 5);
56669
56670 case 5:
56671 _context5.t2 = _context5.t1;
56672
56673 if (!(_context5.t0 !== _context5.t2)) {
56674 _context5.next = 8;
56675 break;
56676 }
56677
56678 return _context5.abrupt("return", false);
56679
56680 case 8:
56681 _context5.next = 1;
56682 break;
56683
56684 case 10:
56685 return _context5.abrupt("return", true);
56686
56687 case 11:
56688 case "end":
56689 return _context5.stop();
56690 }
56691 }
56692 }, _callee);
56693 });
56694 };
56695
56696 _proto.deactivate = function deactivate() {
56697 this._active = false;
56698 };
56699
56700 _proto.configured = function configured() {
56701 return this._configured;
56702 };
56703
56704 return CacheConfigurator;
56705 }();
56706
56707 function makeSimpleConfigurator(cache) {
56708 function cacheFn(val) {
56709 if (typeof val === "boolean") {
56710 if (val) cache.forever();else cache.never();
56711 return;
56712 }
56713
56714 return cache.using(function () {
56715 return assertSimpleType(val());
56716 });
56717 }
56718
56719 cacheFn.forever = function () {
56720 return cache.forever();
56721 };
56722
56723 cacheFn.never = function () {
56724 return cache.never();
56725 };
56726
56727 cacheFn.using = function (cb) {
56728 return cache.using(function () {
56729 return assertSimpleType(cb());
56730 });
56731 };
56732
56733 cacheFn.invalidate = function (cb) {
56734 return cache.invalidate(function () {
56735 return assertSimpleType(cb());
56736 });
56737 };
56738
56739 return cacheFn;
56740 }
56741
56742 function assertSimpleType(value) {
56743 if (isThenable$1(value)) {
56744 throw new Error("You appear to be using an async cache handler, " + "which your current version of Babel does not support. " + "We may add support for this in the future, " + "but if you're on the most recent version of @babel/core and still " + "seeing this error, then you'll need to synchronously handle your caching logic.");
56745 }
56746
56747 if (value != null && typeof value !== "string" && typeof value !== "boolean" && typeof value !== "number") {
56748 throw new Error("Cache keys must be either string, boolean, number, null, or undefined.");
56749 }
56750
56751 return value;
56752 }
56753
56754 var Lock = function () {
56755 function Lock() {
56756 var _this2 = this;
56757
56758 this.released = false;
56759 this.promise = void 0;
56760 this._resolve = void 0;
56761 this.promise = new Promise(function (resolve) {
56762 _this2._resolve = resolve;
56763 });
56764 }
56765
56766 var _proto2 = Lock.prototype;
56767
56768 _proto2.release = function release(value) {
56769 this.released = true;
56770
56771 this._resolve(value);
56772 };
56773
56774 return Lock;
56775 }();
56776
56777 var jsReleases = [
56778 {
56779 name: "nodejs",
56780 version: "0.2.0",
56781 date: "2011-08-26",
56782 lts: false,
56783 security: false
56784 },
56785 {
56786 name: "nodejs",
56787 version: "0.3.0",
56788 date: "2011-08-26",
56789 lts: false,
56790 security: false
56791 },
56792 {
56793 name: "nodejs",
56794 version: "0.4.0",
56795 date: "2011-08-26",
56796 lts: false,
56797 security: false
56798 },
56799 {
56800 name: "nodejs",
56801 version: "0.5.0",
56802 date: "2011-08-26",
56803 lts: false,
56804 security: false
56805 },
56806 {
56807 name: "nodejs",
56808 version: "0.6.0",
56809 date: "2011-11-04",
56810 lts: false,
56811 security: false
56812 },
56813 {
56814 name: "nodejs",
56815 version: "0.7.0",
56816 date: "2012-01-17",
56817 lts: false,
56818 security: false
56819 },
56820 {
56821 name: "nodejs",
56822 version: "0.8.0",
56823 date: "2012-06-22",
56824 lts: false,
56825 security: false
56826 },
56827 {
56828 name: "nodejs",
56829 version: "0.9.0",
56830 date: "2012-07-20",
56831 lts: false,
56832 security: false
56833 },
56834 {
56835 name: "nodejs",
56836 version: "0.10.0",
56837 date: "2013-03-11",
56838 lts: false,
56839 security: false
56840 },
56841 {
56842 name: "nodejs",
56843 version: "0.11.0",
56844 date: "2013-03-28",
56845 lts: false,
56846 security: false
56847 },
56848 {
56849 name: "nodejs",
56850 version: "0.12.0",
56851 date: "2015-02-06",
56852 lts: false,
56853 security: false
56854 },
56855 {
56856 name: "iojs",
56857 version: "1.0.0",
56858 date: "2015-01-14"
56859 },
56860 {
56861 name: "iojs",
56862 version: "1.1.0",
56863 date: "2015-02-03"
56864 },
56865 {
56866 name: "iojs",
56867 version: "1.2.0",
56868 date: "2015-02-11"
56869 },
56870 {
56871 name: "iojs",
56872 version: "1.3.0",
56873 date: "2015-02-20"
56874 },
56875 {
56876 name: "iojs",
56877 version: "1.5.0",
56878 date: "2015-03-06"
56879 },
56880 {
56881 name: "iojs",
56882 version: "1.6.0",
56883 date: "2015-03-20"
56884 },
56885 {
56886 name: "iojs",
56887 version: "2.0.0",
56888 date: "2015-05-04"
56889 },
56890 {
56891 name: "iojs",
56892 version: "2.1.0",
56893 date: "2015-05-24"
56894 },
56895 {
56896 name: "iojs",
56897 version: "2.2.0",
56898 date: "2015-06-01"
56899 },
56900 {
56901 name: "iojs",
56902 version: "2.3.0",
56903 date: "2015-06-13"
56904 },
56905 {
56906 name: "iojs",
56907 version: "2.4.0",
56908 date: "2015-07-17"
56909 },
56910 {
56911 name: "iojs",
56912 version: "2.5.0",
56913 date: "2015-07-28"
56914 },
56915 {
56916 name: "iojs",
56917 version: "3.0.0",
56918 date: "2015-08-04"
56919 },
56920 {
56921 name: "iojs",
56922 version: "3.1.0",
56923 date: "2015-08-19"
56924 },
56925 {
56926 name: "iojs",
56927 version: "3.2.0",
56928 date: "2015-08-25"
56929 },
56930 {
56931 name: "iojs",
56932 version: "3.3.0",
56933 date: "2015-09-02"
56934 },
56935 {
56936 name: "nodejs",
56937 version: "4.0.0",
56938 date: "2015-09-08",
56939 lts: false,
56940 security: false
56941 },
56942 {
56943 name: "nodejs",
56944 version: "4.1.0",
56945 date: "2015-09-17",
56946 lts: false,
56947 security: false
56948 },
56949 {
56950 name: "nodejs",
56951 version: "4.2.0",
56952 date: "2015-10-12",
56953 lts: "Argon",
56954 security: false
56955 },
56956 {
56957 name: "nodejs",
56958 version: "4.3.0",
56959 date: "2016-02-09",
56960 lts: "Argon",
56961 security: false
56962 },
56963 {
56964 name: "nodejs",
56965 version: "4.4.0",
56966 date: "2016-03-08",
56967 lts: "Argon",
56968 security: false
56969 },
56970 {
56971 name: "nodejs",
56972 version: "4.5.0",
56973 date: "2016-08-16",
56974 lts: "Argon",
56975 security: false
56976 },
56977 {
56978 name: "nodejs",
56979 version: "4.6.0",
56980 date: "2016-09-27",
56981 lts: "Argon",
56982 security: true
56983 },
56984 {
56985 name: "nodejs",
56986 version: "4.7.0",
56987 date: "2016-12-06",
56988 lts: "Argon",
56989 security: false
56990 },
56991 {
56992 name: "nodejs",
56993 version: "4.8.0",
56994 date: "2017-02-21",
56995 lts: "Argon",
56996 security: false
56997 },
56998 {
56999 name: "nodejs",
57000 version: "4.9.0",
57001 date: "2018-03-28",
57002 lts: "Argon",
57003 security: true
57004 },
57005 {
57006 name: "nodejs",
57007 version: "5.0.0",
57008 date: "2015-10-29",
57009 lts: false,
57010 security: false
57011 },
57012 {
57013 name: "nodejs",
57014 version: "5.1.0",
57015 date: "2015-11-17",
57016 lts: false,
57017 security: false
57018 },
57019 {
57020 name: "nodejs",
57021 version: "5.2.0",
57022 date: "2015-12-09",
57023 lts: false,
57024 security: false
57025 },
57026 {
57027 name: "nodejs",
57028 version: "5.3.0",
57029 date: "2015-12-15",
57030 lts: false,
57031 security: false
57032 },
57033 {
57034 name: "nodejs",
57035 version: "5.4.0",
57036 date: "2016-01-06",
57037 lts: false,
57038 security: false
57039 },
57040 {
57041 name: "nodejs",
57042 version: "5.5.0",
57043 date: "2016-01-21",
57044 lts: false,
57045 security: false
57046 },
57047 {
57048 name: "nodejs",
57049 version: "5.6.0",
57050 date: "2016-02-09",
57051 lts: false,
57052 security: false
57053 },
57054 {
57055 name: "nodejs",
57056 version: "5.7.0",
57057 date: "2016-02-23",
57058 lts: false,
57059 security: false
57060 },
57061 {
57062 name: "nodejs",
57063 version: "5.8.0",
57064 date: "2016-03-09",
57065 lts: false,
57066 security: false
57067 },
57068 {
57069 name: "nodejs",
57070 version: "5.9.0",
57071 date: "2016-03-16",
57072 lts: false,
57073 security: false
57074 },
57075 {
57076 name: "nodejs",
57077 version: "5.10.0",
57078 date: "2016-04-01",
57079 lts: false,
57080 security: false
57081 },
57082 {
57083 name: "nodejs",
57084 version: "5.11.0",
57085 date: "2016-04-21",
57086 lts: false,
57087 security: false
57088 },
57089 {
57090 name: "nodejs",
57091 version: "5.12.0",
57092 date: "2016-06-23",
57093 lts: false,
57094 security: false
57095 },
57096 {
57097 name: "nodejs",
57098 version: "6.0.0",
57099 date: "2016-04-26",
57100 lts: false,
57101 security: false
57102 },
57103 {
57104 name: "nodejs",
57105 version: "6.1.0",
57106 date: "2016-05-05",
57107 lts: false,
57108 security: false
57109 },
57110 {
57111 name: "nodejs",
57112 version: "6.2.0",
57113 date: "2016-05-17",
57114 lts: false,
57115 security: false
57116 },
57117 {
57118 name: "nodejs",
57119 version: "6.3.0",
57120 date: "2016-07-06",
57121 lts: false,
57122 security: false
57123 },
57124 {
57125 name: "nodejs",
57126 version: "6.4.0",
57127 date: "2016-08-12",
57128 lts: false,
57129 security: false
57130 },
57131 {
57132 name: "nodejs",
57133 version: "6.5.0",
57134 date: "2016-08-26",
57135 lts: false,
57136 security: false
57137 },
57138 {
57139 name: "nodejs",
57140 version: "6.6.0",
57141 date: "2016-09-14",
57142 lts: false,
57143 security: false
57144 },
57145 {
57146 name: "nodejs",
57147 version: "6.7.0",
57148 date: "2016-09-27",
57149 lts: false,
57150 security: true
57151 },
57152 {
57153 name: "nodejs",
57154 version: "6.8.0",
57155 date: "2016-10-12",
57156 lts: false,
57157 security: false
57158 },
57159 {
57160 name: "nodejs",
57161 version: "6.9.0",
57162 date: "2016-10-18",
57163 lts: "Boron",
57164 security: false
57165 },
57166 {
57167 name: "nodejs",
57168 version: "6.10.0",
57169 date: "2017-02-21",
57170 lts: "Boron",
57171 security: false
57172 },
57173 {
57174 name: "nodejs",
57175 version: "6.11.0",
57176 date: "2017-06-06",
57177 lts: "Boron",
57178 security: false
57179 },
57180 {
57181 name: "nodejs",
57182 version: "6.12.0",
57183 date: "2017-11-06",
57184 lts: "Boron",
57185 security: false
57186 },
57187 {
57188 name: "nodejs",
57189 version: "6.13.0",
57190 date: "2018-02-10",
57191 lts: "Boron",
57192 security: false
57193 },
57194 {
57195 name: "nodejs",
57196 version: "6.14.0",
57197 date: "2018-03-28",
57198 lts: "Boron",
57199 security: true
57200 },
57201 {
57202 name: "nodejs",
57203 version: "6.15.0",
57204 date: "2018-11-27",
57205 lts: "Boron",
57206 security: true
57207 },
57208 {
57209 name: "nodejs",
57210 version: "6.16.0",
57211 date: "2018-12-26",
57212 lts: "Boron",
57213 security: false
57214 },
57215 {
57216 name: "nodejs",
57217 version: "6.17.0",
57218 date: "2019-02-28",
57219 lts: "Boron",
57220 security: true
57221 },
57222 {
57223 name: "nodejs",
57224 version: "7.0.0",
57225 date: "2016-10-25",
57226 lts: false,
57227 security: false
57228 },
57229 {
57230 name: "nodejs",
57231 version: "7.1.0",
57232 date: "2016-11-08",
57233 lts: false,
57234 security: false
57235 },
57236 {
57237 name: "nodejs",
57238 version: "7.2.0",
57239 date: "2016-11-22",
57240 lts: false,
57241 security: false
57242 },
57243 {
57244 name: "nodejs",
57245 version: "7.3.0",
57246 date: "2016-12-20",
57247 lts: false,
57248 security: false
57249 },
57250 {
57251 name: "nodejs",
57252 version: "7.4.0",
57253 date: "2017-01-04",
57254 lts: false,
57255 security: false
57256 },
57257 {
57258 name: "nodejs",
57259 version: "7.5.0",
57260 date: "2017-01-31",
57261 lts: false,
57262 security: false
57263 },
57264 {
57265 name: "nodejs",
57266 version: "7.6.0",
57267 date: "2017-02-21",
57268 lts: false,
57269 security: false
57270 },
57271 {
57272 name: "nodejs",
57273 version: "7.7.0",
57274 date: "2017-02-28",
57275 lts: false,
57276 security: false
57277 },
57278 {
57279 name: "nodejs",
57280 version: "7.8.0",
57281 date: "2017-03-29",
57282 lts: false,
57283 security: false
57284 },
57285 {
57286 name: "nodejs",
57287 version: "7.9.0",
57288 date: "2017-04-11",
57289 lts: false,
57290 security: false
57291 },
57292 {
57293 name: "nodejs",
57294 version: "7.10.0",
57295 date: "2017-05-02",
57296 lts: false,
57297 security: false
57298 },
57299 {
57300 name: "nodejs",
57301 version: "8.0.0",
57302 date: "2017-05-30",
57303 lts: false,
57304 security: false
57305 },
57306 {
57307 name: "nodejs",
57308 version: "8.1.0",
57309 date: "2017-06-08",
57310 lts: false,
57311 security: false
57312 },
57313 {
57314 name: "nodejs",
57315 version: "8.2.0",
57316 date: "2017-07-19",
57317 lts: false,
57318 security: false
57319 },
57320 {
57321 name: "nodejs",
57322 version: "8.3.0",
57323 date: "2017-08-08",
57324 lts: false,
57325 security: false
57326 },
57327 {
57328 name: "nodejs",
57329 version: "8.4.0",
57330 date: "2017-08-15",
57331 lts: false,
57332 security: false
57333 },
57334 {
57335 name: "nodejs",
57336 version: "8.5.0",
57337 date: "2017-09-12",
57338 lts: false,
57339 security: false
57340 },
57341 {
57342 name: "nodejs",
57343 version: "8.6.0",
57344 date: "2017-09-26",
57345 lts: false,
57346 security: false
57347 },
57348 {
57349 name: "nodejs",
57350 version: "8.7.0",
57351 date: "2017-10-11",
57352 lts: false,
57353 security: false
57354 },
57355 {
57356 name: "nodejs",
57357 version: "8.8.0",
57358 date: "2017-10-24",
57359 lts: false,
57360 security: false
57361 },
57362 {
57363 name: "nodejs",
57364 version: "8.9.0",
57365 date: "2017-10-31",
57366 lts: "Carbon",
57367 security: false
57368 },
57369 {
57370 name: "nodejs",
57371 version: "8.10.0",
57372 date: "2018-03-06",
57373 lts: "Carbon",
57374 security: false
57375 },
57376 {
57377 name: "nodejs",
57378 version: "8.11.0",
57379 date: "2018-03-28",
57380 lts: "Carbon",
57381 security: true
57382 },
57383 {
57384 name: "nodejs",
57385 version: "8.12.0",
57386 date: "2018-09-10",
57387 lts: "Carbon",
57388 security: false
57389 },
57390 {
57391 name: "nodejs",
57392 version: "8.13.0",
57393 date: "2018-11-20",
57394 lts: "Carbon",
57395 security: false
57396 },
57397 {
57398 name: "nodejs",
57399 version: "8.14.0",
57400 date: "2018-11-27",
57401 lts: "Carbon",
57402 security: true
57403 },
57404 {
57405 name: "nodejs",
57406 version: "8.15.0",
57407 date: "2018-12-26",
57408 lts: "Carbon",
57409 security: false
57410 },
57411 {
57412 name: "nodejs",
57413 version: "8.16.0",
57414 date: "2019-04-16",
57415 lts: "Carbon",
57416 security: false
57417 },
57418 {
57419 name: "nodejs",
57420 version: "8.17.0",
57421 date: "2019-12-17",
57422 lts: "Carbon",
57423 security: true
57424 },
57425 {
57426 name: "nodejs",
57427 version: "9.0.0",
57428 date: "2017-10-31",
57429 lts: false,
57430 security: false
57431 },
57432 {
57433 name: "nodejs",
57434 version: "9.1.0",
57435 date: "2017-11-07",
57436 lts: false,
57437 security: false
57438 },
57439 {
57440 name: "nodejs",
57441 version: "9.2.0",
57442 date: "2017-11-14",
57443 lts: false,
57444 security: false
57445 },
57446 {
57447 name: "nodejs",
57448 version: "9.3.0",
57449 date: "2017-12-12",
57450 lts: false,
57451 security: false
57452 },
57453 {
57454 name: "nodejs",
57455 version: "9.4.0",
57456 date: "2018-01-10",
57457 lts: false,
57458 security: false
57459 },
57460 {
57461 name: "nodejs",
57462 version: "9.5.0",
57463 date: "2018-01-31",
57464 lts: false,
57465 security: false
57466 },
57467 {
57468 name: "nodejs",
57469 version: "9.6.0",
57470 date: "2018-02-21",
57471 lts: false,
57472 security: false
57473 },
57474 {
57475 name: "nodejs",
57476 version: "9.7.0",
57477 date: "2018-03-01",
57478 lts: false,
57479 security: false
57480 },
57481 {
57482 name: "nodejs",
57483 version: "9.8.0",
57484 date: "2018-03-07",
57485 lts: false,
57486 security: false
57487 },
57488 {
57489 name: "nodejs",
57490 version: "9.9.0",
57491 date: "2018-03-21",
57492 lts: false,
57493 security: false
57494 },
57495 {
57496 name: "nodejs",
57497 version: "9.10.0",
57498 date: "2018-03-28",
57499 lts: false,
57500 security: true
57501 },
57502 {
57503 name: "nodejs",
57504 version: "9.11.0",
57505 date: "2018-04-04",
57506 lts: false,
57507 security: false
57508 },
57509 {
57510 name: "nodejs",
57511 version: "10.0.0",
57512 date: "2018-04-24",
57513 lts: false,
57514 security: false
57515 },
57516 {
57517 name: "nodejs",
57518 version: "10.1.0",
57519 date: "2018-05-08",
57520 lts: false,
57521 security: false
57522 },
57523 {
57524 name: "nodejs",
57525 version: "10.2.0",
57526 date: "2018-05-23",
57527 lts: false,
57528 security: false
57529 },
57530 {
57531 name: "nodejs",
57532 version: "10.3.0",
57533 date: "2018-05-29",
57534 lts: false,
57535 security: false
57536 },
57537 {
57538 name: "nodejs",
57539 version: "10.4.0",
57540 date: "2018-06-06",
57541 lts: false,
57542 security: false
57543 },
57544 {
57545 name: "nodejs",
57546 version: "10.5.0",
57547 date: "2018-06-20",
57548 lts: false,
57549 security: false
57550 },
57551 {
57552 name: "nodejs",
57553 version: "10.6.0",
57554 date: "2018-07-04",
57555 lts: false,
57556 security: false
57557 },
57558 {
57559 name: "nodejs",
57560 version: "10.7.0",
57561 date: "2018-07-18",
57562 lts: false,
57563 security: false
57564 },
57565 {
57566 name: "nodejs",
57567 version: "10.8.0",
57568 date: "2018-08-01",
57569 lts: false,
57570 security: false
57571 },
57572 {
57573 name: "nodejs",
57574 version: "10.9.0",
57575 date: "2018-08-15",
57576 lts: false,
57577 security: false
57578 },
57579 {
57580 name: "nodejs",
57581 version: "10.10.0",
57582 date: "2018-09-06",
57583 lts: false,
57584 security: false
57585 },
57586 {
57587 name: "nodejs",
57588 version: "10.11.0",
57589 date: "2018-09-19",
57590 lts: false,
57591 security: false
57592 },
57593 {
57594 name: "nodejs",
57595 version: "10.12.0",
57596 date: "2018-10-10",
57597 lts: false,
57598 security: false
57599 },
57600 {
57601 name: "nodejs",
57602 version: "10.13.0",
57603 date: "2018-10-30",
57604 lts: "Dubnium",
57605 security: false
57606 },
57607 {
57608 name: "nodejs",
57609 version: "10.14.0",
57610 date: "2018-11-27",
57611 lts: "Dubnium",
57612 security: true
57613 },
57614 {
57615 name: "nodejs",
57616 version: "10.15.0",
57617 date: "2018-12-26",
57618 lts: "Dubnium",
57619 security: false
57620 },
57621 {
57622 name: "nodejs",
57623 version: "10.16.0",
57624 date: "2019-05-28",
57625 lts: "Dubnium",
57626 security: false
57627 },
57628 {
57629 name: "nodejs",
57630 version: "10.17.0",
57631 date: "2019-10-22",
57632 lts: "Dubnium",
57633 security: false
57634 },
57635 {
57636 name: "nodejs",
57637 version: "10.18.0",
57638 date: "2019-12-17",
57639 lts: "Dubnium",
57640 security: true
57641 },
57642 {
57643 name: "nodejs",
57644 version: "10.19.0",
57645 date: "2020-02-05",
57646 lts: "Dubnium",
57647 security: true
57648 },
57649 {
57650 name: "nodejs",
57651 version: "10.20.0",
57652 date: "2020-03-26",
57653 lts: "Dubnium",
57654 security: false
57655 },
57656 {
57657 name: "nodejs",
57658 version: "10.21.0",
57659 date: "2020-06-02",
57660 lts: "Dubnium",
57661 security: true
57662 },
57663 {
57664 name: "nodejs",
57665 version: "10.22.0",
57666 date: "2020-07-21",
57667 lts: "Dubnium",
57668 security: false
57669 },
57670 {
57671 name: "nodejs",
57672 version: "10.23.0",
57673 date: "2020-10-27",
57674 lts: "Dubnium",
57675 security: false
57676 },
57677 {
57678 name: "nodejs",
57679 version: "10.24.0",
57680 date: "2021-02-23",
57681 lts: "Dubnium",
57682 security: true
57683 },
57684 {
57685 name: "nodejs",
57686 version: "11.0.0",
57687 date: "2018-10-23",
57688 lts: false,
57689 security: false
57690 },
57691 {
57692 name: "nodejs",
57693 version: "11.1.0",
57694 date: "2018-10-30",
57695 lts: false,
57696 security: false
57697 },
57698 {
57699 name: "nodejs",
57700 version: "11.2.0",
57701 date: "2018-11-15",
57702 lts: false,
57703 security: false
57704 },
57705 {
57706 name: "nodejs",
57707 version: "11.3.0",
57708 date: "2018-11-27",
57709 lts: false,
57710 security: true
57711 },
57712 {
57713 name: "nodejs",
57714 version: "11.4.0",
57715 date: "2018-12-07",
57716 lts: false,
57717 security: false
57718 },
57719 {
57720 name: "nodejs",
57721 version: "11.5.0",
57722 date: "2018-12-18",
57723 lts: false,
57724 security: false
57725 },
57726 {
57727 name: "nodejs",
57728 version: "11.6.0",
57729 date: "2018-12-26",
57730 lts: false,
57731 security: false
57732 },
57733 {
57734 name: "nodejs",
57735 version: "11.7.0",
57736 date: "2019-01-17",
57737 lts: false,
57738 security: false
57739 },
57740 {
57741 name: "nodejs",
57742 version: "11.8.0",
57743 date: "2019-01-24",
57744 lts: false,
57745 security: false
57746 },
57747 {
57748 name: "nodejs",
57749 version: "11.9.0",
57750 date: "2019-01-30",
57751 lts: false,
57752 security: false
57753 },
57754 {
57755 name: "nodejs",
57756 version: "11.10.0",
57757 date: "2019-02-14",
57758 lts: false,
57759 security: false
57760 },
57761 {
57762 name: "nodejs",
57763 version: "11.11.0",
57764 date: "2019-03-05",
57765 lts: false,
57766 security: false
57767 },
57768 {
57769 name: "nodejs",
57770 version: "11.12.0",
57771 date: "2019-03-14",
57772 lts: false,
57773 security: false
57774 },
57775 {
57776 name: "nodejs",
57777 version: "11.13.0",
57778 date: "2019-03-28",
57779 lts: false,
57780 security: false
57781 },
57782 {
57783 name: "nodejs",
57784 version: "11.14.0",
57785 date: "2019-04-10",
57786 lts: false,
57787 security: false
57788 },
57789 {
57790 name: "nodejs",
57791 version: "11.15.0",
57792 date: "2019-04-30",
57793 lts: false,
57794 security: false
57795 },
57796 {
57797 name: "nodejs",
57798 version: "12.0.0",
57799 date: "2019-04-23",
57800 lts: false,
57801 security: false
57802 },
57803 {
57804 name: "nodejs",
57805 version: "12.1.0",
57806 date: "2019-04-29",
57807 lts: false,
57808 security: false
57809 },
57810 {
57811 name: "nodejs",
57812 version: "12.2.0",
57813 date: "2019-05-07",
57814 lts: false,
57815 security: false
57816 },
57817 {
57818 name: "nodejs",
57819 version: "12.3.0",
57820 date: "2019-05-21",
57821 lts: false,
57822 security: false
57823 },
57824 {
57825 name: "nodejs",
57826 version: "12.4.0",
57827 date: "2019-06-04",
57828 lts: false,
57829 security: false
57830 },
57831 {
57832 name: "nodejs",
57833 version: "12.5.0",
57834 date: "2019-06-26",
57835 lts: false,
57836 security: false
57837 },
57838 {
57839 name: "nodejs",
57840 version: "12.6.0",
57841 date: "2019-07-03",
57842 lts: false,
57843 security: false
57844 },
57845 {
57846 name: "nodejs",
57847 version: "12.7.0",
57848 date: "2019-07-23",
57849 lts: false,
57850 security: false
57851 },
57852 {
57853 name: "nodejs",
57854 version: "12.8.0",
57855 date: "2019-08-06",
57856 lts: false,
57857 security: false
57858 },
57859 {
57860 name: "nodejs",
57861 version: "12.9.0",
57862 date: "2019-08-20",
57863 lts: false,
57864 security: false
57865 },
57866 {
57867 name: "nodejs",
57868 version: "12.10.0",
57869 date: "2019-09-04",
57870 lts: false,
57871 security: false
57872 },
57873 {
57874 name: "nodejs",
57875 version: "12.11.0",
57876 date: "2019-09-25",
57877 lts: false,
57878 security: false
57879 },
57880 {
57881 name: "nodejs",
57882 version: "12.12.0",
57883 date: "2019-10-11",
57884 lts: false,
57885 security: false
57886 },
57887 {
57888 name: "nodejs",
57889 version: "12.13.0",
57890 date: "2019-10-21",
57891 lts: "Erbium",
57892 security: false
57893 },
57894 {
57895 name: "nodejs",
57896 version: "12.14.0",
57897 date: "2019-12-17",
57898 lts: "Erbium",
57899 security: true
57900 },
57901 {
57902 name: "nodejs",
57903 version: "12.15.0",
57904 date: "2020-02-05",
57905 lts: "Erbium",
57906 security: true
57907 },
57908 {
57909 name: "nodejs",
57910 version: "12.16.0",
57911 date: "2020-02-11",
57912 lts: "Erbium",
57913 security: false
57914 },
57915 {
57916 name: "nodejs",
57917 version: "12.17.0",
57918 date: "2020-05-26",
57919 lts: "Erbium",
57920 security: false
57921 },
57922 {
57923 name: "nodejs",
57924 version: "12.18.0",
57925 date: "2020-06-02",
57926 lts: "Erbium",
57927 security: true
57928 },
57929 {
57930 name: "nodejs",
57931 version: "12.19.0",
57932 date: "2020-10-06",
57933 lts: "Erbium",
57934 security: false
57935 },
57936 {
57937 name: "nodejs",
57938 version: "12.20.0",
57939 date: "2020-11-24",
57940 lts: "Erbium",
57941 security: false
57942 },
57943 {
57944 name: "nodejs",
57945 version: "12.21.0",
57946 date: "2021-02-23",
57947 lts: "Erbium",
57948 security: true
57949 },
57950 {
57951 name: "nodejs",
57952 version: "13.0.0",
57953 date: "2019-10-22",
57954 lts: false,
57955 security: false
57956 },
57957 {
57958 name: "nodejs",
57959 version: "13.1.0",
57960 date: "2019-11-05",
57961 lts: false,
57962 security: false
57963 },
57964 {
57965 name: "nodejs",
57966 version: "13.2.0",
57967 date: "2019-11-21",
57968 lts: false,
57969 security: false
57970 },
57971 {
57972 name: "nodejs",
57973 version: "13.3.0",
57974 date: "2019-12-03",
57975 lts: false,
57976 security: false
57977 },
57978 {
57979 name: "nodejs",
57980 version: "13.4.0",
57981 date: "2019-12-17",
57982 lts: false,
57983 security: true
57984 },
57985 {
57986 name: "nodejs",
57987 version: "13.5.0",
57988 date: "2019-12-18",
57989 lts: false,
57990 security: false
57991 },
57992 {
57993 name: "nodejs",
57994 version: "13.6.0",
57995 date: "2020-01-07",
57996 lts: false,
57997 security: false
57998 },
57999 {
58000 name: "nodejs",
58001 version: "13.7.0",
58002 date: "2020-01-21",
58003 lts: false,
58004 security: false
58005 },
58006 {
58007 name: "nodejs",
58008 version: "13.8.0",
58009 date: "2020-02-05",
58010 lts: false,
58011 security: true
58012 },
58013 {
58014 name: "nodejs",
58015 version: "13.9.0",
58016 date: "2020-02-18",
58017 lts: false,
58018 security: false
58019 },
58020 {
58021 name: "nodejs",
58022 version: "13.10.0",
58023 date: "2020-03-04",
58024 lts: false,
58025 security: false
58026 },
58027 {
58028 name: "nodejs",
58029 version: "13.11.0",
58030 date: "2020-03-12",
58031 lts: false,
58032 security: false
58033 },
58034 {
58035 name: "nodejs",
58036 version: "13.12.0",
58037 date: "2020-03-26",
58038 lts: false,
58039 security: false
58040 },
58041 {
58042 name: "nodejs",
58043 version: "13.13.0",
58044 date: "2020-04-14",
58045 lts: false,
58046 security: false
58047 },
58048 {
58049 name: "nodejs",
58050 version: "13.14.0",
58051 date: "2020-04-29",
58052 lts: false,
58053 security: false
58054 },
58055 {
58056 name: "nodejs",
58057 version: "14.0.0",
58058 date: "2020-04-21",
58059 lts: false,
58060 security: false
58061 },
58062 {
58063 name: "nodejs",
58064 version: "14.1.0",
58065 date: "2020-04-29",
58066 lts: false,
58067 security: false
58068 },
58069 {
58070 name: "nodejs",
58071 version: "14.2.0",
58072 date: "2020-05-05",
58073 lts: false,
58074 security: false
58075 },
58076 {
58077 name: "nodejs",
58078 version: "14.3.0",
58079 date: "2020-05-19",
58080 lts: false,
58081 security: false
58082 },
58083 {
58084 name: "nodejs",
58085 version: "14.4.0",
58086 date: "2020-06-02",
58087 lts: false,
58088 security: true
58089 },
58090 {
58091 name: "nodejs",
58092 version: "14.5.0",
58093 date: "2020-06-30",
58094 lts: false,
58095 security: false
58096 },
58097 {
58098 name: "nodejs",
58099 version: "14.6.0",
58100 date: "2020-07-20",
58101 lts: false,
58102 security: false
58103 },
58104 {
58105 name: "nodejs",
58106 version: "14.7.0",
58107 date: "2020-07-29",
58108 lts: false,
58109 security: false
58110 },
58111 {
58112 name: "nodejs",
58113 version: "14.8.0",
58114 date: "2020-08-11",
58115 lts: false,
58116 security: false
58117 },
58118 {
58119 name: "nodejs",
58120 version: "14.9.0",
58121 date: "2020-08-27",
58122 lts: false,
58123 security: false
58124 },
58125 {
58126 name: "nodejs",
58127 version: "14.10.0",
58128 date: "2020-09-08",
58129 lts: false,
58130 security: false
58131 },
58132 {
58133 name: "nodejs",
58134 version: "14.11.0",
58135 date: "2020-09-15",
58136 lts: false,
58137 security: true
58138 },
58139 {
58140 name: "nodejs",
58141 version: "14.12.0",
58142 date: "2020-09-22",
58143 lts: false,
58144 security: false
58145 },
58146 {
58147 name: "nodejs",
58148 version: "14.13.0",
58149 date: "2020-09-29",
58150 lts: false,
58151 security: false
58152 },
58153 {
58154 name: "nodejs",
58155 version: "14.14.0",
58156 date: "2020-10-15",
58157 lts: false,
58158 security: false
58159 },
58160 {
58161 name: "nodejs",
58162 version: "14.15.0",
58163 date: "2020-10-27",
58164 lts: "Fermium",
58165 security: false
58166 },
58167 {
58168 name: "nodejs",
58169 version: "14.16.0",
58170 date: "2021-02-23",
58171 lts: "Fermium",
58172 security: true
58173 },
58174 {
58175 name: "nodejs",
58176 version: "15.0.0",
58177 date: "2020-10-20",
58178 lts: false,
58179 security: false
58180 },
58181 {
58182 name: "nodejs",
58183 version: "15.1.0",
58184 date: "2020-11-04",
58185 lts: false,
58186 security: false
58187 },
58188 {
58189 name: "nodejs",
58190 version: "15.2.0",
58191 date: "2020-11-10",
58192 lts: false,
58193 security: false
58194 },
58195 {
58196 name: "nodejs",
58197 version: "15.3.0",
58198 date: "2020-11-24",
58199 lts: false,
58200 security: false
58201 },
58202 {
58203 name: "nodejs",
58204 version: "15.4.0",
58205 date: "2020-12-09",
58206 lts: false,
58207 security: false
58208 },
58209 {
58210 name: "nodejs",
58211 version: "15.5.0",
58212 date: "2020-12-22",
58213 lts: false,
58214 security: false
58215 },
58216 {
58217 name: "nodejs",
58218 version: "15.6.0",
58219 date: "2021-01-14",
58220 lts: false,
58221 security: false
58222 },
58223 {
58224 name: "nodejs",
58225 version: "15.7.0",
58226 date: "2021-01-25",
58227 lts: false,
58228 security: false
58229 },
58230 {
58231 name: "nodejs",
58232 version: "15.8.0",
58233 date: "2021-02-02",
58234 lts: false,
58235 security: false
58236 },
58237 {
58238 name: "nodejs",
58239 version: "15.9.0",
58240 date: "2021-02-18",
58241 lts: false,
58242 security: false
58243 },
58244 {
58245 name: "nodejs",
58246 version: "15.10.0",
58247 date: "2021-02-23",
58248 lts: false,
58249 security: true
58250 }
58251 ];
58252
58253 var browsers$2 = {
58254 A: "ie",
58255 B: "edge",
58256 C: "firefox",
58257 D: "chrome",
58258 E: "safari",
58259 F: "opera",
58260 G: "ios_saf",
58261 H: "op_mini",
58262 I: "android",
58263 J: "bb",
58264 K: "op_mob",
58265 L: "and_chr",
58266 M: "and_ff",
58267 N: "ie_mob",
58268 O: "and_uc",
58269 P: "samsung",
58270 Q: "and_qq",
58271 R: "baidu",
58272 S: "kaios"
58273 };
58274
58275 var browsers_1 = browsers$2;
58276 var browsers$1 = {
58277 browsers: browsers_1
58278 };
58279
58280 var browserVersions$1 = {
58281 "0": "43",
58282 "1": "44",
58283 "2": "45",
58284 "3": "46",
58285 "4": "47",
58286 "5": "48",
58287 "6": "49",
58288 "7": "50",
58289 "8": "51",
58290 "9": "52",
58291 A: "10",
58292 B: "11",
58293 C: "12",
58294 D: "7",
58295 E: "8",
58296 F: "9",
58297 G: "90",
58298 H: "4",
58299 I: "6",
58300 J: "13",
58301 K: "14",
58302 L: "15",
58303 M: "16",
58304 N: "17",
58305 O: "18",
58306 P: "87",
58307 Q: "62",
58308 R: "79",
58309 S: "80",
58310 T: "81",
58311 U: "83",
58312 V: "84",
58313 W: "85",
58314 X: "86",
58315 Y: "88",
58316 Z: "89",
58317 a: "91",
58318 b: "5",
58319 c: "19",
58320 d: "20",
58321 e: "21",
58322 f: "22",
58323 g: "23",
58324 h: "24",
58325 i: "25",
58326 j: "26",
58327 k: "27",
58328 l: "28",
58329 m: "29",
58330 n: "30",
58331 o: "31",
58332 p: "32",
58333 q: "33",
58334 r: "34",
58335 s: "35",
58336 t: "36",
58337 u: "37",
58338 v: "38",
58339 w: "39",
58340 x: "40",
58341 y: "41",
58342 z: "42",
58343 AB: "53",
58344 BB: "54",
58345 CB: "55",
58346 DB: "56",
58347 EB: "57",
58348 FB: "58",
58349 GB: "60",
58350 HB: "63",
58351 IB: "64",
58352 JB: "65",
58353 KB: "66",
58354 LB: "67",
58355 MB: "68",
58356 NB: "69",
58357 OB: "70",
58358 PB: "71",
58359 QB: "72",
58360 RB: "73",
58361 SB: "74",
58362 TB: "75",
58363 UB: "76",
58364 VB: "11.1",
58365 WB: "12.1",
58366 XB: "3",
58367 YB: "59",
58368 ZB: "61",
58369 aB: "77",
58370 bB: "78",
58371 cB: "3.2",
58372 dB: "10.1",
58373 eB: "11.5",
58374 fB: "4.2-4.3",
58375 gB: "5.5",
58376 hB: "2",
58377 iB: "82",
58378 jB: "3.5",
58379 kB: "3.6",
58380 lB: "92",
58381 mB: "93",
58382 nB: "94",
58383 oB: "3.1",
58384 pB: "5.1",
58385 qB: "6.1",
58386 rB: "7.1",
58387 sB: "9.1",
58388 tB: "13.1",
58389 uB: "14.1",
58390 vB: "TP",
58391 wB: "9.5-9.6",
58392 xB: "10.0-10.1",
58393 yB: "10.5",
58394 zB: "10.6",
58395 "0B": "11.6",
58396 "1B": "4.0-4.1",
58397 "2B": "5.0-5.1",
58398 "3B": "6.0-6.1",
58399 "4B": "7.0-7.1",
58400 "5B": "8.1-8.4",
58401 "6B": "9.0-9.2",
58402 "7B": "9.3",
58403 "8B": "10.0-10.2",
58404 "9B": "10.3",
58405 AC: "11.0-11.2",
58406 BC: "11.3-11.4",
58407 CC: "12.0-12.1",
58408 DC: "12.2-12.4",
58409 EC: "13.0-13.1",
58410 FC: "13.2",
58411 GC: "13.3",
58412 HC: "13.4-13.7",
58413 IC: "14.0-14.4",
58414 JC: "14.5-14.6",
58415 KC: "all",
58416 LC: "2.1",
58417 MC: "2.2",
58418 NC: "2.3",
58419 OC: "4.1",
58420 PC: "4.4",
58421 QC: "4.4.3-4.4.4",
58422 RC: "12.12",
58423 SC: "5.0-5.4",
58424 TC: "6.2-6.4",
58425 UC: "7.2-7.4",
58426 VC: "8.2",
58427 WC: "9.2",
58428 XC: "11.1-11.2",
58429 YC: "12.0",
58430 ZC: "13.0",
58431 aC: "14.0",
58432 bC: "10.4",
58433 cC: "7.12",
58434 dC: "2.5"
58435 };
58436
58437 var browserVersions_1 = browserVersions$1;
58438 var browserVersions = {
58439 browserVersions: browserVersions_1
58440 };
58441
58442 var agents$2 = {
58443 A: {
58444 A: {
58445 I: 0.0131217,
58446 D: 0.00621152,
58447 E: 0.0199047,
58448 F: 0.0928884,
58449 A: 0.0132698,
58450 B: 0.849265,
58451 gB: 0.009298
58452 },
58453 B: "ms",
58454 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "gB", "I", "D", "E", "F", "A", "B", "", "", ""],
58455 E: "IE",
58456 F: {
58457 gB: 962323200,
58458 I: 998870400,
58459 D: 1161129600,
58460 E: 1237420800,
58461 F: 1300060800,
58462 A: 1346716800,
58463 B: 1381968000
58464 }
58465 },
58466 B: {
58467 A: {
58468 C: 0.008408,
58469 J: 0.004267,
58470 K: 0.004204,
58471 L: 0.004204,
58472 M: 0.008408,
58473 N: 0.033632,
58474 O: 0.092488,
58475 R: 0,
58476 S: 0.004298,
58477 T: 0.00944,
58478 U: 0.00415,
58479 V: 0.008408,
58480 W: 0.008408,
58481 X: 0.012612,
58482 P: 0.012612,
58483 Y: 0.016816,
58484 Z: 0.079876,
58485 G: 3.01006,
58486 a: 0.2102
58487 },
58488 B: "webkit",
58489 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "C", "J", "K", "L", "M", "N", "O", "R", "S", "T", "U", "V", "W", "X", "P", "Y", "Z", "G", "a", "", "", ""],
58490 E: "Edge",
58491 F: {
58492 C: 1438128000,
58493 J: 1447286400,
58494 K: 1470096000,
58495 L: 1491868800,
58496 M: 1508198400,
58497 N: 1525046400,
58498 O: 1542067200,
58499 R: 1579046400,
58500 S: 1581033600,
58501 T: 1586736000,
58502 U: 1590019200,
58503 V: 1594857600,
58504 W: 1598486400,
58505 X: 1602201600,
58506 P: 1605830400,
58507 Y: 1611360000,
58508 Z: 1614816000,
58509 G: 1618358400,
58510 a: 1622073600
58511 },
58512 D: {
58513 C: "ms",
58514 J: "ms",
58515 K: "ms",
58516 L: "ms",
58517 M: "ms",
58518 N: "ms",
58519 O: "ms"
58520 }
58521 },
58522 C: {
58523 A: {
58524 "0": 0.058856,
58525 "1": 0.004204,
58526 "2": 0.004204,
58527 "3": 0.004525,
58528 "4": 0.004271,
58529 "5": 0.008408,
58530 "6": 0.004538,
58531 "7": 0.004267,
58532 "8": 0.004204,
58533 "9": 0.071468,
58534 hB: 0.012813,
58535 XB: 0.004271,
58536 H: 0.02102,
58537 b: 0.004879,
58538 I: 0.020136,
58539 D: 0.005725,
58540 E: 0.004525,
58541 F: 0.00533,
58542 A: 0.004283,
58543 B: 0.008408,
58544 C: 0.004471,
58545 J: 0.004486,
58546 K: 0.00453,
58547 L: 0.008542,
58548 M: 0.004417,
58549 N: 0.004425,
58550 O: 0.008542,
58551 c: 0.004443,
58552 d: 0.004283,
58553 e: 0.008542,
58554 f: 0.013698,
58555 g: 0.008542,
58556 h: 0.008786,
58557 i: 0.017084,
58558 j: 0.004317,
58559 k: 0.004393,
58560 l: 0.004418,
58561 m: 0.008834,
58562 n: 0.008542,
58563 o: 0.008928,
58564 p: 0.004471,
58565 q: 0.009284,
58566 r: 0.004707,
58567 s: 0.009076,
58568 t: 0.004425,
58569 u: 0.004783,
58570 v: 0.004271,
58571 w: 0.004783,
58572 x: 0.00487,
58573 y: 0.005029,
58574 z: 0.0047,
58575 AB: 0.004335,
58576 BB: 0.004204,
58577 CB: 0.004204,
58578 DB: 0.012612,
58579 EB: 0.004425,
58580 FB: 0.004204,
58581 YB: 0.004204,
58582 GB: 0.008408,
58583 ZB: 0.00472,
58584 Q: 0.004425,
58585 HB: 0.02102,
58586 IB: 0.00415,
58587 JB: 0.004267,
58588 KB: 0.008408,
58589 LB: 0.004267,
58590 MB: 0.012612,
58591 NB: 0.00415,
58592 OB: 0.004204,
58593 PB: 0.004425,
58594 QB: 0.008408,
58595 RB: 0.00415,
58596 SB: 0.00415,
58597 TB: 0.008542,
58598 UB: 0.004298,
58599 aB: 0.004204,
58600 bB: 0.14714,
58601 R: 0.008408,
58602 S: 0.008408,
58603 T: 0.012612,
58604 iB: 0.016816,
58605 U: 0.012612,
58606 V: 0.025224,
58607 W: 0.02102,
58608 X: 0.033632,
58609 P: 0.071468,
58610 Y: 2.3122,
58611 Z: 0.029428,
58612 G: 0,
58613 a: 0,
58614 jB: 0.008786,
58615 kB: 0.00487
58616 },
58617 B: "moz",
58618 C: ["hB", "XB", "jB", "kB", "H", "b", "I", "D", "E", "F", "A", "B", "C", "J", "K", "L", "M", "N", "O", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "AB", "BB", "CB", "DB", "EB", "FB", "YB", "GB", "ZB", "Q", "HB", "IB", "JB", "KB", "LB", "MB", "NB", "OB", "PB", "QB", "RB", "SB", "TB", "UB", "aB", "bB", "R", "S", "T", "iB", "U", "V", "W", "X", "P", "Y", "Z", "G", "a", ""],
58619 E: "Firefox",
58620 F: {
58621 "0": 1450137600,
58622 "1": 1453852800,
58623 "2": 1457395200,
58624 "3": 1461628800,
58625 "4": 1465257600,
58626 "5": 1470096000,
58627 "6": 1474329600,
58628 "7": 1479168000,
58629 "8": 1485216000,
58630 "9": 1488844800,
58631 hB: 1161648000,
58632 XB: 1213660800,
58633 jB: 1246320000,
58634 kB: 1264032000,
58635 H: 1300752000,
58636 b: 1308614400,
58637 I: 1313452800,
58638 D: 1317081600,
58639 E: 1317081600,
58640 F: 1320710400,
58641 A: 1324339200,
58642 B: 1327968000,
58643 C: 1331596800,
58644 J: 1335225600,
58645 K: 1338854400,
58646 L: 1342483200,
58647 M: 1346112000,
58648 N: 1349740800,
58649 O: 1353628800,
58650 c: 1357603200,
58651 d: 1361232000,
58652 e: 1364860800,
58653 f: 1368489600,
58654 g: 1372118400,
58655 h: 1375747200,
58656 i: 1379376000,
58657 j: 1386633600,
58658 k: 1391472000,
58659 l: 1395100800,
58660 m: 1398729600,
58661 n: 1402358400,
58662 o: 1405987200,
58663 p: 1409616000,
58664 q: 1413244800,
58665 r: 1417392000,
58666 s: 1421107200,
58667 t: 1424736000,
58668 u: 1428278400,
58669 v: 1431475200,
58670 w: 1435881600,
58671 x: 1439251200,
58672 y: 1442880000,
58673 z: 1446508800,
58674 AB: 1492560000,
58675 BB: 1497312000,
58676 CB: 1502150400,
58677 DB: 1506556800,
58678 EB: 1510617600,
58679 FB: 1516665600,
58680 YB: 1520985600,
58681 GB: 1525824000,
58682 ZB: 1529971200,
58683 Q: 1536105600,
58684 HB: 1540252800,
58685 IB: 1544486400,
58686 JB: 1548720000,
58687 KB: 1552953600,
58688 LB: 1558396800,
58689 MB: 1562630400,
58690 NB: 1567468800,
58691 OB: 1571788800,
58692 PB: 1575331200,
58693 QB: 1578355200,
58694 RB: 1581379200,
58695 SB: 1583798400,
58696 TB: 1586304000,
58697 UB: 1588636800,
58698 aB: 1591056000,
58699 bB: 1593475200,
58700 R: 1595894400,
58701 S: 1598313600,
58702 T: 1600732800,
58703 iB: 1603152000,
58704 U: 1605571200,
58705 V: 1607990400,
58706 W: 1611619200,
58707 X: 1614038400,
58708 P: 1616457600,
58709 Y: 1618790400,
58710 Z: 1622505600,
58711 G: null,
58712 a: null
58713 }
58714 },
58715 D: {
58716 A: {
58717 "0": 0.008408,
58718 "1": 0.004465,
58719 "2": 0.004642,
58720 "3": 0.004891,
58721 "4": 0.008408,
58722 "5": 0.02102,
58723 "6": 0.214404,
58724 "7": 0.004204,
58725 "8": 0.016816,
58726 "9": 0.004204,
58727 H: 0.004706,
58728 b: 0.004879,
58729 I: 0.004879,
58730 D: 0.005591,
58731 E: 0.005591,
58732 F: 0.005591,
58733 A: 0.004534,
58734 B: 0.004464,
58735 C: 0.010424,
58736 J: 0.0083,
58737 K: 0.004706,
58738 L: 0.015087,
58739 M: 0.004393,
58740 N: 0.004393,
58741 O: 0.008652,
58742 c: 0.008542,
58743 d: 0.004393,
58744 e: 0.004317,
58745 f: 0.012612,
58746 g: 0.008786,
58747 h: 0.008408,
58748 i: 0.004461,
58749 j: 0.004298,
58750 k: 0.004326,
58751 l: 0.0047,
58752 m: 0.004538,
58753 n: 0.008542,
58754 o: 0.008596,
58755 p: 0.004566,
58756 q: 0.004204,
58757 r: 0.008408,
58758 s: 0.012612,
58759 t: 0.004335,
58760 u: 0.004464,
58761 v: 0.025224,
58762 w: 0.004464,
58763 x: 0.012612,
58764 y: 0.0236,
58765 z: 0.004403,
58766 AB: 0.058856,
58767 BB: 0.008408,
58768 CB: 0.012612,
58769 DB: 0.04204,
58770 EB: 0.008408,
58771 FB: 0.008408,
58772 YB: 0.008408,
58773 GB: 0.016816,
58774 ZB: 0.121916,
58775 Q: 0.008408,
58776 HB: 0.02102,
58777 IB: 0.025224,
58778 JB: 0.02102,
58779 KB: 0.02102,
58780 LB: 0.033632,
58781 MB: 0.029428,
58782 NB: 0.067264,
58783 OB: 0.071468,
58784 PB: 0.025224,
58785 QB: 0.058856,
58786 RB: 0.02102,
58787 SB: 0.113508,
58788 TB: 0.092488,
58789 UB: 0.067264,
58790 aB: 0.029428,
58791 bB: 0.075672,
58792 R: 0.18918,
58793 S: 0.1051,
58794 T: 0.079876,
58795 U: 0.130324,
58796 V: 0.100896,
58797 W: 0.243832,
58798 X: 0.16816,
58799 P: 0.311096,
58800 Y: 0.344728,
58801 Z: 1.0468,
58802 G: 21.4866,
58803 a: 0.790352,
58804 lB: 0.025224,
58805 mB: 0.004204,
58806 nB: 0
58807 },
58808 B: "webkit",
58809 C: ["", "", "", "H", "b", "I", "D", "E", "F", "A", "B", "C", "J", "K", "L", "M", "N", "O", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "AB", "BB", "CB", "DB", "EB", "FB", "YB", "GB", "ZB", "Q", "HB", "IB", "JB", "KB", "LB", "MB", "NB", "OB", "PB", "QB", "RB", "SB", "TB", "UB", "aB", "bB", "R", "S", "T", "U", "V", "W", "X", "P", "Y", "Z", "G", "a", "lB", "mB", "nB"],
58810 E: "Chrome",
58811 F: {
58812 "0": 1432080000,
58813 "1": 1437523200,
58814 "2": 1441152000,
58815 "3": 1444780800,
58816 "4": 1449014400,
58817 "5": 1453248000,
58818 "6": 1456963200,
58819 "7": 1460592000,
58820 "8": 1464134400,
58821 "9": 1469059200,
58822 H: 1264377600,
58823 b: 1274745600,
58824 I: 1283385600,
58825 D: 1287619200,
58826 E: 1291248000,
58827 F: 1296777600,
58828 A: 1299542400,
58829 B: 1303862400,
58830 C: 1307404800,
58831 J: 1312243200,
58832 K: 1316131200,
58833 L: 1316131200,
58834 M: 1319500800,
58835 N: 1323734400,
58836 O: 1328659200,
58837 c: 1332892800,
58838 d: 1337040000,
58839 e: 1340668800,
58840 f: 1343692800,
58841 g: 1348531200,
58842 h: 1352246400,
58843 i: 1357862400,
58844 j: 1361404800,
58845 k: 1364428800,
58846 l: 1369094400,
58847 m: 1374105600,
58848 n: 1376956800,
58849 o: 1384214400,
58850 p: 1389657600,
58851 q: 1392940800,
58852 r: 1397001600,
58853 s: 1400544000,
58854 t: 1405468800,
58855 u: 1409011200,
58856 v: 1412640000,
58857 w: 1416268800,
58858 x: 1421798400,
58859 y: 1425513600,
58860 z: 1429401600,
58861 AB: 1472601600,
58862 BB: 1476230400,
58863 CB: 1480550400,
58864 DB: 1485302400,
58865 EB: 1489017600,
58866 FB: 1492560000,
58867 YB: 1496707200,
58868 GB: 1500940800,
58869 ZB: 1504569600,
58870 Q: 1508198400,
58871 HB: 1512518400,
58872 IB: 1516752000,
58873 JB: 1520294400,
58874 KB: 1523923200,
58875 LB: 1527552000,
58876 MB: 1532390400,
58877 NB: 1536019200,
58878 OB: 1539648000,
58879 PB: 1543968000,
58880 QB: 1548720000,
58881 RB: 1552348800,
58882 SB: 1555977600,
58883 TB: 1559606400,
58884 UB: 1564444800,
58885 aB: 1568073600,
58886 bB: 1571702400,
58887 R: 1575936000,
58888 S: 1580860800,
58889 T: 1586304000,
58890 U: 1589846400,
58891 V: 1594684800,
58892 W: 1598313600,
58893 X: 1601942400,
58894 P: 1605571200,
58895 Y: 1611014400,
58896 Z: 1614556800,
58897 G: 1618272000,
58898 a: 1621987200,
58899 lB: null,
58900 mB: null,
58901 nB: null
58902 }
58903 },
58904 E: {
58905 A: {
58906 H: 0,
58907 b: 0.008542,
58908 I: 0.004656,
58909 D: 0.004465,
58910 E: 0.218608,
58911 F: 0.004891,
58912 A: 0.004425,
58913 B: 0.008408,
58914 C: 0.012612,
58915 J: 0.088284,
58916 K: 2.26175,
58917 oB: 0,
58918 cB: 0.008692,
58919 pB: 0.109304,
58920 qB: 0.00456,
58921 rB: 0.004283,
58922 sB: 0.02102,
58923 dB: 0.02102,
58924 VB: 0.058856,
58925 WB: 0.088284,
58926 tB: 0.395176,
58927 uB: 0.748312,
58928 vB: 0
58929 },
58930 B: "webkit",
58931 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "oB", "cB", "H", "b", "pB", "I", "qB", "D", "rB", "E", "F", "sB", "A", "dB", "B", "VB", "C", "WB", "J", "tB", "K", "uB", "vB", "", ""],
58932 E: "Safari",
58933 F: {
58934 oB: 1205798400,
58935 cB: 1226534400,
58936 H: 1244419200,
58937 b: 1275868800,
58938 pB: 1311120000,
58939 I: 1343174400,
58940 qB: 1382400000,
58941 D: 1382400000,
58942 rB: 1410998400,
58943 E: 1413417600,
58944 F: 1443657600,
58945 sB: 1458518400,
58946 A: 1474329600,
58947 dB: 1490572800,
58948 B: 1505779200,
58949 VB: 1522281600,
58950 C: 1537142400,
58951 WB: 1553472000,
58952 J: 1568851200,
58953 tB: 1585008000,
58954 K: 1600214400,
58955 uB: 1619395200,
58956 vB: null
58957 }
58958 },
58959 F: {
58960 A: {
58961 "0": 0.008542,
58962 "1": 0.004227,
58963 "2": 0.004725,
58964 "3": 0.008408,
58965 "4": 0.008942,
58966 "5": 0.004707,
58967 "6": 0.004827,
58968 "7": 0.004707,
58969 "8": 0.004707,
58970 "9": 0.004326,
58971 F: 0.0082,
58972 B: 0.016581,
58973 C: 0.004317,
58974 L: 0.00685,
58975 M: 0.00685,
58976 N: 0.00685,
58977 O: 0.005014,
58978 c: 0.006015,
58979 d: 0.004879,
58980 e: 0.006597,
58981 f: 0.006597,
58982 g: 0.013434,
58983 h: 0.006702,
58984 i: 0.006015,
58985 j: 0.005595,
58986 k: 0.004393,
58987 l: 0.008652,
58988 m: 0.004879,
58989 n: 0.004879,
58990 o: 0.004711,
58991 p: 0.005152,
58992 q: 0.005014,
58993 r: 0.009758,
58994 s: 0.004879,
58995 t: 0.008408,
58996 u: 0.004283,
58997 v: 0.004367,
58998 w: 0.004534,
58999 x: 0.008408,
59000 y: 0.004227,
59001 z: 0.004418,
59002 AB: 0.008922,
59003 BB: 0.014349,
59004 CB: 0.004425,
59005 DB: 0.00472,
59006 EB: 0.004425,
59007 FB: 0.004425,
59008 GB: 0.00472,
59009 Q: 0.004532,
59010 HB: 0.004566,
59011 IB: 0.02283,
59012 JB: 0.00867,
59013 KB: 0.004656,
59014 LB: 0.004642,
59015 MB: 0.004298,
59016 NB: 0.00944,
59017 OB: 0.00415,
59018 PB: 0.004271,
59019 QB: 0.004298,
59020 RB: 0.096692,
59021 SB: 0.008408,
59022 TB: 0.433012,
59023 UB: 0.437216,
59024 wB: 0.00685,
59025 xB: 0,
59026 yB: 0.008392,
59027 zB: 0.004706,
59028 VB: 0.006229,
59029 eB: 0.004879,
59030 "0B": 0.008786,
59031 WB: 0.00472
59032 },
59033 B: "webkit",
59034 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "F", "wB", "xB", "yB", "zB", "B", "VB", "eB", "0B", "C", "WB", "L", "M", "N", "O", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "AB", "BB", "CB", "DB", "EB", "FB", "GB", "Q", "HB", "IB", "JB", "KB", "LB", "MB", "NB", "OB", "PB", "QB", "RB", "SB", "TB", "UB", "", "", ""],
59035 E: "Opera",
59036 F: {
59037 "0": 1486425600,
59038 "1": 1490054400,
59039 "2": 1494374400,
59040 "3": 1498003200,
59041 "4": 1502236800,
59042 "5": 1506470400,
59043 "6": 1510099200,
59044 "7": 1515024000,
59045 "8": 1517961600,
59046 "9": 1521676800,
59047 F: 1150761600,
59048 wB: 1223424000,
59049 xB: 1251763200,
59050 yB: 1267488000,
59051 zB: 1277942400,
59052 B: 1292457600,
59053 VB: 1302566400,
59054 eB: 1309219200,
59055 "0B": 1323129600,
59056 C: 1323129600,
59057 WB: 1352073600,
59058 L: 1372723200,
59059 M: 1377561600,
59060 N: 1381104000,
59061 O: 1386288000,
59062 c: 1390867200,
59063 d: 1393891200,
59064 e: 1399334400,
59065 f: 1401753600,
59066 g: 1405987200,
59067 h: 1409616000,
59068 i: 1413331200,
59069 j: 1417132800,
59070 k: 1422316800,
59071 l: 1425945600,
59072 m: 1430179200,
59073 n: 1433808000,
59074 o: 1438646400,
59075 p: 1442448000,
59076 q: 1445904000,
59077 r: 1449100800,
59078 s: 1454371200,
59079 t: 1457308800,
59080 u: 1462320000,
59081 v: 1465344000,
59082 w: 1470096000,
59083 x: 1474329600,
59084 y: 1477267200,
59085 z: 1481587200,
59086 AB: 1525910400,
59087 BB: 1530144000,
59088 CB: 1534982400,
59089 DB: 1537833600,
59090 EB: 1543363200,
59091 FB: 1548201600,
59092 GB: 1554768000,
59093 Q: 1561593600,
59094 HB: 1566259200,
59095 IB: 1570406400,
59096 JB: 1573689600,
59097 KB: 1578441600,
59098 LB: 1583971200,
59099 MB: 1587513600,
59100 NB: 1592956800,
59101 OB: 1595894400,
59102 PB: 1600128000,
59103 QB: 1603238400,
59104 RB: 1613520000,
59105 SB: 1612224000,
59106 TB: 1616544000,
59107 UB: 1619568000
59108 },
59109 D: {
59110 F: "o",
59111 B: "o",
59112 C: "o",
59113 wB: "o",
59114 xB: "o",
59115 yB: "o",
59116 zB: "o",
59117 VB: "o",
59118 eB: "o",
59119 "0B": "o",
59120 WB: "o"
59121 }
59122 },
59123 G: {
59124 A: {
59125 E: 0.00144955,
59126 cB: 0,
59127 "1B": 0,
59128 fB: 0.00289911,
59129 "2B": 0.00869732,
59130 "3B": 0.0449361,
59131 "4B": 0.0304406,
59132 "5B": 0.0202937,
59133 "6B": 0.0217433,
59134 "7B": 0.147854,
59135 "8B": 0.0347893,
59136 "9B": 0.149304,
59137 AC: 0.0855236,
59138 BC: 0.0739272,
59139 CC: 0.0768263,
59140 DC: 0.246424,
59141 EC: 0.0666794,
59142 FC: 0.0333397,
59143 GC: 0.172497,
59144 HC: 0.572573,
59145 IC: 10.1498,
59146 JC: 1.93225
59147 },
59148 B: "webkit",
59149 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "cB", "1B", "fB", "2B", "3B", "4B", "E", "5B", "6B", "7B", "8B", "9B", "AC", "BC", "CC", "DC", "EC", "FC", "GC", "HC", "IC", "JC", "", "", ""],
59150 E: "Safari on iOS",
59151 F: {
59152 cB: 1270252800,
59153 "1B": 1283904000,
59154 fB: 1299628800,
59155 "2B": 1331078400,
59156 "3B": 1359331200,
59157 "4B": 1394409600,
59158 E: 1410912000,
59159 "5B": 1413763200,
59160 "6B": 1442361600,
59161 "7B": 1458518400,
59162 "8B": 1473724800,
59163 "9B": 1490572800,
59164 AC: 1505779200,
59165 BC: 1522281600,
59166 CC: 1537142400,
59167 DC: 1553472000,
59168 EC: 1568851200,
59169 FC: 1572220800,
59170 GC: 1580169600,
59171 HC: 1585008000,
59172 IC: 1600214400,
59173 JC: 1619395200
59174 }
59175 },
59176 H: {
59177 A: {
59178 KC: 1.18546
59179 },
59180 B: "o",
59181 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "KC", "", "", ""],
59182 E: "Opera Mini",
59183 F: {
59184 KC: 1426464000
59185 }
59186 },
59187 I: {
59188 A: {
59189 XB: 0,
59190 H: 0.0263634,
59191 G: 0,
59192 LC: 0,
59193 MC: 0,
59194 NC: 0,
59195 OC: 0.0301296,
59196 fB: 0.0979213,
59197 PC: 0,
59198 QC: 0.43688
59199 },
59200 B: "webkit",
59201 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "LC", "MC", "NC", "XB", "H", "OC", "fB", "PC", "QC", "G", "", "", ""],
59202 E: "Android Browser",
59203 F: {
59204 LC: 1256515200,
59205 MC: 1274313600,
59206 NC: 1291593600,
59207 XB: 1298332800,
59208 H: 1318896000,
59209 OC: 1341792000,
59210 fB: 1374624000,
59211 PC: 1386547200,
59212 QC: 1401667200,
59213 G: 1618704000
59214 }
59215 },
59216 J: {
59217 A: {
59218 D: 0,
59219 A: 0
59220 },
59221 B: "webkit",
59222 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "D", "A", "", "", ""],
59223 E: "Blackberry Browser",
59224 F: {
59225 D: 1325376000,
59226 A: 1359504000
59227 }
59228 },
59229 K: {
59230 A: {
59231 A: 0,
59232 B: 0,
59233 C: 0,
59234 Q: 0.0111391,
59235 VB: 0,
59236 eB: 0,
59237 WB: 0
59238 },
59239 B: "o",
59240 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "VB", "eB", "C", "WB", "Q", "", "", ""],
59241 E: "Opera Mobile",
59242 F: {
59243 A: 1287100800,
59244 B: 1300752000,
59245 VB: 1314835200,
59246 eB: 1318291200,
59247 C: 1330300800,
59248 WB: 1349740800,
59249 Q: 1613433600
59250 },
59251 D: {
59252 Q: "webkit"
59253 }
59254 },
59255 L: {
59256 A: {
59257 G: 38.7167
59258 },
59259 B: "webkit",
59260 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "G", "", "", ""],
59261 E: "Chrome for Android",
59262 F: {
59263 G: 1618704000
59264 }
59265 },
59266 M: {
59267 A: {
59268 P: 0.278256
59269 },
59270 B: "moz",
59271 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "P", "", "", ""],
59272 E: "Firefox for Android",
59273 F: {
59274 P: 1616457600
59275 }
59276 },
59277 N: {
59278 A: {
59279 A: 0.0115934,
59280 B: 0.022664
59281 },
59282 B: "ms",
59283 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "", "", ""],
59284 E: "IE Mobile",
59285 F: {
59286 A: 1340150400,
59287 B: 1353456000
59288 }
59289 },
59290 O: {
59291 A: {
59292 RC: 1.36809
59293 },
59294 B: "webkit",
59295 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "RC", "", "", ""],
59296 E: "UC Browser for Android",
59297 F: {
59298 RC: 1471392000
59299 },
59300 D: {
59301 RC: "webkit"
59302 }
59303 },
59304 P: {
59305 A: {
59306 H: 0.309232,
59307 SC: 0.0103543,
59308 TC: 0.010304,
59309 UC: 0.0824619,
59310 VC: 0.0103584,
59311 WC: 0.0721541,
59312 dB: 0.0412309,
59313 XC: 0.164924,
59314 YC: 0.113385,
59315 ZC: 0.412309,
59316 aC: 2.19555
59317 },
59318 B: "webkit",
59319 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "H", "SC", "TC", "UC", "VC", "WC", "dB", "XC", "YC", "ZC", "aC", "", "", ""],
59320 E: "Samsung Internet",
59321 F: {
59322 H: 1461024000,
59323 SC: 1481846400,
59324 TC: 1509408000,
59325 UC: 1528329600,
59326 VC: 1546128000,
59327 WC: 1554163200,
59328 dB: 1567900800,
59329 XC: 1582588800,
59330 YC: 1593475200,
59331 ZC: 1605657600,
59332 aC: 1618531200
59333 }
59334 },
59335 Q: {
59336 A: {
59337 bC: 0.185504
59338 },
59339 B: "webkit",
59340 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "bC", "", "", ""],
59341 E: "QQ Browser",
59342 F: {
59343 bC: 1589846400
59344 }
59345 },
59346 R: {
59347 A: {
59348 cC: 0
59349 },
59350 B: "webkit",
59351 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "cC", "", "", ""],
59352 E: "Baidu Browser",
59353 F: {
59354 cC: 1491004800
59355 }
59356 },
59357 S: {
59358 A: {
59359 dC: 0.098549
59360 },
59361 B: "moz",
59362 C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "dC", "", "", ""],
59363 E: "KaiOS Browser",
59364 F: {
59365 dC: 1527811200
59366 }
59367 }
59368 };
59369
59370 var browsers = browsers$1.browsers;
59371 var versions$1 = browserVersions.browserVersions;
59372
59373 function unpackBrowserVersions(versionsData) {
59374 return Object.keys(versionsData).reduce(function (usage, version) {
59375 usage[versions$1[version]] = versionsData[version];
59376 return usage;
59377 }, {});
59378 }
59379
59380 var agents_1 = Object.keys(agents$2).reduce(function (map, key) {
59381 var versionsData = agents$2[key];
59382 map[browsers[key]] = Object.keys(versionsData).reduce(function (data, entry) {
59383 if (entry === 'A') {
59384 data.usage_global = unpackBrowserVersions(versionsData[entry]);
59385 } else if (entry === 'C') {
59386 data.versions = versionsData[entry].reduce(function (list, version) {
59387 if (version === '') {
59388 list.push(null);
59389 } else {
59390 list.push(versions$1[version]);
59391 }
59392
59393 return list;
59394 }, []);
59395 } else if (entry === 'D') {
59396 data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]);
59397 } else if (entry === 'E') {
59398 data.browser = versionsData[entry];
59399 } else if (entry === 'F') {
59400 data.release_date = Object.keys(versionsData[entry]).reduce(function (map2, key2) {
59401 map2[versions$1[key2]] = versionsData[entry][key2];
59402 return map2;
59403 }, {});
59404 } else {
59405 data.prefix = versionsData[entry];
59406 }
59407
59408 return data;
59409 }, {});
59410 return map;
59411 }, {});
59412 var agents$1 = {
59413 agents: agents_1
59414 };
59415
59416 var v4 = {
59417 start: "2015-09-08",
59418 lts: "2015-10-12",
59419 maintenance: "2017-04-01",
59420 end: "2018-04-30",
59421 codename: "Argon"
59422 };
59423 var v5 = {
59424 start: "2015-10-29",
59425 maintenance: "2016-04-30",
59426 end: "2016-06-30"
59427 };
59428 var v6 = {
59429 start: "2016-04-26",
59430 lts: "2016-10-18",
59431 maintenance: "2018-04-30",
59432 end: "2019-04-30",
59433 codename: "Boron"
59434 };
59435 var v7 = {
59436 start: "2016-10-25",
59437 maintenance: "2017-04-30",
59438 end: "2017-06-30"
59439 };
59440 var v8 = {
59441 start: "2017-05-30",
59442 lts: "2017-10-31",
59443 maintenance: "2019-01-01",
59444 end: "2019-12-31",
59445 codename: "Carbon"
59446 };
59447 var v9 = {
59448 start: "2017-10-01",
59449 maintenance: "2018-04-01",
59450 end: "2018-06-30"
59451 };
59452 var v10 = {
59453 start: "2018-04-24",
59454 lts: "2018-10-30",
59455 maintenance: "2020-05-19",
59456 end: "2021-04-30",
59457 codename: "Dubnium"
59458 };
59459 var v11 = {
59460 start: "2018-10-23",
59461 maintenance: "2019-04-22",
59462 end: "2019-06-01"
59463 };
59464 var v12 = {
59465 start: "2019-04-23",
59466 lts: "2019-10-21",
59467 maintenance: "2020-11-30",
59468 end: "2022-04-30",
59469 codename: "Erbium"
59470 };
59471 var v13 = {
59472 start: "2019-10-22",
59473 maintenance: "2020-04-01",
59474 end: "2020-06-01"
59475 };
59476 var v14 = {
59477 start: "2020-04-21",
59478 lts: "2020-10-27",
59479 maintenance: "2021-10-19",
59480 end: "2023-04-30",
59481 codename: "Fermium"
59482 };
59483 var v15 = {
59484 start: "2020-10-20",
59485 maintenance: "2021-04-01",
59486 end: "2021-06-01"
59487 };
59488 var v16 = {
59489 start: "2021-04-20",
59490 lts: "2021-10-26",
59491 maintenance: "2022-10-18",
59492 end: "2024-04-30",
59493 codename: ""
59494 };
59495 var jsEOL = {
59496 "v0.8": {
59497 start: "2012-06-25",
59498 end: "2014-07-31"
59499 },
59500 "v0.10": {
59501 start: "2013-03-11",
59502 end: "2016-10-31"
59503 },
59504 "v0.12": {
59505 start: "2015-02-06",
59506 end: "2016-12-31"
59507 },
59508 v4: v4,
59509 v5: v5,
59510 v6: v6,
59511 v7: v7,
59512 v8: v8,
59513 v9: v9,
59514 v10: v10,
59515 v11: v11,
59516 v12: v12,
59517 v13: v13,
59518 v14: v14,
59519 v15: v15,
59520 v16: v16
59521 };
59522
59523 var _nodeResolve_empty = {};
59524
59525 var _nodeResolve_empty$1 = /*#__PURE__*/Object.freeze({
59526 __proto__: null,
59527 'default': _nodeResolve_empty
59528 });
59529
59530 var versions = {
59531 "0.20": "39",
59532 "0.21": "41",
59533 "0.22": "41",
59534 "0.23": "41",
59535 "0.24": "41",
59536 "0.25": "42",
59537 "0.26": "42",
59538 "0.27": "43",
59539 "0.28": "43",
59540 "0.29": "43",
59541 "0.30": "44",
59542 "0.31": "45",
59543 "0.32": "45",
59544 "0.33": "45",
59545 "0.34": "45",
59546 "0.35": "45",
59547 "0.36": "47",
59548 "0.37": "49",
59549 "1.0": "49",
59550 "1.1": "50",
59551 "1.2": "51",
59552 "1.3": "52",
59553 "1.4": "53",
59554 "1.5": "54",
59555 "1.6": "56",
59556 "1.7": "58",
59557 "1.8": "59",
59558 "2.0": "61",
59559 "2.1": "61",
59560 "3.0": "66",
59561 "3.1": "66",
59562 "4.0": "69",
59563 "4.1": "69",
59564 "4.2": "69",
59565 "5.0": "73",
59566 "6.0": "76",
59567 "6.1": "76",
59568 "7.0": "78",
59569 "7.1": "78",
59570 "7.2": "78",
59571 "7.3": "78",
59572 "8.0": "80",
59573 "8.1": "80",
59574 "8.2": "80",
59575 "8.3": "80",
59576 "8.4": "80",
59577 "8.5": "80",
59578 "9.0": "83",
59579 "9.1": "83",
59580 "9.2": "83",
59581 "9.3": "83",
59582 "9.4": "83",
59583 "10.0": "85",
59584 "10.1": "85",
59585 "10.2": "85",
59586 "10.3": "85",
59587 "10.4": "85",
59588 "11.0": "87",
59589 "11.1": "87",
59590 "11.2": "87",
59591 "11.3": "87",
59592 "11.4": "87",
59593 "12.0": "89",
59594 "13.0": "91",
59595 "13.1": "91",
59596 "14.0": "92"
59597 };
59598
59599 function BrowserslistError(message) {
59600 this.name = 'BrowserslistError';
59601 this.message = message;
59602 this.browserslist = true;
59603
59604 if (Error.captureStackTrace) {
59605 Error.captureStackTrace(this, BrowserslistError);
59606 }
59607 }
59608
59609 BrowserslistError.prototype = Error.prototype;
59610 var error = BrowserslistError;
59611
59612 function noop() {}
59613
59614 var browser$2 = {
59615 loadQueries: function loadQueries() {
59616 throw new error('Sharable configs are not supported in client-side build of Browserslist');
59617 },
59618 getStat: function getStat(opts) {
59619 return opts.stats;
59620 },
59621 loadConfig: function loadConfig(opts) {
59622 if (opts.config) {
59623 throw new error('Browserslist config are not supported in client-side build');
59624 }
59625 },
59626 loadCountry: function loadCountry() {
59627 throw new error('Country statistics are not supported ' + 'in client-side build of Browserslist');
59628 },
59629 loadFeature: function loadFeature() {
59630 throw new error('Supports queries are not available in client-side build of Browserslist');
59631 },
59632 currentNode: function currentNode(resolve, context) {
59633 return resolve(['maintained node versions'], context)[0];
59634 },
59635 parseConfig: noop,
59636 readConfig: noop,
59637 findConfig: noop,
59638 clearCaches: noop,
59639 oldDataWarning: noop
59640 };
59641
59642 var fs$1 = /*@__PURE__*/getAugmentedNamespace(_nodeResolve_empty$1);
59643
59644 var agents = agents$1.agents;
59645 var YEAR = 365.259641 * 24 * 60 * 60 * 1000;
59646 var ANDROID_EVERGREEN_FIRST = 37;
59647 var QUERY_OR = 1;
59648 var QUERY_AND = 2;
59649
59650 function isVersionsMatch(versionA, versionB) {
59651 return (versionA + '.').indexOf(versionB + '.') === 0;
59652 }
59653
59654 function isEolReleased(name) {
59655 var version = name.slice(1);
59656 return jsReleases.some(function (i) {
59657 return isVersionsMatch(i.version, version);
59658 });
59659 }
59660
59661 function normalize(versions) {
59662 return versions.filter(function (version) {
59663 return typeof version === 'string';
59664 });
59665 }
59666
59667 function normalizeElectron(version) {
59668 var versionToUse = version;
59669
59670 if (version.split('.').length === 3) {
59671 versionToUse = version.split('.').slice(0, -1).join('.');
59672 }
59673
59674 return versionToUse;
59675 }
59676
59677 function nameMapper(name) {
59678 return function mapName(version) {
59679 return name + ' ' + version;
59680 };
59681 }
59682
59683 function getMajor(version) {
59684 return parseInt(version.split('.')[0]);
59685 }
59686
59687 function getMajorVersions(released, number) {
59688 if (released.length === 0) return [];
59689 var majorVersions = uniq(released.map(getMajor));
59690 var minimum = majorVersions[majorVersions.length - number];
59691
59692 if (!minimum) {
59693 return released;
59694 }
59695
59696 var selected = [];
59697
59698 for (var i = released.length - 1; i >= 0; i--) {
59699 if (minimum > getMajor(released[i])) break;
59700 selected.unshift(released[i]);
59701 }
59702
59703 return selected;
59704 }
59705
59706 function uniq(array) {
59707 var filtered = [];
59708
59709 for (var i = 0; i < array.length; i++) {
59710 if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]);
59711 }
59712
59713 return filtered;
59714 }
59715
59716 function fillUsage(result, name, data) {
59717 for (var i in data) {
59718 result[name + ' ' + i] = data[i];
59719 }
59720 }
59721
59722 function generateFilter(sign, version) {
59723 version = parseFloat(version);
59724
59725 if (sign === '>') {
59726 return function (v) {
59727 return parseFloat(v) > version;
59728 };
59729 } else if (sign === '>=') {
59730 return function (v) {
59731 return parseFloat(v) >= version;
59732 };
59733 } else if (sign === '<') {
59734 return function (v) {
59735 return parseFloat(v) < version;
59736 };
59737 } else {
59738 return function (v) {
59739 return parseFloat(v) <= version;
59740 };
59741 }
59742 }
59743
59744 function generateSemverFilter(sign, version) {
59745 version = version.split('.').map(parseSimpleInt);
59746 version[1] = version[1] || 0;
59747 version[2] = version[2] || 0;
59748
59749 if (sign === '>') {
59750 return function (v) {
59751 v = v.split('.').map(parseSimpleInt);
59752 return compareSemver(v, version) > 0;
59753 };
59754 } else if (sign === '>=') {
59755 return function (v) {
59756 v = v.split('.').map(parseSimpleInt);
59757 return compareSemver(v, version) >= 0;
59758 };
59759 } else if (sign === '<') {
59760 return function (v) {
59761 v = v.split('.').map(parseSimpleInt);
59762 return compareSemver(version, v) > 0;
59763 };
59764 } else {
59765 return function (v) {
59766 v = v.split('.').map(parseSimpleInt);
59767 return compareSemver(version, v) >= 0;
59768 };
59769 }
59770 }
59771
59772 function parseSimpleInt(x) {
59773 return parseInt(x);
59774 }
59775
59776 function compare$5(a, b) {
59777 if (a < b) return -1;
59778 if (a > b) return +1;
59779 return 0;
59780 }
59781
59782 function compareSemver(a, b) {
59783 return compare$5(parseInt(a[0]), parseInt(b[0])) || compare$5(parseInt(a[1] || '0'), parseInt(b[1] || '0')) || compare$5(parseInt(a[2] || '0'), parseInt(b[2] || '0'));
59784 }
59785
59786 function semverFilterLoose(operator, range) {
59787 range = range.split('.').map(parseSimpleInt);
59788
59789 if (typeof range[1] === 'undefined') {
59790 range[1] = 'x';
59791 }
59792
59793 switch (operator) {
59794 case '<=':
59795 return function (version) {
59796 version = version.split('.').map(parseSimpleInt);
59797 return compareSemverLoose(version, range) <= 0;
59798 };
59799
59800 default:
59801 case '>=':
59802 return function (version) {
59803 version = version.split('.').map(parseSimpleInt);
59804 return compareSemverLoose(version, range) >= 0;
59805 };
59806 }
59807 }
59808
59809 function compareSemverLoose(version, range) {
59810 if (version[0] !== range[0]) {
59811 return version[0] < range[0] ? -1 : +1;
59812 }
59813
59814 if (range[1] === 'x') {
59815 return 0;
59816 }
59817
59818 if (version[1] !== range[1]) {
59819 return version[1] < range[1] ? -1 : +1;
59820 }
59821
59822 return 0;
59823 }
59824
59825 function resolveVersion(data, version) {
59826 if (data.versions.indexOf(version) !== -1) {
59827 return version;
59828 } else if (browserslist.versionAliases[data.name][version]) {
59829 return browserslist.versionAliases[data.name][version];
59830 } else {
59831 return false;
59832 }
59833 }
59834
59835 function normalizeVersion(data, version) {
59836 var resolved = resolveVersion(data, version);
59837
59838 if (resolved) {
59839 return resolved;
59840 } else if (data.versions.length === 1) {
59841 return data.versions[0];
59842 } else {
59843 return false;
59844 }
59845 }
59846
59847 function filterByYear(since, context) {
59848 since = since / 1000;
59849 return Object.keys(agents).reduce(function (selected, name) {
59850 var data = byName(name, context);
59851 if (!data) return selected;
59852 var versions = Object.keys(data.releaseDate).filter(function (v) {
59853 return data.releaseDate[v] >= since;
59854 });
59855 return selected.concat(versions.map(nameMapper(data.name)));
59856 }, []);
59857 }
59858
59859 function cloneData(data) {
59860 return {
59861 name: data.name,
59862 versions: data.versions,
59863 released: data.released,
59864 releaseDate: data.releaseDate
59865 };
59866 }
59867
59868 function mapVersions(data, map) {
59869 data.versions = data.versions.map(function (i) {
59870 return map[i] || i;
59871 });
59872 data.released = data.versions.map(function (i) {
59873 return map[i] || i;
59874 });
59875 var fixedDate = {};
59876
59877 for (var i in data.releaseDate) {
59878 fixedDate[map[i] || i] = data.releaseDate[i];
59879 }
59880
59881 data.releaseDate = fixedDate;
59882 return data;
59883 }
59884
59885 function byName(name, context) {
59886 name = name.toLowerCase();
59887 name = browserslist.aliases[name] || name;
59888
59889 if (context.mobileToDesktop && browserslist.desktopNames[name]) {
59890 var desktop = browserslist.data[browserslist.desktopNames[name]];
59891
59892 if (name === 'android') {
59893 return normalizeAndroidData(cloneData(browserslist.data[name]), desktop);
59894 } else {
59895 var cloned = cloneData(desktop);
59896 cloned.name = name;
59897
59898 if (name === 'op_mob') {
59899 cloned = mapVersions(cloned, {
59900 '10.0-10.1': '10'
59901 });
59902 }
59903
59904 return cloned;
59905 }
59906 }
59907
59908 return browserslist.data[name];
59909 }
59910
59911 function normalizeAndroidVersions(androidVersions, chromeVersions) {
59912 var firstEvergreen = ANDROID_EVERGREEN_FIRST;
59913 var last = chromeVersions[chromeVersions.length - 1];
59914 return androidVersions.filter(function (version) {
59915 return /^(?:[2-4]\.|[34]$)/.test(version);
59916 }).concat(chromeVersions.slice(firstEvergreen - last - 1));
59917 }
59918
59919 function normalizeAndroidData(android, chrome) {
59920 android.released = normalizeAndroidVersions(android.released, chrome.released);
59921 android.versions = normalizeAndroidVersions(android.versions, chrome.versions);
59922 return android;
59923 }
59924
59925 function checkName(name, context) {
59926 var data = byName(name, context);
59927 if (!data) throw new error('Unknown browser ' + name);
59928 return data;
59929 }
59930
59931 function unknownQuery(query) {
59932 return new error('Unknown browser query `' + query + '`. ' + 'Maybe you are using old Browserslist or made typo in query.');
59933 }
59934
59935 function filterAndroid(list, versions, context) {
59936 if (context.mobileToDesktop) return list;
59937 var released = browserslist.data.android.released;
59938 var last = released[released.length - 1];
59939 var diff = last - ANDROID_EVERGREEN_FIRST - versions;
59940
59941 if (diff > 0) {
59942 return list.slice(-1);
59943 } else {
59944 return list.slice(diff - 1);
59945 }
59946 }
59947
59948 function resolve$2(queries, context) {
59949 if (Array.isArray(queries)) {
59950 queries = flatten$1(queries.map(parse$6));
59951 } else {
59952 queries = parse$6(queries);
59953 }
59954
59955 return queries.reduce(function (result, query, index) {
59956 var selection = query.queryString;
59957 var isExclude = selection.indexOf('not ') === 0;
59958
59959 if (isExclude) {
59960 if (index === 0) {
59961 throw new error('Write any browsers query (for instance, `defaults`) ' + 'before `' + selection + '`');
59962 }
59963
59964 selection = selection.slice(4);
59965 }
59966
59967 for (var i = 0; i < QUERIES.length; i++) {
59968 var type = QUERIES[i];
59969 var match = selection.match(type.regexp);
59970
59971 if (match) {
59972 var args = [context].concat(match.slice(1));
59973 var array = type.select.apply(browserslist, args).map(function (j) {
59974 var parts = j.split(' ');
59975
59976 if (parts[1] === '0') {
59977 return parts[0] + ' ' + byName(parts[0], context).versions[0];
59978 } else {
59979 return j;
59980 }
59981 });
59982
59983 switch (query.type) {
59984 case QUERY_AND:
59985 if (isExclude) {
59986 return result.filter(function (j) {
59987 return array.indexOf(j) === -1;
59988 });
59989 } else {
59990 return result.filter(function (j) {
59991 return array.indexOf(j) !== -1;
59992 });
59993 }
59994
59995 case QUERY_OR:
59996 default:
59997 if (isExclude) {
59998 var filter = {};
59999 array.forEach(function (j) {
60000 filter[j] = true;
60001 });
60002 return result.filter(function (j) {
60003 return !filter[j];
60004 });
60005 }
60006
60007 return result.concat(array);
60008 }
60009 }
60010 }
60011
60012 throw unknownQuery(selection);
60013 }, []);
60014 }
60015
60016 var cache$2 = {};
60017
60018 function browserslist(queries, opts) {
60019 if (typeof opts === 'undefined') opts = {};
60020
60021 if (typeof opts.path === 'undefined') {
60022 opts.path = fs$1.resolve ? fs$1.resolve('.') : '.';
60023 }
60024
60025 if (typeof queries === 'undefined' || queries === null) {
60026 var config = browserslist.loadConfig(opts);
60027
60028 if (config) {
60029 queries = config;
60030 } else {
60031 queries = browserslist.defaults;
60032 }
60033 }
60034
60035 if (!(typeof queries === 'string' || Array.isArray(queries))) {
60036 throw new error('Browser queries must be an array or string. Got ' + typeof queries + '.');
60037 }
60038
60039 var context = {
60040 ignoreUnknownVersions: opts.ignoreUnknownVersions,
60041 dangerousExtend: opts.dangerousExtend,
60042 mobileToDesktop: opts.mobileToDesktop,
60043 path: opts.path,
60044 env: opts.env
60045 };
60046 browser$2.oldDataWarning(browserslist.data);
60047 var stats = browser$2.getStat(opts, browserslist.data);
60048
60049 if (stats) {
60050 context.customUsage = {};
60051
60052 for (var browser in stats) {
60053 fillUsage(context.customUsage, browser, stats[browser]);
60054 }
60055 }
60056
60057 var cacheKey = JSON.stringify([queries, context]);
60058 if (cache$2[cacheKey]) return cache$2[cacheKey];
60059 var result = uniq(resolve$2(queries, context)).sort(function (name1, name2) {
60060 name1 = name1.split(' ');
60061 name2 = name2.split(' ');
60062
60063 if (name1[0] === name2[0]) {
60064 var version1 = name1[1].split('-')[0];
60065 var version2 = name2[1].split('-')[0];
60066 return compareSemver(version2.split('.'), version1.split('.'));
60067 } else {
60068 return compare$5(name1[0], name2[0]);
60069 }
60070 });
60071
60072 if (!browser$6.env.BROWSERSLIST_DISABLE_CACHE) {
60073 cache$2[cacheKey] = result;
60074 }
60075
60076 return result;
60077 }
60078
60079 function parse$6(queries) {
60080 var qs = [];
60081
60082 do {
60083 queries = doMatch(queries, qs);
60084 } while (queries);
60085
60086 return qs;
60087 }
60088
60089 function doMatch(string, qs) {
60090 var or = /^(?:,\s*|\s+or\s+)(.*)/i;
60091 var and = /^\s+and\s+(.*)/i;
60092 return find(string, function (parsed, n, max) {
60093 if (and.test(parsed)) {
60094 qs.unshift({
60095 type: QUERY_AND,
60096 queryString: parsed.match(and)[1]
60097 });
60098 return true;
60099 } else if (or.test(parsed)) {
60100 qs.unshift({
60101 type: QUERY_OR,
60102 queryString: parsed.match(or)[1]
60103 });
60104 return true;
60105 } else if (n === max) {
60106 qs.unshift({
60107 type: QUERY_OR,
60108 queryString: parsed.trim()
60109 });
60110 return true;
60111 }
60112
60113 return false;
60114 });
60115 }
60116
60117 function find(string, predicate) {
60118 for (var n = 1, max = string.length; n <= max; n++) {
60119 var parsed = string.substr(-n, n);
60120
60121 if (predicate(parsed, n, max)) {
60122 return string.slice(0, -n);
60123 }
60124 }
60125
60126 return '';
60127 }
60128
60129 function flatten$1(array) {
60130 if (!Array.isArray(array)) return [array];
60131 return array.reduce(function (a, b) {
60132 return a.concat(flatten$1(b));
60133 }, []);
60134 }
60135
60136 browserslist.cache = {};
60137 browserslist.data = {};
60138 browserslist.usage = {
60139 global: {},
60140 custom: null
60141 };
60142 browserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead'];
60143 browserslist.aliases = {
60144 fx: 'firefox',
60145 ff: 'firefox',
60146 ios: 'ios_saf',
60147 explorer: 'ie',
60148 blackberry: 'bb',
60149 explorermobile: 'ie_mob',
60150 operamini: 'op_mini',
60151 operamobile: 'op_mob',
60152 chromeandroid: 'and_chr',
60153 firefoxandroid: 'and_ff',
60154 ucandroid: 'and_uc',
60155 qqandroid: 'and_qq'
60156 };
60157 browserslist.desktopNames = {
60158 and_chr: 'chrome',
60159 and_ff: 'firefox',
60160 ie_mob: 'ie',
60161 op_mob: 'opera',
60162 android: 'chrome'
60163 };
60164 browserslist.versionAliases = {};
60165 browserslist.clearCaches = browser$2.clearCaches;
60166 browserslist.parseConfig = browser$2.parseConfig;
60167 browserslist.readConfig = browser$2.readConfig;
60168 browserslist.findConfig = browser$2.findConfig;
60169 browserslist.loadConfig = browser$2.loadConfig;
60170
60171 browserslist.coverage = function (browsers, stats) {
60172 var data;
60173
60174 if (typeof stats === 'undefined') {
60175 data = browserslist.usage.global;
60176 } else if (stats === 'my stats') {
60177 var opts = {};
60178 opts.path = fs$1.resolve ? fs$1.resolve('.') : '.';
60179 var customStats = browser$2.getStat(opts);
60180
60181 if (!customStats) {
60182 throw new error('Custom usage statistics was not provided');
60183 }
60184
60185 data = {};
60186
60187 for (var browser in customStats) {
60188 fillUsage(data, browser, customStats[browser]);
60189 }
60190 } else if (typeof stats === 'string') {
60191 if (stats.length > 2) {
60192 stats = stats.toLowerCase();
60193 } else {
60194 stats = stats.toUpperCase();
60195 }
60196
60197 browser$2.loadCountry(browserslist.usage, stats, browserslist.data);
60198 data = browserslist.usage[stats];
60199 } else {
60200 if ('dataByBrowser' in stats) {
60201 stats = stats.dataByBrowser;
60202 }
60203
60204 data = {};
60205
60206 for (var name in stats) {
60207 for (var version in stats[name]) {
60208 data[name + ' ' + version] = stats[name][version];
60209 }
60210 }
60211 }
60212
60213 return browsers.reduce(function (all, i) {
60214 var usage = data[i];
60215
60216 if (usage === undefined) {
60217 usage = data[i.replace(/ \S+$/, ' 0')];
60218 }
60219
60220 return all + (usage || 0);
60221 }, 0);
60222 };
60223
60224 function nodeQuery(context, version) {
60225 var nodeReleases = jsReleases.filter(function (i) {
60226 return i.name === 'nodejs';
60227 });
60228 var matched = nodeReleases.filter(function (i) {
60229 return isVersionsMatch(i.version, version);
60230 });
60231
60232 if (matched.length === 0) {
60233 if (context.ignoreUnknownVersions) {
60234 return [];
60235 } else {
60236 throw new error('Unknown version ' + version + ' of Node.js');
60237 }
60238 }
60239
60240 return ['node ' + matched[matched.length - 1].version];
60241 }
60242
60243 function sinceQuery(context, year, month, date) {
60244 year = parseInt(year);
60245 month = parseInt(month || '01') - 1;
60246 date = parseInt(date || '01');
60247 return filterByYear(Date.UTC(year, month, date, 0, 0, 0), context);
60248 }
60249
60250 function coverQuery(context, coverage, statMode) {
60251 coverage = parseFloat(coverage);
60252 var usage = browserslist.usage.global;
60253
60254 if (statMode) {
60255 if (statMode.match(/^my\s+stats$/)) {
60256 if (!context.customUsage) {
60257 throw new error('Custom usage statistics was not provided');
60258 }
60259
60260 usage = context.customUsage;
60261 } else {
60262 var place;
60263
60264 if (statMode.length === 2) {
60265 place = statMode.toUpperCase();
60266 } else {
60267 place = statMode.toLowerCase();
60268 }
60269
60270 browser$2.loadCountry(browserslist.usage, place, browserslist.data);
60271 usage = browserslist.usage[place];
60272 }
60273 }
60274
60275 var versions = Object.keys(usage).sort(function (a, b) {
60276 return usage[b] - usage[a];
60277 });
60278 var coveraged = 0;
60279 var result = [];
60280 var version;
60281
60282 for (var i = 0; i <= versions.length; i++) {
60283 version = versions[i];
60284 if (usage[version] === 0) break;
60285 coveraged += usage[version];
60286 result.push(version);
60287 if (coveraged >= coverage) break;
60288 }
60289
60290 return result;
60291 }
60292
60293 var QUERIES = [{
60294 regexp: /^last\s+(\d+)\s+major\s+versions?$/i,
60295 select: function select(context, versions) {
60296 return Object.keys(agents).reduce(function (selected, name) {
60297 var data = byName(name, context);
60298 if (!data) return selected;
60299 var list = getMajorVersions(data.released, versions);
60300 list = list.map(nameMapper(data.name));
60301
60302 if (data.name === 'android') {
60303 list = filterAndroid(list, versions, context);
60304 }
60305
60306 return selected.concat(list);
60307 }, []);
60308 }
60309 }, {
60310 regexp: /^last\s+(\d+)\s+versions?$/i,
60311 select: function select(context, versions) {
60312 return Object.keys(agents).reduce(function (selected, name) {
60313 var data = byName(name, context);
60314 if (!data) return selected;
60315 var list = data.released.slice(-versions);
60316 list = list.map(nameMapper(data.name));
60317
60318 if (data.name === 'android') {
60319 list = filterAndroid(list, versions, context);
60320 }
60321
60322 return selected.concat(list);
60323 }, []);
60324 }
60325 }, {
60326 regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i,
60327 select: function select(context, versions$1) {
60328 var validVersions = getMajorVersions(Object.keys(versions), versions$1);
60329 return validVersions.map(function (i) {
60330 return 'chrome ' + versions[i];
60331 });
60332 }
60333 }, {
60334 regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,
60335 select: function select(context, versions, name) {
60336 var data = checkName(name, context);
60337 var validVersions = getMajorVersions(data.released, versions);
60338 var list = validVersions.map(nameMapper(data.name));
60339
60340 if (data.name === 'android') {
60341 list = filterAndroid(list, versions, context);
60342 }
60343
60344 return list;
60345 }
60346 }, {
60347 regexp: /^last\s+(\d+)\s+electron\s+versions?$/i,
60348 select: function select(context, versions$1) {
60349 return Object.keys(versions).slice(-versions$1).map(function (i) {
60350 return 'chrome ' + versions[i];
60351 });
60352 }
60353 }, {
60354 regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i,
60355 select: function select(context, versions, name) {
60356 var data = checkName(name, context);
60357 var list = data.released.slice(-versions).map(nameMapper(data.name));
60358
60359 if (data.name === 'android') {
60360 list = filterAndroid(list, versions, context);
60361 }
60362
60363 return list;
60364 }
60365 }, {
60366 regexp: /^unreleased\s+versions$/i,
60367 select: function select(context) {
60368 return Object.keys(agents).reduce(function (selected, name) {
60369 var data = byName(name, context);
60370 if (!data) return selected;
60371 var list = data.versions.filter(function (v) {
60372 return data.released.indexOf(v) === -1;
60373 });
60374 list = list.map(nameMapper(data.name));
60375 return selected.concat(list);
60376 }, []);
60377 }
60378 }, {
60379 regexp: /^unreleased\s+electron\s+versions?$/i,
60380 select: function select() {
60381 return [];
60382 }
60383 }, {
60384 regexp: /^unreleased\s+(\w+)\s+versions?$/i,
60385 select: function select(context, name) {
60386 var data = checkName(name, context);
60387 return data.versions.filter(function (v) {
60388 return data.released.indexOf(v) === -1;
60389 }).map(nameMapper(data.name));
60390 }
60391 }, {
60392 regexp: /^last\s+(\d*.?\d+)\s+years?$/i,
60393 select: function select(context, years) {
60394 return filterByYear(Date.now() - YEAR * years, context);
60395 }
60396 }, {
60397 regexp: /^since (\d+)$/i,
60398 select: sinceQuery
60399 }, {
60400 regexp: /^since (\d+)-(\d+)$/i,
60401 select: sinceQuery
60402 }, {
60403 regexp: /^since (\d+)-(\d+)-(\d+)$/i,
60404 select: sinceQuery
60405 }, {
60406 regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,
60407 select: function select(context, sign, popularity) {
60408 popularity = parseFloat(popularity);
60409 var usage = browserslist.usage.global;
60410 return Object.keys(usage).reduce(function (result, version) {
60411 if (sign === '>') {
60412 if (usage[version] > popularity) {
60413 result.push(version);
60414 }
60415 } else if (sign === '<') {
60416 if (usage[version] < popularity) {
60417 result.push(version);
60418 }
60419 } else if (sign === '<=') {
60420 if (usage[version] <= popularity) {
60421 result.push(version);
60422 }
60423 } else if (usage[version] >= popularity) {
60424 result.push(version);
60425 }
60426
60427 return result;
60428 }, []);
60429 }
60430 }, {
60431 regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,
60432 select: function select(context, sign, popularity) {
60433 popularity = parseFloat(popularity);
60434
60435 if (!context.customUsage) {
60436 throw new error('Custom usage statistics was not provided');
60437 }
60438
60439 var usage = context.customUsage;
60440 return Object.keys(usage).reduce(function (result, version) {
60441 if (sign === '>') {
60442 if (usage[version] > popularity) {
60443 result.push(version);
60444 }
60445 } else if (sign === '<') {
60446 if (usage[version] < popularity) {
60447 result.push(version);
60448 }
60449 } else if (sign === '<=') {
60450 if (usage[version] <= popularity) {
60451 result.push(version);
60452 }
60453 } else if (usage[version] >= popularity) {
60454 result.push(version);
60455 }
60456
60457 return result;
60458 }, []);
60459 }
60460 }, {
60461 regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,
60462 select: function select(context, sign, popularity, name) {
60463 popularity = parseFloat(popularity);
60464 var stats = browser$2.loadStat(context, name, browserslist.data);
60465
60466 if (stats) {
60467 context.customUsage = {};
60468
60469 for (var browser in stats) {
60470 fillUsage(context.customUsage, browser, stats[browser]);
60471 }
60472 }
60473
60474 if (!context.customUsage) {
60475 throw new error('Custom usage statistics was not provided');
60476 }
60477
60478 var usage = context.customUsage;
60479 return Object.keys(usage).reduce(function (result, version) {
60480 if (sign === '>') {
60481 if (usage[version] > popularity) {
60482 result.push(version);
60483 }
60484 } else if (sign === '<') {
60485 if (usage[version] < popularity) {
60486 result.push(version);
60487 }
60488 } else if (sign === '<=') {
60489 if (usage[version] <= popularity) {
60490 result.push(version);
60491 }
60492 } else if (usage[version] >= popularity) {
60493 result.push(version);
60494 }
60495
60496 return result;
60497 }, []);
60498 }
60499 }, {
60500 regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,
60501 select: function select(context, sign, popularity, place) {
60502 popularity = parseFloat(popularity);
60503
60504 if (place.length === 2) {
60505 place = place.toUpperCase();
60506 } else {
60507 place = place.toLowerCase();
60508 }
60509
60510 browser$2.loadCountry(browserslist.usage, place, browserslist.data);
60511 var usage = browserslist.usage[place];
60512 return Object.keys(usage).reduce(function (result, version) {
60513 if (sign === '>') {
60514 if (usage[version] > popularity) {
60515 result.push(version);
60516 }
60517 } else if (sign === '<') {
60518 if (usage[version] < popularity) {
60519 result.push(version);
60520 }
60521 } else if (sign === '<=') {
60522 if (usage[version] <= popularity) {
60523 result.push(version);
60524 }
60525 } else if (usage[version] >= popularity) {
60526 result.push(version);
60527 }
60528
60529 return result;
60530 }, []);
60531 }
60532 }, {
60533 regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/,
60534 select: coverQuery
60535 }, {
60536 regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/,
60537 select: coverQuery
60538 }, {
60539 regexp: /^supports\s+([\w-]+)$/,
60540 select: function select(context, feature) {
60541 browser$2.loadFeature(browserslist.cache, feature);
60542 var features = browserslist.cache[feature];
60543 return Object.keys(features).reduce(function (result, version) {
60544 var flags = features[version];
60545
60546 if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) {
60547 result.push(version);
60548 }
60549
60550 return result;
60551 }, []);
60552 }
60553 }, {
60554 regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,
60555 select: function select(context, from, to) {
60556 var fromToUse = normalizeElectron(from);
60557 var toToUse = normalizeElectron(to);
60558
60559 if (!versions[fromToUse]) {
60560 throw new error('Unknown version ' + from + ' of electron');
60561 }
60562
60563 if (!versions[toToUse]) {
60564 throw new error('Unknown version ' + to + ' of electron');
60565 }
60566
60567 from = parseFloat(from);
60568 to = parseFloat(to);
60569 return Object.keys(versions).filter(function (i) {
60570 var parsed = parseFloat(i);
60571 return parsed >= from && parsed <= to;
60572 }).map(function (i) {
60573 return 'chrome ' + versions[i];
60574 });
60575 }
60576 }, {
60577 regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,
60578 select: function select(context, from, to) {
60579 var nodeVersions = jsReleases.filter(function (i) {
60580 return i.name === 'nodejs';
60581 }).map(function (i) {
60582 return i.version;
60583 });
60584 return nodeVersions.filter(semverFilterLoose('>=', from)).filter(semverFilterLoose('<=', to)).map(function (v) {
60585 return 'node ' + v;
60586 });
60587 }
60588 }, {
60589 regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,
60590 select: function select(context, name, from, to) {
60591 var data = checkName(name, context);
60592 from = parseFloat(normalizeVersion(data, from) || from);
60593 to = parseFloat(normalizeVersion(data, to) || to);
60594
60595 function filter(v) {
60596 var parsed = parseFloat(v);
60597 return parsed >= from && parsed <= to;
60598 }
60599
60600 return data.released.filter(filter).map(nameMapper(data.name));
60601 }
60602 }, {
60603 regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i,
60604 select: function select(context, sign, version) {
60605 var versionToUse = normalizeElectron(version);
60606 return Object.keys(versions).filter(generateFilter(sign, versionToUse)).map(function (i) {
60607 return 'chrome ' + versions[i];
60608 });
60609 }
60610 }, {
60611 regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i,
60612 select: function select(context, sign, version) {
60613 var nodeVersions = jsReleases.filter(function (i) {
60614 return i.name === 'nodejs';
60615 }).map(function (i) {
60616 return i.version;
60617 });
60618 return nodeVersions.filter(generateSemverFilter(sign, version)).map(function (v) {
60619 return 'node ' + v;
60620 });
60621 }
60622 }, {
60623 regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,
60624 select: function select(context, name, sign, version) {
60625 var data = checkName(name, context);
60626 var alias = browserslist.versionAliases[data.name][version];
60627
60628 if (alias) {
60629 version = alias;
60630 }
60631
60632 return data.released.filter(generateFilter(sign, version)).map(function (v) {
60633 return data.name + ' ' + v;
60634 });
60635 }
60636 }, {
60637 regexp: /^(firefox|ff|fx)\s+esr$/i,
60638 select: function select() {
60639 return ['firefox 78'];
60640 }
60641 }, {
60642 regexp: /(operamini|op_mini)\s+all/i,
60643 select: function select() {
60644 return ['op_mini all'];
60645 }
60646 }, {
60647 regexp: /^electron\s+([\d.]+)$/i,
60648 select: function select(context, version) {
60649 var versionToUse = normalizeElectron(version);
60650 var chrome = versions[versionToUse];
60651
60652 if (!chrome) {
60653 throw new error('Unknown version ' + version + ' of electron');
60654 }
60655
60656 return ['chrome ' + chrome];
60657 }
60658 }, {
60659 regexp: /^node\s+(\d+)$/i,
60660 select: nodeQuery
60661 }, {
60662 regexp: /^node\s+(\d+\.\d+)$/i,
60663 select: nodeQuery
60664 }, {
60665 regexp: /^node\s+(\d+\.\d+\.\d+)$/i,
60666 select: nodeQuery
60667 }, {
60668 regexp: /^current\s+node$/i,
60669 select: function select(context) {
60670 return [browser$2.currentNode(resolve$2, context)];
60671 }
60672 }, {
60673 regexp: /^maintained\s+node\s+versions$/i,
60674 select: function select(context) {
60675 var now = Date.now();
60676 var queries = Object.keys(jsEOL).filter(function (key) {
60677 return now < Date.parse(jsEOL[key].end) && now > Date.parse(jsEOL[key].start) && isEolReleased(key);
60678 }).map(function (key) {
60679 return 'node ' + key.slice(1);
60680 });
60681 return resolve$2(queries, context);
60682 }
60683 }, {
60684 regexp: /^phantomjs\s+1.9$/i,
60685 select: function select() {
60686 return ['safari 5'];
60687 }
60688 }, {
60689 regexp: /^phantomjs\s+2.1$/i,
60690 select: function select() {
60691 return ['safari 6'];
60692 }
60693 }, {
60694 regexp: /^(\w+)\s+(tp|[\d.]+)$/i,
60695 select: function select(context, name, version) {
60696 if (/^tp$/i.test(version)) version = 'TP';
60697 var data = checkName(name, context);
60698 var alias = normalizeVersion(data, version);
60699
60700 if (alias) {
60701 version = alias;
60702 } else {
60703 if (version.indexOf('.') === -1) {
60704 alias = version + '.0';
60705 } else {
60706 alias = version.replace(/\.0$/, '');
60707 }
60708
60709 alias = normalizeVersion(data, alias);
60710
60711 if (alias) {
60712 version = alias;
60713 } else if (context.ignoreUnknownVersions) {
60714 return [];
60715 } else {
60716 throw new error('Unknown version ' + version + ' of ' + name);
60717 }
60718 }
60719
60720 return [data.name + ' ' + version];
60721 }
60722 }, {
60723 regexp: /^browserslist config$/i,
60724 select: function select(context) {
60725 return browserslist(undefined, context);
60726 }
60727 }, {
60728 regexp: /^extends (.+)$/i,
60729 select: function select(context, name) {
60730 return resolve$2(browser$2.loadQueries(context, name), context);
60731 }
60732 }, {
60733 regexp: /^defaults$/i,
60734 select: function select(context) {
60735 return resolve$2(browserslist.defaults, context);
60736 }
60737 }, {
60738 regexp: /^dead$/i,
60739 select: function select(context) {
60740 var dead = ['ie <= 10', 'ie_mob <= 11', 'bb <= 10', 'op_mob <= 12.1', 'samsung 4'];
60741 return resolve$2(dead, context);
60742 }
60743 }, {
60744 regexp: /^(\w+)$/i,
60745 select: function select(context, name) {
60746 if (byName(name, context)) {
60747 throw new error('Specify versions in Browserslist query for browser ' + name);
60748 } else {
60749 throw unknownQuery(name);
60750 }
60751 }
60752 }];
60753
60754 (function () {
60755 for (var name in agents) {
60756 var browser = agents[name];
60757 browserslist.data[name] = {
60758 name: name,
60759 versions: normalize(agents[name].versions),
60760 released: normalize(agents[name].versions.slice(0, -3)),
60761 releaseDate: agents[name].release_date
60762 };
60763 fillUsage(browserslist.usage.global, name, browser.usage_global);
60764 browserslist.versionAliases[name] = {};
60765
60766 for (var i = 0; i < browser.versions.length; i++) {
60767 var full = browser.versions[i];
60768 if (!full) continue;
60769
60770 if (full.indexOf('-') !== -1) {
60771 var interval = full.split('-');
60772
60773 for (var j = 0; j < interval.length; j++) {
60774 browserslist.versionAliases[name][interval[j]] = full;
60775 }
60776 }
60777 }
60778 }
60779
60780 browserslist.versionAliases.op_mob['59'] = '58';
60781 })();
60782
60783 var browserslist_1 = browserslist;
60784
60785 var min = Math.min;
60786
60787 function levenshtein(a, b) {
60788 var t = [],
60789 u = [],
60790 i,
60791 j;
60792 var m = a.length,
60793 n = b.length;
60794
60795 if (!m) {
60796 return n;
60797 }
60798
60799 if (!n) {
60800 return m;
60801 }
60802
60803 for (j = 0; j <= n; j++) {
60804 t[j] = j;
60805 }
60806
60807 for (i = 1; i <= m; i++) {
60808 for (u = [i], j = 1; j <= n; j++) {
60809 u[j] = a[i - 1] === b[j - 1] ? t[j - 1] : min(t[j - 1], t[j], u[j - 1]) + 1;
60810 }
60811
60812 t = u;
60813 }
60814
60815 return u[n];
60816 }
60817
60818 function findSuggestion(str, arr) {
60819 var distances = arr.map(function (el) {
60820 return levenshtein(el, str);
60821 });
60822 return arr[distances.indexOf(min.apply(void 0, _toConsumableArray(distances)))];
60823 }
60824
60825 var OptionValidator = function () {
60826 function OptionValidator(descriptor) {
60827 this.descriptor = descriptor;
60828 }
60829
60830 var _proto = OptionValidator.prototype;
60831
60832 _proto.validateTopLevelOptions = function validateTopLevelOptions(options, TopLevelOptionShape) {
60833 var validOptionNames = Object.keys(TopLevelOptionShape);
60834
60835 for (var _i = 0, _Object$keys = Object.keys(options); _i < _Object$keys.length; _i++) {
60836 var option = _Object$keys[_i];
60837
60838 if (!validOptionNames.includes(option)) {
60839 throw new Error(this.formatMessage("'" + option + "' is not a valid top-level option.\n- Did you mean '" + findSuggestion(option, validOptionNames) + "'?"));
60840 }
60841 }
60842 };
60843
60844 _proto.validateBooleanOption = function validateBooleanOption(name, value, defaultValue) {
60845 if (value === undefined) {
60846 return defaultValue;
60847 } else {
60848 this.invariant(typeof value === "boolean", "'" + name + "' option must be a boolean.");
60849 }
60850
60851 return value;
60852 };
60853
60854 _proto.validateStringOption = function validateStringOption(name, value, defaultValue) {
60855 if (value === undefined) {
60856 return defaultValue;
60857 } else {
60858 this.invariant(typeof value === "string", "'" + name + "' option must be a string.");
60859 }
60860
60861 return value;
60862 };
60863
60864 _proto.invariant = function invariant(condition, message) {
60865 if (!condition) {
60866 throw new Error(this.formatMessage(message));
60867 }
60868 };
60869
60870 _proto.formatMessage = function formatMessage(message) {
60871 return this.descriptor + ": " + message;
60872 };
60873
60874 return OptionValidator;
60875 }();
60876
60877 var require$$0$7 = {
60878 "es6.module": {
60879 chrome: "61",
60880 and_chr: "61",
60881 edge: "16",
60882 firefox: "60",
60883 and_ff: "60",
60884 node: "13.2.0",
60885 opera: "48",
60886 op_mob: "48",
60887 safari: "10.1",
60888 ios: "10.3",
60889 samsung: "8.2",
60890 android: "61",
60891 electron: "2.0",
60892 ios_saf: "10.3"
60893 }
60894 };
60895
60896 var nativeModules = require$$0$7;
60897
60898 var SEMVER_SPEC_VERSION$2 = '2.0.0';
60899 var MAX_LENGTH$8 = 256;
60900 var MAX_SAFE_INTEGER$5 = Number.MAX_SAFE_INTEGER || 9007199254740991;
60901 var MAX_SAFE_COMPONENT_LENGTH$2 = 16;
60902 var constants$2 = {
60903 SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION$2,
60904 MAX_LENGTH: MAX_LENGTH$8,
60905 MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$5,
60906 MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH$2
60907 };
60908
60909 var debug$4 = typeof browser$6 === 'object' && browser$6.env && browser$6.env.NODE_DEBUG && /\bsemver\b/i.test(browser$6.env.NODE_DEBUG) ? function () {
60910 var _console;
60911
60912 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
60913 args[_key] = arguments[_key];
60914 }
60915
60916 return (_console = console).error.apply(_console, ['SEMVER'].concat(args));
60917 } : function () {};
60918 var debug_1$2 = debug$4;
60919
60920 var re_1$2 = createCommonjsModule(function (module, exports) {
60921 var MAX_SAFE_COMPONENT_LENGTH = constants$2.MAX_SAFE_COMPONENT_LENGTH;
60922 exports = module.exports = {};
60923 var re = exports.re = [];
60924 var src = exports.src = [];
60925 var t = exports.t = {};
60926 var R = 0;
60927
60928 var createToken = function createToken(name, value, isGlobal) {
60929 var index = R++;
60930 debug_1$2(index, value);
60931 t[name] = index;
60932 src[index] = value;
60933 re[index] = new RegExp(value, isGlobal ? 'g' : undefined);
60934 };
60935
60936 createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*');
60937 createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+');
60938 createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*');
60939 createToken('MAINVERSION', "(" + src[t.NUMERICIDENTIFIER] + ")\\." + ("(" + src[t.NUMERICIDENTIFIER] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIER] + ")"));
60940 createToken('MAINVERSIONLOOSE', "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\." + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")"));
60941 createToken('PRERELEASEIDENTIFIER', "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
60942 createToken('PRERELEASEIDENTIFIERLOOSE', "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
60943 createToken('PRERELEASE', "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))");
60944 createToken('PRERELEASELOOSE', "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))");
60945 createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+');
60946 createToken('BUILD', "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))");
60947 createToken('FULLPLAIN', "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?");
60948 createToken('FULL', "^" + src[t.FULLPLAIN] + "$");
60949 createToken('LOOSEPLAIN', "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?");
60950 createToken('LOOSE', "^" + src[t.LOOSEPLAIN] + "$");
60951 createToken('GTLT', '((?:<|>)?=?)');
60952 createToken('XRANGEIDENTIFIERLOOSE', src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*");
60953 createToken('XRANGEIDENTIFIER', src[t.NUMERICIDENTIFIER] + "|x|X|\\*");
60954 createToken('XRANGEPLAIN', "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?") + ")?)?");
60955 createToken('XRANGEPLAINLOOSE', "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?") + ")?)?");
60956 createToken('XRANGE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$");
60957 createToken('XRANGELOOSE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$");
60958 createToken('COERCE', "" + ('(^|[^\\d])' + '(\\d{1,') + MAX_SAFE_COMPONENT_LENGTH + "})" + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + "(?:$|[^\\d])");
60959 createToken('COERCERTL', src[t.COERCE], true);
60960 createToken('LONETILDE', '(?:~>?)');
60961 createToken('TILDETRIM', "(\\s*)" + src[t.LONETILDE] + "\\s+", true);
60962 exports.tildeTrimReplace = '$1~';
60963 createToken('TILDE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$");
60964 createToken('TILDELOOSE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$");
60965 createToken('LONECARET', '(?:\\^)');
60966 createToken('CARETTRIM', "(\\s*)" + src[t.LONECARET] + "\\s+", true);
60967 exports.caretTrimReplace = '$1^';
60968 createToken('CARET', "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$");
60969 createToken('CARETLOOSE', "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$");
60970 createToken('COMPARATORLOOSE', "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$");
60971 createToken('COMPARATOR', "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$");
60972 createToken('COMPARATORTRIM', "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")", true);
60973 exports.comparatorTrimReplace = '$1$2$3';
60974 createToken('HYPHENRANGE', "^\\s*(" + src[t.XRANGEPLAIN] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAIN] + ")") + "\\s*$");
60975 createToken('HYPHENRANGELOOSE', "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAINLOOSE] + ")") + "\\s*$");
60976 createToken('STAR', '(<|>)?=?\\s*\\*');
60977 createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$');
60978 createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$');
60979 }, "/$$rollup_base$$/packages/babel-helper-compilation-targets/node_modules/semver/node_modules/semver-BABEL_8_BREAKING-true/internal");
60980
60981 var opts$1 = ['includePrerelease', 'loose', 'rtl'];
60982
60983 var parseOptions$1 = function parseOptions(options) {
60984 return !options ? {} : typeof options !== 'object' ? {
60985 loose: true
60986 } : opts$1.filter(function (k) {
60987 return options[k];
60988 }).reduce(function (options, k) {
60989 options[k] = true;
60990 return options;
60991 }, {});
60992 };
60993
60994 var parseOptions_1$1 = parseOptions$1;
60995
60996 var numeric$2 = /^[0-9]+$/;
60997
60998 var compareIdentifiers$5 = function compareIdentifiers(a, b) {
60999 var anum = numeric$2.test(a);
61000 var bnum = numeric$2.test(b);
61001
61002 if (anum && bnum) {
61003 a = +a;
61004 b = +b;
61005 }
61006
61007 return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
61008 };
61009
61010 var rcompareIdentifiers$2 = function rcompareIdentifiers(a, b) {
61011 return compareIdentifiers$5(b, a);
61012 };
61013
61014 var identifiers$2 = {
61015 compareIdentifiers: compareIdentifiers$5,
61016 rcompareIdentifiers: rcompareIdentifiers$2
61017 };
61018
61019 var MAX_LENGTH$7 = constants$2.MAX_LENGTH,
61020 MAX_SAFE_INTEGER$4 = constants$2.MAX_SAFE_INTEGER;
61021 var re$c = re_1$2.re,
61022 t$j = re_1$2.t;
61023 var compareIdentifiers$4 = identifiers$2.compareIdentifiers;
61024
61025 var SemVer$2 = function () {
61026 function SemVer(version, options) {
61027 options = parseOptions_1$1(options);
61028
61029 if (version instanceof SemVer) {
61030 if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
61031 return version;
61032 } else {
61033 version = version.version;
61034 }
61035 } else if (typeof version !== 'string') {
61036 throw new TypeError("Invalid Version: " + version);
61037 }
61038
61039 if (version.length > MAX_LENGTH$7) {
61040 throw new TypeError("version is longer than " + MAX_LENGTH$7 + " characters");
61041 }
61042
61043 debug_1$2('SemVer', version, options);
61044 this.options = options;
61045 this.loose = !!options.loose;
61046 this.includePrerelease = !!options.includePrerelease;
61047 var m = version.trim().match(options.loose ? re$c[t$j.LOOSE] : re$c[t$j.FULL]);
61048
61049 if (!m) {
61050 throw new TypeError("Invalid Version: " + version);
61051 }
61052
61053 this.raw = version;
61054 this.major = +m[1];
61055 this.minor = +m[2];
61056 this.patch = +m[3];
61057
61058 if (this.major > MAX_SAFE_INTEGER$4 || this.major < 0) {
61059 throw new TypeError('Invalid major version');
61060 }
61061
61062 if (this.minor > MAX_SAFE_INTEGER$4 || this.minor < 0) {
61063 throw new TypeError('Invalid minor version');
61064 }
61065
61066 if (this.patch > MAX_SAFE_INTEGER$4 || this.patch < 0) {
61067 throw new TypeError('Invalid patch version');
61068 }
61069
61070 if (!m[4]) {
61071 this.prerelease = [];
61072 } else {
61073 this.prerelease = m[4].split('.').map(function (id) {
61074 if (/^[0-9]+$/.test(id)) {
61075 var num = +id;
61076
61077 if (num >= 0 && num < MAX_SAFE_INTEGER$4) {
61078 return num;
61079 }
61080 }
61081
61082 return id;
61083 });
61084 }
61085
61086 this.build = m[5] ? m[5].split('.') : [];
61087 this.format();
61088 }
61089
61090 var _proto = SemVer.prototype;
61091
61092 _proto.format = function format() {
61093 this.version = this.major + "." + this.minor + "." + this.patch;
61094
61095 if (this.prerelease.length) {
61096 this.version += "-" + this.prerelease.join('.');
61097 }
61098
61099 return this.version;
61100 };
61101
61102 _proto.toString = function toString() {
61103 return this.version;
61104 };
61105
61106 _proto.compare = function compare(other) {
61107 debug_1$2('SemVer.compare', this.version, this.options, other);
61108
61109 if (!(other instanceof SemVer)) {
61110 if (typeof other === 'string' && other === this.version) {
61111 return 0;
61112 }
61113
61114 other = new SemVer(other, this.options);
61115 }
61116
61117 if (other.version === this.version) {
61118 return 0;
61119 }
61120
61121 return this.compareMain(other) || this.comparePre(other);
61122 };
61123
61124 _proto.compareMain = function compareMain(other) {
61125 if (!(other instanceof SemVer)) {
61126 other = new SemVer(other, this.options);
61127 }
61128
61129 return compareIdentifiers$4(this.major, other.major) || compareIdentifiers$4(this.minor, other.minor) || compareIdentifiers$4(this.patch, other.patch);
61130 };
61131
61132 _proto.comparePre = function comparePre(other) {
61133 if (!(other instanceof SemVer)) {
61134 other = new SemVer(other, this.options);
61135 }
61136
61137 if (this.prerelease.length && !other.prerelease.length) {
61138 return -1;
61139 } else if (!this.prerelease.length && other.prerelease.length) {
61140 return 1;
61141 } else if (!this.prerelease.length && !other.prerelease.length) {
61142 return 0;
61143 }
61144
61145 var i = 0;
61146
61147 do {
61148 var a = this.prerelease[i];
61149 var b = other.prerelease[i];
61150 debug_1$2('prerelease compare', i, a, b);
61151
61152 if (a === undefined && b === undefined) {
61153 return 0;
61154 } else if (b === undefined) {
61155 return 1;
61156 } else if (a === undefined) {
61157 return -1;
61158 } else if (a === b) {
61159 continue;
61160 } else {
61161 return compareIdentifiers$4(a, b);
61162 }
61163 } while (++i);
61164 };
61165
61166 _proto.compareBuild = function compareBuild(other) {
61167 if (!(other instanceof SemVer)) {
61168 other = new SemVer(other, this.options);
61169 }
61170
61171 var i = 0;
61172
61173 do {
61174 var a = this.build[i];
61175 var b = other.build[i];
61176 debug_1$2('prerelease compare', i, a, b);
61177
61178 if (a === undefined && b === undefined) {
61179 return 0;
61180 } else if (b === undefined) {
61181 return 1;
61182 } else if (a === undefined) {
61183 return -1;
61184 } else if (a === b) {
61185 continue;
61186 } else {
61187 return compareIdentifiers$4(a, b);
61188 }
61189 } while (++i);
61190 };
61191
61192 _proto.inc = function inc(release, identifier) {
61193 switch (release) {
61194 case 'premajor':
61195 this.prerelease.length = 0;
61196 this.patch = 0;
61197 this.minor = 0;
61198 this.major++;
61199 this.inc('pre', identifier);
61200 break;
61201
61202 case 'preminor':
61203 this.prerelease.length = 0;
61204 this.patch = 0;
61205 this.minor++;
61206 this.inc('pre', identifier);
61207 break;
61208
61209 case 'prepatch':
61210 this.prerelease.length = 0;
61211 this.inc('patch', identifier);
61212 this.inc('pre', identifier);
61213 break;
61214
61215 case 'prerelease':
61216 if (this.prerelease.length === 0) {
61217 this.inc('patch', identifier);
61218 }
61219
61220 this.inc('pre', identifier);
61221 break;
61222
61223 case 'major':
61224 if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
61225 this.major++;
61226 }
61227
61228 this.minor = 0;
61229 this.patch = 0;
61230 this.prerelease = [];
61231 break;
61232
61233 case 'minor':
61234 if (this.patch !== 0 || this.prerelease.length === 0) {
61235 this.minor++;
61236 }
61237
61238 this.patch = 0;
61239 this.prerelease = [];
61240 break;
61241
61242 case 'patch':
61243 if (this.prerelease.length === 0) {
61244 this.patch++;
61245 }
61246
61247 this.prerelease = [];
61248 break;
61249
61250 case 'pre':
61251 if (this.prerelease.length === 0) {
61252 this.prerelease = [0];
61253 } else {
61254 var i = this.prerelease.length;
61255
61256 while (--i >= 0) {
61257 if (typeof this.prerelease[i] === 'number') {
61258 this.prerelease[i]++;
61259 i = -2;
61260 }
61261 }
61262
61263 if (i === -1) {
61264 this.prerelease.push(0);
61265 }
61266 }
61267
61268 if (identifier) {
61269 if (this.prerelease[0] === identifier) {
61270 if (isNaN(this.prerelease[1])) {
61271 this.prerelease = [identifier, 0];
61272 }
61273 } else {
61274 this.prerelease = [identifier, 0];
61275 }
61276 }
61277
61278 break;
61279
61280 default:
61281 throw new Error("invalid increment argument: " + release);
61282 }
61283
61284 this.format();
61285 this.raw = this.version;
61286 return this;
61287 };
61288
61289 return SemVer;
61290 }();
61291
61292 var semver$9 = SemVer$2;
61293
61294 var MAX_LENGTH$6 = constants$2.MAX_LENGTH;
61295 var re$b = re_1$2.re,
61296 t$i = re_1$2.t;
61297
61298 var parse$5 = function parse(version, options) {
61299 options = parseOptions_1$1(options);
61300
61301 if (version instanceof semver$9) {
61302 return version;
61303 }
61304
61305 if (typeof version !== 'string') {
61306 return null;
61307 }
61308
61309 if (version.length > MAX_LENGTH$6) {
61310 return null;
61311 }
61312
61313 var r = options.loose ? re$b[t$i.LOOSE] : re$b[t$i.FULL];
61314
61315 if (!r.test(version)) {
61316 return null;
61317 }
61318
61319 try {
61320 return new semver$9(version, options);
61321 } catch (er) {
61322 return null;
61323 }
61324 };
61325
61326 var parse_1$2 = parse$5;
61327
61328 var valid$3 = function valid(version, options) {
61329 var v = parse_1$2(version, options);
61330 return v ? v.version : null;
61331 };
61332
61333 var valid_1$1 = valid$3;
61334
61335 var clean$1 = function clean(version, options) {
61336 var s = parse_1$2(version.trim().replace(/^[=v]+/, ''), options);
61337 return s ? s.version : null;
61338 };
61339
61340 var clean_1$1 = clean$1;
61341
61342 var inc$1 = function inc(version, release, options, identifier) {
61343 if (typeof options === 'string') {
61344 identifier = options;
61345 options = undefined;
61346 }
61347
61348 try {
61349 return new semver$9(version, options).inc(release, identifier).version;
61350 } catch (er) {
61351 return null;
61352 }
61353 };
61354
61355 var inc_1$1 = inc$1;
61356
61357 var compare$4 = function compare(a, b, loose) {
61358 return new semver$9(a, loose).compare(new semver$9(b, loose));
61359 };
61360
61361 var compare_1$2 = compare$4;
61362
61363 var eq$2 = function eq(a, b, loose) {
61364 return compare_1$2(a, b, loose) === 0;
61365 };
61366
61367 var eq_1$2 = eq$2;
61368
61369 var diff$1 = function diff(version1, version2) {
61370 if (eq_1$2(version1, version2)) {
61371 return null;
61372 } else {
61373 var v1 = parse_1$2(version1);
61374 var v2 = parse_1$2(version2);
61375 var hasPre = v1.prerelease.length || v2.prerelease.length;
61376 var prefix = hasPre ? 'pre' : '';
61377 var defaultResult = hasPre ? 'prerelease' : '';
61378
61379 for (var key in v1) {
61380 if (key === 'major' || key === 'minor' || key === 'patch') {
61381 if (v1[key] !== v2[key]) {
61382 return prefix + key;
61383 }
61384 }
61385 }
61386
61387 return defaultResult;
61388 }
61389 };
61390
61391 var diff_1$1 = diff$1;
61392
61393 var major$1 = function major(a, loose) {
61394 return new semver$9(a, loose).major;
61395 };
61396
61397 var major_1$1 = major$1;
61398
61399 var minor$1 = function minor(a, loose) {
61400 return new semver$9(a, loose).minor;
61401 };
61402
61403 var minor_1$1 = minor$1;
61404
61405 var patch$1 = function patch(a, loose) {
61406 return new semver$9(a, loose).patch;
61407 };
61408
61409 var patch_1$1 = patch$1;
61410
61411 var prerelease$1 = function prerelease(version, options) {
61412 var parsed = parse_1$2(version, options);
61413 return parsed && parsed.prerelease.length ? parsed.prerelease : null;
61414 };
61415
61416 var prerelease_1$1 = prerelease$1;
61417
61418 var rcompare$1 = function rcompare(a, b, loose) {
61419 return compare_1$2(b, a, loose);
61420 };
61421
61422 var rcompare_1$1 = rcompare$1;
61423
61424 var compareLoose$1 = function compareLoose(a, b) {
61425 return compare_1$2(a, b, true);
61426 };
61427
61428 var compareLoose_1$1 = compareLoose$1;
61429
61430 var compareBuild$1 = function compareBuild(a, b, loose) {
61431 var versionA = new semver$9(a, loose);
61432 var versionB = new semver$9(b, loose);
61433 return versionA.compare(versionB) || versionA.compareBuild(versionB);
61434 };
61435
61436 var compareBuild_1$1 = compareBuild$1;
61437
61438 var sort$1 = function sort(list, loose) {
61439 return list.sort(function (a, b) {
61440 return compareBuild_1$1(a, b, loose);
61441 });
61442 };
61443
61444 var sort_1$1 = sort$1;
61445
61446 var rsort$1 = function rsort(list, loose) {
61447 return list.sort(function (a, b) {
61448 return compareBuild_1$1(b, a, loose);
61449 });
61450 };
61451
61452 var rsort_1$1 = rsort$1;
61453
61454 var gt$2 = function gt(a, b, loose) {
61455 return compare_1$2(a, b, loose) > 0;
61456 };
61457
61458 var gt_1$2 = gt$2;
61459
61460 var lt$2 = function lt(a, b, loose) {
61461 return compare_1$2(a, b, loose) < 0;
61462 };
61463
61464 var lt_1$2 = lt$2;
61465
61466 var neq$2 = function neq(a, b, loose) {
61467 return compare_1$2(a, b, loose) !== 0;
61468 };
61469
61470 var neq_1$2 = neq$2;
61471
61472 var gte$2 = function gte(a, b, loose) {
61473 return compare_1$2(a, b, loose) >= 0;
61474 };
61475
61476 var gte_1$2 = gte$2;
61477
61478 var lte$2 = function lte(a, b, loose) {
61479 return compare_1$2(a, b, loose) <= 0;
61480 };
61481
61482 var lte_1$2 = lte$2;
61483
61484 var cmp$2 = function cmp(a, op, b, loose) {
61485 switch (op) {
61486 case '===':
61487 if (typeof a === 'object') a = a.version;
61488 if (typeof b === 'object') b = b.version;
61489 return a === b;
61490
61491 case '!==':
61492 if (typeof a === 'object') a = a.version;
61493 if (typeof b === 'object') b = b.version;
61494 return a !== b;
61495
61496 case '':
61497 case '=':
61498 case '==':
61499 return eq_1$2(a, b, loose);
61500
61501 case '!=':
61502 return neq_1$2(a, b, loose);
61503
61504 case '>':
61505 return gt_1$2(a, b, loose);
61506
61507 case '>=':
61508 return gte_1$2(a, b, loose);
61509
61510 case '<':
61511 return lt_1$2(a, b, loose);
61512
61513 case '<=':
61514 return lte_1$2(a, b, loose);
61515
61516 default:
61517 throw new TypeError("Invalid operator: " + op);
61518 }
61519 };
61520
61521 var cmp_1$2 = cmp$2;
61522
61523 var re$a = re_1$2.re,
61524 t$h = re_1$2.t;
61525
61526 var coerce$2 = function coerce(version, options) {
61527 if (version instanceof semver$9) {
61528 return version;
61529 }
61530
61531 if (typeof version === 'number') {
61532 version = String(version);
61533 }
61534
61535 if (typeof version !== 'string') {
61536 return null;
61537 }
61538
61539 options = options || {};
61540 var match = null;
61541
61542 if (!options.rtl) {
61543 match = version.match(re$a[t$h.COERCE]);
61544 } else {
61545 var next;
61546
61547 while ((next = re$a[t$h.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
61548 if (!match || next.index + next[0].length !== match.index + match[0].length) {
61549 match = next;
61550 }
61551
61552 re$a[t$h.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
61553 }
61554
61555 re$a[t$h.COERCERTL].lastIndex = -1;
61556 }
61557
61558 if (match === null) return null;
61559 return parse_1$2(match[2] + "." + (match[3] || '0') + "." + (match[4] || '0'), options);
61560 };
61561
61562 var coerce_1$2 = coerce$2;
61563
61564 var iterator$1 = function iterator(Yallist) {
61565 Yallist.prototype[Symbol.iterator] = regenerator.mark(function _callee() {
61566 var walker;
61567 return regenerator.wrap(function _callee$(_context) {
61568 while (1) {
61569 switch (_context.prev = _context.next) {
61570 case 0:
61571 walker = this.head;
61572
61573 case 1:
61574 if (!walker) {
61575 _context.next = 7;
61576 break;
61577 }
61578
61579 _context.next = 4;
61580 return walker.value;
61581
61582 case 4:
61583 walker = walker.next;
61584 _context.next = 1;
61585 break;
61586
61587 case 7:
61588 case "end":
61589 return _context.stop();
61590 }
61591 }
61592 }, _callee, this);
61593 });
61594 };
61595
61596 var yallist$1 = Yallist$1;
61597 Yallist$1.Node = Node$1;
61598 Yallist$1.create = Yallist$1;
61599
61600 function Yallist$1(list) {
61601 var self = this;
61602
61603 if (!(self instanceof Yallist$1)) {
61604 self = new Yallist$1();
61605 }
61606
61607 self.tail = null;
61608 self.head = null;
61609 self.length = 0;
61610
61611 if (list && typeof list.forEach === 'function') {
61612 list.forEach(function (item) {
61613 self.push(item);
61614 });
61615 } else if (arguments.length > 0) {
61616 for (var i = 0, l = arguments.length; i < l; i++) {
61617 self.push(arguments[i]);
61618 }
61619 }
61620
61621 return self;
61622 }
61623
61624 Yallist$1.prototype.removeNode = function (node) {
61625 if (node.list !== this) {
61626 throw new Error('removing node which does not belong to this list');
61627 }
61628
61629 var next = node.next;
61630 var prev = node.prev;
61631
61632 if (next) {
61633 next.prev = prev;
61634 }
61635
61636 if (prev) {
61637 prev.next = next;
61638 }
61639
61640 if (node === this.head) {
61641 this.head = next;
61642 }
61643
61644 if (node === this.tail) {
61645 this.tail = prev;
61646 }
61647
61648 node.list.length--;
61649 node.next = null;
61650 node.prev = null;
61651 node.list = null;
61652 return next;
61653 };
61654
61655 Yallist$1.prototype.unshiftNode = function (node) {
61656 if (node === this.head) {
61657 return;
61658 }
61659
61660 if (node.list) {
61661 node.list.removeNode(node);
61662 }
61663
61664 var head = this.head;
61665 node.list = this;
61666 node.next = head;
61667
61668 if (head) {
61669 head.prev = node;
61670 }
61671
61672 this.head = node;
61673
61674 if (!this.tail) {
61675 this.tail = node;
61676 }
61677
61678 this.length++;
61679 };
61680
61681 Yallist$1.prototype.pushNode = function (node) {
61682 if (node === this.tail) {
61683 return;
61684 }
61685
61686 if (node.list) {
61687 node.list.removeNode(node);
61688 }
61689
61690 var tail = this.tail;
61691 node.list = this;
61692 node.prev = tail;
61693
61694 if (tail) {
61695 tail.next = node;
61696 }
61697
61698 this.tail = node;
61699
61700 if (!this.head) {
61701 this.head = node;
61702 }
61703
61704 this.length++;
61705 };
61706
61707 Yallist$1.prototype.push = function () {
61708 for (var i = 0, l = arguments.length; i < l; i++) {
61709 push$2(this, arguments[i]);
61710 }
61711
61712 return this.length;
61713 };
61714
61715 Yallist$1.prototype.unshift = function () {
61716 for (var i = 0, l = arguments.length; i < l; i++) {
61717 unshift$1(this, arguments[i]);
61718 }
61719
61720 return this.length;
61721 };
61722
61723 Yallist$1.prototype.pop = function () {
61724 if (!this.tail) {
61725 return undefined;
61726 }
61727
61728 var res = this.tail.value;
61729 this.tail = this.tail.prev;
61730
61731 if (this.tail) {
61732 this.tail.next = null;
61733 } else {
61734 this.head = null;
61735 }
61736
61737 this.length--;
61738 return res;
61739 };
61740
61741 Yallist$1.prototype.shift = function () {
61742 if (!this.head) {
61743 return undefined;
61744 }
61745
61746 var res = this.head.value;
61747 this.head = this.head.next;
61748
61749 if (this.head) {
61750 this.head.prev = null;
61751 } else {
61752 this.tail = null;
61753 }
61754
61755 this.length--;
61756 return res;
61757 };
61758
61759 Yallist$1.prototype.forEach = function (fn, thisp) {
61760 thisp = thisp || this;
61761
61762 for (var walker = this.head, i = 0; walker !== null; i++) {
61763 fn.call(thisp, walker.value, i, this);
61764 walker = walker.next;
61765 }
61766 };
61767
61768 Yallist$1.prototype.forEachReverse = function (fn, thisp) {
61769 thisp = thisp || this;
61770
61771 for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
61772 fn.call(thisp, walker.value, i, this);
61773 walker = walker.prev;
61774 }
61775 };
61776
61777 Yallist$1.prototype.get = function (n) {
61778 for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
61779 walker = walker.next;
61780 }
61781
61782 if (i === n && walker !== null) {
61783 return walker.value;
61784 }
61785 };
61786
61787 Yallist$1.prototype.getReverse = function (n) {
61788 for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
61789 walker = walker.prev;
61790 }
61791
61792 if (i === n && walker !== null) {
61793 return walker.value;
61794 }
61795 };
61796
61797 Yallist$1.prototype.map = function (fn, thisp) {
61798 thisp = thisp || this;
61799 var res = new Yallist$1();
61800
61801 for (var walker = this.head; walker !== null;) {
61802 res.push(fn.call(thisp, walker.value, this));
61803 walker = walker.next;
61804 }
61805
61806 return res;
61807 };
61808
61809 Yallist$1.prototype.mapReverse = function (fn, thisp) {
61810 thisp = thisp || this;
61811 var res = new Yallist$1();
61812
61813 for (var walker = this.tail; walker !== null;) {
61814 res.push(fn.call(thisp, walker.value, this));
61815 walker = walker.prev;
61816 }
61817
61818 return res;
61819 };
61820
61821 Yallist$1.prototype.reduce = function (fn, initial) {
61822 var acc;
61823 var walker = this.head;
61824
61825 if (arguments.length > 1) {
61826 acc = initial;
61827 } else if (this.head) {
61828 walker = this.head.next;
61829 acc = this.head.value;
61830 } else {
61831 throw new TypeError('Reduce of empty list with no initial value');
61832 }
61833
61834 for (var i = 0; walker !== null; i++) {
61835 acc = fn(acc, walker.value, i);
61836 walker = walker.next;
61837 }
61838
61839 return acc;
61840 };
61841
61842 Yallist$1.prototype.reduceReverse = function (fn, initial) {
61843 var acc;
61844 var walker = this.tail;
61845
61846 if (arguments.length > 1) {
61847 acc = initial;
61848 } else if (this.tail) {
61849 walker = this.tail.prev;
61850 acc = this.tail.value;
61851 } else {
61852 throw new TypeError('Reduce of empty list with no initial value');
61853 }
61854
61855 for (var i = this.length - 1; walker !== null; i--) {
61856 acc = fn(acc, walker.value, i);
61857 walker = walker.prev;
61858 }
61859
61860 return acc;
61861 };
61862
61863 Yallist$1.prototype.toArray = function () {
61864 var arr = new Array(this.length);
61865
61866 for (var i = 0, walker = this.head; walker !== null; i++) {
61867 arr[i] = walker.value;
61868 walker = walker.next;
61869 }
61870
61871 return arr;
61872 };
61873
61874 Yallist$1.prototype.toArrayReverse = function () {
61875 var arr = new Array(this.length);
61876
61877 for (var i = 0, walker = this.tail; walker !== null; i++) {
61878 arr[i] = walker.value;
61879 walker = walker.prev;
61880 }
61881
61882 return arr;
61883 };
61884
61885 Yallist$1.prototype.slice = function (from, to) {
61886 to = to || this.length;
61887
61888 if (to < 0) {
61889 to += this.length;
61890 }
61891
61892 from = from || 0;
61893
61894 if (from < 0) {
61895 from += this.length;
61896 }
61897
61898 var ret = new Yallist$1();
61899
61900 if (to < from || to < 0) {
61901 return ret;
61902 }
61903
61904 if (from < 0) {
61905 from = 0;
61906 }
61907
61908 if (to > this.length) {
61909 to = this.length;
61910 }
61911
61912 for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
61913 walker = walker.next;
61914 }
61915
61916 for (; walker !== null && i < to; i++, walker = walker.next) {
61917 ret.push(walker.value);
61918 }
61919
61920 return ret;
61921 };
61922
61923 Yallist$1.prototype.sliceReverse = function (from, to) {
61924 to = to || this.length;
61925
61926 if (to < 0) {
61927 to += this.length;
61928 }
61929
61930 from = from || 0;
61931
61932 if (from < 0) {
61933 from += this.length;
61934 }
61935
61936 var ret = new Yallist$1();
61937
61938 if (to < from || to < 0) {
61939 return ret;
61940 }
61941
61942 if (from < 0) {
61943 from = 0;
61944 }
61945
61946 if (to > this.length) {
61947 to = this.length;
61948 }
61949
61950 for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
61951 walker = walker.prev;
61952 }
61953
61954 for (; walker !== null && i > from; i--, walker = walker.prev) {
61955 ret.push(walker.value);
61956 }
61957
61958 return ret;
61959 };
61960
61961 Yallist$1.prototype.splice = function (start, deleteCount) {
61962 if (start > this.length) {
61963 start = this.length - 1;
61964 }
61965
61966 if (start < 0) {
61967 start = this.length + start;
61968 }
61969
61970 for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
61971 walker = walker.next;
61972 }
61973
61974 var ret = [];
61975
61976 for (var i = 0; walker && i < deleteCount; i++) {
61977 ret.push(walker.value);
61978 walker = this.removeNode(walker);
61979 }
61980
61981 if (walker === null) {
61982 walker = this.tail;
61983 }
61984
61985 if (walker !== this.head && walker !== this.tail) {
61986 walker = walker.prev;
61987 }
61988
61989 for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) {
61990 walker = insert$1(this, walker, i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]);
61991 }
61992
61993 return ret;
61994 };
61995
61996 Yallist$1.prototype.reverse = function () {
61997 var head = this.head;
61998 var tail = this.tail;
61999
62000 for (var walker = head; walker !== null; walker = walker.prev) {
62001 var p = walker.prev;
62002 walker.prev = walker.next;
62003 walker.next = p;
62004 }
62005
62006 this.head = tail;
62007 this.tail = head;
62008 return this;
62009 };
62010
62011 function insert$1(self, node, value) {
62012 var inserted = node === self.head ? new Node$1(value, null, node, self) : new Node$1(value, node, node.next, self);
62013
62014 if (inserted.next === null) {
62015 self.tail = inserted;
62016 }
62017
62018 if (inserted.prev === null) {
62019 self.head = inserted;
62020 }
62021
62022 self.length++;
62023 return inserted;
62024 }
62025
62026 function push$2(self, item) {
62027 self.tail = new Node$1(item, self.tail, null, self);
62028
62029 if (!self.head) {
62030 self.head = self.tail;
62031 }
62032
62033 self.length++;
62034 }
62035
62036 function unshift$1(self, item) {
62037 self.head = new Node$1(item, null, self.head, self);
62038
62039 if (!self.tail) {
62040 self.tail = self.head;
62041 }
62042
62043 self.length++;
62044 }
62045
62046 function Node$1(value, prev, next, list) {
62047 if (!(this instanceof Node$1)) {
62048 return new Node$1(value, prev, next, list);
62049 }
62050
62051 this.list = list;
62052 this.value = value;
62053
62054 if (prev) {
62055 prev.next = this;
62056 this.prev = prev;
62057 } else {
62058 this.prev = null;
62059 }
62060
62061 if (next) {
62062 next.prev = this;
62063 this.next = next;
62064 } else {
62065 this.next = null;
62066 }
62067 }
62068
62069 try {
62070 iterator$1(Yallist$1);
62071 } catch (er) {}
62072
62073 var MAX$1 = Symbol('max');
62074 var LENGTH$1 = Symbol('length');
62075 var LENGTH_CALCULATOR$1 = Symbol('lengthCalculator');
62076 var ALLOW_STALE$1 = Symbol('allowStale');
62077 var MAX_AGE$1 = Symbol('maxAge');
62078 var DISPOSE$1 = Symbol('dispose');
62079 var NO_DISPOSE_ON_SET$1 = Symbol('noDisposeOnSet');
62080 var LRU_LIST$1 = Symbol('lruList');
62081 var CACHE$1 = Symbol('cache');
62082 var UPDATE_AGE_ON_GET$1 = Symbol('updateAgeOnGet');
62083
62084 var naiveLength$1 = function naiveLength() {
62085 return 1;
62086 };
62087
62088 var LRUCache$1 = function () {
62089 function LRUCache(options) {
62090 if (typeof options === 'number') options = {
62091 max: options
62092 };
62093 if (!options) options = {};
62094 if (options.max && (typeof options.max !== 'number' || options.max < 0)) throw new TypeError('max must be a non-negative number');
62095 this[MAX$1] = options.max || Infinity;
62096 var lc = options.length || naiveLength$1;
62097 this[LENGTH_CALCULATOR$1] = typeof lc !== 'function' ? naiveLength$1 : lc;
62098 this[ALLOW_STALE$1] = options.stale || false;
62099 if (options.maxAge && typeof options.maxAge !== 'number') throw new TypeError('maxAge must be a number');
62100 this[MAX_AGE$1] = options.maxAge || 0;
62101 this[DISPOSE$1] = options.dispose;
62102 this[NO_DISPOSE_ON_SET$1] = options.noDisposeOnSet || false;
62103 this[UPDATE_AGE_ON_GET$1] = options.updateAgeOnGet || false;
62104 this.reset();
62105 }
62106
62107 var _proto = LRUCache.prototype;
62108
62109 _proto.rforEach = function rforEach(fn, thisp) {
62110 thisp = thisp || this;
62111
62112 for (var walker = this[LRU_LIST$1].tail; walker !== null;) {
62113 var prev = walker.prev;
62114 forEachStep$1(this, fn, walker, thisp);
62115 walker = prev;
62116 }
62117 };
62118
62119 _proto.forEach = function forEach(fn, thisp) {
62120 thisp = thisp || this;
62121
62122 for (var walker = this[LRU_LIST$1].head; walker !== null;) {
62123 var next = walker.next;
62124 forEachStep$1(this, fn, walker, thisp);
62125 walker = next;
62126 }
62127 };
62128
62129 _proto.keys = function keys() {
62130 return this[LRU_LIST$1].toArray().map(function (k) {
62131 return k.key;
62132 });
62133 };
62134
62135 _proto.values = function values() {
62136 return this[LRU_LIST$1].toArray().map(function (k) {
62137 return k.value;
62138 });
62139 };
62140
62141 _proto.reset = function reset() {
62142 var _this = this;
62143
62144 if (this[DISPOSE$1] && this[LRU_LIST$1] && this[LRU_LIST$1].length) {
62145 this[LRU_LIST$1].forEach(function (hit) {
62146 return _this[DISPOSE$1](hit.key, hit.value);
62147 });
62148 }
62149
62150 this[CACHE$1] = new Map();
62151 this[LRU_LIST$1] = new yallist$1();
62152 this[LENGTH$1] = 0;
62153 };
62154
62155 _proto.dump = function dump() {
62156 var _this2 = this;
62157
62158 return this[LRU_LIST$1].map(function (hit) {
62159 return isStale$1(_this2, hit) ? false : {
62160 k: hit.key,
62161 v: hit.value,
62162 e: hit.now + (hit.maxAge || 0)
62163 };
62164 }).toArray().filter(function (h) {
62165 return h;
62166 });
62167 };
62168
62169 _proto.dumpLru = function dumpLru() {
62170 return this[LRU_LIST$1];
62171 };
62172
62173 _proto.set = function set(key, value, maxAge) {
62174 maxAge = maxAge || this[MAX_AGE$1];
62175 if (maxAge && typeof maxAge !== 'number') throw new TypeError('maxAge must be a number');
62176 var now = maxAge ? Date.now() : 0;
62177 var len = this[LENGTH_CALCULATOR$1](value, key);
62178
62179 if (this[CACHE$1].has(key)) {
62180 if (len > this[MAX$1]) {
62181 _del$1(this, this[CACHE$1].get(key));
62182
62183 return false;
62184 }
62185
62186 var node = this[CACHE$1].get(key);
62187 var item = node.value;
62188
62189 if (this[DISPOSE$1]) {
62190 if (!this[NO_DISPOSE_ON_SET$1]) this[DISPOSE$1](key, item.value);
62191 }
62192
62193 item.now = now;
62194 item.maxAge = maxAge;
62195 item.value = value;
62196 this[LENGTH$1] += len - item.length;
62197 item.length = len;
62198 this.get(key);
62199 trim$1(this);
62200 return true;
62201 }
62202
62203 var hit = new Entry$2(key, value, len, now, maxAge);
62204
62205 if (hit.length > this[MAX$1]) {
62206 if (this[DISPOSE$1]) this[DISPOSE$1](key, value);
62207 return false;
62208 }
62209
62210 this[LENGTH$1] += hit.length;
62211 this[LRU_LIST$1].unshift(hit);
62212 this[CACHE$1].set(key, this[LRU_LIST$1].head);
62213 trim$1(this);
62214 return true;
62215 };
62216
62217 _proto.has = function has(key) {
62218 if (!this[CACHE$1].has(key)) return false;
62219 var hit = this[CACHE$1].get(key).value;
62220 return !isStale$1(this, hit);
62221 };
62222
62223 _proto.get = function get(key) {
62224 return _get$1(this, key, true);
62225 };
62226
62227 _proto.peek = function peek(key) {
62228 return _get$1(this, key, false);
62229 };
62230
62231 _proto.pop = function pop() {
62232 var node = this[LRU_LIST$1].tail;
62233 if (!node) return null;
62234
62235 _del$1(this, node);
62236
62237 return node.value;
62238 };
62239
62240 _proto.del = function del(key) {
62241 _del$1(this, this[CACHE$1].get(key));
62242 };
62243
62244 _proto.load = function load(arr) {
62245 this.reset();
62246 var now = Date.now();
62247
62248 for (var l = arr.length - 1; l >= 0; l--) {
62249 var hit = arr[l];
62250 var expiresAt = hit.e || 0;
62251 if (expiresAt === 0) this.set(hit.k, hit.v);else {
62252 var maxAge = expiresAt - now;
62253
62254 if (maxAge > 0) {
62255 this.set(hit.k, hit.v, maxAge);
62256 }
62257 }
62258 }
62259 };
62260
62261 _proto.prune = function prune() {
62262 var _this3 = this;
62263
62264 this[CACHE$1].forEach(function (value, key) {
62265 return _get$1(_this3, key, false);
62266 });
62267 };
62268
62269 _createClass(LRUCache, [{
62270 key: "max",
62271 get: function get() {
62272 return this[MAX$1];
62273 },
62274 set: function set(mL) {
62275 if (typeof mL !== 'number' || mL < 0) throw new TypeError('max must be a non-negative number');
62276 this[MAX$1] = mL || Infinity;
62277 trim$1(this);
62278 }
62279 }, {
62280 key: "allowStale",
62281 get: function get() {
62282 return this[ALLOW_STALE$1];
62283 },
62284 set: function set(allowStale) {
62285 this[ALLOW_STALE$1] = !!allowStale;
62286 }
62287 }, {
62288 key: "maxAge",
62289 get: function get() {
62290 return this[MAX_AGE$1];
62291 },
62292 set: function set(mA) {
62293 if (typeof mA !== 'number') throw new TypeError('maxAge must be a non-negative number');
62294 this[MAX_AGE$1] = mA;
62295 trim$1(this);
62296 }
62297 }, {
62298 key: "lengthCalculator",
62299 get: function get() {
62300 return this[LENGTH_CALCULATOR$1];
62301 },
62302 set: function set(lC) {
62303 var _this4 = this;
62304
62305 if (typeof lC !== 'function') lC = naiveLength$1;
62306
62307 if (lC !== this[LENGTH_CALCULATOR$1]) {
62308 this[LENGTH_CALCULATOR$1] = lC;
62309 this[LENGTH$1] = 0;
62310 this[LRU_LIST$1].forEach(function (hit) {
62311 hit.length = _this4[LENGTH_CALCULATOR$1](hit.value, hit.key);
62312 _this4[LENGTH$1] += hit.length;
62313 });
62314 }
62315
62316 trim$1(this);
62317 }
62318 }, {
62319 key: "length",
62320 get: function get() {
62321 return this[LENGTH$1];
62322 }
62323 }, {
62324 key: "itemCount",
62325 get: function get() {
62326 return this[LRU_LIST$1].length;
62327 }
62328 }]);
62329
62330 return LRUCache;
62331 }();
62332
62333 var _get$1 = function _get(self, key, doUse) {
62334 var node = self[CACHE$1].get(key);
62335
62336 if (node) {
62337 var hit = node.value;
62338
62339 if (isStale$1(self, hit)) {
62340 _del$1(self, node);
62341
62342 if (!self[ALLOW_STALE$1]) return undefined;
62343 } else {
62344 if (doUse) {
62345 if (self[UPDATE_AGE_ON_GET$1]) node.value.now = Date.now();
62346 self[LRU_LIST$1].unshiftNode(node);
62347 }
62348 }
62349
62350 return hit.value;
62351 }
62352 };
62353
62354 var isStale$1 = function isStale(self, hit) {
62355 if (!hit || !hit.maxAge && !self[MAX_AGE$1]) return false;
62356 var diff = Date.now() - hit.now;
62357 return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE$1] && diff > self[MAX_AGE$1];
62358 };
62359
62360 var trim$1 = function trim(self) {
62361 if (self[LENGTH$1] > self[MAX$1]) {
62362 for (var walker = self[LRU_LIST$1].tail; self[LENGTH$1] > self[MAX$1] && walker !== null;) {
62363 var prev = walker.prev;
62364
62365 _del$1(self, walker);
62366
62367 walker = prev;
62368 }
62369 }
62370 };
62371
62372 var _del$1 = function _del(self, node) {
62373 if (node) {
62374 var hit = node.value;
62375 if (self[DISPOSE$1]) self[DISPOSE$1](hit.key, hit.value);
62376 self[LENGTH$1] -= hit.length;
62377 self[CACHE$1]["delete"](hit.key);
62378 self[LRU_LIST$1].removeNode(node);
62379 }
62380 };
62381
62382 var Entry$2 = function Entry(key, value, length, now, maxAge) {
62383 this.key = key;
62384 this.value = value;
62385 this.length = length;
62386 this.now = now;
62387 this.maxAge = maxAge || 0;
62388 };
62389
62390 var forEachStep$1 = function forEachStep(self, fn, node, thisp) {
62391 var hit = node.value;
62392
62393 if (isStale$1(self, hit)) {
62394 _del$1(self, node);
62395
62396 if (!self[ALLOW_STALE$1]) hit = undefined;
62397 }
62398
62399 if (hit) fn.call(thisp, hit.value, hit.key, self);
62400 };
62401
62402 var lruCache$1 = LRUCache$1;
62403
62404 var Range$1 = function () {
62405 function Range(range, options) {
62406 var _this = this;
62407
62408 options = parseOptions_1$1(options);
62409
62410 if (range instanceof Range) {
62411 if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
62412 return range;
62413 } else {
62414 return new Range(range.raw, options);
62415 }
62416 }
62417
62418 if (range instanceof comparator$1) {
62419 this.raw = range.value;
62420 this.set = [[range]];
62421 this.format();
62422 return this;
62423 }
62424
62425 this.options = options;
62426 this.loose = !!options.loose;
62427 this.includePrerelease = !!options.includePrerelease;
62428 this.raw = range;
62429 this.set = range.split(/\s*\|\|\s*/).map(function (range) {
62430 return _this.parseRange(range.trim());
62431 }).filter(function (c) {
62432 return c.length;
62433 });
62434
62435 if (!this.set.length) {
62436 throw new TypeError("Invalid SemVer Range: " + range);
62437 }
62438
62439 if (this.set.length > 1) {
62440 var first = this.set[0];
62441 this.set = this.set.filter(function (c) {
62442 return !isNullSet$1(c[0]);
62443 });
62444 if (this.set.length === 0) this.set = [first];else if (this.set.length > 1) {
62445 for (var _iterator = _createForOfIteratorHelperLoose(this.set), _step; !(_step = _iterator()).done;) {
62446 var c = _step.value;
62447
62448 if (c.length === 1 && isAny$1(c[0])) {
62449 this.set = [c];
62450 break;
62451 }
62452 }
62453 }
62454 }
62455
62456 this.format();
62457 }
62458
62459 var _proto = Range.prototype;
62460
62461 _proto.format = function format() {
62462 this.range = this.set.map(function (comps) {
62463 return comps.join(' ').trim();
62464 }).join('||').trim();
62465 return this.range;
62466 };
62467
62468 _proto.toString = function toString() {
62469 return this.range;
62470 };
62471
62472 _proto.parseRange = function parseRange(range) {
62473 var _this2 = this;
62474
62475 range = range.trim();
62476 var memoOpts = Object.keys(this.options).join(',');
62477 var memoKey = "parseRange:" + memoOpts + ":" + range;
62478 var cached = cache$1.get(memoKey);
62479 if (cached) return cached;
62480 var loose = this.options.loose;
62481 var hr = loose ? re$9[t$g.HYPHENRANGELOOSE] : re$9[t$g.HYPHENRANGE];
62482 range = range.replace(hr, hyphenReplace$1(this.options.includePrerelease));
62483 debug_1$2('hyphen replace', range);
62484 range = range.replace(re$9[t$g.COMPARATORTRIM], comparatorTrimReplace$1);
62485 debug_1$2('comparator trim', range, re$9[t$g.COMPARATORTRIM]);
62486 range = range.replace(re$9[t$g.TILDETRIM], tildeTrimReplace$1);
62487 range = range.replace(re$9[t$g.CARETTRIM], caretTrimReplace$1);
62488 range = range.split(/\s+/).join(' ');
62489 var compRe = loose ? re$9[t$g.COMPARATORLOOSE] : re$9[t$g.COMPARATOR];
62490 var rangeList = range.split(' ').map(function (comp) {
62491 return parseComparator$1(comp, _this2.options);
62492 }).join(' ').split(/\s+/).map(function (comp) {
62493 return replaceGTE0$1(comp, _this2.options);
62494 }).filter(this.options.loose ? function (comp) {
62495 return !!comp.match(compRe);
62496 } : function () {
62497 return true;
62498 }).map(function (comp) {
62499 return new comparator$1(comp, _this2.options);
62500 });
62501 rangeList.length;
62502 var rangeMap = new Map();
62503
62504 for (var _iterator2 = _createForOfIteratorHelperLoose(rangeList), _step2; !(_step2 = _iterator2()).done;) {
62505 var comp = _step2.value;
62506 if (isNullSet$1(comp)) return [comp];
62507 rangeMap.set(comp.value, comp);
62508 }
62509
62510 if (rangeMap.size > 1 && rangeMap.has('')) rangeMap["delete"]('');
62511
62512 var result = _toConsumableArray(rangeMap.values());
62513
62514 cache$1.set(memoKey, result);
62515 return result;
62516 };
62517
62518 _proto.intersects = function intersects(range, options) {
62519 if (!(range instanceof Range)) {
62520 throw new TypeError('a Range is required');
62521 }
62522
62523 return this.set.some(function (thisComparators) {
62524 return isSatisfiable$1(thisComparators, options) && range.set.some(function (rangeComparators) {
62525 return isSatisfiable$1(rangeComparators, options) && thisComparators.every(function (thisComparator) {
62526 return rangeComparators.every(function (rangeComparator) {
62527 return thisComparator.intersects(rangeComparator, options);
62528 });
62529 });
62530 });
62531 });
62532 };
62533
62534 _proto.test = function test(version) {
62535 if (!version) {
62536 return false;
62537 }
62538
62539 if (typeof version === 'string') {
62540 try {
62541 version = new semver$9(version, this.options);
62542 } catch (er) {
62543 return false;
62544 }
62545 }
62546
62547 for (var i = 0; i < this.set.length; i++) {
62548 if (testSet$1(this.set[i], version, this.options)) {
62549 return true;
62550 }
62551 }
62552
62553 return false;
62554 };
62555
62556 return Range;
62557 }();
62558
62559 var range$1 = Range$1;
62560 var cache$1 = new lruCache$1({
62561 max: 1000
62562 });
62563 var re$9 = re_1$2.re,
62564 t$g = re_1$2.t,
62565 comparatorTrimReplace$1 = re_1$2.comparatorTrimReplace,
62566 tildeTrimReplace$1 = re_1$2.tildeTrimReplace,
62567 caretTrimReplace$1 = re_1$2.caretTrimReplace;
62568
62569 var isNullSet$1 = function isNullSet(c) {
62570 return c.value === '<0.0.0-0';
62571 };
62572
62573 var isAny$1 = function isAny(c) {
62574 return c.value === '';
62575 };
62576
62577 var isSatisfiable$1 = function isSatisfiable(comparators, options) {
62578 var result = true;
62579 var remainingComparators = comparators.slice();
62580 var testComparator = remainingComparators.pop();
62581
62582 while (result && remainingComparators.length) {
62583 result = remainingComparators.every(function (otherComparator) {
62584 return testComparator.intersects(otherComparator, options);
62585 });
62586 testComparator = remainingComparators.pop();
62587 }
62588
62589 return result;
62590 };
62591
62592 var parseComparator$1 = function parseComparator(comp, options) {
62593 debug_1$2('comp', comp, options);
62594 comp = replaceCarets$1(comp, options);
62595 debug_1$2('caret', comp);
62596 comp = replaceTildes$1(comp, options);
62597 debug_1$2('tildes', comp);
62598 comp = replaceXRanges$1(comp, options);
62599 debug_1$2('xrange', comp);
62600 comp = replaceStars$1(comp, options);
62601 debug_1$2('stars', comp);
62602 return comp;
62603 };
62604
62605 var isX$1 = function isX(id) {
62606 return !id || id.toLowerCase() === 'x' || id === '*';
62607 };
62608
62609 var replaceTildes$1 = function replaceTildes(comp, options) {
62610 return comp.trim().split(/\s+/).map(function (comp) {
62611 return replaceTilde$1(comp, options);
62612 }).join(' ');
62613 };
62614
62615 var replaceTilde$1 = function replaceTilde(comp, options) {
62616 var r = options.loose ? re$9[t$g.TILDELOOSE] : re$9[t$g.TILDE];
62617 return comp.replace(r, function (_, M, m, p, pr) {
62618 debug_1$2('tilde', comp, _, M, m, p, pr);
62619 var ret;
62620
62621 if (isX$1(M)) {
62622 ret = '';
62623 } else if (isX$1(m)) {
62624 ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0-0";
62625 } else if (isX$1(p)) {
62626 ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0-0";
62627 } else if (pr) {
62628 debug_1$2('replaceTilde pr', pr);
62629 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0-0";
62630 } else {
62631 ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0-0";
62632 }
62633
62634 debug_1$2('tilde return', ret);
62635 return ret;
62636 });
62637 };
62638
62639 var replaceCarets$1 = function replaceCarets(comp, options) {
62640 return comp.trim().split(/\s+/).map(function (comp) {
62641 return replaceCaret$1(comp, options);
62642 }).join(' ');
62643 };
62644
62645 var replaceCaret$1 = function replaceCaret(comp, options) {
62646 debug_1$2('caret', comp, options);
62647 var r = options.loose ? re$9[t$g.CARETLOOSE] : re$9[t$g.CARET];
62648 var z = options.includePrerelease ? '-0' : '';
62649 return comp.replace(r, function (_, M, m, p, pr) {
62650 debug_1$2('caret', comp, _, M, m, p, pr);
62651 var ret;
62652
62653 if (isX$1(M)) {
62654 ret = '';
62655 } else if (isX$1(m)) {
62656 ret = ">=" + M + ".0.0" + z + " <" + (+M + 1) + ".0.0-0";
62657 } else if (isX$1(p)) {
62658 if (M === '0') {
62659 ret = ">=" + M + "." + m + ".0" + z + " <" + M + "." + (+m + 1) + ".0-0";
62660 } else {
62661 ret = ">=" + M + "." + m + ".0" + z + " <" + (+M + 1) + ".0.0-0";
62662 }
62663 } else if (pr) {
62664 debug_1$2('replaceCaret pr', pr);
62665
62666 if (M === '0') {
62667 if (m === '0') {
62668 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1) + "-0";
62669 } else {
62670 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0-0";
62671 }
62672 } else {
62673 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0-0";
62674 }
62675 } else {
62676 debug_1$2('no pr');
62677
62678 if (M === '0') {
62679 if (m === '0') {
62680 ret = ">=" + M + "." + m + "." + p + z + " <" + M + "." + m + "." + (+p + 1) + "-0";
62681 } else {
62682 ret = ">=" + M + "." + m + "." + p + z + " <" + M + "." + (+m + 1) + ".0-0";
62683 }
62684 } else {
62685 ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0-0";
62686 }
62687 }
62688
62689 debug_1$2('caret return', ret);
62690 return ret;
62691 });
62692 };
62693
62694 var replaceXRanges$1 = function replaceXRanges(comp, options) {
62695 debug_1$2('replaceXRanges', comp, options);
62696 return comp.split(/\s+/).map(function (comp) {
62697 return replaceXRange$1(comp, options);
62698 }).join(' ');
62699 };
62700
62701 var replaceXRange$1 = function replaceXRange(comp, options) {
62702 comp = comp.trim();
62703 var r = options.loose ? re$9[t$g.XRANGELOOSE] : re$9[t$g.XRANGE];
62704 return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
62705 debug_1$2('xRange', comp, ret, gtlt, M, m, p, pr);
62706 var xM = isX$1(M);
62707 var xm = xM || isX$1(m);
62708 var xp = xm || isX$1(p);
62709 var anyX = xp;
62710
62711 if (gtlt === '=' && anyX) {
62712 gtlt = '';
62713 }
62714
62715 pr = options.includePrerelease ? '-0' : '';
62716
62717 if (xM) {
62718 if (gtlt === '>' || gtlt === '<') {
62719 ret = '<0.0.0-0';
62720 } else {
62721 ret = '*';
62722 }
62723 } else if (gtlt && anyX) {
62724 if (xm) {
62725 m = 0;
62726 }
62727
62728 p = 0;
62729
62730 if (gtlt === '>') {
62731 gtlt = '>=';
62732
62733 if (xm) {
62734 M = +M + 1;
62735 m = 0;
62736 p = 0;
62737 } else {
62738 m = +m + 1;
62739 p = 0;
62740 }
62741 } else if (gtlt === '<=') {
62742 gtlt = '<';
62743
62744 if (xm) {
62745 M = +M + 1;
62746 } else {
62747 m = +m + 1;
62748 }
62749 }
62750
62751 if (gtlt === '<') pr = '-0';
62752 ret = gtlt + M + "." + m + "." + p + pr;
62753 } else if (xm) {
62754 ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0-0";
62755 } else if (xp) {
62756 ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0-0";
62757 }
62758
62759 debug_1$2('xRange return', ret);
62760 return ret;
62761 });
62762 };
62763
62764 var replaceStars$1 = function replaceStars(comp, options) {
62765 debug_1$2('replaceStars', comp, options);
62766 return comp.trim().replace(re$9[t$g.STAR], '');
62767 };
62768
62769 var replaceGTE0$1 = function replaceGTE0(comp, options) {
62770 debug_1$2('replaceGTE0', comp, options);
62771 return comp.trim().replace(re$9[options.includePrerelease ? t$g.GTE0PRE : t$g.GTE0], '');
62772 };
62773
62774 var hyphenReplace$1 = function hyphenReplace(incPr) {
62775 return function ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
62776 if (isX$1(fM)) {
62777 from = '';
62778 } else if (isX$1(fm)) {
62779 from = ">=" + fM + ".0.0" + (incPr ? '-0' : '');
62780 } else if (isX$1(fp)) {
62781 from = ">=" + fM + "." + fm + ".0" + (incPr ? '-0' : '');
62782 } else if (fpr) {
62783 from = ">=" + from;
62784 } else {
62785 from = ">=" + from + (incPr ? '-0' : '');
62786 }
62787
62788 if (isX$1(tM)) {
62789 to = '';
62790 } else if (isX$1(tm)) {
62791 to = "<" + (+tM + 1) + ".0.0-0";
62792 } else if (isX$1(tp)) {
62793 to = "<" + tM + "." + (+tm + 1) + ".0-0";
62794 } else if (tpr) {
62795 to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
62796 } else if (incPr) {
62797 to = "<" + tM + "." + tm + "." + (+tp + 1) + "-0";
62798 } else {
62799 to = "<=" + to;
62800 }
62801
62802 return (from + " " + to).trim();
62803 };
62804 };
62805
62806 var testSet$1 = function testSet(set, version, options) {
62807 for (var i = 0; i < set.length; i++) {
62808 if (!set[i].test(version)) {
62809 return false;
62810 }
62811 }
62812
62813 if (version.prerelease.length && !options.includePrerelease) {
62814 for (var _i = 0; _i < set.length; _i++) {
62815 debug_1$2(set[_i].semver);
62816
62817 if (set[_i].semver === comparator$1.ANY) {
62818 continue;
62819 }
62820
62821 if (set[_i].semver.prerelease.length > 0) {
62822 var allowed = set[_i].semver;
62823
62824 if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
62825 return true;
62826 }
62827 }
62828 }
62829
62830 return false;
62831 }
62832
62833 return true;
62834 };
62835
62836 var ANY$5 = Symbol('SemVer ANY');
62837
62838 var Comparator$1 = function () {
62839 function Comparator(comp, options) {
62840 options = parseOptions_1$1(options);
62841
62842 if (comp instanceof Comparator) {
62843 if (comp.loose === !!options.loose) {
62844 return comp;
62845 } else {
62846 comp = comp.value;
62847 }
62848 }
62849
62850 debug_1$2('comparator', comp, options);
62851 this.options = options;
62852 this.loose = !!options.loose;
62853 this.parse(comp);
62854
62855 if (this.semver === ANY$5) {
62856 this.value = '';
62857 } else {
62858 this.value = this.operator + this.semver.version;
62859 }
62860
62861 debug_1$2('comp', this);
62862 }
62863
62864 var _proto = Comparator.prototype;
62865
62866 _proto.parse = function parse(comp) {
62867 var r = this.options.loose ? re$8[t$f.COMPARATORLOOSE] : re$8[t$f.COMPARATOR];
62868 var m = comp.match(r);
62869
62870 if (!m) {
62871 throw new TypeError("Invalid comparator: " + comp);
62872 }
62873
62874 this.operator = m[1] !== undefined ? m[1] : '';
62875
62876 if (this.operator === '=') {
62877 this.operator = '';
62878 }
62879
62880 if (!m[2]) {
62881 this.semver = ANY$5;
62882 } else {
62883 this.semver = new semver$9(m[2], this.options.loose);
62884 }
62885 };
62886
62887 _proto.toString = function toString() {
62888 return this.value;
62889 };
62890
62891 _proto.test = function test(version) {
62892 debug_1$2('Comparator.test', version, this.options.loose);
62893
62894 if (this.semver === ANY$5 || version === ANY$5) {
62895 return true;
62896 }
62897
62898 if (typeof version === 'string') {
62899 try {
62900 version = new semver$9(version, this.options);
62901 } catch (er) {
62902 return false;
62903 }
62904 }
62905
62906 return cmp_1$2(version, this.operator, this.semver, this.options);
62907 };
62908
62909 _proto.intersects = function intersects(comp, options) {
62910 if (!(comp instanceof Comparator)) {
62911 throw new TypeError('a Comparator is required');
62912 }
62913
62914 if (!options || typeof options !== 'object') {
62915 options = {
62916 loose: !!options,
62917 includePrerelease: false
62918 };
62919 }
62920
62921 if (this.operator === '') {
62922 if (this.value === '') {
62923 return true;
62924 }
62925
62926 return new range$1(comp.value, options).test(this.value);
62927 } else if (comp.operator === '') {
62928 if (comp.value === '') {
62929 return true;
62930 }
62931
62932 return new range$1(this.value, options).test(comp.semver);
62933 }
62934
62935 var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
62936 var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
62937 var sameSemVer = this.semver.version === comp.semver.version;
62938 var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
62939 var oppositeDirectionsLessThan = cmp_1$2(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
62940 var oppositeDirectionsGreaterThan = cmp_1$2(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
62941 return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
62942 };
62943
62944 _createClass(Comparator, null, [{
62945 key: "ANY",
62946 get: function get() {
62947 return ANY$5;
62948 }
62949 }]);
62950
62951 return Comparator;
62952 }();
62953
62954 var comparator$1 = Comparator$1;
62955 var re$8 = re_1$2.re,
62956 t$f = re_1$2.t;
62957
62958 var satisfies$1 = function satisfies(version, range, options) {
62959 try {
62960 range = new range$1(range, options);
62961 } catch (er) {
62962 return false;
62963 }
62964
62965 return range.test(version);
62966 };
62967
62968 var satisfies_1$1 = satisfies$1;
62969
62970 var toComparators$1 = function toComparators(range, options) {
62971 return new range$1(range, options).set.map(function (comp) {
62972 return comp.map(function (c) {
62973 return c.value;
62974 }).join(' ').trim().split(' ');
62975 });
62976 };
62977
62978 var toComparators_1$1 = toComparators$1;
62979
62980 var maxSatisfying$1 = function maxSatisfying(versions, range, options) {
62981 var max = null;
62982 var maxSV = null;
62983 var rangeObj = null;
62984
62985 try {
62986 rangeObj = new range$1(range, options);
62987 } catch (er) {
62988 return null;
62989 }
62990
62991 versions.forEach(function (v) {
62992 if (rangeObj.test(v)) {
62993 if (!max || maxSV.compare(v) === -1) {
62994 max = v;
62995 maxSV = new semver$9(max, options);
62996 }
62997 }
62998 });
62999 return max;
63000 };
63001
63002 var maxSatisfying_1$1 = maxSatisfying$1;
63003
63004 var minSatisfying$1 = function minSatisfying(versions, range, options) {
63005 var min = null;
63006 var minSV = null;
63007 var rangeObj = null;
63008
63009 try {
63010 rangeObj = new range$1(range, options);
63011 } catch (er) {
63012 return null;
63013 }
63014
63015 versions.forEach(function (v) {
63016 if (rangeObj.test(v)) {
63017 if (!min || minSV.compare(v) === 1) {
63018 min = v;
63019 minSV = new semver$9(min, options);
63020 }
63021 }
63022 });
63023 return min;
63024 };
63025
63026 var minSatisfying_1$1 = minSatisfying$1;
63027
63028 var minVersion$1 = function minVersion(range, loose) {
63029 range = new range$1(range, loose);
63030 var minver = new semver$9('0.0.0');
63031
63032 if (range.test(minver)) {
63033 return minver;
63034 }
63035
63036 minver = new semver$9('0.0.0-0');
63037
63038 if (range.test(minver)) {
63039 return minver;
63040 }
63041
63042 minver = null;
63043
63044 var _loop = function _loop(i) {
63045 var comparators = range.set[i];
63046 var setMin = null;
63047 comparators.forEach(function (comparator) {
63048 var compver = new semver$9(comparator.semver.version);
63049
63050 switch (comparator.operator) {
63051 case '>':
63052 if (compver.prerelease.length === 0) {
63053 compver.patch++;
63054 } else {
63055 compver.prerelease.push(0);
63056 }
63057
63058 compver.raw = compver.format();
63059
63060 case '':
63061 case '>=':
63062 if (!setMin || gt_1$2(compver, setMin)) {
63063 setMin = compver;
63064 }
63065
63066 break;
63067
63068 case '<':
63069 case '<=':
63070 break;
63071
63072 default:
63073 throw new Error("Unexpected operation: " + comparator.operator);
63074 }
63075 });
63076 if (setMin && (!minver || gt_1$2(minver, setMin))) minver = setMin;
63077 };
63078
63079 for (var i = 0; i < range.set.length; ++i) {
63080 _loop(i);
63081 }
63082
63083 if (minver && range.test(minver)) {
63084 return minver;
63085 }
63086
63087 return null;
63088 };
63089
63090 var minVersion_1$1 = minVersion$1;
63091
63092 var validRange$1 = function validRange(range, options) {
63093 try {
63094 return new range$1(range, options).range || '*';
63095 } catch (er) {
63096 return null;
63097 }
63098 };
63099
63100 var valid$2 = validRange$1;
63101
63102 var ANY$4 = comparator$1.ANY;
63103
63104 var outside$1 = function outside(version, range, hilo, options) {
63105 version = new semver$9(version, options);
63106 range = new range$1(range, options);
63107 var gtfn, ltefn, ltfn, comp, ecomp;
63108
63109 switch (hilo) {
63110 case '>':
63111 gtfn = gt_1$2;
63112 ltefn = lte_1$2;
63113 ltfn = lt_1$2;
63114 comp = '>';
63115 ecomp = '>=';
63116 break;
63117
63118 case '<':
63119 gtfn = lt_1$2;
63120 ltefn = gte_1$2;
63121 ltfn = gt_1$2;
63122 comp = '<';
63123 ecomp = '<=';
63124 break;
63125
63126 default:
63127 throw new TypeError('Must provide a hilo val of "<" or ">"');
63128 }
63129
63130 if (satisfies_1$1(version, range, options)) {
63131 return false;
63132 }
63133
63134 var _loop = function _loop(i) {
63135 var comparators = range.set[i];
63136 var high = null;
63137 var low = null;
63138 comparators.forEach(function (comparator) {
63139 if (comparator.semver === ANY$4) {
63140 comparator = new comparator$1('>=0.0.0');
63141 }
63142
63143 high = high || comparator;
63144 low = low || comparator;
63145
63146 if (gtfn(comparator.semver, high.semver, options)) {
63147 high = comparator;
63148 } else if (ltfn(comparator.semver, low.semver, options)) {
63149 low = comparator;
63150 }
63151 });
63152
63153 if (high.operator === comp || high.operator === ecomp) {
63154 return {
63155 v: false
63156 };
63157 }
63158
63159 if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
63160 return {
63161 v: false
63162 };
63163 } else if (low.operator === ecomp && ltfn(version, low.semver)) {
63164 return {
63165 v: false
63166 };
63167 }
63168 };
63169
63170 for (var i = 0; i < range.set.length; ++i) {
63171 var _ret = _loop(i);
63172
63173 if (typeof _ret === "object") return _ret.v;
63174 }
63175
63176 return true;
63177 };
63178
63179 var outside_1$1 = outside$1;
63180
63181 var gtr$1 = function gtr(version, range, options) {
63182 return outside_1$1(version, range, '>', options);
63183 };
63184
63185 var gtr_1$1 = gtr$1;
63186
63187 var ltr$1 = function ltr(version, range, options) {
63188 return outside_1$1(version, range, '<', options);
63189 };
63190
63191 var ltr_1$1 = ltr$1;
63192
63193 var intersects$1 = function intersects(r1, r2, options) {
63194 r1 = new range$1(r1, options);
63195 r2 = new range$1(r2, options);
63196 return r1.intersects(r2);
63197 };
63198
63199 var intersects_1$1 = intersects$1;
63200
63201 var simplify$1 = function simplify(versions, range, options) {
63202 var set = [];
63203 var min = null;
63204 var prev = null;
63205 var v = versions.sort(function (a, b) {
63206 return compare_1$2(a, b, options);
63207 });
63208
63209 for (var _iterator = _createForOfIteratorHelperLoose(v), _step; !(_step = _iterator()).done;) {
63210 var version = _step.value;
63211 var included = satisfies_1$1(version, range, options);
63212
63213 if (included) {
63214 prev = version;
63215 if (!min) min = version;
63216 } else {
63217 if (prev) {
63218 set.push([min, prev]);
63219 }
63220
63221 prev = null;
63222 min = null;
63223 }
63224 }
63225
63226 if (min) set.push([min, null]);
63227 var ranges = [];
63228
63229 for (var _i = 0, _set = set; _i < _set.length; _i++) {
63230 var _set$_i = _slicedToArray$2(_set[_i], 2),
63231 _min = _set$_i[0],
63232 max = _set$_i[1];
63233
63234 if (_min === max) ranges.push(_min);else if (!max && _min === v[0]) ranges.push('*');else if (!max) ranges.push(">=" + _min);else if (_min === v[0]) ranges.push("<=" + max);else ranges.push(_min + " - " + max);
63235 }
63236
63237 var simplified = ranges.join(' || ');
63238 var original = typeof range.raw === 'string' ? range.raw : String(range);
63239 return simplified.length < original.length ? simplified : range;
63240 };
63241
63242 var ANY$3 = comparator$1.ANY;
63243
63244 var subset$1 = function subset(sub, dom, options) {
63245 if (sub === dom) return true;
63246 sub = new range$1(sub, options);
63247 dom = new range$1(dom, options);
63248 var sawNonNull = false;
63249
63250 OUTER: for (var _iterator = _createForOfIteratorHelperLoose(sub.set), _step; !(_step = _iterator()).done;) {
63251 var simpleSub = _step.value;
63252
63253 for (var _iterator2 = _createForOfIteratorHelperLoose(dom.set), _step2; !(_step2 = _iterator2()).done;) {
63254 var simpleDom = _step2.value;
63255 var isSub = simpleSubset$1(simpleSub, simpleDom, options);
63256 sawNonNull = sawNonNull || isSub !== null;
63257 if (isSub) continue OUTER;
63258 }
63259
63260 if (sawNonNull) return false;
63261 }
63262
63263 return true;
63264 };
63265
63266 var simpleSubset$1 = function simpleSubset(sub, dom, options) {
63267 if (sub === dom) return true;
63268 if (sub.length === 1 && sub[0].semver === ANY$3) return dom.length === 1 && dom[0].semver === ANY$3;
63269 var eqSet = new Set();
63270 var gt, lt;
63271
63272 for (var _iterator3 = _createForOfIteratorHelperLoose(sub), _step3; !(_step3 = _iterator3()).done;) {
63273 var c = _step3.value;
63274 if (c.operator === '>' || c.operator === '>=') gt = higherGT$1(gt, c, options);else if (c.operator === '<' || c.operator === '<=') lt = lowerLT$1(lt, c, options);else eqSet.add(c.semver);
63275 }
63276
63277 if (eqSet.size > 1) return null;
63278 var gtltComp;
63279
63280 if (gt && lt) {
63281 gtltComp = compare_1$2(gt.semver, lt.semver, options);
63282 if (gtltComp > 0) return null;else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) return null;
63283 }
63284
63285 for (var _iterator4 = _createForOfIteratorHelperLoose(eqSet), _step4; !(_step4 = _iterator4()).done;) {
63286 var eq = _step4.value;
63287 if (gt && !satisfies_1$1(eq, String(gt), options)) return null;
63288 if (lt && !satisfies_1$1(eq, String(lt), options)) return null;
63289
63290 for (var _iterator6 = _createForOfIteratorHelperLoose(dom), _step6; !(_step6 = _iterator6()).done;) {
63291 var _c = _step6.value;
63292 if (!satisfies_1$1(eq, String(_c), options)) return false;
63293 }
63294
63295 return true;
63296 }
63297
63298 var higher, lower;
63299 var hasDomLT, hasDomGT;
63300
63301 for (var _iterator5 = _createForOfIteratorHelperLoose(dom), _step5; !(_step5 = _iterator5()).done;) {
63302 var _c2 = _step5.value;
63303 hasDomGT = hasDomGT || _c2.operator === '>' || _c2.operator === '>=';
63304 hasDomLT = hasDomLT || _c2.operator === '<' || _c2.operator === '<=';
63305
63306 if (gt) {
63307 if (_c2.operator === '>' || _c2.operator === '>=') {
63308 higher = higherGT$1(gt, _c2, options);
63309 if (higher === _c2 && higher !== gt) return false;
63310 } else if (gt.operator === '>=' && !satisfies_1$1(gt.semver, String(_c2), options)) return false;
63311 }
63312
63313 if (lt) {
63314 if (_c2.operator === '<' || _c2.operator === '<=') {
63315 lower = lowerLT$1(lt, _c2, options);
63316 if (lower === _c2 && lower !== lt) return false;
63317 } else if (lt.operator === '<=' && !satisfies_1$1(lt.semver, String(_c2), options)) return false;
63318 }
63319
63320 if (!_c2.operator && (lt || gt) && gtltComp !== 0) return false;
63321 }
63322
63323 if (gt && hasDomLT && !lt && gtltComp !== 0) return false;
63324 if (lt && hasDomGT && !gt && gtltComp !== 0) return false;
63325 return true;
63326 };
63327
63328 var higherGT$1 = function higherGT(a, b, options) {
63329 if (!a) return b;
63330 var comp = compare_1$2(a.semver, b.semver, options);
63331 return comp > 0 ? a : comp < 0 ? b : b.operator === '>' && a.operator === '>=' ? b : a;
63332 };
63333
63334 var lowerLT$1 = function lowerLT(a, b, options) {
63335 if (!a) return b;
63336 var comp = compare_1$2(a.semver, b.semver, options);
63337 return comp < 0 ? a : comp > 0 ? b : b.operator === '<' && a.operator === '<=' ? b : a;
63338 };
63339
63340 var subset_1$1 = subset$1;
63341
63342 ({
63343 re: re_1$2.re,
63344 src: re_1$2.src,
63345 tokens: re_1$2.t,
63346 SEMVER_SPEC_VERSION: constants$2.SEMVER_SPEC_VERSION,
63347 SemVer: semver$9,
63348 compareIdentifiers: identifiers$2.compareIdentifiers,
63349 rcompareIdentifiers: identifiers$2.rcompareIdentifiers,
63350 parse: parse_1$2,
63351 valid: valid_1$1,
63352 clean: clean_1$1,
63353 inc: inc_1$1,
63354 diff: diff_1$1,
63355 major: major_1$1,
63356 minor: minor_1$1,
63357 patch: patch_1$1,
63358 prerelease: prerelease_1$1,
63359 compare: compare_1$2,
63360 rcompare: rcompare_1$1,
63361 compareLoose: compareLoose_1$1,
63362 compareBuild: compareBuild_1$1,
63363 sort: sort_1$1,
63364 rsort: rsort_1$1,
63365 gt: gt_1$2,
63366 lt: lt_1$2,
63367 eq: eq_1$2,
63368 neq: neq_1$2,
63369 gte: gte_1$2,
63370 lte: lte_1$2,
63371 cmp: cmp_1$2,
63372 coerce: coerce_1$2,
63373 Comparator: comparator$1,
63374 Range: range$1,
63375 satisfies: satisfies_1$1,
63376 toComparators: toComparators_1$1,
63377 maxSatisfying: maxSatisfying_1$1,
63378 minSatisfying: minSatisfying_1$1,
63379 minVersion: minVersion_1$1,
63380 validRange: valid$2,
63381 outside: outside_1$1,
63382 gtr: gtr_1$1,
63383 ltr: ltr_1$1,
63384 intersects: intersects_1$1,
63385 simplifyRange: simplify$1,
63386 subset: subset_1$1
63387 });
63388
63389 var semver$8 = createCommonjsModule(function (module, exports) {
63390 exports = module.exports = SemVer;
63391 var debug;
63392
63393 if (typeof browser$6 === 'object' && browser$6.env && browser$6.env.NODE_DEBUG && /\bsemver\b/i.test(browser$6.env.NODE_DEBUG)) {
63394 debug = function debug() {
63395 var args = Array.prototype.slice.call(arguments, 0);
63396 args.unshift('SEMVER');
63397 console.log.apply(console, args);
63398 };
63399 } else {
63400 debug = function debug() {};
63401 }
63402
63403 exports.SEMVER_SPEC_VERSION = '2.0.0';
63404 var MAX_LENGTH = 256;
63405 var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
63406 var MAX_SAFE_COMPONENT_LENGTH = 16;
63407 var re = exports.re = [];
63408 var src = exports.src = [];
63409 var t = exports.tokens = {};
63410 var R = 0;
63411
63412 function tok(n) {
63413 t[n] = R++;
63414 }
63415
63416 tok('NUMERICIDENTIFIER');
63417 src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*';
63418 tok('NUMERICIDENTIFIERLOOSE');
63419 src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+';
63420 tok('NONNUMERICIDENTIFIER');
63421 src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
63422 tok('MAINVERSION');
63423 src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')';
63424 tok('MAINVERSIONLOOSE');
63425 src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')';
63426 tok('PRERELEASEIDENTIFIER');
63427 src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
63428 tok('PRERELEASEIDENTIFIERLOOSE');
63429 src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
63430 tok('PRERELEASE');
63431 src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))';
63432 tok('PRERELEASELOOSE');
63433 src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))';
63434 tok('BUILDIDENTIFIER');
63435 src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
63436 tok('BUILD');
63437 src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))';
63438 tok('FULL');
63439 tok('FULLPLAIN');
63440 src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?';
63441 src[t.FULL] = '^' + src[t.FULLPLAIN] + '$';
63442 tok('LOOSEPLAIN');
63443 src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?';
63444 tok('LOOSE');
63445 src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$';
63446 tok('GTLT');
63447 src[t.GTLT] = '((?:<|>)?=?)';
63448 tok('XRANGEIDENTIFIERLOOSE');
63449 src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
63450 tok('XRANGEIDENTIFIER');
63451 src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*';
63452 tok('XRANGEPLAIN');
63453 src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?';
63454 tok('XRANGEPLAINLOOSE');
63455 src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?';
63456 tok('XRANGE');
63457 src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$';
63458 tok('XRANGELOOSE');
63459 src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$';
63460 tok('COERCE');
63461 src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])';
63462 tok('COERCERTL');
63463 re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g');
63464 tok('LONETILDE');
63465 src[t.LONETILDE] = '(?:~>?)';
63466 tok('TILDETRIM');
63467 src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+';
63468 re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g');
63469 var tildeTrimReplace = '$1~';
63470 tok('TILDE');
63471 src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$';
63472 tok('TILDELOOSE');
63473 src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$';
63474 tok('LONECARET');
63475 src[t.LONECARET] = '(?:\\^)';
63476 tok('CARETTRIM');
63477 src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+';
63478 re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g');
63479 var caretTrimReplace = '$1^';
63480 tok('CARET');
63481 src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$';
63482 tok('CARETLOOSE');
63483 src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$';
63484 tok('COMPARATORLOOSE');
63485 src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$';
63486 tok('COMPARATOR');
63487 src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$';
63488 tok('COMPARATORTRIM');
63489 src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')';
63490 re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g');
63491 var comparatorTrimReplace = '$1$2$3';
63492 tok('HYPHENRANGE');
63493 src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$';
63494 tok('HYPHENRANGELOOSE');
63495 src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$';
63496 tok('STAR');
63497 src[t.STAR] = '(<|>)?=?\\s*\\*';
63498
63499 for (var i = 0; i < R; i++) {
63500 debug(i, src[i]);
63501
63502 if (!re[i]) {
63503 re[i] = new RegExp(src[i]);
63504 }
63505 }
63506
63507 exports.parse = parse;
63508
63509 function parse(version, options) {
63510 if (!options || typeof options !== 'object') {
63511 options = {
63512 loose: !!options,
63513 includePrerelease: false
63514 };
63515 }
63516
63517 if (version instanceof SemVer) {
63518 return version;
63519 }
63520
63521 if (typeof version !== 'string') {
63522 return null;
63523 }
63524
63525 if (version.length > MAX_LENGTH) {
63526 return null;
63527 }
63528
63529 var r = options.loose ? re[t.LOOSE] : re[t.FULL];
63530
63531 if (!r.test(version)) {
63532 return null;
63533 }
63534
63535 try {
63536 return new SemVer(version, options);
63537 } catch (er) {
63538 return null;
63539 }
63540 }
63541
63542 exports.valid = valid;
63543
63544 function valid(version, options) {
63545 var v = parse(version, options);
63546 return v ? v.version : null;
63547 }
63548
63549 exports.clean = clean;
63550
63551 function clean(version, options) {
63552 var s = parse(version.trim().replace(/^[=v]+/, ''), options);
63553 return s ? s.version : null;
63554 }
63555
63556 exports.SemVer = SemVer;
63557
63558 function SemVer(version, options) {
63559 if (!options || typeof options !== 'object') {
63560 options = {
63561 loose: !!options,
63562 includePrerelease: false
63563 };
63564 }
63565
63566 if (version instanceof SemVer) {
63567 if (version.loose === options.loose) {
63568 return version;
63569 } else {
63570 version = version.version;
63571 }
63572 } else if (typeof version !== 'string') {
63573 throw new TypeError('Invalid Version: ' + version);
63574 }
63575
63576 if (version.length > MAX_LENGTH) {
63577 throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters');
63578 }
63579
63580 if (!(this instanceof SemVer)) {
63581 return new SemVer(version, options);
63582 }
63583
63584 debug('SemVer', version, options);
63585 this.options = options;
63586 this.loose = !!options.loose;
63587 var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
63588
63589 if (!m) {
63590 throw new TypeError('Invalid Version: ' + version);
63591 }
63592
63593 this.raw = version;
63594 this.major = +m[1];
63595 this.minor = +m[2];
63596 this.patch = +m[3];
63597
63598 if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
63599 throw new TypeError('Invalid major version');
63600 }
63601
63602 if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
63603 throw new TypeError('Invalid minor version');
63604 }
63605
63606 if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
63607 throw new TypeError('Invalid patch version');
63608 }
63609
63610 if (!m[4]) {
63611 this.prerelease = [];
63612 } else {
63613 this.prerelease = m[4].split('.').map(function (id) {
63614 if (/^[0-9]+$/.test(id)) {
63615 var num = +id;
63616
63617 if (num >= 0 && num < MAX_SAFE_INTEGER) {
63618 return num;
63619 }
63620 }
63621
63622 return id;
63623 });
63624 }
63625
63626 this.build = m[5] ? m[5].split('.') : [];
63627 this.format();
63628 }
63629
63630 SemVer.prototype.format = function () {
63631 this.version = this.major + '.' + this.minor + '.' + this.patch;
63632
63633 if (this.prerelease.length) {
63634 this.version += '-' + this.prerelease.join('.');
63635 }
63636
63637 return this.version;
63638 };
63639
63640 SemVer.prototype.toString = function () {
63641 return this.version;
63642 };
63643
63644 SemVer.prototype.compare = function (other) {
63645 debug('SemVer.compare', this.version, this.options, other);
63646
63647 if (!(other instanceof SemVer)) {
63648 other = new SemVer(other, this.options);
63649 }
63650
63651 return this.compareMain(other) || this.comparePre(other);
63652 };
63653
63654 SemVer.prototype.compareMain = function (other) {
63655 if (!(other instanceof SemVer)) {
63656 other = new SemVer(other, this.options);
63657 }
63658
63659 return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
63660 };
63661
63662 SemVer.prototype.comparePre = function (other) {
63663 if (!(other instanceof SemVer)) {
63664 other = new SemVer(other, this.options);
63665 }
63666
63667 if (this.prerelease.length && !other.prerelease.length) {
63668 return -1;
63669 } else if (!this.prerelease.length && other.prerelease.length) {
63670 return 1;
63671 } else if (!this.prerelease.length && !other.prerelease.length) {
63672 return 0;
63673 }
63674
63675 var i = 0;
63676
63677 do {
63678 var a = this.prerelease[i];
63679 var b = other.prerelease[i];
63680 debug('prerelease compare', i, a, b);
63681
63682 if (a === undefined && b === undefined) {
63683 return 0;
63684 } else if (b === undefined) {
63685 return 1;
63686 } else if (a === undefined) {
63687 return -1;
63688 } else if (a === b) {
63689 continue;
63690 } else {
63691 return compareIdentifiers(a, b);
63692 }
63693 } while (++i);
63694 };
63695
63696 SemVer.prototype.compareBuild = function (other) {
63697 if (!(other instanceof SemVer)) {
63698 other = new SemVer(other, this.options);
63699 }
63700
63701 var i = 0;
63702
63703 do {
63704 var a = this.build[i];
63705 var b = other.build[i];
63706 debug('prerelease compare', i, a, b);
63707
63708 if (a === undefined && b === undefined) {
63709 return 0;
63710 } else if (b === undefined) {
63711 return 1;
63712 } else if (a === undefined) {
63713 return -1;
63714 } else if (a === b) {
63715 continue;
63716 } else {
63717 return compareIdentifiers(a, b);
63718 }
63719 } while (++i);
63720 };
63721
63722 SemVer.prototype.inc = function (release, identifier) {
63723 switch (release) {
63724 case 'premajor':
63725 this.prerelease.length = 0;
63726 this.patch = 0;
63727 this.minor = 0;
63728 this.major++;
63729 this.inc('pre', identifier);
63730 break;
63731
63732 case 'preminor':
63733 this.prerelease.length = 0;
63734 this.patch = 0;
63735 this.minor++;
63736 this.inc('pre', identifier);
63737 break;
63738
63739 case 'prepatch':
63740 this.prerelease.length = 0;
63741 this.inc('patch', identifier);
63742 this.inc('pre', identifier);
63743 break;
63744
63745 case 'prerelease':
63746 if (this.prerelease.length === 0) {
63747 this.inc('patch', identifier);
63748 }
63749
63750 this.inc('pre', identifier);
63751 break;
63752
63753 case 'major':
63754 if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
63755 this.major++;
63756 }
63757
63758 this.minor = 0;
63759 this.patch = 0;
63760 this.prerelease = [];
63761 break;
63762
63763 case 'minor':
63764 if (this.patch !== 0 || this.prerelease.length === 0) {
63765 this.minor++;
63766 }
63767
63768 this.patch = 0;
63769 this.prerelease = [];
63770 break;
63771
63772 case 'patch':
63773 if (this.prerelease.length === 0) {
63774 this.patch++;
63775 }
63776
63777 this.prerelease = [];
63778 break;
63779
63780 case 'pre':
63781 if (this.prerelease.length === 0) {
63782 this.prerelease = [0];
63783 } else {
63784 var i = this.prerelease.length;
63785
63786 while (--i >= 0) {
63787 if (typeof this.prerelease[i] === 'number') {
63788 this.prerelease[i]++;
63789 i = -2;
63790 }
63791 }
63792
63793 if (i === -1) {
63794 this.prerelease.push(0);
63795 }
63796 }
63797
63798 if (identifier) {
63799 if (this.prerelease[0] === identifier) {
63800 if (isNaN(this.prerelease[1])) {
63801 this.prerelease = [identifier, 0];
63802 }
63803 } else {
63804 this.prerelease = [identifier, 0];
63805 }
63806 }
63807
63808 break;
63809
63810 default:
63811 throw new Error('invalid increment argument: ' + release);
63812 }
63813
63814 this.format();
63815 this.raw = this.version;
63816 return this;
63817 };
63818
63819 exports.inc = inc;
63820
63821 function inc(version, release, loose, identifier) {
63822 if (typeof loose === 'string') {
63823 identifier = loose;
63824 loose = undefined;
63825 }
63826
63827 try {
63828 return new SemVer(version, loose).inc(release, identifier).version;
63829 } catch (er) {
63830 return null;
63831 }
63832 }
63833
63834 exports.diff = diff;
63835
63836 function diff(version1, version2) {
63837 if (eq(version1, version2)) {
63838 return null;
63839 } else {
63840 var v1 = parse(version1);
63841 var v2 = parse(version2);
63842 var prefix = '';
63843
63844 if (v1.prerelease.length || v2.prerelease.length) {
63845 prefix = 'pre';
63846 var defaultResult = 'prerelease';
63847 }
63848
63849 for (var key in v1) {
63850 if (key === 'major' || key === 'minor' || key === 'patch') {
63851 if (v1[key] !== v2[key]) {
63852 return prefix + key;
63853 }
63854 }
63855 }
63856
63857 return defaultResult;
63858 }
63859 }
63860
63861 exports.compareIdentifiers = compareIdentifiers;
63862 var numeric = /^[0-9]+$/;
63863
63864 function compareIdentifiers(a, b) {
63865 var anum = numeric.test(a);
63866 var bnum = numeric.test(b);
63867
63868 if (anum && bnum) {
63869 a = +a;
63870 b = +b;
63871 }
63872
63873 return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
63874 }
63875
63876 exports.rcompareIdentifiers = rcompareIdentifiers;
63877
63878 function rcompareIdentifiers(a, b) {
63879 return compareIdentifiers(b, a);
63880 }
63881
63882 exports.major = major;
63883
63884 function major(a, loose) {
63885 return new SemVer(a, loose).major;
63886 }
63887
63888 exports.minor = minor;
63889
63890 function minor(a, loose) {
63891 return new SemVer(a, loose).minor;
63892 }
63893
63894 exports.patch = patch;
63895
63896 function patch(a, loose) {
63897 return new SemVer(a, loose).patch;
63898 }
63899
63900 exports.compare = compare;
63901
63902 function compare(a, b, loose) {
63903 return new SemVer(a, loose).compare(new SemVer(b, loose));
63904 }
63905
63906 exports.compareLoose = compareLoose;
63907
63908 function compareLoose(a, b) {
63909 return compare(a, b, true);
63910 }
63911
63912 exports.compareBuild = compareBuild;
63913
63914 function compareBuild(a, b, loose) {
63915 var versionA = new SemVer(a, loose);
63916 var versionB = new SemVer(b, loose);
63917 return versionA.compare(versionB) || versionA.compareBuild(versionB);
63918 }
63919
63920 exports.rcompare = rcompare;
63921
63922 function rcompare(a, b, loose) {
63923 return compare(b, a, loose);
63924 }
63925
63926 exports.sort = sort;
63927
63928 function sort(list, loose) {
63929 return list.sort(function (a, b) {
63930 return exports.compareBuild(a, b, loose);
63931 });
63932 }
63933
63934 exports.rsort = rsort;
63935
63936 function rsort(list, loose) {
63937 return list.sort(function (a, b) {
63938 return exports.compareBuild(b, a, loose);
63939 });
63940 }
63941
63942 exports.gt = gt;
63943
63944 function gt(a, b, loose) {
63945 return compare(a, b, loose) > 0;
63946 }
63947
63948 exports.lt = lt;
63949
63950 function lt(a, b, loose) {
63951 return compare(a, b, loose) < 0;
63952 }
63953
63954 exports.eq = eq;
63955
63956 function eq(a, b, loose) {
63957 return compare(a, b, loose) === 0;
63958 }
63959
63960 exports.neq = neq;
63961
63962 function neq(a, b, loose) {
63963 return compare(a, b, loose) !== 0;
63964 }
63965
63966 exports.gte = gte;
63967
63968 function gte(a, b, loose) {
63969 return compare(a, b, loose) >= 0;
63970 }
63971
63972 exports.lte = lte;
63973
63974 function lte(a, b, loose) {
63975 return compare(a, b, loose) <= 0;
63976 }
63977
63978 exports.cmp = cmp;
63979
63980 function cmp(a, op, b, loose) {
63981 switch (op) {
63982 case '===':
63983 if (typeof a === 'object') a = a.version;
63984 if (typeof b === 'object') b = b.version;
63985 return a === b;
63986
63987 case '!==':
63988 if (typeof a === 'object') a = a.version;
63989 if (typeof b === 'object') b = b.version;
63990 return a !== b;
63991
63992 case '':
63993 case '=':
63994 case '==':
63995 return eq(a, b, loose);
63996
63997 case '!=':
63998 return neq(a, b, loose);
63999
64000 case '>':
64001 return gt(a, b, loose);
64002
64003 case '>=':
64004 return gte(a, b, loose);
64005
64006 case '<':
64007 return lt(a, b, loose);
64008
64009 case '<=':
64010 return lte(a, b, loose);
64011
64012 default:
64013 throw new TypeError('Invalid operator: ' + op);
64014 }
64015 }
64016
64017 exports.Comparator = Comparator;
64018
64019 function Comparator(comp, options) {
64020 if (!options || typeof options !== 'object') {
64021 options = {
64022 loose: !!options,
64023 includePrerelease: false
64024 };
64025 }
64026
64027 if (comp instanceof Comparator) {
64028 if (comp.loose === !!options.loose) {
64029 return comp;
64030 } else {
64031 comp = comp.value;
64032 }
64033 }
64034
64035 if (!(this instanceof Comparator)) {
64036 return new Comparator(comp, options);
64037 }
64038
64039 debug('comparator', comp, options);
64040 this.options = options;
64041 this.loose = !!options.loose;
64042 this.parse(comp);
64043
64044 if (this.semver === ANY) {
64045 this.value = '';
64046 } else {
64047 this.value = this.operator + this.semver.version;
64048 }
64049
64050 debug('comp', this);
64051 }
64052
64053 var ANY = {};
64054
64055 Comparator.prototype.parse = function (comp) {
64056 var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
64057 var m = comp.match(r);
64058
64059 if (!m) {
64060 throw new TypeError('Invalid comparator: ' + comp);
64061 }
64062
64063 this.operator = m[1] !== undefined ? m[1] : '';
64064
64065 if (this.operator === '=') {
64066 this.operator = '';
64067 }
64068
64069 if (!m[2]) {
64070 this.semver = ANY;
64071 } else {
64072 this.semver = new SemVer(m[2], this.options.loose);
64073 }
64074 };
64075
64076 Comparator.prototype.toString = function () {
64077 return this.value;
64078 };
64079
64080 Comparator.prototype.test = function (version) {
64081 debug('Comparator.test', version, this.options.loose);
64082
64083 if (this.semver === ANY || version === ANY) {
64084 return true;
64085 }
64086
64087 if (typeof version === 'string') {
64088 try {
64089 version = new SemVer(version, this.options);
64090 } catch (er) {
64091 return false;
64092 }
64093 }
64094
64095 return cmp(version, this.operator, this.semver, this.options);
64096 };
64097
64098 Comparator.prototype.intersects = function (comp, options) {
64099 if (!(comp instanceof Comparator)) {
64100 throw new TypeError('a Comparator is required');
64101 }
64102
64103 if (!options || typeof options !== 'object') {
64104 options = {
64105 loose: !!options,
64106 includePrerelease: false
64107 };
64108 }
64109
64110 var rangeTmp;
64111
64112 if (this.operator === '') {
64113 if (this.value === '') {
64114 return true;
64115 }
64116
64117 rangeTmp = new Range(comp.value, options);
64118 return satisfies(this.value, rangeTmp, options);
64119 } else if (comp.operator === '') {
64120 if (comp.value === '') {
64121 return true;
64122 }
64123
64124 rangeTmp = new Range(this.value, options);
64125 return satisfies(comp.semver, rangeTmp, options);
64126 }
64127
64128 var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
64129 var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
64130 var sameSemVer = this.semver.version === comp.semver.version;
64131 var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
64132 var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
64133 var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
64134 return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
64135 };
64136
64137 exports.Range = Range;
64138
64139 function Range(range, options) {
64140 if (!options || typeof options !== 'object') {
64141 options = {
64142 loose: !!options,
64143 includePrerelease: false
64144 };
64145 }
64146
64147 if (range instanceof Range) {
64148 if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
64149 return range;
64150 } else {
64151 return new Range(range.raw, options);
64152 }
64153 }
64154
64155 if (range instanceof Comparator) {
64156 return new Range(range.value, options);
64157 }
64158
64159 if (!(this instanceof Range)) {
64160 return new Range(range, options);
64161 }
64162
64163 this.options = options;
64164 this.loose = !!options.loose;
64165 this.includePrerelease = !!options.includePrerelease;
64166 this.raw = range;
64167 this.set = range.split(/\s*\|\|\s*/).map(function (range) {
64168 return this.parseRange(range.trim());
64169 }, this).filter(function (c) {
64170 return c.length;
64171 });
64172
64173 if (!this.set.length) {
64174 throw new TypeError('Invalid SemVer Range: ' + range);
64175 }
64176
64177 this.format();
64178 }
64179
64180 Range.prototype.format = function () {
64181 this.range = this.set.map(function (comps) {
64182 return comps.join(' ').trim();
64183 }).join('||').trim();
64184 return this.range;
64185 };
64186
64187 Range.prototype.toString = function () {
64188 return this.range;
64189 };
64190
64191 Range.prototype.parseRange = function (range) {
64192 var loose = this.options.loose;
64193 range = range.trim();
64194 var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
64195 range = range.replace(hr, hyphenReplace);
64196 debug('hyphen replace', range);
64197 range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
64198 debug('comparator trim', range, re[t.COMPARATORTRIM]);
64199 range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
64200 range = range.replace(re[t.CARETTRIM], caretTrimReplace);
64201 range = range.split(/\s+/).join(' ');
64202 var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
64203 var set = range.split(' ').map(function (comp) {
64204 return parseComparator(comp, this.options);
64205 }, this).join(' ').split(/\s+/);
64206
64207 if (this.options.loose) {
64208 set = set.filter(function (comp) {
64209 return !!comp.match(compRe);
64210 });
64211 }
64212
64213 set = set.map(function (comp) {
64214 return new Comparator(comp, this.options);
64215 }, this);
64216 return set;
64217 };
64218
64219 Range.prototype.intersects = function (range, options) {
64220 if (!(range instanceof Range)) {
64221 throw new TypeError('a Range is required');
64222 }
64223
64224 return this.set.some(function (thisComparators) {
64225 return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
64226 return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
64227 return rangeComparators.every(function (rangeComparator) {
64228 return thisComparator.intersects(rangeComparator, options);
64229 });
64230 });
64231 });
64232 });
64233 };
64234
64235 function isSatisfiable(comparators, options) {
64236 var result = true;
64237 var remainingComparators = comparators.slice();
64238 var testComparator = remainingComparators.pop();
64239
64240 while (result && remainingComparators.length) {
64241 result = remainingComparators.every(function (otherComparator) {
64242 return testComparator.intersects(otherComparator, options);
64243 });
64244 testComparator = remainingComparators.pop();
64245 }
64246
64247 return result;
64248 }
64249
64250 exports.toComparators = toComparators;
64251
64252 function toComparators(range, options) {
64253 return new Range(range, options).set.map(function (comp) {
64254 return comp.map(function (c) {
64255 return c.value;
64256 }).join(' ').trim().split(' ');
64257 });
64258 }
64259
64260 function parseComparator(comp, options) {
64261 debug('comp', comp, options);
64262 comp = replaceCarets(comp, options);
64263 debug('caret', comp);
64264 comp = replaceTildes(comp, options);
64265 debug('tildes', comp);
64266 comp = replaceXRanges(comp, options);
64267 debug('xrange', comp);
64268 comp = replaceStars(comp, options);
64269 debug('stars', comp);
64270 return comp;
64271 }
64272
64273 function isX(id) {
64274 return !id || id.toLowerCase() === 'x' || id === '*';
64275 }
64276
64277 function replaceTildes(comp, options) {
64278 return comp.trim().split(/\s+/).map(function (comp) {
64279 return replaceTilde(comp, options);
64280 }).join(' ');
64281 }
64282
64283 function replaceTilde(comp, options) {
64284 var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
64285 return comp.replace(r, function (_, M, m, p, pr) {
64286 debug('tilde', comp, _, M, m, p, pr);
64287 var ret;
64288
64289 if (isX(M)) {
64290 ret = '';
64291 } else if (isX(m)) {
64292 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
64293 } else if (isX(p)) {
64294 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
64295 } else if (pr) {
64296 debug('replaceTilde pr', pr);
64297 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
64298 } else {
64299 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
64300 }
64301
64302 debug('tilde return', ret);
64303 return ret;
64304 });
64305 }
64306
64307 function replaceCarets(comp, options) {
64308 return comp.trim().split(/\s+/).map(function (comp) {
64309 return replaceCaret(comp, options);
64310 }).join(' ');
64311 }
64312
64313 function replaceCaret(comp, options) {
64314 debug('caret', comp, options);
64315 var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
64316 return comp.replace(r, function (_, M, m, p, pr) {
64317 debug('caret', comp, _, M, m, p, pr);
64318 var ret;
64319
64320 if (isX(M)) {
64321 ret = '';
64322 } else if (isX(m)) {
64323 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
64324 } else if (isX(p)) {
64325 if (M === '0') {
64326 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
64327 } else {
64328 ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
64329 }
64330 } else if (pr) {
64331 debug('replaceCaret pr', pr);
64332
64333 if (M === '0') {
64334 if (m === '0') {
64335 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1);
64336 } else {
64337 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
64338 }
64339 } else {
64340 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0';
64341 }
64342 } else {
64343 debug('no pr');
64344
64345 if (M === '0') {
64346 if (m === '0') {
64347 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1);
64348 } else {
64349 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
64350 }
64351 } else {
64352 ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0';
64353 }
64354 }
64355
64356 debug('caret return', ret);
64357 return ret;
64358 });
64359 }
64360
64361 function replaceXRanges(comp, options) {
64362 debug('replaceXRanges', comp, options);
64363 return comp.split(/\s+/).map(function (comp) {
64364 return replaceXRange(comp, options);
64365 }).join(' ');
64366 }
64367
64368 function replaceXRange(comp, options) {
64369 comp = comp.trim();
64370 var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
64371 return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
64372 debug('xRange', comp, ret, gtlt, M, m, p, pr);
64373 var xM = isX(M);
64374 var xm = xM || isX(m);
64375 var xp = xm || isX(p);
64376 var anyX = xp;
64377
64378 if (gtlt === '=' && anyX) {
64379 gtlt = '';
64380 }
64381
64382 pr = options.includePrerelease ? '-0' : '';
64383
64384 if (xM) {
64385 if (gtlt === '>' || gtlt === '<') {
64386 ret = '<0.0.0-0';
64387 } else {
64388 ret = '*';
64389 }
64390 } else if (gtlt && anyX) {
64391 if (xm) {
64392 m = 0;
64393 }
64394
64395 p = 0;
64396
64397 if (gtlt === '>') {
64398 gtlt = '>=';
64399
64400 if (xm) {
64401 M = +M + 1;
64402 m = 0;
64403 p = 0;
64404 } else {
64405 m = +m + 1;
64406 p = 0;
64407 }
64408 } else if (gtlt === '<=') {
64409 gtlt = '<';
64410
64411 if (xm) {
64412 M = +M + 1;
64413 } else {
64414 m = +m + 1;
64415 }
64416 }
64417
64418 ret = gtlt + M + '.' + m + '.' + p + pr;
64419 } else if (xm) {
64420 ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr;
64421 } else if (xp) {
64422 ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr;
64423 }
64424
64425 debug('xRange return', ret);
64426 return ret;
64427 });
64428 }
64429
64430 function replaceStars(comp, options) {
64431 debug('replaceStars', comp, options);
64432 return comp.trim().replace(re[t.STAR], '');
64433 }
64434
64435 function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
64436 if (isX(fM)) {
64437 from = '';
64438 } else if (isX(fm)) {
64439 from = '>=' + fM + '.0.0';
64440 } else if (isX(fp)) {
64441 from = '>=' + fM + '.' + fm + '.0';
64442 } else {
64443 from = '>=' + from;
64444 }
64445
64446 if (isX(tM)) {
64447 to = '';
64448 } else if (isX(tm)) {
64449 to = '<' + (+tM + 1) + '.0.0';
64450 } else if (isX(tp)) {
64451 to = '<' + tM + '.' + (+tm + 1) + '.0';
64452 } else if (tpr) {
64453 to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
64454 } else {
64455 to = '<=' + to;
64456 }
64457
64458 return (from + ' ' + to).trim();
64459 }
64460
64461 Range.prototype.test = function (version) {
64462 if (!version) {
64463 return false;
64464 }
64465
64466 if (typeof version === 'string') {
64467 try {
64468 version = new SemVer(version, this.options);
64469 } catch (er) {
64470 return false;
64471 }
64472 }
64473
64474 for (var i = 0; i < this.set.length; i++) {
64475 if (testSet(this.set[i], version, this.options)) {
64476 return true;
64477 }
64478 }
64479
64480 return false;
64481 };
64482
64483 function testSet(set, version, options) {
64484 for (var i = 0; i < set.length; i++) {
64485 if (!set[i].test(version)) {
64486 return false;
64487 }
64488 }
64489
64490 if (version.prerelease.length && !options.includePrerelease) {
64491 for (i = 0; i < set.length; i++) {
64492 debug(set[i].semver);
64493
64494 if (set[i].semver === ANY) {
64495 continue;
64496 }
64497
64498 if (set[i].semver.prerelease.length > 0) {
64499 var allowed = set[i].semver;
64500
64501 if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
64502 return true;
64503 }
64504 }
64505 }
64506
64507 return false;
64508 }
64509
64510 return true;
64511 }
64512
64513 exports.satisfies = satisfies;
64514
64515 function satisfies(version, range, options) {
64516 try {
64517 range = new Range(range, options);
64518 } catch (er) {
64519 return false;
64520 }
64521
64522 return range.test(version);
64523 }
64524
64525 exports.maxSatisfying = maxSatisfying;
64526
64527 function maxSatisfying(versions, range, options) {
64528 var max = null;
64529 var maxSV = null;
64530
64531 try {
64532 var rangeObj = new Range(range, options);
64533 } catch (er) {
64534 return null;
64535 }
64536
64537 versions.forEach(function (v) {
64538 if (rangeObj.test(v)) {
64539 if (!max || maxSV.compare(v) === -1) {
64540 max = v;
64541 maxSV = new SemVer(max, options);
64542 }
64543 }
64544 });
64545 return max;
64546 }
64547
64548 exports.minSatisfying = minSatisfying;
64549
64550 function minSatisfying(versions, range, options) {
64551 var min = null;
64552 var minSV = null;
64553
64554 try {
64555 var rangeObj = new Range(range, options);
64556 } catch (er) {
64557 return null;
64558 }
64559
64560 versions.forEach(function (v) {
64561 if (rangeObj.test(v)) {
64562 if (!min || minSV.compare(v) === 1) {
64563 min = v;
64564 minSV = new SemVer(min, options);
64565 }
64566 }
64567 });
64568 return min;
64569 }
64570
64571 exports.minVersion = minVersion;
64572
64573 function minVersion(range, loose) {
64574 range = new Range(range, loose);
64575 var minver = new SemVer('0.0.0');
64576
64577 if (range.test(minver)) {
64578 return minver;
64579 }
64580
64581 minver = new SemVer('0.0.0-0');
64582
64583 if (range.test(minver)) {
64584 return minver;
64585 }
64586
64587 minver = null;
64588
64589 for (var i = 0; i < range.set.length; ++i) {
64590 var comparators = range.set[i];
64591 comparators.forEach(function (comparator) {
64592 var compver = new SemVer(comparator.semver.version);
64593
64594 switch (comparator.operator) {
64595 case '>':
64596 if (compver.prerelease.length === 0) {
64597 compver.patch++;
64598 } else {
64599 compver.prerelease.push(0);
64600 }
64601
64602 compver.raw = compver.format();
64603
64604 case '':
64605 case '>=':
64606 if (!minver || gt(minver, compver)) {
64607 minver = compver;
64608 }
64609
64610 break;
64611
64612 case '<':
64613 case '<=':
64614 break;
64615
64616 default:
64617 throw new Error('Unexpected operation: ' + comparator.operator);
64618 }
64619 });
64620 }
64621
64622 if (minver && range.test(minver)) {
64623 return minver;
64624 }
64625
64626 return null;
64627 }
64628
64629 exports.validRange = validRange;
64630
64631 function validRange(range, options) {
64632 try {
64633 return new Range(range, options).range || '*';
64634 } catch (er) {
64635 return null;
64636 }
64637 }
64638
64639 exports.ltr = ltr;
64640
64641 function ltr(version, range, options) {
64642 return outside(version, range, '<', options);
64643 }
64644
64645 exports.gtr = gtr;
64646
64647 function gtr(version, range, options) {
64648 return outside(version, range, '>', options);
64649 }
64650
64651 exports.outside = outside;
64652
64653 function outside(version, range, hilo, options) {
64654 version = new SemVer(version, options);
64655 range = new Range(range, options);
64656 var gtfn, ltefn, ltfn, comp, ecomp;
64657
64658 switch (hilo) {
64659 case '>':
64660 gtfn = gt;
64661 ltefn = lte;
64662 ltfn = lt;
64663 comp = '>';
64664 ecomp = '>=';
64665 break;
64666
64667 case '<':
64668 gtfn = lt;
64669 ltefn = gte;
64670 ltfn = gt;
64671 comp = '<';
64672 ecomp = '<=';
64673 break;
64674
64675 default:
64676 throw new TypeError('Must provide a hilo val of "<" or ">"');
64677 }
64678
64679 if (satisfies(version, range, options)) {
64680 return false;
64681 }
64682
64683 for (var i = 0; i < range.set.length; ++i) {
64684 var comparators = range.set[i];
64685 var high = null;
64686 var low = null;
64687 comparators.forEach(function (comparator) {
64688 if (comparator.semver === ANY) {
64689 comparator = new Comparator('>=0.0.0');
64690 }
64691
64692 high = high || comparator;
64693 low = low || comparator;
64694
64695 if (gtfn(comparator.semver, high.semver, options)) {
64696 high = comparator;
64697 } else if (ltfn(comparator.semver, low.semver, options)) {
64698 low = comparator;
64699 }
64700 });
64701
64702 if (high.operator === comp || high.operator === ecomp) {
64703 return false;
64704 }
64705
64706 if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
64707 return false;
64708 } else if (low.operator === ecomp && ltfn(version, low.semver)) {
64709 return false;
64710 }
64711 }
64712
64713 return true;
64714 }
64715
64716 exports.prerelease = prerelease;
64717
64718 function prerelease(version, options) {
64719 var parsed = parse(version, options);
64720 return parsed && parsed.prerelease.length ? parsed.prerelease : null;
64721 }
64722
64723 exports.intersects = intersects;
64724
64725 function intersects(r1, r2, options) {
64726 r1 = new Range(r1, options);
64727 r2 = new Range(r2, options);
64728 return r1.intersects(r2);
64729 }
64730
64731 exports.coerce = coerce;
64732
64733 function coerce(version, options) {
64734 if (version instanceof SemVer) {
64735 return version;
64736 }
64737
64738 if (typeof version === 'number') {
64739 version = String(version);
64740 }
64741
64742 if (typeof version !== 'string') {
64743 return null;
64744 }
64745
64746 options = options || {};
64747 var match = null;
64748
64749 if (!options.rtl) {
64750 match = version.match(re[t.COERCE]);
64751 } else {
64752 var next;
64753
64754 while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
64755 if (!match || next.index + next[0].length !== match.index + match[0].length) {
64756 match = next;
64757 }
64758
64759 re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
64760 }
64761
64762 re[t.COERCERTL].lastIndex = -1;
64763 }
64764
64765 if (match === null) {
64766 return null;
64767 }
64768
64769 return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options);
64770 }
64771 }, "/$$rollup_base$$/packages/babel-helper-compilation-targets/node_modules/semver/node_modules/semver-BABEL_8_BREAKING-false");
64772
64773 var semver$7 = semver$8;
64774
64775 var unreleasedLabels = {
64776 safari: "tp"
64777 };
64778 var browserNameMap = {
64779 and_chr: "chrome",
64780 and_ff: "firefox",
64781 android: "android",
64782 chrome: "chrome",
64783 edge: "edge",
64784 firefox: "firefox",
64785 ie: "ie",
64786 ie_mob: "ie",
64787 ios_saf: "ios",
64788 node: "node",
64789 op_mob: "opera",
64790 opera: "opera",
64791 safari: "safari",
64792 samsung: "samsung"
64793 };
64794
64795 var versionRegExp = /^(\d+|\d+.\d+)$/;
64796 var v$3 = new OptionValidator("@babel/helper-compilation-targets");
64797 function semverMin(first, second) {
64798 return first && semver$7.lt(first, second) ? first : second;
64799 }
64800 function semverify(version) {
64801 if (typeof version === "string" && semver$7.valid(version)) {
64802 return version;
64803 }
64804
64805 v$3.invariant(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), "'" + version + "' is not a valid version");
64806 var split = version.toString().split(".");
64807
64808 while (split.length < 3) {
64809 split.push("0");
64810 }
64811
64812 return split.join(".");
64813 }
64814 function isUnreleasedVersion(version, env) {
64815 var unreleasedLabel = unreleasedLabels[env];
64816 return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase();
64817 }
64818 function getLowestUnreleased(a, b, env) {
64819 var unreleasedLabel = unreleasedLabels[env];
64820 var hasUnreleased = [a, b].some(function (item) {
64821 return item === unreleasedLabel;
64822 });
64823
64824 if (hasUnreleased) {
64825 return a === hasUnreleased ? b : a || b;
64826 }
64827
64828 return semverMin(a, b);
64829 }
64830 function getHighestUnreleased(a, b, env) {
64831 return getLowestUnreleased(a, b, env) === a ? b : a;
64832 }
64833 function getLowestImplementedVersion(plugin, environment) {
64834 var result = plugin[environment];
64835
64836 if (!result && environment === "android") {
64837 return plugin.chrome;
64838 }
64839
64840 return result;
64841 }
64842
64843 var TargetNames = {
64844 node: "node",
64845 chrome: "chrome",
64846 opera: "opera",
64847 edge: "edge",
64848 firefox: "firefox",
64849 safari: "safari",
64850 ie: "ie",
64851 ios: "ios",
64852 android: "android",
64853 electron: "electron",
64854 samsung: "samsung"
64855 };
64856
64857 function prettifyVersion(version) {
64858 if (typeof version !== "string") {
64859 return version;
64860 }
64861
64862 var parts = [semver$7.major(version)];
64863 var minor = semver$7.minor(version);
64864 var patch = semver$7.patch(version);
64865
64866 if (minor || patch) {
64867 parts.push(minor);
64868 }
64869
64870 if (patch) {
64871 parts.push(patch);
64872 }
64873
64874 return parts.join(".");
64875 }
64876 function prettifyTargets(targets) {
64877 return Object.keys(targets).reduce(function (results, target) {
64878 var value = targets[target];
64879 var unreleasedLabel = unreleasedLabels[target];
64880
64881 if (typeof value === "string" && unreleasedLabel !== value) {
64882 value = prettifyVersion(value);
64883 }
64884
64885 results[target] = value;
64886 return results;
64887 }, {});
64888 }
64889
64890 function getInclusionReasons(item, targetVersions, list) {
64891 var minVersions = list[item] || {};
64892 return Object.keys(targetVersions).reduce(function (result, env) {
64893 var minVersion = getLowestImplementedVersion(minVersions, env);
64894 var targetVersion = targetVersions[env];
64895
64896 if (!minVersion) {
64897 result[env] = prettifyVersion(targetVersion);
64898 } else {
64899 var minIsUnreleased = isUnreleasedVersion(minVersion, env);
64900 var targetIsUnreleased = isUnreleasedVersion(targetVersion, env);
64901
64902 if (!targetIsUnreleased && (minIsUnreleased || semver$7.lt(targetVersion.toString(), semverify(minVersion)))) {
64903 result[env] = prettifyVersion(targetVersion);
64904 }
64905 }
64906
64907 return result;
64908 }, {});
64909 }
64910
64911 var require$$0$6 = {
64912 "proposal-class-static-block": {
64913 chrome: "91",
64914 electron: "13.0"
64915 },
64916 "proposal-private-property-in-object": {
64917 chrome: "91",
64918 firefox: "90",
64919 electron: "13.0"
64920 },
64921 "proposal-class-properties": {
64922 chrome: "74",
64923 opera: "62",
64924 edge: "79",
64925 firefox: "90",
64926 safari: "14.1",
64927 node: "12",
64928 samsung: "11",
64929 electron: "6.0"
64930 },
64931 "proposal-private-methods": {
64932 chrome: "84",
64933 opera: "70",
64934 edge: "84",
64935 firefox: "90",
64936 safari: "15",
64937 node: "14.6",
64938 electron: "10.0"
64939 },
64940 "proposal-numeric-separator": {
64941 chrome: "75",
64942 opera: "62",
64943 edge: "79",
64944 firefox: "70",
64945 safari: "13",
64946 node: "12.5",
64947 ios: "13",
64948 samsung: "11",
64949 electron: "6.0"
64950 },
64951 "proposal-logical-assignment-operators": {
64952 chrome: "85",
64953 opera: "71",
64954 edge: "85",
64955 firefox: "79",
64956 safari: "14",
64957 node: "15",
64958 ios: "14",
64959 electron: "10.0"
64960 },
64961 "proposal-nullish-coalescing-operator": {
64962 chrome: "80",
64963 opera: "67",
64964 edge: "80",
64965 firefox: "72",
64966 safari: "13.1",
64967 node: "14",
64968 ios: "13.4",
64969 samsung: "13",
64970 electron: "8.0"
64971 },
64972 "proposal-optional-chaining": {
64973 firefox: "74",
64974 safari: "13.1",
64975 ios: "13.4"
64976 },
64977 "proposal-json-strings": {
64978 chrome: "66",
64979 opera: "53",
64980 edge: "79",
64981 firefox: "62",
64982 safari: "12",
64983 node: "10",
64984 ios: "12",
64985 samsung: "9",
64986 electron: "3.0"
64987 },
64988 "proposal-optional-catch-binding": {
64989 chrome: "66",
64990 opera: "53",
64991 edge: "79",
64992 firefox: "58",
64993 safari: "11.1",
64994 node: "10",
64995 ios: "11.3",
64996 samsung: "9",
64997 electron: "3.0"
64998 },
64999 "transform-parameters": {
65000 chrome: "49",
65001 opera: "36",
65002 edge: "18",
65003 firefox: "53",
65004 safari: "10",
65005 node: "6",
65006 ios: "10",
65007 samsung: "5",
65008 electron: "0.37"
65009 },
65010 "proposal-async-generator-functions": {
65011 chrome: "63",
65012 opera: "50",
65013 edge: "79",
65014 firefox: "57",
65015 safari: "12",
65016 node: "10",
65017 ios: "12",
65018 samsung: "8",
65019 electron: "3.0"
65020 },
65021 "proposal-object-rest-spread": {
65022 chrome: "60",
65023 opera: "47",
65024 edge: "79",
65025 firefox: "55",
65026 safari: "11.1",
65027 node: "8.3",
65028 ios: "11.3",
65029 samsung: "8",
65030 electron: "2.0"
65031 },
65032 "transform-dotall-regex": {
65033 chrome: "62",
65034 opera: "49",
65035 edge: "79",
65036 firefox: "78",
65037 safari: "11.1",
65038 node: "8.10",
65039 ios: "11.3",
65040 samsung: "8",
65041 electron: "3.0"
65042 },
65043 "proposal-unicode-property-regex": {
65044 chrome: "64",
65045 opera: "51",
65046 edge: "79",
65047 firefox: "78",
65048 safari: "11.1",
65049 node: "10",
65050 ios: "11.3",
65051 samsung: "9",
65052 electron: "3.0"
65053 },
65054 "transform-named-capturing-groups-regex": {
65055 chrome: "64",
65056 opera: "51",
65057 edge: "79",
65058 firefox: "78",
65059 safari: "11.1",
65060 node: "10",
65061 ios: "11.3",
65062 samsung: "9",
65063 electron: "3.0"
65064 },
65065 "transform-async-to-generator": {
65066 chrome: "55",
65067 opera: "42",
65068 edge: "15",
65069 firefox: "52",
65070 safari: "11",
65071 node: "7.6",
65072 ios: "11",
65073 samsung: "6",
65074 electron: "1.6"
65075 },
65076 "transform-exponentiation-operator": {
65077 chrome: "52",
65078 opera: "39",
65079 edge: "14",
65080 firefox: "52",
65081 safari: "10.1",
65082 node: "7",
65083 ios: "10.3",
65084 samsung: "6",
65085 electron: "1.3"
65086 },
65087 "transform-template-literals": {
65088 chrome: "41",
65089 opera: "28",
65090 edge: "13",
65091 firefox: "34",
65092 safari: "13",
65093 node: "4",
65094 ios: "13",
65095 samsung: "3.4",
65096 electron: "0.21"
65097 },
65098 "transform-literals": {
65099 chrome: "44",
65100 opera: "31",
65101 edge: "12",
65102 firefox: "53",
65103 safari: "9",
65104 node: "4",
65105 ios: "9",
65106 samsung: "4",
65107 electron: "0.30"
65108 },
65109 "transform-function-name": {
65110 chrome: "51",
65111 opera: "38",
65112 edge: "79",
65113 firefox: "53",
65114 safari: "10",
65115 node: "6.5",
65116 ios: "10",
65117 samsung: "5",
65118 electron: "1.2"
65119 },
65120 "transform-arrow-functions": {
65121 chrome: "47",
65122 opera: "34",
65123 edge: "13",
65124 firefox: "45",
65125 safari: "10",
65126 node: "6",
65127 ios: "10",
65128 samsung: "5",
65129 electron: "0.36"
65130 },
65131 "transform-block-scoped-functions": {
65132 chrome: "41",
65133 opera: "28",
65134 edge: "12",
65135 firefox: "46",
65136 safari: "10",
65137 node: "4",
65138 ie: "11",
65139 ios: "10",
65140 samsung: "3.4",
65141 electron: "0.21"
65142 },
65143 "transform-classes": {
65144 chrome: "46",
65145 opera: "33",
65146 edge: "13",
65147 firefox: "45",
65148 safari: "10",
65149 node: "5",
65150 ios: "10",
65151 samsung: "5",
65152 electron: "0.36"
65153 },
65154 "transform-object-super": {
65155 chrome: "46",
65156 opera: "33",
65157 edge: "13",
65158 firefox: "45",
65159 safari: "10",
65160 node: "5",
65161 ios: "10",
65162 samsung: "5",
65163 electron: "0.36"
65164 },
65165 "transform-shorthand-properties": {
65166 chrome: "43",
65167 opera: "30",
65168 edge: "12",
65169 firefox: "33",
65170 safari: "9",
65171 node: "4",
65172 ios: "9",
65173 samsung: "4",
65174 electron: "0.27"
65175 },
65176 "transform-duplicate-keys": {
65177 chrome: "42",
65178 opera: "29",
65179 edge: "12",
65180 firefox: "34",
65181 safari: "9",
65182 node: "4",
65183 ios: "9",
65184 samsung: "3.4",
65185 electron: "0.25"
65186 },
65187 "transform-computed-properties": {
65188 chrome: "44",
65189 opera: "31",
65190 edge: "12",
65191 firefox: "34",
65192 safari: "7.1",
65193 node: "4",
65194 ios: "8",
65195 samsung: "4",
65196 electron: "0.30"
65197 },
65198 "transform-for-of": {
65199 chrome: "51",
65200 opera: "38",
65201 edge: "15",
65202 firefox: "53",
65203 safari: "10",
65204 node: "6.5",
65205 ios: "10",
65206 samsung: "5",
65207 electron: "1.2"
65208 },
65209 "transform-sticky-regex": {
65210 chrome: "49",
65211 opera: "36",
65212 edge: "13",
65213 firefox: "3",
65214 safari: "10",
65215 node: "6",
65216 ios: "10",
65217 samsung: "5",
65218 electron: "0.37"
65219 },
65220 "transform-unicode-escapes": {
65221 chrome: "44",
65222 opera: "31",
65223 edge: "12",
65224 firefox: "53",
65225 safari: "9",
65226 node: "4",
65227 ios: "9",
65228 samsung: "4",
65229 electron: "0.30"
65230 },
65231 "transform-unicode-regex": {
65232 chrome: "50",
65233 opera: "37",
65234 edge: "13",
65235 firefox: "46",
65236 safari: "12",
65237 node: "6",
65238 ios: "12",
65239 samsung: "5",
65240 electron: "1.1"
65241 },
65242 "transform-spread": {
65243 chrome: "46",
65244 opera: "33",
65245 edge: "13",
65246 firefox: "45",
65247 safari: "10",
65248 node: "5",
65249 ios: "10",
65250 samsung: "5",
65251 electron: "0.36"
65252 },
65253 "transform-destructuring": {
65254 chrome: "51",
65255 opera: "38",
65256 edge: "15",
65257 firefox: "53",
65258 safari: "10",
65259 node: "6.5",
65260 ios: "10",
65261 samsung: "5",
65262 electron: "1.2"
65263 },
65264 "transform-block-scoping": {
65265 chrome: "49",
65266 opera: "36",
65267 edge: "14",
65268 firefox: "51",
65269 safari: "11",
65270 node: "6",
65271 ios: "11",
65272 samsung: "5",
65273 electron: "0.37"
65274 },
65275 "transform-typeof-symbol": {
65276 chrome: "38",
65277 opera: "25",
65278 edge: "12",
65279 firefox: "36",
65280 safari: "9",
65281 node: "0.12",
65282 ios: "9",
65283 samsung: "3",
65284 electron: "0.20"
65285 },
65286 "transform-new-target": {
65287 chrome: "46",
65288 opera: "33",
65289 edge: "14",
65290 firefox: "41",
65291 safari: "10",
65292 node: "5",
65293 ios: "10",
65294 samsung: "5",
65295 electron: "0.36"
65296 },
65297 "transform-regenerator": {
65298 chrome: "50",
65299 opera: "37",
65300 edge: "13",
65301 firefox: "53",
65302 safari: "10",
65303 node: "6",
65304 ios: "10",
65305 samsung: "5",
65306 electron: "1.1"
65307 },
65308 "transform-member-expression-literals": {
65309 chrome: "7",
65310 opera: "12",
65311 edge: "12",
65312 firefox: "2",
65313 safari: "5.1",
65314 node: "0.10",
65315 ie: "9",
65316 android: "4",
65317 ios: "6",
65318 phantom: "2",
65319 samsung: "1",
65320 electron: "0.20"
65321 },
65322 "transform-property-literals": {
65323 chrome: "7",
65324 opera: "12",
65325 edge: "12",
65326 firefox: "2",
65327 safari: "5.1",
65328 node: "0.10",
65329 ie: "9",
65330 android: "4",
65331 ios: "6",
65332 phantom: "2",
65333 samsung: "1",
65334 electron: "0.20"
65335 },
65336 "transform-reserved-words": {
65337 chrome: "13",
65338 opera: "10.50",
65339 edge: "12",
65340 firefox: "2",
65341 safari: "3.1",
65342 node: "0.10",
65343 ie: "9",
65344 android: "4.4",
65345 ios: "6",
65346 phantom: "2",
65347 samsung: "1",
65348 electron: "0.20"
65349 },
65350 "proposal-export-namespace-from": {
65351 chrome: "72",
65352 and_chr: "72",
65353 edge: "79",
65354 firefox: "80",
65355 and_ff: "80",
65356 node: "13.2",
65357 opera: "60",
65358 op_mob: "51",
65359 samsung: "11.0",
65360 android: "72",
65361 electron: "5.0"
65362 }
65363 };
65364
65365 var plugins = require$$0$6;
65366
65367 function targetsSupported(target, support) {
65368 var targetEnvironments = Object.keys(target);
65369
65370 if (targetEnvironments.length === 0) {
65371 return false;
65372 }
65373
65374 var unsupportedEnvironments = targetEnvironments.filter(function (environment) {
65375 var lowestImplementedVersion = getLowestImplementedVersion(support, environment);
65376
65377 if (!lowestImplementedVersion) {
65378 return true;
65379 }
65380
65381 var lowestTargetedVersion = target[environment];
65382
65383 if (isUnreleasedVersion(lowestTargetedVersion, environment)) {
65384 return false;
65385 }
65386
65387 if (isUnreleasedVersion(lowestImplementedVersion, environment)) {
65388 return true;
65389 }
65390
65391 if (!semver$7.valid(lowestTargetedVersion.toString())) {
65392 throw new Error("Invalid version passed for target \"" + environment + "\": \"" + lowestTargetedVersion + "\". " + "Versions must be in semver format (major.minor.patch)");
65393 }
65394
65395 return semver$7.gt(semverify(lowestImplementedVersion), lowestTargetedVersion.toString());
65396 });
65397 return unsupportedEnvironments.length === 0;
65398 }
65399 function isRequired(name, targets, _temp) {
65400 var _ref = _temp === void 0 ? {} : _temp,
65401 _ref$compatData = _ref.compatData,
65402 compatData = _ref$compatData === void 0 ? plugins : _ref$compatData,
65403 includes = _ref.includes,
65404 excludes = _ref.excludes;
65405
65406 if (excludes != null && excludes.has(name)) return false;
65407 if (includes != null && includes.has(name)) return true;
65408 return !targetsSupported(targets, compatData[name]);
65409 }
65410 function filterItems(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) {
65411 var result = new Set();
65412 var options = {
65413 compatData: list,
65414 includes: includes,
65415 excludes: excludes
65416 };
65417
65418 for (var item in list) {
65419 if (isRequired(item, targets, options)) {
65420 result.add(item);
65421 } else if (pluginSyntaxMap) {
65422 var shippedProposalsSyntax = pluginSyntaxMap.get(item);
65423
65424 if (shippedProposalsSyntax) {
65425 result.add(shippedProposalsSyntax);
65426 }
65427 }
65428 }
65429
65430 if (defaultIncludes) {
65431 defaultIncludes.forEach(function (item) {
65432 return !excludes.has(item) && result.add(item);
65433 });
65434 }
65435
65436 if (defaultExcludes) {
65437 defaultExcludes.forEach(function (item) {
65438 return !includes.has(item) && result["delete"](item);
65439 });
65440 }
65441
65442 return result;
65443 }
65444
65445 var ESM_SUPPORT = nativeModules["es6.module"];
65446 var v$2 = new OptionValidator("@babel/helper-compilation-targets");
65447
65448 function validateTargetNames(targets) {
65449 var validTargets = Object.keys(TargetNames);
65450
65451 for (var _i = 0, _Object$keys = Object.keys(targets); _i < _Object$keys.length; _i++) {
65452 var target = _Object$keys[_i];
65453
65454 if (!(target in TargetNames)) {
65455 throw new Error(v$2.formatMessage("'" + target + "' is not a valid target\n- Did you mean '" + findSuggestion(target, validTargets) + "'?"));
65456 }
65457 }
65458
65459 return targets;
65460 }
65461
65462 function isBrowsersQueryValid(browsers) {
65463 return typeof browsers === "string" || Array.isArray(browsers) && browsers.every(function (b) {
65464 return typeof b === "string";
65465 });
65466 }
65467
65468 function validateBrowsers(browsers) {
65469 v$2.invariant(browsers === undefined || isBrowsersQueryValid(browsers), "'" + String(browsers) + "' is not a valid browserslist query");
65470 return browsers;
65471 }
65472
65473 function getLowestVersions(browsers) {
65474 return browsers.reduce(function (all, browser) {
65475 var _browser$split = browser.split(" "),
65476 _browser$split2 = _slicedToArray$2(_browser$split, 2),
65477 browserName = _browser$split2[0],
65478 browserVersion = _browser$split2[1];
65479
65480 var normalizedBrowserName = browserNameMap[browserName];
65481
65482 if (!normalizedBrowserName) {
65483 return all;
65484 }
65485
65486 try {
65487 var splitVersion = browserVersion.split("-")[0].toLowerCase();
65488 var isSplitUnreleased = isUnreleasedVersion(splitVersion, browserName);
65489
65490 if (!all[normalizedBrowserName]) {
65491 all[normalizedBrowserName] = isSplitUnreleased ? splitVersion : semverify(splitVersion);
65492 return all;
65493 }
65494
65495 var version = all[normalizedBrowserName];
65496 var isUnreleased = isUnreleasedVersion(version, browserName);
65497
65498 if (isUnreleased && isSplitUnreleased) {
65499 all[normalizedBrowserName] = getLowestUnreleased(version, splitVersion, browserName);
65500 } else if (isUnreleased) {
65501 all[normalizedBrowserName] = semverify(splitVersion);
65502 } else if (!isUnreleased && !isSplitUnreleased) {
65503 var parsedBrowserVersion = semverify(splitVersion);
65504 all[normalizedBrowserName] = semverMin(version, parsedBrowserVersion);
65505 }
65506 } catch (e) {}
65507
65508 return all;
65509 }, {});
65510 }
65511
65512 function outputDecimalWarning(decimalTargets) {
65513 if (!decimalTargets.length) {
65514 return;
65515 }
65516
65517 console.warn("Warning, the following targets are using a decimal version:\n");
65518 decimalTargets.forEach(function (_ref) {
65519 var target = _ref.target,
65520 value = _ref.value;
65521 return console.warn(" " + target + ": " + value);
65522 });
65523 console.warn("\nWe recommend using a string for minor/patch versions to avoid numbers like 6.10\ngetting parsed as 6.1, which can lead to unexpected behavior.\n");
65524 }
65525
65526 function semverifyTarget(target, value) {
65527 try {
65528 return semverify(value);
65529 } catch (error) {
65530 throw new Error(v$2.formatMessage("'" + value + "' is not a valid value for 'targets." + target + "'."));
65531 }
65532 }
65533
65534 var targetParserMap = {
65535 __default: function __default(target, value) {
65536 var version = isUnreleasedVersion(value, target) ? value.toLowerCase() : semverifyTarget(target, value);
65537 return [target, version];
65538 },
65539 node: function node(target, value) {
65540 var parsed = value === true || value === "current" ? browser$6.versions.node : semverifyTarget(target, value);
65541 return [target, parsed];
65542 }
65543 };
65544
65545 function generateTargets(inputTargets) {
65546 var input = Object.assign({}, inputTargets);
65547 delete input.esmodules;
65548 delete input.browsers;
65549 return input;
65550 }
65551
65552 function resolveTargets$1(queries) {
65553 var resolved = browserslist_1(queries, {
65554 mobileToDesktop: true
65555 });
65556 return getLowestVersions(resolved);
65557 }
65558
65559 function getTargets$2(inputTargets, options) {
65560 var _browsers;
65561
65562 if (inputTargets === void 0) {
65563 inputTargets = {};
65564 }
65565
65566 if (options === void 0) {
65567 options = {};
65568 }
65569
65570 var _inputTargets = inputTargets,
65571 browsers = _inputTargets.browsers,
65572 esmodules = _inputTargets.esmodules;
65573 var _options = options,
65574 _options$configPath = _options.configPath,
65575 configPath = _options$configPath === void 0 ? "." : _options$configPath;
65576 validateBrowsers(browsers);
65577 var input = generateTargets(inputTargets);
65578 var targets = validateTargetNames(input);
65579 var shouldParseBrowsers = !!browsers;
65580 var hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0;
65581 var shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets;
65582
65583 if (!browsers && shouldSearchForConfig) {
65584 browsers = browserslist_1.loadConfig({
65585 config: options.configFile,
65586 path: configPath,
65587 env: options.browserslistEnv
65588 });
65589
65590 if (browsers == null) {
65591 {
65592 browsers = [];
65593 }
65594 }
65595 }
65596
65597 if (esmodules && (esmodules !== "intersect" || !((_browsers = browsers) != null && _browsers.length))) {
65598 browsers = Object.keys(ESM_SUPPORT).map(function (browser) {
65599 return browser + " >= " + ESM_SUPPORT[browser];
65600 }).join(", ");
65601 esmodules = false;
65602 }
65603
65604 if (browsers) {
65605 var queryBrowsers = resolveTargets$1(browsers);
65606
65607 if (esmodules === "intersect") {
65608 for (var _i2 = 0, _Object$keys2 = Object.keys(queryBrowsers); _i2 < _Object$keys2.length; _i2++) {
65609 var browser = _Object$keys2[_i2];
65610 var version = queryBrowsers[browser];
65611
65612 if (ESM_SUPPORT[browser]) {
65613 queryBrowsers[browser] = getHighestUnreleased(version, semverify(ESM_SUPPORT[browser]), browser);
65614 } else {
65615 delete queryBrowsers[browser];
65616 }
65617 }
65618 }
65619
65620 targets = Object.assign(queryBrowsers, targets);
65621 }
65622
65623 var result = {};
65624 var decimalWarnings = [];
65625
65626 for (var _iterator = _createForOfIteratorHelperLoose(Object.keys(targets).sort()), _step; !(_step = _iterator()).done;) {
65627 var _targetParserMap$targ;
65628
65629 var target = _step.value;
65630 var value = targets[target];
65631
65632 if (typeof value === "number" && value % 1 !== 0) {
65633 decimalWarnings.push({
65634 target: target,
65635 value: value
65636 });
65637 }
65638
65639 var parser = (_targetParserMap$targ = targetParserMap[target]) != null ? _targetParserMap$targ : targetParserMap.__default;
65640
65641 var _parser = parser(target, value),
65642 _parser2 = _slicedToArray$2(_parser, 2),
65643 parsedTarget = _parser2[0],
65644 parsedValue = _parser2[1];
65645
65646 if (parsedValue) {
65647 result[parsedTarget] = parsedValue;
65648 }
65649 }
65650
65651 outputDecimalWarning(decimalWarnings);
65652 return result;
65653 }
65654
65655 function resolveBrowserslistConfigFile(browserslistConfigFile, configFilePath) {
65656 return undefined;
65657 }
65658 function resolveTargets(options, root) {
65659 var targets = options.targets;
65660
65661 if (typeof targets === "string" || Array.isArray(targets)) {
65662 targets = {
65663 browsers: targets
65664 };
65665 }
65666
65667 if (targets && targets.esmodules) {
65668 targets = Object.assign({}, targets, {
65669 esmodules: "intersect"
65670 });
65671 }
65672
65673 return getTargets$2(targets, {
65674 ignoreBrowserslistConfig: true,
65675 browserslistEnv: options.browserslistEnv
65676 });
65677 }
65678
65679 var _marked$7 = regenerator.mark(handlerOf),
65680 _marked2$3 = regenerator.mark(createPresetDescriptors),
65681 _marked3$1 = regenerator.mark(createPluginDescriptors),
65682 _marked4$1 = regenerator.mark(createDescriptors),
65683 _marked5$1 = regenerator.mark(createDescriptor);
65684
65685 function isEqualDescriptor(a, b) {
65686 return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && (a.file && a.file.request) === (b.file && b.file.request) && (a.file && a.file.resolved) === (b.file && b.file.resolved);
65687 }
65688
65689 function handlerOf(value) {
65690 return regenerator.wrap(function handlerOf$(_context) {
65691 while (1) {
65692 switch (_context.prev = _context.next) {
65693 case 0:
65694 return _context.abrupt("return", value);
65695
65696 case 1:
65697 case "end":
65698 return _context.stop();
65699 }
65700 }
65701 }, _marked$7);
65702 }
65703
65704 function optionsWithResolvedBrowserslistConfigFile(options, dirname) {
65705 if (typeof options.browserslistConfigFile === "string") {
65706 options.browserslistConfigFile = resolveBrowserslistConfigFile(options.browserslistConfigFile);
65707 }
65708
65709 return options;
65710 }
65711
65712 function createCachedDescriptors(dirname, options, alias) {
65713 var plugins = options.plugins,
65714 presets = options.presets,
65715 passPerPreset = options.passPerPreset;
65716 return {
65717 options: optionsWithResolvedBrowserslistConfigFile(options),
65718 plugins: plugins ? function () {
65719 return createCachedPluginDescriptors(plugins, dirname)(alias);
65720 } : function () {
65721 return handlerOf([]);
65722 },
65723 presets: presets ? function () {
65724 return createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset);
65725 } : function () {
65726 return handlerOf([]);
65727 }
65728 };
65729 }
65730 function createUncachedDescriptors(dirname, options, alias) {
65731 var _plugins;
65732
65733 var _presets;
65734
65735 return {
65736 options: optionsWithResolvedBrowserslistConfigFile(options),
65737 plugins: regenerator.mark(function plugins() {
65738 return regenerator.wrap(function plugins$(_context2) {
65739 while (1) {
65740 switch (_context2.prev = _context2.next) {
65741 case 0:
65742 if (_plugins) {
65743 _context2.next = 3;
65744 break;
65745 }
65746
65747 return _context2.delegateYield(createPluginDescriptors(options.plugins || [], dirname, alias), "t0", 2);
65748
65749 case 2:
65750 _plugins = _context2.t0;
65751
65752 case 3:
65753 return _context2.abrupt("return", _plugins);
65754
65755 case 4:
65756 case "end":
65757 return _context2.stop();
65758 }
65759 }
65760 }, plugins);
65761 }),
65762 presets: regenerator.mark(function presets() {
65763 return regenerator.wrap(function presets$(_context3) {
65764 while (1) {
65765 switch (_context3.prev = _context3.next) {
65766 case 0:
65767 if (_presets) {
65768 _context3.next = 3;
65769 break;
65770 }
65771
65772 return _context3.delegateYield(createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset), "t0", 2);
65773
65774 case 2:
65775 _presets = _context3.t0;
65776
65777 case 3:
65778 return _context3.abrupt("return", _presets);
65779
65780 case 4:
65781 case "end":
65782 return _context3.stop();
65783 }
65784 }
65785 }, presets);
65786 })
65787 };
65788 }
65789 var PRESET_DESCRIPTOR_CACHE = new WeakMap();
65790 var createCachedPresetDescriptors = makeWeakCacheSync(function (items, cache) {
65791 var dirname = cache.using(function (dir) {
65792 return dir;
65793 });
65794 return makeStrongCacheSync(function (alias) {
65795 return makeStrongCache(regenerator.mark(function _callee(passPerPreset) {
65796 var descriptors;
65797 return regenerator.wrap(function _callee$(_context4) {
65798 while (1) {
65799 switch (_context4.prev = _context4.next) {
65800 case 0:
65801 return _context4.delegateYield(createPresetDescriptors(items, dirname, alias, passPerPreset), "t0", 1);
65802
65803 case 1:
65804 descriptors = _context4.t0;
65805 return _context4.abrupt("return", descriptors.map(function (desc) {
65806 return loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc);
65807 }));
65808
65809 case 3:
65810 case "end":
65811 return _context4.stop();
65812 }
65813 }
65814 }, _callee);
65815 }));
65816 });
65817 });
65818 var PLUGIN_DESCRIPTOR_CACHE = new WeakMap();
65819 var createCachedPluginDescriptors = makeWeakCacheSync(function (items, cache) {
65820 var dirname = cache.using(function (dir) {
65821 return dir;
65822 });
65823 return makeStrongCache(regenerator.mark(function _callee2(alias) {
65824 var descriptors;
65825 return regenerator.wrap(function _callee2$(_context5) {
65826 while (1) {
65827 switch (_context5.prev = _context5.next) {
65828 case 0:
65829 return _context5.delegateYield(createPluginDescriptors(items, dirname, alias), "t0", 1);
65830
65831 case 1:
65832 descriptors = _context5.t0;
65833 return _context5.abrupt("return", descriptors.map(function (desc) {
65834 return loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc);
65835 }));
65836
65837 case 3:
65838 case "end":
65839 return _context5.stop();
65840 }
65841 }
65842 }, _callee2);
65843 }));
65844 });
65845 var DEFAULT_OPTIONS = {};
65846
65847 function loadCachedDescriptor(cache, desc) {
65848 var value = desc.value,
65849 _desc$options = desc.options,
65850 options = _desc$options === void 0 ? DEFAULT_OPTIONS : _desc$options;
65851 if (options === false) return desc;
65852 var cacheByOptions = cache.get(value);
65853
65854 if (!cacheByOptions) {
65855 cacheByOptions = new WeakMap();
65856 cache.set(value, cacheByOptions);
65857 }
65858
65859 var possibilities = cacheByOptions.get(options);
65860
65861 if (!possibilities) {
65862 possibilities = [];
65863 cacheByOptions.set(options, possibilities);
65864 }
65865
65866 if (possibilities.indexOf(desc) === -1) {
65867 var matches = possibilities.filter(function (possibility) {
65868 return isEqualDescriptor(possibility, desc);
65869 });
65870
65871 if (matches.length > 0) {
65872 return matches[0];
65873 }
65874
65875 possibilities.push(desc);
65876 }
65877
65878 return desc;
65879 }
65880
65881 function createPresetDescriptors(items, dirname, alias, passPerPreset) {
65882 return regenerator.wrap(function createPresetDescriptors$(_context6) {
65883 while (1) {
65884 switch (_context6.prev = _context6.next) {
65885 case 0:
65886 return _context6.delegateYield(createDescriptors("preset", items, dirname, alias, passPerPreset), "t0", 1);
65887
65888 case 1:
65889 return _context6.abrupt("return", _context6.t0);
65890
65891 case 2:
65892 case "end":
65893 return _context6.stop();
65894 }
65895 }
65896 }, _marked2$3);
65897 }
65898
65899 function createPluginDescriptors(items, dirname, alias) {
65900 return regenerator.wrap(function createPluginDescriptors$(_context7) {
65901 while (1) {
65902 switch (_context7.prev = _context7.next) {
65903 case 0:
65904 return _context7.delegateYield(createDescriptors("plugin", items, dirname, alias), "t0", 1);
65905
65906 case 1:
65907 return _context7.abrupt("return", _context7.t0);
65908
65909 case 2:
65910 case "end":
65911 return _context7.stop();
65912 }
65913 }
65914 }, _marked3$1);
65915 }
65916
65917 function createDescriptors(type, items, dirname, alias, ownPass) {
65918 var descriptors;
65919 return regenerator.wrap(function createDescriptors$(_context8) {
65920 while (1) {
65921 switch (_context8.prev = _context8.next) {
65922 case 0:
65923 return _context8.delegateYield(gensync.all(items.map(function (item, index) {
65924 return createDescriptor(item, dirname, {
65925 type: type,
65926 alias: alias + "$" + index,
65927 ownPass: !!ownPass
65928 });
65929 })), "t0", 1);
65930
65931 case 1:
65932 descriptors = _context8.t0;
65933 assertNoDuplicates(descriptors);
65934 return _context8.abrupt("return", descriptors);
65935
65936 case 4:
65937 case "end":
65938 return _context8.stop();
65939 }
65940 }
65941 }, _marked4$1);
65942 }
65943
65944 function createDescriptor(pair, dirname, _ref) {
65945 var type, alias, ownPass, desc, name, options, value, _value, _value2, _value3, _value4, file, filepath, resolver, request, _yield$resolver;
65946
65947 return regenerator.wrap(function createDescriptor$(_context9) {
65948 while (1) {
65949 switch (_context9.prev = _context9.next) {
65950 case 0:
65951 type = _ref.type, alias = _ref.alias, ownPass = _ref.ownPass;
65952 desc = getItemDescriptor(pair);
65953
65954 if (!desc) {
65955 _context9.next = 4;
65956 break;
65957 }
65958
65959 return _context9.abrupt("return", desc);
65960
65961 case 4:
65962 value = pair;
65963
65964 if (Array.isArray(value)) {
65965 if (value.length === 3) {
65966 _value = value;
65967 _value2 = _slicedToArray$2(_value, 3);
65968 value = _value2[0];
65969 options = _value2[1];
65970 name = _value2[2];
65971 } else {
65972 _value3 = value;
65973 _value4 = _slicedToArray$2(_value3, 2);
65974 value = _value4[0];
65975 options = _value4[1];
65976 }
65977 }
65978
65979 file = undefined;
65980 filepath = null;
65981
65982 if (!(typeof value === "string")) {
65983 _context9.next = 18;
65984 break;
65985 }
65986
65987 if (!(typeof type !== "string")) {
65988 _context9.next = 11;
65989 break;
65990 }
65991
65992 throw new Error("To resolve a string-based item, the type of item must be given");
65993
65994 case 11:
65995 resolver = type === "plugin" ? loadPlugin : loadPreset;
65996 request = value;
65997 return _context9.delegateYield(resolver(value, dirname), "t0", 14);
65998
65999 case 14:
66000 _yield$resolver = _context9.t0;
66001 filepath = _yield$resolver.filepath;
66002 value = _yield$resolver.value;
66003 file = {
66004 request: request,
66005 resolved: filepath
66006 };
66007
66008 case 18:
66009 if (value) {
66010 _context9.next = 20;
66011 break;
66012 }
66013
66014 throw new Error("Unexpected falsy value: " + String(value));
66015
66016 case 20:
66017 if (!(typeof value === "object" && value.__esModule)) {
66018 _context9.next = 26;
66019 break;
66020 }
66021
66022 if (!value["default"]) {
66023 _context9.next = 25;
66024 break;
66025 }
66026
66027 value = value["default"];
66028 _context9.next = 26;
66029 break;
66030
66031 case 25:
66032 throw new Error("Must export a default export when using ES6 modules.");
66033
66034 case 26:
66035 if (!(typeof value !== "object" && typeof value !== "function")) {
66036 _context9.next = 28;
66037 break;
66038 }
66039
66040 throw new Error("Unsupported format: " + typeof value + ". Expected an object or a function.");
66041
66042 case 28:
66043 if (!(filepath !== null && typeof value === "object" && value)) {
66044 _context9.next = 30;
66045 break;
66046 }
66047
66048 throw new Error("Plugin/Preset files are not allowed to export objects, only functions. In " + filepath);
66049
66050 case 30:
66051 return _context9.abrupt("return", {
66052 name: name,
66053 alias: filepath || alias,
66054 value: value,
66055 options: options,
66056 dirname: dirname,
66057 ownPass: ownPass,
66058 file: file
66059 });
66060
66061 case 31:
66062 case "end":
66063 return _context9.stop();
66064 }
66065 }
66066 }, _marked5$1);
66067 }
66068
66069 function assertNoDuplicates(items) {
66070 var map = new Map();
66071
66072 var _loop = function _loop() {
66073 var item = _step.value;
66074 if (typeof item.value !== "function") return "continue";
66075 var nameMap = map.get(item.value);
66076
66077 if (!nameMap) {
66078 nameMap = new Set();
66079 map.set(item.value, nameMap);
66080 }
66081
66082 if (nameMap.has(item.name)) {
66083 var conflicts = items.filter(function (i) {
66084 return i.value === item.value;
66085 });
66086 throw new Error(["Duplicate plugin/preset detected.", "If you'd like to use two separate instances of a plugin,", "they need separate names, e.g.", "", " plugins: [", " ['some-plugin', {}],", " ['some-plugin', {}, 'some unique name'],", " ]", "", "Duplicates detected are:", "" + JSON.stringify(conflicts, null, 2)].join("\n"));
66087 }
66088
66089 nameMap.add(item.name);
66090 };
66091
66092 for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
66093 var _ret = _loop();
66094
66095 if (_ret === "continue") continue;
66096 }
66097 }
66098
66099 var _marked$6 = regenerator.mark(createConfigItem$1);
66100 function createItemFromDescriptor(desc) {
66101 return new ConfigItem(desc);
66102 }
66103 function createConfigItem$1(value, _temp) {
66104 var _ref, _ref$dirname, dirname, type, descriptor;
66105
66106 return regenerator.wrap(function createConfigItem$(_context) {
66107 while (1) {
66108 switch (_context.prev = _context.next) {
66109 case 0:
66110 _ref = _temp === void 0 ? {} : _temp, _ref$dirname = _ref.dirname, dirname = _ref$dirname === void 0 ? "." : _ref$dirname, type = _ref.type;
66111 return _context.delegateYield(createDescriptor(value, path$1.resolve(dirname), {
66112 type: type,
66113 alias: "programmatic item"
66114 }), "t0", 2);
66115
66116 case 2:
66117 descriptor = _context.t0;
66118 return _context.abrupt("return", createItemFromDescriptor(descriptor));
66119
66120 case 4:
66121 case "end":
66122 return _context.stop();
66123 }
66124 }
66125 }, _marked$6);
66126 }
66127 function getItemDescriptor(item) {
66128 if (item != null && item[CONFIG_ITEM_BRAND]) {
66129 return item._descriptor;
66130 }
66131
66132 return undefined;
66133 }
66134 var CONFIG_ITEM_BRAND = Symbol["for"]("@babel/core@7 - ConfigItem");
66135
66136 var ConfigItem = function ConfigItem(descriptor) {
66137 this._descriptor = void 0;
66138 this[CONFIG_ITEM_BRAND] = true;
66139 this.value = void 0;
66140 this.options = void 0;
66141 this.dirname = void 0;
66142 this.name = void 0;
66143 this.file = void 0;
66144 this._descriptor = descriptor;
66145 Object.defineProperty(this, "_descriptor", {
66146 enumerable: false
66147 });
66148 Object.defineProperty(this, CONFIG_ITEM_BRAND, {
66149 enumerable: false
66150 });
66151 this.value = this._descriptor.value;
66152 this.options = this._descriptor.options;
66153 this.dirname = this._descriptor.dirname;
66154 this.name = this._descriptor.name;
66155 this.file = this._descriptor.file ? {
66156 request: this._descriptor.file.request,
66157 resolved: this._descriptor.file.resolved
66158 } : undefined;
66159 Object.freeze(this);
66160 };
66161
66162 Object.freeze(ConfigItem.prototype);
66163
66164 var s = 1000;
66165 var m$1 = s * 60;
66166 var h = m$1 * 60;
66167 var d = h * 24;
66168 var w = d * 7;
66169 var y = d * 365.25;
66170
66171 var ms = function ms(val, options) {
66172 options = options || {};
66173 var type = typeof val;
66174
66175 if (type === 'string' && val.length > 0) {
66176 return parse$4(val);
66177 } else if (type === 'number' && isFinite(val)) {
66178 return options["long"] ? fmtLong(val) : fmtShort(val);
66179 }
66180
66181 throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));
66182 };
66183
66184 function parse$4(str) {
66185 str = String(str);
66186
66187 if (str.length > 100) {
66188 return;
66189 }
66190
66191 var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
66192
66193 if (!match) {
66194 return;
66195 }
66196
66197 var n = parseFloat(match[1]);
66198 var type = (match[2] || 'ms').toLowerCase();
66199
66200 switch (type) {
66201 case 'years':
66202 case 'year':
66203 case 'yrs':
66204 case 'yr':
66205 case 'y':
66206 return n * y;
66207
66208 case 'weeks':
66209 case 'week':
66210 case 'w':
66211 return n * w;
66212
66213 case 'days':
66214 case 'day':
66215 case 'd':
66216 return n * d;
66217
66218 case 'hours':
66219 case 'hour':
66220 case 'hrs':
66221 case 'hr':
66222 case 'h':
66223 return n * h;
66224
66225 case 'minutes':
66226 case 'minute':
66227 case 'mins':
66228 case 'min':
66229 case 'm':
66230 return n * m$1;
66231
66232 case 'seconds':
66233 case 'second':
66234 case 'secs':
66235 case 'sec':
66236 case 's':
66237 return n * s;
66238
66239 case 'milliseconds':
66240 case 'millisecond':
66241 case 'msecs':
66242 case 'msec':
66243 case 'ms':
66244 return n;
66245
66246 default:
66247 return undefined;
66248 }
66249 }
66250
66251 function fmtShort(ms) {
66252 var msAbs = Math.abs(ms);
66253
66254 if (msAbs >= d) {
66255 return Math.round(ms / d) + 'd';
66256 }
66257
66258 if (msAbs >= h) {
66259 return Math.round(ms / h) + 'h';
66260 }
66261
66262 if (msAbs >= m$1) {
66263 return Math.round(ms / m$1) + 'm';
66264 }
66265
66266 if (msAbs >= s) {
66267 return Math.round(ms / s) + 's';
66268 }
66269
66270 return ms + 'ms';
66271 }
66272
66273 function fmtLong(ms) {
66274 var msAbs = Math.abs(ms);
66275
66276 if (msAbs >= d) {
66277 return plural(ms, msAbs, d, 'day');
66278 }
66279
66280 if (msAbs >= h) {
66281 return plural(ms, msAbs, h, 'hour');
66282 }
66283
66284 if (msAbs >= m$1) {
66285 return plural(ms, msAbs, m$1, 'minute');
66286 }
66287
66288 if (msAbs >= s) {
66289 return plural(ms, msAbs, s, 'second');
66290 }
66291
66292 return ms + ' ms';
66293 }
66294
66295 function plural(ms, msAbs, n, name) {
66296 var isPlural = msAbs >= n * 1.5;
66297 return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
66298 }
66299
66300 function setup(env) {
66301 createDebug.debug = createDebug;
66302 createDebug["default"] = createDebug;
66303 createDebug.coerce = coerce;
66304 createDebug.disable = disable;
66305 createDebug.enable = enable;
66306 createDebug.enabled = enabled;
66307 createDebug.humanize = ms;
66308 createDebug.destroy = destroy;
66309 Object.keys(env).forEach(function (key) {
66310 createDebug[key] = env[key];
66311 });
66312 createDebug.names = [];
66313 createDebug.skips = [];
66314 createDebug.formatters = {};
66315
66316 function selectColor(namespace) {
66317 var hash = 0;
66318
66319 for (var i = 0; i < namespace.length; i++) {
66320 hash = (hash << 5) - hash + namespace.charCodeAt(i);
66321 hash |= 0;
66322 }
66323
66324 return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
66325 }
66326
66327 createDebug.selectColor = selectColor;
66328
66329 function createDebug(namespace) {
66330 var prevTime;
66331 var enableOverride = null;
66332 var namespacesCache;
66333 var enabledCache;
66334
66335 function debug() {
66336 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
66337 args[_key] = arguments[_key];
66338 }
66339
66340 if (!debug.enabled) {
66341 return;
66342 }
66343
66344 var self = debug;
66345 var curr = Number(new Date());
66346 var ms = curr - (prevTime || curr);
66347 self.diff = ms;
66348 self.prev = prevTime;
66349 self.curr = curr;
66350 prevTime = curr;
66351 args[0] = createDebug.coerce(args[0]);
66352
66353 if (typeof args[0] !== 'string') {
66354 args.unshift('%O');
66355 }
66356
66357 var index = 0;
66358 args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {
66359 if (match === '%%') {
66360 return '%';
66361 }
66362
66363 index++;
66364 var formatter = createDebug.formatters[format];
66365
66366 if (typeof formatter === 'function') {
66367 var val = args[index];
66368 match = formatter.call(self, val);
66369 args.splice(index, 1);
66370 index--;
66371 }
66372
66373 return match;
66374 });
66375 createDebug.formatArgs.call(self, args);
66376 var logFn = self.log || createDebug.log;
66377 logFn.apply(self, args);
66378 }
66379
66380 debug.namespace = namespace;
66381 debug.useColors = createDebug.useColors();
66382 debug.color = createDebug.selectColor(namespace);
66383 debug.extend = extend;
66384 debug.destroy = createDebug.destroy;
66385 Object.defineProperty(debug, 'enabled', {
66386 enumerable: true,
66387 configurable: false,
66388 get: function get() {
66389 if (enableOverride !== null) {
66390 return enableOverride;
66391 }
66392
66393 if (namespacesCache !== createDebug.namespaces) {
66394 namespacesCache = createDebug.namespaces;
66395 enabledCache = createDebug.enabled(namespace);
66396 }
66397
66398 return enabledCache;
66399 },
66400 set: function set(v) {
66401 enableOverride = v;
66402 }
66403 });
66404
66405 if (typeof createDebug.init === 'function') {
66406 createDebug.init(debug);
66407 }
66408
66409 return debug;
66410 }
66411
66412 function extend(namespace, delimiter) {
66413 var newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
66414 newDebug.log = this.log;
66415 return newDebug;
66416 }
66417
66418 function enable(namespaces) {
66419 createDebug.save(namespaces);
66420 createDebug.namespaces = namespaces;
66421 createDebug.names = [];
66422 createDebug.skips = [];
66423 var i;
66424 var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
66425 var len = split.length;
66426
66427 for (i = 0; i < len; i++) {
66428 if (!split[i]) {
66429 continue;
66430 }
66431
66432 namespaces = split[i].replace(/\*/g, '.*?');
66433
66434 if (namespaces[0] === '-') {
66435 createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
66436 } else {
66437 createDebug.names.push(new RegExp('^' + namespaces + '$'));
66438 }
66439 }
66440 }
66441
66442 function disable() {
66443 var namespaces = [].concat(_toConsumableArray(createDebug.names.map(toNamespace)), _toConsumableArray(createDebug.skips.map(toNamespace).map(function (namespace) {
66444 return '-' + namespace;
66445 }))).join(',');
66446 createDebug.enable('');
66447 return namespaces;
66448 }
66449
66450 function enabled(name) {
66451 if (name[name.length - 1] === '*') {
66452 return true;
66453 }
66454
66455 var i;
66456 var len;
66457
66458 for (i = 0, len = createDebug.skips.length; i < len; i++) {
66459 if (createDebug.skips[i].test(name)) {
66460 return false;
66461 }
66462 }
66463
66464 for (i = 0, len = createDebug.names.length; i < len; i++) {
66465 if (createDebug.names[i].test(name)) {
66466 return true;
66467 }
66468 }
66469
66470 return false;
66471 }
66472
66473 function toNamespace(regexp) {
66474 return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, '*');
66475 }
66476
66477 function coerce(val) {
66478 if (val instanceof Error) {
66479 return val.stack || val.message;
66480 }
66481
66482 return val;
66483 }
66484
66485 function destroy() {
66486 console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
66487 }
66488
66489 createDebug.enable(createDebug.load());
66490 return createDebug;
66491 }
66492
66493 var common = setup;
66494
66495 var browser$1 = createCommonjsModule(function (module, exports) {
66496 exports.formatArgs = formatArgs;
66497 exports.save = save;
66498 exports.load = load;
66499 exports.useColors = useColors;
66500 exports.storage = localstorage();
66501
66502 exports.destroy = function () {
66503 var warned = false;
66504 return function () {
66505 if (!warned) {
66506 warned = true;
66507 console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
66508 }
66509 };
66510 }();
66511
66512 exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'];
66513
66514 function useColors() {
66515 if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
66516 return true;
66517 }
66518
66519 if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
66520 return false;
66521 }
66522
66523 return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
66524 }
66525
66526 function formatArgs(args) {
66527 args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff);
66528
66529 if (!this.useColors) {
66530 return;
66531 }
66532
66533 var c = 'color: ' + this.color;
66534 args.splice(1, 0, c, 'color: inherit');
66535 var index = 0;
66536 var lastC = 0;
66537 args[0].replace(/%[a-zA-Z%]/g, function (match) {
66538 if (match === '%%') {
66539 return;
66540 }
66541
66542 index++;
66543
66544 if (match === '%c') {
66545 lastC = index;
66546 }
66547 });
66548 args.splice(lastC, 0, c);
66549 }
66550
66551 exports.log = console.debug || console.log || function () {};
66552
66553 function save(namespaces) {
66554 try {
66555 if (namespaces) {
66556 exports.storage.setItem('debug', namespaces);
66557 } else {
66558 exports.storage.removeItem('debug');
66559 }
66560 } catch (error) {}
66561 }
66562
66563 function load() {
66564 var r;
66565
66566 try {
66567 r = exports.storage.getItem('debug');
66568 } catch (error) {}
66569
66570 if (!r && typeof browser$6 !== 'undefined' && 'env' in browser$6) {
66571 r = browser$6.env.DEBUG;
66572 }
66573
66574 return r;
66575 }
66576
66577 function localstorage() {
66578 try {
66579 return localStorage;
66580 } catch (error) {}
66581 }
66582
66583 module.exports = common(exports);
66584 var formatters = module.exports.formatters;
66585
66586 formatters.j = function (v) {
66587 try {
66588 return JSON.stringify(v);
66589 } catch (error) {
66590 return '[UnexpectedJSONParseError]: ' + error.message;
66591 }
66592 };
66593 }, "/$$rollup_base$$/packages/babel-core/node_modules/debug/src");
66594
66595 var removed = {
66596 auxiliaryComment: {
66597 message: "Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`"
66598 },
66599 blacklist: {
66600 message: "Put the specific transforms you want in the `plugins` option"
66601 },
66602 breakConfig: {
66603 message: "This is not a necessary option in Babel 6"
66604 },
66605 experimental: {
66606 message: "Put the specific transforms you want in the `plugins` option"
66607 },
66608 externalHelpers: {
66609 message: "Use the `external-helpers` plugin instead. " + "Check out http://babeljs.io/docs/plugins/external-helpers/"
66610 },
66611 extra: {
66612 message: ""
66613 },
66614 jsxPragma: {
66615 message: "use the `pragma` option in the `react-jsx` plugin. " + "Check out http://babeljs.io/docs/plugins/transform-react-jsx/"
66616 },
66617 loose: {
66618 message: "Specify the `loose` option for the relevant plugin you are using " + "or use a preset that sets the option."
66619 },
66620 metadataUsedHelpers: {
66621 message: "Not required anymore as this is enabled by default"
66622 },
66623 modules: {
66624 message: "Use the corresponding module transform plugin in the `plugins` option. " + "Check out http://babeljs.io/docs/plugins/#modules"
66625 },
66626 nonStandard: {
66627 message: "Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. " + "Also check out the react preset http://babeljs.io/docs/plugins/preset-react/"
66628 },
66629 optional: {
66630 message: "Put the specific transforms you want in the `plugins` option"
66631 },
66632 sourceMapName: {
66633 message: "The `sourceMapName` option has been removed because it makes more sense for the " + "tooling that calls Babel to assign `map.file` themselves."
66634 },
66635 stage: {
66636 message: "Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets"
66637 },
66638 whitelist: {
66639 message: "Put the specific transforms you want in the `plugins` option"
66640 },
66641 resolveModuleSource: {
66642 version: 6,
66643 message: "Use `babel-plugin-module-resolver@3`'s 'resolvePath' options"
66644 },
66645 metadata: {
66646 version: 6,
66647 message: "Generated plugin metadata is always included in the output result"
66648 },
66649 sourceMapTarget: {
66650 version: 6,
66651 message: "The `sourceMapTarget` option has been removed because it makes more sense for the tooling " + "that calls Babel to assign `map.file` themselves."
66652 }
66653 };
66654
66655 function msg(loc) {
66656 switch (loc.type) {
66657 case "root":
66658 return "";
66659
66660 case "env":
66661 return msg(loc.parent) + ".env[\"" + loc.name + "\"]";
66662
66663 case "overrides":
66664 return msg(loc.parent) + ".overrides[" + loc.index + "]";
66665
66666 case "option":
66667 return msg(loc.parent) + "." + loc.name;
66668
66669 case "access":
66670 return msg(loc.parent) + "[" + JSON.stringify(loc.name) + "]";
66671
66672 default:
66673 throw new Error("Assertion failure: Unknown type " + loc.type);
66674 }
66675 }
66676 function access(loc, name) {
66677 return {
66678 type: "access",
66679 name: name,
66680 parent: loc
66681 };
66682 }
66683 function assertRootMode(loc, value) {
66684 if (value !== undefined && value !== "root" && value !== "upward" && value !== "upward-optional") {
66685 throw new Error(msg(loc) + " must be a \"root\", \"upward\", \"upward-optional\" or undefined");
66686 }
66687
66688 return value;
66689 }
66690 function assertSourceMaps(loc, value) {
66691 if (value !== undefined && typeof value !== "boolean" && value !== "inline" && value !== "both") {
66692 throw new Error(msg(loc) + " must be a boolean, \"inline\", \"both\", or undefined");
66693 }
66694
66695 return value;
66696 }
66697 function assertCompact(loc, value) {
66698 if (value !== undefined && typeof value !== "boolean" && value !== "auto") {
66699 throw new Error(msg(loc) + " must be a boolean, \"auto\", or undefined");
66700 }
66701
66702 return value;
66703 }
66704 function assertSourceType(loc, value) {
66705 if (value !== undefined && value !== "module" && value !== "script" && value !== "unambiguous") {
66706 throw new Error(msg(loc) + " must be \"module\", \"script\", \"unambiguous\", or undefined");
66707 }
66708
66709 return value;
66710 }
66711 function assertCallerMetadata(loc, value) {
66712 var obj = assertObject(loc, value);
66713
66714 if (obj) {
66715 if (typeof obj.name !== "string") {
66716 throw new Error(msg(loc) + " set but does not contain \"name\" property string");
66717 }
66718
66719 for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) {
66720 var prop = _Object$keys[_i];
66721 var propLoc = access(loc, prop);
66722 var _value = obj[prop];
66723
66724 if (_value != null && typeof _value !== "boolean" && typeof _value !== "string" && typeof _value !== "number") {
66725 throw new Error(msg(propLoc) + " must be null, undefined, a boolean, a string, or a number.");
66726 }
66727 }
66728 }
66729
66730 return value;
66731 }
66732 function assertInputSourceMap(loc, value) {
66733 if (value !== undefined && typeof value !== "boolean" && (typeof value !== "object" || !value)) {
66734 throw new Error(msg(loc) + " must be a boolean, object, or undefined");
66735 }
66736
66737 return value;
66738 }
66739 function assertString(loc, value) {
66740 if (value !== undefined && typeof value !== "string") {
66741 throw new Error(msg(loc) + " must be a string, or undefined");
66742 }
66743
66744 return value;
66745 }
66746 function assertFunction(loc, value) {
66747 if (value !== undefined && typeof value !== "function") {
66748 throw new Error(msg(loc) + " must be a function, or undefined");
66749 }
66750
66751 return value;
66752 }
66753 function assertBoolean(loc, value) {
66754 if (value !== undefined && typeof value !== "boolean") {
66755 throw new Error(msg(loc) + " must be a boolean, or undefined");
66756 }
66757
66758 return value;
66759 }
66760 function assertObject(loc, value) {
66761 if (value !== undefined && (typeof value !== "object" || Array.isArray(value) || !value)) {
66762 throw new Error(msg(loc) + " must be an object, or undefined");
66763 }
66764
66765 return value;
66766 }
66767 function assertArray(loc, value) {
66768 if (value != null && !Array.isArray(value)) {
66769 throw new Error(msg(loc) + " must be an array, or undefined");
66770 }
66771
66772 return value;
66773 }
66774 function assertIgnoreList(loc, value) {
66775 var arr = assertArray(loc, value);
66776
66777 if (arr) {
66778 arr.forEach(function (item, i) {
66779 return assertIgnoreItem(access(loc, i), item);
66780 });
66781 }
66782
66783 return arr;
66784 }
66785
66786 function assertIgnoreItem(loc, value) {
66787 if (typeof value !== "string" && typeof value !== "function" && !(value instanceof RegExp)) {
66788 throw new Error(msg(loc) + " must be an array of string/Function/RegExp values, or undefined");
66789 }
66790
66791 return value;
66792 }
66793
66794 function assertConfigApplicableTest(loc, value) {
66795 if (value === undefined) return value;
66796
66797 if (Array.isArray(value)) {
66798 value.forEach(function (item, i) {
66799 if (!checkValidTest(item)) {
66800 throw new Error(msg(access(loc, i)) + " must be a string/Function/RegExp.");
66801 }
66802 });
66803 } else if (!checkValidTest(value)) {
66804 throw new Error(msg(loc) + " must be a string/Function/RegExp, or an array of those");
66805 }
66806
66807 return value;
66808 }
66809
66810 function checkValidTest(value) {
66811 return typeof value === "string" || typeof value === "function" || value instanceof RegExp;
66812 }
66813
66814 function assertConfigFileSearch(loc, value) {
66815 if (value !== undefined && typeof value !== "boolean" && typeof value !== "string") {
66816 throw new Error(msg(loc) + " must be a undefined, a boolean, a string, " + ("got " + JSON.stringify(value)));
66817 }
66818
66819 return value;
66820 }
66821 function assertBabelrcSearch(loc, value) {
66822 if (value === undefined || typeof value === "boolean") return value;
66823
66824 if (Array.isArray(value)) {
66825 value.forEach(function (item, i) {
66826 if (!checkValidTest(item)) {
66827 throw new Error(msg(access(loc, i)) + " must be a string/Function/RegExp.");
66828 }
66829 });
66830 } else if (!checkValidTest(value)) {
66831 throw new Error(msg(loc) + " must be a undefined, a boolean, a string/Function/RegExp " + ("or an array of those, got " + JSON.stringify(value)));
66832 }
66833
66834 return value;
66835 }
66836 function assertPluginList(loc, value) {
66837 var arr = assertArray(loc, value);
66838
66839 if (arr) {
66840 arr.forEach(function (item, i) {
66841 return assertPluginItem(access(loc, i), item);
66842 });
66843 }
66844
66845 return arr;
66846 }
66847
66848 function assertPluginItem(loc, value) {
66849 if (Array.isArray(value)) {
66850 if (value.length === 0) {
66851 throw new Error(msg(loc) + " must include an object");
66852 }
66853
66854 if (value.length > 3) {
66855 throw new Error(msg(loc) + " may only be a two-tuple or three-tuple");
66856 }
66857
66858 assertPluginTarget(access(loc, 0), value[0]);
66859
66860 if (value.length > 1) {
66861 var opts = value[1];
66862
66863 if (opts !== undefined && opts !== false && (typeof opts !== "object" || Array.isArray(opts) || opts === null)) {
66864 throw new Error(msg(access(loc, 1)) + " must be an object, false, or undefined");
66865 }
66866 }
66867
66868 if (value.length === 3) {
66869 var _name = value[2];
66870
66871 if (_name !== undefined && typeof _name !== "string") {
66872 throw new Error(msg(access(loc, 2)) + " must be a string, or undefined");
66873 }
66874 }
66875 } else {
66876 assertPluginTarget(loc, value);
66877 }
66878
66879 return value;
66880 }
66881
66882 function assertPluginTarget(loc, value) {
66883 if ((typeof value !== "object" || !value) && typeof value !== "string" && typeof value !== "function") {
66884 throw new Error(msg(loc) + " must be a string, object, function");
66885 }
66886
66887 return value;
66888 }
66889
66890 function assertTargets(loc, value) {
66891 if (isBrowsersQueryValid(value)) return value;
66892
66893 if (typeof value !== "object" || !value || Array.isArray(value)) {
66894 throw new Error(msg(loc) + " must be a string, an array of strings or an object");
66895 }
66896
66897 var browsersLoc = access(loc, "browsers");
66898 var esmodulesLoc = access(loc, "esmodules");
66899 assertBrowsersList(browsersLoc, value.browsers);
66900 assertBoolean(esmodulesLoc, value.esmodules);
66901
66902 for (var _i2 = 0, _Object$keys2 = Object.keys(value); _i2 < _Object$keys2.length; _i2++) {
66903 var _key = _Object$keys2[_i2];
66904 var val = value[_key];
66905 var subLoc = access(loc, _key);
66906 if (_key === "esmodules") assertBoolean(subLoc, val);else if (_key === "browsers") assertBrowsersList(subLoc, val);else if (!Object.hasOwnProperty.call(TargetNames, _key)) {
66907 var validTargets = Object.keys(TargetNames).join(", ");
66908 throw new Error(msg(subLoc) + " is not a valid target. Supported targets are " + validTargets);
66909 } else assertBrowserVersion(subLoc, val);
66910 }
66911
66912 return value;
66913 }
66914
66915 function assertBrowsersList(loc, value) {
66916 if (value !== undefined && !isBrowsersQueryValid(value)) {
66917 throw new Error(msg(loc) + " must be undefined, a string or an array of strings");
66918 }
66919 }
66920
66921 function assertBrowserVersion(loc, value) {
66922 if (typeof value === "number" && Math.round(value) === value) return;
66923 if (typeof value === "string") return;
66924 throw new Error(msg(loc) + " must be a string or an integer number");
66925 }
66926
66927 function assertAssumptions(loc, value) {
66928 if (value === undefined) return;
66929
66930 if (typeof value !== "object" || value === null) {
66931 throw new Error(msg(loc) + " must be an object or undefined.");
66932 }
66933
66934 var root = loc;
66935
66936 do {
66937 root = root.parent;
66938 } while (root.type !== "root");
66939
66940 var inPreset = root.source === "preset";
66941
66942 for (var _i3 = 0, _Object$keys3 = Object.keys(value); _i3 < _Object$keys3.length; _i3++) {
66943 var _name2 = _Object$keys3[_i3];
66944 var subLoc = access(loc, _name2);
66945
66946 if (!assumptionsNames.has(_name2)) {
66947 throw new Error(msg(subLoc) + " is not a supported assumption.");
66948 }
66949
66950 if (typeof value[_name2] !== "boolean") {
66951 throw new Error(msg(subLoc) + " must be a boolean.");
66952 }
66953
66954 if (inPreset && value[_name2] === false) {
66955 throw new Error(msg(subLoc) + " cannot be set to 'false' inside presets.");
66956 }
66957 }
66958
66959 return value;
66960 }
66961
66962 var ROOT_VALIDATORS = {
66963 cwd: assertString,
66964 root: assertString,
66965 rootMode: assertRootMode,
66966 configFile: assertConfigFileSearch,
66967 caller: assertCallerMetadata,
66968 filename: assertString,
66969 filenameRelative: assertString,
66970 code: assertBoolean,
66971 ast: assertBoolean,
66972 cloneInputAst: assertBoolean,
66973 envName: assertString
66974 };
66975 var BABELRC_VALIDATORS = {
66976 babelrc: assertBoolean,
66977 babelrcRoots: assertBabelrcSearch
66978 };
66979 var NONPRESET_VALIDATORS = {
66980 "extends": assertString,
66981 ignore: assertIgnoreList,
66982 only: assertIgnoreList,
66983 targets: assertTargets,
66984 browserslistConfigFile: assertConfigFileSearch,
66985 browserslistEnv: assertString
66986 };
66987 var COMMON_VALIDATORS = {
66988 inputSourceMap: assertInputSourceMap,
66989 presets: assertPluginList,
66990 plugins: assertPluginList,
66991 passPerPreset: assertBoolean,
66992 assumptions: assertAssumptions,
66993 env: assertEnvSet,
66994 overrides: assertOverridesList,
66995 test: assertConfigApplicableTest,
66996 include: assertConfigApplicableTest,
66997 exclude: assertConfigApplicableTest,
66998 retainLines: assertBoolean,
66999 comments: assertBoolean,
67000 shouldPrintComment: assertFunction,
67001 compact: assertCompact,
67002 minified: assertBoolean,
67003 auxiliaryCommentBefore: assertString,
67004 auxiliaryCommentAfter: assertString,
67005 sourceType: assertSourceType,
67006 wrapPluginVisitorMethod: assertFunction,
67007 highlightCode: assertBoolean,
67008 sourceMaps: assertSourceMaps,
67009 sourceMap: assertSourceMaps,
67010 sourceFileName: assertString,
67011 sourceRoot: assertString,
67012 parserOpts: assertObject,
67013 generatorOpts: assertObject
67014 };
67015 {
67016 Object.assign(COMMON_VALIDATORS, {
67017 getModuleId: assertFunction,
67018 moduleRoot: assertString,
67019 moduleIds: assertBoolean,
67020 moduleId: assertString
67021 });
67022 }
67023 var assumptionsNames = new Set(["arrayLikeIsIterable", "constantReexports", "constantSuper", "enumerableModuleMeta", "ignoreFunctionLength", "ignoreToPrimitiveHint", "iterableIsArray", "mutableTemplateObject", "noClassCalls", "noDocumentAll", "noNewArrows", "objectRestNoSymbols", "privateFieldsAsProperties", "pureGetters", "setClassMethods", "setComputedProperties", "setPublicClassFields", "setSpreadProperties", "skipForOfIteratorClosing", "superIsCallableConstructor"]);
67024
67025 function getSource(loc) {
67026 return loc.type === "root" ? loc.source : getSource(loc.parent);
67027 }
67028
67029 function validate(type, opts) {
67030 return validateNested({
67031 type: "root",
67032 source: type
67033 }, opts);
67034 }
67035
67036 function validateNested(loc, opts) {
67037 var type = getSource(loc);
67038 assertNoDuplicateSourcemap(opts);
67039 Object.keys(opts).forEach(function (key) {
67040 var optLoc = {
67041 type: "option",
67042 name: key,
67043 parent: loc
67044 };
67045
67046 if (type === "preset" && NONPRESET_VALIDATORS[key]) {
67047 throw new Error(msg(optLoc) + " is not allowed in preset options");
67048 }
67049
67050 if (type !== "arguments" && ROOT_VALIDATORS[key]) {
67051 throw new Error(msg(optLoc) + " is only allowed in root programmatic options");
67052 }
67053
67054 if (type !== "arguments" && type !== "configfile" && BABELRC_VALIDATORS[key]) {
67055 if (type === "babelrcfile" || type === "extendsfile") {
67056 throw new Error(msg(optLoc) + " is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, " + "or babel.config.js/config file options");
67057 }
67058
67059 throw new Error(msg(optLoc) + " is only allowed in root programmatic options, or babel.config.js/config file options");
67060 }
67061
67062 var validator = COMMON_VALIDATORS[key] || NONPRESET_VALIDATORS[key] || BABELRC_VALIDATORS[key] || ROOT_VALIDATORS[key] || throwUnknownError;
67063 validator(optLoc, opts[key]);
67064 });
67065 return opts;
67066 }
67067
67068 function throwUnknownError(loc) {
67069 var key = loc.name;
67070
67071 if (removed[key]) {
67072 var _removed$key = removed[key],
67073 message = _removed$key.message,
67074 _removed$key$version = _removed$key.version,
67075 version = _removed$key$version === void 0 ? 5 : _removed$key$version;
67076 throw new Error("Using removed Babel " + version + " option: " + msg(loc) + " - " + message);
67077 } else {
67078 var unknownOptErr = new Error("Unknown option: " + msg(loc) + ". Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.");
67079 unknownOptErr.code = "BABEL_UNKNOWN_OPTION";
67080 throw unknownOptErr;
67081 }
67082 }
67083
67084 function has$a(obj, key) {
67085 return Object.prototype.hasOwnProperty.call(obj, key);
67086 }
67087
67088 function assertNoDuplicateSourcemap(opts) {
67089 if (has$a(opts, "sourceMap") && has$a(opts, "sourceMaps")) {
67090 throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both");
67091 }
67092 }
67093
67094 function assertEnvSet(loc, value) {
67095 if (loc.parent.type === "env") {
67096 throw new Error(msg(loc) + " is not allowed inside of another .env block");
67097 }
67098
67099 var parent = loc.parent;
67100 var obj = assertObject(loc, value);
67101
67102 if (obj) {
67103 for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) {
67104 var envName = _Object$keys[_i];
67105 var env = assertObject(access(loc, envName), obj[envName]);
67106 if (!env) continue;
67107 var envLoc = {
67108 type: "env",
67109 name: envName,
67110 parent: parent
67111 };
67112 validateNested(envLoc, env);
67113 }
67114 }
67115
67116 return obj;
67117 }
67118
67119 function assertOverridesList(loc, value) {
67120 if (loc.parent.type === "env") {
67121 throw new Error(msg(loc) + " is not allowed inside an .env block");
67122 }
67123
67124 if (loc.parent.type === "overrides") {
67125 throw new Error(msg(loc) + " is not allowed inside an .overrides block");
67126 }
67127
67128 var parent = loc.parent;
67129 var arr = assertArray(loc, value);
67130
67131 if (arr) {
67132 for (var _iterator = _createForOfIteratorHelperLoose(arr.entries()), _step; !(_step = _iterator()).done;) {
67133 var _step$value = _slicedToArray$2(_step.value, 2),
67134 index = _step$value[0],
67135 item = _step$value[1];
67136
67137 var objLoc = access(loc, index);
67138 var env = assertObject(objLoc, item);
67139 if (!env) throw new Error(msg(objLoc) + " must be an object");
67140 var overridesLoc = {
67141 type: "overrides",
67142 index: index,
67143 parent: parent
67144 };
67145 validateNested(overridesLoc, env);
67146 }
67147 }
67148
67149 return arr;
67150 }
67151
67152 function checkNoUnwrappedItemOptionPairs(items, index, type, e) {
67153 if (index === 0) return;
67154 var lastItem = items[index - 1];
67155 var thisItem = items[index];
67156
67157 if (lastItem.file && lastItem.options === undefined && typeof thisItem.value === "object") {
67158 e.message += "\n- Maybe you meant to use\n" + ("\"" + type + "s\": [\n [\"" + lastItem.file.request + "\", " + JSON.stringify(thisItem.value, undefined, 2) + "]\n]\n") + ("To be a valid " + type + ", its name and options should be wrapped in a pair of brackets");
67159 }
67160 }
67161
67162 var sep = "\\" + path$1.sep;
67163 var endSep = "(?:" + sep + "|$)";
67164 var substitution = "[^" + sep + "]+";
67165 var starPat = "(?:" + substitution + sep + ")";
67166 var starPatLast = "(?:" + substitution + endSep + ")";
67167 var starStarPat = starPat + "*?";
67168 var starStarPatLast = starPat + "*?" + starPatLast + "?";
67169
67170 function escapeRegExp(string) {
67171 return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
67172 }
67173
67174 function pathToPattern(pattern, dirname) {
67175 var parts = path$1.resolve(dirname, pattern).split(path$1.sep);
67176 return new RegExp(["^"].concat(_toConsumableArray(parts.map(function (part, i) {
67177 var last = i === parts.length - 1;
67178 if (part === "**") return last ? starStarPatLast : starStarPat;
67179 if (part === "*") return last ? starPatLast : starPat;
67180
67181 if (part.indexOf("*.") === 0) {
67182 return substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep);
67183 }
67184
67185 return escapeRegExp(part) + (last ? endSep : sep);
67186 }))).join(""));
67187 }
67188
67189 var ChainFormatter = {
67190 Programmatic: 0,
67191 Config: 1
67192 };
67193 var Formatter = {
67194 title: function title(type, callerName, filepath) {
67195 var title = "";
67196
67197 if (type === ChainFormatter.Programmatic) {
67198 title = "programmatic options";
67199
67200 if (callerName) {
67201 title += " from " + callerName;
67202 }
67203 } else {
67204 title = "config " + filepath;
67205 }
67206
67207 return title;
67208 },
67209 loc: function loc(index, envName) {
67210 var loc = "";
67211
67212 if (index != null) {
67213 loc += ".overrides[" + index + "]";
67214 }
67215
67216 if (envName != null) {
67217 loc += ".env[\"" + envName + "\"]";
67218 }
67219
67220 return loc;
67221 },
67222 optionsAndDescriptors: regenerator.mark(function optionsAndDescriptors(opt) {
67223 var content, pluginDescriptors, presetDescriptors;
67224 return regenerator.wrap(function optionsAndDescriptors$(_context) {
67225 while (1) {
67226 switch (_context.prev = _context.next) {
67227 case 0:
67228 content = Object.assign({}, opt.options);
67229 delete content.overrides;
67230 delete content.env;
67231 _context.t0 = _toConsumableArray;
67232 return _context.delegateYield(opt.plugins(), "t1", 5);
67233
67234 case 5:
67235 _context.t2 = _context.t1;
67236 pluginDescriptors = (0, _context.t0)(_context.t2);
67237
67238 if (pluginDescriptors.length) {
67239 content.plugins = pluginDescriptors.map(function (d) {
67240 return descriptorToConfig(d);
67241 });
67242 }
67243
67244 _context.t3 = _toConsumableArray;
67245 return _context.delegateYield(opt.presets(), "t4", 10);
67246
67247 case 10:
67248 _context.t5 = _context.t4;
67249 presetDescriptors = (0, _context.t3)(_context.t5);
67250
67251 if (presetDescriptors.length) {
67252 content.presets = _toConsumableArray(presetDescriptors).map(function (d) {
67253 return descriptorToConfig(d);
67254 });
67255 }
67256
67257 return _context.abrupt("return", JSON.stringify(content, undefined, 2));
67258
67259 case 14:
67260 case "end":
67261 return _context.stop();
67262 }
67263 }
67264 }, optionsAndDescriptors);
67265 })
67266 };
67267
67268 function descriptorToConfig(d) {
67269 var _d$file;
67270
67271 var name = (_d$file = d.file) == null ? void 0 : _d$file.request;
67272
67273 if (name == null) {
67274 if (typeof d.value === "object") {
67275 name = d.value;
67276 } else if (typeof d.value === "function") {
67277 name = "[Function: " + d.value.toString().substr(0, 50) + " ... ]";
67278 }
67279 }
67280
67281 if (name == null) {
67282 name = "[Unknown]";
67283 }
67284
67285 if (d.options === undefined) {
67286 return name;
67287 } else if (d.name == null) {
67288 return [name, d.options];
67289 } else {
67290 return [name, d.options, d.name];
67291 }
67292 }
67293
67294 var ConfigPrinter = function () {
67295 function ConfigPrinter() {
67296 this._stack = [];
67297 }
67298
67299 var _proto = ConfigPrinter.prototype;
67300
67301 _proto.configure = function configure(enabled, type, _ref) {
67302 var _this = this;
67303
67304 var callerName = _ref.callerName,
67305 filepath = _ref.filepath;
67306 if (!enabled) return function () {};
67307 return function (content, index, envName) {
67308 _this._stack.push({
67309 type: type,
67310 callerName: callerName,
67311 filepath: filepath,
67312 content: content,
67313 index: index,
67314 envName: envName
67315 });
67316 };
67317 };
67318
67319 ConfigPrinter.format = regenerator.mark(function format(config) {
67320 var title, loc, content;
67321 return regenerator.wrap(function format$(_context2) {
67322 while (1) {
67323 switch (_context2.prev = _context2.next) {
67324 case 0:
67325 title = Formatter.title(config.type, config.callerName, config.filepath);
67326 loc = Formatter.loc(config.index, config.envName);
67327 if (loc) title += " " + loc;
67328 return _context2.delegateYield(Formatter.optionsAndDescriptors(config.content), "t0", 4);
67329
67330 case 4:
67331 content = _context2.t0;
67332 return _context2.abrupt("return", title + "\n" + content);
67333
67334 case 6:
67335 case "end":
67336 return _context2.stop();
67337 }
67338 }
67339 }, format);
67340 });
67341 _proto.output = regenerator.mark(function output() {
67342 var configs;
67343 return regenerator.wrap(function output$(_context3) {
67344 while (1) {
67345 switch (_context3.prev = _context3.next) {
67346 case 0:
67347 if (!(this._stack.length === 0)) {
67348 _context3.next = 2;
67349 break;
67350 }
67351
67352 return _context3.abrupt("return", "");
67353
67354 case 2:
67355 return _context3.delegateYield(gensync.all(this._stack.map(function (s) {
67356 return ConfigPrinter.format(s);
67357 })), "t0", 3);
67358
67359 case 3:
67360 configs = _context3.t0;
67361 return _context3.abrupt("return", configs.join("\n\n"));
67362
67363 case 5:
67364 case "end":
67365 return _context3.stop();
67366 }
67367 }
67368 }, output, this);
67369 });
67370 return ConfigPrinter;
67371 }();
67372
67373 var _marked$5 = regenerator.mark(buildPresetChain),
67374 _marked2$2 = regenerator.mark(buildRootChain),
67375 _marked3 = regenerator.mark(loadFileChain),
67376 _marked4 = regenerator.mark(mergeExtendsChain),
67377 _marked5 = regenerator.mark(mergeChainOpts);
67378 var debug$3 = browser$1("babel:config:config-chain");
67379 function buildPresetChain(arg, context) {
67380 var chain;
67381 return regenerator.wrap(function buildPresetChain$(_context) {
67382 while (1) {
67383 switch (_context.prev = _context.next) {
67384 case 0:
67385 return _context.delegateYield(buildPresetChainWalker(arg, context), "t0", 1);
67386
67387 case 1:
67388 chain = _context.t0;
67389
67390 if (chain) {
67391 _context.next = 4;
67392 break;
67393 }
67394
67395 return _context.abrupt("return", null);
67396
67397 case 4:
67398 return _context.abrupt("return", {
67399 plugins: dedupDescriptors(chain.plugins),
67400 presets: dedupDescriptors(chain.presets),
67401 options: chain.options.map(function (o) {
67402 return normalizeOptions$5(o);
67403 }),
67404 files: new Set()
67405 });
67406
67407 case 5:
67408 case "end":
67409 return _context.stop();
67410 }
67411 }
67412 }, _marked$5);
67413 }
67414 var buildPresetChainWalker = makeChainWalker({
67415 root: function root(preset) {
67416 return loadPresetDescriptors(preset);
67417 },
67418 env: function env(preset, envName) {
67419 return loadPresetEnvDescriptors(preset)(envName);
67420 },
67421 overrides: function overrides(preset, index) {
67422 return loadPresetOverridesDescriptors(preset)(index);
67423 },
67424 overridesEnv: function overridesEnv(preset, index, envName) {
67425 return loadPresetOverridesEnvDescriptors(preset)(index)(envName);
67426 },
67427 createLogger: function createLogger() {
67428 return function () {};
67429 }
67430 });
67431 var loadPresetDescriptors = makeWeakCacheSync(function (preset) {
67432 return buildRootDescriptors(preset, preset.alias, createUncachedDescriptors);
67433 });
67434 var loadPresetEnvDescriptors = makeWeakCacheSync(function (preset) {
67435 return makeStrongCacheSync(function (envName) {
67436 return buildEnvDescriptors(preset, preset.alias, createUncachedDescriptors, envName);
67437 });
67438 });
67439 var loadPresetOverridesDescriptors = makeWeakCacheSync(function (preset) {
67440 return makeStrongCacheSync(function (index) {
67441 return buildOverrideDescriptors(preset, preset.alias, createUncachedDescriptors, index);
67442 });
67443 });
67444 var loadPresetOverridesEnvDescriptors = makeWeakCacheSync(function (preset) {
67445 return makeStrongCacheSync(function (index) {
67446 return makeStrongCacheSync(function (envName) {
67447 return buildOverrideEnvDescriptors(preset, preset.alias, createUncachedDescriptors, index, envName);
67448 });
67449 });
67450 });
67451 function buildRootChain(opts, context) {
67452 var configReport, babelRcReport, programmaticLogger, programmaticChain, programmaticReport, configFile, babelrc, babelrcRoots, babelrcRootsDirectory, configFileChain, configFileLogger, validatedFile, result, ignoreFile, babelrcFile, isIgnored, fileChain, pkgData, _yield$findRelativeCo, _validatedFile, babelrcLogger, _result, chain;
67453
67454 return regenerator.wrap(function buildRootChain$(_context2) {
67455 while (1) {
67456 switch (_context2.prev = _context2.next) {
67457 case 0:
67458 programmaticLogger = new ConfigPrinter();
67459 return _context2.delegateYield(loadProgrammaticChain({
67460 options: opts,
67461 dirname: context.cwd
67462 }, context, undefined, programmaticLogger), "t0", 2);
67463
67464 case 2:
67465 programmaticChain = _context2.t0;
67466
67467 if (programmaticChain) {
67468 _context2.next = 5;
67469 break;
67470 }
67471
67472 return _context2.abrupt("return", null);
67473
67474 case 5:
67475 return _context2.delegateYield(programmaticLogger.output(), "t1", 6);
67476
67477 case 6:
67478 programmaticReport = _context2.t1;
67479
67480 if (!(typeof opts.configFile === "string")) {
67481 _context2.next = 12;
67482 break;
67483 }
67484
67485 return _context2.delegateYield(loadConfig$1(opts.configFile, context.cwd, context.envName, context.caller), "t2", 9);
67486
67487 case 9:
67488 configFile = _context2.t2;
67489 _context2.next = 15;
67490 break;
67491
67492 case 12:
67493 if (!(opts.configFile !== false)) {
67494 _context2.next = 15;
67495 break;
67496 }
67497
67498 return _context2.delegateYield(findRootConfig(context.root, context.envName, context.caller), "t3", 14);
67499
67500 case 14:
67501 configFile = _context2.t3;
67502
67503 case 15:
67504 babelrc = opts.babelrc, babelrcRoots = opts.babelrcRoots;
67505 babelrcRootsDirectory = context.cwd;
67506 configFileChain = emptyChain();
67507 configFileLogger = new ConfigPrinter();
67508
67509 if (!configFile) {
67510 _context2.next = 30;
67511 break;
67512 }
67513
67514 validatedFile = validateConfigFile(configFile);
67515 return _context2.delegateYield(loadFileChain(validatedFile, context, undefined, configFileLogger), "t4", 22);
67516
67517 case 22:
67518 result = _context2.t4;
67519
67520 if (result) {
67521 _context2.next = 25;
67522 break;
67523 }
67524
67525 return _context2.abrupt("return", null);
67526
67527 case 25:
67528 return _context2.delegateYield(configFileLogger.output(), "t5", 26);
67529
67530 case 26:
67531 configReport = _context2.t5;
67532
67533 if (babelrc === undefined) {
67534 babelrc = validatedFile.options.babelrc;
67535 }
67536
67537 if (babelrcRoots === undefined) {
67538 babelrcRootsDirectory = validatedFile.dirname;
67539 babelrcRoots = validatedFile.options.babelrcRoots;
67540 }
67541
67542 mergeChain(configFileChain, result);
67543
67544 case 30:
67545 isIgnored = false;
67546 fileChain = emptyChain();
67547
67548 if (!((babelrc === true || babelrc === undefined) && typeof context.filename === "string")) {
67549 _context2.next = 55;
67550 break;
67551 }
67552
67553 return _context2.delegateYield(findPackageData(context.filename), "t6", 34);
67554
67555 case 34:
67556 pkgData = _context2.t6;
67557
67558 if (!(pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory))) {
67559 _context2.next = 55;
67560 break;
67561 }
67562
67563 return _context2.delegateYield(findRelativeConfig(pkgData, context.envName, context.caller), "t7", 37);
67564
67565 case 37:
67566 _yield$findRelativeCo = _context2.t7;
67567 ignoreFile = _yield$findRelativeCo.ignore;
67568 babelrcFile = _yield$findRelativeCo.config;
67569
67570 if (ignoreFile) {
67571 fileChain.files.add(ignoreFile.filepath);
67572 }
67573
67574 if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) {
67575 isIgnored = true;
67576 }
67577
67578 if (!(babelrcFile && !isIgnored)) {
67579 _context2.next = 54;
67580 break;
67581 }
67582
67583 _validatedFile = validateBabelrcFile(babelrcFile);
67584 babelrcLogger = new ConfigPrinter();
67585 return _context2.delegateYield(loadFileChain(_validatedFile, context, undefined, babelrcLogger), "t8", 46);
67586
67587 case 46:
67588 _result = _context2.t8;
67589
67590 if (_result) {
67591 _context2.next = 51;
67592 break;
67593 }
67594
67595 isIgnored = true;
67596 _context2.next = 54;
67597 break;
67598
67599 case 51:
67600 return _context2.delegateYield(babelrcLogger.output(), "t9", 52);
67601
67602 case 52:
67603 babelRcReport = _context2.t9;
67604 mergeChain(fileChain, _result);
67605
67606 case 54:
67607 if (babelrcFile && isIgnored) {
67608 fileChain.files.add(babelrcFile.filepath);
67609 }
67610
67611 case 55:
67612 if (context.showConfig) {
67613 console.log("Babel configs on \"" + context.filename + "\" (ascending priority):\n" + [configReport, babelRcReport, programmaticReport].filter(function (x) {
67614 return !!x;
67615 }).join("\n\n") + "\n-----End Babel configs-----");
67616 }
67617
67618 chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain);
67619 return _context2.abrupt("return", {
67620 plugins: isIgnored ? [] : dedupDescriptors(chain.plugins),
67621 presets: isIgnored ? [] : dedupDescriptors(chain.presets),
67622 options: isIgnored ? [] : chain.options.map(function (o) {
67623 return normalizeOptions$5(o);
67624 }),
67625 fileHandling: isIgnored ? "ignored" : "transpile",
67626 ignore: ignoreFile || undefined,
67627 babelrc: babelrcFile || undefined,
67628 config: configFile || undefined,
67629 files: chain.files
67630 });
67631
67632 case 58:
67633 case "end":
67634 return _context2.stop();
67635 }
67636 }
67637 }, _marked2$2);
67638 }
67639
67640 function babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory) {
67641 if (typeof babelrcRoots === "boolean") return babelrcRoots;
67642 var absoluteRoot = context.root;
67643
67644 if (babelrcRoots === undefined) {
67645 return pkgData.directories.indexOf(absoluteRoot) !== -1;
67646 }
67647
67648 var babelrcPatterns = babelrcRoots;
67649
67650 if (!Array.isArray(babelrcPatterns)) {
67651 babelrcPatterns = [babelrcPatterns];
67652 }
67653
67654 babelrcPatterns = babelrcPatterns.map(function (pat) {
67655 return typeof pat === "string" ? path$1.resolve(babelrcRootsDirectory, pat) : pat;
67656 });
67657
67658 if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {
67659 return pkgData.directories.indexOf(absoluteRoot) !== -1;
67660 }
67661
67662 return babelrcPatterns.some(function (pat) {
67663 if (typeof pat === "string") {
67664 pat = pathToPattern(pat, babelrcRootsDirectory);
67665 }
67666
67667 return pkgData.directories.some(function (directory) {
67668 return matchPattern(pat, babelrcRootsDirectory, directory, context);
67669 });
67670 });
67671 }
67672
67673 var validateConfigFile = makeWeakCacheSync(function (file) {
67674 return {
67675 filepath: file.filepath,
67676 dirname: file.dirname,
67677 options: validate("configfile", file.options)
67678 };
67679 });
67680 var validateBabelrcFile = makeWeakCacheSync(function (file) {
67681 return {
67682 filepath: file.filepath,
67683 dirname: file.dirname,
67684 options: validate("babelrcfile", file.options)
67685 };
67686 });
67687 var validateExtendFile = makeWeakCacheSync(function (file) {
67688 return {
67689 filepath: file.filepath,
67690 dirname: file.dirname,
67691 options: validate("extendsfile", file.options)
67692 };
67693 });
67694 var loadProgrammaticChain = makeChainWalker({
67695 root: function root(input) {
67696 return buildRootDescriptors(input, "base", createCachedDescriptors);
67697 },
67698 env: function env(input, envName) {
67699 return buildEnvDescriptors(input, "base", createCachedDescriptors, envName);
67700 },
67701 overrides: function overrides(input, index) {
67702 return buildOverrideDescriptors(input, "base", createCachedDescriptors, index);
67703 },
67704 overridesEnv: function overridesEnv(input, index, envName) {
67705 return buildOverrideEnvDescriptors(input, "base", createCachedDescriptors, index, envName);
67706 },
67707 createLogger: function createLogger(input, context, baseLogger) {
67708 return buildProgrammaticLogger(input, context, baseLogger);
67709 }
67710 });
67711 var loadFileChainWalker = makeChainWalker({
67712 root: function root(file) {
67713 return loadFileDescriptors(file);
67714 },
67715 env: function env(file, envName) {
67716 return loadFileEnvDescriptors(file)(envName);
67717 },
67718 overrides: function overrides(file, index) {
67719 return loadFileOverridesDescriptors(file)(index);
67720 },
67721 overridesEnv: function overridesEnv(file, index, envName) {
67722 return loadFileOverridesEnvDescriptors(file)(index)(envName);
67723 },
67724 createLogger: function createLogger(file, context, baseLogger) {
67725 return buildFileLogger(file.filepath, context, baseLogger);
67726 }
67727 });
67728
67729 function loadFileChain(input, context, files, baseLogger) {
67730 var chain;
67731 return regenerator.wrap(function loadFileChain$(_context3) {
67732 while (1) {
67733 switch (_context3.prev = _context3.next) {
67734 case 0:
67735 return _context3.delegateYield(loadFileChainWalker(input, context, files, baseLogger), "t0", 1);
67736
67737 case 1:
67738 chain = _context3.t0;
67739
67740 if (chain) {
67741 chain.files.add(input.filepath);
67742 }
67743
67744 return _context3.abrupt("return", chain);
67745
67746 case 4:
67747 case "end":
67748 return _context3.stop();
67749 }
67750 }
67751 }, _marked3);
67752 }
67753
67754 var loadFileDescriptors = makeWeakCacheSync(function (file) {
67755 return buildRootDescriptors(file, file.filepath, createUncachedDescriptors);
67756 });
67757 var loadFileEnvDescriptors = makeWeakCacheSync(function (file) {
67758 return makeStrongCacheSync(function (envName) {
67759 return buildEnvDescriptors(file, file.filepath, createUncachedDescriptors, envName);
67760 });
67761 });
67762 var loadFileOverridesDescriptors = makeWeakCacheSync(function (file) {
67763 return makeStrongCacheSync(function (index) {
67764 return buildOverrideDescriptors(file, file.filepath, createUncachedDescriptors, index);
67765 });
67766 });
67767 var loadFileOverridesEnvDescriptors = makeWeakCacheSync(function (file) {
67768 return makeStrongCacheSync(function (index) {
67769 return makeStrongCacheSync(function (envName) {
67770 return buildOverrideEnvDescriptors(file, file.filepath, createUncachedDescriptors, index, envName);
67771 });
67772 });
67773 });
67774
67775 function buildFileLogger(filepath, context, baseLogger) {
67776 if (!baseLogger) {
67777 return function () {};
67778 }
67779
67780 return baseLogger.configure(context.showConfig, ChainFormatter.Config, {
67781 filepath: filepath
67782 });
67783 }
67784
67785 function buildRootDescriptors(_ref, alias, descriptors) {
67786 var dirname = _ref.dirname,
67787 options = _ref.options;
67788 return descriptors(dirname, options, alias);
67789 }
67790
67791 function buildProgrammaticLogger(_, context, baseLogger) {
67792 var _context$caller;
67793
67794 if (!baseLogger) {
67795 return function () {};
67796 }
67797
67798 return baseLogger.configure(context.showConfig, ChainFormatter.Programmatic, {
67799 callerName: (_context$caller = context.caller) == null ? void 0 : _context$caller.name
67800 });
67801 }
67802
67803 function buildEnvDescriptors(_ref2, alias, descriptors, envName) {
67804 var dirname = _ref2.dirname,
67805 options = _ref2.options;
67806 var opts = options.env && options.env[envName];
67807 return opts ? descriptors(dirname, opts, alias + ".env[\"" + envName + "\"]") : null;
67808 }
67809
67810 function buildOverrideDescriptors(_ref3, alias, descriptors, index) {
67811 var dirname = _ref3.dirname,
67812 options = _ref3.options;
67813 var opts = options.overrides && options.overrides[index];
67814 if (!opts) throw new Error("Assertion failure - missing override");
67815 return descriptors(dirname, opts, alias + ".overrides[" + index + "]");
67816 }
67817
67818 function buildOverrideEnvDescriptors(_ref4, alias, descriptors, index, envName) {
67819 var dirname = _ref4.dirname,
67820 options = _ref4.options;
67821 var override = options.overrides && options.overrides[index];
67822 if (!override) throw new Error("Assertion failure - missing override");
67823 var opts = override.env && override.env[envName];
67824 return opts ? descriptors(dirname, opts, alias + ".overrides[" + index + "].env[\"" + envName + "\"]") : null;
67825 }
67826
67827 function makeChainWalker(_ref5) {
67828 var root = _ref5.root,
67829 env = _ref5.env,
67830 overrides = _ref5.overrides,
67831 overridesEnv = _ref5.overridesEnv,
67832 createLogger = _ref5.createLogger;
67833 return regenerator.mark(function _callee(input, context, files, baseLogger) {
67834 var dirname, flattenedConfigs, rootOpts, envOpts, chain, logger, _i, _flattenedConfigs, _flattenedConfigs$_i, config, _index, envName;
67835
67836 return regenerator.wrap(function _callee$(_context4) {
67837 while (1) {
67838 switch (_context4.prev = _context4.next) {
67839 case 0:
67840 if (files === void 0) {
67841 files = new Set();
67842 }
67843
67844 dirname = input.dirname;
67845 flattenedConfigs = [];
67846 rootOpts = root(input);
67847
67848 if (configIsApplicable(rootOpts, dirname, context)) {
67849 flattenedConfigs.push({
67850 config: rootOpts,
67851 envName: undefined,
67852 index: undefined
67853 });
67854 envOpts = env(input, context.envName);
67855
67856 if (envOpts && configIsApplicable(envOpts, dirname, context)) {
67857 flattenedConfigs.push({
67858 config: envOpts,
67859 envName: context.envName,
67860 index: undefined
67861 });
67862 }
67863
67864 (rootOpts.options.overrides || []).forEach(function (_, index) {
67865 var overrideOps = overrides(input, index);
67866
67867 if (configIsApplicable(overrideOps, dirname, context)) {
67868 flattenedConfigs.push({
67869 config: overrideOps,
67870 index: index,
67871 envName: undefined
67872 });
67873 var overrideEnvOpts = overridesEnv(input, index, context.envName);
67874
67875 if (overrideEnvOpts && configIsApplicable(overrideEnvOpts, dirname, context)) {
67876 flattenedConfigs.push({
67877 config: overrideEnvOpts,
67878 index: index,
67879 envName: context.envName
67880 });
67881 }
67882 }
67883 });
67884 }
67885
67886 if (!flattenedConfigs.some(function (_ref6) {
67887 var _ref6$config$options = _ref6.config.options,
67888 ignore = _ref6$config$options.ignore,
67889 only = _ref6$config$options.only;
67890 return shouldIgnore(context, ignore, only, dirname);
67891 })) {
67892 _context4.next = 7;
67893 break;
67894 }
67895
67896 return _context4.abrupt("return", null);
67897
67898 case 7:
67899 chain = emptyChain();
67900 logger = createLogger(input, context, baseLogger);
67901 _i = 0, _flattenedConfigs = flattenedConfigs;
67902
67903 case 10:
67904 if (!(_i < _flattenedConfigs.length)) {
67905 _context4.next = 20;
67906 break;
67907 }
67908
67909 _flattenedConfigs$_i = _flattenedConfigs[_i], config = _flattenedConfigs$_i.config, _index = _flattenedConfigs$_i.index, envName = _flattenedConfigs$_i.envName;
67910 return _context4.delegateYield(mergeExtendsChain(chain, config.options, dirname, context, files, baseLogger), "t0", 13);
67911
67912 case 13:
67913 if (_context4.t0) {
67914 _context4.next = 15;
67915 break;
67916 }
67917
67918 return _context4.abrupt("return", null);
67919
67920 case 15:
67921 logger(config, _index, envName);
67922 return _context4.delegateYield(mergeChainOpts(chain, config), "t1", 17);
67923
67924 case 17:
67925 _i++;
67926 _context4.next = 10;
67927 break;
67928
67929 case 20:
67930 return _context4.abrupt("return", chain);
67931
67932 case 21:
67933 case "end":
67934 return _context4.stop();
67935 }
67936 }
67937 }, _callee);
67938 });
67939 }
67940
67941 function mergeExtendsChain(chain, opts, dirname, context, files, baseLogger) {
67942 var file, fileChain;
67943 return regenerator.wrap(function mergeExtendsChain$(_context5) {
67944 while (1) {
67945 switch (_context5.prev = _context5.next) {
67946 case 0:
67947 if (!(opts["extends"] === undefined)) {
67948 _context5.next = 2;
67949 break;
67950 }
67951
67952 return _context5.abrupt("return", true);
67953
67954 case 2:
67955 return _context5.delegateYield(loadConfig$1(opts["extends"], dirname, context.envName, context.caller), "t0", 3);
67956
67957 case 3:
67958 file = _context5.t0;
67959
67960 if (!files.has(file)) {
67961 _context5.next = 6;
67962 break;
67963 }
67964
67965 throw new Error("Configuration cycle detected loading " + file.filepath + ".\n" + "File already loaded following the config chain:\n" + Array.from(files, function (file) {
67966 return " - " + file.filepath;
67967 }).join("\n"));
67968
67969 case 6:
67970 files.add(file);
67971 return _context5.delegateYield(loadFileChain(validateExtendFile(file), context, files, baseLogger), "t1", 8);
67972
67973 case 8:
67974 fileChain = _context5.t1;
67975 files["delete"](file);
67976
67977 if (fileChain) {
67978 _context5.next = 12;
67979 break;
67980 }
67981
67982 return _context5.abrupt("return", false);
67983
67984 case 12:
67985 mergeChain(chain, fileChain);
67986 return _context5.abrupt("return", true);
67987
67988 case 14:
67989 case "end":
67990 return _context5.stop();
67991 }
67992 }
67993 }, _marked4);
67994 }
67995
67996 function mergeChain(target, source) {
67997 var _target$options, _target$plugins, _target$presets;
67998
67999 (_target$options = target.options).push.apply(_target$options, _toConsumableArray(source.options));
68000
68001 (_target$plugins = target.plugins).push.apply(_target$plugins, _toConsumableArray(source.plugins));
68002
68003 (_target$presets = target.presets).push.apply(_target$presets, _toConsumableArray(source.presets));
68004
68005 for (var _iterator = _createForOfIteratorHelperLoose(source.files), _step; !(_step = _iterator()).done;) {
68006 var file = _step.value;
68007 target.files.add(file);
68008 }
68009
68010 return target;
68011 }
68012
68013 function mergeChainOpts(target, _ref7) {
68014 var _target$plugins2, _target$presets2;
68015
68016 var options, plugins, presets;
68017 return regenerator.wrap(function mergeChainOpts$(_context6) {
68018 while (1) {
68019 switch (_context6.prev = _context6.next) {
68020 case 0:
68021 options = _ref7.options, plugins = _ref7.plugins, presets = _ref7.presets;
68022 target.options.push(options);
68023 _context6.t0 = (_target$plugins2 = target.plugins).push;
68024 _context6.t1 = _target$plugins2;
68025 _context6.t2 = _toConsumableArray;
68026 return _context6.delegateYield(plugins(), "t3", 6);
68027
68028 case 6:
68029 _context6.t4 = _context6.t3;
68030 _context6.t5 = (0, _context6.t2)(_context6.t4);
68031
68032 _context6.t0.apply.call(_context6.t0, _context6.t1, _context6.t5);
68033
68034 _context6.t6 = (_target$presets2 = target.presets).push;
68035 _context6.t7 = _target$presets2;
68036 _context6.t8 = _toConsumableArray;
68037 return _context6.delegateYield(presets(), "t9", 13);
68038
68039 case 13:
68040 _context6.t10 = _context6.t9;
68041 _context6.t11 = (0, _context6.t8)(_context6.t10);
68042
68043 _context6.t6.apply.call(_context6.t6, _context6.t7, _context6.t11);
68044
68045 return _context6.abrupt("return", target);
68046
68047 case 17:
68048 case "end":
68049 return _context6.stop();
68050 }
68051 }
68052 }, _marked5);
68053 }
68054
68055 function emptyChain() {
68056 return {
68057 options: [],
68058 presets: [],
68059 plugins: [],
68060 files: new Set()
68061 };
68062 }
68063
68064 function normalizeOptions$5(opts) {
68065 var options = Object.assign({}, opts);
68066 delete options["extends"];
68067 delete options.env;
68068 delete options.overrides;
68069 delete options.plugins;
68070 delete options.presets;
68071 delete options.passPerPreset;
68072 delete options.ignore;
68073 delete options.only;
68074 delete options.test;
68075 delete options.include;
68076 delete options.exclude;
68077
68078 if (Object.prototype.hasOwnProperty.call(options, "sourceMap")) {
68079 options.sourceMaps = options.sourceMap;
68080 delete options.sourceMap;
68081 }
68082
68083 return options;
68084 }
68085
68086 function dedupDescriptors(items) {
68087 var map = new Map();
68088 var descriptors = [];
68089
68090 for (var _iterator2 = _createForOfIteratorHelperLoose(items), _step2; !(_step2 = _iterator2()).done;) {
68091 var item = _step2.value;
68092
68093 if (typeof item.value === "function") {
68094 var fnKey = item.value;
68095 var nameMap = map.get(fnKey);
68096
68097 if (!nameMap) {
68098 nameMap = new Map();
68099 map.set(fnKey, nameMap);
68100 }
68101
68102 var desc = nameMap.get(item.name);
68103
68104 if (!desc) {
68105 desc = {
68106 value: item
68107 };
68108 descriptors.push(desc);
68109 if (!item.ownPass) nameMap.set(item.name, desc);
68110 } else {
68111 desc.value = item;
68112 }
68113 } else {
68114 descriptors.push({
68115 value: item
68116 });
68117 }
68118 }
68119
68120 return descriptors.reduce(function (acc, desc) {
68121 acc.push(desc.value);
68122 return acc;
68123 }, []);
68124 }
68125
68126 function configIsApplicable(_ref8, dirname, context) {
68127 var options = _ref8.options;
68128 return (options.test === undefined || configFieldIsApplicable(context, options.test, dirname)) && (options.include === undefined || configFieldIsApplicable(context, options.include, dirname)) && (options.exclude === undefined || !configFieldIsApplicable(context, options.exclude, dirname));
68129 }
68130
68131 function configFieldIsApplicable(context, test, dirname) {
68132 var patterns = Array.isArray(test) ? test : [test];
68133 return matchesPatterns(context, patterns, dirname);
68134 }
68135
68136 function shouldIgnore(context, ignore, only, dirname) {
68137 if (ignore && matchesPatterns(context, ignore, dirname)) {
68138 var _context$filename;
68139
68140 var message = "No config is applied to \"" + ((_context$filename = context.filename) != null ? _context$filename : "(unknown)") + "\" because it matches one of `ignore: " + JSON.stringify(ignore) + "` from \"" + dirname + "\"";
68141 debug$3(message);
68142
68143 if (context.showConfig) {
68144 console.log(message);
68145 }
68146
68147 return true;
68148 }
68149
68150 if (only && !matchesPatterns(context, only, dirname)) {
68151 var _context$filename2;
68152
68153 var _message = "No config is applied to \"" + ((_context$filename2 = context.filename) != null ? _context$filename2 : "(unknown)") + "\" because it fails to match one of `only: " + JSON.stringify(only) + "` from \"" + dirname + "\"";
68154
68155 debug$3(_message);
68156
68157 if (context.showConfig) {
68158 console.log(_message);
68159 }
68160
68161 return true;
68162 }
68163
68164 return false;
68165 }
68166
68167 function matchesPatterns(context, patterns, dirname) {
68168 return patterns.some(function (pattern) {
68169 return matchPattern(pattern, dirname, context.filename, context);
68170 });
68171 }
68172
68173 function matchPattern(pattern, dirname, pathToTest, context) {
68174 if (typeof pattern === "function") {
68175 return !!pattern(pathToTest, {
68176 dirname: dirname,
68177 envName: context.envName,
68178 caller: context.caller
68179 });
68180 }
68181
68182 if (typeof pathToTest !== "string") {
68183 throw new Error("Configuration contains string/RegExp pattern, but no filename was passed to Babel");
68184 }
68185
68186 if (typeof pattern === "string") {
68187 pattern = pathToPattern(pattern, dirname);
68188 }
68189
68190 return pattern.test(pathToTest);
68191 }
68192
68193 var VALIDATORS = {
68194 name: assertString,
68195 manipulateOptions: assertFunction,
68196 pre: assertFunction,
68197 post: assertFunction,
68198 inherits: assertFunction,
68199 visitor: assertVisitorMap,
68200 parserOverride: assertFunction,
68201 generatorOverride: assertFunction
68202 };
68203
68204 function assertVisitorMap(loc, value) {
68205 var obj = assertObject(loc, value);
68206
68207 if (obj) {
68208 Object.keys(obj).forEach(function (prop) {
68209 return assertVisitorHandler(prop, obj[prop]);
68210 });
68211
68212 if (obj.enter || obj.exit) {
68213 throw new Error(msg(loc) + " cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.");
68214 }
68215 }
68216
68217 return obj;
68218 }
68219
68220 function assertVisitorHandler(key, value) {
68221 if (value && typeof value === "object") {
68222 Object.keys(value).forEach(function (handler) {
68223 if (handler !== "enter" && handler !== "exit") {
68224 throw new Error(".visitor[\"" + key + "\"] may only have .enter and/or .exit handlers.");
68225 }
68226 });
68227 } else if (typeof value !== "function") {
68228 throw new Error(".visitor[\"" + key + "\"] must be a function");
68229 }
68230
68231 return value;
68232 }
68233
68234 function validatePluginObject(obj) {
68235 var rootPath = {
68236 type: "root",
68237 source: "plugin"
68238 };
68239 Object.keys(obj).forEach(function (key) {
68240 var validator = VALIDATORS[key];
68241
68242 if (validator) {
68243 var optLoc = {
68244 type: "option",
68245 name: key,
68246 parent: rootPath
68247 };
68248 validator(optLoc, obj[key]);
68249 } else {
68250 var invalidPluginPropertyError = new Error("." + key + " is not a valid Plugin property");
68251 invalidPluginPropertyError.code = "BABEL_UNKNOWN_PLUGIN_PROPERTY";
68252 throw invalidPluginPropertyError;
68253 }
68254 });
68255 return obj;
68256 }
68257
68258 function makeConfigAPI(cache) {
68259 var env = function env(value) {
68260 return cache.using(function (data) {
68261 if (typeof value === "undefined") return data.envName;
68262
68263 if (typeof value === "function") {
68264 return assertSimpleType(value(data.envName));
68265 }
68266
68267 if (!Array.isArray(value)) value = [value];
68268 return value.some(function (entry) {
68269 if (typeof entry !== "string") {
68270 throw new Error("Unexpected non-string value");
68271 }
68272
68273 return entry === data.envName;
68274 });
68275 });
68276 };
68277
68278 var caller = function caller(cb) {
68279 return cache.using(function (data) {
68280 return assertSimpleType(cb(data.caller));
68281 });
68282 };
68283
68284 return {
68285 version: version$3,
68286 cache: cache.simple(),
68287 env: env,
68288 async: function async() {
68289 return false;
68290 },
68291 caller: caller,
68292 assertVersion: assertVersion
68293 };
68294 }
68295 function makePresetAPI(cache) {
68296 var targets = function targets() {
68297 return JSON.parse(cache.using(function (data) {
68298 return JSON.stringify(data.targets);
68299 }));
68300 };
68301
68302 return Object.assign({}, makeConfigAPI(cache), {
68303 targets: targets
68304 });
68305 }
68306 function makePluginAPI(cache) {
68307 var assumption = function assumption(name) {
68308 return cache.using(function (data) {
68309 return data.assumptions[name];
68310 });
68311 };
68312
68313 return Object.assign({}, makePresetAPI(cache), {
68314 assumption: assumption
68315 });
68316 }
68317
68318 function assertVersion(range) {
68319 if (typeof range === "number") {
68320 if (!Number.isInteger(range)) {
68321 throw new Error("Expected string or integer value.");
68322 }
68323
68324 range = "^" + range + ".0.0-0";
68325 }
68326
68327 if (typeof range !== "string") {
68328 throw new Error("Expected string or integer value.");
68329 }
68330
68331 if (semver$a.satisfies(version$3, range)) return;
68332 var limit = Error.stackTraceLimit;
68333
68334 if (typeof limit === "number" && limit < 25) {
68335 Error.stackTraceLimit = 25;
68336 }
68337
68338 var err = new Error("Requires Babel \"" + range + "\", but was loaded with \"" + version$3 + "\". " + "If you are sure you have a compatible version of @babel/core, " + "it is likely that something in your build process is loading the " + "wrong version. Inspect the stack trace of this error to look for " + "the first entry that doesn't mention \"@babel/core\" or \"babel-core\" " + "to see what is calling Babel.");
68339
68340 if (typeof limit === "number") {
68341 Error.stackTraceLimit = limit;
68342 }
68343
68344 throw Object.assign(err, {
68345 code: "BABEL_VERSION_UNSUPPORTED",
68346 version: version$3,
68347 range: range
68348 });
68349 }
68350
68351 var _excluded$2 = ["showIgnoredFiles"];
68352
68353 var _marked$4 = regenerator.mark(loadPrivatePartialConfig);
68354
68355 function resolveRootMode(rootDir, rootMode) {
68356 switch (rootMode) {
68357 case "root":
68358 return rootDir;
68359
68360 case "upward-optional":
68361 {
68362 var upwardRootDir = findConfigUpwards();
68363 return upwardRootDir === null ? rootDir : upwardRootDir;
68364 }
68365
68366 case "upward":
68367 {
68368 var _upwardRootDir = findConfigUpwards();
68369
68370 if (_upwardRootDir !== null) return _upwardRootDir;
68371 throw Object.assign(new Error("Babel was run with rootMode:\"upward\" but a root could not " + ("be found when searching upward from \"" + rootDir + "\".\n") + "One of the following config files must be in the directory tree: " + ("\"" + ROOT_CONFIG_FILENAMES.join(", ") + "\".")), {
68372 code: "BABEL_ROOT_NOT_FOUND",
68373 dirname: rootDir
68374 });
68375 }
68376
68377 default:
68378 throw new Error("Assertion failure - unknown rootMode value.");
68379 }
68380 }
68381
68382 function loadPrivatePartialConfig(inputOpts) {
68383 var args, _args$envName, envName, _args$cwd, cwd, _args$root, rootDir, _args$rootMode, rootMode, caller, _args$cloneInputAst, cloneInputAst, absoluteCwd, absoluteRootDir, filename, showConfigPath, context, configChain, merged, options;
68384
68385 return regenerator.wrap(function loadPrivatePartialConfig$(_context) {
68386 while (1) {
68387 switch (_context.prev = _context.next) {
68388 case 0:
68389 if (!(inputOpts != null && (typeof inputOpts !== "object" || Array.isArray(inputOpts)))) {
68390 _context.next = 2;
68391 break;
68392 }
68393
68394 throw new Error("Babel options must be an object, null, or undefined");
68395
68396 case 2:
68397 args = inputOpts ? validate("arguments", inputOpts) : {};
68398 _args$envName = args.envName, envName = _args$envName === void 0 ? getEnv() : _args$envName, _args$cwd = args.cwd, cwd = _args$cwd === void 0 ? "." : _args$cwd, _args$root = args.root, rootDir = _args$root === void 0 ? "." : _args$root, _args$rootMode = args.rootMode, rootMode = _args$rootMode === void 0 ? "root" : _args$rootMode, caller = args.caller, _args$cloneInputAst = args.cloneInputAst, cloneInputAst = _args$cloneInputAst === void 0 ? true : _args$cloneInputAst;
68399 absoluteCwd = path$1.resolve(cwd);
68400 absoluteRootDir = resolveRootMode(path$1.resolve(absoluteCwd, rootDir), rootMode);
68401 filename = typeof args.filename === "string" ? path$1.resolve(cwd, args.filename) : undefined;
68402 return _context.delegateYield(resolveShowConfigPath(), "t0", 8);
68403
68404 case 8:
68405 showConfigPath = _context.t0;
68406 context = {
68407 filename: filename,
68408 cwd: absoluteCwd,
68409 root: absoluteRootDir,
68410 envName: envName,
68411 caller: caller,
68412 showConfig: showConfigPath === filename
68413 };
68414 return _context.delegateYield(buildRootChain(args, context), "t1", 11);
68415
68416 case 11:
68417 configChain = _context.t1;
68418
68419 if (configChain) {
68420 _context.next = 14;
68421 break;
68422 }
68423
68424 return _context.abrupt("return", null);
68425
68426 case 14:
68427 merged = {
68428 assumptions: {}
68429 };
68430 configChain.options.forEach(function (opts) {
68431 mergeOptions(merged, opts);
68432 });
68433 options = Object.assign({}, merged, {
68434 targets: resolveTargets(merged),
68435 cloneInputAst: cloneInputAst,
68436 babelrc: false,
68437 configFile: false,
68438 browserslistConfigFile: false,
68439 passPerPreset: false,
68440 envName: context.envName,
68441 cwd: context.cwd,
68442 root: context.root,
68443 rootMode: "root",
68444 filename: typeof context.filename === "string" ? context.filename : undefined,
68445 plugins: configChain.plugins.map(function (descriptor) {
68446 return createItemFromDescriptor(descriptor);
68447 }),
68448 presets: configChain.presets.map(function (descriptor) {
68449 return createItemFromDescriptor(descriptor);
68450 })
68451 });
68452 return _context.abrupt("return", {
68453 options: options,
68454 context: context,
68455 fileHandling: configChain.fileHandling,
68456 ignore: configChain.ignore,
68457 babelrc: configChain.babelrc,
68458 config: configChain.config,
68459 files: configChain.files
68460 });
68461
68462 case 18:
68463 case "end":
68464 return _context.stop();
68465 }
68466 }
68467 }, _marked$4);
68468 }
68469 var loadPartialConfig$1 = gensync(regenerator.mark(function _callee(opts) {
68470 var showIgnoredFiles, _opts, result, options, babelrc, ignore, config, fileHandling, files;
68471
68472 return regenerator.wrap(function _callee$(_context2) {
68473 while (1) {
68474 switch (_context2.prev = _context2.next) {
68475 case 0:
68476 showIgnoredFiles = false;
68477
68478 if (typeof opts === "object" && opts !== null && !Array.isArray(opts)) {
68479 _opts = opts;
68480 showIgnoredFiles = _opts.showIgnoredFiles;
68481 opts = _objectWithoutPropertiesLoose(_opts, _excluded$2);
68482 }
68483
68484 return _context2.delegateYield(loadPrivatePartialConfig(opts), "t0", 3);
68485
68486 case 3:
68487 result = _context2.t0;
68488
68489 if (result) {
68490 _context2.next = 6;
68491 break;
68492 }
68493
68494 return _context2.abrupt("return", null);
68495
68496 case 6:
68497 options = result.options, babelrc = result.babelrc, ignore = result.ignore, config = result.config, fileHandling = result.fileHandling, files = result.files;
68498
68499 if (!(fileHandling === "ignored" && !showIgnoredFiles)) {
68500 _context2.next = 9;
68501 break;
68502 }
68503
68504 return _context2.abrupt("return", null);
68505
68506 case 9:
68507 (options.plugins || []).forEach(function (item) {
68508 if (item.value instanceof Plugin$1) {
68509 throw new Error("Passing cached plugin instances is not supported in " + "babel.loadPartialConfig()");
68510 }
68511 });
68512 return _context2.abrupt("return", new PartialConfig(options, babelrc ? babelrc.filepath : undefined, ignore ? ignore.filepath : undefined, config ? config.filepath : undefined, fileHandling, files));
68513
68514 case 11:
68515 case "end":
68516 return _context2.stop();
68517 }
68518 }
68519 }, _callee);
68520 }));
68521
68522 var PartialConfig = function () {
68523 function PartialConfig(options, babelrc, ignore, config, fileHandling, files) {
68524 this.options = void 0;
68525 this.babelrc = void 0;
68526 this.babelignore = void 0;
68527 this.config = void 0;
68528 this.fileHandling = void 0;
68529 this.files = void 0;
68530 this.options = options;
68531 this.babelignore = ignore;
68532 this.babelrc = babelrc;
68533 this.config = config;
68534 this.fileHandling = fileHandling;
68535 this.files = files;
68536 Object.freeze(this);
68537 }
68538
68539 var _proto = PartialConfig.prototype;
68540
68541 _proto.hasFilesystemConfig = function hasFilesystemConfig() {
68542 return this.babelrc !== undefined || this.config !== undefined;
68543 };
68544
68545 return PartialConfig;
68546 }();
68547
68548 Object.freeze(PartialConfig.prototype);
68549
68550 var _marked$3 = regenerator.mark(loadPluginDescriptor),
68551 _marked2$1 = regenerator.mark(loadPresetDescriptor);
68552 var loadConfig = gensync(regenerator.mark(function loadFullConfig(inputOpts) {
68553 var _opts$assumptions;
68554
68555 var result, options, context, fileHandling, optionDefaults, plugins, presets, presetContext, toDescriptor, presetsDescriptors, initialPluginsDescriptors, pluginDescriptorsByPass, passes, ignored, opts, pluginContext;
68556 return regenerator.wrap(function loadFullConfig$(_context3) {
68557 while (1) {
68558 switch (_context3.prev = _context3.next) {
68559 case 0:
68560 return _context3.delegateYield(loadPrivatePartialConfig(inputOpts), "t0", 1);
68561
68562 case 1:
68563 result = _context3.t0;
68564
68565 if (result) {
68566 _context3.next = 4;
68567 break;
68568 }
68569
68570 return _context3.abrupt("return", null);
68571
68572 case 4:
68573 options = result.options, context = result.context, fileHandling = result.fileHandling;
68574
68575 if (!(fileHandling === "ignored")) {
68576 _context3.next = 7;
68577 break;
68578 }
68579
68580 return _context3.abrupt("return", null);
68581
68582 case 7:
68583 optionDefaults = {};
68584 plugins = options.plugins, presets = options.presets;
68585
68586 if (!(!plugins || !presets)) {
68587 _context3.next = 11;
68588 break;
68589 }
68590
68591 throw new Error("Assertion failure - plugins and presets exist");
68592
68593 case 11:
68594 presetContext = Object.assign({}, context, {
68595 targets: options.targets
68596 });
68597
68598 toDescriptor = function toDescriptor(item) {
68599 var desc = getItemDescriptor(item);
68600
68601 if (!desc) {
68602 throw new Error("Assertion failure - must be config item");
68603 }
68604
68605 return desc;
68606 };
68607
68608 presetsDescriptors = presets.map(toDescriptor);
68609 initialPluginsDescriptors = plugins.map(toDescriptor);
68610 pluginDescriptorsByPass = [[]];
68611 passes = [];
68612 return _context3.delegateYield(enhanceError(context, regenerator.mark(function recursePresetDescriptors(rawPresets, pluginDescriptorsPass) {
68613 var presets, i, descriptor, _iterator, _step, _step$value, preset, pass, _ignored;
68614
68615 return regenerator.wrap(function recursePresetDescriptors$(_context) {
68616 while (1) {
68617 switch (_context.prev = _context.next) {
68618 case 0:
68619 presets = [];
68620 i = 0;
68621
68622 case 2:
68623 if (!(i < rawPresets.length)) {
68624 _context.next = 30;
68625 break;
68626 }
68627
68628 descriptor = rawPresets[i];
68629
68630 if (!(descriptor.options !== false)) {
68631 _context.next = 27;
68632 break;
68633 }
68634
68635 _context.prev = 5;
68636
68637 if (!descriptor.ownPass) {
68638 _context.next = 15;
68639 break;
68640 }
68641
68642 _context.t0 = presets;
68643 return _context.delegateYield(loadPresetDescriptor(descriptor, presetContext), "t1", 9);
68644
68645 case 9:
68646 _context.t2 = _context.t1;
68647 _context.t3 = [];
68648 _context.t4 = {
68649 preset: _context.t2,
68650 pass: _context.t3
68651 };
68652
68653 _context.t0.push.call(_context.t0, _context.t4);
68654
68655 _context.next = 21;
68656 break;
68657
68658 case 15:
68659 _context.t5 = presets;
68660 return _context.delegateYield(loadPresetDescriptor(descriptor, presetContext), "t6", 17);
68661
68662 case 17:
68663 _context.t7 = _context.t6;
68664 _context.t8 = pluginDescriptorsPass;
68665 _context.t9 = {
68666 preset: _context.t7,
68667 pass: _context.t8
68668 };
68669
68670 _context.t5.unshift.call(_context.t5, _context.t9);
68671
68672 case 21:
68673 _context.next = 27;
68674 break;
68675
68676 case 23:
68677 _context.prev = 23;
68678 _context.t10 = _context["catch"](5);
68679
68680 if (_context.t10.code === "BABEL_UNKNOWN_OPTION") {
68681 checkNoUnwrappedItemOptionPairs(rawPresets, i, "preset", _context.t10);
68682 }
68683
68684 throw _context.t10;
68685
68686 case 27:
68687 i++;
68688 _context.next = 2;
68689 break;
68690
68691 case 30:
68692 if (!(presets.length > 0)) {
68693 _context.next = 45;
68694 break;
68695 }
68696
68697 pluginDescriptorsByPass.splice.apply(pluginDescriptorsByPass, [1, 0].concat(_toConsumableArray(presets.map(function (o) {
68698 return o.pass;
68699 }).filter(function (p) {
68700 return p !== pluginDescriptorsPass;
68701 }))));
68702 _iterator = _createForOfIteratorHelperLoose(presets);
68703
68704 case 33:
68705 if ((_step = _iterator()).done) {
68706 _context.next = 45;
68707 break;
68708 }
68709
68710 _step$value = _step.value, preset = _step$value.preset, pass = _step$value.pass;
68711
68712 if (preset) {
68713 _context.next = 37;
68714 break;
68715 }
68716
68717 return _context.abrupt("return", true);
68718
68719 case 37:
68720 pass.push.apply(pass, _toConsumableArray(preset.plugins));
68721 return _context.delegateYield(recursePresetDescriptors(preset.presets, pass), "t11", 39);
68722
68723 case 39:
68724 _ignored = _context.t11;
68725
68726 if (!_ignored) {
68727 _context.next = 42;
68728 break;
68729 }
68730
68731 return _context.abrupt("return", true);
68732
68733 case 42:
68734 preset.options.forEach(function (opts) {
68735 mergeOptions(optionDefaults, opts);
68736 });
68737
68738 case 43:
68739 _context.next = 33;
68740 break;
68741
68742 case 45:
68743 case "end":
68744 return _context.stop();
68745 }
68746 }
68747 }, recursePresetDescriptors, null, [[5, 23]]);
68748 }))(presetsDescriptors, pluginDescriptorsByPass[0]), "t1", 18);
68749
68750 case 18:
68751 ignored = _context3.t1;
68752
68753 if (!ignored) {
68754 _context3.next = 21;
68755 break;
68756 }
68757
68758 return _context3.abrupt("return", null);
68759
68760 case 21:
68761 opts = optionDefaults;
68762 mergeOptions(opts, options);
68763 pluginContext = Object.assign({}, presetContext, {
68764 assumptions: (_opts$assumptions = opts.assumptions) != null ? _opts$assumptions : {}
68765 });
68766 return _context3.delegateYield(enhanceError(context, regenerator.mark(function loadPluginDescriptors() {
68767 var _pluginDescriptorsByP;
68768
68769 var _iterator2, _step2, descs, pass, i, descriptor;
68770
68771 return regenerator.wrap(function loadPluginDescriptors$(_context2) {
68772 while (1) {
68773 switch (_context2.prev = _context2.next) {
68774 case 0:
68775 (_pluginDescriptorsByP = pluginDescriptorsByPass[0]).unshift.apply(_pluginDescriptorsByP, _toConsumableArray(initialPluginsDescriptors));
68776
68777 _iterator2 = _createForOfIteratorHelperLoose(pluginDescriptorsByPass);
68778
68779 case 2:
68780 if ((_step2 = _iterator2()).done) {
68781 _context2.next = 26;
68782 break;
68783 }
68784
68785 descs = _step2.value;
68786 pass = [];
68787 passes.push(pass);
68788 i = 0;
68789
68790 case 7:
68791 if (!(i < descs.length)) {
68792 _context2.next = 24;
68793 break;
68794 }
68795
68796 descriptor = descs[i];
68797
68798 if (!(descriptor.options !== false)) {
68799 _context2.next = 21;
68800 break;
68801 }
68802
68803 _context2.prev = 10;
68804 _context2.t0 = pass;
68805 return _context2.delegateYield(loadPluginDescriptor(descriptor, pluginContext), "t1", 13);
68806
68807 case 13:
68808 _context2.t2 = _context2.t1;
68809
68810 _context2.t0.push.call(_context2.t0, _context2.t2);
68811
68812 _context2.next = 21;
68813 break;
68814
68815 case 17:
68816 _context2.prev = 17;
68817 _context2.t3 = _context2["catch"](10);
68818
68819 if (_context2.t3.code === "BABEL_UNKNOWN_PLUGIN_PROPERTY") {
68820 checkNoUnwrappedItemOptionPairs(descs, i, "plugin", _context2.t3);
68821 }
68822
68823 throw _context2.t3;
68824
68825 case 21:
68826 i++;
68827 _context2.next = 7;
68828 break;
68829
68830 case 24:
68831 _context2.next = 2;
68832 break;
68833
68834 case 26:
68835 case "end":
68836 return _context2.stop();
68837 }
68838 }
68839 }, loadPluginDescriptors, null, [[10, 17]]);
68840 }))(), "t2", 25);
68841
68842 case 25:
68843 opts.plugins = passes[0];
68844 opts.presets = passes.slice(1).filter(function (plugins) {
68845 return plugins.length > 0;
68846 }).map(function (plugins) {
68847 return {
68848 plugins: plugins
68849 };
68850 });
68851 opts.passPerPreset = opts.presets.length > 0;
68852 return _context3.abrupt("return", {
68853 options: opts,
68854 passes: passes
68855 });
68856
68857 case 29:
68858 case "end":
68859 return _context3.stop();
68860 }
68861 }
68862 }, loadFullConfig);
68863 }));
68864
68865 function enhanceError(context, fn) {
68866 return regenerator.mark(function _callee(arg1, arg2) {
68867 return regenerator.wrap(function _callee$(_context4) {
68868 while (1) {
68869 switch (_context4.prev = _context4.next) {
68870 case 0:
68871 _context4.prev = 0;
68872 return _context4.delegateYield(fn(arg1, arg2), "t0", 2);
68873
68874 case 2:
68875 return _context4.abrupt("return", _context4.t0);
68876
68877 case 5:
68878 _context4.prev = 5;
68879 _context4.t1 = _context4["catch"](0);
68880
68881 if (!/^\[BABEL\]/.test(_context4.t1.message)) {
68882 _context4.t1.message = "[BABEL] " + (context.filename || "unknown") + ": " + _context4.t1.message;
68883 }
68884
68885 throw _context4.t1;
68886
68887 case 9:
68888 case "end":
68889 return _context4.stop();
68890 }
68891 }
68892 }, _callee, null, [[0, 5]]);
68893 });
68894 }
68895
68896 var makeDescriptorLoader = function makeDescriptorLoader(apiFactory) {
68897 return makeWeakCache(regenerator.mark(function _callee2(_ref, cache) {
68898 var value, options, dirname, alias, item, factory, api;
68899 return regenerator.wrap(function _callee2$(_context5) {
68900 while (1) {
68901 switch (_context5.prev = _context5.next) {
68902 case 0:
68903 value = _ref.value, options = _ref.options, dirname = _ref.dirname, alias = _ref.alias;
68904
68905 if (!(options === false)) {
68906 _context5.next = 3;
68907 break;
68908 }
68909
68910 throw new Error("Assertion failure");
68911
68912 case 3:
68913 options = options || {};
68914 item = value;
68915
68916 if (!(typeof value === "function")) {
68917 _context5.next = 17;
68918 break;
68919 }
68920
68921 factory = maybeAsync(value, "You appear to be using an async plugin/preset, but Babel has been called synchronously");
68922 api = Object.assign({}, babel, apiFactory(cache));
68923 _context5.prev = 8;
68924 return _context5.delegateYield(factory(api, options, dirname), "t0", 10);
68925
68926 case 10:
68927 item = _context5.t0;
68928 _context5.next = 17;
68929 break;
68930
68931 case 13:
68932 _context5.prev = 13;
68933 _context5.t1 = _context5["catch"](8);
68934
68935 if (alias) {
68936 _context5.t1.message += " (While processing: " + JSON.stringify(alias) + ")";
68937 }
68938
68939 throw _context5.t1;
68940
68941 case 17:
68942 if (!(!item || typeof item !== "object")) {
68943 _context5.next = 19;
68944 break;
68945 }
68946
68947 throw new Error("Plugin/Preset did not return an object.");
68948
68949 case 19:
68950 if (!isThenable$1(item)) {
68951 _context5.next = 22;
68952 break;
68953 }
68954
68955 return _context5.delegateYield([], "t2", 21);
68956
68957 case 21:
68958 throw new Error("You appear to be using a promise as a plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, " + "you may need to upgrade your @babel/core version. " + "As an alternative, you can prefix the promise with \"await\". " + ("(While processing: " + JSON.stringify(alias) + ")"));
68959
68960 case 22:
68961 return _context5.abrupt("return", {
68962 value: item,
68963 options: options,
68964 dirname: dirname,
68965 alias: alias
68966 });
68967
68968 case 23:
68969 case "end":
68970 return _context5.stop();
68971 }
68972 }
68973 }, _callee2, null, [[8, 13]]);
68974 }));
68975 };
68976
68977 var pluginDescriptorLoader = makeDescriptorLoader(makePluginAPI);
68978 var presetDescriptorLoader = makeDescriptorLoader(makePresetAPI);
68979
68980 function loadPluginDescriptor(descriptor, context) {
68981 return regenerator.wrap(function loadPluginDescriptor$(_context6) {
68982 while (1) {
68983 switch (_context6.prev = _context6.next) {
68984 case 0:
68985 if (!(descriptor.value instanceof Plugin$1)) {
68986 _context6.next = 4;
68987 break;
68988 }
68989
68990 if (!descriptor.options) {
68991 _context6.next = 3;
68992 break;
68993 }
68994
68995 throw new Error("Passed options to an existing Plugin instance will not work.");
68996
68997 case 3:
68998 return _context6.abrupt("return", descriptor.value);
68999
69000 case 4:
69001 _context6.t0 = instantiatePlugin;
69002 return _context6.delegateYield(pluginDescriptorLoader(descriptor, context), "t1", 6);
69003
69004 case 6:
69005 _context6.t2 = _context6.t1;
69006 _context6.t3 = context;
69007 return _context6.delegateYield((0, _context6.t0)(_context6.t2, _context6.t3), "t4", 9);
69008
69009 case 9:
69010 return _context6.abrupt("return", _context6.t4);
69011
69012 case 10:
69013 case "end":
69014 return _context6.stop();
69015 }
69016 }
69017 }, _marked$3);
69018 }
69019
69020 var instantiatePlugin = makeWeakCache(regenerator.mark(function _callee3(_ref2, cache) {
69021 var value, options, dirname, alias, pluginObj, plugin, inheritsDescriptor, inherits;
69022 return regenerator.wrap(function _callee3$(_context7) {
69023 while (1) {
69024 switch (_context7.prev = _context7.next) {
69025 case 0:
69026 value = _ref2.value, options = _ref2.options, dirname = _ref2.dirname, alias = _ref2.alias;
69027 pluginObj = validatePluginObject(value);
69028 plugin = Object.assign({}, pluginObj);
69029
69030 if (plugin.visitor) {
69031 plugin.visitor = traverse.explode(Object.assign({}, plugin.visitor));
69032 }
69033
69034 if (!plugin.inherits) {
69035 _context7.next = 12;
69036 break;
69037 }
69038
69039 inheritsDescriptor = {
69040 name: undefined,
69041 alias: alias + "$inherits",
69042 value: plugin.inherits,
69043 options: options,
69044 dirname: dirname
69045 };
69046 return _context7.delegateYield(forwardAsync(loadPluginDescriptor, function (run) {
69047 return cache.invalidate(function (data) {
69048 return run(inheritsDescriptor, data);
69049 });
69050 }), "t0", 7);
69051
69052 case 7:
69053 inherits = _context7.t0;
69054 plugin.pre = chain(inherits.pre, plugin.pre);
69055 plugin.post = chain(inherits.post, plugin.post);
69056 plugin.manipulateOptions = chain(inherits.manipulateOptions, plugin.manipulateOptions);
69057 plugin.visitor = traverse.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]);
69058
69059 case 12:
69060 return _context7.abrupt("return", new Plugin$1(plugin, options, alias));
69061
69062 case 13:
69063 case "end":
69064 return _context7.stop();
69065 }
69066 }
69067 }, _callee3);
69068 }));
69069
69070 var validateIfOptionNeedsFilename = function validateIfOptionNeedsFilename(options, descriptor) {
69071 if (options.test || options.include || options.exclude) {
69072 var formattedPresetName = descriptor.name ? "\"" + descriptor.name + "\"" : "/* your preset */";
69073 throw new Error(["Preset " + formattedPresetName + " requires a filename to be set when babel is called directly,", "```", "babel.transform(code, { filename: 'file.ts', presets: [" + formattedPresetName + "] });", "```", "See https://babeljs.io/docs/en/options#filename for more information."].join("\n"));
69074 }
69075 };
69076
69077 var validatePreset = function validatePreset(preset, context, descriptor) {
69078 if (!context.filename) {
69079 var options = preset.options;
69080 validateIfOptionNeedsFilename(options, descriptor);
69081
69082 if (options.overrides) {
69083 options.overrides.forEach(function (overrideOptions) {
69084 return validateIfOptionNeedsFilename(overrideOptions, descriptor);
69085 });
69086 }
69087 }
69088 };
69089
69090 function loadPresetDescriptor(descriptor, context) {
69091 var preset;
69092 return regenerator.wrap(function loadPresetDescriptor$(_context8) {
69093 while (1) {
69094 switch (_context8.prev = _context8.next) {
69095 case 0:
69096 _context8.t0 = instantiatePreset;
69097 return _context8.delegateYield(presetDescriptorLoader(descriptor, context), "t1", 2);
69098
69099 case 2:
69100 _context8.t2 = _context8.t1;
69101 preset = (0, _context8.t0)(_context8.t2);
69102 validatePreset(preset, context, descriptor);
69103 return _context8.delegateYield(buildPresetChain(preset, context), "t3", 6);
69104
69105 case 6:
69106 return _context8.abrupt("return", _context8.t3);
69107
69108 case 7:
69109 case "end":
69110 return _context8.stop();
69111 }
69112 }
69113 }, _marked2$1);
69114 }
69115
69116 var instantiatePreset = makeWeakCacheSync(function (_ref3) {
69117 var value = _ref3.value,
69118 dirname = _ref3.dirname,
69119 alias = _ref3.alias;
69120 return {
69121 options: validate("preset", value),
69122 alias: alias,
69123 dirname: dirname
69124 };
69125 });
69126
69127 function chain(a, b) {
69128 var fns = [a, b].filter(Boolean);
69129 if (fns.length <= 1) return fns[0];
69130 return function () {
69131 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
69132 args[_key] = arguments[_key];
69133 }
69134
69135 for (var _iterator3 = _createForOfIteratorHelperLoose(fns), _step3; !(_step3 = _iterator3()).done;) {
69136 var fn = _step3.value;
69137 fn.apply(this, args);
69138 }
69139 };
69140 }
69141
69142 var loadOptionsRunner = gensync(regenerator.mark(function _callee(opts) {
69143 var _config$options;
69144
69145 var config;
69146 return regenerator.wrap(function _callee$(_context) {
69147 while (1) {
69148 switch (_context.prev = _context.next) {
69149 case 0:
69150 return _context.delegateYield(loadConfig(opts), "t0", 1);
69151
69152 case 1:
69153 config = _context.t0;
69154 return _context.abrupt("return", (_config$options = config == null ? void 0 : config.options) != null ? _config$options : null);
69155
69156 case 3:
69157 case "end":
69158 return _context.stop();
69159 }
69160 }
69161 }, _callee);
69162 }));
69163 var createConfigItemRunner = gensync(createConfigItem$1);
69164
69165 var maybeErrback = function maybeErrback(runner) {
69166 return function (opts, callback) {
69167 if (callback === undefined && typeof opts === "function") {
69168 callback = opts;
69169 opts = undefined;
69170 }
69171
69172 return callback ? runner.errback(opts, callback) : runner.sync(opts);
69173 };
69174 };
69175
69176 var loadPartialConfig = maybeErrback(loadPartialConfig$1);
69177 var loadPartialConfigSync = loadPartialConfig$1.sync;
69178 var loadPartialConfigAsync = loadPartialConfig$1.async;
69179 var loadOptions = maybeErrback(loadOptionsRunner);
69180 var loadOptionsSync = loadOptionsRunner.sync;
69181 var loadOptionsAsync = loadOptionsRunner.async;
69182 var createConfigItemSync = createConfigItemRunner.sync;
69183 var createConfigItemAsync = createConfigItemRunner.async;
69184 function createConfigItem(target, options, callback) {
69185 if (callback !== undefined) {
69186 return createConfigItemRunner.errback(target, options, callback);
69187 } else if (typeof options === "function") {
69188 return createConfigItemRunner.errback(target, undefined, callback);
69189 } else {
69190 return createConfigItemRunner.sync(target, options);
69191 }
69192 }
69193
69194 var PluginPass = function () {
69195 function PluginPass(file, key, options) {
69196 this._map = new Map();
69197 this.key = void 0;
69198 this.file = void 0;
69199 this.opts = void 0;
69200 this.cwd = void 0;
69201 this.filename = void 0;
69202 this.key = key;
69203 this.file = file;
69204 this.opts = options || {};
69205 this.cwd = file.opts.cwd;
69206 this.filename = file.opts.filename;
69207 }
69208
69209 var _proto = PluginPass.prototype;
69210
69211 _proto.set = function set(key, val) {
69212 this._map.set(key, val);
69213 };
69214
69215 _proto.get = function get(key) {
69216 return this._map.get(key);
69217 };
69218
69219 _proto.availableHelper = function availableHelper(name, versionRange) {
69220 return this.file.availableHelper(name, versionRange);
69221 };
69222
69223 _proto.addHelper = function addHelper(name) {
69224 return this.file.addHelper(name);
69225 };
69226
69227 _proto.addImport = function addImport() {
69228 return this.file.addImport();
69229 };
69230
69231 _proto.buildCodeFrameError = function buildCodeFrameError(node, msg, _Error) {
69232 return this.file.buildCodeFrameError(node, msg, _Error);
69233 };
69234
69235 return PluginPass;
69236 }();
69237 {
69238 PluginPass.prototype.getModuleName = function getModuleName() {
69239 return this.file.getModuleName();
69240 };
69241 }
69242
69243 var LOADED_PLUGIN;
69244 function loadBlockHoistPlugin() {
69245 if (!LOADED_PLUGIN) {
69246 LOADED_PLUGIN = new Plugin$1(Object.assign({}, blockHoistPlugin, {
69247 visitor: traverse.explode(blockHoistPlugin.visitor)
69248 }), {});
69249 }
69250
69251 return LOADED_PLUGIN;
69252 }
69253
69254 function priority(bodyNode) {
69255 var priority = bodyNode == null ? void 0 : bodyNode._blockHoist;
69256 if (priority == null) return 1;
69257 if (priority === true) return 2;
69258 return priority;
69259 }
69260
69261 function stableSort(body) {
69262 var buckets = Object.create(null);
69263
69264 for (var i = 0; i < body.length; i++) {
69265 var n = body[i];
69266 var p = priority(n);
69267 var bucket = buckets[p] || (buckets[p] = []);
69268 bucket.push(n);
69269 }
69270
69271 var keys = Object.keys(buckets).map(function (k) {
69272 return +k;
69273 }).sort(function (a, b) {
69274 return b - a;
69275 });
69276 var index = 0;
69277
69278 for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
69279 var key = _step.value;
69280 var _bucket = buckets[key];
69281
69282 for (var _iterator2 = _createForOfIteratorHelperLoose(_bucket), _step2; !(_step2 = _iterator2()).done;) {
69283 var _n = _step2.value;
69284 body[index++] = _n;
69285 }
69286 }
69287
69288 return body;
69289 }
69290
69291 var blockHoistPlugin = {
69292 name: "internal.blockHoist",
69293 visitor: {
69294 Block: {
69295 exit: function exit(_ref) {
69296 var node = _ref.node;
69297 var body = node.body;
69298 var max = Math.pow(2, 30) - 1;
69299 var hasChange = false;
69300
69301 for (var i = 0; i < body.length; i++) {
69302 var n = body[i];
69303 var p = priority(n);
69304
69305 if (p > max) {
69306 hasChange = true;
69307 break;
69308 }
69309
69310 max = p;
69311 }
69312
69313 if (!hasChange) return;
69314 node.body = stableSort(body.slice());
69315 }
69316 }
69317 }
69318 };
69319
69320 function normalizeOptions$4(config) {
69321 var _config$options = config.options,
69322 filename = _config$options.filename,
69323 cwd = _config$options.cwd,
69324 _config$options$filen = _config$options.filenameRelative,
69325 filenameRelative = _config$options$filen === void 0 ? typeof filename === "string" ? path$1.relative(cwd, filename) : "unknown" : _config$options$filen,
69326 _config$options$sourc = _config$options.sourceType,
69327 sourceType = _config$options$sourc === void 0 ? "module" : _config$options$sourc,
69328 inputSourceMap = _config$options.inputSourceMap,
69329 _config$options$sourc2 = _config$options.sourceMaps,
69330 sourceMaps = _config$options$sourc2 === void 0 ? !!inputSourceMap : _config$options$sourc2,
69331 _config$options$sourc3 = _config$options.sourceRoot,
69332 sourceRoot = _config$options$sourc3 === void 0 ? config.options.moduleRoot : _config$options$sourc3,
69333 _config$options$sourc4 = _config$options.sourceFileName,
69334 sourceFileName = _config$options$sourc4 === void 0 ? path$1.basename(filenameRelative) : _config$options$sourc4,
69335 _config$options$comme = _config$options.comments,
69336 comments = _config$options$comme === void 0 ? true : _config$options$comme,
69337 _config$options$compa = _config$options.compact,
69338 compact = _config$options$compa === void 0 ? "auto" : _config$options$compa;
69339 var opts = config.options;
69340 var options = Object.assign({}, opts, {
69341 parserOpts: Object.assign({
69342 sourceType: path$1.extname(filenameRelative) === ".mjs" ? "module" : sourceType,
69343 sourceFileName: filename,
69344 plugins: []
69345 }, opts.parserOpts),
69346 generatorOpts: Object.assign({
69347 filename: filename,
69348 auxiliaryCommentBefore: opts.auxiliaryCommentBefore,
69349 auxiliaryCommentAfter: opts.auxiliaryCommentAfter,
69350 retainLines: opts.retainLines,
69351 comments: comments,
69352 shouldPrintComment: opts.shouldPrintComment,
69353 compact: compact,
69354 minified: opts.minified,
69355 sourceMaps: sourceMaps,
69356 sourceRoot: sourceRoot,
69357 sourceFileName: sourceFileName
69358 }, opts.generatorOpts)
69359 });
69360
69361 for (var _iterator = _createForOfIteratorHelperLoose(config.passes), _step; !(_step = _iterator()).done;) {
69362 var plugins = _step.value;
69363
69364 for (var _iterator2 = _createForOfIteratorHelperLoose(plugins), _step2; !(_step2 = _iterator2()).done;) {
69365 var plugin = _step2.value;
69366
69367 if (plugin.manipulateOptions) {
69368 plugin.manipulateOptions(options, options.parserOpts);
69369 }
69370 }
69371 }
69372
69373 return options;
69374 }
69375
69376 var fs = {};
69377
69378 var safeBuffer = createCommonjsModule(function (module, exports) {
69379 var Buffer = buffer.Buffer;
69380
69381 function copyProps(src, dst) {
69382 for (var key in src) {
69383 dst[key] = src[key];
69384 }
69385 }
69386
69387 if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
69388 module.exports = buffer;
69389 } else {
69390 copyProps(buffer, exports);
69391 exports.Buffer = SafeBuffer;
69392 }
69393
69394 function SafeBuffer(arg, encodingOrOffset, length) {
69395 return Buffer(arg, encodingOrOffset, length);
69396 }
69397
69398 copyProps(Buffer, SafeBuffer);
69399
69400 SafeBuffer.from = function (arg, encodingOrOffset, length) {
69401 if (typeof arg === 'number') {
69402 throw new TypeError('Argument must not be a number');
69403 }
69404
69405 return Buffer(arg, encodingOrOffset, length);
69406 };
69407
69408 SafeBuffer.alloc = function (size, fill, encoding) {
69409 if (typeof size !== 'number') {
69410 throw new TypeError('Argument must be a number');
69411 }
69412
69413 var buf = Buffer(size);
69414
69415 if (fill !== undefined) {
69416 if (typeof encoding === 'string') {
69417 buf.fill(fill, encoding);
69418 } else {
69419 buf.fill(fill);
69420 }
69421 } else {
69422 buf.fill(0);
69423 }
69424
69425 return buf;
69426 };
69427
69428 SafeBuffer.allocUnsafe = function (size) {
69429 if (typeof size !== 'number') {
69430 throw new TypeError('Argument must be a number');
69431 }
69432
69433 return Buffer(size);
69434 };
69435
69436 SafeBuffer.allocUnsafeSlow = function (size) {
69437 if (typeof size !== 'number') {
69438 throw new TypeError('Argument must be a number');
69439 }
69440
69441 return buffer.SlowBuffer(size);
69442 };
69443 }, "/$$rollup_base$$/packages/babel-core/node_modules/convert-source-map/node_modules/safe-buffer");
69444
69445 var path = /*@__PURE__*/getAugmentedNamespace(path$2);
69446
69447 var convertSourceMap = createCommonjsModule(function (module, exports) {
69448
69449 Object.defineProperty(exports, 'commentRegex', {
69450 get: function getCommentRegex() {
69451 return /^\s*\/(?:\/|\*)[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/mg;
69452 }
69453 });
69454 Object.defineProperty(exports, 'mapFileCommentRegex', {
69455 get: function getMapFileCommentRegex() {
69456 return /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"`]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/){1}[ \t]*$)/mg;
69457 }
69458 });
69459
69460 function decodeBase64(base64) {
69461 return safeBuffer.Buffer.from(base64, 'base64').toString();
69462 }
69463
69464 function stripComment(sm) {
69465 return sm.split(',').pop();
69466 }
69467
69468 function readFromFileMap(sm, dir) {
69469 var r = exports.mapFileCommentRegex.exec(sm);
69470 var filename = r[1] || r[2];
69471 var filepath = path.resolve(dir, filename);
69472
69473 try {
69474 return fs$1.readFileSync(filepath, 'utf8');
69475 } catch (e) {
69476 throw new Error('An error occurred while trying to read the map file at ' + filepath + '\n' + e);
69477 }
69478 }
69479
69480 function Converter(sm, opts) {
69481 opts = opts || {};
69482 if (opts.isFileComment) sm = readFromFileMap(sm, opts.commentFileDir);
69483 if (opts.hasComment) sm = stripComment(sm);
69484 if (opts.isEncoded) sm = decodeBase64(sm);
69485 if (opts.isJSON || opts.isEncoded) sm = JSON.parse(sm);
69486 this.sourcemap = sm;
69487 }
69488
69489 Converter.prototype.toJSON = function (space) {
69490 return JSON.stringify(this.sourcemap, null, space);
69491 };
69492
69493 Converter.prototype.toBase64 = function () {
69494 var json = this.toJSON();
69495 return safeBuffer.Buffer.from(json, 'utf8').toString('base64');
69496 };
69497
69498 Converter.prototype.toComment = function (options) {
69499 var base64 = this.toBase64();
69500 var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
69501 return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;
69502 };
69503
69504 Converter.prototype.toObject = function () {
69505 return JSON.parse(this.toJSON());
69506 };
69507
69508 Converter.prototype.addProperty = function (key, value) {
69509 if (this.sourcemap.hasOwnProperty(key)) throw new Error('property "' + key + '" already exists on the sourcemap, use set property instead');
69510 return this.setProperty(key, value);
69511 };
69512
69513 Converter.prototype.setProperty = function (key, value) {
69514 this.sourcemap[key] = value;
69515 return this;
69516 };
69517
69518 Converter.prototype.getProperty = function (key) {
69519 return this.sourcemap[key];
69520 };
69521
69522 exports.fromObject = function (obj) {
69523 return new Converter(obj);
69524 };
69525
69526 exports.fromJSON = function (json) {
69527 return new Converter(json, {
69528 isJSON: true
69529 });
69530 };
69531
69532 exports.fromBase64 = function (base64) {
69533 return new Converter(base64, {
69534 isEncoded: true
69535 });
69536 };
69537
69538 exports.fromComment = function (comment) {
69539 comment = comment.replace(/^\/\*/g, '//').replace(/\*\/$/g, '');
69540 return new Converter(comment, {
69541 isEncoded: true,
69542 hasComment: true
69543 });
69544 };
69545
69546 exports.fromMapFileComment = function (comment, dir) {
69547 return new Converter(comment, {
69548 commentFileDir: dir,
69549 isFileComment: true,
69550 isJSON: true
69551 });
69552 };
69553
69554 exports.fromSource = function (content) {
69555 var m = content.match(exports.commentRegex);
69556 return m ? exports.fromComment(m.pop()) : null;
69557 };
69558
69559 exports.fromMapFileSource = function (content, dir) {
69560 var m = content.match(exports.mapFileCommentRegex);
69561 return m ? exports.fromMapFileComment(m.pop(), dir) : null;
69562 };
69563
69564 exports.removeComments = function (src) {
69565 return src.replace(exports.commentRegex, '');
69566 };
69567
69568 exports.removeMapFileComments = function (src) {
69569 return src.replace(exports.mapFileCommentRegex, '');
69570 };
69571
69572 exports.generateMapFileComment = function (file, options) {
69573 var data = 'sourceMappingURL=' + file;
69574 return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;
69575 };
69576 }, "/$$rollup_base$$/packages/babel-core/node_modules/convert-source-map");
69577
69578 var pluginNameMap = {
69579 asyncDoExpressions: {
69580 syntax: {
69581 name: "@babel/plugin-syntax-async-do-expressions",
69582 url: "https://git.io/JYer8"
69583 }
69584 },
69585 classProperties: {
69586 syntax: {
69587 name: "@babel/plugin-syntax-class-properties",
69588 url: "https://git.io/vb4yQ"
69589 },
69590 transform: {
69591 name: "@babel/plugin-proposal-class-properties",
69592 url: "https://git.io/vb4SL"
69593 }
69594 },
69595 classPrivateProperties: {
69596 syntax: {
69597 name: "@babel/plugin-syntax-class-properties",
69598 url: "https://git.io/vb4yQ"
69599 },
69600 transform: {
69601 name: "@babel/plugin-proposal-class-properties",
69602 url: "https://git.io/vb4SL"
69603 }
69604 },
69605 classPrivateMethods: {
69606 syntax: {
69607 name: "@babel/plugin-syntax-class-properties",
69608 url: "https://git.io/vb4yQ"
69609 },
69610 transform: {
69611 name: "@babel/plugin-proposal-private-methods",
69612 url: "https://git.io/JvpRG"
69613 }
69614 },
69615 classStaticBlock: {
69616 syntax: {
69617 name: "@babel/plugin-syntax-class-static-block",
69618 url: "https://git.io/JTLB6"
69619 },
69620 transform: {
69621 name: "@babel/plugin-proposal-class-static-block",
69622 url: "https://git.io/JTLBP"
69623 }
69624 },
69625 decimal: {
69626 syntax: {
69627 name: "@babel/plugin-syntax-decimal",
69628 url: "https://git.io/JfKOH"
69629 }
69630 },
69631 decorators: {
69632 syntax: {
69633 name: "@babel/plugin-syntax-decorators",
69634 url: "https://git.io/vb4y9"
69635 },
69636 transform: {
69637 name: "@babel/plugin-proposal-decorators",
69638 url: "https://git.io/vb4ST"
69639 }
69640 },
69641 doExpressions: {
69642 syntax: {
69643 name: "@babel/plugin-syntax-do-expressions",
69644 url: "https://git.io/vb4yh"
69645 },
69646 transform: {
69647 name: "@babel/plugin-proposal-do-expressions",
69648 url: "https://git.io/vb4S3"
69649 }
69650 },
69651 dynamicImport: {
69652 syntax: {
69653 name: "@babel/plugin-syntax-dynamic-import",
69654 url: "https://git.io/vb4Sv"
69655 }
69656 },
69657 exportDefaultFrom: {
69658 syntax: {
69659 name: "@babel/plugin-syntax-export-default-from",
69660 url: "https://git.io/vb4SO"
69661 },
69662 transform: {
69663 name: "@babel/plugin-proposal-export-default-from",
69664 url: "https://git.io/vb4yH"
69665 }
69666 },
69667 exportNamespaceFrom: {
69668 syntax: {
69669 name: "@babel/plugin-syntax-export-namespace-from",
69670 url: "https://git.io/vb4Sf"
69671 },
69672 transform: {
69673 name: "@babel/plugin-proposal-export-namespace-from",
69674 url: "https://git.io/vb4SG"
69675 }
69676 },
69677 flow: {
69678 syntax: {
69679 name: "@babel/plugin-syntax-flow",
69680 url: "https://git.io/vb4yb"
69681 },
69682 transform: {
69683 name: "@babel/preset-flow",
69684 url: "https://git.io/JfeDn"
69685 }
69686 },
69687 functionBind: {
69688 syntax: {
69689 name: "@babel/plugin-syntax-function-bind",
69690 url: "https://git.io/vb4y7"
69691 },
69692 transform: {
69693 name: "@babel/plugin-proposal-function-bind",
69694 url: "https://git.io/vb4St"
69695 }
69696 },
69697 functionSent: {
69698 syntax: {
69699 name: "@babel/plugin-syntax-function-sent",
69700 url: "https://git.io/vb4yN"
69701 },
69702 transform: {
69703 name: "@babel/plugin-proposal-function-sent",
69704 url: "https://git.io/vb4SZ"
69705 }
69706 },
69707 importMeta: {
69708 syntax: {
69709 name: "@babel/plugin-syntax-import-meta",
69710 url: "https://git.io/vbKK6"
69711 }
69712 },
69713 jsx: {
69714 syntax: {
69715 name: "@babel/plugin-syntax-jsx",
69716 url: "https://git.io/vb4yA"
69717 },
69718 transform: {
69719 name: "@babel/preset-react",
69720 url: "https://git.io/JfeDR"
69721 }
69722 },
69723 importAssertions: {
69724 syntax: {
69725 name: "@babel/plugin-syntax-import-assertions",
69726 url: "https://git.io/JUbkv"
69727 }
69728 },
69729 moduleStringNames: {
69730 syntax: {
69731 name: "@babel/plugin-syntax-module-string-names",
69732 url: "https://git.io/JTL8G"
69733 }
69734 },
69735 numericSeparator: {
69736 syntax: {
69737 name: "@babel/plugin-syntax-numeric-separator",
69738 url: "https://git.io/vb4Sq"
69739 },
69740 transform: {
69741 name: "@babel/plugin-proposal-numeric-separator",
69742 url: "https://git.io/vb4yS"
69743 }
69744 },
69745 optionalChaining: {
69746 syntax: {
69747 name: "@babel/plugin-syntax-optional-chaining",
69748 url: "https://git.io/vb4Sc"
69749 },
69750 transform: {
69751 name: "@babel/plugin-proposal-optional-chaining",
69752 url: "https://git.io/vb4Sk"
69753 }
69754 },
69755 pipelineOperator: {
69756 syntax: {
69757 name: "@babel/plugin-syntax-pipeline-operator",
69758 url: "https://git.io/vb4yj"
69759 },
69760 transform: {
69761 name: "@babel/plugin-proposal-pipeline-operator",
69762 url: "https://git.io/vb4SU"
69763 }
69764 },
69765 privateIn: {
69766 syntax: {
69767 name: "@babel/plugin-syntax-private-property-in-object",
69768 url: "https://git.io/JfK3q"
69769 },
69770 transform: {
69771 name: "@babel/plugin-proposal-private-property-in-object",
69772 url: "https://git.io/JfK3O"
69773 }
69774 },
69775 recordAndTuple: {
69776 syntax: {
69777 name: "@babel/plugin-syntax-record-and-tuple",
69778 url: "https://git.io/JvKp3"
69779 }
69780 },
69781 throwExpressions: {
69782 syntax: {
69783 name: "@babel/plugin-syntax-throw-expressions",
69784 url: "https://git.io/vb4SJ"
69785 },
69786 transform: {
69787 name: "@babel/plugin-proposal-throw-expressions",
69788 url: "https://git.io/vb4yF"
69789 }
69790 },
69791 typescript: {
69792 syntax: {
69793 name: "@babel/plugin-syntax-typescript",
69794 url: "https://git.io/vb4SC"
69795 },
69796 transform: {
69797 name: "@babel/preset-typescript",
69798 url: "https://git.io/JfeDz"
69799 }
69800 },
69801 asyncGenerators: {
69802 syntax: {
69803 name: "@babel/plugin-syntax-async-generators",
69804 url: "https://git.io/vb4SY"
69805 },
69806 transform: {
69807 name: "@babel/plugin-proposal-async-generator-functions",
69808 url: "https://git.io/vb4yp"
69809 }
69810 },
69811 logicalAssignment: {
69812 syntax: {
69813 name: "@babel/plugin-syntax-logical-assignment-operators",
69814 url: "https://git.io/vAlBp"
69815 },
69816 transform: {
69817 name: "@babel/plugin-proposal-logical-assignment-operators",
69818 url: "https://git.io/vAlRe"
69819 }
69820 },
69821 nullishCoalescingOperator: {
69822 syntax: {
69823 name: "@babel/plugin-syntax-nullish-coalescing-operator",
69824 url: "https://git.io/vb4yx"
69825 },
69826 transform: {
69827 name: "@babel/plugin-proposal-nullish-coalescing-operator",
69828 url: "https://git.io/vb4Se"
69829 }
69830 },
69831 objectRestSpread: {
69832 syntax: {
69833 name: "@babel/plugin-syntax-object-rest-spread",
69834 url: "https://git.io/vb4y5"
69835 },
69836 transform: {
69837 name: "@babel/plugin-proposal-object-rest-spread",
69838 url: "https://git.io/vb4Ss"
69839 }
69840 },
69841 optionalCatchBinding: {
69842 syntax: {
69843 name: "@babel/plugin-syntax-optional-catch-binding",
69844 url: "https://git.io/vb4Sn"
69845 },
69846 transform: {
69847 name: "@babel/plugin-proposal-optional-catch-binding",
69848 url: "https://git.io/vb4SI"
69849 }
69850 }
69851 };
69852 pluginNameMap.privateIn.syntax = pluginNameMap.privateIn.transform;
69853
69854 var getNameURLCombination = function getNameURLCombination(_ref) {
69855 var name = _ref.name,
69856 url = _ref.url;
69857 return name + " (" + url + ")";
69858 };
69859
69860 function generateMissingPluginMessage(missingPluginName, loc, codeFrame) {
69861 var helpMessage = "Support for the experimental syntax '" + missingPluginName + "' isn't currently enabled " + ("(" + loc.line + ":" + (loc.column + 1) + "):\n\n") + codeFrame;
69862 var pluginInfo = pluginNameMap[missingPluginName];
69863
69864 if (pluginInfo) {
69865 var syntaxPlugin = pluginInfo.syntax,
69866 transformPlugin = pluginInfo.transform;
69867
69868 if (syntaxPlugin) {
69869 var syntaxPluginInfo = getNameURLCombination(syntaxPlugin);
69870
69871 if (transformPlugin) {
69872 var transformPluginInfo = getNameURLCombination(transformPlugin);
69873 var sectionType = transformPlugin.name.startsWith("@babel/plugin") ? "plugins" : "presets";
69874 helpMessage += "\n\nAdd " + transformPluginInfo + " to the '" + sectionType + "' section of your Babel config to enable transformation.\nIf you want to leave it as-is, add " + syntaxPluginInfo + " to the 'plugins' section to enable parsing.";
69875 } else {
69876 helpMessage += "\n\nAdd " + syntaxPluginInfo + " to the 'plugins' section of your Babel config " + "to enable parsing.";
69877 }
69878 }
69879 }
69880
69881 return helpMessage;
69882 }
69883
69884 var _marked$2 = regenerator.mark(parser$1);
69885 function parser$1(pluginPasses, _ref, code) {
69886 var parserOpts, _ref$highlightCode, highlightCode, _ref$filename, filename, results, _iterator, _step, plugins, _iterator2, _step2, plugin, parserOverride, ast, loc, missingPlugin, codeFrame;
69887
69888 return regenerator.wrap(function parser$(_context) {
69889 while (1) {
69890 switch (_context.prev = _context.next) {
69891 case 0:
69892 parserOpts = _ref.parserOpts, _ref$highlightCode = _ref.highlightCode, highlightCode = _ref$highlightCode === void 0 ? true : _ref$highlightCode, _ref$filename = _ref.filename, filename = _ref$filename === void 0 ? "unknown" : _ref$filename;
69893 _context.prev = 1;
69894 results = [];
69895
69896 for (_iterator = _createForOfIteratorHelperLoose(pluginPasses); !(_step = _iterator()).done;) {
69897 plugins = _step.value;
69898
69899 for (_iterator2 = _createForOfIteratorHelperLoose(plugins); !(_step2 = _iterator2()).done;) {
69900 plugin = _step2.value;
69901 parserOverride = plugin.parserOverride;
69902
69903 if (parserOverride) {
69904 ast = parserOverride(code, parserOpts, parse$8);
69905 if (ast !== undefined) results.push(ast);
69906 }
69907 }
69908 }
69909
69910 if (!(results.length === 0)) {
69911 _context.next = 8;
69912 break;
69913 }
69914
69915 return _context.abrupt("return", parse$8(code, parserOpts));
69916
69917 case 8:
69918 if (!(results.length === 1)) {
69919 _context.next = 13;
69920 break;
69921 }
69922
69923 return _context.delegateYield([], "t0", 10);
69924
69925 case 10:
69926 if (!(typeof results[0].then === "function")) {
69927 _context.next = 12;
69928 break;
69929 }
69930
69931 throw new Error("You appear to be using an async parser plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version.");
69932
69933 case 12:
69934 return _context.abrupt("return", results[0]);
69935
69936 case 13:
69937 throw new Error("More than one plugin attempted to override parsing.");
69938
69939 case 16:
69940 _context.prev = 16;
69941 _context.t1 = _context["catch"](1);
69942
69943 if (_context.t1.code === "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED") {
69944 _context.t1.message += "\nConsider renaming the file to '.mjs', or setting sourceType:module " + "or sourceType:unambiguous in your Babel config for this file.";
69945 }
69946
69947 loc = _context.t1.loc, missingPlugin = _context.t1.missingPlugin;
69948
69949 if (loc) {
69950 codeFrame = codeFrameColumns(code, {
69951 start: {
69952 line: loc.line,
69953 column: loc.column + 1
69954 }
69955 }, {
69956 highlightCode: highlightCode
69957 });
69958
69959 if (missingPlugin) {
69960 _context.t1.message = filename + ": " + generateMissingPluginMessage(missingPlugin[0], loc, codeFrame);
69961 } else {
69962 _context.t1.message = filename + ": " + _context.t1.message + "\n\n" + codeFrame;
69963 }
69964
69965 _context.t1.code = "BABEL_PARSE_ERROR";
69966 }
69967
69968 throw _context.t1;
69969
69970 case 22:
69971 case "end":
69972 return _context.stop();
69973 }
69974 }
69975 }, _marked$2, null, [[1, 16]]);
69976 }
69977
69978 var serialized = "$$ babel internal serialized type" + Math.random();
69979
69980 function serialize(key, value) {
69981 var _ref;
69982
69983 if (typeof value !== "bigint") return value;
69984 return _ref = {}, _ref[serialized] = "BigInt", _ref.value = value.toString(), _ref;
69985 }
69986
69987 function revive(key, value) {
69988 if (!value || typeof value !== "object") return value;
69989 if (value[serialized] !== "BigInt") return value;
69990 return BigInt(value.value);
69991 }
69992
69993 function cloneDeep (value) {
69994 return JSON.parse(JSON.stringify(value, serialize), revive);
69995 }
69996
69997 var _marked$1 = regenerator.mark(normalizeFile);
69998 var debug$2 = browser$1("babel:transform:file");
69999 var LARGE_INPUT_SOURCEMAP_THRESHOLD = 1000000;
70000 function normalizeFile(pluginPasses, options, code, ast) {
70001 var inputMap, lastComment, _lastComment, match, inputMapContent;
70002
70003 return regenerator.wrap(function normalizeFile$(_context) {
70004 while (1) {
70005 switch (_context.prev = _context.next) {
70006 case 0:
70007 code = "" + (code || "");
70008
70009 if (!ast) {
70010 _context.next = 11;
70011 break;
70012 }
70013
70014 if (!(ast.type === "Program")) {
70015 _context.next = 6;
70016 break;
70017 }
70018
70019 ast = file(ast, [], []);
70020 _context.next = 8;
70021 break;
70022
70023 case 6:
70024 if (!(ast.type !== "File")) {
70025 _context.next = 8;
70026 break;
70027 }
70028
70029 throw new Error("AST root must be a Program or File node");
70030
70031 case 8:
70032 if (options.cloneInputAst) {
70033 ast = cloneDeep(ast);
70034 }
70035
70036 _context.next = 13;
70037 break;
70038
70039 case 11:
70040 return _context.delegateYield(parser$1(pluginPasses, options, code), "t0", 12);
70041
70042 case 12:
70043 ast = _context.t0;
70044
70045 case 13:
70046 inputMap = null;
70047
70048 if (options.inputSourceMap !== false) {
70049 if (typeof options.inputSourceMap === "object") {
70050 inputMap = convertSourceMap.fromObject(options.inputSourceMap);
70051 }
70052
70053 if (!inputMap) {
70054 lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast);
70055
70056 if (lastComment) {
70057 try {
70058 inputMap = convertSourceMap.fromComment(lastComment);
70059 } catch (err) {
70060 debug$2("discarding unknown inline input sourcemap", err);
70061 }
70062 }
70063 }
70064
70065 if (!inputMap) {
70066 _lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast);
70067
70068 if (typeof options.filename === "string" && _lastComment) {
70069 try {
70070 match = EXTERNAL_SOURCEMAP_REGEX.exec(_lastComment);
70071 inputMapContent = fs.readFileSync(path$1.resolve(path$1.dirname(options.filename), match[1]));
70072
70073 if (inputMapContent.length > LARGE_INPUT_SOURCEMAP_THRESHOLD) {
70074 debug$2("skip merging input map > 1 MB");
70075 } else {
70076 inputMap = convertSourceMap.fromJSON(inputMapContent);
70077 }
70078 } catch (err) {
70079 debug$2("discarding unknown file input sourcemap", err);
70080 }
70081 } else if (_lastComment) {
70082 debug$2("discarding un-loadable file input sourcemap");
70083 }
70084 }
70085 }
70086
70087 return _context.abrupt("return", new File(options, {
70088 code: code,
70089 ast: ast,
70090 inputMap: inputMap
70091 }));
70092
70093 case 16:
70094 case "end":
70095 return _context.stop();
70096 }
70097 }
70098 }, _marked$1);
70099 }
70100 var INLINE_SOURCEMAP_REGEX = /^[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/;
70101 var EXTERNAL_SOURCEMAP_REGEX = /^[@#][ \t]+sourceMappingURL=([^\s'"`]+)[ \t]*$/;
70102
70103 function extractCommentsFromList(regex, comments, lastComment) {
70104 if (comments) {
70105 comments = comments.filter(function (_ref) {
70106 var value = _ref.value;
70107
70108 if (regex.test(value)) {
70109 lastComment = value;
70110 return false;
70111 }
70112
70113 return true;
70114 });
70115 }
70116
70117 return [comments, lastComment];
70118 }
70119
70120 function extractComments(regex, ast) {
70121 var lastComment = null;
70122 traverseFast(ast, function (node) {
70123 var _extractCommentsFromL = extractCommentsFromList(regex, node.leadingComments, lastComment);
70124
70125 var _extractCommentsFromL2 = _slicedToArray$2(_extractCommentsFromL, 2);
70126
70127 node.leadingComments = _extractCommentsFromL2[0];
70128 lastComment = _extractCommentsFromL2[1];
70129
70130 var _extractCommentsFromL3 = extractCommentsFromList(regex, node.innerComments, lastComment);
70131
70132 var _extractCommentsFromL4 = _slicedToArray$2(_extractCommentsFromL3, 2);
70133
70134 node.innerComments = _extractCommentsFromL4[0];
70135 lastComment = _extractCommentsFromL4[1];
70136
70137 var _extractCommentsFromL5 = extractCommentsFromList(regex, node.trailingComments, lastComment);
70138
70139 var _extractCommentsFromL6 = _slicedToArray$2(_extractCommentsFromL5, 2);
70140
70141 node.trailingComments = _extractCommentsFromL6[0];
70142 lastComment = _extractCommentsFromL6[1];
70143 });
70144 return lastComment;
70145 }
70146
70147 var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
70148
70149 var encode$1 = function encode(number) {
70150 if (0 <= number && number < intToCharMap.length) {
70151 return intToCharMap[number];
70152 }
70153
70154 throw new TypeError("Must be between 0 and 63: " + number);
70155 };
70156
70157 var decode$1 = function decode(charCode) {
70158 var bigA = 65;
70159 var bigZ = 90;
70160 var littleA = 97;
70161 var littleZ = 122;
70162 var zero = 48;
70163 var nine = 57;
70164 var plus = 43;
70165 var slash = 47;
70166 var littleOffset = 26;
70167 var numberOffset = 52;
70168
70169 if (bigA <= charCode && charCode <= bigZ) {
70170 return charCode - bigA;
70171 }
70172
70173 if (littleA <= charCode && charCode <= littleZ) {
70174 return charCode - littleA + littleOffset;
70175 }
70176
70177 if (zero <= charCode && charCode <= nine) {
70178 return charCode - zero + numberOffset;
70179 }
70180
70181 if (charCode == plus) {
70182 return 62;
70183 }
70184
70185 if (charCode == slash) {
70186 return 63;
70187 }
70188
70189 return -1;
70190 };
70191
70192 var base64 = {
70193 encode: encode$1,
70194 decode: decode$1
70195 };
70196
70197 var VLQ_BASE_SHIFT = 5;
70198 var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
70199 var VLQ_BASE_MASK = VLQ_BASE - 1;
70200 var VLQ_CONTINUATION_BIT = VLQ_BASE;
70201
70202 function toVLQSigned(aValue) {
70203 return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0;
70204 }
70205
70206 function fromVLQSigned(aValue) {
70207 var isNegative = (aValue & 1) === 1;
70208 var shifted = aValue >> 1;
70209 return isNegative ? -shifted : shifted;
70210 }
70211
70212 var encode = function base64VLQ_encode(aValue) {
70213 var encoded = "";
70214 var digit;
70215 var vlq = toVLQSigned(aValue);
70216
70217 do {
70218 digit = vlq & VLQ_BASE_MASK;
70219 vlq >>>= VLQ_BASE_SHIFT;
70220
70221 if (vlq > 0) {
70222 digit |= VLQ_CONTINUATION_BIT;
70223 }
70224
70225 encoded += base64.encode(digit);
70226 } while (vlq > 0);
70227
70228 return encoded;
70229 };
70230
70231 var decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
70232 var strLen = aStr.length;
70233 var result = 0;
70234 var shift = 0;
70235 var continuation, digit;
70236
70237 do {
70238 if (aIndex >= strLen) {
70239 throw new Error("Expected more digits in base 64 VLQ value.");
70240 }
70241
70242 digit = base64.decode(aStr.charCodeAt(aIndex++));
70243
70244 if (digit === -1) {
70245 throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
70246 }
70247
70248 continuation = !!(digit & VLQ_CONTINUATION_BIT);
70249 digit &= VLQ_BASE_MASK;
70250 result = result + (digit << shift);
70251 shift += VLQ_BASE_SHIFT;
70252 } while (continuation);
70253
70254 aOutParam.value = fromVLQSigned(result);
70255 aOutParam.rest = aIndex;
70256 };
70257
70258 var base64Vlq = {
70259 encode: encode,
70260 decode: decode
70261 };
70262
70263 var util$4 = createCommonjsModule(function (module, exports) {
70264 function getArg(aArgs, aName, aDefaultValue) {
70265 if (aName in aArgs) {
70266 return aArgs[aName];
70267 } else if (arguments.length === 3) {
70268 return aDefaultValue;
70269 } else {
70270 throw new Error('"' + aName + '" is a required argument.');
70271 }
70272 }
70273
70274 exports.getArg = getArg;
70275 var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/;
70276 var dataUrlRegexp = /^data:.+\,.+$/;
70277
70278 function urlParse(aUrl) {
70279 var match = aUrl.match(urlRegexp);
70280
70281 if (!match) {
70282 return null;
70283 }
70284
70285 return {
70286 scheme: match[1],
70287 auth: match[2],
70288 host: match[3],
70289 port: match[4],
70290 path: match[5]
70291 };
70292 }
70293
70294 exports.urlParse = urlParse;
70295
70296 function urlGenerate(aParsedUrl) {
70297 var url = '';
70298
70299 if (aParsedUrl.scheme) {
70300 url += aParsedUrl.scheme + ':';
70301 }
70302
70303 url += '//';
70304
70305 if (aParsedUrl.auth) {
70306 url += aParsedUrl.auth + '@';
70307 }
70308
70309 if (aParsedUrl.host) {
70310 url += aParsedUrl.host;
70311 }
70312
70313 if (aParsedUrl.port) {
70314 url += ":" + aParsedUrl.port;
70315 }
70316
70317 if (aParsedUrl.path) {
70318 url += aParsedUrl.path;
70319 }
70320
70321 return url;
70322 }
70323
70324 exports.urlGenerate = urlGenerate;
70325
70326 function normalize(aPath) {
70327 var path = aPath;
70328 var url = urlParse(aPath);
70329
70330 if (url) {
70331 if (!url.path) {
70332 return aPath;
70333 }
70334
70335 path = url.path;
70336 }
70337
70338 var isAbsolute = exports.isAbsolute(path);
70339 var parts = path.split(/\/+/);
70340
70341 for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
70342 part = parts[i];
70343
70344 if (part === '.') {
70345 parts.splice(i, 1);
70346 } else if (part === '..') {
70347 up++;
70348 } else if (up > 0) {
70349 if (part === '') {
70350 parts.splice(i + 1, up);
70351 up = 0;
70352 } else {
70353 parts.splice(i, 2);
70354 up--;
70355 }
70356 }
70357 }
70358
70359 path = parts.join('/');
70360
70361 if (path === '') {
70362 path = isAbsolute ? '/' : '.';
70363 }
70364
70365 if (url) {
70366 url.path = path;
70367 return urlGenerate(url);
70368 }
70369
70370 return path;
70371 }
70372
70373 exports.normalize = normalize;
70374
70375 function join(aRoot, aPath) {
70376 if (aRoot === "") {
70377 aRoot = ".";
70378 }
70379
70380 if (aPath === "") {
70381 aPath = ".";
70382 }
70383
70384 var aPathUrl = urlParse(aPath);
70385 var aRootUrl = urlParse(aRoot);
70386
70387 if (aRootUrl) {
70388 aRoot = aRootUrl.path || '/';
70389 }
70390
70391 if (aPathUrl && !aPathUrl.scheme) {
70392 if (aRootUrl) {
70393 aPathUrl.scheme = aRootUrl.scheme;
70394 }
70395
70396 return urlGenerate(aPathUrl);
70397 }
70398
70399 if (aPathUrl || aPath.match(dataUrlRegexp)) {
70400 return aPath;
70401 }
70402
70403 if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
70404 aRootUrl.host = aPath;
70405 return urlGenerate(aRootUrl);
70406 }
70407
70408 var joined = aPath.charAt(0) === '/' ? aPath : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath);
70409
70410 if (aRootUrl) {
70411 aRootUrl.path = joined;
70412 return urlGenerate(aRootUrl);
70413 }
70414
70415 return joined;
70416 }
70417
70418 exports.join = join;
70419
70420 exports.isAbsolute = function (aPath) {
70421 return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);
70422 };
70423
70424 function relative(aRoot, aPath) {
70425 if (aRoot === "") {
70426 aRoot = ".";
70427 }
70428
70429 aRoot = aRoot.replace(/\/$/, '');
70430 var level = 0;
70431
70432 while (aPath.indexOf(aRoot + '/') !== 0) {
70433 var index = aRoot.lastIndexOf("/");
70434
70435 if (index < 0) {
70436 return aPath;
70437 }
70438
70439 aRoot = aRoot.slice(0, index);
70440
70441 if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
70442 return aPath;
70443 }
70444
70445 ++level;
70446 }
70447
70448 return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
70449 }
70450
70451 exports.relative = relative;
70452
70453 var supportsNullProto = function () {
70454 var obj = Object.create(null);
70455 return !('__proto__' in obj);
70456 }();
70457
70458 function identity(s) {
70459 return s;
70460 }
70461
70462 function toSetString(aStr) {
70463 if (isProtoString(aStr)) {
70464 return '$' + aStr;
70465 }
70466
70467 return aStr;
70468 }
70469
70470 exports.toSetString = supportsNullProto ? identity : toSetString;
70471
70472 function fromSetString(aStr) {
70473 if (isProtoString(aStr)) {
70474 return aStr.slice(1);
70475 }
70476
70477 return aStr;
70478 }
70479
70480 exports.fromSetString = supportsNullProto ? identity : fromSetString;
70481
70482 function isProtoString(s) {
70483 if (!s) {
70484 return false;
70485 }
70486
70487 var length = s.length;
70488
70489 if (length < 9) {
70490 return false;
70491 }
70492
70493 if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) {
70494 return false;
70495 }
70496
70497 for (var i = length - 10; i >= 0; i--) {
70498 if (s.charCodeAt(i) !== 36) {
70499 return false;
70500 }
70501 }
70502
70503 return true;
70504 }
70505
70506 function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
70507 var cmp = mappingA.source - mappingB.source;
70508
70509 if (cmp !== 0) {
70510 return cmp;
70511 }
70512
70513 cmp = mappingA.originalLine - mappingB.originalLine;
70514
70515 if (cmp !== 0) {
70516 return cmp;
70517 }
70518
70519 cmp = mappingA.originalColumn - mappingB.originalColumn;
70520
70521 if (cmp !== 0 || onlyCompareOriginal) {
70522 return cmp;
70523 }
70524
70525 cmp = mappingA.generatedColumn - mappingB.generatedColumn;
70526
70527 if (cmp !== 0) {
70528 return cmp;
70529 }
70530
70531 cmp = mappingA.generatedLine - mappingB.generatedLine;
70532
70533 if (cmp !== 0) {
70534 return cmp;
70535 }
70536
70537 return mappingA.name - mappingB.name;
70538 }
70539
70540 exports.compareByOriginalPositions = compareByOriginalPositions;
70541
70542 function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
70543 var cmp = mappingA.generatedLine - mappingB.generatedLine;
70544
70545 if (cmp !== 0) {
70546 return cmp;
70547 }
70548
70549 cmp = mappingA.generatedColumn - mappingB.generatedColumn;
70550
70551 if (cmp !== 0 || onlyCompareGenerated) {
70552 return cmp;
70553 }
70554
70555 cmp = mappingA.source - mappingB.source;
70556
70557 if (cmp !== 0) {
70558 return cmp;
70559 }
70560
70561 cmp = mappingA.originalLine - mappingB.originalLine;
70562
70563 if (cmp !== 0) {
70564 return cmp;
70565 }
70566
70567 cmp = mappingA.originalColumn - mappingB.originalColumn;
70568
70569 if (cmp !== 0) {
70570 return cmp;
70571 }
70572
70573 return mappingA.name - mappingB.name;
70574 }
70575
70576 exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;
70577
70578 function strcmp(aStr1, aStr2) {
70579 if (aStr1 === aStr2) {
70580 return 0;
70581 }
70582
70583 if (aStr1 > aStr2) {
70584 return 1;
70585 }
70586
70587 return -1;
70588 }
70589
70590 function compareByGeneratedPositionsInflated(mappingA, mappingB) {
70591 var cmp = mappingA.generatedLine - mappingB.generatedLine;
70592
70593 if (cmp !== 0) {
70594 return cmp;
70595 }
70596
70597 cmp = mappingA.generatedColumn - mappingB.generatedColumn;
70598
70599 if (cmp !== 0) {
70600 return cmp;
70601 }
70602
70603 cmp = strcmp(mappingA.source, mappingB.source);
70604
70605 if (cmp !== 0) {
70606 return cmp;
70607 }
70608
70609 cmp = mappingA.originalLine - mappingB.originalLine;
70610
70611 if (cmp !== 0) {
70612 return cmp;
70613 }
70614
70615 cmp = mappingA.originalColumn - mappingB.originalColumn;
70616
70617 if (cmp !== 0) {
70618 return cmp;
70619 }
70620
70621 return strcmp(mappingA.name, mappingB.name);
70622 }
70623
70624 exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
70625 }, "/$$rollup_base$$/packages/babel-core/node_modules/source-map/lib");
70626
70627 var has$9 = Object.prototype.hasOwnProperty;
70628 var hasNativeMap = typeof Map !== "undefined";
70629
70630 function ArraySet$2() {
70631 this._array = [];
70632 this._set = hasNativeMap ? new Map() : Object.create(null);
70633 }
70634
70635 ArraySet$2.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
70636 var set = new ArraySet$2();
70637
70638 for (var i = 0, len = aArray.length; i < len; i++) {
70639 set.add(aArray[i], aAllowDuplicates);
70640 }
70641
70642 return set;
70643 };
70644
70645 ArraySet$2.prototype.size = function ArraySet_size() {
70646 return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
70647 };
70648
70649 ArraySet$2.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
70650 var sStr = hasNativeMap ? aStr : util$4.toSetString(aStr);
70651 var isDuplicate = hasNativeMap ? this.has(aStr) : has$9.call(this._set, sStr);
70652 var idx = this._array.length;
70653
70654 if (!isDuplicate || aAllowDuplicates) {
70655 this._array.push(aStr);
70656 }
70657
70658 if (!isDuplicate) {
70659 if (hasNativeMap) {
70660 this._set.set(aStr, idx);
70661 } else {
70662 this._set[sStr] = idx;
70663 }
70664 }
70665 };
70666
70667 ArraySet$2.prototype.has = function ArraySet_has(aStr) {
70668 if (hasNativeMap) {
70669 return this._set.has(aStr);
70670 } else {
70671 var sStr = util$4.toSetString(aStr);
70672 return has$9.call(this._set, sStr);
70673 }
70674 };
70675
70676 ArraySet$2.prototype.indexOf = function ArraySet_indexOf(aStr) {
70677 if (hasNativeMap) {
70678 var idx = this._set.get(aStr);
70679
70680 if (idx >= 0) {
70681 return idx;
70682 }
70683 } else {
70684 var sStr = util$4.toSetString(aStr);
70685
70686 if (has$9.call(this._set, sStr)) {
70687 return this._set[sStr];
70688 }
70689 }
70690
70691 throw new Error('"' + aStr + '" is not in the set.');
70692 };
70693
70694 ArraySet$2.prototype.at = function ArraySet_at(aIdx) {
70695 if (aIdx >= 0 && aIdx < this._array.length) {
70696 return this._array[aIdx];
70697 }
70698
70699 throw new Error('No element indexed by ' + aIdx);
70700 };
70701
70702 ArraySet$2.prototype.toArray = function ArraySet_toArray() {
70703 return this._array.slice();
70704 };
70705
70706 var ArraySet_1 = ArraySet$2;
70707 var arraySet = {
70708 ArraySet: ArraySet_1
70709 };
70710
70711 function generatedPositionAfter(mappingA, mappingB) {
70712 var lineA = mappingA.generatedLine;
70713 var lineB = mappingB.generatedLine;
70714 var columnA = mappingA.generatedColumn;
70715 var columnB = mappingB.generatedColumn;
70716 return lineB > lineA || lineB == lineA && columnB >= columnA || util$4.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
70717 }
70718
70719 function MappingList$1() {
70720 this._array = [];
70721 this._sorted = true;
70722 this._last = {
70723 generatedLine: -1,
70724 generatedColumn: 0
70725 };
70726 }
70727
70728 MappingList$1.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) {
70729 this._array.forEach(aCallback, aThisArg);
70730 };
70731
70732 MappingList$1.prototype.add = function MappingList_add(aMapping) {
70733 if (generatedPositionAfter(this._last, aMapping)) {
70734 this._last = aMapping;
70735
70736 this._array.push(aMapping);
70737 } else {
70738 this._sorted = false;
70739
70740 this._array.push(aMapping);
70741 }
70742 };
70743
70744 MappingList$1.prototype.toArray = function MappingList_toArray() {
70745 if (!this._sorted) {
70746 this._array.sort(util$4.compareByGeneratedPositionsInflated);
70747
70748 this._sorted = true;
70749 }
70750
70751 return this._array;
70752 };
70753
70754 var MappingList_1 = MappingList$1;
70755 var mappingList = {
70756 MappingList: MappingList_1
70757 };
70758
70759 var ArraySet$1 = arraySet.ArraySet;
70760 var MappingList = mappingList.MappingList;
70761
70762 function SourceMapGenerator$2(aArgs) {
70763 if (!aArgs) {
70764 aArgs = {};
70765 }
70766
70767 this._file = util$4.getArg(aArgs, 'file', null);
70768 this._sourceRoot = util$4.getArg(aArgs, 'sourceRoot', null);
70769 this._skipValidation = util$4.getArg(aArgs, 'skipValidation', false);
70770 this._sources = new ArraySet$1();
70771 this._names = new ArraySet$1();
70772 this._mappings = new MappingList();
70773 this._sourcesContents = null;
70774 }
70775
70776 SourceMapGenerator$2.prototype._version = 3;
70777
70778 SourceMapGenerator$2.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
70779 var sourceRoot = aSourceMapConsumer.sourceRoot;
70780 var generator = new SourceMapGenerator$2({
70781 file: aSourceMapConsumer.file,
70782 sourceRoot: sourceRoot
70783 });
70784 aSourceMapConsumer.eachMapping(function (mapping) {
70785 var newMapping = {
70786 generated: {
70787 line: mapping.generatedLine,
70788 column: mapping.generatedColumn
70789 }
70790 };
70791
70792 if (mapping.source != null) {
70793 newMapping.source = mapping.source;
70794
70795 if (sourceRoot != null) {
70796 newMapping.source = util$4.relative(sourceRoot, newMapping.source);
70797 }
70798
70799 newMapping.original = {
70800 line: mapping.originalLine,
70801 column: mapping.originalColumn
70802 };
70803
70804 if (mapping.name != null) {
70805 newMapping.name = mapping.name;
70806 }
70807 }
70808
70809 generator.addMapping(newMapping);
70810 });
70811 aSourceMapConsumer.sources.forEach(function (sourceFile) {
70812 var content = aSourceMapConsumer.sourceContentFor(sourceFile);
70813
70814 if (content != null) {
70815 generator.setSourceContent(sourceFile, content);
70816 }
70817 });
70818 return generator;
70819 };
70820
70821 SourceMapGenerator$2.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) {
70822 var generated = util$4.getArg(aArgs, 'generated');
70823 var original = util$4.getArg(aArgs, 'original', null);
70824 var source = util$4.getArg(aArgs, 'source', null);
70825 var name = util$4.getArg(aArgs, 'name', null);
70826
70827 if (!this._skipValidation) {
70828 this._validateMapping(generated, original, source, name);
70829 }
70830
70831 if (source != null) {
70832 source = String(source);
70833
70834 if (!this._sources.has(source)) {
70835 this._sources.add(source);
70836 }
70837 }
70838
70839 if (name != null) {
70840 name = String(name);
70841
70842 if (!this._names.has(name)) {
70843 this._names.add(name);
70844 }
70845 }
70846
70847 this._mappings.add({
70848 generatedLine: generated.line,
70849 generatedColumn: generated.column,
70850 originalLine: original != null && original.line,
70851 originalColumn: original != null && original.column,
70852 source: source,
70853 name: name
70854 });
70855 };
70856
70857 SourceMapGenerator$2.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
70858 var source = aSourceFile;
70859
70860 if (this._sourceRoot != null) {
70861 source = util$4.relative(this._sourceRoot, source);
70862 }
70863
70864 if (aSourceContent != null) {
70865 if (!this._sourcesContents) {
70866 this._sourcesContents = Object.create(null);
70867 }
70868
70869 this._sourcesContents[util$4.toSetString(source)] = aSourceContent;
70870 } else if (this._sourcesContents) {
70871 delete this._sourcesContents[util$4.toSetString(source)];
70872
70873 if (Object.keys(this._sourcesContents).length === 0) {
70874 this._sourcesContents = null;
70875 }
70876 }
70877 };
70878
70879 SourceMapGenerator$2.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
70880 var sourceFile = aSourceFile;
70881
70882 if (aSourceFile == null) {
70883 if (aSourceMapConsumer.file == null) {
70884 throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + 'or the source map\'s "file" property. Both were omitted.');
70885 }
70886
70887 sourceFile = aSourceMapConsumer.file;
70888 }
70889
70890 var sourceRoot = this._sourceRoot;
70891
70892 if (sourceRoot != null) {
70893 sourceFile = util$4.relative(sourceRoot, sourceFile);
70894 }
70895
70896 var newSources = new ArraySet$1();
70897 var newNames = new ArraySet$1();
70898
70899 this._mappings.unsortedForEach(function (mapping) {
70900 if (mapping.source === sourceFile && mapping.originalLine != null) {
70901 var original = aSourceMapConsumer.originalPositionFor({
70902 line: mapping.originalLine,
70903 column: mapping.originalColumn
70904 });
70905
70906 if (original.source != null) {
70907 mapping.source = original.source;
70908
70909 if (aSourceMapPath != null) {
70910 mapping.source = util$4.join(aSourceMapPath, mapping.source);
70911 }
70912
70913 if (sourceRoot != null) {
70914 mapping.source = util$4.relative(sourceRoot, mapping.source);
70915 }
70916
70917 mapping.originalLine = original.line;
70918 mapping.originalColumn = original.column;
70919
70920 if (original.name != null) {
70921 mapping.name = original.name;
70922 }
70923 }
70924 }
70925
70926 var source = mapping.source;
70927
70928 if (source != null && !newSources.has(source)) {
70929 newSources.add(source);
70930 }
70931
70932 var name = mapping.name;
70933
70934 if (name != null && !newNames.has(name)) {
70935 newNames.add(name);
70936 }
70937 }, this);
70938
70939 this._sources = newSources;
70940 this._names = newNames;
70941 aSourceMapConsumer.sources.forEach(function (sourceFile) {
70942 var content = aSourceMapConsumer.sourceContentFor(sourceFile);
70943
70944 if (content != null) {
70945 if (aSourceMapPath != null) {
70946 sourceFile = util$4.join(aSourceMapPath, sourceFile);
70947 }
70948
70949 if (sourceRoot != null) {
70950 sourceFile = util$4.relative(sourceRoot, sourceFile);
70951 }
70952
70953 this.setSourceContent(sourceFile, content);
70954 }
70955 }, this);
70956 };
70957
70958 SourceMapGenerator$2.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) {
70959 if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {
70960 throw new Error('original.line and original.column are not numbers -- you probably meant to omit ' + 'the original mapping entirely and only map the generated position. If so, pass ' + 'null for the original mapping instead of an object with empty or null values.');
70961 }
70962
70963 if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) {
70964 return;
70965 } else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aOriginal && 'line' in aOriginal && 'column' in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) {
70966 return;
70967 } else {
70968 throw new Error('Invalid mapping: ' + JSON.stringify({
70969 generated: aGenerated,
70970 source: aSource,
70971 original: aOriginal,
70972 name: aName
70973 }));
70974 }
70975 };
70976
70977 SourceMapGenerator$2.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() {
70978 var previousGeneratedColumn = 0;
70979 var previousGeneratedLine = 1;
70980 var previousOriginalColumn = 0;
70981 var previousOriginalLine = 0;
70982 var previousName = 0;
70983 var previousSource = 0;
70984 var result = '';
70985 var next;
70986 var mapping;
70987 var nameIdx;
70988 var sourceIdx;
70989
70990 var mappings = this._mappings.toArray();
70991
70992 for (var i = 0, len = mappings.length; i < len; i++) {
70993 mapping = mappings[i];
70994 next = '';
70995
70996 if (mapping.generatedLine !== previousGeneratedLine) {
70997 previousGeneratedColumn = 0;
70998
70999 while (mapping.generatedLine !== previousGeneratedLine) {
71000 next += ';';
71001 previousGeneratedLine++;
71002 }
71003 } else {
71004 if (i > 0) {
71005 if (!util$4.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
71006 continue;
71007 }
71008
71009 next += ',';
71010 }
71011 }
71012
71013 next += base64Vlq.encode(mapping.generatedColumn - previousGeneratedColumn);
71014 previousGeneratedColumn = mapping.generatedColumn;
71015
71016 if (mapping.source != null) {
71017 sourceIdx = this._sources.indexOf(mapping.source);
71018 next += base64Vlq.encode(sourceIdx - previousSource);
71019 previousSource = sourceIdx;
71020 next += base64Vlq.encode(mapping.originalLine - 1 - previousOriginalLine);
71021 previousOriginalLine = mapping.originalLine - 1;
71022 next += base64Vlq.encode(mapping.originalColumn - previousOriginalColumn);
71023 previousOriginalColumn = mapping.originalColumn;
71024
71025 if (mapping.name != null) {
71026 nameIdx = this._names.indexOf(mapping.name);
71027 next += base64Vlq.encode(nameIdx - previousName);
71028 previousName = nameIdx;
71029 }
71030 }
71031
71032 result += next;
71033 }
71034
71035 return result;
71036 };
71037
71038 SourceMapGenerator$2.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
71039 return aSources.map(function (source) {
71040 if (!this._sourcesContents) {
71041 return null;
71042 }
71043
71044 if (aSourceRoot != null) {
71045 source = util$4.relative(aSourceRoot, source);
71046 }
71047
71048 var key = util$4.toSetString(source);
71049 return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null;
71050 }, this);
71051 };
71052
71053 SourceMapGenerator$2.prototype.toJSON = function SourceMapGenerator_toJSON() {
71054 var map = {
71055 version: this._version,
71056 sources: this._sources.toArray(),
71057 names: this._names.toArray(),
71058 mappings: this._serializeMappings()
71059 };
71060
71061 if (this._file != null) {
71062 map.file = this._file;
71063 }
71064
71065 if (this._sourceRoot != null) {
71066 map.sourceRoot = this._sourceRoot;
71067 }
71068
71069 if (this._sourcesContents) {
71070 map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
71071 }
71072
71073 return map;
71074 };
71075
71076 SourceMapGenerator$2.prototype.toString = function SourceMapGenerator_toString() {
71077 return JSON.stringify(this.toJSON());
71078 };
71079
71080 var SourceMapGenerator_1 = SourceMapGenerator$2;
71081 var sourceMapGenerator = {
71082 SourceMapGenerator: SourceMapGenerator_1
71083 };
71084
71085 var binarySearch = createCommonjsModule(function (module, exports) {
71086 exports.GREATEST_LOWER_BOUND = 1;
71087 exports.LEAST_UPPER_BOUND = 2;
71088
71089 function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
71090 var mid = Math.floor((aHigh - aLow) / 2) + aLow;
71091 var cmp = aCompare(aNeedle, aHaystack[mid], true);
71092
71093 if (cmp === 0) {
71094 return mid;
71095 } else if (cmp > 0) {
71096 if (aHigh - mid > 1) {
71097 return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
71098 }
71099
71100 if (aBias == exports.LEAST_UPPER_BOUND) {
71101 return aHigh < aHaystack.length ? aHigh : -1;
71102 } else {
71103 return mid;
71104 }
71105 } else {
71106 if (mid - aLow > 1) {
71107 return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
71108 }
71109
71110 if (aBias == exports.LEAST_UPPER_BOUND) {
71111 return mid;
71112 } else {
71113 return aLow < 0 ? -1 : aLow;
71114 }
71115 }
71116 }
71117
71118 exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
71119 if (aHaystack.length === 0) {
71120 return -1;
71121 }
71122
71123 var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare, aBias || exports.GREATEST_LOWER_BOUND);
71124
71125 if (index < 0) {
71126 return -1;
71127 }
71128
71129 while (index - 1 >= 0) {
71130 if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
71131 break;
71132 }
71133
71134 --index;
71135 }
71136
71137 return index;
71138 };
71139 }, "/$$rollup_base$$/packages/babel-core/node_modules/source-map/lib");
71140
71141 function swap(ary, x, y) {
71142 var temp = ary[x];
71143 ary[x] = ary[y];
71144 ary[y] = temp;
71145 }
71146
71147 function randomIntInRange(low, high) {
71148 return Math.round(low + Math.random() * (high - low));
71149 }
71150
71151 function doQuickSort(ary, comparator, p, r) {
71152 if (p < r) {
71153 var pivotIndex = randomIntInRange(p, r);
71154 var i = p - 1;
71155 swap(ary, pivotIndex, r);
71156 var pivot = ary[r];
71157
71158 for (var j = p; j < r; j++) {
71159 if (comparator(ary[j], pivot) <= 0) {
71160 i += 1;
71161 swap(ary, i, j);
71162 }
71163 }
71164
71165 swap(ary, i + 1, j);
71166 var q = i + 1;
71167 doQuickSort(ary, comparator, p, q - 1);
71168 doQuickSort(ary, comparator, q + 1, r);
71169 }
71170 }
71171
71172 var quickSort_1 = function quickSort_1(ary, comparator) {
71173 doQuickSort(ary, comparator, 0, ary.length - 1);
71174 };
71175
71176 var quickSort$1 = {
71177 quickSort: quickSort_1
71178 };
71179
71180 var ArraySet = arraySet.ArraySet;
71181 var quickSort = quickSort$1.quickSort;
71182
71183 function SourceMapConsumer$1(aSourceMap) {
71184 var sourceMap = aSourceMap;
71185
71186 if (typeof aSourceMap === 'string') {
71187 sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
71188 }
71189
71190 return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap) : new BasicSourceMapConsumer(sourceMap);
71191 }
71192
71193 SourceMapConsumer$1.fromSourceMap = function (aSourceMap) {
71194 return BasicSourceMapConsumer.fromSourceMap(aSourceMap);
71195 };
71196
71197 SourceMapConsumer$1.prototype._version = 3;
71198 SourceMapConsumer$1.prototype.__generatedMappings = null;
71199 Object.defineProperty(SourceMapConsumer$1.prototype, '_generatedMappings', {
71200 get: function get() {
71201 if (!this.__generatedMappings) {
71202 this._parseMappings(this._mappings, this.sourceRoot);
71203 }
71204
71205 return this.__generatedMappings;
71206 }
71207 });
71208 SourceMapConsumer$1.prototype.__originalMappings = null;
71209 Object.defineProperty(SourceMapConsumer$1.prototype, '_originalMappings', {
71210 get: function get() {
71211 if (!this.__originalMappings) {
71212 this._parseMappings(this._mappings, this.sourceRoot);
71213 }
71214
71215 return this.__originalMappings;
71216 }
71217 });
71218
71219 SourceMapConsumer$1.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) {
71220 var c = aStr.charAt(index);
71221 return c === ";" || c === ",";
71222 };
71223
71224 SourceMapConsumer$1.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
71225 throw new Error("Subclasses must implement _parseMappings");
71226 };
71227
71228 SourceMapConsumer$1.GENERATED_ORDER = 1;
71229 SourceMapConsumer$1.ORIGINAL_ORDER = 2;
71230 SourceMapConsumer$1.GREATEST_LOWER_BOUND = 1;
71231 SourceMapConsumer$1.LEAST_UPPER_BOUND = 2;
71232
71233 SourceMapConsumer$1.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
71234 var context = aContext || null;
71235 var order = aOrder || SourceMapConsumer$1.GENERATED_ORDER;
71236 var mappings;
71237
71238 switch (order) {
71239 case SourceMapConsumer$1.GENERATED_ORDER:
71240 mappings = this._generatedMappings;
71241 break;
71242
71243 case SourceMapConsumer$1.ORIGINAL_ORDER:
71244 mappings = this._originalMappings;
71245 break;
71246
71247 default:
71248 throw new Error("Unknown order of iteration.");
71249 }
71250
71251 var sourceRoot = this.sourceRoot;
71252 mappings.map(function (mapping) {
71253 var source = mapping.source === null ? null : this._sources.at(mapping.source);
71254
71255 if (source != null && sourceRoot != null) {
71256 source = util$4.join(sourceRoot, source);
71257 }
71258
71259 return {
71260 source: source,
71261 generatedLine: mapping.generatedLine,
71262 generatedColumn: mapping.generatedColumn,
71263 originalLine: mapping.originalLine,
71264 originalColumn: mapping.originalColumn,
71265 name: mapping.name === null ? null : this._names.at(mapping.name)
71266 };
71267 }, this).forEach(aCallback, context);
71268 };
71269
71270 SourceMapConsumer$1.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
71271 var line = util$4.getArg(aArgs, 'line');
71272 var needle = {
71273 source: util$4.getArg(aArgs, 'source'),
71274 originalLine: line,
71275 originalColumn: util$4.getArg(aArgs, 'column', 0)
71276 };
71277
71278 if (this.sourceRoot != null) {
71279 needle.source = util$4.relative(this.sourceRoot, needle.source);
71280 }
71281
71282 if (!this._sources.has(needle.source)) {
71283 return [];
71284 }
71285
71286 needle.source = this._sources.indexOf(needle.source);
71287 var mappings = [];
71288
71289 var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util$4.compareByOriginalPositions, binarySearch.LEAST_UPPER_BOUND);
71290
71291 if (index >= 0) {
71292 var mapping = this._originalMappings[index];
71293
71294 if (aArgs.column === undefined) {
71295 var originalLine = mapping.originalLine;
71296
71297 while (mapping && mapping.originalLine === originalLine) {
71298 mappings.push({
71299 line: util$4.getArg(mapping, 'generatedLine', null),
71300 column: util$4.getArg(mapping, 'generatedColumn', null),
71301 lastColumn: util$4.getArg(mapping, 'lastGeneratedColumn', null)
71302 });
71303 mapping = this._originalMappings[++index];
71304 }
71305 } else {
71306 var originalColumn = mapping.originalColumn;
71307
71308 while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) {
71309 mappings.push({
71310 line: util$4.getArg(mapping, 'generatedLine', null),
71311 column: util$4.getArg(mapping, 'generatedColumn', null),
71312 lastColumn: util$4.getArg(mapping, 'lastGeneratedColumn', null)
71313 });
71314 mapping = this._originalMappings[++index];
71315 }
71316 }
71317 }
71318
71319 return mappings;
71320 };
71321
71322 var SourceMapConsumer_1 = SourceMapConsumer$1;
71323
71324 function BasicSourceMapConsumer(aSourceMap) {
71325 var sourceMap = aSourceMap;
71326
71327 if (typeof aSourceMap === 'string') {
71328 sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
71329 }
71330
71331 var version = util$4.getArg(sourceMap, 'version');
71332 var sources = util$4.getArg(sourceMap, 'sources');
71333 var names = util$4.getArg(sourceMap, 'names', []);
71334 var sourceRoot = util$4.getArg(sourceMap, 'sourceRoot', null);
71335 var sourcesContent = util$4.getArg(sourceMap, 'sourcesContent', null);
71336 var mappings = util$4.getArg(sourceMap, 'mappings');
71337 var file = util$4.getArg(sourceMap, 'file', null);
71338
71339 if (version != this._version) {
71340 throw new Error('Unsupported version: ' + version);
71341 }
71342
71343 sources = sources.map(String).map(util$4.normalize).map(function (source) {
71344 return sourceRoot && util$4.isAbsolute(sourceRoot) && util$4.isAbsolute(source) ? util$4.relative(sourceRoot, source) : source;
71345 });
71346 this._names = ArraySet.fromArray(names.map(String), true);
71347 this._sources = ArraySet.fromArray(sources, true);
71348 this.sourceRoot = sourceRoot;
71349 this.sourcesContent = sourcesContent;
71350 this._mappings = mappings;
71351 this.file = file;
71352 }
71353
71354 BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer$1.prototype);
71355 BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer$1;
71356
71357 BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap) {
71358 var smc = Object.create(BasicSourceMapConsumer.prototype);
71359 var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);
71360 var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);
71361 smc.sourceRoot = aSourceMap._sourceRoot;
71362 smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), smc.sourceRoot);
71363 smc.file = aSourceMap._file;
71364
71365 var generatedMappings = aSourceMap._mappings.toArray().slice();
71366
71367 var destGeneratedMappings = smc.__generatedMappings = [];
71368 var destOriginalMappings = smc.__originalMappings = [];
71369
71370 for (var i = 0, length = generatedMappings.length; i < length; i++) {
71371 var srcMapping = generatedMappings[i];
71372 var destMapping = new Mapping();
71373 destMapping.generatedLine = srcMapping.generatedLine;
71374 destMapping.generatedColumn = srcMapping.generatedColumn;
71375
71376 if (srcMapping.source) {
71377 destMapping.source = sources.indexOf(srcMapping.source);
71378 destMapping.originalLine = srcMapping.originalLine;
71379 destMapping.originalColumn = srcMapping.originalColumn;
71380
71381 if (srcMapping.name) {
71382 destMapping.name = names.indexOf(srcMapping.name);
71383 }
71384
71385 destOriginalMappings.push(destMapping);
71386 }
71387
71388 destGeneratedMappings.push(destMapping);
71389 }
71390
71391 quickSort(smc.__originalMappings, util$4.compareByOriginalPositions);
71392 return smc;
71393 };
71394
71395 BasicSourceMapConsumer.prototype._version = 3;
71396 Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {
71397 get: function get() {
71398 return this._sources.toArray().map(function (s) {
71399 return this.sourceRoot != null ? util$4.join(this.sourceRoot, s) : s;
71400 }, this);
71401 }
71402 });
71403
71404 function Mapping() {
71405 this.generatedLine = 0;
71406 this.generatedColumn = 0;
71407 this.source = null;
71408 this.originalLine = null;
71409 this.originalColumn = null;
71410 this.name = null;
71411 }
71412
71413 BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
71414 var generatedLine = 1;
71415 var previousGeneratedColumn = 0;
71416 var previousOriginalLine = 0;
71417 var previousOriginalColumn = 0;
71418 var previousSource = 0;
71419 var previousName = 0;
71420 var length = aStr.length;
71421 var index = 0;
71422 var cachedSegments = {};
71423 var temp = {};
71424 var originalMappings = [];
71425 var generatedMappings = [];
71426 var mapping, str, segment, end, value;
71427
71428 while (index < length) {
71429 if (aStr.charAt(index) === ';') {
71430 generatedLine++;
71431 index++;
71432 previousGeneratedColumn = 0;
71433 } else if (aStr.charAt(index) === ',') {
71434 index++;
71435 } else {
71436 mapping = new Mapping();
71437 mapping.generatedLine = generatedLine;
71438
71439 for (end = index; end < length; end++) {
71440 if (this._charIsMappingSeparator(aStr, end)) {
71441 break;
71442 }
71443 }
71444
71445 str = aStr.slice(index, end);
71446 segment = cachedSegments[str];
71447
71448 if (segment) {
71449 index += str.length;
71450 } else {
71451 segment = [];
71452
71453 while (index < end) {
71454 base64Vlq.decode(aStr, index, temp);
71455 value = temp.value;
71456 index = temp.rest;
71457 segment.push(value);
71458 }
71459
71460 if (segment.length === 2) {
71461 throw new Error('Found a source, but no line and column');
71462 }
71463
71464 if (segment.length === 3) {
71465 throw new Error('Found a source and line, but no column');
71466 }
71467
71468 cachedSegments[str] = segment;
71469 }
71470
71471 mapping.generatedColumn = previousGeneratedColumn + segment[0];
71472 previousGeneratedColumn = mapping.generatedColumn;
71473
71474 if (segment.length > 1) {
71475 mapping.source = previousSource + segment[1];
71476 previousSource += segment[1];
71477 mapping.originalLine = previousOriginalLine + segment[2];
71478 previousOriginalLine = mapping.originalLine;
71479 mapping.originalLine += 1;
71480 mapping.originalColumn = previousOriginalColumn + segment[3];
71481 previousOriginalColumn = mapping.originalColumn;
71482
71483 if (segment.length > 4) {
71484 mapping.name = previousName + segment[4];
71485 previousName += segment[4];
71486 }
71487 }
71488
71489 generatedMappings.push(mapping);
71490
71491 if (typeof mapping.originalLine === 'number') {
71492 originalMappings.push(mapping);
71493 }
71494 }
71495 }
71496
71497 quickSort(generatedMappings, util$4.compareByGeneratedPositionsDeflated);
71498 this.__generatedMappings = generatedMappings;
71499 quickSort(originalMappings, util$4.compareByOriginalPositions);
71500 this.__originalMappings = originalMappings;
71501 };
71502
71503 BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) {
71504 if (aNeedle[aLineName] <= 0) {
71505 throw new TypeError('Line must be greater than or equal to 1, got ' + aNeedle[aLineName]);
71506 }
71507
71508 if (aNeedle[aColumnName] < 0) {
71509 throw new TypeError('Column must be greater than or equal to 0, got ' + aNeedle[aColumnName]);
71510 }
71511
71512 return binarySearch.search(aNeedle, aMappings, aComparator, aBias);
71513 };
71514
71515 BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() {
71516 for (var index = 0; index < this._generatedMappings.length; ++index) {
71517 var mapping = this._generatedMappings[index];
71518
71519 if (index + 1 < this._generatedMappings.length) {
71520 var nextMapping = this._generatedMappings[index + 1];
71521
71522 if (mapping.generatedLine === nextMapping.generatedLine) {
71523 mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
71524 continue;
71525 }
71526 }
71527
71528 mapping.lastGeneratedColumn = Infinity;
71529 }
71530 };
71531
71532 BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) {
71533 var needle = {
71534 generatedLine: util$4.getArg(aArgs, 'line'),
71535 generatedColumn: util$4.getArg(aArgs, 'column')
71536 };
71537
71538 var index = this._findMapping(needle, this._generatedMappings, "generatedLine", "generatedColumn", util$4.compareByGeneratedPositionsDeflated, util$4.getArg(aArgs, 'bias', SourceMapConsumer$1.GREATEST_LOWER_BOUND));
71539
71540 if (index >= 0) {
71541 var mapping = this._generatedMappings[index];
71542
71543 if (mapping.generatedLine === needle.generatedLine) {
71544 var source = util$4.getArg(mapping, 'source', null);
71545
71546 if (source !== null) {
71547 source = this._sources.at(source);
71548
71549 if (this.sourceRoot != null) {
71550 source = util$4.join(this.sourceRoot, source);
71551 }
71552 }
71553
71554 var name = util$4.getArg(mapping, 'name', null);
71555
71556 if (name !== null) {
71557 name = this._names.at(name);
71558 }
71559
71560 return {
71561 source: source,
71562 line: util$4.getArg(mapping, 'originalLine', null),
71563 column: util$4.getArg(mapping, 'originalColumn', null),
71564 name: name
71565 };
71566 }
71567 }
71568
71569 return {
71570 source: null,
71571 line: null,
71572 column: null,
71573 name: null
71574 };
71575 };
71576
71577 BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() {
71578 if (!this.sourcesContent) {
71579 return false;
71580 }
71581
71582 return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function (sc) {
71583 return sc == null;
71584 });
71585 };
71586
71587 BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
71588 if (!this.sourcesContent) {
71589 return null;
71590 }
71591
71592 if (this.sourceRoot != null) {
71593 aSource = util$4.relative(this.sourceRoot, aSource);
71594 }
71595
71596 if (this._sources.has(aSource)) {
71597 return this.sourcesContent[this._sources.indexOf(aSource)];
71598 }
71599
71600 var url;
71601
71602 if (this.sourceRoot != null && (url = util$4.urlParse(this.sourceRoot))) {
71603 var fileUriAbsPath = aSource.replace(/^file:\/\//, "");
71604
71605 if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) {
71606 return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)];
71607 }
71608
71609 if ((!url.path || url.path == "/") && this._sources.has("/" + aSource)) {
71610 return this.sourcesContent[this._sources.indexOf("/" + aSource)];
71611 }
71612 }
71613
71614 if (nullOnMissing) {
71615 return null;
71616 } else {
71617 throw new Error('"' + aSource + '" is not in the SourceMap.');
71618 }
71619 };
71620
71621 BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) {
71622 var source = util$4.getArg(aArgs, 'source');
71623
71624 if (this.sourceRoot != null) {
71625 source = util$4.relative(this.sourceRoot, source);
71626 }
71627
71628 if (!this._sources.has(source)) {
71629 return {
71630 line: null,
71631 column: null,
71632 lastColumn: null
71633 };
71634 }
71635
71636 source = this._sources.indexOf(source);
71637 var needle = {
71638 source: source,
71639 originalLine: util$4.getArg(aArgs, 'line'),
71640 originalColumn: util$4.getArg(aArgs, 'column')
71641 };
71642
71643 var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util$4.compareByOriginalPositions, util$4.getArg(aArgs, 'bias', SourceMapConsumer$1.GREATEST_LOWER_BOUND));
71644
71645 if (index >= 0) {
71646 var mapping = this._originalMappings[index];
71647
71648 if (mapping.source === needle.source) {
71649 return {
71650 line: util$4.getArg(mapping, 'generatedLine', null),
71651 column: util$4.getArg(mapping, 'generatedColumn', null),
71652 lastColumn: util$4.getArg(mapping, 'lastGeneratedColumn', null)
71653 };
71654 }
71655 }
71656
71657 return {
71658 line: null,
71659 column: null,
71660 lastColumn: null
71661 };
71662 };
71663
71664 var BasicSourceMapConsumer_1 = BasicSourceMapConsumer;
71665
71666 function IndexedSourceMapConsumer(aSourceMap) {
71667 var sourceMap = aSourceMap;
71668
71669 if (typeof aSourceMap === 'string') {
71670 sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
71671 }
71672
71673 var version = util$4.getArg(sourceMap, 'version');
71674 var sections = util$4.getArg(sourceMap, 'sections');
71675
71676 if (version != this._version) {
71677 throw new Error('Unsupported version: ' + version);
71678 }
71679
71680 this._sources = new ArraySet();
71681 this._names = new ArraySet();
71682 var lastOffset = {
71683 line: -1,
71684 column: 0
71685 };
71686 this._sections = sections.map(function (s) {
71687 if (s.url) {
71688 throw new Error('Support for url field in sections not implemented.');
71689 }
71690
71691 var offset = util$4.getArg(s, 'offset');
71692 var offsetLine = util$4.getArg(offset, 'line');
71693 var offsetColumn = util$4.getArg(offset, 'column');
71694
71695 if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) {
71696 throw new Error('Section offsets must be ordered and non-overlapping.');
71697 }
71698
71699 lastOffset = offset;
71700 return {
71701 generatedOffset: {
71702 generatedLine: offsetLine + 1,
71703 generatedColumn: offsetColumn + 1
71704 },
71705 consumer: new SourceMapConsumer$1(util$4.getArg(s, 'map'))
71706 };
71707 });
71708 }
71709
71710 IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer$1.prototype);
71711 IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer$1;
71712 IndexedSourceMapConsumer.prototype._version = 3;
71713 Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {
71714 get: function get() {
71715 var sources = [];
71716
71717 for (var i = 0; i < this._sections.length; i++) {
71718 for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {
71719 sources.push(this._sections[i].consumer.sources[j]);
71720 }
71721 }
71722
71723 return sources;
71724 }
71725 });
71726
71727 IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) {
71728 var needle = {
71729 generatedLine: util$4.getArg(aArgs, 'line'),
71730 generatedColumn: util$4.getArg(aArgs, 'column')
71731 };
71732 var sectionIndex = binarySearch.search(needle, this._sections, function (needle, section) {
71733 var cmp = needle.generatedLine - section.generatedOffset.generatedLine;
71734
71735 if (cmp) {
71736 return cmp;
71737 }
71738
71739 return needle.generatedColumn - section.generatedOffset.generatedColumn;
71740 });
71741 var section = this._sections[sectionIndex];
71742
71743 if (!section) {
71744 return {
71745 source: null,
71746 line: null,
71747 column: null,
71748 name: null
71749 };
71750 }
71751
71752 return section.consumer.originalPositionFor({
71753 line: needle.generatedLine - (section.generatedOffset.generatedLine - 1),
71754 column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
71755 bias: aArgs.bias
71756 });
71757 };
71758
71759 IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() {
71760 return this._sections.every(function (s) {
71761 return s.consumer.hasContentsOfAllSources();
71762 });
71763 };
71764
71765 IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
71766 for (var i = 0; i < this._sections.length; i++) {
71767 var section = this._sections[i];
71768 var content = section.consumer.sourceContentFor(aSource, true);
71769
71770 if (content) {
71771 return content;
71772 }
71773 }
71774
71775 if (nullOnMissing) {
71776 return null;
71777 } else {
71778 throw new Error('"' + aSource + '" is not in the SourceMap.');
71779 }
71780 };
71781
71782 IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {
71783 for (var i = 0; i < this._sections.length; i++) {
71784 var section = this._sections[i];
71785
71786 if (section.consumer.sources.indexOf(util$4.getArg(aArgs, 'source')) === -1) {
71787 continue;
71788 }
71789
71790 var generatedPosition = section.consumer.generatedPositionFor(aArgs);
71791
71792 if (generatedPosition) {
71793 var ret = {
71794 line: generatedPosition.line + (section.generatedOffset.generatedLine - 1),
71795 column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0)
71796 };
71797 return ret;
71798 }
71799 }
71800
71801 return {
71802 line: null,
71803 column: null
71804 };
71805 };
71806
71807 IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {
71808 this.__generatedMappings = [];
71809 this.__originalMappings = [];
71810
71811 for (var i = 0; i < this._sections.length; i++) {
71812 var section = this._sections[i];
71813 var sectionMappings = section.consumer._generatedMappings;
71814
71815 for (var j = 0; j < sectionMappings.length; j++) {
71816 var mapping = sectionMappings[j];
71817
71818 var source = section.consumer._sources.at(mapping.source);
71819
71820 if (section.consumer.sourceRoot !== null) {
71821 source = util$4.join(section.consumer.sourceRoot, source);
71822 }
71823
71824 this._sources.add(source);
71825
71826 source = this._sources.indexOf(source);
71827
71828 var name = section.consumer._names.at(mapping.name);
71829
71830 this._names.add(name);
71831
71832 name = this._names.indexOf(name);
71833 var adjustedMapping = {
71834 source: source,
71835 generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1),
71836 generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
71837 originalLine: mapping.originalLine,
71838 originalColumn: mapping.originalColumn,
71839 name: name
71840 };
71841
71842 this.__generatedMappings.push(adjustedMapping);
71843
71844 if (typeof adjustedMapping.originalLine === 'number') {
71845 this.__originalMappings.push(adjustedMapping);
71846 }
71847 }
71848 }
71849
71850 quickSort(this.__generatedMappings, util$4.compareByGeneratedPositionsDeflated);
71851 quickSort(this.__originalMappings, util$4.compareByOriginalPositions);
71852 };
71853
71854 var IndexedSourceMapConsumer_1 = IndexedSourceMapConsumer;
71855 var sourceMapConsumer = {
71856 SourceMapConsumer: SourceMapConsumer_1,
71857 BasicSourceMapConsumer: BasicSourceMapConsumer_1,
71858 IndexedSourceMapConsumer: IndexedSourceMapConsumer_1
71859 };
71860
71861 var SourceMapGenerator$1 = sourceMapGenerator.SourceMapGenerator;
71862 var REGEX_NEWLINE = /(\r?\n)/;
71863 var NEWLINE_CODE = 10;
71864 var isSourceNode = "$$$isSourceNode$$$";
71865
71866 function SourceNode$1(aLine, aColumn, aSource, aChunks, aName) {
71867 this.children = [];
71868 this.sourceContents = {};
71869 this.line = aLine == null ? null : aLine;
71870 this.column = aColumn == null ? null : aColumn;
71871 this.source = aSource == null ? null : aSource;
71872 this.name = aName == null ? null : aName;
71873 this[isSourceNode] = true;
71874 if (aChunks != null) this.add(aChunks);
71875 }
71876
71877 SourceNode$1.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
71878 var node = new SourceNode$1();
71879 var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);
71880 var remainingLinesIndex = 0;
71881
71882 var shiftNextLine = function shiftNextLine() {
71883 var lineContents = getNextLine();
71884 var newLine = getNextLine() || "";
71885 return lineContents + newLine;
71886
71887 function getNextLine() {
71888 return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : undefined;
71889 }
71890 };
71891
71892 var lastGeneratedLine = 1,
71893 lastGeneratedColumn = 0;
71894 var lastMapping = null;
71895 aSourceMapConsumer.eachMapping(function (mapping) {
71896 if (lastMapping !== null) {
71897 if (lastGeneratedLine < mapping.generatedLine) {
71898 addMappingWithCode(lastMapping, shiftNextLine());
71899 lastGeneratedLine++;
71900 lastGeneratedColumn = 0;
71901 } else {
71902 var nextLine = remainingLines[remainingLinesIndex];
71903 var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn);
71904 remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn);
71905 lastGeneratedColumn = mapping.generatedColumn;
71906 addMappingWithCode(lastMapping, code);
71907 lastMapping = mapping;
71908 return;
71909 }
71910 }
71911
71912 while (lastGeneratedLine < mapping.generatedLine) {
71913 node.add(shiftNextLine());
71914 lastGeneratedLine++;
71915 }
71916
71917 if (lastGeneratedColumn < mapping.generatedColumn) {
71918 var nextLine = remainingLines[remainingLinesIndex];
71919 node.add(nextLine.substr(0, mapping.generatedColumn));
71920 remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
71921 lastGeneratedColumn = mapping.generatedColumn;
71922 }
71923
71924 lastMapping = mapping;
71925 }, this);
71926
71927 if (remainingLinesIndex < remainingLines.length) {
71928 if (lastMapping) {
71929 addMappingWithCode(lastMapping, shiftNextLine());
71930 }
71931
71932 node.add(remainingLines.splice(remainingLinesIndex).join(""));
71933 }
71934
71935 aSourceMapConsumer.sources.forEach(function (sourceFile) {
71936 var content = aSourceMapConsumer.sourceContentFor(sourceFile);
71937
71938 if (content != null) {
71939 if (aRelativePath != null) {
71940 sourceFile = util$4.join(aRelativePath, sourceFile);
71941 }
71942
71943 node.setSourceContent(sourceFile, content);
71944 }
71945 });
71946 return node;
71947
71948 function addMappingWithCode(mapping, code) {
71949 if (mapping === null || mapping.source === undefined) {
71950 node.add(code);
71951 } else {
71952 var source = aRelativePath ? util$4.join(aRelativePath, mapping.source) : mapping.source;
71953 node.add(new SourceNode$1(mapping.originalLine, mapping.originalColumn, source, code, mapping.name));
71954 }
71955 }
71956 };
71957
71958 SourceNode$1.prototype.add = function SourceNode_add(aChunk) {
71959 if (Array.isArray(aChunk)) {
71960 aChunk.forEach(function (chunk) {
71961 this.add(chunk);
71962 }, this);
71963 } else if (aChunk[isSourceNode] || typeof aChunk === "string") {
71964 if (aChunk) {
71965 this.children.push(aChunk);
71966 }
71967 } else {
71968 throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk);
71969 }
71970
71971 return this;
71972 };
71973
71974 SourceNode$1.prototype.prepend = function SourceNode_prepend(aChunk) {
71975 if (Array.isArray(aChunk)) {
71976 for (var i = aChunk.length - 1; i >= 0; i--) {
71977 this.prepend(aChunk[i]);
71978 }
71979 } else if (aChunk[isSourceNode] || typeof aChunk === "string") {
71980 this.children.unshift(aChunk);
71981 } else {
71982 throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk);
71983 }
71984
71985 return this;
71986 };
71987
71988 SourceNode$1.prototype.walk = function SourceNode_walk(aFn) {
71989 var chunk;
71990
71991 for (var i = 0, len = this.children.length; i < len; i++) {
71992 chunk = this.children[i];
71993
71994 if (chunk[isSourceNode]) {
71995 chunk.walk(aFn);
71996 } else {
71997 if (chunk !== '') {
71998 aFn(chunk, {
71999 source: this.source,
72000 line: this.line,
72001 column: this.column,
72002 name: this.name
72003 });
72004 }
72005 }
72006 }
72007 };
72008
72009 SourceNode$1.prototype.join = function SourceNode_join(aSep) {
72010 var newChildren;
72011 var i;
72012 var len = this.children.length;
72013
72014 if (len > 0) {
72015 newChildren = [];
72016
72017 for (i = 0; i < len - 1; i++) {
72018 newChildren.push(this.children[i]);
72019 newChildren.push(aSep);
72020 }
72021
72022 newChildren.push(this.children[i]);
72023 this.children = newChildren;
72024 }
72025
72026 return this;
72027 };
72028
72029 SourceNode$1.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
72030 var lastChild = this.children[this.children.length - 1];
72031
72032 if (lastChild[isSourceNode]) {
72033 lastChild.replaceRight(aPattern, aReplacement);
72034 } else if (typeof lastChild === 'string') {
72035 this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
72036 } else {
72037 this.children.push(''.replace(aPattern, aReplacement));
72038 }
72039
72040 return this;
72041 };
72042
72043 SourceNode$1.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
72044 this.sourceContents[util$4.toSetString(aSourceFile)] = aSourceContent;
72045 };
72046
72047 SourceNode$1.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) {
72048 for (var i = 0, len = this.children.length; i < len; i++) {
72049 if (this.children[i][isSourceNode]) {
72050 this.children[i].walkSourceContents(aFn);
72051 }
72052 }
72053
72054 var sources = Object.keys(this.sourceContents);
72055
72056 for (var i = 0, len = sources.length; i < len; i++) {
72057 aFn(util$4.fromSetString(sources[i]), this.sourceContents[sources[i]]);
72058 }
72059 };
72060
72061 SourceNode$1.prototype.toString = function SourceNode_toString() {
72062 var str = "";
72063 this.walk(function (chunk) {
72064 str += chunk;
72065 });
72066 return str;
72067 };
72068
72069 SourceNode$1.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
72070 var generated = {
72071 code: "",
72072 line: 1,
72073 column: 0
72074 };
72075 var map = new SourceMapGenerator$1(aArgs);
72076 var sourceMappingActive = false;
72077 var lastOriginalSource = null;
72078 var lastOriginalLine = null;
72079 var lastOriginalColumn = null;
72080 var lastOriginalName = null;
72081 this.walk(function (chunk, original) {
72082 generated.code += chunk;
72083
72084 if (original.source !== null && original.line !== null && original.column !== null) {
72085 if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) {
72086 map.addMapping({
72087 source: original.source,
72088 original: {
72089 line: original.line,
72090 column: original.column
72091 },
72092 generated: {
72093 line: generated.line,
72094 column: generated.column
72095 },
72096 name: original.name
72097 });
72098 }
72099
72100 lastOriginalSource = original.source;
72101 lastOriginalLine = original.line;
72102 lastOriginalColumn = original.column;
72103 lastOriginalName = original.name;
72104 sourceMappingActive = true;
72105 } else if (sourceMappingActive) {
72106 map.addMapping({
72107 generated: {
72108 line: generated.line,
72109 column: generated.column
72110 }
72111 });
72112 lastOriginalSource = null;
72113 sourceMappingActive = false;
72114 }
72115
72116 for (var idx = 0, length = chunk.length; idx < length; idx++) {
72117 if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
72118 generated.line++;
72119 generated.column = 0;
72120
72121 if (idx + 1 === length) {
72122 lastOriginalSource = null;
72123 sourceMappingActive = false;
72124 } else if (sourceMappingActive) {
72125 map.addMapping({
72126 source: original.source,
72127 original: {
72128 line: original.line,
72129 column: original.column
72130 },
72131 generated: {
72132 line: generated.line,
72133 column: generated.column
72134 },
72135 name: original.name
72136 });
72137 }
72138 } else {
72139 generated.column++;
72140 }
72141 }
72142 });
72143 this.walkSourceContents(function (sourceFile, sourceContent) {
72144 map.setSourceContent(sourceFile, sourceContent);
72145 });
72146 return {
72147 code: generated.code,
72148 map: map
72149 };
72150 };
72151
72152 var SourceNode_1 = SourceNode$1;
72153 var sourceNode = {
72154 SourceNode: SourceNode_1
72155 };
72156
72157 var SourceMapGenerator = sourceMapGenerator.SourceMapGenerator;
72158 var SourceMapConsumer = sourceMapConsumer.SourceMapConsumer;
72159 var SourceNode = sourceNode.SourceNode;
72160 var sourceMap = {
72161 SourceMapGenerator: SourceMapGenerator,
72162 SourceMapConsumer: SourceMapConsumer,
72163 SourceNode: SourceNode
72164 };
72165
72166 function mergeSourceMap(inputMap, map) {
72167 var input = buildMappingData(inputMap);
72168 var output = buildMappingData(map);
72169 var mergedGenerator = new sourceMap.SourceMapGenerator();
72170
72171 for (var _iterator = _createForOfIteratorHelperLoose(input.sources), _step; !(_step = _iterator()).done;) {
72172 var source = _step.value.source;
72173
72174 if (typeof source.content === "string") {
72175 mergedGenerator.setSourceContent(source.path, source.content);
72176 }
72177 }
72178
72179 if (output.sources.length === 1) {
72180 var defaultSource = output.sources[0];
72181 var insertedMappings = new Map();
72182 eachInputGeneratedRange(input, function (generated, original, source) {
72183 eachOverlappingGeneratedOutputRange(defaultSource, generated, function (item) {
72184 var key = makeMappingKey(item);
72185 if (insertedMappings.has(key)) return;
72186 insertedMappings.set(key, item);
72187 mergedGenerator.addMapping({
72188 source: source.path,
72189 original: {
72190 line: original.line,
72191 column: original.columnStart
72192 },
72193 generated: {
72194 line: item.line,
72195 column: item.columnStart
72196 },
72197 name: original.name
72198 });
72199 });
72200 });
72201
72202 for (var _iterator2 = _createForOfIteratorHelperLoose(insertedMappings.values()), _step2; !(_step2 = _iterator2()).done;) {
72203 var _item = _step2.value;
72204
72205 if (_item.columnEnd === Infinity) {
72206 continue;
72207 }
72208
72209 var clearItem = {
72210 line: _item.line,
72211 columnStart: _item.columnEnd
72212 };
72213 var key = makeMappingKey(clearItem);
72214
72215 if (insertedMappings.has(key)) {
72216 continue;
72217 }
72218
72219 mergedGenerator.addMapping({
72220 generated: {
72221 line: clearItem.line,
72222 column: clearItem.columnStart
72223 }
72224 });
72225 }
72226 }
72227
72228 var result = mergedGenerator.toJSON();
72229
72230 if (typeof input.sourceRoot === "string") {
72231 result.sourceRoot = input.sourceRoot;
72232 }
72233
72234 return result;
72235 }
72236
72237 function makeMappingKey(item) {
72238 return item.line + "/" + item.columnStart;
72239 }
72240
72241 function eachOverlappingGeneratedOutputRange(outputFile, inputGeneratedRange, callback) {
72242 var overlappingOriginal = filterApplicableOriginalRanges(outputFile, inputGeneratedRange);
72243
72244 for (var _iterator3 = _createForOfIteratorHelperLoose(overlappingOriginal), _step3; !(_step3 = _iterator3()).done;) {
72245 var generated = _step3.value.generated;
72246
72247 for (var _iterator4 = _createForOfIteratorHelperLoose(generated), _step4; !(_step4 = _iterator4()).done;) {
72248 var _item2 = _step4.value;
72249 callback(_item2);
72250 }
72251 }
72252 }
72253
72254 function filterApplicableOriginalRanges(_ref, _ref2) {
72255 var mappings = _ref.mappings;
72256 var line = _ref2.line,
72257 columnStart = _ref2.columnStart,
72258 columnEnd = _ref2.columnEnd;
72259 return filterSortedArray(mappings, function (_ref3) {
72260 var outOriginal = _ref3.original;
72261 if (line > outOriginal.line) return -1;
72262 if (line < outOriginal.line) return 1;
72263 if (columnStart >= outOriginal.columnEnd) return -1;
72264 if (columnEnd <= outOriginal.columnStart) return 1;
72265 return 0;
72266 });
72267 }
72268
72269 function eachInputGeneratedRange(map, callback) {
72270 for (var _iterator5 = _createForOfIteratorHelperLoose(map.sources), _step5; !(_step5 = _iterator5()).done;) {
72271 var _step5$value = _step5.value,
72272 source = _step5$value.source,
72273 mappings = _step5$value.mappings;
72274
72275 for (var _iterator6 = _createForOfIteratorHelperLoose(mappings), _step6; !(_step6 = _iterator6()).done;) {
72276 var _step6$value = _step6.value,
72277 original = _step6$value.original,
72278 generated = _step6$value.generated;
72279
72280 for (var _iterator7 = _createForOfIteratorHelperLoose(generated), _step7; !(_step7 = _iterator7()).done;) {
72281 var _item3 = _step7.value;
72282 callback(_item3, original, source);
72283 }
72284 }
72285 }
72286 }
72287
72288 function buildMappingData(map) {
72289 var consumer = new sourceMap.SourceMapConsumer(Object.assign({}, map, {
72290 sourceRoot: null
72291 }));
72292 var sources = new Map();
72293 var mappings = new Map();
72294 var last = null;
72295 consumer.computeColumnSpans();
72296 consumer.eachMapping(function (m) {
72297 if (m.originalLine === null) return;
72298 var source = sources.get(m.source);
72299
72300 if (!source) {
72301 source = {
72302 path: m.source,
72303 content: consumer.sourceContentFor(m.source, true)
72304 };
72305 sources.set(m.source, source);
72306 }
72307
72308 var sourceData = mappings.get(source);
72309
72310 if (!sourceData) {
72311 sourceData = {
72312 source: source,
72313 mappings: []
72314 };
72315 mappings.set(source, sourceData);
72316 }
72317
72318 var obj = {
72319 line: m.originalLine,
72320 columnStart: m.originalColumn,
72321 columnEnd: Infinity,
72322 name: m.name
72323 };
72324
72325 if (last && last.source === source && last.mapping.line === m.originalLine) {
72326 last.mapping.columnEnd = m.originalColumn;
72327 }
72328
72329 last = {
72330 source: source,
72331 mapping: obj
72332 };
72333 sourceData.mappings.push({
72334 original: obj,
72335 generated: consumer.allGeneratedPositionsFor({
72336 source: m.source,
72337 line: m.originalLine,
72338 column: m.originalColumn
72339 }).map(function (item) {
72340 return {
72341 line: item.line,
72342 columnStart: item.column,
72343 columnEnd: item.lastColumn + 1
72344 };
72345 })
72346 });
72347 }, null, sourceMap.SourceMapConsumer.ORIGINAL_ORDER);
72348 return {
72349 file: map.file,
72350 sourceRoot: map.sourceRoot,
72351 sources: Array.from(mappings.values())
72352 };
72353 }
72354
72355 function findInsertionLocation(array, callback) {
72356 var left = 0;
72357 var right = array.length;
72358
72359 while (left < right) {
72360 var mid = Math.floor((left + right) / 2);
72361 var _item4 = array[mid];
72362 var result = callback(_item4);
72363
72364 if (result === 0) {
72365 left = mid;
72366 break;
72367 }
72368
72369 if (result >= 0) {
72370 right = mid;
72371 } else {
72372 left = mid + 1;
72373 }
72374 }
72375
72376 var i = left;
72377
72378 if (i < array.length) {
72379 while (i >= 0 && callback(array[i]) >= 0) {
72380 i--;
72381 }
72382
72383 return i + 1;
72384 }
72385
72386 return i;
72387 }
72388
72389 function filterSortedArray(array, callback) {
72390 var start = findInsertionLocation(array, callback);
72391 var results = [];
72392
72393 for (var i = start; i < array.length && callback(array[i]) === 0; i++) {
72394 results.push(array[i]);
72395 }
72396
72397 return results;
72398 }
72399
72400 function generateCode(pluginPasses, file) {
72401 var opts = file.opts,
72402 ast = file.ast,
72403 code = file.code,
72404 inputMap = file.inputMap;
72405 var results = [];
72406
72407 for (var _iterator = _createForOfIteratorHelperLoose(pluginPasses), _step; !(_step = _iterator()).done;) {
72408 var plugins = _step.value;
72409
72410 for (var _iterator2 = _createForOfIteratorHelperLoose(plugins), _step2; !(_step2 = _iterator2()).done;) {
72411 var plugin = _step2.value;
72412 var generatorOverride = plugin.generatorOverride;
72413
72414 if (generatorOverride) {
72415 var _result2 = generatorOverride(ast, opts.generatorOpts, code, generate$1);
72416
72417 if (_result2 !== undefined) results.push(_result2);
72418 }
72419 }
72420 }
72421
72422 var result;
72423
72424 if (results.length === 0) {
72425 result = generate$1(ast, opts.generatorOpts, code);
72426 } else if (results.length === 1) {
72427 result = results[0];
72428
72429 if (typeof result.then === "function") {
72430 throw new Error("You appear to be using an async codegen plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, " + "you may need to upgrade your @babel/core version.");
72431 }
72432 } else {
72433 throw new Error("More than one plugin attempted to override codegen.");
72434 }
72435
72436 var _result = result,
72437 outputCode = _result.code,
72438 outputMap = _result.map;
72439
72440 if (outputMap && inputMap) {
72441 outputMap = mergeSourceMap(inputMap.toObject(), outputMap);
72442 }
72443
72444 if (opts.sourceMaps === "inline" || opts.sourceMaps === "both") {
72445 outputCode += "\n" + convertSourceMap.fromObject(outputMap).toComment();
72446 }
72447
72448 if (opts.sourceMaps === "inline") {
72449 outputMap = null;
72450 }
72451
72452 return {
72453 outputCode: outputCode,
72454 outputMap: outputMap
72455 };
72456 }
72457
72458 var _marked = regenerator.mark(run$1),
72459 _marked2 = regenerator.mark(transformFile$1);
72460 function run$1(config, code, ast) {
72461 var file, opts, _opts$filename, outputCode, outputMap, _generateCode, _opts$filename2;
72462
72463 return regenerator.wrap(function run$(_context) {
72464 while (1) {
72465 switch (_context.prev = _context.next) {
72466 case 0:
72467 return _context.delegateYield(normalizeFile(config.passes, normalizeOptions$4(config), code, ast), "t0", 1);
72468
72469 case 1:
72470 file = _context.t0;
72471 opts = file.opts;
72472 _context.prev = 3;
72473 return _context.delegateYield(transformFile$1(file, config.passes), "t1", 5);
72474
72475 case 5:
72476 _context.next = 12;
72477 break;
72478
72479 case 7:
72480 _context.prev = 7;
72481 _context.t2 = _context["catch"](3);
72482 _context.t2.message = ((_opts$filename = opts.filename) != null ? _opts$filename : "unknown") + ": " + _context.t2.message;
72483
72484 if (!_context.t2.code) {
72485 _context.t2.code = "BABEL_TRANSFORM_ERROR";
72486 }
72487
72488 throw _context.t2;
72489
72490 case 12:
72491 _context.prev = 12;
72492
72493 if (opts.code !== false) {
72494 _generateCode = generateCode(config.passes, file);
72495 outputCode = _generateCode.outputCode;
72496 outputMap = _generateCode.outputMap;
72497 }
72498
72499 _context.next = 21;
72500 break;
72501
72502 case 16:
72503 _context.prev = 16;
72504 _context.t3 = _context["catch"](12);
72505 _context.t3.message = ((_opts$filename2 = opts.filename) != null ? _opts$filename2 : "unknown") + ": " + _context.t3.message;
72506
72507 if (!_context.t3.code) {
72508 _context.t3.code = "BABEL_GENERATE_ERROR";
72509 }
72510
72511 throw _context.t3;
72512
72513 case 21:
72514 return _context.abrupt("return", {
72515 metadata: file.metadata,
72516 options: opts,
72517 ast: opts.ast === true ? file.ast : null,
72518 code: outputCode === undefined ? null : outputCode,
72519 map: outputMap === undefined ? null : outputMap,
72520 sourceType: file.ast.program.sourceType
72521 });
72522
72523 case 22:
72524 case "end":
72525 return _context.stop();
72526 }
72527 }
72528 }, _marked, null, [[3, 7], [12, 16]]);
72529 }
72530
72531 function transformFile$1(file, pluginPasses) {
72532 var _iterator, _step, pluginPairs, passPairs, passes, visitors, _iterator2, _step2, _plugin2, _pass2, _i, _passPairs, _passPairs$_i, plugin, pass, fn, result, visitor, _i2, _passPairs2, _passPairs2$_i, _plugin, _pass, _fn, _result;
72533
72534 return regenerator.wrap(function transformFile$(_context2) {
72535 while (1) {
72536 switch (_context2.prev = _context2.next) {
72537 case 0:
72538 _iterator = _createForOfIteratorHelperLoose(pluginPasses);
72539
72540 case 1:
72541 if ((_step = _iterator()).done) {
72542 _context2.next = 35;
72543 break;
72544 }
72545
72546 pluginPairs = _step.value;
72547 passPairs = [];
72548 passes = [];
72549 visitors = [];
72550
72551 for (_iterator2 = _createForOfIteratorHelperLoose(pluginPairs.concat([loadBlockHoistPlugin()])); !(_step2 = _iterator2()).done;) {
72552 _plugin2 = _step2.value;
72553 _pass2 = new PluginPass(file, _plugin2.key, _plugin2.options);
72554 passPairs.push([_plugin2, _pass2]);
72555 passes.push(_pass2);
72556 visitors.push(_plugin2.visitor);
72557 }
72558
72559 _i = 0, _passPairs = passPairs;
72560
72561 case 8:
72562 if (!(_i < _passPairs.length)) {
72563 _context2.next = 19;
72564 break;
72565 }
72566
72567 _passPairs$_i = _slicedToArray$2(_passPairs[_i], 2), plugin = _passPairs$_i[0], pass = _passPairs$_i[1];
72568 fn = plugin.pre;
72569
72570 if (!fn) {
72571 _context2.next = 16;
72572 break;
72573 }
72574
72575 result = fn.call(pass, file);
72576 return _context2.delegateYield([], "t0", 14);
72577
72578 case 14:
72579 if (!isThenable(result)) {
72580 _context2.next = 16;
72581 break;
72582 }
72583
72584 throw new Error("You appear to be using an plugin with an async .pre, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version.");
72585
72586 case 16:
72587 _i++;
72588 _context2.next = 8;
72589 break;
72590
72591 case 19:
72592 visitor = traverse.visitors.merge(visitors, passes, file.opts.wrapPluginVisitorMethod);
72593 traverse(file.ast, visitor, file.scope);
72594 _i2 = 0, _passPairs2 = passPairs;
72595
72596 case 22:
72597 if (!(_i2 < _passPairs2.length)) {
72598 _context2.next = 33;
72599 break;
72600 }
72601
72602 _passPairs2$_i = _slicedToArray$2(_passPairs2[_i2], 2), _plugin = _passPairs2$_i[0], _pass = _passPairs2$_i[1];
72603 _fn = _plugin.post;
72604
72605 if (!_fn) {
72606 _context2.next = 30;
72607 break;
72608 }
72609
72610 _result = _fn.call(_pass, file);
72611 return _context2.delegateYield([], "t1", 28);
72612
72613 case 28:
72614 if (!isThenable(_result)) {
72615 _context2.next = 30;
72616 break;
72617 }
72618
72619 throw new Error("You appear to be using an plugin with an async .post, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version.");
72620
72621 case 30:
72622 _i2++;
72623 _context2.next = 22;
72624 break;
72625
72626 case 33:
72627 _context2.next = 1;
72628 break;
72629
72630 case 35:
72631 case "end":
72632 return _context2.stop();
72633 }
72634 }
72635 }, _marked2);
72636 }
72637
72638 function isThenable(val) {
72639 return !!val && (typeof val === "object" || typeof val === "function") && !!val.then && typeof val.then === "function";
72640 }
72641
72642 var transformRunner = gensync(regenerator.mark(function transform(code, opts) {
72643 var config;
72644 return regenerator.wrap(function transform$(_context) {
72645 while (1) {
72646 switch (_context.prev = _context.next) {
72647 case 0:
72648 return _context.delegateYield(loadConfig(opts), "t0", 1);
72649
72650 case 1:
72651 config = _context.t0;
72652
72653 if (!(config === null)) {
72654 _context.next = 4;
72655 break;
72656 }
72657
72658 return _context.abrupt("return", null);
72659
72660 case 4:
72661 return _context.delegateYield(run$1(config, code), "t1", 5);
72662
72663 case 5:
72664 return _context.abrupt("return", _context.t1);
72665
72666 case 6:
72667 case "end":
72668 return _context.stop();
72669 }
72670 }
72671 }, transform);
72672 }));
72673 var transform$2 = function transform(code, opts, callback) {
72674 if (typeof opts === "function") {
72675 callback = opts;
72676 opts = undefined;
72677 }
72678
72679 if (callback === undefined) return transformRunner.sync(code, opts);
72680 transformRunner.errback(code, opts, callback);
72681 };
72682 var transformSync = transformRunner.sync;
72683 var transformAsync = transformRunner.async;
72684
72685 var transformFile = function transformFile(filename, opts, callback) {
72686 if (typeof opts === "function") {
72687 callback = opts;
72688 }
72689
72690 callback(new Error("Transforming files is not supported in browsers"), null);
72691 };
72692 function transformFileSync() {
72693 throw new Error("Transforming files is not supported in browsers");
72694 }
72695 function transformFileAsync() {
72696 return Promise.reject(new Error("Transforming files is not supported in browsers"));
72697 }
72698
72699 var transformFromAstRunner = gensync(regenerator.mark(function _callee(ast, code, opts) {
72700 var config;
72701 return regenerator.wrap(function _callee$(_context) {
72702 while (1) {
72703 switch (_context.prev = _context.next) {
72704 case 0:
72705 return _context.delegateYield(loadConfig(opts), "t0", 1);
72706
72707 case 1:
72708 config = _context.t0;
72709
72710 if (!(config === null)) {
72711 _context.next = 4;
72712 break;
72713 }
72714
72715 return _context.abrupt("return", null);
72716
72717 case 4:
72718 if (ast) {
72719 _context.next = 6;
72720 break;
72721 }
72722
72723 throw new Error("No AST given");
72724
72725 case 6:
72726 return _context.delegateYield(run$1(config, code, ast), "t1", 7);
72727
72728 case 7:
72729 return _context.abrupt("return", _context.t1);
72730
72731 case 8:
72732 case "end":
72733 return _context.stop();
72734 }
72735 }
72736 }, _callee);
72737 }));
72738 var transformFromAst$1 = function transformFromAst(ast, code, opts, callback) {
72739 if (typeof opts === "function") {
72740 callback = opts;
72741 opts = undefined;
72742 }
72743
72744 if (callback === undefined) {
72745 return transformFromAstRunner.sync(ast, code, opts);
72746 }
72747
72748 transformFromAstRunner.errback(ast, code, opts, callback);
72749 };
72750 var transformFromAstSync = transformFromAstRunner.sync;
72751 var transformFromAstAsync = transformFromAstRunner.async;
72752
72753 var parseRunner = gensync(regenerator.mark(function parse(code, opts) {
72754 var config;
72755 return regenerator.wrap(function parse$(_context) {
72756 while (1) {
72757 switch (_context.prev = _context.next) {
72758 case 0:
72759 return _context.delegateYield(loadConfig(opts), "t0", 1);
72760
72761 case 1:
72762 config = _context.t0;
72763
72764 if (!(config === null)) {
72765 _context.next = 4;
72766 break;
72767 }
72768
72769 return _context.abrupt("return", null);
72770
72771 case 4:
72772 return _context.delegateYield(parser$1(config.passes, normalizeOptions$4(config), code), "t1", 5);
72773
72774 case 5:
72775 return _context.abrupt("return", _context.t1);
72776
72777 case 6:
72778 case "end":
72779 return _context.stop();
72780 }
72781 }
72782 }, parse);
72783 }));
72784 var parse$3 = function parse(code, opts, callback) {
72785 if (typeof opts === "function") {
72786 callback = opts;
72787 opts = undefined;
72788 }
72789
72790 if (callback === undefined) return parseRunner.sync(code, opts);
72791 parseRunner.errback(code, opts, callback);
72792 };
72793 var parseSync = parseRunner.sync;
72794 var parseAsync = parseRunner.async;
72795
72796 var version$3 = "7.14.8";
72797 var DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]);
72798 var OptionManager = function () {
72799 function OptionManager() {}
72800
72801 var _proto = OptionManager.prototype;
72802
72803 _proto.init = function init(opts) {
72804 return loadOptions(opts);
72805 };
72806
72807 return OptionManager;
72808 }();
72809 function Plugin(alias) {
72810 throw new Error("The (" + alias + ") Babel 5 plugin is being run with an unsupported Babel version.");
72811 }
72812
72813 function declare(builder) {
72814 return function (api, options, dirname) {
72815 var _clonedApi2;
72816
72817 var clonedApi;
72818
72819 for (var _i = 0, _Object$keys = Object.keys(apiPolyfills); _i < _Object$keys.length; _i++) {
72820 var _clonedApi;
72821
72822 var name = _Object$keys[_i];
72823 if (api[name]) continue;
72824 clonedApi = (_clonedApi = clonedApi) != null ? _clonedApi : copyApiObject(api);
72825 clonedApi[name] = apiPolyfills[name](clonedApi);
72826 }
72827
72828 return builder((_clonedApi2 = clonedApi) != null ? _clonedApi2 : api, options || {}, dirname);
72829 };
72830 }
72831 var apiPolyfills = {
72832 assertVersion: function assertVersion(api) {
72833 return function (range) {
72834 throwVersionError(range, api.version);
72835 };
72836 },
72837 targets: function targets() {
72838 return function () {
72839 return {};
72840 };
72841 },
72842 assumption: function assumption() {
72843 return function () {};
72844 }
72845 };
72846
72847 function copyApiObject(api) {
72848 var proto = null;
72849
72850 if (typeof api.version === "string" && /^7\./.test(api.version)) {
72851 proto = Object.getPrototypeOf(api);
72852
72853 if (proto && (!has$8(proto, "version") || !has$8(proto, "transform") || !has$8(proto, "template") || !has$8(proto, "types"))) {
72854 proto = null;
72855 }
72856 }
72857
72858 return Object.assign({}, proto, api);
72859 }
72860
72861 function has$8(obj, key) {
72862 return Object.prototype.hasOwnProperty.call(obj, key);
72863 }
72864
72865 function throwVersionError(range, version) {
72866 if (typeof range === "number") {
72867 if (!Number.isInteger(range)) {
72868 throw new Error("Expected string or integer value.");
72869 }
72870
72871 range = "^" + range + ".0.0-0";
72872 }
72873
72874 if (typeof range !== "string") {
72875 throw new Error("Expected string or integer value.");
72876 }
72877
72878 var limit = Error.stackTraceLimit;
72879
72880 if (typeof limit === "number" && limit < 25) {
72881 Error.stackTraceLimit = 25;
72882 }
72883
72884 var err;
72885
72886 if (version.slice(0, 2) === "7.") {
72887 err = new Error("Requires Babel \"^7.0.0-beta.41\", but was loaded with \"" + version + "\". " + "You'll need to update your @babel/core version.");
72888 } else {
72889 err = new Error("Requires Babel \"" + range + "\", but was loaded with \"" + version + "\". " + "If you are sure you have a compatible version of @babel/core, " + "it is likely that something in your build process is loading the " + "wrong version. Inspect the stack trace of this error to look for " + "the first entry that doesn't mention \"@babel/core\" or \"babel-core\" " + "to see what is calling Babel.");
72890 }
72891
72892 if (typeof limit === "number") {
72893 Error.stackTraceLimit = limit;
72894 }
72895
72896 throw Object.assign(err, {
72897 code: "BABEL_VERSION_UNSUPPORTED",
72898 version: version,
72899 range: range
72900 });
72901 }
72902
72903 var src = /*#__PURE__*/Object.freeze({
72904 __proto__: null,
72905 declare: declare
72906 });
72907
72908 var externalHelpers = declare(function (api, options) {
72909 api.assertVersion(7);
72910 var _options$helperVersio = options.helperVersion,
72911 helperVersion = _options$helperVersio === void 0 ? "7.0.0-beta.0" : _options$helperVersio,
72912 _options$whitelist = options.whitelist,
72913 whitelist = _options$whitelist === void 0 ? false : _options$whitelist;
72914
72915 if (whitelist !== false && (!Array.isArray(whitelist) || whitelist.some(function (w) {
72916 return typeof w !== "string";
72917 }))) {
72918 throw new Error(".whitelist must be undefined, false, or an array of strings");
72919 }
72920
72921 var helperWhitelist = whitelist ? new Set(whitelist) : null;
72922 return {
72923 name: "external-helpers",
72924 pre: function pre(file) {
72925 file.set("helperGenerator", function (name) {
72926 if (file.availableHelper && !file.availableHelper(name, helperVersion)) {
72927 return;
72928 }
72929
72930 if (helperWhitelist && !helperWhitelist.has(name)) return;
72931 return memberExpression(identifier("babelHelpers"), identifier(name));
72932 });
72933 }
72934 };
72935 });
72936
72937 var _helperPluginUtils = /*@__PURE__*/getAugmentedNamespace(src);
72938
72939 var lib$q = createCommonjsModule(function (module, exports) {
72940
72941 Object.defineProperty(exports, "__esModule", {
72942 value: true
72943 });
72944 exports["default"] = void 0;
72945
72946 var _default = (0, _helperPluginUtils.declare)(function (api) {
72947 api.assertVersion(7);
72948 return {
72949 name: "syntax-async-generators",
72950 manipulateOptions: function manipulateOptions(opts, parserOpts) {
72951 parserOpts.plugins.push("asyncGenerators");
72952 }
72953 };
72954 });
72955
72956 exports["default"] = _default;
72957 }, "/$$rollup_base$$/packages/babel-standalone/node_modules/@babel/plugin-syntax-async-generators/lib");
72958
72959 var lib$p = createCommonjsModule(function (module, exports) {
72960
72961 Object.defineProperty(exports, "__esModule", {
72962 value: true
72963 });
72964 exports["default"] = void 0;
72965
72966 var _default = (0, _helperPluginUtils.declare)(function (api) {
72967 api.assertVersion(7);
72968 return {
72969 name: "syntax-class-properties",
72970 manipulateOptions: function manipulateOptions(opts, parserOpts) {
72971 parserOpts.plugins.push("classProperties", "classPrivateProperties", "classPrivateMethods");
72972 }
72973 };
72974 });
72975
72976 exports["default"] = _default;
72977 }, "/$$rollup_base$$/packages/babel-standalone/node_modules/@babel/plugin-syntax-class-properties/lib");
72978
72979 var _syntaxClassStaticBlock = declare(function (api) {
72980 api.assertVersion(7);
72981 return {
72982 name: "syntax-class-static-block",
72983 manipulateOptions: function manipulateOptions(opts, parserOpts) {
72984 parserOpts.plugins.push("classStaticBlock");
72985 }
72986 };
72987 });
72988
72989 var syntaxDecimal = declare(function (api) {
72990 api.assertVersion(7);
72991 return {
72992 name: "syntax-decimal",
72993 manipulateOptions: function manipulateOptions(opts, parserOpts) {
72994 parserOpts.plugins.push("decimal");
72995 }
72996 };
72997 });
72998
72999 var syntaxDecorators = declare(function (api, options) {
73000 api.assertVersion(7);
73001 var _options$legacy = options.legacy,
73002 legacy = _options$legacy === void 0 ? false : _options$legacy;
73003
73004 if (typeof legacy !== "boolean") {
73005 throw new Error("'legacy' must be a boolean.");
73006 }
73007
73008 var decoratorsBeforeExport = options.decoratorsBeforeExport;
73009
73010 if (decoratorsBeforeExport === undefined) {
73011 if (!legacy) {
73012 throw new Error("The '@babel/plugin-syntax-decorators' plugin requires a" + " 'decoratorsBeforeExport' option, whose value must be a boolean." + " If you want to use the legacy decorators semantics, you can set" + " the 'legacy: true' option.");
73013 }
73014 } else {
73015 if (legacy) {
73016 throw new Error("'decoratorsBeforeExport' can't be used with legacy decorators.");
73017 }
73018
73019 if (typeof decoratorsBeforeExport !== "boolean") {
73020 throw new Error("'decoratorsBeforeExport' must be a boolean.");
73021 }
73022 }
73023
73024 return {
73025 name: "syntax-decorators",
73026 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73027 parserOpts.plugins.push(legacy ? "decorators-legacy" : ["decorators", {
73028 decoratorsBeforeExport: decoratorsBeforeExport
73029 }]);
73030 }
73031 };
73032 });
73033
73034 var syntaxDoExpressions = declare(function (api) {
73035 api.assertVersion(7);
73036 return {
73037 name: "syntax-do-expressions",
73038 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73039 parserOpts.plugins.push("doExpressions");
73040 }
73041 };
73042 });
73043
73044 var syntaxExportDefaultFrom = declare(function (api) {
73045 api.assertVersion(7);
73046 return {
73047 name: "syntax-export-default-from",
73048 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73049 parserOpts.plugins.push("exportDefaultFrom");
73050 }
73051 };
73052 });
73053
73054 var syntaxFlow = declare(function (api, options) {
73055 api.assertVersion(7);
73056 var all = options.all,
73057 enums = options.enums;
73058
73059 if (typeof all !== "boolean" && typeof all !== "undefined") {
73060 throw new Error(".all must be a boolean, or undefined");
73061 }
73062
73063 if (typeof enums !== "boolean" && typeof enums !== "undefined") {
73064 throw new Error(".enums must be a boolean, or undefined");
73065 }
73066
73067 return {
73068 name: "syntax-flow",
73069 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73070 if (parserOpts.plugins.some(function (p) {
73071 return (Array.isArray(p) ? p[0] : p) === "typescript";
73072 })) {
73073 return;
73074 }
73075
73076 parserOpts.plugins.push(["flow", {
73077 all: all,
73078 enums: enums
73079 }]);
73080 }
73081 };
73082 });
73083
73084 var syntaxFunctionBind = declare(function (api) {
73085 api.assertVersion(7);
73086 return {
73087 name: "syntax-function-bind",
73088 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73089 parserOpts.plugins.push("functionBind");
73090 }
73091 };
73092 });
73093
73094 var syntaxFunctionSent = declare(function (api) {
73095 api.assertVersion(7);
73096 return {
73097 name: "syntax-function-sent",
73098 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73099 parserOpts.plugins.push("functionSent");
73100 }
73101 };
73102 });
73103
73104 var syntaxModuleBlocks = declare(function (api) {
73105 api.assertVersion(7);
73106 return {
73107 name: "syntax-module-blocks",
73108 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73109 parserOpts.plugins.push("moduleBlocks");
73110 }
73111 };
73112 });
73113
73114 var lib$o = createCommonjsModule(function (module, exports) {
73115
73116 Object.defineProperty(exports, "__esModule", {
73117 value: true
73118 });
73119 exports["default"] = void 0;
73120
73121 var _default = (0, _helperPluginUtils.declare)(function (api) {
73122 api.assertVersion(7);
73123 return {
73124 name: "syntax-import-meta",
73125 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73126 parserOpts.plugins.push("importMeta");
73127 }
73128 };
73129 });
73130
73131 exports["default"] = _default;
73132 }, "/$$rollup_base$$/packages/babel-standalone/node_modules/@babel/plugin-syntax-import-meta/lib");
73133
73134 var syntaxJsx = declare(function (api) {
73135 api.assertVersion(7);
73136 return {
73137 name: "syntax-jsx",
73138 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73139 if (parserOpts.plugins.some(function (p) {
73140 return (Array.isArray(p) ? p[0] : p) === "typescript";
73141 })) {
73142 return;
73143 }
73144
73145 parserOpts.plugins.push("jsx");
73146 }
73147 };
73148 });
73149
73150 var syntaxImportAssertions = declare(function (api) {
73151 api.assertVersion(7);
73152 return {
73153 name: "syntax-import-assertions",
73154 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73155 parserOpts.plugins.push(["importAssertions"]);
73156 }
73157 };
73158 });
73159
73160 var lib$n = createCommonjsModule(function (module, exports) {
73161
73162 Object.defineProperty(exports, "__esModule", {
73163 value: true
73164 });
73165 exports["default"] = void 0;
73166
73167 var _default = (0, _helperPluginUtils.declare)(function (api) {
73168 api.assertVersion(7);
73169 return {
73170 name: "syntax-object-rest-spread",
73171 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73172 parserOpts.plugins.push("objectRestSpread");
73173 }
73174 };
73175 });
73176
73177 exports["default"] = _default;
73178 }, "/$$rollup_base$$/packages/babel-standalone/node_modules/@babel/plugin-syntax-object-rest-spread/lib");
73179
73180 var lib$m = createCommonjsModule(function (module, exports) {
73181
73182 Object.defineProperty(exports, "__esModule", {
73183 value: true
73184 });
73185 exports["default"] = void 0;
73186
73187 var _default = (0, _helperPluginUtils.declare)(function (api) {
73188 api.assertVersion(7);
73189 return {
73190 name: "syntax-optional-catch-binding",
73191 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73192 parserOpts.plugins.push("optionalCatchBinding");
73193 }
73194 };
73195 });
73196
73197 exports["default"] = _default;
73198 }, "/$$rollup_base$$/packages/babel-standalone/node_modules/@babel/plugin-syntax-optional-catch-binding/lib");
73199
73200 var proposals = ["minimal", "smart", "fsharp"];
73201 var syntaxPipelineOperator = declare(function (api, _ref) {
73202 var proposal = _ref.proposal;
73203 api.assertVersion(7);
73204
73205 if (typeof proposal !== "string" || !proposals.includes(proposal)) {
73206 throw new Error("The pipeline operator plugin requires a 'proposal' option." + "'proposal' must be one of: " + proposals.join(", ") + ". More details: https://babeljs.io/docs/en/next/babel-plugin-proposal-pipeline-operator");
73207 }
73208
73209 return {
73210 name: "syntax-pipeline-operator",
73211 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73212 parserOpts.plugins.push(["pipelineOperator", {
73213 proposal: proposal
73214 }]);
73215 }
73216 };
73217 });
73218
73219 var syntaxRecordAndTuple = declare(function (api, options) {
73220 api.assertVersion(7);
73221 return {
73222 name: "syntax-record-and-tuple",
73223 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73224 opts.generatorOpts.recordAndTupleSyntaxType = options.syntaxType;
73225 parserOpts.plugins.push(["recordAndTuple", {
73226 syntaxType: options.syntaxType
73227 }]);
73228 }
73229 };
73230 });
73231
73232 var _syntaxTopLevelAwait = declare(function (api) {
73233 api.assertVersion(7);
73234 return {
73235 name: "syntax-top-level-await",
73236 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73237 parserOpts.plugins.push("topLevelAwait");
73238 }
73239 };
73240 });
73241
73242 function removePlugin(plugins, name) {
73243 var indices = [];
73244 plugins.forEach(function (plugin, i) {
73245 var n = Array.isArray(plugin) ? plugin[0] : plugin;
73246
73247 if (n === name) {
73248 indices.unshift(i);
73249 }
73250 });
73251
73252 for (var _i = 0, _indices = indices; _i < _indices.length; _i++) {
73253 var i = _indices[_i];
73254 plugins.splice(i, 1);
73255 }
73256 }
73257
73258 var syntaxTypescript = declare(function (api, _ref) {
73259 var isTSX = _ref.isTSX;
73260 api.assertVersion(7);
73261 return {
73262 name: "syntax-typescript",
73263 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73264 var plugins = parserOpts.plugins;
73265 removePlugin(plugins, "flow");
73266 removePlugin(plugins, "jsx");
73267 parserOpts.plugins.push("typescript", "classProperties");
73268 {
73269 parserOpts.plugins.push("objectRestSpread");
73270 }
73271
73272 if (isTSX) {
73273 parserOpts.plugins.push("jsx");
73274 }
73275 }
73276 };
73277 });
73278
73279 var buildAnonymousExpressionWrapper = template$2.expression("\n (function () {\n var REF = FUNCTION;\n return function NAME(PARAMS) {\n return REF.apply(this, arguments);\n };\n })()\n");
73280 var buildNamedExpressionWrapper = template$2.expression("\n (function () {\n var REF = FUNCTION;\n function NAME(PARAMS) {\n return REF.apply(this, arguments);\n }\n return NAME;\n })()\n");
73281 var buildDeclarationWrapper = template$2("\n function NAME(PARAMS) { return REF.apply(this, arguments); }\n function REF() {\n REF = FUNCTION;\n return REF.apply(this, arguments);\n }\n");
73282
73283 function classOrObjectMethod(path, callId) {
73284 var node = path.node;
73285 var body = node.body;
73286 var container = functionExpression(null, [], blockStatement(body.body), true);
73287 body.body = [returnStatement(callExpression(callExpression(callId, [container]), []))];
73288 node.async = false;
73289 node.generator = false;
73290 path.get("body.body.0.argument.callee.arguments.0").unwrapFunctionEnvironment();
73291 }
73292
73293 function plainFunction(path, callId, noNewArrows) {
73294 var node = path.node;
73295 var isDeclaration = path.isFunctionDeclaration();
73296 var functionId = node.id;
73297 var wrapper = isDeclaration ? buildDeclarationWrapper : functionId ? buildNamedExpressionWrapper : buildAnonymousExpressionWrapper;
73298
73299 if (path.isArrowFunctionExpression()) {
73300 path.arrowFunctionToExpression({
73301 noNewArrows: noNewArrows
73302 });
73303 }
73304
73305 node.id = null;
73306
73307 if (isDeclaration) {
73308 node.type = "FunctionExpression";
73309 }
73310
73311 var built = callExpression(callId, [node]);
73312 var container = wrapper({
73313 NAME: functionId || null,
73314 REF: path.scope.generateUidIdentifier(functionId ? functionId.name : "ref"),
73315 FUNCTION: built,
73316 PARAMS: node.params.reduce(function (acc, param) {
73317 acc.done = acc.done || isAssignmentPattern(param) || isRestElement(param);
73318
73319 if (!acc.done) {
73320 acc.params.push(path.scope.generateUidIdentifier("x"));
73321 }
73322
73323 return acc;
73324 }, {
73325 params: [],
73326 done: false
73327 }).params
73328 });
73329
73330 if (isDeclaration) {
73331 path.replaceWith(container[0]);
73332 path.insertAfter(container[1]);
73333 } else {
73334 var retFunction = container.callee.body.body[1].argument;
73335
73336 if (!functionId) {
73337 nameFunction({
73338 node: retFunction,
73339 parent: path.parent,
73340 scope: path.scope
73341 });
73342 }
73343
73344 if (!retFunction || retFunction.id || node.params.length) {
73345 path.replaceWith(container);
73346 } else {
73347 path.replaceWith(built);
73348 }
73349 }
73350 }
73351
73352 function wrapFunction(path, callId, noNewArrows) {
73353 if (noNewArrows === void 0) {
73354 noNewArrows = true;
73355 }
73356
73357 if (path.isMethod()) {
73358 classOrObjectMethod(path, callId);
73359 } else {
73360 plainFunction(path, callId, noNewArrows);
73361 }
73362 }
73363
73364 var PURE_ANNOTATION = "#__PURE__";
73365
73366 var isPureAnnotated = function isPureAnnotated(_ref) {
73367 var leadingComments = _ref.leadingComments;
73368 return !!leadingComments && leadingComments.some(function (comment) {
73369 return /[@#]__PURE__/.test(comment.value);
73370 });
73371 };
73372
73373 function annotateAsPure(pathOrNode) {
73374 var node = pathOrNode["node"] || pathOrNode;
73375
73376 if (isPureAnnotated(node)) {
73377 return;
73378 }
73379
73380 addComment$1(node, "leading", PURE_ANNOTATION);
73381 }
73382
73383 var awaitVisitor$1 = {
73384 Function: function Function(path) {
73385 path.skip();
73386 },
73387 AwaitExpression: function AwaitExpression(path, _ref) {
73388 var wrapAwait = _ref.wrapAwait;
73389 var argument = path.get("argument");
73390
73391 if (path.parentPath.isYieldExpression()) {
73392 path.replaceWith(argument.node);
73393 return;
73394 }
73395
73396 path.replaceWith(yieldExpression(wrapAwait ? callExpression(cloneNode(wrapAwait), [argument.node]) : argument.node));
73397 }
73398 };
73399 function remapAsyncToGenerator (path, helpers, noNewArrows) {
73400 path.traverse(awaitVisitor$1, {
73401 wrapAwait: helpers.wrapAwait
73402 });
73403 var isIIFE = checkIsIIFE(path);
73404 path.node.async = false;
73405 path.node.generator = true;
73406 wrapFunction(path, cloneNode(helpers.wrapAsync), noNewArrows);
73407 var isProperty = path.isObjectMethod() || path.isClassMethod() || path.parentPath.isObjectProperty() || path.parentPath.isClassProperty();
73408
73409 if (!isProperty && !isIIFE && path.isExpression()) {
73410 annotateAsPure(path);
73411 }
73412
73413 function checkIsIIFE(path) {
73414 if (path.parentPath.isCallExpression({
73415 callee: path.node
73416 })) {
73417 return true;
73418 }
73419
73420 var parentPath = path.parentPath;
73421
73422 if (parentPath.isMemberExpression() && isIdentifier(parentPath.node.property, {
73423 name: "bind"
73424 })) {
73425 var bindCall = parentPath.parentPath;
73426 return bindCall.isCallExpression() && bindCall.node.arguments.length === 1 && isThisExpression(bindCall.node.arguments[0]) && bindCall.parentPath.isCallExpression({
73427 callee: bindCall.node
73428 });
73429 }
73430
73431 return false;
73432 }
73433 }
73434
73435 var lib$l = createCommonjsModule(function (module, exports) {
73436
73437 Object.defineProperty(exports, "__esModule", {
73438 value: true
73439 });
73440 exports["default"] = void 0;
73441
73442 var _default = (0, _helperPluginUtils.declare)(function (api) {
73443 api.assertVersion(7);
73444 return {
73445 name: "syntax-async-generators",
73446 manipulateOptions: function manipulateOptions(opts, parserOpts) {
73447 parserOpts.plugins.push("asyncGenerators");
73448 }
73449 };
73450 });
73451
73452 exports["default"] = _default;
73453 }, "/$$rollup_base$$/packages/babel-plugin-proposal-async-generator-functions/node_modules/@babel/plugin-syntax-async-generators/lib");
73454
73455 var buildForAwait = template$2("\n async function wrapper() {\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY;\n try {\n for (\n var ITERATOR_KEY = GET_ITERATOR(OBJECT), STEP_KEY, STEP_VALUE;\n (\n STEP_KEY = await ITERATOR_KEY.next(),\n ITERATOR_COMPLETION = STEP_KEY.done,\n STEP_VALUE = await STEP_KEY.value,\n !ITERATOR_COMPLETION\n );\n ITERATOR_COMPLETION = true) {\n }\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {\n await ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n }\n");
73456 function rewriteForAwait (path, _ref) {
73457 var getAsyncIterator = _ref.getAsyncIterator;
73458 var node = path.node,
73459 scope = path.scope,
73460 parent = path.parent;
73461 var stepKey = scope.generateUidIdentifier("step");
73462 var stepValue = scope.generateUidIdentifier("value");
73463 var left = node.left;
73464 var declar;
73465
73466 if (isIdentifier(left) || isPattern(left) || isMemberExpression(left)) {
73467 declar = expressionStatement(assignmentExpression("=", left, stepValue));
73468 } else if (isVariableDeclaration(left)) {
73469 declar = variableDeclaration(left.kind, [variableDeclarator(left.declarations[0].id, stepValue)]);
73470 }
73471
73472 var template = buildForAwait({
73473 ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"),
73474 ITERATOR_COMPLETION: scope.generateUidIdentifier("iteratorNormalCompletion"),
73475 ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"),
73476 ITERATOR_KEY: scope.generateUidIdentifier("iterator"),
73477 GET_ITERATOR: getAsyncIterator,
73478 OBJECT: node.right,
73479 STEP_VALUE: cloneNode(stepValue),
73480 STEP_KEY: stepKey
73481 });
73482 template = template.body.body;
73483 var isLabeledParent = isLabeledStatement(parent);
73484 var tryBody = template[3].block.body;
73485 var loop = tryBody[0];
73486
73487 if (isLabeledParent) {
73488 tryBody[0] = labeledStatement(parent.label, loop);
73489 }
73490
73491 return {
73492 replaceParent: isLabeledParent,
73493 node: template,
73494 declar: declar,
73495 loop: loop
73496 };
73497 }
73498
73499 var _proposalAsyncGeneratorFunctions = declare(function (api) {
73500 api.assertVersion(7);
73501 var yieldStarVisitor = {
73502 Function: function Function(path) {
73503 path.skip();
73504 },
73505 YieldExpression: function YieldExpression(_ref, state) {
73506 var node = _ref.node;
73507 if (!node.delegate) return;
73508 var callee = state.addHelper("asyncGeneratorDelegate");
73509 node.argument = callExpression(callee, [callExpression(state.addHelper("asyncIterator"), [node.argument]), state.addHelper("awaitAsyncGenerator")]);
73510 }
73511 };
73512 var forAwaitVisitor = {
73513 Function: function Function(path) {
73514 path.skip();
73515 },
73516 ForOfStatement: function ForOfStatement(path, _ref2) {
73517 var file = _ref2.file;
73518 var node = path.node;
73519 if (!node["await"]) return;
73520 var build = rewriteForAwait(path, {
73521 getAsyncIterator: file.addHelper("asyncIterator")
73522 });
73523 var declar = build.declar,
73524 loop = build.loop;
73525 var block = loop.body;
73526 path.ensureBlock();
73527
73528 if (declar) {
73529 block.body.push(declar);
73530 }
73531
73532 block.body = block.body.concat(node.body.body);
73533 inherits(loop, node);
73534 inherits(loop.body, node.body);
73535
73536 if (build.replaceParent) {
73537 path.parentPath.replaceWithMultiple(build.node);
73538 } else {
73539 path.replaceWithMultiple(build.node);
73540 }
73541 }
73542 };
73543 var visitor = {
73544 Function: function Function(path, state) {
73545 if (!path.node.async) return;
73546 path.traverse(forAwaitVisitor, state);
73547 if (!path.node.generator) return;
73548 path.traverse(yieldStarVisitor, state);
73549 remapAsyncToGenerator(path, {
73550 wrapAsync: state.addHelper("wrapAsyncGenerator"),
73551 wrapAwait: state.addHelper("awaitAsyncGenerator")
73552 });
73553 }
73554 };
73555 return {
73556 name: "proposal-async-generator-functions",
73557 inherits: lib$l["default"],
73558 visitor: {
73559 Program: function Program(path, state) {
73560 path.traverse(visitor, state);
73561 }
73562 }
73563 };
73564 });
73565
73566 function assertFieldTransformed(path) {
73567 if (path.node.declare) {
73568 throw path.buildCodeFrameError("TypeScript 'declare' fields must first be transformed by " + "@babel/plugin-transform-typescript.\n" + "If you have already enabled that plugin (or '@babel/preset-typescript'), make sure " + "that it runs before any plugin related to additional class features:\n" + " - @babel/plugin-proposal-class-properties\n" + " - @babel/plugin-proposal-private-methods\n" + " - @babel/plugin-proposal-decorators");
73569 }
73570 }
73571
73572 var _templateObject$j, _templateObject2$9, _templateObject3$8, _templateObject4$4, _templateObject5$2, _templateObject6$2, _templateObject7$1, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
73573 function buildPrivateNamesMap(props) {
73574 var privateNamesMap = new Map();
73575
73576 for (var _iterator = _createForOfIteratorHelperLoose(props), _step; !(_step = _iterator()).done;) {
73577 var prop = _step.value;
73578 var isPrivate = prop.isPrivate();
73579 var isMethod = !prop.isProperty();
73580 var isInstance = !prop.node["static"];
73581
73582 if (isPrivate) {
73583 var name = prop.node.key.id.name;
73584 var update = privateNamesMap.has(name) ? privateNamesMap.get(name) : {
73585 id: prop.scope.generateUidIdentifier(name),
73586 "static": !isInstance,
73587 method: isMethod
73588 };
73589
73590 if (prop.node.kind === "get") {
73591 update.getId = prop.scope.generateUidIdentifier("get_" + name);
73592 } else if (prop.node.kind === "set") {
73593 update.setId = prop.scope.generateUidIdentifier("set_" + name);
73594 } else if (prop.node.kind === "method") {
73595 update.methodId = prop.scope.generateUidIdentifier(name);
73596 }
73597
73598 privateNamesMap.set(name, update);
73599 }
73600 }
73601
73602 return privateNamesMap;
73603 }
73604 function buildPrivateNamesNodes(privateNamesMap, privateFieldsAsProperties, state) {
73605 var initNodes = [];
73606
73607 for (var _iterator2 = _createForOfIteratorHelperLoose(privateNamesMap), _step2; !(_step2 = _iterator2()).done;) {
73608 var _step2$value = _slicedToArray$2(_step2.value, 2),
73609 name = _step2$value[0],
73610 value = _step2$value[1];
73611
73612 var isStatic = value["static"],
73613 isMethod = value.method,
73614 getId = value.getId,
73615 setId = value.setId;
73616 var isAccessor = getId || setId;
73617 var id = cloneNode(value.id);
73618 var init = void 0;
73619
73620 if (privateFieldsAsProperties) {
73621 init = callExpression(state.addHelper("classPrivateFieldLooseKey"), [stringLiteral(name)]);
73622 } else if (!isStatic) {
73623 init = newExpression(identifier(!isMethod || isAccessor ? "WeakMap" : "WeakSet"), []);
73624 }
73625
73626 if (init) {
73627 annotateAsPure(init);
73628 initNodes.push(template$2.statement.ast(_templateObject$j || (_templateObject$j = _taggedTemplateLiteralLoose(["var ", " = ", ""])), id, init));
73629 }
73630 }
73631
73632 return initNodes;
73633 }
73634
73635 function privateNameVisitorFactory(visitor) {
73636 var privateNameVisitor = Object.assign({}, visitor, {
73637 Class: function Class(path) {
73638 var privateNamesMap = this.privateNamesMap;
73639 var body = path.get("body.body");
73640 var visiblePrivateNames = new Map(privateNamesMap);
73641 var redeclared = [];
73642
73643 for (var _iterator3 = _createForOfIteratorHelperLoose(body), _step3; !(_step3 = _iterator3()).done;) {
73644 var prop = _step3.value;
73645 if (!prop.isPrivate()) continue;
73646 var name = prop.node.key.id.name;
73647 visiblePrivateNames["delete"](name);
73648 redeclared.push(name);
73649 }
73650
73651 if (!redeclared.length) {
73652 return;
73653 }
73654
73655 path.get("body").traverse(nestedVisitor, Object.assign({}, this, {
73656 redeclared: redeclared
73657 }));
73658 path.traverse(privateNameVisitor, Object.assign({}, this, {
73659 privateNamesMap: visiblePrivateNames
73660 }));
73661 path.skipKey("body");
73662 }
73663 });
73664 var nestedVisitor = traverse.visitors.merge([Object.assign({}, visitor), environmentVisitor]);
73665 return privateNameVisitor;
73666 }
73667
73668 var privateNameVisitor = privateNameVisitorFactory({
73669 PrivateName: function PrivateName(path, _ref) {
73670 var noDocumentAll = _ref.noDocumentAll;
73671 var privateNamesMap = this.privateNamesMap,
73672 redeclared = this.redeclared;
73673 var node = path.node,
73674 parentPath = path.parentPath;
73675
73676 if (!parentPath.isMemberExpression({
73677 property: node
73678 }) && !parentPath.isOptionalMemberExpression({
73679 property: node
73680 })) {
73681 return;
73682 }
73683
73684 var name = node.id.name;
73685 if (!privateNamesMap.has(name)) return;
73686 if (redeclared && redeclared.includes(name)) return;
73687 this.handle(parentPath, noDocumentAll);
73688 }
73689 });
73690 var privateInVisitor = privateNameVisitorFactory({
73691 BinaryExpression: function BinaryExpression(path) {
73692 var _path$node = path.node,
73693 operator = _path$node.operator,
73694 left = _path$node.left,
73695 right = _path$node.right;
73696 if (operator !== "in") return;
73697 if (!path.get("left").isPrivateName()) return;
73698 var privateFieldsAsProperties = this.privateFieldsAsProperties,
73699 privateNamesMap = this.privateNamesMap,
73700 redeclared = this.redeclared;
73701 var name = left.id.name;
73702 if (!privateNamesMap.has(name)) return;
73703 if (redeclared && redeclared.includes(name)) return;
73704
73705 if (privateFieldsAsProperties) {
73706 var _privateNamesMap$get = privateNamesMap.get(name),
73707 _id = _privateNamesMap$get.id;
73708
73709 path.replaceWith(template$2.expression.ast(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteralLoose(["\n Object.prototype.hasOwnProperty.call(", ", ", ")\n "])), right, cloneNode(_id)));
73710 return;
73711 }
73712
73713 var _privateNamesMap$get2 = privateNamesMap.get(name),
73714 id = _privateNamesMap$get2.id,
73715 isStatic = _privateNamesMap$get2["static"];
73716
73717 if (isStatic) {
73718 path.replaceWith(template$2.expression.ast(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteralLoose(["", " === ", ""])), right, this.classRef));
73719 return;
73720 }
73721
73722 path.replaceWith(template$2.expression.ast(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteralLoose(["", ".has(", ")"])), cloneNode(id), right));
73723 }
73724 });
73725 var privateNameHandlerSpec = {
73726 memoise: function memoise(member, count) {
73727 var scope = member.scope;
73728 var object = member.node.object;
73729 var memo = scope.maybeGenerateMemoised(object);
73730
73731 if (!memo) {
73732 return;
73733 }
73734
73735 this.memoiser.set(object, memo, count);
73736 },
73737 receiver: function receiver(member) {
73738 var object = member.node.object;
73739
73740 if (this.memoiser.has(object)) {
73741 return cloneNode(this.memoiser.get(object));
73742 }
73743
73744 return cloneNode(object);
73745 },
73746 get: function get(member) {
73747 var classRef = this.classRef,
73748 privateNamesMap = this.privateNamesMap,
73749 file = this.file;
73750 var name = member.node.property.id.name;
73751
73752 var _privateNamesMap$get3 = privateNamesMap.get(name),
73753 id = _privateNamesMap$get3.id,
73754 isStatic = _privateNamesMap$get3["static"],
73755 isMethod = _privateNamesMap$get3.method,
73756 methodId = _privateNamesMap$get3.methodId,
73757 getId = _privateNamesMap$get3.getId,
73758 setId = _privateNamesMap$get3.setId;
73759
73760 var isAccessor = getId || setId;
73761
73762 if (isStatic) {
73763 var helperName = isMethod && !isAccessor ? "classStaticPrivateMethodGet" : "classStaticPrivateFieldSpecGet";
73764 return callExpression(file.addHelper(helperName), [this.receiver(member), cloneNode(classRef), cloneNode(id)]);
73765 }
73766
73767 if (isMethod) {
73768 if (isAccessor) {
73769 if (!getId && setId) {
73770 if (file.availableHelper("writeOnlyError")) {
73771 return sequenceExpression([this.receiver(member), callExpression(file.addHelper("writeOnlyError"), [stringLiteral("#" + name)])]);
73772 }
73773
73774 console.warn("@babel/helpers is outdated, update it to silence this warning.");
73775 }
73776
73777 return callExpression(file.addHelper("classPrivateFieldGet"), [this.receiver(member), cloneNode(id)]);
73778 }
73779
73780 return callExpression(file.addHelper("classPrivateMethodGet"), [this.receiver(member), cloneNode(id), cloneNode(methodId)]);
73781 }
73782
73783 return callExpression(file.addHelper("classPrivateFieldGet"), [this.receiver(member), cloneNode(id)]);
73784 },
73785 boundGet: function boundGet(member) {
73786 this.memoise(member, 1);
73787 return callExpression(memberExpression(this.get(member), identifier("bind")), [this.receiver(member)]);
73788 },
73789 set: function set(member, value) {
73790 var classRef = this.classRef,
73791 privateNamesMap = this.privateNamesMap,
73792 file = this.file;
73793 var name = member.node.property.id.name;
73794
73795 var _privateNamesMap$get4 = privateNamesMap.get(name),
73796 id = _privateNamesMap$get4.id,
73797 isStatic = _privateNamesMap$get4["static"],
73798 isMethod = _privateNamesMap$get4.method,
73799 setId = _privateNamesMap$get4.setId,
73800 getId = _privateNamesMap$get4.getId;
73801
73802 var isAccessor = getId || setId;
73803
73804 if (isStatic) {
73805 var helperName = isMethod && !isAccessor ? "classStaticPrivateMethodSet" : "classStaticPrivateFieldSpecSet";
73806 return callExpression(file.addHelper(helperName), [this.receiver(member), cloneNode(classRef), cloneNode(id), value]);
73807 }
73808
73809 if (isMethod) {
73810 if (setId) {
73811 return callExpression(file.addHelper("classPrivateFieldSet"), [this.receiver(member), cloneNode(id), value]);
73812 }
73813
73814 return sequenceExpression([this.receiver(member), value, callExpression(file.addHelper("readOnlyError"), [stringLiteral("#" + name)])]);
73815 }
73816
73817 return callExpression(file.addHelper("classPrivateFieldSet"), [this.receiver(member), cloneNode(id), value]);
73818 },
73819 destructureSet: function destructureSet(member) {
73820 var classRef = this.classRef,
73821 privateNamesMap = this.privateNamesMap,
73822 file = this.file;
73823 var name = member.node.property.id.name;
73824
73825 var _privateNamesMap$get5 = privateNamesMap.get(name),
73826 id = _privateNamesMap$get5.id,
73827 isStatic = _privateNamesMap$get5["static"];
73828
73829 if (isStatic) {
73830 try {
73831 var helper = file.addHelper("classStaticPrivateFieldDestructureSet");
73832 } catch (_unused) {
73833 throw new Error("Babel can not transpile `[C.#p] = [0]` with @babel/helpers < 7.13.10, \n" + "please update @babel/helpers to the latest version.");
73834 }
73835
73836 return memberExpression(callExpression(helper, [this.receiver(member), cloneNode(classRef), cloneNode(id)]), identifier("value"));
73837 }
73838
73839 return memberExpression(callExpression(file.addHelper("classPrivateFieldDestructureSet"), [this.receiver(member), cloneNode(id)]), identifier("value"));
73840 },
73841 call: function call(member, args) {
73842 this.memoise(member, 1);
73843 return optimiseCallExpression(this.get(member), this.receiver(member), args, false);
73844 },
73845 optionalCall: function optionalCall(member, args) {
73846 this.memoise(member, 1);
73847 return optimiseCallExpression(this.get(member), this.receiver(member), args, true);
73848 }
73849 };
73850 var privateNameHandlerLoose = {
73851 get: function get(member) {
73852 var privateNamesMap = this.privateNamesMap,
73853 file = this.file;
73854 var object = member.node.object;
73855 var name = member.node.property.id.name;
73856 return template$2.expression(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteralLoose(["BASE(REF, PROP)[PROP]"])))({
73857 BASE: file.addHelper("classPrivateFieldLooseBase"),
73858 REF: cloneNode(object),
73859 PROP: cloneNode(privateNamesMap.get(name).id)
73860 });
73861 },
73862 boundGet: function boundGet(member) {
73863 return callExpression(memberExpression(this.get(member), identifier("bind")), [cloneNode(member.node.object)]);
73864 },
73865 simpleSet: function simpleSet(member) {
73866 return this.get(member);
73867 },
73868 destructureSet: function destructureSet(member) {
73869 return this.get(member);
73870 },
73871 call: function call(member, args) {
73872 return callExpression(this.get(member), args);
73873 },
73874 optionalCall: function optionalCall(member, args) {
73875 return optionalCallExpression(this.get(member), args, true);
73876 }
73877 };
73878 function transformPrivateNamesUsage(ref, path, privateNamesMap, _ref2, state) {
73879 var privateFieldsAsProperties = _ref2.privateFieldsAsProperties,
73880 noDocumentAll = _ref2.noDocumentAll;
73881 if (!privateNamesMap.size) return;
73882 var body = path.get("body");
73883 var handler = privateFieldsAsProperties ? privateNameHandlerLoose : privateNameHandlerSpec;
73884 memberExpressionToFunctions(body, privateNameVisitor, Object.assign({
73885 privateNamesMap: privateNamesMap,
73886 classRef: ref,
73887 file: state
73888 }, handler, {
73889 noDocumentAll: noDocumentAll
73890 }));
73891 body.traverse(privateInVisitor, {
73892 privateNamesMap: privateNamesMap,
73893 classRef: ref,
73894 file: state,
73895 privateFieldsAsProperties: privateFieldsAsProperties
73896 });
73897 }
73898
73899 function buildPrivateFieldInitLoose(ref, prop, privateNamesMap) {
73900 var _privateNamesMap$get6 = privateNamesMap.get(prop.node.key.id.name),
73901 id = _privateNamesMap$get6.id;
73902
73903 var value = prop.node.value || prop.scope.buildUndefinedNode();
73904 return template$2.statement.ast(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n writable: true,\n value: ", "\n });\n "])), ref, cloneNode(id), value);
73905 }
73906
73907 function buildPrivateInstanceFieldInitSpec(ref, prop, privateNamesMap) {
73908 var _privateNamesMap$get7 = privateNamesMap.get(prop.node.key.id.name),
73909 id = _privateNamesMap$get7.id;
73910
73911 var value = prop.node.value || prop.scope.buildUndefinedNode();
73912 return template$2.statement.ast(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteralLoose(["", ".set(", ", {\n // configurable is always false for private elements\n // enumerable is always false for private elements\n writable: true,\n value: ", ",\n })"])), cloneNode(id), ref, value);
73913 }
73914
73915 function buildPrivateStaticFieldInitSpec(prop, privateNamesMap) {
73916 var privateName = privateNamesMap.get(prop.node.key.id.name);
73917 var id = privateName.id,
73918 getId = privateName.getId,
73919 setId = privateName.setId,
73920 initAdded = privateName.initAdded;
73921 var isAccessor = getId || setId;
73922 if (!prop.isProperty() && (initAdded || !isAccessor)) return;
73923
73924 if (isAccessor) {
73925 privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
73926 initAdded: true
73927 }));
73928 return template$2.statement.ast(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n var ", " = {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n get: ", ",\n set: ", "\n }\n "])), cloneNode(id), getId ? getId.name : prop.scope.buildUndefinedNode(), setId ? setId.name : prop.scope.buildUndefinedNode());
73929 }
73930
73931 var value = prop.node.value || prop.scope.buildUndefinedNode();
73932 return template$2.statement.ast(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n var ", " = {\n // configurable is false by default\n // enumerable is false by default\n writable: true,\n value: ", "\n };\n "])), cloneNode(id), value);
73933 }
73934
73935 function buildPrivateMethodInitLoose(ref, prop, privateNamesMap) {
73936 var privateName = privateNamesMap.get(prop.node.key.id.name);
73937 var methodId = privateName.methodId,
73938 id = privateName.id,
73939 getId = privateName.getId,
73940 setId = privateName.setId,
73941 initAdded = privateName.initAdded;
73942 if (initAdded) return;
73943
73944 if (methodId) {
73945 return template$2.statement.ast(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n value: ", "\n });\n "])), ref, id, methodId.name);
73946 }
73947
73948 var isAccessor = getId || setId;
73949
73950 if (isAccessor) {
73951 privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
73952 initAdded: true
73953 }));
73954 return template$2.statement.ast(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n get: ", ",\n set: ", "\n });\n "])), ref, id, getId ? getId.name : prop.scope.buildUndefinedNode(), setId ? setId.name : prop.scope.buildUndefinedNode());
73955 }
73956 }
73957
73958 function buildPrivateInstanceMethodInitSpec(ref, prop, privateNamesMap) {
73959 var privateName = privateNamesMap.get(prop.node.key.id.name);
73960 var id = privateName.id,
73961 getId = privateName.getId,
73962 setId = privateName.setId,
73963 initAdded = privateName.initAdded;
73964 if (initAdded) return;
73965 var isAccessor = getId || setId;
73966
73967 if (isAccessor) {
73968 privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
73969 initAdded: true
73970 }));
73971 return template$2.statement.ast(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n ", ".set(", ", {\n get: ", ",\n set: ", "\n });\n "])), id, ref, getId ? getId.name : prop.scope.buildUndefinedNode(), setId ? setId.name : prop.scope.buildUndefinedNode());
73972 }
73973
73974 return template$2.statement.ast(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["", ".add(", ")"])), id, ref);
73975 }
73976
73977 function buildPublicFieldInitLoose(ref, prop) {
73978 var _prop$node = prop.node,
73979 key = _prop$node.key,
73980 computed = _prop$node.computed;
73981 var value = prop.node.value || prop.scope.buildUndefinedNode();
73982 return expressionStatement(assignmentExpression("=", memberExpression(ref, key, computed || isLiteral(key)), value));
73983 }
73984
73985 function buildPublicFieldInitSpec(ref, prop, state) {
73986 var _prop$node2 = prop.node,
73987 key = _prop$node2.key,
73988 computed = _prop$node2.computed;
73989 var value = prop.node.value || prop.scope.buildUndefinedNode();
73990 return expressionStatement(callExpression(state.addHelper("defineProperty"), [ref, computed || isLiteral(key) ? key : stringLiteral(key.name), value]));
73991 }
73992
73993 function buildPrivateStaticMethodInitLoose(ref, prop, state, privateNamesMap) {
73994 var privateName = privateNamesMap.get(prop.node.key.id.name);
73995 var id = privateName.id,
73996 methodId = privateName.methodId,
73997 getId = privateName.getId,
73998 setId = privateName.setId,
73999 initAdded = privateName.initAdded;
74000 if (initAdded) return;
74001 var isAccessor = getId || setId;
74002
74003 if (isAccessor) {
74004 privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
74005 initAdded: true
74006 }));
74007 return template$2.statement.ast(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n get: ", ",\n set: ", "\n })\n "])), ref, id, getId ? getId.name : prop.scope.buildUndefinedNode(), setId ? setId.name : prop.scope.buildUndefinedNode());
74008 }
74009
74010 return template$2.statement.ast(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n value: ", "\n });\n "])), ref, id, methodId.name);
74011 }
74012
74013 function buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties) {
74014 if (privateFieldsAsProperties === void 0) {
74015 privateFieldsAsProperties = false;
74016 }
74017
74018 var privateName = privateNamesMap.get(prop.node.key.id.name);
74019 var id = privateName.id,
74020 methodId = privateName.methodId,
74021 getId = privateName.getId,
74022 setId = privateName.setId,
74023 getterDeclared = privateName.getterDeclared,
74024 setterDeclared = privateName.setterDeclared,
74025 isStatic = privateName["static"];
74026 var _prop$node3 = prop.node,
74027 params = _prop$node3.params,
74028 body = _prop$node3.body,
74029 generator = _prop$node3.generator,
74030 async = _prop$node3.async;
74031 var isGetter = getId && !getterDeclared && params.length === 0;
74032 var isSetter = setId && !setterDeclared && params.length > 0;
74033 var declId = methodId;
74034
74035 if (isGetter) {
74036 privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
74037 getterDeclared: true
74038 }));
74039 declId = getId;
74040 } else if (isSetter) {
74041 privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
74042 setterDeclared: true
74043 }));
74044 declId = setId;
74045 } else if (isStatic && !privateFieldsAsProperties) {
74046 declId = id;
74047 }
74048
74049 return functionDeclaration(cloneNode(declId), params, body, generator, async);
74050 }
74051
74052 var thisContextVisitor = traverse.visitors.merge([{
74053 ThisExpression: function ThisExpression(path, state) {
74054 state.needsClassRef = true;
74055 path.replaceWith(cloneNode(state.classRef));
74056 },
74057 MetaProperty: function (_MetaProperty) {
74058 function MetaProperty(_x) {
74059 return _MetaProperty.apply(this, arguments);
74060 }
74061
74062 MetaProperty.toString = function () {
74063 return _MetaProperty.toString();
74064 };
74065
74066 return MetaProperty;
74067 }(function (path) {
74068 var meta = path.get("meta");
74069 var property = path.get("property");
74070 var scope = path.scope;
74071
74072 if (meta.isIdentifier({
74073 name: "new"
74074 }) && property.isIdentifier({
74075 name: "target"
74076 })) {
74077 path.replaceWith(scope.buildUndefinedNode());
74078 }
74079 })
74080 }, environmentVisitor]);
74081 var innerReferencesVisitor = {
74082 ReferencedIdentifier: function ReferencedIdentifier(path, state) {
74083 if (path.scope.bindingIdentifierEquals(path.node.name, state.innerBinding)) {
74084 state.needsClassRef = true;
74085 path.node.name = state.classRef.name;
74086 }
74087 }
74088 };
74089
74090 function replaceThisContext(path, ref, getSuperRef, file, isStaticBlock, constantSuper, innerBindingRef) {
74091 var _state$classRef;
74092
74093 var state = {
74094 classRef: ref,
74095 needsClassRef: false,
74096 innerBinding: innerBindingRef
74097 };
74098 var replacer = new ReplaceSupers({
74099 methodPath: path,
74100 constantSuper: constantSuper,
74101 file: file,
74102 refToPreserve: ref,
74103 getSuperRef: getSuperRef,
74104 getObjectRef: function getObjectRef() {
74105 state.needsClassRef = true;
74106 return isStaticBlock || path.node["static"] ? ref : memberExpression(ref, identifier("prototype"));
74107 }
74108 });
74109 replacer.replace();
74110
74111 if (isStaticBlock || path.isProperty()) {
74112 path.traverse(thisContextVisitor, state);
74113 }
74114
74115 if ((_state$classRef = state.classRef) != null && _state$classRef.name && state.classRef.name !== (innerBindingRef == null ? void 0 : innerBindingRef.name)) {
74116 path.traverse(innerReferencesVisitor, state);
74117 }
74118
74119 return state.needsClassRef;
74120 }
74121
74122 function buildFieldsInitNodes(ref, superRef, props, privateNamesMap, state, setPublicClassFields, privateFieldsAsProperties, constantSuper, innerBindingRef) {
74123 var needsClassRef = false;
74124 var injectSuperRef;
74125 var staticNodes = [];
74126 var instanceNodes = [];
74127 var pureStaticNodes = [];
74128 var getSuperRef = isIdentifier(superRef) ? function () {
74129 return superRef;
74130 } : function () {
74131 var _injectSuperRef;
74132
74133 (_injectSuperRef = injectSuperRef) != null ? _injectSuperRef : injectSuperRef = props[0].scope.generateUidIdentifierBasedOnNode(superRef);
74134 return injectSuperRef;
74135 };
74136
74137 for (var _iterator4 = _createForOfIteratorHelperLoose(props), _step4; !(_step4 = _iterator4()).done;) {
74138 var prop = _step4.value;
74139 assertFieldTransformed(prop);
74140 var isStatic = prop.node["static"];
74141 var isInstance = !isStatic;
74142 var isPrivate = prop.isPrivate();
74143 var isPublic = !isPrivate;
74144 var isField = prop.isProperty();
74145 var isMethod = !isField;
74146 var isStaticBlock = prop.isStaticBlock == null ? void 0 : prop.isStaticBlock();
74147
74148 if (isStatic || isMethod && isPrivate || isStaticBlock) {
74149 var replaced = replaceThisContext(prop, ref, getSuperRef, state, isStaticBlock, constantSuper, innerBindingRef);
74150 needsClassRef = needsClassRef || replaced;
74151 }
74152
74153 switch (true) {
74154 case isStaticBlock:
74155 staticNodes.push(template$2.statement.ast(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["(() => ", ")()"])), blockStatement(prop.node.body)));
74156 break;
74157
74158 case isStatic && isPrivate && isField && privateFieldsAsProperties:
74159 needsClassRef = true;
74160 staticNodes.push(buildPrivateFieldInitLoose(cloneNode(ref), prop, privateNamesMap));
74161 break;
74162
74163 case isStatic && isPrivate && isField && !privateFieldsAsProperties:
74164 needsClassRef = true;
74165 staticNodes.push(buildPrivateStaticFieldInitSpec(prop, privateNamesMap));
74166 break;
74167
74168 case isStatic && isPublic && isField && setPublicClassFields:
74169 needsClassRef = true;
74170 staticNodes.push(buildPublicFieldInitLoose(cloneNode(ref), prop));
74171 break;
74172
74173 case isStatic && isPublic && isField && !setPublicClassFields:
74174 needsClassRef = true;
74175 staticNodes.push(buildPublicFieldInitSpec(cloneNode(ref), prop, state));
74176 break;
74177
74178 case isInstance && isPrivate && isField && privateFieldsAsProperties:
74179 instanceNodes.push(buildPrivateFieldInitLoose(thisExpression(), prop, privateNamesMap));
74180 break;
74181
74182 case isInstance && isPrivate && isField && !privateFieldsAsProperties:
74183 instanceNodes.push(buildPrivateInstanceFieldInitSpec(thisExpression(), prop, privateNamesMap));
74184 break;
74185
74186 case isInstance && isPrivate && isMethod && privateFieldsAsProperties:
74187 instanceNodes.unshift(buildPrivateMethodInitLoose(thisExpression(), prop, privateNamesMap));
74188 pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties));
74189 break;
74190
74191 case isInstance && isPrivate && isMethod && !privateFieldsAsProperties:
74192 instanceNodes.unshift(buildPrivateInstanceMethodInitSpec(thisExpression(), prop, privateNamesMap));
74193 pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties));
74194 break;
74195
74196 case isStatic && isPrivate && isMethod && !privateFieldsAsProperties:
74197 needsClassRef = true;
74198 staticNodes.unshift(buildPrivateStaticFieldInitSpec(prop, privateNamesMap));
74199 pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties));
74200 break;
74201
74202 case isStatic && isPrivate && isMethod && privateFieldsAsProperties:
74203 needsClassRef = true;
74204 staticNodes.unshift(buildPrivateStaticMethodInitLoose(cloneNode(ref), prop, state, privateNamesMap));
74205 pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties));
74206 break;
74207
74208 case isInstance && isPublic && isField && setPublicClassFields:
74209 instanceNodes.push(buildPublicFieldInitLoose(thisExpression(), prop));
74210 break;
74211
74212 case isInstance && isPublic && isField && !setPublicClassFields:
74213 instanceNodes.push(buildPublicFieldInitSpec(thisExpression(), prop, state));
74214 break;
74215
74216 default:
74217 throw new Error("Unreachable.");
74218 }
74219 }
74220
74221 return {
74222 staticNodes: staticNodes.filter(Boolean),
74223 instanceNodes: instanceNodes.filter(Boolean),
74224 pureStaticNodes: pureStaticNodes.filter(Boolean),
74225 wrapClass: function wrapClass(path) {
74226 for (var _iterator5 = _createForOfIteratorHelperLoose(props), _step5; !(_step5 = _iterator5()).done;) {
74227 var prop = _step5.value;
74228 prop.remove();
74229 }
74230
74231 if (injectSuperRef) {
74232 path.scope.push({
74233 id: cloneNode(injectSuperRef)
74234 });
74235 path.set("superClass", assignmentExpression("=", injectSuperRef, path.node.superClass));
74236 }
74237
74238 if (!needsClassRef) return path;
74239
74240 if (path.isClassExpression()) {
74241 path.scope.push({
74242 id: ref
74243 });
74244 path.replaceWith(assignmentExpression("=", cloneNode(ref), path.node));
74245 } else if (!path.node.id) {
74246 path.node.id = ref;
74247 }
74248
74249 return path;
74250 }
74251 };
74252 }
74253
74254 var _templateObject$i, _templateObject2$8, _templateObject3$7, _templateObject4$3;
74255 function hasOwnDecorators(node) {
74256 return !!(node.decorators && node.decorators.length);
74257 }
74258 function hasDecorators(node) {
74259 return hasOwnDecorators(node) || node.body.body.some(hasOwnDecorators);
74260 }
74261
74262 function prop(key, value) {
74263 if (!value) return null;
74264 return objectProperty(identifier(key), value);
74265 }
74266
74267 function method(key, body) {
74268 return objectMethod("method", identifier(key), [], blockStatement(body));
74269 }
74270
74271 function takeDecorators(node) {
74272 var result;
74273
74274 if (node.decorators && node.decorators.length > 0) {
74275 result = arrayExpression(node.decorators.map(function (decorator) {
74276 return decorator.expression;
74277 }));
74278 }
74279
74280 node.decorators = undefined;
74281 return result;
74282 }
74283
74284 function getKey(node) {
74285 if (node.computed) {
74286 return node.key;
74287 } else if (isIdentifier(node.key)) {
74288 return stringLiteral(node.key.name);
74289 } else {
74290 return stringLiteral(String(node.key.value));
74291 }
74292 }
74293
74294 function extractElementDescriptor(classRef, superRef, path) {
74295 var node = path.node,
74296 scope = path.scope;
74297 var isMethod = path.isClassMethod();
74298
74299 if (path.isPrivate()) {
74300 throw path.buildCodeFrameError("Private " + (isMethod ? "methods" : "fields") + " in decorated classes are not supported yet.");
74301 }
74302
74303 new ReplaceSupers({
74304 methodPath: path,
74305 objectRef: classRef,
74306 superRef: superRef,
74307 file: this,
74308 refToPreserve: classRef
74309 }).replace();
74310 var properties = [prop("kind", stringLiteral(isMethod ? node.kind : "field")), prop("decorators", takeDecorators(node)), prop("static", node["static"] && booleanLiteral(true)), prop("key", getKey(node))].filter(Boolean);
74311
74312 if (isMethod) {
74313 var id = node.computed ? null : node.key;
74314 toExpression(node);
74315 properties.push(prop("value", nameFunction({
74316 node: node,
74317 id: id,
74318 scope: scope
74319 }) || node));
74320 } else if (node.value) {
74321 properties.push(method("value", template$2.statements.ast(_templateObject$i || (_templateObject$i = _taggedTemplateLiteralLoose(["return ", ""])), node.value)));
74322 } else {
74323 properties.push(prop("value", scope.buildUndefinedNode()));
74324 }
74325
74326 path.remove();
74327 return objectExpression(properties);
74328 }
74329
74330 function addDecorateHelper(file) {
74331 try {
74332 return file.addHelper("decorate");
74333 } catch (err) {
74334 if (err.code === "BABEL_HELPER_UNKNOWN") {
74335 err.message += "\n '@babel/plugin-transform-decorators' in non-legacy mode" + " requires '@babel/core' version ^7.0.2 and you appear to be using" + " an older version.";
74336 }
74337
74338 throw err;
74339 }
74340 }
74341
74342 function buildDecoratedClass(ref, path, elements, file) {
74343 var node = path.node,
74344 scope = path.scope;
74345 var initializeId = scope.generateUidIdentifier("initialize");
74346 var isDeclaration = node.id && path.isDeclaration();
74347 var isStrict = path.isInStrictMode();
74348 var superClass = node.superClass;
74349 node.type = "ClassDeclaration";
74350 if (!node.id) node.id = cloneNode(ref);
74351 var superId;
74352
74353 if (superClass) {
74354 superId = scope.generateUidIdentifierBasedOnNode(node.superClass, "super");
74355 node.superClass = superId;
74356 }
74357
74358 var classDecorators = takeDecorators(node);
74359 var definitions = arrayExpression(elements.filter(function (element) {
74360 return !element.node["abstract"];
74361 }).map(extractElementDescriptor.bind(file, node.id, superId)));
74362 var wrapperCall = template$2.expression.ast(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteralLoose(["\n ", "(\n ", ",\n function (", ", ", ") {\n ", "\n return { F: ", ", d: ", " };\n },\n ", "\n )\n "])), addDecorateHelper(file), classDecorators || nullLiteral(), initializeId, superClass ? cloneNode(superId) : null, node, cloneNode(node.id), definitions, superClass);
74363
74364 if (!isStrict) {
74365 wrapperCall.arguments[1].body.directives.push(directive(directiveLiteral("use strict")));
74366 }
74367
74368 var replacement = wrapperCall;
74369 var classPathDesc = "arguments.1.body.body.0";
74370
74371 if (isDeclaration) {
74372 replacement = template$2.statement.ast(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteralLoose(["let ", " = ", ""])), ref, wrapperCall);
74373 classPathDesc = "declarations.0.init." + classPathDesc;
74374 }
74375
74376 return {
74377 instanceNodes: [template$2.statement.ast(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteralLoose(["", "(this)"])), cloneNode(initializeId))],
74378 wrapClass: function wrapClass(path) {
74379 path.replaceWith(replacement);
74380 return path.get(classPathDesc);
74381 }
74382 };
74383 }
74384
74385 var _templateObject$h;
74386 var findBareSupers = traverse.visitors.merge([{
74387 Super: function Super(path) {
74388 var node = path.node,
74389 parentPath = path.parentPath;
74390
74391 if (parentPath.isCallExpression({
74392 callee: node
74393 })) {
74394 this.push(parentPath);
74395 }
74396 }
74397 }, environmentVisitor]);
74398 var referenceVisitor = {
74399 "TSTypeAnnotation|TypeAnnotation": function TSTypeAnnotationTypeAnnotation(path) {
74400 path.skip();
74401 },
74402 ReferencedIdentifier: function ReferencedIdentifier(path) {
74403 if (this.scope.hasOwnBinding(path.node.name)) {
74404 this.scope.rename(path.node.name);
74405 path.skip();
74406 }
74407 }
74408 };
74409
74410 function handleClassTDZ(path, state) {
74411 if (state.classBinding && state.classBinding === path.scope.getBinding(path.node.name)) {
74412 var classNameTDZError = state.file.addHelper("classNameTDZError");
74413 var throwNode = callExpression(classNameTDZError, [stringLiteral(path.node.name)]);
74414 path.replaceWith(sequenceExpression([throwNode, path.node]));
74415 path.skip();
74416 }
74417 }
74418
74419 var classFieldDefinitionEvaluationTDZVisitor = {
74420 ReferencedIdentifier: handleClassTDZ
74421 };
74422 function injectInitialization(path, constructor, nodes, renamer) {
74423 if (!nodes.length) return;
74424 var isDerived = !!path.node.superClass;
74425
74426 if (!constructor) {
74427 var newConstructor = classMethod("constructor", identifier("constructor"), [], blockStatement([]));
74428
74429 if (isDerived) {
74430 newConstructor.params = [restElement(identifier("args"))];
74431 newConstructor.body.body.push(template$2.statement.ast(_templateObject$h || (_templateObject$h = _taggedTemplateLiteralLoose(["super(...args)"]))));
74432 }
74433
74434 var _path$get$unshiftCont = path.get("body").unshiftContainer("body", newConstructor);
74435
74436 var _path$get$unshiftCont2 = _slicedToArray$2(_path$get$unshiftCont, 1);
74437
74438 constructor = _path$get$unshiftCont2[0];
74439 }
74440
74441 if (renamer) {
74442 renamer(referenceVisitor, {
74443 scope: constructor.scope
74444 });
74445 }
74446
74447 if (isDerived) {
74448 var bareSupers = [];
74449 constructor.traverse(findBareSupers, bareSupers);
74450 var isFirst = true;
74451
74452 for (var _i = 0, _bareSupers = bareSupers; _i < _bareSupers.length; _i++) {
74453 var bareSuper = _bareSupers[_i];
74454
74455 if (isFirst) {
74456 bareSuper.insertAfter(nodes);
74457 isFirst = false;
74458 } else {
74459 bareSuper.insertAfter(nodes.map(function (n) {
74460 return cloneNode(n);
74461 }));
74462 }
74463 }
74464 } else {
74465 constructor.get("body").unshiftContainer("body", nodes);
74466 }
74467 }
74468 function extractComputedKeys(ref, path, computedPaths, file) {
74469 var declarations = [];
74470 var state = {
74471 classBinding: path.node.id && path.scope.getBinding(path.node.id.name),
74472 file: file
74473 };
74474
74475 for (var _iterator = _createForOfIteratorHelperLoose(computedPaths), _step; !(_step = _iterator()).done;) {
74476 var computedPath = _step.value;
74477 var computedKey = computedPath.get("key");
74478
74479 if (computedKey.isReferencedIdentifier()) {
74480 handleClassTDZ(computedKey, state);
74481 } else {
74482 computedKey.traverse(classFieldDefinitionEvaluationTDZVisitor, state);
74483 }
74484
74485 var computedNode = computedPath.node;
74486
74487 if (!computedKey.isConstantExpression()) {
74488 var ident = path.scope.generateUidIdentifierBasedOnNode(computedNode.key);
74489 path.scope.push({
74490 id: ident,
74491 kind: "let"
74492 });
74493 declarations.push(expressionStatement(assignmentExpression("=", cloneNode(ident), computedNode.key)));
74494 computedNode.key = cloneNode(ident);
74495 }
74496 }
74497
74498 return declarations;
74499 }
74500
74501 var FEATURES$1 = Object.freeze({
74502 fields: 1 << 1,
74503 privateMethods: 1 << 2,
74504 decorators: 1 << 3,
74505 privateIn: 1 << 4,
74506 staticBlocks: 1 << 5
74507 });
74508 var featuresSameLoose = new Map([[FEATURES$1.fields, "@babel/plugin-proposal-class-properties"], [FEATURES$1.privateMethods, "@babel/plugin-proposal-private-methods"], [FEATURES$1.privateIn, "@babel/plugin-proposal-private-property-in-object"]]);
74509 var featuresKey$1 = "@babel/plugin-class-features/featuresKey";
74510 var looseKey = "@babel/plugin-class-features/looseKey";
74511 var looseLowPriorityKey = "@babel/plugin-class-features/looseLowPriorityKey/#__internal__@babel/preset-env__please-overwrite-loose-instead-of-throwing";
74512 function enableFeature$1(file, feature, loose) {
74513 if (!hasFeature$1(file, feature) || canIgnoreLoose(file, feature)) {
74514 file.set(featuresKey$1, file.get(featuresKey$1) | feature);
74515
74516 if (loose === "#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-an-error") {
74517 setLoose(file, feature, true);
74518 file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) | feature);
74519 } else if (loose === "#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error") {
74520 setLoose(file, feature, false);
74521 file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) | feature);
74522 } else {
74523 setLoose(file, feature, loose);
74524 }
74525 }
74526
74527 var resolvedLoose;
74528 var higherPriorityPluginName;
74529
74530 for (var _iterator = _createForOfIteratorHelperLoose(featuresSameLoose), _step; !(_step = _iterator()).done;) {
74531 var _step$value = _slicedToArray$2(_step.value, 2),
74532 _mask = _step$value[0],
74533 _name = _step$value[1];
74534
74535 if (!hasFeature$1(file, _mask)) continue;
74536
74537 var _loose = isLoose(file, _mask);
74538
74539 if (canIgnoreLoose(file, _mask)) {
74540 continue;
74541 } else if (resolvedLoose === !_loose) {
74542 throw new Error("'loose' mode configuration must be the same for @babel/plugin-proposal-class-properties, " + "@babel/plugin-proposal-private-methods and " + "@babel/plugin-proposal-private-property-in-object (when they are enabled).");
74543 } else {
74544 resolvedLoose = _loose;
74545 higherPriorityPluginName = _name;
74546 }
74547 }
74548
74549 if (resolvedLoose !== undefined) {
74550 for (var _iterator2 = _createForOfIteratorHelperLoose(featuresSameLoose), _step2; !(_step2 = _iterator2()).done;) {
74551 var _step2$value = _slicedToArray$2(_step2.value, 2),
74552 mask = _step2$value[0],
74553 name = _step2$value[1];
74554
74555 if (hasFeature$1(file, mask) && isLoose(file, mask) !== resolvedLoose) {
74556 setLoose(file, mask, resolvedLoose);
74557 console.warn("Though the \"loose\" option was set to \"" + !resolvedLoose + "\" in your @babel/preset-env " + ("config, it will not be used for " + name + " since the \"loose\" mode option was set to ") + ("\"" + resolvedLoose + "\" for " + higherPriorityPluginName + ".\nThe \"loose\" option must be the ") + "same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods " + "and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can " + "silence this warning by explicitly adding\n" + ("\t[\"" + name + "\", { \"loose\": " + resolvedLoose + " }]\n") + "to the \"plugins\" section of your Babel config.");
74558 }
74559 }
74560 }
74561 }
74562
74563 function hasFeature$1(file, feature) {
74564 return !!(file.get(featuresKey$1) & feature);
74565 }
74566
74567 function isLoose(file, feature) {
74568 return !!(file.get(looseKey) & feature);
74569 }
74570
74571 function setLoose(file, feature, loose) {
74572 if (loose) file.set(looseKey, file.get(looseKey) | feature);else file.set(looseKey, file.get(looseKey) & ~feature);
74573 file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) & ~feature);
74574 }
74575
74576 function canIgnoreLoose(file, feature) {
74577 return !!(file.get(looseLowPriorityKey) & feature);
74578 }
74579
74580 function verifyUsedFeatures(path, file) {
74581 if (hasOwnDecorators(path.node)) {
74582 if (!hasFeature$1(file, FEATURES$1.decorators)) {
74583 throw path.buildCodeFrameError("Decorators are not enabled." + "\nIf you are using " + '["@babel/plugin-proposal-decorators", { "legacy": true }], ' + 'make sure it comes *before* "@babel/plugin-proposal-class-properties" ' + "and enable loose mode, like so:\n" + '\t["@babel/plugin-proposal-decorators", { "legacy": true }]\n' + '\t["@babel/plugin-proposal-class-properties", { "loose": true }]');
74584 }
74585
74586 if (path.isPrivate()) {
74587 throw path.buildCodeFrameError("Private " + (path.isClassMethod() ? "methods" : "fields") + " in decorated classes are not supported yet.");
74588 }
74589 }
74590
74591 if (path.isPrivateMethod != null && path.isPrivateMethod()) {
74592 if (!hasFeature$1(file, FEATURES$1.privateMethods)) {
74593 throw path.buildCodeFrameError("Class private methods are not enabled.");
74594 }
74595 }
74596
74597 if (path.isPrivateName() && path.parentPath.isBinaryExpression({
74598 operator: "in",
74599 left: path.node
74600 })) {
74601 if (!hasFeature$1(file, FEATURES$1.privateIn)) {
74602 throw path.buildCodeFrameError("Private property in checks are not enabled.");
74603 }
74604 }
74605
74606 if (path.isProperty()) {
74607 if (!hasFeature$1(file, FEATURES$1.fields)) {
74608 throw path.buildCodeFrameError("Class fields are not enabled.");
74609 }
74610 }
74611
74612 if (path.isStaticBlock != null && path.isStaticBlock()) {
74613 if (!hasFeature$1(file, FEATURES$1.staticBlocks)) {
74614 throw path.buildCodeFrameError("Static class blocks are not enabled. " + "Please add `@babel/plugin-proposal-class-static-block` to your configuration.");
74615 }
74616 }
74617 }
74618
74619 var version$2 = "7.14.8".split(".").reduce(function (v, x) {
74620 return v * 1e5 + +x;
74621 }, 0);
74622 var versionKey$1 = "@babel/plugin-class-features/version";
74623 function createClassFeaturePlugin(_ref) {
74624 var name = _ref.name,
74625 feature = _ref.feature,
74626 loose = _ref.loose,
74627 manipulateOptions = _ref.manipulateOptions,
74628 _ref$api = _ref.api,
74629 api = _ref$api === void 0 ? {
74630 assumption: function assumption() {}
74631 } : _ref$api;
74632 var setPublicClassFields = api.assumption("setPublicClassFields");
74633 var privateFieldsAsProperties = api.assumption("privateFieldsAsProperties");
74634 var constantSuper = api.assumption("constantSuper");
74635 var noDocumentAll = api.assumption("noDocumentAll");
74636
74637 if (loose === true) {
74638 var explicit = [];
74639
74640 if (setPublicClassFields !== undefined) {
74641 explicit.push("\"setPublicClassFields\"");
74642 }
74643
74644 if (privateFieldsAsProperties !== undefined) {
74645 explicit.push("\"privateFieldsAsProperties\"");
74646 }
74647
74648 if (explicit.length !== 0) {
74649 console.warn("[" + name + "]: You are using the \"loose: true\" option and you are" + (" explicitly setting a value for the " + explicit.join(" and ")) + (" assumption" + (explicit.length > 1 ? "s" : "") + ". The \"loose\" option") + " can cause incompatibilities with the other class features" + " plugins, so it's recommended that you replace it with the" + " following top-level option:\n" + "\t\"assumptions\": {\n" + "\t\t\"setPublicClassFields\": true,\n" + "\t\t\"privateFieldsAsProperties\": true\n" + "\t}");
74650 }
74651 }
74652
74653 return {
74654 name: name,
74655 manipulateOptions: manipulateOptions,
74656 pre: function pre() {
74657 enableFeature$1(this.file, feature, loose);
74658
74659 if (!this.file.get(versionKey$1) || this.file.get(versionKey$1) < version$2) {
74660 this.file.set(versionKey$1, version$2);
74661 }
74662 },
74663 visitor: {
74664 Class: function Class(path, state) {
74665 if (this.file.get(versionKey$1) !== version$2) return;
74666 verifyUsedFeatures(path, this.file);
74667 var loose = isLoose(this.file, feature);
74668 var constructor;
74669 var isDecorated = hasOwnDecorators(path.node);
74670 var props = [];
74671 var elements = [];
74672 var computedPaths = [];
74673 var privateNames = new Set();
74674 var body = path.get("body");
74675
74676 for (var _iterator = _createForOfIteratorHelperLoose(body.get("body")), _step; !(_step = _iterator()).done;) {
74677 var _path = _step.value;
74678 verifyUsedFeatures(_path, this.file);
74679
74680 if (_path.node.computed) {
74681 computedPaths.push(_path);
74682 }
74683
74684 if (_path.isPrivate()) {
74685 var _name = _path.node.key.id.name;
74686 var getName = "get " + _name;
74687 var setName = "set " + _name;
74688
74689 if (_path.node.kind === "get") {
74690 if (privateNames.has(getName) || privateNames.has(_name) && !privateNames.has(setName)) {
74691 throw _path.buildCodeFrameError("Duplicate private field");
74692 }
74693
74694 privateNames.add(getName).add(_name);
74695 } else if (_path.node.kind === "set") {
74696 if (privateNames.has(setName) || privateNames.has(_name) && !privateNames.has(getName)) {
74697 throw _path.buildCodeFrameError("Duplicate private field");
74698 }
74699
74700 privateNames.add(setName).add(_name);
74701 } else {
74702 if (privateNames.has(_name) && !privateNames.has(getName) && !privateNames.has(setName) || privateNames.has(_name) && (privateNames.has(getName) || privateNames.has(setName))) {
74703 throw _path.buildCodeFrameError("Duplicate private field");
74704 }
74705
74706 privateNames.add(_name);
74707 }
74708 }
74709
74710 if (_path.isClassMethod({
74711 kind: "constructor"
74712 })) {
74713 constructor = _path;
74714 } else {
74715 elements.push(_path);
74716
74717 if (_path.isProperty() || _path.isPrivate() || _path.isStaticBlock != null && _path.isStaticBlock()) {
74718 props.push(_path);
74719 }
74720 }
74721
74722 if (!isDecorated) isDecorated = hasOwnDecorators(_path.node);
74723 }
74724
74725 if (!props.length && !isDecorated) return;
74726 var innerBinding = path.node.id;
74727 var ref;
74728
74729 if (!innerBinding || path.isClassExpression()) {
74730 nameFunction(path);
74731 ref = path.scope.generateUidIdentifier("class");
74732 } else {
74733 ref = cloneNode(path.node.id);
74734 }
74735
74736 var privateNamesMap = buildPrivateNamesMap(props);
74737 var privateNamesNodes = buildPrivateNamesNodes(privateNamesMap, privateFieldsAsProperties != null ? privateFieldsAsProperties : loose, state);
74738 transformPrivateNamesUsage(ref, path, privateNamesMap, {
74739 privateFieldsAsProperties: privateFieldsAsProperties != null ? privateFieldsAsProperties : loose,
74740 noDocumentAll: noDocumentAll
74741 }, state);
74742 var keysNodes, staticNodes, pureStaticNodes, instanceNodes, wrapClass;
74743
74744 if (isDecorated) {
74745 staticNodes = pureStaticNodes = keysNodes = [];
74746
74747 var _buildDecoratedClass = buildDecoratedClass(ref, path, elements, this.file);
74748
74749 instanceNodes = _buildDecoratedClass.instanceNodes;
74750 wrapClass = _buildDecoratedClass.wrapClass;
74751 } else {
74752 keysNodes = extractComputedKeys(ref, path, computedPaths, this.file);
74753
74754 var _buildFieldsInitNodes = buildFieldsInitNodes(ref, path.node.superClass, props, privateNamesMap, state, setPublicClassFields != null ? setPublicClassFields : loose, privateFieldsAsProperties != null ? privateFieldsAsProperties : loose, constantSuper != null ? constantSuper : loose, innerBinding);
74755
74756 staticNodes = _buildFieldsInitNodes.staticNodes;
74757 pureStaticNodes = _buildFieldsInitNodes.pureStaticNodes;
74758 instanceNodes = _buildFieldsInitNodes.instanceNodes;
74759 wrapClass = _buildFieldsInitNodes.wrapClass;
74760 }
74761
74762 if (instanceNodes.length > 0) {
74763 injectInitialization(path, constructor, instanceNodes, function (referenceVisitor, state) {
74764 if (isDecorated) return;
74765
74766 for (var _iterator2 = _createForOfIteratorHelperLoose(props), _step2; !(_step2 = _iterator2()).done;) {
74767 var prop = _step2.value;
74768 if (prop.node["static"]) continue;
74769 prop.traverse(referenceVisitor, state);
74770 }
74771 });
74772 }
74773
74774 path = wrapClass(path);
74775 path.insertBefore([].concat(_toConsumableArray(privateNamesNodes), _toConsumableArray(keysNodes)));
74776
74777 if (staticNodes.length > 0) {
74778 path.insertAfter(staticNodes);
74779 }
74780
74781 if (pureStaticNodes.length > 0) {
74782 path.find(function (parent) {
74783 return parent.isStatement() || parent.isDeclaration();
74784 }).insertAfter(pureStaticNodes);
74785 }
74786 },
74787 PrivateName: function PrivateName(path) {
74788 if (this.file.get(versionKey$1) !== version$2 || path.parentPath.isPrivate({
74789 key: path.node
74790 })) {
74791 return;
74792 }
74793
74794 throw path.buildCodeFrameError("Unknown PrivateName \"" + path + "\"");
74795 },
74796 ExportDefaultDeclaration: function ExportDefaultDeclaration(path) {
74797 if (this.file.get(versionKey$1) !== version$2) return;
74798 var decl = path.get("declaration");
74799
74800 if (decl.isClassDeclaration() && hasDecorators(decl.node)) {
74801 if (decl.node.id) {
74802 splitExportDeclaration(path);
74803 } else {
74804 decl.node.type = "ClassExpression";
74805 }
74806 }
74807 }
74808 }
74809 };
74810 }
74811
74812 var _proposalClassProperties = declare(function (api, options) {
74813 api.assertVersion(7);
74814 return createClassFeaturePlugin({
74815 name: "proposal-class-properties",
74816 api: api,
74817 feature: FEATURES$1.fields,
74818 loose: options.loose,
74819 manipulateOptions: function manipulateOptions(opts, parserOpts) {
74820 parserOpts.plugins.push("classProperties", "classPrivateProperties");
74821 }
74822 });
74823 });
74824
74825 var _templateObject$g;
74826
74827 function generateUid(scope, denyList) {
74828 var name = "";
74829 var uid;
74830 var i = 1;
74831
74832 do {
74833 uid = scope._generateUid(name, i);
74834 i++;
74835 } while (denyList.has(uid));
74836
74837 return uid;
74838 }
74839
74840 var _proposalClassStaticBlock = declare(function (_ref) {
74841 var t = _ref.types,
74842 template = _ref.template,
74843 assertVersion = _ref.assertVersion;
74844 assertVersion("^7.12.0");
74845 return {
74846 name: "proposal-class-static-block",
74847 inherits: _syntaxClassStaticBlock,
74848 pre: function pre() {
74849 enableFeature$1(this.file, FEATURES$1.staticBlocks, false);
74850 },
74851 visitor: {
74852 ClassBody: function ClassBody(classBody) {
74853 var scope = classBody.scope;
74854 var privateNames = new Set();
74855 var body = classBody.get("body");
74856
74857 for (var _iterator = _createForOfIteratorHelperLoose(body), _step; !(_step = _iterator()).done;) {
74858 var path = _step.value;
74859
74860 if (path.isPrivate()) {
74861 privateNames.add(path.get("key.id").node.name);
74862 }
74863 }
74864
74865 for (var _iterator2 = _createForOfIteratorHelperLoose(body), _step2; !(_step2 = _iterator2()).done;) {
74866 var _path = _step2.value;
74867 if (!_path.isStaticBlock()) continue;
74868 var staticBlockPrivateId = generateUid(scope, privateNames);
74869 privateNames.add(staticBlockPrivateId);
74870 var staticBlockRef = t.privateName(t.identifier(staticBlockPrivateId));
74871
74872 _path.replaceWith(t.classPrivateProperty(staticBlockRef, template.expression.ast(_templateObject$g || (_templateObject$g = _taggedTemplateLiteralLoose(["(() => { ", " })()"])), _path.node.body), [], true));
74873 }
74874 }
74875 }
74876 };
74877 });
74878
74879 var buildClassDecorator = template$2("\n DECORATOR(CLASS_REF = INNER) || CLASS_REF;\n");
74880 var buildClassPrototype = template$2("\n CLASS_REF.prototype;\n");
74881 var buildGetDescriptor = template$2("\n Object.getOwnPropertyDescriptor(TARGET, PROPERTY);\n");
74882 var buildGetObjectInitializer = template$2("\n (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\n enumerable: true,\n configurable: true,\n writable: true,\n initializer: function(){\n return TEMP;\n }\n })\n");
74883 var WARNING_CALLS = new WeakSet();
74884
74885 function applyEnsureOrdering(path) {
74886 var decorators = (path.isClass() ? [path].concat(path.get("body.body")) : path.get("properties")).reduce(function (acc, prop) {
74887 return acc.concat(prop.node.decorators || []);
74888 }, []);
74889 var identDecorators = decorators.filter(function (decorator) {
74890 return !isIdentifier(decorator.expression);
74891 });
74892 if (identDecorators.length === 0) return;
74893 return sequenceExpression(identDecorators.map(function (decorator) {
74894 var expression = decorator.expression;
74895 var id = decorator.expression = path.scope.generateDeclaredUidIdentifier("dec");
74896 return assignmentExpression("=", id, expression);
74897 }).concat([path.node]));
74898 }
74899
74900 function applyClassDecorators(classPath) {
74901 if (!hasClassDecorators(classPath.node)) return;
74902 var decorators = classPath.node.decorators || [];
74903 classPath.node.decorators = null;
74904 var name = classPath.scope.generateDeclaredUidIdentifier("class");
74905 return decorators.map(function (dec) {
74906 return dec.expression;
74907 }).reverse().reduce(function (acc, decorator) {
74908 return buildClassDecorator({
74909 CLASS_REF: cloneNode(name),
74910 DECORATOR: cloneNode(decorator),
74911 INNER: acc
74912 }).expression;
74913 }, classPath.node);
74914 }
74915
74916 function hasClassDecorators(classNode) {
74917 return !!(classNode.decorators && classNode.decorators.length);
74918 }
74919
74920 function applyMethodDecorators(path, state) {
74921 if (!hasMethodDecorators(path.node.body.body)) return;
74922 return applyTargetDecorators(path, state, path.node.body.body);
74923 }
74924
74925 function hasMethodDecorators(body) {
74926 return body.some(function (node) {
74927 var _node$decorators;
74928
74929 return (_node$decorators = node.decorators) == null ? void 0 : _node$decorators.length;
74930 });
74931 }
74932
74933 function applyObjectDecorators(path, state) {
74934 if (!hasMethodDecorators(path.node.properties)) return;
74935 return applyTargetDecorators(path, state, path.node.properties);
74936 }
74937
74938 function applyTargetDecorators(path, state, decoratedProps) {
74939 var name = path.scope.generateDeclaredUidIdentifier(path.isClass() ? "class" : "obj");
74940 var exprs = decoratedProps.reduce(function (acc, node) {
74941 var decorators = node.decorators || [];
74942 node.decorators = null;
74943 if (decorators.length === 0) return acc;
74944
74945 if (node.computed) {
74946 throw path.buildCodeFrameError("Computed method/property decorators are not yet supported.");
74947 }
74948
74949 var property = isLiteral(node.key) ? node.key : stringLiteral(node.key.name);
74950 var target = path.isClass() && !node["static"] ? buildClassPrototype({
74951 CLASS_REF: name
74952 }).expression : name;
74953
74954 if (isClassProperty(node, {
74955 "static": false
74956 })) {
74957 var descriptor = path.scope.generateDeclaredUidIdentifier("descriptor");
74958 var initializer = node.value ? functionExpression(null, [], blockStatement([returnStatement(node.value)])) : nullLiteral();
74959 node.value = callExpression(state.addHelper("initializerWarningHelper"), [descriptor, thisExpression()]);
74960 WARNING_CALLS.add(node.value);
74961 acc = acc.concat([assignmentExpression("=", cloneNode(descriptor), callExpression(state.addHelper("applyDecoratedDescriptor"), [cloneNode(target), cloneNode(property), arrayExpression(decorators.map(function (dec) {
74962 return cloneNode(dec.expression);
74963 })), objectExpression([objectProperty(identifier("configurable"), booleanLiteral(true)), objectProperty(identifier("enumerable"), booleanLiteral(true)), objectProperty(identifier("writable"), booleanLiteral(true)), objectProperty(identifier("initializer"), initializer)])]))]);
74964 } else {
74965 acc = acc.concat(callExpression(state.addHelper("applyDecoratedDescriptor"), [cloneNode(target), cloneNode(property), arrayExpression(decorators.map(function (dec) {
74966 return cloneNode(dec.expression);
74967 })), isObjectProperty(node) || isClassProperty(node, {
74968 "static": true
74969 }) ? buildGetObjectInitializer({
74970 TEMP: path.scope.generateDeclaredUidIdentifier("init"),
74971 TARGET: cloneNode(target),
74972 PROPERTY: cloneNode(property)
74973 }).expression : buildGetDescriptor({
74974 TARGET: cloneNode(target),
74975 PROPERTY: cloneNode(property)
74976 }).expression, cloneNode(target)]));
74977 }
74978
74979 return acc;
74980 }, []);
74981 return sequenceExpression([assignmentExpression("=", cloneNode(name), path.node), sequenceExpression(exprs), cloneNode(name)]);
74982 }
74983
74984 function decoratedClassToExpression(_ref) {
74985 var node = _ref.node,
74986 scope = _ref.scope;
74987
74988 if (!hasClassDecorators(node) && !hasMethodDecorators(node.body.body)) {
74989 return;
74990 }
74991
74992 var ref = node.id ? cloneNode(node.id) : scope.generateUidIdentifier("class");
74993 return variableDeclaration("let", [variableDeclarator(ref, toExpression(node))]);
74994 }
74995
74996 var legacyVisitor = {
74997 ExportDefaultDeclaration: function ExportDefaultDeclaration(path) {
74998 var decl = path.get("declaration");
74999 if (!decl.isClassDeclaration()) return;
75000 var replacement = decoratedClassToExpression(decl);
75001
75002 if (replacement) {
75003 var _path$replaceWithMult = path.replaceWithMultiple([replacement, exportNamedDeclaration(null, [exportSpecifier(cloneNode(replacement.declarations[0].id), identifier("default"))])]),
75004 _path$replaceWithMult2 = _slicedToArray$2(_path$replaceWithMult, 1),
75005 varDeclPath = _path$replaceWithMult2[0];
75006
75007 if (!decl.node.id) {
75008 path.scope.registerDeclaration(varDeclPath);
75009 }
75010 }
75011 },
75012 ClassDeclaration: function ClassDeclaration(path) {
75013 var replacement = decoratedClassToExpression(path);
75014
75015 if (replacement) {
75016 path.replaceWith(replacement);
75017 }
75018 },
75019 ClassExpression: function ClassExpression(path, state) {
75020 var decoratedClass = applyEnsureOrdering(path) || applyClassDecorators(path) || applyMethodDecorators(path, state);
75021 if (decoratedClass) path.replaceWith(decoratedClass);
75022 },
75023 ObjectExpression: function ObjectExpression(path, state) {
75024 var decoratedObject = applyEnsureOrdering(path) || applyObjectDecorators(path, state);
75025 if (decoratedObject) path.replaceWith(decoratedObject);
75026 },
75027 AssignmentExpression: function AssignmentExpression(path, state) {
75028 if (!WARNING_CALLS.has(path.node.right)) return;
75029 path.replaceWith(callExpression(state.addHelper("initializerDefineProperty"), [cloneNode(path.get("left.object").node), stringLiteral(path.get("left.property").node.name || path.get("left.property").node.value), cloneNode(path.get("right.arguments")[0].node), cloneNode(path.get("right.arguments")[1].node)]));
75030 },
75031 CallExpression: function CallExpression(path, state) {
75032 if (path.node.arguments.length !== 3) return;
75033 if (!WARNING_CALLS.has(path.node.arguments[2])) return;
75034
75035 if (path.node.callee.name !== state.addHelper("defineProperty").name) {
75036 return;
75037 }
75038
75039 path.replaceWith(callExpression(state.addHelper("initializerDefineProperty"), [cloneNode(path.get("arguments")[0].node), cloneNode(path.get("arguments")[1].node), cloneNode(path.get("arguments.2.arguments")[0].node), cloneNode(path.get("arguments.2.arguments")[1].node)]));
75040 }
75041 };
75042
75043 var proposalDecorators = declare(function (api, options) {
75044 api.assertVersion(7);
75045 var _options$legacy = options.legacy,
75046 legacy = _options$legacy === void 0 ? false : _options$legacy;
75047
75048 if (typeof legacy !== "boolean") {
75049 throw new Error("'legacy' must be a boolean.");
75050 }
75051
75052 var decoratorsBeforeExport = options.decoratorsBeforeExport;
75053
75054 if (decoratorsBeforeExport === undefined) {
75055 if (!legacy) {
75056 throw new Error("The decorators plugin requires a 'decoratorsBeforeExport' option," + " whose value must be a boolean. If you want to use the legacy" + " decorators semantics, you can set the 'legacy: true' option.");
75057 }
75058 } else {
75059 if (legacy) {
75060 throw new Error("'decoratorsBeforeExport' can't be used with legacy decorators.");
75061 }
75062
75063 if (typeof decoratorsBeforeExport !== "boolean") {
75064 throw new Error("'decoratorsBeforeExport' must be a boolean.");
75065 }
75066 }
75067
75068 if (legacy) {
75069 return {
75070 name: "proposal-decorators",
75071 inherits: syntaxDecorators,
75072 manipulateOptions: function manipulateOptions(_ref) {
75073 var generatorOpts = _ref.generatorOpts;
75074 generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;
75075 },
75076 visitor: legacyVisitor
75077 };
75078 }
75079
75080 return createClassFeaturePlugin({
75081 name: "proposal-decorators",
75082 api: api,
75083 feature: FEATURES$1.decorators,
75084 manipulateOptions: function manipulateOptions(_ref2) {
75085 var generatorOpts = _ref2.generatorOpts,
75086 parserOpts = _ref2.parserOpts;
75087 parserOpts.plugins.push(["decorators", {
75088 decoratorsBeforeExport: decoratorsBeforeExport
75089 }]);
75090 generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;
75091 }
75092 });
75093 });
75094
75095 var proposalDoExpressions = declare(function (api) {
75096 api.assertVersion(7);
75097 return {
75098 name: "proposal-do-expressions",
75099 inherits: syntaxDoExpressions,
75100 visitor: {
75101 DoExpression: {
75102 exit: function exit(path) {
75103 var node = path.node;
75104
75105 if (node.async) {
75106 return;
75107 }
75108
75109 var body = node.body.body;
75110
75111 if (body.length) {
75112 path.replaceExpressionWithStatements(body);
75113 } else {
75114 path.replaceWith(path.scope.buildUndefinedNode());
75115 }
75116 }
75117 }
75118 }
75119 };
75120 });
75121
75122 var lib$k = createCommonjsModule(function (module, exports) {
75123
75124 Object.defineProperty(exports, "__esModule", {
75125 value: true
75126 });
75127 exports["default"] = void 0;
75128
75129 var _default = (0, _helperPluginUtils.declare)(function (api) {
75130 api.assertVersion(7);
75131 return {
75132 name: "syntax-dynamic-import",
75133 manipulateOptions: function manipulateOptions(opts, parserOpts) {
75134 parserOpts.plugins.push("dynamicImport");
75135 }
75136 };
75137 });
75138
75139 exports["default"] = _default;
75140 }, "/$$rollup_base$$/packages/babel-plugin-proposal-dynamic-import/node_modules/@babel/plugin-syntax-dynamic-import/lib");
75141
75142 var SUPPORTED_MODULES = ["commonjs", "amd", "systemjs"];
75143 var MODULES_NOT_FOUND = "@babel/plugin-proposal-dynamic-import depends on a modules\ntransform plugin. Supported plugins are:\n - @babel/plugin-transform-modules-commonjs ^7.4.0\n - @babel/plugin-transform-modules-amd ^7.4.0\n - @babel/plugin-transform-modules-systemjs ^7.4.0\n\nIf you are using Webpack or Rollup and thus don't want\nBabel to transpile your imports and exports, you can use\nthe @babel/plugin-syntax-dynamic-import plugin and let your\nbundler handle dynamic imports.\n";
75144 var _proposalDynamicImport = declare(function (api) {
75145 api.assertVersion(7);
75146 return {
75147 name: "proposal-dynamic-import",
75148 inherits: lib$k["default"],
75149 pre: function pre() {
75150 this.file.set("@babel/plugin-proposal-dynamic-import", "7.14.5");
75151 },
75152 visitor: {
75153 Program: function Program() {
75154 var modules = this.file.get("@babel/plugin-transform-modules-*");
75155
75156 if (!SUPPORTED_MODULES.includes(modules)) {
75157 throw new Error(MODULES_NOT_FOUND);
75158 }
75159 }
75160 }
75161 };
75162 });
75163
75164 var proposalExportDefaultFrom = declare(function (api) {
75165 api.assertVersion(7);
75166 return {
75167 name: "proposal-export-default-from",
75168 inherits: syntaxExportDefaultFrom,
75169 visitor: {
75170 ExportNamedDeclaration: function ExportNamedDeclaration(path) {
75171 var node = path.node,
75172 scope = path.scope;
75173 var specifiers = node.specifiers;
75174 if (!isExportDefaultSpecifier(specifiers[0])) return;
75175 var specifier = specifiers.shift();
75176 var exported = specifier.exported;
75177 var uid = scope.generateUidIdentifier(exported.name);
75178 var nodes = [importDeclaration([importDefaultSpecifier(uid)], cloneNode(node.source)), exportNamedDeclaration(null, [exportSpecifier(cloneNode(uid), exported)])];
75179
75180 if (specifiers.length >= 1) {
75181 nodes.push(node);
75182 }
75183
75184 var _path$replaceWithMult = path.replaceWithMultiple(nodes),
75185 _path$replaceWithMult2 = _slicedToArray$2(_path$replaceWithMult, 1),
75186 importDeclaration$1 = _path$replaceWithMult2[0];
75187
75188 path.scope.registerDeclaration(importDeclaration$1);
75189 }
75190 }
75191 };
75192 });
75193
75194 var lib$j = createCommonjsModule(function (module, exports) {
75195
75196 Object.defineProperty(exports, "__esModule", {
75197 value: true
75198 });
75199 exports["default"] = void 0;
75200
75201 var _default = (0, _helperPluginUtils.declare)(function (api) {
75202 api.assertVersion(7);
75203 return {
75204 name: "syntax-export-namespace-from",
75205 manipulateOptions: function manipulateOptions(opts, parserOpts) {
75206 parserOpts.plugins.push("exportNamespaceFrom");
75207 }
75208 };
75209 });
75210
75211 exports["default"] = _default;
75212 }, "/$$rollup_base$$/packages/babel-plugin-proposal-export-namespace-from/node_modules/@babel/plugin-syntax-export-namespace-from/lib");
75213
75214 var _proposalExportNamespaceFrom = declare(function (api) {
75215 api.assertVersion(7);
75216 return {
75217 name: "proposal-export-namespace-from",
75218 inherits: lib$j["default"],
75219 visitor: {
75220 ExportNamedDeclaration: function ExportNamedDeclaration(path) {
75221 var _exported$name;
75222
75223 var node = path.node,
75224 scope = path.scope;
75225 var specifiers = node.specifiers;
75226 var index = isExportDefaultSpecifier(specifiers[0]) ? 1 : 0;
75227 if (!isExportNamespaceSpecifier(specifiers[index])) return;
75228 var nodes = [];
75229
75230 if (index === 1) {
75231 nodes.push(exportNamedDeclaration(null, [specifiers.shift()], node.source));
75232 }
75233
75234 var specifier = specifiers.shift();
75235 var exported = specifier.exported;
75236 var uid = scope.generateUidIdentifier((_exported$name = exported.name) != null ? _exported$name : exported.value);
75237 nodes.push(importDeclaration([importNamespaceSpecifier(uid)], cloneNode(node.source)), exportNamedDeclaration(null, [exportSpecifier(cloneNode(uid), exported)]));
75238
75239 if (node.specifiers.length >= 1) {
75240 nodes.push(node);
75241 }
75242
75243 var _path$replaceWithMult = path.replaceWithMultiple(nodes),
75244 _path$replaceWithMult2 = _slicedToArray$2(_path$replaceWithMult, 1),
75245 importDeclaration$1 = _path$replaceWithMult2[0];
75246
75247 path.scope.registerDeclaration(importDeclaration$1);
75248 }
75249 }
75250 };
75251 });
75252
75253 var proposalFunctionBind = declare(function (api) {
75254 api.assertVersion(7);
75255
75256 function getTempId(scope) {
75257 var id = scope.path.getData("functionBind");
75258 if (id) return cloneNode(id);
75259 id = scope.generateDeclaredUidIdentifier("context");
75260 return scope.path.setData("functionBind", id);
75261 }
75262
75263 function getStaticContext(bind, scope) {
75264 var object = bind.object || bind.callee.object;
75265 return scope.isStatic(object) && (isSuper(object) ? thisExpression() : object);
75266 }
75267
75268 function inferBindContext(bind, scope) {
75269 var staticContext = getStaticContext(bind, scope);
75270 if (staticContext) return cloneNode(staticContext);
75271 var tempId = getTempId(scope);
75272
75273 if (bind.object) {
75274 bind.callee = sequenceExpression([assignmentExpression("=", tempId, bind.object), bind.callee]);
75275 } else {
75276 bind.callee.object = assignmentExpression("=", tempId, bind.callee.object);
75277 }
75278
75279 return cloneNode(tempId);
75280 }
75281
75282 return {
75283 name: "proposal-function-bind",
75284 inherits: syntaxFunctionBind,
75285 visitor: {
75286 CallExpression: function CallExpression(_ref) {
75287 var node = _ref.node,
75288 scope = _ref.scope;
75289 var bind = node.callee;
75290 if (!isBindExpression(bind)) return;
75291 var context = inferBindContext(bind, scope);
75292 node.callee = memberExpression(bind.callee, identifier("call"));
75293 node.arguments.unshift(context);
75294 },
75295 BindExpression: function BindExpression(path) {
75296 var node = path.node,
75297 scope = path.scope;
75298 var context = inferBindContext(node, scope);
75299 path.replaceWith(callExpression(memberExpression(node.callee, identifier("bind")), [context]));
75300 }
75301 }
75302 };
75303 });
75304
75305 var proposalFunctionSent = declare(function (api) {
75306 api.assertVersion(7);
75307
75308 var isFunctionSent = function isFunctionSent(node) {
75309 return isIdentifier(node.meta, {
75310 name: "function"
75311 }) && isIdentifier(node.property, {
75312 name: "sent"
75313 });
75314 };
75315
75316 var hasBeenReplaced = function hasBeenReplaced(node, sentId) {
75317 return isAssignmentExpression(node) && isIdentifier(node.left, {
75318 name: sentId
75319 });
75320 };
75321
75322 var yieldVisitor = {
75323 Function: function Function(path) {
75324 path.skip();
75325 },
75326 YieldExpression: function YieldExpression(path) {
75327 if (!hasBeenReplaced(path.parent, this.sentId)) {
75328 path.replaceWith(assignmentExpression("=", identifier(this.sentId), path.node));
75329 }
75330 },
75331 MetaProperty: function MetaProperty(path) {
75332 if (isFunctionSent(path.node)) {
75333 path.replaceWith(identifier(this.sentId));
75334 }
75335 }
75336 };
75337 return {
75338 name: "proposal-function-sent",
75339 inherits: syntaxFunctionSent,
75340 visitor: {
75341 MetaProperty: function MetaProperty(path, state) {
75342 if (!isFunctionSent(path.node)) return;
75343 var fnPath = path.getFunctionParent();
75344
75345 if (!fnPath.node.generator) {
75346 throw new Error("Parent generator function not found");
75347 }
75348
75349 var sentId = path.scope.generateUid("function.sent");
75350 fnPath.traverse(yieldVisitor, {
75351 sentId: sentId
75352 });
75353 fnPath.node.body.body.unshift(variableDeclaration("let", [variableDeclarator(identifier(sentId), yieldExpression())]));
75354 wrapFunction(fnPath, state.addHelper("skipFirstGeneratorNext"));
75355 }
75356 }
75357 };
75358 });
75359
75360 var lib$i = createCommonjsModule(function (module, exports) {
75361
75362 Object.defineProperty(exports, "__esModule", {
75363 value: true
75364 });
75365 exports["default"] = void 0;
75366
75367 var _default = (0, _helperPluginUtils.declare)(function (api) {
75368 api.assertVersion(7);
75369 return {
75370 name: "syntax-json-strings",
75371 manipulateOptions: function manipulateOptions(opts, parserOpts) {
75372 parserOpts.plugins.push("jsonStrings");
75373 }
75374 };
75375 });
75376
75377 exports["default"] = _default;
75378 }, "/$$rollup_base$$/packages/babel-plugin-proposal-json-strings/node_modules/@babel/plugin-syntax-json-strings/lib");
75379
75380 var _proposalJsonStrings = declare(function (api) {
75381 api.assertVersion(7);
75382 var regex = /(\\*)([\u2028\u2029])/g;
75383
75384 function replace(match, escapes, separator) {
75385 var isEscaped = escapes.length % 2 === 1;
75386 if (isEscaped) return match;
75387 return escapes + "\\u" + separator.charCodeAt(0).toString(16);
75388 }
75389
75390 return {
75391 name: "proposal-json-strings",
75392 inherits: lib$i["default"],
75393 visitor: {
75394 "DirectiveLiteral|StringLiteral": function DirectiveLiteralStringLiteral(_ref) {
75395 var node = _ref.node;
75396 var extra = node.extra;
75397 if (!(extra != null && extra.raw)) return;
75398 extra.raw = extra.raw.replace(regex, replace);
75399 }
75400 }
75401 };
75402 });
75403
75404 var lib$h = createCommonjsModule(function (module, exports) {
75405
75406 Object.defineProperty(exports, "__esModule", {
75407 value: true
75408 });
75409 exports["default"] = void 0;
75410
75411 var _default = (0, _helperPluginUtils.declare)(function (api) {
75412 api.assertVersion(7);
75413 return {
75414 name: "syntax-logical-assignment-operators",
75415 manipulateOptions: function manipulateOptions(opts, parserOpts) {
75416 parserOpts.plugins.push("logicalAssignment");
75417 }
75418 };
75419 });
75420
75421 exports["default"] = _default;
75422 }, "/$$rollup_base$$/packages/babel-plugin-proposal-logical-assignment-operators/node_modules/@babel/plugin-syntax-logical-assignment-operators/lib");
75423
75424 var _proposalLogicalAssignmentOperators = declare(function (api) {
75425 api.assertVersion(7);
75426 return {
75427 name: "proposal-logical-assignment-operators",
75428 inherits: lib$h["default"],
75429 visitor: {
75430 AssignmentExpression: function AssignmentExpression(path) {
75431 var node = path.node,
75432 scope = path.scope;
75433 var operator = node.operator,
75434 left = node.left,
75435 right = node.right;
75436 var operatorTrunc = operator.slice(0, -1);
75437
75438 if (!LOGICAL_OPERATORS.includes(operatorTrunc)) {
75439 return;
75440 }
75441
75442 var lhs = cloneNode(left);
75443
75444 if (isMemberExpression(left)) {
75445 var object = left.object,
75446 property = left.property,
75447 computed = left.computed;
75448 var memo = scope.maybeGenerateMemoised(object);
75449
75450 if (memo) {
75451 left.object = memo;
75452 lhs.object = assignmentExpression("=", cloneNode(memo), object);
75453 }
75454
75455 if (computed) {
75456 var _memo = scope.maybeGenerateMemoised(property);
75457
75458 if (_memo) {
75459 left.property = _memo;
75460 lhs.property = assignmentExpression("=", cloneNode(_memo), property);
75461 }
75462 }
75463 }
75464
75465 path.replaceWith(logicalExpression(operatorTrunc, lhs, assignmentExpression("=", left, right)));
75466 }
75467 }
75468 };
75469 });
75470
75471 var lib$g = createCommonjsModule(function (module, exports) {
75472
75473 Object.defineProperty(exports, "__esModule", {
75474 value: true
75475 });
75476 exports["default"] = void 0;
75477
75478 var _default = (0, _helperPluginUtils.declare)(function (api) {
75479 api.assertVersion(7);
75480 return {
75481 name: "syntax-nullish-coalescing-operator",
75482 manipulateOptions: function manipulateOptions(opts, parserOpts) {
75483 parserOpts.plugins.push("nullishCoalescingOperator");
75484 }
75485 };
75486 });
75487
75488 exports["default"] = _default;
75489 }, "/$$rollup_base$$/packages/babel-plugin-proposal-nullish-coalescing-operator/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/lib");
75490
75491 var _templateObject$f;
75492 var _proposalNullishCoalescingOperator = declare(function (api, _ref) {
75493 var _api$assumption;
75494
75495 var _ref$loose = _ref.loose,
75496 loose = _ref$loose === void 0 ? false : _ref$loose;
75497 api.assertVersion(7);
75498 var noDocumentAll = (_api$assumption = api.assumption("noDocumentAll")) != null ? _api$assumption : loose;
75499 return {
75500 name: "proposal-nullish-coalescing-operator",
75501 inherits: lib$g["default"],
75502 visitor: {
75503 LogicalExpression: function LogicalExpression(path) {
75504 var node = path.node,
75505 scope = path.scope;
75506
75507 if (node.operator !== "??") {
75508 return;
75509 }
75510
75511 var ref;
75512 var assignment;
75513
75514 if (scope.isStatic(node.left)) {
75515 ref = node.left;
75516 assignment = cloneNode(node.left);
75517 } else if (scope.path.isPattern()) {
75518 path.replaceWith(template$2.ast(_templateObject$f || (_templateObject$f = _taggedTemplateLiteralLoose(["(() => ", ")()"])), path.node));
75519 return;
75520 } else {
75521 ref = scope.generateUidIdentifierBasedOnNode(node.left);
75522 scope.push({
75523 id: cloneNode(ref)
75524 });
75525 assignment = assignmentExpression("=", ref, node.left);
75526 }
75527
75528 path.replaceWith(conditionalExpression(noDocumentAll ? binaryExpression("!=", assignment, nullLiteral()) : logicalExpression("&&", binaryExpression("!==", assignment, nullLiteral()), binaryExpression("!==", cloneNode(ref), scope.buildUndefinedNode())), cloneNode(ref), node.right));
75529 }
75530 }
75531 };
75532 });
75533
75534 var lib$f = createCommonjsModule(function (module, exports) {
75535
75536 Object.defineProperty(exports, "__esModule", {
75537 value: true
75538 });
75539 exports["default"] = void 0;
75540
75541 var _default = (0, _helperPluginUtils.declare)(function (api) {
75542 api.assertVersion(7);
75543 return {
75544 name: "syntax-numeric-separator",
75545 manipulateOptions: function manipulateOptions(opts, parserOpts) {
75546 parserOpts.plugins.push("numericSeparator");
75547 }
75548 };
75549 });
75550
75551 exports["default"] = _default;
75552 }, "/$$rollup_base$$/packages/babel-plugin-proposal-numeric-separator/node_modules/@babel/plugin-syntax-numeric-separator/lib");
75553
75554 function remover(_ref) {
75555 var _extra$raw;
75556
75557 var node = _ref.node;
75558 var extra = node.extra;
75559
75560 if (extra != null && (_extra$raw = extra.raw) != null && _extra$raw.includes("_")) {
75561 extra.raw = extra.raw.replace(/_/g, "");
75562 }
75563 }
75564
75565 var _proposalNumericSeparator = declare(function (api) {
75566 api.assertVersion(7);
75567 return {
75568 name: "proposal-numeric-separator",
75569 inherits: lib$f["default"],
75570 visitor: {
75571 NumericLiteral: remover,
75572 BigIntLiteral: remover
75573 }
75574 };
75575 });
75576
75577 var lib$e = createCommonjsModule(function (module, exports) {
75578
75579 Object.defineProperty(exports, "__esModule", {
75580 value: true
75581 });
75582 exports["default"] = void 0;
75583
75584 var _default = (0, _helperPluginUtils.declare)(function (api) {
75585 api.assertVersion(7);
75586 return {
75587 name: "syntax-object-rest-spread",
75588 manipulateOptions: function manipulateOptions(opts, parserOpts) {
75589 parserOpts.plugins.push("objectRestSpread");
75590 }
75591 };
75592 });
75593
75594 exports["default"] = _default;
75595 }, "/$$rollup_base$$/packages/babel-plugin-proposal-object-rest-spread/node_modules/@babel/plugin-syntax-object-rest-spread/lib");
75596
75597 var buildDefaultParam = template$2("\n let VARIABLE_NAME =\n arguments.length > ARGUMENT_KEY && arguments[ARGUMENT_KEY] !== undefined ?\n arguments[ARGUMENT_KEY]\n :\n DEFAULT_VALUE;\n");
75598 var buildLooseDefaultParam = template$2("\n if (ASSIGNMENT_IDENTIFIER === UNDEFINED) {\n ASSIGNMENT_IDENTIFIER = DEFAULT_VALUE;\n }\n");
75599 var buildLooseDestructuredDefaultParam = template$2("\n let ASSIGNMENT_IDENTIFIER = PARAMETER_NAME === UNDEFINED ? DEFAULT_VALUE : PARAMETER_NAME ;\n");
75600 var buildSafeArgumentsAccess = template$2("\n let $0 = arguments.length > $1 ? arguments[$1] : undefined;\n");
75601 var iifeVisitor = {
75602 "ReferencedIdentifier|BindingIdentifier": function ReferencedIdentifierBindingIdentifier(path, state) {
75603 var scope = path.scope,
75604 node = path.node;
75605 var name = node.name;
75606
75607 if (name === "eval" || scope.getBinding(name) === state.scope.parent.getBinding(name) && state.scope.hasOwnBinding(name)) {
75608 state.needsOuterBinding = true;
75609 path.stop();
75610 }
75611 },
75612 "TypeAnnotation|TSTypeAnnotation|TypeParameterDeclaration|TSTypeParameterDeclaration": function TypeAnnotationTSTypeAnnotationTypeParameterDeclarationTSTypeParameterDeclaration(path) {
75613 return path.skip();
75614 }
75615 };
75616 function convertFunctionParams(path, ignoreFunctionLength, shouldTransformParam, replaceRestElement) {
75617 var params = path.get("params");
75618 var isSimpleParameterList = params.every(function (param) {
75619 return param.isIdentifier();
75620 });
75621 if (isSimpleParameterList) return false;
75622 var node = path.node,
75623 scope = path.scope;
75624 var state = {
75625 stop: false,
75626 needsOuterBinding: false,
75627 scope: scope
75628 };
75629 var body = [];
75630 var shadowedParams = new Set();
75631
75632 for (var _iterator = _createForOfIteratorHelperLoose(params), _step; !(_step = _iterator()).done;) {
75633 var _param2 = _step.value;
75634
75635 for (var _i = 0, _Object$keys = Object.keys(_param2.getBindingIdentifiers()); _i < _Object$keys.length; _i++) {
75636 var _scope$bindings$name;
75637
75638 var name = _Object$keys[_i];
75639 var constantViolations = (_scope$bindings$name = scope.bindings[name]) == null ? void 0 : _scope$bindings$name.constantViolations;
75640
75641 if (constantViolations) {
75642 for (var _iterator4 = _createForOfIteratorHelperLoose(constantViolations), _step4; !(_step4 = _iterator4()).done;) {
75643 var redeclarator = _step4.value;
75644 var _node = redeclarator.node;
75645
75646 switch (_node.type) {
75647 case "VariableDeclarator":
75648 {
75649 if (_node.init === null) {
75650 var declaration = redeclarator.parentPath;
75651
75652 if (!declaration.parentPath.isFor() || declaration.parentPath.get("body") === declaration) {
75653 redeclarator.remove();
75654 break;
75655 }
75656 }
75657
75658 shadowedParams.add(name);
75659 break;
75660 }
75661
75662 case "FunctionDeclaration":
75663 shadowedParams.add(name);
75664 break;
75665 }
75666 }
75667 }
75668 }
75669 }
75670
75671 if (shadowedParams.size === 0) {
75672 for (var _iterator2 = _createForOfIteratorHelperLoose(params), _step2; !(_step2 = _iterator2()).done;) {
75673 var param = _step2.value;
75674 if (!param.isIdentifier()) param.traverse(iifeVisitor, state);
75675 if (state.needsOuterBinding) break;
75676 }
75677 }
75678
75679 var firstOptionalIndex = null;
75680
75681 for (var i = 0; i < params.length; i++) {
75682 var _param = params[i];
75683
75684 if (shouldTransformParam && !shouldTransformParam(i)) {
75685 continue;
75686 }
75687
75688 var transformedRestNodes = [];
75689
75690 if (replaceRestElement) {
75691 replaceRestElement(_param.parentPath, _param, transformedRestNodes);
75692 }
75693
75694 var paramIsAssignmentPattern = _param.isAssignmentPattern();
75695
75696 if (paramIsAssignmentPattern && (ignoreFunctionLength || node.kind === "set")) {
75697 var left = _param.get("left");
75698
75699 var right = _param.get("right");
75700
75701 var undefinedNode = scope.buildUndefinedNode();
75702
75703 if (left.isIdentifier()) {
75704 body.push(buildLooseDefaultParam({
75705 ASSIGNMENT_IDENTIFIER: cloneNode(left.node),
75706 DEFAULT_VALUE: right.node,
75707 UNDEFINED: undefinedNode
75708 }));
75709
75710 _param.replaceWith(left.node);
75711 } else if (left.isObjectPattern() || left.isArrayPattern()) {
75712 var paramName = scope.generateUidIdentifier();
75713 body.push(buildLooseDestructuredDefaultParam({
75714 ASSIGNMENT_IDENTIFIER: left.node,
75715 DEFAULT_VALUE: right.node,
75716 PARAMETER_NAME: cloneNode(paramName),
75717 UNDEFINED: undefinedNode
75718 }));
75719
75720 _param.replaceWith(paramName);
75721 }
75722 } else if (paramIsAssignmentPattern) {
75723 if (firstOptionalIndex === null) firstOptionalIndex = i;
75724
75725 var _left = _param.get("left");
75726
75727 var _right = _param.get("right");
75728
75729 var defNode = buildDefaultParam({
75730 VARIABLE_NAME: _left.node,
75731 DEFAULT_VALUE: _right.node,
75732 ARGUMENT_KEY: numericLiteral(i)
75733 });
75734 body.push(defNode);
75735 } else if (firstOptionalIndex !== null) {
75736 var _defNode = buildSafeArgumentsAccess([_param.node, numericLiteral(i)]);
75737
75738 body.push(_defNode);
75739 } else if (_param.isObjectPattern() || _param.isArrayPattern()) {
75740 var uid = path.scope.generateUidIdentifier("ref");
75741
75742 var _defNode2 = variableDeclaration("let", [variableDeclarator(_param.node, uid)]);
75743
75744 body.push(_defNode2);
75745
75746 _param.replaceWith(cloneNode(uid));
75747 }
75748
75749 if (transformedRestNodes) {
75750 for (var _iterator3 = _createForOfIteratorHelperLoose(transformedRestNodes), _step3; !(_step3 = _iterator3()).done;) {
75751 var transformedNode = _step3.value;
75752 body.push(transformedNode);
75753 }
75754 }
75755 }
75756
75757 if (firstOptionalIndex !== null) {
75758 node.params = node.params.slice(0, firstOptionalIndex);
75759 }
75760
75761 path.ensureBlock();
75762
75763 if (state.needsOuterBinding || shadowedParams.size > 0) {
75764 body.push(buildScopeIIFE(shadowedParams, path.get("body").node));
75765 path.set("body", blockStatement(body));
75766 var bodyPath = path.get("body.body");
75767 var arrowPath = bodyPath[bodyPath.length - 1].get("argument.callee");
75768 arrowPath.arrowFunctionToExpression();
75769 arrowPath.node.generator = path.node.generator;
75770 arrowPath.node.async = path.node.async;
75771 path.node.generator = false;
75772 } else {
75773 path.get("body").unshiftContainer("body", body);
75774 }
75775
75776 return true;
75777 }
75778
75779 function buildScopeIIFE(shadowedParams, body) {
75780 var args = [];
75781 var params = [];
75782
75783 for (var _iterator5 = _createForOfIteratorHelperLoose(shadowedParams), _step5; !(_step5 = _iterator5()).done;) {
75784 var name = _step5.value;
75785 args.push(identifier(name));
75786 params.push(identifier(name));
75787 }
75788
75789 return returnStatement(callExpression(arrowFunctionExpression(params, body), args));
75790 }
75791
75792 var buildRest = template$2("\n for (var LEN = ARGUMENTS.length,\n ARRAY = new Array(ARRAY_LEN),\n KEY = START;\n KEY < LEN;\n KEY++) {\n ARRAY[ARRAY_KEY] = ARGUMENTS[KEY];\n }\n");
75793 var restIndex = template$2("\n (INDEX < OFFSET || ARGUMENTS.length <= INDEX) ? undefined : ARGUMENTS[INDEX]\n");
75794 var restIndexImpure = template$2("\n REF = INDEX, (REF < OFFSET || ARGUMENTS.length <= REF) ? undefined : ARGUMENTS[REF]\n");
75795 var restLength = template$2("\n ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET\n");
75796
75797 function referencesRest(path, state) {
75798 if (path.node.name === state.name) {
75799 return path.scope.bindingIdentifierEquals(state.name, state.outerBinding);
75800 }
75801
75802 return false;
75803 }
75804
75805 var memberExpressionOptimisationVisitor = {
75806 Scope: function Scope(path, state) {
75807 if (!path.scope.bindingIdentifierEquals(state.name, state.outerBinding)) {
75808 path.skip();
75809 }
75810 },
75811 Flow: function Flow(path) {
75812 if (path.isTypeCastExpression()) return;
75813 path.skip();
75814 },
75815 Function: function Function(path, state) {
75816 var oldNoOptimise = state.noOptimise;
75817 state.noOptimise = true;
75818 path.traverse(memberExpressionOptimisationVisitor, state);
75819 state.noOptimise = oldNoOptimise;
75820 path.skip();
75821 },
75822 ReferencedIdentifier: function ReferencedIdentifier(path, state) {
75823 var node = path.node;
75824
75825 if (node.name === "arguments") {
75826 state.deopted = true;
75827 }
75828
75829 if (!referencesRest(path, state)) return;
75830
75831 if (state.noOptimise) {
75832 state.deopted = true;
75833 } else {
75834 var parentPath = path.parentPath;
75835
75836 if (parentPath.listKey === "params" && parentPath.key < state.offset) {
75837 return;
75838 }
75839
75840 if (parentPath.isMemberExpression({
75841 object: node
75842 })) {
75843 var grandparentPath = parentPath.parentPath;
75844 var argsOptEligible = !state.deopted && !(grandparentPath.isAssignmentExpression() && parentPath.node === grandparentPath.node.left || grandparentPath.isLVal() || grandparentPath.isForXStatement() || grandparentPath.isUpdateExpression() || grandparentPath.isUnaryExpression({
75845 operator: "delete"
75846 }) || (grandparentPath.isCallExpression() || grandparentPath.isNewExpression()) && parentPath.node === grandparentPath.node.callee);
75847
75848 if (argsOptEligible) {
75849 if (parentPath.node.computed) {
75850 if (parentPath.get("property").isBaseType("number")) {
75851 state.candidates.push({
75852 cause: "indexGetter",
75853 path: path
75854 });
75855 return;
75856 }
75857 } else if (parentPath.node.property.name === "length") {
75858 state.candidates.push({
75859 cause: "lengthGetter",
75860 path: path
75861 });
75862 return;
75863 }
75864 }
75865 }
75866
75867 if (state.offset === 0 && parentPath.isSpreadElement()) {
75868 var call = parentPath.parentPath;
75869
75870 if (call.isCallExpression() && call.node.arguments.length === 1) {
75871 state.candidates.push({
75872 cause: "argSpread",
75873 path: path
75874 });
75875 return;
75876 }
75877 }
75878
75879 state.references.push(path);
75880 }
75881 },
75882 BindingIdentifier: function BindingIdentifier(path, state) {
75883 if (referencesRest(path, state)) {
75884 state.deopted = true;
75885 }
75886 }
75887 };
75888
75889 function getParamsCount(node) {
75890 var count = node.params.length;
75891
75892 if (count > 0 && isIdentifier(node.params[0], {
75893 name: "this"
75894 })) {
75895 count -= 1;
75896 }
75897
75898 return count;
75899 }
75900
75901 function hasRest(node) {
75902 var length = node.params.length;
75903 return length > 0 && isRestElement(node.params[length - 1]);
75904 }
75905
75906 function optimiseIndexGetter(path, argsId, offset) {
75907 var offsetLiteral = numericLiteral(offset);
75908 var index;
75909
75910 if (isNumericLiteral(path.parent.property)) {
75911 index = numericLiteral(path.parent.property.value + offset);
75912 } else if (offset === 0) {
75913 index = path.parent.property;
75914 } else {
75915 index = binaryExpression("+", path.parent.property, cloneNode(offsetLiteral));
75916 }
75917
75918 var scope = path.scope;
75919
75920 if (!scope.isPure(index)) {
75921 var temp = scope.generateUidIdentifierBasedOnNode(index);
75922 scope.push({
75923 id: temp,
75924 kind: "var"
75925 });
75926 path.parentPath.replaceWith(restIndexImpure({
75927 ARGUMENTS: argsId,
75928 OFFSET: offsetLiteral,
75929 INDEX: index,
75930 REF: cloneNode(temp)
75931 }));
75932 } else {
75933 var parentPath = path.parentPath;
75934 parentPath.replaceWith(restIndex({
75935 ARGUMENTS: argsId,
75936 OFFSET: offsetLiteral,
75937 INDEX: index
75938 }));
75939 var offsetTestPath = parentPath.get("test").get("left");
75940 var valRes = offsetTestPath.evaluate();
75941
75942 if (valRes.confident) {
75943 if (valRes.value === true) {
75944 parentPath.replaceWith(parentPath.scope.buildUndefinedNode());
75945 } else {
75946 parentPath.get("test").replaceWith(parentPath.get("test").get("right"));
75947 }
75948 }
75949 }
75950 }
75951
75952 function optimiseLengthGetter(path, argsId, offset) {
75953 if (offset) {
75954 path.parentPath.replaceWith(restLength({
75955 ARGUMENTS: argsId,
75956 OFFSET: numericLiteral(offset)
75957 }));
75958 } else {
75959 path.replaceWith(argsId);
75960 }
75961 }
75962
75963 function convertFunctionRest(path) {
75964 var node = path.node,
75965 scope = path.scope;
75966 if (!hasRest(node)) return false;
75967 var rest = node.params.pop().argument;
75968 var argsId = identifier("arguments");
75969
75970 if (isPattern(rest)) {
75971 var pattern = rest;
75972 rest = scope.generateUidIdentifier("ref");
75973 var declar = variableDeclaration("let", [variableDeclarator(pattern, rest)]);
75974 node.body.body.unshift(declar);
75975 }
75976
75977 var paramsCount = getParamsCount(node);
75978 var state = {
75979 references: [],
75980 offset: paramsCount,
75981 argumentsNode: argsId,
75982 outerBinding: scope.getBindingIdentifier(rest.name),
75983 candidates: [],
75984 name: rest.name,
75985 deopted: false
75986 };
75987 path.traverse(memberExpressionOptimisationVisitor, state);
75988
75989 if (!state.deopted && !state.references.length) {
75990 for (var _i = 0, _arr = state.candidates; _i < _arr.length; _i++) {
75991 var _arr$_i = _arr[_i],
75992 _path = _arr$_i.path,
75993 cause = _arr$_i.cause;
75994 var clonedArgsId = cloneNode(argsId);
75995
75996 switch (cause) {
75997 case "indexGetter":
75998 optimiseIndexGetter(_path, clonedArgsId, state.offset);
75999 break;
76000
76001 case "lengthGetter":
76002 optimiseLengthGetter(_path, clonedArgsId, state.offset);
76003 break;
76004
76005 default:
76006 _path.replaceWith(clonedArgsId);
76007
76008 }
76009 }
76010
76011 return true;
76012 }
76013
76014 state.references = state.references.concat(state.candidates.map(function (_ref) {
76015 var path = _ref.path;
76016 return path;
76017 }));
76018 var start = numericLiteral(paramsCount);
76019 var key = scope.generateUidIdentifier("key");
76020 var len = scope.generateUidIdentifier("len");
76021 var arrKey, arrLen;
76022
76023 if (paramsCount) {
76024 arrKey = binaryExpression("-", cloneNode(key), cloneNode(start));
76025 arrLen = conditionalExpression(binaryExpression(">", cloneNode(len), cloneNode(start)), binaryExpression("-", cloneNode(len), cloneNode(start)), numericLiteral(0));
76026 } else {
76027 arrKey = identifier(key.name);
76028 arrLen = identifier(len.name);
76029 }
76030
76031 var loop = buildRest({
76032 ARGUMENTS: argsId,
76033 ARRAY_KEY: arrKey,
76034 ARRAY_LEN: arrLen,
76035 START: start,
76036 ARRAY: rest,
76037 KEY: key,
76038 LEN: len
76039 });
76040
76041 if (state.deopted) {
76042 node.body.body.unshift(loop);
76043 } else {
76044 var target = path.getEarliestCommonAncestorFrom(state.references).getStatementParent();
76045 target.findParent(function (path) {
76046 if (path.isLoop()) {
76047 target = path;
76048 } else {
76049 return path.isFunction();
76050 }
76051 });
76052 target.insertBefore(loop);
76053 }
76054
76055 return true;
76056 }
76057
76058 var _transformParameters = declare(function (api, options) {
76059 var _api$assumption;
76060
76061 api.assertVersion(7);
76062 var ignoreFunctionLength = (_api$assumption = api.assumption("ignoreFunctionLength")) != null ? _api$assumption : options.loose;
76063 var noNewArrows = api.assumption("noNewArrows");
76064 return {
76065 name: "transform-parameters",
76066 visitor: {
76067 Function: function Function(path) {
76068 if (path.isArrowFunctionExpression() && path.get("params").some(function (param) {
76069 return param.isRestElement() || param.isAssignmentPattern();
76070 })) {
76071 path.arrowFunctionToExpression({
76072 noNewArrows: noNewArrows
76073 });
76074 }
76075
76076 var convertedRest = convertFunctionRest(path);
76077 var convertedParams = convertFunctionParams(path, ignoreFunctionLength);
76078
76079 if (convertedRest || convertedParams) {
76080 path.scope.crawl();
76081 }
76082 }
76083 }
76084 };
76085 });
76086
76087 var require$$0$5 = {
76088 "es6.array.copy-within": {
76089 chrome: "45",
76090 opera: "32",
76091 edge: "12",
76092 firefox: "32",
76093 safari: "9",
76094 node: "4",
76095 ios: "9",
76096 samsung: "5",
76097 electron: "0.31"
76098 },
76099 "es6.array.every": {
76100 chrome: "5",
76101 opera: "10.10",
76102 edge: "12",
76103 firefox: "2",
76104 safari: "3.1",
76105 node: "0.10",
76106 ie: "9",
76107 android: "4",
76108 ios: "6",
76109 phantom: "2",
76110 samsung: "1",
76111 electron: "0.20"
76112 },
76113 "es6.array.fill": {
76114 chrome: "45",
76115 opera: "32",
76116 edge: "12",
76117 firefox: "31",
76118 safari: "7.1",
76119 node: "4",
76120 ios: "8",
76121 samsung: "5",
76122 electron: "0.31"
76123 },
76124 "es6.array.filter": {
76125 chrome: "51",
76126 opera: "38",
76127 edge: "13",
76128 firefox: "48",
76129 safari: "10",
76130 node: "6.5",
76131 ios: "10",
76132 samsung: "5",
76133 electron: "1.2"
76134 },
76135 "es6.array.find": {
76136 chrome: "45",
76137 opera: "32",
76138 edge: "12",
76139 firefox: "25",
76140 safari: "7.1",
76141 node: "4",
76142 ios: "8",
76143 samsung: "5",
76144 electron: "0.31"
76145 },
76146 "es6.array.find-index": {
76147 chrome: "45",
76148 opera: "32",
76149 edge: "12",
76150 firefox: "25",
76151 safari: "7.1",
76152 node: "4",
76153 ios: "8",
76154 samsung: "5",
76155 electron: "0.31"
76156 },
76157 "es7.array.flat-map": {
76158 chrome: "69",
76159 opera: "56",
76160 edge: "79",
76161 firefox: "62",
76162 safari: "12",
76163 node: "11",
76164 ios: "12",
76165 samsung: "10",
76166 electron: "4.0"
76167 },
76168 "es6.array.for-each": {
76169 chrome: "5",
76170 opera: "10.10",
76171 edge: "12",
76172 firefox: "2",
76173 safari: "3.1",
76174 node: "0.10",
76175 ie: "9",
76176 android: "4",
76177 ios: "6",
76178 phantom: "2",
76179 samsung: "1",
76180 electron: "0.20"
76181 },
76182 "es6.array.from": {
76183 chrome: "51",
76184 opera: "38",
76185 edge: "15",
76186 firefox: "36",
76187 safari: "10",
76188 node: "6.5",
76189 ios: "10",
76190 samsung: "5",
76191 electron: "1.2"
76192 },
76193 "es7.array.includes": {
76194 chrome: "47",
76195 opera: "34",
76196 edge: "14",
76197 firefox: "43",
76198 safari: "10",
76199 node: "6",
76200 ios: "10",
76201 samsung: "5",
76202 electron: "0.36"
76203 },
76204 "es6.array.index-of": {
76205 chrome: "5",
76206 opera: "10.10",
76207 edge: "12",
76208 firefox: "2",
76209 safari: "3.1",
76210 node: "0.10",
76211 ie: "9",
76212 android: "4",
76213 ios: "6",
76214 phantom: "2",
76215 samsung: "1",
76216 electron: "0.20"
76217 },
76218 "es6.array.is-array": {
76219 chrome: "5",
76220 opera: "10.50",
76221 edge: "12",
76222 firefox: "4",
76223 safari: "4",
76224 node: "0.10",
76225 ie: "9",
76226 android: "4",
76227 ios: "6",
76228 phantom: "2",
76229 samsung: "1",
76230 electron: "0.20"
76231 },
76232 "es6.array.iterator": {
76233 chrome: "66",
76234 opera: "53",
76235 edge: "12",
76236 firefox: "60",
76237 safari: "9",
76238 node: "10",
76239 ios: "9",
76240 samsung: "9",
76241 electron: "3.0"
76242 },
76243 "es6.array.last-index-of": {
76244 chrome: "5",
76245 opera: "10.10",
76246 edge: "12",
76247 firefox: "2",
76248 safari: "3.1",
76249 node: "0.10",
76250 ie: "9",
76251 android: "4",
76252 ios: "6",
76253 phantom: "2",
76254 samsung: "1",
76255 electron: "0.20"
76256 },
76257 "es6.array.map": {
76258 chrome: "51",
76259 opera: "38",
76260 edge: "13",
76261 firefox: "48",
76262 safari: "10",
76263 node: "6.5",
76264 ios: "10",
76265 samsung: "5",
76266 electron: "1.2"
76267 },
76268 "es6.array.of": {
76269 chrome: "45",
76270 opera: "32",
76271 edge: "12",
76272 firefox: "25",
76273 safari: "9",
76274 node: "4",
76275 ios: "9",
76276 samsung: "5",
76277 electron: "0.31"
76278 },
76279 "es6.array.reduce": {
76280 chrome: "5",
76281 opera: "10.50",
76282 edge: "12",
76283 firefox: "3",
76284 safari: "4",
76285 node: "0.10",
76286 ie: "9",
76287 android: "4",
76288 ios: "6",
76289 phantom: "2",
76290 samsung: "1",
76291 electron: "0.20"
76292 },
76293 "es6.array.reduce-right": {
76294 chrome: "5",
76295 opera: "10.50",
76296 edge: "12",
76297 firefox: "3",
76298 safari: "4",
76299 node: "0.10",
76300 ie: "9",
76301 android: "4",
76302 ios: "6",
76303 phantom: "2",
76304 samsung: "1",
76305 electron: "0.20"
76306 },
76307 "es6.array.slice": {
76308 chrome: "51",
76309 opera: "38",
76310 edge: "13",
76311 firefox: "48",
76312 safari: "10",
76313 node: "6.5",
76314 ios: "10",
76315 samsung: "5",
76316 electron: "1.2"
76317 },
76318 "es6.array.some": {
76319 chrome: "5",
76320 opera: "10.10",
76321 edge: "12",
76322 firefox: "2",
76323 safari: "3.1",
76324 node: "0.10",
76325 ie: "9",
76326 android: "4",
76327 ios: "6",
76328 phantom: "2",
76329 samsung: "1",
76330 electron: "0.20"
76331 },
76332 "es6.array.sort": {
76333 chrome: "63",
76334 opera: "50",
76335 edge: "12",
76336 firefox: "5",
76337 safari: "12",
76338 node: "10",
76339 ie: "9",
76340 ios: "12",
76341 samsung: "8",
76342 electron: "3.0"
76343 },
76344 "es6.array.species": {
76345 chrome: "51",
76346 opera: "38",
76347 edge: "13",
76348 firefox: "48",
76349 safari: "10",
76350 node: "6.5",
76351 ios: "10",
76352 samsung: "5",
76353 electron: "1.2"
76354 },
76355 "es6.date.now": {
76356 chrome: "5",
76357 opera: "10.50",
76358 edge: "12",
76359 firefox: "2",
76360 safari: "4",
76361 node: "0.10",
76362 ie: "9",
76363 android: "4",
76364 ios: "6",
76365 phantom: "2",
76366 samsung: "1",
76367 electron: "0.20"
76368 },
76369 "es6.date.to-iso-string": {
76370 chrome: "5",
76371 opera: "10.50",
76372 edge: "12",
76373 firefox: "3.5",
76374 safari: "4",
76375 node: "0.10",
76376 ie: "9",
76377 android: "4",
76378 ios: "6",
76379 phantom: "2",
76380 samsung: "1",
76381 electron: "0.20"
76382 },
76383 "es6.date.to-json": {
76384 chrome: "5",
76385 opera: "12.10",
76386 edge: "12",
76387 firefox: "4",
76388 safari: "10",
76389 node: "0.10",
76390 ie: "9",
76391 android: "4",
76392 ios: "10",
76393 samsung: "1",
76394 electron: "0.20"
76395 },
76396 "es6.date.to-primitive": {
76397 chrome: "47",
76398 opera: "34",
76399 edge: "15",
76400 firefox: "44",
76401 safari: "10",
76402 node: "6",
76403 ios: "10",
76404 samsung: "5",
76405 electron: "0.36"
76406 },
76407 "es6.date.to-string": {
76408 chrome: "5",
76409 opera: "10.50",
76410 edge: "12",
76411 firefox: "2",
76412 safari: "3.1",
76413 node: "0.10",
76414 ie: "10",
76415 android: "4",
76416 ios: "6",
76417 phantom: "2",
76418 samsung: "1",
76419 electron: "0.20"
76420 },
76421 "es6.function.bind": {
76422 chrome: "7",
76423 opera: "12",
76424 edge: "12",
76425 firefox: "4",
76426 safari: "5.1",
76427 node: "0.10",
76428 ie: "9",
76429 android: "4",
76430 ios: "6",
76431 phantom: "2",
76432 samsung: "1",
76433 electron: "0.20"
76434 },
76435 "es6.function.has-instance": {
76436 chrome: "51",
76437 opera: "38",
76438 edge: "15",
76439 firefox: "50",
76440 safari: "10",
76441 node: "6.5",
76442 ios: "10",
76443 samsung: "5",
76444 electron: "1.2"
76445 },
76446 "es6.function.name": {
76447 chrome: "5",
76448 opera: "10.50",
76449 edge: "14",
76450 firefox: "2",
76451 safari: "4",
76452 node: "0.10",
76453 android: "4",
76454 ios: "6",
76455 phantom: "2",
76456 samsung: "1",
76457 electron: "0.20"
76458 },
76459 "es6.map": {
76460 chrome: "51",
76461 opera: "38",
76462 edge: "15",
76463 firefox: "53",
76464 safari: "10",
76465 node: "6.5",
76466 ios: "10",
76467 samsung: "5",
76468 electron: "1.2"
76469 },
76470 "es6.math.acosh": {
76471 chrome: "38",
76472 opera: "25",
76473 edge: "12",
76474 firefox: "25",
76475 safari: "7.1",
76476 node: "0.12",
76477 ios: "8",
76478 samsung: "3",
76479 electron: "0.20"
76480 },
76481 "es6.math.asinh": {
76482 chrome: "38",
76483 opera: "25",
76484 edge: "12",
76485 firefox: "25",
76486 safari: "7.1",
76487 node: "0.12",
76488 ios: "8",
76489 samsung: "3",
76490 electron: "0.20"
76491 },
76492 "es6.math.atanh": {
76493 chrome: "38",
76494 opera: "25",
76495 edge: "12",
76496 firefox: "25",
76497 safari: "7.1",
76498 node: "0.12",
76499 ios: "8",
76500 samsung: "3",
76501 electron: "0.20"
76502 },
76503 "es6.math.cbrt": {
76504 chrome: "38",
76505 opera: "25",
76506 edge: "12",
76507 firefox: "25",
76508 safari: "7.1",
76509 node: "0.12",
76510 ios: "8",
76511 samsung: "3",
76512 electron: "0.20"
76513 },
76514 "es6.math.clz32": {
76515 chrome: "38",
76516 opera: "25",
76517 edge: "12",
76518 firefox: "31",
76519 safari: "9",
76520 node: "0.12",
76521 ios: "9",
76522 samsung: "3",
76523 electron: "0.20"
76524 },
76525 "es6.math.cosh": {
76526 chrome: "38",
76527 opera: "25",
76528 edge: "12",
76529 firefox: "25",
76530 safari: "7.1",
76531 node: "0.12",
76532 ios: "8",
76533 samsung: "3",
76534 electron: "0.20"
76535 },
76536 "es6.math.expm1": {
76537 chrome: "38",
76538 opera: "25",
76539 edge: "12",
76540 firefox: "25",
76541 safari: "7.1",
76542 node: "0.12",
76543 ios: "8",
76544 samsung: "3",
76545 electron: "0.20"
76546 },
76547 "es6.math.fround": {
76548 chrome: "38",
76549 opera: "25",
76550 edge: "12",
76551 firefox: "26",
76552 safari: "7.1",
76553 node: "0.12",
76554 ios: "8",
76555 samsung: "3",
76556 electron: "0.20"
76557 },
76558 "es6.math.hypot": {
76559 chrome: "38",
76560 opera: "25",
76561 edge: "12",
76562 firefox: "27",
76563 safari: "7.1",
76564 node: "0.12",
76565 ios: "8",
76566 samsung: "3",
76567 electron: "0.20"
76568 },
76569 "es6.math.imul": {
76570 chrome: "30",
76571 opera: "17",
76572 edge: "12",
76573 firefox: "23",
76574 safari: "7",
76575 node: "0.12",
76576 android: "4.4",
76577 ios: "7",
76578 samsung: "2",
76579 electron: "0.20"
76580 },
76581 "es6.math.log1p": {
76582 chrome: "38",
76583 opera: "25",
76584 edge: "12",
76585 firefox: "25",
76586 safari: "7.1",
76587 node: "0.12",
76588 ios: "8",
76589 samsung: "3",
76590 electron: "0.20"
76591 },
76592 "es6.math.log10": {
76593 chrome: "38",
76594 opera: "25",
76595 edge: "12",
76596 firefox: "25",
76597 safari: "7.1",
76598 node: "0.12",
76599 ios: "8",
76600 samsung: "3",
76601 electron: "0.20"
76602 },
76603 "es6.math.log2": {
76604 chrome: "38",
76605 opera: "25",
76606 edge: "12",
76607 firefox: "25",
76608 safari: "7.1",
76609 node: "0.12",
76610 ios: "8",
76611 samsung: "3",
76612 electron: "0.20"
76613 },
76614 "es6.math.sign": {
76615 chrome: "38",
76616 opera: "25",
76617 edge: "12",
76618 firefox: "25",
76619 safari: "9",
76620 node: "0.12",
76621 ios: "9",
76622 samsung: "3",
76623 electron: "0.20"
76624 },
76625 "es6.math.sinh": {
76626 chrome: "38",
76627 opera: "25",
76628 edge: "12",
76629 firefox: "25",
76630 safari: "7.1",
76631 node: "0.12",
76632 ios: "8",
76633 samsung: "3",
76634 electron: "0.20"
76635 },
76636 "es6.math.tanh": {
76637 chrome: "38",
76638 opera: "25",
76639 edge: "12",
76640 firefox: "25",
76641 safari: "7.1",
76642 node: "0.12",
76643 ios: "8",
76644 samsung: "3",
76645 electron: "0.20"
76646 },
76647 "es6.math.trunc": {
76648 chrome: "38",
76649 opera: "25",
76650 edge: "12",
76651 firefox: "25",
76652 safari: "7.1",
76653 node: "0.12",
76654 ios: "8",
76655 samsung: "3",
76656 electron: "0.20"
76657 },
76658 "es6.number.constructor": {
76659 chrome: "41",
76660 opera: "28",
76661 edge: "12",
76662 firefox: "36",
76663 safari: "9",
76664 node: "4",
76665 ios: "9",
76666 samsung: "3.4",
76667 electron: "0.21"
76668 },
76669 "es6.number.epsilon": {
76670 chrome: "34",
76671 opera: "21",
76672 edge: "12",
76673 firefox: "25",
76674 safari: "9",
76675 node: "0.12",
76676 ios: "9",
76677 samsung: "2",
76678 electron: "0.20"
76679 },
76680 "es6.number.is-finite": {
76681 chrome: "19",
76682 opera: "15",
76683 edge: "12",
76684 firefox: "16",
76685 safari: "9",
76686 node: "0.12",
76687 android: "4.1",
76688 ios: "9",
76689 samsung: "1.5",
76690 electron: "0.20"
76691 },
76692 "es6.number.is-integer": {
76693 chrome: "34",
76694 opera: "21",
76695 edge: "12",
76696 firefox: "16",
76697 safari: "9",
76698 node: "0.12",
76699 ios: "9",
76700 samsung: "2",
76701 electron: "0.20"
76702 },
76703 "es6.number.is-nan": {
76704 chrome: "19",
76705 opera: "15",
76706 edge: "12",
76707 firefox: "15",
76708 safari: "9",
76709 node: "0.12",
76710 android: "4.1",
76711 ios: "9",
76712 samsung: "1.5",
76713 electron: "0.20"
76714 },
76715 "es6.number.is-safe-integer": {
76716 chrome: "34",
76717 opera: "21",
76718 edge: "12",
76719 firefox: "32",
76720 safari: "9",
76721 node: "0.12",
76722 ios: "9",
76723 samsung: "2",
76724 electron: "0.20"
76725 },
76726 "es6.number.max-safe-integer": {
76727 chrome: "34",
76728 opera: "21",
76729 edge: "12",
76730 firefox: "31",
76731 safari: "9",
76732 node: "0.12",
76733 ios: "9",
76734 samsung: "2",
76735 electron: "0.20"
76736 },
76737 "es6.number.min-safe-integer": {
76738 chrome: "34",
76739 opera: "21",
76740 edge: "12",
76741 firefox: "31",
76742 safari: "9",
76743 node: "0.12",
76744 ios: "9",
76745 samsung: "2",
76746 electron: "0.20"
76747 },
76748 "es6.number.parse-float": {
76749 chrome: "34",
76750 opera: "21",
76751 edge: "12",
76752 firefox: "25",
76753 safari: "9",
76754 node: "0.12",
76755 ios: "9",
76756 samsung: "2",
76757 electron: "0.20"
76758 },
76759 "es6.number.parse-int": {
76760 chrome: "34",
76761 opera: "21",
76762 edge: "12",
76763 firefox: "25",
76764 safari: "9",
76765 node: "0.12",
76766 ios: "9",
76767 samsung: "2",
76768 electron: "0.20"
76769 },
76770 "es6.object.assign": {
76771 chrome: "49",
76772 opera: "36",
76773 edge: "13",
76774 firefox: "36",
76775 safari: "10",
76776 node: "6",
76777 ios: "10",
76778 samsung: "5",
76779 electron: "0.37"
76780 },
76781 "es6.object.create": {
76782 chrome: "5",
76783 opera: "12",
76784 edge: "12",
76785 firefox: "4",
76786 safari: "4",
76787 node: "0.10",
76788 ie: "9",
76789 android: "4",
76790 ios: "6",
76791 phantom: "2",
76792 samsung: "1",
76793 electron: "0.20"
76794 },
76795 "es7.object.define-getter": {
76796 chrome: "62",
76797 opera: "49",
76798 edge: "16",
76799 firefox: "48",
76800 safari: "9",
76801 node: "8.10",
76802 ios: "9",
76803 samsung: "8",
76804 electron: "3.0"
76805 },
76806 "es7.object.define-setter": {
76807 chrome: "62",
76808 opera: "49",
76809 edge: "16",
76810 firefox: "48",
76811 safari: "9",
76812 node: "8.10",
76813 ios: "9",
76814 samsung: "8",
76815 electron: "3.0"
76816 },
76817 "es6.object.define-property": {
76818 chrome: "5",
76819 opera: "12",
76820 edge: "12",
76821 firefox: "4",
76822 safari: "5.1",
76823 node: "0.10",
76824 ie: "9",
76825 android: "4",
76826 ios: "6",
76827 phantom: "2",
76828 samsung: "1",
76829 electron: "0.20"
76830 },
76831 "es6.object.define-properties": {
76832 chrome: "5",
76833 opera: "12",
76834 edge: "12",
76835 firefox: "4",
76836 safari: "4",
76837 node: "0.10",
76838 ie: "9",
76839 android: "4",
76840 ios: "6",
76841 phantom: "2",
76842 samsung: "1",
76843 electron: "0.20"
76844 },
76845 "es7.object.entries": {
76846 chrome: "54",
76847 opera: "41",
76848 edge: "14",
76849 firefox: "47",
76850 safari: "10.1",
76851 node: "7",
76852 ios: "10.3",
76853 samsung: "6",
76854 electron: "1.4"
76855 },
76856 "es6.object.freeze": {
76857 chrome: "44",
76858 opera: "31",
76859 edge: "12",
76860 firefox: "35",
76861 safari: "9",
76862 node: "4",
76863 ios: "9",
76864 samsung: "4",
76865 electron: "0.30"
76866 },
76867 "es6.object.get-own-property-descriptor": {
76868 chrome: "44",
76869 opera: "31",
76870 edge: "12",
76871 firefox: "35",
76872 safari: "9",
76873 node: "4",
76874 ios: "9",
76875 samsung: "4",
76876 electron: "0.30"
76877 },
76878 "es7.object.get-own-property-descriptors": {
76879 chrome: "54",
76880 opera: "41",
76881 edge: "15",
76882 firefox: "50",
76883 safari: "10.1",
76884 node: "7",
76885 ios: "10.3",
76886 samsung: "6",
76887 electron: "1.4"
76888 },
76889 "es6.object.get-own-property-names": {
76890 chrome: "40",
76891 opera: "27",
76892 edge: "12",
76893 firefox: "33",
76894 safari: "9",
76895 node: "4",
76896 ios: "9",
76897 samsung: "3.4",
76898 electron: "0.21"
76899 },
76900 "es6.object.get-prototype-of": {
76901 chrome: "44",
76902 opera: "31",
76903 edge: "12",
76904 firefox: "35",
76905 safari: "9",
76906 node: "4",
76907 ios: "9",
76908 samsung: "4",
76909 electron: "0.30"
76910 },
76911 "es7.object.lookup-getter": {
76912 chrome: "62",
76913 opera: "49",
76914 edge: "79",
76915 firefox: "36",
76916 safari: "9",
76917 node: "8.10",
76918 ios: "9",
76919 samsung: "8",
76920 electron: "3.0"
76921 },
76922 "es7.object.lookup-setter": {
76923 chrome: "62",
76924 opera: "49",
76925 edge: "79",
76926 firefox: "36",
76927 safari: "9",
76928 node: "8.10",
76929 ios: "9",
76930 samsung: "8",
76931 electron: "3.0"
76932 },
76933 "es6.object.prevent-extensions": {
76934 chrome: "44",
76935 opera: "31",
76936 edge: "12",
76937 firefox: "35",
76938 safari: "9",
76939 node: "4",
76940 ios: "9",
76941 samsung: "4",
76942 electron: "0.30"
76943 },
76944 "es6.object.to-string": {
76945 chrome: "57",
76946 opera: "44",
76947 edge: "15",
76948 firefox: "51",
76949 safari: "10",
76950 node: "8",
76951 ios: "10",
76952 samsung: "7",
76953 electron: "1.7"
76954 },
76955 "es6.object.is": {
76956 chrome: "19",
76957 opera: "15",
76958 edge: "12",
76959 firefox: "22",
76960 safari: "9",
76961 node: "0.12",
76962 android: "4.1",
76963 ios: "9",
76964 samsung: "1.5",
76965 electron: "0.20"
76966 },
76967 "es6.object.is-frozen": {
76968 chrome: "44",
76969 opera: "31",
76970 edge: "12",
76971 firefox: "35",
76972 safari: "9",
76973 node: "4",
76974 ios: "9",
76975 samsung: "4",
76976 electron: "0.30"
76977 },
76978 "es6.object.is-sealed": {
76979 chrome: "44",
76980 opera: "31",
76981 edge: "12",
76982 firefox: "35",
76983 safari: "9",
76984 node: "4",
76985 ios: "9",
76986 samsung: "4",
76987 electron: "0.30"
76988 },
76989 "es6.object.is-extensible": {
76990 chrome: "44",
76991 opera: "31",
76992 edge: "12",
76993 firefox: "35",
76994 safari: "9",
76995 node: "4",
76996 ios: "9",
76997 samsung: "4",
76998 electron: "0.30"
76999 },
77000 "es6.object.keys": {
77001 chrome: "40",
77002 opera: "27",
77003 edge: "12",
77004 firefox: "35",
77005 safari: "9",
77006 node: "4",
77007 ios: "9",
77008 samsung: "3.4",
77009 electron: "0.21"
77010 },
77011 "es6.object.seal": {
77012 chrome: "44",
77013 opera: "31",
77014 edge: "12",
77015 firefox: "35",
77016 safari: "9",
77017 node: "4",
77018 ios: "9",
77019 samsung: "4",
77020 electron: "0.30"
77021 },
77022 "es6.object.set-prototype-of": {
77023 chrome: "34",
77024 opera: "21",
77025 edge: "12",
77026 firefox: "31",
77027 safari: "9",
77028 node: "0.12",
77029 ie: "11",
77030 ios: "9",
77031 samsung: "2",
77032 electron: "0.20"
77033 },
77034 "es7.object.values": {
77035 chrome: "54",
77036 opera: "41",
77037 edge: "14",
77038 firefox: "47",
77039 safari: "10.1",
77040 node: "7",
77041 ios: "10.3",
77042 samsung: "6",
77043 electron: "1.4"
77044 },
77045 "es6.promise": {
77046 chrome: "51",
77047 opera: "38",
77048 edge: "14",
77049 firefox: "45",
77050 safari: "10",
77051 node: "6.5",
77052 ios: "10",
77053 samsung: "5",
77054 electron: "1.2"
77055 },
77056 "es7.promise.finally": {
77057 chrome: "63",
77058 opera: "50",
77059 edge: "18",
77060 firefox: "58",
77061 safari: "11.1",
77062 node: "10",
77063 ios: "11.3",
77064 samsung: "8",
77065 electron: "3.0"
77066 },
77067 "es6.reflect.apply": {
77068 chrome: "49",
77069 opera: "36",
77070 edge: "12",
77071 firefox: "42",
77072 safari: "10",
77073 node: "6",
77074 ios: "10",
77075 samsung: "5",
77076 electron: "0.37"
77077 },
77078 "es6.reflect.construct": {
77079 chrome: "49",
77080 opera: "36",
77081 edge: "13",
77082 firefox: "49",
77083 safari: "10",
77084 node: "6",
77085 ios: "10",
77086 samsung: "5",
77087 electron: "0.37"
77088 },
77089 "es6.reflect.define-property": {
77090 chrome: "49",
77091 opera: "36",
77092 edge: "13",
77093 firefox: "42",
77094 safari: "10",
77095 node: "6",
77096 ios: "10",
77097 samsung: "5",
77098 electron: "0.37"
77099 },
77100 "es6.reflect.delete-property": {
77101 chrome: "49",
77102 opera: "36",
77103 edge: "12",
77104 firefox: "42",
77105 safari: "10",
77106 node: "6",
77107 ios: "10",
77108 samsung: "5",
77109 electron: "0.37"
77110 },
77111 "es6.reflect.get": {
77112 chrome: "49",
77113 opera: "36",
77114 edge: "12",
77115 firefox: "42",
77116 safari: "10",
77117 node: "6",
77118 ios: "10",
77119 samsung: "5",
77120 electron: "0.37"
77121 },
77122 "es6.reflect.get-own-property-descriptor": {
77123 chrome: "49",
77124 opera: "36",
77125 edge: "12",
77126 firefox: "42",
77127 safari: "10",
77128 node: "6",
77129 ios: "10",
77130 samsung: "5",
77131 electron: "0.37"
77132 },
77133 "es6.reflect.get-prototype-of": {
77134 chrome: "49",
77135 opera: "36",
77136 edge: "12",
77137 firefox: "42",
77138 safari: "10",
77139 node: "6",
77140 ios: "10",
77141 samsung: "5",
77142 electron: "0.37"
77143 },
77144 "es6.reflect.has": {
77145 chrome: "49",
77146 opera: "36",
77147 edge: "12",
77148 firefox: "42",
77149 safari: "10",
77150 node: "6",
77151 ios: "10",
77152 samsung: "5",
77153 electron: "0.37"
77154 },
77155 "es6.reflect.is-extensible": {
77156 chrome: "49",
77157 opera: "36",
77158 edge: "12",
77159 firefox: "42",
77160 safari: "10",
77161 node: "6",
77162 ios: "10",
77163 samsung: "5",
77164 electron: "0.37"
77165 },
77166 "es6.reflect.own-keys": {
77167 chrome: "49",
77168 opera: "36",
77169 edge: "12",
77170 firefox: "42",
77171 safari: "10",
77172 node: "6",
77173 ios: "10",
77174 samsung: "5",
77175 electron: "0.37"
77176 },
77177 "es6.reflect.prevent-extensions": {
77178 chrome: "49",
77179 opera: "36",
77180 edge: "12",
77181 firefox: "42",
77182 safari: "10",
77183 node: "6",
77184 ios: "10",
77185 samsung: "5",
77186 electron: "0.37"
77187 },
77188 "es6.reflect.set": {
77189 chrome: "49",
77190 opera: "36",
77191 edge: "12",
77192 firefox: "42",
77193 safari: "10",
77194 node: "6",
77195 ios: "10",
77196 samsung: "5",
77197 electron: "0.37"
77198 },
77199 "es6.reflect.set-prototype-of": {
77200 chrome: "49",
77201 opera: "36",
77202 edge: "12",
77203 firefox: "42",
77204 safari: "10",
77205 node: "6",
77206 ios: "10",
77207 samsung: "5",
77208 electron: "0.37"
77209 },
77210 "es6.regexp.constructor": {
77211 chrome: "50",
77212 opera: "37",
77213 edge: "79",
77214 firefox: "40",
77215 safari: "10",
77216 node: "6",
77217 ios: "10",
77218 samsung: "5",
77219 electron: "1.1"
77220 },
77221 "es6.regexp.flags": {
77222 chrome: "49",
77223 opera: "36",
77224 edge: "79",
77225 firefox: "37",
77226 safari: "9",
77227 node: "6",
77228 ios: "9",
77229 samsung: "5",
77230 electron: "0.37"
77231 },
77232 "es6.regexp.match": {
77233 chrome: "50",
77234 opera: "37",
77235 edge: "79",
77236 firefox: "49",
77237 safari: "10",
77238 node: "6",
77239 ios: "10",
77240 samsung: "5",
77241 electron: "1.1"
77242 },
77243 "es6.regexp.replace": {
77244 chrome: "50",
77245 opera: "37",
77246 edge: "79",
77247 firefox: "49",
77248 safari: "10",
77249 node: "6",
77250 ios: "10",
77251 samsung: "5",
77252 electron: "1.1"
77253 },
77254 "es6.regexp.split": {
77255 chrome: "50",
77256 opera: "37",
77257 edge: "79",
77258 firefox: "49",
77259 safari: "10",
77260 node: "6",
77261 ios: "10",
77262 samsung: "5",
77263 electron: "1.1"
77264 },
77265 "es6.regexp.search": {
77266 chrome: "50",
77267 opera: "37",
77268 edge: "79",
77269 firefox: "49",
77270 safari: "10",
77271 node: "6",
77272 ios: "10",
77273 samsung: "5",
77274 electron: "1.1"
77275 },
77276 "es6.regexp.to-string": {
77277 chrome: "50",
77278 opera: "37",
77279 edge: "79",
77280 firefox: "39",
77281 safari: "10",
77282 node: "6",
77283 ios: "10",
77284 samsung: "5",
77285 electron: "1.1"
77286 },
77287 "es6.set": {
77288 chrome: "51",
77289 opera: "38",
77290 edge: "15",
77291 firefox: "53",
77292 safari: "10",
77293 node: "6.5",
77294 ios: "10",
77295 samsung: "5",
77296 electron: "1.2"
77297 },
77298 "es6.symbol": {
77299 chrome: "51",
77300 opera: "38",
77301 edge: "79",
77302 firefox: "51",
77303 safari: "10",
77304 node: "6.5",
77305 ios: "10",
77306 samsung: "5",
77307 electron: "1.2"
77308 },
77309 "es7.symbol.async-iterator": {
77310 chrome: "63",
77311 opera: "50",
77312 edge: "79",
77313 firefox: "57",
77314 safari: "12",
77315 node: "10",
77316 ios: "12",
77317 samsung: "8",
77318 electron: "3.0"
77319 },
77320 "es6.string.anchor": {
77321 chrome: "5",
77322 opera: "15",
77323 edge: "12",
77324 firefox: "17",
77325 safari: "6",
77326 node: "0.10",
77327 android: "4",
77328 ios: "7",
77329 phantom: "2",
77330 samsung: "1",
77331 electron: "0.20"
77332 },
77333 "es6.string.big": {
77334 chrome: "5",
77335 opera: "15",
77336 edge: "12",
77337 firefox: "17",
77338 safari: "6",
77339 node: "0.10",
77340 android: "4",
77341 ios: "7",
77342 phantom: "2",
77343 samsung: "1",
77344 electron: "0.20"
77345 },
77346 "es6.string.blink": {
77347 chrome: "5",
77348 opera: "15",
77349 edge: "12",
77350 firefox: "17",
77351 safari: "6",
77352 node: "0.10",
77353 android: "4",
77354 ios: "7",
77355 phantom: "2",
77356 samsung: "1",
77357 electron: "0.20"
77358 },
77359 "es6.string.bold": {
77360 chrome: "5",
77361 opera: "15",
77362 edge: "12",
77363 firefox: "17",
77364 safari: "6",
77365 node: "0.10",
77366 android: "4",
77367 ios: "7",
77368 phantom: "2",
77369 samsung: "1",
77370 electron: "0.20"
77371 },
77372 "es6.string.code-point-at": {
77373 chrome: "41",
77374 opera: "28",
77375 edge: "12",
77376 firefox: "29",
77377 safari: "9",
77378 node: "4",
77379 ios: "9",
77380 samsung: "3.4",
77381 electron: "0.21"
77382 },
77383 "es6.string.ends-with": {
77384 chrome: "41",
77385 opera: "28",
77386 edge: "12",
77387 firefox: "29",
77388 safari: "9",
77389 node: "4",
77390 ios: "9",
77391 samsung: "3.4",
77392 electron: "0.21"
77393 },
77394 "es6.string.fixed": {
77395 chrome: "5",
77396 opera: "15",
77397 edge: "12",
77398 firefox: "17",
77399 safari: "6",
77400 node: "0.10",
77401 android: "4",
77402 ios: "7",
77403 phantom: "2",
77404 samsung: "1",
77405 electron: "0.20"
77406 },
77407 "es6.string.fontcolor": {
77408 chrome: "5",
77409 opera: "15",
77410 edge: "12",
77411 firefox: "17",
77412 safari: "6",
77413 node: "0.10",
77414 android: "4",
77415 ios: "7",
77416 phantom: "2",
77417 samsung: "1",
77418 electron: "0.20"
77419 },
77420 "es6.string.fontsize": {
77421 chrome: "5",
77422 opera: "15",
77423 edge: "12",
77424 firefox: "17",
77425 safari: "6",
77426 node: "0.10",
77427 android: "4",
77428 ios: "7",
77429 phantom: "2",
77430 samsung: "1",
77431 electron: "0.20"
77432 },
77433 "es6.string.from-code-point": {
77434 chrome: "41",
77435 opera: "28",
77436 edge: "12",
77437 firefox: "29",
77438 safari: "9",
77439 node: "4",
77440 ios: "9",
77441 samsung: "3.4",
77442 electron: "0.21"
77443 },
77444 "es6.string.includes": {
77445 chrome: "41",
77446 opera: "28",
77447 edge: "12",
77448 firefox: "40",
77449 safari: "9",
77450 node: "4",
77451 ios: "9",
77452 samsung: "3.4",
77453 electron: "0.21"
77454 },
77455 "es6.string.italics": {
77456 chrome: "5",
77457 opera: "15",
77458 edge: "12",
77459 firefox: "17",
77460 safari: "6",
77461 node: "0.10",
77462 android: "4",
77463 ios: "7",
77464 phantom: "2",
77465 samsung: "1",
77466 electron: "0.20"
77467 },
77468 "es6.string.iterator": {
77469 chrome: "38",
77470 opera: "25",
77471 edge: "12",
77472 firefox: "36",
77473 safari: "9",
77474 node: "0.12",
77475 ios: "9",
77476 samsung: "3",
77477 electron: "0.20"
77478 },
77479 "es6.string.link": {
77480 chrome: "5",
77481 opera: "15",
77482 edge: "12",
77483 firefox: "17",
77484 safari: "6",
77485 node: "0.10",
77486 android: "4",
77487 ios: "7",
77488 phantom: "2",
77489 samsung: "1",
77490 electron: "0.20"
77491 },
77492 "es7.string.pad-start": {
77493 chrome: "57",
77494 opera: "44",
77495 edge: "15",
77496 firefox: "48",
77497 safari: "10",
77498 node: "8",
77499 ios: "10",
77500 samsung: "7",
77501 electron: "1.7"
77502 },
77503 "es7.string.pad-end": {
77504 chrome: "57",
77505 opera: "44",
77506 edge: "15",
77507 firefox: "48",
77508 safari: "10",
77509 node: "8",
77510 ios: "10",
77511 samsung: "7",
77512 electron: "1.7"
77513 },
77514 "es6.string.raw": {
77515 chrome: "41",
77516 opera: "28",
77517 edge: "12",
77518 firefox: "34",
77519 safari: "9",
77520 node: "4",
77521 ios: "9",
77522 samsung: "3.4",
77523 electron: "0.21"
77524 },
77525 "es6.string.repeat": {
77526 chrome: "41",
77527 opera: "28",
77528 edge: "12",
77529 firefox: "24",
77530 safari: "9",
77531 node: "4",
77532 ios: "9",
77533 samsung: "3.4",
77534 electron: "0.21"
77535 },
77536 "es6.string.small": {
77537 chrome: "5",
77538 opera: "15",
77539 edge: "12",
77540 firefox: "17",
77541 safari: "6",
77542 node: "0.10",
77543 android: "4",
77544 ios: "7",
77545 phantom: "2",
77546 samsung: "1",
77547 electron: "0.20"
77548 },
77549 "es6.string.starts-with": {
77550 chrome: "41",
77551 opera: "28",
77552 edge: "12",
77553 firefox: "29",
77554 safari: "9",
77555 node: "4",
77556 ios: "9",
77557 samsung: "3.4",
77558 electron: "0.21"
77559 },
77560 "es6.string.strike": {
77561 chrome: "5",
77562 opera: "15",
77563 edge: "12",
77564 firefox: "17",
77565 safari: "6",
77566 node: "0.10",
77567 android: "4",
77568 ios: "7",
77569 phantom: "2",
77570 samsung: "1",
77571 electron: "0.20"
77572 },
77573 "es6.string.sub": {
77574 chrome: "5",
77575 opera: "15",
77576 edge: "12",
77577 firefox: "17",
77578 safari: "6",
77579 node: "0.10",
77580 android: "4",
77581 ios: "7",
77582 phantom: "2",
77583 samsung: "1",
77584 electron: "0.20"
77585 },
77586 "es6.string.sup": {
77587 chrome: "5",
77588 opera: "15",
77589 edge: "12",
77590 firefox: "17",
77591 safari: "6",
77592 node: "0.10",
77593 android: "4",
77594 ios: "7",
77595 phantom: "2",
77596 samsung: "1",
77597 electron: "0.20"
77598 },
77599 "es6.string.trim": {
77600 chrome: "5",
77601 opera: "10.50",
77602 edge: "12",
77603 firefox: "3.5",
77604 safari: "4",
77605 node: "0.10",
77606 ie: "9",
77607 android: "4",
77608 ios: "6",
77609 phantom: "2",
77610 samsung: "1",
77611 electron: "0.20"
77612 },
77613 "es7.string.trim-left": {
77614 chrome: "66",
77615 opera: "53",
77616 edge: "79",
77617 firefox: "61",
77618 safari: "12",
77619 node: "10",
77620 ios: "12",
77621 samsung: "9",
77622 electron: "3.0"
77623 },
77624 "es7.string.trim-right": {
77625 chrome: "66",
77626 opera: "53",
77627 edge: "79",
77628 firefox: "61",
77629 safari: "12",
77630 node: "10",
77631 ios: "12",
77632 samsung: "9",
77633 electron: "3.0"
77634 },
77635 "es6.typed.array-buffer": {
77636 chrome: "51",
77637 opera: "38",
77638 edge: "13",
77639 firefox: "48",
77640 safari: "10",
77641 node: "6.5",
77642 ios: "10",
77643 samsung: "5",
77644 electron: "1.2"
77645 },
77646 "es6.typed.data-view": {
77647 chrome: "5",
77648 opera: "12",
77649 edge: "12",
77650 firefox: "15",
77651 safari: "5.1",
77652 node: "0.10",
77653 ie: "10",
77654 android: "4",
77655 ios: "6",
77656 phantom: "2",
77657 samsung: "1",
77658 electron: "0.20"
77659 },
77660 "es6.typed.int8-array": {
77661 chrome: "51",
77662 opera: "38",
77663 edge: "13",
77664 firefox: "48",
77665 safari: "10",
77666 node: "6.5",
77667 ios: "10",
77668 samsung: "5",
77669 electron: "1.2"
77670 },
77671 "es6.typed.uint8-array": {
77672 chrome: "51",
77673 opera: "38",
77674 edge: "13",
77675 firefox: "48",
77676 safari: "10",
77677 node: "6.5",
77678 ios: "10",
77679 samsung: "5",
77680 electron: "1.2"
77681 },
77682 "es6.typed.uint8-clamped-array": {
77683 chrome: "51",
77684 opera: "38",
77685 edge: "13",
77686 firefox: "48",
77687 safari: "10",
77688 node: "6.5",
77689 ios: "10",
77690 samsung: "5",
77691 electron: "1.2"
77692 },
77693 "es6.typed.int16-array": {
77694 chrome: "51",
77695 opera: "38",
77696 edge: "13",
77697 firefox: "48",
77698 safari: "10",
77699 node: "6.5",
77700 ios: "10",
77701 samsung: "5",
77702 electron: "1.2"
77703 },
77704 "es6.typed.uint16-array": {
77705 chrome: "51",
77706 opera: "38",
77707 edge: "13",
77708 firefox: "48",
77709 safari: "10",
77710 node: "6.5",
77711 ios: "10",
77712 samsung: "5",
77713 electron: "1.2"
77714 },
77715 "es6.typed.int32-array": {
77716 chrome: "51",
77717 opera: "38",
77718 edge: "13",
77719 firefox: "48",
77720 safari: "10",
77721 node: "6.5",
77722 ios: "10",
77723 samsung: "5",
77724 electron: "1.2"
77725 },
77726 "es6.typed.uint32-array": {
77727 chrome: "51",
77728 opera: "38",
77729 edge: "13",
77730 firefox: "48",
77731 safari: "10",
77732 node: "6.5",
77733 ios: "10",
77734 samsung: "5",
77735 electron: "1.2"
77736 },
77737 "es6.typed.float32-array": {
77738 chrome: "51",
77739 opera: "38",
77740 edge: "13",
77741 firefox: "48",
77742 safari: "10",
77743 node: "6.5",
77744 ios: "10",
77745 samsung: "5",
77746 electron: "1.2"
77747 },
77748 "es6.typed.float64-array": {
77749 chrome: "51",
77750 opera: "38",
77751 edge: "13",
77752 firefox: "48",
77753 safari: "10",
77754 node: "6.5",
77755 ios: "10",
77756 samsung: "5",
77757 electron: "1.2"
77758 },
77759 "es6.weak-map": {
77760 chrome: "51",
77761 opera: "38",
77762 edge: "15",
77763 firefox: "53",
77764 safari: "9",
77765 node: "6.5",
77766 ios: "9",
77767 samsung: "5",
77768 electron: "1.2"
77769 },
77770 "es6.weak-set": {
77771 chrome: "51",
77772 opera: "38",
77773 edge: "15",
77774 firefox: "53",
77775 safari: "9",
77776 node: "6.5",
77777 ios: "9",
77778 samsung: "5",
77779 electron: "1.2"
77780 }
77781 };
77782
77783 var corejs2BuiltIns = require$$0$5;
77784
77785 var ZERO_REFS = function () {
77786 var node = identifier("a");
77787 var property = objectProperty(identifier("key"), node);
77788 var pattern = objectPattern([property]);
77789 return isReferenced(node, property, pattern) ? 1 : 0;
77790 }();
77791
77792 var _proposalObjectRestSpread = declare(function (api, opts) {
77793 var _api$assumption, _api$assumption2, _api$assumption3, _api$assumption4;
77794
77795 api.assertVersion(7);
77796 var targets = api.targets();
77797 var supportsObjectAssign = !isRequired("es6.object.assign", targets, {
77798 compatData: corejs2BuiltIns
77799 });
77800 var _opts$useBuiltIns = opts.useBuiltIns,
77801 useBuiltIns = _opts$useBuiltIns === void 0 ? supportsObjectAssign : _opts$useBuiltIns,
77802 _opts$loose = opts.loose,
77803 loose = _opts$loose === void 0 ? false : _opts$loose;
77804
77805 if (typeof loose !== "boolean") {
77806 throw new Error(".loose must be a boolean, or undefined");
77807 }
77808
77809 var ignoreFunctionLength = (_api$assumption = api.assumption("ignoreFunctionLength")) != null ? _api$assumption : loose;
77810 var objectRestNoSymbols = (_api$assumption2 = api.assumption("objectRestNoSymbols")) != null ? _api$assumption2 : loose;
77811 var pureGetters = (_api$assumption3 = api.assumption("pureGetters")) != null ? _api$assumption3 : loose;
77812 var setSpreadProperties = (_api$assumption4 = api.assumption("setSpreadProperties")) != null ? _api$assumption4 : loose;
77813
77814 function getExtendsHelper(file) {
77815 return useBuiltIns ? memberExpression(identifier("Object"), identifier("assign")) : file.addHelper("extends");
77816 }
77817
77818 function hasRestElement(path) {
77819 var foundRestElement = false;
77820 visitRestElements(path, function (restElement) {
77821 foundRestElement = true;
77822 restElement.stop();
77823 });
77824 return foundRestElement;
77825 }
77826
77827 function hasObjectPatternRestElement(path) {
77828 var foundRestElement = false;
77829 visitRestElements(path, function (restElement) {
77830 if (restElement.parentPath.isObjectPattern()) {
77831 foundRestElement = true;
77832 restElement.stop();
77833 }
77834 });
77835 return foundRestElement;
77836 }
77837
77838 function visitRestElements(path, visitor) {
77839 path.traverse({
77840 Expression: function Expression(path) {
77841 var parentType = path.parent.type;
77842
77843 if (parentType === "AssignmentPattern" && path.key === "right" || parentType === "ObjectProperty" && path.parent.computed && path.key === "key") {
77844 path.skip();
77845 }
77846 },
77847 RestElement: visitor
77848 });
77849 }
77850
77851 function hasSpread(node) {
77852 for (var _iterator = _createForOfIteratorHelperLoose(node.properties), _step; !(_step = _iterator()).done;) {
77853 var prop = _step.value;
77854
77855 if (isSpreadElement(prop)) {
77856 return true;
77857 }
77858 }
77859
77860 return false;
77861 }
77862
77863 function extractNormalizedKeys(path) {
77864 var props = path.node.properties;
77865 var keys = [];
77866 var allLiteral = true;
77867 var hasTemplateLiteral = false;
77868
77869 for (var _iterator2 = _createForOfIteratorHelperLoose(props), _step2; !(_step2 = _iterator2()).done;) {
77870 var prop = _step2.value;
77871
77872 if (isIdentifier(prop.key) && !prop.computed) {
77873 keys.push(stringLiteral(prop.key.name));
77874 } else if (isTemplateLiteral(prop.key)) {
77875 keys.push(cloneNode(prop.key));
77876 hasTemplateLiteral = true;
77877 } else if (isLiteral(prop.key)) {
77878 keys.push(stringLiteral(String(prop.key.value)));
77879 } else {
77880 keys.push(cloneNode(prop.key));
77881 allLiteral = false;
77882 }
77883 }
77884
77885 return {
77886 keys: keys,
77887 allLiteral: allLiteral,
77888 hasTemplateLiteral: hasTemplateLiteral
77889 };
77890 }
77891
77892 function replaceImpureComputedKeys(properties, scope) {
77893 var impureComputedPropertyDeclarators = [];
77894
77895 for (var _iterator3 = _createForOfIteratorHelperLoose(properties), _step3; !(_step3 = _iterator3()).done;) {
77896 var propPath = _step3.value;
77897 var key = propPath.get("key");
77898
77899 if (propPath.node.computed && !key.isPure()) {
77900 var name = scope.generateUidBasedOnNode(key.node);
77901 var declarator = variableDeclarator(identifier(name), key.node);
77902 impureComputedPropertyDeclarators.push(declarator);
77903 key.replaceWith(identifier(name));
77904 }
77905 }
77906
77907 return impureComputedPropertyDeclarators;
77908 }
77909
77910 function removeUnusedExcludedKeys(path) {
77911 var bindings = path.getOuterBindingIdentifierPaths();
77912 Object.keys(bindings).forEach(function (bindingName) {
77913 var bindingParentPath = bindings[bindingName].parentPath;
77914
77915 if (path.scope.getBinding(bindingName).references > ZERO_REFS || !bindingParentPath.isObjectProperty()) {
77916 return;
77917 }
77918
77919 bindingParentPath.remove();
77920 });
77921 }
77922
77923 function createObjectRest(path, file, objRef) {
77924 var props = path.get("properties");
77925 var last = props[props.length - 1];
77926 assertRestElement(last.node);
77927 var restElement = cloneNode(last.node);
77928 last.remove();
77929 var impureComputedPropertyDeclarators = replaceImpureComputedKeys(path.get("properties"), path.scope);
77930
77931 var _extractNormalizedKey = extractNormalizedKeys(path),
77932 keys = _extractNormalizedKey.keys,
77933 allLiteral = _extractNormalizedKey.allLiteral,
77934 hasTemplateLiteral = _extractNormalizedKey.hasTemplateLiteral;
77935
77936 if (keys.length === 0) {
77937 return [impureComputedPropertyDeclarators, restElement.argument, callExpression(getExtendsHelper(file), [objectExpression([]), cloneNode(objRef)])];
77938 }
77939
77940 var keyExpression;
77941
77942 if (!allLiteral) {
77943 keyExpression = callExpression(memberExpression(arrayExpression(keys), identifier("map")), [file.addHelper("toPropertyKey")]);
77944 } else {
77945 keyExpression = arrayExpression(keys);
77946
77947 if (!hasTemplateLiteral && !isProgram(path.scope.block)) {
77948 var program = path.findParent(function (path) {
77949 return path.isProgram();
77950 });
77951 var id = path.scope.generateUidIdentifier("excluded");
77952 program.scope.push({
77953 id: id,
77954 init: keyExpression,
77955 kind: "const"
77956 });
77957 keyExpression = cloneNode(id);
77958 }
77959 }
77960
77961 return [impureComputedPropertyDeclarators, restElement.argument, callExpression(file.addHelper("objectWithoutProperties" + (objectRestNoSymbols ? "Loose" : "")), [cloneNode(objRef), keyExpression])];
77962 }
77963
77964 function replaceRestElement(parentPath, paramPath, container) {
77965 if (paramPath.isAssignmentPattern()) {
77966 replaceRestElement(parentPath, paramPath.get("left"), container);
77967 return;
77968 }
77969
77970 if (paramPath.isArrayPattern() && hasRestElement(paramPath)) {
77971 var elements = paramPath.get("elements");
77972
77973 for (var i = 0; i < elements.length; i++) {
77974 replaceRestElement(parentPath, elements[i], container);
77975 }
77976 }
77977
77978 if (paramPath.isObjectPattern() && hasRestElement(paramPath)) {
77979 var uid = parentPath.scope.generateUidIdentifier("ref");
77980 var declar = variableDeclaration("let", [variableDeclarator(paramPath.node, uid)]);
77981
77982 if (container) {
77983 container.push(declar);
77984 } else {
77985 parentPath.ensureBlock();
77986 parentPath.get("body").unshiftContainer("body", declar);
77987 }
77988
77989 paramPath.replaceWith(cloneNode(uid));
77990 }
77991 }
77992
77993 return {
77994 name: "proposal-object-rest-spread",
77995 inherits: lib$e["default"],
77996 visitor: {
77997 Function: function Function(path) {
77998 var params = path.get("params");
77999 var paramsWithRestElement = new Set();
78000 var idsInRestParams = new Set();
78001
78002 for (var _i = 0; _i < params.length; ++_i) {
78003 var param = params[_i];
78004
78005 if (hasRestElement(param)) {
78006 paramsWithRestElement.add(_i);
78007
78008 for (var _i2 = 0, _Object$keys = Object.keys(param.getBindingIdentifiers()); _i2 < _Object$keys.length; _i2++) {
78009 var name = _Object$keys[_i2];
78010 idsInRestParams.add(name);
78011 }
78012 }
78013 }
78014
78015 var idInRest = false;
78016
78017 var IdentifierHandler = function IdentifierHandler(path, functionScope) {
78018 var name = path.node.name;
78019
78020 if (path.scope.getBinding(name) === functionScope.getBinding(name) && idsInRestParams.has(name)) {
78021 idInRest = true;
78022 path.stop();
78023 }
78024 };
78025
78026 var i;
78027
78028 for (i = 0; i < params.length && !idInRest; ++i) {
78029 var _param = params[i];
78030
78031 if (!paramsWithRestElement.has(i)) {
78032 if (_param.isReferencedIdentifier() || _param.isBindingIdentifier()) {
78033 IdentifierHandler(path, path.scope);
78034 } else {
78035 _param.traverse({
78036 "Scope|TypeAnnotation|TSTypeAnnotation": function ScopeTypeAnnotationTSTypeAnnotation(path) {
78037 return path.skip();
78038 },
78039 "ReferencedIdentifier|BindingIdentifier": IdentifierHandler
78040 }, path.scope);
78041 }
78042 }
78043 }
78044
78045 if (!idInRest) {
78046 for (var _i3 = 0; _i3 < params.length; ++_i3) {
78047 var _param2 = params[_i3];
78048
78049 if (paramsWithRestElement.has(_i3)) {
78050 replaceRestElement(_param2.parentPath, _param2);
78051 }
78052 }
78053 } else {
78054 var shouldTransformParam = function shouldTransformParam(idx) {
78055 return idx >= i - 1 || paramsWithRestElement.has(idx);
78056 };
78057
78058 convertFunctionParams(path, ignoreFunctionLength, shouldTransformParam, replaceRestElement);
78059 }
78060 },
78061 VariableDeclarator: function VariableDeclarator(path, file) {
78062 if (!path.get("id").isObjectPattern()) {
78063 return;
78064 }
78065
78066 var insertionPath = path;
78067 var originalPath = path;
78068 visitRestElements(path.get("id"), function (path) {
78069 if (!path.parentPath.isObjectPattern()) {
78070 return;
78071 }
78072
78073 if (originalPath.node.id.properties.length > 1 && !isIdentifier(originalPath.node.init)) {
78074 var initRef = path.scope.generateUidIdentifierBasedOnNode(originalPath.node.init, "ref");
78075 originalPath.insertBefore(variableDeclarator(initRef, originalPath.node.init));
78076 originalPath.replaceWith(variableDeclarator(originalPath.node.id, cloneNode(initRef)));
78077 return;
78078 }
78079
78080 var ref = originalPath.node.init;
78081 var refPropertyPath = [];
78082 var kind;
78083 path.findParent(function (path) {
78084 if (path.isObjectProperty()) {
78085 refPropertyPath.unshift(path);
78086 } else if (path.isVariableDeclarator()) {
78087 kind = path.parentPath.node.kind;
78088 return true;
78089 }
78090 });
78091 var impureObjRefComputedDeclarators = replaceImpureComputedKeys(refPropertyPath, path.scope);
78092 refPropertyPath.forEach(function (prop) {
78093 var node = prop.node;
78094 ref = memberExpression(ref, cloneNode(node.key), node.computed || isLiteral(node.key));
78095 });
78096 var objectPatternPath = path.findParent(function (path) {
78097 return path.isObjectPattern();
78098 });
78099
78100 var _createObjectRest = createObjectRest(objectPatternPath, file, ref),
78101 _createObjectRest2 = _slicedToArray$2(_createObjectRest, 3),
78102 impureComputedPropertyDeclarators = _createObjectRest2[0],
78103 argument = _createObjectRest2[1],
78104 callExpression = _createObjectRest2[2];
78105
78106 if (pureGetters) {
78107 removeUnusedExcludedKeys(objectPatternPath);
78108 }
78109
78110 assertIdentifier(argument);
78111 insertionPath.insertBefore(impureComputedPropertyDeclarators);
78112 insertionPath.insertBefore(impureObjRefComputedDeclarators);
78113 insertionPath.insertAfter(variableDeclarator(argument, callExpression));
78114 insertionPath = insertionPath.getSibling(insertionPath.key + 1);
78115 path.scope.registerBinding(kind, insertionPath);
78116
78117 if (objectPatternPath.node.properties.length === 0) {
78118 objectPatternPath.findParent(function (path) {
78119 return path.isObjectProperty() || path.isVariableDeclarator();
78120 }).remove();
78121 }
78122 });
78123 },
78124 ExportNamedDeclaration: function ExportNamedDeclaration(path) {
78125 var declaration = path.get("declaration");
78126 if (!declaration.isVariableDeclaration()) return;
78127 var hasRest = declaration.get("declarations").some(function (path) {
78128 return hasObjectPatternRestElement(path.get("id"));
78129 });
78130 if (!hasRest) return;
78131 var specifiers = [];
78132
78133 for (var _i4 = 0, _Object$keys2 = Object.keys(path.getOuterBindingIdentifiers(path)); _i4 < _Object$keys2.length; _i4++) {
78134 var name = _Object$keys2[_i4];
78135 specifiers.push(exportSpecifier(identifier(name), identifier(name)));
78136 }
78137
78138 path.replaceWith(declaration.node);
78139 path.insertAfter(exportNamedDeclaration(null, specifiers));
78140 },
78141 CatchClause: function CatchClause(path) {
78142 var paramPath = path.get("param");
78143 replaceRestElement(paramPath.parentPath, paramPath);
78144 },
78145 AssignmentExpression: function AssignmentExpression(path, file) {
78146 var leftPath = path.get("left");
78147
78148 if (leftPath.isObjectPattern() && hasRestElement(leftPath)) {
78149 var nodes = [];
78150 var refName = path.scope.generateUidBasedOnNode(path.node.right, "ref");
78151 nodes.push(variableDeclaration("var", [variableDeclarator(identifier(refName), path.node.right)]));
78152
78153 var _createObjectRest3 = createObjectRest(leftPath, file, identifier(refName)),
78154 _createObjectRest4 = _slicedToArray$2(_createObjectRest3, 3),
78155 impureComputedPropertyDeclarators = _createObjectRest4[0],
78156 argument = _createObjectRest4[1],
78157 callExpression = _createObjectRest4[2];
78158
78159 if (impureComputedPropertyDeclarators.length > 0) {
78160 nodes.push(variableDeclaration("var", impureComputedPropertyDeclarators));
78161 }
78162
78163 var nodeWithoutSpread = cloneNode(path.node);
78164 nodeWithoutSpread.right = identifier(refName);
78165 nodes.push(expressionStatement(nodeWithoutSpread));
78166 nodes.push(toStatement(assignmentExpression("=", argument, callExpression)));
78167 nodes.push(expressionStatement(identifier(refName)));
78168 path.replaceWithMultiple(nodes);
78169 }
78170 },
78171 ForXStatement: function ForXStatement(path) {
78172 var node = path.node,
78173 scope = path.scope;
78174 var leftPath = path.get("left");
78175 var left = node.left;
78176
78177 if (!hasObjectPatternRestElement(leftPath)) {
78178 return;
78179 }
78180
78181 if (!isVariableDeclaration(left)) {
78182 var temp = scope.generateUidIdentifier("ref");
78183 node.left = variableDeclaration("var", [variableDeclarator(temp)]);
78184 path.ensureBlock();
78185
78186 if (node.body.body.length === 0 && path.isCompletionRecord()) {
78187 node.body.body.unshift(expressionStatement(scope.buildUndefinedNode()));
78188 }
78189
78190 node.body.body.unshift(expressionStatement(assignmentExpression("=", left, cloneNode(temp))));
78191 } else {
78192 var pattern = left.declarations[0].id;
78193 var key = scope.generateUidIdentifier("ref");
78194 node.left = variableDeclaration(left.kind, [variableDeclarator(key, null)]);
78195 path.ensureBlock();
78196 node.body.body.unshift(variableDeclaration(node.left.kind, [variableDeclarator(pattern, cloneNode(key))]));
78197 }
78198 },
78199 ArrayPattern: function ArrayPattern(path) {
78200 var objectPatterns = [];
78201 visitRestElements(path, function (path) {
78202 if (!path.parentPath.isObjectPattern()) {
78203 return;
78204 }
78205
78206 var objectPattern = path.parentPath;
78207 var uid = path.scope.generateUidIdentifier("ref");
78208 objectPatterns.push(variableDeclarator(objectPattern.node, uid));
78209 objectPattern.replaceWith(cloneNode(uid));
78210 path.skip();
78211 });
78212
78213 if (objectPatterns.length > 0) {
78214 var statementPath = path.getStatementParent();
78215 statementPath.insertAfter(variableDeclaration(statementPath.node.kind || "var", objectPatterns));
78216 }
78217 },
78218 ObjectExpression: function ObjectExpression(path, file) {
78219 if (!hasSpread(path.node)) return;
78220 var helper;
78221
78222 if (setSpreadProperties) {
78223 helper = getExtendsHelper(file);
78224 } else {
78225 try {
78226 helper = file.addHelper("objectSpread2");
78227 } catch (_unused) {
78228 this.file.declarations["objectSpread2"] = null;
78229 helper = file.addHelper("objectSpread");
78230 }
78231 }
78232
78233 var exp = null;
78234 var props = [];
78235
78236 function make() {
78237 var hadProps = props.length > 0;
78238 var obj = objectExpression(props);
78239 props = [];
78240
78241 if (!exp) {
78242 exp = callExpression(helper, [obj]);
78243 return;
78244 }
78245
78246 if (pureGetters) {
78247 if (hadProps) {
78248 exp.arguments.push(obj);
78249 }
78250
78251 return;
78252 }
78253
78254 exp = callExpression(cloneNode(helper), [exp].concat(_toConsumableArray(hadProps ? [objectExpression([]), obj] : [])));
78255 }
78256
78257 for (var _i5 = 0, _arr = path.node.properties; _i5 < _arr.length; _i5++) {
78258 var prop = _arr[_i5];
78259
78260 if (isSpreadElement(prop)) {
78261 make();
78262 exp.arguments.push(prop.argument);
78263 } else {
78264 props.push(prop);
78265 }
78266 }
78267
78268 if (props.length) make();
78269 path.replaceWith(exp);
78270 }
78271 }
78272 };
78273 });
78274
78275 var lib$d = createCommonjsModule(function (module, exports) {
78276
78277 Object.defineProperty(exports, "__esModule", {
78278 value: true
78279 });
78280 exports["default"] = void 0;
78281
78282 var _default = (0, _helperPluginUtils.declare)(function (api) {
78283 api.assertVersion(7);
78284 return {
78285 name: "syntax-optional-catch-binding",
78286 manipulateOptions: function manipulateOptions(opts, parserOpts) {
78287 parserOpts.plugins.push("optionalCatchBinding");
78288 }
78289 };
78290 });
78291
78292 exports["default"] = _default;
78293 }, "/$$rollup_base$$/packages/babel-plugin-proposal-optional-catch-binding/node_modules/@babel/plugin-syntax-optional-catch-binding/lib");
78294
78295 var _proposalOptionalCatchBinding = declare(function (api) {
78296 api.assertVersion(7);
78297 return {
78298 name: "proposal-optional-catch-binding",
78299 inherits: lib$d["default"],
78300 visitor: {
78301 CatchClause: function CatchClause(path) {
78302 if (!path.node.param) {
78303 var uid = path.scope.generateUidIdentifier("unused");
78304 var paramPath = path.get("param");
78305 paramPath.replaceWith(uid);
78306 }
78307 }
78308 }
78309 };
78310 });
78311
78312 var lib$c = createCommonjsModule(function (module, exports) {
78313
78314 Object.defineProperty(exports, "__esModule", {
78315 value: true
78316 });
78317 exports["default"] = void 0;
78318
78319 var _default = (0, _helperPluginUtils.declare)(function (api) {
78320 api.assertVersion(7);
78321 return {
78322 name: "syntax-optional-chaining",
78323 manipulateOptions: function manipulateOptions(opts, parserOpts) {
78324 parserOpts.plugins.push("optionalChaining");
78325 }
78326 };
78327 });
78328
78329 exports["default"] = _default;
78330 }, "/$$rollup_base$$/packages/babel-plugin-proposal-optional-chaining/node_modules/@babel/plugin-syntax-optional-chaining/lib");
78331
78332 function isTransparentExprWrapper(node) {
78333 return isTSAsExpression(node) || isTSTypeAssertion(node) || isTSNonNullExpression(node) || isTypeCastExpression(node) || isParenthesizedExpression(node);
78334 }
78335 function skipTransparentExprWrappers(path) {
78336 while (isTransparentExprWrapper(path.node)) {
78337 path = path.get("expression");
78338 }
78339
78340 return path;
78341 }
78342
78343 function willPathCastToBoolean(path) {
78344 var maybeWrapped = findOutermostTransparentParent(path);
78345 var node = maybeWrapped.node,
78346 parentPath = maybeWrapped.parentPath;
78347
78348 if (parentPath.isLogicalExpression()) {
78349 var _parentPath$node = parentPath.node,
78350 operator = _parentPath$node.operator,
78351 right = _parentPath$node.right;
78352
78353 if (operator === "&&" || operator === "||" || operator === "??" && node === right) {
78354 return willPathCastToBoolean(parentPath);
78355 }
78356 }
78357
78358 if (parentPath.isSequenceExpression()) {
78359 var expressions = parentPath.node.expressions;
78360
78361 if (expressions[expressions.length - 1] === node) {
78362 return willPathCastToBoolean(parentPath);
78363 } else {
78364 return true;
78365 }
78366 }
78367
78368 return parentPath.isConditional({
78369 test: node
78370 }) || parentPath.isUnaryExpression({
78371 operator: "!"
78372 }) || parentPath.isLoop({
78373 test: node
78374 });
78375 }
78376 function findOutermostTransparentParent(path) {
78377 var maybeWrapped = path;
78378 path.findParent(function (p) {
78379 if (!isTransparentExprWrapper(p)) return true;
78380 maybeWrapped = p;
78381 });
78382 return maybeWrapped;
78383 }
78384
78385 var _templateObject$e, _templateObject2$7, _templateObject3$6, _templateObject4$2, _templateObject5$1, _templateObject6$1, _templateObject7;
78386 var ast = template$2.expression.ast;
78387
78388 function isSimpleMemberExpression(expression) {
78389 expression = skipTransparentExprWrappers(expression);
78390 return isIdentifier(expression) || isSuper(expression) || isMemberExpression(expression) && !expression.computed && isSimpleMemberExpression(expression.object);
78391 }
78392
78393 function needsMemoize(path) {
78394 var optionalPath = path;
78395 var scope = path.scope;
78396
78397 while (optionalPath.isOptionalMemberExpression() || optionalPath.isOptionalCallExpression()) {
78398 var _optionalPath = optionalPath,
78399 node = _optionalPath.node;
78400 var childKey = optionalPath.isOptionalMemberExpression() ? "object" : "callee";
78401 var childPath = skipTransparentExprWrappers(optionalPath.get(childKey));
78402
78403 if (node.optional) {
78404 return !scope.isStatic(childPath.node);
78405 }
78406
78407 optionalPath = childPath;
78408 }
78409 }
78410
78411 function transform$1(path, _ref) {
78412 var pureGetters = _ref.pureGetters,
78413 noDocumentAll = _ref.noDocumentAll;
78414 var scope = path.scope;
78415 var maybeWrapped = findOutermostTransparentParent(path);
78416 var parentPath = maybeWrapped.parentPath;
78417 var willReplacementCastToBoolean = willPathCastToBoolean(maybeWrapped);
78418 var isDeleteOperation = false;
78419 var parentIsCall = parentPath.isCallExpression({
78420 callee: maybeWrapped.node
78421 }) && path.isOptionalMemberExpression();
78422 var optionals = [];
78423 var optionalPath = path;
78424
78425 if (scope.path.isPattern() && needsMemoize(optionalPath)) {
78426 path.replaceWith(template$2.ast(_templateObject$e || (_templateObject$e = _taggedTemplateLiteralLoose(["(() => ", ")()"])), path.node));
78427 return;
78428 }
78429
78430 while (optionalPath.isOptionalMemberExpression() || optionalPath.isOptionalCallExpression()) {
78431 var _optionalPath2 = optionalPath,
78432 node = _optionalPath2.node;
78433
78434 if (node.optional) {
78435 optionals.push(node);
78436 }
78437
78438 if (optionalPath.isOptionalMemberExpression()) {
78439 optionalPath.node.type = "MemberExpression";
78440 optionalPath = skipTransparentExprWrappers(optionalPath.get("object"));
78441 } else if (optionalPath.isOptionalCallExpression()) {
78442 optionalPath.node.type = "CallExpression";
78443 optionalPath = skipTransparentExprWrappers(optionalPath.get("callee"));
78444 }
78445 }
78446
78447 var replacementPath = path;
78448
78449 if (parentPath.isUnaryExpression({
78450 operator: "delete"
78451 })) {
78452 replacementPath = parentPath;
78453 isDeleteOperation = true;
78454 }
78455
78456 for (var i = optionals.length - 1; i >= 0; i--) {
78457 var _node = optionals[i];
78458 var isCall = isCallExpression(_node);
78459 var replaceKey = isCall ? "callee" : "object";
78460 var chainWithTypes = _node[replaceKey];
78461 var chain = chainWithTypes;
78462
78463 while (isTransparentExprWrapper(chain)) {
78464 chain = chain.expression;
78465 }
78466
78467 var ref = void 0;
78468 var check = void 0;
78469
78470 if (isCall && isIdentifier(chain, {
78471 name: "eval"
78472 })) {
78473 check = ref = chain;
78474 _node[replaceKey] = sequenceExpression([numericLiteral(0), ref]);
78475 } else if (pureGetters && isCall && isSimpleMemberExpression(chain)) {
78476 check = ref = chainWithTypes;
78477 } else {
78478 ref = scope.maybeGenerateMemoised(chain);
78479
78480 if (ref) {
78481 check = assignmentExpression("=", cloneNode(ref), chainWithTypes);
78482 _node[replaceKey] = ref;
78483 } else {
78484 check = ref = chainWithTypes;
78485 }
78486 }
78487
78488 if (isCall && isMemberExpression(chain)) {
78489 if (pureGetters && isSimpleMemberExpression(chain)) {
78490 _node.callee = chainWithTypes;
78491 } else {
78492 var _chain = chain,
78493 object = _chain.object;
78494 var context = scope.maybeGenerateMemoised(object);
78495
78496 if (context) {
78497 chain.object = assignmentExpression("=", context, object);
78498 } else if (isSuper(object)) {
78499 context = thisExpression();
78500 } else {
78501 context = object;
78502 }
78503
78504 _node.arguments.unshift(cloneNode(context));
78505
78506 _node.callee = memberExpression(_node.callee, identifier("call"));
78507 }
78508 }
78509
78510 var replacement = replacementPath.node;
78511
78512 if (i === 0 && parentIsCall) {
78513 var _baseRef;
78514
78515 var _object = skipTransparentExprWrappers(replacementPath.get("object")).node;
78516 var baseRef = void 0;
78517
78518 if (!pureGetters || !isSimpleMemberExpression(_object)) {
78519 baseRef = scope.maybeGenerateMemoised(_object);
78520
78521 if (baseRef) {
78522 replacement.object = assignmentExpression("=", baseRef, _object);
78523 }
78524 }
78525
78526 replacement = callExpression(memberExpression(replacement, identifier("bind")), [cloneNode((_baseRef = baseRef) != null ? _baseRef : _object)]);
78527 }
78528
78529 if (willReplacementCastToBoolean) {
78530 var nonNullishCheck = noDocumentAll ? ast(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteralLoose(["", " != null"])), cloneNode(check)) : ast(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteralLoose(["\n ", " !== null && ", " !== void 0"])), cloneNode(check), cloneNode(ref));
78531 replacementPath.replaceWith(logicalExpression("&&", nonNullishCheck, replacement));
78532 replacementPath = skipTransparentExprWrappers(replacementPath.get("right"));
78533 } else {
78534 var nullishCheck = noDocumentAll ? ast(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteralLoose(["", " == null"])), cloneNode(check)) : ast(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteralLoose(["\n ", " === null || ", " === void 0"])), cloneNode(check), cloneNode(ref));
78535 var returnValue = isDeleteOperation ? ast(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteralLoose(["true"]))) : ast(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["void 0"])));
78536 replacementPath.replaceWith(conditionalExpression(nullishCheck, returnValue, replacement));
78537 replacementPath = skipTransparentExprWrappers(replacementPath.get("alternate"));
78538 }
78539 }
78540 }
78541
78542 var _proposalOptionalChaining = declare(function (api, options) {
78543 var _api$assumption, _api$assumption2;
78544
78545 api.assertVersion(7);
78546 var _options$loose = options.loose,
78547 loose = _options$loose === void 0 ? false : _options$loose;
78548 var noDocumentAll = (_api$assumption = api.assumption("noDocumentAll")) != null ? _api$assumption : loose;
78549 var pureGetters = (_api$assumption2 = api.assumption("pureGetters")) != null ? _api$assumption2 : loose;
78550 return {
78551 name: "proposal-optional-chaining",
78552 inherits: lib$c["default"],
78553 visitor: {
78554 "OptionalCallExpression|OptionalMemberExpression": function OptionalCallExpressionOptionalMemberExpression(path) {
78555 transform$1(path, {
78556 noDocumentAll: noDocumentAll,
78557 pureGetters: pureGetters
78558 });
78559 }
78560 }
78561 };
78562 });
78563
78564 var buildOptimizedSequenceExpression = function buildOptimizedSequenceExpression(_ref) {
78565 var call = _ref.call,
78566 path = _ref.path,
78567 placeholder = _ref.placeholder;
78568 var calledExpression = call.callee;
78569 var pipelineLeft = path.node.left;
78570 var assign = assignmentExpression("=", cloneNode(placeholder), pipelineLeft);
78571 var optimizeArrow = isArrowFunctionExpression(calledExpression) && isExpression(calledExpression.body) && !calledExpression.async && !calledExpression.generator;
78572 var param;
78573
78574 if (optimizeArrow) {
78575 var params = calledExpression.params;
78576
78577 if (params.length === 1 && isIdentifier(params[0])) {
78578 param = params[0];
78579 } else if (params.length > 0) {
78580 optimizeArrow = false;
78581 }
78582 } else if (isIdentifier(calledExpression, {
78583 name: "eval"
78584 })) {
78585 var evalSequence = sequenceExpression([numericLiteral(0), calledExpression]);
78586 call.callee = evalSequence;
78587 path.scope.push({
78588 id: cloneNode(placeholder)
78589 });
78590 return sequenceExpression([assign, call]);
78591 }
78592
78593 if (optimizeArrow && !param) {
78594 return sequenceExpression([pipelineLeft, calledExpression.body]);
78595 }
78596
78597 path.scope.push({
78598 id: cloneNode(placeholder)
78599 });
78600
78601 if (param) {
78602 path.get("right").scope.rename(param.name, placeholder.name);
78603 return sequenceExpression([assign, calledExpression.body]);
78604 }
78605
78606 return sequenceExpression([assign, call]);
78607 };
78608
78609 var minimalVisitor = {
78610 BinaryExpression: function BinaryExpression(path) {
78611 var scope = path.scope,
78612 node = path.node;
78613 var operator = node.operator,
78614 left = node.left,
78615 right = node.right;
78616 if (operator !== "|>") return;
78617 var placeholder = scope.generateUidIdentifierBasedOnNode(left);
78618 var call = callExpression(right, [cloneNode(placeholder)]);
78619 path.replaceWith(buildOptimizedSequenceExpression({
78620 placeholder: placeholder,
78621 call: call,
78622 path: path
78623 }));
78624 }
78625 };
78626
78627 var updateTopicReferenceVisitor = {
78628 PipelinePrimaryTopicReference: function PipelinePrimaryTopicReference(path) {
78629 path.replaceWith(cloneNode(this.topicId));
78630 },
78631 PipelineTopicExpression: function PipelineTopicExpression(path) {
78632 path.skip();
78633 }
78634 };
78635 var smartVisitor = {
78636 BinaryExpression: function BinaryExpression(path) {
78637 var scope = path.scope;
78638 var node = path.node;
78639 var operator = node.operator,
78640 left = node.left,
78641 right = node.right;
78642 if (operator !== "|>") return;
78643 var placeholder = scope.generateUidIdentifierBasedOnNode(left);
78644 scope.push({
78645 id: placeholder
78646 });
78647 var call;
78648
78649 if (isPipelineTopicExpression(right)) {
78650 path.get("right").traverse(updateTopicReferenceVisitor, {
78651 topicId: placeholder
78652 });
78653 call = right.expression;
78654 } else {
78655 var callee = right.callee;
78656
78657 if (isIdentifier(callee, {
78658 name: "eval"
78659 })) {
78660 callee = sequenceExpression([numericLiteral(0), callee]);
78661 }
78662
78663 call = callExpression(callee, [cloneNode(placeholder)]);
78664 }
78665
78666 path.replaceWith(sequenceExpression([assignmentExpression("=", cloneNode(placeholder), left), call]));
78667 }
78668 };
78669
78670 var fsharpVisitor = {
78671 BinaryExpression: function BinaryExpression(path) {
78672 var scope = path.scope,
78673 node = path.node;
78674 var operator = node.operator,
78675 left = node.left,
78676 right = node.right;
78677 if (operator !== "|>") return;
78678 var placeholder = scope.generateUidIdentifierBasedOnNode(left);
78679 var call = right.type === "AwaitExpression" ? awaitExpression(cloneNode(placeholder)) : callExpression(right, [cloneNode(placeholder)]);
78680 var sequence = buildOptimizedSequenceExpression({
78681 placeholder: placeholder,
78682 call: call,
78683 path: path
78684 });
78685 path.replaceWith(sequence);
78686 }
78687 };
78688
78689 var visitorsPerProposal = {
78690 minimal: minimalVisitor,
78691 smart: smartVisitor,
78692 fsharp: fsharpVisitor
78693 };
78694 var proposalPipelineOperator = declare(function (api, options) {
78695 api.assertVersion(7);
78696 return {
78697 name: "proposal-pipeline-operator",
78698 inherits: syntaxPipelineOperator,
78699 visitor: visitorsPerProposal[options.proposal]
78700 };
78701 });
78702
78703 var _proposalPrivateMethods = declare(function (api, options) {
78704 api.assertVersion(7);
78705 return createClassFeaturePlugin({
78706 name: "proposal-private-methods",
78707 api: api,
78708 feature: FEATURES$1.privateMethods,
78709 loose: options.loose,
78710 manipulateOptions: function manipulateOptions(opts, parserOpts) {
78711 parserOpts.plugins.push("classPrivateMethods");
78712 }
78713 });
78714 });
78715
78716 var _syntaxPrivatePropertyInObject = declare(function (api) {
78717 api.assertVersion(7);
78718 return {
78719 name: "syntax-private-property-in-object",
78720 manipulateOptions: function manipulateOptions(opts, parserOpts) {
78721 parserOpts.plugins.push("privateIn");
78722 }
78723 };
78724 });
78725
78726 var _templateObject$d, _templateObject2$6, _templateObject3$5, _templateObject4$1, _templateObject5, _templateObject6;
78727 var _proposalPrivatePropertyInObject = declare(function (_ref, _ref2) {
78728 var assertVersion = _ref.assertVersion,
78729 t = _ref.types,
78730 template = _ref.template;
78731 var loose = _ref2.loose;
78732 assertVersion(7);
78733 var classWeakSets = new WeakMap();
78734 var fieldsWeakSets = new WeakMap();
78735
78736 function unshadow(name, targetScope, scope) {
78737 while (scope !== targetScope) {
78738 if (scope.hasOwnBinding(name)) scope.rename(name);
78739 scope = scope.parent;
78740 }
78741 }
78742
78743 function injectToFieldInit(fieldPath, expr, before) {
78744 if (before === void 0) {
78745 before = false;
78746 }
78747
78748 if (fieldPath.node.value) {
78749 if (before) {
78750 fieldPath.get("value").insertBefore(expr);
78751 } else {
78752 fieldPath.get("value").insertAfter(expr);
78753 }
78754 } else {
78755 fieldPath.set("value", t.unaryExpression("void", expr));
78756 }
78757 }
78758
78759 function injectInitialization$1(classPath, init) {
78760 var firstFieldPath;
78761 var consturctorPath;
78762
78763 for (var _iterator = _createForOfIteratorHelperLoose(classPath.get("body.body")), _step; !(_step = _iterator()).done;) {
78764 var el = _step.value;
78765
78766 if ((el.isClassProperty() || el.isClassPrivateProperty()) && !el.node["static"]) {
78767 firstFieldPath = el;
78768 break;
78769 }
78770
78771 if (!consturctorPath && el.isClassMethod({
78772 kind: "constructor"
78773 })) {
78774 consturctorPath = el;
78775 }
78776 }
78777
78778 if (firstFieldPath) {
78779 injectToFieldInit(firstFieldPath, init, true);
78780 } else {
78781 injectInitialization(classPath, consturctorPath, [t.expressionStatement(init)]);
78782 }
78783 }
78784
78785 function getWeakSetId(weakSets, outerClass, reference, name, inject) {
78786 if (name === void 0) {
78787 name = "";
78788 }
78789
78790 var id = classWeakSets.get(reference.node);
78791
78792 if (!id) {
78793 id = outerClass.scope.generateUidIdentifier((name || "") + " brandCheck");
78794 classWeakSets.set(reference.node, id);
78795 inject(reference, template.expression.ast(_templateObject$d || (_templateObject$d = _taggedTemplateLiteralLoose(["", ".add(this)"])), t.cloneNode(id)));
78796 var newExpr = t.newExpression(t.identifier("WeakSet"), []);
78797 annotateAsPure(newExpr);
78798 outerClass.insertBefore(template.ast(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteralLoose(["var ", " = ", ""])), id, newExpr));
78799 }
78800
78801 return t.cloneNode(id);
78802 }
78803
78804 return {
78805 name: "proposal-private-property-in-object",
78806 inherits: _syntaxPrivatePropertyInObject,
78807 pre: function pre() {
78808 enableFeature$1(this.file, FEATURES$1.privateIn, loose);
78809 },
78810 visitor: {
78811 BinaryExpression: function BinaryExpression(path) {
78812 var node = path.node;
78813 if (node.operator !== "in") return;
78814 if (!t.isPrivateName(node.left)) return;
78815 var name = node.left.id.name;
78816 var privateElement;
78817 var outerClass = path.findParent(function (path) {
78818 if (!path.isClass()) return false;
78819 privateElement = path.get("body.body").find(function (_ref3) {
78820 var node = _ref3.node;
78821 return t.isPrivate(node) && node.key.id.name === name;
78822 });
78823 return !!privateElement;
78824 });
78825
78826 if (outerClass.parentPath.scope.path.isPattern()) {
78827 outerClass.replaceWith(template.ast(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteralLoose(["(() => ", ")()"])), outerClass.node));
78828 return;
78829 }
78830
78831 if (privateElement.isMethod()) {
78832 if (privateElement.node["static"]) {
78833 if (outerClass.node.id) {
78834 unshadow(outerClass.node.id.name, outerClass.scope, path.scope);
78835 } else {
78836 outerClass.set("id", path.scope.generateUidIdentifier("class"));
78837 }
78838
78839 path.replaceWith(template.expression.ast(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteralLoose(["\n ", " === ", "\n "])), t.cloneNode(outerClass.node.id), path.node.right));
78840 } else {
78841 var _outerClass$node$id;
78842
78843 var id = getWeakSetId(classWeakSets, outerClass, outerClass, (_outerClass$node$id = outerClass.node.id) == null ? void 0 : _outerClass$node$id.name, injectInitialization$1);
78844 path.replaceWith(template.expression.ast(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["", ".has(", ")"])), id, path.node.right));
78845 }
78846 } else {
78847 var _id = getWeakSetId(fieldsWeakSets, outerClass, privateElement, privateElement.node.key.id.name, injectToFieldInit);
78848
78849 path.replaceWith(template.expression.ast(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["", ".has(", ")"])), _id, path.node.right));
78850 }
78851 }
78852 }
78853 };
78854 });
78855
78856 var syntaxThrowExpressions = declare(function (api) {
78857 api.assertVersion(7);
78858 return {
78859 name: "syntax-throw-expressions",
78860 manipulateOptions: function manipulateOptions(opts, parserOpts) {
78861 parserOpts.plugins.push("throwExpressions");
78862 }
78863 };
78864 });
78865
78866 var proposalThrowExpressions = declare(function (api) {
78867 api.assertVersion(7);
78868 return {
78869 name: "proposal-throw-expressions",
78870 inherits: syntaxThrowExpressions,
78871 visitor: {
78872 UnaryExpression: function UnaryExpression(path) {
78873 var _path$node = path.node,
78874 operator = _path$node.operator,
78875 argument = _path$node.argument;
78876 if (operator !== "throw") return;
78877 var arrow = functionExpression(null, [identifier("e")], blockStatement([throwStatement(identifier("e"))]));
78878 path.replaceWith(callExpression(arrow, [argument]));
78879 }
78880 }
78881 };
78882 });
78883
78884 var regjsgen = createCommonjsModule(function (module, exports) {
78885 (function () {
78886
78887 var objectTypes = {
78888 'function': true,
78889 'object': true
78890 };
78891 var root = objectTypes[typeof window] && window || this;
78892 var freeExports = exports && !exports.nodeType && exports;
78893 var hasFreeModule = module && !module.nodeType;
78894 var freeGlobal = freeExports && hasFreeModule && typeof commonjsGlobal == 'object' && commonjsGlobal;
78895
78896 if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {
78897 root = freeGlobal;
78898 }
78899
78900 var hasOwnProperty = Object.prototype.hasOwnProperty;
78901
78902 function fromCodePoint() {
78903 var codePoint = Number(arguments[0]);
78904
78905 if (!isFinite(codePoint) || codePoint < 0 || codePoint > 0x10FFFF || Math.floor(codePoint) != codePoint) {
78906 throw RangeError('Invalid code point: ' + codePoint);
78907 }
78908
78909 if (codePoint <= 0xFFFF) {
78910 return String.fromCharCode(codePoint);
78911 } else {
78912 codePoint -= 0x10000;
78913 var highSurrogate = (codePoint >> 10) + 0xD800;
78914 var lowSurrogate = codePoint % 0x400 + 0xDC00;
78915 return String.fromCharCode(highSurrogate, lowSurrogate);
78916 }
78917 }
78918
78919 var assertTypeRegexMap = {};
78920
78921 function assertType(type, expected) {
78922 if (expected.indexOf('|') == -1) {
78923 if (type == expected) {
78924 return;
78925 }
78926
78927 throw Error('Invalid node type: ' + type + '; expected type: ' + expected);
78928 }
78929
78930 expected = hasOwnProperty.call(assertTypeRegexMap, expected) ? assertTypeRegexMap[expected] : assertTypeRegexMap[expected] = RegExp('^(?:' + expected + ')$');
78931
78932 if (expected.test(type)) {
78933 return;
78934 }
78935
78936 throw Error('Invalid node type: ' + type + '; expected types: ' + expected);
78937 }
78938
78939 function generate(node) {
78940 var type = node.type;
78941
78942 if (hasOwnProperty.call(generators, type)) {
78943 return generators[type](node);
78944 }
78945
78946 throw Error('Invalid node type: ' + type);
78947 }
78948
78949 function generateAlternative(node) {
78950 assertType(node.type, 'alternative');
78951 var terms = node.body,
78952 i = -1,
78953 length = terms.length,
78954 result = '';
78955
78956 while (++i < length) {
78957 result += generateTerm(terms[i]);
78958 }
78959
78960 return result;
78961 }
78962
78963 function generateAnchor(node) {
78964 assertType(node.type, 'anchor');
78965
78966 switch (node.kind) {
78967 case 'start':
78968 return '^';
78969
78970 case 'end':
78971 return '$';
78972
78973 case 'boundary':
78974 return '\\b';
78975
78976 case 'not-boundary':
78977 return '\\B';
78978
78979 default:
78980 throw Error('Invalid assertion');
78981 }
78982 }
78983
78984 function generateAtom(node) {
78985 assertType(node.type, 'anchor|characterClass|characterClassEscape|dot|group|reference|value');
78986 return generate(node);
78987 }
78988
78989 function generateCharacterClass(node) {
78990 assertType(node.type, 'characterClass');
78991 var classRanges = node.body,
78992 i = -1,
78993 length = classRanges.length,
78994 result = '';
78995
78996 if (node.negative) {
78997 result += '^';
78998 }
78999
79000 while (++i < length) {
79001 result += generateClassAtom(classRanges[i]);
79002 }
79003
79004 return '[' + result + ']';
79005 }
79006
79007 function generateCharacterClassEscape(node) {
79008 assertType(node.type, 'characterClassEscape');
79009 return '\\' + node.value;
79010 }
79011
79012 function generateUnicodePropertyEscape(node) {
79013 assertType(node.type, 'unicodePropertyEscape');
79014 return '\\' + (node.negative ? 'P' : 'p') + '{' + node.value + '}';
79015 }
79016
79017 function generateCharacterClassRange(node) {
79018 assertType(node.type, 'characterClassRange');
79019 var min = node.min,
79020 max = node.max;
79021
79022 if (min.type == 'characterClassRange' || max.type == 'characterClassRange') {
79023 throw Error('Invalid character class range');
79024 }
79025
79026 return generateClassAtom(min) + '-' + generateClassAtom(max);
79027 }
79028
79029 function generateClassAtom(node) {
79030 assertType(node.type, 'anchor|characterClassEscape|characterClassRange|dot|value');
79031 return generate(node);
79032 }
79033
79034 function generateDisjunction(node) {
79035 assertType(node.type, 'disjunction');
79036 var body = node.body,
79037 i = -1,
79038 length = body.length,
79039 result = '';
79040
79041 while (++i < length) {
79042 if (i != 0) {
79043 result += '|';
79044 }
79045
79046 result += generate(body[i]);
79047 }
79048
79049 return result;
79050 }
79051
79052 function generateDot(node) {
79053 assertType(node.type, 'dot');
79054 return '.';
79055 }
79056
79057 function generateGroup(node) {
79058 assertType(node.type, 'group');
79059 var result = '';
79060
79061 switch (node.behavior) {
79062 case 'normal':
79063 if (node.name) {
79064 result += '?<' + generateIdentifier(node.name) + '>';
79065 }
79066
79067 break;
79068
79069 case 'ignore':
79070 result += '?:';
79071 break;
79072
79073 case 'lookahead':
79074 result += '?=';
79075 break;
79076
79077 case 'negativeLookahead':
79078 result += '?!';
79079 break;
79080
79081 case 'lookbehind':
79082 result += '?<=';
79083 break;
79084
79085 case 'negativeLookbehind':
79086 result += '?<!';
79087 break;
79088
79089 default:
79090 throw Error('Invalid behaviour: ' + node.behaviour);
79091 }
79092
79093 var body = node.body,
79094 i = -1,
79095 length = body.length;
79096
79097 while (++i < length) {
79098 result += generate(body[i]);
79099 }
79100
79101 return '(' + result + ')';
79102 }
79103
79104 function generateIdentifier(node) {
79105 assertType(node.type, 'identifier');
79106 return node.value;
79107 }
79108
79109 function generateQuantifier(node) {
79110 assertType(node.type, 'quantifier');
79111 var quantifier = '',
79112 min = node.min,
79113 max = node.max;
79114
79115 if (max == null) {
79116 if (min == 0) {
79117 quantifier = '*';
79118 } else if (min == 1) {
79119 quantifier = '+';
79120 } else {
79121 quantifier = '{' + min + ',}';
79122 }
79123 } else if (min == max) {
79124 quantifier = '{' + min + '}';
79125 } else if (min == 0 && max == 1) {
79126 quantifier = '?';
79127 } else {
79128 quantifier = '{' + min + ',' + max + '}';
79129 }
79130
79131 if (!node.greedy) {
79132 quantifier += '?';
79133 }
79134
79135 return generateAtom(node.body[0]) + quantifier;
79136 }
79137
79138 function generateReference(node) {
79139 assertType(node.type, 'reference');
79140
79141 if (node.matchIndex) {
79142 return '\\' + node.matchIndex;
79143 }
79144
79145 if (node.name) {
79146 return '\\k<' + generateIdentifier(node.name) + '>';
79147 }
79148
79149 throw new Error('Unknown reference type');
79150 }
79151
79152 function generateTerm(node) {
79153 assertType(node.type, 'anchor|characterClass|characterClassEscape|empty|group|quantifier|reference|unicodePropertyEscape|value|dot');
79154 return generate(node);
79155 }
79156
79157 function generateValue(node) {
79158 assertType(node.type, 'value');
79159 var kind = node.kind,
79160 codePoint = node.codePoint;
79161
79162 if (typeof codePoint != 'number') {
79163 throw new Error('Invalid code point: ' + codePoint);
79164 }
79165
79166 switch (kind) {
79167 case 'controlLetter':
79168 return '\\c' + fromCodePoint(codePoint + 64);
79169
79170 case 'hexadecimalEscape':
79171 return '\\x' + ('00' + codePoint.toString(16).toUpperCase()).slice(-2);
79172
79173 case 'identifier':
79174 return '\\' + fromCodePoint(codePoint);
79175
79176 case 'null':
79177 return '\\' + codePoint;
79178
79179 case 'octal':
79180 return '\\' + codePoint.toString(8);
79181
79182 case 'singleEscape':
79183 switch (codePoint) {
79184 case 0x0008:
79185 return '\\b';
79186
79187 case 0x0009:
79188 return '\\t';
79189
79190 case 0x000A:
79191 return '\\n';
79192
79193 case 0x000B:
79194 return '\\v';
79195
79196 case 0x000C:
79197 return '\\f';
79198
79199 case 0x000D:
79200 return '\\r';
79201
79202 default:
79203 throw Error('Invalid code point: ' + codePoint);
79204 }
79205
79206 case 'symbol':
79207 return fromCodePoint(codePoint);
79208
79209 case 'unicodeEscape':
79210 return "\\u" + ('0000' + codePoint.toString(16).toUpperCase()).slice(-4);
79211
79212 case 'unicodeCodePointEscape':
79213 return "\\u{" + codePoint.toString(16).toUpperCase() + '}';
79214
79215 default:
79216 throw Error('Unsupported node kind: ' + kind);
79217 }
79218 }
79219
79220 var generators = {
79221 'alternative': generateAlternative,
79222 'anchor': generateAnchor,
79223 'characterClass': generateCharacterClass,
79224 'characterClassEscape': generateCharacterClassEscape,
79225 'characterClassRange': generateCharacterClassRange,
79226 'unicodePropertyEscape': generateUnicodePropertyEscape,
79227 'disjunction': generateDisjunction,
79228 'dot': generateDot,
79229 'group': generateGroup,
79230 'quantifier': generateQuantifier,
79231 'reference': generateReference,
79232 'value': generateValue
79233 };
79234 var regjsgen = {
79235 'generate': generate
79236 };
79237
79238 if (freeExports && hasFreeModule) {
79239 freeExports.generate = generate;
79240 } else {
79241 root.regjsgen = regjsgen;
79242 }
79243 }).call(commonjsGlobal);
79244 }, "/$$rollup_base$$/node_modules/regjsgen");
79245
79246 var parser = createCommonjsModule(function (module) {
79247 (function () {
79248 var fromCodePoint = String.fromCodePoint || function () {
79249 var stringFromCharCode = String.fromCharCode;
79250 var floor = Math.floor;
79251 return function fromCodePoint() {
79252 var MAX_SIZE = 0x4000;
79253 var codeUnits = [];
79254 var highSurrogate;
79255 var lowSurrogate;
79256 var index = -1;
79257 var length = arguments.length;
79258
79259 if (!length) {
79260 return '';
79261 }
79262
79263 var result = '';
79264
79265 while (++index < length) {
79266 var codePoint = Number(arguments[index]);
79267
79268 if (!isFinite(codePoint) || codePoint < 0 || codePoint > 0x10FFFF || floor(codePoint) != codePoint) {
79269 throw RangeError('Invalid code point: ' + codePoint);
79270 }
79271
79272 if (codePoint <= 0xFFFF) {
79273 codeUnits.push(codePoint);
79274 } else {
79275 codePoint -= 0x10000;
79276 highSurrogate = (codePoint >> 10) + 0xD800;
79277 lowSurrogate = codePoint % 0x400 + 0xDC00;
79278 codeUnits.push(highSurrogate, lowSurrogate);
79279 }
79280
79281 if (index + 1 == length || codeUnits.length > MAX_SIZE) {
79282 result += stringFromCharCode.apply(null, codeUnits);
79283 codeUnits.length = 0;
79284 }
79285 }
79286
79287 return result;
79288 };
79289 }();
79290
79291 function parse(str, flags, features) {
79292 if (!features) {
79293 features = {};
79294 }
79295
79296 function addRaw(node) {
79297 node.raw = str.substring(node.range[0], node.range[1]);
79298 return node;
79299 }
79300
79301 function updateRawStart(node, start) {
79302 node.range[0] = start;
79303 return addRaw(node);
79304 }
79305
79306 function createAnchor(kind, rawLength) {
79307 return addRaw({
79308 type: 'anchor',
79309 kind: kind,
79310 range: [pos - rawLength, pos]
79311 });
79312 }
79313
79314 function createValue(kind, codePoint, from, to) {
79315 return addRaw({
79316 type: 'value',
79317 kind: kind,
79318 codePoint: codePoint,
79319 range: [from, to]
79320 });
79321 }
79322
79323 function createEscaped(kind, codePoint, value, fromOffset) {
79324 fromOffset = fromOffset || 0;
79325 return createValue(kind, codePoint, pos - (value.length + fromOffset), pos);
79326 }
79327
79328 function createCharacter(matches) {
79329 var _char = matches[0];
79330
79331 var first = _char.charCodeAt(0);
79332
79333 if (hasUnicodeFlag) {
79334 var second;
79335
79336 if (_char.length === 1 && first >= 0xD800 && first <= 0xDBFF) {
79337 second = lookahead().charCodeAt(0);
79338
79339 if (second >= 0xDC00 && second <= 0xDFFF) {
79340 pos++;
79341 return createValue('symbol', (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000, pos - 2, pos);
79342 }
79343 }
79344 }
79345
79346 return createValue('symbol', first, pos - 1, pos);
79347 }
79348
79349 function createDisjunction(alternatives, from, to) {
79350 return addRaw({
79351 type: 'disjunction',
79352 body: alternatives,
79353 range: [from, to]
79354 });
79355 }
79356
79357 function createDot() {
79358 return addRaw({
79359 type: 'dot',
79360 range: [pos - 1, pos]
79361 });
79362 }
79363
79364 function createCharacterClassEscape(value) {
79365 return addRaw({
79366 type: 'characterClassEscape',
79367 value: value,
79368 range: [pos - 2, pos]
79369 });
79370 }
79371
79372 function createReference(matchIndex) {
79373 return addRaw({
79374 type: 'reference',
79375 matchIndex: parseInt(matchIndex, 10),
79376 range: [pos - 1 - matchIndex.length, pos]
79377 });
79378 }
79379
79380 function createNamedReference(name) {
79381 return addRaw({
79382 type: 'reference',
79383 name: name,
79384 range: [name.range[0] - 3, pos]
79385 });
79386 }
79387
79388 function createGroup(behavior, disjunction, from, to) {
79389 return addRaw({
79390 type: 'group',
79391 behavior: behavior,
79392 body: disjunction,
79393 range: [from, to]
79394 });
79395 }
79396
79397 function createQuantifier(min, max, from, to) {
79398 if (to == null) {
79399 from = pos - 1;
79400 to = pos;
79401 }
79402
79403 return addRaw({
79404 type: 'quantifier',
79405 min: min,
79406 max: max,
79407 greedy: true,
79408 body: null,
79409 range: [from, to]
79410 });
79411 }
79412
79413 function createAlternative(terms, from, to) {
79414 return addRaw({
79415 type: 'alternative',
79416 body: terms,
79417 range: [from, to]
79418 });
79419 }
79420
79421 function createCharacterClass(classRanges, negative, from, to) {
79422 return addRaw({
79423 type: 'characterClass',
79424 body: classRanges,
79425 negative: negative,
79426 range: [from, to]
79427 });
79428 }
79429
79430 function createClassRange(min, max, from, to) {
79431 if (min.codePoint > max.codePoint) {
79432 bail('invalid range in character class', min.raw + '-' + max.raw, from, to);
79433 }
79434
79435 return addRaw({
79436 type: 'characterClassRange',
79437 min: min,
79438 max: max,
79439 range: [from, to]
79440 });
79441 }
79442
79443 function flattenBody(body) {
79444 if (body.type === 'alternative') {
79445 return body.body;
79446 } else {
79447 return [body];
79448 }
79449 }
79450
79451 function incr(amount) {
79452 amount = amount || 1;
79453 var res = str.substring(pos, pos + amount);
79454 pos += amount || 1;
79455 return res;
79456 }
79457
79458 function skip(value) {
79459 if (!match(value)) {
79460 bail('character', value);
79461 }
79462 }
79463
79464 function match(value) {
79465 if (str.indexOf(value, pos) === pos) {
79466 return incr(value.length);
79467 }
79468 }
79469
79470 function lookahead() {
79471 return str[pos];
79472 }
79473
79474 function current(value) {
79475 return str.indexOf(value, pos) === pos;
79476 }
79477
79478 function next(value) {
79479 return str[pos + 1] === value;
79480 }
79481
79482 function matchReg(regExp) {
79483 var subStr = str.substring(pos);
79484 var res = subStr.match(regExp);
79485
79486 if (res) {
79487 res.range = [];
79488 res.range[0] = pos;
79489 incr(res[0].length);
79490 res.range[1] = pos;
79491 }
79492
79493 return res;
79494 }
79495
79496 function parseDisjunction() {
79497 var res = [],
79498 from = pos;
79499 res.push(parseAlternative());
79500
79501 while (match('|')) {
79502 res.push(parseAlternative());
79503 }
79504
79505 if (res.length === 1) {
79506 return res[0];
79507 }
79508
79509 return createDisjunction(res, from, pos);
79510 }
79511
79512 function parseAlternative() {
79513 var res = [],
79514 from = pos;
79515 var term;
79516
79517 while (term = parseTerm()) {
79518 res.push(term);
79519 }
79520
79521 if (res.length === 1) {
79522 return res[0];
79523 }
79524
79525 return createAlternative(res, from, pos);
79526 }
79527
79528 function parseTerm() {
79529 if (pos >= str.length || current('|') || current(')')) {
79530 return null;
79531 }
79532
79533 var anchor = parseAnchor();
79534
79535 if (anchor) {
79536 return anchor;
79537 }
79538
79539 var atom = parseAtomAndExtendedAtom();
79540
79541 if (!atom) {
79542 bail('Expected atom');
79543 }
79544
79545 var quantifier = parseQuantifier() || false;
79546
79547 if (quantifier) {
79548 quantifier.body = flattenBody(atom);
79549 updateRawStart(quantifier, atom.range[0]);
79550 return quantifier;
79551 }
79552
79553 return atom;
79554 }
79555
79556 function parseGroup(matchA, typeA, matchB, typeB) {
79557 var type = null,
79558 from = pos;
79559
79560 if (match(matchA)) {
79561 type = typeA;
79562 } else if (match(matchB)) {
79563 type = typeB;
79564 } else {
79565 return false;
79566 }
79567
79568 return finishGroup(type, from);
79569 }
79570
79571 function finishGroup(type, from) {
79572 var body = parseDisjunction();
79573
79574 if (!body) {
79575 bail('Expected disjunction');
79576 }
79577
79578 skip(')');
79579 var group = createGroup(type, flattenBody(body), from, pos);
79580
79581 if (type == 'normal') {
79582 if (firstIteration) {
79583 closedCaptureCounter++;
79584 }
79585 }
79586
79587 return group;
79588 }
79589
79590 function parseAnchor() {
79591
79592 if (match('^')) {
79593 return createAnchor('start', 1);
79594 } else if (match('$')) {
79595 return createAnchor('end', 1);
79596 } else if (match('\\b')) {
79597 return createAnchor('boundary', 2);
79598 } else if (match('\\B')) {
79599 return createAnchor('not-boundary', 2);
79600 } else {
79601 return parseGroup('(?=', 'lookahead', '(?!', 'negativeLookahead');
79602 }
79603 }
79604
79605 function parseQuantifier() {
79606 var res,
79607 from = pos;
79608 var quantifier;
79609 var min, max;
79610
79611 if (match('*')) {
79612 quantifier = createQuantifier(0);
79613 } else if (match('+')) {
79614 quantifier = createQuantifier(1);
79615 } else if (match('?')) {
79616 quantifier = createQuantifier(0, 1);
79617 } else if (res = matchReg(/^\{([0-9]+)\}/)) {
79618 min = parseInt(res[1], 10);
79619 quantifier = createQuantifier(min, min, res.range[0], res.range[1]);
79620 } else if (res = matchReg(/^\{([0-9]+),\}/)) {
79621 min = parseInt(res[1], 10);
79622 quantifier = createQuantifier(min, undefined, res.range[0], res.range[1]);
79623 } else if (res = matchReg(/^\{([0-9]+),([0-9]+)\}/)) {
79624 min = parseInt(res[1], 10);
79625 max = parseInt(res[2], 10);
79626
79627 if (min > max) {
79628 bail('numbers out of order in {} quantifier', '', from, pos);
79629 }
79630
79631 quantifier = createQuantifier(min, max, res.range[0], res.range[1]);
79632 }
79633
79634 if (quantifier) {
79635 if (match('?')) {
79636 quantifier.greedy = false;
79637 quantifier.range[1] += 1;
79638 }
79639 }
79640
79641 return quantifier;
79642 }
79643
79644 function parseAtomAndExtendedAtom() {
79645 var res;
79646
79647 if (res = matchReg(/^[^^$\\.*+?()[\]{}|]/)) {
79648 return createCharacter(res);
79649 } else if (!hasUnicodeFlag && (res = matchReg(/^(?:]|})/))) {
79650 return createCharacter(res);
79651 } else if (match('.')) {
79652 return createDot();
79653 } else if (match('\\')) {
79654 res = parseAtomEscape();
79655
79656 if (!res) {
79657 if (!hasUnicodeFlag && lookahead() == 'c') {
79658 return createValue('symbol', 92, pos - 1, pos);
79659 }
79660
79661 bail('atomEscape');
79662 }
79663
79664 return res;
79665 } else if (res = parseCharacterClass()) {
79666 return res;
79667 } else if (features.lookbehind && (res = parseGroup('(?<=', 'lookbehind', '(?<!', 'negativeLookbehind'))) {
79668 return res;
79669 } else if (features.namedGroups && match("(?<")) {
79670 var name = parseIdentifier();
79671 skip(">");
79672 var group = finishGroup("normal", name.range[0] - 3);
79673 group.name = name;
79674 return group;
79675 } else {
79676 return parseGroup('(?:', 'ignore', '(', 'normal');
79677 }
79678 }
79679
79680 function parseUnicodeSurrogatePairEscape(firstEscape) {
79681 if (hasUnicodeFlag) {
79682 var first, second;
79683
79684 if (firstEscape.kind == 'unicodeEscape' && (first = firstEscape.codePoint) >= 0xD800 && first <= 0xDBFF && current('\\') && next('u')) {
79685 var prevPos = pos;
79686 pos++;
79687 var secondEscape = parseClassEscape();
79688
79689 if (secondEscape.kind == 'unicodeEscape' && (second = secondEscape.codePoint) >= 0xDC00 && second <= 0xDFFF) {
79690 firstEscape.range[1] = secondEscape.range[1];
79691 firstEscape.codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
79692 firstEscape.type = 'value';
79693 firstEscape.kind = 'unicodeCodePointEscape';
79694 addRaw(firstEscape);
79695 } else {
79696 pos = prevPos;
79697 }
79698 }
79699 }
79700
79701 return firstEscape;
79702 }
79703
79704 function parseClassEscape() {
79705 return parseAtomEscape(true);
79706 }
79707
79708 function parseAtomEscape(insideCharacterClass) {
79709 var res,
79710 from = pos;
79711 res = parseDecimalEscape() || parseNamedReference();
79712
79713 if (res) {
79714 return res;
79715 }
79716
79717 if (insideCharacterClass) {
79718 if (match('b')) {
79719 return createEscaped('singleEscape', 0x0008, '\\b');
79720 } else if (match('B')) {
79721 bail('\\B not possible inside of CharacterClass', '', from);
79722 } else if (!hasUnicodeFlag && (res = matchReg(/^c([0-9])/))) {
79723 return createEscaped('controlLetter', res[1] + 16, res[1], 2);
79724 }
79725
79726 if (match('-') && hasUnicodeFlag) {
79727 return createEscaped('singleEscape', 0x002d, '\\-');
79728 }
79729 }
79730
79731 res = parseCharacterEscape();
79732 return res;
79733 }
79734
79735 function parseDecimalEscape() {
79736 var res, match;
79737
79738 if (res = matchReg(/^(?!0)\d+/)) {
79739 match = res[0];
79740 var refIdx = parseInt(res[0], 10);
79741
79742 if (refIdx <= closedCaptureCounter) {
79743 return createReference(res[0]);
79744 } else {
79745 backrefDenied.push(refIdx);
79746 incr(-res[0].length);
79747
79748 if (res = matchReg(/^[0-7]{1,3}/)) {
79749 return createEscaped('octal', parseInt(res[0], 8), res[0], 1);
79750 } else {
79751 res = createCharacter(matchReg(/^[89]/));
79752 return updateRawStart(res, res.range[0] - 1);
79753 }
79754 }
79755 } else if (res = matchReg(/^[0-7]{1,3}/)) {
79756 match = res[0];
79757
79758 if (/^0{1,3}$/.test(match)) {
79759 return createEscaped('null', 0x0000, '0', match.length + 1);
79760 } else {
79761 return createEscaped('octal', parseInt(match, 8), match, 1);
79762 }
79763 } else if (res = matchReg(/^[dDsSwW]/)) {
79764 return createCharacterClassEscape(res[0]);
79765 }
79766
79767 return false;
79768 }
79769
79770 function parseNamedReference() {
79771 if (features.namedGroups && matchReg(/^k<(?=.*?>)/)) {
79772 var name = parseIdentifier();
79773 skip('>');
79774 return createNamedReference(name);
79775 }
79776 }
79777
79778 function parseRegExpUnicodeEscapeSequence() {
79779 var res;
79780
79781 if (res = matchReg(/^u([0-9a-fA-F]{4})/)) {
79782 return parseUnicodeSurrogatePairEscape(createEscaped('unicodeEscape', parseInt(res[1], 16), res[1], 2));
79783 } else if (hasUnicodeFlag && (res = matchReg(/^u\{([0-9a-fA-F]+)\}/))) {
79784 return createEscaped('unicodeCodePointEscape', parseInt(res[1], 16), res[1], 4);
79785 }
79786 }
79787
79788 function parseCharacterEscape() {
79789 var res;
79790 var from = pos;
79791
79792 if (res = matchReg(/^[fnrtv]/)) {
79793 var codePoint = 0;
79794
79795 switch (res[0]) {
79796 case 't':
79797 codePoint = 0x009;
79798 break;
79799
79800 case 'n':
79801 codePoint = 0x00A;
79802 break;
79803
79804 case 'v':
79805 codePoint = 0x00B;
79806 break;
79807
79808 case 'f':
79809 codePoint = 0x00C;
79810 break;
79811
79812 case 'r':
79813 codePoint = 0x00D;
79814 break;
79815 }
79816
79817 return createEscaped('singleEscape', codePoint, '\\' + res[0]);
79818 } else if (res = matchReg(/^c([a-zA-Z])/)) {
79819 return createEscaped('controlLetter', res[1].charCodeAt(0) % 32, res[1], 2);
79820 } else if (res = matchReg(/^x([0-9a-fA-F]{2})/)) {
79821 return createEscaped('hexadecimalEscape', parseInt(res[1], 16), res[1], 2);
79822 } else if (res = parseRegExpUnicodeEscapeSequence()) {
79823 if (!res || res.codePoint > 0x10FFFF) {
79824 bail('Invalid escape sequence', null, from, pos);
79825 }
79826
79827 return res;
79828 } else if (features.unicodePropertyEscape && hasUnicodeFlag && (res = matchReg(/^([pP])\{([^\}]+)\}/))) {
79829 return addRaw({
79830 type: 'unicodePropertyEscape',
79831 negative: res[1] === 'P',
79832 value: res[2],
79833 range: [res.range[0] - 1, res.range[1]],
79834 raw: res[0]
79835 });
79836 } else {
79837 return parseIdentityEscape();
79838 }
79839 }
79840
79841 function parseIdentifierAtom(check) {
79842 var ch = lookahead();
79843 var from = pos;
79844
79845 if (ch === '\\') {
79846 incr();
79847 var esc = parseRegExpUnicodeEscapeSequence();
79848
79849 if (!esc || !check(esc.codePoint)) {
79850 bail('Invalid escape sequence', null, from, pos);
79851 }
79852
79853 return fromCodePoint(esc.codePoint);
79854 }
79855
79856 var code = ch.charCodeAt(0);
79857
79858 if (code >= 0xD800 && code <= 0xDBFF) {
79859 ch += str[pos + 1];
79860 var second = ch.charCodeAt(1);
79861
79862 if (second >= 0xDC00 && second <= 0xDFFF) {
79863 code = (code - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
79864 }
79865 }
79866
79867 if (!check(code)) return;
79868 incr();
79869 if (code > 0xFFFF) incr();
79870 return ch;
79871 }
79872
79873 function parseIdentifier() {
79874 var start = pos;
79875 var res = parseIdentifierAtom(isIdentifierStart);
79876
79877 if (!res) {
79878 bail('Invalid identifier');
79879 }
79880
79881 var ch;
79882
79883 while (ch = parseIdentifierAtom(isIdentifierPart)) {
79884 res += ch;
79885 }
79886
79887 return addRaw({
79888 type: 'identifier',
79889 value: res,
79890 range: [start, pos]
79891 });
79892 }
79893
79894 function isIdentifierStart(ch) {
79895 var NonAsciiIdentifierStart = /[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFF1]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
79896 return ch === 36 || ch === 95 || ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 0x80 && NonAsciiIdentifierStart.test(fromCodePoint(ch));
79897 }
79898
79899 function isIdentifierPart(ch) {
79900 var NonAsciiIdentifierPartOnly = /[0-9_\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD30-\uDD39\uDF46-\uDF50]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC66-\uDC6F\uDC7F-\uDC82\uDCB0-\uDCBA\uDCF0-\uDCF9\uDD00-\uDD02\uDD27-\uDD34\uDD36-\uDD3F\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDD0-\uDDD9\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC50-\uDC59\uDC5E\uDCB0-\uDCC3\uDCD0-\uDCD9\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDE50-\uDE59\uDEAB-\uDEB7\uDEC0-\uDEC9\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC2C-\uDC3A\uDCE0-\uDCE9\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC50-\uDC59\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD50-\uDD59\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDDA0-\uDDA9\uDEF3-\uDEF6]|\uD81A[\uDE60-\uDE69\uDEF0-\uDEF4\uDF30-\uDF36\uDF50-\uDF59]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A\uDD50-\uDD59]|\uDB40[\uDD00-\uDDEF]/;
79901 return isIdentifierStart(ch) || ch >= 48 && ch <= 57 || ch >= 0x80 && NonAsciiIdentifierPartOnly.test(fromCodePoint(ch));
79902 }
79903
79904 function parseIdentityEscape() {
79905 var tmp;
79906 var l = lookahead();
79907
79908 if (hasUnicodeFlag && /[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/.test(l) || !hasUnicodeFlag && l !== "c") {
79909 if (l === "k" && features.lookbehind) {
79910 return null;
79911 }
79912
79913 tmp = incr();
79914 return createEscaped('identifier', tmp.charCodeAt(0), tmp, 1);
79915 }
79916
79917 return null;
79918 }
79919
79920 function parseCharacterClass() {
79921 var res,
79922 from = pos;
79923
79924 if (res = matchReg(/^\[\^/)) {
79925 res = parseClassRanges();
79926 skip(']');
79927 return createCharacterClass(res, true, from, pos);
79928 } else if (match('[')) {
79929 res = parseClassRanges();
79930 skip(']');
79931 return createCharacterClass(res, false, from, pos);
79932 }
79933
79934 return null;
79935 }
79936
79937 function parseClassRanges() {
79938 var res;
79939
79940 if (current(']')) {
79941 return [];
79942 } else {
79943 res = parseNonemptyClassRanges();
79944
79945 if (!res) {
79946 bail('nonEmptyClassRanges');
79947 }
79948
79949 return res;
79950 }
79951 }
79952
79953 function parseHelperClassRanges(atom) {
79954 var from, to, res;
79955
79956 if (current('-') && !next(']')) {
79957 skip('-');
79958 res = parseClassAtom();
79959
79960 if (!res) {
79961 bail('classAtom');
79962 }
79963
79964 to = pos;
79965 var classRanges = parseClassRanges();
79966
79967 if (!classRanges) {
79968 bail('classRanges');
79969 }
79970
79971 from = atom.range[0];
79972
79973 if (classRanges.type === 'empty') {
79974 return [createClassRange(atom, res, from, to)];
79975 }
79976
79977 return [createClassRange(atom, res, from, to)].concat(classRanges);
79978 }
79979
79980 res = parseNonemptyClassRangesNoDash();
79981
79982 if (!res) {
79983 bail('nonEmptyClassRangesNoDash');
79984 }
79985
79986 return [atom].concat(res);
79987 }
79988
79989 function parseNonemptyClassRanges() {
79990 var atom = parseClassAtom();
79991
79992 if (!atom) {
79993 bail('classAtom');
79994 }
79995
79996 if (current(']')) {
79997 return [atom];
79998 }
79999
80000 return parseHelperClassRanges(atom);
80001 }
80002
80003 function parseNonemptyClassRangesNoDash() {
80004 var res = parseClassAtom();
80005
80006 if (!res) {
80007 bail('classAtom');
80008 }
80009
80010 if (current(']')) {
80011 return res;
80012 }
80013
80014 return parseHelperClassRanges(res);
80015 }
80016
80017 function parseClassAtom() {
80018 if (match('-')) {
80019 return createCharacter('-');
80020 } else {
80021 return parseClassAtomNoDash();
80022 }
80023 }
80024
80025 function parseClassAtomNoDash() {
80026 var res;
80027
80028 if (res = matchReg(/^[^\\\]-]/)) {
80029 return createCharacter(res[0]);
80030 } else if (match('\\')) {
80031 res = parseClassEscape();
80032
80033 if (!res) {
80034 bail('classEscape');
80035 }
80036
80037 return parseUnicodeSurrogatePairEscape(res);
80038 }
80039 }
80040
80041 function bail(message, details, from, to) {
80042 from = from == null ? pos : from;
80043 to = to == null ? from : to;
80044 var contextStart = Math.max(0, from - 10);
80045 var contextEnd = Math.min(to + 10, str.length);
80046 var context = ' ' + str.substring(contextStart, contextEnd);
80047 var pointer = ' ' + new Array(from - contextStart + 1).join(' ') + '^';
80048 throw SyntaxError(message + ' at position ' + from + (details ? ': ' + details : '') + '\n' + context + '\n' + pointer);
80049 }
80050
80051 var backrefDenied = [];
80052 var closedCaptureCounter = 0;
80053 var firstIteration = true;
80054 var hasUnicodeFlag = (flags || "").indexOf("u") !== -1;
80055 var pos = 0;
80056 str = String(str);
80057
80058 if (str === '') {
80059 str = '(?:)';
80060 }
80061
80062 var result = parseDisjunction();
80063
80064 if (result.range[1] !== str.length) {
80065 bail('Could not parse entire input - got stuck', '', result.range[1]);
80066 }
80067
80068 for (var i = 0; i < backrefDenied.length; i++) {
80069 if (backrefDenied[i] <= closedCaptureCounter) {
80070 pos = 0;
80071 firstIteration = false;
80072 return parseDisjunction();
80073 }
80074 }
80075
80076 return result;
80077 }
80078
80079 var regjsparser = {
80080 parse: parse
80081 };
80082
80083 if (module.exports) {
80084 module.exports = regjsparser;
80085 } else {
80086 window.regjsparser = regjsparser;
80087 }
80088 })();
80089 }, "/$$rollup_base$$/node_modules/regjsparser");
80090
80091 var regenerate = createCommonjsModule(function (module, exports) {
80092
80093 (function (root) {
80094 var freeExports = exports;
80095 var freeModule = module && module.exports == freeExports && module;
80096 var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal;
80097
80098 if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {
80099 root = freeGlobal;
80100 }
80101
80102 var ERRORS = {
80103 'rangeOrder': "A range\u2019s `stop` value must be greater than or equal " + 'to the `start` value.',
80104 'codePointRange': 'Invalid code point value. Code points range from ' + 'U+000000 to U+10FFFF.'
80105 };
80106 var HIGH_SURROGATE_MIN = 0xD800;
80107 var HIGH_SURROGATE_MAX = 0xDBFF;
80108 var LOW_SURROGATE_MIN = 0xDC00;
80109 var LOW_SURROGATE_MAX = 0xDFFF;
80110 var regexNull = /\\x00([^0123456789]|$)/g;
80111 var object = {};
80112 var hasOwnProperty = object.hasOwnProperty;
80113
80114 var extend = function extend(destination, source) {
80115 var key;
80116
80117 for (key in source) {
80118 if (hasOwnProperty.call(source, key)) {
80119 destination[key] = source[key];
80120 }
80121 }
80122
80123 return destination;
80124 };
80125
80126 var forEach = function forEach(array, callback) {
80127 var index = -1;
80128 var length = array.length;
80129
80130 while (++index < length) {
80131 callback(array[index], index);
80132 }
80133 };
80134
80135 var toString = object.toString;
80136
80137 var isArray = function isArray(value) {
80138 return toString.call(value) == '[object Array]';
80139 };
80140
80141 var isNumber = function isNumber(value) {
80142 return typeof value == 'number' || toString.call(value) == '[object Number]';
80143 };
80144
80145 var zeroes = '0000';
80146
80147 var pad = function pad(number, totalCharacters) {
80148 var string = String(number);
80149 return string.length < totalCharacters ? (zeroes + string).slice(-totalCharacters) : string;
80150 };
80151
80152 var hex = function hex(number) {
80153 return Number(number).toString(16).toUpperCase();
80154 };
80155
80156 var slice = [].slice;
80157
80158 var dataFromCodePoints = function dataFromCodePoints(codePoints) {
80159 var index = -1;
80160 var length = codePoints.length;
80161 var max = length - 1;
80162 var result = [];
80163 var isStart = true;
80164 var tmp;
80165 var previous = 0;
80166
80167 while (++index < length) {
80168 tmp = codePoints[index];
80169
80170 if (isStart) {
80171 result.push(tmp);
80172 previous = tmp;
80173 isStart = false;
80174 } else {
80175 if (tmp == previous + 1) {
80176 if (index != max) {
80177 previous = tmp;
80178 continue;
80179 } else {
80180 isStart = true;
80181 result.push(tmp + 1);
80182 }
80183 } else {
80184 result.push(previous + 1, tmp);
80185 previous = tmp;
80186 }
80187 }
80188 }
80189
80190 if (!isStart) {
80191 result.push(tmp + 1);
80192 }
80193
80194 return result;
80195 };
80196
80197 var dataRemove = function dataRemove(data, codePoint) {
80198 var index = 0;
80199 var start;
80200 var end;
80201 var length = data.length;
80202
80203 while (index < length) {
80204 start = data[index];
80205 end = data[index + 1];
80206
80207 if (codePoint >= start && codePoint < end) {
80208 if (codePoint == start) {
80209 if (end == start + 1) {
80210 data.splice(index, 2);
80211 return data;
80212 } else {
80213 data[index] = codePoint + 1;
80214 return data;
80215 }
80216 } else if (codePoint == end - 1) {
80217 data[index + 1] = codePoint;
80218 return data;
80219 } else {
80220 data.splice(index, 2, start, codePoint, codePoint + 1, end);
80221 return data;
80222 }
80223 }
80224
80225 index += 2;
80226 }
80227
80228 return data;
80229 };
80230
80231 var dataRemoveRange = function dataRemoveRange(data, rangeStart, rangeEnd) {
80232 if (rangeEnd < rangeStart) {
80233 throw Error(ERRORS.rangeOrder);
80234 }
80235
80236 var index = 0;
80237 var start;
80238 var end;
80239
80240 while (index < data.length) {
80241 start = data[index];
80242 end = data[index + 1] - 1;
80243
80244 if (start > rangeEnd) {
80245 return data;
80246 }
80247
80248 if (rangeStart <= start && rangeEnd >= end) {
80249 data.splice(index, 2);
80250 continue;
80251 }
80252
80253 if (rangeStart >= start && rangeEnd < end) {
80254 if (rangeStart == start) {
80255 data[index] = rangeEnd + 1;
80256 data[index + 1] = end + 1;
80257 return data;
80258 }
80259
80260 data.splice(index, 2, start, rangeStart, rangeEnd + 1, end + 1);
80261 return data;
80262 }
80263
80264 if (rangeStart >= start && rangeStart <= end) {
80265 data[index + 1] = rangeStart;
80266 } else if (rangeEnd >= start && rangeEnd <= end) {
80267 data[index] = rangeEnd + 1;
80268 return data;
80269 }
80270
80271 index += 2;
80272 }
80273
80274 return data;
80275 };
80276
80277 var dataAdd = function dataAdd(data, codePoint) {
80278 var index = 0;
80279 var start;
80280 var end;
80281 var lastIndex = null;
80282 var length = data.length;
80283
80284 if (codePoint < 0x0 || codePoint > 0x10FFFF) {
80285 throw RangeError(ERRORS.codePointRange);
80286 }
80287
80288 while (index < length) {
80289 start = data[index];
80290 end = data[index + 1];
80291
80292 if (codePoint >= start && codePoint < end) {
80293 return data;
80294 }
80295
80296 if (codePoint == start - 1) {
80297 data[index] = codePoint;
80298 return data;
80299 }
80300
80301 if (start > codePoint) {
80302 data.splice(lastIndex != null ? lastIndex + 2 : 0, 0, codePoint, codePoint + 1);
80303 return data;
80304 }
80305
80306 if (codePoint == end) {
80307 if (codePoint + 1 == data[index + 2]) {
80308 data.splice(index, 4, start, data[index + 3]);
80309 return data;
80310 }
80311
80312 data[index + 1] = codePoint + 1;
80313 return data;
80314 }
80315
80316 lastIndex = index;
80317 index += 2;
80318 }
80319
80320 data.push(codePoint, codePoint + 1);
80321 return data;
80322 };
80323
80324 var dataAddData = function dataAddData(dataA, dataB) {
80325 var index = 0;
80326 var start;
80327 var end;
80328 var data = dataA.slice();
80329 var length = dataB.length;
80330
80331 while (index < length) {
80332 start = dataB[index];
80333 end = dataB[index + 1] - 1;
80334
80335 if (start == end) {
80336 data = dataAdd(data, start);
80337 } else {
80338 data = dataAddRange(data, start, end);
80339 }
80340
80341 index += 2;
80342 }
80343
80344 return data;
80345 };
80346
80347 var dataRemoveData = function dataRemoveData(dataA, dataB) {
80348 var index = 0;
80349 var start;
80350 var end;
80351 var data = dataA.slice();
80352 var length = dataB.length;
80353
80354 while (index < length) {
80355 start = dataB[index];
80356 end = dataB[index + 1] - 1;
80357
80358 if (start == end) {
80359 data = dataRemove(data, start);
80360 } else {
80361 data = dataRemoveRange(data, start, end);
80362 }
80363
80364 index += 2;
80365 }
80366
80367 return data;
80368 };
80369
80370 var dataAddRange = function dataAddRange(data, rangeStart, rangeEnd) {
80371 if (rangeEnd < rangeStart) {
80372 throw Error(ERRORS.rangeOrder);
80373 }
80374
80375 if (rangeStart < 0x0 || rangeStart > 0x10FFFF || rangeEnd < 0x0 || rangeEnd > 0x10FFFF) {
80376 throw RangeError(ERRORS.codePointRange);
80377 }
80378
80379 var index = 0;
80380 var start;
80381 var end;
80382 var added = false;
80383 var length = data.length;
80384
80385 while (index < length) {
80386 start = data[index];
80387 end = data[index + 1];
80388
80389 if (added) {
80390 if (start == rangeEnd + 1) {
80391 data.splice(index - 1, 2);
80392 return data;
80393 }
80394
80395 if (start > rangeEnd) {
80396 return data;
80397 }
80398
80399 if (start >= rangeStart && start <= rangeEnd) {
80400 if (end > rangeStart && end - 1 <= rangeEnd) {
80401 data.splice(index, 2);
80402 index -= 2;
80403 } else {
80404 data.splice(index - 1, 2);
80405 index -= 2;
80406 }
80407 }
80408 } else if (start == rangeEnd + 1 || start == rangeEnd) {
80409 data[index] = rangeStart;
80410 return data;
80411 } else if (start > rangeEnd) {
80412 data.splice(index, 0, rangeStart, rangeEnd + 1);
80413 return data;
80414 } else if (rangeStart >= start && rangeStart < end && rangeEnd + 1 <= end) {
80415 return data;
80416 } else if (rangeStart >= start && rangeStart < end || end == rangeStart) {
80417 data[index + 1] = rangeEnd + 1;
80418 added = true;
80419 } else if (rangeStart <= start && rangeEnd + 1 >= end) {
80420 data[index] = rangeStart;
80421 data[index + 1] = rangeEnd + 1;
80422 added = true;
80423 }
80424
80425 index += 2;
80426 }
80427
80428 if (!added) {
80429 data.push(rangeStart, rangeEnd + 1);
80430 }
80431
80432 return data;
80433 };
80434
80435 var dataContains = function dataContains(data, codePoint) {
80436 var index = 0;
80437 var length = data.length;
80438 var start = data[index];
80439 var end = data[length - 1];
80440
80441 if (length >= 2) {
80442 if (codePoint < start || codePoint > end) {
80443 return false;
80444 }
80445 }
80446
80447 while (index < length) {
80448 start = data[index];
80449 end = data[index + 1];
80450
80451 if (codePoint >= start && codePoint < end) {
80452 return true;
80453 }
80454
80455 index += 2;
80456 }
80457
80458 return false;
80459 };
80460
80461 var dataIntersection = function dataIntersection(data, codePoints) {
80462 var index = 0;
80463 var length = codePoints.length;
80464 var codePoint;
80465 var result = [];
80466
80467 while (index < length) {
80468 codePoint = codePoints[index];
80469
80470 if (dataContains(data, codePoint)) {
80471 result.push(codePoint);
80472 }
80473
80474 ++index;
80475 }
80476
80477 return dataFromCodePoints(result);
80478 };
80479
80480 var dataIsEmpty = function dataIsEmpty(data) {
80481 return !data.length;
80482 };
80483
80484 var dataIsSingleton = function dataIsSingleton(data) {
80485 return data.length == 2 && data[0] + 1 == data[1];
80486 };
80487
80488 var dataToArray = function dataToArray(data) {
80489 var index = 0;
80490 var start;
80491 var end;
80492 var result = [];
80493 var length = data.length;
80494
80495 while (index < length) {
80496 start = data[index];
80497 end = data[index + 1];
80498
80499 while (start < end) {
80500 result.push(start);
80501 ++start;
80502 }
80503
80504 index += 2;
80505 }
80506
80507 return result;
80508 };
80509
80510 var floor = Math.floor;
80511
80512 var highSurrogate = function highSurrogate(codePoint) {
80513 return parseInt(floor((codePoint - 0x10000) / 0x400) + HIGH_SURROGATE_MIN, 10);
80514 };
80515
80516 var lowSurrogate = function lowSurrogate(codePoint) {
80517 return parseInt((codePoint - 0x10000) % 0x400 + LOW_SURROGATE_MIN, 10);
80518 };
80519
80520 var stringFromCharCode = String.fromCharCode;
80521
80522 var codePointToString = function codePointToString(codePoint) {
80523 var string;
80524
80525 if (codePoint == 0x09) {
80526 string = '\\t';
80527 } else if (codePoint == 0x0A) {
80528 string = '\\n';
80529 } else if (codePoint == 0x0C) {
80530 string = '\\f';
80531 } else if (codePoint == 0x0D) {
80532 string = '\\r';
80533 } else if (codePoint == 0x2D) {
80534 string = '\\x2D';
80535 } else if (codePoint == 0x5C) {
80536 string = '\\\\';
80537 } else if (codePoint == 0x24 || codePoint >= 0x28 && codePoint <= 0x2B || codePoint == 0x2E || codePoint == 0x2F || codePoint == 0x3F || codePoint >= 0x5B && codePoint <= 0x5E || codePoint >= 0x7B && codePoint <= 0x7D) {
80538 string = '\\' + stringFromCharCode(codePoint);
80539 } else if (codePoint >= 0x20 && codePoint <= 0x7E) {
80540 string = stringFromCharCode(codePoint);
80541 } else if (codePoint <= 0xFF) {
80542 string = '\\x' + pad(hex(codePoint), 2);
80543 } else {
80544 string = "\\u" + pad(hex(codePoint), 4);
80545 }
80546
80547 return string;
80548 };
80549
80550 var codePointToStringUnicode = function codePointToStringUnicode(codePoint) {
80551 if (codePoint <= 0xFFFF) {
80552 return codePointToString(codePoint);
80553 }
80554
80555 return "\\u{" + codePoint.toString(16).toUpperCase() + '}';
80556 };
80557
80558 var symbolToCodePoint = function symbolToCodePoint(symbol) {
80559 var length = symbol.length;
80560 var first = symbol.charCodeAt(0);
80561 var second;
80562
80563 if (first >= HIGH_SURROGATE_MIN && first <= HIGH_SURROGATE_MAX && length > 1) {
80564 second = symbol.charCodeAt(1);
80565 return (first - HIGH_SURROGATE_MIN) * 0x400 + second - LOW_SURROGATE_MIN + 0x10000;
80566 }
80567
80568 return first;
80569 };
80570
80571 var createBMPCharacterClasses = function createBMPCharacterClasses(data) {
80572 var result = '';
80573 var index = 0;
80574 var start;
80575 var end;
80576 var length = data.length;
80577
80578 if (dataIsSingleton(data)) {
80579 return codePointToString(data[0]);
80580 }
80581
80582 while (index < length) {
80583 start = data[index];
80584 end = data[index + 1] - 1;
80585
80586 if (start == end) {
80587 result += codePointToString(start);
80588 } else if (start + 1 == end) {
80589 result += codePointToString(start) + codePointToString(end);
80590 } else {
80591 result += codePointToString(start) + '-' + codePointToString(end);
80592 }
80593
80594 index += 2;
80595 }
80596
80597 return '[' + result + ']';
80598 };
80599
80600 var createUnicodeCharacterClasses = function createUnicodeCharacterClasses(data) {
80601 var result = '';
80602 var index = 0;
80603 var start;
80604 var end;
80605 var length = data.length;
80606
80607 if (dataIsSingleton(data)) {
80608 return codePointToStringUnicode(data[0]);
80609 }
80610
80611 while (index < length) {
80612 start = data[index];
80613 end = data[index + 1] - 1;
80614
80615 if (start == end) {
80616 result += codePointToStringUnicode(start);
80617 } else if (start + 1 == end) {
80618 result += codePointToStringUnicode(start) + codePointToStringUnicode(end);
80619 } else {
80620 result += codePointToStringUnicode(start) + '-' + codePointToStringUnicode(end);
80621 }
80622
80623 index += 2;
80624 }
80625
80626 return '[' + result + ']';
80627 };
80628
80629 var splitAtBMP = function splitAtBMP(data) {
80630 var loneHighSurrogates = [];
80631 var loneLowSurrogates = [];
80632 var bmp = [];
80633 var astral = [];
80634 var index = 0;
80635 var start;
80636 var end;
80637 var length = data.length;
80638
80639 while (index < length) {
80640 start = data[index];
80641 end = data[index + 1] - 1;
80642
80643 if (start < HIGH_SURROGATE_MIN) {
80644 if (end < HIGH_SURROGATE_MIN) {
80645 bmp.push(start, end + 1);
80646 }
80647
80648 if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {
80649 bmp.push(start, HIGH_SURROGATE_MIN);
80650 loneHighSurrogates.push(HIGH_SURROGATE_MIN, end + 1);
80651 }
80652
80653 if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {
80654 bmp.push(start, HIGH_SURROGATE_MIN);
80655 loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);
80656 loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);
80657 }
80658
80659 if (end > LOW_SURROGATE_MAX) {
80660 bmp.push(start, HIGH_SURROGATE_MIN);
80661 loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);
80662 loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);
80663
80664 if (end <= 0xFFFF) {
80665 bmp.push(LOW_SURROGATE_MAX + 1, end + 1);
80666 } else {
80667 bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);
80668 astral.push(0xFFFF + 1, end + 1);
80669 }
80670 }
80671 } else if (start >= HIGH_SURROGATE_MIN && start <= HIGH_SURROGATE_MAX) {
80672 if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {
80673 loneHighSurrogates.push(start, end + 1);
80674 }
80675
80676 if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {
80677 loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);
80678 loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);
80679 }
80680
80681 if (end > LOW_SURROGATE_MAX) {
80682 loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);
80683 loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);
80684
80685 if (end <= 0xFFFF) {
80686 bmp.push(LOW_SURROGATE_MAX + 1, end + 1);
80687 } else {
80688 bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);
80689 astral.push(0xFFFF + 1, end + 1);
80690 }
80691 }
80692 } else if (start >= LOW_SURROGATE_MIN && start <= LOW_SURROGATE_MAX) {
80693 if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {
80694 loneLowSurrogates.push(start, end + 1);
80695 }
80696
80697 if (end > LOW_SURROGATE_MAX) {
80698 loneLowSurrogates.push(start, LOW_SURROGATE_MAX + 1);
80699
80700 if (end <= 0xFFFF) {
80701 bmp.push(LOW_SURROGATE_MAX + 1, end + 1);
80702 } else {
80703 bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);
80704 astral.push(0xFFFF + 1, end + 1);
80705 }
80706 }
80707 } else if (start > LOW_SURROGATE_MAX && start <= 0xFFFF) {
80708 if (end <= 0xFFFF) {
80709 bmp.push(start, end + 1);
80710 } else {
80711 bmp.push(start, 0xFFFF + 1);
80712 astral.push(0xFFFF + 1, end + 1);
80713 }
80714 } else {
80715 astral.push(start, end + 1);
80716 }
80717
80718 index += 2;
80719 }
80720
80721 return {
80722 'loneHighSurrogates': loneHighSurrogates,
80723 'loneLowSurrogates': loneLowSurrogates,
80724 'bmp': bmp,
80725 'astral': astral
80726 };
80727 };
80728
80729 var optimizeSurrogateMappings = function optimizeSurrogateMappings(surrogateMappings) {
80730 var result = [];
80731 var tmpLow = [];
80732 var addLow = false;
80733 var mapping;
80734 var nextMapping;
80735 var highSurrogates;
80736 var lowSurrogates;
80737 var nextHighSurrogates;
80738 var nextLowSurrogates;
80739 var index = -1;
80740 var length = surrogateMappings.length;
80741
80742 while (++index < length) {
80743 mapping = surrogateMappings[index];
80744 nextMapping = surrogateMappings[index + 1];
80745
80746 if (!nextMapping) {
80747 result.push(mapping);
80748 continue;
80749 }
80750
80751 highSurrogates = mapping[0];
80752 lowSurrogates = mapping[1];
80753 nextHighSurrogates = nextMapping[0];
80754 nextLowSurrogates = nextMapping[1];
80755 tmpLow = lowSurrogates;
80756
80757 while (nextHighSurrogates && highSurrogates[0] == nextHighSurrogates[0] && highSurrogates[1] == nextHighSurrogates[1]) {
80758 if (dataIsSingleton(nextLowSurrogates)) {
80759 tmpLow = dataAdd(tmpLow, nextLowSurrogates[0]);
80760 } else {
80761 tmpLow = dataAddRange(tmpLow, nextLowSurrogates[0], nextLowSurrogates[1] - 1);
80762 }
80763
80764 ++index;
80765 mapping = surrogateMappings[index];
80766 highSurrogates = mapping[0];
80767 lowSurrogates = mapping[1];
80768 nextMapping = surrogateMappings[index + 1];
80769 nextHighSurrogates = nextMapping && nextMapping[0];
80770 nextLowSurrogates = nextMapping && nextMapping[1];
80771 addLow = true;
80772 }
80773
80774 result.push([highSurrogates, addLow ? tmpLow : lowSurrogates]);
80775 addLow = false;
80776 }
80777
80778 return optimizeByLowSurrogates(result);
80779 };
80780
80781 var optimizeByLowSurrogates = function optimizeByLowSurrogates(surrogateMappings) {
80782 if (surrogateMappings.length == 1) {
80783 return surrogateMappings;
80784 }
80785
80786 var index = -1;
80787 var innerIndex = -1;
80788
80789 while (++index < surrogateMappings.length) {
80790 var mapping = surrogateMappings[index];
80791 var lowSurrogates = mapping[1];
80792 var lowSurrogateStart = lowSurrogates[0];
80793 var lowSurrogateEnd = lowSurrogates[1];
80794 innerIndex = index;
80795
80796 while (++innerIndex < surrogateMappings.length) {
80797 var otherMapping = surrogateMappings[innerIndex];
80798 var otherLowSurrogates = otherMapping[1];
80799 var otherLowSurrogateStart = otherLowSurrogates[0];
80800 var otherLowSurrogateEnd = otherLowSurrogates[1];
80801
80802 if (lowSurrogateStart == otherLowSurrogateStart && lowSurrogateEnd == otherLowSurrogateEnd && otherLowSurrogates.length === 2) {
80803 if (dataIsSingleton(otherMapping[0])) {
80804 mapping[0] = dataAdd(mapping[0], otherMapping[0][0]);
80805 } else {
80806 mapping[0] = dataAddRange(mapping[0], otherMapping[0][0], otherMapping[0][1] - 1);
80807 }
80808
80809 surrogateMappings.splice(innerIndex, 1);
80810 --innerIndex;
80811 }
80812 }
80813 }
80814
80815 return surrogateMappings;
80816 };
80817
80818 var surrogateSet = function surrogateSet(data) {
80819 if (!data.length) {
80820 return [];
80821 }
80822
80823 var index = 0;
80824 var start;
80825 var end;
80826 var startHigh;
80827 var startLow;
80828 var endHigh;
80829 var endLow;
80830 var surrogateMappings = [];
80831 var length = data.length;
80832
80833 while (index < length) {
80834 start = data[index];
80835 end = data[index + 1] - 1;
80836 startHigh = highSurrogate(start);
80837 startLow = lowSurrogate(start);
80838 endHigh = highSurrogate(end);
80839 endLow = lowSurrogate(end);
80840 var startsWithLowestLowSurrogate = startLow == LOW_SURROGATE_MIN;
80841 var endsWithHighestLowSurrogate = endLow == LOW_SURROGATE_MAX;
80842 var complete = false;
80843
80844 if (startHigh == endHigh || startsWithLowestLowSurrogate && endsWithHighestLowSurrogate) {
80845 surrogateMappings.push([[startHigh, endHigh + 1], [startLow, endLow + 1]]);
80846 complete = true;
80847 } else {
80848 surrogateMappings.push([[startHigh, startHigh + 1], [startLow, LOW_SURROGATE_MAX + 1]]);
80849 }
80850
80851 if (!complete && startHigh + 1 < endHigh) {
80852 if (endsWithHighestLowSurrogate) {
80853 surrogateMappings.push([[startHigh + 1, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);
80854 complete = true;
80855 } else {
80856 surrogateMappings.push([[startHigh + 1, endHigh], [LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1]]);
80857 }
80858 }
80859
80860 if (!complete) {
80861 surrogateMappings.push([[endHigh, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);
80862 }
80863
80864 index += 2;
80865 }
80866
80867 return optimizeSurrogateMappings(surrogateMappings);
80868 };
80869
80870 var createSurrogateCharacterClasses = function createSurrogateCharacterClasses(surrogateMappings) {
80871 var result = [];
80872 forEach(surrogateMappings, function (surrogateMapping) {
80873 var highSurrogates = surrogateMapping[0];
80874 var lowSurrogates = surrogateMapping[1];
80875 result.push(createBMPCharacterClasses(highSurrogates) + createBMPCharacterClasses(lowSurrogates));
80876 });
80877 return result.join('|');
80878 };
80879
80880 var createCharacterClassesFromData = function createCharacterClassesFromData(data, bmpOnly, hasUnicodeFlag) {
80881 if (hasUnicodeFlag) {
80882 return createUnicodeCharacterClasses(data);
80883 }
80884
80885 var result = [];
80886 var parts = splitAtBMP(data);
80887 var loneHighSurrogates = parts.loneHighSurrogates;
80888 var loneLowSurrogates = parts.loneLowSurrogates;
80889 var bmp = parts.bmp;
80890 var astral = parts.astral;
80891 var hasLoneHighSurrogates = !dataIsEmpty(loneHighSurrogates);
80892 var hasLoneLowSurrogates = !dataIsEmpty(loneLowSurrogates);
80893 var surrogateMappings = surrogateSet(astral);
80894
80895 if (bmpOnly) {
80896 bmp = dataAddData(bmp, loneHighSurrogates);
80897 hasLoneHighSurrogates = false;
80898 bmp = dataAddData(bmp, loneLowSurrogates);
80899 hasLoneLowSurrogates = false;
80900 }
80901
80902 if (!dataIsEmpty(bmp)) {
80903 result.push(createBMPCharacterClasses(bmp));
80904 }
80905
80906 if (surrogateMappings.length) {
80907 result.push(createSurrogateCharacterClasses(surrogateMappings));
80908 }
80909
80910 if (hasLoneHighSurrogates) {
80911 result.push(createBMPCharacterClasses(loneHighSurrogates) + "(?![\\uDC00-\\uDFFF])");
80912 }
80913
80914 if (hasLoneLowSurrogates) {
80915 result.push("(?:[^\\uD800-\\uDBFF]|^)" + createBMPCharacterClasses(loneLowSurrogates));
80916 }
80917
80918 return result.join('|');
80919 };
80920
80921 var regenerate = function regenerate(value) {
80922 if (arguments.length > 1) {
80923 value = slice.call(arguments);
80924 }
80925
80926 if (this instanceof regenerate) {
80927 this.data = [];
80928 return value ? this.add(value) : this;
80929 }
80930
80931 return new regenerate().add(value);
80932 };
80933
80934 regenerate.version = '1.4.2';
80935 var proto = regenerate.prototype;
80936 extend(proto, {
80937 'add': function add(value) {
80938 var $this = this;
80939
80940 if (value == null) {
80941 return $this;
80942 }
80943
80944 if (value instanceof regenerate) {
80945 $this.data = dataAddData($this.data, value.data);
80946 return $this;
80947 }
80948
80949 if (arguments.length > 1) {
80950 value = slice.call(arguments);
80951 }
80952
80953 if (isArray(value)) {
80954 forEach(value, function (item) {
80955 $this.add(item);
80956 });
80957 return $this;
80958 }
80959
80960 $this.data = dataAdd($this.data, isNumber(value) ? value : symbolToCodePoint(value));
80961 return $this;
80962 },
80963 'remove': function remove(value) {
80964 var $this = this;
80965
80966 if (value == null) {
80967 return $this;
80968 }
80969
80970 if (value instanceof regenerate) {
80971 $this.data = dataRemoveData($this.data, value.data);
80972 return $this;
80973 }
80974
80975 if (arguments.length > 1) {
80976 value = slice.call(arguments);
80977 }
80978
80979 if (isArray(value)) {
80980 forEach(value, function (item) {
80981 $this.remove(item);
80982 });
80983 return $this;
80984 }
80985
80986 $this.data = dataRemove($this.data, isNumber(value) ? value : symbolToCodePoint(value));
80987 return $this;
80988 },
80989 'addRange': function addRange(start, end) {
80990 var $this = this;
80991 $this.data = dataAddRange($this.data, isNumber(start) ? start : symbolToCodePoint(start), isNumber(end) ? end : symbolToCodePoint(end));
80992 return $this;
80993 },
80994 'removeRange': function removeRange(start, end) {
80995 var $this = this;
80996 var startCodePoint = isNumber(start) ? start : symbolToCodePoint(start);
80997 var endCodePoint = isNumber(end) ? end : symbolToCodePoint(end);
80998 $this.data = dataRemoveRange($this.data, startCodePoint, endCodePoint);
80999 return $this;
81000 },
81001 'intersection': function intersection(argument) {
81002 var $this = this;
81003 var array = argument instanceof regenerate ? dataToArray(argument.data) : argument;
81004 $this.data = dataIntersection($this.data, array);
81005 return $this;
81006 },
81007 'contains': function contains(codePoint) {
81008 return dataContains(this.data, isNumber(codePoint) ? codePoint : symbolToCodePoint(codePoint));
81009 },
81010 'clone': function clone() {
81011 var set = new regenerate();
81012 set.data = this.data.slice(0);
81013 return set;
81014 },
81015 'toString': function toString(options) {
81016 var result = createCharacterClassesFromData(this.data, options ? options.bmpOnly : false, options ? options.hasUnicodeFlag : false);
81017
81018 if (!result) {
81019 return '[]';
81020 }
81021
81022 return result.replace(regexNull, '\\0$1');
81023 },
81024 'toRegExp': function toRegExp(flags) {
81025 var pattern = this.toString(flags && flags.indexOf('u') != -1 ? {
81026 'hasUnicodeFlag': true
81027 } : null);
81028 return RegExp(pattern, flags || '');
81029 },
81030 'valueOf': function valueOf() {
81031 return dataToArray(this.data);
81032 }
81033 });
81034 proto.toArray = proto.valueOf;
81035
81036 if (freeExports && !freeExports.nodeType) {
81037 if (freeModule) {
81038 freeModule.exports = regenerate;
81039 } else {
81040 freeExports.regenerate = regenerate;
81041 }
81042 } else {
81043 root.regenerate = regenerate;
81044 }
81045 })(commonjsGlobal);
81046 }, "/$$rollup_base$$/node_modules/regenerate");
81047
81048 var unicodeCanonicalPropertyNamesEcmascript = new Set(['General_Category', 'Script', 'Script_Extensions', 'Alphabetic', 'Any', 'ASCII', 'ASCII_Hex_Digit', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'ID_Continue', 'ID_Start', 'Ideographic', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']);
81049
81050 var unicodePropertyAliasesEcmascript = new Map([['scx', 'Script_Extensions'], ['sc', 'Script'], ['gc', 'General_Category'], ['AHex', 'ASCII_Hex_Digit'], ['Alpha', 'Alphabetic'], ['Bidi_C', 'Bidi_Control'], ['Bidi_M', 'Bidi_Mirrored'], ['Cased', 'Cased'], ['CI', 'Case_Ignorable'], ['CWCF', 'Changes_When_Casefolded'], ['CWCM', 'Changes_When_Casemapped'], ['CWKCF', 'Changes_When_NFKC_Casefolded'], ['CWL', 'Changes_When_Lowercased'], ['CWT', 'Changes_When_Titlecased'], ['CWU', 'Changes_When_Uppercased'], ['Dash', 'Dash'], ['Dep', 'Deprecated'], ['DI', 'Default_Ignorable_Code_Point'], ['Dia', 'Diacritic'], ['Ext', 'Extender'], ['Gr_Base', 'Grapheme_Base'], ['Gr_Ext', 'Grapheme_Extend'], ['Hex', 'Hex_Digit'], ['IDC', 'ID_Continue'], ['Ideo', 'Ideographic'], ['IDS', 'ID_Start'], ['IDSB', 'IDS_Binary_Operator'], ['IDST', 'IDS_Trinary_Operator'], ['Join_C', 'Join_Control'], ['LOE', 'Logical_Order_Exception'], ['Lower', 'Lowercase'], ['Math', 'Math'], ['NChar', 'Noncharacter_Code_Point'], ['Pat_Syn', 'Pattern_Syntax'], ['Pat_WS', 'Pattern_White_Space'], ['QMark', 'Quotation_Mark'], ['Radical', 'Radical'], ['RI', 'Regional_Indicator'], ['SD', 'Soft_Dotted'], ['STerm', 'Sentence_Terminal'], ['Term', 'Terminal_Punctuation'], ['UIdeo', 'Unified_Ideograph'], ['Upper', 'Uppercase'], ['VS', 'Variation_Selector'], ['WSpace', 'White_Space'], ['space', 'White_Space'], ['XIDC', 'XID_Continue'], ['XIDS', 'XID_Start']]);
81051
81052 var matchProperty = function matchProperty(property) {
81053 if (unicodeCanonicalPropertyNamesEcmascript.has(property)) {
81054 return property;
81055 }
81056
81057 if (unicodePropertyAliasesEcmascript.has(property)) {
81058 return unicodePropertyAliasesEcmascript.get(property);
81059 }
81060
81061 throw new Error("Unknown property: " + property);
81062 };
81063
81064 var unicodeMatchPropertyEcmascript = matchProperty;
81065
81066 var mappings = new Map([['General_Category', new Map([['C', 'Other'], ['Cc', 'Control'], ['cntrl', 'Control'], ['Cf', 'Format'], ['Cn', 'Unassigned'], ['Co', 'Private_Use'], ['Cs', 'Surrogate'], ['L', 'Letter'], ['LC', 'Cased_Letter'], ['Ll', 'Lowercase_Letter'], ['Lm', 'Modifier_Letter'], ['Lo', 'Other_Letter'], ['Lt', 'Titlecase_Letter'], ['Lu', 'Uppercase_Letter'], ['M', 'Mark'], ['Combining_Mark', 'Mark'], ['Mc', 'Spacing_Mark'], ['Me', 'Enclosing_Mark'], ['Mn', 'Nonspacing_Mark'], ['N', 'Number'], ['Nd', 'Decimal_Number'], ['digit', 'Decimal_Number'], ['Nl', 'Letter_Number'], ['No', 'Other_Number'], ['P', 'Punctuation'], ['punct', 'Punctuation'], ['Pc', 'Connector_Punctuation'], ['Pd', 'Dash_Punctuation'], ['Pe', 'Close_Punctuation'], ['Pf', 'Final_Punctuation'], ['Pi', 'Initial_Punctuation'], ['Po', 'Other_Punctuation'], ['Ps', 'Open_Punctuation'], ['S', 'Symbol'], ['Sc', 'Currency_Symbol'], ['Sk', 'Modifier_Symbol'], ['Sm', 'Math_Symbol'], ['So', 'Other_Symbol'], ['Z', 'Separator'], ['Zl', 'Line_Separator'], ['Zp', 'Paragraph_Separator'], ['Zs', 'Space_Separator'], ['Other', 'Other'], ['Control', 'Control'], ['Format', 'Format'], ['Unassigned', 'Unassigned'], ['Private_Use', 'Private_Use'], ['Surrogate', 'Surrogate'], ['Letter', 'Letter'], ['Cased_Letter', 'Cased_Letter'], ['Lowercase_Letter', 'Lowercase_Letter'], ['Modifier_Letter', 'Modifier_Letter'], ['Other_Letter', 'Other_Letter'], ['Titlecase_Letter', 'Titlecase_Letter'], ['Uppercase_Letter', 'Uppercase_Letter'], ['Mark', 'Mark'], ['Spacing_Mark', 'Spacing_Mark'], ['Enclosing_Mark', 'Enclosing_Mark'], ['Nonspacing_Mark', 'Nonspacing_Mark'], ['Number', 'Number'], ['Decimal_Number', 'Decimal_Number'], ['Letter_Number', 'Letter_Number'], ['Other_Number', 'Other_Number'], ['Punctuation', 'Punctuation'], ['Connector_Punctuation', 'Connector_Punctuation'], ['Dash_Punctuation', 'Dash_Punctuation'], ['Close_Punctuation', 'Close_Punctuation'], ['Final_Punctuation', 'Final_Punctuation'], ['Initial_Punctuation', 'Initial_Punctuation'], ['Other_Punctuation', 'Other_Punctuation'], ['Open_Punctuation', 'Open_Punctuation'], ['Symbol', 'Symbol'], ['Currency_Symbol', 'Currency_Symbol'], ['Modifier_Symbol', 'Modifier_Symbol'], ['Math_Symbol', 'Math_Symbol'], ['Other_Symbol', 'Other_Symbol'], ['Separator', 'Separator'], ['Line_Separator', 'Line_Separator'], ['Paragraph_Separator', 'Paragraph_Separator'], ['Space_Separator', 'Space_Separator']])], ['Script', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])], ['Script_Extensions', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])]]);
81067
81068 var matchPropertyValue = function matchPropertyValue(property, value) {
81069 var aliasToValue = mappings.get(property);
81070
81071 if (!aliasToValue) {
81072 throw new Error("Unknown property `" + property + "`.");
81073 }
81074
81075 var canonicalValue = aliasToValue.get(value);
81076
81077 if (canonicalValue) {
81078 return canonicalValue;
81079 }
81080
81081 throw new Error("Unknown value `" + value + "` for property `" + property + "`.");
81082 };
81083
81084 var unicodeMatchPropertyValueEcmascript = matchPropertyValue;
81085
81086 var iuMappings = new Map([[0x4B, 0x212A], [0x53, 0x17F], [0x6B, 0x212A], [0x73, 0x17F], [0xB5, 0x39C], [0xC5, 0x212B], [0xDF, 0x1E9E], [0xE5, 0x212B], [0x17F, 0x53], [0x1C4, 0x1C5], [0x1C5, 0x1C4], [0x1C7, 0x1C8], [0x1C8, 0x1C7], [0x1CA, 0x1CB], [0x1CB, 0x1CA], [0x1F1, 0x1F2], [0x1F2, 0x1F1], [0x345, 0x1FBE], [0x392, 0x3D0], [0x395, 0x3F5], [0x398, 0x3F4], [0x399, 0x1FBE], [0x39A, 0x3F0], [0x39C, 0xB5], [0x3A0, 0x3D6], [0x3A1, 0x3F1], [0x3A3, 0x3C2], [0x3A6, 0x3D5], [0x3A9, 0x2126], [0x3B8, 0x3F4], [0x3C2, 0x3A3], [0x3C9, 0x2126], [0x3D0, 0x392], [0x3D1, 0x3F4], [0x3D5, 0x3A6], [0x3D6, 0x3A0], [0x3F0, 0x39A], [0x3F1, 0x3A1], [0x3F4, [0x398, 0x3D1, 0x3B8]], [0x3F5, 0x395], [0x412, 0x1C80], [0x414, 0x1C81], [0x41E, 0x1C82], [0x421, 0x1C83], [0x422, 0x1C85], [0x42A, 0x1C86], [0x462, 0x1C87], [0x1C80, 0x412], [0x1C81, 0x414], [0x1C82, 0x41E], [0x1C83, 0x421], [0x1C84, 0x1C85], [0x1C85, [0x422, 0x1C84]], [0x1C86, 0x42A], [0x1C87, 0x462], [0x1C88, 0xA64A], [0x1E60, 0x1E9B], [0x1E9B, 0x1E60], [0x1E9E, 0xDF], [0x1F80, 0x1F88], [0x1F81, 0x1F89], [0x1F82, 0x1F8A], [0x1F83, 0x1F8B], [0x1F84, 0x1F8C], [0x1F85, 0x1F8D], [0x1F86, 0x1F8E], [0x1F87, 0x1F8F], [0x1F88, 0x1F80], [0x1F89, 0x1F81], [0x1F8A, 0x1F82], [0x1F8B, 0x1F83], [0x1F8C, 0x1F84], [0x1F8D, 0x1F85], [0x1F8E, 0x1F86], [0x1F8F, 0x1F87], [0x1F90, 0x1F98], [0x1F91, 0x1F99], [0x1F92, 0x1F9A], [0x1F93, 0x1F9B], [0x1F94, 0x1F9C], [0x1F95, 0x1F9D], [0x1F96, 0x1F9E], [0x1F97, 0x1F9F], [0x1F98, 0x1F90], [0x1F99, 0x1F91], [0x1F9A, 0x1F92], [0x1F9B, 0x1F93], [0x1F9C, 0x1F94], [0x1F9D, 0x1F95], [0x1F9E, 0x1F96], [0x1F9F, 0x1F97], [0x1FA0, 0x1FA8], [0x1FA1, 0x1FA9], [0x1FA2, 0x1FAA], [0x1FA3, 0x1FAB], [0x1FA4, 0x1FAC], [0x1FA5, 0x1FAD], [0x1FA6, 0x1FAE], [0x1FA7, 0x1FAF], [0x1FA8, 0x1FA0], [0x1FA9, 0x1FA1], [0x1FAA, 0x1FA2], [0x1FAB, 0x1FA3], [0x1FAC, 0x1FA4], [0x1FAD, 0x1FA5], [0x1FAE, 0x1FA6], [0x1FAF, 0x1FA7], [0x1FB3, 0x1FBC], [0x1FBC, 0x1FB3], [0x1FBE, [0x345, 0x399]], [0x1FC3, 0x1FCC], [0x1FCC, 0x1FC3], [0x1FF3, 0x1FFC], [0x1FFC, 0x1FF3], [0x2126, [0x3A9, 0x3C9]], [0x212A, 0x4B], [0x212B, [0xC5, 0xE5]], [0xA64A, 0x1C88], [0x10400, 0x10428], [0x10401, 0x10429], [0x10402, 0x1042A], [0x10403, 0x1042B], [0x10404, 0x1042C], [0x10405, 0x1042D], [0x10406, 0x1042E], [0x10407, 0x1042F], [0x10408, 0x10430], [0x10409, 0x10431], [0x1040A, 0x10432], [0x1040B, 0x10433], [0x1040C, 0x10434], [0x1040D, 0x10435], [0x1040E, 0x10436], [0x1040F, 0x10437], [0x10410, 0x10438], [0x10411, 0x10439], [0x10412, 0x1043A], [0x10413, 0x1043B], [0x10414, 0x1043C], [0x10415, 0x1043D], [0x10416, 0x1043E], [0x10417, 0x1043F], [0x10418, 0x10440], [0x10419, 0x10441], [0x1041A, 0x10442], [0x1041B, 0x10443], [0x1041C, 0x10444], [0x1041D, 0x10445], [0x1041E, 0x10446], [0x1041F, 0x10447], [0x10420, 0x10448], [0x10421, 0x10449], [0x10422, 0x1044A], [0x10423, 0x1044B], [0x10424, 0x1044C], [0x10425, 0x1044D], [0x10426, 0x1044E], [0x10427, 0x1044F], [0x10428, 0x10400], [0x10429, 0x10401], [0x1042A, 0x10402], [0x1042B, 0x10403], [0x1042C, 0x10404], [0x1042D, 0x10405], [0x1042E, 0x10406], [0x1042F, 0x10407], [0x10430, 0x10408], [0x10431, 0x10409], [0x10432, 0x1040A], [0x10433, 0x1040B], [0x10434, 0x1040C], [0x10435, 0x1040D], [0x10436, 0x1040E], [0x10437, 0x1040F], [0x10438, 0x10410], [0x10439, 0x10411], [0x1043A, 0x10412], [0x1043B, 0x10413], [0x1043C, 0x10414], [0x1043D, 0x10415], [0x1043E, 0x10416], [0x1043F, 0x10417], [0x10440, 0x10418], [0x10441, 0x10419], [0x10442, 0x1041A], [0x10443, 0x1041B], [0x10444, 0x1041C], [0x10445, 0x1041D], [0x10446, 0x1041E], [0x10447, 0x1041F], [0x10448, 0x10420], [0x10449, 0x10421], [0x1044A, 0x10422], [0x1044B, 0x10423], [0x1044C, 0x10424], [0x1044D, 0x10425], [0x1044E, 0x10426], [0x1044F, 0x10427], [0x104B0, 0x104D8], [0x104B1, 0x104D9], [0x104B2, 0x104DA], [0x104B3, 0x104DB], [0x104B4, 0x104DC], [0x104B5, 0x104DD], [0x104B6, 0x104DE], [0x104B7, 0x104DF], [0x104B8, 0x104E0], [0x104B9, 0x104E1], [0x104BA, 0x104E2], [0x104BB, 0x104E3], [0x104BC, 0x104E4], [0x104BD, 0x104E5], [0x104BE, 0x104E6], [0x104BF, 0x104E7], [0x104C0, 0x104E8], [0x104C1, 0x104E9], [0x104C2, 0x104EA], [0x104C3, 0x104EB], [0x104C4, 0x104EC], [0x104C5, 0x104ED], [0x104C6, 0x104EE], [0x104C7, 0x104EF], [0x104C8, 0x104F0], [0x104C9, 0x104F1], [0x104CA, 0x104F2], [0x104CB, 0x104F3], [0x104CC, 0x104F4], [0x104CD, 0x104F5], [0x104CE, 0x104F6], [0x104CF, 0x104F7], [0x104D0, 0x104F8], [0x104D1, 0x104F9], [0x104D2, 0x104FA], [0x104D3, 0x104FB], [0x104D8, 0x104B0], [0x104D9, 0x104B1], [0x104DA, 0x104B2], [0x104DB, 0x104B3], [0x104DC, 0x104B4], [0x104DD, 0x104B5], [0x104DE, 0x104B6], [0x104DF, 0x104B7], [0x104E0, 0x104B8], [0x104E1, 0x104B9], [0x104E2, 0x104BA], [0x104E3, 0x104BB], [0x104E4, 0x104BC], [0x104E5, 0x104BD], [0x104E6, 0x104BE], [0x104E7, 0x104BF], [0x104E8, 0x104C0], [0x104E9, 0x104C1], [0x104EA, 0x104C2], [0x104EB, 0x104C3], [0x104EC, 0x104C4], [0x104ED, 0x104C5], [0x104EE, 0x104C6], [0x104EF, 0x104C7], [0x104F0, 0x104C8], [0x104F1, 0x104C9], [0x104F2, 0x104CA], [0x104F3, 0x104CB], [0x104F4, 0x104CC], [0x104F5, 0x104CD], [0x104F6, 0x104CE], [0x104F7, 0x104CF], [0x104F8, 0x104D0], [0x104F9, 0x104D1], [0x104FA, 0x104D2], [0x104FB, 0x104D3], [0x10C80, 0x10CC0], [0x10C81, 0x10CC1], [0x10C82, 0x10CC2], [0x10C83, 0x10CC3], [0x10C84, 0x10CC4], [0x10C85, 0x10CC5], [0x10C86, 0x10CC6], [0x10C87, 0x10CC7], [0x10C88, 0x10CC8], [0x10C89, 0x10CC9], [0x10C8A, 0x10CCA], [0x10C8B, 0x10CCB], [0x10C8C, 0x10CCC], [0x10C8D, 0x10CCD], [0x10C8E, 0x10CCE], [0x10C8F, 0x10CCF], [0x10C90, 0x10CD0], [0x10C91, 0x10CD1], [0x10C92, 0x10CD2], [0x10C93, 0x10CD3], [0x10C94, 0x10CD4], [0x10C95, 0x10CD5], [0x10C96, 0x10CD6], [0x10C97, 0x10CD7], [0x10C98, 0x10CD8], [0x10C99, 0x10CD9], [0x10C9A, 0x10CDA], [0x10C9B, 0x10CDB], [0x10C9C, 0x10CDC], [0x10C9D, 0x10CDD], [0x10C9E, 0x10CDE], [0x10C9F, 0x10CDF], [0x10CA0, 0x10CE0], [0x10CA1, 0x10CE1], [0x10CA2, 0x10CE2], [0x10CA3, 0x10CE3], [0x10CA4, 0x10CE4], [0x10CA5, 0x10CE5], [0x10CA6, 0x10CE6], [0x10CA7, 0x10CE7], [0x10CA8, 0x10CE8], [0x10CA9, 0x10CE9], [0x10CAA, 0x10CEA], [0x10CAB, 0x10CEB], [0x10CAC, 0x10CEC], [0x10CAD, 0x10CED], [0x10CAE, 0x10CEE], [0x10CAF, 0x10CEF], [0x10CB0, 0x10CF0], [0x10CB1, 0x10CF1], [0x10CB2, 0x10CF2], [0x10CC0, 0x10C80], [0x10CC1, 0x10C81], [0x10CC2, 0x10C82], [0x10CC3, 0x10C83], [0x10CC4, 0x10C84], [0x10CC5, 0x10C85], [0x10CC6, 0x10C86], [0x10CC7, 0x10C87], [0x10CC8, 0x10C88], [0x10CC9, 0x10C89], [0x10CCA, 0x10C8A], [0x10CCB, 0x10C8B], [0x10CCC, 0x10C8C], [0x10CCD, 0x10C8D], [0x10CCE, 0x10C8E], [0x10CCF, 0x10C8F], [0x10CD0, 0x10C90], [0x10CD1, 0x10C91], [0x10CD2, 0x10C92], [0x10CD3, 0x10C93], [0x10CD4, 0x10C94], [0x10CD5, 0x10C95], [0x10CD6, 0x10C96], [0x10CD7, 0x10C97], [0x10CD8, 0x10C98], [0x10CD9, 0x10C99], [0x10CDA, 0x10C9A], [0x10CDB, 0x10C9B], [0x10CDC, 0x10C9C], [0x10CDD, 0x10C9D], [0x10CDE, 0x10C9E], [0x10CDF, 0x10C9F], [0x10CE0, 0x10CA0], [0x10CE1, 0x10CA1], [0x10CE2, 0x10CA2], [0x10CE3, 0x10CA3], [0x10CE4, 0x10CA4], [0x10CE5, 0x10CA5], [0x10CE6, 0x10CA6], [0x10CE7, 0x10CA7], [0x10CE8, 0x10CA8], [0x10CE9, 0x10CA9], [0x10CEA, 0x10CAA], [0x10CEB, 0x10CAB], [0x10CEC, 0x10CAC], [0x10CED, 0x10CAD], [0x10CEE, 0x10CAE], [0x10CEF, 0x10CAF], [0x10CF0, 0x10CB0], [0x10CF1, 0x10CB1], [0x10CF2, 0x10CB2], [0x118A0, 0x118C0], [0x118A1, 0x118C1], [0x118A2, 0x118C2], [0x118A3, 0x118C3], [0x118A4, 0x118C4], [0x118A5, 0x118C5], [0x118A6, 0x118C6], [0x118A7, 0x118C7], [0x118A8, 0x118C8], [0x118A9, 0x118C9], [0x118AA, 0x118CA], [0x118AB, 0x118CB], [0x118AC, 0x118CC], [0x118AD, 0x118CD], [0x118AE, 0x118CE], [0x118AF, 0x118CF], [0x118B0, 0x118D0], [0x118B1, 0x118D1], [0x118B2, 0x118D2], [0x118B3, 0x118D3], [0x118B4, 0x118D4], [0x118B5, 0x118D5], [0x118B6, 0x118D6], [0x118B7, 0x118D7], [0x118B8, 0x118D8], [0x118B9, 0x118D9], [0x118BA, 0x118DA], [0x118BB, 0x118DB], [0x118BC, 0x118DC], [0x118BD, 0x118DD], [0x118BE, 0x118DE], [0x118BF, 0x118DF], [0x118C0, 0x118A0], [0x118C1, 0x118A1], [0x118C2, 0x118A2], [0x118C3, 0x118A3], [0x118C4, 0x118A4], [0x118C5, 0x118A5], [0x118C6, 0x118A6], [0x118C7, 0x118A7], [0x118C8, 0x118A8], [0x118C9, 0x118A9], [0x118CA, 0x118AA], [0x118CB, 0x118AB], [0x118CC, 0x118AC], [0x118CD, 0x118AD], [0x118CE, 0x118AE], [0x118CF, 0x118AF], [0x118D0, 0x118B0], [0x118D1, 0x118B1], [0x118D2, 0x118B2], [0x118D3, 0x118B3], [0x118D4, 0x118B4], [0x118D5, 0x118B5], [0x118D6, 0x118B6], [0x118D7, 0x118B7], [0x118D8, 0x118B8], [0x118D9, 0x118B9], [0x118DA, 0x118BA], [0x118DB, 0x118BB], [0x118DC, 0x118BC], [0x118DD, 0x118BD], [0x118DE, 0x118BE], [0x118DF, 0x118BF], [0x16E40, 0x16E60], [0x16E41, 0x16E61], [0x16E42, 0x16E62], [0x16E43, 0x16E63], [0x16E44, 0x16E64], [0x16E45, 0x16E65], [0x16E46, 0x16E66], [0x16E47, 0x16E67], [0x16E48, 0x16E68], [0x16E49, 0x16E69], [0x16E4A, 0x16E6A], [0x16E4B, 0x16E6B], [0x16E4C, 0x16E6C], [0x16E4D, 0x16E6D], [0x16E4E, 0x16E6E], [0x16E4F, 0x16E6F], [0x16E50, 0x16E70], [0x16E51, 0x16E71], [0x16E52, 0x16E72], [0x16E53, 0x16E73], [0x16E54, 0x16E74], [0x16E55, 0x16E75], [0x16E56, 0x16E76], [0x16E57, 0x16E77], [0x16E58, 0x16E78], [0x16E59, 0x16E79], [0x16E5A, 0x16E7A], [0x16E5B, 0x16E7B], [0x16E5C, 0x16E7C], [0x16E5D, 0x16E7D], [0x16E5E, 0x16E7E], [0x16E5F, 0x16E7F], [0x16E60, 0x16E40], [0x16E61, 0x16E41], [0x16E62, 0x16E42], [0x16E63, 0x16E43], [0x16E64, 0x16E44], [0x16E65, 0x16E45], [0x16E66, 0x16E46], [0x16E67, 0x16E47], [0x16E68, 0x16E48], [0x16E69, 0x16E49], [0x16E6A, 0x16E4A], [0x16E6B, 0x16E4B], [0x16E6C, 0x16E4C], [0x16E6D, 0x16E4D], [0x16E6E, 0x16E4E], [0x16E6F, 0x16E4F], [0x16E70, 0x16E50], [0x16E71, 0x16E51], [0x16E72, 0x16E52], [0x16E73, 0x16E53], [0x16E74, 0x16E54], [0x16E75, 0x16E55], [0x16E76, 0x16E56], [0x16E77, 0x16E57], [0x16E78, 0x16E58], [0x16E79, 0x16E59], [0x16E7A, 0x16E5A], [0x16E7B, 0x16E5B], [0x16E7C, 0x16E5C], [0x16E7D, 0x16E5D], [0x16E7E, 0x16E5E], [0x16E7F, 0x16E5F], [0x1E900, 0x1E922], [0x1E901, 0x1E923], [0x1E902, 0x1E924], [0x1E903, 0x1E925], [0x1E904, 0x1E926], [0x1E905, 0x1E927], [0x1E906, 0x1E928], [0x1E907, 0x1E929], [0x1E908, 0x1E92A], [0x1E909, 0x1E92B], [0x1E90A, 0x1E92C], [0x1E90B, 0x1E92D], [0x1E90C, 0x1E92E], [0x1E90D, 0x1E92F], [0x1E90E, 0x1E930], [0x1E90F, 0x1E931], [0x1E910, 0x1E932], [0x1E911, 0x1E933], [0x1E912, 0x1E934], [0x1E913, 0x1E935], [0x1E914, 0x1E936], [0x1E915, 0x1E937], [0x1E916, 0x1E938], [0x1E917, 0x1E939], [0x1E918, 0x1E93A], [0x1E919, 0x1E93B], [0x1E91A, 0x1E93C], [0x1E91B, 0x1E93D], [0x1E91C, 0x1E93E], [0x1E91D, 0x1E93F], [0x1E91E, 0x1E940], [0x1E91F, 0x1E941], [0x1E920, 0x1E942], [0x1E921, 0x1E943], [0x1E922, 0x1E900], [0x1E923, 0x1E901], [0x1E924, 0x1E902], [0x1E925, 0x1E903], [0x1E926, 0x1E904], [0x1E927, 0x1E905], [0x1E928, 0x1E906], [0x1E929, 0x1E907], [0x1E92A, 0x1E908], [0x1E92B, 0x1E909], [0x1E92C, 0x1E90A], [0x1E92D, 0x1E90B], [0x1E92E, 0x1E90C], [0x1E92F, 0x1E90D], [0x1E930, 0x1E90E], [0x1E931, 0x1E90F], [0x1E932, 0x1E910], [0x1E933, 0x1E911], [0x1E934, 0x1E912], [0x1E935, 0x1E913], [0x1E936, 0x1E914], [0x1E937, 0x1E915], [0x1E938, 0x1E916], [0x1E939, 0x1E917], [0x1E93A, 0x1E918], [0x1E93B, 0x1E919], [0x1E93C, 0x1E91A], [0x1E93D, 0x1E91B], [0x1E93E, 0x1E91C], [0x1E93F, 0x1E91D], [0x1E940, 0x1E91E], [0x1E941, 0x1E91F], [0x1E942, 0x1E920], [0x1E943, 0x1E921]]);
81087
81088 var REGULAR = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0xFFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0xFFFF)], ['w', regenerate(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0xFFFF)]]);
81089 var UNICODE = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x10FFFF)]]);
81090 var UNICODE_IGNORE_CASE = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate(0x5F, 0x17F, 0x212A).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x17E).addRange(0x180, 0x2129).addRange(0x212B, 0x10FFFF)]]);
81091 var characterClassEscapeSets = {
81092 REGULAR: REGULAR,
81093 UNICODE: UNICODE,
81094 UNICODE_IGNORE_CASE: UNICODE_IGNORE_CASE
81095 };
81096
81097 var generate = regjsgen.generate;
81098 var parse$2 = parser.parse;
81099 var UNICODE_SET = regenerate().addRange(0x0, 0x10FFFF);
81100 regenerate().addRange(0x0, 0xFFFF);
81101 var DOT_SET_UNICODE = UNICODE_SET.clone().remove(0x000A, 0x000D, 0x2028, 0x2029);
81102
81103 var getCharacterClassEscapeSet = function getCharacterClassEscapeSet(character, unicode, ignoreCase) {
81104 if (unicode) {
81105 if (ignoreCase) {
81106 return characterClassEscapeSets.UNICODE_IGNORE_CASE.get(character);
81107 }
81108
81109 return characterClassEscapeSets.UNICODE.get(character);
81110 }
81111
81112 return characterClassEscapeSets.REGULAR.get(character);
81113 };
81114
81115 var getUnicodeDotSet = function getUnicodeDotSet(dotAll) {
81116 return dotAll ? UNICODE_SET : DOT_SET_UNICODE;
81117 };
81118
81119 var getUnicodePropertyValueSet = function getUnicodePropertyValueSet(property, value) {
81120 var path = value ? property + "/" + value : "Binary_Property/" + property;
81121
81122 try {
81123 return commonjsRequire("regenerate-unicode-properties/" + path + ".js", "/$$rollup_base$$/node_modules/regexpu-core");
81124 } catch (exception) {
81125 throw new Error("Failed to recognize value `" + value + "` for property " + ("`" + property + "`."));
81126 }
81127 };
81128
81129 var handleLoneUnicodePropertyNameOrValue = function handleLoneUnicodePropertyNameOrValue(value) {
81130 try {
81131 var _property = 'General_Category';
81132 var category = unicodeMatchPropertyValueEcmascript(_property, value);
81133 return getUnicodePropertyValueSet(_property, category);
81134 } catch (exception) {}
81135
81136 var property = unicodeMatchPropertyEcmascript(value);
81137 return getUnicodePropertyValueSet(property);
81138 };
81139
81140 var getUnicodePropertyEscapeSet = function getUnicodePropertyEscapeSet(value, isNegative) {
81141 var parts = value.split('=');
81142 var firstPart = parts[0];
81143 var set;
81144
81145 if (parts.length == 1) {
81146 set = handleLoneUnicodePropertyNameOrValue(firstPart);
81147 } else {
81148 var property = unicodeMatchPropertyEcmascript(firstPart);
81149
81150 var _value = unicodeMatchPropertyValueEcmascript(property, parts[1]);
81151
81152 set = getUnicodePropertyValueSet(property, _value);
81153 }
81154
81155 if (isNegative) {
81156 return UNICODE_SET.clone().remove(set);
81157 }
81158
81159 return set.clone();
81160 };
81161
81162 regenerate.prototype.iuAddRange = function (min, max) {
81163 var $this = this;
81164
81165 do {
81166 var folded = caseFold(min);
81167
81168 if (folded) {
81169 $this.add(folded);
81170 }
81171 } while (++min <= max);
81172
81173 return $this;
81174 };
81175
81176 var update = function update(item, pattern) {
81177 var tree = parse$2(pattern, config.useUnicodeFlag ? 'u' : '');
81178
81179 switch (tree.type) {
81180 case 'characterClass':
81181 case 'group':
81182 case 'value':
81183 break;
81184
81185 default:
81186 tree = wrap(tree, pattern);
81187 }
81188
81189 Object.assign(item, tree);
81190 };
81191
81192 var wrap = function wrap(tree, pattern) {
81193 return {
81194 'type': 'group',
81195 'behavior': 'ignore',
81196 'body': [tree],
81197 'raw': "(?:" + pattern + ")"
81198 };
81199 };
81200
81201 var caseFold = function caseFold(codePoint) {
81202 return iuMappings.get(codePoint) || false;
81203 };
81204
81205 var processCharacterClass = function processCharacterClass(characterClassItem, regenerateOptions) {
81206 var set = regenerate();
81207
81208 for (var _iterator = _createForOfIteratorHelperLoose(characterClassItem.body), _step; !(_step = _iterator()).done;) {
81209 var item = _step.value;
81210
81211 switch (item.type) {
81212 case 'value':
81213 set.add(item.codePoint);
81214
81215 if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {
81216 var folded = caseFold(item.codePoint);
81217
81218 if (folded) {
81219 set.add(folded);
81220 }
81221 }
81222
81223 break;
81224
81225 case 'characterClassRange':
81226 var min = item.min.codePoint;
81227 var max = item.max.codePoint;
81228 set.addRange(min, max);
81229
81230 if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {
81231 set.iuAddRange(min, max);
81232 }
81233
81234 break;
81235
81236 case 'characterClassEscape':
81237 set.add(getCharacterClassEscapeSet(item.value, config.unicode, config.ignoreCase));
81238 break;
81239
81240 case 'unicodePropertyEscape':
81241 set.add(getUnicodePropertyEscapeSet(item.value, item.negative));
81242 break;
81243
81244 default:
81245 throw new Error("Unknown term type: " + item.type);
81246 }
81247 }
81248
81249 if (characterClassItem.negative) {
81250 update(characterClassItem, "(?!" + set.toString(regenerateOptions) + ")[\\s\\S]");
81251 } else {
81252 update(characterClassItem, set.toString(regenerateOptions));
81253 }
81254
81255 return characterClassItem;
81256 };
81257
81258 var updateNamedReference = function updateNamedReference(item, index) {
81259 delete item.name;
81260 item.matchIndex = index;
81261 };
81262
81263 var assertNoUnmatchedReferences = function assertNoUnmatchedReferences(groups) {
81264 var unmatchedReferencesNames = Object.keys(groups.unmatchedReferences);
81265
81266 if (unmatchedReferencesNames.length > 0) {
81267 throw new Error("Unknown group names: " + unmatchedReferencesNames);
81268 }
81269 };
81270
81271 var processTerm = function processTerm(item, regenerateOptions, groups) {
81272 switch (item.type) {
81273 case 'dot':
81274 if (config.useDotAllFlag) {
81275 break;
81276 } else if (config.unicode) {
81277 update(item, getUnicodeDotSet(config.dotAll).toString(regenerateOptions));
81278 } else if (config.dotAll) {
81279 update(item, '[\\s\\S]');
81280 }
81281
81282 break;
81283
81284 case 'characterClass':
81285 item = processCharacterClass(item, regenerateOptions);
81286 break;
81287
81288 case 'unicodePropertyEscape':
81289 if (config.unicodePropertyEscape) {
81290 update(item, getUnicodePropertyEscapeSet(item.value, item.negative).toString(regenerateOptions));
81291 }
81292
81293 break;
81294
81295 case 'characterClassEscape':
81296 update(item, getCharacterClassEscapeSet(item.value, config.unicode, config.ignoreCase).toString(regenerateOptions));
81297 break;
81298
81299 case 'group':
81300 if (item.behavior == 'normal') {
81301 groups.lastIndex++;
81302 }
81303
81304 if (item.name && config.namedGroup) {
81305 var name = item.name.value;
81306
81307 if (groups.names[name]) {
81308 throw new Error("Multiple groups with the same name (" + name + ") are not allowed.");
81309 }
81310
81311 var index = groups.lastIndex;
81312 delete item.name;
81313 groups.names[name] = index;
81314
81315 if (groups.onNamedGroup) {
81316 groups.onNamedGroup.call(null, name, index);
81317 }
81318
81319 if (groups.unmatchedReferences[name]) {
81320 groups.unmatchedReferences[name].forEach(function (reference) {
81321 updateNamedReference(reference, index);
81322 });
81323 delete groups.unmatchedReferences[name];
81324 }
81325 }
81326
81327 case 'alternative':
81328 case 'disjunction':
81329 case 'quantifier':
81330 item.body = item.body.map(function (term) {
81331 return processTerm(term, regenerateOptions, groups);
81332 });
81333 break;
81334
81335 case 'value':
81336 var codePoint = item.codePoint;
81337 var set = regenerate(codePoint);
81338
81339 if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {
81340 var folded = caseFold(codePoint);
81341
81342 if (folded) {
81343 set.add(folded);
81344 }
81345 }
81346
81347 update(item, set.toString(regenerateOptions));
81348 break;
81349
81350 case 'reference':
81351 if (item.name) {
81352 var _name = item.name.value;
81353 var _index = groups.names[_name];
81354
81355 if (_index) {
81356 updateNamedReference(item, _index);
81357 break;
81358 }
81359
81360 if (!groups.unmatchedReferences[_name]) {
81361 groups.unmatchedReferences[_name] = [];
81362 }
81363
81364 groups.unmatchedReferences[_name].push(item);
81365 }
81366
81367 break;
81368
81369 case 'anchor':
81370 case 'empty':
81371 case 'group':
81372 break;
81373
81374 default:
81375 throw new Error("Unknown term type: " + item.type);
81376 }
81377
81378 return item;
81379 };
81380
81381 var config = {
81382 'ignoreCase': false,
81383 'unicode': false,
81384 'dotAll': false,
81385 'useDotAllFlag': false,
81386 'useUnicodeFlag': false,
81387 'unicodePropertyEscape': false,
81388 'namedGroup': false
81389 };
81390
81391 var rewritePattern = function rewritePattern(pattern, flags, options) {
81392 config.unicode = flags && flags.includes('u');
81393 var regjsparserFeatures = {
81394 'unicodePropertyEscape': config.unicode,
81395 'namedGroups': true,
81396 'lookbehind': options && options.lookbehind
81397 };
81398 config.ignoreCase = flags && flags.includes('i');
81399 var supportDotAllFlag = options && options.dotAllFlag;
81400 config.dotAll = supportDotAllFlag && flags && flags.includes('s');
81401 config.namedGroup = options && options.namedGroup;
81402 config.useDotAllFlag = options && options.useDotAllFlag;
81403 config.useUnicodeFlag = options && options.useUnicodeFlag;
81404 config.unicodePropertyEscape = options && options.unicodePropertyEscape;
81405
81406 if (supportDotAllFlag && config.useDotAllFlag) {
81407 throw new Error('`useDotAllFlag` and `dotAllFlag` cannot both be true!');
81408 }
81409
81410 var regenerateOptions = {
81411 'hasUnicodeFlag': config.useUnicodeFlag,
81412 'bmpOnly': !config.unicode
81413 };
81414 var groups = {
81415 'onNamedGroup': options && options.onNamedGroup,
81416 'lastIndex': 0,
81417 'names': Object.create(null),
81418 'unmatchedReferences': Object.create(null)
81419 };
81420 var tree = parse$2(pattern, flags, regjsparserFeatures);
81421 processTerm(tree, regenerateOptions, groups);
81422 assertNoUnmatchedReferences(groups);
81423 return generate(tree);
81424 };
81425
81426 var rewritePattern_1 = rewritePattern;
81427
81428 var FEATURES = Object.freeze({
81429 unicodeFlag: 1 << 0,
81430 dotAllFlag: 1 << 1,
81431 unicodePropertyEscape: 1 << 2,
81432 namedCaptureGroups: 1 << 3
81433 });
81434 var featuresKey = "@babel/plugin-regexp-features/featuresKey";
81435 var runtimeKey = "@babel/plugin-regexp-features/runtimeKey";
81436 function enableFeature(features, feature) {
81437 return features | feature;
81438 }
81439 function hasFeature(features, feature) {
81440 return !!(features & feature);
81441 }
81442
81443 function generateRegexpuOptions(node, features) {
81444 var useUnicodeFlag = false,
81445 dotAllFlag = false,
81446 unicodePropertyEscape = false,
81447 namedGroup = false;
81448 var flags = node.flags,
81449 pattern = node.pattern;
81450 var flagsIncludesU = flags.includes("u");
81451
81452 if (flagsIncludesU) {
81453 if (!hasFeature(features, FEATURES.unicodeFlag)) {
81454 useUnicodeFlag = true;
81455 }
81456
81457 if (hasFeature(features, FEATURES.unicodePropertyEscape) && /\\[pP]{/.test(pattern)) {
81458 unicodePropertyEscape = true;
81459 }
81460 }
81461
81462 if (hasFeature(features, FEATURES.dotAllFlag) && flags.indexOf("s") >= 0) {
81463 dotAllFlag = true;
81464 }
81465
81466 if (hasFeature(features, FEATURES.namedCaptureGroups) && /\(\?<(?![=!])/.test(pattern)) {
81467 namedGroup = true;
81468 }
81469
81470 if (!namedGroup && !unicodePropertyEscape && !dotAllFlag && (!flagsIncludesU || useUnicodeFlag)) {
81471 return null;
81472 }
81473
81474 if (flagsIncludesU && flags.indexOf("s") >= 0) {
81475 dotAllFlag = true;
81476 }
81477
81478 return {
81479 useUnicodeFlag: useUnicodeFlag,
81480 onNamedGroup: function onNamedGroup() {},
81481 namedGroup: namedGroup,
81482 unicodePropertyEscape: unicodePropertyEscape,
81483 dotAllFlag: dotAllFlag,
81484 lookbehind: true
81485 };
81486 }
81487
81488 function pullFlag(node, flag) {
81489 node.flags = node.flags.replace(flag, "");
81490 }
81491
81492 var version$1 = "7.14.5".split(".").reduce(function (v, x) {
81493 return v * 1e5 + +x;
81494 }, 0);
81495 var versionKey = "@babel/plugin-regexp-features/version";
81496 function createRegExpFeaturePlugin(_ref) {
81497 var name = _ref.name,
81498 feature = _ref.feature,
81499 _ref$options = _ref.options,
81500 options = _ref$options === void 0 ? {} : _ref$options;
81501 return {
81502 name: name,
81503 pre: function pre() {
81504 var _file$get;
81505
81506 var file = this.file;
81507 var features = (_file$get = file.get(featuresKey)) != null ? _file$get : 0;
81508 var newFeatures = enableFeature(features, FEATURES[feature]);
81509 var useUnicodeFlag = options.useUnicodeFlag,
81510 _options$runtime = options.runtime,
81511 runtime = _options$runtime === void 0 ? true : _options$runtime;
81512
81513 if (useUnicodeFlag === false) {
81514 newFeatures = enableFeature(newFeatures, FEATURES.unicodeFlag);
81515 }
81516
81517 if (newFeatures !== features) {
81518 file.set(featuresKey, newFeatures);
81519 }
81520
81521 if (!runtime) {
81522 file.set(runtimeKey, false);
81523 }
81524
81525 if (!file.has(versionKey) || file.get(versionKey) < version$1) {
81526 file.set(versionKey, version$1);
81527 }
81528 },
81529 visitor: {
81530 RegExpLiteral: function RegExpLiteral(path) {
81531 var _file$get2;
81532
81533 var node = path.node;
81534 var file = this.file;
81535 var features = file.get(featuresKey);
81536 var runtime = (_file$get2 = file.get(runtimeKey)) != null ? _file$get2 : true;
81537 var regexpuOptions = generateRegexpuOptions(node, features);
81538
81539 if (regexpuOptions === null) {
81540 return;
81541 }
81542
81543 var namedCaptureGroups = {};
81544
81545 if (regexpuOptions.namedGroup) {
81546 regexpuOptions.onNamedGroup = function (name, index) {
81547 namedCaptureGroups[name] = index;
81548 };
81549 }
81550
81551 node.pattern = rewritePattern_1(node.pattern, node.flags, regexpuOptions);
81552
81553 if (regexpuOptions.namedGroup && Object.keys(namedCaptureGroups).length > 0 && runtime && !isRegExpTest(path)) {
81554 var call = callExpression(this.addHelper("wrapRegExp"), [node, valueToNode(namedCaptureGroups)]);
81555 annotateAsPure(call);
81556 path.replaceWith(call);
81557 }
81558
81559 if (hasFeature(features, FEATURES.unicodeFlag)) {
81560 pullFlag(node, "u");
81561 }
81562
81563 if (hasFeature(features, FEATURES.dotAllFlag)) {
81564 pullFlag(node, "s");
81565 }
81566 }
81567 }
81568 };
81569 }
81570
81571 function isRegExpTest(path) {
81572 return path.parentPath.isMemberExpression({
81573 object: path.node,
81574 computed: false
81575 }) && path.parentPath.get("property").isIdentifier({
81576 name: "test"
81577 });
81578 }
81579
81580 var _proposalUnicodePropertyRegex = declare(function (api, options) {
81581 api.assertVersion(7);
81582 var _options$useUnicodeFl = options.useUnicodeFlag,
81583 useUnicodeFlag = _options$useUnicodeFl === void 0 ? true : _options$useUnicodeFl;
81584
81585 if (typeof useUnicodeFlag !== "boolean") {
81586 throw new Error(".useUnicodeFlag must be a boolean, or undefined");
81587 }
81588
81589 return createRegExpFeaturePlugin({
81590 name: "proposal-unicode-property-regex",
81591 feature: "unicodePropertyEscape",
81592 options: {
81593 useUnicodeFlag: useUnicodeFlag
81594 }
81595 });
81596 });
81597
81598 var _transformAsyncToGenerator = declare(function (api, options) {
81599 api.assertVersion(7);
81600 var method = options.method,
81601 module = options.module;
81602 var noNewArrows = api.assumption("noNewArrows");
81603
81604 if (method && module) {
81605 return {
81606 name: "transform-async-to-generator",
81607 visitor: {
81608 Function: function Function(path, state) {
81609 if (!path.node.async || path.node.generator) return;
81610 var wrapAsync = state.methodWrapper;
81611
81612 if (wrapAsync) {
81613 wrapAsync = cloneNode(wrapAsync);
81614 } else {
81615 wrapAsync = state.methodWrapper = addNamed(path, method, module);
81616 }
81617
81618 remapAsyncToGenerator(path, {
81619 wrapAsync: wrapAsync
81620 }, noNewArrows);
81621 }
81622 }
81623 };
81624 }
81625
81626 return {
81627 name: "transform-async-to-generator",
81628 visitor: {
81629 Function: function Function(path, state) {
81630 if (!path.node.async || path.node.generator) return;
81631 remapAsyncToGenerator(path, {
81632 wrapAsync: state.addHelper("asyncToGenerator")
81633 }, noNewArrows);
81634 }
81635 }
81636 };
81637 });
81638
81639 var _transformArrowFunctions = declare(function (api, options) {
81640 var _api$assumption;
81641
81642 api.assertVersion(7);
81643 var noNewArrows = (_api$assumption = api.assumption("noNewArrows")) != null ? _api$assumption : !options.spec;
81644 return {
81645 name: "transform-arrow-functions",
81646 visitor: {
81647 ArrowFunctionExpression: function ArrowFunctionExpression(path) {
81648 if (!path.isArrowFunctionExpression()) return;
81649 path.arrowFunctionToExpression({
81650 allowInsertArrow: false,
81651 noNewArrows: noNewArrows,
81652 specCompliant: !noNewArrows
81653 });
81654 }
81655 }
81656 };
81657 });
81658
81659 var _transformBlockScopedFunctions = declare(function (api) {
81660 api.assertVersion(7);
81661
81662 function statementList(key, path) {
81663 var paths = path.get(key);
81664
81665 for (var _iterator = _createForOfIteratorHelperLoose(paths), _step; !(_step = _iterator()).done;) {
81666 var _path = _step.value;
81667 var func = _path.node;
81668 if (!_path.isFunctionDeclaration()) continue;
81669 var declar = variableDeclaration("let", [variableDeclarator(func.id, toExpression(func))]);
81670 declar._blockHoist = 2;
81671 func.id = null;
81672
81673 _path.replaceWith(declar);
81674 }
81675 }
81676
81677 return {
81678 name: "transform-block-scoped-functions",
81679 visitor: {
81680 BlockStatement: function BlockStatement(path) {
81681 var node = path.node,
81682 parent = path.parent;
81683
81684 if (isFunction$1(parent, {
81685 body: node
81686 }) || isExportDeclaration(parent)) {
81687 return;
81688 }
81689
81690 statementList("body", path);
81691 },
81692 SwitchCase: function SwitchCase(path) {
81693 statementList("consequent", path);
81694 }
81695 }
81696 };
81697 });
81698
81699 var _templateObject$c;
81700
81701 function getTDZStatus(refPath, bindingPath) {
81702 var executionStatus = bindingPath._guessExecutionStatusRelativeTo(refPath);
81703
81704 if (executionStatus === "before") {
81705 return "outside";
81706 } else if (executionStatus === "after") {
81707 return "inside";
81708 } else {
81709 return "maybe";
81710 }
81711 }
81712
81713 function buildTDZAssert(node, state) {
81714 return callExpression(state.addHelper("temporalRef"), [node, stringLiteral(node.name)]);
81715 }
81716
81717 function isReference$1(node, scope, state) {
81718 var declared = state.letReferences.get(node.name);
81719 if (!declared) return false;
81720 return scope.getBindingIdentifier(node.name) === declared;
81721 }
81722
81723 var visitedMaybeTDZNodes = new WeakSet();
81724 var visitor = {
81725 ReferencedIdentifier: function ReferencedIdentifier(path, state) {
81726 if (!state.tdzEnabled) return;
81727 var node = path.node,
81728 parent = path.parent,
81729 scope = path.scope;
81730 if (path.parentPath.isFor({
81731 left: node
81732 })) return;
81733 if (!isReference$1(node, scope, state)) return;
81734 var bindingPath = scope.getBinding(node.name).path;
81735 if (bindingPath.isFunctionDeclaration()) return;
81736 var status = getTDZStatus(path, bindingPath);
81737 if (status === "outside") return;
81738
81739 if (status === "maybe") {
81740 if (visitedMaybeTDZNodes.has(node)) {
81741 return;
81742 }
81743
81744 visitedMaybeTDZNodes.add(node);
81745 var assert = buildTDZAssert(node, state);
81746 bindingPath.parent._tdzThis = true;
81747
81748 if (path.parentPath.isUpdateExpression()) {
81749 if (parent._ignoreBlockScopingTDZ) return;
81750 path.parentPath.replaceWith(sequenceExpression([assert, parent]));
81751 } else {
81752 path.replaceWith(assert);
81753 }
81754 } else if (status === "inside") {
81755 path.replaceWith(template$2.ast(_templateObject$c || (_templateObject$c = _taggedTemplateLiteralLoose(["", "(\"", "\")"])), state.addHelper("tdz"), node.name));
81756 }
81757 },
81758 AssignmentExpression: {
81759 exit: function exit(path, state) {
81760 if (!state.tdzEnabled) return;
81761 var node = path.node;
81762 if (node._ignoreBlockScopingTDZ) return;
81763 var nodes = [];
81764 var ids = path.getBindingIdentifiers();
81765
81766 for (var _i = 0, _Object$keys = Object.keys(ids); _i < _Object$keys.length; _i++) {
81767 var name = _Object$keys[_i];
81768 var id = ids[name];
81769
81770 if (isReference$1(id, path.scope, state)) {
81771 nodes.push(id);
81772 }
81773 }
81774
81775 if (nodes.length) {
81776 node._ignoreBlockScopingTDZ = true;
81777 nodes.push(node);
81778 path.replaceWithMultiple(nodes.map(function (n) {
81779 return expressionStatement(n);
81780 }));
81781 }
81782 }
81783 }
81784 };
81785
81786 var DONE = new WeakSet();
81787 var _transformBlockScoping = declare(function (api, opts) {
81788 api.assertVersion(7);
81789 var _opts$throwIfClosureR = opts.throwIfClosureRequired,
81790 throwIfClosureRequired = _opts$throwIfClosureR === void 0 ? false : _opts$throwIfClosureR,
81791 _opts$tdz = opts.tdz,
81792 tdzEnabled = _opts$tdz === void 0 ? false : _opts$tdz;
81793
81794 if (typeof throwIfClosureRequired !== "boolean") {
81795 throw new Error(".throwIfClosureRequired must be a boolean, or undefined");
81796 }
81797
81798 if (typeof tdzEnabled !== "boolean") {
81799 throw new Error(".tdz must be a boolean, or undefined");
81800 }
81801
81802 return {
81803 name: "transform-block-scoping",
81804 visitor: {
81805 VariableDeclaration: function VariableDeclaration(path) {
81806 var node = path.node,
81807 parent = path.parent,
81808 scope = path.scope;
81809 if (!isBlockScoped(node)) return;
81810 convertBlockScopedToVar(path, null, parent, scope, true);
81811
81812 if (node._tdzThis) {
81813 var nodes = [node];
81814
81815 for (var i = 0; i < node.declarations.length; i++) {
81816 var decl = node.declarations[i];
81817 var assign = assignmentExpression("=", cloneNode(decl.id), decl.init || scope.buildUndefinedNode());
81818 assign._ignoreBlockScopingTDZ = true;
81819 nodes.push(expressionStatement(assign));
81820 decl.init = this.addHelper("temporalUndefined");
81821 }
81822
81823 node._blockHoist = 2;
81824
81825 if (path.isCompletionRecord()) {
81826 nodes.push(expressionStatement(scope.buildUndefinedNode()));
81827 }
81828
81829 path.replaceWithMultiple(nodes);
81830 }
81831 },
81832 Loop: function Loop(path, state) {
81833 var parent = path.parent,
81834 scope = path.scope;
81835 path.ensureBlock();
81836 var blockScoping = new BlockScoping(path, path.get("body"), parent, scope, throwIfClosureRequired, tdzEnabled, state);
81837 var replace = blockScoping.run();
81838 if (replace) path.replaceWith(replace);
81839 },
81840 CatchClause: function CatchClause(path, state) {
81841 var parent = path.parent,
81842 scope = path.scope;
81843 var blockScoping = new BlockScoping(null, path.get("body"), parent, scope, throwIfClosureRequired, tdzEnabled, state);
81844 blockScoping.run();
81845 },
81846 "BlockStatement|SwitchStatement|Program": function BlockStatementSwitchStatementProgram(path, state) {
81847 if (!ignoreBlock(path)) {
81848 var blockScoping = new BlockScoping(null, path, path.parent, path.scope, throwIfClosureRequired, tdzEnabled, state);
81849 blockScoping.run();
81850 }
81851 }
81852 }
81853 };
81854 });
81855
81856 function ignoreBlock(path) {
81857 return isLoop$1(path.parent) || isCatchClause(path.parent);
81858 }
81859
81860 var buildRetCheck = template$2("\n if (typeof RETURN === \"object\") return RETURN.v;\n");
81861
81862 function isBlockScoped(node) {
81863 if (!isVariableDeclaration(node)) return false;
81864 if (node[BLOCK_SCOPED_SYMBOL]) return true;
81865 if (node.kind !== "let" && node.kind !== "const") return false;
81866 return true;
81867 }
81868
81869 function isInLoop(path) {
81870 var loopOrFunctionParent = path.find(function (path) {
81871 return path.isLoop() || path.isFunction();
81872 });
81873 return loopOrFunctionParent == null ? void 0 : loopOrFunctionParent.isLoop();
81874 }
81875
81876 function convertBlockScopedToVar(path, node, parent, scope, moveBindingsToParent) {
81877 if (moveBindingsToParent === void 0) {
81878 moveBindingsToParent = false;
81879 }
81880
81881 if (!node) {
81882 node = path.node;
81883 }
81884
81885 if (isInLoop(path) && !isFor(parent)) {
81886 for (var i = 0; i < node.declarations.length; i++) {
81887 var declar = node.declarations[i];
81888 declar.init = declar.init || scope.buildUndefinedNode();
81889 }
81890 }
81891
81892 node[BLOCK_SCOPED_SYMBOL] = true;
81893 node.kind = "var";
81894
81895 if (moveBindingsToParent) {
81896 var parentScope = scope.getFunctionParent() || scope.getProgramParent();
81897
81898 for (var _i = 0, _Object$keys = Object.keys(path.getBindingIdentifiers()); _i < _Object$keys.length; _i++) {
81899 var name = _Object$keys[_i];
81900 var binding = scope.getOwnBinding(name);
81901 if (binding) binding.kind = "var";
81902 scope.moveBindingTo(name, parentScope);
81903 }
81904 }
81905 }
81906
81907 function isVar(node) {
81908 return isVariableDeclaration(node, {
81909 kind: "var"
81910 }) && !isBlockScoped(node);
81911 }
81912
81913 var letReferenceBlockVisitor = traverse.visitors.merge([{
81914 Loop: {
81915 enter: function enter(path, state) {
81916 state.loopDepth++;
81917 },
81918 exit: function exit(path, state) {
81919 state.loopDepth--;
81920 }
81921 },
81922 FunctionParent: function FunctionParent(path, state) {
81923 if (state.loopDepth > 0) {
81924 path.traverse(letReferenceFunctionVisitor, state);
81925 } else {
81926 path.traverse(visitor, state);
81927 }
81928
81929 return path.skip();
81930 }
81931 }, visitor]);
81932 var letReferenceFunctionVisitor = traverse.visitors.merge([{
81933 ReferencedIdentifier: function ReferencedIdentifier(path, state) {
81934 var ref = state.letReferences.get(path.node.name);
81935 if (!ref) return;
81936 var localBinding = path.scope.getBindingIdentifier(path.node.name);
81937 if (localBinding && localBinding !== ref) return;
81938 state.closurify = true;
81939 }
81940 }, visitor]);
81941 var hoistVarDeclarationsVisitor = {
81942 enter: function enter(path, self) {
81943 var node = path.node;
81944 path.parent;
81945
81946 if (path.isForStatement()) {
81947 if (isVar(node.init)) {
81948 var nodes = self.pushDeclar(node.init);
81949
81950 if (nodes.length === 1) {
81951 node.init = nodes[0];
81952 } else {
81953 node.init = sequenceExpression(nodes);
81954 }
81955 }
81956 } else if (path.isFor()) {
81957 if (isVar(node.left)) {
81958 self.pushDeclar(node.left);
81959 node.left = node.left.declarations[0].id;
81960 }
81961 } else if (isVar(node)) {
81962 path.replaceWithMultiple(self.pushDeclar(node).map(function (expr) {
81963 return expressionStatement(expr);
81964 }));
81965 } else if (path.isFunction()) {
81966 return path.skip();
81967 }
81968 }
81969 };
81970 var loopLabelVisitor = {
81971 LabeledStatement: function LabeledStatement(_ref, state) {
81972 var node = _ref.node;
81973 state.innerLabels.push(node.label.name);
81974 }
81975 };
81976 var continuationVisitor = {
81977 enter: function enter(path, state) {
81978 if (path.isAssignmentExpression() || path.isUpdateExpression()) {
81979 for (var _i2 = 0, _Object$keys2 = Object.keys(path.getBindingIdentifiers()); _i2 < _Object$keys2.length; _i2++) {
81980 var name = _Object$keys2[_i2];
81981
81982 if (state.outsideReferences.get(name) !== path.scope.getBindingIdentifier(name)) {
81983 continue;
81984 }
81985
81986 state.reassignments[name] = true;
81987 }
81988 } else if (path.isReturnStatement()) {
81989 state.returnStatements.push(path);
81990 }
81991 }
81992 };
81993
81994 function loopNodeTo(node) {
81995 if (isBreakStatement(node)) {
81996 return "break";
81997 } else if (isContinueStatement(node)) {
81998 return "continue";
81999 }
82000 }
82001
82002 var loopVisitor = {
82003 Loop: function Loop(path, state) {
82004 var oldIgnoreLabeless = state.ignoreLabeless;
82005 state.ignoreLabeless = true;
82006 path.traverse(loopVisitor, state);
82007 state.ignoreLabeless = oldIgnoreLabeless;
82008 path.skip();
82009 },
82010 Function: function Function(path) {
82011 path.skip();
82012 },
82013 SwitchCase: function SwitchCase(path, state) {
82014 var oldInSwitchCase = state.inSwitchCase;
82015 state.inSwitchCase = true;
82016 path.traverse(loopVisitor, state);
82017 state.inSwitchCase = oldInSwitchCase;
82018 path.skip();
82019 },
82020 "BreakStatement|ContinueStatement|ReturnStatement": function BreakStatementContinueStatementReturnStatement(path, state) {
82021 var node = path.node,
82022 scope = path.scope;
82023 if (node[this.LOOP_IGNORE]) return;
82024 var replace;
82025 var loopText = loopNodeTo(node);
82026
82027 if (loopText) {
82028 if (node.label) {
82029 if (state.innerLabels.indexOf(node.label.name) >= 0) {
82030 return;
82031 }
82032
82033 loopText = loopText + "|" + node.label.name;
82034 } else {
82035 if (state.ignoreLabeless) return;
82036 if (isBreakStatement(node) && state.inSwitchCase) return;
82037 }
82038
82039 state.hasBreakContinue = true;
82040 state.map[loopText] = node;
82041 replace = stringLiteral(loopText);
82042 }
82043
82044 if (path.isReturnStatement()) {
82045 state.hasReturn = true;
82046 replace = objectExpression([objectProperty(identifier("v"), node.argument || scope.buildUndefinedNode())]);
82047 }
82048
82049 if (replace) {
82050 replace = returnStatement(replace);
82051 replace[this.LOOP_IGNORE] = true;
82052 path.skip();
82053 path.replaceWith(inherits(replace, node));
82054 }
82055 }
82056 };
82057
82058 function isStrict(path) {
82059 return !!path.find(function (_ref2) {
82060 var node = _ref2.node;
82061
82062 if (isProgram(node)) {
82063 if (node.sourceType === "module") return true;
82064 } else if (!isBlockStatement(node)) return false;
82065
82066 return node.directives.some(function (directive) {
82067 return directive.value.value === "use strict";
82068 });
82069 });
82070 }
82071
82072 var BlockScoping = function () {
82073 function BlockScoping(loopPath, blockPath, parent, scope, throwIfClosureRequired, tdzEnabled, state) {
82074 this.parent = parent;
82075 this.scope = scope;
82076 this.state = state;
82077 this.throwIfClosureRequired = throwIfClosureRequired;
82078 this.tdzEnabled = tdzEnabled;
82079 this.blockPath = blockPath;
82080 this.block = blockPath.node;
82081 this.outsideLetReferences = new Map();
82082 this.hasLetReferences = false;
82083 this.letReferences = new Map();
82084 this.body = [];
82085
82086 if (loopPath) {
82087 this.loopParent = loopPath.parent;
82088 this.loopLabel = isLabeledStatement(this.loopParent) && this.loopParent.label;
82089 this.loopPath = loopPath;
82090 this.loop = loopPath.node;
82091 }
82092 }
82093
82094 var _proto = BlockScoping.prototype;
82095
82096 _proto.run = function run() {
82097 var block = this.block;
82098 if (DONE.has(block)) return;
82099 DONE.add(block);
82100 var needsClosure = this.getLetReferences();
82101 this.checkConstants();
82102
82103 if (isFunction$1(this.parent) || isProgram(this.block)) {
82104 this.updateScopeInfo();
82105 return;
82106 }
82107
82108 if (!this.hasLetReferences) return;
82109
82110 if (needsClosure) {
82111 this.wrapClosure();
82112 } else {
82113 this.remap();
82114 }
82115
82116 this.updateScopeInfo(needsClosure);
82117
82118 if (this.loopLabel && !isLabeledStatement(this.loopParent)) {
82119 return labeledStatement(this.loopLabel, this.loop);
82120 }
82121 };
82122
82123 _proto.checkConstants = function checkConstants() {
82124 var scope = this.scope;
82125 var state = this.state;
82126
82127 for (var _i3 = 0, _Object$keys3 = Object.keys(scope.bindings); _i3 < _Object$keys3.length; _i3++) {
82128 var name = _Object$keys3[_i3];
82129 var binding = scope.bindings[name];
82130 if (binding.kind !== "const") continue;
82131
82132 for (var _i4 = 0, _arr = binding.constantViolations; _i4 < _arr.length; _i4++) {
82133 var violation = _arr[_i4];
82134 var readOnlyError = state.addHelper("readOnlyError");
82135 var throwNode = callExpression(readOnlyError, [stringLiteral(name)]);
82136
82137 if (violation.isAssignmentExpression()) {
82138 var operator = violation.node.operator;
82139
82140 if (operator === "=") {
82141 violation.replaceWith(sequenceExpression([violation.get("right").node, throwNode]));
82142 } else if (["&&=", "||=", "??="].includes(operator)) {
82143 violation.replaceWith(logicalExpression(operator.slice(0, -1), violation.get("left").node, sequenceExpression([violation.get("right").node, throwNode])));
82144 } else {
82145 violation.replaceWith(sequenceExpression([binaryExpression(operator.slice(0, -1), violation.get("left").node, violation.get("right").node), throwNode]));
82146 }
82147 } else if (violation.isUpdateExpression()) {
82148 violation.replaceWith(sequenceExpression([unaryExpression("+", violation.get("argument").node), throwNode]));
82149 } else if (violation.isForXStatement()) {
82150 violation.ensureBlock();
82151 violation.get("left").replaceWith(variableDeclaration("var", [variableDeclarator(violation.scope.generateUidIdentifier(name))]));
82152 violation.node.body.body.unshift(expressionStatement(throwNode));
82153 }
82154 }
82155 }
82156 };
82157
82158 _proto.updateScopeInfo = function updateScopeInfo(wrappedInClosure) {
82159 var blockScope = this.blockPath.scope;
82160 var parentScope = blockScope.getFunctionParent() || blockScope.getProgramParent();
82161 var letRefs = this.letReferences;
82162
82163 for (var _iterator = _createForOfIteratorHelperLoose(letRefs.keys()), _step; !(_step = _iterator()).done;) {
82164 var key = _step.value;
82165 var ref = letRefs.get(key);
82166 var binding = blockScope.getBinding(ref.name);
82167 if (!binding) continue;
82168
82169 if (binding.kind === "let" || binding.kind === "const") {
82170 binding.kind = "var";
82171
82172 if (wrappedInClosure) {
82173 if (blockScope.hasOwnBinding(ref.name)) {
82174 blockScope.removeBinding(ref.name);
82175 }
82176 } else {
82177 blockScope.moveBindingTo(ref.name, parentScope);
82178 }
82179 }
82180 }
82181 };
82182
82183 _proto.remap = function remap() {
82184 var letRefs = this.letReferences;
82185 var outsideLetRefs = this.outsideLetReferences;
82186 var scope = this.scope;
82187 var blockPathScope = this.blockPath.scope;
82188
82189 for (var _iterator2 = _createForOfIteratorHelperLoose(letRefs.keys()), _step2; !(_step2 = _iterator2()).done;) {
82190 var key = _step2.value;
82191 var ref = letRefs.get(key);
82192
82193 if (scope.parentHasBinding(key) || scope.hasGlobal(key)) {
82194 var binding = scope.getOwnBinding(key);
82195
82196 if (binding) {
82197 var parentBinding = scope.parent.getOwnBinding(key);
82198
82199 if (binding.kind === "hoisted" && !binding.path.node.async && !binding.path.node.generator && (!parentBinding || isVar(parentBinding.path.parent)) && !isStrict(binding.path.parentPath)) {
82200 continue;
82201 }
82202
82203 scope.rename(ref.name);
82204 }
82205
82206 if (blockPathScope.hasOwnBinding(key)) {
82207 blockPathScope.rename(ref.name);
82208 }
82209 }
82210 }
82211
82212 for (var _iterator3 = _createForOfIteratorHelperLoose(outsideLetRefs.keys()), _step3; !(_step3 = _iterator3()).done;) {
82213 var _key = _step3.value;
82214
82215 var _ref3 = letRefs.get(_key);
82216
82217 if (isInLoop(this.blockPath) && blockPathScope.hasOwnBinding(_key)) {
82218 blockPathScope.rename(_ref3.name);
82219 }
82220 }
82221 };
82222
82223 _proto.wrapClosure = function wrapClosure() {
82224 if (this.throwIfClosureRequired) {
82225 throw this.blockPath.buildCodeFrameError("Compiling let/const in this block would add a closure " + "(throwIfClosureRequired).");
82226 }
82227
82228 var block = this.block;
82229 var outsideRefs = this.outsideLetReferences;
82230
82231 if (this.loop) {
82232 for (var _i5 = 0, _Array$from = Array.from(outsideRefs.keys()); _i5 < _Array$from.length; _i5++) {
82233 var name = _Array$from[_i5];
82234 var id = outsideRefs.get(name);
82235
82236 if (this.scope.hasGlobal(id.name) || this.scope.parentHasBinding(id.name)) {
82237 outsideRefs["delete"](id.name);
82238 this.letReferences["delete"](id.name);
82239 this.scope.rename(id.name);
82240 this.letReferences.set(id.name, id);
82241 outsideRefs.set(id.name, id);
82242 }
82243 }
82244 }
82245
82246 this.has = this.checkLoop();
82247 this.hoistVarDeclarations();
82248 var args = Array.from(outsideRefs.values(), function (node) {
82249 return cloneNode(node);
82250 });
82251 var params = args.map(function (id) {
82252 return cloneNode(id);
82253 });
82254 var isSwitch = this.blockPath.isSwitchStatement();
82255 var fn = functionExpression(null, params, blockStatement(isSwitch ? [block] : block.body));
82256 this.addContinuations(fn);
82257 var call = callExpression(nullLiteral(), args);
82258 var basePath = ".callee";
82259 var hasYield = traverse.hasType(fn.body, "YieldExpression", FUNCTION_TYPES);
82260
82261 if (hasYield) {
82262 fn.generator = true;
82263 call = yieldExpression(call, true);
82264 basePath = ".argument" + basePath;
82265 }
82266
82267 var hasAsync = traverse.hasType(fn.body, "AwaitExpression", FUNCTION_TYPES);
82268
82269 if (hasAsync) {
82270 fn.async = true;
82271 call = awaitExpression(call);
82272 basePath = ".argument" + basePath;
82273 }
82274
82275 var placeholderPath;
82276 var index;
82277
82278 if (this.has.hasReturn || this.has.hasBreakContinue) {
82279 var ret = this.scope.generateUid("ret");
82280 this.body.push(variableDeclaration("var", [variableDeclarator(identifier(ret), call)]));
82281 placeholderPath = "declarations.0.init" + basePath;
82282 index = this.body.length - 1;
82283 this.buildHas(ret);
82284 } else {
82285 this.body.push(expressionStatement(call));
82286 placeholderPath = "expression" + basePath;
82287 index = this.body.length - 1;
82288 }
82289
82290 var callPath;
82291
82292 if (isSwitch) {
82293 var _this$blockPath = this.blockPath,
82294 parentPath = _this$blockPath.parentPath,
82295 listKey = _this$blockPath.listKey,
82296 key = _this$blockPath.key;
82297 this.blockPath.replaceWithMultiple(this.body);
82298 callPath = parentPath.get(listKey)[key + index];
82299 } else {
82300 block.body = this.body;
82301 callPath = this.blockPath.get("body")[index];
82302 }
82303
82304 var placeholder = callPath.get(placeholderPath);
82305 var fnPath;
82306
82307 if (this.loop) {
82308 var loopId = this.scope.generateUid("loop");
82309 var p = this.loopPath.insertBefore(variableDeclaration("var", [variableDeclarator(identifier(loopId), fn)]));
82310 placeholder.replaceWith(identifier(loopId));
82311 fnPath = p[0].get("declarations.0.init");
82312 } else {
82313 placeholder.replaceWith(fn);
82314 fnPath = placeholder;
82315 }
82316
82317 fnPath.unwrapFunctionEnvironment();
82318 };
82319
82320 _proto.addContinuations = function addContinuations(fn) {
82321 var _this = this;
82322
82323 var state = {
82324 reassignments: {},
82325 returnStatements: [],
82326 outsideReferences: this.outsideLetReferences
82327 };
82328 this.scope.traverse(fn, continuationVisitor, state);
82329
82330 var _loop = function _loop(i) {
82331 var param = fn.params[i];
82332 if (!state.reassignments[param.name]) return "continue";
82333 var paramName = param.name;
82334
82335 var newParamName = _this.scope.generateUid(param.name);
82336
82337 fn.params[i] = identifier(newParamName);
82338
82339 _this.scope.rename(paramName, newParamName, fn);
82340
82341 state.returnStatements.forEach(function (returnStatement) {
82342 returnStatement.insertBefore(expressionStatement(assignmentExpression("=", identifier(paramName), identifier(newParamName))));
82343 });
82344 fn.body.body.push(expressionStatement(assignmentExpression("=", identifier(paramName), identifier(newParamName))));
82345 };
82346
82347 for (var i = 0; i < fn.params.length; i++) {
82348 var _ret = _loop(i);
82349
82350 if (_ret === "continue") continue;
82351 }
82352 };
82353
82354 _proto.getLetReferences = function getLetReferences() {
82355 var _this2 = this;
82356
82357 var block = this.block;
82358 var declarators = [];
82359
82360 if (this.loop) {
82361 var init = this.loop.left || this.loop.init;
82362
82363 if (isBlockScoped(init)) {
82364 declarators.push(init);
82365 var names = getBindingIdentifiers$1(init);
82366
82367 for (var _i6 = 0, _Object$keys4 = Object.keys(names); _i6 < _Object$keys4.length; _i6++) {
82368 var name = _Object$keys4[_i6];
82369 this.outsideLetReferences.set(name, names[name]);
82370 }
82371 }
82372 }
82373
82374 var addDeclarationsFromChild = function addDeclarationsFromChild(path, node) {
82375 node = node || path.node;
82376
82377 if (isClassDeclaration(node) || isFunctionDeclaration(node) || isBlockScoped(node)) {
82378 if (isBlockScoped(node)) {
82379 convertBlockScopedToVar(path, node, block, _this2.scope);
82380 }
82381
82382 if (node.declarations) {
82383 for (var i = 0; i < node.declarations.length; i++) {
82384 declarators.push(node.declarations[i]);
82385 }
82386 } else {
82387 declarators.push(node);
82388 }
82389 }
82390
82391 if (isLabeledStatement(node)) {
82392 addDeclarationsFromChild(path.get("body"), node.body);
82393 }
82394 };
82395
82396 if (block.body) {
82397 var declarPaths = this.blockPath.get("body");
82398
82399 for (var i = 0; i < block.body.length; i++) {
82400 addDeclarationsFromChild(declarPaths[i]);
82401 }
82402 }
82403
82404 if (block.cases) {
82405 var _declarPaths = this.blockPath.get("cases");
82406
82407 for (var _i7 = 0; _i7 < block.cases.length; _i7++) {
82408 var consequents = block.cases[_i7].consequent;
82409
82410 for (var j = 0; j < consequents.length; j++) {
82411 var declar = consequents[j];
82412 addDeclarationsFromChild(_declarPaths[_i7], declar);
82413 }
82414 }
82415 }
82416
82417 for (var _i8 = 0; _i8 < declarators.length; _i8++) {
82418 var _declar = declarators[_i8];
82419 var keys = getBindingIdentifiers$1(_declar, false, true);
82420
82421 for (var _i9 = 0, _Object$keys5 = Object.keys(keys); _i9 < _Object$keys5.length; _i9++) {
82422 var key = _Object$keys5[_i9];
82423 this.letReferences.set(key, keys[key]);
82424 }
82425
82426 this.hasLetReferences = true;
82427 }
82428
82429 if (!this.hasLetReferences) return;
82430 var state = {
82431 letReferences: this.letReferences,
82432 closurify: false,
82433 loopDepth: 0,
82434 tdzEnabled: this.tdzEnabled,
82435 addHelper: function addHelper(name) {
82436 return _this2.state.addHelper(name);
82437 }
82438 };
82439
82440 if (isInLoop(this.blockPath)) {
82441 state.loopDepth++;
82442 }
82443
82444 this.blockPath.traverse(letReferenceBlockVisitor, state);
82445 return state.closurify;
82446 };
82447
82448 _proto.checkLoop = function checkLoop() {
82449 var state = {
82450 hasBreakContinue: false,
82451 ignoreLabeless: false,
82452 inSwitchCase: false,
82453 innerLabels: [],
82454 hasReturn: false,
82455 isLoop: !!this.loop,
82456 map: {},
82457 LOOP_IGNORE: Symbol()
82458 };
82459 this.blockPath.traverse(loopLabelVisitor, state);
82460 this.blockPath.traverse(loopVisitor, state);
82461 return state;
82462 };
82463
82464 _proto.hoistVarDeclarations = function hoistVarDeclarations() {
82465 this.blockPath.traverse(hoistVarDeclarationsVisitor, this);
82466 };
82467
82468 _proto.pushDeclar = function pushDeclar(node) {
82469 var declars = [];
82470 var names = getBindingIdentifiers$1(node);
82471
82472 for (var _i10 = 0, _Object$keys6 = Object.keys(names); _i10 < _Object$keys6.length; _i10++) {
82473 var name = _Object$keys6[_i10];
82474 declars.push(variableDeclarator(names[name]));
82475 }
82476
82477 this.body.push(variableDeclaration(node.kind, declars));
82478 var replace = [];
82479
82480 for (var i = 0; i < node.declarations.length; i++) {
82481 var declar = node.declarations[i];
82482 if (!declar.init) continue;
82483 var expr = assignmentExpression("=", cloneNode(declar.id), cloneNode(declar.init));
82484 replace.push(inherits(expr, declar));
82485 }
82486
82487 return replace;
82488 };
82489
82490 _proto.buildHas = function buildHas(ret) {
82491 var body = this.body;
82492 var has = this.has;
82493
82494 if (has.hasBreakContinue) {
82495 for (var _i11 = 0, _Object$keys7 = Object.keys(has.map); _i11 < _Object$keys7.length; _i11++) {
82496 var key = _Object$keys7[_i11];
82497 body.push(ifStatement(binaryExpression("===", identifier(ret), stringLiteral(key)), has.map[key]));
82498 }
82499 }
82500
82501 if (has.hasReturn) {
82502 body.push(buildRetCheck({
82503 RETURN: identifier(ret)
82504 }));
82505 }
82506 };
82507
82508 return BlockScoping;
82509 }();
82510
82511 var builtin = {
82512 "Array": false,
82513 "ArrayBuffer": false,
82514 Atomics: false,
82515 BigInt: false,
82516 BigInt64Array: false,
82517 BigUint64Array: false,
82518 "Boolean": false,
82519 constructor: false,
82520 "DataView": false,
82521 "Date": false,
82522 "decodeURI": false,
82523 "decodeURIComponent": false,
82524 "encodeURI": false,
82525 "encodeURIComponent": false,
82526 "Error": false,
82527 "escape": false,
82528 "eval": false,
82529 "EvalError": false,
82530 "Float32Array": false,
82531 "Float64Array": false,
82532 "Function": false,
82533 globalThis: false,
82534 hasOwnProperty: false,
82535 "Infinity": false,
82536 "Int16Array": false,
82537 "Int32Array": false,
82538 "Int8Array": false,
82539 "isFinite": false,
82540 "isNaN": false,
82541 isPrototypeOf: false,
82542 "JSON": false,
82543 "Map": false,
82544 "Math": false,
82545 "NaN": false,
82546 "Number": false,
82547 "Object": false,
82548 "parseFloat": false,
82549 "parseInt": false,
82550 "Promise": false,
82551 propertyIsEnumerable: false,
82552 "Proxy": false,
82553 "RangeError": false,
82554 "ReferenceError": false,
82555 "Reflect": false,
82556 "RegExp": false,
82557 "Set": false,
82558 SharedArrayBuffer: false,
82559 "String": false,
82560 "Symbol": false,
82561 "SyntaxError": false,
82562 toLocaleString: false,
82563 toString: false,
82564 "TypeError": false,
82565 "Uint16Array": false,
82566 "Uint32Array": false,
82567 "Uint8Array": false,
82568 "Uint8ClampedArray": false,
82569 "undefined": false,
82570 "unescape": false,
82571 "URIError": false,
82572 valueOf: false,
82573 "WeakMap": false,
82574 "WeakSet": false
82575 };
82576 var es5 = {
82577 "Array": false,
82578 "Boolean": false,
82579 constructor: false,
82580 "Date": false,
82581 "decodeURI": false,
82582 "decodeURIComponent": false,
82583 "encodeURI": false,
82584 "encodeURIComponent": false,
82585 "Error": false,
82586 "escape": false,
82587 "eval": false,
82588 "EvalError": false,
82589 "Function": false,
82590 hasOwnProperty: false,
82591 "Infinity": false,
82592 "isFinite": false,
82593 "isNaN": false,
82594 isPrototypeOf: false,
82595 "JSON": false,
82596 "Math": false,
82597 "NaN": false,
82598 "Number": false,
82599 "Object": false,
82600 "parseFloat": false,
82601 "parseInt": false,
82602 propertyIsEnumerable: false,
82603 "RangeError": false,
82604 "ReferenceError": false,
82605 "RegExp": false,
82606 "String": false,
82607 "SyntaxError": false,
82608 toLocaleString: false,
82609 toString: false,
82610 "TypeError": false,
82611 "undefined": false,
82612 "unescape": false,
82613 "URIError": false,
82614 valueOf: false
82615 };
82616 var es2015 = {
82617 "Array": false,
82618 "ArrayBuffer": false,
82619 "Boolean": false,
82620 constructor: false,
82621 "DataView": false,
82622 "Date": false,
82623 "decodeURI": false,
82624 "decodeURIComponent": false,
82625 "encodeURI": false,
82626 "encodeURIComponent": false,
82627 "Error": false,
82628 "escape": false,
82629 "eval": false,
82630 "EvalError": false,
82631 "Float32Array": false,
82632 "Float64Array": false,
82633 "Function": false,
82634 hasOwnProperty: false,
82635 "Infinity": false,
82636 "Int16Array": false,
82637 "Int32Array": false,
82638 "Int8Array": false,
82639 "isFinite": false,
82640 "isNaN": false,
82641 isPrototypeOf: false,
82642 "JSON": false,
82643 "Map": false,
82644 "Math": false,
82645 "NaN": false,
82646 "Number": false,
82647 "Object": false,
82648 "parseFloat": false,
82649 "parseInt": false,
82650 "Promise": false,
82651 propertyIsEnumerable: false,
82652 "Proxy": false,
82653 "RangeError": false,
82654 "ReferenceError": false,
82655 "Reflect": false,
82656 "RegExp": false,
82657 "Set": false,
82658 "String": false,
82659 "Symbol": false,
82660 "SyntaxError": false,
82661 toLocaleString: false,
82662 toString: false,
82663 "TypeError": false,
82664 "Uint16Array": false,
82665 "Uint32Array": false,
82666 "Uint8Array": false,
82667 "Uint8ClampedArray": false,
82668 "undefined": false,
82669 "unescape": false,
82670 "URIError": false,
82671 valueOf: false,
82672 "WeakMap": false,
82673 "WeakSet": false
82674 };
82675 var es2017 = {
82676 "Array": false,
82677 "ArrayBuffer": false,
82678 Atomics: false,
82679 "Boolean": false,
82680 constructor: false,
82681 "DataView": false,
82682 "Date": false,
82683 "decodeURI": false,
82684 "decodeURIComponent": false,
82685 "encodeURI": false,
82686 "encodeURIComponent": false,
82687 "Error": false,
82688 "escape": false,
82689 "eval": false,
82690 "EvalError": false,
82691 "Float32Array": false,
82692 "Float64Array": false,
82693 "Function": false,
82694 hasOwnProperty: false,
82695 "Infinity": false,
82696 "Int16Array": false,
82697 "Int32Array": false,
82698 "Int8Array": false,
82699 "isFinite": false,
82700 "isNaN": false,
82701 isPrototypeOf: false,
82702 "JSON": false,
82703 "Map": false,
82704 "Math": false,
82705 "NaN": false,
82706 "Number": false,
82707 "Object": false,
82708 "parseFloat": false,
82709 "parseInt": false,
82710 "Promise": false,
82711 propertyIsEnumerable: false,
82712 "Proxy": false,
82713 "RangeError": false,
82714 "ReferenceError": false,
82715 "Reflect": false,
82716 "RegExp": false,
82717 "Set": false,
82718 SharedArrayBuffer: false,
82719 "String": false,
82720 "Symbol": false,
82721 "SyntaxError": false,
82722 toLocaleString: false,
82723 toString: false,
82724 "TypeError": false,
82725 "Uint16Array": false,
82726 "Uint32Array": false,
82727 "Uint8Array": false,
82728 "Uint8ClampedArray": false,
82729 "undefined": false,
82730 "unescape": false,
82731 "URIError": false,
82732 valueOf: false,
82733 "WeakMap": false,
82734 "WeakSet": false
82735 };
82736 var browser = {
82737 AbortController: false,
82738 AbortSignal: false,
82739 addEventListener: false,
82740 alert: false,
82741 AnalyserNode: false,
82742 Animation: false,
82743 AnimationEffectReadOnly: false,
82744 AnimationEffectTiming: false,
82745 AnimationEffectTimingReadOnly: false,
82746 AnimationEvent: false,
82747 AnimationPlaybackEvent: false,
82748 AnimationTimeline: false,
82749 applicationCache: false,
82750 ApplicationCache: false,
82751 ApplicationCacheErrorEvent: false,
82752 atob: false,
82753 Attr: false,
82754 Audio: false,
82755 AudioBuffer: false,
82756 AudioBufferSourceNode: false,
82757 AudioContext: false,
82758 AudioDestinationNode: false,
82759 AudioListener: false,
82760 AudioNode: false,
82761 AudioParam: false,
82762 AudioProcessingEvent: false,
82763 AudioScheduledSourceNode: false,
82764 "AudioWorkletGlobalScope ": false,
82765 AudioWorkletNode: false,
82766 AudioWorkletProcessor: false,
82767 BarProp: false,
82768 BaseAudioContext: false,
82769 BatteryManager: false,
82770 BeforeUnloadEvent: false,
82771 BiquadFilterNode: false,
82772 Blob: false,
82773 BlobEvent: false,
82774 blur: false,
82775 BroadcastChannel: false,
82776 btoa: false,
82777 BudgetService: false,
82778 ByteLengthQueuingStrategy: false,
82779 Cache: false,
82780 caches: false,
82781 CacheStorage: false,
82782 cancelAnimationFrame: false,
82783 cancelIdleCallback: false,
82784 CanvasCaptureMediaStreamTrack: false,
82785 CanvasGradient: false,
82786 CanvasPattern: false,
82787 CanvasRenderingContext2D: false,
82788 ChannelMergerNode: false,
82789 ChannelSplitterNode: false,
82790 CharacterData: false,
82791 clearInterval: false,
82792 clearTimeout: false,
82793 clientInformation: false,
82794 ClipboardEvent: false,
82795 close: false,
82796 closed: false,
82797 CloseEvent: false,
82798 Comment: false,
82799 CompositionEvent: false,
82800 confirm: false,
82801 console: false,
82802 ConstantSourceNode: false,
82803 ConvolverNode: false,
82804 CountQueuingStrategy: false,
82805 createImageBitmap: false,
82806 Credential: false,
82807 CredentialsContainer: false,
82808 crypto: false,
82809 Crypto: false,
82810 CryptoKey: false,
82811 CSS: false,
82812 CSSConditionRule: false,
82813 CSSFontFaceRule: false,
82814 CSSGroupingRule: false,
82815 CSSImportRule: false,
82816 CSSKeyframeRule: false,
82817 CSSKeyframesRule: false,
82818 CSSMediaRule: false,
82819 CSSNamespaceRule: false,
82820 CSSPageRule: false,
82821 CSSRule: false,
82822 CSSRuleList: false,
82823 CSSStyleDeclaration: false,
82824 CSSStyleRule: false,
82825 CSSStyleSheet: false,
82826 CSSSupportsRule: false,
82827 CustomElementRegistry: false,
82828 customElements: false,
82829 CustomEvent: false,
82830 DataTransfer: false,
82831 DataTransferItem: false,
82832 DataTransferItemList: false,
82833 defaultstatus: false,
82834 defaultStatus: false,
82835 DelayNode: false,
82836 DeviceMotionEvent: false,
82837 DeviceOrientationEvent: false,
82838 devicePixelRatio: false,
82839 dispatchEvent: false,
82840 document: false,
82841 Document: false,
82842 DocumentFragment: false,
82843 DocumentType: false,
82844 DOMError: false,
82845 DOMException: false,
82846 DOMImplementation: false,
82847 DOMMatrix: false,
82848 DOMMatrixReadOnly: false,
82849 DOMParser: false,
82850 DOMPoint: false,
82851 DOMPointReadOnly: false,
82852 DOMQuad: false,
82853 DOMRect: false,
82854 DOMRectReadOnly: false,
82855 DOMStringList: false,
82856 DOMStringMap: false,
82857 DOMTokenList: false,
82858 DragEvent: false,
82859 DynamicsCompressorNode: false,
82860 Element: false,
82861 ErrorEvent: false,
82862 event: false,
82863 Event: false,
82864 EventSource: false,
82865 EventTarget: false,
82866 external: false,
82867 fetch: false,
82868 File: false,
82869 FileList: false,
82870 FileReader: false,
82871 find: false,
82872 focus: false,
82873 FocusEvent: false,
82874 FontFace: false,
82875 FontFaceSetLoadEvent: false,
82876 FormData: false,
82877 frameElement: false,
82878 frames: false,
82879 GainNode: false,
82880 Gamepad: false,
82881 GamepadButton: false,
82882 GamepadEvent: false,
82883 getComputedStyle: false,
82884 getSelection: false,
82885 HashChangeEvent: false,
82886 Headers: false,
82887 history: false,
82888 History: false,
82889 HTMLAllCollection: false,
82890 HTMLAnchorElement: false,
82891 HTMLAreaElement: false,
82892 HTMLAudioElement: false,
82893 HTMLBaseElement: false,
82894 HTMLBodyElement: false,
82895 HTMLBRElement: false,
82896 HTMLButtonElement: false,
82897 HTMLCanvasElement: false,
82898 HTMLCollection: false,
82899 HTMLContentElement: false,
82900 HTMLDataElement: false,
82901 HTMLDataListElement: false,
82902 HTMLDetailsElement: false,
82903 HTMLDialogElement: false,
82904 HTMLDirectoryElement: false,
82905 HTMLDivElement: false,
82906 HTMLDListElement: false,
82907 HTMLDocument: false,
82908 HTMLElement: false,
82909 HTMLEmbedElement: false,
82910 HTMLFieldSetElement: false,
82911 HTMLFontElement: false,
82912 HTMLFormControlsCollection: false,
82913 HTMLFormElement: false,
82914 HTMLFrameElement: false,
82915 HTMLFrameSetElement: false,
82916 HTMLHeadElement: false,
82917 HTMLHeadingElement: false,
82918 HTMLHRElement: false,
82919 HTMLHtmlElement: false,
82920 HTMLIFrameElement: false,
82921 HTMLImageElement: false,
82922 HTMLInputElement: false,
82923 HTMLLabelElement: false,
82924 HTMLLegendElement: false,
82925 HTMLLIElement: false,
82926 HTMLLinkElement: false,
82927 HTMLMapElement: false,
82928 HTMLMarqueeElement: false,
82929 HTMLMediaElement: false,
82930 HTMLMenuElement: false,
82931 HTMLMetaElement: false,
82932 HTMLMeterElement: false,
82933 HTMLModElement: false,
82934 HTMLObjectElement: false,
82935 HTMLOListElement: false,
82936 HTMLOptGroupElement: false,
82937 HTMLOptionElement: false,
82938 HTMLOptionsCollection: false,
82939 HTMLOutputElement: false,
82940 HTMLParagraphElement: false,
82941 HTMLParamElement: false,
82942 HTMLPictureElement: false,
82943 HTMLPreElement: false,
82944 HTMLProgressElement: false,
82945 HTMLQuoteElement: false,
82946 HTMLScriptElement: false,
82947 HTMLSelectElement: false,
82948 HTMLShadowElement: false,
82949 HTMLSlotElement: false,
82950 HTMLSourceElement: false,
82951 HTMLSpanElement: false,
82952 HTMLStyleElement: false,
82953 HTMLTableCaptionElement: false,
82954 HTMLTableCellElement: false,
82955 HTMLTableColElement: false,
82956 HTMLTableElement: false,
82957 HTMLTableRowElement: false,
82958 HTMLTableSectionElement: false,
82959 HTMLTemplateElement: false,
82960 HTMLTextAreaElement: false,
82961 HTMLTimeElement: false,
82962 HTMLTitleElement: false,
82963 HTMLTrackElement: false,
82964 HTMLUListElement: false,
82965 HTMLUnknownElement: false,
82966 HTMLVideoElement: false,
82967 IDBCursor: false,
82968 IDBCursorWithValue: false,
82969 IDBDatabase: false,
82970 IDBFactory: false,
82971 IDBIndex: false,
82972 IDBKeyRange: false,
82973 IDBObjectStore: false,
82974 IDBOpenDBRequest: false,
82975 IDBRequest: false,
82976 IDBTransaction: false,
82977 IDBVersionChangeEvent: false,
82978 IdleDeadline: false,
82979 IIRFilterNode: false,
82980 Image: false,
82981 ImageBitmap: false,
82982 ImageBitmapRenderingContext: false,
82983 ImageCapture: false,
82984 ImageData: false,
82985 indexedDB: false,
82986 innerHeight: false,
82987 innerWidth: false,
82988 InputEvent: false,
82989 IntersectionObserver: false,
82990 IntersectionObserverEntry: false,
82991 "Intl": false,
82992 isSecureContext: false,
82993 KeyboardEvent: false,
82994 KeyframeEffect: false,
82995 KeyframeEffectReadOnly: false,
82996 length: false,
82997 localStorage: false,
82998 location: true,
82999 Location: false,
83000 locationbar: false,
83001 matchMedia: false,
83002 MediaDeviceInfo: false,
83003 MediaDevices: false,
83004 MediaElementAudioSourceNode: false,
83005 MediaEncryptedEvent: false,
83006 MediaError: false,
83007 MediaKeyMessageEvent: false,
83008 MediaKeySession: false,
83009 MediaKeyStatusMap: false,
83010 MediaKeySystemAccess: false,
83011 MediaList: false,
83012 MediaQueryList: false,
83013 MediaQueryListEvent: false,
83014 MediaRecorder: false,
83015 MediaSettingsRange: false,
83016 MediaSource: false,
83017 MediaStream: false,
83018 MediaStreamAudioDestinationNode: false,
83019 MediaStreamAudioSourceNode: false,
83020 MediaStreamEvent: false,
83021 MediaStreamTrack: false,
83022 MediaStreamTrackEvent: false,
83023 menubar: false,
83024 MessageChannel: false,
83025 MessageEvent: false,
83026 MessagePort: false,
83027 MIDIAccess: false,
83028 MIDIConnectionEvent: false,
83029 MIDIInput: false,
83030 MIDIInputMap: false,
83031 MIDIMessageEvent: false,
83032 MIDIOutput: false,
83033 MIDIOutputMap: false,
83034 MIDIPort: false,
83035 MimeType: false,
83036 MimeTypeArray: false,
83037 MouseEvent: false,
83038 moveBy: false,
83039 moveTo: false,
83040 MutationEvent: false,
83041 MutationObserver: false,
83042 MutationRecord: false,
83043 name: false,
83044 NamedNodeMap: false,
83045 NavigationPreloadManager: false,
83046 navigator: false,
83047 Navigator: false,
83048 NetworkInformation: false,
83049 Node: false,
83050 NodeFilter: false,
83051 NodeIterator: false,
83052 NodeList: false,
83053 Notification: false,
83054 OfflineAudioCompletionEvent: false,
83055 OfflineAudioContext: false,
83056 offscreenBuffering: false,
83057 OffscreenCanvas: true,
83058 onabort: true,
83059 onafterprint: true,
83060 onanimationend: true,
83061 onanimationiteration: true,
83062 onanimationstart: true,
83063 onappinstalled: true,
83064 onauxclick: true,
83065 onbeforeinstallprompt: true,
83066 onbeforeprint: true,
83067 onbeforeunload: true,
83068 onblur: true,
83069 oncancel: true,
83070 oncanplay: true,
83071 oncanplaythrough: true,
83072 onchange: true,
83073 onclick: true,
83074 onclose: true,
83075 oncontextmenu: true,
83076 oncuechange: true,
83077 ondblclick: true,
83078 ondevicemotion: true,
83079 ondeviceorientation: true,
83080 ondeviceorientationabsolute: true,
83081 ondrag: true,
83082 ondragend: true,
83083 ondragenter: true,
83084 ondragleave: true,
83085 ondragover: true,
83086 ondragstart: true,
83087 ondrop: true,
83088 ondurationchange: true,
83089 onemptied: true,
83090 onended: true,
83091 onerror: true,
83092 onfocus: true,
83093 ongotpointercapture: true,
83094 onhashchange: true,
83095 oninput: true,
83096 oninvalid: true,
83097 onkeydown: true,
83098 onkeypress: true,
83099 onkeyup: true,
83100 onlanguagechange: true,
83101 onload: true,
83102 onloadeddata: true,
83103 onloadedmetadata: true,
83104 onloadstart: true,
83105 onlostpointercapture: true,
83106 onmessage: true,
83107 onmessageerror: true,
83108 onmousedown: true,
83109 onmouseenter: true,
83110 onmouseleave: true,
83111 onmousemove: true,
83112 onmouseout: true,
83113 onmouseover: true,
83114 onmouseup: true,
83115 onmousewheel: true,
83116 onoffline: true,
83117 ononline: true,
83118 onpagehide: true,
83119 onpageshow: true,
83120 onpause: true,
83121 onplay: true,
83122 onplaying: true,
83123 onpointercancel: true,
83124 onpointerdown: true,
83125 onpointerenter: true,
83126 onpointerleave: true,
83127 onpointermove: true,
83128 onpointerout: true,
83129 onpointerover: true,
83130 onpointerup: true,
83131 onpopstate: true,
83132 onprogress: true,
83133 onratechange: true,
83134 onrejectionhandled: true,
83135 onreset: true,
83136 onresize: true,
83137 onscroll: true,
83138 onsearch: true,
83139 onseeked: true,
83140 onseeking: true,
83141 onselect: true,
83142 onstalled: true,
83143 onstorage: true,
83144 onsubmit: true,
83145 onsuspend: true,
83146 ontimeupdate: true,
83147 ontoggle: true,
83148 ontransitionend: true,
83149 onunhandledrejection: true,
83150 onunload: true,
83151 onvolumechange: true,
83152 onwaiting: true,
83153 onwheel: true,
83154 open: false,
83155 openDatabase: false,
83156 opener: false,
83157 Option: false,
83158 origin: false,
83159 OscillatorNode: false,
83160 outerHeight: false,
83161 outerWidth: false,
83162 PageTransitionEvent: false,
83163 pageXOffset: false,
83164 pageYOffset: false,
83165 PannerNode: false,
83166 parent: false,
83167 Path2D: false,
83168 PaymentAddress: false,
83169 PaymentRequest: false,
83170 PaymentRequestUpdateEvent: false,
83171 PaymentResponse: false,
83172 performance: false,
83173 Performance: false,
83174 PerformanceEntry: false,
83175 PerformanceLongTaskTiming: false,
83176 PerformanceMark: false,
83177 PerformanceMeasure: false,
83178 PerformanceNavigation: false,
83179 PerformanceNavigationTiming: false,
83180 PerformanceObserver: false,
83181 PerformanceObserverEntryList: false,
83182 PerformancePaintTiming: false,
83183 PerformanceResourceTiming: false,
83184 PerformanceTiming: false,
83185 PeriodicWave: false,
83186 Permissions: false,
83187 PermissionStatus: false,
83188 personalbar: false,
83189 PhotoCapabilities: false,
83190 Plugin: false,
83191 PluginArray: false,
83192 PointerEvent: false,
83193 PopStateEvent: false,
83194 postMessage: false,
83195 Presentation: false,
83196 PresentationAvailability: false,
83197 PresentationConnection: false,
83198 PresentationConnectionAvailableEvent: false,
83199 PresentationConnectionCloseEvent: false,
83200 PresentationConnectionList: false,
83201 PresentationReceiver: false,
83202 PresentationRequest: false,
83203 print: false,
83204 ProcessingInstruction: false,
83205 ProgressEvent: false,
83206 PromiseRejectionEvent: false,
83207 prompt: false,
83208 PushManager: false,
83209 PushSubscription: false,
83210 PushSubscriptionOptions: false,
83211 queueMicrotask: false,
83212 RadioNodeList: false,
83213 Range: false,
83214 ReadableStream: false,
83215 registerProcessor: false,
83216 RemotePlayback: false,
83217 removeEventListener: false,
83218 Request: false,
83219 requestAnimationFrame: false,
83220 requestIdleCallback: false,
83221 resizeBy: false,
83222 ResizeObserver: false,
83223 ResizeObserverEntry: false,
83224 resizeTo: false,
83225 Response: false,
83226 RTCCertificate: false,
83227 RTCDataChannel: false,
83228 RTCDataChannelEvent: false,
83229 RTCDtlsTransport: false,
83230 RTCIceCandidate: false,
83231 RTCIceGatherer: false,
83232 RTCIceTransport: false,
83233 RTCPeerConnection: false,
83234 RTCPeerConnectionIceEvent: false,
83235 RTCRtpContributingSource: false,
83236 RTCRtpReceiver: false,
83237 RTCRtpSender: false,
83238 RTCSctpTransport: false,
83239 RTCSessionDescription: false,
83240 RTCStatsReport: false,
83241 RTCTrackEvent: false,
83242 screen: false,
83243 Screen: false,
83244 screenLeft: false,
83245 ScreenOrientation: false,
83246 screenTop: false,
83247 screenX: false,
83248 screenY: false,
83249 ScriptProcessorNode: false,
83250 scroll: false,
83251 scrollbars: false,
83252 scrollBy: false,
83253 scrollTo: false,
83254 scrollX: false,
83255 scrollY: false,
83256 SecurityPolicyViolationEvent: false,
83257 Selection: false,
83258 self: false,
83259 ServiceWorker: false,
83260 ServiceWorkerContainer: false,
83261 ServiceWorkerRegistration: false,
83262 sessionStorage: false,
83263 setInterval: false,
83264 setTimeout: false,
83265 ShadowRoot: false,
83266 SharedWorker: false,
83267 SourceBuffer: false,
83268 SourceBufferList: false,
83269 speechSynthesis: false,
83270 SpeechSynthesisEvent: false,
83271 SpeechSynthesisUtterance: false,
83272 StaticRange: false,
83273 status: false,
83274 statusbar: false,
83275 StereoPannerNode: false,
83276 stop: false,
83277 Storage: false,
83278 StorageEvent: false,
83279 StorageManager: false,
83280 styleMedia: false,
83281 StyleSheet: false,
83282 StyleSheetList: false,
83283 SubtleCrypto: false,
83284 SVGAElement: false,
83285 SVGAngle: false,
83286 SVGAnimatedAngle: false,
83287 SVGAnimatedBoolean: false,
83288 SVGAnimatedEnumeration: false,
83289 SVGAnimatedInteger: false,
83290 SVGAnimatedLength: false,
83291 SVGAnimatedLengthList: false,
83292 SVGAnimatedNumber: false,
83293 SVGAnimatedNumberList: false,
83294 SVGAnimatedPreserveAspectRatio: false,
83295 SVGAnimatedRect: false,
83296 SVGAnimatedString: false,
83297 SVGAnimatedTransformList: false,
83298 SVGAnimateElement: false,
83299 SVGAnimateMotionElement: false,
83300 SVGAnimateTransformElement: false,
83301 SVGAnimationElement: false,
83302 SVGCircleElement: false,
83303 SVGClipPathElement: false,
83304 SVGComponentTransferFunctionElement: false,
83305 SVGDefsElement: false,
83306 SVGDescElement: false,
83307 SVGDiscardElement: false,
83308 SVGElement: false,
83309 SVGEllipseElement: false,
83310 SVGFEBlendElement: false,
83311 SVGFEColorMatrixElement: false,
83312 SVGFEComponentTransferElement: false,
83313 SVGFECompositeElement: false,
83314 SVGFEConvolveMatrixElement: false,
83315 SVGFEDiffuseLightingElement: false,
83316 SVGFEDisplacementMapElement: false,
83317 SVGFEDistantLightElement: false,
83318 SVGFEDropShadowElement: false,
83319 SVGFEFloodElement: false,
83320 SVGFEFuncAElement: false,
83321 SVGFEFuncBElement: false,
83322 SVGFEFuncGElement: false,
83323 SVGFEFuncRElement: false,
83324 SVGFEGaussianBlurElement: false,
83325 SVGFEImageElement: false,
83326 SVGFEMergeElement: false,
83327 SVGFEMergeNodeElement: false,
83328 SVGFEMorphologyElement: false,
83329 SVGFEOffsetElement: false,
83330 SVGFEPointLightElement: false,
83331 SVGFESpecularLightingElement: false,
83332 SVGFESpotLightElement: false,
83333 SVGFETileElement: false,
83334 SVGFETurbulenceElement: false,
83335 SVGFilterElement: false,
83336 SVGForeignObjectElement: false,
83337 SVGGElement: false,
83338 SVGGeometryElement: false,
83339 SVGGradientElement: false,
83340 SVGGraphicsElement: false,
83341 SVGImageElement: false,
83342 SVGLength: false,
83343 SVGLengthList: false,
83344 SVGLinearGradientElement: false,
83345 SVGLineElement: false,
83346 SVGMarkerElement: false,
83347 SVGMaskElement: false,
83348 SVGMatrix: false,
83349 SVGMetadataElement: false,
83350 SVGMPathElement: false,
83351 SVGNumber: false,
83352 SVGNumberList: false,
83353 SVGPathElement: false,
83354 SVGPatternElement: false,
83355 SVGPoint: false,
83356 SVGPointList: false,
83357 SVGPolygonElement: false,
83358 SVGPolylineElement: false,
83359 SVGPreserveAspectRatio: false,
83360 SVGRadialGradientElement: false,
83361 SVGRect: false,
83362 SVGRectElement: false,
83363 SVGScriptElement: false,
83364 SVGSetElement: false,
83365 SVGStopElement: false,
83366 SVGStringList: false,
83367 SVGStyleElement: false,
83368 SVGSVGElement: false,
83369 SVGSwitchElement: false,
83370 SVGSymbolElement: false,
83371 SVGTextContentElement: false,
83372 SVGTextElement: false,
83373 SVGTextPathElement: false,
83374 SVGTextPositioningElement: false,
83375 SVGTitleElement: false,
83376 SVGTransform: false,
83377 SVGTransformList: false,
83378 SVGTSpanElement: false,
83379 SVGUnitTypes: false,
83380 SVGUseElement: false,
83381 SVGViewElement: false,
83382 TaskAttributionTiming: false,
83383 Text: false,
83384 TextDecoder: false,
83385 TextEncoder: false,
83386 TextEvent: false,
83387 TextMetrics: false,
83388 TextTrack: false,
83389 TextTrackCue: false,
83390 TextTrackCueList: false,
83391 TextTrackList: false,
83392 TimeRanges: false,
83393 toolbar: false,
83394 top: false,
83395 Touch: false,
83396 TouchEvent: false,
83397 TouchList: false,
83398 TrackEvent: false,
83399 TransitionEvent: false,
83400 TreeWalker: false,
83401 UIEvent: false,
83402 URL: false,
83403 URLSearchParams: false,
83404 ValidityState: false,
83405 visualViewport: false,
83406 VisualViewport: false,
83407 VTTCue: false,
83408 WaveShaperNode: false,
83409 WebAssembly: false,
83410 WebGL2RenderingContext: false,
83411 WebGLActiveInfo: false,
83412 WebGLBuffer: false,
83413 WebGLContextEvent: false,
83414 WebGLFramebuffer: false,
83415 WebGLProgram: false,
83416 WebGLQuery: false,
83417 WebGLRenderbuffer: false,
83418 WebGLRenderingContext: false,
83419 WebGLSampler: false,
83420 WebGLShader: false,
83421 WebGLShaderPrecisionFormat: false,
83422 WebGLSync: false,
83423 WebGLTexture: false,
83424 WebGLTransformFeedback: false,
83425 WebGLUniformLocation: false,
83426 WebGLVertexArrayObject: false,
83427 WebSocket: false,
83428 WheelEvent: false,
83429 window: false,
83430 Window: false,
83431 Worker: false,
83432 WritableStream: false,
83433 XMLDocument: false,
83434 XMLHttpRequest: false,
83435 XMLHttpRequestEventTarget: false,
83436 XMLHttpRequestUpload: false,
83437 XMLSerializer: false,
83438 XPathEvaluator: false,
83439 XPathExpression: false,
83440 XPathResult: false,
83441 XSLTProcessor: false
83442 };
83443 var worker = {
83444 addEventListener: false,
83445 applicationCache: false,
83446 atob: false,
83447 Blob: false,
83448 BroadcastChannel: false,
83449 btoa: false,
83450 Cache: false,
83451 caches: false,
83452 clearInterval: false,
83453 clearTimeout: false,
83454 close: true,
83455 console: false,
83456 fetch: false,
83457 FileReaderSync: false,
83458 FormData: false,
83459 Headers: false,
83460 IDBCursor: false,
83461 IDBCursorWithValue: false,
83462 IDBDatabase: false,
83463 IDBFactory: false,
83464 IDBIndex: false,
83465 IDBKeyRange: false,
83466 IDBObjectStore: false,
83467 IDBOpenDBRequest: false,
83468 IDBRequest: false,
83469 IDBTransaction: false,
83470 IDBVersionChangeEvent: false,
83471 ImageData: false,
83472 importScripts: true,
83473 indexedDB: false,
83474 location: false,
83475 MessageChannel: false,
83476 MessagePort: false,
83477 name: false,
83478 navigator: false,
83479 Notification: false,
83480 onclose: true,
83481 onconnect: true,
83482 onerror: true,
83483 onlanguagechange: true,
83484 onmessage: true,
83485 onoffline: true,
83486 ononline: true,
83487 onrejectionhandled: true,
83488 onunhandledrejection: true,
83489 performance: false,
83490 Performance: false,
83491 PerformanceEntry: false,
83492 PerformanceMark: false,
83493 PerformanceMeasure: false,
83494 PerformanceNavigation: false,
83495 PerformanceResourceTiming: false,
83496 PerformanceTiming: false,
83497 postMessage: true,
83498 "Promise": false,
83499 queueMicrotask: false,
83500 removeEventListener: false,
83501 Request: false,
83502 Response: false,
83503 self: true,
83504 ServiceWorkerRegistration: false,
83505 setInterval: false,
83506 setTimeout: false,
83507 TextDecoder: false,
83508 TextEncoder: false,
83509 URL: false,
83510 URLSearchParams: false,
83511 WebSocket: false,
83512 Worker: false,
83513 WorkerGlobalScope: false,
83514 XMLHttpRequest: false
83515 };
83516 var node = {
83517 __dirname: false,
83518 __filename: false,
83519 Buffer: false,
83520 clearImmediate: false,
83521 clearInterval: false,
83522 clearTimeout: false,
83523 console: false,
83524 exports: true,
83525 global: false,
83526 "Intl": false,
83527 module: false,
83528 process: false,
83529 queueMicrotask: false,
83530 require: false,
83531 setImmediate: false,
83532 setInterval: false,
83533 setTimeout: false,
83534 TextDecoder: false,
83535 TextEncoder: false,
83536 URL: false,
83537 URLSearchParams: false
83538 };
83539 var commonjs = {
83540 exports: true,
83541 global: false,
83542 module: false,
83543 require: false
83544 };
83545 var amd = {
83546 define: false,
83547 require: false
83548 };
83549 var mocha = {
83550 after: false,
83551 afterEach: false,
83552 before: false,
83553 beforeEach: false,
83554 context: false,
83555 describe: false,
83556 it: false,
83557 mocha: false,
83558 run: false,
83559 setup: false,
83560 specify: false,
83561 suite: false,
83562 suiteSetup: false,
83563 suiteTeardown: false,
83564 teardown: false,
83565 test: false,
83566 xcontext: false,
83567 xdescribe: false,
83568 xit: false,
83569 xspecify: false
83570 };
83571 var jasmine = {
83572 afterAll: false,
83573 afterEach: false,
83574 beforeAll: false,
83575 beforeEach: false,
83576 describe: false,
83577 expect: false,
83578 fail: false,
83579 fdescribe: false,
83580 fit: false,
83581 it: false,
83582 jasmine: false,
83583 pending: false,
83584 runs: false,
83585 spyOn: false,
83586 spyOnProperty: false,
83587 waits: false,
83588 waitsFor: false,
83589 xdescribe: false,
83590 xit: false
83591 };
83592 var jest = {
83593 afterAll: false,
83594 afterEach: false,
83595 beforeAll: false,
83596 beforeEach: false,
83597 describe: false,
83598 expect: false,
83599 fdescribe: false,
83600 fit: false,
83601 it: false,
83602 jest: false,
83603 pit: false,
83604 require: false,
83605 test: false,
83606 xdescribe: false,
83607 xit: false,
83608 xtest: false
83609 };
83610 var qunit = {
83611 asyncTest: false,
83612 deepEqual: false,
83613 equal: false,
83614 expect: false,
83615 module: false,
83616 notDeepEqual: false,
83617 notEqual: false,
83618 notOk: false,
83619 notPropEqual: false,
83620 notStrictEqual: false,
83621 ok: false,
83622 propEqual: false,
83623 QUnit: false,
83624 raises: false,
83625 start: false,
83626 stop: false,
83627 strictEqual: false,
83628 test: false,
83629 throws: false
83630 };
83631 var phantomjs = {
83632 console: true,
83633 exports: true,
83634 phantom: true,
83635 require: true,
83636 WebPage: true
83637 };
83638 var couch = {
83639 emit: false,
83640 exports: false,
83641 getRow: false,
83642 log: false,
83643 module: false,
83644 provides: false,
83645 require: false,
83646 respond: false,
83647 send: false,
83648 start: false,
83649 sum: false
83650 };
83651 var rhino = {
83652 defineClass: false,
83653 deserialize: false,
83654 gc: false,
83655 help: false,
83656 importClass: false,
83657 importPackage: false,
83658 java: false,
83659 load: false,
83660 loadClass: false,
83661 Packages: false,
83662 print: false,
83663 quit: false,
83664 readFile: false,
83665 readUrl: false,
83666 runCommand: false,
83667 seal: false,
83668 serialize: false,
83669 spawn: false,
83670 sync: false,
83671 toint32: false,
83672 version: false
83673 };
83674 var nashorn = {
83675 __DIR__: false,
83676 __FILE__: false,
83677 __LINE__: false,
83678 com: false,
83679 edu: false,
83680 exit: false,
83681 java: false,
83682 Java: false,
83683 javafx: false,
83684 JavaImporter: false,
83685 javax: false,
83686 JSAdapter: false,
83687 load: false,
83688 loadWithNewGlobal: false,
83689 org: false,
83690 Packages: false,
83691 print: false,
83692 quit: false
83693 };
83694 var wsh = {
83695 ActiveXObject: true,
83696 Enumerator: true,
83697 GetObject: true,
83698 ScriptEngine: true,
83699 ScriptEngineBuildVersion: true,
83700 ScriptEngineMajorVersion: true,
83701 ScriptEngineMinorVersion: true,
83702 VBArray: true,
83703 WScript: true,
83704 WSH: true,
83705 XDomainRequest: true
83706 };
83707 var jquery = {
83708 $: false,
83709 jQuery: false
83710 };
83711 var yui = {
83712 YAHOO: false,
83713 YAHOO_config: false,
83714 YUI: false,
83715 YUI_config: false
83716 };
83717 var shelljs = {
83718 cat: false,
83719 cd: false,
83720 chmod: false,
83721 config: false,
83722 cp: false,
83723 dirs: false,
83724 echo: false,
83725 env: false,
83726 error: false,
83727 exec: false,
83728 exit: false,
83729 find: false,
83730 grep: false,
83731 ln: false,
83732 ls: false,
83733 mkdir: false,
83734 mv: false,
83735 popd: false,
83736 pushd: false,
83737 pwd: false,
83738 rm: false,
83739 sed: false,
83740 set: false,
83741 target: false,
83742 tempdir: false,
83743 test: false,
83744 touch: false,
83745 which: false
83746 };
83747 var prototypejs = {
83748 $: false,
83749 $$: false,
83750 $A: false,
83751 $break: false,
83752 $continue: false,
83753 $F: false,
83754 $H: false,
83755 $R: false,
83756 $w: false,
83757 Abstract: false,
83758 Ajax: false,
83759 Autocompleter: false,
83760 Builder: false,
83761 Class: false,
83762 Control: false,
83763 Draggable: false,
83764 Draggables: false,
83765 Droppables: false,
83766 Effect: false,
83767 Element: false,
83768 Enumerable: false,
83769 Event: false,
83770 Field: false,
83771 Form: false,
83772 Hash: false,
83773 Insertion: false,
83774 ObjectRange: false,
83775 PeriodicalExecuter: false,
83776 Position: false,
83777 Prototype: false,
83778 Scriptaculous: false,
83779 Selector: false,
83780 Sortable: false,
83781 SortableObserver: false,
83782 Sound: false,
83783 Template: false,
83784 Toggle: false,
83785 Try: false
83786 };
83787 var meteor = {
83788 _: false,
83789 $: false,
83790 Accounts: false,
83791 AccountsClient: false,
83792 AccountsCommon: false,
83793 AccountsServer: false,
83794 App: false,
83795 Assets: false,
83796 Blaze: false,
83797 check: false,
83798 Cordova: false,
83799 DDP: false,
83800 DDPRateLimiter: false,
83801 DDPServer: false,
83802 Deps: false,
83803 EJSON: false,
83804 Email: false,
83805 HTTP: false,
83806 Log: false,
83807 Match: false,
83808 Meteor: false,
83809 Mongo: false,
83810 MongoInternals: false,
83811 Npm: false,
83812 Package: false,
83813 Plugin: false,
83814 process: false,
83815 Random: false,
83816 ReactiveDict: false,
83817 ReactiveVar: false,
83818 Router: false,
83819 ServiceConfiguration: false,
83820 Session: false,
83821 share: false,
83822 Spacebars: false,
83823 Template: false,
83824 Tinytest: false,
83825 Tracker: false,
83826 UI: false,
83827 Utils: false,
83828 WebApp: false,
83829 WebAppInternals: false
83830 };
83831 var mongo = {
83832 _isWindows: false,
83833 _rand: false,
83834 BulkWriteResult: false,
83835 cat: false,
83836 cd: false,
83837 connect: false,
83838 db: false,
83839 getHostName: false,
83840 getMemInfo: false,
83841 hostname: false,
83842 ISODate: false,
83843 listFiles: false,
83844 load: false,
83845 ls: false,
83846 md5sumFile: false,
83847 mkdir: false,
83848 Mongo: false,
83849 NumberInt: false,
83850 NumberLong: false,
83851 ObjectId: false,
83852 PlanCache: false,
83853 print: false,
83854 printjson: false,
83855 pwd: false,
83856 quit: false,
83857 removeFile: false,
83858 rs: false,
83859 sh: false,
83860 UUID: false,
83861 version: false,
83862 WriteResult: false
83863 };
83864 var applescript = {
83865 $: false,
83866 Application: false,
83867 Automation: false,
83868 console: false,
83869 delay: false,
83870 Library: false,
83871 ObjC: false,
83872 ObjectSpecifier: false,
83873 Path: false,
83874 Progress: false,
83875 Ref: false
83876 };
83877 var serviceworker = {
83878 addEventListener: false,
83879 applicationCache: false,
83880 atob: false,
83881 Blob: false,
83882 BroadcastChannel: false,
83883 btoa: false,
83884 Cache: false,
83885 caches: false,
83886 CacheStorage: false,
83887 clearInterval: false,
83888 clearTimeout: false,
83889 Client: false,
83890 clients: false,
83891 Clients: false,
83892 close: true,
83893 console: false,
83894 ExtendableEvent: false,
83895 ExtendableMessageEvent: false,
83896 fetch: false,
83897 FetchEvent: false,
83898 FileReaderSync: false,
83899 FormData: false,
83900 Headers: false,
83901 IDBCursor: false,
83902 IDBCursorWithValue: false,
83903 IDBDatabase: false,
83904 IDBFactory: false,
83905 IDBIndex: false,
83906 IDBKeyRange: false,
83907 IDBObjectStore: false,
83908 IDBOpenDBRequest: false,
83909 IDBRequest: false,
83910 IDBTransaction: false,
83911 IDBVersionChangeEvent: false,
83912 ImageData: false,
83913 importScripts: false,
83914 indexedDB: false,
83915 location: false,
83916 MessageChannel: false,
83917 MessagePort: false,
83918 name: false,
83919 navigator: false,
83920 Notification: false,
83921 onclose: true,
83922 onconnect: true,
83923 onerror: true,
83924 onfetch: true,
83925 oninstall: true,
83926 onlanguagechange: true,
83927 onmessage: true,
83928 onmessageerror: true,
83929 onnotificationclick: true,
83930 onnotificationclose: true,
83931 onoffline: true,
83932 ononline: true,
83933 onpush: true,
83934 onpushsubscriptionchange: true,
83935 onrejectionhandled: true,
83936 onsync: true,
83937 onunhandledrejection: true,
83938 performance: false,
83939 Performance: false,
83940 PerformanceEntry: false,
83941 PerformanceMark: false,
83942 PerformanceMeasure: false,
83943 PerformanceNavigation: false,
83944 PerformanceResourceTiming: false,
83945 PerformanceTiming: false,
83946 postMessage: true,
83947 "Promise": false,
83948 queueMicrotask: false,
83949 registration: false,
83950 removeEventListener: false,
83951 Request: false,
83952 Response: false,
83953 self: false,
83954 ServiceWorker: false,
83955 ServiceWorkerContainer: false,
83956 ServiceWorkerGlobalScope: false,
83957 ServiceWorkerMessageEvent: false,
83958 ServiceWorkerRegistration: false,
83959 setInterval: false,
83960 setTimeout: false,
83961 skipWaiting: false,
83962 TextDecoder: false,
83963 TextEncoder: false,
83964 URL: false,
83965 URLSearchParams: false,
83966 WebSocket: false,
83967 WindowClient: false,
83968 Worker: false,
83969 WorkerGlobalScope: false,
83970 XMLHttpRequest: false
83971 };
83972 var atomtest = {
83973 advanceClock: false,
83974 fakeClearInterval: false,
83975 fakeClearTimeout: false,
83976 fakeSetInterval: false,
83977 fakeSetTimeout: false,
83978 resetTimeouts: false,
83979 waitsForPromise: false
83980 };
83981 var embertest = {
83982 andThen: false,
83983 click: false,
83984 currentPath: false,
83985 currentRouteName: false,
83986 currentURL: false,
83987 fillIn: false,
83988 find: false,
83989 findAll: false,
83990 findWithAssert: false,
83991 keyEvent: false,
83992 pauseTest: false,
83993 resumeTest: false,
83994 triggerEvent: false,
83995 visit: false,
83996 wait: false
83997 };
83998 var protractor = {
83999 $: false,
84000 $$: false,
84001 browser: false,
84002 by: false,
84003 By: false,
84004 DartObject: false,
84005 element: false,
84006 protractor: false
84007 };
84008 var webextensions = {
84009 browser: false,
84010 chrome: false,
84011 opr: false
84012 };
84013 var greasemonkey = {
84014 cloneInto: false,
84015 createObjectIn: false,
84016 exportFunction: false,
84017 GM: false,
84018 GM_addStyle: false,
84019 GM_deleteValue: false,
84020 GM_getResourceText: false,
84021 GM_getResourceURL: false,
84022 GM_getValue: false,
84023 GM_info: false,
84024 GM_listValues: false,
84025 GM_log: false,
84026 GM_openInTab: false,
84027 GM_registerMenuCommand: false,
84028 GM_setClipboard: false,
84029 GM_setValue: false,
84030 GM_xmlhttpRequest: false,
84031 unsafeWindow: false
84032 };
84033 var devtools = {
84034 $: false,
84035 $_: false,
84036 $$: false,
84037 $0: false,
84038 $1: false,
84039 $2: false,
84040 $3: false,
84041 $4: false,
84042 $x: false,
84043 chrome: false,
84044 clear: false,
84045 copy: false,
84046 debug: false,
84047 dir: false,
84048 dirxml: false,
84049 getEventListeners: false,
84050 inspect: false,
84051 keys: false,
84052 monitor: false,
84053 monitorEvents: false,
84054 profile: false,
84055 profileEnd: false,
84056 queryObjects: false,
84057 table: false,
84058 undebug: false,
84059 unmonitor: false,
84060 unmonitorEvents: false,
84061 values: false
84062 };
84063 var require$$0$4 = {
84064 builtin: builtin,
84065 es5: es5,
84066 es2015: es2015,
84067 es2017: es2017,
84068 browser: browser,
84069 worker: worker,
84070 node: node,
84071 commonjs: commonjs,
84072 amd: amd,
84073 mocha: mocha,
84074 jasmine: jasmine,
84075 jest: jest,
84076 qunit: qunit,
84077 phantomjs: phantomjs,
84078 couch: couch,
84079 rhino: rhino,
84080 nashorn: nashorn,
84081 wsh: wsh,
84082 jquery: jquery,
84083 yui: yui,
84084 shelljs: shelljs,
84085 prototypejs: prototypejs,
84086 meteor: meteor,
84087 mongo: mongo,
84088 applescript: applescript,
84089 serviceworker: serviceworker,
84090 atomtest: atomtest,
84091 embertest: embertest,
84092 protractor: protractor,
84093 "shared-node-browser": {
84094 clearInterval: false,
84095 clearTimeout: false,
84096 console: false,
84097 setInterval: false,
84098 setTimeout: false,
84099 URL: false,
84100 URLSearchParams: false
84101 },
84102 webextensions: webextensions,
84103 greasemonkey: greasemonkey,
84104 devtools: devtools
84105 };
84106
84107 var globalsBABEL_8_BREAKINGFalse = require$$0$4;
84108
84109 var globals = globalsBABEL_8_BREAKINGFalse;
84110
84111 var _templateObject$b;
84112 var helperIDs = new WeakMap();
84113 function addCreateSuperHelper(file) {
84114 if (helperIDs.has(file)) {
84115 return (cloneNode || clone)(helperIDs.get(file));
84116 }
84117
84118 try {
84119 return file.addHelper("createSuper");
84120 } catch (_unused) {}
84121
84122 var id = file.scope.generateUidIdentifier("createSuper");
84123 helperIDs.set(file, id);
84124 var fn = helper$1({
84125 CREATE_SUPER: id,
84126 GET_PROTOTYPE_OF: file.addHelper("getPrototypeOf"),
84127 POSSIBLE_CONSTRUCTOR_RETURN: file.addHelper("possibleConstructorReturn")
84128 });
84129 file.path.unshiftContainer("body", [fn]);
84130 file.scope.registerDeclaration(file.path.get("body.0"));
84131 return cloneNode(id);
84132 }
84133 var helper$1 = template$2.statement(_templateObject$b || (_templateObject$b = _taggedTemplateLiteralLoose(["\n function CREATE_SUPER(Derived) {\n function isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n\n // core-js@3\n if (Reflect.construct.sham) return false;\n\n // Proxy can't be polyfilled. Every browser implemented\n // proxies before or at the same time as Reflect.construct,\n // so if they support Proxy they also support Reflect.construct.\n if (typeof Proxy === \"function\") return true;\n\n // Since Reflect.construct can't be properly polyfilled, some\n // implementations (e.g. core-js@2) don't set the correct internal slots.\n // Those polyfills don't allow us to subclass built-ins, so we need to\n // use our fallback implementation.\n try {\n // If the internal slots aren't set, this throws an error similar to\n // TypeError: this is not a Date object.\n Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n return function () {\n var Super = GET_PROTOTYPE_OF(Derived), result;\n if (isNativeReflectConstruct()) {\n // NOTE: This doesn't work if this.__proto__.constructor has been modified.\n var NewTarget = GET_PROTOTYPE_OF(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return POSSIBLE_CONSTRUCTOR_RETURN(this, result);\n }\n }\n"])));
84134
84135 var _templateObject$a;
84136
84137 function buildConstructor(classRef, constructorBody, node) {
84138 var func = functionDeclaration(cloneNode(classRef), [], constructorBody);
84139 inherits(func, node);
84140 return func;
84141 }
84142
84143 function transformClass(path, file, builtinClasses, isLoose, assumptions) {
84144 var classState = {
84145 parent: undefined,
84146 scope: undefined,
84147 node: undefined,
84148 path: undefined,
84149 file: undefined,
84150 classId: undefined,
84151 classRef: undefined,
84152 superFnId: undefined,
84153 superName: undefined,
84154 superReturns: [],
84155 isDerived: false,
84156 extendsNative: false,
84157 construct: undefined,
84158 constructorBody: undefined,
84159 userConstructor: undefined,
84160 userConstructorPath: undefined,
84161 hasConstructor: false,
84162 staticPropBody: [],
84163 body: [],
84164 superThises: [],
84165 pushedConstructor: false,
84166 pushedInherits: false,
84167 protoAlias: null,
84168 isLoose: false,
84169 methods: {
84170 instance: {
84171 hasComputed: false,
84172 list: [],
84173 map: new Map()
84174 },
84175 "static": {
84176 hasComputed: false,
84177 list: [],
84178 map: new Map()
84179 }
84180 }
84181 };
84182
84183 var setState = function setState(newState) {
84184 Object.assign(classState, newState);
84185 };
84186
84187 var findThisesVisitor = traverse.visitors.merge([environmentVisitor, {
84188 ThisExpression: function ThisExpression(path) {
84189 classState.superThises.push(path);
84190 }
84191 }]);
84192
84193 function maybeCreateConstructor() {
84194 var hasConstructor = false;
84195 var paths = classState.path.get("body.body");
84196
84197 for (var _iterator = _createForOfIteratorHelperLoose(paths), _step; !(_step = _iterator()).done;) {
84198 var _path = _step.value;
84199 hasConstructor = _path.equals("kind", "constructor");
84200 if (hasConstructor) break;
84201 }
84202
84203 if (hasConstructor) return;
84204 var params, body;
84205
84206 if (classState.isDerived) {
84207 var _constructor = template$2.expression.ast(_templateObject$a || (_templateObject$a = _taggedTemplateLiteralLoose(["\n (function () {\n super(...arguments);\n })\n "])));
84208
84209 params = _constructor.params;
84210 body = _constructor.body;
84211 } else {
84212 params = [];
84213 body = blockStatement([]);
84214 }
84215
84216 classState.path.get("body").unshiftContainer("body", classMethod("constructor", identifier("constructor"), params, body));
84217 }
84218
84219 function buildBody() {
84220 maybeCreateConstructor();
84221 pushBody();
84222 verifyConstructor();
84223
84224 if (classState.userConstructor) {
84225 var constructorBody = classState.constructorBody,
84226 userConstructor = classState.userConstructor,
84227 construct = classState.construct;
84228 constructorBody.body = constructorBody.body.concat(userConstructor.body.body);
84229 inherits(construct, userConstructor);
84230 inherits(constructorBody, userConstructor.body);
84231 }
84232
84233 pushDescriptors();
84234 }
84235
84236 function pushBody() {
84237 var classBodyPaths = classState.path.get("body.body");
84238
84239 for (var _iterator2 = _createForOfIteratorHelperLoose(classBodyPaths), _step2; !(_step2 = _iterator2()).done;) {
84240 var _path2 = _step2.value;
84241 var node = _path2.node;
84242
84243 if (_path2.isClassProperty()) {
84244 throw _path2.buildCodeFrameError("Missing class properties transform.");
84245 }
84246
84247 if (node.decorators) {
84248 throw _path2.buildCodeFrameError("Method has decorators, put the decorator plugin before the classes one.");
84249 }
84250
84251 if (isClassMethod(node)) {
84252 (function () {
84253 var isConstructor = node.kind === "constructor";
84254 var replaceSupers = new ReplaceSupers({
84255 methodPath: _path2,
84256 objectRef: classState.classRef,
84257 superRef: classState.superName,
84258 constantSuper: assumptions.constantSuper,
84259 file: classState.file,
84260 refToPreserve: classState.classRef
84261 });
84262 replaceSupers.replace();
84263 var superReturns = [];
84264
84265 _path2.traverse(traverse.visitors.merge([environmentVisitor, {
84266 ReturnStatement: function ReturnStatement(path) {
84267 if (!path.getFunctionParent().isArrowFunctionExpression()) {
84268 superReturns.push(path);
84269 }
84270 }
84271 }]));
84272
84273 if (isConstructor) {
84274 pushConstructor(superReturns, node, _path2);
84275 } else {
84276 pushMethod(node, _path2);
84277 }
84278 })();
84279 }
84280 }
84281 }
84282
84283 function pushDescriptors() {
84284 pushInheritsToBody();
84285 var body = classState.body;
84286 var props = {
84287 instance: null,
84288 "static": null
84289 };
84290
84291 for (var _i = 0, _arr = ["static", "instance"]; _i < _arr.length; _i++) {
84292 var placement = _arr[_i];
84293
84294 if (classState.methods[placement].list.length) {
84295 props[placement] = classState.methods[placement].list.map(function (desc) {
84296 var obj = objectExpression([objectProperty(identifier("key"), desc.key)]);
84297
84298 for (var _i2 = 0, _arr2 = ["get", "set", "value"]; _i2 < _arr2.length; _i2++) {
84299 var kind = _arr2[_i2];
84300
84301 if (desc[kind] != null) {
84302 obj.properties.push(objectProperty(identifier(kind), desc[kind]));
84303 }
84304 }
84305
84306 return obj;
84307 });
84308 }
84309 }
84310
84311 if (props.instance || props["static"]) {
84312 var args = [cloneNode(classState.classRef), props.instance ? arrayExpression(props.instance) : nullLiteral(), props["static"] ? arrayExpression(props["static"]) : nullLiteral()];
84313 var lastNonNullIndex = 0;
84314
84315 for (var i = 0; i < args.length; i++) {
84316 if (!isNullLiteral(args[i])) lastNonNullIndex = i;
84317 }
84318
84319 args = args.slice(0, lastNonNullIndex + 1);
84320 body.push(expressionStatement(callExpression(classState.file.addHelper("createClass"), args)));
84321 }
84322 }
84323
84324 function wrapSuperCall(bareSuper, superRef, thisRef, body) {
84325 var bareSuperNode = bareSuper.node;
84326 var call;
84327
84328 if (assumptions.superIsCallableConstructor) {
84329 bareSuperNode.arguments.unshift(thisExpression());
84330
84331 if (bareSuperNode.arguments.length === 2 && isSpreadElement(bareSuperNode.arguments[1]) && isIdentifier(bareSuperNode.arguments[1].argument, {
84332 name: "arguments"
84333 })) {
84334 bareSuperNode.arguments[1] = bareSuperNode.arguments[1].argument;
84335 bareSuperNode.callee = memberExpression(cloneNode(superRef), identifier("apply"));
84336 } else {
84337 bareSuperNode.callee = memberExpression(cloneNode(superRef), identifier("call"));
84338 }
84339
84340 call = logicalExpression("||", bareSuperNode, thisExpression());
84341 } else {
84342 call = optimiseCallExpression(cloneNode(classState.superFnId), thisExpression(), bareSuperNode.arguments, false);
84343 }
84344
84345 if (bareSuper.parentPath.isExpressionStatement() && bareSuper.parentPath.container === body.node.body && body.node.body.length - 1 === bareSuper.parentPath.key) {
84346 if (classState.superThises.length) {
84347 call = assignmentExpression("=", thisRef(), call);
84348 }
84349
84350 bareSuper.parentPath.replaceWith(returnStatement(call));
84351 } else {
84352 bareSuper.replaceWith(assignmentExpression("=", thisRef(), call));
84353 }
84354 }
84355
84356 function verifyConstructor() {
84357 if (!classState.isDerived) return;
84358 var path = classState.userConstructorPath;
84359 var body = path.get("body");
84360 path.traverse(findThisesVisitor);
84361
84362 var _thisRef = function thisRef() {
84363 var ref = path.scope.generateDeclaredUidIdentifier("this");
84364
84365 _thisRef = function thisRef() {
84366 return cloneNode(ref);
84367 };
84368
84369 return ref;
84370 };
84371
84372 for (var _iterator3 = _createForOfIteratorHelperLoose(classState.superThises), _step3; !(_step3 = _iterator3()).done;) {
84373 var thisPath = _step3.value;
84374 var node = thisPath.node,
84375 parentPath = thisPath.parentPath;
84376
84377 if (parentPath.isMemberExpression({
84378 object: node
84379 })) {
84380 thisPath.replaceWith(_thisRef());
84381 continue;
84382 }
84383
84384 thisPath.replaceWith(callExpression(classState.file.addHelper("assertThisInitialized"), [_thisRef()]));
84385 }
84386
84387 var bareSupers = new Set();
84388 path.traverse(traverse.visitors.merge([environmentVisitor, {
84389 Super: function Super(path) {
84390 var node = path.node,
84391 parentPath = path.parentPath;
84392
84393 if (parentPath.isCallExpression({
84394 callee: node
84395 })) {
84396 bareSupers.add(parentPath);
84397 }
84398 }
84399 }]));
84400 var guaranteedSuperBeforeFinish = !!bareSupers.size;
84401
84402 for (var _iterator4 = _createForOfIteratorHelperLoose(bareSupers), _step4; !(_step4 = _iterator4()).done;) {
84403 var bareSuper = _step4.value;
84404 wrapSuperCall(bareSuper, classState.superName, _thisRef, body);
84405
84406 if (guaranteedSuperBeforeFinish) {
84407 bareSuper.find(function (parentPath) {
84408 if (parentPath === path) {
84409 return true;
84410 }
84411
84412 if (parentPath.isLoop() || parentPath.isConditional() || parentPath.isArrowFunctionExpression()) {
84413 guaranteedSuperBeforeFinish = false;
84414 return true;
84415 }
84416 });
84417 }
84418 }
84419
84420 var wrapReturn;
84421
84422 if (classState.isLoose) {
84423 wrapReturn = function wrapReturn(returnArg) {
84424 var thisExpr = callExpression(classState.file.addHelper("assertThisInitialized"), [_thisRef()]);
84425 return returnArg ? logicalExpression("||", returnArg, thisExpr) : thisExpr;
84426 };
84427 } else {
84428 wrapReturn = function wrapReturn(returnArg) {
84429 return callExpression(classState.file.addHelper("possibleConstructorReturn"), [_thisRef()].concat(returnArg || []));
84430 };
84431 }
84432
84433 var bodyPaths = body.get("body");
84434
84435 if (!bodyPaths.length || !bodyPaths.pop().isReturnStatement()) {
84436 body.pushContainer("body", returnStatement(guaranteedSuperBeforeFinish ? _thisRef() : wrapReturn()));
84437 }
84438
84439 for (var _iterator5 = _createForOfIteratorHelperLoose(classState.superReturns), _step5; !(_step5 = _iterator5()).done;) {
84440 var returnPath = _step5.value;
84441 returnPath.get("argument").replaceWith(wrapReturn(returnPath.node.argument));
84442 }
84443 }
84444
84445 function pushMethod(node, path) {
84446 var scope = path ? path.scope : classState.scope;
84447
84448 if (node.kind === "method") {
84449 if (processMethod(node, scope)) return;
84450 }
84451
84452 var placement = node["static"] ? "static" : "instance";
84453 var methods = classState.methods[placement];
84454 var descKey = node.kind === "method" ? "value" : node.kind;
84455 var key = isNumericLiteral(node.key) || isBigIntLiteral(node.key) ? stringLiteral(String(node.key.value)) : toComputedKey$1(node);
84456 var fn = toExpression(node);
84457
84458 if (isStringLiteral(key)) {
84459 if (node.kind === "method") {
84460 fn = nameFunction({
84461 id: key,
84462 node: node,
84463 scope: scope
84464 });
84465 }
84466 } else {
84467 methods.hasComputed = true;
84468 }
84469
84470 var descriptor;
84471
84472 if (!methods.hasComputed && methods.map.has(key.value)) {
84473 descriptor = methods.map.get(key.value);
84474 descriptor[descKey] = fn;
84475
84476 if (descKey === "value") {
84477 descriptor.get = null;
84478 descriptor.set = null;
84479 } else {
84480 descriptor.value = null;
84481 }
84482 } else {
84483 var _descriptor;
84484
84485 descriptor = (_descriptor = {
84486 key: key
84487 }, _descriptor[descKey] = fn, _descriptor);
84488 methods.list.push(descriptor);
84489
84490 if (!methods.hasComputed) {
84491 methods.map.set(key.value, descriptor);
84492 }
84493 }
84494 }
84495
84496 function processMethod(node, scope) {
84497 if (assumptions.setClassMethods && !node.decorators) {
84498 var classRef = classState.classRef;
84499
84500 if (!node["static"]) {
84501 insertProtoAliasOnce();
84502 classRef = classState.protoAlias;
84503 }
84504
84505 var methodName = memberExpression(cloneNode(classRef), node.key, node.computed || isLiteral(node.key));
84506 var func = functionExpression(null, node.params, node.body, node.generator, node.async);
84507 inherits(func, node);
84508 var key = toComputedKey$1(node, node.key);
84509
84510 if (isStringLiteral(key)) {
84511 func = nameFunction({
84512 node: func,
84513 id: key,
84514 scope: scope
84515 });
84516 }
84517
84518 var expr = expressionStatement(assignmentExpression("=", methodName, func));
84519 inheritsComments(expr, node);
84520 classState.body.push(expr);
84521 return true;
84522 }
84523
84524 return false;
84525 }
84526
84527 function insertProtoAliasOnce() {
84528 if (classState.protoAlias === null) {
84529 setState({
84530 protoAlias: classState.scope.generateUidIdentifier("proto")
84531 });
84532 var classProto = memberExpression(classState.classRef, identifier("prototype"));
84533 var protoDeclaration = variableDeclaration("var", [variableDeclarator(classState.protoAlias, classProto)]);
84534 classState.body.push(protoDeclaration);
84535 }
84536 }
84537
84538 function pushConstructor(superReturns, method, path) {
84539 setState({
84540 userConstructorPath: path,
84541 userConstructor: method,
84542 hasConstructor: true,
84543 superReturns: superReturns
84544 });
84545 var construct = classState.construct;
84546 inheritsComments(construct, method);
84547 construct.params = method.params;
84548 inherits(construct.body, method.body);
84549 construct.body.directives = method.body.directives;
84550 pushConstructorToBody();
84551 }
84552
84553 function pushConstructorToBody() {
84554 if (classState.pushedConstructor) return;
84555 classState.pushedConstructor = true;
84556
84557 if (classState.hasInstanceDescriptors || classState.hasStaticDescriptors) {
84558 pushDescriptors();
84559 }
84560
84561 classState.body.push(classState.construct);
84562 pushInheritsToBody();
84563 }
84564
84565 function pushInheritsToBody() {
84566 if (!classState.isDerived || classState.pushedInherits) return;
84567 var superFnId = path.scope.generateUidIdentifier("super");
84568 setState({
84569 pushedInherits: true,
84570 superFnId: superFnId
84571 });
84572
84573 if (!assumptions.superIsCallableConstructor) {
84574 classState.body.unshift(variableDeclaration("var", [variableDeclarator(superFnId, callExpression(addCreateSuperHelper(classState.file), [cloneNode(classState.classRef)]))]));
84575 }
84576
84577 classState.body.unshift(expressionStatement(callExpression(classState.file.addHelper(classState.isLoose ? "inheritsLoose" : "inherits"), [cloneNode(classState.classRef), cloneNode(classState.superName)])));
84578 }
84579
84580 function setupClosureParamsArgs() {
84581 var superName = classState.superName;
84582 var closureParams = [];
84583 var closureArgs = [];
84584
84585 if (classState.isDerived) {
84586 var arg = cloneNode(superName);
84587
84588 if (classState.extendsNative) {
84589 arg = callExpression(classState.file.addHelper("wrapNativeSuper"), [arg]);
84590 annotateAsPure(arg);
84591 }
84592
84593 var param = classState.scope.generateUidIdentifierBasedOnNode(superName);
84594 closureParams.push(param);
84595 closureArgs.push(arg);
84596 setState({
84597 superName: cloneNode(param)
84598 });
84599 }
84600
84601 return {
84602 closureParams: closureParams,
84603 closureArgs: closureArgs
84604 };
84605 }
84606
84607 function classTransformer(path, file, builtinClasses, isLoose) {
84608 setState({
84609 parent: path.parent,
84610 scope: path.scope,
84611 node: path.node,
84612 path: path,
84613 file: file,
84614 isLoose: isLoose
84615 });
84616 setState({
84617 classId: classState.node.id,
84618 classRef: classState.node.id ? identifier(classState.node.id.name) : classState.scope.generateUidIdentifier("class"),
84619 superName: classState.node.superClass,
84620 isDerived: !!classState.node.superClass,
84621 constructorBody: blockStatement([])
84622 });
84623 setState({
84624 extendsNative: classState.isDerived && builtinClasses.has(classState.superName.name) && !classState.scope.hasBinding(classState.superName.name, true)
84625 });
84626 var classRef = classState.classRef,
84627 node = classState.node,
84628 constructorBody = classState.constructorBody;
84629 setState({
84630 construct: buildConstructor(classRef, constructorBody, node)
84631 });
84632 var body = classState.body;
84633
84634 var _setupClosureParamsAr = setupClosureParamsArgs(),
84635 closureParams = _setupClosureParamsAr.closureParams,
84636 closureArgs = _setupClosureParamsAr.closureArgs;
84637
84638 buildBody();
84639
84640 if (!assumptions.noClassCalls) {
84641 constructorBody.body.unshift(expressionStatement(callExpression(classState.file.addHelper("classCallCheck"), [thisExpression(), cloneNode(classState.classRef)])));
84642 }
84643
84644 body = body.concat(classState.staticPropBody.map(function (fn) {
84645 return fn(cloneNode(classState.classRef));
84646 }));
84647 var isStrict = path.isInStrictMode();
84648 var constructorOnly = classState.classId && body.length === 1;
84649
84650 if (constructorOnly && !isStrict) {
84651 for (var _iterator6 = _createForOfIteratorHelperLoose(classState.construct.params), _step6; !(_step6 = _iterator6()).done;) {
84652 var param = _step6.value;
84653
84654 if (!isIdentifier(param)) {
84655 constructorOnly = false;
84656 break;
84657 }
84658 }
84659 }
84660
84661 var directives = constructorOnly ? body[0].body.directives : [];
84662
84663 if (!isStrict) {
84664 directives.push(directive(directiveLiteral("use strict")));
84665 }
84666
84667 if (constructorOnly) {
84668 return toExpression(body[0]);
84669 }
84670
84671 body.push(returnStatement(cloneNode(classState.classRef)));
84672 var container = arrowFunctionExpression(closureParams, blockStatement(body, directives));
84673 return callExpression(container, closureArgs);
84674 }
84675
84676 return classTransformer(path, file, builtinClasses, isLoose);
84677 }
84678
84679 var getBuiltinClasses = function getBuiltinClasses(category) {
84680 return Object.keys(globals[category]).filter(function (name) {
84681 return /^[A-Z]/.test(name);
84682 });
84683 };
84684
84685 var builtinClasses = new Set([].concat(_toConsumableArray(getBuiltinClasses("builtin")), _toConsumableArray(getBuiltinClasses("browser"))));
84686 var _transformClasses = declare(function (api, options) {
84687 var _api$assumption, _api$assumption2, _api$assumption3, _api$assumption4;
84688
84689 api.assertVersion(7);
84690 var loose = options.loose;
84691 var setClassMethods = (_api$assumption = api.assumption("setClassMethods")) != null ? _api$assumption : options.loose;
84692 var constantSuper = (_api$assumption2 = api.assumption("constantSuper")) != null ? _api$assumption2 : options.loose;
84693 var superIsCallableConstructor = (_api$assumption3 = api.assumption("superIsCallableConstructor")) != null ? _api$assumption3 : options.loose;
84694 var noClassCalls = (_api$assumption4 = api.assumption("noClassCalls")) != null ? _api$assumption4 : options.loose;
84695 var VISITED = Symbol();
84696 return {
84697 name: "transform-classes",
84698 visitor: {
84699 ExportDefaultDeclaration: function ExportDefaultDeclaration(path) {
84700 if (!path.get("declaration").isClassDeclaration()) return;
84701 splitExportDeclaration(path);
84702 },
84703 ClassDeclaration: function ClassDeclaration(path) {
84704 var node = path.node;
84705 var ref = node.id || path.scope.generateUidIdentifier("class");
84706 path.replaceWith(variableDeclaration("let", [variableDeclarator(ref, toExpression(node))]));
84707 },
84708 ClassExpression: function ClassExpression(path, state) {
84709 var node = path.node;
84710 if (node[VISITED]) return;
84711 var inferred = nameFunction(path);
84712
84713 if (inferred && inferred !== node) {
84714 path.replaceWith(inferred);
84715 return;
84716 }
84717
84718 node[VISITED] = true;
84719 path.replaceWith(transformClass(path, state.file, builtinClasses, loose, {
84720 setClassMethods: setClassMethods,
84721 constantSuper: constantSuper,
84722 superIsCallableConstructor: superIsCallableConstructor,
84723 noClassCalls: noClassCalls
84724 }));
84725
84726 if (path.isCallExpression()) {
84727 annotateAsPure(path);
84728 var callee = path.get("callee");
84729
84730 if (callee.isArrowFunctionExpression()) {
84731 callee.arrowFunctionToExpression();
84732 }
84733 }
84734 }
84735 }
84736 };
84737 });
84738
84739 var _transformComputedProperties = declare(function (api, options) {
84740 var _api$assumption;
84741
84742 api.assertVersion(7);
84743 var setComputedProperties = (_api$assumption = api.assumption("setComputedProperties")) != null ? _api$assumption : options.loose;
84744 var pushComputedProps = setComputedProperties ? pushComputedPropsLoose : pushComputedPropsSpec;
84745 var buildMutatorMapAssign = template$2("\n MUTATOR_MAP_REF[KEY] = MUTATOR_MAP_REF[KEY] || {};\n MUTATOR_MAP_REF[KEY].KIND = VALUE;\n ");
84746
84747 function getValue(prop) {
84748 if (isObjectProperty(prop)) {
84749 return prop.value;
84750 } else if (isObjectMethod(prop)) {
84751 return functionExpression(null, prop.params, prop.body, prop.generator, prop.async);
84752 }
84753 }
84754
84755 function pushAssign(objId, prop, body) {
84756 if (prop.kind === "get" && prop.kind === "set") {
84757 pushMutatorDefine(objId, prop);
84758 } else {
84759 body.push(expressionStatement(assignmentExpression("=", memberExpression(cloneNode(objId), prop.key, prop.computed || isLiteral(prop.key)), getValue(prop))));
84760 }
84761 }
84762
84763 function pushMutatorDefine(_ref, prop) {
84764 var body = _ref.body,
84765 getMutatorId = _ref.getMutatorId,
84766 scope = _ref.scope;
84767 var key = !prop.computed && isIdentifier(prop.key) ? stringLiteral(prop.key.name) : prop.key;
84768 var maybeMemoise = scope.maybeGenerateMemoised(key);
84769
84770 if (maybeMemoise) {
84771 body.push(expressionStatement(assignmentExpression("=", maybeMemoise, key)));
84772 key = maybeMemoise;
84773 }
84774
84775 body.push.apply(body, _toConsumableArray(buildMutatorMapAssign({
84776 MUTATOR_MAP_REF: getMutatorId(),
84777 KEY: cloneNode(key),
84778 VALUE: getValue(prop),
84779 KIND: identifier(prop.kind)
84780 })));
84781 }
84782
84783 function pushComputedPropsLoose(info) {
84784 for (var _iterator = _createForOfIteratorHelperLoose(info.computedProps), _step; !(_step = _iterator()).done;) {
84785 var prop = _step.value;
84786
84787 if (prop.kind === "get" || prop.kind === "set") {
84788 pushMutatorDefine(info, prop);
84789 } else {
84790 pushAssign(cloneNode(info.objId), prop, info.body);
84791 }
84792 }
84793 }
84794
84795 function pushComputedPropsSpec(info) {
84796 var objId = info.objId,
84797 body = info.body,
84798 computedProps = info.computedProps,
84799 state = info.state;
84800
84801 for (var _iterator2 = _createForOfIteratorHelperLoose(computedProps), _step2; !(_step2 = _iterator2()).done;) {
84802 var prop = _step2.value;
84803 var key = toComputedKey$1(prop);
84804
84805 if (prop.kind === "get" || prop.kind === "set") {
84806 pushMutatorDefine(info, prop);
84807 } else {
84808 if (computedProps.length === 1) {
84809 return callExpression(state.addHelper("defineProperty"), [info.initPropExpression, key, getValue(prop)]);
84810 } else {
84811 body.push(expressionStatement(callExpression(state.addHelper("defineProperty"), [cloneNode(objId), key, getValue(prop)])));
84812 }
84813 }
84814 }
84815 }
84816
84817 return {
84818 name: "transform-computed-properties",
84819 visitor: {
84820 ObjectExpression: {
84821 exit: function exit(path, state) {
84822 var node = path.node,
84823 parent = path.parent,
84824 scope = path.scope;
84825 var hasComputed = false;
84826
84827 for (var _i = 0, _arr = node.properties; _i < _arr.length; _i++) {
84828 var prop = _arr[_i];
84829 hasComputed = prop.computed === true;
84830 if (hasComputed) break;
84831 }
84832
84833 if (!hasComputed) return;
84834 var initProps = [];
84835 var computedProps = [];
84836 var foundComputed = false;
84837
84838 for (var _iterator3 = _createForOfIteratorHelperLoose(node.properties), _step3; !(_step3 = _iterator3()).done;) {
84839 var _prop = _step3.value;
84840
84841 if (_prop.computed) {
84842 foundComputed = true;
84843 }
84844
84845 if (foundComputed) {
84846 computedProps.push(_prop);
84847 } else {
84848 initProps.push(_prop);
84849 }
84850 }
84851
84852 var objId = scope.generateUidIdentifierBasedOnNode(parent);
84853 var initPropExpression = objectExpression(initProps);
84854 var body = [];
84855 body.push(variableDeclaration("var", [variableDeclarator(objId, initPropExpression)]));
84856 var mutatorRef;
84857
84858 var getMutatorId = function getMutatorId() {
84859 if (!mutatorRef) {
84860 mutatorRef = scope.generateUidIdentifier("mutatorMap");
84861 body.push(variableDeclaration("var", [variableDeclarator(mutatorRef, objectExpression([]))]));
84862 }
84863
84864 return cloneNode(mutatorRef);
84865 };
84866
84867 var single = pushComputedProps({
84868 scope: scope,
84869 objId: objId,
84870 body: body,
84871 computedProps: computedProps,
84872 initPropExpression: initPropExpression,
84873 getMutatorId: getMutatorId,
84874 state: state
84875 });
84876
84877 if (mutatorRef) {
84878 body.push(expressionStatement(callExpression(state.addHelper("defineEnumerableProperties"), [cloneNode(objId), cloneNode(mutatorRef)])));
84879 }
84880
84881 if (single) {
84882 path.replaceWith(single);
84883 } else {
84884 body.push(expressionStatement(cloneNode(objId)));
84885 path.replaceWithMultiple(body);
84886 }
84887 }
84888 }
84889 }
84890 };
84891 });
84892
84893 var _transformDestructuring = declare(function (api, options) {
84894 var _api$assumption, _options$allowArrayLi, _api$assumption2;
84895
84896 api.assertVersion(7);
84897 var _options$useBuiltIns = options.useBuiltIns,
84898 useBuiltIns = _options$useBuiltIns === void 0 ? false : _options$useBuiltIns;
84899 var iterableIsArray = (_api$assumption = api.assumption("iterableIsArray")) != null ? _api$assumption : options.loose;
84900 var arrayLikeIsIterable = (_options$allowArrayLi = options.allowArrayLike) != null ? _options$allowArrayLi : api.assumption("arrayLikeIsIterable");
84901 var objectRestNoSymbols = (_api$assumption2 = api.assumption("objectRestNoSymbols")) != null ? _api$assumption2 : options.loose;
84902
84903 function getExtendsHelper(file) {
84904 return useBuiltIns ? memberExpression(identifier("Object"), identifier("assign")) : file.addHelper("extends");
84905 }
84906
84907 function variableDeclarationHasPattern(node) {
84908 for (var _i = 0, _arr = node.declarations; _i < _arr.length; _i++) {
84909 var declar = _arr[_i];
84910
84911 if (isPattern(declar.id)) {
84912 return true;
84913 }
84914 }
84915
84916 return false;
84917 }
84918
84919 function hasRest(pattern) {
84920 for (var _i2 = 0, _arr2 = pattern.elements; _i2 < _arr2.length; _i2++) {
84921 var elem = _arr2[_i2];
84922
84923 if (isRestElement(elem)) {
84924 return true;
84925 }
84926 }
84927
84928 return false;
84929 }
84930
84931 function hasObjectRest(pattern) {
84932 for (var _i3 = 0, _arr3 = pattern.properties; _i3 < _arr3.length; _i3++) {
84933 var elem = _arr3[_i3];
84934
84935 if (isRestElement(elem)) {
84936 return true;
84937 }
84938 }
84939
84940 return false;
84941 }
84942
84943 var STOP_TRAVERSAL = {};
84944
84945 var arrayUnpackVisitor = function arrayUnpackVisitor(node, ancestors, state) {
84946 if (!ancestors.length) {
84947 return;
84948 }
84949
84950 if (isIdentifier(node) && isReferenced(node, ancestors[ancestors.length - 1]) && state.bindings[node.name]) {
84951 state.deopt = true;
84952 throw STOP_TRAVERSAL;
84953 }
84954 };
84955
84956 var DestructuringTransformer = function () {
84957 function DestructuringTransformer(opts) {
84958 this.blockHoist = opts.blockHoist;
84959 this.operator = opts.operator;
84960 this.arrays = {};
84961 this.nodes = opts.nodes || [];
84962 this.scope = opts.scope;
84963 this.kind = opts.kind;
84964 this.iterableIsArray = opts.iterableIsArray;
84965 this.arrayLikeIsIterable = opts.arrayLikeIsIterable;
84966 this.addHelper = opts.addHelper;
84967 }
84968
84969 var _proto = DestructuringTransformer.prototype;
84970
84971 _proto.buildVariableAssignment = function buildVariableAssignment(id, init) {
84972 var op = this.operator;
84973 if (isMemberExpression(id)) op = "=";
84974 var node;
84975
84976 if (op) {
84977 node = expressionStatement(assignmentExpression(op, id, cloneNode(init) || this.scope.buildUndefinedNode()));
84978 } else {
84979 node = variableDeclaration(this.kind, [variableDeclarator(id, cloneNode(init))]);
84980 }
84981
84982 node._blockHoist = this.blockHoist;
84983 return node;
84984 };
84985
84986 _proto.buildVariableDeclaration = function buildVariableDeclaration(id, init) {
84987 var declar = variableDeclaration("var", [variableDeclarator(cloneNode(id), cloneNode(init))]);
84988 declar._blockHoist = this.blockHoist;
84989 return declar;
84990 };
84991
84992 _proto.push = function push(id, _init) {
84993 var init = cloneNode(_init);
84994
84995 if (isObjectPattern(id)) {
84996 this.pushObjectPattern(id, init);
84997 } else if (isArrayPattern(id)) {
84998 this.pushArrayPattern(id, init);
84999 } else if (isAssignmentPattern(id)) {
85000 this.pushAssignmentPattern(id, init);
85001 } else {
85002 this.nodes.push(this.buildVariableAssignment(id, init));
85003 }
85004 };
85005
85006 _proto.toArray = function toArray(node, count) {
85007 if (this.iterableIsArray || isIdentifier(node) && this.arrays[node.name]) {
85008 return node;
85009 } else {
85010 return this.scope.toArray(node, count, this.arrayLikeIsIterable);
85011 }
85012 };
85013
85014 _proto.pushAssignmentPattern = function pushAssignmentPattern(_ref, valueRef) {
85015 var left = _ref.left,
85016 right = _ref.right;
85017 var tempId = this.scope.generateUidIdentifierBasedOnNode(valueRef);
85018 this.nodes.push(this.buildVariableDeclaration(tempId, valueRef));
85019 var tempConditional = conditionalExpression(binaryExpression("===", cloneNode(tempId), this.scope.buildUndefinedNode()), right, cloneNode(tempId));
85020
85021 if (isPattern(left)) {
85022 var patternId;
85023 var node;
85024
85025 if (this.kind === "const" || this.kind === "let") {
85026 patternId = this.scope.generateUidIdentifier(tempId.name);
85027 node = this.buildVariableDeclaration(patternId, tempConditional);
85028 } else {
85029 patternId = tempId;
85030 node = expressionStatement(assignmentExpression("=", cloneNode(tempId), tempConditional));
85031 }
85032
85033 this.nodes.push(node);
85034 this.push(left, patternId);
85035 } else {
85036 this.nodes.push(this.buildVariableAssignment(left, tempConditional));
85037 }
85038 };
85039
85040 _proto.pushObjectRest = function pushObjectRest(pattern, objRef, spreadProp, spreadPropIndex) {
85041 var keys = [];
85042 var allLiteral = true;
85043 var hasTemplateLiteral = false;
85044
85045 for (var i = 0; i < pattern.properties.length; i++) {
85046 var prop = pattern.properties[i];
85047 if (i >= spreadPropIndex) break;
85048 if (isRestElement(prop)) continue;
85049 var key = prop.key;
85050
85051 if (isIdentifier(key) && !prop.computed) {
85052 keys.push(stringLiteral(key.name));
85053 } else if (isTemplateLiteral(key)) {
85054 keys.push(cloneNode(key));
85055 hasTemplateLiteral = true;
85056 } else if (isLiteral(key)) {
85057 keys.push(stringLiteral(String(key.value)));
85058 } else {
85059 keys.push(cloneNode(key));
85060 allLiteral = false;
85061 }
85062 }
85063
85064 var value;
85065
85066 if (keys.length === 0) {
85067 value = callExpression(getExtendsHelper(this), [objectExpression([]), cloneNode(objRef)]);
85068 } else {
85069 var keyExpression = arrayExpression(keys);
85070
85071 if (!allLiteral) {
85072 keyExpression = callExpression(memberExpression(keyExpression, identifier("map")), [this.addHelper("toPropertyKey")]);
85073 } else if (!hasTemplateLiteral && !isProgram(this.scope.block)) {
85074 var program = this.scope.path.findParent(function (path) {
85075 return path.isProgram();
85076 });
85077 var id = this.scope.generateUidIdentifier("excluded");
85078 program.scope.push({
85079 id: id,
85080 init: keyExpression,
85081 kind: "const"
85082 });
85083 keyExpression = cloneNode(id);
85084 }
85085
85086 value = callExpression(this.addHelper("objectWithoutProperties" + (objectRestNoSymbols ? "Loose" : "")), [cloneNode(objRef), keyExpression]);
85087 }
85088
85089 this.nodes.push(this.buildVariableAssignment(spreadProp.argument, value));
85090 };
85091
85092 _proto.pushObjectProperty = function pushObjectProperty(prop, propRef) {
85093 if (isLiteral(prop.key)) prop.computed = true;
85094 var pattern = prop.value;
85095 var objRef = memberExpression(cloneNode(propRef), prop.key, prop.computed);
85096
85097 if (isPattern(pattern)) {
85098 this.push(pattern, objRef);
85099 } else {
85100 this.nodes.push(this.buildVariableAssignment(pattern, objRef));
85101 }
85102 };
85103
85104 _proto.pushObjectPattern = function pushObjectPattern(pattern, objRef) {
85105 if (!pattern.properties.length) {
85106 this.nodes.push(expressionStatement(callExpression(this.addHelper("objectDestructuringEmpty"), [objRef])));
85107 }
85108
85109 if (pattern.properties.length > 1 && !this.scope.isStatic(objRef)) {
85110 var temp = this.scope.generateUidIdentifierBasedOnNode(objRef);
85111 this.nodes.push(this.buildVariableDeclaration(temp, objRef));
85112 objRef = temp;
85113 }
85114
85115 if (hasObjectRest(pattern)) {
85116 var copiedPattern;
85117
85118 for (var i = 0; i < pattern.properties.length; i++) {
85119 var prop = pattern.properties[i];
85120
85121 if (isRestElement(prop)) {
85122 break;
85123 }
85124
85125 var key = prop.key;
85126
85127 if (prop.computed && !this.scope.isPure(key)) {
85128 var name = this.scope.generateUidIdentifierBasedOnNode(key);
85129 this.nodes.push(this.buildVariableDeclaration(name, key));
85130
85131 if (!copiedPattern) {
85132 copiedPattern = pattern = Object.assign({}, pattern, {
85133 properties: pattern.properties.slice()
85134 });
85135 }
85136
85137 copiedPattern.properties[i] = Object.assign({}, copiedPattern.properties[i], {
85138 key: name
85139 });
85140 }
85141 }
85142 }
85143
85144 for (var _i4 = 0; _i4 < pattern.properties.length; _i4++) {
85145 var _prop = pattern.properties[_i4];
85146
85147 if (isRestElement(_prop)) {
85148 this.pushObjectRest(pattern, objRef, _prop, _i4);
85149 } else {
85150 this.pushObjectProperty(_prop, objRef);
85151 }
85152 }
85153 };
85154
85155 _proto.canUnpackArrayPattern = function canUnpackArrayPattern(pattern, arr) {
85156 if (!isArrayExpression(arr)) return false;
85157 if (pattern.elements.length > arr.elements.length) return;
85158
85159 if (pattern.elements.length < arr.elements.length && !hasRest(pattern)) {
85160 return false;
85161 }
85162
85163 for (var _i5 = 0, _arr4 = pattern.elements; _i5 < _arr4.length; _i5++) {
85164 var elem = _arr4[_i5];
85165 if (!elem) return false;
85166 if (isMemberExpression(elem)) return false;
85167 }
85168
85169 for (var _i6 = 0, _arr5 = arr.elements; _i6 < _arr5.length; _i6++) {
85170 var _elem = _arr5[_i6];
85171 if (isSpreadElement(_elem)) return false;
85172 if (isCallExpression(_elem)) return false;
85173 if (isMemberExpression(_elem)) return false;
85174 }
85175
85176 var bindings = getBindingIdentifiers$1(pattern);
85177 var state = {
85178 deopt: false,
85179 bindings: bindings
85180 };
85181
85182 try {
85183 traverse$1(arr, arrayUnpackVisitor, state);
85184 } catch (e) {
85185 if (e !== STOP_TRAVERSAL) throw e;
85186 }
85187
85188 return !state.deopt;
85189 };
85190
85191 _proto.pushUnpackedArrayPattern = function pushUnpackedArrayPattern(pattern, arr) {
85192 for (var i = 0; i < pattern.elements.length; i++) {
85193 var elem = pattern.elements[i];
85194
85195 if (isRestElement(elem)) {
85196 this.push(elem.argument, arrayExpression(arr.elements.slice(i)));
85197 } else {
85198 this.push(elem, arr.elements[i]);
85199 }
85200 }
85201 };
85202
85203 _proto.pushArrayPattern = function pushArrayPattern(pattern, arrayRef) {
85204 if (!pattern.elements) return;
85205
85206 if (this.canUnpackArrayPattern(pattern, arrayRef)) {
85207 return this.pushUnpackedArrayPattern(pattern, arrayRef);
85208 }
85209
85210 var count = !hasRest(pattern) && pattern.elements.length;
85211 var toArray = this.toArray(arrayRef, count);
85212
85213 if (isIdentifier(toArray)) {
85214 arrayRef = toArray;
85215 } else {
85216 arrayRef = this.scope.generateUidIdentifierBasedOnNode(arrayRef);
85217 this.arrays[arrayRef.name] = true;
85218 this.nodes.push(this.buildVariableDeclaration(arrayRef, toArray));
85219 }
85220
85221 for (var i = 0; i < pattern.elements.length; i++) {
85222 var elem = pattern.elements[i];
85223 if (!elem) continue;
85224 var elemRef = void 0;
85225
85226 if (isRestElement(elem)) {
85227 elemRef = this.toArray(arrayRef);
85228 elemRef = callExpression(memberExpression(elemRef, identifier("slice")), [numericLiteral(i)]);
85229 elem = elem.argument;
85230 } else {
85231 elemRef = memberExpression(arrayRef, numericLiteral(i), true);
85232 }
85233
85234 this.push(elem, elemRef);
85235 }
85236 };
85237
85238 _proto.init = function init(pattern, ref) {
85239 if (!isArrayExpression(ref) && !isMemberExpression(ref)) {
85240 var memo = this.scope.maybeGenerateMemoised(ref, true);
85241
85242 if (memo) {
85243 this.nodes.push(this.buildVariableDeclaration(memo, cloneNode(ref)));
85244 ref = memo;
85245 }
85246 }
85247
85248 this.push(pattern, ref);
85249 return this.nodes;
85250 };
85251
85252 return DestructuringTransformer;
85253 }();
85254
85255 return {
85256 name: "transform-destructuring",
85257 visitor: {
85258 ExportNamedDeclaration: function ExportNamedDeclaration(path) {
85259 var declaration = path.get("declaration");
85260 if (!declaration.isVariableDeclaration()) return;
85261 if (!variableDeclarationHasPattern(declaration.node)) return;
85262 var specifiers = [];
85263
85264 for (var _i7 = 0, _Object$keys = Object.keys(path.getOuterBindingIdentifiers(path)); _i7 < _Object$keys.length; _i7++) {
85265 var name = _Object$keys[_i7];
85266 specifiers.push(exportSpecifier(identifier(name), identifier(name)));
85267 }
85268
85269 path.replaceWith(declaration.node);
85270 path.insertAfter(exportNamedDeclaration(null, specifiers));
85271 },
85272 ForXStatement: function ForXStatement(path) {
85273 var _this = this;
85274
85275 var node = path.node,
85276 scope = path.scope;
85277 var left = node.left;
85278
85279 if (isPattern(left)) {
85280 var temp = scope.generateUidIdentifier("ref");
85281 node.left = variableDeclaration("var", [variableDeclarator(temp)]);
85282 path.ensureBlock();
85283
85284 if (node.body.body.length === 0 && path.isCompletionRecord()) {
85285 node.body.body.unshift(expressionStatement(scope.buildUndefinedNode()));
85286 }
85287
85288 node.body.body.unshift(expressionStatement(assignmentExpression("=", left, temp)));
85289 return;
85290 }
85291
85292 if (!isVariableDeclaration(left)) return;
85293 var pattern = left.declarations[0].id;
85294 if (!isPattern(pattern)) return;
85295 var key = scope.generateUidIdentifier("ref");
85296 node.left = variableDeclaration(left.kind, [variableDeclarator(key, null)]);
85297 var nodes = [];
85298 var destructuring = new DestructuringTransformer({
85299 kind: left.kind,
85300 scope: scope,
85301 nodes: nodes,
85302 iterableIsArray: iterableIsArray,
85303 arrayLikeIsIterable: arrayLikeIsIterable,
85304 addHelper: function addHelper(name) {
85305 return _this.addHelper(name);
85306 }
85307 });
85308 destructuring.init(pattern, key);
85309 path.ensureBlock();
85310 var block = node.body;
85311 block.body = nodes.concat(block.body);
85312 },
85313 CatchClause: function CatchClause(_ref2) {
85314 var _this2 = this;
85315
85316 var node = _ref2.node,
85317 scope = _ref2.scope;
85318 var pattern = node.param;
85319 if (!isPattern(pattern)) return;
85320 var ref = scope.generateUidIdentifier("ref");
85321 node.param = ref;
85322 var nodes = [];
85323 var destructuring = new DestructuringTransformer({
85324 kind: "let",
85325 scope: scope,
85326 nodes: nodes,
85327 iterableIsArray: iterableIsArray,
85328 arrayLikeIsIterable: arrayLikeIsIterable,
85329 addHelper: function addHelper(name) {
85330 return _this2.addHelper(name);
85331 }
85332 });
85333 destructuring.init(pattern, ref);
85334 node.body.body = nodes.concat(node.body.body);
85335 },
85336 AssignmentExpression: function AssignmentExpression(path) {
85337 var _this3 = this;
85338
85339 var node = path.node,
85340 scope = path.scope;
85341 if (!isPattern(node.left)) return;
85342 var nodes = [];
85343 var destructuring = new DestructuringTransformer({
85344 operator: node.operator,
85345 scope: scope,
85346 nodes: nodes,
85347 iterableIsArray: iterableIsArray,
85348 arrayLikeIsIterable: arrayLikeIsIterable,
85349 addHelper: function addHelper(name) {
85350 return _this3.addHelper(name);
85351 }
85352 });
85353 var ref;
85354
85355 if (path.isCompletionRecord() || !path.parentPath.isExpressionStatement()) {
85356 ref = scope.generateUidIdentifierBasedOnNode(node.right, "ref");
85357 nodes.push(variableDeclaration("var", [variableDeclarator(ref, node.right)]));
85358
85359 if (isArrayExpression(node.right)) {
85360 destructuring.arrays[ref.name] = true;
85361 }
85362 }
85363
85364 destructuring.init(node.left, ref || node.right);
85365
85366 if (ref) {
85367 if (path.parentPath.isArrowFunctionExpression()) {
85368 path.replaceWith(blockStatement([]));
85369 nodes.push(returnStatement(cloneNode(ref)));
85370 } else {
85371 nodes.push(expressionStatement(cloneNode(ref)));
85372 }
85373 }
85374
85375 path.replaceWithMultiple(nodes);
85376 path.scope.crawl();
85377 },
85378 VariableDeclaration: function VariableDeclaration(path) {
85379 var _this4 = this;
85380
85381 var node = path.node,
85382 scope = path.scope,
85383 parent = path.parent;
85384 if (isForXStatement(parent)) return;
85385 if (!parent || !path.container) return;
85386 if (!variableDeclarationHasPattern(node)) return;
85387 var nodeKind = node.kind;
85388 var nodeLoc = node.loc;
85389 var nodes = [];
85390 var declar;
85391
85392 for (var i = 0; i < node.declarations.length; i++) {
85393 declar = node.declarations[i];
85394 var patternId = declar.init;
85395 var pattern = declar.id;
85396 var destructuring = new DestructuringTransformer({
85397 blockHoist: node._blockHoist,
85398 nodes: nodes,
85399 scope: scope,
85400 kind: node.kind,
85401 iterableIsArray: iterableIsArray,
85402 arrayLikeIsIterable: arrayLikeIsIterable,
85403 addHelper: function addHelper(name) {
85404 return _this4.addHelper(name);
85405 }
85406 });
85407
85408 if (isPattern(pattern)) {
85409 destructuring.init(pattern, patternId);
85410
85411 if (+i !== node.declarations.length - 1) {
85412 inherits(nodes[nodes.length - 1], declar);
85413 }
85414 } else {
85415 nodes.push(inherits(destructuring.buildVariableAssignment(declar.id, cloneNode(declar.init)), declar));
85416 }
85417 }
85418
85419 var tail = null;
85420 var nodesOut = [];
85421
85422 for (var _i8 = 0, _nodes = nodes; _i8 < _nodes.length; _i8++) {
85423 var _node = _nodes[_i8];
85424
85425 if (tail !== null && isVariableDeclaration(_node)) {
85426 var _tail$declarations;
85427
85428 (_tail$declarations = tail.declarations).push.apply(_tail$declarations, _toConsumableArray(_node.declarations));
85429 } else {
85430 _node.kind = nodeKind;
85431
85432 if (!_node.loc) {
85433 _node.loc = nodeLoc;
85434 }
85435
85436 nodesOut.push(_node);
85437 tail = isVariableDeclaration(_node) ? _node : null;
85438 }
85439 }
85440
85441 for (var _i9 = 0, _nodesOut = nodesOut; _i9 < _nodesOut.length; _i9++) {
85442 var nodeOut = _nodesOut[_i9];
85443 if (!nodeOut.declarations) continue;
85444
85445 for (var _iterator = _createForOfIteratorHelperLoose(nodeOut.declarations), _step; !(_step = _iterator()).done;) {
85446 var declaration = _step.value;
85447 var name = declaration.id.name;
85448
85449 if (scope.bindings[name]) {
85450 scope.bindings[name].kind = nodeOut.kind;
85451 }
85452 }
85453 }
85454
85455 if (nodesOut.length === 1) {
85456 path.replaceWith(nodesOut[0]);
85457 } else {
85458 path.replaceWithMultiple(nodesOut);
85459 }
85460 }
85461 }
85462 };
85463 });
85464
85465 var _transformDotallRegex = declare(function (api) {
85466 api.assertVersion(7);
85467 return createRegExpFeaturePlugin({
85468 name: "transform-dotall-regex",
85469 feature: "dotAllFlag"
85470 });
85471 });
85472
85473 function getName(key) {
85474 if (isIdentifier(key)) {
85475 return key.name;
85476 }
85477
85478 return key.value.toString();
85479 }
85480
85481 var _transformDuplicateKeys = declare(function (api) {
85482 api.assertVersion(7);
85483 return {
85484 name: "transform-duplicate-keys",
85485 visitor: {
85486 ObjectExpression: function ObjectExpression(path) {
85487 var node = path.node;
85488 var plainProps = node.properties.filter(function (prop) {
85489 return !isSpreadElement(prop) && !prop.computed;
85490 });
85491 var alreadySeenData = Object.create(null);
85492 var alreadySeenGetters = Object.create(null);
85493 var alreadySeenSetters = Object.create(null);
85494
85495 for (var _iterator = _createForOfIteratorHelperLoose(plainProps), _step; !(_step = _iterator()).done;) {
85496 var prop = _step.value;
85497 var name = getName(prop.key);
85498 var isDuplicate = false;
85499
85500 switch (prop.kind) {
85501 case "get":
85502 if (alreadySeenData[name] || alreadySeenGetters[name]) {
85503 isDuplicate = true;
85504 }
85505
85506 alreadySeenGetters[name] = true;
85507 break;
85508
85509 case "set":
85510 if (alreadySeenData[name] || alreadySeenSetters[name]) {
85511 isDuplicate = true;
85512 }
85513
85514 alreadySeenSetters[name] = true;
85515 break;
85516
85517 default:
85518 if (alreadySeenData[name] || alreadySeenGetters[name] || alreadySeenSetters[name]) {
85519 isDuplicate = true;
85520 }
85521
85522 alreadySeenData[name] = true;
85523 }
85524
85525 if (isDuplicate) {
85526 prop.computed = true;
85527 prop.key = stringLiteral(name);
85528 }
85529 }
85530 }
85531 }
85532 };
85533 });
85534
85535 function getObjRef(node, nodes, scope) {
85536 var ref;
85537
85538 if (isIdentifier(node)) {
85539 if (scope.hasBinding(node.name)) {
85540 return node;
85541 } else {
85542 ref = node;
85543 }
85544 } else if (isMemberExpression(node)) {
85545 ref = node.object;
85546
85547 if (isSuper(ref) || isIdentifier(ref) && scope.hasBinding(ref.name)) {
85548 return ref;
85549 }
85550 } else {
85551 throw new Error("We can't explode this node type " + node["type"]);
85552 }
85553
85554 var temp = scope.generateUidIdentifierBasedOnNode(ref);
85555 scope.push({
85556 id: temp
85557 });
85558 nodes.push(assignmentExpression("=", cloneNode(temp), cloneNode(ref)));
85559 return temp;
85560 }
85561
85562 function getPropRef(node, nodes, scope) {
85563 var prop = node.property;
85564
85565 if (isPrivateName(prop)) {
85566 throw new Error("We can't generate property ref for private name, please install `@babel/plugin-proposal-class-properties`");
85567 }
85568
85569 var key = toComputedKey$1(node, prop);
85570 if (isLiteral(key) && isPureish(key)) return key;
85571 var temp = scope.generateUidIdentifierBasedOnNode(prop);
85572 scope.push({
85573 id: temp
85574 });
85575 nodes.push(assignmentExpression("=", cloneNode(temp), cloneNode(prop)));
85576 return temp;
85577 }
85578
85579 function explode (node, nodes, file, scope, allowedSingleIdent) {
85580 var obj;
85581
85582 if (isIdentifier(node) && allowedSingleIdent) {
85583 obj = node;
85584 } else {
85585 obj = getObjRef(node, nodes, scope);
85586 }
85587
85588 var ref, uid;
85589
85590 if (isIdentifier(node)) {
85591 ref = cloneNode(node);
85592 uid = obj;
85593 } else {
85594 var prop = getPropRef(node, nodes, scope);
85595 var computed = node.computed || isLiteral(prop);
85596 uid = memberExpression(cloneNode(obj), cloneNode(prop), computed);
85597 ref = memberExpression(cloneNode(obj), cloneNode(prop), computed);
85598 }
85599
85600 return {
85601 uid: uid,
85602 ref: ref
85603 };
85604 }
85605
85606 function build (opts) {
85607 var build = opts.build,
85608 operator = opts.operator;
85609 return {
85610 AssignmentExpression: function AssignmentExpression(path) {
85611 var node = path.node,
85612 scope = path.scope;
85613 if (node.operator !== operator + "=") return;
85614 var nodes = [];
85615 var exploded = explode(node.left, nodes, this, scope);
85616 nodes.push(assignmentExpression("=", exploded.ref, build(exploded.uid, node.right)));
85617 path.replaceWith(sequenceExpression(nodes));
85618 },
85619 BinaryExpression: function BinaryExpression(path) {
85620 var node = path.node;
85621
85622 if (node.operator === operator) {
85623 path.replaceWith(build(node.left, node.right));
85624 }
85625 }
85626 };
85627 }
85628
85629 var transformExponentialOperator = declare(function (api) {
85630 api.assertVersion(7);
85631 return {
85632 name: "transform-exponentiation-operator",
85633 visitor: build({
85634 operator: "**",
85635 build: function build(left, right) {
85636 return callExpression(memberExpression(identifier("Math"), identifier("pow")), [left, right]);
85637 }
85638 })
85639 };
85640 });
85641
85642 var transformFlowComments = declare(function (api) {
85643 api.assertVersion(7);
85644
85645 function commentFromString(comment) {
85646 return typeof comment === "string" ? {
85647 type: "CommentBlock",
85648 value: comment
85649 } : comment;
85650 }
85651
85652 function attachComment(_ref) {
85653 var _toPath;
85654
85655 var ofPath = _ref.ofPath,
85656 toPath = _ref.toPath,
85657 _ref$where = _ref.where,
85658 where = _ref$where === void 0 ? "trailing" : _ref$where,
85659 _ref$optional = _ref.optional,
85660 optional = _ref$optional === void 0 ? false : _ref$optional,
85661 _ref$comments = _ref.comments,
85662 comments = _ref$comments === void 0 ? generateComment(ofPath, optional) : _ref$comments,
85663 _ref$keepType = _ref.keepType,
85664 keepType = _ref$keepType === void 0 ? false : _ref$keepType;
85665
85666 if (!((_toPath = toPath) != null && _toPath.node)) {
85667 toPath = ofPath.getPrevSibling();
85668 where = "trailing";
85669 }
85670
85671 if (!toPath.node) {
85672 toPath = ofPath.getNextSibling();
85673 where = "leading";
85674 }
85675
85676 if (!toPath.node) {
85677 toPath = ofPath.parentPath;
85678 where = "inner";
85679 }
85680
85681 if (!Array.isArray(comments)) {
85682 comments = [comments];
85683 }
85684
85685 comments = comments.map(commentFromString);
85686
85687 if (!keepType && ofPath != null && ofPath.node) {
85688 var node = ofPath.node;
85689 var parent = ofPath.parentPath;
85690 var prev = ofPath.getPrevSibling();
85691 var next = ofPath.getNextSibling();
85692 var isSingleChild = !(prev.node || next.node);
85693 var leading = node.leadingComments;
85694 var trailing = node.trailingComments;
85695
85696 if (isSingleChild && leading) {
85697 parent.addComments("inner", leading);
85698 }
85699
85700 toPath.addComments(where, comments);
85701 ofPath.remove();
85702
85703 if (isSingleChild && trailing) {
85704 parent.addComments("inner", trailing);
85705 }
85706 } else {
85707 toPath.addComments(where, comments);
85708 }
85709 }
85710
85711 function wrapInFlowComment(path) {
85712 attachComment({
85713 ofPath: path,
85714 comments: generateComment(path, path.parent.optional)
85715 });
85716 }
85717
85718 function generateComment(path, optional) {
85719 var comment = path.getSource().replace(/\*-\//g, "*-ESCAPED/").replace(/\*\//g, "*-/");
85720 if (optional) comment = "?" + comment;
85721 if (comment[0] !== ":") comment = ":: " + comment;
85722 return comment;
85723 }
85724
85725 function isTypeImport(importKind) {
85726 return importKind === "type" || importKind === "typeof";
85727 }
85728
85729 return {
85730 name: "transform-flow-comments",
85731 inherits: syntaxFlow,
85732 visitor: {
85733 TypeCastExpression: function TypeCastExpression(path) {
85734 var node = path.node;
85735 attachComment({
85736 ofPath: path.get("typeAnnotation"),
85737 toPath: path.get("expression"),
85738 keepType: true
85739 });
85740 path.replaceWith(parenthesizedExpression(node.expression));
85741 },
85742 Identifier: function Identifier(path) {
85743 if (path.parentPath.isFlow()) return;
85744 var node = path.node;
85745
85746 if (node.typeAnnotation) {
85747 attachComment({
85748 ofPath: path.get("typeAnnotation"),
85749 toPath: path,
85750 optional: node.optional || node.typeAnnotation.optional
85751 });
85752
85753 if (node.optional) {
85754 node.optional = false;
85755 }
85756 } else if (node.optional) {
85757 attachComment({
85758 toPath: path,
85759 comments: ":: ?"
85760 });
85761 node.optional = false;
85762 }
85763 },
85764 AssignmentPattern: {
85765 exit: function exit(_ref2) {
85766 var node = _ref2.node;
85767 var left = node.left;
85768
85769 if (left.optional) {
85770 left.optional = false;
85771 }
85772 }
85773 },
85774 Function: function Function(path) {
85775 if (path.isDeclareFunction()) return;
85776 var node = path.node;
85777
85778 if (node.typeParameters) {
85779 attachComment({
85780 ofPath: path.get("typeParameters"),
85781 toPath: path.get("id"),
85782 optional: node.typeParameters.optional
85783 });
85784 }
85785
85786 if (node.returnType) {
85787 attachComment({
85788 ofPath: path.get("returnType"),
85789 toPath: path.get("body"),
85790 where: "leading",
85791 optional: node.returnType.typeAnnotation.optional
85792 });
85793 }
85794 },
85795 ClassProperty: function ClassProperty(path) {
85796 var node = path.node;
85797
85798 if (!node.value) {
85799 wrapInFlowComment(path);
85800 } else if (node.typeAnnotation) {
85801 attachComment({
85802 ofPath: path.get("typeAnnotation"),
85803 toPath: path.get("key"),
85804 optional: node.typeAnnotation.optional
85805 });
85806 }
85807 },
85808 ExportNamedDeclaration: function ExportNamedDeclaration(path) {
85809 var node = path.node;
85810
85811 if (node.exportKind !== "type" && !isFlow(node.declaration)) {
85812 return;
85813 }
85814
85815 wrapInFlowComment(path);
85816 },
85817 ImportDeclaration: function ImportDeclaration(path) {
85818 var node = path.node;
85819
85820 if (isTypeImport(node.importKind)) {
85821 wrapInFlowComment(path);
85822 return;
85823 }
85824
85825 var typeSpecifiers = node.specifiers.filter(function (specifier) {
85826 return isTypeImport(specifier.importKind);
85827 });
85828 var nonTypeSpecifiers = node.specifiers.filter(function (specifier) {
85829 return !isTypeImport(specifier.importKind);
85830 });
85831 node.specifiers = nonTypeSpecifiers;
85832
85833 if (typeSpecifiers.length > 0) {
85834 var typeImportNode = cloneNode(node);
85835 typeImportNode.specifiers = typeSpecifiers;
85836 var comment = ":: " + generate$1(typeImportNode).code;
85837
85838 if (nonTypeSpecifiers.length > 0) {
85839 attachComment({
85840 toPath: path,
85841 comments: comment
85842 });
85843 } else {
85844 attachComment({
85845 ofPath: path,
85846 comments: comment
85847 });
85848 }
85849 }
85850 },
85851 ObjectPattern: function ObjectPattern(path) {
85852 var node = path.node;
85853
85854 if (node.typeAnnotation) {
85855 attachComment({
85856 ofPath: path.get("typeAnnotation"),
85857 toPath: path,
85858 optional: node.optional || node.typeAnnotation.optional
85859 });
85860 }
85861 },
85862 Flow: function Flow(path) {
85863 wrapInFlowComment(path);
85864 },
85865 Class: function Class(path) {
85866 var node = path.node;
85867 var comments = [];
85868
85869 if (node.typeParameters) {
85870 var typeParameters = path.get("typeParameters");
85871 comments.push(generateComment(typeParameters, node.typeParameters.optional));
85872 var trailingComments = node.typeParameters.trailingComments;
85873
85874 if (trailingComments) {
85875 var _comments;
85876
85877 (_comments = comments).push.apply(_comments, _toConsumableArray(trailingComments));
85878 }
85879
85880 typeParameters.remove();
85881 }
85882
85883 if (node.superClass) {
85884 if (comments.length > 0) {
85885 attachComment({
85886 toPath: path.get("id"),
85887 comments: comments
85888 });
85889 comments = [];
85890 }
85891
85892 if (node.superTypeParameters) {
85893 var superTypeParameters = path.get("superTypeParameters");
85894 comments.push(generateComment(superTypeParameters, superTypeParameters.node.optional));
85895 superTypeParameters.remove();
85896 }
85897 }
85898
85899 if (node["implements"]) {
85900 var impls = path.get("implements");
85901 var comment = "implements " + impls.map(function (impl) {
85902 return generateComment(impl).replace(/^:: /, "");
85903 }).join(", ");
85904 delete node["implements"];
85905
85906 if (comments.length === 1) {
85907 comments[0] += " " + comment;
85908 } else {
85909 comments.push(":: " + comment);
85910 }
85911 }
85912
85913 if (comments.length > 0) {
85914 attachComment({
85915 toPath: path.get("body"),
85916 where: "leading",
85917 comments: comments
85918 });
85919 }
85920 }
85921 }
85922 };
85923 });
85924
85925 var transformFlowStripTypes = declare(function (api, opts) {
85926 api.assertVersion(7);
85927 var FLOW_DIRECTIVE = /(@flow(\s+(strict(-local)?|weak))?|@noflow)/;
85928 var skipStrip = false;
85929 var _opts$requireDirectiv = opts.requireDirective,
85930 requireDirective = _opts$requireDirectiv === void 0 ? false : _opts$requireDirectiv;
85931 {
85932 var _opts$allowDeclareFie = opts.allowDeclareFields,
85933 allowDeclareFields = _opts$allowDeclareFie === void 0 ? false : _opts$allowDeclareFie;
85934 }
85935 return {
85936 name: "transform-flow-strip-types",
85937 inherits: syntaxFlow,
85938 visitor: {
85939 Program: function Program(path, _ref) {
85940 var comments = _ref.file.ast.comments;
85941 skipStrip = false;
85942 var directiveFound = false;
85943
85944 if (comments) {
85945 for (var _i = 0, _arr = comments; _i < _arr.length; _i++) {
85946 var comment = _arr[_i];
85947
85948 if (FLOW_DIRECTIVE.test(comment.value)) {
85949 directiveFound = true;
85950 comment.value = comment.value.replace(FLOW_DIRECTIVE, "");
85951
85952 if (!comment.value.replace(/\*/g, "").trim()) {
85953 comment.ignore = true;
85954 }
85955 }
85956 }
85957 }
85958
85959 if (!directiveFound && requireDirective) {
85960 skipStrip = true;
85961 }
85962 },
85963 ImportDeclaration: function ImportDeclaration(path) {
85964 if (skipStrip) return;
85965 if (!path.node.specifiers.length) return;
85966 var typeCount = 0;
85967 path.node.specifiers.forEach(function (_ref2) {
85968 var importKind = _ref2.importKind;
85969
85970 if (importKind === "type" || importKind === "typeof") {
85971 typeCount++;
85972 }
85973 });
85974
85975 if (typeCount === path.node.specifiers.length) {
85976 path.remove();
85977 }
85978 },
85979 Flow: function Flow(path) {
85980 if (skipStrip) {
85981 throw path.buildCodeFrameError("A @flow directive is required when using Flow annotations with " + "the `requireDirective` option.");
85982 }
85983
85984 path.remove();
85985 },
85986 ClassPrivateProperty: function ClassPrivateProperty(path) {
85987 if (skipStrip) return;
85988 path.node.typeAnnotation = null;
85989 },
85990 Class: function Class(path) {
85991 if (skipStrip) return;
85992 path.node["implements"] = null;
85993 path.get("body.body").forEach(function (child) {
85994 if (child.isClassProperty()) {
85995 var node = child.node;
85996 {
85997 if (!allowDeclareFields && node.declare) {
85998 throw child.buildCodeFrameError("The 'declare' modifier is only allowed when the " + "'allowDeclareFields' option of " + "@babel/plugin-transform-flow-strip-types or " + "@babel/preset-flow is enabled.");
85999 }
86000 }
86001
86002 if (node.declare) {
86003 child.remove();
86004 } else {
86005 {
86006 if (!allowDeclareFields && !node.value && !node.decorators) {
86007 child.remove();
86008 return;
86009 }
86010 }
86011 node.variance = null;
86012 node.typeAnnotation = null;
86013 }
86014 }
86015 });
86016 },
86017 AssignmentPattern: function AssignmentPattern(_ref3) {
86018 var node = _ref3.node;
86019 if (skipStrip) return;
86020 node.left.optional = false;
86021 },
86022 Function: function Function(_ref4) {
86023 var node = _ref4.node;
86024 if (skipStrip) return;
86025
86026 if (node.params.length > 0 && node.params[0].type === "Identifier" && node.params[0].name === "this") {
86027 node.params.shift();
86028 }
86029
86030 for (var i = 0; i < node.params.length; i++) {
86031 var param = node.params[i];
86032 param.optional = false;
86033
86034 if (param.type === "AssignmentPattern") {
86035 param.left.optional = false;
86036 }
86037 }
86038
86039 node.predicate = null;
86040 },
86041 TypeCastExpression: function TypeCastExpression(path) {
86042 if (skipStrip) return;
86043 var node = path.node;
86044
86045 do {
86046 node = node.expression;
86047 } while (isTypeCastExpression(node));
86048
86049 path.replaceWith(node);
86050 },
86051 CallExpression: function CallExpression(_ref5) {
86052 var node = _ref5.node;
86053 if (skipStrip) return;
86054 node.typeArguments = null;
86055 },
86056 OptionalCallExpression: function OptionalCallExpression(_ref6) {
86057 var node = _ref6.node;
86058 if (skipStrip) return;
86059 node.typeArguments = null;
86060 },
86061 NewExpression: function NewExpression(_ref7) {
86062 var node = _ref7.node;
86063 if (skipStrip) return;
86064 node.typeArguments = null;
86065 }
86066 }
86067 };
86068 });
86069
86070 function transformWithoutHelper(loose, path, state) {
86071 var pushComputedProps = loose ? pushComputedPropsLoose : pushComputedPropsSpec;
86072 var node = path.node;
86073 var build = pushComputedProps(path, state);
86074 var declar = build.declar;
86075 var loop = build.loop;
86076 var block = loop.body;
86077 path.ensureBlock();
86078
86079 if (declar) {
86080 block.body.push(declar);
86081 }
86082
86083 block.body = block.body.concat(node.body.body);
86084 inherits(loop, node);
86085 inherits(loop.body, node.body);
86086
86087 if (build.replaceParent) {
86088 path.parentPath.replaceWithMultiple(build.node);
86089 path.remove();
86090 } else {
86091 path.replaceWithMultiple(build.node);
86092 }
86093 }
86094 var buildForOfLoose = template$2("\n for (var LOOP_OBJECT = OBJECT,\n IS_ARRAY = Array.isArray(LOOP_OBJECT),\n INDEX = 0,\n LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\n INTERMEDIATE;\n if (IS_ARRAY) {\n if (INDEX >= LOOP_OBJECT.length) break;\n ID = LOOP_OBJECT[INDEX++];\n } else {\n INDEX = LOOP_OBJECT.next();\n if (INDEX.done) break;\n ID = INDEX.value;\n }\n }\n");
86095 var buildForOf = template$2("\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY = undefined;\n try {\n for (\n var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY;\n !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done);\n ITERATOR_COMPLETION = true\n ) {}\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {\n ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n");
86096
86097 function pushComputedPropsLoose(path, file) {
86098 var node = path.node,
86099 scope = path.scope,
86100 parent = path.parent;
86101 var left = node.left;
86102 var declar, id, intermediate;
86103
86104 if (isIdentifier(left) || isPattern(left) || isMemberExpression(left)) {
86105 id = left;
86106 intermediate = null;
86107 } else if (isVariableDeclaration(left)) {
86108 id = scope.generateUidIdentifier("ref");
86109 declar = variableDeclaration(left.kind, [variableDeclarator(left.declarations[0].id, identifier(id.name))]);
86110 intermediate = variableDeclaration("var", [variableDeclarator(identifier(id.name))]);
86111 } else {
86112 throw file.buildCodeFrameError(left, "Unknown node type " + left.type + " in ForStatement");
86113 }
86114
86115 var iteratorKey = scope.generateUidIdentifier("iterator");
86116 var isArrayKey = scope.generateUidIdentifier("isArray");
86117 var loop = buildForOfLoose({
86118 LOOP_OBJECT: iteratorKey,
86119 IS_ARRAY: isArrayKey,
86120 OBJECT: node.right,
86121 INDEX: scope.generateUidIdentifier("i"),
86122 ID: id,
86123 INTERMEDIATE: intermediate
86124 });
86125 var isLabeledParent = isLabeledStatement(parent);
86126 var labeled;
86127
86128 if (isLabeledParent) {
86129 labeled = labeledStatement(parent.label, loop);
86130 }
86131
86132 return {
86133 replaceParent: isLabeledParent,
86134 declar: declar,
86135 node: labeled || loop,
86136 loop: loop
86137 };
86138 }
86139
86140 function pushComputedPropsSpec(path, file) {
86141 var node = path.node,
86142 scope = path.scope,
86143 parent = path.parent;
86144 var left = node.left;
86145 var declar;
86146 var stepKey = scope.generateUid("step");
86147 var stepValue = memberExpression(identifier(stepKey), identifier("value"));
86148
86149 if (isIdentifier(left) || isPattern(left) || isMemberExpression(left)) {
86150 declar = expressionStatement(assignmentExpression("=", left, stepValue));
86151 } else if (isVariableDeclaration(left)) {
86152 declar = variableDeclaration(left.kind, [variableDeclarator(left.declarations[0].id, stepValue)]);
86153 } else {
86154 throw file.buildCodeFrameError(left, "Unknown node type " + left.type + " in ForStatement");
86155 }
86156
86157 var template = buildForOf({
86158 ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"),
86159 ITERATOR_COMPLETION: scope.generateUidIdentifier("iteratorNormalCompletion"),
86160 ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"),
86161 ITERATOR_KEY: scope.generateUidIdentifier("iterator"),
86162 STEP_KEY: identifier(stepKey),
86163 OBJECT: node.right
86164 });
86165 var isLabeledParent = isLabeledStatement(parent);
86166 var tryBody = template[3].block.body;
86167 var loop = tryBody[0];
86168
86169 if (isLabeledParent) {
86170 tryBody[0] = labeledStatement(parent.label, loop);
86171 }
86172
86173 return {
86174 replaceParent: isLabeledParent,
86175 declar: declar,
86176 loop: loop,
86177 node: template
86178 };
86179 }
86180
86181 var _templateObject$9, _templateObject2$5, _templateObject3$4;
86182 var _transformForOf = declare(function (api, options) {
86183 var _options$assumeArray, _options$allowArrayLi, _api$assumption;
86184
86185 api.assertVersion(7);
86186 {
86187 var assumeArray = options.assumeArray,
86188 allowArrayLike = options.allowArrayLike,
86189 loose = options.loose;
86190
86191 if (loose === true && assumeArray === true) {
86192 throw new Error("The loose and assumeArray options cannot be used together in @babel/plugin-transform-for-of");
86193 }
86194
86195 if (assumeArray === true && allowArrayLike === true) {
86196 throw new Error("The assumeArray and allowArrayLike options cannot be used together in @babel/plugin-transform-for-of");
86197 }
86198
86199 if (allowArrayLike && /^7\.\d\./.test(api.version)) {
86200 throw new Error("The allowArrayLike is only supported when using @babel/core@^7.10.0");
86201 }
86202 }
86203 var iterableIsArray = (_options$assumeArray = options.assumeArray) != null ? _options$assumeArray : !options.loose && api.assumption("iterableIsArray");
86204 var arrayLikeIsIterable = (_options$allowArrayLi = options.allowArrayLike) != null ? _options$allowArrayLi : api.assumption("arrayLikeIsIterable");
86205 var skipteratorClosing = (_api$assumption = api.assumption("skipForOfIteratorClosing")) != null ? _api$assumption : options.loose;
86206
86207 if (iterableIsArray && arrayLikeIsIterable) {
86208 throw new Error("The \"iterableIsArray\" and \"arrayLikeIsIterable\" assumptions are not compatible.");
86209 }
86210
86211 if (iterableIsArray) {
86212 return {
86213 name: "transform-for-of",
86214 visitor: {
86215 ForOfStatement: function ForOfStatement(path) {
86216 var scope = path.scope;
86217 var _path$node = path.node,
86218 left = _path$node.left,
86219 right = _path$node.right,
86220 isAwait = _path$node["await"];
86221
86222 if (isAwait) {
86223 return;
86224 }
86225
86226 var i = scope.generateUidIdentifier("i");
86227 var array = scope.maybeGenerateMemoised(right, true);
86228 var inits = [variableDeclarator(i, numericLiteral(0))];
86229
86230 if (array) {
86231 inits.push(variableDeclarator(array, right));
86232 } else {
86233 array = right;
86234 }
86235
86236 var item = memberExpression(cloneNode(array), cloneNode(i), true);
86237 var assignment;
86238
86239 if (isVariableDeclaration(left)) {
86240 assignment = left;
86241 assignment.declarations[0].init = item;
86242 } else {
86243 assignment = expressionStatement(assignmentExpression("=", left, item));
86244 }
86245
86246 var blockBody;
86247 var body = path.get("body");
86248
86249 if (body.isBlockStatement() && Object.keys(path.getBindingIdentifiers()).some(function (id) {
86250 return body.scope.hasOwnBinding(id);
86251 })) {
86252 blockBody = blockStatement([assignment, body.node]);
86253 } else {
86254 blockBody = toBlock(body.node);
86255 blockBody.body.unshift(assignment);
86256 }
86257
86258 path.replaceWith(forStatement(variableDeclaration("let", inits), binaryExpression("<", cloneNode(i), memberExpression(cloneNode(array), identifier("length"))), updateExpression("++", cloneNode(i)), blockBody));
86259 }
86260 }
86261 };
86262 }
86263
86264 var buildForOfArray = template$2(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteralLoose(["\n for (var KEY = 0, NAME = ARR; KEY < NAME.length; KEY++) BODY;\n "])));
86265 var buildForOfNoIteratorClosing = template$2.statements(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteralLoose(["\n for (var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY;\n !(STEP_KEY = ITERATOR_HELPER()).done;) BODY;\n "])));
86266 var buildForOf = template$2.statements(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteralLoose(["\n var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY;\n try {\n for (ITERATOR_HELPER.s(); !(STEP_KEY = ITERATOR_HELPER.n()).done;) BODY;\n } catch (err) {\n ITERATOR_HELPER.e(err);\n } finally {\n ITERATOR_HELPER.f();\n }\n "])));
86267 var builder = skipteratorClosing ? {
86268 build: buildForOfNoIteratorClosing,
86269 helper: "createForOfIteratorHelperLoose",
86270 getContainer: function getContainer(nodes) {
86271 return nodes;
86272 }
86273 } : {
86274 build: buildForOf,
86275 helper: "createForOfIteratorHelper",
86276 getContainer: function getContainer(nodes) {
86277 return nodes[1].block.body;
86278 }
86279 };
86280
86281 function _ForOfStatementArray(path) {
86282 var node = path.node,
86283 scope = path.scope;
86284 var right = scope.generateUidIdentifierBasedOnNode(node.right, "arr");
86285 var iterationKey = scope.generateUidIdentifier("i");
86286 var loop = buildForOfArray({
86287 BODY: node.body,
86288 KEY: iterationKey,
86289 NAME: right,
86290 ARR: node.right
86291 });
86292 inherits(loop, node);
86293 ensureBlock$1(loop);
86294 var iterationValue = memberExpression(cloneNode(right), cloneNode(iterationKey), true);
86295 var left = node.left;
86296
86297 if (isVariableDeclaration(left)) {
86298 left.declarations[0].init = iterationValue;
86299 loop.body.body.unshift(left);
86300 } else {
86301 loop.body.body.unshift(expressionStatement(assignmentExpression("=", left, iterationValue)));
86302 }
86303
86304 return loop;
86305 }
86306
86307 return {
86308 name: "transform-for-of",
86309 visitor: {
86310 ForOfStatement: function ForOfStatement(path, state) {
86311 var right = path.get("right");
86312
86313 if (right.isArrayExpression() || right.isGenericType("Array") || isArrayTypeAnnotation(right.getTypeAnnotation())) {
86314 path.replaceWith(_ForOfStatementArray(path));
86315 return;
86316 }
86317
86318 if (!state.availableHelper(builder.helper)) {
86319 transformWithoutHelper(skipteratorClosing, path, state);
86320 return;
86321 }
86322
86323 var node = path.node,
86324 parent = path.parent,
86325 scope = path.scope;
86326 var left = node.left;
86327 var declar;
86328 var stepKey = scope.generateUid("step");
86329 var stepValue = memberExpression(identifier(stepKey), identifier("value"));
86330
86331 if (isVariableDeclaration(left)) {
86332 declar = variableDeclaration(left.kind, [variableDeclarator(left.declarations[0].id, stepValue)]);
86333 } else {
86334 declar = expressionStatement(assignmentExpression("=", left, stepValue));
86335 }
86336
86337 path.ensureBlock();
86338 node.body.body.unshift(declar);
86339 var nodes = builder.build({
86340 CREATE_ITERATOR_HELPER: state.addHelper(builder.helper),
86341 ITERATOR_HELPER: scope.generateUidIdentifier("iterator"),
86342 ARRAY_LIKE_IS_ITERABLE: arrayLikeIsIterable ? booleanLiteral(true) : null,
86343 STEP_KEY: identifier(stepKey),
86344 OBJECT: node.right,
86345 BODY: node.body
86346 });
86347 var container = builder.getContainer(nodes);
86348 inherits(container[0], node);
86349 inherits(container[0].body, node.body);
86350
86351 if (isLabeledStatement(parent)) {
86352 container[0] = labeledStatement(parent.label, container[0]);
86353 path.parentPath.replaceWithMultiple(nodes);
86354 path.skip();
86355 } else {
86356 path.replaceWithMultiple(nodes);
86357 }
86358 }
86359 }
86360 };
86361 });
86362
86363 var _transformFunctionName = declare(function (api) {
86364 api.assertVersion(7);
86365 return {
86366 name: "transform-function-name",
86367 visitor: {
86368 FunctionExpression: {
86369 exit: function exit(path) {
86370 if (path.key !== "value" && !path.parentPath.isObjectProperty()) {
86371 var replacement = nameFunction(path);
86372 if (replacement) path.replaceWith(replacement);
86373 }
86374 }
86375 },
86376 ObjectProperty: function ObjectProperty(path) {
86377 var value = path.get("value");
86378
86379 if (value.isFunction()) {
86380 var newNode = nameFunction(value);
86381 if (newNode) value.replaceWith(newNode);
86382 }
86383 }
86384 }
86385 };
86386 });
86387
86388 var transformInstanceof = declare(function (api) {
86389 api.assertVersion(7);
86390 return {
86391 name: "transform-instanceof",
86392 visitor: {
86393 BinaryExpression: function BinaryExpression(path) {
86394 var node = path.node;
86395
86396 if (node.operator === "instanceof") {
86397 var helper = this.addHelper("instanceof");
86398 var isUnderHelper = path.findParent(function (path) {
86399 return path.isVariableDeclarator() && path.node.id === helper || path.isFunctionDeclaration() && path.node.id && path.node.id.name === helper.name;
86400 });
86401
86402 if (isUnderHelper) {
86403 return;
86404 } else {
86405 path.replaceWith(callExpression(helper, [node.left, node.right]));
86406 }
86407 }
86408 }
86409 }
86410 };
86411 });
86412
86413 var transformJscript = declare(function (api) {
86414 api.assertVersion(7);
86415 return {
86416 name: "transform-jscript",
86417 visitor: {
86418 FunctionExpression: {
86419 exit: function exit(path) {
86420 var node = path.node;
86421 if (!node.id) return;
86422 path.replaceWith(callExpression(functionExpression(null, [], blockStatement([toStatement(node), returnStatement(cloneNode(node.id))])), []));
86423 }
86424 }
86425 }
86426 };
86427 });
86428
86429 var _transformLiterals = declare(function (api) {
86430 api.assertVersion(7);
86431 return {
86432 name: "transform-literals",
86433 visitor: {
86434 NumericLiteral: function NumericLiteral(_ref) {
86435 var node = _ref.node;
86436
86437 if (node.extra && /^0[ob]/i.test(node.extra.raw)) {
86438 node.extra = undefined;
86439 }
86440 },
86441 StringLiteral: function StringLiteral(_ref2) {
86442 var node = _ref2.node;
86443
86444 if (node.extra && /\\[u]/gi.test(node.extra.raw)) {
86445 node.extra = undefined;
86446 }
86447 }
86448 }
86449 };
86450 });
86451
86452 var _transformMemberExpressionLiterals = declare(function (api) {
86453 api.assertVersion(7);
86454 return {
86455 name: "transform-member-expression-literals",
86456 visitor: {
86457 MemberExpression: {
86458 exit: function exit(_ref) {
86459 var node = _ref.node;
86460 var prop = node.property;
86461
86462 if (!node.computed && isIdentifier(prop) && !isValidES3Identifier(prop.name)) {
86463 node.property = stringLiteral(prop.name);
86464 node.computed = true;
86465 }
86466 }
86467 }
86468 }
86469 };
86470 });
86471
86472 var _slicedToArray$1 = function () {
86473 function sliceIterator(arr, i) {
86474 var _arr = [];
86475 var _n = true;
86476 var _d = false;
86477 var _e = undefined;
86478
86479 try {
86480 for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
86481 _arr.push(_s.value);
86482
86483 if (i && _arr.length === i) break;
86484 }
86485 } catch (err) {
86486 _d = true;
86487 _e = err;
86488 } finally {
86489 try {
86490 if (!_n && _i["return"]) _i["return"]();
86491 } finally {
86492 if (_d) throw _e;
86493 }
86494 }
86495
86496 return _arr;
86497 }
86498
86499 return function (arr, i) {
86500 if (Array.isArray(arr)) {
86501 return arr;
86502 } else if (Symbol.iterator in Object(arr)) {
86503 return sliceIterator(arr, i);
86504 } else {
86505 throw new TypeError("Invalid attempt to destructure non-iterable instance");
86506 }
86507 };
86508 }();
86509
86510 var getImportSource_1$1 = getImportSource$4;
86511 var createDynamicImportTransform_1$1 = createDynamicImportTransform$1;
86512
86513 function getImportSource$4(t, callNode) {
86514 var importArguments = callNode.arguments;
86515
86516 var _importArguments = _slicedToArray$1(importArguments, 1),
86517 importPath = _importArguments[0];
86518
86519 var isString = t.isStringLiteral(importPath) || t.isTemplateLiteral(importPath);
86520
86521 if (isString) {
86522 t.removeComments(importPath);
86523 return importPath;
86524 }
86525
86526 return t.templateLiteral([t.templateElement({
86527 raw: '',
86528 cooked: ''
86529 }), t.templateElement({
86530 raw: '',
86531 cooked: ''
86532 }, true)], importArguments);
86533 }
86534
86535 function createDynamicImportTransform$1(_ref) {
86536 var template = _ref.template,
86537 t = _ref.types;
86538 var builders = {
86539 'static': {
86540 interop: template('Promise.resolve().then(() => INTEROP(require(SOURCE)))'),
86541 noInterop: template('Promise.resolve().then(() => require(SOURCE))')
86542 },
86543 dynamic: {
86544 interop: template('Promise.resolve(SOURCE).then(s => INTEROP(require(s)))'),
86545 noInterop: template('Promise.resolve(SOURCE).then(s => require(s))')
86546 }
86547 };
86548 var visited = typeof WeakSet === 'function' && new WeakSet();
86549
86550 var isString = function isString(node) {
86551 return t.isStringLiteral(node) || t.isTemplateLiteral(node) && node.expressions.length === 0;
86552 };
86553
86554 return function (context, path) {
86555 if (visited) {
86556 if (visited.has(path)) {
86557 return;
86558 }
86559
86560 visited.add(path);
86561 }
86562
86563 var SOURCE = getImportSource$4(t, path.parent);
86564 var builder = isString(SOURCE) ? builders['static'] : builders.dynamic;
86565 var newImport = context.opts.noInterop ? builder.noInterop({
86566 SOURCE: SOURCE
86567 }) : builder.interop({
86568 SOURCE: SOURCE,
86569 INTEROP: context.addHelper('interopRequireWildcard')
86570 });
86571 path.parentPath.replaceWith(newImport);
86572 };
86573 }
86574
86575 var utils$3 = Object.defineProperty({
86576 getImportSource: getImportSource_1$1,
86577 createDynamicImportTransform: createDynamicImportTransform_1$1
86578 }, '__esModule', {
86579 value: true
86580 });
86581
86582 var utils$2 = utils$3;
86583
86584 var _templateObject$8;
86585 var buildWrapper$1 = template$2("\n define(MODULE_NAME, AMD_ARGUMENTS, function(IMPORT_NAMES) {\n })\n");
86586 var buildAnonymousWrapper = template$2("\n define([\"require\"], function(REQUIRE) {\n })\n");
86587
86588 function injectWrapper(path, wrapper) {
86589 var _path$node = path.node,
86590 body = _path$node.body,
86591 directives = _path$node.directives;
86592 path.node.directives = [];
86593 path.node.body = [];
86594 var amdWrapper = path.pushContainer("body", wrapper)[0];
86595 var amdFactory = amdWrapper.get("expression.arguments").filter(function (arg) {
86596 return arg.isFunctionExpression();
86597 })[0].get("body");
86598 amdFactory.pushContainer("directives", directives);
86599 amdFactory.pushContainer("body", body);
86600 }
86601
86602 var _transformModulesAmd = declare(function (api, options) {
86603 var _api$assumption, _api$assumption2;
86604
86605 api.assertVersion(7);
86606 var allowTopLevelThis = options.allowTopLevelThis,
86607 strict = options.strict,
86608 strictMode = options.strictMode,
86609 importInterop = options.importInterop,
86610 noInterop = options.noInterop;
86611 var constantReexports = (_api$assumption = api.assumption("constantReexports")) != null ? _api$assumption : options.loose;
86612 var enumerableModuleMeta = (_api$assumption2 = api.assumption("enumerableModuleMeta")) != null ? _api$assumption2 : options.loose;
86613 return {
86614 name: "transform-modules-amd",
86615 pre: function pre() {
86616 this.file.set("@babel/plugin-transform-modules-*", "amd");
86617 },
86618 visitor: {
86619 CallExpression: function CallExpression(path, state) {
86620 if (!this.file.has("@babel/plugin-proposal-dynamic-import")) return;
86621 if (!path.get("callee").isImport()) return;
86622 var requireId = state.requireId,
86623 resolveId = state.resolveId,
86624 rejectId = state.rejectId;
86625
86626 if (!requireId) {
86627 requireId = path.scope.generateUidIdentifier("require");
86628 state.requireId = requireId;
86629 }
86630
86631 if (!resolveId || !rejectId) {
86632 resolveId = path.scope.generateUidIdentifier("resolve");
86633 rejectId = path.scope.generateUidIdentifier("reject");
86634 state.resolveId = resolveId;
86635 state.rejectId = rejectId;
86636 }
86637
86638 var result = identifier("imported");
86639 if (!noInterop) result = wrapInterop(path, result, "namespace");
86640 path.replaceWith(template$2.expression.ast(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteralLoose(["\n new Promise((", ", ", ") =>\n ", "(\n [", "],\n imported => ", "(", "),\n ", "\n )\n )"])), resolveId, rejectId, requireId, utils$2.getImportSource(t$p, path.node), cloneNode(resolveId), result, cloneNode(rejectId)));
86641 },
86642 Program: {
86643 exit: function exit(path, _ref) {
86644 var requireId = _ref.requireId;
86645
86646 if (!isModule(path)) {
86647 if (requireId) {
86648 injectWrapper(path, buildAnonymousWrapper({
86649 REQUIRE: cloneNode(requireId)
86650 }));
86651 }
86652
86653 return;
86654 }
86655
86656 var amdArgs = [];
86657 var importNames = [];
86658
86659 if (requireId) {
86660 amdArgs.push(stringLiteral("require"));
86661 importNames.push(cloneNode(requireId));
86662 }
86663
86664 var moduleName = getModuleName(this.file.opts, options);
86665 if (moduleName) moduleName = stringLiteral(moduleName);
86666
86667 var _rewriteModuleStateme = rewriteModuleStatementsAndPrepareHeader(path, {
86668 enumerableModuleMeta: enumerableModuleMeta,
86669 constantReexports: constantReexports,
86670 strict: strict,
86671 strictMode: strictMode,
86672 allowTopLevelThis: allowTopLevelThis,
86673 importInterop: importInterop,
86674 noInterop: noInterop
86675 }),
86676 meta = _rewriteModuleStateme.meta,
86677 headers = _rewriteModuleStateme.headers;
86678
86679 if (hasExports(meta)) {
86680 amdArgs.push(stringLiteral("exports"));
86681 importNames.push(identifier(meta.exportName));
86682 }
86683
86684 for (var _iterator = _createForOfIteratorHelperLoose(meta.source), _step; !(_step = _iterator()).done;) {
86685 var _step$value = _slicedToArray$2(_step.value, 2),
86686 source = _step$value[0],
86687 metadata = _step$value[1];
86688
86689 amdArgs.push(stringLiteral(source));
86690 importNames.push(identifier(metadata.name));
86691
86692 if (!isSideEffectImport(metadata)) {
86693 var interop = wrapInterop(path, identifier(metadata.name), metadata.interop);
86694
86695 if (interop) {
86696 var header = expressionStatement(assignmentExpression("=", identifier(metadata.name), interop));
86697 header.loc = metadata.loc;
86698 headers.push(header);
86699 }
86700 }
86701
86702 headers.push.apply(headers, _toConsumableArray(buildNamespaceInitStatements(meta, metadata, constantReexports)));
86703 }
86704
86705 ensureStatementsHoisted(headers);
86706 path.unshiftContainer("body", headers);
86707 injectWrapper(path, buildWrapper$1({
86708 MODULE_NAME: moduleName,
86709 AMD_ARGUMENTS: arrayExpression(amdArgs),
86710 IMPORT_NAMES: importNames
86711 }));
86712 }
86713 }
86714 }
86715 };
86716 });
86717
86718 var _slicedToArray = function () {
86719 function sliceIterator(arr, i) {
86720 var _arr = [];
86721 var _n = true;
86722 var _d = false;
86723 var _e = undefined;
86724
86725 try {
86726 for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
86727 _arr.push(_s.value);
86728
86729 if (i && _arr.length === i) break;
86730 }
86731 } catch (err) {
86732 _d = true;
86733 _e = err;
86734 } finally {
86735 try {
86736 if (!_n && _i["return"]) _i["return"]();
86737 } finally {
86738 if (_d) throw _e;
86739 }
86740 }
86741
86742 return _arr;
86743 }
86744
86745 return function (arr, i) {
86746 if (Array.isArray(arr)) {
86747 return arr;
86748 } else if (Symbol.iterator in Object(arr)) {
86749 return sliceIterator(arr, i);
86750 } else {
86751 throw new TypeError("Invalid attempt to destructure non-iterable instance");
86752 }
86753 };
86754 }();
86755
86756 var getImportSource_1 = getImportSource$3;
86757 var createDynamicImportTransform_1 = createDynamicImportTransform;
86758
86759 function getImportSource$3(t, callNode) {
86760 var importArguments = callNode.arguments;
86761
86762 var _importArguments = _slicedToArray(importArguments, 1),
86763 importPath = _importArguments[0];
86764
86765 var isString = t.isStringLiteral(importPath) || t.isTemplateLiteral(importPath);
86766
86767 if (isString) {
86768 t.removeComments(importPath);
86769 return importPath;
86770 }
86771
86772 return t.templateLiteral([t.templateElement({
86773 raw: '',
86774 cooked: ''
86775 }), t.templateElement({
86776 raw: '',
86777 cooked: ''
86778 }, true)], importArguments);
86779 }
86780
86781 function createDynamicImportTransform(_ref) {
86782 var template = _ref.template,
86783 t = _ref.types;
86784 var builders = {
86785 'static': {
86786 interop: template('Promise.resolve().then(() => INTEROP(require(SOURCE)))'),
86787 noInterop: template('Promise.resolve().then(() => require(SOURCE))')
86788 },
86789 dynamic: {
86790 interop: template('Promise.resolve(SOURCE).then(s => INTEROP(require(s)))'),
86791 noInterop: template('Promise.resolve(SOURCE).then(s => require(s))')
86792 }
86793 };
86794 var visited = typeof WeakSet === 'function' && new WeakSet();
86795
86796 var isString = function isString(node) {
86797 return t.isStringLiteral(node) || t.isTemplateLiteral(node) && node.expressions.length === 0;
86798 };
86799
86800 return function (context, path) {
86801 if (visited) {
86802 if (visited.has(path)) {
86803 return;
86804 }
86805
86806 visited.add(path);
86807 }
86808
86809 var SOURCE = getImportSource$3(t, path.parent);
86810 var builder = isString(SOURCE) ? builders['static'] : builders.dynamic;
86811 var newImport = context.opts.noInterop ? builder.noInterop({
86812 SOURCE: SOURCE
86813 }) : builder.interop({
86814 SOURCE: SOURCE,
86815 INTEROP: context.addHelper('interopRequireWildcard')
86816 });
86817 path.parentPath.replaceWith(newImport);
86818 };
86819 }
86820
86821 var utils$1 = Object.defineProperty({
86822 getImportSource: getImportSource_1,
86823 createDynamicImportTransform: createDynamicImportTransform_1
86824 }, '__esModule', {
86825 value: true
86826 });
86827
86828 var utils = utils$1;
86829
86830 var _templateObject$7, _templateObject2$4, _templateObject3$3;
86831 var _transformModulesCommonjs = declare(function (api, options) {
86832 var _api$assumption, _api$assumption2;
86833
86834 api.assertVersion(7);
86835 var transformImportCall = utils.createDynamicImportTransform(api);
86836 var _options$strictNamesp = options.strictNamespace,
86837 strictNamespace = _options$strictNamesp === void 0 ? false : _options$strictNamesp,
86838 _options$mjsStrictNam = options.mjsStrictNamespace,
86839 mjsStrictNamespace = _options$mjsStrictNam === void 0 ? true : _options$mjsStrictNam,
86840 allowTopLevelThis = options.allowTopLevelThis,
86841 strict = options.strict,
86842 strictMode = options.strictMode,
86843 noInterop = options.noInterop,
86844 importInterop = options.importInterop,
86845 _options$lazy = options.lazy,
86846 lazy = _options$lazy === void 0 ? false : _options$lazy,
86847 _options$allowCommonJ = options.allowCommonJSExports,
86848 allowCommonJSExports = _options$allowCommonJ === void 0 ? true : _options$allowCommonJ;
86849 var constantReexports = (_api$assumption = api.assumption("constantReexports")) != null ? _api$assumption : options.loose;
86850 var enumerableModuleMeta = (_api$assumption2 = api.assumption("enumerableModuleMeta")) != null ? _api$assumption2 : options.loose;
86851
86852 if (typeof lazy !== "boolean" && typeof lazy !== "function" && (!Array.isArray(lazy) || !lazy.every(function (item) {
86853 return typeof item === "string";
86854 }))) {
86855 throw new Error(".lazy must be a boolean, array of strings, or a function");
86856 }
86857
86858 if (typeof strictNamespace !== "boolean") {
86859 throw new Error(".strictNamespace must be a boolean, or undefined");
86860 }
86861
86862 if (typeof mjsStrictNamespace !== "boolean") {
86863 throw new Error(".mjsStrictNamespace must be a boolean, or undefined");
86864 }
86865
86866 var getAssertion = function getAssertion(localName) {
86867 return template$2.expression.ast(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteralLoose(["\n (function(){\n throw new Error(\n \"The CommonJS '\" + \"", "\" + \"' variable is not available in ES6 modules.\" +\n \"Consider setting setting sourceType:script or sourceType:unambiguous in your \" +\n \"Babel config for this file.\");\n })()\n "])), localName);
86868 };
86869
86870 var moduleExportsVisitor = {
86871 ReferencedIdentifier: function ReferencedIdentifier(path) {
86872 var localName = path.node.name;
86873 if (localName !== "module" && localName !== "exports") return;
86874 var localBinding = path.scope.getBinding(localName);
86875 var rootBinding = this.scope.getBinding(localName);
86876
86877 if (rootBinding !== localBinding || path.parentPath.isObjectProperty({
86878 value: path.node
86879 }) && path.parentPath.parentPath.isObjectPattern() || path.parentPath.isAssignmentExpression({
86880 left: path.node
86881 }) || path.isAssignmentExpression({
86882 left: path.node
86883 })) {
86884 return;
86885 }
86886
86887 path.replaceWith(getAssertion(localName));
86888 },
86889 AssignmentExpression: function AssignmentExpression(path) {
86890 var _this = this;
86891
86892 var left = path.get("left");
86893
86894 if (left.isIdentifier()) {
86895 var localName = path.node.name;
86896 if (localName !== "module" && localName !== "exports") return;
86897 var localBinding = path.scope.getBinding(localName);
86898 var rootBinding = this.scope.getBinding(localName);
86899 if (rootBinding !== localBinding) return;
86900 var right = path.get("right");
86901 right.replaceWith(sequenceExpression([right.node, getAssertion(localName)]));
86902 } else if (left.isPattern()) {
86903 var ids = left.getOuterBindingIdentifiers();
86904 var _localName = Object.keys(ids).filter(function (localName) {
86905 if (localName !== "module" && localName !== "exports") return false;
86906 return _this.scope.getBinding(localName) === path.scope.getBinding(localName);
86907 })[0];
86908
86909 if (_localName) {
86910 var _right = path.get("right");
86911
86912 _right.replaceWith(sequenceExpression([_right.node, getAssertion(_localName)]));
86913 }
86914 }
86915 }
86916 };
86917 return {
86918 name: "transform-modules-commonjs",
86919 pre: function pre() {
86920 this.file.set("@babel/plugin-transform-modules-*", "commonjs");
86921 },
86922 visitor: {
86923 CallExpression: function CallExpression(path) {
86924 if (!this.file.has("@babel/plugin-proposal-dynamic-import")) return;
86925 if (!path.get("callee").isImport()) return;
86926 var scope = path.scope;
86927
86928 do {
86929 scope.rename("require");
86930 } while (scope = scope.parent);
86931
86932 transformImportCall(this, path.get("callee"));
86933 },
86934 Program: {
86935 exit: function exit(path, state) {
86936 if (!isModule(path)) return;
86937 path.scope.rename("exports");
86938 path.scope.rename("module");
86939 path.scope.rename("require");
86940 path.scope.rename("__filename");
86941 path.scope.rename("__dirname");
86942
86943 if (!allowCommonJSExports) {
86944 simplifyAccess(path, new Set(["module", "exports"]));
86945 path.traverse(moduleExportsVisitor, {
86946 scope: path.scope
86947 });
86948 }
86949
86950 var moduleName = getModuleName(this.file.opts, options);
86951 if (moduleName) moduleName = stringLiteral(moduleName);
86952
86953 var _rewriteModuleStateme = rewriteModuleStatementsAndPrepareHeader(path, {
86954 exportName: "exports",
86955 constantReexports: constantReexports,
86956 enumerableModuleMeta: enumerableModuleMeta,
86957 strict: strict,
86958 strictMode: strictMode,
86959 allowTopLevelThis: allowTopLevelThis,
86960 noInterop: noInterop,
86961 importInterop: importInterop,
86962 lazy: lazy,
86963 esNamespaceOnly: typeof state.filename === "string" && /\.mjs$/.test(state.filename) ? mjsStrictNamespace : strictNamespace
86964 }),
86965 meta = _rewriteModuleStateme.meta,
86966 headers = _rewriteModuleStateme.headers;
86967
86968 for (var _iterator = _createForOfIteratorHelperLoose(meta.source), _step; !(_step = _iterator()).done;) {
86969 var _step$value = _slicedToArray$2(_step.value, 2),
86970 source = _step$value[0],
86971 metadata = _step$value[1];
86972
86973 var loadExpr = callExpression(identifier("require"), [stringLiteral(source)]);
86974 var header = void 0;
86975
86976 if (isSideEffectImport(metadata)) {
86977 if (metadata.lazy) throw new Error("Assertion failure");
86978 header = expressionStatement(loadExpr);
86979 } else {
86980 var init = wrapInterop(path, loadExpr, metadata.interop) || loadExpr;
86981
86982 if (metadata.lazy) {
86983 header = template$2.ast(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n function ", "() {\n const data = ", ";\n ", " = function(){ return data; };\n return data;\n }\n "])), metadata.name, init, metadata.name);
86984 } else {
86985 header = template$2.ast(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteralLoose(["\n var ", " = ", ";\n "])), metadata.name, init);
86986 }
86987 }
86988
86989 header.loc = metadata.loc;
86990 headers.push(header);
86991 headers.push.apply(headers, _toConsumableArray(buildNamespaceInitStatements(meta, metadata, constantReexports)));
86992 }
86993
86994 ensureStatementsHoisted(headers);
86995 path.unshiftContainer("body", headers);
86996 }
86997 }
86998 }
86999 };
87000 });
87001
87002 var buildTemplate = template$2("\n SYSTEM_REGISTER(MODULE_NAME, SOURCES, function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\n \"use strict\";\n BEFORE_BODY;\n return {\n setters: SETTERS,\n execute: EXECUTE,\n };\n });\n");
87003 var buildExportAll = template$2("\n for (var KEY in TARGET) {\n if (KEY !== \"default\" && KEY !== \"__esModule\") EXPORT_OBJ[KEY] = TARGET[KEY];\n }\n");
87004 var MISSING_PLUGIN_WARNING = "WARNING: Dynamic import() transformation must be enabled using the\n @babel/plugin-proposal-dynamic-import plugin. Babel 8 will\n no longer transform import() without using that plugin.\n";
87005 function getExportSpecifierName(node, stringSpecifiers) {
87006 if (node.type === "Identifier") {
87007 return node.name;
87008 } else if (node.type === "StringLiteral") {
87009 var stringValue = node.value;
87010
87011 if (!isIdentifierName(stringValue)) {
87012 stringSpecifiers.add(stringValue);
87013 }
87014
87015 return stringValue;
87016 } else {
87017 throw new Error("Expected export specifier to be either Identifier or StringLiteral, got " + node.type);
87018 }
87019 }
87020
87021 function constructExportCall(path, exportIdent, exportNames, exportValues, exportStarTarget, stringSpecifiers) {
87022 var statements = [];
87023
87024 if (!exportStarTarget) {
87025 if (exportNames.length === 1) {
87026 statements.push(expressionStatement(callExpression(exportIdent, [stringLiteral(exportNames[0]), exportValues[0]])));
87027 } else {
87028 var objectProperties = [];
87029
87030 for (var i = 0; i < exportNames.length; i++) {
87031 var exportName = exportNames[i];
87032 var exportValue = exportValues[i];
87033 objectProperties.push(objectProperty(stringSpecifiers.has(exportName) ? stringLiteral(exportName) : identifier(exportName), exportValue));
87034 }
87035
87036 statements.push(expressionStatement(callExpression(exportIdent, [objectExpression(objectProperties)])));
87037 }
87038 } else {
87039 var exportObj = path.scope.generateUid("exportObj");
87040 statements.push(variableDeclaration("var", [variableDeclarator(identifier(exportObj), objectExpression([]))]));
87041 statements.push(buildExportAll({
87042 KEY: path.scope.generateUidIdentifier("key"),
87043 EXPORT_OBJ: identifier(exportObj),
87044 TARGET: exportStarTarget
87045 }));
87046
87047 for (var _i = 0; _i < exportNames.length; _i++) {
87048 var _exportName = exportNames[_i];
87049 var _exportValue = exportValues[_i];
87050 statements.push(expressionStatement(assignmentExpression("=", memberExpression(identifier(exportObj), identifier(_exportName)), _exportValue)));
87051 }
87052
87053 statements.push(expressionStatement(callExpression(exportIdent, [identifier(exportObj)])));
87054 }
87055
87056 return statements;
87057 }
87058
87059 var _transformModulesSystemjs = declare(function (api, options) {
87060 api.assertVersion(7);
87061 var _options$systemGlobal = options.systemGlobal,
87062 systemGlobal = _options$systemGlobal === void 0 ? "System" : _options$systemGlobal,
87063 _options$allowTopLeve = options.allowTopLevelThis,
87064 allowTopLevelThis = _options$allowTopLeve === void 0 ? false : _options$allowTopLeve;
87065 var IGNORE_REASSIGNMENT_SYMBOL = Symbol();
87066 var reassignmentVisitor = {
87067 "AssignmentExpression|UpdateExpression": function AssignmentExpressionUpdateExpression(path) {
87068 if (path.node[IGNORE_REASSIGNMENT_SYMBOL]) return;
87069 path.node[IGNORE_REASSIGNMENT_SYMBOL] = true;
87070 var arg = path.get(path.isAssignmentExpression() ? "left" : "argument");
87071
87072 if (arg.isObjectPattern() || arg.isArrayPattern()) {
87073 var exprs = [path.node];
87074
87075 for (var _i2 = 0, _Object$keys = Object.keys(arg.getBindingIdentifiers()); _i2 < _Object$keys.length; _i2++) {
87076 var _name = _Object$keys[_i2];
87077
87078 if (this.scope.getBinding(_name) !== path.scope.getBinding(_name)) {
87079 return;
87080 }
87081
87082 var _exportedNames = this.exports[_name];
87083 if (!_exportedNames) return;
87084
87085 for (var _iterator = _createForOfIteratorHelperLoose(_exportedNames), _step; !(_step = _iterator()).done;) {
87086 var exportedName = _step.value;
87087 exprs.push(this.buildCall(exportedName, identifier(_name)).expression);
87088 }
87089 }
87090
87091 path.replaceWith(sequenceExpression(exprs));
87092 return;
87093 }
87094
87095 if (!arg.isIdentifier()) return;
87096 var name = arg.node.name;
87097 if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return;
87098 var exportedNames = this.exports[name];
87099 if (!exportedNames) return;
87100 var node = path.node;
87101 var isPostUpdateExpression = path.isUpdateExpression({
87102 prefix: false
87103 });
87104
87105 if (isPostUpdateExpression) {
87106 node = binaryExpression(node.operator[0], unaryExpression("+", cloneNode(node.argument)), numericLiteral(1));
87107 }
87108
87109 for (var _iterator2 = _createForOfIteratorHelperLoose(exportedNames), _step2; !(_step2 = _iterator2()).done;) {
87110 var _exportedName = _step2.value;
87111 node = this.buildCall(_exportedName, node).expression;
87112 }
87113
87114 if (isPostUpdateExpression) {
87115 node = sequenceExpression([node, path.node]);
87116 }
87117
87118 path.replaceWith(node);
87119 }
87120 };
87121 return {
87122 name: "transform-modules-systemjs",
87123 pre: function pre() {
87124 this.file.set("@babel/plugin-transform-modules-*", "systemjs");
87125 },
87126 visitor: {
87127 CallExpression: function CallExpression(path, state) {
87128 if (isImport(path.node.callee)) {
87129 if (!this.file.has("@babel/plugin-proposal-dynamic-import")) {
87130 {
87131 console.warn(MISSING_PLUGIN_WARNING);
87132 }
87133 }
87134
87135 path.replaceWith(callExpression(memberExpression(identifier(state.contextIdent), identifier("import")), [utils$2.getImportSource(t$p, path.node)]));
87136 }
87137 },
87138 MetaProperty: function MetaProperty(path, state) {
87139 if (path.node.meta.name === "import" && path.node.property.name === "meta") {
87140 path.replaceWith(memberExpression(identifier(state.contextIdent), identifier("meta")));
87141 }
87142 },
87143 ReferencedIdentifier: function ReferencedIdentifier(path, state) {
87144 if (path.node.name === "__moduleName" && !path.scope.hasBinding("__moduleName")) {
87145 path.replaceWith(memberExpression(identifier(state.contextIdent), identifier("id")));
87146 }
87147 },
87148 Program: {
87149 enter: function enter(path, state) {
87150 state.contextIdent = path.scope.generateUid("context");
87151 state.stringSpecifiers = new Set();
87152
87153 if (!allowTopLevelThis) {
87154 rewriteThis(path);
87155 }
87156 },
87157 exit: function exit(path, state) {
87158 var scope = path.scope;
87159 var exportIdent = scope.generateUid("export");
87160 var contextIdent = state.contextIdent,
87161 stringSpecifiers = state.stringSpecifiers;
87162 var exportMap = Object.create(null);
87163 var modules = [];
87164 var beforeBody = [];
87165 var setters = [];
87166 var sources = [];
87167 var variableIds = [];
87168 var removedPaths = [];
87169
87170 function addExportName(key, val) {
87171 exportMap[key] = exportMap[key] || [];
87172 exportMap[key].push(val);
87173 }
87174
87175 function pushModule(source, key, specifiers) {
87176 var module;
87177 modules.forEach(function (m) {
87178 if (m.key === source) {
87179 module = m;
87180 }
87181 });
87182
87183 if (!module) {
87184 modules.push(module = {
87185 key: source,
87186 imports: [],
87187 exports: []
87188 });
87189 }
87190
87191 module[key] = module[key].concat(specifiers);
87192 }
87193
87194 function buildExportCall(name, val) {
87195 return expressionStatement(callExpression(identifier(exportIdent), [stringLiteral(name), val]));
87196 }
87197
87198 var exportNames = [];
87199 var exportValues = [];
87200 var body = path.get("body");
87201
87202 for (var _iterator3 = _createForOfIteratorHelperLoose(body), _step3; !(_step3 = _iterator3()).done;) {
87203 var _path2 = _step3.value;
87204
87205 if (_path2.isFunctionDeclaration()) {
87206 beforeBody.push(_path2.node);
87207 removedPaths.push(_path2);
87208 } else if (_path2.isClassDeclaration()) {
87209 variableIds.push(cloneNode(_path2.node.id));
87210
87211 _path2.replaceWith(expressionStatement(assignmentExpression("=", cloneNode(_path2.node.id), toExpression(_path2.node))));
87212 } else if (_path2.isImportDeclaration()) {
87213 var source = _path2.node.source.value;
87214 pushModule(source, "imports", _path2.node.specifiers);
87215
87216 for (var _i4 = 0, _Object$keys2 = Object.keys(_path2.getBindingIdentifiers()); _i4 < _Object$keys2.length; _i4++) {
87217 var name = _Object$keys2[_i4];
87218 scope.removeBinding(name);
87219 variableIds.push(identifier(name));
87220 }
87221
87222 _path2.remove();
87223 } else if (_path2.isExportAllDeclaration()) {
87224 pushModule(_path2.node.source.value, "exports", _path2.node);
87225
87226 _path2.remove();
87227 } else if (_path2.isExportDefaultDeclaration()) {
87228 var declar = _path2.get("declaration");
87229
87230 var id = declar.node.id;
87231
87232 if (declar.isClassDeclaration()) {
87233 if (id) {
87234 exportNames.push("default");
87235 exportValues.push(scope.buildUndefinedNode());
87236 variableIds.push(cloneNode(id));
87237 addExportName(id.name, "default");
87238
87239 _path2.replaceWith(expressionStatement(assignmentExpression("=", cloneNode(id), toExpression(declar.node))));
87240 } else {
87241 exportNames.push("default");
87242 exportValues.push(toExpression(declar.node));
87243 removedPaths.push(_path2);
87244 }
87245 } else if (declar.isFunctionDeclaration()) {
87246 if (id) {
87247 beforeBody.push(declar.node);
87248 exportNames.push("default");
87249 exportValues.push(cloneNode(id));
87250 addExportName(id.name, "default");
87251 } else {
87252 exportNames.push("default");
87253 exportValues.push(toExpression(declar.node));
87254 }
87255
87256 removedPaths.push(_path2);
87257 } else {
87258 _path2.replaceWith(buildExportCall("default", declar.node));
87259 }
87260 } else if (_path2.isExportNamedDeclaration()) {
87261 var _declar = _path2.get("declaration");
87262
87263 if (_declar.node) {
87264 _path2.replaceWith(_declar);
87265
87266 if (_path2.isFunction()) {
87267 var node = _declar.node;
87268 var _name2 = node.id.name;
87269 addExportName(_name2, _name2);
87270 beforeBody.push(node);
87271 exportNames.push(_name2);
87272 exportValues.push(cloneNode(node.id));
87273 removedPaths.push(_path2);
87274 } else if (_path2.isClass()) {
87275 var _name3 = _declar.node.id.name;
87276 exportNames.push(_name3);
87277 exportValues.push(scope.buildUndefinedNode());
87278 variableIds.push(cloneNode(_declar.node.id));
87279
87280 _path2.replaceWith(expressionStatement(assignmentExpression("=", cloneNode(_declar.node.id), toExpression(_declar.node))));
87281
87282 addExportName(_name3, _name3);
87283 } else {
87284 for (var _i5 = 0, _Object$keys3 = Object.keys(_declar.getBindingIdentifiers()); _i5 < _Object$keys3.length; _i5++) {
87285 var _name4 = _Object$keys3[_i5];
87286 addExportName(_name4, _name4);
87287 }
87288 }
87289 } else {
87290 var specifiers = _path2.node.specifiers;
87291
87292 if (specifiers != null && specifiers.length) {
87293 if (_path2.node.source) {
87294 pushModule(_path2.node.source.value, "exports", specifiers);
87295
87296 _path2.remove();
87297 } else {
87298 var nodes = [];
87299
87300 for (var _iterator7 = _createForOfIteratorHelperLoose(specifiers), _step7; !(_step7 = _iterator7()).done;) {
87301 var specifier = _step7.value;
87302 var local = specifier.local,
87303 exported = specifier.exported;
87304 var binding = scope.getBinding(local.name);
87305 var exportedName = getExportSpecifierName(exported, stringSpecifiers);
87306
87307 if (binding && isFunctionDeclaration(binding.path.node)) {
87308 exportNames.push(exportedName);
87309 exportValues.push(cloneNode(local));
87310 } else if (!binding) {
87311 nodes.push(buildExportCall(exportedName, local));
87312 }
87313
87314 addExportName(local.name, exportedName);
87315 }
87316
87317 _path2.replaceWithMultiple(nodes);
87318 }
87319 } else {
87320 _path2.remove();
87321 }
87322 }
87323 }
87324 }
87325
87326 modules.forEach(function (specifiers) {
87327 var setterBody = [];
87328 var target = scope.generateUid(specifiers.key);
87329
87330 for (var _iterator4 = _createForOfIteratorHelperLoose(specifiers.imports), _step4; !(_step4 = _iterator4()).done;) {
87331 var specifier = _step4.value;
87332
87333 if (isImportNamespaceSpecifier(specifier)) {
87334 setterBody.push(expressionStatement(assignmentExpression("=", specifier.local, identifier(target))));
87335 } else if (isImportDefaultSpecifier(specifier)) {
87336 specifier = importSpecifier(specifier.local, identifier("default"));
87337 }
87338
87339 if (isImportSpecifier(specifier)) {
87340 var _specifier = specifier,
87341 imported = _specifier.imported;
87342 setterBody.push(expressionStatement(assignmentExpression("=", specifier.local, memberExpression(identifier(target), specifier.imported, imported.type === "StringLiteral"))));
87343 }
87344 }
87345
87346 if (specifiers.exports.length) {
87347 var _exportNames = [];
87348 var _exportValues = [];
87349 var hasExportStar = false;
87350
87351 for (var _iterator5 = _createForOfIteratorHelperLoose(specifiers.exports), _step5; !(_step5 = _iterator5()).done;) {
87352 var node = _step5.value;
87353
87354 if (isExportAllDeclaration(node)) {
87355 hasExportStar = true;
87356 } else if (isExportSpecifier(node)) {
87357 var exportedName = getExportSpecifierName(node.exported, stringSpecifiers);
87358
87359 _exportNames.push(exportedName);
87360
87361 _exportValues.push(memberExpression(identifier(target), node.local, isStringLiteral(node.local)));
87362 } else ;
87363 }
87364
87365 setterBody = setterBody.concat(constructExportCall(path, identifier(exportIdent), _exportNames, _exportValues, hasExportStar ? identifier(target) : null, stringSpecifiers));
87366 }
87367
87368 sources.push(stringLiteral(specifiers.key));
87369 setters.push(functionExpression(null, [identifier(target)], blockStatement(setterBody)));
87370 });
87371 var moduleName = getModuleName(this.file.opts, options);
87372 if (moduleName) moduleName = stringLiteral(moduleName);
87373 hoistVariables(path, function (id, name, hasInit) {
87374 variableIds.push(id);
87375
87376 if (!hasInit && name in exportMap) {
87377 for (var _iterator6 = _createForOfIteratorHelperLoose(exportMap[name]), _step6; !(_step6 = _iterator6()).done;) {
87378 var exported = _step6.value;
87379 exportNames.push(exported);
87380 exportValues.push(scope.buildUndefinedNode());
87381 }
87382 }
87383 }, null);
87384
87385 if (variableIds.length) {
87386 beforeBody.unshift(variableDeclaration("var", variableIds.map(function (id) {
87387 return variableDeclarator(id);
87388 })));
87389 }
87390
87391 if (exportNames.length) {
87392 beforeBody = beforeBody.concat(constructExportCall(path, identifier(exportIdent), exportNames, exportValues, null, stringSpecifiers));
87393 }
87394
87395 path.traverse(reassignmentVisitor, {
87396 exports: exportMap,
87397 buildCall: buildExportCall,
87398 scope: scope
87399 });
87400
87401 for (var _i3 = 0, _removedPaths = removedPaths; _i3 < _removedPaths.length; _i3++) {
87402 var _path = _removedPaths[_i3];
87403
87404 _path.remove();
87405 }
87406
87407 var hasTLA = false;
87408 path.traverse({
87409 AwaitExpression: function AwaitExpression(path) {
87410 hasTLA = true;
87411 path.stop();
87412 },
87413 Function: function Function(path) {
87414 path.skip();
87415 },
87416 noScope: true
87417 });
87418 path.node.body = [buildTemplate({
87419 SYSTEM_REGISTER: memberExpression(identifier(systemGlobal), identifier("register")),
87420 BEFORE_BODY: beforeBody,
87421 MODULE_NAME: moduleName,
87422 SETTERS: arrayExpression(setters),
87423 EXECUTE: functionExpression(null, [], blockStatement(path.node.body), false, hasTLA),
87424 SOURCES: arrayExpression(sources),
87425 EXPORT_IDENTIFIER: identifier(exportIdent),
87426 CONTEXT_IDENTIFIER: identifier(contextIdent)
87427 })];
87428 }
87429 }
87430 }
87431 };
87432 });
87433
87434 var buildPrerequisiteAssignment = template$2("\n GLOBAL_REFERENCE = GLOBAL_REFERENCE || {}\n");
87435 var buildWrapper = template$2("\n (function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(MODULE_NAME, AMD_ARGUMENTS, factory);\n } else if (typeof exports !== \"undefined\") {\n factory(COMMONJS_ARGUMENTS);\n } else {\n var mod = { exports: {} };\n factory(BROWSER_ARGUMENTS);\n\n GLOBAL_TO_ASSIGN;\n }\n })(\n typeof globalThis !== \"undefined\" ? globalThis\n : typeof self !== \"undefined\" ? self\n : this,\n function(IMPORT_NAMES) {\n })\n");
87436 var _transformModulesUmd = declare(function (api, options) {
87437 var _api$assumption, _api$assumption2;
87438
87439 api.assertVersion(7);
87440 var globals = options.globals,
87441 exactGlobals = options.exactGlobals,
87442 allowTopLevelThis = options.allowTopLevelThis,
87443 strict = options.strict,
87444 strictMode = options.strictMode,
87445 noInterop = options.noInterop,
87446 importInterop = options.importInterop;
87447 var constantReexports = (_api$assumption = api.assumption("constantReexports")) != null ? _api$assumption : options.loose;
87448 var enumerableModuleMeta = (_api$assumption2 = api.assumption("enumerableModuleMeta")) != null ? _api$assumption2 : options.loose;
87449
87450 function buildBrowserInit(browserGlobals, exactGlobals, filename, moduleName) {
87451 var moduleNameOrBasename = moduleName ? moduleName.value : basename(filename, extname(filename));
87452 var globalToAssign = memberExpression(identifier("global"), identifier(toIdentifier(moduleNameOrBasename)));
87453 var initAssignments = [];
87454
87455 if (exactGlobals) {
87456 var globalName = browserGlobals[moduleNameOrBasename];
87457
87458 if (globalName) {
87459 initAssignments = [];
87460 var members = globalName.split(".");
87461 globalToAssign = members.slice(1).reduce(function (accum, curr) {
87462 initAssignments.push(buildPrerequisiteAssignment({
87463 GLOBAL_REFERENCE: cloneNode(accum)
87464 }));
87465 return memberExpression(accum, identifier(curr));
87466 }, memberExpression(identifier("global"), identifier(members[0])));
87467 }
87468 }
87469
87470 initAssignments.push(expressionStatement(assignmentExpression("=", globalToAssign, memberExpression(identifier("mod"), identifier("exports")))));
87471 return initAssignments;
87472 }
87473
87474 function buildBrowserArg(browserGlobals, exactGlobals, source) {
87475 var memberExpression$1;
87476
87477 if (exactGlobals) {
87478 var globalRef = browserGlobals[source];
87479
87480 if (globalRef) {
87481 memberExpression$1 = globalRef.split(".").reduce(function (accum, curr) {
87482 return memberExpression(accum, identifier(curr));
87483 }, identifier("global"));
87484 } else {
87485 memberExpression$1 = memberExpression(identifier("global"), identifier(toIdentifier(source)));
87486 }
87487 } else {
87488 var requireName = basename(source, extname(source));
87489 var globalName = browserGlobals[requireName] || requireName;
87490 memberExpression$1 = memberExpression(identifier("global"), identifier(toIdentifier(globalName)));
87491 }
87492
87493 return memberExpression$1;
87494 }
87495
87496 return {
87497 name: "transform-modules-umd",
87498 visitor: {
87499 Program: {
87500 exit: function exit(path) {
87501 if (!isModule(path)) return;
87502 var browserGlobals = globals || {};
87503 var moduleName = getModuleName(this.file.opts, options);
87504 if (moduleName) moduleName = stringLiteral(moduleName);
87505
87506 var _rewriteModuleStateme = rewriteModuleStatementsAndPrepareHeader(path, {
87507 constantReexports: constantReexports,
87508 enumerableModuleMeta: enumerableModuleMeta,
87509 strict: strict,
87510 strictMode: strictMode,
87511 allowTopLevelThis: allowTopLevelThis,
87512 noInterop: noInterop,
87513 importInterop: importInterop
87514 }),
87515 meta = _rewriteModuleStateme.meta,
87516 headers = _rewriteModuleStateme.headers;
87517
87518 var amdArgs = [];
87519 var commonjsArgs = [];
87520 var browserArgs = [];
87521 var importNames = [];
87522
87523 if (hasExports(meta)) {
87524 amdArgs.push(stringLiteral("exports"));
87525 commonjsArgs.push(identifier("exports"));
87526 browserArgs.push(memberExpression(identifier("mod"), identifier("exports")));
87527 importNames.push(identifier(meta.exportName));
87528 }
87529
87530 for (var _iterator = _createForOfIteratorHelperLoose(meta.source), _step; !(_step = _iterator()).done;) {
87531 var _step$value = _slicedToArray$2(_step.value, 2),
87532 source = _step$value[0],
87533 metadata = _step$value[1];
87534
87535 amdArgs.push(stringLiteral(source));
87536 commonjsArgs.push(callExpression(identifier("require"), [stringLiteral(source)]));
87537 browserArgs.push(buildBrowserArg(browserGlobals, exactGlobals, source));
87538 importNames.push(identifier(metadata.name));
87539
87540 if (!isSideEffectImport(metadata)) {
87541 var interop = wrapInterop(path, identifier(metadata.name), metadata.interop);
87542
87543 if (interop) {
87544 var header = expressionStatement(assignmentExpression("=", identifier(metadata.name), interop));
87545 header.loc = meta.loc;
87546 headers.push(header);
87547 }
87548 }
87549
87550 headers.push.apply(headers, _toConsumableArray(buildNamespaceInitStatements(meta, metadata, constantReexports)));
87551 }
87552
87553 ensureStatementsHoisted(headers);
87554 path.unshiftContainer("body", headers);
87555 var _path$node = path.node,
87556 body = _path$node.body,
87557 directives = _path$node.directives;
87558 path.node.directives = [];
87559 path.node.body = [];
87560 var umdWrapper = path.pushContainer("body", [buildWrapper({
87561 MODULE_NAME: moduleName,
87562 AMD_ARGUMENTS: arrayExpression(amdArgs),
87563 COMMONJS_ARGUMENTS: commonjsArgs,
87564 BROWSER_ARGUMENTS: browserArgs,
87565 IMPORT_NAMES: importNames,
87566 GLOBAL_TO_ASSIGN: buildBrowserInit(browserGlobals, exactGlobals, this.filename || "unknown", moduleName)
87567 })])[0];
87568 var umdFactory = umdWrapper.get("expression.arguments")[1].get("body");
87569 umdFactory.pushContainer("directives", directives);
87570 umdFactory.pushContainer("body", body);
87571 }
87572 }
87573 }
87574 };
87575 });
87576
87577 function _transformNamedCapturingGroupsRegex (core, options) {
87578 var _options$runtime = options.runtime,
87579 runtime = _options$runtime === void 0 ? true : _options$runtime;
87580
87581 if (typeof runtime !== "boolean") {
87582 throw new Error("The 'runtime' option must be boolean");
87583 }
87584
87585 return createRegExpFeaturePlugin({
87586 name: "transform-named-capturing-groups-regex",
87587 feature: "namedCaptureGroups",
87588 options: {
87589 runtime: runtime
87590 }
87591 });
87592 }
87593
87594 var _transformNewTarget = declare(function (api) {
87595 api.assertVersion(7);
87596 return {
87597 name: "transform-new-target",
87598 visitor: {
87599 MetaProperty: function MetaProperty(path) {
87600 var meta = path.get("meta");
87601 var property = path.get("property");
87602 var scope = path.scope;
87603
87604 if (meta.isIdentifier({
87605 name: "new"
87606 }) && property.isIdentifier({
87607 name: "target"
87608 })) {
87609 var func = path.findParent(function (path) {
87610 if (path.isClass()) return true;
87611
87612 if (path.isFunction() && !path.isArrowFunctionExpression()) {
87613 if (path.isClassMethod({
87614 kind: "constructor"
87615 })) {
87616 return false;
87617 }
87618
87619 return true;
87620 }
87621
87622 return false;
87623 });
87624
87625 if (!func) {
87626 throw path.buildCodeFrameError("new.target must be under a (non-arrow) function or a class.");
87627 }
87628
87629 var node = func.node;
87630
87631 if (!node.id) {
87632 if (func.isMethod()) {
87633 path.replaceWith(scope.buildUndefinedNode());
87634 return;
87635 }
87636
87637 node.id = scope.generateUidIdentifier("target");
87638 }
87639
87640 var _constructor = memberExpression(thisExpression(), identifier("constructor"));
87641
87642 if (func.isClass()) {
87643 path.replaceWith(_constructor);
87644 return;
87645 }
87646
87647 path.replaceWith(conditionalExpression(binaryExpression("instanceof", thisExpression(), cloneNode(node.id)), _constructor, scope.buildUndefinedNode()));
87648 }
87649 }
87650 }
87651 };
87652 });
87653
87654 var transformObjectAssign = declare(function (api) {
87655 api.assertVersion(7);
87656 return {
87657 name: "transform-object-assign",
87658 visitor: {
87659 CallExpression: function CallExpression(path, file) {
87660 if (path.get("callee").matchesPattern("Object.assign")) {
87661 path.node.callee = file.addHelper("extends");
87662 }
87663 }
87664 }
87665 };
87666 });
87667
87668 function replacePropertySuper(path, getObjectRef, file) {
87669 var replaceSupers = new ReplaceSupers({
87670 getObjectRef: getObjectRef,
87671 methodPath: path,
87672 file: file
87673 });
87674 replaceSupers.replace();
87675 }
87676
87677 var _transformObjectSuper = declare(function (api) {
87678 api.assertVersion(7);
87679 return {
87680 name: "transform-object-super",
87681 visitor: {
87682 ObjectExpression: function ObjectExpression(path, state) {
87683 var objectRef;
87684
87685 var getObjectRef = function getObjectRef() {
87686 return objectRef = objectRef || path.scope.generateUidIdentifier("obj");
87687 };
87688
87689 path.get("properties").forEach(function (propPath) {
87690 if (!propPath.isMethod()) return;
87691 replacePropertySuper(propPath, getObjectRef, state);
87692 });
87693
87694 if (objectRef) {
87695 path.scope.push({
87696 id: cloneNode(objectRef)
87697 });
87698 path.replaceWith(assignmentExpression("=", cloneNode(objectRef), path.node));
87699 }
87700 }
87701 }
87702 };
87703 });
87704
87705 var transformObjectSetPrototypeOfToAssign = declare(function (api) {
87706 api.assertVersion(7);
87707 return {
87708 name: "transform-object-set-prototype-of-to-assign",
87709 visitor: {
87710 CallExpression: function CallExpression(path, file) {
87711 if (path.get("callee").matchesPattern("Object.setPrototypeOf")) {
87712 path.node.callee = file.addHelper("defaults");
87713 }
87714 }
87715 }
87716 };
87717 });
87718
87719 var _transformPropertyLiterals = declare(function (api) {
87720 api.assertVersion(7);
87721 return {
87722 name: "transform-property-literals",
87723 visitor: {
87724 ObjectProperty: {
87725 exit: function exit(_ref) {
87726 var node = _ref.node;
87727 var key = node.key;
87728
87729 if (!node.computed && isIdentifier(key) && !isValidES3Identifier(key.name)) {
87730 node.key = stringLiteral(key.name);
87731 }
87732 }
87733 }
87734 }
87735 };
87736 });
87737
87738 function toKind(node) {
87739 if (isClassMethod(node) || isObjectMethod(node)) {
87740 if (node.kind === "get" || node.kind === "set") {
87741 return node.kind;
87742 }
87743 }
87744
87745 return "value";
87746 }
87747
87748 var has$7 = Function.prototype.call.bind(Object.prototype.hasOwnProperty);
87749 function push$1(mutatorMap, node, kind, file, scope) {
87750 var alias = toKeyAlias(node);
87751 var map = {};
87752 if (has$7(mutatorMap, alias)) map = mutatorMap[alias];
87753 mutatorMap[alias] = map;
87754 map._inherits = map._inherits || [];
87755
87756 map._inherits.push(node);
87757
87758 map._key = node.key;
87759
87760 if (node.computed) {
87761 map._computed = true;
87762 }
87763
87764 if (node.decorators) {
87765 var decorators = map.decorators = map.decorators || arrayExpression([]);
87766 decorators.elements = decorators.elements.concat(node.decorators.map(function (dec) {
87767 return dec.expression;
87768 }).reverse());
87769 }
87770
87771 if (map.value || map.initializer) {
87772 throw file.buildCodeFrameError(node, "Key conflict with sibling node");
87773 }
87774
87775 var key, value;
87776
87777 if (isObjectProperty(node) || isObjectMethod(node) || isClassMethod(node)) {
87778 key = toComputedKey$1(node, node.key);
87779 }
87780
87781 if (isProperty(node)) {
87782 value = node.value;
87783 } else if (isObjectMethod(node) || isClassMethod(node)) {
87784 value = functionExpression(null, node.params, node.body, node.generator, node.async);
87785 value.returnType = node.returnType;
87786 }
87787
87788 var inheritedKind = toKind(node);
87789
87790 if (!kind || inheritedKind !== "value") {
87791 kind = inheritedKind;
87792 }
87793
87794 if (scope && isStringLiteral(key) && (kind === "value" || kind === "initializer") && isFunctionExpression(value)) {
87795 value = nameFunction({
87796 id: key,
87797 node: value,
87798 scope: scope
87799 });
87800 }
87801
87802 if (value) {
87803 inheritsComments(value, node);
87804 map[kind] = value;
87805 }
87806
87807 return map;
87808 }
87809 function toClassObject(mutatorMap) {
87810 var objExpr = objectExpression([]);
87811 Object.keys(mutatorMap).forEach(function (mutatorMapKey) {
87812 var map = mutatorMap[mutatorMapKey];
87813 var mapNode = objectExpression([]);
87814 var propNode = objectProperty(map._key, mapNode, map._computed);
87815 Object.keys(map).forEach(function (key) {
87816 var node = map[key];
87817 if (key[0] === "_") return;
87818 var prop = objectProperty(identifier(key), node);
87819 inheritsComments(prop, node);
87820 removeComments(node);
87821 mapNode.properties.push(prop);
87822 });
87823 objExpr.properties.push(propNode);
87824 });
87825 return objExpr;
87826 }
87827 function toDefineObject(mutatorMap) {
87828 Object.keys(mutatorMap).forEach(function (key) {
87829 var map = mutatorMap[key];
87830 if (map.value) map.writable = booleanLiteral(true);
87831 map.configurable = booleanLiteral(true);
87832 map.enumerable = booleanLiteral(true);
87833 });
87834 return toClassObject(mutatorMap);
87835 }
87836
87837 var transformPropertyMutators = declare(function (api) {
87838 api.assertVersion(7);
87839 return {
87840 name: "transform-property-mutators",
87841 visitor: {
87842 ObjectExpression: function ObjectExpression(path, file) {
87843 var node = path.node;
87844 var hasAny = false;
87845
87846 for (var _i = 0, _arr = node.properties; _i < _arr.length; _i++) {
87847 var prop = _arr[_i];
87848
87849 if (prop.kind === "get" || prop.kind === "set") {
87850 hasAny = true;
87851 break;
87852 }
87853 }
87854
87855 if (!hasAny) return;
87856 var mutatorMap = {};
87857 node.properties = node.properties.filter(function (prop) {
87858 if (!prop.computed && (prop.kind === "get" || prop.kind === "set")) {
87859 push$1(mutatorMap, prop, null, file);
87860 return false;
87861 } else {
87862 return true;
87863 }
87864 });
87865 path.replaceWith(callExpression(memberExpression(identifier("Object"), identifier("defineProperties")), [node, toDefineObject(mutatorMap)]));
87866 }
87867 }
87868 };
87869 });
87870
87871 var transformProtoToAssign = declare(function (api) {
87872 api.assertVersion(7);
87873
87874 function isProtoKey(node) {
87875 return isLiteral(toComputedKey$1(node, node.key), {
87876 value: "__proto__"
87877 });
87878 }
87879
87880 function isProtoAssignmentExpression(node) {
87881 var left = node.left;
87882 return isMemberExpression(left) && isLiteral(toComputedKey$1(left, left.property), {
87883 value: "__proto__"
87884 });
87885 }
87886
87887 function buildDefaultsCallExpression(expr, ref, file) {
87888 return expressionStatement(callExpression(file.addHelper("defaults"), [ref, expr.right]));
87889 }
87890
87891 return {
87892 name: "transform-proto-to-assign",
87893 visitor: {
87894 AssignmentExpression: function AssignmentExpression(path, file) {
87895 if (!isProtoAssignmentExpression(path.node)) return;
87896 var nodes = [];
87897 var left = path.node.left.object;
87898 var temp = path.scope.maybeGenerateMemoised(left);
87899
87900 if (temp) {
87901 nodes.push(expressionStatement(assignmentExpression("=", temp, left)));
87902 }
87903
87904 nodes.push(buildDefaultsCallExpression(path.node, cloneNode(temp || left), file));
87905 if (temp) nodes.push(cloneNode(temp));
87906 path.replaceWithMultiple(nodes);
87907 },
87908 ExpressionStatement: function ExpressionStatement(path, file) {
87909 var expr = path.node.expression;
87910 if (!isAssignmentExpression(expr, {
87911 operator: "="
87912 })) return;
87913
87914 if (isProtoAssignmentExpression(expr)) {
87915 path.replaceWith(buildDefaultsCallExpression(expr, expr.left.object, file));
87916 }
87917 },
87918 ObjectExpression: function ObjectExpression(path, file) {
87919 var proto;
87920 var node = path.node;
87921 var properties = node.properties;
87922
87923 for (var i = 0; i < properties.length; i++) {
87924 var prop = properties[i];
87925
87926 if (isProtoKey(prop)) {
87927 proto = prop.value;
87928 properties.splice(i, 1);
87929 break;
87930 }
87931 }
87932
87933 if (proto) {
87934 var args = [objectExpression([]), proto];
87935 if (node.properties.length) args.push(node);
87936 path.replaceWith(callExpression(file.addHelper("extends"), args));
87937 }
87938 }
87939 }
87940 };
87941 });
87942
87943 var _templateObject$6;
87944 var transformReactConstantElements = declare(function (api, options) {
87945 api.assertVersion(7);
87946 var allowMutablePropsOnTags = options.allowMutablePropsOnTags;
87947
87948 if (allowMutablePropsOnTags != null && !Array.isArray(allowMutablePropsOnTags)) {
87949 throw new Error(".allowMutablePropsOnTags must be an array, null, or undefined.");
87950 }
87951
87952 var HOISTED = new WeakMap();
87953
87954 function declares(node, scope) {
87955 if (isJSXIdentifier(node, {
87956 name: "this"
87957 }) || isJSXIdentifier(node, {
87958 name: "arguments"
87959 }) || isJSXIdentifier(node, {
87960 name: "super"
87961 }) || isJSXIdentifier(node, {
87962 name: "new"
87963 })) {
87964 var path = scope.path;
87965 return path.isFunctionParent() && !path.isArrowFunctionExpression();
87966 }
87967
87968 return scope.hasOwnBinding(node.name);
87969 }
87970
87971 function isHoistingScope(_ref) {
87972 var path = _ref.path;
87973 return path.isFunctionParent() || path.isLoop() || path.isProgram();
87974 }
87975
87976 function getHoistingScope(scope) {
87977 while (!isHoistingScope(scope)) {
87978 scope = scope.parent;
87979 }
87980
87981 return scope;
87982 }
87983
87984 var analyzer = {
87985 enter: function enter(path, state) {
87986 var stop = function stop() {
87987 state.isImmutable = false;
87988 path.stop();
87989 };
87990
87991 if (path.isJSXClosingElement()) {
87992 path.skip();
87993 return;
87994 }
87995
87996 if (path.isJSXIdentifier({
87997 name: "ref"
87998 }) && path.parentPath.isJSXAttribute({
87999 name: path.node
88000 })) {
88001 return stop();
88002 }
88003
88004 if (path.isJSXIdentifier() || path.isJSXMemberExpression() || path.isJSXNamespacedName()) {
88005 return;
88006 }
88007
88008 if (path.isIdentifier()) {
88009 var binding = path.scope.getBinding(path.node.name);
88010 if (binding && binding.constant) return;
88011 }
88012
88013 if (!path.isImmutable()) {
88014 if (path.isPure()) {
88015 var expressionResult = path.evaluate();
88016
88017 if (expressionResult.confident) {
88018 var value = expressionResult.value;
88019 var isMutable = !state.mutablePropsAllowed && value && typeof value === "object" || typeof value === "function";
88020
88021 if (!isMutable) {
88022 path.skip();
88023 return;
88024 }
88025 } else if (isIdentifier(expressionResult.deopt)) {
88026 return;
88027 }
88028 }
88029
88030 stop();
88031 }
88032 },
88033 ReferencedIdentifier: function ReferencedIdentifier(path, state) {
88034 var node = path.node;
88035 var scope = path.scope;
88036
88037 while (scope) {
88038 if (scope === state.targetScope) return;
88039 if (declares(node, scope)) break;
88040 scope = scope.parent;
88041 }
88042
88043 state.targetScope = getHoistingScope(scope);
88044 }
88045 };
88046 return {
88047 name: "transform-react-constant-elements",
88048 visitor: {
88049 JSXElement: function JSXElement(path) {
88050 var _jsxScope;
88051
88052 if (HOISTED.has(path.node)) return;
88053 HOISTED.set(path.node, path.scope);
88054 var name = path.node.openingElement.name;
88055 var mutablePropsAllowed = false;
88056
88057 if (allowMutablePropsOnTags != null) {
88058 var lastSegment = name;
88059
88060 while (isJSXMemberExpression(lastSegment)) {
88061 lastSegment = lastSegment.property;
88062 }
88063
88064 var elementName = lastSegment.name;
88065 mutablePropsAllowed = allowMutablePropsOnTags.includes(elementName);
88066 }
88067
88068 var state = {
88069 isImmutable: true,
88070 mutablePropsAllowed: mutablePropsAllowed,
88071 targetScope: path.scope.getProgramParent()
88072 };
88073 path.traverse(analyzer, state);
88074 if (!state.isImmutable) return;
88075 var targetScope = state.targetScope;
88076 HOISTED.set(path.node, targetScope);
88077 var jsxScope;
88078 var current = path;
88079
88080 while (!jsxScope && current.parentPath.isJSX()) {
88081 current = current.parentPath;
88082 jsxScope = HOISTED.get(current.node);
88083 }
88084
88085 (_jsxScope = jsxScope) != null ? _jsxScope : jsxScope = getHoistingScope(path.scope);
88086 if (targetScope === jsxScope) return;
88087 var id = path.scope.generateUidBasedOnNode(name);
88088 targetScope.push({
88089 id: identifier(id)
88090 });
88091 var replacement = template$2.expression.ast(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteralLoose(["\n ", " || (", " = ", ")\n "])), identifier(id), identifier(id), path.node);
88092
88093 if (path.parentPath.isJSXElement() || path.parentPath.isJSXAttribute()) {
88094 replacement = jsxExpressionContainer(replacement);
88095 }
88096
88097 path.replaceWith(replacement);
88098 }
88099 }
88100 };
88101 });
88102
88103 var transformReactDisplayName = declare(function (api) {
88104 api.assertVersion(7);
88105
88106 function addDisplayName(id, call) {
88107 var props = call.arguments[0].properties;
88108 var safe = true;
88109
88110 for (var i = 0; i < props.length; i++) {
88111 var prop = props[i];
88112 var key = toComputedKey$1(prop);
88113
88114 if (isLiteral(key, {
88115 value: "displayName"
88116 })) {
88117 safe = false;
88118 break;
88119 }
88120 }
88121
88122 if (safe) {
88123 props.unshift(objectProperty(identifier("displayName"), stringLiteral(id)));
88124 }
88125 }
88126
88127 var isCreateClassCallExpression = buildMatchMemberExpression("React.createClass");
88128
88129 var isCreateClassAddon = function isCreateClassAddon(callee) {
88130 return callee.name === "createReactClass";
88131 };
88132
88133 function isCreateClass(node) {
88134 if (!node || !isCallExpression(node)) return false;
88135
88136 if (!isCreateClassCallExpression(node.callee) && !isCreateClassAddon(node.callee)) {
88137 return false;
88138 }
88139
88140 var args = node.arguments;
88141 if (args.length !== 1) return false;
88142 var first = args[0];
88143 if (!isObjectExpression(first)) return false;
88144 return true;
88145 }
88146
88147 return {
88148 name: "transform-react-display-name",
88149 visitor: {
88150 ExportDefaultDeclaration: function ExportDefaultDeclaration(_ref, state) {
88151 var node = _ref.node;
88152
88153 if (isCreateClass(node.declaration)) {
88154 var filename = state.filename || "unknown";
88155 var displayName = path$1.basename(filename, path$1.extname(filename));
88156
88157 if (displayName === "index") {
88158 displayName = path$1.basename(path$1.dirname(filename));
88159 }
88160
88161 addDisplayName(displayName, node.declaration);
88162 }
88163 },
88164 CallExpression: function CallExpression(path) {
88165 var node = path.node;
88166 if (!isCreateClass(node)) return;
88167 var id;
88168 path.find(function (path) {
88169 if (path.isAssignmentExpression()) {
88170 id = path.node.left;
88171 } else if (path.isObjectProperty()) {
88172 id = path.node.key;
88173 } else if (path.isVariableDeclarator()) {
88174 id = path.node.id;
88175 } else if (path.isStatement()) {
88176 return true;
88177 }
88178
88179 if (id) return true;
88180 });
88181 if (!id) return;
88182
88183 if (isMemberExpression(id)) {
88184 id = id.property;
88185 }
88186
88187 if (isIdentifier(id)) {
88188 addDisplayName(id.name, node);
88189 }
88190 }
88191 }
88192 };
88193 });
88194
88195 function helper (opts) {
88196 var visitor = {};
88197
88198 visitor.JSXNamespacedName = function (path) {
88199 if (opts.throwIfNamespace) {
88200 throw path.buildCodeFrameError("Namespace tags are not supported by default. React's JSX doesn't support namespace tags. You can set `throwIfNamespace: false` to bypass this warning.");
88201 }
88202 };
88203
88204 visitor.JSXSpreadChild = function (path) {
88205 throw path.buildCodeFrameError("Spread children are not supported in React.");
88206 };
88207
88208 visitor.JSXElement = {
88209 exit: function exit(path, file) {
88210 var callExpr = buildElementCall(path, file);
88211
88212 if (callExpr) {
88213 path.replaceWith(inherits(callExpr, path.node));
88214 }
88215 }
88216 };
88217 visitor.JSXFragment = {
88218 exit: function exit(path, file) {
88219 if (opts.compat) {
88220 throw path.buildCodeFrameError("Fragment tags are only supported in React 16 and up.");
88221 }
88222
88223 var callExpr = buildFragmentCall(path, file);
88224
88225 if (callExpr) {
88226 path.replaceWith(inherits(callExpr, path.node));
88227 }
88228 }
88229 };
88230 return visitor;
88231
88232 function convertJSXIdentifier(node, parent) {
88233 if (isJSXIdentifier(node)) {
88234 if (node.name === "this" && isReferenced(node, parent)) {
88235 return thisExpression();
88236 } else if (isValidIdentifier(node.name, false)) {
88237 node.type = "Identifier";
88238 } else {
88239 return stringLiteral(node.name);
88240 }
88241 } else if (isJSXMemberExpression(node)) {
88242 return memberExpression(convertJSXIdentifier(node.object, node), convertJSXIdentifier(node.property, node));
88243 } else if (isJSXNamespacedName(node)) {
88244 return stringLiteral(node.namespace.name + ":" + node.name.name);
88245 }
88246
88247 return node;
88248 }
88249
88250 function convertAttributeValue(node) {
88251 if (isJSXExpressionContainer(node)) {
88252 return node.expression;
88253 } else {
88254 return node;
88255 }
88256 }
88257
88258 function convertAttribute(node) {
88259 var value = convertAttributeValue(node.value || booleanLiteral(true));
88260
88261 if (isJSXSpreadAttribute(node)) {
88262 return spreadElement(node.argument);
88263 }
88264
88265 if (isStringLiteral(value) && !isJSXExpressionContainer(node.value)) {
88266 var _value$extra;
88267
88268 value.value = value.value.replace(/\n\s+/g, " ");
88269 (_value$extra = value.extra) == null ? true : delete _value$extra.raw;
88270 }
88271
88272 if (isJSXNamespacedName(node.name)) {
88273 node.name = stringLiteral(node.name.namespace.name + ":" + node.name.name.name);
88274 } else if (isValidIdentifier(node.name.name, false)) {
88275 node.name.type = "Identifier";
88276 } else {
88277 node.name = stringLiteral(node.name.name);
88278 }
88279
88280 return inherits(objectProperty(node.name, value), node);
88281 }
88282
88283 function buildElementCall(path, file) {
88284 if (opts.filter && !opts.filter(path.node, file)) return;
88285 var openingPath = path.get("openingElement");
88286 openingPath.parent.children = react.buildChildren(openingPath.parent);
88287 var tagExpr = convertJSXIdentifier(openingPath.node.name, openingPath.node);
88288 var args = [];
88289 var tagName;
88290
88291 if (isIdentifier(tagExpr)) {
88292 tagName = tagExpr.name;
88293 } else if (isLiteral(tagExpr)) {
88294 tagName = tagExpr.value;
88295 }
88296
88297 var state = {
88298 tagExpr: tagExpr,
88299 tagName: tagName,
88300 args: args,
88301 pure: false
88302 };
88303
88304 if (opts.pre) {
88305 opts.pre(state, file);
88306 }
88307
88308 var attribs = openingPath.node.attributes;
88309
88310 if (attribs.length) {
88311 {
88312 attribs = buildOpeningElementAttributes(attribs, file);
88313 }
88314 } else {
88315 attribs = nullLiteral();
88316 }
88317
88318 args.push.apply(args, [attribs].concat(_toConsumableArray(path.node.children)));
88319
88320 if (opts.post) {
88321 opts.post(state, file);
88322 }
88323
88324 var call = state.call || callExpression(state.callee, args);
88325 if (state.pure) annotateAsPure(call);
88326 return call;
88327 }
88328
88329 function pushProps(_props, objs) {
88330 if (!_props.length) return _props;
88331 objs.push(objectExpression(_props));
88332 return [];
88333 }
88334
88335 function buildOpeningElementAttributes(attribs, file) {
88336 var _props = [];
88337 var objs = [];
88338 var _file$opts$useSpread = file.opts.useSpread,
88339 useSpread = _file$opts$useSpread === void 0 ? false : _file$opts$useSpread;
88340
88341 if (typeof useSpread !== "boolean") {
88342 throw new Error("transform-react-jsx currently only accepts a boolean option for " + "useSpread (defaults to false)");
88343 }
88344
88345 var useBuiltIns = file.opts.useBuiltIns || false;
88346
88347 if (typeof useBuiltIns !== "boolean") {
88348 throw new Error("transform-react-jsx currently only accepts a boolean option for " + "useBuiltIns (defaults to false)");
88349 }
88350
88351 if (useSpread && useBuiltIns) {
88352 throw new Error("transform-react-jsx currently only accepts useBuiltIns or useSpread " + "but not both");
88353 }
88354
88355 if (useSpread) {
88356 var props = attribs.map(convertAttribute);
88357 return objectExpression(props);
88358 }
88359
88360 while (attribs.length) {
88361 var prop = attribs.shift();
88362
88363 if (isJSXSpreadAttribute(prop)) {
88364 _props = pushProps(_props, objs);
88365 objs.push(prop.argument);
88366 } else {
88367 _props.push(convertAttribute(prop));
88368 }
88369 }
88370
88371 pushProps(_props, objs);
88372
88373 if (objs.length === 1) {
88374 attribs = objs[0];
88375 } else {
88376 if (!isObjectExpression(objs[0])) {
88377 objs.unshift(objectExpression([]));
88378 }
88379
88380 var helper = useBuiltIns ? memberExpression(identifier("Object"), identifier("assign")) : file.addHelper("extends");
88381 attribs = callExpression(helper, objs);
88382 }
88383
88384 return attribs;
88385 }
88386
88387 function buildFragmentCall(path, file) {
88388 if (opts.filter && !opts.filter(path.node, file)) return;
88389 var openingPath = path.get("openingElement");
88390 openingPath.parent.children = react.buildChildren(openingPath.parent);
88391 var args = [];
88392 var tagName = null;
88393 var tagExpr = file.get("jsxFragIdentifier")();
88394 var state = {
88395 tagExpr: tagExpr,
88396 tagName: tagName,
88397 args: args,
88398 pure: false
88399 };
88400
88401 if (opts.pre) {
88402 opts.pre(state, file);
88403 }
88404
88405 args.push.apply(args, [nullLiteral()].concat(_toConsumableArray(path.node.children)));
88406
88407 if (opts.post) {
88408 opts.post(state, file);
88409 }
88410
88411 file.set("usedFragment", true);
88412 var call = state.call || callExpression(state.callee, args);
88413 if (state.pure) annotateAsPure(call);
88414 return call;
88415 }
88416 }
88417
88418 var transformReactInlineElements = declare(function (api) {
88419 api.assertVersion(7);
88420
88421 function hasRefOrSpread(attrs) {
88422 for (var i = 0; i < attrs.length; i++) {
88423 var attr = attrs[i];
88424 if (isJSXSpreadAttribute(attr)) return true;
88425 if (isJSXAttributeOfName(attr, "ref")) return true;
88426 }
88427
88428 return false;
88429 }
88430
88431 function isJSXAttributeOfName(attr, name) {
88432 return isJSXAttribute(attr) && isJSXIdentifier(attr.name, {
88433 name: name
88434 });
88435 }
88436
88437 var visitor = helper({
88438 filter: function filter(node) {
88439 return node.openingElement && !hasRefOrSpread(node.openingElement.attributes);
88440 },
88441 pre: function pre(state) {
88442 var tagName = state.tagName;
88443 var args = state.args;
88444
88445 if (react.isCompatTag(tagName)) {
88446 args.push(stringLiteral(tagName));
88447 } else {
88448 args.push(state.tagExpr);
88449 }
88450 },
88451 post: function post(state, pass) {
88452 state.callee = pass.addHelper("jsx");
88453 var props = state.args[1];
88454 var hasKey = false;
88455
88456 if (isObjectExpression(props)) {
88457 var keyIndex = props.properties.findIndex(function (prop) {
88458 return isIdentifier(prop.key, {
88459 name: "key"
88460 });
88461 });
88462
88463 if (keyIndex > -1) {
88464 state.args.splice(2, 0, props.properties[keyIndex].value);
88465 props.properties.splice(keyIndex, 1);
88466 hasKey = true;
88467 }
88468 } else if (isNullLiteral(props)) {
88469 state.args.splice(1, 1, objectExpression([]));
88470 }
88471
88472 if (!hasKey && state.args.length > 2) {
88473 state.args.splice(2, 0, unaryExpression("void", numericLiteral(0)));
88474 }
88475
88476 state.pure = true;
88477 }
88478 });
88479 return {
88480 name: "transform-react-inline-elements",
88481 visitor: visitor
88482 };
88483 });
88484
88485 var DEFAULT = {
88486 importSource: "react",
88487 runtime: "automatic",
88488 pragma: "React.createElement",
88489 pragmaFrag: "React.Fragment"
88490 };
88491 var JSX_SOURCE_ANNOTATION_REGEX = /\*?\s*@jsxImportSource\s+([^\s]+)/;
88492 var JSX_RUNTIME_ANNOTATION_REGEX = /\*?\s*@jsxRuntime\s+([^\s]+)/;
88493 var JSX_ANNOTATION_REGEX = /\*?\s*@jsx\s+([^\s]+)/;
88494 var JSX_FRAG_ANNOTATION_REGEX = /\*?\s*@jsxFrag\s+([^\s]+)/;
88495
88496 var get = function get(pass, name) {
88497 return pass.get("@babel/plugin-react-jsx/" + name);
88498 };
88499
88500 var set = function set(pass, name, v) {
88501 return pass.set("@babel/plugin-react-jsx/" + name, v);
88502 };
88503
88504 function createPlugin(_ref) {
88505 var name = _ref.name,
88506 development = _ref.development;
88507 return declare(function (api, options) {
88508 var PURE_ANNOTATION = options.pure,
88509 _options$throwIfNames = options.throwIfNamespace,
88510 throwIfNamespace = _options$throwIfNames === void 0 ? true : _options$throwIfNames,
88511 filter = options.filter,
88512 _options$runtime = options.runtime,
88513 RUNTIME_DEFAULT = _options$runtime === void 0 ? development ? "automatic" : "classic" : _options$runtime,
88514 _options$importSource = options.importSource,
88515 IMPORT_SOURCE_DEFAULT = _options$importSource === void 0 ? DEFAULT.importSource : _options$importSource,
88516 _options$pragma = options.pragma,
88517 PRAGMA_DEFAULT = _options$pragma === void 0 ? DEFAULT.pragma : _options$pragma,
88518 _options$pragmaFrag = options.pragmaFrag,
88519 PRAGMA_FRAG_DEFAULT = _options$pragmaFrag === void 0 ? DEFAULT.pragmaFrag : _options$pragmaFrag;
88520 {
88521 var _options$useSpread = options.useSpread,
88522 useSpread = _options$useSpread === void 0 ? false : _options$useSpread,
88523 _options$useBuiltIns = options.useBuiltIns,
88524 useBuiltIns = _options$useBuiltIns === void 0 ? false : _options$useBuiltIns;
88525
88526 if (RUNTIME_DEFAULT === "classic") {
88527 if (typeof useSpread !== "boolean") {
88528 throw new Error("transform-react-jsx currently only accepts a boolean option for " + "useSpread (defaults to false)");
88529 }
88530
88531 if (typeof useBuiltIns !== "boolean") {
88532 throw new Error("transform-react-jsx currently only accepts a boolean option for " + "useBuiltIns (defaults to false)");
88533 }
88534
88535 if (useSpread && useBuiltIns) {
88536 throw new Error("transform-react-jsx currently only accepts useBuiltIns or useSpread " + "but not both");
88537 }
88538 }
88539 }
88540 var injectMetaPropertiesVisitor = {
88541 JSXOpeningElement: function JSXOpeningElement(path, state) {
88542 for (var _iterator = _createForOfIteratorHelperLoose(path.get("attributes")), _step; !(_step = _iterator()).done;) {
88543 var attr = _step.value;
88544 if (!attr.isJSXElement()) continue;
88545 var _name = attr.node.name.name;
88546
88547 if (_name === "__source" || _name === "__self") {
88548 throw path.buildCodeFrameError("__source and __self should not be defined in props and are reserved for internal usage.");
88549 }
88550 }
88551
88552 var self = jsxAttribute(jsxIdentifier("__self"), jsxExpressionContainer(thisExpression()));
88553 var source = jsxAttribute(jsxIdentifier("__source"), jsxExpressionContainer(makeSource(path, state)));
88554 path.pushContainer("attributes", [self, source]);
88555 }
88556 };
88557 return {
88558 name: name,
88559 inherits: syntaxJsx,
88560 visitor: {
88561 JSXNamespacedName: function JSXNamespacedName(path) {
88562 if (throwIfNamespace) {
88563 throw path.buildCodeFrameError("Namespace tags are not supported by default. React's JSX doesn't support namespace tags. You can set `throwIfNamespace: false` to bypass this warning.");
88564 }
88565 },
88566 JSXSpreadChild: function JSXSpreadChild(path) {
88567 throw path.buildCodeFrameError("Spread children are not supported in React.");
88568 },
88569 Program: {
88570 enter: function enter(path, state) {
88571 var file = state.file;
88572 var runtime = RUNTIME_DEFAULT;
88573 var source = IMPORT_SOURCE_DEFAULT;
88574 var pragma = PRAGMA_DEFAULT;
88575 var pragmaFrag = PRAGMA_FRAG_DEFAULT;
88576 var sourceSet = !!options.importSource;
88577 var pragmaSet = !!options.pragma;
88578 var pragmaFragSet = !!options.pragmaFrag;
88579
88580 if (file.ast.comments) {
88581 for (var _iterator2 = _createForOfIteratorHelperLoose(file.ast.comments), _step2; !(_step2 = _iterator2()).done;) {
88582 var comment = _step2.value;
88583 var sourceMatches = JSX_SOURCE_ANNOTATION_REGEX.exec(comment.value);
88584
88585 if (sourceMatches) {
88586 source = sourceMatches[1];
88587 sourceSet = true;
88588 }
88589
88590 var runtimeMatches = JSX_RUNTIME_ANNOTATION_REGEX.exec(comment.value);
88591
88592 if (runtimeMatches) {
88593 runtime = runtimeMatches[1];
88594 }
88595
88596 var jsxMatches = JSX_ANNOTATION_REGEX.exec(comment.value);
88597
88598 if (jsxMatches) {
88599 pragma = jsxMatches[1];
88600 pragmaSet = true;
88601 }
88602
88603 var jsxFragMatches = JSX_FRAG_ANNOTATION_REGEX.exec(comment.value);
88604
88605 if (jsxFragMatches) {
88606 pragmaFrag = jsxFragMatches[1];
88607 pragmaFragSet = true;
88608 }
88609 }
88610 }
88611
88612 set(state, "runtime", runtime);
88613
88614 if (runtime === "classic") {
88615 if (sourceSet) {
88616 throw path.buildCodeFrameError("importSource cannot be set when runtime is classic.");
88617 }
88618
88619 var createElement = toMemberExpression(pragma);
88620 var fragment = toMemberExpression(pragmaFrag);
88621 set(state, "id/createElement", function () {
88622 return cloneNode(createElement);
88623 });
88624 set(state, "id/fragment", function () {
88625 return cloneNode(fragment);
88626 });
88627 set(state, "defaultPure", pragma === DEFAULT.pragma);
88628 } else if (runtime === "automatic") {
88629 if (pragmaSet || pragmaFragSet) {
88630 throw path.buildCodeFrameError("pragma and pragmaFrag cannot be set when runtime is automatic.");
88631 }
88632
88633 var define = function define(name, id) {
88634 return set(state, name, createImportLazily(state, path, id, source));
88635 };
88636
88637 define("id/jsx", development ? "jsxDEV" : "jsx");
88638 define("id/jsxs", development ? "jsxDEV" : "jsxs");
88639 define("id/createElement", "createElement");
88640 define("id/fragment", "Fragment");
88641 set(state, "defaultPure", source === DEFAULT.importSource);
88642 } else {
88643 throw path.buildCodeFrameError("Runtime must be either \"classic\" or \"automatic\".");
88644 }
88645
88646 if (development) {
88647 path.traverse(injectMetaPropertiesVisitor, state);
88648 }
88649 }
88650 },
88651 JSXElement: {
88652 exit: function exit(path, file) {
88653 var callExpr;
88654
88655 if (get(file, "runtime") === "classic" || shouldUseCreateElement(path)) {
88656 callExpr = buildCreateElementCall(path, file);
88657 } else {
88658 callExpr = buildJSXElementCall(path, file);
88659 }
88660
88661 path.replaceWith(inherits(callExpr, path.node));
88662 }
88663 },
88664 JSXFragment: {
88665 exit: function exit(path, file) {
88666 var callExpr;
88667
88668 if (get(file, "runtime") === "classic") {
88669 callExpr = buildCreateElementFragmentCall(path, file);
88670 } else {
88671 callExpr = buildJSXFragmentCall(path, file);
88672 }
88673
88674 path.replaceWith(inherits(callExpr, path.node));
88675 }
88676 },
88677 JSXAttribute: function JSXAttribute(path) {
88678 if (isJSXElement(path.node.value)) {
88679 path.node.value = jsxExpressionContainer(path.node.value);
88680 }
88681 }
88682 }
88683 };
88684
88685 function call(pass, name, args) {
88686 var node = callExpression(get(pass, "id/" + name)(), args);
88687 if (PURE_ANNOTATION != null ? PURE_ANNOTATION : get(pass, "defaultPure")) annotateAsPure(node);
88688 return node;
88689 }
88690
88691 function shouldUseCreateElement(path) {
88692 var openingPath = path.get("openingElement");
88693 var attributes = openingPath.node.attributes;
88694 var seenPropsSpread = false;
88695
88696 for (var i = 0; i < attributes.length; i++) {
88697 var attr = attributes[i];
88698
88699 if (seenPropsSpread && isJSXAttribute(attr) && attr.name.name === "key") {
88700 return true;
88701 } else if (isJSXSpreadAttribute(attr)) {
88702 seenPropsSpread = true;
88703 }
88704 }
88705
88706 return false;
88707 }
88708
88709 function convertJSXIdentifier(node, parent) {
88710 if (isJSXIdentifier(node)) {
88711 if (node.name === "this" && isReferenced(node, parent)) {
88712 return thisExpression();
88713 } else if (isValidIdentifier(node.name, false)) {
88714 node.type = "Identifier";
88715 } else {
88716 return stringLiteral(node.name);
88717 }
88718 } else if (isJSXMemberExpression(node)) {
88719 return memberExpression(convertJSXIdentifier(node.object, node), convertJSXIdentifier(node.property, node));
88720 } else if (isJSXNamespacedName(node)) {
88721 return stringLiteral(node.namespace.name + ":" + node.name.name);
88722 }
88723
88724 return node;
88725 }
88726
88727 function convertAttributeValue(node) {
88728 if (isJSXExpressionContainer(node)) {
88729 return node.expression;
88730 } else {
88731 return node;
88732 }
88733 }
88734
88735 function accumulateAttribute(array, attribute) {
88736 if (isJSXSpreadAttribute(attribute.node)) {
88737 var arg = attribute.node.argument;
88738
88739 if (isObjectExpression(arg)) {
88740 array.push.apply(array, _toConsumableArray(arg.properties));
88741 } else {
88742 array.push(spreadElement(arg));
88743 }
88744
88745 return array;
88746 }
88747
88748 var value = convertAttributeValue(attribute.node.name.name !== "key" ? attribute.node.value || booleanLiteral(true) : attribute.node.value);
88749
88750 if (attribute.node.name.name === "key" && value === null) {
88751 throw attribute.buildCodeFrameError('Please provide an explicit key value. Using "key" as a shorthand for "key={true}" is not allowed.');
88752 }
88753
88754 if (isStringLiteral(value) && !isJSXExpressionContainer(attribute.node.value)) {
88755 var _value$extra;
88756
88757 value.value = value.value.replace(/\n\s+/g, " ");
88758 (_value$extra = value.extra) == null ? true : delete _value$extra.raw;
88759 }
88760
88761 if (isJSXNamespacedName(attribute.node.name)) {
88762 attribute.node.name = stringLiteral(attribute.node.name.namespace.name + ":" + attribute.node.name.name.name);
88763 } else if (isValidIdentifier(attribute.node.name.name, false)) {
88764 attribute.node.name.type = "Identifier";
88765 } else {
88766 attribute.node.name = stringLiteral(attribute.node.name.name);
88767 }
88768
88769 array.push(inherits(objectProperty(attribute.node.name, value), attribute.node));
88770 return array;
88771 }
88772
88773 function buildChildrenProperty(children) {
88774 var childrenNode;
88775
88776 if (children.length === 1) {
88777 childrenNode = children[0];
88778 } else if (children.length > 1) {
88779 childrenNode = arrayExpression(children);
88780 } else {
88781 return undefined;
88782 }
88783
88784 return objectProperty(identifier("children"), childrenNode);
88785 }
88786
88787 function buildJSXElementCall(path, file) {
88788 var openingPath = path.get("openingElement");
88789 var args = [getTag(openingPath)];
88790 var attribsArray = [];
88791 var extracted = Object.create(null);
88792
88793 for (var _iterator3 = _createForOfIteratorHelperLoose(openingPath.get("attributes")), _step3; !(_step3 = _iterator3()).done;) {
88794 var attr = _step3.value;
88795
88796 if (attr.isJSXAttribute() && isJSXIdentifier(attr.node.name)) {
88797 var _name2 = attr.node.name.name;
88798
88799 switch (_name2) {
88800 case "__source":
88801 case "__self":
88802 if (extracted[_name2]) throw sourceSelfError(path, _name2);
88803
88804 case "key":
88805 {
88806 var keyValue = convertAttributeValue(attr.node.value);
88807
88808 if (keyValue === null) {
88809 throw attr.buildCodeFrameError('Please provide an explicit key value. Using "key" as a shorthand for "key={true}" is not allowed.');
88810 }
88811
88812 extracted[_name2] = keyValue;
88813 break;
88814 }
88815
88816 default:
88817 attribsArray.push(attr);
88818 }
88819 } else {
88820 attribsArray.push(attr);
88821 }
88822 }
88823
88824 var children = react.buildChildren(path.node);
88825 var attribs;
88826
88827 if (attribsArray.length || children.length) {
88828 attribs = buildJSXOpeningElementAttributes(attribsArray, file, children);
88829 } else {
88830 attribs = objectExpression([]);
88831 }
88832
88833 args.push(attribs);
88834
88835 if (development) {
88836 var _extracted$key, _extracted$__source, _extracted$__self;
88837
88838 args.push((_extracted$key = extracted.key) != null ? _extracted$key : path.scope.buildUndefinedNode(), booleanLiteral(children.length > 1), (_extracted$__source = extracted.__source) != null ? _extracted$__source : path.scope.buildUndefinedNode(), (_extracted$__self = extracted.__self) != null ? _extracted$__self : thisExpression());
88839 } else if (extracted.key !== undefined) {
88840 args.push(extracted.key);
88841 }
88842
88843 return call(file, children.length > 1 ? "jsxs" : "jsx", args);
88844 }
88845
88846 function buildJSXOpeningElementAttributes(attribs, file, children) {
88847 var props = attribs.reduce(accumulateAttribute, []);
88848
88849 if ((children == null ? void 0 : children.length) > 0) {
88850 props.push(buildChildrenProperty(children));
88851 }
88852
88853 return objectExpression(props);
88854 }
88855
88856 function buildJSXFragmentCall(path, file) {
88857 var args = [get(file, "id/fragment")()];
88858 var children = react.buildChildren(path.node);
88859 args.push(objectExpression(children.length > 0 ? [buildChildrenProperty(children)] : []));
88860
88861 if (development) {
88862 args.push(path.scope.buildUndefinedNode(), booleanLiteral(children.length > 1));
88863 }
88864
88865 return call(file, children.length > 1 ? "jsxs" : "jsx", args);
88866 }
88867
88868 function buildCreateElementFragmentCall(path, file) {
88869 if (filter && !filter(path.node, file)) return;
88870 return call(file, "createElement", [get(file, "id/fragment")(), nullLiteral()].concat(_toConsumableArray(react.buildChildren(path.node))));
88871 }
88872
88873 function buildCreateElementCall(path, file) {
88874 var openingPath = path.get("openingElement");
88875 return call(file, "createElement", [getTag(openingPath), buildCreateElementOpeningElementAttributes(file, path, openingPath.get("attributes"))].concat(_toConsumableArray(react.buildChildren(path.node))));
88876 }
88877
88878 function getTag(openingPath) {
88879 var tagExpr = convertJSXIdentifier(openingPath.node.name, openingPath.node);
88880 var tagName;
88881
88882 if (isIdentifier(tagExpr)) {
88883 tagName = tagExpr.name;
88884 } else if (isLiteral(tagExpr)) {
88885 tagName = tagExpr.value;
88886 }
88887
88888 if (react.isCompatTag(tagName)) {
88889 return stringLiteral(tagName);
88890 } else {
88891 return tagExpr;
88892 }
88893 }
88894
88895 function buildCreateElementOpeningElementAttributes(file, path, attribs) {
88896 var runtime = get(file, "runtime");
88897 {
88898 if (runtime !== "automatic") {
88899 var objs = [];
88900
88901 var _props = attribs.reduce(accumulateAttribute, []);
88902
88903 if (!useSpread) {
88904 var start = 0;
88905
88906 _props.forEach(function (prop, i) {
88907 if (isSpreadElement(prop)) {
88908 if (i > start) {
88909 objs.push(objectExpression(_props.slice(start, i)));
88910 }
88911
88912 objs.push(prop.argument);
88913 start = i + 1;
88914 }
88915 });
88916
88917 if (_props.length > start) {
88918 objs.push(objectExpression(_props.slice(start)));
88919 }
88920 } else if (_props.length) {
88921 objs.push(objectExpression(_props));
88922 }
88923
88924 if (!objs.length) {
88925 return nullLiteral();
88926 }
88927
88928 if (objs.length === 1) {
88929 return objs[0];
88930 }
88931
88932 if (!isObjectExpression(objs[0])) {
88933 objs.unshift(objectExpression([]));
88934 }
88935
88936 var helper = useBuiltIns ? memberExpression(identifier("Object"), identifier("assign")) : file.addHelper("extends");
88937 return callExpression(helper, objs);
88938 }
88939 }
88940 var props = [];
88941 var found = Object.create(null);
88942
88943 for (var _iterator4 = _createForOfIteratorHelperLoose(attribs), _step4; !(_step4 = _iterator4()).done;) {
88944 var attr = _step4.value;
88945
88946 var _name3 = isJSXAttribute(attr) && isJSXIdentifier(attr.name) && attr.name.name;
88947
88948 if (runtime === "automatic" && (_name3 === "__source" || _name3 === "__self")) {
88949 if (found[_name3]) throw sourceSelfError(path, _name3);
88950 found[_name3] = true;
88951 }
88952
88953 accumulateAttribute(props, attr);
88954 }
88955
88956 return props.length === 1 && isSpreadElement(props[0]) ? props[0].argument : props.length > 0 ? objectExpression(props) : nullLiteral();
88957 }
88958 });
88959
88960 function getSource(source, importName) {
88961 switch (importName) {
88962 case "Fragment":
88963 return source + "/" + (development ? "jsx-dev-runtime" : "jsx-runtime");
88964
88965 case "jsxDEV":
88966 return source + "/jsx-dev-runtime";
88967
88968 case "jsx":
88969 case "jsxs":
88970 return source + "/jsx-runtime";
88971
88972 case "createElement":
88973 return source;
88974 }
88975 }
88976
88977 function createImportLazily(pass, path, importName, source) {
88978 return function () {
88979 var actualSource = getSource(source, importName);
88980
88981 if (isModule(path)) {
88982 var reference = get(pass, "imports/" + importName);
88983 if (reference) return cloneNode(reference);
88984 reference = addNamed(path, importName, actualSource, {
88985 importedInterop: "uncompiled",
88986 importPosition: "after"
88987 });
88988 set(pass, "imports/" + importName, reference);
88989 return reference;
88990 } else {
88991 var _reference = get(pass, "requires/" + actualSource);
88992
88993 if (_reference) {
88994 _reference = cloneNode(_reference);
88995 } else {
88996 _reference = addNamespace(path, actualSource, {
88997 importedInterop: "uncompiled"
88998 });
88999 set(pass, "requires/" + actualSource, _reference);
89000 }
89001
89002 return memberExpression(_reference, identifier(importName));
89003 }
89004 };
89005 }
89006 }
89007
89008 function toMemberExpression(id) {
89009 return id.split(".").map(function (name) {
89010 return identifier(name);
89011 }).reduce(function (object, property) {
89012 return memberExpression(object, property);
89013 });
89014 }
89015
89016 function makeSource(path, state) {
89017 var location = path.node.loc;
89018
89019 if (!location) {
89020 return path.scope.buildUndefinedNode();
89021 }
89022
89023 if (!state.fileNameIdentifier) {
89024 var _state$filename = state.filename,
89025 filename = _state$filename === void 0 ? "" : _state$filename;
89026 var fileNameIdentifier = path.scope.generateUidIdentifier("_jsxFileName");
89027 var scope = path.hub.getScope();
89028
89029 if (scope) {
89030 scope.push({
89031 id: fileNameIdentifier,
89032 init: stringLiteral(filename)
89033 });
89034 }
89035
89036 state.fileNameIdentifier = fileNameIdentifier;
89037 }
89038
89039 return makeTrace(cloneNode(state.fileNameIdentifier), location.start.line, location.start.column);
89040 }
89041
89042 function makeTrace(fileNameIdentifier, lineNumber, column0Based) {
89043 var fileLineLiteral = lineNumber != null ? numericLiteral(lineNumber) : nullLiteral();
89044 var fileColumnLiteral = column0Based != null ? numericLiteral(column0Based + 1) : nullLiteral();
89045 var fileNameProperty = objectProperty(identifier("fileName"), fileNameIdentifier);
89046 var lineNumberProperty = objectProperty(identifier("lineNumber"), fileLineLiteral);
89047 var columnNumberProperty = objectProperty(identifier("columnNumber"), fileColumnLiteral);
89048 return objectExpression([fileNameProperty, lineNumberProperty, columnNumberProperty]);
89049 }
89050
89051 function sourceSelfError(path, name) {
89052 var pluginName = "transform-react-jsx-" + name.slice(2);
89053 return path.buildCodeFrameError("Duplicate " + name + " prop found. You are most likely using the deprecated " + pluginName + " Babel plugin. Both __source and __self are automatically set when using the automatic runtime. Please remove transform-react-jsx-source and transform-react-jsx-self from your Babel config.");
89054 }
89055
89056 var transformReactJSX = createPlugin({
89057 name: "transform-react-jsx",
89058 development: false
89059 });
89060
89061 var transformReactJsxCompat = declare(function (api) {
89062 api.assertVersion(7);
89063 return {
89064 name: "transform-react-jsx-compat",
89065 manipulateOptions: function manipulateOptions(opts, parserOpts) {
89066 parserOpts.plugins.push("jsx");
89067 },
89068 visitor: helper({
89069 pre: function pre(state) {
89070 state.callee = state.tagExpr;
89071 },
89072 post: function post(state) {
89073 if (react.isCompatTag(state.tagName)) {
89074 state.call = callExpression(memberExpression(memberExpression(identifier("React"), identifier("DOM")), state.tagExpr, isLiteral(state.tagExpr)), state.args);
89075 }
89076 },
89077 compat: true
89078 })
89079 };
89080 });
89081
89082 var transformReactJSXDevelopment = createPlugin({
89083 name: "transform-react-jsx/development",
89084 development: true
89085 });
89086
89087 var TRACE_ID$1 = "__self";
89088 var transformReactJsxSelf = declare(function (api) {
89089 api.assertVersion(7);
89090 var visitor = {
89091 JSXOpeningElement: function JSXOpeningElement(_ref) {
89092 var node = _ref.node;
89093 var id = jsxIdentifier(TRACE_ID$1);
89094 var trace = thisExpression();
89095 node.attributes.push(jsxAttribute(id, jsxExpressionContainer(trace)));
89096 }
89097 };
89098 return {
89099 name: "transform-react-jsx-self",
89100 visitor: {
89101 Program: function Program(path) {
89102 path.traverse(visitor);
89103 }
89104 }
89105 };
89106 });
89107
89108 var TRACE_ID = "__source";
89109 var FILE_NAME_VAR = "_jsxFileName";
89110 var transformReactJsxSource = declare(function (api) {
89111 api.assertVersion(7);
89112
89113 function makeTrace(fileNameIdentifier, lineNumber, column0Based) {
89114 var fileLineLiteral = lineNumber != null ? numericLiteral(lineNumber) : nullLiteral();
89115 var fileColumnLiteral = column0Based != null ? numericLiteral(column0Based + 1) : nullLiteral();
89116 var fileNameProperty = objectProperty(identifier("fileName"), fileNameIdentifier);
89117 var lineNumberProperty = objectProperty(identifier("lineNumber"), fileLineLiteral);
89118 var columnNumberProperty = objectProperty(identifier("columnNumber"), fileColumnLiteral);
89119 return objectExpression([fileNameProperty, lineNumberProperty, columnNumberProperty]);
89120 }
89121
89122 var visitor = {
89123 JSXOpeningElement: function JSXOpeningElement(path, state) {
89124 var id = jsxIdentifier(TRACE_ID);
89125 var location = path.container.openingElement.loc;
89126
89127 if (!location) {
89128 return;
89129 }
89130
89131 var attributes = path.container.openingElement.attributes;
89132
89133 for (var i = 0; i < attributes.length; i++) {
89134 var name = attributes[i].name;
89135
89136 if ((name == null ? void 0 : name.name) === TRACE_ID) {
89137 return;
89138 }
89139 }
89140
89141 if (!state.fileNameIdentifier) {
89142 var fileName = state.filename || "";
89143 var fileNameIdentifier = path.scope.generateUidIdentifier(FILE_NAME_VAR);
89144 var scope = path.hub.getScope();
89145
89146 if (scope) {
89147 scope.push({
89148 id: fileNameIdentifier,
89149 init: stringLiteral(fileName)
89150 });
89151 }
89152
89153 state.fileNameIdentifier = fileNameIdentifier;
89154 }
89155
89156 var trace = makeTrace(cloneNode(state.fileNameIdentifier), location.start.line, location.start.column);
89157 attributes.push(jsxAttribute(id, jsxExpressionContainer(trace)));
89158 }
89159 };
89160 return {
89161 name: "transform-react-jsx-source",
89162 visitor: visitor
89163 };
89164 });
89165
89166 var _typeof_1 = createCommonjsModule(function (module) {
89167 function _typeof(obj) {
89168 "@babel/helpers - typeof";
89169
89170 if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
89171 module.exports = _typeof = function _typeof(obj) {
89172 return typeof obj;
89173 };
89174
89175 module.exports["default"] = module.exports, module.exports.__esModule = true;
89176 } else {
89177 module.exports = _typeof = function _typeof(obj) {
89178 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
89179 };
89180
89181 module.exports["default"] = module.exports, module.exports.__esModule = true;
89182 }
89183
89184 return _typeof(obj);
89185 }
89186
89187 module.exports = _typeof;
89188 module.exports["default"] = module.exports, module.exports.__esModule = true;
89189 }, "/$$rollup_base$$/node_modules/@babel/runtime/helpers");
89190
89191 var interopRequireWildcard = createCommonjsModule(function (module) {
89192 var _typeof = _typeof_1["default"];
89193
89194 function _getRequireWildcardCache(nodeInterop) {
89195 if (typeof WeakMap !== "function") return null;
89196 var cacheBabelInterop = new WeakMap();
89197 var cacheNodeInterop = new WeakMap();
89198 return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
89199 return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
89200 })(nodeInterop);
89201 }
89202
89203 function _interopRequireWildcard(obj, nodeInterop) {
89204 if (!nodeInterop && obj && obj.__esModule) {
89205 return obj;
89206 }
89207
89208 if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") {
89209 return {
89210 "default": obj
89211 };
89212 }
89213
89214 var cache = _getRequireWildcardCache(nodeInterop);
89215
89216 if (cache && cache.has(obj)) {
89217 return cache.get(obj);
89218 }
89219
89220 var newObj = {};
89221 var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
89222
89223 for (var key in obj) {
89224 if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
89225 var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
89226
89227 if (desc && (desc.get || desc.set)) {
89228 Object.defineProperty(newObj, key, desc);
89229 } else {
89230 newObj[key] = obj[key];
89231 }
89232 }
89233 }
89234
89235 newObj["default"] = obj;
89236
89237 if (cache) {
89238 cache.set(obj, newObj);
89239 }
89240
89241 return newObj;
89242 }
89243
89244 module.exports = _interopRequireWildcard;
89245 module.exports["default"] = module.exports, module.exports.__esModule = true;
89246 }, "/$$rollup_base$$/node_modules/@babel/runtime/helpers");
89247
89248 var interopRequireDefault = createCommonjsModule(function (module) {
89249 function _interopRequireDefault(obj) {
89250 return obj && obj.__esModule ? obj : {
89251 "default": obj
89252 };
89253 }
89254
89255 module.exports = _interopRequireDefault;
89256 module.exports["default"] = module.exports, module.exports.__esModule = true;
89257 }, "/$$rollup_base$$/node_modules/@babel/runtime/helpers");
89258
89259 var wrapWithTypes_1 = wrapWithTypes;
89260 var getTypes_1 = getTypes;
89261 var runtimeProperty_1 = runtimeProperty;
89262 var isReference_1 = isReference;
89263 var replaceWithOrRemove_1 = replaceWithOrRemove;
89264 var currentTypes = null;
89265
89266 function wrapWithTypes(types, fn) {
89267 return function () {
89268 var oldTypes = currentTypes;
89269 currentTypes = types;
89270
89271 try {
89272 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
89273 args[_key] = arguments[_key];
89274 }
89275
89276 return fn.apply(this, args);
89277 } finally {
89278 currentTypes = oldTypes;
89279 }
89280 };
89281 }
89282
89283 function getTypes() {
89284 return currentTypes;
89285 }
89286
89287 function runtimeProperty(name) {
89288 var t = getTypes();
89289 return t.memberExpression(t.identifier("regeneratorRuntime"), t.identifier(name), false);
89290 }
89291
89292 function isReference(path) {
89293 return path.isReferenced() || path.parentPath.isAssignmentExpression({
89294 left: path.node
89295 });
89296 }
89297
89298 function replaceWithOrRemove(path, replacement) {
89299 if (replacement) {
89300 path.replaceWith(replacement);
89301 } else {
89302 path.remove();
89303 }
89304 }
89305
89306 var util$3 = Object.defineProperty({
89307 wrapWithTypes: wrapWithTypes_1,
89308 getTypes: getTypes_1,
89309 runtimeProperty: runtimeProperty_1,
89310 isReference: isReference_1,
89311 replaceWithOrRemove: replaceWithOrRemove_1
89312 }, '__esModule', {
89313 value: true
89314 });
89315
89316 var util$2 = interopRequireWildcard(util$3);
89317
89318 var hasOwn$3 = Object.prototype.hasOwnProperty;
89319
89320 var hoist_1 = function hoist_1(funPath) {
89321 var t = util$2.getTypes();
89322 t.assertFunction(funPath.node);
89323 var vars = {};
89324
89325 function varDeclToExpr(_ref, includeIdentifiers) {
89326 var vdec = _ref.node,
89327 scope = _ref.scope;
89328 t.assertVariableDeclaration(vdec);
89329 var exprs = [];
89330 vdec.declarations.forEach(function (dec) {
89331 vars[dec.id.name] = t.identifier(dec.id.name);
89332 scope.removeBinding(dec.id.name);
89333
89334 if (dec.init) {
89335 exprs.push(t.assignmentExpression("=", dec.id, dec.init));
89336 } else if (includeIdentifiers) {
89337 exprs.push(dec.id);
89338 }
89339 });
89340 if (exprs.length === 0) return null;
89341 if (exprs.length === 1) return exprs[0];
89342 return t.sequenceExpression(exprs);
89343 }
89344
89345 funPath.get("body").traverse({
89346 VariableDeclaration: {
89347 exit: function exit(path) {
89348 var expr = varDeclToExpr(path, false);
89349
89350 if (expr === null) {
89351 path.remove();
89352 } else {
89353 util$2.replaceWithOrRemove(path, t.expressionStatement(expr));
89354 }
89355
89356 path.skip();
89357 }
89358 },
89359 ForStatement: function ForStatement(path) {
89360 var init = path.get("init");
89361
89362 if (init.isVariableDeclaration()) {
89363 util$2.replaceWithOrRemove(init, varDeclToExpr(init, false));
89364 }
89365 },
89366 ForXStatement: function ForXStatement(path) {
89367 var left = path.get("left");
89368
89369 if (left.isVariableDeclaration()) {
89370 util$2.replaceWithOrRemove(left, varDeclToExpr(left, true));
89371 }
89372 },
89373 FunctionDeclaration: function FunctionDeclaration(path) {
89374 var node = path.node;
89375 vars[node.id.name] = node.id;
89376 var assignment = t.expressionStatement(t.assignmentExpression("=", t.clone(node.id), t.functionExpression(path.scope.generateUidIdentifierBasedOnNode(node), node.params, node.body, node.generator, node.expression)));
89377
89378 if (path.parentPath.isBlockStatement()) {
89379 path.parentPath.unshiftContainer("body", assignment);
89380 path.remove();
89381 } else {
89382 util$2.replaceWithOrRemove(path, assignment);
89383 }
89384
89385 path.scope.removeBinding(node.id.name);
89386 path.skip();
89387 },
89388 FunctionExpression: function FunctionExpression(path) {
89389 path.skip();
89390 },
89391 ArrowFunctionExpression: function ArrowFunctionExpression(path) {
89392 path.skip();
89393 }
89394 });
89395 var paramNames = {};
89396 funPath.get("params").forEach(function (paramPath) {
89397 var param = paramPath.node;
89398
89399 if (t.isIdentifier(param)) {
89400 paramNames[param.name] = param;
89401 }
89402 });
89403 var declarations = [];
89404 Object.keys(vars).forEach(function (name) {
89405 if (!hasOwn$3.call(paramNames, name)) {
89406 declarations.push(t.variableDeclarator(vars[name], null));
89407 }
89408 });
89409
89410 if (declarations.length === 0) {
89411 return null;
89412 }
89413
89414 return t.variableDeclaration("var", declarations);
89415 };
89416
89417 var hoist$2 = {
89418 hoist: hoist_1
89419 };
89420
89421 var _assert$3 = interopRequireDefault(assert_1);
89422
89423 function Entry$1() {
89424 _assert$3["default"].ok(this instanceof Entry$1);
89425 }
89426
89427 function FunctionEntry(returnLoc) {
89428 Entry$1.call(this);
89429 (0, util$3.getTypes)().assertLiteral(returnLoc);
89430 this.returnLoc = returnLoc;
89431 }
89432
89433 (0, util$5.inherits)(FunctionEntry, Entry$1);
89434 var FunctionEntry_1 = FunctionEntry;
89435
89436 function LoopEntry(breakLoc, continueLoc, label) {
89437 Entry$1.call(this);
89438 var t = (0, util$3.getTypes)();
89439 t.assertLiteral(breakLoc);
89440 t.assertLiteral(continueLoc);
89441
89442 if (label) {
89443 t.assertIdentifier(label);
89444 } else {
89445 label = null;
89446 }
89447
89448 this.breakLoc = breakLoc;
89449 this.continueLoc = continueLoc;
89450 this.label = label;
89451 }
89452
89453 (0, util$5.inherits)(LoopEntry, Entry$1);
89454 var LoopEntry_1 = LoopEntry;
89455
89456 function SwitchEntry(breakLoc) {
89457 Entry$1.call(this);
89458 (0, util$3.getTypes)().assertLiteral(breakLoc);
89459 this.breakLoc = breakLoc;
89460 }
89461
89462 (0, util$5.inherits)(SwitchEntry, Entry$1);
89463 var SwitchEntry_1 = SwitchEntry;
89464
89465 function TryEntry(firstLoc, catchEntry, finallyEntry) {
89466 Entry$1.call(this);
89467 var t = (0, util$3.getTypes)();
89468 t.assertLiteral(firstLoc);
89469
89470 if (catchEntry) {
89471 _assert$3["default"].ok(catchEntry instanceof CatchEntry);
89472 } else {
89473 catchEntry = null;
89474 }
89475
89476 if (finallyEntry) {
89477 _assert$3["default"].ok(finallyEntry instanceof FinallyEntry);
89478 } else {
89479 finallyEntry = null;
89480 }
89481
89482 _assert$3["default"].ok(catchEntry || finallyEntry);
89483
89484 this.firstLoc = firstLoc;
89485 this.catchEntry = catchEntry;
89486 this.finallyEntry = finallyEntry;
89487 }
89488
89489 (0, util$5.inherits)(TryEntry, Entry$1);
89490 var TryEntry_1 = TryEntry;
89491
89492 function CatchEntry(firstLoc, paramId) {
89493 Entry$1.call(this);
89494 var t = (0, util$3.getTypes)();
89495 t.assertLiteral(firstLoc);
89496 t.assertIdentifier(paramId);
89497 this.firstLoc = firstLoc;
89498 this.paramId = paramId;
89499 }
89500
89501 (0, util$5.inherits)(CatchEntry, Entry$1);
89502 var CatchEntry_1 = CatchEntry;
89503
89504 function FinallyEntry(firstLoc, afterLoc) {
89505 Entry$1.call(this);
89506 var t = (0, util$3.getTypes)();
89507 t.assertLiteral(firstLoc);
89508 t.assertLiteral(afterLoc);
89509 this.firstLoc = firstLoc;
89510 this.afterLoc = afterLoc;
89511 }
89512
89513 (0, util$5.inherits)(FinallyEntry, Entry$1);
89514 var FinallyEntry_1 = FinallyEntry;
89515
89516 function LabeledEntry(breakLoc, label) {
89517 Entry$1.call(this);
89518 var t = (0, util$3.getTypes)();
89519 t.assertLiteral(breakLoc);
89520 t.assertIdentifier(label);
89521 this.breakLoc = breakLoc;
89522 this.label = label;
89523 }
89524
89525 (0, util$5.inherits)(LabeledEntry, Entry$1);
89526 var LabeledEntry_1 = LabeledEntry;
89527
89528 function LeapManager(emitter) {
89529 _assert$3["default"].ok(this instanceof LeapManager);
89530
89531 _assert$3["default"].ok(emitter instanceof emit.Emitter);
89532
89533 this.emitter = emitter;
89534 this.entryStack = [new FunctionEntry(emitter.finalLoc)];
89535 }
89536
89537 var LMp = LeapManager.prototype;
89538 var LeapManager_1 = LeapManager;
89539
89540 LMp.withEntry = function (entry, callback) {
89541 _assert$3["default"].ok(entry instanceof Entry$1);
89542
89543 this.entryStack.push(entry);
89544
89545 try {
89546 callback.call(this.emitter);
89547 } finally {
89548 var popped = this.entryStack.pop();
89549
89550 _assert$3["default"].strictEqual(popped, entry);
89551 }
89552 };
89553
89554 LMp._findLeapLocation = function (property, label) {
89555 for (var i = this.entryStack.length - 1; i >= 0; --i) {
89556 var entry = this.entryStack[i];
89557 var loc = entry[property];
89558
89559 if (loc) {
89560 if (label) {
89561 if (entry.label && entry.label.name === label.name) {
89562 return loc;
89563 }
89564 } else if (entry instanceof LabeledEntry) ; else {
89565 return loc;
89566 }
89567 }
89568 }
89569
89570 return null;
89571 };
89572
89573 LMp.getBreakLoc = function (label) {
89574 return this._findLeapLocation("breakLoc", label);
89575 };
89576
89577 LMp.getContinueLoc = function (label) {
89578 return this._findLeapLocation("continueLoc", label);
89579 };
89580
89581 var leap$1 = {
89582 FunctionEntry: FunctionEntry_1,
89583 LoopEntry: LoopEntry_1,
89584 SwitchEntry: SwitchEntry_1,
89585 TryEntry: TryEntry_1,
89586 CatchEntry: CatchEntry_1,
89587 FinallyEntry: FinallyEntry_1,
89588 LabeledEntry: LabeledEntry_1,
89589 LeapManager: LeapManager_1
89590 };
89591
89592 var originalObject = Object;
89593 var originalDefProp = Object.defineProperty;
89594 var originalCreate = Object.create;
89595
89596 function defProp(obj, name, value) {
89597 if (originalDefProp) try {
89598 originalDefProp.call(originalObject, obj, name, {
89599 value: value
89600 });
89601 } catch (definePropertyIsBrokenInIE8) {
89602 obj[name] = value;
89603 } else {
89604 obj[name] = value;
89605 }
89606 }
89607
89608 function makeSafeToCall(fun) {
89609 if (fun) {
89610 defProp(fun, "call", fun.call);
89611 defProp(fun, "apply", fun.apply);
89612 }
89613
89614 return fun;
89615 }
89616
89617 makeSafeToCall(originalDefProp);
89618 makeSafeToCall(originalCreate);
89619 var hasOwn$2 = makeSafeToCall(Object.prototype.hasOwnProperty);
89620 var numToStr = makeSafeToCall(Number.prototype.toString);
89621 var strSlice = makeSafeToCall(String.prototype.slice);
89622
89623 var cloner = function cloner() {};
89624
89625 function create(prototype) {
89626 if (originalCreate) {
89627 return originalCreate.call(originalObject, prototype);
89628 }
89629
89630 cloner.prototype = prototype || null;
89631 return new cloner();
89632 }
89633
89634 var rand = Math.random;
89635 var uniqueKeys = create(null);
89636
89637 function makeUniqueKey() {
89638 do {
89639 var uniqueKey = internString(strSlice.call(numToStr.call(rand(), 36), 2));
89640 } while (hasOwn$2.call(uniqueKeys, uniqueKey));
89641
89642 return uniqueKeys[uniqueKey] = uniqueKey;
89643 }
89644
89645 function internString(str) {
89646 var obj = {};
89647 obj[str] = true;
89648 return Object.keys(obj)[0];
89649 }
89650
89651 var makeUniqueKey_1 = makeUniqueKey;
89652 var originalGetOPNs = Object.getOwnPropertyNames;
89653
89654 Object.getOwnPropertyNames = function getOwnPropertyNames(object) {
89655 for (var names = originalGetOPNs(object), src = 0, dst = 0, len = names.length; src < len; ++src) {
89656 if (!hasOwn$2.call(uniqueKeys, names[src])) {
89657 if (src > dst) {
89658 names[dst] = names[src];
89659 }
89660
89661 ++dst;
89662 }
89663 }
89664
89665 names.length = dst;
89666 return names;
89667 };
89668
89669 function defaultCreatorFn(object) {
89670 return create(null);
89671 }
89672
89673 function makeAccessor(secretCreatorFn) {
89674 var brand = makeUniqueKey();
89675 var passkey = create(null);
89676 secretCreatorFn = secretCreatorFn || defaultCreatorFn;
89677
89678 function register(object) {
89679 var secret;
89680
89681 function vault(key, forget) {
89682 if (key === passkey) {
89683 return forget ? secret = null : secret || (secret = secretCreatorFn(object));
89684 }
89685 }
89686
89687 defProp(object, brand, vault);
89688 }
89689
89690 function accessor(object) {
89691 if (!hasOwn$2.call(object, brand)) register(object);
89692 return object[brand](passkey);
89693 }
89694
89695 accessor.forget = function (object) {
89696 if (hasOwn$2.call(object, brand)) object[brand](passkey, true);
89697 };
89698
89699 return accessor;
89700 }
89701
89702 var makeAccessor_1 = makeAccessor;
89703 var _private = {
89704 makeUniqueKey: makeUniqueKey_1,
89705 makeAccessor: makeAccessor_1
89706 };
89707
89708 var _assert$2 = interopRequireDefault(assert_1);
89709
89710 var m = (0, _private.makeAccessor)();
89711 var hasOwn$1 = Object.prototype.hasOwnProperty;
89712
89713 function makePredicate(propertyName, knownTypes) {
89714 function onlyChildren(node) {
89715 var t = (0, util$3.getTypes)();
89716 t.assertNode(node);
89717 var result = false;
89718
89719 function check(child) {
89720 if (result) ; else if (Array.isArray(child)) {
89721 child.some(check);
89722 } else if (t.isNode(child)) {
89723 _assert$2["default"].strictEqual(result, false);
89724
89725 result = predicate(child);
89726 }
89727
89728 return result;
89729 }
89730
89731 var keys = t.VISITOR_KEYS[node.type];
89732
89733 if (keys) {
89734 for (var i = 0; i < keys.length; i++) {
89735 var key = keys[i];
89736 var child = node[key];
89737 check(child);
89738 }
89739 }
89740
89741 return result;
89742 }
89743
89744 function predicate(node) {
89745 (0, util$3.getTypes)().assertNode(node);
89746 var meta = m(node);
89747 if (hasOwn$1.call(meta, propertyName)) return meta[propertyName];
89748 if (hasOwn$1.call(opaqueTypes, node.type)) return meta[propertyName] = false;
89749 if (hasOwn$1.call(knownTypes, node.type)) return meta[propertyName] = true;
89750 return meta[propertyName] = onlyChildren(node);
89751 }
89752
89753 predicate.onlyChildren = onlyChildren;
89754 return predicate;
89755 }
89756
89757 var opaqueTypes = {
89758 FunctionExpression: true,
89759 ArrowFunctionExpression: true
89760 };
89761 var sideEffectTypes = {
89762 CallExpression: true,
89763 ForInStatement: true,
89764 UnaryExpression: true,
89765 BinaryExpression: true,
89766 AssignmentExpression: true,
89767 UpdateExpression: true,
89768 NewExpression: true
89769 };
89770 var leapTypes = {
89771 YieldExpression: true,
89772 BreakStatement: true,
89773 ContinueStatement: true,
89774 ReturnStatement: true,
89775 ThrowStatement: true
89776 };
89777
89778 for (var type in leapTypes) {
89779 if (hasOwn$1.call(leapTypes, type)) {
89780 sideEffectTypes[type] = leapTypes[type];
89781 }
89782 }
89783
89784 var hasSideEffects = makePredicate("hasSideEffects", sideEffectTypes);
89785 var containsLeap = makePredicate("containsLeap", leapTypes);
89786 var meta$1 = {
89787 hasSideEffects: hasSideEffects,
89788 containsLeap: containsLeap
89789 };
89790
89791 var _assert$1 = interopRequireDefault(assert_1);
89792
89793 var leap = interopRequireWildcard(leap$1);
89794
89795 var meta = interopRequireWildcard(meta$1);
89796
89797 var util$1 = interopRequireWildcard(util$3);
89798
89799 var hasOwn = Object.prototype.hasOwnProperty;
89800
89801 function Emitter(contextId) {
89802 _assert$1["default"].ok(this instanceof Emitter);
89803
89804 util$1.getTypes().assertIdentifier(contextId);
89805 this.nextTempId = 0;
89806 this.contextId = contextId;
89807 this.listing = [];
89808 this.marked = [true];
89809 this.insertedLocs = new Set();
89810 this.finalLoc = this.loc();
89811 this.tryEntries = [];
89812 this.leapManager = new leap.LeapManager(this);
89813 }
89814
89815 var Ep = Emitter.prototype;
89816 var Emitter_1 = Emitter;
89817
89818 Ep.loc = function () {
89819 var l = util$1.getTypes().numericLiteral(-1);
89820 this.insertedLocs.add(l);
89821 return l;
89822 };
89823
89824 Ep.getInsertedLocs = function () {
89825 return this.insertedLocs;
89826 };
89827
89828 Ep.getContextId = function () {
89829 return util$1.getTypes().clone(this.contextId);
89830 };
89831
89832 Ep.mark = function (loc) {
89833 util$1.getTypes().assertLiteral(loc);
89834 var index = this.listing.length;
89835
89836 if (loc.value === -1) {
89837 loc.value = index;
89838 } else {
89839 _assert$1["default"].strictEqual(loc.value, index);
89840 }
89841
89842 this.marked[index] = true;
89843 return loc;
89844 };
89845
89846 Ep.emit = function (node) {
89847 var t = util$1.getTypes();
89848
89849 if (t.isExpression(node)) {
89850 node = t.expressionStatement(node);
89851 }
89852
89853 t.assertStatement(node);
89854 this.listing.push(node);
89855 };
89856
89857 Ep.emitAssign = function (lhs, rhs) {
89858 this.emit(this.assign(lhs, rhs));
89859 return lhs;
89860 };
89861
89862 Ep.assign = function (lhs, rhs) {
89863 var t = util$1.getTypes();
89864 return t.expressionStatement(t.assignmentExpression("=", t.cloneDeep(lhs), rhs));
89865 };
89866
89867 Ep.contextProperty = function (name, computed) {
89868 var t = util$1.getTypes();
89869 return t.memberExpression(this.getContextId(), computed ? t.stringLiteral(name) : t.identifier(name), !!computed);
89870 };
89871
89872 Ep.stop = function (rval) {
89873 if (rval) {
89874 this.setReturnValue(rval);
89875 }
89876
89877 this.jump(this.finalLoc);
89878 };
89879
89880 Ep.setReturnValue = function (valuePath) {
89881 util$1.getTypes().assertExpression(valuePath.value);
89882 this.emitAssign(this.contextProperty("rval"), this.explodeExpression(valuePath));
89883 };
89884
89885 Ep.clearPendingException = function (tryLoc, assignee) {
89886 var t = util$1.getTypes();
89887 t.assertLiteral(tryLoc);
89888 var catchCall = t.callExpression(this.contextProperty("catch", true), [t.clone(tryLoc)]);
89889
89890 if (assignee) {
89891 this.emitAssign(assignee, catchCall);
89892 } else {
89893 this.emit(catchCall);
89894 }
89895 };
89896
89897 Ep.jump = function (toLoc) {
89898 this.emitAssign(this.contextProperty("next"), toLoc);
89899 this.emit(util$1.getTypes().breakStatement());
89900 };
89901
89902 Ep.jumpIf = function (test, toLoc) {
89903 var t = util$1.getTypes();
89904 t.assertExpression(test);
89905 t.assertLiteral(toLoc);
89906 this.emit(t.ifStatement(test, t.blockStatement([this.assign(this.contextProperty("next"), toLoc), t.breakStatement()])));
89907 };
89908
89909 Ep.jumpIfNot = function (test, toLoc) {
89910 var t = util$1.getTypes();
89911 t.assertExpression(test);
89912 t.assertLiteral(toLoc);
89913 var negatedTest;
89914
89915 if (t.isUnaryExpression(test) && test.operator === "!") {
89916 negatedTest = test.argument;
89917 } else {
89918 negatedTest = t.unaryExpression("!", test);
89919 }
89920
89921 this.emit(t.ifStatement(negatedTest, t.blockStatement([this.assign(this.contextProperty("next"), toLoc), t.breakStatement()])));
89922 };
89923
89924 Ep.makeTempVar = function () {
89925 return this.contextProperty("t" + this.nextTempId++);
89926 };
89927
89928 Ep.getContextFunction = function (id) {
89929 var t = util$1.getTypes();
89930 return t.functionExpression(id || null, [this.getContextId()], t.blockStatement([this.getDispatchLoop()]), false, false);
89931 };
89932
89933 Ep.getDispatchLoop = function () {
89934 var self = this;
89935 var t = util$1.getTypes();
89936 var cases = [];
89937 var current;
89938 var alreadyEnded = false;
89939 self.listing.forEach(function (stmt, i) {
89940 if (self.marked.hasOwnProperty(i)) {
89941 cases.push(t.switchCase(t.numericLiteral(i), current = []));
89942 alreadyEnded = false;
89943 }
89944
89945 if (!alreadyEnded) {
89946 current.push(stmt);
89947 if (t.isCompletionStatement(stmt)) alreadyEnded = true;
89948 }
89949 });
89950 this.finalLoc.value = this.listing.length;
89951 cases.push(t.switchCase(this.finalLoc, []), t.switchCase(t.stringLiteral("end"), [t.returnStatement(t.callExpression(this.contextProperty("stop"), []))]));
89952 return t.whileStatement(t.numericLiteral(1), t.switchStatement(t.assignmentExpression("=", this.contextProperty("prev"), this.contextProperty("next")), cases));
89953 };
89954
89955 Ep.getTryLocsList = function () {
89956 if (this.tryEntries.length === 0) {
89957 return null;
89958 }
89959
89960 var t = util$1.getTypes();
89961 var lastLocValue = 0;
89962 return t.arrayExpression(this.tryEntries.map(function (tryEntry) {
89963 var thisLocValue = tryEntry.firstLoc.value;
89964
89965 _assert$1["default"].ok(thisLocValue >= lastLocValue, "try entries out of order");
89966
89967 lastLocValue = thisLocValue;
89968 var ce = tryEntry.catchEntry;
89969 var fe = tryEntry.finallyEntry;
89970 var locs = [tryEntry.firstLoc, ce ? ce.firstLoc : null];
89971
89972 if (fe) {
89973 locs[2] = fe.firstLoc;
89974 locs[3] = fe.afterLoc;
89975 }
89976
89977 return t.arrayExpression(locs.map(function (loc) {
89978 return loc && t.clone(loc);
89979 }));
89980 }));
89981 };
89982
89983 Ep.explode = function (path, ignoreResult) {
89984 var t = util$1.getTypes();
89985 var node = path.node;
89986 var self = this;
89987 t.assertNode(node);
89988 if (t.isDeclaration(node)) throw getDeclError(node);
89989 if (t.isStatement(node)) return self.explodeStatement(path);
89990 if (t.isExpression(node)) return self.explodeExpression(path, ignoreResult);
89991
89992 switch (node.type) {
89993 case "Program":
89994 return path.get("body").map(self.explodeStatement, self);
89995
89996 case "VariableDeclarator":
89997 throw getDeclError(node);
89998
89999 case "Property":
90000 case "SwitchCase":
90001 case "CatchClause":
90002 throw new Error(node.type + " nodes should be handled by their parents");
90003
90004 default:
90005 throw new Error("unknown Node of type " + JSON.stringify(node.type));
90006 }
90007 };
90008
90009 function getDeclError(node) {
90010 return new Error("all declarations should have been transformed into " + "assignments before the Exploder began its work: " + JSON.stringify(node));
90011 }
90012
90013 Ep.explodeStatement = function (path, labelId) {
90014 var t = util$1.getTypes();
90015 var stmt = path.node;
90016 var self = this;
90017 var before, after, head;
90018 t.assertStatement(stmt);
90019
90020 if (labelId) {
90021 t.assertIdentifier(labelId);
90022 } else {
90023 labelId = null;
90024 }
90025
90026 if (t.isBlockStatement(stmt)) {
90027 path.get("body").forEach(function (path) {
90028 self.explodeStatement(path);
90029 });
90030 return;
90031 }
90032
90033 if (!meta.containsLeap(stmt)) {
90034 self.emit(stmt);
90035 return;
90036 }
90037
90038 switch (stmt.type) {
90039 case "ExpressionStatement":
90040 self.explodeExpression(path.get("expression"), true);
90041 break;
90042
90043 case "LabeledStatement":
90044 after = this.loc();
90045 self.leapManager.withEntry(new leap.LabeledEntry(after, stmt.label), function () {
90046 self.explodeStatement(path.get("body"), stmt.label);
90047 });
90048 self.mark(after);
90049 break;
90050
90051 case "WhileStatement":
90052 before = this.loc();
90053 after = this.loc();
90054 self.mark(before);
90055 self.jumpIfNot(self.explodeExpression(path.get("test")), after);
90056 self.leapManager.withEntry(new leap.LoopEntry(after, before, labelId), function () {
90057 self.explodeStatement(path.get("body"));
90058 });
90059 self.jump(before);
90060 self.mark(after);
90061 break;
90062
90063 case "DoWhileStatement":
90064 var first = this.loc();
90065 var test = this.loc();
90066 after = this.loc();
90067 self.mark(first);
90068 self.leapManager.withEntry(new leap.LoopEntry(after, test, labelId), function () {
90069 self.explode(path.get("body"));
90070 });
90071 self.mark(test);
90072 self.jumpIf(self.explodeExpression(path.get("test")), first);
90073 self.mark(after);
90074 break;
90075
90076 case "ForStatement":
90077 head = this.loc();
90078 var update = this.loc();
90079 after = this.loc();
90080
90081 if (stmt.init) {
90082 self.explode(path.get("init"), true);
90083 }
90084
90085 self.mark(head);
90086
90087 if (stmt.test) {
90088 self.jumpIfNot(self.explodeExpression(path.get("test")), after);
90089 }
90090
90091 self.leapManager.withEntry(new leap.LoopEntry(after, update, labelId), function () {
90092 self.explodeStatement(path.get("body"));
90093 });
90094 self.mark(update);
90095
90096 if (stmt.update) {
90097 self.explode(path.get("update"), true);
90098 }
90099
90100 self.jump(head);
90101 self.mark(after);
90102 break;
90103
90104 case "TypeCastExpression":
90105 return self.explodeExpression(path.get("expression"));
90106
90107 case "ForInStatement":
90108 head = this.loc();
90109 after = this.loc();
90110 var keyIterNextFn = self.makeTempVar();
90111 self.emitAssign(keyIterNextFn, t.callExpression(util$1.runtimeProperty("keys"), [self.explodeExpression(path.get("right"))]));
90112 self.mark(head);
90113 var keyInfoTmpVar = self.makeTempVar();
90114 self.jumpIf(t.memberExpression(t.assignmentExpression("=", keyInfoTmpVar, t.callExpression(t.cloneDeep(keyIterNextFn), [])), t.identifier("done"), false), after);
90115 self.emitAssign(stmt.left, t.memberExpression(t.cloneDeep(keyInfoTmpVar), t.identifier("value"), false));
90116 self.leapManager.withEntry(new leap.LoopEntry(after, head, labelId), function () {
90117 self.explodeStatement(path.get("body"));
90118 });
90119 self.jump(head);
90120 self.mark(after);
90121 break;
90122
90123 case "BreakStatement":
90124 self.emitAbruptCompletion({
90125 type: "break",
90126 target: self.leapManager.getBreakLoc(stmt.label)
90127 });
90128 break;
90129
90130 case "ContinueStatement":
90131 self.emitAbruptCompletion({
90132 type: "continue",
90133 target: self.leapManager.getContinueLoc(stmt.label)
90134 });
90135 break;
90136
90137 case "SwitchStatement":
90138 var disc = self.emitAssign(self.makeTempVar(), self.explodeExpression(path.get("discriminant")));
90139 after = this.loc();
90140 var defaultLoc = this.loc();
90141 var condition = defaultLoc;
90142 var caseLocs = [];
90143 var cases = stmt.cases || [];
90144
90145 for (var i = cases.length - 1; i >= 0; --i) {
90146 var c = cases[i];
90147 t.assertSwitchCase(c);
90148
90149 if (c.test) {
90150 condition = t.conditionalExpression(t.binaryExpression("===", t.cloneDeep(disc), c.test), caseLocs[i] = this.loc(), condition);
90151 } else {
90152 caseLocs[i] = defaultLoc;
90153 }
90154 }
90155
90156 var discriminant = path.get("discriminant");
90157 util$1.replaceWithOrRemove(discriminant, condition);
90158 self.jump(self.explodeExpression(discriminant));
90159 self.leapManager.withEntry(new leap.SwitchEntry(after), function () {
90160 path.get("cases").forEach(function (casePath) {
90161 var i = casePath.key;
90162 self.mark(caseLocs[i]);
90163 casePath.get("consequent").forEach(function (path) {
90164 self.explodeStatement(path);
90165 });
90166 });
90167 });
90168 self.mark(after);
90169
90170 if (defaultLoc.value === -1) {
90171 self.mark(defaultLoc);
90172
90173 _assert$1["default"].strictEqual(after.value, defaultLoc.value);
90174 }
90175
90176 break;
90177
90178 case "IfStatement":
90179 var elseLoc = stmt.alternate && this.loc();
90180 after = this.loc();
90181 self.jumpIfNot(self.explodeExpression(path.get("test")), elseLoc || after);
90182 self.explodeStatement(path.get("consequent"));
90183
90184 if (elseLoc) {
90185 self.jump(after);
90186 self.mark(elseLoc);
90187 self.explodeStatement(path.get("alternate"));
90188 }
90189
90190 self.mark(after);
90191 break;
90192
90193 case "ReturnStatement":
90194 self.emitAbruptCompletion({
90195 type: "return",
90196 value: self.explodeExpression(path.get("argument"))
90197 });
90198 break;
90199
90200 case "WithStatement":
90201 throw new Error("WithStatement not supported in generator functions.");
90202
90203 case "TryStatement":
90204 after = this.loc();
90205 var handler = stmt.handler;
90206 var catchLoc = handler && this.loc();
90207 var catchEntry = catchLoc && new leap.CatchEntry(catchLoc, handler.param);
90208 var finallyLoc = stmt.finalizer && this.loc();
90209 var finallyEntry = finallyLoc && new leap.FinallyEntry(finallyLoc, after);
90210 var tryEntry = new leap.TryEntry(self.getUnmarkedCurrentLoc(), catchEntry, finallyEntry);
90211 self.tryEntries.push(tryEntry);
90212 self.updateContextPrevLoc(tryEntry.firstLoc);
90213 self.leapManager.withEntry(tryEntry, function () {
90214 self.explodeStatement(path.get("block"));
90215
90216 if (catchLoc) {
90217 if (finallyLoc) {
90218 self.jump(finallyLoc);
90219 } else {
90220 self.jump(after);
90221 }
90222
90223 self.updateContextPrevLoc(self.mark(catchLoc));
90224 var bodyPath = path.get("handler.body");
90225 var safeParam = self.makeTempVar();
90226 self.clearPendingException(tryEntry.firstLoc, safeParam);
90227 bodyPath.traverse(catchParamVisitor, {
90228 getSafeParam: function getSafeParam() {
90229 return t.cloneDeep(safeParam);
90230 },
90231 catchParamName: handler.param.name
90232 });
90233 self.leapManager.withEntry(catchEntry, function () {
90234 self.explodeStatement(bodyPath);
90235 });
90236 }
90237
90238 if (finallyLoc) {
90239 self.updateContextPrevLoc(self.mark(finallyLoc));
90240 self.leapManager.withEntry(finallyEntry, function () {
90241 self.explodeStatement(path.get("finalizer"));
90242 });
90243 self.emit(t.returnStatement(t.callExpression(self.contextProperty("finish"), [finallyEntry.firstLoc])));
90244 }
90245 });
90246 self.mark(after);
90247 break;
90248
90249 case "ThrowStatement":
90250 self.emit(t.throwStatement(self.explodeExpression(path.get("argument"))));
90251 break;
90252
90253 default:
90254 throw new Error("unknown Statement of type " + JSON.stringify(stmt.type));
90255 }
90256 };
90257
90258 var catchParamVisitor = {
90259 Identifier: function Identifier(path, state) {
90260 if (path.node.name === state.catchParamName && util$1.isReference(path)) {
90261 util$1.replaceWithOrRemove(path, state.getSafeParam());
90262 }
90263 },
90264 Scope: function Scope(path, state) {
90265 if (path.scope.hasOwnBinding(state.catchParamName)) {
90266 path.skip();
90267 }
90268 }
90269 };
90270
90271 Ep.emitAbruptCompletion = function (record) {
90272 if (!isValidCompletion(record)) {
90273 _assert$1["default"].ok(false, "invalid completion record: " + JSON.stringify(record));
90274 }
90275
90276 _assert$1["default"].notStrictEqual(record.type, "normal", "normal completions are not abrupt");
90277
90278 var t = util$1.getTypes();
90279 var abruptArgs = [t.stringLiteral(record.type)];
90280
90281 if (record.type === "break" || record.type === "continue") {
90282 t.assertLiteral(record.target);
90283 abruptArgs[1] = this.insertedLocs.has(record.target) ? record.target : t.cloneDeep(record.target);
90284 } else if (record.type === "return" || record.type === "throw") {
90285 if (record.value) {
90286 t.assertExpression(record.value);
90287 abruptArgs[1] = this.insertedLocs.has(record.value) ? record.value : t.cloneDeep(record.value);
90288 }
90289 }
90290
90291 this.emit(t.returnStatement(t.callExpression(this.contextProperty("abrupt"), abruptArgs)));
90292 };
90293
90294 function isValidCompletion(record) {
90295 var type = record.type;
90296
90297 if (type === "normal") {
90298 return !hasOwn.call(record, "target");
90299 }
90300
90301 if (type === "break" || type === "continue") {
90302 return !hasOwn.call(record, "value") && util$1.getTypes().isLiteral(record.target);
90303 }
90304
90305 if (type === "return" || type === "throw") {
90306 return hasOwn.call(record, "value") && !hasOwn.call(record, "target");
90307 }
90308
90309 return false;
90310 }
90311
90312 Ep.getUnmarkedCurrentLoc = function () {
90313 return util$1.getTypes().numericLiteral(this.listing.length);
90314 };
90315
90316 Ep.updateContextPrevLoc = function (loc) {
90317 var t = util$1.getTypes();
90318
90319 if (loc) {
90320 t.assertLiteral(loc);
90321
90322 if (loc.value === -1) {
90323 loc.value = this.listing.length;
90324 } else {
90325 _assert$1["default"].strictEqual(loc.value, this.listing.length);
90326 }
90327 } else {
90328 loc = this.getUnmarkedCurrentLoc();
90329 }
90330
90331 this.emitAssign(this.contextProperty("prev"), loc);
90332 };
90333
90334 Ep.explodeExpression = function (path, ignoreResult) {
90335 var t = util$1.getTypes();
90336 var expr = path.node;
90337
90338 if (expr) {
90339 t.assertExpression(expr);
90340 } else {
90341 return expr;
90342 }
90343
90344 var self = this;
90345 var result;
90346 var after;
90347
90348 function finish(expr) {
90349 t.assertExpression(expr);
90350
90351 if (ignoreResult) {
90352 self.emit(expr);
90353 } else {
90354 return expr;
90355 }
90356 }
90357
90358 if (!meta.containsLeap(expr)) {
90359 return finish(expr);
90360 }
90361
90362 var hasLeapingChildren = meta.containsLeap.onlyChildren(expr);
90363
90364 function explodeViaTempVar(tempVar, childPath, ignoreChildResult) {
90365 _assert$1["default"].ok(!ignoreChildResult || !tempVar, "Ignoring the result of a child expression but forcing it to " + "be assigned to a temporary variable?");
90366
90367 var result = self.explodeExpression(childPath, ignoreChildResult);
90368
90369 if (ignoreChildResult) ; else if (tempVar || hasLeapingChildren && !t.isLiteral(result)) {
90370 result = self.emitAssign(tempVar || self.makeTempVar(), result);
90371 }
90372
90373 return result;
90374 }
90375
90376 switch (expr.type) {
90377 case "MemberExpression":
90378 return finish(t.memberExpression(self.explodeExpression(path.get("object")), expr.computed ? explodeViaTempVar(null, path.get("property")) : expr.property, expr.computed));
90379
90380 case "CallExpression":
90381 var calleePath = path.get("callee");
90382 var argsPath = path.get("arguments");
90383 var newCallee;
90384 var newArgs = [];
90385 var hasLeapingArgs = false;
90386 argsPath.forEach(function (argPath) {
90387 hasLeapingArgs = hasLeapingArgs || meta.containsLeap(argPath.node);
90388 });
90389
90390 if (t.isMemberExpression(calleePath.node)) {
90391 if (hasLeapingArgs) {
90392 var newObject = explodeViaTempVar(self.makeTempVar(), calleePath.get("object"));
90393 var newProperty = calleePath.node.computed ? explodeViaTempVar(null, calleePath.get("property")) : calleePath.node.property;
90394 newArgs.unshift(newObject);
90395 newCallee = t.memberExpression(t.memberExpression(t.cloneDeep(newObject), newProperty, calleePath.node.computed), t.identifier("call"), false);
90396 } else {
90397 newCallee = self.explodeExpression(calleePath);
90398 }
90399 } else {
90400 newCallee = explodeViaTempVar(null, calleePath);
90401
90402 if (t.isMemberExpression(newCallee)) {
90403 newCallee = t.sequenceExpression([t.numericLiteral(0), t.cloneDeep(newCallee)]);
90404 }
90405 }
90406
90407 argsPath.forEach(function (argPath) {
90408 newArgs.push(explodeViaTempVar(null, argPath));
90409 });
90410 return finish(t.callExpression(newCallee, newArgs.map(function (arg) {
90411 return t.cloneDeep(arg);
90412 })));
90413
90414 case "NewExpression":
90415 return finish(t.newExpression(explodeViaTempVar(null, path.get("callee")), path.get("arguments").map(function (argPath) {
90416 return explodeViaTempVar(null, argPath);
90417 })));
90418
90419 case "ObjectExpression":
90420 return finish(t.objectExpression(path.get("properties").map(function (propPath) {
90421 if (propPath.isObjectProperty()) {
90422 return t.objectProperty(propPath.node.key, explodeViaTempVar(null, propPath.get("value")), propPath.node.computed);
90423 } else {
90424 return propPath.node;
90425 }
90426 })));
90427
90428 case "ArrayExpression":
90429 return finish(t.arrayExpression(path.get("elements").map(function (elemPath) {
90430 return explodeViaTempVar(null, elemPath);
90431 })));
90432
90433 case "SequenceExpression":
90434 var lastIndex = expr.expressions.length - 1;
90435 path.get("expressions").forEach(function (exprPath) {
90436 if (exprPath.key === lastIndex) {
90437 result = self.explodeExpression(exprPath, ignoreResult);
90438 } else {
90439 self.explodeExpression(exprPath, true);
90440 }
90441 });
90442 return result;
90443
90444 case "LogicalExpression":
90445 after = this.loc();
90446
90447 if (!ignoreResult) {
90448 result = self.makeTempVar();
90449 }
90450
90451 var left = explodeViaTempVar(result, path.get("left"));
90452
90453 if (expr.operator === "&&") {
90454 self.jumpIfNot(left, after);
90455 } else {
90456 _assert$1["default"].strictEqual(expr.operator, "||");
90457
90458 self.jumpIf(left, after);
90459 }
90460
90461 explodeViaTempVar(result, path.get("right"), ignoreResult);
90462 self.mark(after);
90463 return result;
90464
90465 case "ConditionalExpression":
90466 var elseLoc = this.loc();
90467 after = this.loc();
90468 var test = self.explodeExpression(path.get("test"));
90469 self.jumpIfNot(test, elseLoc);
90470
90471 if (!ignoreResult) {
90472 result = self.makeTempVar();
90473 }
90474
90475 explodeViaTempVar(result, path.get("consequent"), ignoreResult);
90476 self.jump(after);
90477 self.mark(elseLoc);
90478 explodeViaTempVar(result, path.get("alternate"), ignoreResult);
90479 self.mark(after);
90480 return result;
90481
90482 case "UnaryExpression":
90483 return finish(t.unaryExpression(expr.operator, self.explodeExpression(path.get("argument")), !!expr.prefix));
90484
90485 case "BinaryExpression":
90486 return finish(t.binaryExpression(expr.operator, explodeViaTempVar(null, path.get("left")), explodeViaTempVar(null, path.get("right"))));
90487
90488 case "AssignmentExpression":
90489 if (expr.operator === "=") {
90490 return finish(t.assignmentExpression(expr.operator, self.explodeExpression(path.get("left")), self.explodeExpression(path.get("right"))));
90491 }
90492
90493 var lhs = self.explodeExpression(path.get("left"));
90494 var temp = self.emitAssign(self.makeTempVar(), lhs);
90495 return finish(t.assignmentExpression("=", t.cloneDeep(lhs), t.assignmentExpression(expr.operator, t.cloneDeep(temp), self.explodeExpression(path.get("right")))));
90496
90497 case "UpdateExpression":
90498 return finish(t.updateExpression(expr.operator, self.explodeExpression(path.get("argument")), expr.prefix));
90499
90500 case "YieldExpression":
90501 after = this.loc();
90502 var arg = expr.argument && self.explodeExpression(path.get("argument"));
90503
90504 if (arg && expr.delegate) {
90505 var _result = self.makeTempVar();
90506
90507 var _ret = t.returnStatement(t.callExpression(self.contextProperty("delegateYield"), [arg, t.stringLiteral(_result.property.name), after]));
90508
90509 _ret.loc = expr.loc;
90510 self.emit(_ret);
90511 self.mark(after);
90512 return _result;
90513 }
90514
90515 self.emitAssign(self.contextProperty("next"), after);
90516 var ret = t.returnStatement(t.cloneDeep(arg) || null);
90517 ret.loc = expr.loc;
90518 self.emit(ret);
90519 self.mark(after);
90520 return self.contextProperty("sent");
90521
90522 default:
90523 throw new Error("unknown Expression of type " + JSON.stringify(expr.type));
90524 }
90525 };
90526
90527 var emit = {
90528 Emitter: Emitter_1
90529 };
90530
90531 var replaceShorthandObjectMethod_1 = createCommonjsModule(function (module, exports) {
90532
90533 exports.__esModule = true;
90534 exports["default"] = replaceShorthandObjectMethod;
90535
90536 var util = interopRequireWildcard(util$3);
90537
90538 function replaceShorthandObjectMethod(path) {
90539 var t = util.getTypes();
90540
90541 if (!path.node || !t.isFunction(path.node)) {
90542 throw new Error("replaceShorthandObjectMethod can only be called on Function AST node paths.");
90543 }
90544
90545 if (!t.isObjectMethod(path.node)) {
90546 return path;
90547 }
90548
90549 if (!path.node.generator) {
90550 return path;
90551 }
90552
90553 var parameters = path.node.params.map(function (param) {
90554 return t.cloneDeep(param);
90555 });
90556 var functionExpression = t.functionExpression(null, parameters, t.cloneDeep(path.node.body), path.node.generator, path.node.async);
90557 util.replaceWithOrRemove(path, t.objectProperty(t.cloneDeep(path.node.key), functionExpression, path.node.computed, false));
90558 return path.get("value");
90559 }
90560 }, "/$$rollup_base$$/node_modules/regenerator-transform/lib");
90561
90562 var _assert = interopRequireDefault(assert_1);
90563
90564 var _replaceShorthandObjectMethod = interopRequireDefault(replaceShorthandObjectMethod_1);
90565
90566 var util = interopRequireWildcard(util$3);
90567
90568 var getVisitor = function getVisitor(_ref) {
90569 var t = _ref.types;
90570 return {
90571 Method: function Method(path, state) {
90572 var node = path.node;
90573 if (!shouldRegenerate(node, state)) return;
90574 var container = t.functionExpression(null, [], t.cloneNode(node.body, false), node.generator, node.async);
90575 path.get("body").set("body", [t.returnStatement(t.callExpression(container, []))]);
90576 node.async = false;
90577 node.generator = false;
90578 path.get("body.body.0.argument.callee").unwrapFunctionEnvironment();
90579 },
90580 Function: {
90581 exit: util.wrapWithTypes(t, function (path, state) {
90582 var node = path.node;
90583 if (!shouldRegenerate(node, state)) return;
90584 path = (0, _replaceShorthandObjectMethod["default"])(path);
90585 node = path.node;
90586 var contextId = path.scope.generateUidIdentifier("context");
90587 var argsId = path.scope.generateUidIdentifier("args");
90588 path.ensureBlock();
90589 var bodyBlockPath = path.get("body");
90590
90591 if (node.async) {
90592 bodyBlockPath.traverse(awaitVisitor);
90593 }
90594
90595 bodyBlockPath.traverse(functionSentVisitor, {
90596 context: contextId
90597 });
90598 var outerBody = [];
90599 var innerBody = [];
90600 bodyBlockPath.get("body").forEach(function (childPath) {
90601 var node = childPath.node;
90602
90603 if (t.isExpressionStatement(node) && t.isStringLiteral(node.expression)) {
90604 outerBody.push(node);
90605 } else if (node && node._blockHoist != null) {
90606 outerBody.push(node);
90607 } else {
90608 innerBody.push(node);
90609 }
90610 });
90611
90612 if (outerBody.length > 0) {
90613 bodyBlockPath.node.body = innerBody;
90614 }
90615
90616 var outerFnExpr = getOuterFnExpr(path);
90617 t.assertIdentifier(node.id);
90618 var innerFnId = t.identifier(node.id.name + "$");
90619 var vars = (0, hoist$2.hoist)(path);
90620 var context = {
90621 usesThis: false,
90622 usesArguments: false,
90623 getArgsId: function getArgsId() {
90624 return t.clone(argsId);
90625 }
90626 };
90627 path.traverse(argumentsThisVisitor, context);
90628
90629 if (context.usesArguments) {
90630 vars = vars || t.variableDeclaration("var", []);
90631 var argumentIdentifier = t.identifier("arguments");
90632 argumentIdentifier._shadowedFunctionLiteral = path;
90633 vars.declarations.push(t.variableDeclarator(t.clone(argsId), argumentIdentifier));
90634 }
90635
90636 var emitter = new emit.Emitter(contextId);
90637 emitter.explode(path.get("body"));
90638
90639 if (vars && vars.declarations.length > 0) {
90640 outerBody.push(vars);
90641 }
90642
90643 var wrapArgs = [emitter.getContextFunction(innerFnId)];
90644 var tryLocsList = emitter.getTryLocsList();
90645
90646 if (node.generator) {
90647 wrapArgs.push(outerFnExpr);
90648 } else if (context.usesThis || tryLocsList || node.async) {
90649 wrapArgs.push(t.nullLiteral());
90650 }
90651
90652 if (context.usesThis) {
90653 wrapArgs.push(t.thisExpression());
90654 } else if (tryLocsList || node.async) {
90655 wrapArgs.push(t.nullLiteral());
90656 }
90657
90658 if (tryLocsList) {
90659 wrapArgs.push(tryLocsList);
90660 } else if (node.async) {
90661 wrapArgs.push(t.nullLiteral());
90662 }
90663
90664 if (node.async) {
90665 var currentScope = path.scope;
90666
90667 do {
90668 if (currentScope.hasOwnBinding("Promise")) currentScope.rename("Promise");
90669 } while (currentScope = currentScope.parent);
90670
90671 wrapArgs.push(t.identifier("Promise"));
90672 }
90673
90674 var wrapCall = t.callExpression(util.runtimeProperty(node.async ? "async" : "wrap"), wrapArgs);
90675 outerBody.push(t.returnStatement(wrapCall));
90676 node.body = t.blockStatement(outerBody);
90677 path.get("body.body").forEach(function (p) {
90678 return p.scope.registerDeclaration(p);
90679 });
90680 var oldDirectives = bodyBlockPath.node.directives;
90681
90682 if (oldDirectives) {
90683 node.body.directives = oldDirectives;
90684 }
90685
90686 var wasGeneratorFunction = node.generator;
90687
90688 if (wasGeneratorFunction) {
90689 node.generator = false;
90690 }
90691
90692 if (node.async) {
90693 node.async = false;
90694 }
90695
90696 if (wasGeneratorFunction && t.isExpression(node)) {
90697 util.replaceWithOrRemove(path, t.callExpression(util.runtimeProperty("mark"), [node]));
90698 path.addComment("leading", "#__PURE__");
90699 }
90700
90701 var insertedLocs = emitter.getInsertedLocs();
90702 path.traverse({
90703 NumericLiteral: function NumericLiteral(path) {
90704 if (!insertedLocs.has(path.node)) {
90705 return;
90706 }
90707
90708 path.replaceWith(t.numericLiteral(path.node.value));
90709 }
90710 });
90711 path.requeue();
90712 })
90713 }
90714 };
90715 };
90716
90717 function shouldRegenerate(node, state) {
90718 if (node.generator) {
90719 if (node.async) {
90720 return state.opts.asyncGenerators !== false;
90721 } else {
90722 return state.opts.generators !== false;
90723 }
90724 } else if (node.async) {
90725 return state.opts.async !== false;
90726 } else {
90727 return false;
90728 }
90729 }
90730
90731 function getOuterFnExpr(funPath) {
90732 var t = util.getTypes();
90733 var node = funPath.node;
90734 t.assertFunction(node);
90735
90736 if (!node.id) {
90737 node.id = funPath.scope.parent.generateUidIdentifier("callee");
90738 }
90739
90740 if (node.generator && t.isFunctionDeclaration(node)) {
90741 return getMarkedFunctionId(funPath);
90742 }
90743
90744 return t.clone(node.id);
90745 }
90746
90747 var getMarkInfo = (0, _private.makeAccessor)();
90748
90749 function getMarkedFunctionId(funPath) {
90750 var t = util.getTypes();
90751 var node = funPath.node;
90752 t.assertIdentifier(node.id);
90753 var blockPath = funPath.findParent(function (path) {
90754 return path.isProgram() || path.isBlockStatement();
90755 });
90756
90757 if (!blockPath) {
90758 return node.id;
90759 }
90760
90761 var block = blockPath.node;
90762
90763 _assert["default"].ok(Array.isArray(block.body));
90764
90765 var info = getMarkInfo(block);
90766
90767 if (!info.decl) {
90768 info.decl = t.variableDeclaration("var", []);
90769 blockPath.unshiftContainer("body", info.decl);
90770 info.declPath = blockPath.get("body.0");
90771 }
90772
90773 _assert["default"].strictEqual(info.declPath.node, info.decl);
90774
90775 var markedId = blockPath.scope.generateUidIdentifier("marked");
90776 var markCallExp = t.callExpression(util.runtimeProperty("mark"), [t.clone(node.id)]);
90777 var index = info.decl.declarations.push(t.variableDeclarator(markedId, markCallExp)) - 1;
90778 var markCallExpPath = info.declPath.get("declarations." + index + ".init");
90779
90780 _assert["default"].strictEqual(markCallExpPath.node, markCallExp);
90781
90782 markCallExpPath.addComment("leading", "#__PURE__");
90783 return t.clone(markedId);
90784 }
90785
90786 var argumentsThisVisitor = {
90787 "FunctionExpression|FunctionDeclaration|Method": function FunctionExpressionFunctionDeclarationMethod(path) {
90788 path.skip();
90789 },
90790 Identifier: function Identifier(path, state) {
90791 if (path.node.name === "arguments" && util.isReference(path)) {
90792 util.replaceWithOrRemove(path, state.getArgsId());
90793 state.usesArguments = true;
90794 }
90795 },
90796 ThisExpression: function ThisExpression(path, state) {
90797 state.usesThis = true;
90798 }
90799 };
90800 var functionSentVisitor = {
90801 MetaProperty: function MetaProperty(path) {
90802 var node = path.node;
90803
90804 if (node.meta.name === "function" && node.property.name === "sent") {
90805 var t = util.getTypes();
90806 util.replaceWithOrRemove(path, t.memberExpression(t.clone(this.context), t.identifier("_sent")));
90807 }
90808 }
90809 };
90810 var awaitVisitor = {
90811 Function: function Function(path) {
90812 path.skip();
90813 },
90814 AwaitExpression: function AwaitExpression(path) {
90815 var t = util.getTypes();
90816 var argument = path.node.argument;
90817 util.replaceWithOrRemove(path, t.yieldExpression(t.callExpression(util.runtimeProperty("awrap"), [argument]), false));
90818 }
90819 };
90820 var visit = {
90821 getVisitor: getVisitor
90822 };
90823
90824 var lib$b = createCommonjsModule(function (module, exports) {
90825
90826 exports.__esModule = true;
90827 exports["default"] = _default;
90828
90829 function _default(context) {
90830 var plugin = {
90831 visitor: (0, visit.getVisitor)(context)
90832 };
90833 var version = context && context.version;
90834
90835 if (version && parseInt(version, 10) >= 7) {
90836 plugin.name = "regenerator-transform";
90837 }
90838
90839 return plugin;
90840 }
90841 }, "/$$rollup_base$$/node_modules/regenerator-transform/lib");
90842
90843 var _transformRegenerator = lib$b["default"];
90844
90845 var _transformReservedWords = declare(function (api) {
90846 api.assertVersion(7);
90847 return {
90848 name: "transform-reserved-words",
90849 visitor: {
90850 "BindingIdentifier|ReferencedIdentifier": function BindingIdentifierReferencedIdentifier(path) {
90851 if (!isValidES3Identifier(path.node.name)) {
90852 path.scope.rename(path.node.name);
90853 }
90854 }
90855 }
90856 };
90857 });
90858
90859 var SEMVER_SPEC_VERSION$1 = '2.0.0';
90860 var MAX_LENGTH$5 = 256;
90861 var MAX_SAFE_INTEGER$3 = Number.MAX_SAFE_INTEGER || 9007199254740991;
90862 var MAX_SAFE_COMPONENT_LENGTH$1 = 16;
90863 var constants$1 = {
90864 SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION$1,
90865 MAX_LENGTH: MAX_LENGTH$5,
90866 MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$3,
90867 MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH$1
90868 };
90869
90870 var debug$1 = typeof browser$6 === 'object' && browser$6.env && browser$6.env.NODE_DEBUG && /\bsemver\b/i.test(browser$6.env.NODE_DEBUG) ? function () {
90871 var _console;
90872
90873 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
90874 args[_key] = arguments[_key];
90875 }
90876
90877 return (_console = console).error.apply(_console, ['SEMVER'].concat(args));
90878 } : function () {};
90879 var debug_1$1 = debug$1;
90880
90881 var re_1$1 = createCommonjsModule(function (module, exports) {
90882 var MAX_SAFE_COMPONENT_LENGTH = constants$1.MAX_SAFE_COMPONENT_LENGTH;
90883 exports = module.exports = {};
90884 var re = exports.re = [];
90885 var src = exports.src = [];
90886 var t = exports.t = {};
90887 var R = 0;
90888
90889 var createToken = function createToken(name, value, isGlobal) {
90890 var index = R++;
90891 debug_1$1(index, value);
90892 t[name] = index;
90893 src[index] = value;
90894 re[index] = new RegExp(value, isGlobal ? 'g' : undefined);
90895 };
90896
90897 createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*');
90898 createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+');
90899 createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*');
90900 createToken('MAINVERSION', "(" + src[t.NUMERICIDENTIFIER] + ")\\." + ("(" + src[t.NUMERICIDENTIFIER] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIER] + ")"));
90901 createToken('MAINVERSIONLOOSE', "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\." + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")"));
90902 createToken('PRERELEASEIDENTIFIER', "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
90903 createToken('PRERELEASEIDENTIFIERLOOSE', "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
90904 createToken('PRERELEASE', "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))");
90905 createToken('PRERELEASELOOSE', "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))");
90906 createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+');
90907 createToken('BUILD', "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))");
90908 createToken('FULLPLAIN', "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?");
90909 createToken('FULL', "^" + src[t.FULLPLAIN] + "$");
90910 createToken('LOOSEPLAIN', "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?");
90911 createToken('LOOSE', "^" + src[t.LOOSEPLAIN] + "$");
90912 createToken('GTLT', '((?:<|>)?=?)');
90913 createToken('XRANGEIDENTIFIERLOOSE', src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*");
90914 createToken('XRANGEIDENTIFIER', src[t.NUMERICIDENTIFIER] + "|x|X|\\*");
90915 createToken('XRANGEPLAIN', "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?") + ")?)?");
90916 createToken('XRANGEPLAINLOOSE', "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?") + ")?)?");
90917 createToken('XRANGE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$");
90918 createToken('XRANGELOOSE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$");
90919 createToken('COERCE', "" + ('(^|[^\\d])' + '(\\d{1,') + MAX_SAFE_COMPONENT_LENGTH + "})" + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + "(?:$|[^\\d])");
90920 createToken('COERCERTL', src[t.COERCE], true);
90921 createToken('LONETILDE', '(?:~>?)');
90922 createToken('TILDETRIM', "(\\s*)" + src[t.LONETILDE] + "\\s+", true);
90923 exports.tildeTrimReplace = '$1~';
90924 createToken('TILDE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$");
90925 createToken('TILDELOOSE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$");
90926 createToken('LONECARET', '(?:\\^)');
90927 createToken('CARETTRIM', "(\\s*)" + src[t.LONECARET] + "\\s+", true);
90928 exports.caretTrimReplace = '$1^';
90929 createToken('CARET', "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$");
90930 createToken('CARETLOOSE', "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$");
90931 createToken('COMPARATORLOOSE', "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$");
90932 createToken('COMPARATOR', "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$");
90933 createToken('COMPARATORTRIM', "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")", true);
90934 exports.comparatorTrimReplace = '$1$2$3';
90935 createToken('HYPHENRANGE', "^\\s*(" + src[t.XRANGEPLAIN] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAIN] + ")") + "\\s*$");
90936 createToken('HYPHENRANGELOOSE', "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAINLOOSE] + ")") + "\\s*$");
90937 createToken('STAR', '(<|>)?=?\\s*\\*');
90938 createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$');
90939 createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$');
90940 }, "/$$rollup_base$$/node_modules/semver-BABEL_8_BREAKING-true/internal");
90941
90942 var opts = ['includePrerelease', 'loose', 'rtl'];
90943
90944 var parseOptions = function parseOptions(options) {
90945 return !options ? {} : typeof options !== 'object' ? {
90946 loose: true
90947 } : opts.filter(function (k) {
90948 return options[k];
90949 }).reduce(function (options, k) {
90950 options[k] = true;
90951 return options;
90952 }, {});
90953 };
90954
90955 var parseOptions_1 = parseOptions;
90956
90957 var numeric$1 = /^[0-9]+$/;
90958
90959 var compareIdentifiers$3 = function compareIdentifiers(a, b) {
90960 var anum = numeric$1.test(a);
90961 var bnum = numeric$1.test(b);
90962
90963 if (anum && bnum) {
90964 a = +a;
90965 b = +b;
90966 }
90967
90968 return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
90969 };
90970
90971 var rcompareIdentifiers$1 = function rcompareIdentifiers(a, b) {
90972 return compareIdentifiers$3(b, a);
90973 };
90974
90975 var identifiers$1 = {
90976 compareIdentifiers: compareIdentifiers$3,
90977 rcompareIdentifiers: rcompareIdentifiers$1
90978 };
90979
90980 var MAX_LENGTH$4 = constants$1.MAX_LENGTH,
90981 MAX_SAFE_INTEGER$2 = constants$1.MAX_SAFE_INTEGER;
90982 var re$7 = re_1$1.re,
90983 t$e = re_1$1.t;
90984 var compareIdentifiers$2 = identifiers$1.compareIdentifiers;
90985
90986 var SemVer$1 = function () {
90987 function SemVer(version, options) {
90988 options = parseOptions_1(options);
90989
90990 if (version instanceof SemVer) {
90991 if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
90992 return version;
90993 } else {
90994 version = version.version;
90995 }
90996 } else if (typeof version !== 'string') {
90997 throw new TypeError("Invalid Version: " + version);
90998 }
90999
91000 if (version.length > MAX_LENGTH$4) {
91001 throw new TypeError("version is longer than " + MAX_LENGTH$4 + " characters");
91002 }
91003
91004 debug_1$1('SemVer', version, options);
91005 this.options = options;
91006 this.loose = !!options.loose;
91007 this.includePrerelease = !!options.includePrerelease;
91008 var m = version.trim().match(options.loose ? re$7[t$e.LOOSE] : re$7[t$e.FULL]);
91009
91010 if (!m) {
91011 throw new TypeError("Invalid Version: " + version);
91012 }
91013
91014 this.raw = version;
91015 this.major = +m[1];
91016 this.minor = +m[2];
91017 this.patch = +m[3];
91018
91019 if (this.major > MAX_SAFE_INTEGER$2 || this.major < 0) {
91020 throw new TypeError('Invalid major version');
91021 }
91022
91023 if (this.minor > MAX_SAFE_INTEGER$2 || this.minor < 0) {
91024 throw new TypeError('Invalid minor version');
91025 }
91026
91027 if (this.patch > MAX_SAFE_INTEGER$2 || this.patch < 0) {
91028 throw new TypeError('Invalid patch version');
91029 }
91030
91031 if (!m[4]) {
91032 this.prerelease = [];
91033 } else {
91034 this.prerelease = m[4].split('.').map(function (id) {
91035 if (/^[0-9]+$/.test(id)) {
91036 var num = +id;
91037
91038 if (num >= 0 && num < MAX_SAFE_INTEGER$2) {
91039 return num;
91040 }
91041 }
91042
91043 return id;
91044 });
91045 }
91046
91047 this.build = m[5] ? m[5].split('.') : [];
91048 this.format();
91049 }
91050
91051 var _proto = SemVer.prototype;
91052
91053 _proto.format = function format() {
91054 this.version = this.major + "." + this.minor + "." + this.patch;
91055
91056 if (this.prerelease.length) {
91057 this.version += "-" + this.prerelease.join('.');
91058 }
91059
91060 return this.version;
91061 };
91062
91063 _proto.toString = function toString() {
91064 return this.version;
91065 };
91066
91067 _proto.compare = function compare(other) {
91068 debug_1$1('SemVer.compare', this.version, this.options, other);
91069
91070 if (!(other instanceof SemVer)) {
91071 if (typeof other === 'string' && other === this.version) {
91072 return 0;
91073 }
91074
91075 other = new SemVer(other, this.options);
91076 }
91077
91078 if (other.version === this.version) {
91079 return 0;
91080 }
91081
91082 return this.compareMain(other) || this.comparePre(other);
91083 };
91084
91085 _proto.compareMain = function compareMain(other) {
91086 if (!(other instanceof SemVer)) {
91087 other = new SemVer(other, this.options);
91088 }
91089
91090 return compareIdentifiers$2(this.major, other.major) || compareIdentifiers$2(this.minor, other.minor) || compareIdentifiers$2(this.patch, other.patch);
91091 };
91092
91093 _proto.comparePre = function comparePre(other) {
91094 if (!(other instanceof SemVer)) {
91095 other = new SemVer(other, this.options);
91096 }
91097
91098 if (this.prerelease.length && !other.prerelease.length) {
91099 return -1;
91100 } else if (!this.prerelease.length && other.prerelease.length) {
91101 return 1;
91102 } else if (!this.prerelease.length && !other.prerelease.length) {
91103 return 0;
91104 }
91105
91106 var i = 0;
91107
91108 do {
91109 var a = this.prerelease[i];
91110 var b = other.prerelease[i];
91111 debug_1$1('prerelease compare', i, a, b);
91112
91113 if (a === undefined && b === undefined) {
91114 return 0;
91115 } else if (b === undefined) {
91116 return 1;
91117 } else if (a === undefined) {
91118 return -1;
91119 } else if (a === b) {
91120 continue;
91121 } else {
91122 return compareIdentifiers$2(a, b);
91123 }
91124 } while (++i);
91125 };
91126
91127 _proto.compareBuild = function compareBuild(other) {
91128 if (!(other instanceof SemVer)) {
91129 other = new SemVer(other, this.options);
91130 }
91131
91132 var i = 0;
91133
91134 do {
91135 var a = this.build[i];
91136 var b = other.build[i];
91137 debug_1$1('prerelease compare', i, a, b);
91138
91139 if (a === undefined && b === undefined) {
91140 return 0;
91141 } else if (b === undefined) {
91142 return 1;
91143 } else if (a === undefined) {
91144 return -1;
91145 } else if (a === b) {
91146 continue;
91147 } else {
91148 return compareIdentifiers$2(a, b);
91149 }
91150 } while (++i);
91151 };
91152
91153 _proto.inc = function inc(release, identifier) {
91154 switch (release) {
91155 case 'premajor':
91156 this.prerelease.length = 0;
91157 this.patch = 0;
91158 this.minor = 0;
91159 this.major++;
91160 this.inc('pre', identifier);
91161 break;
91162
91163 case 'preminor':
91164 this.prerelease.length = 0;
91165 this.patch = 0;
91166 this.minor++;
91167 this.inc('pre', identifier);
91168 break;
91169
91170 case 'prepatch':
91171 this.prerelease.length = 0;
91172 this.inc('patch', identifier);
91173 this.inc('pre', identifier);
91174 break;
91175
91176 case 'prerelease':
91177 if (this.prerelease.length === 0) {
91178 this.inc('patch', identifier);
91179 }
91180
91181 this.inc('pre', identifier);
91182 break;
91183
91184 case 'major':
91185 if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
91186 this.major++;
91187 }
91188
91189 this.minor = 0;
91190 this.patch = 0;
91191 this.prerelease = [];
91192 break;
91193
91194 case 'minor':
91195 if (this.patch !== 0 || this.prerelease.length === 0) {
91196 this.minor++;
91197 }
91198
91199 this.patch = 0;
91200 this.prerelease = [];
91201 break;
91202
91203 case 'patch':
91204 if (this.prerelease.length === 0) {
91205 this.patch++;
91206 }
91207
91208 this.prerelease = [];
91209 break;
91210
91211 case 'pre':
91212 if (this.prerelease.length === 0) {
91213 this.prerelease = [0];
91214 } else {
91215 var i = this.prerelease.length;
91216
91217 while (--i >= 0) {
91218 if (typeof this.prerelease[i] === 'number') {
91219 this.prerelease[i]++;
91220 i = -2;
91221 }
91222 }
91223
91224 if (i === -1) {
91225 this.prerelease.push(0);
91226 }
91227 }
91228
91229 if (identifier) {
91230 if (this.prerelease[0] === identifier) {
91231 if (isNaN(this.prerelease[1])) {
91232 this.prerelease = [identifier, 0];
91233 }
91234 } else {
91235 this.prerelease = [identifier, 0];
91236 }
91237 }
91238
91239 break;
91240
91241 default:
91242 throw new Error("invalid increment argument: " + release);
91243 }
91244
91245 this.format();
91246 this.raw = this.version;
91247 return this;
91248 };
91249
91250 return SemVer;
91251 }();
91252
91253 var semver$6 = SemVer$1;
91254
91255 var MAX_LENGTH$3 = constants$1.MAX_LENGTH;
91256 var re$6 = re_1$1.re,
91257 t$d = re_1$1.t;
91258
91259 var parse$1 = function parse(version, options) {
91260 options = parseOptions_1(options);
91261
91262 if (version instanceof semver$6) {
91263 return version;
91264 }
91265
91266 if (typeof version !== 'string') {
91267 return null;
91268 }
91269
91270 if (version.length > MAX_LENGTH$3) {
91271 return null;
91272 }
91273
91274 var r = options.loose ? re$6[t$d.LOOSE] : re$6[t$d.FULL];
91275
91276 if (!r.test(version)) {
91277 return null;
91278 }
91279
91280 try {
91281 return new semver$6(version, options);
91282 } catch (er) {
91283 return null;
91284 }
91285 };
91286
91287 var parse_1$1 = parse$1;
91288
91289 var valid$1 = function valid(version, options) {
91290 var v = parse_1$1(version, options);
91291 return v ? v.version : null;
91292 };
91293
91294 var valid_1 = valid$1;
91295
91296 var clean = function clean(version, options) {
91297 var s = parse_1$1(version.trim().replace(/^[=v]+/, ''), options);
91298 return s ? s.version : null;
91299 };
91300
91301 var clean_1 = clean;
91302
91303 var inc = function inc(version, release, options, identifier) {
91304 if (typeof options === 'string') {
91305 identifier = options;
91306 options = undefined;
91307 }
91308
91309 try {
91310 return new semver$6(version, options).inc(release, identifier).version;
91311 } catch (er) {
91312 return null;
91313 }
91314 };
91315
91316 var inc_1 = inc;
91317
91318 var compare$3 = function compare(a, b, loose) {
91319 return new semver$6(a, loose).compare(new semver$6(b, loose));
91320 };
91321
91322 var compare_1$1 = compare$3;
91323
91324 var eq$1 = function eq(a, b, loose) {
91325 return compare_1$1(a, b, loose) === 0;
91326 };
91327
91328 var eq_1$1 = eq$1;
91329
91330 var diff = function diff(version1, version2) {
91331 if (eq_1$1(version1, version2)) {
91332 return null;
91333 } else {
91334 var v1 = parse_1$1(version1);
91335 var v2 = parse_1$1(version2);
91336 var hasPre = v1.prerelease.length || v2.prerelease.length;
91337 var prefix = hasPre ? 'pre' : '';
91338 var defaultResult = hasPre ? 'prerelease' : '';
91339
91340 for (var key in v1) {
91341 if (key === 'major' || key === 'minor' || key === 'patch') {
91342 if (v1[key] !== v2[key]) {
91343 return prefix + key;
91344 }
91345 }
91346 }
91347
91348 return defaultResult;
91349 }
91350 };
91351
91352 var diff_1 = diff;
91353
91354 var major = function major(a, loose) {
91355 return new semver$6(a, loose).major;
91356 };
91357
91358 var major_1 = major;
91359
91360 var minor = function minor(a, loose) {
91361 return new semver$6(a, loose).minor;
91362 };
91363
91364 var minor_1 = minor;
91365
91366 var patch = function patch(a, loose) {
91367 return new semver$6(a, loose).patch;
91368 };
91369
91370 var patch_1 = patch;
91371
91372 var prerelease = function prerelease(version, options) {
91373 var parsed = parse_1$1(version, options);
91374 return parsed && parsed.prerelease.length ? parsed.prerelease : null;
91375 };
91376
91377 var prerelease_1 = prerelease;
91378
91379 var rcompare = function rcompare(a, b, loose) {
91380 return compare_1$1(b, a, loose);
91381 };
91382
91383 var rcompare_1 = rcompare;
91384
91385 var compareLoose = function compareLoose(a, b) {
91386 return compare_1$1(a, b, true);
91387 };
91388
91389 var compareLoose_1 = compareLoose;
91390
91391 var compareBuild = function compareBuild(a, b, loose) {
91392 var versionA = new semver$6(a, loose);
91393 var versionB = new semver$6(b, loose);
91394 return versionA.compare(versionB) || versionA.compareBuild(versionB);
91395 };
91396
91397 var compareBuild_1 = compareBuild;
91398
91399 var sort = function sort(list, loose) {
91400 return list.sort(function (a, b) {
91401 return compareBuild_1(a, b, loose);
91402 });
91403 };
91404
91405 var sort_1 = sort;
91406
91407 var rsort = function rsort(list, loose) {
91408 return list.sort(function (a, b) {
91409 return compareBuild_1(b, a, loose);
91410 });
91411 };
91412
91413 var rsort_1 = rsort;
91414
91415 var gt$1 = function gt(a, b, loose) {
91416 return compare_1$1(a, b, loose) > 0;
91417 };
91418
91419 var gt_1$1 = gt$1;
91420
91421 var lt$1 = function lt(a, b, loose) {
91422 return compare_1$1(a, b, loose) < 0;
91423 };
91424
91425 var lt_1$1 = lt$1;
91426
91427 var neq$1 = function neq(a, b, loose) {
91428 return compare_1$1(a, b, loose) !== 0;
91429 };
91430
91431 var neq_1$1 = neq$1;
91432
91433 var gte$1 = function gte(a, b, loose) {
91434 return compare_1$1(a, b, loose) >= 0;
91435 };
91436
91437 var gte_1$1 = gte$1;
91438
91439 var lte$1 = function lte(a, b, loose) {
91440 return compare_1$1(a, b, loose) <= 0;
91441 };
91442
91443 var lte_1$1 = lte$1;
91444
91445 var cmp$1 = function cmp(a, op, b, loose) {
91446 switch (op) {
91447 case '===':
91448 if (typeof a === 'object') a = a.version;
91449 if (typeof b === 'object') b = b.version;
91450 return a === b;
91451
91452 case '!==':
91453 if (typeof a === 'object') a = a.version;
91454 if (typeof b === 'object') b = b.version;
91455 return a !== b;
91456
91457 case '':
91458 case '=':
91459 case '==':
91460 return eq_1$1(a, b, loose);
91461
91462 case '!=':
91463 return neq_1$1(a, b, loose);
91464
91465 case '>':
91466 return gt_1$1(a, b, loose);
91467
91468 case '>=':
91469 return gte_1$1(a, b, loose);
91470
91471 case '<':
91472 return lt_1$1(a, b, loose);
91473
91474 case '<=':
91475 return lte_1$1(a, b, loose);
91476
91477 default:
91478 throw new TypeError("Invalid operator: " + op);
91479 }
91480 };
91481
91482 var cmp_1$1 = cmp$1;
91483
91484 var re$5 = re_1$1.re,
91485 t$c = re_1$1.t;
91486
91487 var coerce$1 = function coerce(version, options) {
91488 if (version instanceof semver$6) {
91489 return version;
91490 }
91491
91492 if (typeof version === 'number') {
91493 version = String(version);
91494 }
91495
91496 if (typeof version !== 'string') {
91497 return null;
91498 }
91499
91500 options = options || {};
91501 var match = null;
91502
91503 if (!options.rtl) {
91504 match = version.match(re$5[t$c.COERCE]);
91505 } else {
91506 var next;
91507
91508 while ((next = re$5[t$c.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
91509 if (!match || next.index + next[0].length !== match.index + match[0].length) {
91510 match = next;
91511 }
91512
91513 re$5[t$c.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
91514 }
91515
91516 re$5[t$c.COERCERTL].lastIndex = -1;
91517 }
91518
91519 if (match === null) return null;
91520 return parse_1$1(match[2] + "." + (match[3] || '0') + "." + (match[4] || '0'), options);
91521 };
91522
91523 var coerce_1$1 = coerce$1;
91524
91525 var iterator = function iterator(Yallist) {
91526 Yallist.prototype[Symbol.iterator] = regenerator.mark(function _callee() {
91527 var walker;
91528 return regenerator.wrap(function _callee$(_context) {
91529 while (1) {
91530 switch (_context.prev = _context.next) {
91531 case 0:
91532 walker = this.head;
91533
91534 case 1:
91535 if (!walker) {
91536 _context.next = 7;
91537 break;
91538 }
91539
91540 _context.next = 4;
91541 return walker.value;
91542
91543 case 4:
91544 walker = walker.next;
91545 _context.next = 1;
91546 break;
91547
91548 case 7:
91549 case "end":
91550 return _context.stop();
91551 }
91552 }
91553 }, _callee, this);
91554 });
91555 };
91556
91557 var yallist = Yallist;
91558 Yallist.Node = Node;
91559 Yallist.create = Yallist;
91560
91561 function Yallist(list) {
91562 var self = this;
91563
91564 if (!(self instanceof Yallist)) {
91565 self = new Yallist();
91566 }
91567
91568 self.tail = null;
91569 self.head = null;
91570 self.length = 0;
91571
91572 if (list && typeof list.forEach === 'function') {
91573 list.forEach(function (item) {
91574 self.push(item);
91575 });
91576 } else if (arguments.length > 0) {
91577 for (var i = 0, l = arguments.length; i < l; i++) {
91578 self.push(arguments[i]);
91579 }
91580 }
91581
91582 return self;
91583 }
91584
91585 Yallist.prototype.removeNode = function (node) {
91586 if (node.list !== this) {
91587 throw new Error('removing node which does not belong to this list');
91588 }
91589
91590 var next = node.next;
91591 var prev = node.prev;
91592
91593 if (next) {
91594 next.prev = prev;
91595 }
91596
91597 if (prev) {
91598 prev.next = next;
91599 }
91600
91601 if (node === this.head) {
91602 this.head = next;
91603 }
91604
91605 if (node === this.tail) {
91606 this.tail = prev;
91607 }
91608
91609 node.list.length--;
91610 node.next = null;
91611 node.prev = null;
91612 node.list = null;
91613 return next;
91614 };
91615
91616 Yallist.prototype.unshiftNode = function (node) {
91617 if (node === this.head) {
91618 return;
91619 }
91620
91621 if (node.list) {
91622 node.list.removeNode(node);
91623 }
91624
91625 var head = this.head;
91626 node.list = this;
91627 node.next = head;
91628
91629 if (head) {
91630 head.prev = node;
91631 }
91632
91633 this.head = node;
91634
91635 if (!this.tail) {
91636 this.tail = node;
91637 }
91638
91639 this.length++;
91640 };
91641
91642 Yallist.prototype.pushNode = function (node) {
91643 if (node === this.tail) {
91644 return;
91645 }
91646
91647 if (node.list) {
91648 node.list.removeNode(node);
91649 }
91650
91651 var tail = this.tail;
91652 node.list = this;
91653 node.prev = tail;
91654
91655 if (tail) {
91656 tail.next = node;
91657 }
91658
91659 this.tail = node;
91660
91661 if (!this.head) {
91662 this.head = node;
91663 }
91664
91665 this.length++;
91666 };
91667
91668 Yallist.prototype.push = function () {
91669 for (var i = 0, l = arguments.length; i < l; i++) {
91670 push(this, arguments[i]);
91671 }
91672
91673 return this.length;
91674 };
91675
91676 Yallist.prototype.unshift = function () {
91677 for (var i = 0, l = arguments.length; i < l; i++) {
91678 unshift(this, arguments[i]);
91679 }
91680
91681 return this.length;
91682 };
91683
91684 Yallist.prototype.pop = function () {
91685 if (!this.tail) {
91686 return undefined;
91687 }
91688
91689 var res = this.tail.value;
91690 this.tail = this.tail.prev;
91691
91692 if (this.tail) {
91693 this.tail.next = null;
91694 } else {
91695 this.head = null;
91696 }
91697
91698 this.length--;
91699 return res;
91700 };
91701
91702 Yallist.prototype.shift = function () {
91703 if (!this.head) {
91704 return undefined;
91705 }
91706
91707 var res = this.head.value;
91708 this.head = this.head.next;
91709
91710 if (this.head) {
91711 this.head.prev = null;
91712 } else {
91713 this.tail = null;
91714 }
91715
91716 this.length--;
91717 return res;
91718 };
91719
91720 Yallist.prototype.forEach = function (fn, thisp) {
91721 thisp = thisp || this;
91722
91723 for (var walker = this.head, i = 0; walker !== null; i++) {
91724 fn.call(thisp, walker.value, i, this);
91725 walker = walker.next;
91726 }
91727 };
91728
91729 Yallist.prototype.forEachReverse = function (fn, thisp) {
91730 thisp = thisp || this;
91731
91732 for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
91733 fn.call(thisp, walker.value, i, this);
91734 walker = walker.prev;
91735 }
91736 };
91737
91738 Yallist.prototype.get = function (n) {
91739 for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
91740 walker = walker.next;
91741 }
91742
91743 if (i === n && walker !== null) {
91744 return walker.value;
91745 }
91746 };
91747
91748 Yallist.prototype.getReverse = function (n) {
91749 for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
91750 walker = walker.prev;
91751 }
91752
91753 if (i === n && walker !== null) {
91754 return walker.value;
91755 }
91756 };
91757
91758 Yallist.prototype.map = function (fn, thisp) {
91759 thisp = thisp || this;
91760 var res = new Yallist();
91761
91762 for (var walker = this.head; walker !== null;) {
91763 res.push(fn.call(thisp, walker.value, this));
91764 walker = walker.next;
91765 }
91766
91767 return res;
91768 };
91769
91770 Yallist.prototype.mapReverse = function (fn, thisp) {
91771 thisp = thisp || this;
91772 var res = new Yallist();
91773
91774 for (var walker = this.tail; walker !== null;) {
91775 res.push(fn.call(thisp, walker.value, this));
91776 walker = walker.prev;
91777 }
91778
91779 return res;
91780 };
91781
91782 Yallist.prototype.reduce = function (fn, initial) {
91783 var acc;
91784 var walker = this.head;
91785
91786 if (arguments.length > 1) {
91787 acc = initial;
91788 } else if (this.head) {
91789 walker = this.head.next;
91790 acc = this.head.value;
91791 } else {
91792 throw new TypeError('Reduce of empty list with no initial value');
91793 }
91794
91795 for (var i = 0; walker !== null; i++) {
91796 acc = fn(acc, walker.value, i);
91797 walker = walker.next;
91798 }
91799
91800 return acc;
91801 };
91802
91803 Yallist.prototype.reduceReverse = function (fn, initial) {
91804 var acc;
91805 var walker = this.tail;
91806
91807 if (arguments.length > 1) {
91808 acc = initial;
91809 } else if (this.tail) {
91810 walker = this.tail.prev;
91811 acc = this.tail.value;
91812 } else {
91813 throw new TypeError('Reduce of empty list with no initial value');
91814 }
91815
91816 for (var i = this.length - 1; walker !== null; i--) {
91817 acc = fn(acc, walker.value, i);
91818 walker = walker.prev;
91819 }
91820
91821 return acc;
91822 };
91823
91824 Yallist.prototype.toArray = function () {
91825 var arr = new Array(this.length);
91826
91827 for (var i = 0, walker = this.head; walker !== null; i++) {
91828 arr[i] = walker.value;
91829 walker = walker.next;
91830 }
91831
91832 return arr;
91833 };
91834
91835 Yallist.prototype.toArrayReverse = function () {
91836 var arr = new Array(this.length);
91837
91838 for (var i = 0, walker = this.tail; walker !== null; i++) {
91839 arr[i] = walker.value;
91840 walker = walker.prev;
91841 }
91842
91843 return arr;
91844 };
91845
91846 Yallist.prototype.slice = function (from, to) {
91847 to = to || this.length;
91848
91849 if (to < 0) {
91850 to += this.length;
91851 }
91852
91853 from = from || 0;
91854
91855 if (from < 0) {
91856 from += this.length;
91857 }
91858
91859 var ret = new Yallist();
91860
91861 if (to < from || to < 0) {
91862 return ret;
91863 }
91864
91865 if (from < 0) {
91866 from = 0;
91867 }
91868
91869 if (to > this.length) {
91870 to = this.length;
91871 }
91872
91873 for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
91874 walker = walker.next;
91875 }
91876
91877 for (; walker !== null && i < to; i++, walker = walker.next) {
91878 ret.push(walker.value);
91879 }
91880
91881 return ret;
91882 };
91883
91884 Yallist.prototype.sliceReverse = function (from, to) {
91885 to = to || this.length;
91886
91887 if (to < 0) {
91888 to += this.length;
91889 }
91890
91891 from = from || 0;
91892
91893 if (from < 0) {
91894 from += this.length;
91895 }
91896
91897 var ret = new Yallist();
91898
91899 if (to < from || to < 0) {
91900 return ret;
91901 }
91902
91903 if (from < 0) {
91904 from = 0;
91905 }
91906
91907 if (to > this.length) {
91908 to = this.length;
91909 }
91910
91911 for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
91912 walker = walker.prev;
91913 }
91914
91915 for (; walker !== null && i > from; i--, walker = walker.prev) {
91916 ret.push(walker.value);
91917 }
91918
91919 return ret;
91920 };
91921
91922 Yallist.prototype.splice = function (start, deleteCount) {
91923 if (start > this.length) {
91924 start = this.length - 1;
91925 }
91926
91927 if (start < 0) {
91928 start = this.length + start;
91929 }
91930
91931 for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
91932 walker = walker.next;
91933 }
91934
91935 var ret = [];
91936
91937 for (var i = 0; walker && i < deleteCount; i++) {
91938 ret.push(walker.value);
91939 walker = this.removeNode(walker);
91940 }
91941
91942 if (walker === null) {
91943 walker = this.tail;
91944 }
91945
91946 if (walker !== this.head && walker !== this.tail) {
91947 walker = walker.prev;
91948 }
91949
91950 for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) {
91951 walker = insert(this, walker, i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]);
91952 }
91953
91954 return ret;
91955 };
91956
91957 Yallist.prototype.reverse = function () {
91958 var head = this.head;
91959 var tail = this.tail;
91960
91961 for (var walker = head; walker !== null; walker = walker.prev) {
91962 var p = walker.prev;
91963 walker.prev = walker.next;
91964 walker.next = p;
91965 }
91966
91967 this.head = tail;
91968 this.tail = head;
91969 return this;
91970 };
91971
91972 function insert(self, node, value) {
91973 var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self);
91974
91975 if (inserted.next === null) {
91976 self.tail = inserted;
91977 }
91978
91979 if (inserted.prev === null) {
91980 self.head = inserted;
91981 }
91982
91983 self.length++;
91984 return inserted;
91985 }
91986
91987 function push(self, item) {
91988 self.tail = new Node(item, self.tail, null, self);
91989
91990 if (!self.head) {
91991 self.head = self.tail;
91992 }
91993
91994 self.length++;
91995 }
91996
91997 function unshift(self, item) {
91998 self.head = new Node(item, null, self.head, self);
91999
92000 if (!self.tail) {
92001 self.tail = self.head;
92002 }
92003
92004 self.length++;
92005 }
92006
92007 function Node(value, prev, next, list) {
92008 if (!(this instanceof Node)) {
92009 return new Node(value, prev, next, list);
92010 }
92011
92012 this.list = list;
92013 this.value = value;
92014
92015 if (prev) {
92016 prev.next = this;
92017 this.prev = prev;
92018 } else {
92019 this.prev = null;
92020 }
92021
92022 if (next) {
92023 next.prev = this;
92024 this.next = next;
92025 } else {
92026 this.next = null;
92027 }
92028 }
92029
92030 try {
92031 iterator(Yallist);
92032 } catch (er) {}
92033
92034 var MAX = Symbol('max');
92035 var LENGTH = Symbol('length');
92036 var LENGTH_CALCULATOR = Symbol('lengthCalculator');
92037 var ALLOW_STALE = Symbol('allowStale');
92038 var MAX_AGE = Symbol('maxAge');
92039 var DISPOSE = Symbol('dispose');
92040 var NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet');
92041 var LRU_LIST = Symbol('lruList');
92042 var CACHE = Symbol('cache');
92043 var UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet');
92044
92045 var naiveLength = function naiveLength() {
92046 return 1;
92047 };
92048
92049 var LRUCache = function () {
92050 function LRUCache(options) {
92051 if (typeof options === 'number') options = {
92052 max: options
92053 };
92054 if (!options) options = {};
92055 if (options.max && (typeof options.max !== 'number' || options.max < 0)) throw new TypeError('max must be a non-negative number');
92056 this[MAX] = options.max || Infinity;
92057 var lc = options.length || naiveLength;
92058 this[LENGTH_CALCULATOR] = typeof lc !== 'function' ? naiveLength : lc;
92059 this[ALLOW_STALE] = options.stale || false;
92060 if (options.maxAge && typeof options.maxAge !== 'number') throw new TypeError('maxAge must be a number');
92061 this[MAX_AGE] = options.maxAge || 0;
92062 this[DISPOSE] = options.dispose;
92063 this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
92064 this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
92065 this.reset();
92066 }
92067
92068 var _proto = LRUCache.prototype;
92069
92070 _proto.rforEach = function rforEach(fn, thisp) {
92071 thisp = thisp || this;
92072
92073 for (var walker = this[LRU_LIST].tail; walker !== null;) {
92074 var prev = walker.prev;
92075 forEachStep(this, fn, walker, thisp);
92076 walker = prev;
92077 }
92078 };
92079
92080 _proto.forEach = function forEach(fn, thisp) {
92081 thisp = thisp || this;
92082
92083 for (var walker = this[LRU_LIST].head; walker !== null;) {
92084 var next = walker.next;
92085 forEachStep(this, fn, walker, thisp);
92086 walker = next;
92087 }
92088 };
92089
92090 _proto.keys = function keys() {
92091 return this[LRU_LIST].toArray().map(function (k) {
92092 return k.key;
92093 });
92094 };
92095
92096 _proto.values = function values() {
92097 return this[LRU_LIST].toArray().map(function (k) {
92098 return k.value;
92099 });
92100 };
92101
92102 _proto.reset = function reset() {
92103 var _this = this;
92104
92105 if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {
92106 this[LRU_LIST].forEach(function (hit) {
92107 return _this[DISPOSE](hit.key, hit.value);
92108 });
92109 }
92110
92111 this[CACHE] = new Map();
92112 this[LRU_LIST] = new yallist();
92113 this[LENGTH] = 0;
92114 };
92115
92116 _proto.dump = function dump() {
92117 var _this2 = this;
92118
92119 return this[LRU_LIST].map(function (hit) {
92120 return isStale(_this2, hit) ? false : {
92121 k: hit.key,
92122 v: hit.value,
92123 e: hit.now + (hit.maxAge || 0)
92124 };
92125 }).toArray().filter(function (h) {
92126 return h;
92127 });
92128 };
92129
92130 _proto.dumpLru = function dumpLru() {
92131 return this[LRU_LIST];
92132 };
92133
92134 _proto.set = function set(key, value, maxAge) {
92135 maxAge = maxAge || this[MAX_AGE];
92136 if (maxAge && typeof maxAge !== 'number') throw new TypeError('maxAge must be a number');
92137 var now = maxAge ? Date.now() : 0;
92138 var len = this[LENGTH_CALCULATOR](value, key);
92139
92140 if (this[CACHE].has(key)) {
92141 if (len > this[MAX]) {
92142 _del(this, this[CACHE].get(key));
92143
92144 return false;
92145 }
92146
92147 var node = this[CACHE].get(key);
92148 var item = node.value;
92149
92150 if (this[DISPOSE]) {
92151 if (!this[NO_DISPOSE_ON_SET]) this[DISPOSE](key, item.value);
92152 }
92153
92154 item.now = now;
92155 item.maxAge = maxAge;
92156 item.value = value;
92157 this[LENGTH] += len - item.length;
92158 item.length = len;
92159 this.get(key);
92160 trim(this);
92161 return true;
92162 }
92163
92164 var hit = new Entry(key, value, len, now, maxAge);
92165
92166 if (hit.length > this[MAX]) {
92167 if (this[DISPOSE]) this[DISPOSE](key, value);
92168 return false;
92169 }
92170
92171 this[LENGTH] += hit.length;
92172 this[LRU_LIST].unshift(hit);
92173 this[CACHE].set(key, this[LRU_LIST].head);
92174 trim(this);
92175 return true;
92176 };
92177
92178 _proto.has = function has(key) {
92179 if (!this[CACHE].has(key)) return false;
92180 var hit = this[CACHE].get(key).value;
92181 return !isStale(this, hit);
92182 };
92183
92184 _proto.get = function get(key) {
92185 return _get(this, key, true);
92186 };
92187
92188 _proto.peek = function peek(key) {
92189 return _get(this, key, false);
92190 };
92191
92192 _proto.pop = function pop() {
92193 var node = this[LRU_LIST].tail;
92194 if (!node) return null;
92195
92196 _del(this, node);
92197
92198 return node.value;
92199 };
92200
92201 _proto.del = function del(key) {
92202 _del(this, this[CACHE].get(key));
92203 };
92204
92205 _proto.load = function load(arr) {
92206 this.reset();
92207 var now = Date.now();
92208
92209 for (var l = arr.length - 1; l >= 0; l--) {
92210 var hit = arr[l];
92211 var expiresAt = hit.e || 0;
92212 if (expiresAt === 0) this.set(hit.k, hit.v);else {
92213 var maxAge = expiresAt - now;
92214
92215 if (maxAge > 0) {
92216 this.set(hit.k, hit.v, maxAge);
92217 }
92218 }
92219 }
92220 };
92221
92222 _proto.prune = function prune() {
92223 var _this3 = this;
92224
92225 this[CACHE].forEach(function (value, key) {
92226 return _get(_this3, key, false);
92227 });
92228 };
92229
92230 _createClass(LRUCache, [{
92231 key: "max",
92232 get: function get() {
92233 return this[MAX];
92234 },
92235 set: function set(mL) {
92236 if (typeof mL !== 'number' || mL < 0) throw new TypeError('max must be a non-negative number');
92237 this[MAX] = mL || Infinity;
92238 trim(this);
92239 }
92240 }, {
92241 key: "allowStale",
92242 get: function get() {
92243 return this[ALLOW_STALE];
92244 },
92245 set: function set(allowStale) {
92246 this[ALLOW_STALE] = !!allowStale;
92247 }
92248 }, {
92249 key: "maxAge",
92250 get: function get() {
92251 return this[MAX_AGE];
92252 },
92253 set: function set(mA) {
92254 if (typeof mA !== 'number') throw new TypeError('maxAge must be a non-negative number');
92255 this[MAX_AGE] = mA;
92256 trim(this);
92257 }
92258 }, {
92259 key: "lengthCalculator",
92260 get: function get() {
92261 return this[LENGTH_CALCULATOR];
92262 },
92263 set: function set(lC) {
92264 var _this4 = this;
92265
92266 if (typeof lC !== 'function') lC = naiveLength;
92267
92268 if (lC !== this[LENGTH_CALCULATOR]) {
92269 this[LENGTH_CALCULATOR] = lC;
92270 this[LENGTH] = 0;
92271 this[LRU_LIST].forEach(function (hit) {
92272 hit.length = _this4[LENGTH_CALCULATOR](hit.value, hit.key);
92273 _this4[LENGTH] += hit.length;
92274 });
92275 }
92276
92277 trim(this);
92278 }
92279 }, {
92280 key: "length",
92281 get: function get() {
92282 return this[LENGTH];
92283 }
92284 }, {
92285 key: "itemCount",
92286 get: function get() {
92287 return this[LRU_LIST].length;
92288 }
92289 }]);
92290
92291 return LRUCache;
92292 }();
92293
92294 var _get = function _get(self, key, doUse) {
92295 var node = self[CACHE].get(key);
92296
92297 if (node) {
92298 var hit = node.value;
92299
92300 if (isStale(self, hit)) {
92301 _del(self, node);
92302
92303 if (!self[ALLOW_STALE]) return undefined;
92304 } else {
92305 if (doUse) {
92306 if (self[UPDATE_AGE_ON_GET]) node.value.now = Date.now();
92307 self[LRU_LIST].unshiftNode(node);
92308 }
92309 }
92310
92311 return hit.value;
92312 }
92313 };
92314
92315 var isStale = function isStale(self, hit) {
92316 if (!hit || !hit.maxAge && !self[MAX_AGE]) return false;
92317 var diff = Date.now() - hit.now;
92318 return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE] && diff > self[MAX_AGE];
92319 };
92320
92321 var trim = function trim(self) {
92322 if (self[LENGTH] > self[MAX]) {
92323 for (var walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null;) {
92324 var prev = walker.prev;
92325
92326 _del(self, walker);
92327
92328 walker = prev;
92329 }
92330 }
92331 };
92332
92333 var _del = function _del(self, node) {
92334 if (node) {
92335 var hit = node.value;
92336 if (self[DISPOSE]) self[DISPOSE](hit.key, hit.value);
92337 self[LENGTH] -= hit.length;
92338 self[CACHE]["delete"](hit.key);
92339 self[LRU_LIST].removeNode(node);
92340 }
92341 };
92342
92343 var Entry = function Entry(key, value, length, now, maxAge) {
92344 this.key = key;
92345 this.value = value;
92346 this.length = length;
92347 this.now = now;
92348 this.maxAge = maxAge || 0;
92349 };
92350
92351 var forEachStep = function forEachStep(self, fn, node, thisp) {
92352 var hit = node.value;
92353
92354 if (isStale(self, hit)) {
92355 _del(self, node);
92356
92357 if (!self[ALLOW_STALE]) hit = undefined;
92358 }
92359
92360 if (hit) fn.call(thisp, hit.value, hit.key, self);
92361 };
92362
92363 var lruCache = LRUCache;
92364
92365 var Range = function () {
92366 function Range(range, options) {
92367 var _this = this;
92368
92369 options = parseOptions_1(options);
92370
92371 if (range instanceof Range) {
92372 if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
92373 return range;
92374 } else {
92375 return new Range(range.raw, options);
92376 }
92377 }
92378
92379 if (range instanceof comparator) {
92380 this.raw = range.value;
92381 this.set = [[range]];
92382 this.format();
92383 return this;
92384 }
92385
92386 this.options = options;
92387 this.loose = !!options.loose;
92388 this.includePrerelease = !!options.includePrerelease;
92389 this.raw = range;
92390 this.set = range.split(/\s*\|\|\s*/).map(function (range) {
92391 return _this.parseRange(range.trim());
92392 }).filter(function (c) {
92393 return c.length;
92394 });
92395
92396 if (!this.set.length) {
92397 throw new TypeError("Invalid SemVer Range: " + range);
92398 }
92399
92400 if (this.set.length > 1) {
92401 var first = this.set[0];
92402 this.set = this.set.filter(function (c) {
92403 return !isNullSet(c[0]);
92404 });
92405 if (this.set.length === 0) this.set = [first];else if (this.set.length > 1) {
92406 for (var _iterator = _createForOfIteratorHelperLoose(this.set), _step; !(_step = _iterator()).done;) {
92407 var c = _step.value;
92408
92409 if (c.length === 1 && isAny(c[0])) {
92410 this.set = [c];
92411 break;
92412 }
92413 }
92414 }
92415 }
92416
92417 this.format();
92418 }
92419
92420 var _proto = Range.prototype;
92421
92422 _proto.format = function format() {
92423 this.range = this.set.map(function (comps) {
92424 return comps.join(' ').trim();
92425 }).join('||').trim();
92426 return this.range;
92427 };
92428
92429 _proto.toString = function toString() {
92430 return this.range;
92431 };
92432
92433 _proto.parseRange = function parseRange(range) {
92434 var _this2 = this;
92435
92436 range = range.trim();
92437 var memoOpts = Object.keys(this.options).join(',');
92438 var memoKey = "parseRange:" + memoOpts + ":" + range;
92439 var cached = cache.get(memoKey);
92440 if (cached) return cached;
92441 var loose = this.options.loose;
92442 var hr = loose ? re$4[t$b.HYPHENRANGELOOSE] : re$4[t$b.HYPHENRANGE];
92443 range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
92444 debug_1$1('hyphen replace', range);
92445 range = range.replace(re$4[t$b.COMPARATORTRIM], comparatorTrimReplace);
92446 debug_1$1('comparator trim', range, re$4[t$b.COMPARATORTRIM]);
92447 range = range.replace(re$4[t$b.TILDETRIM], tildeTrimReplace);
92448 range = range.replace(re$4[t$b.CARETTRIM], caretTrimReplace);
92449 range = range.split(/\s+/).join(' ');
92450 var compRe = loose ? re$4[t$b.COMPARATORLOOSE] : re$4[t$b.COMPARATOR];
92451 var rangeList = range.split(' ').map(function (comp) {
92452 return parseComparator(comp, _this2.options);
92453 }).join(' ').split(/\s+/).map(function (comp) {
92454 return replaceGTE0(comp, _this2.options);
92455 }).filter(this.options.loose ? function (comp) {
92456 return !!comp.match(compRe);
92457 } : function () {
92458 return true;
92459 }).map(function (comp) {
92460 return new comparator(comp, _this2.options);
92461 });
92462 rangeList.length;
92463 var rangeMap = new Map();
92464
92465 for (var _iterator2 = _createForOfIteratorHelperLoose(rangeList), _step2; !(_step2 = _iterator2()).done;) {
92466 var comp = _step2.value;
92467 if (isNullSet(comp)) return [comp];
92468 rangeMap.set(comp.value, comp);
92469 }
92470
92471 if (rangeMap.size > 1 && rangeMap.has('')) rangeMap["delete"]('');
92472
92473 var result = _toConsumableArray(rangeMap.values());
92474
92475 cache.set(memoKey, result);
92476 return result;
92477 };
92478
92479 _proto.intersects = function intersects(range, options) {
92480 if (!(range instanceof Range)) {
92481 throw new TypeError('a Range is required');
92482 }
92483
92484 return this.set.some(function (thisComparators) {
92485 return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
92486 return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
92487 return rangeComparators.every(function (rangeComparator) {
92488 return thisComparator.intersects(rangeComparator, options);
92489 });
92490 });
92491 });
92492 });
92493 };
92494
92495 _proto.test = function test(version) {
92496 if (!version) {
92497 return false;
92498 }
92499
92500 if (typeof version === 'string') {
92501 try {
92502 version = new semver$6(version, this.options);
92503 } catch (er) {
92504 return false;
92505 }
92506 }
92507
92508 for (var i = 0; i < this.set.length; i++) {
92509 if (testSet(this.set[i], version, this.options)) {
92510 return true;
92511 }
92512 }
92513
92514 return false;
92515 };
92516
92517 return Range;
92518 }();
92519
92520 var range = Range;
92521 var cache = new lruCache({
92522 max: 1000
92523 });
92524 var re$4 = re_1$1.re,
92525 t$b = re_1$1.t,
92526 comparatorTrimReplace = re_1$1.comparatorTrimReplace,
92527 tildeTrimReplace = re_1$1.tildeTrimReplace,
92528 caretTrimReplace = re_1$1.caretTrimReplace;
92529
92530 var isNullSet = function isNullSet(c) {
92531 return c.value === '<0.0.0-0';
92532 };
92533
92534 var isAny = function isAny(c) {
92535 return c.value === '';
92536 };
92537
92538 var isSatisfiable = function isSatisfiable(comparators, options) {
92539 var result = true;
92540 var remainingComparators = comparators.slice();
92541 var testComparator = remainingComparators.pop();
92542
92543 while (result && remainingComparators.length) {
92544 result = remainingComparators.every(function (otherComparator) {
92545 return testComparator.intersects(otherComparator, options);
92546 });
92547 testComparator = remainingComparators.pop();
92548 }
92549
92550 return result;
92551 };
92552
92553 var parseComparator = function parseComparator(comp, options) {
92554 debug_1$1('comp', comp, options);
92555 comp = replaceCarets(comp, options);
92556 debug_1$1('caret', comp);
92557 comp = replaceTildes(comp, options);
92558 debug_1$1('tildes', comp);
92559 comp = replaceXRanges(comp, options);
92560 debug_1$1('xrange', comp);
92561 comp = replaceStars(comp, options);
92562 debug_1$1('stars', comp);
92563 return comp;
92564 };
92565
92566 var isX = function isX(id) {
92567 return !id || id.toLowerCase() === 'x' || id === '*';
92568 };
92569
92570 var replaceTildes = function replaceTildes(comp, options) {
92571 return comp.trim().split(/\s+/).map(function (comp) {
92572 return replaceTilde(comp, options);
92573 }).join(' ');
92574 };
92575
92576 var replaceTilde = function replaceTilde(comp, options) {
92577 var r = options.loose ? re$4[t$b.TILDELOOSE] : re$4[t$b.TILDE];
92578 return comp.replace(r, function (_, M, m, p, pr) {
92579 debug_1$1('tilde', comp, _, M, m, p, pr);
92580 var ret;
92581
92582 if (isX(M)) {
92583 ret = '';
92584 } else if (isX(m)) {
92585 ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0-0";
92586 } else if (isX(p)) {
92587 ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0-0";
92588 } else if (pr) {
92589 debug_1$1('replaceTilde pr', pr);
92590 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0-0";
92591 } else {
92592 ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0-0";
92593 }
92594
92595 debug_1$1('tilde return', ret);
92596 return ret;
92597 });
92598 };
92599
92600 var replaceCarets = function replaceCarets(comp, options) {
92601 return comp.trim().split(/\s+/).map(function (comp) {
92602 return replaceCaret(comp, options);
92603 }).join(' ');
92604 };
92605
92606 var replaceCaret = function replaceCaret(comp, options) {
92607 debug_1$1('caret', comp, options);
92608 var r = options.loose ? re$4[t$b.CARETLOOSE] : re$4[t$b.CARET];
92609 var z = options.includePrerelease ? '-0' : '';
92610 return comp.replace(r, function (_, M, m, p, pr) {
92611 debug_1$1('caret', comp, _, M, m, p, pr);
92612 var ret;
92613
92614 if (isX(M)) {
92615 ret = '';
92616 } else if (isX(m)) {
92617 ret = ">=" + M + ".0.0" + z + " <" + (+M + 1) + ".0.0-0";
92618 } else if (isX(p)) {
92619 if (M === '0') {
92620 ret = ">=" + M + "." + m + ".0" + z + " <" + M + "." + (+m + 1) + ".0-0";
92621 } else {
92622 ret = ">=" + M + "." + m + ".0" + z + " <" + (+M + 1) + ".0.0-0";
92623 }
92624 } else if (pr) {
92625 debug_1$1('replaceCaret pr', pr);
92626
92627 if (M === '0') {
92628 if (m === '0') {
92629 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1) + "-0";
92630 } else {
92631 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0-0";
92632 }
92633 } else {
92634 ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0-0";
92635 }
92636 } else {
92637 debug_1$1('no pr');
92638
92639 if (M === '0') {
92640 if (m === '0') {
92641 ret = ">=" + M + "." + m + "." + p + z + " <" + M + "." + m + "." + (+p + 1) + "-0";
92642 } else {
92643 ret = ">=" + M + "." + m + "." + p + z + " <" + M + "." + (+m + 1) + ".0-0";
92644 }
92645 } else {
92646 ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0-0";
92647 }
92648 }
92649
92650 debug_1$1('caret return', ret);
92651 return ret;
92652 });
92653 };
92654
92655 var replaceXRanges = function replaceXRanges(comp, options) {
92656 debug_1$1('replaceXRanges', comp, options);
92657 return comp.split(/\s+/).map(function (comp) {
92658 return replaceXRange(comp, options);
92659 }).join(' ');
92660 };
92661
92662 var replaceXRange = function replaceXRange(comp, options) {
92663 comp = comp.trim();
92664 var r = options.loose ? re$4[t$b.XRANGELOOSE] : re$4[t$b.XRANGE];
92665 return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
92666 debug_1$1('xRange', comp, ret, gtlt, M, m, p, pr);
92667 var xM = isX(M);
92668 var xm = xM || isX(m);
92669 var xp = xm || isX(p);
92670 var anyX = xp;
92671
92672 if (gtlt === '=' && anyX) {
92673 gtlt = '';
92674 }
92675
92676 pr = options.includePrerelease ? '-0' : '';
92677
92678 if (xM) {
92679 if (gtlt === '>' || gtlt === '<') {
92680 ret = '<0.0.0-0';
92681 } else {
92682 ret = '*';
92683 }
92684 } else if (gtlt && anyX) {
92685 if (xm) {
92686 m = 0;
92687 }
92688
92689 p = 0;
92690
92691 if (gtlt === '>') {
92692 gtlt = '>=';
92693
92694 if (xm) {
92695 M = +M + 1;
92696 m = 0;
92697 p = 0;
92698 } else {
92699 m = +m + 1;
92700 p = 0;
92701 }
92702 } else if (gtlt === '<=') {
92703 gtlt = '<';
92704
92705 if (xm) {
92706 M = +M + 1;
92707 } else {
92708 m = +m + 1;
92709 }
92710 }
92711
92712 if (gtlt === '<') pr = '-0';
92713 ret = gtlt + M + "." + m + "." + p + pr;
92714 } else if (xm) {
92715 ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0-0";
92716 } else if (xp) {
92717 ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0-0";
92718 }
92719
92720 debug_1$1('xRange return', ret);
92721 return ret;
92722 });
92723 };
92724
92725 var replaceStars = function replaceStars(comp, options) {
92726 debug_1$1('replaceStars', comp, options);
92727 return comp.trim().replace(re$4[t$b.STAR], '');
92728 };
92729
92730 var replaceGTE0 = function replaceGTE0(comp, options) {
92731 debug_1$1('replaceGTE0', comp, options);
92732 return comp.trim().replace(re$4[options.includePrerelease ? t$b.GTE0PRE : t$b.GTE0], '');
92733 };
92734
92735 var hyphenReplace = function hyphenReplace(incPr) {
92736 return function ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
92737 if (isX(fM)) {
92738 from = '';
92739 } else if (isX(fm)) {
92740 from = ">=" + fM + ".0.0" + (incPr ? '-0' : '');
92741 } else if (isX(fp)) {
92742 from = ">=" + fM + "." + fm + ".0" + (incPr ? '-0' : '');
92743 } else if (fpr) {
92744 from = ">=" + from;
92745 } else {
92746 from = ">=" + from + (incPr ? '-0' : '');
92747 }
92748
92749 if (isX(tM)) {
92750 to = '';
92751 } else if (isX(tm)) {
92752 to = "<" + (+tM + 1) + ".0.0-0";
92753 } else if (isX(tp)) {
92754 to = "<" + tM + "." + (+tm + 1) + ".0-0";
92755 } else if (tpr) {
92756 to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
92757 } else if (incPr) {
92758 to = "<" + tM + "." + tm + "." + (+tp + 1) + "-0";
92759 } else {
92760 to = "<=" + to;
92761 }
92762
92763 return (from + " " + to).trim();
92764 };
92765 };
92766
92767 var testSet = function testSet(set, version, options) {
92768 for (var i = 0; i < set.length; i++) {
92769 if (!set[i].test(version)) {
92770 return false;
92771 }
92772 }
92773
92774 if (version.prerelease.length && !options.includePrerelease) {
92775 for (var _i = 0; _i < set.length; _i++) {
92776 debug_1$1(set[_i].semver);
92777
92778 if (set[_i].semver === comparator.ANY) {
92779 continue;
92780 }
92781
92782 if (set[_i].semver.prerelease.length > 0) {
92783 var allowed = set[_i].semver;
92784
92785 if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
92786 return true;
92787 }
92788 }
92789 }
92790
92791 return false;
92792 }
92793
92794 return true;
92795 };
92796
92797 var ANY$2 = Symbol('SemVer ANY');
92798
92799 var Comparator = function () {
92800 function Comparator(comp, options) {
92801 options = parseOptions_1(options);
92802
92803 if (comp instanceof Comparator) {
92804 if (comp.loose === !!options.loose) {
92805 return comp;
92806 } else {
92807 comp = comp.value;
92808 }
92809 }
92810
92811 debug_1$1('comparator', comp, options);
92812 this.options = options;
92813 this.loose = !!options.loose;
92814 this.parse(comp);
92815
92816 if (this.semver === ANY$2) {
92817 this.value = '';
92818 } else {
92819 this.value = this.operator + this.semver.version;
92820 }
92821
92822 debug_1$1('comp', this);
92823 }
92824
92825 var _proto = Comparator.prototype;
92826
92827 _proto.parse = function parse(comp) {
92828 var r = this.options.loose ? re$3[t$a.COMPARATORLOOSE] : re$3[t$a.COMPARATOR];
92829 var m = comp.match(r);
92830
92831 if (!m) {
92832 throw new TypeError("Invalid comparator: " + comp);
92833 }
92834
92835 this.operator = m[1] !== undefined ? m[1] : '';
92836
92837 if (this.operator === '=') {
92838 this.operator = '';
92839 }
92840
92841 if (!m[2]) {
92842 this.semver = ANY$2;
92843 } else {
92844 this.semver = new semver$6(m[2], this.options.loose);
92845 }
92846 };
92847
92848 _proto.toString = function toString() {
92849 return this.value;
92850 };
92851
92852 _proto.test = function test(version) {
92853 debug_1$1('Comparator.test', version, this.options.loose);
92854
92855 if (this.semver === ANY$2 || version === ANY$2) {
92856 return true;
92857 }
92858
92859 if (typeof version === 'string') {
92860 try {
92861 version = new semver$6(version, this.options);
92862 } catch (er) {
92863 return false;
92864 }
92865 }
92866
92867 return cmp_1$1(version, this.operator, this.semver, this.options);
92868 };
92869
92870 _proto.intersects = function intersects(comp, options) {
92871 if (!(comp instanceof Comparator)) {
92872 throw new TypeError('a Comparator is required');
92873 }
92874
92875 if (!options || typeof options !== 'object') {
92876 options = {
92877 loose: !!options,
92878 includePrerelease: false
92879 };
92880 }
92881
92882 if (this.operator === '') {
92883 if (this.value === '') {
92884 return true;
92885 }
92886
92887 return new range(comp.value, options).test(this.value);
92888 } else if (comp.operator === '') {
92889 if (comp.value === '') {
92890 return true;
92891 }
92892
92893 return new range(this.value, options).test(comp.semver);
92894 }
92895
92896 var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
92897 var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
92898 var sameSemVer = this.semver.version === comp.semver.version;
92899 var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
92900 var oppositeDirectionsLessThan = cmp_1$1(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
92901 var oppositeDirectionsGreaterThan = cmp_1$1(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
92902 return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
92903 };
92904
92905 _createClass(Comparator, null, [{
92906 key: "ANY",
92907 get: function get() {
92908 return ANY$2;
92909 }
92910 }]);
92911
92912 return Comparator;
92913 }();
92914
92915 var comparator = Comparator;
92916 var re$3 = re_1$1.re,
92917 t$a = re_1$1.t;
92918
92919 var satisfies = function satisfies(version, range$1, options) {
92920 try {
92921 range$1 = new range(range$1, options);
92922 } catch (er) {
92923 return false;
92924 }
92925
92926 return range$1.test(version);
92927 };
92928
92929 var satisfies_1 = satisfies;
92930
92931 var toComparators = function toComparators(range$1, options) {
92932 return new range(range$1, options).set.map(function (comp) {
92933 return comp.map(function (c) {
92934 return c.value;
92935 }).join(' ').trim().split(' ');
92936 });
92937 };
92938
92939 var toComparators_1 = toComparators;
92940
92941 var maxSatisfying = function maxSatisfying(versions, range$1, options) {
92942 var max = null;
92943 var maxSV = null;
92944 var rangeObj = null;
92945
92946 try {
92947 rangeObj = new range(range$1, options);
92948 } catch (er) {
92949 return null;
92950 }
92951
92952 versions.forEach(function (v) {
92953 if (rangeObj.test(v)) {
92954 if (!max || maxSV.compare(v) === -1) {
92955 max = v;
92956 maxSV = new semver$6(max, options);
92957 }
92958 }
92959 });
92960 return max;
92961 };
92962
92963 var maxSatisfying_1 = maxSatisfying;
92964
92965 var minSatisfying = function minSatisfying(versions, range$1, options) {
92966 var min = null;
92967 var minSV = null;
92968 var rangeObj = null;
92969
92970 try {
92971 rangeObj = new range(range$1, options);
92972 } catch (er) {
92973 return null;
92974 }
92975
92976 versions.forEach(function (v) {
92977 if (rangeObj.test(v)) {
92978 if (!min || minSV.compare(v) === 1) {
92979 min = v;
92980 minSV = new semver$6(min, options);
92981 }
92982 }
92983 });
92984 return min;
92985 };
92986
92987 var minSatisfying_1 = minSatisfying;
92988
92989 var minVersion = function minVersion(range$1, loose) {
92990 range$1 = new range(range$1, loose);
92991 var minver = new semver$6('0.0.0');
92992
92993 if (range$1.test(minver)) {
92994 return minver;
92995 }
92996
92997 minver = new semver$6('0.0.0-0');
92998
92999 if (range$1.test(minver)) {
93000 return minver;
93001 }
93002
93003 minver = null;
93004
93005 var _loop = function _loop(i) {
93006 var comparators = range$1.set[i];
93007 var setMin = null;
93008 comparators.forEach(function (comparator) {
93009 var compver = new semver$6(comparator.semver.version);
93010
93011 switch (comparator.operator) {
93012 case '>':
93013 if (compver.prerelease.length === 0) {
93014 compver.patch++;
93015 } else {
93016 compver.prerelease.push(0);
93017 }
93018
93019 compver.raw = compver.format();
93020
93021 case '':
93022 case '>=':
93023 if (!setMin || gt_1$1(compver, setMin)) {
93024 setMin = compver;
93025 }
93026
93027 break;
93028
93029 case '<':
93030 case '<=':
93031 break;
93032
93033 default:
93034 throw new Error("Unexpected operation: " + comparator.operator);
93035 }
93036 });
93037 if (setMin && (!minver || gt_1$1(minver, setMin))) minver = setMin;
93038 };
93039
93040 for (var i = 0; i < range$1.set.length; ++i) {
93041 _loop(i);
93042 }
93043
93044 if (minver && range$1.test(minver)) {
93045 return minver;
93046 }
93047
93048 return null;
93049 };
93050
93051 var minVersion_1 = minVersion;
93052
93053 var validRange = function validRange(range$1, options) {
93054 try {
93055 return new range(range$1, options).range || '*';
93056 } catch (er) {
93057 return null;
93058 }
93059 };
93060
93061 var valid = validRange;
93062
93063 var ANY$1 = comparator.ANY;
93064
93065 var outside = function outside(version, range$1, hilo, options) {
93066 version = new semver$6(version, options);
93067 range$1 = new range(range$1, options);
93068 var gtfn, ltefn, ltfn, comp, ecomp;
93069
93070 switch (hilo) {
93071 case '>':
93072 gtfn = gt_1$1;
93073 ltefn = lte_1$1;
93074 ltfn = lt_1$1;
93075 comp = '>';
93076 ecomp = '>=';
93077 break;
93078
93079 case '<':
93080 gtfn = lt_1$1;
93081 ltefn = gte_1$1;
93082 ltfn = gt_1$1;
93083 comp = '<';
93084 ecomp = '<=';
93085 break;
93086
93087 default:
93088 throw new TypeError('Must provide a hilo val of "<" or ">"');
93089 }
93090
93091 if (satisfies_1(version, range$1, options)) {
93092 return false;
93093 }
93094
93095 var _loop = function _loop(i) {
93096 var comparators = range$1.set[i];
93097 var high = null;
93098 var low = null;
93099 comparators.forEach(function (comparator$1) {
93100 if (comparator$1.semver === ANY$1) {
93101 comparator$1 = new comparator('>=0.0.0');
93102 }
93103
93104 high = high || comparator$1;
93105 low = low || comparator$1;
93106
93107 if (gtfn(comparator$1.semver, high.semver, options)) {
93108 high = comparator$1;
93109 } else if (ltfn(comparator$1.semver, low.semver, options)) {
93110 low = comparator$1;
93111 }
93112 });
93113
93114 if (high.operator === comp || high.operator === ecomp) {
93115 return {
93116 v: false
93117 };
93118 }
93119
93120 if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
93121 return {
93122 v: false
93123 };
93124 } else if (low.operator === ecomp && ltfn(version, low.semver)) {
93125 return {
93126 v: false
93127 };
93128 }
93129 };
93130
93131 for (var i = 0; i < range$1.set.length; ++i) {
93132 var _ret = _loop(i);
93133
93134 if (typeof _ret === "object") return _ret.v;
93135 }
93136
93137 return true;
93138 };
93139
93140 var outside_1 = outside;
93141
93142 var gtr = function gtr(version, range, options) {
93143 return outside_1(version, range, '>', options);
93144 };
93145
93146 var gtr_1 = gtr;
93147
93148 var ltr = function ltr(version, range, options) {
93149 return outside_1(version, range, '<', options);
93150 };
93151
93152 var ltr_1 = ltr;
93153
93154 var intersects = function intersects(r1, r2, options) {
93155 r1 = new range(r1, options);
93156 r2 = new range(r2, options);
93157 return r1.intersects(r2);
93158 };
93159
93160 var intersects_1 = intersects;
93161
93162 var simplify = function simplify(versions, range, options) {
93163 var set = [];
93164 var min = null;
93165 var prev = null;
93166 var v = versions.sort(function (a, b) {
93167 return compare_1$1(a, b, options);
93168 });
93169
93170 for (var _iterator = _createForOfIteratorHelperLoose(v), _step; !(_step = _iterator()).done;) {
93171 var version = _step.value;
93172 var included = satisfies_1(version, range, options);
93173
93174 if (included) {
93175 prev = version;
93176 if (!min) min = version;
93177 } else {
93178 if (prev) {
93179 set.push([min, prev]);
93180 }
93181
93182 prev = null;
93183 min = null;
93184 }
93185 }
93186
93187 if (min) set.push([min, null]);
93188 var ranges = [];
93189
93190 for (var _i = 0, _set = set; _i < _set.length; _i++) {
93191 var _set$_i = _slicedToArray$2(_set[_i], 2),
93192 _min = _set$_i[0],
93193 max = _set$_i[1];
93194
93195 if (_min === max) ranges.push(_min);else if (!max && _min === v[0]) ranges.push('*');else if (!max) ranges.push(">=" + _min);else if (_min === v[0]) ranges.push("<=" + max);else ranges.push(_min + " - " + max);
93196 }
93197
93198 var simplified = ranges.join(' || ');
93199 var original = typeof range.raw === 'string' ? range.raw : String(range);
93200 return simplified.length < original.length ? simplified : range;
93201 };
93202
93203 var ANY = comparator.ANY;
93204
93205 var subset = function subset(sub, dom, options) {
93206 if (sub === dom) return true;
93207 sub = new range(sub, options);
93208 dom = new range(dom, options);
93209 var sawNonNull = false;
93210
93211 OUTER: for (var _iterator = _createForOfIteratorHelperLoose(sub.set), _step; !(_step = _iterator()).done;) {
93212 var simpleSub = _step.value;
93213
93214 for (var _iterator2 = _createForOfIteratorHelperLoose(dom.set), _step2; !(_step2 = _iterator2()).done;) {
93215 var simpleDom = _step2.value;
93216 var isSub = simpleSubset(simpleSub, simpleDom, options);
93217 sawNonNull = sawNonNull || isSub !== null;
93218 if (isSub) continue OUTER;
93219 }
93220
93221 if (sawNonNull) return false;
93222 }
93223
93224 return true;
93225 };
93226
93227 var simpleSubset = function simpleSubset(sub, dom, options) {
93228 if (sub === dom) return true;
93229 if (sub.length === 1 && sub[0].semver === ANY) return dom.length === 1 && dom[0].semver === ANY;
93230 var eqSet = new Set();
93231 var gt, lt;
93232
93233 for (var _iterator3 = _createForOfIteratorHelperLoose(sub), _step3; !(_step3 = _iterator3()).done;) {
93234 var c = _step3.value;
93235 if (c.operator === '>' || c.operator === '>=') gt = higherGT(gt, c, options);else if (c.operator === '<' || c.operator === '<=') lt = lowerLT(lt, c, options);else eqSet.add(c.semver);
93236 }
93237
93238 if (eqSet.size > 1) return null;
93239 var gtltComp;
93240
93241 if (gt && lt) {
93242 gtltComp = compare_1$1(gt.semver, lt.semver, options);
93243 if (gtltComp > 0) return null;else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) return null;
93244 }
93245
93246 for (var _iterator4 = _createForOfIteratorHelperLoose(eqSet), _step4; !(_step4 = _iterator4()).done;) {
93247 var eq = _step4.value;
93248 if (gt && !satisfies_1(eq, String(gt), options)) return null;
93249 if (lt && !satisfies_1(eq, String(lt), options)) return null;
93250
93251 for (var _iterator6 = _createForOfIteratorHelperLoose(dom), _step6; !(_step6 = _iterator6()).done;) {
93252 var _c = _step6.value;
93253 if (!satisfies_1(eq, String(_c), options)) return false;
93254 }
93255
93256 return true;
93257 }
93258
93259 var higher, lower;
93260 var hasDomLT, hasDomGT;
93261
93262 for (var _iterator5 = _createForOfIteratorHelperLoose(dom), _step5; !(_step5 = _iterator5()).done;) {
93263 var _c2 = _step5.value;
93264 hasDomGT = hasDomGT || _c2.operator === '>' || _c2.operator === '>=';
93265 hasDomLT = hasDomLT || _c2.operator === '<' || _c2.operator === '<=';
93266
93267 if (gt) {
93268 if (_c2.operator === '>' || _c2.operator === '>=') {
93269 higher = higherGT(gt, _c2, options);
93270 if (higher === _c2 && higher !== gt) return false;
93271 } else if (gt.operator === '>=' && !satisfies_1(gt.semver, String(_c2), options)) return false;
93272 }
93273
93274 if (lt) {
93275 if (_c2.operator === '<' || _c2.operator === '<=') {
93276 lower = lowerLT(lt, _c2, options);
93277 if (lower === _c2 && lower !== lt) return false;
93278 } else if (lt.operator === '<=' && !satisfies_1(lt.semver, String(_c2), options)) return false;
93279 }
93280
93281 if (!_c2.operator && (lt || gt) && gtltComp !== 0) return false;
93282 }
93283
93284 if (gt && hasDomLT && !lt && gtltComp !== 0) return false;
93285 if (lt && hasDomGT && !gt && gtltComp !== 0) return false;
93286 return true;
93287 };
93288
93289 var higherGT = function higherGT(a, b, options) {
93290 if (!a) return b;
93291 var comp = compare_1$1(a.semver, b.semver, options);
93292 return comp > 0 ? a : comp < 0 ? b : b.operator === '>' && a.operator === '>=' ? b : a;
93293 };
93294
93295 var lowerLT = function lowerLT(a, b, options) {
93296 if (!a) return b;
93297 var comp = compare_1$1(a.semver, b.semver, options);
93298 return comp < 0 ? a : comp > 0 ? b : b.operator === '<' && a.operator === '<=' ? b : a;
93299 };
93300
93301 var subset_1 = subset;
93302
93303 ({
93304 re: re_1$1.re,
93305 src: re_1$1.src,
93306 tokens: re_1$1.t,
93307 SEMVER_SPEC_VERSION: constants$1.SEMVER_SPEC_VERSION,
93308 SemVer: semver$6,
93309 compareIdentifiers: identifiers$1.compareIdentifiers,
93310 rcompareIdentifiers: identifiers$1.rcompareIdentifiers,
93311 parse: parse_1$1,
93312 valid: valid_1,
93313 clean: clean_1,
93314 inc: inc_1,
93315 diff: diff_1,
93316 major: major_1,
93317 minor: minor_1,
93318 patch: patch_1,
93319 prerelease: prerelease_1,
93320 compare: compare_1$1,
93321 rcompare: rcompare_1,
93322 compareLoose: compareLoose_1,
93323 compareBuild: compareBuild_1,
93324 sort: sort_1,
93325 rsort: rsort_1,
93326 gt: gt_1$1,
93327 lt: lt_1$1,
93328 eq: eq_1$1,
93329 neq: neq_1$1,
93330 gte: gte_1$1,
93331 lte: lte_1$1,
93332 cmp: cmp_1$1,
93333 coerce: coerce_1$1,
93334 Comparator: comparator,
93335 Range: range,
93336 satisfies: satisfies_1,
93337 toComparators: toComparators_1,
93338 maxSatisfying: maxSatisfying_1,
93339 minSatisfying: minSatisfying_1,
93340 minVersion: minVersion_1,
93341 validRange: valid,
93342 outside: outside_1,
93343 gtr: gtr_1,
93344 ltr: ltr_1,
93345 intersects: intersects_1,
93346 simplifyRange: simplify,
93347 subset: subset_1
93348 });
93349
93350 var semver$5 = createCommonjsModule(function (module, exports) {
93351 exports = module.exports = SemVer;
93352 var debug;
93353
93354 if (typeof browser$6 === 'object' && browser$6.env && browser$6.env.NODE_DEBUG && /\bsemver\b/i.test(browser$6.env.NODE_DEBUG)) {
93355 debug = function debug() {
93356 var args = Array.prototype.slice.call(arguments, 0);
93357 args.unshift('SEMVER');
93358 console.log.apply(console, args);
93359 };
93360 } else {
93361 debug = function debug() {};
93362 }
93363
93364 exports.SEMVER_SPEC_VERSION = '2.0.0';
93365 var MAX_LENGTH = 256;
93366 var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
93367 var MAX_SAFE_COMPONENT_LENGTH = 16;
93368 var re = exports.re = [];
93369 var src = exports.src = [];
93370 var t = exports.tokens = {};
93371 var R = 0;
93372
93373 function tok(n) {
93374 t[n] = R++;
93375 }
93376
93377 tok('NUMERICIDENTIFIER');
93378 src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*';
93379 tok('NUMERICIDENTIFIERLOOSE');
93380 src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+';
93381 tok('NONNUMERICIDENTIFIER');
93382 src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
93383 tok('MAINVERSION');
93384 src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')';
93385 tok('MAINVERSIONLOOSE');
93386 src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')';
93387 tok('PRERELEASEIDENTIFIER');
93388 src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
93389 tok('PRERELEASEIDENTIFIERLOOSE');
93390 src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
93391 tok('PRERELEASE');
93392 src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))';
93393 tok('PRERELEASELOOSE');
93394 src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))';
93395 tok('BUILDIDENTIFIER');
93396 src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
93397 tok('BUILD');
93398 src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))';
93399 tok('FULL');
93400 tok('FULLPLAIN');
93401 src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?';
93402 src[t.FULL] = '^' + src[t.FULLPLAIN] + '$';
93403 tok('LOOSEPLAIN');
93404 src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?';
93405 tok('LOOSE');
93406 src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$';
93407 tok('GTLT');
93408 src[t.GTLT] = '((?:<|>)?=?)';
93409 tok('XRANGEIDENTIFIERLOOSE');
93410 src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
93411 tok('XRANGEIDENTIFIER');
93412 src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*';
93413 tok('XRANGEPLAIN');
93414 src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?';
93415 tok('XRANGEPLAINLOOSE');
93416 src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?';
93417 tok('XRANGE');
93418 src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$';
93419 tok('XRANGELOOSE');
93420 src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$';
93421 tok('COERCE');
93422 src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])';
93423 tok('COERCERTL');
93424 re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g');
93425 tok('LONETILDE');
93426 src[t.LONETILDE] = '(?:~>?)';
93427 tok('TILDETRIM');
93428 src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+';
93429 re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g');
93430 var tildeTrimReplace = '$1~';
93431 tok('TILDE');
93432 src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$';
93433 tok('TILDELOOSE');
93434 src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$';
93435 tok('LONECARET');
93436 src[t.LONECARET] = '(?:\\^)';
93437 tok('CARETTRIM');
93438 src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+';
93439 re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g');
93440 var caretTrimReplace = '$1^';
93441 tok('CARET');
93442 src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$';
93443 tok('CARETLOOSE');
93444 src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$';
93445 tok('COMPARATORLOOSE');
93446 src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$';
93447 tok('COMPARATOR');
93448 src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$';
93449 tok('COMPARATORTRIM');
93450 src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')';
93451 re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g');
93452 var comparatorTrimReplace = '$1$2$3';
93453 tok('HYPHENRANGE');
93454 src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$';
93455 tok('HYPHENRANGELOOSE');
93456 src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$';
93457 tok('STAR');
93458 src[t.STAR] = '(<|>)?=?\\s*\\*';
93459
93460 for (var i = 0; i < R; i++) {
93461 debug(i, src[i]);
93462
93463 if (!re[i]) {
93464 re[i] = new RegExp(src[i]);
93465 }
93466 }
93467
93468 exports.parse = parse;
93469
93470 function parse(version, options) {
93471 if (!options || typeof options !== 'object') {
93472 options = {
93473 loose: !!options,
93474 includePrerelease: false
93475 };
93476 }
93477
93478 if (version instanceof SemVer) {
93479 return version;
93480 }
93481
93482 if (typeof version !== 'string') {
93483 return null;
93484 }
93485
93486 if (version.length > MAX_LENGTH) {
93487 return null;
93488 }
93489
93490 var r = options.loose ? re[t.LOOSE] : re[t.FULL];
93491
93492 if (!r.test(version)) {
93493 return null;
93494 }
93495
93496 try {
93497 return new SemVer(version, options);
93498 } catch (er) {
93499 return null;
93500 }
93501 }
93502
93503 exports.valid = valid;
93504
93505 function valid(version, options) {
93506 var v = parse(version, options);
93507 return v ? v.version : null;
93508 }
93509
93510 exports.clean = clean;
93511
93512 function clean(version, options) {
93513 var s = parse(version.trim().replace(/^[=v]+/, ''), options);
93514 return s ? s.version : null;
93515 }
93516
93517 exports.SemVer = SemVer;
93518
93519 function SemVer(version, options) {
93520 if (!options || typeof options !== 'object') {
93521 options = {
93522 loose: !!options,
93523 includePrerelease: false
93524 };
93525 }
93526
93527 if (version instanceof SemVer) {
93528 if (version.loose === options.loose) {
93529 return version;
93530 } else {
93531 version = version.version;
93532 }
93533 } else if (typeof version !== 'string') {
93534 throw new TypeError('Invalid Version: ' + version);
93535 }
93536
93537 if (version.length > MAX_LENGTH) {
93538 throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters');
93539 }
93540
93541 if (!(this instanceof SemVer)) {
93542 return new SemVer(version, options);
93543 }
93544
93545 debug('SemVer', version, options);
93546 this.options = options;
93547 this.loose = !!options.loose;
93548 var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
93549
93550 if (!m) {
93551 throw new TypeError('Invalid Version: ' + version);
93552 }
93553
93554 this.raw = version;
93555 this.major = +m[1];
93556 this.minor = +m[2];
93557 this.patch = +m[3];
93558
93559 if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
93560 throw new TypeError('Invalid major version');
93561 }
93562
93563 if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
93564 throw new TypeError('Invalid minor version');
93565 }
93566
93567 if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
93568 throw new TypeError('Invalid patch version');
93569 }
93570
93571 if (!m[4]) {
93572 this.prerelease = [];
93573 } else {
93574 this.prerelease = m[4].split('.').map(function (id) {
93575 if (/^[0-9]+$/.test(id)) {
93576 var num = +id;
93577
93578 if (num >= 0 && num < MAX_SAFE_INTEGER) {
93579 return num;
93580 }
93581 }
93582
93583 return id;
93584 });
93585 }
93586
93587 this.build = m[5] ? m[5].split('.') : [];
93588 this.format();
93589 }
93590
93591 SemVer.prototype.format = function () {
93592 this.version = this.major + '.' + this.minor + '.' + this.patch;
93593
93594 if (this.prerelease.length) {
93595 this.version += '-' + this.prerelease.join('.');
93596 }
93597
93598 return this.version;
93599 };
93600
93601 SemVer.prototype.toString = function () {
93602 return this.version;
93603 };
93604
93605 SemVer.prototype.compare = function (other) {
93606 debug('SemVer.compare', this.version, this.options, other);
93607
93608 if (!(other instanceof SemVer)) {
93609 other = new SemVer(other, this.options);
93610 }
93611
93612 return this.compareMain(other) || this.comparePre(other);
93613 };
93614
93615 SemVer.prototype.compareMain = function (other) {
93616 if (!(other instanceof SemVer)) {
93617 other = new SemVer(other, this.options);
93618 }
93619
93620 return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
93621 };
93622
93623 SemVer.prototype.comparePre = function (other) {
93624 if (!(other instanceof SemVer)) {
93625 other = new SemVer(other, this.options);
93626 }
93627
93628 if (this.prerelease.length && !other.prerelease.length) {
93629 return -1;
93630 } else if (!this.prerelease.length && other.prerelease.length) {
93631 return 1;
93632 } else if (!this.prerelease.length && !other.prerelease.length) {
93633 return 0;
93634 }
93635
93636 var i = 0;
93637
93638 do {
93639 var a = this.prerelease[i];
93640 var b = other.prerelease[i];
93641 debug('prerelease compare', i, a, b);
93642
93643 if (a === undefined && b === undefined) {
93644 return 0;
93645 } else if (b === undefined) {
93646 return 1;
93647 } else if (a === undefined) {
93648 return -1;
93649 } else if (a === b) {
93650 continue;
93651 } else {
93652 return compareIdentifiers(a, b);
93653 }
93654 } while (++i);
93655 };
93656
93657 SemVer.prototype.compareBuild = function (other) {
93658 if (!(other instanceof SemVer)) {
93659 other = new SemVer(other, this.options);
93660 }
93661
93662 var i = 0;
93663
93664 do {
93665 var a = this.build[i];
93666 var b = other.build[i];
93667 debug('prerelease compare', i, a, b);
93668
93669 if (a === undefined && b === undefined) {
93670 return 0;
93671 } else if (b === undefined) {
93672 return 1;
93673 } else if (a === undefined) {
93674 return -1;
93675 } else if (a === b) {
93676 continue;
93677 } else {
93678 return compareIdentifiers(a, b);
93679 }
93680 } while (++i);
93681 };
93682
93683 SemVer.prototype.inc = function (release, identifier) {
93684 switch (release) {
93685 case 'premajor':
93686 this.prerelease.length = 0;
93687 this.patch = 0;
93688 this.minor = 0;
93689 this.major++;
93690 this.inc('pre', identifier);
93691 break;
93692
93693 case 'preminor':
93694 this.prerelease.length = 0;
93695 this.patch = 0;
93696 this.minor++;
93697 this.inc('pre', identifier);
93698 break;
93699
93700 case 'prepatch':
93701 this.prerelease.length = 0;
93702 this.inc('patch', identifier);
93703 this.inc('pre', identifier);
93704 break;
93705
93706 case 'prerelease':
93707 if (this.prerelease.length === 0) {
93708 this.inc('patch', identifier);
93709 }
93710
93711 this.inc('pre', identifier);
93712 break;
93713
93714 case 'major':
93715 if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
93716 this.major++;
93717 }
93718
93719 this.minor = 0;
93720 this.patch = 0;
93721 this.prerelease = [];
93722 break;
93723
93724 case 'minor':
93725 if (this.patch !== 0 || this.prerelease.length === 0) {
93726 this.minor++;
93727 }
93728
93729 this.patch = 0;
93730 this.prerelease = [];
93731 break;
93732
93733 case 'patch':
93734 if (this.prerelease.length === 0) {
93735 this.patch++;
93736 }
93737
93738 this.prerelease = [];
93739 break;
93740
93741 case 'pre':
93742 if (this.prerelease.length === 0) {
93743 this.prerelease = [0];
93744 } else {
93745 var i = this.prerelease.length;
93746
93747 while (--i >= 0) {
93748 if (typeof this.prerelease[i] === 'number') {
93749 this.prerelease[i]++;
93750 i = -2;
93751 }
93752 }
93753
93754 if (i === -1) {
93755 this.prerelease.push(0);
93756 }
93757 }
93758
93759 if (identifier) {
93760 if (this.prerelease[0] === identifier) {
93761 if (isNaN(this.prerelease[1])) {
93762 this.prerelease = [identifier, 0];
93763 }
93764 } else {
93765 this.prerelease = [identifier, 0];
93766 }
93767 }
93768
93769 break;
93770
93771 default:
93772 throw new Error('invalid increment argument: ' + release);
93773 }
93774
93775 this.format();
93776 this.raw = this.version;
93777 return this;
93778 };
93779
93780 exports.inc = inc;
93781
93782 function inc(version, release, loose, identifier) {
93783 if (typeof loose === 'string') {
93784 identifier = loose;
93785 loose = undefined;
93786 }
93787
93788 try {
93789 return new SemVer(version, loose).inc(release, identifier).version;
93790 } catch (er) {
93791 return null;
93792 }
93793 }
93794
93795 exports.diff = diff;
93796
93797 function diff(version1, version2) {
93798 if (eq(version1, version2)) {
93799 return null;
93800 } else {
93801 var v1 = parse(version1);
93802 var v2 = parse(version2);
93803 var prefix = '';
93804
93805 if (v1.prerelease.length || v2.prerelease.length) {
93806 prefix = 'pre';
93807 var defaultResult = 'prerelease';
93808 }
93809
93810 for (var key in v1) {
93811 if (key === 'major' || key === 'minor' || key === 'patch') {
93812 if (v1[key] !== v2[key]) {
93813 return prefix + key;
93814 }
93815 }
93816 }
93817
93818 return defaultResult;
93819 }
93820 }
93821
93822 exports.compareIdentifiers = compareIdentifiers;
93823 var numeric = /^[0-9]+$/;
93824
93825 function compareIdentifiers(a, b) {
93826 var anum = numeric.test(a);
93827 var bnum = numeric.test(b);
93828
93829 if (anum && bnum) {
93830 a = +a;
93831 b = +b;
93832 }
93833
93834 return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
93835 }
93836
93837 exports.rcompareIdentifiers = rcompareIdentifiers;
93838
93839 function rcompareIdentifiers(a, b) {
93840 return compareIdentifiers(b, a);
93841 }
93842
93843 exports.major = major;
93844
93845 function major(a, loose) {
93846 return new SemVer(a, loose).major;
93847 }
93848
93849 exports.minor = minor;
93850
93851 function minor(a, loose) {
93852 return new SemVer(a, loose).minor;
93853 }
93854
93855 exports.patch = patch;
93856
93857 function patch(a, loose) {
93858 return new SemVer(a, loose).patch;
93859 }
93860
93861 exports.compare = compare;
93862
93863 function compare(a, b, loose) {
93864 return new SemVer(a, loose).compare(new SemVer(b, loose));
93865 }
93866
93867 exports.compareLoose = compareLoose;
93868
93869 function compareLoose(a, b) {
93870 return compare(a, b, true);
93871 }
93872
93873 exports.compareBuild = compareBuild;
93874
93875 function compareBuild(a, b, loose) {
93876 var versionA = new SemVer(a, loose);
93877 var versionB = new SemVer(b, loose);
93878 return versionA.compare(versionB) || versionA.compareBuild(versionB);
93879 }
93880
93881 exports.rcompare = rcompare;
93882
93883 function rcompare(a, b, loose) {
93884 return compare(b, a, loose);
93885 }
93886
93887 exports.sort = sort;
93888
93889 function sort(list, loose) {
93890 return list.sort(function (a, b) {
93891 return exports.compareBuild(a, b, loose);
93892 });
93893 }
93894
93895 exports.rsort = rsort;
93896
93897 function rsort(list, loose) {
93898 return list.sort(function (a, b) {
93899 return exports.compareBuild(b, a, loose);
93900 });
93901 }
93902
93903 exports.gt = gt;
93904
93905 function gt(a, b, loose) {
93906 return compare(a, b, loose) > 0;
93907 }
93908
93909 exports.lt = lt;
93910
93911 function lt(a, b, loose) {
93912 return compare(a, b, loose) < 0;
93913 }
93914
93915 exports.eq = eq;
93916
93917 function eq(a, b, loose) {
93918 return compare(a, b, loose) === 0;
93919 }
93920
93921 exports.neq = neq;
93922
93923 function neq(a, b, loose) {
93924 return compare(a, b, loose) !== 0;
93925 }
93926
93927 exports.gte = gte;
93928
93929 function gte(a, b, loose) {
93930 return compare(a, b, loose) >= 0;
93931 }
93932
93933 exports.lte = lte;
93934
93935 function lte(a, b, loose) {
93936 return compare(a, b, loose) <= 0;
93937 }
93938
93939 exports.cmp = cmp;
93940
93941 function cmp(a, op, b, loose) {
93942 switch (op) {
93943 case '===':
93944 if (typeof a === 'object') a = a.version;
93945 if (typeof b === 'object') b = b.version;
93946 return a === b;
93947
93948 case '!==':
93949 if (typeof a === 'object') a = a.version;
93950 if (typeof b === 'object') b = b.version;
93951 return a !== b;
93952
93953 case '':
93954 case '=':
93955 case '==':
93956 return eq(a, b, loose);
93957
93958 case '!=':
93959 return neq(a, b, loose);
93960
93961 case '>':
93962 return gt(a, b, loose);
93963
93964 case '>=':
93965 return gte(a, b, loose);
93966
93967 case '<':
93968 return lt(a, b, loose);
93969
93970 case '<=':
93971 return lte(a, b, loose);
93972
93973 default:
93974 throw new TypeError('Invalid operator: ' + op);
93975 }
93976 }
93977
93978 exports.Comparator = Comparator;
93979
93980 function Comparator(comp, options) {
93981 if (!options || typeof options !== 'object') {
93982 options = {
93983 loose: !!options,
93984 includePrerelease: false
93985 };
93986 }
93987
93988 if (comp instanceof Comparator) {
93989 if (comp.loose === !!options.loose) {
93990 return comp;
93991 } else {
93992 comp = comp.value;
93993 }
93994 }
93995
93996 if (!(this instanceof Comparator)) {
93997 return new Comparator(comp, options);
93998 }
93999
94000 debug('comparator', comp, options);
94001 this.options = options;
94002 this.loose = !!options.loose;
94003 this.parse(comp);
94004
94005 if (this.semver === ANY) {
94006 this.value = '';
94007 } else {
94008 this.value = this.operator + this.semver.version;
94009 }
94010
94011 debug('comp', this);
94012 }
94013
94014 var ANY = {};
94015
94016 Comparator.prototype.parse = function (comp) {
94017 var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
94018 var m = comp.match(r);
94019
94020 if (!m) {
94021 throw new TypeError('Invalid comparator: ' + comp);
94022 }
94023
94024 this.operator = m[1] !== undefined ? m[1] : '';
94025
94026 if (this.operator === '=') {
94027 this.operator = '';
94028 }
94029
94030 if (!m[2]) {
94031 this.semver = ANY;
94032 } else {
94033 this.semver = new SemVer(m[2], this.options.loose);
94034 }
94035 };
94036
94037 Comparator.prototype.toString = function () {
94038 return this.value;
94039 };
94040
94041 Comparator.prototype.test = function (version) {
94042 debug('Comparator.test', version, this.options.loose);
94043
94044 if (this.semver === ANY || version === ANY) {
94045 return true;
94046 }
94047
94048 if (typeof version === 'string') {
94049 try {
94050 version = new SemVer(version, this.options);
94051 } catch (er) {
94052 return false;
94053 }
94054 }
94055
94056 return cmp(version, this.operator, this.semver, this.options);
94057 };
94058
94059 Comparator.prototype.intersects = function (comp, options) {
94060 if (!(comp instanceof Comparator)) {
94061 throw new TypeError('a Comparator is required');
94062 }
94063
94064 if (!options || typeof options !== 'object') {
94065 options = {
94066 loose: !!options,
94067 includePrerelease: false
94068 };
94069 }
94070
94071 var rangeTmp;
94072
94073 if (this.operator === '') {
94074 if (this.value === '') {
94075 return true;
94076 }
94077
94078 rangeTmp = new Range(comp.value, options);
94079 return satisfies(this.value, rangeTmp, options);
94080 } else if (comp.operator === '') {
94081 if (comp.value === '') {
94082 return true;
94083 }
94084
94085 rangeTmp = new Range(this.value, options);
94086 return satisfies(comp.semver, rangeTmp, options);
94087 }
94088
94089 var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
94090 var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
94091 var sameSemVer = this.semver.version === comp.semver.version;
94092 var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
94093 var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
94094 var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
94095 return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
94096 };
94097
94098 exports.Range = Range;
94099
94100 function Range(range, options) {
94101 if (!options || typeof options !== 'object') {
94102 options = {
94103 loose: !!options,
94104 includePrerelease: false
94105 };
94106 }
94107
94108 if (range instanceof Range) {
94109 if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
94110 return range;
94111 } else {
94112 return new Range(range.raw, options);
94113 }
94114 }
94115
94116 if (range instanceof Comparator) {
94117 return new Range(range.value, options);
94118 }
94119
94120 if (!(this instanceof Range)) {
94121 return new Range(range, options);
94122 }
94123
94124 this.options = options;
94125 this.loose = !!options.loose;
94126 this.includePrerelease = !!options.includePrerelease;
94127 this.raw = range;
94128 this.set = range.split(/\s*\|\|\s*/).map(function (range) {
94129 return this.parseRange(range.trim());
94130 }, this).filter(function (c) {
94131 return c.length;
94132 });
94133
94134 if (!this.set.length) {
94135 throw new TypeError('Invalid SemVer Range: ' + range);
94136 }
94137
94138 this.format();
94139 }
94140
94141 Range.prototype.format = function () {
94142 this.range = this.set.map(function (comps) {
94143 return comps.join(' ').trim();
94144 }).join('||').trim();
94145 return this.range;
94146 };
94147
94148 Range.prototype.toString = function () {
94149 return this.range;
94150 };
94151
94152 Range.prototype.parseRange = function (range) {
94153 var loose = this.options.loose;
94154 range = range.trim();
94155 var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
94156 range = range.replace(hr, hyphenReplace);
94157 debug('hyphen replace', range);
94158 range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
94159 debug('comparator trim', range, re[t.COMPARATORTRIM]);
94160 range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
94161 range = range.replace(re[t.CARETTRIM], caretTrimReplace);
94162 range = range.split(/\s+/).join(' ');
94163 var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
94164 var set = range.split(' ').map(function (comp) {
94165 return parseComparator(comp, this.options);
94166 }, this).join(' ').split(/\s+/);
94167
94168 if (this.options.loose) {
94169 set = set.filter(function (comp) {
94170 return !!comp.match(compRe);
94171 });
94172 }
94173
94174 set = set.map(function (comp) {
94175 return new Comparator(comp, this.options);
94176 }, this);
94177 return set;
94178 };
94179
94180 Range.prototype.intersects = function (range, options) {
94181 if (!(range instanceof Range)) {
94182 throw new TypeError('a Range is required');
94183 }
94184
94185 return this.set.some(function (thisComparators) {
94186 return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
94187 return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
94188 return rangeComparators.every(function (rangeComparator) {
94189 return thisComparator.intersects(rangeComparator, options);
94190 });
94191 });
94192 });
94193 });
94194 };
94195
94196 function isSatisfiable(comparators, options) {
94197 var result = true;
94198 var remainingComparators = comparators.slice();
94199 var testComparator = remainingComparators.pop();
94200
94201 while (result && remainingComparators.length) {
94202 result = remainingComparators.every(function (otherComparator) {
94203 return testComparator.intersects(otherComparator, options);
94204 });
94205 testComparator = remainingComparators.pop();
94206 }
94207
94208 return result;
94209 }
94210
94211 exports.toComparators = toComparators;
94212
94213 function toComparators(range, options) {
94214 return new Range(range, options).set.map(function (comp) {
94215 return comp.map(function (c) {
94216 return c.value;
94217 }).join(' ').trim().split(' ');
94218 });
94219 }
94220
94221 function parseComparator(comp, options) {
94222 debug('comp', comp, options);
94223 comp = replaceCarets(comp, options);
94224 debug('caret', comp);
94225 comp = replaceTildes(comp, options);
94226 debug('tildes', comp);
94227 comp = replaceXRanges(comp, options);
94228 debug('xrange', comp);
94229 comp = replaceStars(comp, options);
94230 debug('stars', comp);
94231 return comp;
94232 }
94233
94234 function isX(id) {
94235 return !id || id.toLowerCase() === 'x' || id === '*';
94236 }
94237
94238 function replaceTildes(comp, options) {
94239 return comp.trim().split(/\s+/).map(function (comp) {
94240 return replaceTilde(comp, options);
94241 }).join(' ');
94242 }
94243
94244 function replaceTilde(comp, options) {
94245 var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
94246 return comp.replace(r, function (_, M, m, p, pr) {
94247 debug('tilde', comp, _, M, m, p, pr);
94248 var ret;
94249
94250 if (isX(M)) {
94251 ret = '';
94252 } else if (isX(m)) {
94253 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
94254 } else if (isX(p)) {
94255 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
94256 } else if (pr) {
94257 debug('replaceTilde pr', pr);
94258 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
94259 } else {
94260 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
94261 }
94262
94263 debug('tilde return', ret);
94264 return ret;
94265 });
94266 }
94267
94268 function replaceCarets(comp, options) {
94269 return comp.trim().split(/\s+/).map(function (comp) {
94270 return replaceCaret(comp, options);
94271 }).join(' ');
94272 }
94273
94274 function replaceCaret(comp, options) {
94275 debug('caret', comp, options);
94276 var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
94277 return comp.replace(r, function (_, M, m, p, pr) {
94278 debug('caret', comp, _, M, m, p, pr);
94279 var ret;
94280
94281 if (isX(M)) {
94282 ret = '';
94283 } else if (isX(m)) {
94284 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
94285 } else if (isX(p)) {
94286 if (M === '0') {
94287 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
94288 } else {
94289 ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
94290 }
94291 } else if (pr) {
94292 debug('replaceCaret pr', pr);
94293
94294 if (M === '0') {
94295 if (m === '0') {
94296 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1);
94297 } else {
94298 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
94299 }
94300 } else {
94301 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0';
94302 }
94303 } else {
94304 debug('no pr');
94305
94306 if (M === '0') {
94307 if (m === '0') {
94308 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1);
94309 } else {
94310 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
94311 }
94312 } else {
94313 ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0';
94314 }
94315 }
94316
94317 debug('caret return', ret);
94318 return ret;
94319 });
94320 }
94321
94322 function replaceXRanges(comp, options) {
94323 debug('replaceXRanges', comp, options);
94324 return comp.split(/\s+/).map(function (comp) {
94325 return replaceXRange(comp, options);
94326 }).join(' ');
94327 }
94328
94329 function replaceXRange(comp, options) {
94330 comp = comp.trim();
94331 var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
94332 return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
94333 debug('xRange', comp, ret, gtlt, M, m, p, pr);
94334 var xM = isX(M);
94335 var xm = xM || isX(m);
94336 var xp = xm || isX(p);
94337 var anyX = xp;
94338
94339 if (gtlt === '=' && anyX) {
94340 gtlt = '';
94341 }
94342
94343 pr = options.includePrerelease ? '-0' : '';
94344
94345 if (xM) {
94346 if (gtlt === '>' || gtlt === '<') {
94347 ret = '<0.0.0-0';
94348 } else {
94349 ret = '*';
94350 }
94351 } else if (gtlt && anyX) {
94352 if (xm) {
94353 m = 0;
94354 }
94355
94356 p = 0;
94357
94358 if (gtlt === '>') {
94359 gtlt = '>=';
94360
94361 if (xm) {
94362 M = +M + 1;
94363 m = 0;
94364 p = 0;
94365 } else {
94366 m = +m + 1;
94367 p = 0;
94368 }
94369 } else if (gtlt === '<=') {
94370 gtlt = '<';
94371
94372 if (xm) {
94373 M = +M + 1;
94374 } else {
94375 m = +m + 1;
94376 }
94377 }
94378
94379 ret = gtlt + M + '.' + m + '.' + p + pr;
94380 } else if (xm) {
94381 ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr;
94382 } else if (xp) {
94383 ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr;
94384 }
94385
94386 debug('xRange return', ret);
94387 return ret;
94388 });
94389 }
94390
94391 function replaceStars(comp, options) {
94392 debug('replaceStars', comp, options);
94393 return comp.trim().replace(re[t.STAR], '');
94394 }
94395
94396 function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
94397 if (isX(fM)) {
94398 from = '';
94399 } else if (isX(fm)) {
94400 from = '>=' + fM + '.0.0';
94401 } else if (isX(fp)) {
94402 from = '>=' + fM + '.' + fm + '.0';
94403 } else {
94404 from = '>=' + from;
94405 }
94406
94407 if (isX(tM)) {
94408 to = '';
94409 } else if (isX(tm)) {
94410 to = '<' + (+tM + 1) + '.0.0';
94411 } else if (isX(tp)) {
94412 to = '<' + tM + '.' + (+tm + 1) + '.0';
94413 } else if (tpr) {
94414 to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
94415 } else {
94416 to = '<=' + to;
94417 }
94418
94419 return (from + ' ' + to).trim();
94420 }
94421
94422 Range.prototype.test = function (version) {
94423 if (!version) {
94424 return false;
94425 }
94426
94427 if (typeof version === 'string') {
94428 try {
94429 version = new SemVer(version, this.options);
94430 } catch (er) {
94431 return false;
94432 }
94433 }
94434
94435 for (var i = 0; i < this.set.length; i++) {
94436 if (testSet(this.set[i], version, this.options)) {
94437 return true;
94438 }
94439 }
94440
94441 return false;
94442 };
94443
94444 function testSet(set, version, options) {
94445 for (var i = 0; i < set.length; i++) {
94446 if (!set[i].test(version)) {
94447 return false;
94448 }
94449 }
94450
94451 if (version.prerelease.length && !options.includePrerelease) {
94452 for (i = 0; i < set.length; i++) {
94453 debug(set[i].semver);
94454
94455 if (set[i].semver === ANY) {
94456 continue;
94457 }
94458
94459 if (set[i].semver.prerelease.length > 0) {
94460 var allowed = set[i].semver;
94461
94462 if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
94463 return true;
94464 }
94465 }
94466 }
94467
94468 return false;
94469 }
94470
94471 return true;
94472 }
94473
94474 exports.satisfies = satisfies;
94475
94476 function satisfies(version, range, options) {
94477 try {
94478 range = new Range(range, options);
94479 } catch (er) {
94480 return false;
94481 }
94482
94483 return range.test(version);
94484 }
94485
94486 exports.maxSatisfying = maxSatisfying;
94487
94488 function maxSatisfying(versions, range, options) {
94489 var max = null;
94490 var maxSV = null;
94491
94492 try {
94493 var rangeObj = new Range(range, options);
94494 } catch (er) {
94495 return null;
94496 }
94497
94498 versions.forEach(function (v) {
94499 if (rangeObj.test(v)) {
94500 if (!max || maxSV.compare(v) === -1) {
94501 max = v;
94502 maxSV = new SemVer(max, options);
94503 }
94504 }
94505 });
94506 return max;
94507 }
94508
94509 exports.minSatisfying = minSatisfying;
94510
94511 function minSatisfying(versions, range, options) {
94512 var min = null;
94513 var minSV = null;
94514
94515 try {
94516 var rangeObj = new Range(range, options);
94517 } catch (er) {
94518 return null;
94519 }
94520
94521 versions.forEach(function (v) {
94522 if (rangeObj.test(v)) {
94523 if (!min || minSV.compare(v) === 1) {
94524 min = v;
94525 minSV = new SemVer(min, options);
94526 }
94527 }
94528 });
94529 return min;
94530 }
94531
94532 exports.minVersion = minVersion;
94533
94534 function minVersion(range, loose) {
94535 range = new Range(range, loose);
94536 var minver = new SemVer('0.0.0');
94537
94538 if (range.test(minver)) {
94539 return minver;
94540 }
94541
94542 minver = new SemVer('0.0.0-0');
94543
94544 if (range.test(minver)) {
94545 return minver;
94546 }
94547
94548 minver = null;
94549
94550 for (var i = 0; i < range.set.length; ++i) {
94551 var comparators = range.set[i];
94552 comparators.forEach(function (comparator) {
94553 var compver = new SemVer(comparator.semver.version);
94554
94555 switch (comparator.operator) {
94556 case '>':
94557 if (compver.prerelease.length === 0) {
94558 compver.patch++;
94559 } else {
94560 compver.prerelease.push(0);
94561 }
94562
94563 compver.raw = compver.format();
94564
94565 case '':
94566 case '>=':
94567 if (!minver || gt(minver, compver)) {
94568 minver = compver;
94569 }
94570
94571 break;
94572
94573 case '<':
94574 case '<=':
94575 break;
94576
94577 default:
94578 throw new Error('Unexpected operation: ' + comparator.operator);
94579 }
94580 });
94581 }
94582
94583 if (minver && range.test(minver)) {
94584 return minver;
94585 }
94586
94587 return null;
94588 }
94589
94590 exports.validRange = validRange;
94591
94592 function validRange(range, options) {
94593 try {
94594 return new Range(range, options).range || '*';
94595 } catch (er) {
94596 return null;
94597 }
94598 }
94599
94600 exports.ltr = ltr;
94601
94602 function ltr(version, range, options) {
94603 return outside(version, range, '<', options);
94604 }
94605
94606 exports.gtr = gtr;
94607
94608 function gtr(version, range, options) {
94609 return outside(version, range, '>', options);
94610 }
94611
94612 exports.outside = outside;
94613
94614 function outside(version, range, hilo, options) {
94615 version = new SemVer(version, options);
94616 range = new Range(range, options);
94617 var gtfn, ltefn, ltfn, comp, ecomp;
94618
94619 switch (hilo) {
94620 case '>':
94621 gtfn = gt;
94622 ltefn = lte;
94623 ltfn = lt;
94624 comp = '>';
94625 ecomp = '>=';
94626 break;
94627
94628 case '<':
94629 gtfn = lt;
94630 ltefn = gte;
94631 ltfn = gt;
94632 comp = '<';
94633 ecomp = '<=';
94634 break;
94635
94636 default:
94637 throw new TypeError('Must provide a hilo val of "<" or ">"');
94638 }
94639
94640 if (satisfies(version, range, options)) {
94641 return false;
94642 }
94643
94644 for (var i = 0; i < range.set.length; ++i) {
94645 var comparators = range.set[i];
94646 var high = null;
94647 var low = null;
94648 comparators.forEach(function (comparator) {
94649 if (comparator.semver === ANY) {
94650 comparator = new Comparator('>=0.0.0');
94651 }
94652
94653 high = high || comparator;
94654 low = low || comparator;
94655
94656 if (gtfn(comparator.semver, high.semver, options)) {
94657 high = comparator;
94658 } else if (ltfn(comparator.semver, low.semver, options)) {
94659 low = comparator;
94660 }
94661 });
94662
94663 if (high.operator === comp || high.operator === ecomp) {
94664 return false;
94665 }
94666
94667 if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
94668 return false;
94669 } else if (low.operator === ecomp && ltfn(version, low.semver)) {
94670 return false;
94671 }
94672 }
94673
94674 return true;
94675 }
94676
94677 exports.prerelease = prerelease;
94678
94679 function prerelease(version, options) {
94680 var parsed = parse(version, options);
94681 return parsed && parsed.prerelease.length ? parsed.prerelease : null;
94682 }
94683
94684 exports.intersects = intersects;
94685
94686 function intersects(r1, r2, options) {
94687 r1 = new Range(r1, options);
94688 r2 = new Range(r2, options);
94689 return r1.intersects(r2);
94690 }
94691
94692 exports.coerce = coerce;
94693
94694 function coerce(version, options) {
94695 if (version instanceof SemVer) {
94696 return version;
94697 }
94698
94699 if (typeof version === 'number') {
94700 version = String(version);
94701 }
94702
94703 if (typeof version !== 'string') {
94704 return null;
94705 }
94706
94707 options = options || {};
94708 var match = null;
94709
94710 if (!options.rtl) {
94711 match = version.match(re[t.COERCE]);
94712 } else {
94713 var next;
94714
94715 while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
94716 if (!match || next.index + next[0].length !== match.index + match[0].length) {
94717 match = next;
94718 }
94719
94720 re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
94721 }
94722
94723 re[t.COERCERTL].lastIndex = -1;
94724 }
94725
94726 if (match === null) {
94727 return null;
94728 }
94729
94730 return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options);
94731 }
94732 }, "/$$rollup_base$$/node_modules/semver-BABEL_8_BREAKING-false");
94733
94734 var semver$4 = semver$5;
94735
94736 function hasMinVersion$2(minVersion, runtimeVersion) {
94737 if (!runtimeVersion) return true;
94738 if (semver$4.valid(runtimeVersion)) runtimeVersion = "^" + runtimeVersion;
94739 return !semver$4.intersects("<" + minVersion, runtimeVersion) && !semver$4.intersects(">=8.0.0", runtimeVersion);
94740 }
94741
94742 function getRuntimePath (moduleName, dirname, absoluteRuntime) {
94743 if (absoluteRuntime === false) return moduleName;
94744 throw new Error("The 'absoluteRuntime' option is not supported when using @babel/standalone.");
94745 }
94746
94747 var semver$3 = createCommonjsModule(function (module, exports) {
94748 exports = module.exports = SemVer;
94749 var debug;
94750
94751 if (typeof browser$6 === 'object' && browser$6.env && browser$6.env.NODE_DEBUG && /\bsemver\b/i.test(browser$6.env.NODE_DEBUG)) {
94752 debug = function debug() {
94753 var args = Array.prototype.slice.call(arguments, 0);
94754 args.unshift('SEMVER');
94755 console.log.apply(console, args);
94756 };
94757 } else {
94758 debug = function debug() {};
94759 }
94760
94761 exports.SEMVER_SPEC_VERSION = '2.0.0';
94762 var MAX_LENGTH = 256;
94763 var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
94764 var MAX_SAFE_COMPONENT_LENGTH = 16;
94765 var re = exports.re = [];
94766 var src = exports.src = [];
94767 var t = exports.tokens = {};
94768 var R = 0;
94769
94770 function tok(n) {
94771 t[n] = R++;
94772 }
94773
94774 tok('NUMERICIDENTIFIER');
94775 src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*';
94776 tok('NUMERICIDENTIFIERLOOSE');
94777 src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+';
94778 tok('NONNUMERICIDENTIFIER');
94779 src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
94780 tok('MAINVERSION');
94781 src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')';
94782 tok('MAINVERSIONLOOSE');
94783 src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')';
94784 tok('PRERELEASEIDENTIFIER');
94785 src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
94786 tok('PRERELEASEIDENTIFIERLOOSE');
94787 src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
94788 tok('PRERELEASE');
94789 src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))';
94790 tok('PRERELEASELOOSE');
94791 src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))';
94792 tok('BUILDIDENTIFIER');
94793 src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
94794 tok('BUILD');
94795 src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))';
94796 tok('FULL');
94797 tok('FULLPLAIN');
94798 src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?';
94799 src[t.FULL] = '^' + src[t.FULLPLAIN] + '$';
94800 tok('LOOSEPLAIN');
94801 src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?';
94802 tok('LOOSE');
94803 src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$';
94804 tok('GTLT');
94805 src[t.GTLT] = '((?:<|>)?=?)';
94806 tok('XRANGEIDENTIFIERLOOSE');
94807 src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
94808 tok('XRANGEIDENTIFIER');
94809 src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*';
94810 tok('XRANGEPLAIN');
94811 src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?';
94812 tok('XRANGEPLAINLOOSE');
94813 src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?';
94814 tok('XRANGE');
94815 src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$';
94816 tok('XRANGELOOSE');
94817 src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$';
94818 tok('COERCE');
94819 src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])';
94820 tok('COERCERTL');
94821 re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g');
94822 tok('LONETILDE');
94823 src[t.LONETILDE] = '(?:~>?)';
94824 tok('TILDETRIM');
94825 src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+';
94826 re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g');
94827 var tildeTrimReplace = '$1~';
94828 tok('TILDE');
94829 src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$';
94830 tok('TILDELOOSE');
94831 src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$';
94832 tok('LONECARET');
94833 src[t.LONECARET] = '(?:\\^)';
94834 tok('CARETTRIM');
94835 src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+';
94836 re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g');
94837 var caretTrimReplace = '$1^';
94838 tok('CARET');
94839 src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$';
94840 tok('CARETLOOSE');
94841 src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$';
94842 tok('COMPARATORLOOSE');
94843 src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$';
94844 tok('COMPARATOR');
94845 src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$';
94846 tok('COMPARATORTRIM');
94847 src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')';
94848 re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g');
94849 var comparatorTrimReplace = '$1$2$3';
94850 tok('HYPHENRANGE');
94851 src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$';
94852 tok('HYPHENRANGELOOSE');
94853 src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$';
94854 tok('STAR');
94855 src[t.STAR] = '(<|>)?=?\\s*\\*';
94856
94857 for (var i = 0; i < R; i++) {
94858 debug(i, src[i]);
94859
94860 if (!re[i]) {
94861 re[i] = new RegExp(src[i]);
94862 }
94863 }
94864
94865 exports.parse = parse;
94866
94867 function parse(version, options) {
94868 if (!options || typeof options !== 'object') {
94869 options = {
94870 loose: !!options,
94871 includePrerelease: false
94872 };
94873 }
94874
94875 if (version instanceof SemVer) {
94876 return version;
94877 }
94878
94879 if (typeof version !== 'string') {
94880 return null;
94881 }
94882
94883 if (version.length > MAX_LENGTH) {
94884 return null;
94885 }
94886
94887 var r = options.loose ? re[t.LOOSE] : re[t.FULL];
94888
94889 if (!r.test(version)) {
94890 return null;
94891 }
94892
94893 try {
94894 return new SemVer(version, options);
94895 } catch (er) {
94896 return null;
94897 }
94898 }
94899
94900 exports.valid = valid;
94901
94902 function valid(version, options) {
94903 var v = parse(version, options);
94904 return v ? v.version : null;
94905 }
94906
94907 exports.clean = clean;
94908
94909 function clean(version, options) {
94910 var s = parse(version.trim().replace(/^[=v]+/, ''), options);
94911 return s ? s.version : null;
94912 }
94913
94914 exports.SemVer = SemVer;
94915
94916 function SemVer(version, options) {
94917 if (!options || typeof options !== 'object') {
94918 options = {
94919 loose: !!options,
94920 includePrerelease: false
94921 };
94922 }
94923
94924 if (version instanceof SemVer) {
94925 if (version.loose === options.loose) {
94926 return version;
94927 } else {
94928 version = version.version;
94929 }
94930 } else if (typeof version !== 'string') {
94931 throw new TypeError('Invalid Version: ' + version);
94932 }
94933
94934 if (version.length > MAX_LENGTH) {
94935 throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters');
94936 }
94937
94938 if (!(this instanceof SemVer)) {
94939 return new SemVer(version, options);
94940 }
94941
94942 debug('SemVer', version, options);
94943 this.options = options;
94944 this.loose = !!options.loose;
94945 var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
94946
94947 if (!m) {
94948 throw new TypeError('Invalid Version: ' + version);
94949 }
94950
94951 this.raw = version;
94952 this.major = +m[1];
94953 this.minor = +m[2];
94954 this.patch = +m[3];
94955
94956 if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
94957 throw new TypeError('Invalid major version');
94958 }
94959
94960 if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
94961 throw new TypeError('Invalid minor version');
94962 }
94963
94964 if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
94965 throw new TypeError('Invalid patch version');
94966 }
94967
94968 if (!m[4]) {
94969 this.prerelease = [];
94970 } else {
94971 this.prerelease = m[4].split('.').map(function (id) {
94972 if (/^[0-9]+$/.test(id)) {
94973 var num = +id;
94974
94975 if (num >= 0 && num < MAX_SAFE_INTEGER) {
94976 return num;
94977 }
94978 }
94979
94980 return id;
94981 });
94982 }
94983
94984 this.build = m[5] ? m[5].split('.') : [];
94985 this.format();
94986 }
94987
94988 SemVer.prototype.format = function () {
94989 this.version = this.major + '.' + this.minor + '.' + this.patch;
94990
94991 if (this.prerelease.length) {
94992 this.version += '-' + this.prerelease.join('.');
94993 }
94994
94995 return this.version;
94996 };
94997
94998 SemVer.prototype.toString = function () {
94999 return this.version;
95000 };
95001
95002 SemVer.prototype.compare = function (other) {
95003 debug('SemVer.compare', this.version, this.options, other);
95004
95005 if (!(other instanceof SemVer)) {
95006 other = new SemVer(other, this.options);
95007 }
95008
95009 return this.compareMain(other) || this.comparePre(other);
95010 };
95011
95012 SemVer.prototype.compareMain = function (other) {
95013 if (!(other instanceof SemVer)) {
95014 other = new SemVer(other, this.options);
95015 }
95016
95017 return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
95018 };
95019
95020 SemVer.prototype.comparePre = function (other) {
95021 if (!(other instanceof SemVer)) {
95022 other = new SemVer(other, this.options);
95023 }
95024
95025 if (this.prerelease.length && !other.prerelease.length) {
95026 return -1;
95027 } else if (!this.prerelease.length && other.prerelease.length) {
95028 return 1;
95029 } else if (!this.prerelease.length && !other.prerelease.length) {
95030 return 0;
95031 }
95032
95033 var i = 0;
95034
95035 do {
95036 var a = this.prerelease[i];
95037 var b = other.prerelease[i];
95038 debug('prerelease compare', i, a, b);
95039
95040 if (a === undefined && b === undefined) {
95041 return 0;
95042 } else if (b === undefined) {
95043 return 1;
95044 } else if (a === undefined) {
95045 return -1;
95046 } else if (a === b) {
95047 continue;
95048 } else {
95049 return compareIdentifiers(a, b);
95050 }
95051 } while (++i);
95052 };
95053
95054 SemVer.prototype.compareBuild = function (other) {
95055 if (!(other instanceof SemVer)) {
95056 other = new SemVer(other, this.options);
95057 }
95058
95059 var i = 0;
95060
95061 do {
95062 var a = this.build[i];
95063 var b = other.build[i];
95064 debug('prerelease compare', i, a, b);
95065
95066 if (a === undefined && b === undefined) {
95067 return 0;
95068 } else if (b === undefined) {
95069 return 1;
95070 } else if (a === undefined) {
95071 return -1;
95072 } else if (a === b) {
95073 continue;
95074 } else {
95075 return compareIdentifiers(a, b);
95076 }
95077 } while (++i);
95078 };
95079
95080 SemVer.prototype.inc = function (release, identifier) {
95081 switch (release) {
95082 case 'premajor':
95083 this.prerelease.length = 0;
95084 this.patch = 0;
95085 this.minor = 0;
95086 this.major++;
95087 this.inc('pre', identifier);
95088 break;
95089
95090 case 'preminor':
95091 this.prerelease.length = 0;
95092 this.patch = 0;
95093 this.minor++;
95094 this.inc('pre', identifier);
95095 break;
95096
95097 case 'prepatch':
95098 this.prerelease.length = 0;
95099 this.inc('patch', identifier);
95100 this.inc('pre', identifier);
95101 break;
95102
95103 case 'prerelease':
95104 if (this.prerelease.length === 0) {
95105 this.inc('patch', identifier);
95106 }
95107
95108 this.inc('pre', identifier);
95109 break;
95110
95111 case 'major':
95112 if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
95113 this.major++;
95114 }
95115
95116 this.minor = 0;
95117 this.patch = 0;
95118 this.prerelease = [];
95119 break;
95120
95121 case 'minor':
95122 if (this.patch !== 0 || this.prerelease.length === 0) {
95123 this.minor++;
95124 }
95125
95126 this.patch = 0;
95127 this.prerelease = [];
95128 break;
95129
95130 case 'patch':
95131 if (this.prerelease.length === 0) {
95132 this.patch++;
95133 }
95134
95135 this.prerelease = [];
95136 break;
95137
95138 case 'pre':
95139 if (this.prerelease.length === 0) {
95140 this.prerelease = [0];
95141 } else {
95142 var i = this.prerelease.length;
95143
95144 while (--i >= 0) {
95145 if (typeof this.prerelease[i] === 'number') {
95146 this.prerelease[i]++;
95147 i = -2;
95148 }
95149 }
95150
95151 if (i === -1) {
95152 this.prerelease.push(0);
95153 }
95154 }
95155
95156 if (identifier) {
95157 if (this.prerelease[0] === identifier) {
95158 if (isNaN(this.prerelease[1])) {
95159 this.prerelease = [identifier, 0];
95160 }
95161 } else {
95162 this.prerelease = [identifier, 0];
95163 }
95164 }
95165
95166 break;
95167
95168 default:
95169 throw new Error('invalid increment argument: ' + release);
95170 }
95171
95172 this.format();
95173 this.raw = this.version;
95174 return this;
95175 };
95176
95177 exports.inc = inc;
95178
95179 function inc(version, release, loose, identifier) {
95180 if (typeof loose === 'string') {
95181 identifier = loose;
95182 loose = undefined;
95183 }
95184
95185 try {
95186 return new SemVer(version, loose).inc(release, identifier).version;
95187 } catch (er) {
95188 return null;
95189 }
95190 }
95191
95192 exports.diff = diff;
95193
95194 function diff(version1, version2) {
95195 if (eq(version1, version2)) {
95196 return null;
95197 } else {
95198 var v1 = parse(version1);
95199 var v2 = parse(version2);
95200 var prefix = '';
95201
95202 if (v1.prerelease.length || v2.prerelease.length) {
95203 prefix = 'pre';
95204 var defaultResult = 'prerelease';
95205 }
95206
95207 for (var key in v1) {
95208 if (key === 'major' || key === 'minor' || key === 'patch') {
95209 if (v1[key] !== v2[key]) {
95210 return prefix + key;
95211 }
95212 }
95213 }
95214
95215 return defaultResult;
95216 }
95217 }
95218
95219 exports.compareIdentifiers = compareIdentifiers;
95220 var numeric = /^[0-9]+$/;
95221
95222 function compareIdentifiers(a, b) {
95223 var anum = numeric.test(a);
95224 var bnum = numeric.test(b);
95225
95226 if (anum && bnum) {
95227 a = +a;
95228 b = +b;
95229 }
95230
95231 return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
95232 }
95233
95234 exports.rcompareIdentifiers = rcompareIdentifiers;
95235
95236 function rcompareIdentifiers(a, b) {
95237 return compareIdentifiers(b, a);
95238 }
95239
95240 exports.major = major;
95241
95242 function major(a, loose) {
95243 return new SemVer(a, loose).major;
95244 }
95245
95246 exports.minor = minor;
95247
95248 function minor(a, loose) {
95249 return new SemVer(a, loose).minor;
95250 }
95251
95252 exports.patch = patch;
95253
95254 function patch(a, loose) {
95255 return new SemVer(a, loose).patch;
95256 }
95257
95258 exports.compare = compare;
95259
95260 function compare(a, b, loose) {
95261 return new SemVer(a, loose).compare(new SemVer(b, loose));
95262 }
95263
95264 exports.compareLoose = compareLoose;
95265
95266 function compareLoose(a, b) {
95267 return compare(a, b, true);
95268 }
95269
95270 exports.compareBuild = compareBuild;
95271
95272 function compareBuild(a, b, loose) {
95273 var versionA = new SemVer(a, loose);
95274 var versionB = new SemVer(b, loose);
95275 return versionA.compare(versionB) || versionA.compareBuild(versionB);
95276 }
95277
95278 exports.rcompare = rcompare;
95279
95280 function rcompare(a, b, loose) {
95281 return compare(b, a, loose);
95282 }
95283
95284 exports.sort = sort;
95285
95286 function sort(list, loose) {
95287 return list.sort(function (a, b) {
95288 return exports.compareBuild(a, b, loose);
95289 });
95290 }
95291
95292 exports.rsort = rsort;
95293
95294 function rsort(list, loose) {
95295 return list.sort(function (a, b) {
95296 return exports.compareBuild(b, a, loose);
95297 });
95298 }
95299
95300 exports.gt = gt;
95301
95302 function gt(a, b, loose) {
95303 return compare(a, b, loose) > 0;
95304 }
95305
95306 exports.lt = lt;
95307
95308 function lt(a, b, loose) {
95309 return compare(a, b, loose) < 0;
95310 }
95311
95312 exports.eq = eq;
95313
95314 function eq(a, b, loose) {
95315 return compare(a, b, loose) === 0;
95316 }
95317
95318 exports.neq = neq;
95319
95320 function neq(a, b, loose) {
95321 return compare(a, b, loose) !== 0;
95322 }
95323
95324 exports.gte = gte;
95325
95326 function gte(a, b, loose) {
95327 return compare(a, b, loose) >= 0;
95328 }
95329
95330 exports.lte = lte;
95331
95332 function lte(a, b, loose) {
95333 return compare(a, b, loose) <= 0;
95334 }
95335
95336 exports.cmp = cmp;
95337
95338 function cmp(a, op, b, loose) {
95339 switch (op) {
95340 case '===':
95341 if (typeof a === 'object') a = a.version;
95342 if (typeof b === 'object') b = b.version;
95343 return a === b;
95344
95345 case '!==':
95346 if (typeof a === 'object') a = a.version;
95347 if (typeof b === 'object') b = b.version;
95348 return a !== b;
95349
95350 case '':
95351 case '=':
95352 case '==':
95353 return eq(a, b, loose);
95354
95355 case '!=':
95356 return neq(a, b, loose);
95357
95358 case '>':
95359 return gt(a, b, loose);
95360
95361 case '>=':
95362 return gte(a, b, loose);
95363
95364 case '<':
95365 return lt(a, b, loose);
95366
95367 case '<=':
95368 return lte(a, b, loose);
95369
95370 default:
95371 throw new TypeError('Invalid operator: ' + op);
95372 }
95373 }
95374
95375 exports.Comparator = Comparator;
95376
95377 function Comparator(comp, options) {
95378 if (!options || typeof options !== 'object') {
95379 options = {
95380 loose: !!options,
95381 includePrerelease: false
95382 };
95383 }
95384
95385 if (comp instanceof Comparator) {
95386 if (comp.loose === !!options.loose) {
95387 return comp;
95388 } else {
95389 comp = comp.value;
95390 }
95391 }
95392
95393 if (!(this instanceof Comparator)) {
95394 return new Comparator(comp, options);
95395 }
95396
95397 debug('comparator', comp, options);
95398 this.options = options;
95399 this.loose = !!options.loose;
95400 this.parse(comp);
95401
95402 if (this.semver === ANY) {
95403 this.value = '';
95404 } else {
95405 this.value = this.operator + this.semver.version;
95406 }
95407
95408 debug('comp', this);
95409 }
95410
95411 var ANY = {};
95412
95413 Comparator.prototype.parse = function (comp) {
95414 var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
95415 var m = comp.match(r);
95416
95417 if (!m) {
95418 throw new TypeError('Invalid comparator: ' + comp);
95419 }
95420
95421 this.operator = m[1] !== undefined ? m[1] : '';
95422
95423 if (this.operator === '=') {
95424 this.operator = '';
95425 }
95426
95427 if (!m[2]) {
95428 this.semver = ANY;
95429 } else {
95430 this.semver = new SemVer(m[2], this.options.loose);
95431 }
95432 };
95433
95434 Comparator.prototype.toString = function () {
95435 return this.value;
95436 };
95437
95438 Comparator.prototype.test = function (version) {
95439 debug('Comparator.test', version, this.options.loose);
95440
95441 if (this.semver === ANY || version === ANY) {
95442 return true;
95443 }
95444
95445 if (typeof version === 'string') {
95446 try {
95447 version = new SemVer(version, this.options);
95448 } catch (er) {
95449 return false;
95450 }
95451 }
95452
95453 return cmp(version, this.operator, this.semver, this.options);
95454 };
95455
95456 Comparator.prototype.intersects = function (comp, options) {
95457 if (!(comp instanceof Comparator)) {
95458 throw new TypeError('a Comparator is required');
95459 }
95460
95461 if (!options || typeof options !== 'object') {
95462 options = {
95463 loose: !!options,
95464 includePrerelease: false
95465 };
95466 }
95467
95468 var rangeTmp;
95469
95470 if (this.operator === '') {
95471 if (this.value === '') {
95472 return true;
95473 }
95474
95475 rangeTmp = new Range(comp.value, options);
95476 return satisfies(this.value, rangeTmp, options);
95477 } else if (comp.operator === '') {
95478 if (comp.value === '') {
95479 return true;
95480 }
95481
95482 rangeTmp = new Range(this.value, options);
95483 return satisfies(comp.semver, rangeTmp, options);
95484 }
95485
95486 var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
95487 var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
95488 var sameSemVer = this.semver.version === comp.semver.version;
95489 var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
95490 var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
95491 var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
95492 return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
95493 };
95494
95495 exports.Range = Range;
95496
95497 function Range(range, options) {
95498 if (!options || typeof options !== 'object') {
95499 options = {
95500 loose: !!options,
95501 includePrerelease: false
95502 };
95503 }
95504
95505 if (range instanceof Range) {
95506 if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
95507 return range;
95508 } else {
95509 return new Range(range.raw, options);
95510 }
95511 }
95512
95513 if (range instanceof Comparator) {
95514 return new Range(range.value, options);
95515 }
95516
95517 if (!(this instanceof Range)) {
95518 return new Range(range, options);
95519 }
95520
95521 this.options = options;
95522 this.loose = !!options.loose;
95523 this.includePrerelease = !!options.includePrerelease;
95524 this.raw = range;
95525 this.set = range.split(/\s*\|\|\s*/).map(function (range) {
95526 return this.parseRange(range.trim());
95527 }, this).filter(function (c) {
95528 return c.length;
95529 });
95530
95531 if (!this.set.length) {
95532 throw new TypeError('Invalid SemVer Range: ' + range);
95533 }
95534
95535 this.format();
95536 }
95537
95538 Range.prototype.format = function () {
95539 this.range = this.set.map(function (comps) {
95540 return comps.join(' ').trim();
95541 }).join('||').trim();
95542 return this.range;
95543 };
95544
95545 Range.prototype.toString = function () {
95546 return this.range;
95547 };
95548
95549 Range.prototype.parseRange = function (range) {
95550 var loose = this.options.loose;
95551 range = range.trim();
95552 var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
95553 range = range.replace(hr, hyphenReplace);
95554 debug('hyphen replace', range);
95555 range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
95556 debug('comparator trim', range, re[t.COMPARATORTRIM]);
95557 range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
95558 range = range.replace(re[t.CARETTRIM], caretTrimReplace);
95559 range = range.split(/\s+/).join(' ');
95560 var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
95561 var set = range.split(' ').map(function (comp) {
95562 return parseComparator(comp, this.options);
95563 }, this).join(' ').split(/\s+/);
95564
95565 if (this.options.loose) {
95566 set = set.filter(function (comp) {
95567 return !!comp.match(compRe);
95568 });
95569 }
95570
95571 set = set.map(function (comp) {
95572 return new Comparator(comp, this.options);
95573 }, this);
95574 return set;
95575 };
95576
95577 Range.prototype.intersects = function (range, options) {
95578 if (!(range instanceof Range)) {
95579 throw new TypeError('a Range is required');
95580 }
95581
95582 return this.set.some(function (thisComparators) {
95583 return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
95584 return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
95585 return rangeComparators.every(function (rangeComparator) {
95586 return thisComparator.intersects(rangeComparator, options);
95587 });
95588 });
95589 });
95590 });
95591 };
95592
95593 function isSatisfiable(comparators, options) {
95594 var result = true;
95595 var remainingComparators = comparators.slice();
95596 var testComparator = remainingComparators.pop();
95597
95598 while (result && remainingComparators.length) {
95599 result = remainingComparators.every(function (otherComparator) {
95600 return testComparator.intersects(otherComparator, options);
95601 });
95602 testComparator = remainingComparators.pop();
95603 }
95604
95605 return result;
95606 }
95607
95608 exports.toComparators = toComparators;
95609
95610 function toComparators(range, options) {
95611 return new Range(range, options).set.map(function (comp) {
95612 return comp.map(function (c) {
95613 return c.value;
95614 }).join(' ').trim().split(' ');
95615 });
95616 }
95617
95618 function parseComparator(comp, options) {
95619 debug('comp', comp, options);
95620 comp = replaceCarets(comp, options);
95621 debug('caret', comp);
95622 comp = replaceTildes(comp, options);
95623 debug('tildes', comp);
95624 comp = replaceXRanges(comp, options);
95625 debug('xrange', comp);
95626 comp = replaceStars(comp, options);
95627 debug('stars', comp);
95628 return comp;
95629 }
95630
95631 function isX(id) {
95632 return !id || id.toLowerCase() === 'x' || id === '*';
95633 }
95634
95635 function replaceTildes(comp, options) {
95636 return comp.trim().split(/\s+/).map(function (comp) {
95637 return replaceTilde(comp, options);
95638 }).join(' ');
95639 }
95640
95641 function replaceTilde(comp, options) {
95642 var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
95643 return comp.replace(r, function (_, M, m, p, pr) {
95644 debug('tilde', comp, _, M, m, p, pr);
95645 var ret;
95646
95647 if (isX(M)) {
95648 ret = '';
95649 } else if (isX(m)) {
95650 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
95651 } else if (isX(p)) {
95652 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
95653 } else if (pr) {
95654 debug('replaceTilde pr', pr);
95655 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
95656 } else {
95657 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
95658 }
95659
95660 debug('tilde return', ret);
95661 return ret;
95662 });
95663 }
95664
95665 function replaceCarets(comp, options) {
95666 return comp.trim().split(/\s+/).map(function (comp) {
95667 return replaceCaret(comp, options);
95668 }).join(' ');
95669 }
95670
95671 function replaceCaret(comp, options) {
95672 debug('caret', comp, options);
95673 var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
95674 return comp.replace(r, function (_, M, m, p, pr) {
95675 debug('caret', comp, _, M, m, p, pr);
95676 var ret;
95677
95678 if (isX(M)) {
95679 ret = '';
95680 } else if (isX(m)) {
95681 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
95682 } else if (isX(p)) {
95683 if (M === '0') {
95684 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
95685 } else {
95686 ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
95687 }
95688 } else if (pr) {
95689 debug('replaceCaret pr', pr);
95690
95691 if (M === '0') {
95692 if (m === '0') {
95693 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1);
95694 } else {
95695 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
95696 }
95697 } else {
95698 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0';
95699 }
95700 } else {
95701 debug('no pr');
95702
95703 if (M === '0') {
95704 if (m === '0') {
95705 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1);
95706 } else {
95707 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
95708 }
95709 } else {
95710 ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0';
95711 }
95712 }
95713
95714 debug('caret return', ret);
95715 return ret;
95716 });
95717 }
95718
95719 function replaceXRanges(comp, options) {
95720 debug('replaceXRanges', comp, options);
95721 return comp.split(/\s+/).map(function (comp) {
95722 return replaceXRange(comp, options);
95723 }).join(' ');
95724 }
95725
95726 function replaceXRange(comp, options) {
95727 comp = comp.trim();
95728 var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
95729 return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
95730 debug('xRange', comp, ret, gtlt, M, m, p, pr);
95731 var xM = isX(M);
95732 var xm = xM || isX(m);
95733 var xp = xm || isX(p);
95734 var anyX = xp;
95735
95736 if (gtlt === '=' && anyX) {
95737 gtlt = '';
95738 }
95739
95740 pr = options.includePrerelease ? '-0' : '';
95741
95742 if (xM) {
95743 if (gtlt === '>' || gtlt === '<') {
95744 ret = '<0.0.0-0';
95745 } else {
95746 ret = '*';
95747 }
95748 } else if (gtlt && anyX) {
95749 if (xm) {
95750 m = 0;
95751 }
95752
95753 p = 0;
95754
95755 if (gtlt === '>') {
95756 gtlt = '>=';
95757
95758 if (xm) {
95759 M = +M + 1;
95760 m = 0;
95761 p = 0;
95762 } else {
95763 m = +m + 1;
95764 p = 0;
95765 }
95766 } else if (gtlt === '<=') {
95767 gtlt = '<';
95768
95769 if (xm) {
95770 M = +M + 1;
95771 } else {
95772 m = +m + 1;
95773 }
95774 }
95775
95776 ret = gtlt + M + '.' + m + '.' + p + pr;
95777 } else if (xm) {
95778 ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr;
95779 } else if (xp) {
95780 ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr;
95781 }
95782
95783 debug('xRange return', ret);
95784 return ret;
95785 });
95786 }
95787
95788 function replaceStars(comp, options) {
95789 debug('replaceStars', comp, options);
95790 return comp.trim().replace(re[t.STAR], '');
95791 }
95792
95793 function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
95794 if (isX(fM)) {
95795 from = '';
95796 } else if (isX(fm)) {
95797 from = '>=' + fM + '.0.0';
95798 } else if (isX(fp)) {
95799 from = '>=' + fM + '.' + fm + '.0';
95800 } else {
95801 from = '>=' + from;
95802 }
95803
95804 if (isX(tM)) {
95805 to = '';
95806 } else if (isX(tm)) {
95807 to = '<' + (+tM + 1) + '.0.0';
95808 } else if (isX(tp)) {
95809 to = '<' + tM + '.' + (+tm + 1) + '.0';
95810 } else if (tpr) {
95811 to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
95812 } else {
95813 to = '<=' + to;
95814 }
95815
95816 return (from + ' ' + to).trim();
95817 }
95818
95819 Range.prototype.test = function (version) {
95820 if (!version) {
95821 return false;
95822 }
95823
95824 if (typeof version === 'string') {
95825 try {
95826 version = new SemVer(version, this.options);
95827 } catch (er) {
95828 return false;
95829 }
95830 }
95831
95832 for (var i = 0; i < this.set.length; i++) {
95833 if (testSet(this.set[i], version, this.options)) {
95834 return true;
95835 }
95836 }
95837
95838 return false;
95839 };
95840
95841 function testSet(set, version, options) {
95842 for (var i = 0; i < set.length; i++) {
95843 if (!set[i].test(version)) {
95844 return false;
95845 }
95846 }
95847
95848 if (version.prerelease.length && !options.includePrerelease) {
95849 for (i = 0; i < set.length; i++) {
95850 debug(set[i].semver);
95851
95852 if (set[i].semver === ANY) {
95853 continue;
95854 }
95855
95856 if (set[i].semver.prerelease.length > 0) {
95857 var allowed = set[i].semver;
95858
95859 if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
95860 return true;
95861 }
95862 }
95863 }
95864
95865 return false;
95866 }
95867
95868 return true;
95869 }
95870
95871 exports.satisfies = satisfies;
95872
95873 function satisfies(version, range, options) {
95874 try {
95875 range = new Range(range, options);
95876 } catch (er) {
95877 return false;
95878 }
95879
95880 return range.test(version);
95881 }
95882
95883 exports.maxSatisfying = maxSatisfying;
95884
95885 function maxSatisfying(versions, range, options) {
95886 var max = null;
95887 var maxSV = null;
95888
95889 try {
95890 var rangeObj = new Range(range, options);
95891 } catch (er) {
95892 return null;
95893 }
95894
95895 versions.forEach(function (v) {
95896 if (rangeObj.test(v)) {
95897 if (!max || maxSV.compare(v) === -1) {
95898 max = v;
95899 maxSV = new SemVer(max, options);
95900 }
95901 }
95902 });
95903 return max;
95904 }
95905
95906 exports.minSatisfying = minSatisfying;
95907
95908 function minSatisfying(versions, range, options) {
95909 var min = null;
95910 var minSV = null;
95911
95912 try {
95913 var rangeObj = new Range(range, options);
95914 } catch (er) {
95915 return null;
95916 }
95917
95918 versions.forEach(function (v) {
95919 if (rangeObj.test(v)) {
95920 if (!min || minSV.compare(v) === 1) {
95921 min = v;
95922 minSV = new SemVer(min, options);
95923 }
95924 }
95925 });
95926 return min;
95927 }
95928
95929 exports.minVersion = minVersion;
95930
95931 function minVersion(range, loose) {
95932 range = new Range(range, loose);
95933 var minver = new SemVer('0.0.0');
95934
95935 if (range.test(minver)) {
95936 return minver;
95937 }
95938
95939 minver = new SemVer('0.0.0-0');
95940
95941 if (range.test(minver)) {
95942 return minver;
95943 }
95944
95945 minver = null;
95946
95947 for (var i = 0; i < range.set.length; ++i) {
95948 var comparators = range.set[i];
95949 comparators.forEach(function (comparator) {
95950 var compver = new SemVer(comparator.semver.version);
95951
95952 switch (comparator.operator) {
95953 case '>':
95954 if (compver.prerelease.length === 0) {
95955 compver.patch++;
95956 } else {
95957 compver.prerelease.push(0);
95958 }
95959
95960 compver.raw = compver.format();
95961
95962 case '':
95963 case '>=':
95964 if (!minver || gt(minver, compver)) {
95965 minver = compver;
95966 }
95967
95968 break;
95969
95970 case '<':
95971 case '<=':
95972 break;
95973
95974 default:
95975 throw new Error('Unexpected operation: ' + comparator.operator);
95976 }
95977 });
95978 }
95979
95980 if (minver && range.test(minver)) {
95981 return minver;
95982 }
95983
95984 return null;
95985 }
95986
95987 exports.validRange = validRange;
95988
95989 function validRange(range, options) {
95990 try {
95991 return new Range(range, options).range || '*';
95992 } catch (er) {
95993 return null;
95994 }
95995 }
95996
95997 exports.ltr = ltr;
95998
95999 function ltr(version, range, options) {
96000 return outside(version, range, '<', options);
96001 }
96002
96003 exports.gtr = gtr;
96004
96005 function gtr(version, range, options) {
96006 return outside(version, range, '>', options);
96007 }
96008
96009 exports.outside = outside;
96010
96011 function outside(version, range, hilo, options) {
96012 version = new SemVer(version, options);
96013 range = new Range(range, options);
96014 var gtfn, ltefn, ltfn, comp, ecomp;
96015
96016 switch (hilo) {
96017 case '>':
96018 gtfn = gt;
96019 ltefn = lte;
96020 ltfn = lt;
96021 comp = '>';
96022 ecomp = '>=';
96023 break;
96024
96025 case '<':
96026 gtfn = lt;
96027 ltefn = gte;
96028 ltfn = gt;
96029 comp = '<';
96030 ecomp = '<=';
96031 break;
96032
96033 default:
96034 throw new TypeError('Must provide a hilo val of "<" or ">"');
96035 }
96036
96037 if (satisfies(version, range, options)) {
96038 return false;
96039 }
96040
96041 for (var i = 0; i < range.set.length; ++i) {
96042 var comparators = range.set[i];
96043 var high = null;
96044 var low = null;
96045 comparators.forEach(function (comparator) {
96046 if (comparator.semver === ANY) {
96047 comparator = new Comparator('>=0.0.0');
96048 }
96049
96050 high = high || comparator;
96051 low = low || comparator;
96052
96053 if (gtfn(comparator.semver, high.semver, options)) {
96054 high = comparator;
96055 } else if (ltfn(comparator.semver, low.semver, options)) {
96056 low = comparator;
96057 }
96058 });
96059
96060 if (high.operator === comp || high.operator === ecomp) {
96061 return false;
96062 }
96063
96064 if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
96065 return false;
96066 } else if (low.operator === ecomp && ltfn(version, low.semver)) {
96067 return false;
96068 }
96069 }
96070
96071 return true;
96072 }
96073
96074 exports.prerelease = prerelease;
96075
96076 function prerelease(version, options) {
96077 var parsed = parse(version, options);
96078 return parsed && parsed.prerelease.length ? parsed.prerelease : null;
96079 }
96080
96081 exports.intersects = intersects;
96082
96083 function intersects(r1, r2, options) {
96084 r1 = new Range(r1, options);
96085 r2 = new Range(r2, options);
96086 return r1.intersects(r2);
96087 }
96088
96089 exports.coerce = coerce;
96090
96091 function coerce(version, options) {
96092 if (version instanceof SemVer) {
96093 return version;
96094 }
96095
96096 if (typeof version === 'number') {
96097 version = String(version);
96098 }
96099
96100 if (typeof version !== 'string') {
96101 return null;
96102 }
96103
96104 options = options || {};
96105 var match = null;
96106
96107 if (!options.rtl) {
96108 match = version.match(re[t.COERCE]);
96109 } else {
96110 var next;
96111
96112 while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
96113 if (!match || next.index + next[0].length !== match.index + match[0].length) {
96114 match = next;
96115 }
96116
96117 re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
96118 }
96119
96120 re[t.COERCERTL].lastIndex = -1;
96121 }
96122
96123 if (match === null) {
96124 return null;
96125 }
96126
96127 return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options);
96128 }
96129 }, "/$$rollup_base$$/packages/babel-plugin-transform-runtime/node_modules/babel-plugin-polyfill-corejs2/node_modules/semver");
96130
96131 var _excluded$1 = ["method", "targets", "ignoreBrowserslistConfig", "configPath", "debug", "shouldInjectPolyfill", "absoluteImports"];
96132
96133 var _templateObject$5, _templateObject2$3, _templateObject3$2;
96134
96135 var _ref$5 = undefined || babel,
96136 t$1$3 = _ref$5.types,
96137 template$1 = _ref$5.template;
96138
96139 function intersection$3(a, b) {
96140 var result = new Set();
96141 a.forEach(function (v) {
96142 return b.has(v) && result.add(v);
96143 });
96144 return result;
96145 }
96146
96147 function has$1$1(object, key) {
96148 return Object.prototype.hasOwnProperty.call(object, key);
96149 }
96150
96151 function getType$1(target) {
96152 return Object.prototype.toString.call(target).slice(8, -1);
96153 }
96154
96155 function resolveId$1(path) {
96156 if (path.isIdentifier() && !path.scope.hasBinding(path.node.name, true)) {
96157 return path.node.name;
96158 }
96159
96160 var _path$evaluate = path.evaluate(),
96161 deopt = _path$evaluate.deopt;
96162
96163 if (deopt && deopt.isIdentifier()) {
96164 return deopt.node.name;
96165 }
96166 }
96167
96168 function resolveKey$1(path, computed) {
96169 if (computed === void 0) {
96170 computed = false;
96171 }
96172
96173 var node = path.node,
96174 parent = path.parent,
96175 scope = path.scope;
96176 if (path.isStringLiteral()) return node.value;
96177 var name = node.name;
96178 var isIdentifier = path.isIdentifier();
96179 if (isIdentifier && !(computed || parent.computed)) return name;
96180
96181 if (computed && path.isMemberExpression() && path.get("object").isIdentifier({
96182 name: "Symbol"
96183 }) && !scope.hasBinding("Symbol", true)) {
96184 var sym = resolveKey$1(path.get("property"), path.node.computed);
96185 if (sym) return "Symbol." + sym;
96186 }
96187
96188 if (!isIdentifier || scope.hasBinding(name, true)) {
96189 var _path$evaluate2 = path.evaluate(),
96190 value = _path$evaluate2.value;
96191
96192 if (typeof value === "string") return value;
96193 }
96194 }
96195
96196 function resolveSource$1(obj) {
96197 if (obj.isMemberExpression() && obj.get("property").isIdentifier({
96198 name: "prototype"
96199 })) {
96200 var _id = resolveId$1(obj.get("object"));
96201
96202 if (_id) {
96203 return {
96204 id: _id,
96205 placement: "prototype"
96206 };
96207 }
96208
96209 return {
96210 id: null,
96211 placement: null
96212 };
96213 }
96214
96215 var id = resolveId$1(obj);
96216
96217 if (id) {
96218 return {
96219 id: id,
96220 placement: "static"
96221 };
96222 }
96223
96224 var _obj$evaluate = obj.evaluate(),
96225 value = _obj$evaluate.value;
96226
96227 if (value !== undefined) {
96228 return {
96229 id: getType$1(value),
96230 placement: "prototype"
96231 };
96232 } else if (obj.isRegExpLiteral()) {
96233 return {
96234 id: "RegExp",
96235 placement: "prototype"
96236 };
96237 } else if (obj.isFunction()) {
96238 return {
96239 id: "Function",
96240 placement: "prototype"
96241 };
96242 }
96243
96244 return {
96245 id: null,
96246 placement: null
96247 };
96248 }
96249
96250 function getImportSource$2(_ref2) {
96251 var node = _ref2.node;
96252 if (node.specifiers.length === 0) return node.source.value;
96253 }
96254
96255 function getRequireSource$2(_ref3) {
96256 var node = _ref3.node;
96257 if (!t$1$3.isExpressionStatement(node)) return;
96258 var expression = node.expression;
96259 var isRequire = t$1$3.isCallExpression(expression) && t$1$3.isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && t$1$3.isStringLiteral(expression.arguments[0]);
96260 if (isRequire) return expression.arguments[0].value;
96261 }
96262
96263 function hoist$1(node) {
96264 node._blockHoist = 3;
96265 return node;
96266 }
96267
96268 function createUtilsGetter$1(cache) {
96269 return function (path) {
96270 var prog = path.findParent(function (p) {
96271 return p.isProgram();
96272 });
96273 return {
96274 injectGlobalImport: function injectGlobalImport(url) {
96275 cache.storeAnonymous(prog, url, function (isScript, source) {
96276 return isScript ? template$1.statement.ast(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["require(", ")"])), source) : t$1$3.importDeclaration([], source);
96277 });
96278 },
96279 injectNamedImport: function injectNamedImport(url, name, hint) {
96280 if (hint === void 0) {
96281 hint = name;
96282 }
96283
96284 return cache.storeNamed(prog, url, name, function (isScript, source, name) {
96285 var id = prog.scope.generateUidIdentifier(hint);
96286 return {
96287 node: isScript ? hoist$1(template$1.statement.ast(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteralLoose(["\n var ", " = require(", ").", "\n "])), id, source, name)) : t$1$3.importDeclaration([t$1$3.importSpecifier(id, name)], source),
96288 name: id.name
96289 };
96290 });
96291 },
96292 injectDefaultImport: function injectDefaultImport(url, hint) {
96293 if (hint === void 0) {
96294 hint = url;
96295 }
96296
96297 return cache.storeNamed(prog, url, "default", function (isScript, source) {
96298 var id = prog.scope.generateUidIdentifier(hint);
96299 return {
96300 node: isScript ? hoist$1(template$1.statement.ast(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteralLoose(["var ", " = require(", ")"])), id, source)) : t$1$3.importDeclaration([t$1$3.importDefaultSpecifier(id)], source),
96301 name: id.name
96302 };
96303 });
96304 }
96305 };
96306 };
96307 }
96308
96309 var _ref4$1 = undefined || babel,
96310 t$9 = _ref4$1.types;
96311
96312 var ImportsCache$1 = function () {
96313 function ImportsCache(resolver) {
96314 this._imports = new WeakMap();
96315 this._anonymousImports = new WeakMap();
96316 this._lastImports = new WeakMap();
96317 this._resolver = resolver;
96318 }
96319
96320 var _proto = ImportsCache.prototype;
96321
96322 _proto.storeAnonymous = function storeAnonymous(programPath, url, getVal) {
96323 var key = this._normalizeKey(programPath, url);
96324
96325 var imports = this._ensure(this._anonymousImports, programPath, Set);
96326
96327 if (imports.has(key)) return;
96328 var node = getVal(programPath.node.sourceType === "script", t$9.stringLiteral(this._resolver(url)));
96329 imports.add(key);
96330
96331 this._injectImport(programPath, node);
96332 };
96333
96334 _proto.storeNamed = function storeNamed(programPath, url, name, getVal) {
96335 var key = this._normalizeKey(programPath, url, name);
96336
96337 var imports = this._ensure(this._imports, programPath, Map);
96338
96339 if (!imports.has(key)) {
96340 var _getVal = getVal(programPath.node.sourceType === "script", t$9.stringLiteral(this._resolver(url)), t$9.identifier(name)),
96341 node = _getVal.node,
96342 id = _getVal.name;
96343
96344 imports.set(key, id);
96345
96346 this._injectImport(programPath, node);
96347 }
96348
96349 return t$9.identifier(imports.get(key));
96350 };
96351
96352 _proto._injectImport = function _injectImport(programPath, node) {
96353 var lastImport = this._lastImports.get(programPath);
96354
96355 if (lastImport && lastImport.node && lastImport.parent === programPath.node && lastImport.container === programPath.node.body) {
96356 lastImport = lastImport.insertAfter(node);
96357 } else {
96358 lastImport = programPath.unshiftContainer("body", node);
96359 }
96360
96361 lastImport = lastImport[lastImport.length - 1];
96362
96363 this._lastImports.set(programPath, lastImport);
96364 };
96365
96366 _proto._ensure = function _ensure(map, programPath, Collection) {
96367 var collection = map.get(programPath);
96368
96369 if (!collection) {
96370 collection = new Collection();
96371 map.set(programPath, collection);
96372 }
96373
96374 return collection;
96375 };
96376
96377 _proto._normalizeKey = function _normalizeKey(programPath, url, name) {
96378 if (name === void 0) {
96379 name = "";
96380 }
96381
96382 var sourceType = programPath.node.sourceType;
96383 return (name && sourceType) + "::" + url + "::" + name;
96384 };
96385
96386 return ImportsCache;
96387 }();
96388
96389 var presetEnvSilentDebugHeader$1 = "#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets";
96390
96391 function stringifyTargetsMultiline$1(targets) {
96392 return JSON.stringify(prettifyTargets(targets), null, 2);
96393 }
96394
96395 function patternToRegExp$1(pattern) {
96396 if (pattern instanceof RegExp) return pattern;
96397
96398 try {
96399 return new RegExp("^" + pattern + "$");
96400 } catch (_unused) {
96401 return null;
96402 }
96403 }
96404
96405 function buildUnusedError$1(label, unused) {
96406 if (!unused.length) return "";
96407 return " - The following \"" + label + "\" patterns didn't match any polyfill:\n" + unused.map(function (original) {
96408 return " " + String(original) + "\n";
96409 }).join("");
96410 }
96411
96412 function buldDuplicatesError$1(duplicates) {
96413 if (!duplicates.size) return "";
96414 return " - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\n" + Array.from(duplicates, function (name) {
96415 return " " + name + "\n";
96416 }).join("");
96417 }
96418
96419 function validateIncludeExclude$1(provider, polyfills, includePatterns, excludePatterns) {
96420 var current;
96421
96422 var filter = function filter(pattern) {
96423 var regexp = patternToRegExp$1(pattern);
96424 if (!regexp) return false;
96425 var matched = false;
96426
96427 for (var _iterator = _createForOfIteratorHelperLoose(polyfills), _step; !(_step = _iterator()).done;) {
96428 var polyfill = _step.value;
96429
96430 if (regexp.test(polyfill)) {
96431 matched = true;
96432 current.add(polyfill);
96433 }
96434 }
96435
96436 return !matched;
96437 };
96438
96439 var include = current = new Set();
96440 var unusedInclude = Array.from(includePatterns).filter(filter);
96441 var exclude = current = new Set();
96442 var unusedExclude = Array.from(excludePatterns).filter(filter);
96443 var duplicates = intersection$3(include, exclude);
96444
96445 if (duplicates.size > 0 || unusedInclude.length > 0 || unusedExclude.length > 0) {
96446 throw new Error("Error while validating the \"" + provider + "\" provider options:\n" + buildUnusedError$1("include", unusedInclude) + buildUnusedError$1("exclude", unusedExclude) + buldDuplicatesError$1(duplicates));
96447 }
96448
96449 return {
96450 include: include,
96451 exclude: exclude
96452 };
96453 }
96454
96455 function applyMissingDependenciesDefaults$1(options, babelApi) {
96456 var _options$missingDepen = options.missingDependencies,
96457 missingDependencies = _options$missingDepen === void 0 ? {} : _options$missingDepen;
96458 if (missingDependencies === false) return false;
96459 var caller = babelApi.caller(function (caller) {
96460 return caller == null ? void 0 : caller.name;
96461 });
96462 var _missingDependencies$ = missingDependencies.log,
96463 log = _missingDependencies$ === void 0 ? "deferred" : _missingDependencies$,
96464 _missingDependencies$2 = missingDependencies.inject,
96465 inject = _missingDependencies$2 === void 0 ? caller === "rollup-plugin-babel" ? "throw" : "import" : _missingDependencies$2,
96466 _missingDependencies$3 = missingDependencies.all,
96467 all = _missingDependencies$3 === void 0 ? false : _missingDependencies$3;
96468 return {
96469 log: log,
96470 inject: inject,
96471 all: all
96472 };
96473 }
96474
96475 var usage$1 = function usage(callProvider) {
96476 function property(object, key, placement, path) {
96477 return callProvider({
96478 kind: "property",
96479 object: object,
96480 key: key,
96481 placement: placement
96482 }, path);
96483 }
96484
96485 return {
96486 ReferencedIdentifier: function ReferencedIdentifier(path) {
96487 var name = path.node.name,
96488 scope = path.scope;
96489 if (scope.getBindingIdentifier(name)) return;
96490 callProvider({
96491 kind: "global",
96492 name: name
96493 }, path);
96494 },
96495 MemberExpression: function MemberExpression(path) {
96496 var key = resolveKey$1(path.get("property"), path.node.computed);
96497 if (!key || key === "prototype") return;
96498 var object = path.get("object");
96499 var binding = object.scope.getBinding(object.node.name);
96500 if (binding && binding.path.isImportNamespaceSpecifier()) return;
96501 var source = resolveSource$1(object);
96502 return property(source.id, key, source.placement, path);
96503 },
96504 ObjectPattern: function ObjectPattern(path) {
96505 var parentPath = path.parentPath,
96506 parent = path.parent;
96507 var obj;
96508
96509 if (parentPath.isVariableDeclarator()) {
96510 obj = parentPath.get("init");
96511 } else if (parentPath.isAssignmentExpression()) {
96512 obj = parentPath.get("right");
96513 } else if (parentPath.isFunction()) {
96514 var grand = parentPath.parentPath;
96515
96516 if (grand.isCallExpression() || grand.isNewExpression()) {
96517 if (grand.node.callee === parent) {
96518 obj = grand.get("arguments")[path.key];
96519 }
96520 }
96521 }
96522
96523 var id = null;
96524 var placement = null;
96525
96526 if (obj) {
96527 var _resolveSource = resolveSource$1(obj);
96528
96529 id = _resolveSource.id;
96530 placement = _resolveSource.placement;
96531 }
96532
96533 for (var _iterator2 = _createForOfIteratorHelperLoose(path.get("properties")), _step2; !(_step2 = _iterator2()).done;) {
96534 var prop = _step2.value;
96535
96536 if (prop.isObjectProperty()) {
96537 var key = resolveKey$1(prop.get("key"));
96538 if (key) property(id, key, placement, prop);
96539 }
96540 }
96541 },
96542 BinaryExpression: function BinaryExpression(path) {
96543 if (path.node.operator !== "in") return;
96544 var source = resolveSource$1(path.get("right"));
96545 var key = resolveKey$1(path.get("left"), true);
96546 if (!key) return;
96547 callProvider({
96548 kind: "in",
96549 object: source.id,
96550 key: key,
96551 placement: source.placement
96552 }, path);
96553 }
96554 };
96555 };
96556
96557 var entry$1 = function entry(callProvider) {
96558 return {
96559 ImportDeclaration: function ImportDeclaration(path) {
96560 var source = getImportSource$2(path);
96561 if (!source) return;
96562 callProvider({
96563 kind: "import",
96564 source: source
96565 }, path);
96566 },
96567 Program: function Program(path) {
96568 path.get("body").forEach(function (bodyPath) {
96569 var source = getRequireSource$2(bodyPath);
96570 if (!source) return;
96571 callProvider({
96572 kind: "import",
96573 source: source
96574 }, bodyPath);
96575 });
96576 }
96577 };
96578 };
96579
96580 function resolve$1(dirname, moduleName, absoluteImports) {
96581 if (absoluteImports === false) return moduleName;
96582 throw new Error("\"absoluteImports\" is not supported in bundles prepared for the browser.");
96583 }
96584
96585 function has$6(basedir, name) {
96586 return true;
96587 }
96588
96589 function logMissing$1(missingDeps) {}
96590
96591 function laterLogMissing$1(missingDeps) {}
96592
96593 var PossibleGlobalObjects$1 = new Set(["global", "globalThis", "self", "window"]);
96594
96595 function createMetaResolver$1(polyfills) {
96596 var staticP = polyfills["static"],
96597 instanceP = polyfills.instance,
96598 globalP = polyfills.global;
96599 return function (meta) {
96600 if (meta.kind === "global" && globalP && has$1$1(globalP, meta.name)) {
96601 return {
96602 kind: "global",
96603 desc: globalP[meta.name],
96604 name: meta.name
96605 };
96606 }
96607
96608 if (meta.kind === "property" || meta.kind === "in") {
96609 var placement = meta.placement,
96610 object = meta.object,
96611 key = meta.key;
96612
96613 if (object && placement === "static") {
96614 if (globalP && PossibleGlobalObjects$1.has(object) && has$1$1(globalP, key)) {
96615 return {
96616 kind: "global",
96617 desc: globalP[key],
96618 name: key
96619 };
96620 }
96621
96622 if (staticP && has$1$1(staticP, object) && has$1$1(staticP[object], key)) {
96623 return {
96624 kind: "static",
96625 desc: staticP[object][key],
96626 name: object + "$" + key
96627 };
96628 }
96629 }
96630
96631 if (instanceP && has$1$1(instanceP, key)) {
96632 return {
96633 kind: "instance",
96634 desc: instanceP[key],
96635 name: "" + key
96636 };
96637 }
96638 }
96639 };
96640 }
96641
96642 var getTargets$1 = getTargets$2["default"] || getTargets$2;
96643
96644 function resolveOptions$1(options, babelApi) {
96645 var method = options.method,
96646 targetsOption = options.targets,
96647 ignoreBrowserslistConfig = options.ignoreBrowserslistConfig,
96648 configPath = options.configPath,
96649 debug = options.debug,
96650 shouldInjectPolyfill = options.shouldInjectPolyfill,
96651 absoluteImports = options.absoluteImports,
96652 providerOptions = _objectWithoutProperties(options, _excluded$1);
96653
96654 var methodName;
96655 if (method === "usage-global") methodName = "usageGlobal";else if (method === "entry-global") methodName = "entryGlobal";else if (method === "usage-pure") methodName = "usagePure";else if (typeof method !== "string") {
96656 throw new Error(".method must be a string");
96657 } else {
96658 throw new Error(".method must be one of \"entry-global\", \"usage-global\"" + (" or \"usage-pure\" (received " + JSON.stringify(method) + ")"));
96659 }
96660
96661 if (typeof shouldInjectPolyfill === "function") {
96662 if (options.include || options.exclude) {
96663 throw new Error(".include and .exclude are not supported when using the" + " .shouldInjectPolyfill function.");
96664 }
96665 } else if (shouldInjectPolyfill != null) {
96666 throw new Error(".shouldInjectPolyfill must be a function, or undefined" + (" (received " + JSON.stringify(shouldInjectPolyfill) + ")"));
96667 }
96668
96669 if (absoluteImports != null && typeof absoluteImports !== "boolean" && typeof absoluteImports !== "string") {
96670 throw new Error(".absoluteImports must be a boolean, a string, or undefined" + (" (received " + JSON.stringify(absoluteImports) + ")"));
96671 }
96672
96673 var targets;
96674
96675 if (targetsOption || configPath || ignoreBrowserslistConfig) {
96676 var targetsObj = typeof targetsOption === "string" || Array.isArray(targetsOption) ? {
96677 browsers: targetsOption
96678 } : targetsOption;
96679 targets = getTargets$1(targetsObj, {
96680 ignoreBrowserslistConfig: ignoreBrowserslistConfig,
96681 configPath: configPath
96682 });
96683 } else {
96684 targets = babelApi.targets();
96685 }
96686
96687 return {
96688 method: method,
96689 methodName: methodName,
96690 targets: targets,
96691 absoluteImports: absoluteImports != null ? absoluteImports : false,
96692 shouldInjectPolyfill: shouldInjectPolyfill,
96693 debug: !!debug,
96694 providerOptions: providerOptions
96695 };
96696 }
96697
96698 function instantiateProvider$1(factory, options, missingDependencies, dirname, debugLog, babelApi) {
96699 var _resolveOptions = resolveOptions$1(options, babelApi),
96700 method = _resolveOptions.method,
96701 methodName = _resolveOptions.methodName,
96702 targets = _resolveOptions.targets,
96703 _debug = _resolveOptions.debug,
96704 _shouldInjectPolyfill = _resolveOptions.shouldInjectPolyfill,
96705 providerOptions = _resolveOptions.providerOptions,
96706 absoluteImports = _resolveOptions.absoluteImports;
96707
96708 var getUtils = createUtilsGetter$1(new ImportsCache$1(function (moduleName) {
96709 return resolve$1(dirname, moduleName, absoluteImports);
96710 }));
96711 var include, exclude;
96712 var polyfillsSupport;
96713 var polyfillsNames;
96714 var filterPolyfills;
96715 var depsCache = new Map();
96716 var api = {
96717 babel: babelApi,
96718 getUtils: getUtils,
96719 method: options.method,
96720 targets: targets,
96721 createMetaResolver: createMetaResolver$1,
96722 shouldInjectPolyfill: function shouldInjectPolyfill(name) {
96723 if (polyfillsNames === undefined) {
96724 throw new Error("Internal error in the " + factory.name + " provider: " + "shouldInjectPolyfill() can't be called during initialization.");
96725 }
96726
96727 if (!polyfillsNames.has(name)) {
96728 console.warn("Internal error in the " + provider.name + " provider: " + ("unknown polyfill \"" + name + "\"."));
96729 }
96730
96731 if (filterPolyfills && !filterPolyfills(name)) return false;
96732 var shouldInject = isRequired(name, targets, {
96733 compatData: polyfillsSupport,
96734 includes: include,
96735 excludes: exclude
96736 });
96737
96738 if (_shouldInjectPolyfill) {
96739 shouldInject = _shouldInjectPolyfill(name, shouldInject);
96740
96741 if (typeof shouldInject !== "boolean") {
96742 throw new Error(".shouldInjectPolyfill must return a boolean.");
96743 }
96744 }
96745
96746 return shouldInject;
96747 },
96748 debug: function debug(name) {
96749 debugLog().found = true;
96750 if (!_debug || !name) return;
96751 if (debugLog().polyfills.has(provider.name)) return;
96752 debugLog().polyfills.set(name, polyfillsSupport && name && polyfillsSupport[name]);
96753 },
96754 assertDependency: function assertDependency(name, version) {
96755 if (version === void 0) {
96756 version = "*";
96757 }
96758
96759 if (missingDependencies === false) return;
96760
96761 if (absoluteImports) {
96762 return;
96763 }
96764
96765 var dep = version === "*" ? name : name + "@^" + version;
96766 var found = missingDependencies.all ? false : mapGetOr$1(depsCache, name + " :: " + dirname, function () {
96767 return has$6();
96768 });
96769
96770 if (!found) {
96771 debugLog().missingDeps.add(dep);
96772 }
96773 }
96774 };
96775 var provider = factory(api, providerOptions, dirname);
96776
96777 if (typeof provider[methodName] !== "function") {
96778 throw new Error("The \"" + (provider.name || factory.name) + "\" provider doesn't " + ("support the \"" + method + "\" polyfilling method."));
96779 }
96780
96781 if (Array.isArray(provider.polyfills)) {
96782 polyfillsNames = new Set(provider.polyfills);
96783 filterPolyfills = provider.filterPolyfills;
96784 } else if (provider.polyfills) {
96785 polyfillsNames = new Set(Object.keys(provider.polyfills));
96786 polyfillsSupport = provider.polyfills;
96787 filterPolyfills = provider.filterPolyfills;
96788 } else {
96789 polyfillsNames = new Set();
96790 }
96791
96792 var _validateIncludeExclu = validateIncludeExclude$1(provider.name || factory.name, polyfillsNames, providerOptions.include || [], providerOptions.exclude || []);
96793
96794 include = _validateIncludeExclu.include;
96795 exclude = _validateIncludeExclu.exclude;
96796 return {
96797 debug: _debug,
96798 method: method,
96799 targets: targets,
96800 provider: provider,
96801 callProvider: function callProvider(payload, path) {
96802 var utils = getUtils(path);
96803 provider[methodName](payload, utils, path);
96804 }
96805 };
96806 }
96807
96808 function definePolyfillProvider$1(factory) {
96809 return declare(function (babelApi, options, dirname) {
96810 babelApi.assertVersion(7);
96811 var traverse = babelApi.traverse;
96812 var debugLog;
96813 var missingDependencies = applyMissingDependenciesDefaults$1(options, babelApi);
96814
96815 var _instantiateProvider = instantiateProvider$1(factory, options, missingDependencies, dirname, function () {
96816 return debugLog;
96817 }, babelApi),
96818 debug = _instantiateProvider.debug,
96819 method = _instantiateProvider.method,
96820 targets = _instantiateProvider.targets,
96821 provider = _instantiateProvider.provider,
96822 callProvider = _instantiateProvider.callProvider;
96823
96824 var createVisitor = method === "entry-global" ? entry$1 : usage$1;
96825 var visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider);
96826
96827 if (debug && debug !== presetEnvSilentDebugHeader$1) {
96828 console.log(provider.name + ": `DEBUG` option");
96829 console.log("\nUsing targets: " + stringifyTargetsMultiline$1(targets));
96830 console.log("\nUsing polyfills with `" + method + "` method:");
96831 }
96832
96833 return {
96834 name: "inject-polyfills",
96835 visitor: visitor,
96836 pre: function pre() {
96837 var _provider$pre;
96838
96839 debugLog = {
96840 polyfills: new Map(),
96841 found: false,
96842 providers: new Set(),
96843 missingDeps: new Set()
96844 };
96845 (_provider$pre = provider.pre) == null ? void 0 : _provider$pre.apply(this, arguments);
96846 },
96847 post: function post() {
96848 var _provider$post;
96849
96850 (_provider$post = provider.post) == null ? void 0 : _provider$post.apply(this, arguments);
96851
96852 if (missingDependencies !== false) {
96853 if (missingDependencies.log === "per-file") {
96854 logMissing$1(debugLog.missingDeps);
96855 } else {
96856 laterLogMissing$1(debugLog.missingDeps);
96857 }
96858 }
96859
96860 if (!debug) return;
96861 if (this.filename) console.log("\n[" + this.filename + "]");
96862
96863 if (debugLog.polyfills.size === 0) {
96864 console.log(method === "entry-global" ? debugLog.found ? "Based on your targets, the " + provider.name + " polyfill did not add any polyfill." : "The entry point for the " + provider.name + " polyfill has not been found." : "Based on your code and targets, the " + provider.name + " polyfill did not add any polyfill.");
96865 return;
96866 }
96867
96868 if (method === "entry-global") {
96869 console.log("The " + provider.name + " polyfill entry has been replaced with " + "the following polyfills:");
96870 } else {
96871 console.log("The " + provider.name + " polyfill added the following polyfills:");
96872 }
96873
96874 for (var _iterator3 = _createForOfIteratorHelperLoose(debugLog.polyfills), _step3; !(_step3 = _iterator3()).done;) {
96875 var _step3$value = _slicedToArray$2(_step3.value, 2),
96876 name = _step3$value[0],
96877 support = _step3$value[1];
96878
96879 if (support) {
96880 var filteredTargets = getInclusionReasons(name, targets, support);
96881 var formattedTargets = JSON.stringify(filteredTargets).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }');
96882 console.log(" " + name + " " + formattedTargets);
96883 } else {
96884 console.log(" " + name);
96885 }
96886 }
96887 }
96888 };
96889 });
96890 }
96891
96892 function mapGetOr$1(map, key, getDefault) {
96893 var val = map.get(key);
96894
96895 if (val === undefined) {
96896 val = getDefault();
96897 map.set(key, val);
96898 }
96899
96900 return val;
96901 }
96902
96903 var define$3 = function define(name, pure, global, meta) {
96904 if (global === void 0) {
96905 global = [];
96906 }
96907
96908 return {
96909 name: name,
96910 pure: pure,
96911 global: global,
96912 meta: meta
96913 };
96914 };
96915
96916 var pureAndGlobal$1 = function pureAndGlobal(pure, global, minRuntimeVersion) {
96917 if (minRuntimeVersion === void 0) {
96918 minRuntimeVersion = null;
96919 }
96920
96921 return define$3(global[0], pure, global, {
96922 minRuntimeVersion: minRuntimeVersion
96923 });
96924 };
96925
96926 var globalOnly$1 = function globalOnly(global) {
96927 return define$3(global[0], null, global);
96928 };
96929
96930 var pureOnly$1 = function pureOnly(pure, name) {
96931 return define$3(name, pure, []);
96932 };
96933
96934 var ArrayNatureIterators$3 = ["es6.object.to-string", "es6.array.iterator", "web.dom.iterable"];
96935 var CommonIterators$3 = ["es6.string.iterator"].concat(ArrayNatureIterators$3);
96936 var PromiseDependencies$3 = ["es6.object.to-string", "es6.promise"];
96937 var BuiltIns$3 = {
96938 DataView: globalOnly$1(["es6.typed.data-view"]),
96939 Float32Array: globalOnly$1(["es6.typed.float32-array"]),
96940 Float64Array: globalOnly$1(["es6.typed.float64-array"]),
96941 Int8Array: globalOnly$1(["es6.typed.int8-array"]),
96942 Int16Array: globalOnly$1(["es6.typed.int16-array"]),
96943 Int32Array: globalOnly$1(["es6.typed.int32-array"]),
96944 Map: pureAndGlobal$1("map", ["es6.map"].concat(_toConsumableArray(CommonIterators$3))),
96945 Number: globalOnly$1(["es6.number.constructor"]),
96946 Promise: pureAndGlobal$1("promise", PromiseDependencies$3),
96947 RegExp: globalOnly$1(["es6.regexp.constructor"]),
96948 Set: pureAndGlobal$1("set", ["es6.set"].concat(_toConsumableArray(CommonIterators$3))),
96949 Symbol: pureAndGlobal$1("symbol", ["es6.symbol"]),
96950 Uint8Array: globalOnly$1(["es6.typed.uint8-array"]),
96951 Uint8ClampedArray: globalOnly$1(["es6.typed.uint8-clamped-array"]),
96952 Uint16Array: globalOnly$1(["es6.typed.uint16-array"]),
96953 Uint32Array: globalOnly$1(["es6.typed.uint32-array"]),
96954 WeakMap: pureAndGlobal$1("weak-map", ["es6.weak-map"].concat(_toConsumableArray(CommonIterators$3))),
96955 WeakSet: pureAndGlobal$1("weak-set", ["es6.weak-set"].concat(_toConsumableArray(CommonIterators$3))),
96956 setImmediate: pureOnly$1("set-immediate", "web.immediate"),
96957 clearImmediate: pureOnly$1("clear-immediate", "web.immediate"),
96958 parseFloat: pureOnly$1("parse-float", "es6.parse-float"),
96959 parseInt: pureOnly$1("parse-int", "es6.parse-int")
96960 };
96961 var InstanceProperties$3 = {
96962 __defineGetter__: globalOnly$1(["es7.object.define-getter"]),
96963 __defineSetter__: globalOnly$1(["es7.object.define-setter"]),
96964 __lookupGetter__: globalOnly$1(["es7.object.lookup-getter"]),
96965 __lookupSetter__: globalOnly$1(["es7.object.lookup-setter"]),
96966 anchor: globalOnly$1(["es6.string.anchor"]),
96967 big: globalOnly$1(["es6.string.big"]),
96968 bind: globalOnly$1(["es6.function.bind"]),
96969 blink: globalOnly$1(["es6.string.blink"]),
96970 bold: globalOnly$1(["es6.string.bold"]),
96971 codePointAt: globalOnly$1(["es6.string.code-point-at"]),
96972 copyWithin: globalOnly$1(["es6.array.copy-within"]),
96973 endsWith: globalOnly$1(["es6.string.ends-with"]),
96974 entries: globalOnly$1(ArrayNatureIterators$3),
96975 every: globalOnly$1(["es6.array.every"]),
96976 fill: globalOnly$1(["es6.array.fill"]),
96977 filter: globalOnly$1(["es6.array.filter"]),
96978 "finally": globalOnly$1(["es7.promise.finally"].concat(PromiseDependencies$3)),
96979 find: globalOnly$1(["es6.array.find"]),
96980 findIndex: globalOnly$1(["es6.array.find-index"]),
96981 fixed: globalOnly$1(["es6.string.fixed"]),
96982 flags: globalOnly$1(["es6.regexp.flags"]),
96983 flatMap: globalOnly$1(["es7.array.flat-map"]),
96984 fontcolor: globalOnly$1(["es6.string.fontcolor"]),
96985 fontsize: globalOnly$1(["es6.string.fontsize"]),
96986 forEach: globalOnly$1(["es6.array.for-each"]),
96987 includes: globalOnly$1(["es6.string.includes", "es7.array.includes"]),
96988 indexOf: globalOnly$1(["es6.array.index-of"]),
96989 italics: globalOnly$1(["es6.string.italics"]),
96990 keys: globalOnly$1(ArrayNatureIterators$3),
96991 lastIndexOf: globalOnly$1(["es6.array.last-index-of"]),
96992 link: globalOnly$1(["es6.string.link"]),
96993 map: globalOnly$1(["es6.array.map"]),
96994 match: globalOnly$1(["es6.regexp.match"]),
96995 name: globalOnly$1(["es6.function.name"]),
96996 padStart: globalOnly$1(["es7.string.pad-start"]),
96997 padEnd: globalOnly$1(["es7.string.pad-end"]),
96998 reduce: globalOnly$1(["es6.array.reduce"]),
96999 reduceRight: globalOnly$1(["es6.array.reduce-right"]),
97000 repeat: globalOnly$1(["es6.string.repeat"]),
97001 replace: globalOnly$1(["es6.regexp.replace"]),
97002 search: globalOnly$1(["es6.regexp.search"]),
97003 small: globalOnly$1(["es6.string.small"]),
97004 some: globalOnly$1(["es6.array.some"]),
97005 sort: globalOnly$1(["es6.array.sort"]),
97006 split: globalOnly$1(["es6.regexp.split"]),
97007 startsWith: globalOnly$1(["es6.string.starts-with"]),
97008 strike: globalOnly$1(["es6.string.strike"]),
97009 sub: globalOnly$1(["es6.string.sub"]),
97010 sup: globalOnly$1(["es6.string.sup"]),
97011 toISOString: globalOnly$1(["es6.date.to-iso-string"]),
97012 toJSON: globalOnly$1(["es6.date.to-json"]),
97013 toString: globalOnly$1(["es6.object.to-string", "es6.date.to-string", "es6.regexp.to-string"]),
97014 trim: globalOnly$1(["es6.string.trim"]),
97015 trimEnd: globalOnly$1(["es7.string.trim-right"]),
97016 trimLeft: globalOnly$1(["es7.string.trim-left"]),
97017 trimRight: globalOnly$1(["es7.string.trim-right"]),
97018 trimStart: globalOnly$1(["es7.string.trim-left"]),
97019 values: globalOnly$1(ArrayNatureIterators$3)
97020 };
97021
97022 if ("es6.array.slice" in corejs2BuiltIns) {
97023 InstanceProperties$3.slice = globalOnly$1(["es6.array.slice"]);
97024 }
97025
97026 var StaticProperties$3 = {
97027 Array: {
97028 from: pureAndGlobal$1("array/from", ["es6.symbol", "es6.array.from"].concat(_toConsumableArray(CommonIterators$3))),
97029 isArray: pureAndGlobal$1("array/is-array", ["es6.array.is-array"]),
97030 of: pureAndGlobal$1("array/of", ["es6.array.of"])
97031 },
97032 Date: {
97033 now: pureAndGlobal$1("date/now", ["es6.date.now"])
97034 },
97035 JSON: {
97036 stringify: pureOnly$1("json/stringify", "es6.symbol")
97037 },
97038 Math: {
97039 acosh: pureAndGlobal$1("math/acosh", ["es6.math.acosh"], "7.0.1"),
97040 asinh: pureAndGlobal$1("math/asinh", ["es6.math.asinh"], "7.0.1"),
97041 atanh: pureAndGlobal$1("math/atanh", ["es6.math.atanh"], "7.0.1"),
97042 cbrt: pureAndGlobal$1("math/cbrt", ["es6.math.cbrt"], "7.0.1"),
97043 clz32: pureAndGlobal$1("math/clz32", ["es6.math.clz32"], "7.0.1"),
97044 cosh: pureAndGlobal$1("math/cosh", ["es6.math.cosh"], "7.0.1"),
97045 expm1: pureAndGlobal$1("math/expm1", ["es6.math.expm1"], "7.0.1"),
97046 fround: pureAndGlobal$1("math/fround", ["es6.math.fround"], "7.0.1"),
97047 hypot: pureAndGlobal$1("math/hypot", ["es6.math.hypot"], "7.0.1"),
97048 imul: pureAndGlobal$1("math/imul", ["es6.math.imul"], "7.0.1"),
97049 log1p: pureAndGlobal$1("math/log1p", ["es6.math.log1p"], "7.0.1"),
97050 log10: pureAndGlobal$1("math/log10", ["es6.math.log10"], "7.0.1"),
97051 log2: pureAndGlobal$1("math/log2", ["es6.math.log2"], "7.0.1"),
97052 sign: pureAndGlobal$1("math/sign", ["es6.math.sign"], "7.0.1"),
97053 sinh: pureAndGlobal$1("math/sinh", ["es6.math.sinh"], "7.0.1"),
97054 tanh: pureAndGlobal$1("math/tanh", ["es6.math.tanh"], "7.0.1"),
97055 trunc: pureAndGlobal$1("math/trunc", ["es6.math.trunc"], "7.0.1")
97056 },
97057 Number: {
97058 EPSILON: pureAndGlobal$1("number/epsilon", ["es6.number.epsilon"]),
97059 MIN_SAFE_INTEGER: pureAndGlobal$1("number/min-safe-integer", ["es6.number.min-safe-integer"]),
97060 MAX_SAFE_INTEGER: pureAndGlobal$1("number/max-safe-integer", ["es6.number.max-safe-integer"]),
97061 isFinite: pureAndGlobal$1("number/is-finite", ["es6.number.is-finite"]),
97062 isInteger: pureAndGlobal$1("number/is-integer", ["es6.number.is-integer"]),
97063 isSafeInteger: pureAndGlobal$1("number/is-safe-integer", ["es6.number.is-safe-integer"]),
97064 isNaN: pureAndGlobal$1("number/is-nan", ["es6.number.is-nan"]),
97065 parseFloat: pureAndGlobal$1("number/parse-float", ["es6.number.parse-float"]),
97066 parseInt: pureAndGlobal$1("number/parse-int", ["es6.number.parse-int"])
97067 },
97068 Object: {
97069 assign: pureAndGlobal$1("object/assign", ["es6.object.assign"]),
97070 create: pureAndGlobal$1("object/create", ["es6.object.create"]),
97071 defineProperties: pureAndGlobal$1("object/define-properties", ["es6.object.define-properties"]),
97072 defineProperty: pureAndGlobal$1("object/define-property", ["es6.object.define-property"]),
97073 entries: pureAndGlobal$1("object/entries", ["es7.object.entries"]),
97074 freeze: pureAndGlobal$1("object/freeze", ["es6.object.freeze"]),
97075 getOwnPropertyDescriptor: pureAndGlobal$1("object/get-own-property-descriptor", ["es6.object.get-own-property-descriptor"]),
97076 getOwnPropertyDescriptors: pureAndGlobal$1("object/get-own-property-descriptors", ["es7.object.get-own-property-descriptors"]),
97077 getOwnPropertyNames: pureAndGlobal$1("object/get-own-property-names", ["es6.object.get-own-property-names"]),
97078 getOwnPropertySymbols: pureAndGlobal$1("object/get-own-property-symbols", ["es6.symbol"]),
97079 getPrototypeOf: pureAndGlobal$1("object/get-prototype-of", ["es6.object.get-prototype-of"]),
97080 is: pureAndGlobal$1("object/is", ["es6.object.is"]),
97081 isExtensible: pureAndGlobal$1("object/is-extensible", ["es6.object.is-extensible"]),
97082 isFrozen: pureAndGlobal$1("object/is-frozen", ["es6.object.is-frozen"]),
97083 isSealed: pureAndGlobal$1("object/is-sealed", ["es6.object.is-sealed"]),
97084 keys: pureAndGlobal$1("object/keys", ["es6.object.keys"]),
97085 preventExtensions: pureAndGlobal$1("object/prevent-extensions", ["es6.object.prevent-extensions"]),
97086 seal: pureAndGlobal$1("object/seal", ["es6.object.seal"]),
97087 setPrototypeOf: pureAndGlobal$1("object/set-prototype-of", ["es6.object.set-prototype-of"]),
97088 values: pureAndGlobal$1("object/values", ["es7.object.values"])
97089 },
97090 Promise: {
97091 all: globalOnly$1(CommonIterators$3),
97092 race: globalOnly$1(CommonIterators$3)
97093 },
97094 Reflect: {
97095 apply: pureAndGlobal$1("reflect/apply", ["es6.reflect.apply"]),
97096 construct: pureAndGlobal$1("reflect/construct", ["es6.reflect.construct"]),
97097 defineProperty: pureAndGlobal$1("reflect/define-property", ["es6.reflect.define-property"]),
97098 deleteProperty: pureAndGlobal$1("reflect/delete-property", ["es6.reflect.delete-property"]),
97099 get: pureAndGlobal$1("reflect/get", ["es6.reflect.get"]),
97100 getOwnPropertyDescriptor: pureAndGlobal$1("reflect/get-own-property-descriptor", ["es6.reflect.get-own-property-descriptor"]),
97101 getPrototypeOf: pureAndGlobal$1("reflect/get-prototype-of", ["es6.reflect.get-prototype-of"]),
97102 has: pureAndGlobal$1("reflect/has", ["es6.reflect.has"]),
97103 isExtensible: pureAndGlobal$1("reflect/is-extensible", ["es6.reflect.is-extensible"]),
97104 ownKeys: pureAndGlobal$1("reflect/own-keys", ["es6.reflect.own-keys"]),
97105 preventExtensions: pureAndGlobal$1("reflect/prevent-extensions", ["es6.reflect.prevent-extensions"]),
97106 set: pureAndGlobal$1("reflect/set", ["es6.reflect.set"]),
97107 setPrototypeOf: pureAndGlobal$1("reflect/set-prototype-of", ["es6.reflect.set-prototype-of"])
97108 },
97109 String: {
97110 at: pureOnly$1("string/at", "es7.string.at"),
97111 fromCodePoint: pureAndGlobal$1("string/from-code-point", ["es6.string.from-code-point"]),
97112 raw: pureAndGlobal$1("string/raw", ["es6.string.raw"])
97113 },
97114 Symbol: {
97115 asyncIterator: globalOnly$1(["es6.symbol", "es7.symbol.async-iterator"]),
97116 "for": pureOnly$1("symbol/for", "es6.symbol"),
97117 hasInstance: pureOnly$1("symbol/has-instance", "es6.symbol"),
97118 isConcatSpreadable: pureOnly$1("symbol/is-concat-spreadable", "es6.symbol"),
97119 iterator: define$3("es6.symbol", "symbol/iterator", CommonIterators$3),
97120 keyFor: pureOnly$1("symbol/key-for", "es6.symbol"),
97121 match: pureAndGlobal$1("symbol/match", ["es6.regexp.match"]),
97122 replace: pureOnly$1("symbol/replace", "es6.symbol"),
97123 search: pureOnly$1("symbol/search", "es6.symbol"),
97124 species: pureOnly$1("symbol/species", "es6.symbol"),
97125 split: pureOnly$1("symbol/split", "es6.symbol"),
97126 toPrimitive: pureOnly$1("symbol/to-primitive", "es6.symbol"),
97127 toStringTag: pureOnly$1("symbol/to-string-tag", "es6.symbol"),
97128 unscopables: pureOnly$1("symbol/unscopables", "es6.symbol")
97129 }
97130 };
97131 var webPolyfills$1 = {
97132 "web.timers": {},
97133 "web.immediate": {},
97134 "web.dom.iterable": {}
97135 };
97136 var purePolyfills$1 = {
97137 "es6.parse-float": {},
97138 "es6.parse-int": {},
97139 "es7.string.at": {}
97140 };
97141
97142 function addPlatformSpecificPolyfills$1(targets, method, polyfills) {
97143 var targetNames = Object.keys(targets);
97144 var isAnyTarget = !targetNames.length;
97145 var isWebTarget = targetNames.some(function (name) {
97146 return name !== "node";
97147 });
97148 return Object.assign(Object.assign(Object.assign({}, polyfills), method === "usage-pure" ? purePolyfills$1 : null), isAnyTarget || isWebTarget ? webPolyfills$1 : null);
97149 }
97150
97151 function hasMinVersion$1(minVersion, runtimeVersion) {
97152 if (!runtimeVersion || !minVersion) return true;
97153 if (semver$3.valid(runtimeVersion)) runtimeVersion = "^" + runtimeVersion;
97154 return !semver$3.intersects("<" + minVersion, runtimeVersion) && !semver$3.intersects(">=8.0.0", runtimeVersion);
97155 }
97156
97157 var _ref$4 = undefined || babel,
97158 t$8 = _ref$4.types;
97159
97160 var presetEnvCompat$1 = "#__secret_key__@babel/preset-env__compatibility";
97161 var runtimeCompat$5 = "#__secret_key__@babel/runtime__compatibility";
97162 var has$5 = Function.call.bind(Object.hasOwnProperty);
97163 var index$5 = definePolyfillProvider$1(function (api, _ref2) {
97164 var _ref2$presetEnvCompat = _ref2[presetEnvCompat$1];
97165 _ref2$presetEnvCompat = _ref2$presetEnvCompat === void 0 ? {} : _ref2$presetEnvCompat;
97166 var entryInjectRegenerator = _ref2$presetEnvCompat.entryInjectRegenerator,
97167 _ref2$runtimeCompat = _ref2[runtimeCompat$5];
97168 _ref2$runtimeCompat = _ref2$runtimeCompat === void 0 ? {} : _ref2$runtimeCompat;
97169 var useBabelRuntime = _ref2$runtimeCompat.useBabelRuntime,
97170 runtimeVersion = _ref2$runtimeCompat.runtimeVersion,
97171 _ref2$runtimeCompat$e = _ref2$runtimeCompat.ext,
97172 ext = _ref2$runtimeCompat$e === void 0 ? ".js" : _ref2$runtimeCompat$e;
97173 var resolve = api.createMetaResolver({
97174 global: BuiltIns$3,
97175 "static": StaticProperties$3,
97176 instance: InstanceProperties$3
97177 });
97178 var debug = api.debug,
97179 shouldInjectPolyfill = api.shouldInjectPolyfill,
97180 method = api.method;
97181 var polyfills = addPlatformSpecificPolyfills$1(api.targets, method, corejs2BuiltIns);
97182 var coreJSBase = useBabelRuntime ? useBabelRuntime + "/core-js" : method === "usage-pure" ? "core-js/library/fn" : "core-js/modules";
97183
97184 function inject(name, utils) {
97185 if (typeof name === "string") {
97186 if (has$5(polyfills, name) && shouldInjectPolyfill(name)) {
97187 debug(name);
97188 utils.injectGlobalImport(coreJSBase + "/" + name + ".js");
97189 }
97190
97191 return;
97192 }
97193
97194 name.forEach(function (name) {
97195 return inject(name, utils);
97196 });
97197 }
97198
97199 function maybeInjectPure(desc, hint, utils) {
97200 var pure = desc.pure,
97201 meta = desc.meta,
97202 name = desc.name;
97203 if (!pure || !shouldInjectPolyfill(name)) return;
97204
97205 if (runtimeVersion && meta && meta.minRuntimeVersion && !hasMinVersion$1(meta && meta.minRuntimeVersion, runtimeVersion)) {
97206 return;
97207 }
97208
97209 return utils.injectDefaultImport(coreJSBase + "/" + pure + ext, hint);
97210 }
97211
97212 return {
97213 name: "corejs2",
97214 polyfills: polyfills,
97215 entryGlobal: function entryGlobal(meta, utils, path) {
97216 if (meta.kind === "import" && meta.source === "core-js") {
97217 debug(null);
97218 inject(Object.keys(polyfills), utils);
97219
97220 if (entryInjectRegenerator) {
97221 utils.injectGlobalImport("regenerator-runtime/runtime.js");
97222 }
97223
97224 path.remove();
97225 }
97226 },
97227 usageGlobal: function usageGlobal(meta, utils) {
97228 var resolved = resolve(meta);
97229 if (!resolved) return;
97230 var deps = resolved.desc.global;
97231
97232 if (resolved.kind !== "global" && meta.object && meta.placement === "prototype") {
97233 var low = meta.object.toLowerCase();
97234 deps = deps.filter(function (m) {
97235 return m.includes(low);
97236 });
97237 }
97238
97239 inject(deps, utils);
97240 },
97241 usagePure: function usagePure(meta, utils, path) {
97242 if (meta.kind === "in") {
97243 if (meta.key === "Symbol.iterator") {
97244 path.replaceWith(t$8.callExpression(utils.injectDefaultImport(coreJSBase + "/is-iterable" + ext, "isIterable"), [path.node.right]));
97245 }
97246
97247 return;
97248 }
97249
97250 if (path.parentPath.isUnaryExpression({
97251 operator: "delete"
97252 })) return;
97253
97254 if (meta.kind === "property") {
97255 if (!path.isMemberExpression()) return;
97256 if (!path.isReferenced()) return;
97257
97258 if (meta.key === "Symbol.iterator" && shouldInjectPolyfill("es6.symbol") && path.parentPath.isCallExpression({
97259 callee: path.node
97260 }) && path.parent.arguments.length === 0) {
97261 path.parentPath.replaceWith(t$8.callExpression(utils.injectDefaultImport(coreJSBase + "/get-iterator" + ext, "getIterator"), [path.node.object]));
97262 path.skip();
97263 return;
97264 }
97265 }
97266
97267 var resolved = resolve(meta);
97268 if (!resolved) return;
97269 var id = maybeInjectPure(resolved.desc, resolved.name, utils);
97270 if (id) path.replaceWith(id);
97271 },
97272 visitor: method === "usage-global" && {
97273 YieldExpression: function YieldExpression(path) {
97274 if (path.node.delegate) {
97275 inject("web.dom.iterable", api.getUtils(path));
97276 }
97277 },
97278 "ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern(path) {
97279 CommonIterators$3.forEach(function (name) {
97280 return inject(name, api.getUtils(path));
97281 });
97282 }
97283 }
97284 };
97285 });
97286
97287 var require$$0$3 = {
97288 "es.symbol": {
97289 android: "49",
97290 chrome: "49",
97291 edge: "15",
97292 electron: "0.37",
97293 firefox: "51",
97294 ios: "10.0",
97295 node: "6.0",
97296 opera: "36",
97297 opera_mobile: "36",
97298 safari: "10.0",
97299 samsung: "5.0"
97300 },
97301 "es.symbol.description": {
97302 android: "70",
97303 chrome: "70",
97304 edge: "74",
97305 electron: "5.0",
97306 firefox: "63",
97307 ios: "12.2",
97308 node: "11.0",
97309 opera: "57",
97310 opera_mobile: "49",
97311 safari: "12.1",
97312 samsung: "10.0"
97313 },
97314 "es.symbol.async-iterator": {
97315 android: "63",
97316 chrome: "63",
97317 edge: "74",
97318 electron: "3.0",
97319 firefox: "55",
97320 ios: "12.0",
97321 node: "10.0",
97322 opera: "50",
97323 opera_mobile: "46",
97324 safari: "12.0",
97325 samsung: "8.0"
97326 },
97327 "es.symbol.has-instance": {
97328 android: "50",
97329 chrome: "50",
97330 edge: "15",
97331 electron: "1.1",
97332 firefox: "49",
97333 ios: "10.0",
97334 node: "6.0",
97335 opera: "37",
97336 opera_mobile: "37",
97337 rhino: "1.7.13",
97338 safari: "10.0",
97339 samsung: "5.0"
97340 },
97341 "es.symbol.is-concat-spreadable": {
97342 android: "48",
97343 chrome: "48",
97344 edge: "15",
97345 electron: "0.37",
97346 firefox: "48",
97347 ios: "10.0",
97348 node: "6.0",
97349 opera: "35",
97350 opera_mobile: "35",
97351 rhino: "1.7.13",
97352 safari: "10.0",
97353 samsung: "5.0"
97354 },
97355 "es.symbol.iterator": {
97356 android: "41",
97357 chrome: "41",
97358 edge: "13",
97359 electron: "0.21",
97360 firefox: "36",
97361 ios: "9.0",
97362 node: "1.0",
97363 opera: "28",
97364 opera_mobile: "28",
97365 rhino: "1.7.13",
97366 safari: "9.0",
97367 samsung: "3.4"
97368 },
97369 "es.symbol.match": {
97370 android: "50",
97371 chrome: "50",
97372 edge: "74",
97373 electron: "1.1",
97374 firefox: "40",
97375 ios: "10.0",
97376 node: "6.0",
97377 opera: "37",
97378 opera_mobile: "37",
97379 rhino: "1.7.13",
97380 safari: "10.0",
97381 samsung: "5.0"
97382 },
97383 "es.symbol.match-all": {
97384 android: "73",
97385 chrome: "73",
97386 edge: "74",
97387 electron: "5.0",
97388 firefox: "67",
97389 ios: "13.0",
97390 node: "12.0",
97391 opera: "60",
97392 opera_mobile: "52",
97393 safari: "13",
97394 samsung: "11.0"
97395 },
97396 "es.symbol.replace": {
97397 android: "50",
97398 chrome: "50",
97399 edge: "74",
97400 electron: "1.1",
97401 firefox: "49",
97402 ios: "10.0",
97403 node: "6.0",
97404 opera: "37",
97405 opera_mobile: "37",
97406 rhino: "1.7.13",
97407 safari: "10.0",
97408 samsung: "5.0"
97409 },
97410 "es.symbol.search": {
97411 android: "50",
97412 chrome: "50",
97413 edge: "74",
97414 electron: "1.1",
97415 firefox: "49",
97416 ios: "10.0",
97417 node: "6.0",
97418 opera: "37",
97419 opera_mobile: "37",
97420 rhino: "1.7.13",
97421 safari: "10.0",
97422 samsung: "5.0"
97423 },
97424 "es.symbol.species": {
97425 android: "51",
97426 chrome: "51",
97427 edge: "13",
97428 electron: "1.2",
97429 firefox: "41",
97430 ios: "10.0",
97431 node: "6.5",
97432 opera: "38",
97433 opera_mobile: "38",
97434 rhino: "1.7.13",
97435 safari: "10.0",
97436 samsung: "5.0"
97437 },
97438 "es.symbol.split": {
97439 android: "50",
97440 chrome: "50",
97441 edge: "74",
97442 electron: "1.1",
97443 firefox: "49",
97444 ios: "10.0",
97445 node: "6.0",
97446 opera: "37",
97447 opera_mobile: "37",
97448 rhino: "1.7.13",
97449 safari: "10.0",
97450 samsung: "5.0"
97451 },
97452 "es.symbol.to-primitive": {
97453 android: "47",
97454 chrome: "47",
97455 edge: "15",
97456 electron: "0.36",
97457 firefox: "44",
97458 ios: "10.0",
97459 node: "6.0",
97460 opera: "34",
97461 opera_mobile: "34",
97462 rhino: "1.7.13",
97463 safari: "10.0",
97464 samsung: "5.0"
97465 },
97466 "es.symbol.to-string-tag": {
97467 android: "49",
97468 chrome: "49",
97469 edge: "15",
97470 electron: "0.37",
97471 firefox: "51",
97472 ios: "10.0",
97473 node: "6.0",
97474 opera: "36",
97475 opera_mobile: "36",
97476 rhino: "1.7.13",
97477 safari: "10.0",
97478 samsung: "5.0"
97479 },
97480 "es.symbol.unscopables": {
97481 android: "41",
97482 chrome: "41",
97483 edge: "13",
97484 electron: "0.21",
97485 firefox: "48",
97486 ios: "9.0",
97487 node: "1.0",
97488 opera: "28",
97489 opera_mobile: "28",
97490 rhino: "1.7.13",
97491 safari: "9.0",
97492 samsung: "3.4"
97493 },
97494 "es.aggregate-error": {
97495 android: "85",
97496 chrome: "85",
97497 edge: "85",
97498 electron: "10.0",
97499 firefox: "79",
97500 ios: "14.0",
97501 node: "15.0",
97502 opera: "71",
97503 opera_mobile: "60",
97504 safari: "14.0",
97505 samsung: "14.0"
97506 },
97507 "es.array.concat": {
97508 android: "51",
97509 chrome: "51",
97510 edge: "15",
97511 electron: "1.2",
97512 firefox: "48",
97513 ios: "10.0",
97514 node: "6.5",
97515 opera: "38",
97516 opera_mobile: "38",
97517 safari: "10.0",
97518 samsung: "5.0"
97519 },
97520 "es.array.copy-within": {
97521 android: "45",
97522 chrome: "45",
97523 edge: "12",
97524 electron: "0.31",
97525 firefox: "48",
97526 ios: "9.0",
97527 node: "4.0",
97528 opera: "32",
97529 opera_mobile: "32",
97530 safari: "9.0",
97531 samsung: "5.0"
97532 },
97533 "es.array.every": {
97534 android: "4.4",
97535 chrome: "26",
97536 edge: "12",
97537 electron: "0.20",
97538 firefox: "4",
97539 ie: "9",
97540 ios: "9.0",
97541 node: "0.11.0",
97542 opera: "16",
97543 opera_mobile: "16",
97544 rhino: "1.7.13",
97545 safari: "8.0",
97546 samsung: "1.5"
97547 },
97548 "es.array.fill": {
97549 android: "45",
97550 chrome: "45",
97551 edge: "12",
97552 electron: "0.31",
97553 firefox: "48",
97554 ios: "9.0",
97555 node: "4.0",
97556 opera: "32",
97557 opera_mobile: "32",
97558 safari: "9.0",
97559 samsung: "5.0"
97560 },
97561 "es.array.filter": {
97562 android: "51",
97563 chrome: "51",
97564 edge: "15",
97565 electron: "1.2",
97566 firefox: "48",
97567 ios: "10.0",
97568 node: "6.5",
97569 opera: "38",
97570 opera_mobile: "38",
97571 safari: "10.0",
97572 samsung: "5.0"
97573 },
97574 "es.array.find": {
97575 android: "45",
97576 chrome: "45",
97577 edge: "13",
97578 electron: "0.31",
97579 firefox: "48",
97580 ios: "9.0",
97581 node: "4.0",
97582 opera: "32",
97583 opera_mobile: "32",
97584 safari: "9.0",
97585 samsung: "5.0"
97586 },
97587 "es.array.find-index": {
97588 android: "45",
97589 chrome: "45",
97590 edge: "13",
97591 electron: "0.31",
97592 firefox: "48",
97593 ios: "9.0",
97594 node: "4.0",
97595 opera: "32",
97596 opera_mobile: "32",
97597 safari: "9.0",
97598 samsung: "5.0"
97599 },
97600 "es.array.flat": {
97601 android: "69",
97602 chrome: "69",
97603 edge: "74",
97604 electron: "4.0",
97605 firefox: "62",
97606 ios: "12.0",
97607 node: "11.0",
97608 opera: "56",
97609 opera_mobile: "48",
97610 safari: "12.0",
97611 samsung: "10.0"
97612 },
97613 "es.array.flat-map": {
97614 android: "69",
97615 chrome: "69",
97616 edge: "74",
97617 electron: "4.0",
97618 firefox: "62",
97619 ios: "12.0",
97620 node: "11.0",
97621 opera: "56",
97622 opera_mobile: "48",
97623 safari: "12.0",
97624 samsung: "10.0"
97625 },
97626 "es.array.for-each": {
97627 android: "4.4",
97628 chrome: "26",
97629 edge: "12",
97630 electron: "0.20",
97631 firefox: "4",
97632 ie: "9",
97633 ios: "9.0",
97634 node: "0.11.0",
97635 opera: "16",
97636 opera_mobile: "16",
97637 rhino: "1.7.13",
97638 safari: "8.0",
97639 samsung: "1.5"
97640 },
97641 "es.array.from": {
97642 android: "51",
97643 chrome: "51",
97644 edge: "15",
97645 electron: "1.2",
97646 firefox: "53",
97647 ios: "9.0",
97648 node: "6.5",
97649 opera: "38",
97650 opera_mobile: "38",
97651 rhino: "1.7.13",
97652 safari: "9.0",
97653 samsung: "5.0"
97654 },
97655 "es.array.includes": {
97656 android: "53",
97657 chrome: "53",
97658 edge: "14",
97659 electron: "1.4",
97660 firefox: "48",
97661 ios: "10.0",
97662 node: "7.0",
97663 opera: "40",
97664 opera_mobile: "40",
97665 safari: "10.0",
97666 samsung: "6.0"
97667 },
97668 "es.array.index-of": {
97669 android: "51",
97670 chrome: "51",
97671 edge: "12",
97672 electron: "1.2",
97673 firefox: "4",
97674 ie: "9",
97675 ios: "9.0",
97676 node: "6.5",
97677 opera: "38",
97678 opera_mobile: "38",
97679 rhino: "1.7.13",
97680 safari: "8.0",
97681 samsung: "5.0"
97682 },
97683 "es.array.is-array": {
97684 android: "3.0",
97685 chrome: "5",
97686 edge: "12",
97687 electron: "0.20",
97688 firefox: "4",
97689 ie: "9",
97690 ios: "3.2",
97691 node: "0.1.27",
97692 opera: "10.50",
97693 opera_mobile: "10.50",
97694 phantom: "1.9",
97695 rhino: "1.7.13",
97696 safari: "4.0",
97697 samsung: "1.0"
97698 },
97699 "es.array.iterator": {
97700 android: "66",
97701 chrome: "66",
97702 edge: "15",
97703 electron: "3.0",
97704 firefox: "60",
97705 ios: "10.0",
97706 node: "10.0",
97707 opera: "53",
97708 opera_mobile: "47",
97709 safari: "10.0",
97710 samsung: "9.0"
97711 },
97712 "es.array.join": {
97713 android: "4.4",
97714 chrome: "26",
97715 edge: "13",
97716 electron: "0.20",
97717 firefox: "4",
97718 ios: "8.0",
97719 node: "0.11.0",
97720 opera: "16",
97721 opera_mobile: "16",
97722 rhino: "1.7.13",
97723 safari: "7.1",
97724 samsung: "1.5"
97725 },
97726 "es.array.last-index-of": {
97727 android: "51",
97728 chrome: "51",
97729 edge: "12",
97730 electron: "1.2",
97731 firefox: "4",
97732 ie: "9",
97733 ios: "9.0",
97734 node: "6.5",
97735 opera: "38",
97736 opera_mobile: "38",
97737 rhino: "1.7.13",
97738 safari: "8.0",
97739 samsung: "5.0"
97740 },
97741 "es.array.map": {
97742 android: "51",
97743 chrome: "51",
97744 edge: "13",
97745 electron: "1.2",
97746 firefox: "50",
97747 ios: "10.0",
97748 node: "6.5",
97749 opera: "38",
97750 opera_mobile: "38",
97751 safari: "10.0",
97752 samsung: "5.0"
97753 },
97754 "es.array.of": {
97755 android: "45",
97756 chrome: "45",
97757 edge: "13",
97758 electron: "0.31",
97759 firefox: "25",
97760 ios: "9.0",
97761 node: "4.0",
97762 opera: "32",
97763 opera_mobile: "32",
97764 rhino: "1.7.13",
97765 safari: "9.0",
97766 samsung: "5.0"
97767 },
97768 "es.array.reduce": {
97769 android: "83",
97770 chrome: "83",
97771 edge: "12",
97772 electron: "9.0",
97773 firefox: "4",
97774 ie: "9",
97775 ios: "9.0",
97776 node: "6.0",
97777 opera: "69",
97778 opera_mobile: "59",
97779 rhino: "1.7.13",
97780 safari: "8.0",
97781 samsung: "13.0"
97782 },
97783 "es.array.reduce-right": {
97784 android: "83",
97785 chrome: "83",
97786 edge: "12",
97787 electron: "9.0",
97788 firefox: "4",
97789 ie: "9",
97790 ios: "9.0",
97791 node: "6.0",
97792 opera: "69",
97793 opera_mobile: "59",
97794 rhino: "1.7.13",
97795 safari: "8.0",
97796 samsung: "13.0"
97797 },
97798 "es.array.reverse": {
97799 android: "3.0",
97800 chrome: "1",
97801 edge: "12",
97802 electron: "0.20",
97803 firefox: "1",
97804 ie: "5.5",
97805 ios: "12.2",
97806 node: "0.0.3",
97807 opera: "10.50",
97808 opera_mobile: "10.50",
97809 rhino: "1.7.13",
97810 safari: "12.0.2",
97811 samsung: "1.0"
97812 },
97813 "es.array.slice": {
97814 android: "51",
97815 chrome: "51",
97816 edge: "13",
97817 electron: "1.2",
97818 firefox: "48",
97819 ios: "10.0",
97820 node: "6.5",
97821 opera: "38",
97822 opera_mobile: "38",
97823 safari: "10.0",
97824 samsung: "5.0"
97825 },
97826 "es.array.some": {
97827 android: "4.4",
97828 chrome: "26",
97829 edge: "12",
97830 electron: "0.20",
97831 firefox: "4",
97832 ie: "9",
97833 ios: "9.0",
97834 node: "0.11.0",
97835 opera: "16",
97836 opera_mobile: "16",
97837 rhino: "1.7.13",
97838 safari: "8.0",
97839 samsung: "1.5"
97840 },
97841 "es.array.sort": {
97842 android: "70",
97843 chrome: "70",
97844 edge: "74",
97845 electron: "5.0",
97846 firefox: "4",
97847 ios: "12.0",
97848 node: "11.0",
97849 opera: "57",
97850 opera_mobile: "49",
97851 safari: "12.0",
97852 samsung: "10.0"
97853 },
97854 "es.array.species": {
97855 android: "51",
97856 chrome: "51",
97857 edge: "13",
97858 electron: "1.2",
97859 firefox: "48",
97860 ios: "10.0",
97861 node: "6.5",
97862 opera: "38",
97863 opera_mobile: "38",
97864 safari: "10.0",
97865 samsung: "5.0"
97866 },
97867 "es.array.splice": {
97868 android: "51",
97869 chrome: "51",
97870 edge: "13",
97871 electron: "1.2",
97872 firefox: "49",
97873 ios: "10.0",
97874 node: "6.5",
97875 opera: "38",
97876 opera_mobile: "38",
97877 safari: "10.0",
97878 samsung: "5.0"
97879 },
97880 "es.array.unscopables.flat": {
97881 android: "73",
97882 chrome: "73",
97883 edge: "74",
97884 electron: "5.0",
97885 firefox: "67",
97886 ios: "13.0",
97887 node: "12.0",
97888 opera: "60",
97889 opera_mobile: "52",
97890 safari: "13",
97891 samsung: "11.0"
97892 },
97893 "es.array.unscopables.flat-map": {
97894 android: "73",
97895 chrome: "73",
97896 edge: "74",
97897 electron: "5.0",
97898 firefox: "67",
97899 ios: "13.0",
97900 node: "12.0",
97901 opera: "60",
97902 opera_mobile: "52",
97903 safari: "13",
97904 samsung: "11.0"
97905 },
97906 "es.array-buffer.constructor": {
97907 android: "4.4",
97908 chrome: "26",
97909 edge: "14",
97910 electron: "0.20",
97911 firefox: "44",
97912 ios: "12.0",
97913 node: "0.11.0",
97914 opera: "16",
97915 opera_mobile: "16",
97916 safari: "12.0",
97917 samsung: "1.5"
97918 },
97919 "es.array-buffer.is-view": {
97920 android: "4.4.3",
97921 chrome: "32",
97922 edge: "12",
97923 electron: "0.20",
97924 firefox: "29",
97925 ie: "11",
97926 ios: "8.0",
97927 node: "0.11.9",
97928 opera: "19",
97929 opera_mobile: "19",
97930 safari: "7.1",
97931 samsung: "2.0"
97932 },
97933 "es.array-buffer.slice": {
97934 android: "4.4.3",
97935 chrome: "31",
97936 edge: "12",
97937 electron: "0.20",
97938 firefox: "46",
97939 ie: "11",
97940 ios: "12.2",
97941 node: "0.11.8",
97942 opera: "18",
97943 opera_mobile: "18",
97944 rhino: "1.7.13",
97945 safari: "12.1",
97946 samsung: "2.0"
97947 },
97948 "es.data-view": {
97949 android: "4.4",
97950 chrome: "26",
97951 edge: "12",
97952 electron: "0.20",
97953 firefox: "15",
97954 ie: "10",
97955 ios: "8.0",
97956 node: "0.11.0",
97957 opera: "16",
97958 opera_mobile: "16",
97959 rhino: "1.7.13",
97960 safari: "7.1",
97961 samsung: "1.5"
97962 },
97963 "es.date.get-year": {
97964 android: "3.0",
97965 chrome: "1",
97966 edge: "12",
97967 electron: "0.20",
97968 firefox: "1",
97969 ie: "3",
97970 ios: "1.0",
97971 node: "0.0.3",
97972 opera: "3",
97973 opera_mobile: "3",
97974 phantom: "1.9",
97975 rhino: "1.7.13",
97976 safari: "1",
97977 samsung: "1.0"
97978 },
97979 "es.date.now": {
97980 android: "3.0",
97981 chrome: "5",
97982 edge: "12",
97983 electron: "0.20",
97984 firefox: "2",
97985 ie: "9",
97986 ios: "3.2",
97987 node: "0.1.27",
97988 opera: "10.50",
97989 opera_mobile: "10.50",
97990 phantom: "1.9",
97991 rhino: "1.7.13",
97992 safari: "4.0",
97993 samsung: "1.0"
97994 },
97995 "es.date.set-year": {
97996 android: "3.0",
97997 chrome: "1",
97998 edge: "12",
97999 electron: "0.20",
98000 firefox: "1",
98001 ie: "3",
98002 ios: "1.0",
98003 node: "0.0.3",
98004 opera: "3",
98005 opera_mobile: "3",
98006 phantom: "1.9",
98007 rhino: "1.7.13",
98008 safari: "1",
98009 samsung: "1.0"
98010 },
98011 "es.date.to-gmt-string": {
98012 android: "3.0",
98013 chrome: "1",
98014 edge: "12",
98015 electron: "0.20",
98016 firefox: "1",
98017 ie: "3",
98018 ios: "1.0",
98019 node: "0.0.3",
98020 opera: "3",
98021 opera_mobile: "3",
98022 phantom: "1.9",
98023 rhino: "1.7.13",
98024 safari: "1",
98025 samsung: "1.0"
98026 },
98027 "es.date.to-iso-string": {
98028 android: "4.4",
98029 chrome: "26",
98030 edge: "12",
98031 electron: "0.20",
98032 firefox: "7",
98033 ie: "9",
98034 ios: "8.0",
98035 node: "0.11.0",
98036 opera: "16",
98037 opera_mobile: "16",
98038 rhino: "1.7.13",
98039 safari: "7.1",
98040 samsung: "1.5"
98041 },
98042 "es.date.to-json": {
98043 android: "4.4",
98044 chrome: "26",
98045 edge: "12",
98046 electron: "0.20",
98047 firefox: "4",
98048 ie: "9",
98049 ios: "10.0",
98050 node: "0.11.0",
98051 opera: "16",
98052 opera_mobile: "16",
98053 rhino: "1.7.13",
98054 safari: "10.0",
98055 samsung: "1.5"
98056 },
98057 "es.date.to-primitive": {
98058 android: "47",
98059 chrome: "47",
98060 edge: "15",
98061 electron: "0.36",
98062 firefox: "44",
98063 ios: "10.0",
98064 node: "6.0",
98065 opera: "34",
98066 opera_mobile: "34",
98067 safari: "10.0",
98068 samsung: "5.0"
98069 },
98070 "es.date.to-string": {
98071 android: "3.0",
98072 chrome: "5",
98073 edge: "12",
98074 electron: "0.20",
98075 firefox: "2",
98076 ie: "9",
98077 ios: "2.0",
98078 node: "0.1.27",
98079 opera: "10.50",
98080 opera_mobile: "10.50",
98081 phantom: "1.9",
98082 rhino: "1.7.13",
98083 safari: "3.1",
98084 samsung: "1.0"
98085 },
98086 "es.escape": {
98087 android: "3.0",
98088 chrome: "1",
98089 edge: "12",
98090 electron: "0.20",
98091 firefox: "1",
98092 ie: "3",
98093 ios: "1.0",
98094 node: "0.0.3",
98095 opera: "3",
98096 opera_mobile: "3",
98097 phantom: "1.9",
98098 rhino: "1.7.13",
98099 safari: "1",
98100 samsung: "1.0"
98101 },
98102 "es.function.bind": {
98103 android: "3.0",
98104 chrome: "7",
98105 edge: "12",
98106 electron: "0.20",
98107 firefox: "4",
98108 ie: "9",
98109 ios: "5.1",
98110 node: "0.1.101",
98111 opera: "12",
98112 opera_mobile: "12",
98113 phantom: "2.0",
98114 rhino: "1.7.13",
98115 safari: "5.1",
98116 samsung: "1.0"
98117 },
98118 "es.function.has-instance": {
98119 android: "51",
98120 chrome: "51",
98121 edge: "15",
98122 electron: "1.2",
98123 firefox: "50",
98124 ios: "10.0",
98125 node: "6.5",
98126 opera: "38",
98127 opera_mobile: "38",
98128 safari: "10.0",
98129 samsung: "5.0"
98130 },
98131 "es.function.name": {
98132 android: "3.0",
98133 chrome: "5",
98134 edge: "12",
98135 electron: "0.20",
98136 firefox: "2",
98137 ios: "3.2",
98138 node: "0.1.27",
98139 opera: "10.50",
98140 opera_mobile: "10.50",
98141 phantom: "1.9",
98142 rhino: "1.7.13",
98143 safari: "4.0",
98144 samsung: "1.0"
98145 },
98146 "es.global-this": {
98147 android: "71",
98148 chrome: "71",
98149 edge: "74",
98150 electron: "5.0",
98151 firefox: "65",
98152 ios: "12.2",
98153 node: "12.0",
98154 opera: "58",
98155 opera_mobile: "50",
98156 safari: "12.1",
98157 samsung: "10.0"
98158 },
98159 "es.json.stringify": {
98160 android: "72",
98161 chrome: "72",
98162 edge: "74",
98163 electron: "5.0",
98164 firefox: "64",
98165 ios: "12.2",
98166 node: "12.0",
98167 opera: "59",
98168 opera_mobile: "51",
98169 safari: "12.1",
98170 samsung: "11.0"
98171 },
98172 "es.json.to-string-tag": {
98173 android: "50",
98174 chrome: "50",
98175 edge: "15",
98176 electron: "1.1",
98177 firefox: "51",
98178 ios: "10.0",
98179 node: "6.0",
98180 opera: "37",
98181 opera_mobile: "37",
98182 safari: "10.0",
98183 samsung: "5.0"
98184 },
98185 "es.map": {
98186 android: "51",
98187 chrome: "51",
98188 edge: "15",
98189 electron: "1.2",
98190 firefox: "53",
98191 ios: "10.0",
98192 node: "6.5",
98193 opera: "38",
98194 opera_mobile: "38",
98195 rhino: "1.7.13",
98196 safari: "10.0",
98197 samsung: "5.0"
98198 },
98199 "es.math.acosh": {
98200 android: "54",
98201 chrome: "54",
98202 edge: "13",
98203 electron: "1.4",
98204 firefox: "25",
98205 ios: "8.0",
98206 node: "7.0",
98207 opera: "41",
98208 opera_mobile: "41",
98209 safari: "7.1",
98210 samsung: "6.0"
98211 },
98212 "es.math.asinh": {
98213 android: "38",
98214 chrome: "38",
98215 edge: "13",
98216 electron: "0.20",
98217 firefox: "25",
98218 ios: "8.0",
98219 node: "0.11.15",
98220 opera: "25",
98221 opera_mobile: "25",
98222 rhino: "1.7.13",
98223 safari: "7.1",
98224 samsung: "3.0"
98225 },
98226 "es.math.atanh": {
98227 android: "38",
98228 chrome: "38",
98229 edge: "13",
98230 electron: "0.20",
98231 firefox: "25",
98232 ios: "8.0",
98233 node: "0.11.15",
98234 opera: "25",
98235 opera_mobile: "25",
98236 rhino: "1.7.13",
98237 safari: "7.1",
98238 samsung: "3.0"
98239 },
98240 "es.math.cbrt": {
98241 android: "38",
98242 chrome: "38",
98243 edge: "12",
98244 electron: "0.20",
98245 firefox: "25",
98246 ios: "8.0",
98247 node: "0.11.15",
98248 opera: "25",
98249 opera_mobile: "25",
98250 rhino: "1.7.13",
98251 safari: "7.1",
98252 samsung: "3.0"
98253 },
98254 "es.math.clz32": {
98255 android: "38",
98256 chrome: "38",
98257 edge: "12",
98258 electron: "0.20",
98259 firefox: "31",
98260 ios: "9.0",
98261 node: "0.11.15",
98262 opera: "25",
98263 opera_mobile: "25",
98264 rhino: "1.7.13",
98265 safari: "9.0",
98266 samsung: "3.0"
98267 },
98268 "es.math.cosh": {
98269 android: "39",
98270 chrome: "39",
98271 edge: "13",
98272 electron: "0.20",
98273 firefox: "25",
98274 ios: "8.0",
98275 node: "1.0",
98276 opera: "26",
98277 opera_mobile: "26",
98278 rhino: "1.7.13",
98279 safari: "7.1",
98280 samsung: "3.4"
98281 },
98282 "es.math.expm1": {
98283 android: "39",
98284 chrome: "39",
98285 edge: "13",
98286 electron: "0.20",
98287 firefox: "46",
98288 ios: "8.0",
98289 node: "1.0",
98290 opera: "26",
98291 opera_mobile: "26",
98292 rhino: "1.7.13",
98293 safari: "7.1",
98294 samsung: "3.4"
98295 },
98296 "es.math.fround": {
98297 android: "38",
98298 chrome: "38",
98299 edge: "12",
98300 electron: "0.20",
98301 firefox: "26",
98302 ios: "8.0",
98303 node: "0.11.15",
98304 opera: "25",
98305 opera_mobile: "25",
98306 rhino: "1.7.13",
98307 safari: "7.1",
98308 samsung: "3.0"
98309 },
98310 "es.math.hypot": {
98311 android: "78",
98312 chrome: "78",
98313 edge: "12",
98314 electron: "7.0",
98315 firefox: "27",
98316 ios: "8.0",
98317 node: "13.0",
98318 opera: "65",
98319 opera_mobile: "56",
98320 rhino: "1.7.13",
98321 safari: "7.1",
98322 samsung: "12.0"
98323 },
98324 "es.math.imul": {
98325 android: "4.4",
98326 chrome: "28",
98327 edge: "13",
98328 electron: "0.20",
98329 firefox: "20",
98330 ios: "9.0",
98331 node: "0.11.1",
98332 opera: "16",
98333 opera_mobile: "16",
98334 rhino: "1.7.13",
98335 safari: "9.0",
98336 samsung: "1.5"
98337 },
98338 "es.math.log10": {
98339 android: "38",
98340 chrome: "38",
98341 edge: "12",
98342 electron: "0.20",
98343 firefox: "25",
98344 ios: "8.0",
98345 node: "0.11.15",
98346 opera: "25",
98347 opera_mobile: "25",
98348 rhino: "1.7.13",
98349 safari: "7.1",
98350 samsung: "3.0"
98351 },
98352 "es.math.log1p": {
98353 android: "38",
98354 chrome: "38",
98355 edge: "12",
98356 electron: "0.20",
98357 firefox: "25",
98358 ios: "8.0",
98359 node: "0.11.15",
98360 opera: "25",
98361 opera_mobile: "25",
98362 rhino: "1.7.13",
98363 safari: "7.1",
98364 samsung: "3.0"
98365 },
98366 "es.math.log2": {
98367 android: "38",
98368 chrome: "38",
98369 edge: "12",
98370 electron: "0.20",
98371 firefox: "25",
98372 ios: "8.0",
98373 node: "0.11.15",
98374 opera: "25",
98375 opera_mobile: "25",
98376 rhino: "1.7.13",
98377 safari: "7.1",
98378 samsung: "3.0"
98379 },
98380 "es.math.sign": {
98381 android: "38",
98382 chrome: "38",
98383 edge: "12",
98384 electron: "0.20",
98385 firefox: "25",
98386 ios: "9.0",
98387 node: "0.11.15",
98388 opera: "25",
98389 opera_mobile: "25",
98390 rhino: "1.7.13",
98391 safari: "9.0",
98392 samsung: "3.0"
98393 },
98394 "es.math.sinh": {
98395 android: "39",
98396 chrome: "39",
98397 edge: "13",
98398 electron: "0.20",
98399 firefox: "25",
98400 ios: "8.0",
98401 node: "1.0",
98402 opera: "26",
98403 opera_mobile: "26",
98404 rhino: "1.7.13",
98405 safari: "7.1",
98406 samsung: "3.4"
98407 },
98408 "es.math.tanh": {
98409 android: "38",
98410 chrome: "38",
98411 edge: "12",
98412 electron: "0.20",
98413 firefox: "25",
98414 ios: "8.0",
98415 node: "0.11.15",
98416 opera: "25",
98417 opera_mobile: "25",
98418 rhino: "1.7.13",
98419 safari: "7.1",
98420 samsung: "3.0"
98421 },
98422 "es.math.to-string-tag": {
98423 android: "50",
98424 chrome: "50",
98425 edge: "15",
98426 electron: "1.1",
98427 firefox: "51",
98428 ios: "10.0",
98429 node: "6.0",
98430 opera: "37",
98431 opera_mobile: "37",
98432 safari: "10.0",
98433 samsung: "5.0"
98434 },
98435 "es.math.trunc": {
98436 android: "38",
98437 chrome: "38",
98438 edge: "12",
98439 electron: "0.20",
98440 firefox: "25",
98441 ios: "8.0",
98442 node: "0.11.15",
98443 opera: "25",
98444 opera_mobile: "25",
98445 rhino: "1.7.13",
98446 safari: "7.1",
98447 samsung: "3.0"
98448 },
98449 "es.number.constructor": {
98450 android: "41",
98451 chrome: "41",
98452 edge: "13",
98453 electron: "0.21",
98454 firefox: "46",
98455 ios: "9.0",
98456 node: "1.0",
98457 opera: "28",
98458 opera_mobile: "28",
98459 rhino: "1.7.13",
98460 safari: "9.0",
98461 samsung: "3.4"
98462 },
98463 "es.number.epsilon": {
98464 android: "37",
98465 chrome: "34",
98466 edge: "12",
98467 electron: "0.20",
98468 firefox: "25",
98469 ios: "9.0",
98470 node: "0.11.13",
98471 opera: "21",
98472 opera_mobile: "21",
98473 safari: "9.0",
98474 samsung: "2.0"
98475 },
98476 "es.number.is-finite": {
98477 android: "4.1",
98478 chrome: "19",
98479 edge: "12",
98480 electron: "0.20",
98481 firefox: "16",
98482 ios: "9.0",
98483 node: "0.7.3",
98484 opera: "15",
98485 opera_mobile: "15",
98486 rhino: "1.7.13",
98487 safari: "9.0",
98488 samsung: "1.5"
98489 },
98490 "es.number.is-integer": {
98491 android: "37",
98492 chrome: "34",
98493 edge: "12",
98494 electron: "0.20",
98495 firefox: "16",
98496 ios: "9.0",
98497 node: "0.11.13",
98498 opera: "21",
98499 opera_mobile: "21",
98500 rhino: "1.7.13",
98501 safari: "9.0",
98502 samsung: "2.0"
98503 },
98504 "es.number.is-nan": {
98505 android: "4.1",
98506 chrome: "19",
98507 edge: "12",
98508 electron: "0.20",
98509 firefox: "15",
98510 ios: "9.0",
98511 node: "0.7.3",
98512 opera: "15",
98513 opera_mobile: "15",
98514 rhino: "1.7.13",
98515 safari: "9.0",
98516 samsung: "1.5"
98517 },
98518 "es.number.is-safe-integer": {
98519 android: "37",
98520 chrome: "34",
98521 edge: "12",
98522 electron: "0.20",
98523 firefox: "32",
98524 ios: "9.0",
98525 node: "0.11.13",
98526 opera: "21",
98527 opera_mobile: "21",
98528 rhino: "1.7.13",
98529 safari: "9.0",
98530 samsung: "2.0"
98531 },
98532 "es.number.max-safe-integer": {
98533 android: "37",
98534 chrome: "34",
98535 edge: "12",
98536 electron: "0.20",
98537 firefox: "31",
98538 ios: "9.0",
98539 node: "0.11.13",
98540 opera: "21",
98541 opera_mobile: "21",
98542 rhino: "1.7.13",
98543 safari: "9.0",
98544 samsung: "2.0"
98545 },
98546 "es.number.min-safe-integer": {
98547 android: "37",
98548 chrome: "34",
98549 edge: "12",
98550 electron: "0.20",
98551 firefox: "31",
98552 ios: "9.0",
98553 node: "0.11.13",
98554 opera: "21",
98555 opera_mobile: "21",
98556 rhino: "1.7.13",
98557 safari: "9.0",
98558 samsung: "2.0"
98559 },
98560 "es.number.parse-float": {
98561 android: "37",
98562 chrome: "35",
98563 edge: "13",
98564 electron: "0.20",
98565 firefox: "39",
98566 ios: "11.0",
98567 node: "0.11.13",
98568 opera: "22",
98569 opera_mobile: "22",
98570 safari: "11.0",
98571 samsung: "3.0"
98572 },
98573 "es.number.parse-int": {
98574 android: "37",
98575 chrome: "35",
98576 edge: "13",
98577 electron: "0.20",
98578 firefox: "39",
98579 ios: "9.0",
98580 node: "0.11.13",
98581 opera: "22",
98582 opera_mobile: "22",
98583 safari: "9.0",
98584 samsung: "3.0"
98585 },
98586 "es.number.to-fixed": {
98587 android: "4.4",
98588 chrome: "26",
98589 edge: "74",
98590 electron: "0.20",
98591 firefox: "4",
98592 ios: "8.0",
98593 node: "0.11.0",
98594 opera: "16",
98595 opera_mobile: "16",
98596 rhino: "1.7.13",
98597 safari: "7.1",
98598 samsung: "1.5"
98599 },
98600 "es.number.to-precision": {
98601 android: "4.4",
98602 chrome: "26",
98603 edge: "12",
98604 electron: "0.20",
98605 firefox: "4",
98606 ie: "8",
98607 ios: "8.0",
98608 node: "0.11.0",
98609 opera: "16",
98610 opera_mobile: "16",
98611 rhino: "1.7.13",
98612 safari: "7.1",
98613 samsung: "1.5"
98614 },
98615 "es.object.assign": {
98616 android: "49",
98617 chrome: "49",
98618 edge: "74",
98619 electron: "0.37",
98620 firefox: "36",
98621 ios: "9.0",
98622 node: "6.0",
98623 opera: "36",
98624 opera_mobile: "36",
98625 safari: "9.0",
98626 samsung: "5.0"
98627 },
98628 "es.object.create": {
98629 android: "3.0",
98630 chrome: "5",
98631 edge: "12",
98632 electron: "0.20",
98633 firefox: "4",
98634 ie: "9",
98635 ios: "3.2",
98636 node: "0.1.27",
98637 opera: "12",
98638 opera_mobile: "12",
98639 phantom: "1.9",
98640 rhino: "1.7.13",
98641 safari: "4.0",
98642 samsung: "1.0"
98643 },
98644 "es.object.define-getter": {
98645 android: "62",
98646 chrome: "62",
98647 edge: "16",
98648 electron: "3.0",
98649 firefox: "48",
98650 ios: "8.0",
98651 node: "8.10",
98652 opera: "49",
98653 opera_mobile: "46",
98654 rhino: "1.7.13",
98655 safari: "7.1",
98656 samsung: "8.0"
98657 },
98658 "es.object.define-properties": {
98659 android: "3.0",
98660 chrome: "5",
98661 edge: "12",
98662 electron: "0.20",
98663 firefox: "4",
98664 ie: "9",
98665 ios: "5.1",
98666 node: "0.1.27",
98667 opera: "12",
98668 opera_mobile: "12",
98669 phantom: "2.0",
98670 rhino: "1.7.13",
98671 safari: "5.1",
98672 samsung: "1.0"
98673 },
98674 "es.object.define-property": {
98675 android: "3.0",
98676 chrome: "5",
98677 edge: "12",
98678 electron: "0.20",
98679 firefox: "4",
98680 ie: "9",
98681 ios: "5.1",
98682 node: "0.1.27",
98683 opera: "12",
98684 opera_mobile: "12",
98685 phantom: "2.0",
98686 rhino: "1.7.13",
98687 safari: "5.1",
98688 samsung: "1.0"
98689 },
98690 "es.object.define-setter": {
98691 android: "62",
98692 chrome: "62",
98693 edge: "16",
98694 electron: "3.0",
98695 firefox: "48",
98696 ios: "8.0",
98697 node: "8.10",
98698 opera: "49",
98699 opera_mobile: "46",
98700 rhino: "1.7.13",
98701 safari: "7.1",
98702 samsung: "8.0"
98703 },
98704 "es.object.entries": {
98705 android: "54",
98706 chrome: "54",
98707 edge: "14",
98708 electron: "1.4",
98709 firefox: "47",
98710 ios: "10.3",
98711 node: "7.0",
98712 opera: "41",
98713 opera_mobile: "41",
98714 safari: "10.1",
98715 samsung: "6.0"
98716 },
98717 "es.object.freeze": {
98718 android: "44",
98719 chrome: "44",
98720 edge: "13",
98721 electron: "0.30",
98722 firefox: "35",
98723 ios: "9.0",
98724 node: "3.0",
98725 opera: "31",
98726 opera_mobile: "31",
98727 rhino: "1.7.13",
98728 safari: "9.0",
98729 samsung: "4.0"
98730 },
98731 "es.object.from-entries": {
98732 android: "73",
98733 chrome: "73",
98734 edge: "74",
98735 electron: "5.0",
98736 firefox: "63",
98737 ios: "12.2",
98738 node: "12.0",
98739 opera: "60",
98740 opera_mobile: "52",
98741 safari: "12.1",
98742 samsung: "11.0"
98743 },
98744 "es.object.get-own-property-descriptor": {
98745 android: "44",
98746 chrome: "44",
98747 edge: "13",
98748 electron: "0.30",
98749 firefox: "35",
98750 ios: "9.0",
98751 node: "3.0",
98752 opera: "31",
98753 opera_mobile: "31",
98754 rhino: "1.7.13",
98755 safari: "9.0",
98756 samsung: "4.0"
98757 },
98758 "es.object.get-own-property-descriptors": {
98759 android: "54",
98760 chrome: "54",
98761 edge: "15",
98762 electron: "1.4",
98763 firefox: "50",
98764 ios: "10.0",
98765 node: "7.0",
98766 opera: "41",
98767 opera_mobile: "41",
98768 safari: "10.0",
98769 samsung: "6.0"
98770 },
98771 "es.object.get-own-property-names": {
98772 android: "40",
98773 chrome: "40",
98774 edge: "13",
98775 electron: "0.21",
98776 firefox: "34",
98777 ios: "9.0",
98778 node: "1.0",
98779 opera: "27",
98780 opera_mobile: "27",
98781 rhino: "1.7.13",
98782 safari: "9.0",
98783 samsung: "3.4"
98784 },
98785 "es.object.get-prototype-of": {
98786 android: "44",
98787 chrome: "44",
98788 edge: "13",
98789 electron: "0.30",
98790 firefox: "35",
98791 ios: "9.0",
98792 node: "3.0",
98793 opera: "31",
98794 opera_mobile: "31",
98795 rhino: "1.7.13",
98796 safari: "9.0",
98797 samsung: "4.0"
98798 },
98799 "es.object.is": {
98800 android: "4.1",
98801 chrome: "19",
98802 edge: "12",
98803 electron: "0.20",
98804 firefox: "22",
98805 ios: "9.0",
98806 node: "0.7.3",
98807 opera: "15",
98808 opera_mobile: "15",
98809 rhino: "1.7.13",
98810 safari: "9.0",
98811 samsung: "1.5"
98812 },
98813 "es.object.is-extensible": {
98814 android: "44",
98815 chrome: "44",
98816 edge: "13",
98817 electron: "0.30",
98818 firefox: "35",
98819 ios: "9.0",
98820 node: "3.0",
98821 opera: "31",
98822 opera_mobile: "31",
98823 rhino: "1.7.13",
98824 safari: "9.0",
98825 samsung: "4.0"
98826 },
98827 "es.object.is-frozen": {
98828 android: "44",
98829 chrome: "44",
98830 edge: "13",
98831 electron: "0.30",
98832 firefox: "35",
98833 ios: "9.0",
98834 node: "3.0",
98835 opera: "31",
98836 opera_mobile: "31",
98837 rhino: "1.7.13",
98838 safari: "9.0",
98839 samsung: "4.0"
98840 },
98841 "es.object.is-sealed": {
98842 android: "44",
98843 chrome: "44",
98844 edge: "13",
98845 electron: "0.30",
98846 firefox: "35",
98847 ios: "9.0",
98848 node: "3.0",
98849 opera: "31",
98850 opera_mobile: "31",
98851 rhino: "1.7.13",
98852 safari: "9.0",
98853 samsung: "4.0"
98854 },
98855 "es.object.keys": {
98856 android: "40",
98857 chrome: "40",
98858 edge: "13",
98859 electron: "0.21",
98860 firefox: "35",
98861 ios: "9.0",
98862 node: "1.0",
98863 opera: "27",
98864 opera_mobile: "27",
98865 rhino: "1.7.13",
98866 safari: "9.0",
98867 samsung: "3.4"
98868 },
98869 "es.object.lookup-getter": {
98870 android: "62",
98871 chrome: "62",
98872 edge: "16",
98873 electron: "3.0",
98874 firefox: "48",
98875 ios: "8.0",
98876 node: "8.10",
98877 opera: "49",
98878 opera_mobile: "46",
98879 rhino: "1.7.13",
98880 safari: "7.1",
98881 samsung: "8.0"
98882 },
98883 "es.object.lookup-setter": {
98884 android: "62",
98885 chrome: "62",
98886 edge: "16",
98887 electron: "3.0",
98888 firefox: "48",
98889 ios: "8.0",
98890 node: "8.10",
98891 opera: "49",
98892 opera_mobile: "46",
98893 rhino: "1.7.13",
98894 safari: "7.1",
98895 samsung: "8.0"
98896 },
98897 "es.object.prevent-extensions": {
98898 android: "44",
98899 chrome: "44",
98900 edge: "13",
98901 electron: "0.30",
98902 firefox: "35",
98903 ios: "9.0",
98904 node: "3.0",
98905 opera: "31",
98906 opera_mobile: "31",
98907 rhino: "1.7.13",
98908 safari: "9.0",
98909 samsung: "4.0"
98910 },
98911 "es.object.seal": {
98912 android: "44",
98913 chrome: "44",
98914 edge: "13",
98915 electron: "0.30",
98916 firefox: "35",
98917 ios: "9.0",
98918 node: "3.0",
98919 opera: "31",
98920 opera_mobile: "31",
98921 rhino: "1.7.13",
98922 safari: "9.0",
98923 samsung: "4.0"
98924 },
98925 "es.object.set-prototype-of": {
98926 android: "37",
98927 chrome: "34",
98928 edge: "12",
98929 electron: "0.20",
98930 firefox: "31",
98931 ie: "11",
98932 ios: "9.0",
98933 node: "0.11.13",
98934 opera: "21",
98935 opera_mobile: "21",
98936 rhino: "1.7.13",
98937 safari: "9.0",
98938 samsung: "2.0"
98939 },
98940 "es.object.to-string": {
98941 android: "49",
98942 chrome: "49",
98943 edge: "15",
98944 electron: "0.37",
98945 firefox: "51",
98946 ios: "10.0",
98947 node: "6.0",
98948 opera: "36",
98949 opera_mobile: "36",
98950 safari: "10.0",
98951 samsung: "5.0"
98952 },
98953 "es.object.values": {
98954 android: "54",
98955 chrome: "54",
98956 edge: "14",
98957 electron: "1.4",
98958 firefox: "47",
98959 ios: "10.3",
98960 node: "7.0",
98961 opera: "41",
98962 opera_mobile: "41",
98963 safari: "10.1",
98964 samsung: "6.0"
98965 },
98966 "es.parse-float": {
98967 android: "37",
98968 chrome: "35",
98969 edge: "12",
98970 electron: "0.20",
98971 firefox: "8",
98972 ie: "8",
98973 ios: "8.0",
98974 node: "0.11.13",
98975 opera: "22",
98976 opera_mobile: "22",
98977 rhino: "1.7.13",
98978 safari: "7.1",
98979 samsung: "3.0"
98980 },
98981 "es.parse-int": {
98982 android: "37",
98983 chrome: "35",
98984 edge: "12",
98985 electron: "0.20",
98986 firefox: "21",
98987 ie: "9",
98988 ios: "8.0",
98989 node: "0.11.13",
98990 opera: "22",
98991 opera_mobile: "22",
98992 rhino: "1.7.13",
98993 safari: "7.1",
98994 samsung: "3.0"
98995 },
98996 "es.promise": {
98997 android: "67",
98998 chrome: "67",
98999 edge: "74",
99000 electron: "4.0",
99001 firefox: "69",
99002 ios: "11.0",
99003 node: "10.4",
99004 opera: "54",
99005 opera_mobile: "48",
99006 safari: "11.0",
99007 samsung: "9.0"
99008 },
99009 "es.promise.all-settled": {
99010 android: "76",
99011 chrome: "76",
99012 edge: "76",
99013 electron: "6.0",
99014 firefox: "71",
99015 ios: "13.0",
99016 node: "12.9",
99017 opera: "63",
99018 opera_mobile: "54",
99019 safari: "13",
99020 samsung: "12.0"
99021 },
99022 "es.promise.any": {
99023 android: "85",
99024 chrome: "85",
99025 edge: "85",
99026 electron: "10.0",
99027 firefox: "79",
99028 ios: "14.0",
99029 node: "15.0",
99030 opera: "71",
99031 opera_mobile: "60",
99032 safari: "14.0",
99033 samsung: "14.0"
99034 },
99035 "es.promise.finally": {
99036 android: "67",
99037 chrome: "67",
99038 edge: "74",
99039 electron: "4.0",
99040 firefox: "69",
99041 ios: "13.2.3",
99042 node: "10.4",
99043 opera: "54",
99044 opera_mobile: "48",
99045 safari: "13.0.3",
99046 samsung: "9.0"
99047 },
99048 "es.reflect.apply": {
99049 android: "49",
99050 chrome: "49",
99051 edge: "15",
99052 electron: "0.37",
99053 firefox: "42",
99054 ios: "10.0",
99055 node: "6.0",
99056 opera: "36",
99057 opera_mobile: "36",
99058 safari: "10.0",
99059 samsung: "5.0"
99060 },
99061 "es.reflect.construct": {
99062 android: "49",
99063 chrome: "49",
99064 edge: "15",
99065 electron: "0.37",
99066 firefox: "44",
99067 ios: "10.0",
99068 node: "6.0",
99069 opera: "36",
99070 opera_mobile: "36",
99071 safari: "10.0",
99072 samsung: "5.0"
99073 },
99074 "es.reflect.define-property": {
99075 android: "49",
99076 chrome: "49",
99077 edge: "13",
99078 electron: "0.37",
99079 firefox: "42",
99080 ios: "10.0",
99081 node: "6.0",
99082 opera: "36",
99083 opera_mobile: "36",
99084 safari: "10.0",
99085 samsung: "5.0"
99086 },
99087 "es.reflect.delete-property": {
99088 android: "49",
99089 chrome: "49",
99090 edge: "12",
99091 electron: "0.37",
99092 firefox: "42",
99093 ios: "10.0",
99094 node: "6.0",
99095 opera: "36",
99096 opera_mobile: "36",
99097 safari: "10.0",
99098 samsung: "5.0"
99099 },
99100 "es.reflect.get": {
99101 android: "49",
99102 chrome: "49",
99103 edge: "12",
99104 electron: "0.37",
99105 firefox: "42",
99106 ios: "10.0",
99107 node: "6.0",
99108 opera: "36",
99109 opera_mobile: "36",
99110 safari: "10.0",
99111 samsung: "5.0"
99112 },
99113 "es.reflect.get-own-property-descriptor": {
99114 android: "49",
99115 chrome: "49",
99116 edge: "12",
99117 electron: "0.37",
99118 firefox: "42",
99119 ios: "10.0",
99120 node: "6.0",
99121 opera: "36",
99122 opera_mobile: "36",
99123 safari: "10.0",
99124 samsung: "5.0"
99125 },
99126 "es.reflect.get-prototype-of": {
99127 android: "49",
99128 chrome: "49",
99129 edge: "12",
99130 electron: "0.37",
99131 firefox: "42",
99132 ios: "10.0",
99133 node: "6.0",
99134 opera: "36",
99135 opera_mobile: "36",
99136 safari: "10.0",
99137 samsung: "5.0"
99138 },
99139 "es.reflect.has": {
99140 android: "49",
99141 chrome: "49",
99142 edge: "12",
99143 electron: "0.37",
99144 firefox: "42",
99145 ios: "10.0",
99146 node: "6.0",
99147 opera: "36",
99148 opera_mobile: "36",
99149 safari: "10.0",
99150 samsung: "5.0"
99151 },
99152 "es.reflect.is-extensible": {
99153 android: "49",
99154 chrome: "49",
99155 edge: "12",
99156 electron: "0.37",
99157 firefox: "42",
99158 ios: "10.0",
99159 node: "6.0",
99160 opera: "36",
99161 opera_mobile: "36",
99162 safari: "10.0",
99163 samsung: "5.0"
99164 },
99165 "es.reflect.own-keys": {
99166 android: "49",
99167 chrome: "49",
99168 edge: "12",
99169 electron: "0.37",
99170 firefox: "42",
99171 ios: "10.0",
99172 node: "6.0",
99173 opera: "36",
99174 opera_mobile: "36",
99175 safari: "10.0",
99176 samsung: "5.0"
99177 },
99178 "es.reflect.prevent-extensions": {
99179 android: "49",
99180 chrome: "49",
99181 edge: "12",
99182 electron: "0.37",
99183 firefox: "42",
99184 ios: "10.0",
99185 node: "6.0",
99186 opera: "36",
99187 opera_mobile: "36",
99188 safari: "10.0",
99189 samsung: "5.0"
99190 },
99191 "es.reflect.set": {
99192 android: "49",
99193 chrome: "49",
99194 edge: "74",
99195 electron: "0.37",
99196 firefox: "42",
99197 ios: "10.0",
99198 node: "6.0",
99199 opera: "36",
99200 opera_mobile: "36",
99201 safari: "10.0",
99202 samsung: "5.0"
99203 },
99204 "es.reflect.set-prototype-of": {
99205 android: "49",
99206 chrome: "49",
99207 edge: "12",
99208 electron: "0.37",
99209 firefox: "42",
99210 ios: "10.0",
99211 node: "6.0",
99212 opera: "36",
99213 opera_mobile: "36",
99214 safari: "10.0",
99215 samsung: "5.0"
99216 },
99217 "es.reflect.to-string-tag": {
99218 android: "86",
99219 chrome: "86",
99220 edge: "86",
99221 electron: "11.0",
99222 firefox: "82",
99223 ios: "14.0",
99224 node: "15.0",
99225 opera: "72",
99226 opera_mobile: "61",
99227 safari: "14.0",
99228 samsung: "14.0"
99229 },
99230 "es.regexp.constructor": {
99231 android: "64",
99232 chrome: "64",
99233 edge: "74",
99234 electron: "3.0",
99235 firefox: "78",
99236 ios: "11.3",
99237 node: "10.0",
99238 opera: "51",
99239 opera_mobile: "47",
99240 safari: "11.1",
99241 samsung: "9.0"
99242 },
99243 "es.regexp.dot-all": {
99244 android: "62",
99245 chrome: "62",
99246 edge: "74",
99247 electron: "3.0",
99248 firefox: "78",
99249 ios: "11.3",
99250 node: "8.10",
99251 opera: "49",
99252 opera_mobile: "46",
99253 safari: "11.1",
99254 samsung: "8.0"
99255 },
99256 "es.regexp.exec": {
99257 android: "64",
99258 chrome: "64",
99259 edge: "74",
99260 electron: "3.0",
99261 firefox: "78",
99262 ios: "11.3",
99263 node: "10.0",
99264 opera: "51",
99265 opera_mobile: "47",
99266 safari: "11.1",
99267 samsung: "9.0"
99268 },
99269 "es.regexp.flags": {
99270 android: "62",
99271 chrome: "62",
99272 edge: "74",
99273 electron: "3.0",
99274 firefox: "78",
99275 ios: "11.3",
99276 node: "8.10",
99277 opera: "49",
99278 opera_mobile: "46",
99279 safari: "11.1",
99280 samsung: "8.0"
99281 },
99282 "es.regexp.sticky": {
99283 android: "49",
99284 chrome: "49",
99285 edge: "13",
99286 electron: "0.37",
99287 firefox: "3",
99288 ios: "10.0",
99289 node: "6.0",
99290 opera: "36",
99291 opera_mobile: "36",
99292 safari: "10.0",
99293 samsung: "5.0"
99294 },
99295 "es.regexp.test": {
99296 android: "51",
99297 chrome: "51",
99298 edge: "74",
99299 electron: "1.2",
99300 firefox: "46",
99301 ios: "10.0",
99302 node: "6.5",
99303 opera: "38",
99304 opera_mobile: "38",
99305 safari: "10.0",
99306 samsung: "5.0"
99307 },
99308 "es.regexp.to-string": {
99309 android: "50",
99310 chrome: "50",
99311 edge: "74",
99312 electron: "1.1",
99313 firefox: "46",
99314 ios: "10.0",
99315 node: "6.0",
99316 opera: "37",
99317 opera_mobile: "37",
99318 safari: "10.0",
99319 samsung: "5.0"
99320 },
99321 "es.set": {
99322 android: "51",
99323 chrome: "51",
99324 edge: "15",
99325 electron: "1.2",
99326 firefox: "53",
99327 ios: "10.0",
99328 node: "6.5",
99329 opera: "38",
99330 opera_mobile: "38",
99331 rhino: "1.7.13",
99332 safari: "10.0",
99333 samsung: "5.0"
99334 },
99335 "es.string.code-point-at": {
99336 android: "41",
99337 chrome: "41",
99338 edge: "13",
99339 electron: "0.21",
99340 firefox: "29",
99341 ios: "9.0",
99342 node: "1.0",
99343 opera: "28",
99344 opera_mobile: "28",
99345 rhino: "1.7.13",
99346 safari: "9.0",
99347 samsung: "3.4"
99348 },
99349 "es.string.ends-with": {
99350 android: "51",
99351 chrome: "51",
99352 edge: "74",
99353 electron: "1.2",
99354 firefox: "40",
99355 ios: "10.0",
99356 node: "6.5",
99357 opera: "38",
99358 opera_mobile: "38",
99359 safari: "10.0",
99360 samsung: "5.0"
99361 },
99362 "es.string.from-code-point": {
99363 android: "41",
99364 chrome: "41",
99365 edge: "13",
99366 electron: "0.21",
99367 firefox: "29",
99368 ios: "9.0",
99369 node: "1.0",
99370 opera: "28",
99371 opera_mobile: "28",
99372 rhino: "1.7.13",
99373 safari: "9.0",
99374 samsung: "3.4"
99375 },
99376 "es.string.includes": {
99377 android: "51",
99378 chrome: "51",
99379 edge: "74",
99380 electron: "1.2",
99381 firefox: "40",
99382 ios: "10.0",
99383 node: "6.5",
99384 opera: "38",
99385 opera_mobile: "38",
99386 safari: "10.0",
99387 samsung: "5.0"
99388 },
99389 "es.string.iterator": {
99390 android: "41",
99391 chrome: "41",
99392 edge: "13",
99393 electron: "0.21",
99394 firefox: "36",
99395 ios: "9.0",
99396 node: "1.0",
99397 opera: "28",
99398 opera_mobile: "28",
99399 rhino: "1.7.13",
99400 safari: "9.0",
99401 samsung: "3.4"
99402 },
99403 "es.string.match": {
99404 android: "51",
99405 chrome: "51",
99406 edge: "74",
99407 electron: "1.2",
99408 firefox: "49",
99409 ios: "10.0",
99410 node: "6.5",
99411 opera: "38",
99412 opera_mobile: "38",
99413 safari: "10.0",
99414 samsung: "5.0"
99415 },
99416 "es.string.match-all": {
99417 android: "80",
99418 chrome: "80",
99419 edge: "80",
99420 electron: "8.0",
99421 firefox: "73",
99422 ios: "13.4",
99423 node: "14.0",
99424 opera: "67",
99425 opera_mobile: "57",
99426 safari: "13.1",
99427 samsung: "13.0"
99428 },
99429 "es.string.pad-end": {
99430 android: "57",
99431 chrome: "57",
99432 edge: "15",
99433 electron: "1.7",
99434 firefox: "48",
99435 ios: "11.0",
99436 node: "8.0",
99437 opera: "44",
99438 opera_mobile: "43",
99439 rhino: "1.7.13",
99440 safari: "11.0",
99441 samsung: "7.0"
99442 },
99443 "es.string.pad-start": {
99444 android: "57",
99445 chrome: "57",
99446 edge: "15",
99447 electron: "1.7",
99448 firefox: "48",
99449 ios: "11.0",
99450 node: "8.0",
99451 opera: "44",
99452 opera_mobile: "43",
99453 rhino: "1.7.13",
99454 safari: "11.0",
99455 samsung: "7.0"
99456 },
99457 "es.string.raw": {
99458 android: "41",
99459 chrome: "41",
99460 edge: "13",
99461 electron: "0.21",
99462 firefox: "34",
99463 ios: "9.0",
99464 node: "1.0",
99465 opera: "28",
99466 opera_mobile: "28",
99467 safari: "9.0",
99468 samsung: "3.4"
99469 },
99470 "es.string.repeat": {
99471 android: "41",
99472 chrome: "41",
99473 edge: "13",
99474 electron: "0.21",
99475 firefox: "24",
99476 ios: "9.0",
99477 node: "1.0",
99478 opera: "28",
99479 opera_mobile: "28",
99480 rhino: "1.7.13",
99481 safari: "9.0",
99482 samsung: "3.4"
99483 },
99484 "es.string.replace": {
99485 android: "64",
99486 chrome: "64",
99487 edge: "74",
99488 electron: "3.0",
99489 firefox: "78",
99490 ios: "14.0",
99491 node: "10.0",
99492 opera: "51",
99493 opera_mobile: "47",
99494 safari: "14.0",
99495 samsung: "9.0"
99496 },
99497 "es.string.replace-all": {
99498 android: "85",
99499 chrome: "85",
99500 edge: "85",
99501 electron: "10.0",
99502 firefox: "77",
99503 ios: "13.4",
99504 node: "15.0",
99505 opera: "71",
99506 opera_mobile: "60",
99507 safari: "13.1",
99508 samsung: "14.0"
99509 },
99510 "es.string.search": {
99511 android: "51",
99512 chrome: "51",
99513 edge: "74",
99514 electron: "1.2",
99515 firefox: "49",
99516 ios: "10.0",
99517 node: "6.5",
99518 opera: "38",
99519 opera_mobile: "38",
99520 safari: "10.0",
99521 samsung: "5.0"
99522 },
99523 "es.string.split": {
99524 android: "54",
99525 chrome: "54",
99526 edge: "74",
99527 electron: "1.4",
99528 firefox: "49",
99529 ios: "10.0",
99530 node: "7.0",
99531 opera: "41",
99532 opera_mobile: "41",
99533 safari: "10.0",
99534 samsung: "6.0"
99535 },
99536 "es.string.starts-with": {
99537 android: "51",
99538 chrome: "51",
99539 edge: "74",
99540 electron: "1.2",
99541 firefox: "40",
99542 ios: "10.0",
99543 node: "6.5",
99544 opera: "38",
99545 opera_mobile: "38",
99546 safari: "10.0",
99547 samsung: "5.0"
99548 },
99549 "es.string.substr": {
99550 android: "3.0",
99551 chrome: "1",
99552 edge: "12",
99553 electron: "0.20",
99554 firefox: "1",
99555 ie: "4",
99556 ios: "1.0",
99557 node: "0.0.3",
99558 opera: "4",
99559 opera_mobile: "4",
99560 phantom: "1.9",
99561 rhino: "1.7.13",
99562 safari: "1",
99563 samsung: "1.0"
99564 },
99565 "es.string.trim": {
99566 android: "59",
99567 chrome: "59",
99568 edge: "15",
99569 electron: "1.8",
99570 firefox: "52",
99571 ios: "12.2",
99572 node: "8.3",
99573 opera: "46",
99574 opera_mobile: "43",
99575 rhino: "1.7.13",
99576 safari: "12.1",
99577 samsung: "7.0"
99578 },
99579 "es.string.trim-end": {
99580 android: "66",
99581 chrome: "66",
99582 edge: "74",
99583 electron: "3.0",
99584 firefox: "61",
99585 ios: "12.2",
99586 node: "10.0",
99587 opera: "53",
99588 opera_mobile: "47",
99589 safari: "12.1",
99590 samsung: "9.0"
99591 },
99592 "es.string.trim-start": {
99593 android: "66",
99594 chrome: "66",
99595 edge: "74",
99596 electron: "3.0",
99597 firefox: "61",
99598 ios: "12.0",
99599 node: "10.0",
99600 opera: "53",
99601 opera_mobile: "47",
99602 safari: "12.0",
99603 samsung: "9.0"
99604 },
99605 "es.string.anchor": {
99606 android: "3.0",
99607 chrome: "5",
99608 edge: "12",
99609 electron: "0.20",
99610 firefox: "17",
99611 ios: "6.0",
99612 node: "0.1.27",
99613 opera: "15",
99614 opera_mobile: "15",
99615 phantom: "2.0",
99616 safari: "6.0",
99617 samsung: "1.0"
99618 },
99619 "es.string.big": {
99620 android: "3.0",
99621 chrome: "5",
99622 edge: "12",
99623 electron: "0.20",
99624 firefox: "2",
99625 ios: "2.0",
99626 node: "0.1.27",
99627 opera: "10.50",
99628 opera_mobile: "10.50",
99629 phantom: "1.9",
99630 rhino: "1.7.13",
99631 safari: "3.1",
99632 samsung: "1.0"
99633 },
99634 "es.string.blink": {
99635 android: "3.0",
99636 chrome: "5",
99637 edge: "12",
99638 electron: "0.20",
99639 firefox: "2",
99640 ios: "2.0",
99641 node: "0.1.27",
99642 opera: "10.50",
99643 opera_mobile: "10.50",
99644 phantom: "1.9",
99645 rhino: "1.7.13",
99646 safari: "3.1",
99647 samsung: "1.0"
99648 },
99649 "es.string.bold": {
99650 android: "3.0",
99651 chrome: "5",
99652 edge: "12",
99653 electron: "0.20",
99654 firefox: "2",
99655 ios: "2.0",
99656 node: "0.1.27",
99657 opera: "10.50",
99658 opera_mobile: "10.50",
99659 phantom: "1.9",
99660 rhino: "1.7.13",
99661 safari: "3.1",
99662 samsung: "1.0"
99663 },
99664 "es.string.fixed": {
99665 android: "3.0",
99666 chrome: "5",
99667 edge: "12",
99668 electron: "0.20",
99669 firefox: "2",
99670 ios: "2.0",
99671 node: "0.1.27",
99672 opera: "10.50",
99673 opera_mobile: "10.50",
99674 phantom: "1.9",
99675 rhino: "1.7.13",
99676 safari: "3.1",
99677 samsung: "1.0"
99678 },
99679 "es.string.fontcolor": {
99680 android: "3.0",
99681 chrome: "5",
99682 edge: "12",
99683 electron: "0.20",
99684 firefox: "17",
99685 ios: "6.0",
99686 node: "0.1.27",
99687 opera: "15",
99688 opera_mobile: "15",
99689 phantom: "2.0",
99690 safari: "6.0",
99691 samsung: "1.0"
99692 },
99693 "es.string.fontsize": {
99694 android: "3.0",
99695 chrome: "5",
99696 edge: "12",
99697 electron: "0.20",
99698 firefox: "17",
99699 ios: "6.0",
99700 node: "0.1.27",
99701 opera: "15",
99702 opera_mobile: "15",
99703 phantom: "2.0",
99704 safari: "6.0",
99705 samsung: "1.0"
99706 },
99707 "es.string.italics": {
99708 android: "3.0",
99709 chrome: "5",
99710 edge: "12",
99711 electron: "0.20",
99712 firefox: "2",
99713 ios: "2.0",
99714 node: "0.1.27",
99715 opera: "10.50",
99716 opera_mobile: "10.50",
99717 phantom: "1.9",
99718 rhino: "1.7.13",
99719 safari: "3.1",
99720 samsung: "1.0"
99721 },
99722 "es.string.link": {
99723 android: "3.0",
99724 chrome: "5",
99725 edge: "12",
99726 electron: "0.20",
99727 firefox: "17",
99728 ios: "6.0",
99729 node: "0.1.27",
99730 opera: "15",
99731 opera_mobile: "15",
99732 phantom: "2.0",
99733 safari: "6.0",
99734 samsung: "1.0"
99735 },
99736 "es.string.small": {
99737 android: "3.0",
99738 chrome: "5",
99739 edge: "12",
99740 electron: "0.20",
99741 firefox: "2",
99742 ios: "2.0",
99743 node: "0.1.27",
99744 opera: "10.50",
99745 opera_mobile: "10.50",
99746 phantom: "1.9",
99747 rhino: "1.7.13",
99748 safari: "3.1",
99749 samsung: "1.0"
99750 },
99751 "es.string.strike": {
99752 android: "3.0",
99753 chrome: "5",
99754 edge: "12",
99755 electron: "0.20",
99756 firefox: "2",
99757 ios: "2.0",
99758 node: "0.1.27",
99759 opera: "10.50",
99760 opera_mobile: "10.50",
99761 phantom: "1.9",
99762 rhino: "1.7.13",
99763 safari: "3.1",
99764 samsung: "1.0"
99765 },
99766 "es.string.sub": {
99767 android: "3.0",
99768 chrome: "5",
99769 edge: "12",
99770 electron: "0.20",
99771 firefox: "2",
99772 ios: "2.0",
99773 node: "0.1.27",
99774 opera: "10.50",
99775 opera_mobile: "10.50",
99776 phantom: "1.9",
99777 rhino: "1.7.13",
99778 safari: "3.1",
99779 samsung: "1.0"
99780 },
99781 "es.string.sup": {
99782 android: "3.0",
99783 chrome: "5",
99784 edge: "12",
99785 electron: "0.20",
99786 firefox: "2",
99787 ios: "2.0",
99788 node: "0.1.27",
99789 opera: "10.50",
99790 opera_mobile: "10.50",
99791 phantom: "1.9",
99792 rhino: "1.7.13",
99793 safari: "3.1",
99794 samsung: "1.0"
99795 },
99796 "es.typed-array.float32-array": {
99797 android: "54",
99798 chrome: "54",
99799 edge: "15",
99800 electron: "1.4",
99801 firefox: "55",
99802 ios: "14.0",
99803 node: "7.0",
99804 opera: "41",
99805 opera_mobile: "41",
99806 safari: "14.0",
99807 samsung: "6.0"
99808 },
99809 "es.typed-array.float64-array": {
99810 android: "54",
99811 chrome: "54",
99812 edge: "15",
99813 electron: "1.4",
99814 firefox: "55",
99815 ios: "14.0",
99816 node: "7.0",
99817 opera: "41",
99818 opera_mobile: "41",
99819 safari: "14.0",
99820 samsung: "6.0"
99821 },
99822 "es.typed-array.int8-array": {
99823 android: "54",
99824 chrome: "54",
99825 edge: "15",
99826 electron: "1.4",
99827 firefox: "55",
99828 ios: "14.0",
99829 node: "7.0",
99830 opera: "41",
99831 opera_mobile: "41",
99832 safari: "14.0",
99833 samsung: "6.0"
99834 },
99835 "es.typed-array.int16-array": {
99836 android: "54",
99837 chrome: "54",
99838 edge: "15",
99839 electron: "1.4",
99840 firefox: "55",
99841 ios: "14.0",
99842 node: "7.0",
99843 opera: "41",
99844 opera_mobile: "41",
99845 safari: "14.0",
99846 samsung: "6.0"
99847 },
99848 "es.typed-array.int32-array": {
99849 android: "54",
99850 chrome: "54",
99851 edge: "15",
99852 electron: "1.4",
99853 firefox: "55",
99854 ios: "14.0",
99855 node: "7.0",
99856 opera: "41",
99857 opera_mobile: "41",
99858 safari: "14.0",
99859 samsung: "6.0"
99860 },
99861 "es.typed-array.uint8-array": {
99862 android: "54",
99863 chrome: "54",
99864 edge: "15",
99865 electron: "1.4",
99866 firefox: "55",
99867 ios: "14.0",
99868 node: "7.0",
99869 opera: "41",
99870 opera_mobile: "41",
99871 safari: "14.0",
99872 samsung: "6.0"
99873 },
99874 "es.typed-array.uint8-clamped-array": {
99875 android: "54",
99876 chrome: "54",
99877 edge: "15",
99878 electron: "1.4",
99879 firefox: "55",
99880 ios: "14.0",
99881 node: "7.0",
99882 opera: "41",
99883 opera_mobile: "41",
99884 safari: "14.0",
99885 samsung: "6.0"
99886 },
99887 "es.typed-array.uint16-array": {
99888 android: "54",
99889 chrome: "54",
99890 edge: "15",
99891 electron: "1.4",
99892 firefox: "55",
99893 ios: "14.0",
99894 node: "7.0",
99895 opera: "41",
99896 opera_mobile: "41",
99897 safari: "14.0",
99898 samsung: "6.0"
99899 },
99900 "es.typed-array.uint32-array": {
99901 android: "54",
99902 chrome: "54",
99903 edge: "15",
99904 electron: "1.4",
99905 firefox: "55",
99906 ios: "14.0",
99907 node: "7.0",
99908 opera: "41",
99909 opera_mobile: "41",
99910 safari: "14.0",
99911 samsung: "6.0"
99912 },
99913 "es.typed-array.copy-within": {
99914 android: "45",
99915 chrome: "45",
99916 edge: "13",
99917 electron: "0.31",
99918 firefox: "34",
99919 ios: "10.0",
99920 node: "4.0",
99921 opera: "32",
99922 opera_mobile: "32",
99923 safari: "10.0",
99924 samsung: "5.0"
99925 },
99926 "es.typed-array.every": {
99927 android: "45",
99928 chrome: "45",
99929 edge: "13",
99930 electron: "0.31",
99931 firefox: "37",
99932 ios: "10.0",
99933 node: "4.0",
99934 opera: "32",
99935 opera_mobile: "32",
99936 safari: "10.0",
99937 samsung: "5.0"
99938 },
99939 "es.typed-array.fill": {
99940 android: "45",
99941 chrome: "45",
99942 edge: "13",
99943 electron: "0.31",
99944 firefox: "37",
99945 ios: "10.0",
99946 node: "4.0",
99947 opera: "32",
99948 opera_mobile: "32",
99949 safari: "10.0",
99950 samsung: "5.0"
99951 },
99952 "es.typed-array.filter": {
99953 android: "45",
99954 chrome: "45",
99955 edge: "13",
99956 electron: "0.31",
99957 firefox: "38",
99958 ios: "10.0",
99959 node: "4.0",
99960 opera: "32",
99961 opera_mobile: "32",
99962 safari: "10.0",
99963 samsung: "5.0"
99964 },
99965 "es.typed-array.find": {
99966 android: "45",
99967 chrome: "45",
99968 edge: "13",
99969 electron: "0.31",
99970 firefox: "37",
99971 ios: "10.0",
99972 node: "4.0",
99973 opera: "32",
99974 opera_mobile: "32",
99975 safari: "10.0",
99976 samsung: "5.0"
99977 },
99978 "es.typed-array.find-index": {
99979 android: "45",
99980 chrome: "45",
99981 edge: "13",
99982 electron: "0.31",
99983 firefox: "37",
99984 ios: "10.0",
99985 node: "4.0",
99986 opera: "32",
99987 opera_mobile: "32",
99988 safari: "10.0",
99989 samsung: "5.0"
99990 },
99991 "es.typed-array.for-each": {
99992 android: "45",
99993 chrome: "45",
99994 edge: "13",
99995 electron: "0.31",
99996 firefox: "38",
99997 ios: "10.0",
99998 node: "4.0",
99999 opera: "32",
100000 opera_mobile: "32",
100001 safari: "10.0",
100002 samsung: "5.0"
100003 },
100004 "es.typed-array.from": {
100005 android: "54",
100006 chrome: "54",
100007 edge: "15",
100008 electron: "1.4",
100009 firefox: "55",
100010 ios: "14.0",
100011 node: "7.0",
100012 opera: "41",
100013 opera_mobile: "41",
100014 safari: "14.0",
100015 samsung: "6.0"
100016 },
100017 "es.typed-array.includes": {
100018 android: "49",
100019 chrome: "49",
100020 edge: "14",
100021 electron: "0.37",
100022 firefox: "43",
100023 ios: "10.0",
100024 node: "6.0",
100025 opera: "36",
100026 opera_mobile: "36",
100027 safari: "10.0",
100028 samsung: "5.0"
100029 },
100030 "es.typed-array.index-of": {
100031 android: "45",
100032 chrome: "45",
100033 edge: "13",
100034 electron: "0.31",
100035 firefox: "37",
100036 ios: "10.0",
100037 node: "4.0",
100038 opera: "32",
100039 opera_mobile: "32",
100040 safari: "10.0",
100041 samsung: "5.0"
100042 },
100043 "es.typed-array.iterator": {
100044 android: "47",
100045 chrome: "47",
100046 edge: "13",
100047 electron: "0.36",
100048 firefox: "37",
100049 ios: "10.0",
100050 node: "6.0",
100051 opera: "34",
100052 opera_mobile: "34",
100053 safari: "10.0",
100054 samsung: "5.0"
100055 },
100056 "es.typed-array.join": {
100057 android: "45",
100058 chrome: "45",
100059 edge: "13",
100060 electron: "0.31",
100061 firefox: "37",
100062 ios: "10.0",
100063 node: "4.0",
100064 opera: "32",
100065 opera_mobile: "32",
100066 safari: "10.0",
100067 samsung: "5.0"
100068 },
100069 "es.typed-array.last-index-of": {
100070 android: "45",
100071 chrome: "45",
100072 edge: "13",
100073 electron: "0.31",
100074 firefox: "37",
100075 ios: "10.0",
100076 node: "4.0",
100077 opera: "32",
100078 opera_mobile: "32",
100079 safari: "10.0",
100080 samsung: "5.0"
100081 },
100082 "es.typed-array.map": {
100083 android: "45",
100084 chrome: "45",
100085 edge: "13",
100086 electron: "0.31",
100087 firefox: "38",
100088 ios: "10.0",
100089 node: "4.0",
100090 opera: "32",
100091 opera_mobile: "32",
100092 safari: "10.0",
100093 samsung: "5.0"
100094 },
100095 "es.typed-array.of": {
100096 android: "54",
100097 chrome: "54",
100098 edge: "15",
100099 electron: "1.4",
100100 firefox: "55",
100101 ios: "14.0",
100102 node: "7.0",
100103 opera: "41",
100104 opera_mobile: "41",
100105 safari: "14.0",
100106 samsung: "6.0"
100107 },
100108 "es.typed-array.reduce": {
100109 android: "45",
100110 chrome: "45",
100111 edge: "13",
100112 electron: "0.31",
100113 firefox: "37",
100114 ios: "10.0",
100115 node: "4.0",
100116 opera: "32",
100117 opera_mobile: "32",
100118 safari: "10.0",
100119 samsung: "5.0"
100120 },
100121 "es.typed-array.reduce-right": {
100122 android: "45",
100123 chrome: "45",
100124 edge: "13",
100125 electron: "0.31",
100126 firefox: "37",
100127 ios: "10.0",
100128 node: "4.0",
100129 opera: "32",
100130 opera_mobile: "32",
100131 safari: "10.0",
100132 samsung: "5.0"
100133 },
100134 "es.typed-array.reverse": {
100135 android: "45",
100136 chrome: "45",
100137 edge: "13",
100138 electron: "0.31",
100139 firefox: "37",
100140 ios: "10.0",
100141 node: "4.0",
100142 opera: "32",
100143 opera_mobile: "32",
100144 safari: "10.0",
100145 samsung: "5.0"
100146 },
100147 "es.typed-array.set": {
100148 android: "4.4",
100149 chrome: "26",
100150 edge: "13",
100151 electron: "0.20",
100152 firefox: "15",
100153 ios: "8.0",
100154 node: "0.11.0",
100155 opera: "16",
100156 opera_mobile: "16",
100157 safari: "7.1",
100158 samsung: "1.5"
100159 },
100160 "es.typed-array.slice": {
100161 android: "45",
100162 chrome: "45",
100163 edge: "13",
100164 electron: "0.31",
100165 firefox: "38",
100166 ios: "10.0",
100167 node: "4.0",
100168 opera: "32",
100169 opera_mobile: "32",
100170 safari: "10.0",
100171 samsung: "5.0"
100172 },
100173 "es.typed-array.some": {
100174 android: "45",
100175 chrome: "45",
100176 edge: "13",
100177 electron: "0.31",
100178 firefox: "37",
100179 ios: "10.0",
100180 node: "4.0",
100181 opera: "32",
100182 opera_mobile: "32",
100183 safari: "10.0",
100184 samsung: "5.0"
100185 },
100186 "es.typed-array.sort": {
100187 android: "74",
100188 chrome: "74",
100189 edge: "74",
100190 electron: "6.0",
100191 firefox: "67",
100192 ios: "14.5",
100193 node: "12.0",
100194 opera: "61",
100195 opera_mobile: "53",
100196 safari: "14.1",
100197 samsung: "11.0"
100198 },
100199 "es.typed-array.subarray": {
100200 android: "4.4",
100201 chrome: "26",
100202 edge: "13",
100203 electron: "0.20",
100204 firefox: "15",
100205 ios: "8.0",
100206 node: "0.11.0",
100207 opera: "16",
100208 opera_mobile: "16",
100209 safari: "7.1",
100210 samsung: "1.5"
100211 },
100212 "es.typed-array.to-locale-string": {
100213 android: "45",
100214 chrome: "45",
100215 edge: "74",
100216 electron: "0.31",
100217 firefox: "51",
100218 ios: "10.0",
100219 node: "4.0",
100220 opera: "32",
100221 opera_mobile: "32",
100222 safari: "10.0",
100223 samsung: "5.0"
100224 },
100225 "es.typed-array.to-string": {
100226 android: "51",
100227 chrome: "51",
100228 edge: "13",
100229 electron: "1.2",
100230 firefox: "51",
100231 ios: "10.0",
100232 node: "6.5",
100233 opera: "38",
100234 opera_mobile: "38",
100235 safari: "10.0",
100236 samsung: "5.0"
100237 },
100238 "es.unescape": {
100239 android: "3.0",
100240 chrome: "1",
100241 edge: "12",
100242 electron: "0.20",
100243 firefox: "1",
100244 ie: "3",
100245 ios: "1.0",
100246 node: "0.0.3",
100247 opera: "3",
100248 opera_mobile: "3",
100249 phantom: "1.9",
100250 rhino: "1.7.13",
100251 safari: "1",
100252 samsung: "1.0"
100253 },
100254 "es.weak-map": {
100255 android: "51",
100256 chrome: "51",
100257 edge: "15",
100258 electron: "1.2",
100259 firefox: "53",
100260 ios: "10.0",
100261 node: "6.5",
100262 opera: "38",
100263 opera_mobile: "38",
100264 rhino: "1.7.13",
100265 safari: "10.0",
100266 samsung: "5.0"
100267 },
100268 "es.weak-set": {
100269 android: "51",
100270 chrome: "51",
100271 edge: "15",
100272 electron: "1.2",
100273 firefox: "53",
100274 ios: "10.0",
100275 node: "6.5",
100276 opera: "38",
100277 opera_mobile: "38",
100278 rhino: "1.7.13",
100279 safari: "10.0",
100280 samsung: "5.0"
100281 },
100282 "esnext.aggregate-error": {
100283 android: "85",
100284 chrome: "85",
100285 edge: "85",
100286 electron: "10.0",
100287 firefox: "79",
100288 ios: "14.0",
100289 node: "15.0",
100290 opera: "71",
100291 opera_mobile: "60",
100292 safari: "14.0",
100293 samsung: "14.0"
100294 },
100295 "esnext.array.at": {
100296 android: "92",
100297 chrome: "92",
100298 edge: "92",
100299 electron: "14.0",
100300 firefox: "90",
100301 opera: "78"
100302 },
100303 "esnext.array.filter-out": {
100304 },
100305 "esnext.array.find-last": {
100306 },
100307 "esnext.array.find-last-index": {
100308 },
100309 "esnext.array.is-template-object": {
100310 },
100311 "esnext.array.last-index": {
100312 },
100313 "esnext.array.last-item": {
100314 },
100315 "esnext.array.unique-by": {
100316 },
100317 "esnext.async-iterator.constructor": {
100318 },
100319 "esnext.async-iterator.as-indexed-pairs": {
100320 },
100321 "esnext.async-iterator.drop": {
100322 },
100323 "esnext.async-iterator.every": {
100324 },
100325 "esnext.async-iterator.filter": {
100326 },
100327 "esnext.async-iterator.find": {
100328 },
100329 "esnext.async-iterator.flat-map": {
100330 },
100331 "esnext.async-iterator.for-each": {
100332 },
100333 "esnext.async-iterator.from": {
100334 },
100335 "esnext.async-iterator.map": {
100336 },
100337 "esnext.async-iterator.reduce": {
100338 },
100339 "esnext.async-iterator.some": {
100340 },
100341 "esnext.async-iterator.take": {
100342 },
100343 "esnext.async-iterator.to-array": {
100344 },
100345 "esnext.bigint.range": {
100346 },
100347 "esnext.composite-key": {
100348 },
100349 "esnext.composite-symbol": {
100350 },
100351 "esnext.global-this": {
100352 android: "71",
100353 chrome: "71",
100354 edge: "74",
100355 electron: "5.0",
100356 firefox: "65",
100357 ios: "12.2",
100358 node: "12.0",
100359 opera: "58",
100360 opera_mobile: "50",
100361 safari: "12.1",
100362 samsung: "10.0"
100363 },
100364 "esnext.iterator.constructor": {
100365 },
100366 "esnext.iterator.as-indexed-pairs": {
100367 },
100368 "esnext.iterator.drop": {
100369 },
100370 "esnext.iterator.every": {
100371 },
100372 "esnext.iterator.filter": {
100373 },
100374 "esnext.iterator.find": {
100375 },
100376 "esnext.iterator.flat-map": {
100377 },
100378 "esnext.iterator.for-each": {
100379 },
100380 "esnext.iterator.from": {
100381 },
100382 "esnext.iterator.map": {
100383 },
100384 "esnext.iterator.reduce": {
100385 },
100386 "esnext.iterator.some": {
100387 },
100388 "esnext.iterator.take": {
100389 },
100390 "esnext.iterator.to-array": {
100391 },
100392 "esnext.map.delete-all": {
100393 },
100394 "esnext.map.emplace": {
100395 },
100396 "esnext.map.every": {
100397 },
100398 "esnext.map.filter": {
100399 },
100400 "esnext.map.find": {
100401 },
100402 "esnext.map.find-key": {
100403 },
100404 "esnext.map.from": {
100405 },
100406 "esnext.map.group-by": {
100407 },
100408 "esnext.map.includes": {
100409 },
100410 "esnext.map.key-by": {
100411 },
100412 "esnext.map.key-of": {
100413 },
100414 "esnext.map.map-keys": {
100415 },
100416 "esnext.map.map-values": {
100417 },
100418 "esnext.map.merge": {
100419 },
100420 "esnext.map.of": {
100421 },
100422 "esnext.map.reduce": {
100423 },
100424 "esnext.map.some": {
100425 },
100426 "esnext.map.update": {
100427 },
100428 "esnext.map.update-or-insert": {
100429 },
100430 "esnext.map.upsert": {
100431 },
100432 "esnext.math.clamp": {
100433 },
100434 "esnext.math.deg-per-rad": {
100435 },
100436 "esnext.math.degrees": {
100437 },
100438 "esnext.math.fscale": {
100439 },
100440 "esnext.math.iaddh": {
100441 },
100442 "esnext.math.imulh": {
100443 },
100444 "esnext.math.isubh": {
100445 },
100446 "esnext.math.rad-per-deg": {
100447 },
100448 "esnext.math.radians": {
100449 },
100450 "esnext.math.scale": {
100451 },
100452 "esnext.math.seeded-prng": {
100453 },
100454 "esnext.math.signbit": {
100455 },
100456 "esnext.math.umulh": {
100457 },
100458 "esnext.number.from-string": {
100459 },
100460 "esnext.number.range": {
100461 },
100462 "esnext.object.has-own": {
100463 },
100464 "esnext.object.iterate-entries": {
100465 },
100466 "esnext.object.iterate-keys": {
100467 },
100468 "esnext.object.iterate-values": {
100469 },
100470 "esnext.observable": {
100471 },
100472 "esnext.promise.all-settled": {
100473 android: "76",
100474 chrome: "76",
100475 edge: "76",
100476 electron: "6.0",
100477 firefox: "71",
100478 ios: "13.0",
100479 node: "12.9",
100480 opera: "63",
100481 opera_mobile: "54",
100482 safari: "13",
100483 samsung: "12.0"
100484 },
100485 "esnext.promise.any": {
100486 android: "85",
100487 chrome: "85",
100488 edge: "85",
100489 electron: "10.0",
100490 firefox: "79",
100491 ios: "14.0",
100492 node: "15.0",
100493 opera: "71",
100494 opera_mobile: "60",
100495 safari: "14.0",
100496 samsung: "14.0"
100497 },
100498 "esnext.promise.try": {
100499 },
100500 "esnext.reflect.define-metadata": {
100501 },
100502 "esnext.reflect.delete-metadata": {
100503 },
100504 "esnext.reflect.get-metadata": {
100505 },
100506 "esnext.reflect.get-metadata-keys": {
100507 },
100508 "esnext.reflect.get-own-metadata": {
100509 },
100510 "esnext.reflect.get-own-metadata-keys": {
100511 },
100512 "esnext.reflect.has-metadata": {
100513 },
100514 "esnext.reflect.has-own-metadata": {
100515 },
100516 "esnext.reflect.metadata": {
100517 },
100518 "esnext.set.add-all": {
100519 },
100520 "esnext.set.delete-all": {
100521 },
100522 "esnext.set.difference": {
100523 },
100524 "esnext.set.every": {
100525 },
100526 "esnext.set.filter": {
100527 },
100528 "esnext.set.find": {
100529 },
100530 "esnext.set.from": {
100531 },
100532 "esnext.set.intersection": {
100533 },
100534 "esnext.set.is-disjoint-from": {
100535 },
100536 "esnext.set.is-subset-of": {
100537 },
100538 "esnext.set.is-superset-of": {
100539 },
100540 "esnext.set.join": {
100541 },
100542 "esnext.set.map": {
100543 },
100544 "esnext.set.of": {
100545 },
100546 "esnext.set.reduce": {
100547 },
100548 "esnext.set.some": {
100549 },
100550 "esnext.set.symmetric-difference": {
100551 },
100552 "esnext.set.union": {
100553 },
100554 "esnext.string.at": {
100555 },
100556 "esnext.string.code-points": {
100557 },
100558 "esnext.string.match-all": {
100559 android: "80",
100560 chrome: "80",
100561 edge: "80",
100562 electron: "8.0",
100563 firefox: "73",
100564 ios: "13.4",
100565 node: "14.0",
100566 opera: "67",
100567 opera_mobile: "57",
100568 safari: "13.1",
100569 samsung: "13.0"
100570 },
100571 "esnext.string.replace-all": {
100572 android: "85",
100573 chrome: "85",
100574 edge: "85",
100575 electron: "10.0",
100576 firefox: "77",
100577 ios: "13.4",
100578 node: "15.0",
100579 opera: "71",
100580 opera_mobile: "60",
100581 safari: "13.1",
100582 samsung: "14.0"
100583 },
100584 "esnext.symbol.async-dispose": {
100585 },
100586 "esnext.symbol.dispose": {
100587 },
100588 "esnext.symbol.matcher": {
100589 },
100590 "esnext.symbol.metadata": {
100591 },
100592 "esnext.symbol.observable": {
100593 },
100594 "esnext.symbol.pattern-match": {
100595 },
100596 "esnext.symbol.replace-all": {
100597 },
100598 "esnext.typed-array.at": {
100599 android: "92",
100600 chrome: "92",
100601 edge: "92",
100602 electron: "14.0",
100603 firefox: "90",
100604 opera: "78"
100605 },
100606 "esnext.typed-array.filter-out": {
100607 },
100608 "esnext.typed-array.find-last": {
100609 },
100610 "esnext.typed-array.find-last-index": {
100611 },
100612 "esnext.typed-array.unique-by": {
100613 },
100614 "esnext.weak-map.delete-all": {
100615 },
100616 "esnext.weak-map.from": {
100617 },
100618 "esnext.weak-map.of": {
100619 },
100620 "esnext.weak-map.emplace": {
100621 },
100622 "esnext.weak-map.upsert": {
100623 },
100624 "esnext.weak-set.add-all": {
100625 },
100626 "esnext.weak-set.delete-all": {
100627 },
100628 "esnext.weak-set.from": {
100629 },
100630 "esnext.weak-set.of": {
100631 },
100632 "web.dom-collections.for-each": {
100633 android: "58",
100634 chrome: "58",
100635 edge: "16",
100636 electron: "1.7",
100637 firefox: "50",
100638 ios: "10.0",
100639 node: "0.0.1",
100640 opera: "45",
100641 opera_mobile: "43",
100642 rhino: "1.7.13",
100643 safari: "10.0",
100644 samsung: "7.0"
100645 },
100646 "web.dom-collections.iterator": {
100647 android: "66",
100648 chrome: "66",
100649 edge: "74",
100650 electron: "3.0",
100651 firefox: "60",
100652 ios: "13.4",
100653 node: "0.0.1",
100654 opera: "53",
100655 opera_mobile: "47",
100656 rhino: "1.7.13",
100657 safari: "13.1",
100658 samsung: "9.0"
100659 },
100660 "web.immediate": {
100661 ie: "10",
100662 node: "0.9.1"
100663 },
100664 "web.queue-microtask": {
100665 android: "71",
100666 chrome: "71",
100667 edge: "74",
100668 electron: "5.0",
100669 firefox: "69",
100670 ios: "12.2",
100671 node: "12.0",
100672 opera: "58",
100673 opera_mobile: "50",
100674 safari: "12.1",
100675 samsung: "10.0"
100676 },
100677 "web.timers": {
100678 android: "1.5",
100679 chrome: "1",
100680 edge: "12",
100681 electron: "0.20",
100682 firefox: "1",
100683 ie: "10",
100684 ios: "1.0",
100685 node: "0.0.1",
100686 opera: "7",
100687 opera_mobile: "7",
100688 phantom: "1.9",
100689 rhino: "1.7.13",
100690 safari: "1.0",
100691 samsung: "1.0"
100692 },
100693 "web.url": {
100694 android: "67",
100695 chrome: "67",
100696 edge: "74",
100697 electron: "4.0",
100698 firefox: "57",
100699 ios: "14.0",
100700 node: "10.0",
100701 opera: "54",
100702 opera_mobile: "48",
100703 safari: "14.0",
100704 samsung: "9.0"
100705 },
100706 "web.url.to-json": {
100707 android: "71",
100708 chrome: "71",
100709 edge: "74",
100710 electron: "5.0",
100711 firefox: "57",
100712 ios: "14.0",
100713 node: "10.0",
100714 opera: "58",
100715 opera_mobile: "50",
100716 safari: "14.0",
100717 samsung: "10.0"
100718 },
100719 "web.url-search-params": {
100720 android: "67",
100721 chrome: "67",
100722 edge: "74",
100723 electron: "4.0",
100724 firefox: "57",
100725 ios: "14.0",
100726 node: "10.0",
100727 opera: "54",
100728 opera_mobile: "48",
100729 safari: "14.0",
100730 samsung: "9.0"
100731 }
100732 };
100733
100734 var data$1 = require$$0$3;
100735
100736 var debug = typeof browser$6 === 'object' && browser$6.env && browser$6.env.NODE_DEBUG && /\bsemver\b/i.test(browser$6.env.NODE_DEBUG) ? function () {
100737 var _console;
100738
100739 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
100740 args[_key] = arguments[_key];
100741 }
100742
100743 return (_console = console).error.apply(_console, ['SEMVER'].concat(args));
100744 } : function () {};
100745 var debug_1 = debug;
100746
100747 var SEMVER_SPEC_VERSION = '2.0.0';
100748 var MAX_LENGTH$2 = 256;
100749 var MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || 9007199254740991;
100750 var MAX_SAFE_COMPONENT_LENGTH = 16;
100751 var constants = {
100752 SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION,
100753 MAX_LENGTH: MAX_LENGTH$2,
100754 MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1,
100755 MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH
100756 };
100757
100758 var re_1 = createCommonjsModule(function (module, exports) {
100759 var MAX_SAFE_COMPONENT_LENGTH = constants.MAX_SAFE_COMPONENT_LENGTH;
100760 exports = module.exports = {};
100761 var re = exports.re = [];
100762 var src = exports.src = [];
100763 var t = exports.t = {};
100764 var R = 0;
100765
100766 var createToken = function createToken(name, value, isGlobal) {
100767 var index = R++;
100768 debug_1(index, value);
100769 t[name] = index;
100770 src[index] = value;
100771 re[index] = new RegExp(value, isGlobal ? 'g' : undefined);
100772 };
100773
100774 createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*');
100775 createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+');
100776 createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*');
100777 createToken('MAINVERSION', "(" + src[t.NUMERICIDENTIFIER] + ")\\." + ("(" + src[t.NUMERICIDENTIFIER] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIER] + ")"));
100778 createToken('MAINVERSIONLOOSE', "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\." + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")"));
100779 createToken('PRERELEASEIDENTIFIER', "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
100780 createToken('PRERELEASEIDENTIFIERLOOSE', "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
100781 createToken('PRERELEASE', "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))");
100782 createToken('PRERELEASELOOSE', "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))");
100783 createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+');
100784 createToken('BUILD', "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))");
100785 createToken('FULLPLAIN', "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?");
100786 createToken('FULL', "^" + src[t.FULLPLAIN] + "$");
100787 createToken('LOOSEPLAIN', "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?");
100788 createToken('LOOSE', "^" + src[t.LOOSEPLAIN] + "$");
100789 createToken('GTLT', '((?:<|>)?=?)');
100790 createToken('XRANGEIDENTIFIERLOOSE', src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*");
100791 createToken('XRANGEIDENTIFIER', src[t.NUMERICIDENTIFIER] + "|x|X|\\*");
100792 createToken('XRANGEPLAIN', "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?") + ")?)?");
100793 createToken('XRANGEPLAINLOOSE', "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?") + ")?)?");
100794 createToken('XRANGE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$");
100795 createToken('XRANGELOOSE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$");
100796 createToken('COERCE', "" + ('(^|[^\\d])' + '(\\d{1,') + MAX_SAFE_COMPONENT_LENGTH + "})" + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + "(?:$|[^\\d])");
100797 createToken('COERCERTL', src[t.COERCE], true);
100798 createToken('LONETILDE', '(?:~>?)');
100799 createToken('TILDETRIM', "(\\s*)" + src[t.LONETILDE] + "\\s+", true);
100800 exports.tildeTrimReplace = '$1~';
100801 createToken('TILDE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$");
100802 createToken('TILDELOOSE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$");
100803 createToken('LONECARET', '(?:\\^)');
100804 createToken('CARETTRIM', "(\\s*)" + src[t.LONECARET] + "\\s+", true);
100805 exports.caretTrimReplace = '$1^';
100806 createToken('CARET', "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$");
100807 createToken('CARETLOOSE', "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$");
100808 createToken('COMPARATORLOOSE', "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$");
100809 createToken('COMPARATOR', "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$");
100810 createToken('COMPARATORTRIM', "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")", true);
100811 exports.comparatorTrimReplace = '$1$2$3';
100812 createToken('HYPHENRANGE', "^\\s*(" + src[t.XRANGEPLAIN] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAIN] + ")") + "\\s*$");
100813 createToken('HYPHENRANGELOOSE', "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAINLOOSE] + ")") + "\\s*$");
100814 createToken('STAR', '(<|>)?=?\\s*\\*');
100815 }, "/$$rollup_base$$/node_modules/core-js-compat/node_modules/semver/internal");
100816
100817 var numeric = /^[0-9]+$/;
100818
100819 var compareIdentifiers$1 = function compareIdentifiers(a, b) {
100820 var anum = numeric.test(a);
100821 var bnum = numeric.test(b);
100822
100823 if (anum && bnum) {
100824 a = +a;
100825 b = +b;
100826 }
100827
100828 return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
100829 };
100830
100831 var rcompareIdentifiers = function rcompareIdentifiers(a, b) {
100832 return compareIdentifiers$1(b, a);
100833 };
100834
100835 var identifiers = {
100836 compareIdentifiers: compareIdentifiers$1,
100837 rcompareIdentifiers: rcompareIdentifiers
100838 };
100839
100840 var MAX_LENGTH$1 = constants.MAX_LENGTH,
100841 MAX_SAFE_INTEGER = constants.MAX_SAFE_INTEGER;
100842 var re$2 = re_1.re,
100843 t$7 = re_1.t;
100844 var compareIdentifiers = identifiers.compareIdentifiers;
100845
100846 var SemVer = function () {
100847 function SemVer(version, options) {
100848 if (!options || typeof options !== 'object') {
100849 options = {
100850 loose: !!options,
100851 includePrerelease: false
100852 };
100853 }
100854
100855 if (version instanceof SemVer) {
100856 if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
100857 return version;
100858 } else {
100859 version = version.version;
100860 }
100861 } else if (typeof version !== 'string') {
100862 throw new TypeError("Invalid Version: " + version);
100863 }
100864
100865 if (version.length > MAX_LENGTH$1) {
100866 throw new TypeError("version is longer than " + MAX_LENGTH$1 + " characters");
100867 }
100868
100869 debug_1('SemVer', version, options);
100870 this.options = options;
100871 this.loose = !!options.loose;
100872 this.includePrerelease = !!options.includePrerelease;
100873 var m = version.trim().match(options.loose ? re$2[t$7.LOOSE] : re$2[t$7.FULL]);
100874
100875 if (!m) {
100876 throw new TypeError("Invalid Version: " + version);
100877 }
100878
100879 this.raw = version;
100880 this.major = +m[1];
100881 this.minor = +m[2];
100882 this.patch = +m[3];
100883
100884 if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
100885 throw new TypeError('Invalid major version');
100886 }
100887
100888 if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
100889 throw new TypeError('Invalid minor version');
100890 }
100891
100892 if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
100893 throw new TypeError('Invalid patch version');
100894 }
100895
100896 if (!m[4]) {
100897 this.prerelease = [];
100898 } else {
100899 this.prerelease = m[4].split('.').map(function (id) {
100900 if (/^[0-9]+$/.test(id)) {
100901 var num = +id;
100902
100903 if (num >= 0 && num < MAX_SAFE_INTEGER) {
100904 return num;
100905 }
100906 }
100907
100908 return id;
100909 });
100910 }
100911
100912 this.build = m[5] ? m[5].split('.') : [];
100913 this.format();
100914 }
100915
100916 var _proto = SemVer.prototype;
100917
100918 _proto.format = function format() {
100919 this.version = this.major + "." + this.minor + "." + this.patch;
100920
100921 if (this.prerelease.length) {
100922 this.version += "-" + this.prerelease.join('.');
100923 }
100924
100925 return this.version;
100926 };
100927
100928 _proto.toString = function toString() {
100929 return this.version;
100930 };
100931
100932 _proto.compare = function compare(other) {
100933 debug_1('SemVer.compare', this.version, this.options, other);
100934
100935 if (!(other instanceof SemVer)) {
100936 if (typeof other === 'string' && other === this.version) {
100937 return 0;
100938 }
100939
100940 other = new SemVer(other, this.options);
100941 }
100942
100943 if (other.version === this.version) {
100944 return 0;
100945 }
100946
100947 return this.compareMain(other) || this.comparePre(other);
100948 };
100949
100950 _proto.compareMain = function compareMain(other) {
100951 if (!(other instanceof SemVer)) {
100952 other = new SemVer(other, this.options);
100953 }
100954
100955 return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
100956 };
100957
100958 _proto.comparePre = function comparePre(other) {
100959 if (!(other instanceof SemVer)) {
100960 other = new SemVer(other, this.options);
100961 }
100962
100963 if (this.prerelease.length && !other.prerelease.length) {
100964 return -1;
100965 } else if (!this.prerelease.length && other.prerelease.length) {
100966 return 1;
100967 } else if (!this.prerelease.length && !other.prerelease.length) {
100968 return 0;
100969 }
100970
100971 var i = 0;
100972
100973 do {
100974 var a = this.prerelease[i];
100975 var b = other.prerelease[i];
100976 debug_1('prerelease compare', i, a, b);
100977
100978 if (a === undefined && b === undefined) {
100979 return 0;
100980 } else if (b === undefined) {
100981 return 1;
100982 } else if (a === undefined) {
100983 return -1;
100984 } else if (a === b) {
100985 continue;
100986 } else {
100987 return compareIdentifiers(a, b);
100988 }
100989 } while (++i);
100990 };
100991
100992 _proto.compareBuild = function compareBuild(other) {
100993 if (!(other instanceof SemVer)) {
100994 other = new SemVer(other, this.options);
100995 }
100996
100997 var i = 0;
100998
100999 do {
101000 var a = this.build[i];
101001 var b = other.build[i];
101002 debug_1('prerelease compare', i, a, b);
101003
101004 if (a === undefined && b === undefined) {
101005 return 0;
101006 } else if (b === undefined) {
101007 return 1;
101008 } else if (a === undefined) {
101009 return -1;
101010 } else if (a === b) {
101011 continue;
101012 } else {
101013 return compareIdentifiers(a, b);
101014 }
101015 } while (++i);
101016 };
101017
101018 _proto.inc = function inc(release, identifier) {
101019 switch (release) {
101020 case 'premajor':
101021 this.prerelease.length = 0;
101022 this.patch = 0;
101023 this.minor = 0;
101024 this.major++;
101025 this.inc('pre', identifier);
101026 break;
101027
101028 case 'preminor':
101029 this.prerelease.length = 0;
101030 this.patch = 0;
101031 this.minor++;
101032 this.inc('pre', identifier);
101033 break;
101034
101035 case 'prepatch':
101036 this.prerelease.length = 0;
101037 this.inc('patch', identifier);
101038 this.inc('pre', identifier);
101039 break;
101040
101041 case 'prerelease':
101042 if (this.prerelease.length === 0) {
101043 this.inc('patch', identifier);
101044 }
101045
101046 this.inc('pre', identifier);
101047 break;
101048
101049 case 'major':
101050 if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
101051 this.major++;
101052 }
101053
101054 this.minor = 0;
101055 this.patch = 0;
101056 this.prerelease = [];
101057 break;
101058
101059 case 'minor':
101060 if (this.patch !== 0 || this.prerelease.length === 0) {
101061 this.minor++;
101062 }
101063
101064 this.patch = 0;
101065 this.prerelease = [];
101066 break;
101067
101068 case 'patch':
101069 if (this.prerelease.length === 0) {
101070 this.patch++;
101071 }
101072
101073 this.prerelease = [];
101074 break;
101075
101076 case 'pre':
101077 if (this.prerelease.length === 0) {
101078 this.prerelease = [0];
101079 } else {
101080 var i = this.prerelease.length;
101081
101082 while (--i >= 0) {
101083 if (typeof this.prerelease[i] === 'number') {
101084 this.prerelease[i]++;
101085 i = -2;
101086 }
101087 }
101088
101089 if (i === -1) {
101090 this.prerelease.push(0);
101091 }
101092 }
101093
101094 if (identifier) {
101095 if (this.prerelease[0] === identifier) {
101096 if (isNaN(this.prerelease[1])) {
101097 this.prerelease = [identifier, 0];
101098 }
101099 } else {
101100 this.prerelease = [identifier, 0];
101101 }
101102 }
101103
101104 break;
101105
101106 default:
101107 throw new Error("invalid increment argument: " + release);
101108 }
101109
101110 this.format();
101111 this.raw = this.version;
101112 return this;
101113 };
101114
101115 return SemVer;
101116 }();
101117
101118 var semver$2 = SemVer;
101119
101120 var compare$2 = function compare(a, b, loose) {
101121 return new semver$2(a, loose).compare(new semver$2(b, loose));
101122 };
101123
101124 var compare_1 = compare$2;
101125
101126 var eq = function eq(a, b, loose) {
101127 return compare_1(a, b, loose) === 0;
101128 };
101129
101130 var eq_1 = eq;
101131
101132 var neq = function neq(a, b, loose) {
101133 return compare_1(a, b, loose) !== 0;
101134 };
101135
101136 var neq_1 = neq;
101137
101138 var gt = function gt(a, b, loose) {
101139 return compare_1(a, b, loose) > 0;
101140 };
101141
101142 var gt_1 = gt;
101143
101144 var gte = function gte(a, b, loose) {
101145 return compare_1(a, b, loose) >= 0;
101146 };
101147
101148 var gte_1 = gte;
101149
101150 var lt = function lt(a, b, loose) {
101151 return compare_1(a, b, loose) < 0;
101152 };
101153
101154 var lt_1 = lt;
101155
101156 var lte = function lte(a, b, loose) {
101157 return compare_1(a, b, loose) <= 0;
101158 };
101159
101160 var lte_1 = lte;
101161
101162 var cmp = function cmp(a, op, b, loose) {
101163 switch (op) {
101164 case '===':
101165 if (typeof a === 'object') a = a.version;
101166 if (typeof b === 'object') b = b.version;
101167 return a === b;
101168
101169 case '!==':
101170 if (typeof a === 'object') a = a.version;
101171 if (typeof b === 'object') b = b.version;
101172 return a !== b;
101173
101174 case '':
101175 case '=':
101176 case '==':
101177 return eq_1(a, b, loose);
101178
101179 case '!=':
101180 return neq_1(a, b, loose);
101181
101182 case '>':
101183 return gt_1(a, b, loose);
101184
101185 case '>=':
101186 return gte_1(a, b, loose);
101187
101188 case '<':
101189 return lt_1(a, b, loose);
101190
101191 case '<=':
101192 return lte_1(a, b, loose);
101193
101194 default:
101195 throw new TypeError("Invalid operator: " + op);
101196 }
101197 };
101198
101199 var cmp_1 = cmp;
101200
101201 var MAX_LENGTH = constants.MAX_LENGTH;
101202 var re$1 = re_1.re,
101203 t$6 = re_1.t;
101204
101205 var parse = function parse(version, options) {
101206 if (!options || typeof options !== 'object') {
101207 options = {
101208 loose: !!options,
101209 includePrerelease: false
101210 };
101211 }
101212
101213 if (version instanceof semver$2) {
101214 return version;
101215 }
101216
101217 if (typeof version !== 'string') {
101218 return null;
101219 }
101220
101221 if (version.length > MAX_LENGTH) {
101222 return null;
101223 }
101224
101225 var r = options.loose ? re$1[t$6.LOOSE] : re$1[t$6.FULL];
101226
101227 if (!r.test(version)) {
101228 return null;
101229 }
101230
101231 try {
101232 return new semver$2(version, options);
101233 } catch (er) {
101234 return null;
101235 }
101236 };
101237
101238 var parse_1 = parse;
101239
101240 var re = re_1.re,
101241 t$5 = re_1.t;
101242
101243 var coerce = function coerce(version, options) {
101244 if (version instanceof semver$2) {
101245 return version;
101246 }
101247
101248 if (typeof version === 'number') {
101249 version = String(version);
101250 }
101251
101252 if (typeof version !== 'string') {
101253 return null;
101254 }
101255
101256 options = options || {};
101257 var match = null;
101258
101259 if (!options.rtl) {
101260 match = version.match(re[t$5.COERCE]);
101261 } else {
101262 var next;
101263
101264 while ((next = re[t$5.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
101265 if (!match || next.index + next[0].length !== match.index + match[0].length) {
101266 match = next;
101267 }
101268
101269 re[t$5.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
101270 }
101271
101272 re[t$5.COERCERTL].lastIndex = -1;
101273 }
101274
101275 if (match === null) return null;
101276 return parse_1(match[2] + "." + (match[3] || '0') + "." + (match[4] || '0'), options);
101277 };
101278
101279 var coerce_1 = coerce;
101280
101281 var has$4 = Function.call.bind({}.hasOwnProperty);
101282
101283 function compare$1(a, operator, b) {
101284 return cmp_1(coerce_1(a), operator, coerce_1(b));
101285 }
101286
101287 function intersection$2(list, order) {
101288 var set = list instanceof Set ? list : new Set(list);
101289 return order.filter(function (name) {
101290 return set.has(name);
101291 });
101292 }
101293
101294 function sortObjectByKey(object, fn) {
101295 return Object.keys(object).sort(fn).reduce(function (memo, key) {
101296 memo[key] = object[key];
101297 return memo;
101298 }, {});
101299 }
101300
101301 var helpers = {
101302 compare: compare$1,
101303 has: has$4,
101304 intersection: intersection$2,
101305 semver: coerce_1,
101306 sortObjectByKey: sortObjectByKey
101307 };
101308
101309 var modulesByVersions = {
101310 "3.0": [
101311 "es.symbol",
101312 "es.symbol.description",
101313 "es.symbol.async-iterator",
101314 "es.symbol.has-instance",
101315 "es.symbol.is-concat-spreadable",
101316 "es.symbol.iterator",
101317 "es.symbol.match",
101318 "es.symbol.replace",
101319 "es.symbol.search",
101320 "es.symbol.species",
101321 "es.symbol.split",
101322 "es.symbol.to-primitive",
101323 "es.symbol.to-string-tag",
101324 "es.symbol.unscopables",
101325 "es.array.concat",
101326 "es.array.copy-within",
101327 "es.array.every",
101328 "es.array.fill",
101329 "es.array.filter",
101330 "es.array.find",
101331 "es.array.find-index",
101332 "es.array.flat",
101333 "es.array.flat-map",
101334 "es.array.for-each",
101335 "es.array.from",
101336 "es.array.includes",
101337 "es.array.index-of",
101338 "es.array.is-array",
101339 "es.array.iterator",
101340 "es.array.join",
101341 "es.array.last-index-of",
101342 "es.array.map",
101343 "es.array.of",
101344 "es.array.reduce",
101345 "es.array.reduce-right",
101346 "es.array.reverse",
101347 "es.array.slice",
101348 "es.array.some",
101349 "es.array.sort",
101350 "es.array.species",
101351 "es.array.splice",
101352 "es.array.unscopables.flat",
101353 "es.array.unscopables.flat-map",
101354 "es.array-buffer.constructor",
101355 "es.array-buffer.is-view",
101356 "es.array-buffer.slice",
101357 "es.data-view",
101358 "es.date.now",
101359 "es.date.to-iso-string",
101360 "es.date.to-json",
101361 "es.date.to-primitive",
101362 "es.date.to-string",
101363 "es.function.bind",
101364 "es.function.has-instance",
101365 "es.function.name",
101366 "es.json.to-string-tag",
101367 "es.map",
101368 "es.math.acosh",
101369 "es.math.asinh",
101370 "es.math.atanh",
101371 "es.math.cbrt",
101372 "es.math.clz32",
101373 "es.math.cosh",
101374 "es.math.expm1",
101375 "es.math.fround",
101376 "es.math.hypot",
101377 "es.math.imul",
101378 "es.math.log10",
101379 "es.math.log1p",
101380 "es.math.log2",
101381 "es.math.sign",
101382 "es.math.sinh",
101383 "es.math.tanh",
101384 "es.math.to-string-tag",
101385 "es.math.trunc",
101386 "es.number.constructor",
101387 "es.number.epsilon",
101388 "es.number.is-finite",
101389 "es.number.is-integer",
101390 "es.number.is-nan",
101391 "es.number.is-safe-integer",
101392 "es.number.max-safe-integer",
101393 "es.number.min-safe-integer",
101394 "es.number.parse-float",
101395 "es.number.parse-int",
101396 "es.number.to-fixed",
101397 "es.number.to-precision",
101398 "es.object.assign",
101399 "es.object.create",
101400 "es.object.define-getter",
101401 "es.object.define-properties",
101402 "es.object.define-property",
101403 "es.object.define-setter",
101404 "es.object.entries",
101405 "es.object.freeze",
101406 "es.object.from-entries",
101407 "es.object.get-own-property-descriptor",
101408 "es.object.get-own-property-descriptors",
101409 "es.object.get-own-property-names",
101410 "es.object.get-prototype-of",
101411 "es.object.is",
101412 "es.object.is-extensible",
101413 "es.object.is-frozen",
101414 "es.object.is-sealed",
101415 "es.object.keys",
101416 "es.object.lookup-getter",
101417 "es.object.lookup-setter",
101418 "es.object.prevent-extensions",
101419 "es.object.seal",
101420 "es.object.set-prototype-of",
101421 "es.object.to-string",
101422 "es.object.values",
101423 "es.parse-float",
101424 "es.parse-int",
101425 "es.promise",
101426 "es.promise.finally",
101427 "es.reflect.apply",
101428 "es.reflect.construct",
101429 "es.reflect.define-property",
101430 "es.reflect.delete-property",
101431 "es.reflect.get",
101432 "es.reflect.get-own-property-descriptor",
101433 "es.reflect.get-prototype-of",
101434 "es.reflect.has",
101435 "es.reflect.is-extensible",
101436 "es.reflect.own-keys",
101437 "es.reflect.prevent-extensions",
101438 "es.reflect.set",
101439 "es.reflect.set-prototype-of",
101440 "es.regexp.constructor",
101441 "es.regexp.exec",
101442 "es.regexp.flags",
101443 "es.regexp.to-string",
101444 "es.set",
101445 "es.string.code-point-at",
101446 "es.string.ends-with",
101447 "es.string.from-code-point",
101448 "es.string.includes",
101449 "es.string.iterator",
101450 "es.string.match",
101451 "es.string.pad-end",
101452 "es.string.pad-start",
101453 "es.string.raw",
101454 "es.string.repeat",
101455 "es.string.replace",
101456 "es.string.search",
101457 "es.string.split",
101458 "es.string.starts-with",
101459 "es.string.trim",
101460 "es.string.trim-end",
101461 "es.string.trim-start",
101462 "es.string.anchor",
101463 "es.string.big",
101464 "es.string.blink",
101465 "es.string.bold",
101466 "es.string.fixed",
101467 "es.string.fontcolor",
101468 "es.string.fontsize",
101469 "es.string.italics",
101470 "es.string.link",
101471 "es.string.small",
101472 "es.string.strike",
101473 "es.string.sub",
101474 "es.string.sup",
101475 "es.typed-array.float32-array",
101476 "es.typed-array.float64-array",
101477 "es.typed-array.int8-array",
101478 "es.typed-array.int16-array",
101479 "es.typed-array.int32-array",
101480 "es.typed-array.uint8-array",
101481 "es.typed-array.uint8-clamped-array",
101482 "es.typed-array.uint16-array",
101483 "es.typed-array.uint32-array",
101484 "es.typed-array.copy-within",
101485 "es.typed-array.every",
101486 "es.typed-array.fill",
101487 "es.typed-array.filter",
101488 "es.typed-array.find",
101489 "es.typed-array.find-index",
101490 "es.typed-array.for-each",
101491 "es.typed-array.from",
101492 "es.typed-array.includes",
101493 "es.typed-array.index-of",
101494 "es.typed-array.iterator",
101495 "es.typed-array.join",
101496 "es.typed-array.last-index-of",
101497 "es.typed-array.map",
101498 "es.typed-array.of",
101499 "es.typed-array.reduce",
101500 "es.typed-array.reduce-right",
101501 "es.typed-array.reverse",
101502 "es.typed-array.set",
101503 "es.typed-array.slice",
101504 "es.typed-array.some",
101505 "es.typed-array.sort",
101506 "es.typed-array.subarray",
101507 "es.typed-array.to-locale-string",
101508 "es.typed-array.to-string",
101509 "es.weak-map",
101510 "es.weak-set",
101511 "esnext.aggregate-error",
101512 "esnext.array.last-index",
101513 "esnext.array.last-item",
101514 "esnext.composite-key",
101515 "esnext.composite-symbol",
101516 "esnext.global-this",
101517 "esnext.map.delete-all",
101518 "esnext.map.every",
101519 "esnext.map.filter",
101520 "esnext.map.find",
101521 "esnext.map.find-key",
101522 "esnext.map.from",
101523 "esnext.map.group-by",
101524 "esnext.map.includes",
101525 "esnext.map.key-by",
101526 "esnext.map.key-of",
101527 "esnext.map.map-keys",
101528 "esnext.map.map-values",
101529 "esnext.map.merge",
101530 "esnext.map.of",
101531 "esnext.map.reduce",
101532 "esnext.map.some",
101533 "esnext.map.update",
101534 "esnext.math.clamp",
101535 "esnext.math.deg-per-rad",
101536 "esnext.math.degrees",
101537 "esnext.math.fscale",
101538 "esnext.math.iaddh",
101539 "esnext.math.imulh",
101540 "esnext.math.isubh",
101541 "esnext.math.rad-per-deg",
101542 "esnext.math.radians",
101543 "esnext.math.scale",
101544 "esnext.math.seeded-prng",
101545 "esnext.math.signbit",
101546 "esnext.math.umulh",
101547 "esnext.number.from-string",
101548 "esnext.observable",
101549 "esnext.promise.all-settled",
101550 "esnext.promise.any",
101551 "esnext.promise.try",
101552 "esnext.reflect.define-metadata",
101553 "esnext.reflect.delete-metadata",
101554 "esnext.reflect.get-metadata",
101555 "esnext.reflect.get-metadata-keys",
101556 "esnext.reflect.get-own-metadata",
101557 "esnext.reflect.get-own-metadata-keys",
101558 "esnext.reflect.has-metadata",
101559 "esnext.reflect.has-own-metadata",
101560 "esnext.reflect.metadata",
101561 "esnext.set.add-all",
101562 "esnext.set.delete-all",
101563 "esnext.set.difference",
101564 "esnext.set.every",
101565 "esnext.set.filter",
101566 "esnext.set.find",
101567 "esnext.set.from",
101568 "esnext.set.intersection",
101569 "esnext.set.is-disjoint-from",
101570 "esnext.set.is-subset-of",
101571 "esnext.set.is-superset-of",
101572 "esnext.set.join",
101573 "esnext.set.map",
101574 "esnext.set.of",
101575 "esnext.set.reduce",
101576 "esnext.set.some",
101577 "esnext.set.symmetric-difference",
101578 "esnext.set.union",
101579 "esnext.string.at",
101580 "esnext.string.code-points",
101581 "esnext.string.match-all",
101582 "esnext.string.replace-all",
101583 "esnext.symbol.dispose",
101584 "esnext.symbol.observable",
101585 "esnext.symbol.pattern-match",
101586 "esnext.weak-map.delete-all",
101587 "esnext.weak-map.from",
101588 "esnext.weak-map.of",
101589 "esnext.weak-set.add-all",
101590 "esnext.weak-set.delete-all",
101591 "esnext.weak-set.from",
101592 "esnext.weak-set.of",
101593 "web.dom-collections.for-each",
101594 "web.dom-collections.iterator",
101595 "web.immediate",
101596 "web.queue-microtask",
101597 "web.timers",
101598 "web.url",
101599 "web.url.to-json",
101600 "web.url-search-params"
101601 ],
101602 "3.1": [
101603 "es.string.match-all",
101604 "es.symbol.match-all",
101605 "esnext.symbol.replace-all"
101606 ],
101607 "3.2": [
101608 "es.promise.all-settled",
101609 "esnext.array.is-template-object",
101610 "esnext.map.update-or-insert",
101611 "esnext.symbol.async-dispose"
101612 ],
101613 "3.3": [
101614 "es.global-this",
101615 "esnext.async-iterator.constructor",
101616 "esnext.async-iterator.as-indexed-pairs",
101617 "esnext.async-iterator.drop",
101618 "esnext.async-iterator.every",
101619 "esnext.async-iterator.filter",
101620 "esnext.async-iterator.find",
101621 "esnext.async-iterator.flat-map",
101622 "esnext.async-iterator.for-each",
101623 "esnext.async-iterator.from",
101624 "esnext.async-iterator.map",
101625 "esnext.async-iterator.reduce",
101626 "esnext.async-iterator.some",
101627 "esnext.async-iterator.take",
101628 "esnext.async-iterator.to-array",
101629 "esnext.iterator.constructor",
101630 "esnext.iterator.as-indexed-pairs",
101631 "esnext.iterator.drop",
101632 "esnext.iterator.every",
101633 "esnext.iterator.filter",
101634 "esnext.iterator.find",
101635 "esnext.iterator.flat-map",
101636 "esnext.iterator.for-each",
101637 "esnext.iterator.from",
101638 "esnext.iterator.map",
101639 "esnext.iterator.reduce",
101640 "esnext.iterator.some",
101641 "esnext.iterator.take",
101642 "esnext.iterator.to-array",
101643 "esnext.map.upsert",
101644 "esnext.weak-map.upsert"
101645 ],
101646 "3.4": [
101647 "es.json.stringify"
101648 ],
101649 "3.5": [
101650 "esnext.object.iterate-entries",
101651 "esnext.object.iterate-keys",
101652 "esnext.object.iterate-values"
101653 ],
101654 "3.6": [
101655 "es.regexp.sticky",
101656 "es.regexp.test"
101657 ],
101658 "3.7": [
101659 "es.aggregate-error",
101660 "es.promise.any",
101661 "es.reflect.to-string-tag",
101662 "es.string.replace-all",
101663 "esnext.map.emplace",
101664 "esnext.weak-map.emplace"
101665 ],
101666 "3.8": [
101667 "esnext.array.at",
101668 "esnext.array.filter-out",
101669 "esnext.array.unique-by",
101670 "esnext.bigint.range",
101671 "esnext.number.range",
101672 "esnext.typed-array.at",
101673 "esnext.typed-array.filter-out"
101674 ],
101675 "3.9": [
101676 "esnext.array.find-last",
101677 "esnext.array.find-last-index",
101678 "esnext.typed-array.find-last",
101679 "esnext.typed-array.find-last-index",
101680 "esnext.typed-array.unique-by"
101681 ],
101682 "3.11": [
101683 "esnext.object.has-own"
101684 ],
101685 "3.12": [
101686 "esnext.symbol.matcher",
101687 "esnext.symbol.metadata"
101688 ],
101689 "3.15": [
101690 "es.date.get-year",
101691 "es.date.set-year",
101692 "es.date.to-gmt-string",
101693 "es.escape",
101694 "es.regexp.dot-all",
101695 "es.string.substr",
101696 "es.unescape"
101697 ]
101698 };
101699
101700 var modules = [
101701 "es.symbol",
101702 "es.symbol.description",
101703 "es.symbol.async-iterator",
101704 "es.symbol.has-instance",
101705 "es.symbol.is-concat-spreadable",
101706 "es.symbol.iterator",
101707 "es.symbol.match",
101708 "es.symbol.match-all",
101709 "es.symbol.replace",
101710 "es.symbol.search",
101711 "es.symbol.species",
101712 "es.symbol.split",
101713 "es.symbol.to-primitive",
101714 "es.symbol.to-string-tag",
101715 "es.symbol.unscopables",
101716 "es.aggregate-error",
101717 "es.array.concat",
101718 "es.array.copy-within",
101719 "es.array.every",
101720 "es.array.fill",
101721 "es.array.filter",
101722 "es.array.find",
101723 "es.array.find-index",
101724 "es.array.flat",
101725 "es.array.flat-map",
101726 "es.array.for-each",
101727 "es.array.from",
101728 "es.array.includes",
101729 "es.array.index-of",
101730 "es.array.is-array",
101731 "es.array.iterator",
101732 "es.array.join",
101733 "es.array.last-index-of",
101734 "es.array.map",
101735 "es.array.of",
101736 "es.array.reduce",
101737 "es.array.reduce-right",
101738 "es.array.reverse",
101739 "es.array.slice",
101740 "es.array.some",
101741 "es.array.sort",
101742 "es.array.species",
101743 "es.array.splice",
101744 "es.array.unscopables.flat",
101745 "es.array.unscopables.flat-map",
101746 "es.array-buffer.constructor",
101747 "es.array-buffer.is-view",
101748 "es.array-buffer.slice",
101749 "es.data-view",
101750 "es.date.get-year",
101751 "es.date.now",
101752 "es.date.set-year",
101753 "es.date.to-gmt-string",
101754 "es.date.to-iso-string",
101755 "es.date.to-json",
101756 "es.date.to-primitive",
101757 "es.date.to-string",
101758 "es.escape",
101759 "es.function.bind",
101760 "es.function.has-instance",
101761 "es.function.name",
101762 "es.global-this",
101763 "es.json.stringify",
101764 "es.json.to-string-tag",
101765 "es.map",
101766 "es.math.acosh",
101767 "es.math.asinh",
101768 "es.math.atanh",
101769 "es.math.cbrt",
101770 "es.math.clz32",
101771 "es.math.cosh",
101772 "es.math.expm1",
101773 "es.math.fround",
101774 "es.math.hypot",
101775 "es.math.imul",
101776 "es.math.log10",
101777 "es.math.log1p",
101778 "es.math.log2",
101779 "es.math.sign",
101780 "es.math.sinh",
101781 "es.math.tanh",
101782 "es.math.to-string-tag",
101783 "es.math.trunc",
101784 "es.number.constructor",
101785 "es.number.epsilon",
101786 "es.number.is-finite",
101787 "es.number.is-integer",
101788 "es.number.is-nan",
101789 "es.number.is-safe-integer",
101790 "es.number.max-safe-integer",
101791 "es.number.min-safe-integer",
101792 "es.number.parse-float",
101793 "es.number.parse-int",
101794 "es.number.to-fixed",
101795 "es.number.to-precision",
101796 "es.object.assign",
101797 "es.object.create",
101798 "es.object.define-getter",
101799 "es.object.define-properties",
101800 "es.object.define-property",
101801 "es.object.define-setter",
101802 "es.object.entries",
101803 "es.object.freeze",
101804 "es.object.from-entries",
101805 "es.object.get-own-property-descriptor",
101806 "es.object.get-own-property-descriptors",
101807 "es.object.get-own-property-names",
101808 "es.object.get-prototype-of",
101809 "es.object.is",
101810 "es.object.is-extensible",
101811 "es.object.is-frozen",
101812 "es.object.is-sealed",
101813 "es.object.keys",
101814 "es.object.lookup-getter",
101815 "es.object.lookup-setter",
101816 "es.object.prevent-extensions",
101817 "es.object.seal",
101818 "es.object.set-prototype-of",
101819 "es.object.to-string",
101820 "es.object.values",
101821 "es.parse-float",
101822 "es.parse-int",
101823 "es.promise",
101824 "es.promise.all-settled",
101825 "es.promise.any",
101826 "es.promise.finally",
101827 "es.reflect.apply",
101828 "es.reflect.construct",
101829 "es.reflect.define-property",
101830 "es.reflect.delete-property",
101831 "es.reflect.get",
101832 "es.reflect.get-own-property-descriptor",
101833 "es.reflect.get-prototype-of",
101834 "es.reflect.has",
101835 "es.reflect.is-extensible",
101836 "es.reflect.own-keys",
101837 "es.reflect.prevent-extensions",
101838 "es.reflect.set",
101839 "es.reflect.set-prototype-of",
101840 "es.reflect.to-string-tag",
101841 "es.regexp.constructor",
101842 "es.regexp.dot-all",
101843 "es.regexp.exec",
101844 "es.regexp.flags",
101845 "es.regexp.sticky",
101846 "es.regexp.test",
101847 "es.regexp.to-string",
101848 "es.set",
101849 "es.string.code-point-at",
101850 "es.string.ends-with",
101851 "es.string.from-code-point",
101852 "es.string.includes",
101853 "es.string.iterator",
101854 "es.string.match",
101855 "es.string.match-all",
101856 "es.string.pad-end",
101857 "es.string.pad-start",
101858 "es.string.raw",
101859 "es.string.repeat",
101860 "es.string.replace",
101861 "es.string.replace-all",
101862 "es.string.search",
101863 "es.string.split",
101864 "es.string.starts-with",
101865 "es.string.substr",
101866 "es.string.trim",
101867 "es.string.trim-end",
101868 "es.string.trim-start",
101869 "es.string.anchor",
101870 "es.string.big",
101871 "es.string.blink",
101872 "es.string.bold",
101873 "es.string.fixed",
101874 "es.string.fontcolor",
101875 "es.string.fontsize",
101876 "es.string.italics",
101877 "es.string.link",
101878 "es.string.small",
101879 "es.string.strike",
101880 "es.string.sub",
101881 "es.string.sup",
101882 "es.typed-array.float32-array",
101883 "es.typed-array.float64-array",
101884 "es.typed-array.int8-array",
101885 "es.typed-array.int16-array",
101886 "es.typed-array.int32-array",
101887 "es.typed-array.uint8-array",
101888 "es.typed-array.uint8-clamped-array",
101889 "es.typed-array.uint16-array",
101890 "es.typed-array.uint32-array",
101891 "es.typed-array.copy-within",
101892 "es.typed-array.every",
101893 "es.typed-array.fill",
101894 "es.typed-array.filter",
101895 "es.typed-array.find",
101896 "es.typed-array.find-index",
101897 "es.typed-array.for-each",
101898 "es.typed-array.from",
101899 "es.typed-array.includes",
101900 "es.typed-array.index-of",
101901 "es.typed-array.iterator",
101902 "es.typed-array.join",
101903 "es.typed-array.last-index-of",
101904 "es.typed-array.map",
101905 "es.typed-array.of",
101906 "es.typed-array.reduce",
101907 "es.typed-array.reduce-right",
101908 "es.typed-array.reverse",
101909 "es.typed-array.set",
101910 "es.typed-array.slice",
101911 "es.typed-array.some",
101912 "es.typed-array.sort",
101913 "es.typed-array.subarray",
101914 "es.typed-array.to-locale-string",
101915 "es.typed-array.to-string",
101916 "es.unescape",
101917 "es.weak-map",
101918 "es.weak-set",
101919 "esnext.aggregate-error",
101920 "esnext.array.at",
101921 "esnext.array.filter-out",
101922 "esnext.array.find-last",
101923 "esnext.array.find-last-index",
101924 "esnext.array.is-template-object",
101925 "esnext.array.last-index",
101926 "esnext.array.last-item",
101927 "esnext.array.unique-by",
101928 "esnext.async-iterator.constructor",
101929 "esnext.async-iterator.as-indexed-pairs",
101930 "esnext.async-iterator.drop",
101931 "esnext.async-iterator.every",
101932 "esnext.async-iterator.filter",
101933 "esnext.async-iterator.find",
101934 "esnext.async-iterator.flat-map",
101935 "esnext.async-iterator.for-each",
101936 "esnext.async-iterator.from",
101937 "esnext.async-iterator.map",
101938 "esnext.async-iterator.reduce",
101939 "esnext.async-iterator.some",
101940 "esnext.async-iterator.take",
101941 "esnext.async-iterator.to-array",
101942 "esnext.bigint.range",
101943 "esnext.composite-key",
101944 "esnext.composite-symbol",
101945 "esnext.global-this",
101946 "esnext.iterator.constructor",
101947 "esnext.iterator.as-indexed-pairs",
101948 "esnext.iterator.drop",
101949 "esnext.iterator.every",
101950 "esnext.iterator.filter",
101951 "esnext.iterator.find",
101952 "esnext.iterator.flat-map",
101953 "esnext.iterator.for-each",
101954 "esnext.iterator.from",
101955 "esnext.iterator.map",
101956 "esnext.iterator.reduce",
101957 "esnext.iterator.some",
101958 "esnext.iterator.take",
101959 "esnext.iterator.to-array",
101960 "esnext.map.delete-all",
101961 "esnext.map.emplace",
101962 "esnext.map.every",
101963 "esnext.map.filter",
101964 "esnext.map.find",
101965 "esnext.map.find-key",
101966 "esnext.map.from",
101967 "esnext.map.group-by",
101968 "esnext.map.includes",
101969 "esnext.map.key-by",
101970 "esnext.map.key-of",
101971 "esnext.map.map-keys",
101972 "esnext.map.map-values",
101973 "esnext.map.merge",
101974 "esnext.map.of",
101975 "esnext.map.reduce",
101976 "esnext.map.some",
101977 "esnext.map.update",
101978 "esnext.map.update-or-insert",
101979 "esnext.map.upsert",
101980 "esnext.math.clamp",
101981 "esnext.math.deg-per-rad",
101982 "esnext.math.degrees",
101983 "esnext.math.fscale",
101984 "esnext.math.iaddh",
101985 "esnext.math.imulh",
101986 "esnext.math.isubh",
101987 "esnext.math.rad-per-deg",
101988 "esnext.math.radians",
101989 "esnext.math.scale",
101990 "esnext.math.seeded-prng",
101991 "esnext.math.signbit",
101992 "esnext.math.umulh",
101993 "esnext.number.from-string",
101994 "esnext.number.range",
101995 "esnext.object.has-own",
101996 "esnext.object.iterate-entries",
101997 "esnext.object.iterate-keys",
101998 "esnext.object.iterate-values",
101999 "esnext.observable",
102000 "esnext.promise.all-settled",
102001 "esnext.promise.any",
102002 "esnext.promise.try",
102003 "esnext.reflect.define-metadata",
102004 "esnext.reflect.delete-metadata",
102005 "esnext.reflect.get-metadata",
102006 "esnext.reflect.get-metadata-keys",
102007 "esnext.reflect.get-own-metadata",
102008 "esnext.reflect.get-own-metadata-keys",
102009 "esnext.reflect.has-metadata",
102010 "esnext.reflect.has-own-metadata",
102011 "esnext.reflect.metadata",
102012 "esnext.set.add-all",
102013 "esnext.set.delete-all",
102014 "esnext.set.difference",
102015 "esnext.set.every",
102016 "esnext.set.filter",
102017 "esnext.set.find",
102018 "esnext.set.from",
102019 "esnext.set.intersection",
102020 "esnext.set.is-disjoint-from",
102021 "esnext.set.is-subset-of",
102022 "esnext.set.is-superset-of",
102023 "esnext.set.join",
102024 "esnext.set.map",
102025 "esnext.set.of",
102026 "esnext.set.reduce",
102027 "esnext.set.some",
102028 "esnext.set.symmetric-difference",
102029 "esnext.set.union",
102030 "esnext.string.at",
102031 "esnext.string.code-points",
102032 "esnext.string.match-all",
102033 "esnext.string.replace-all",
102034 "esnext.symbol.async-dispose",
102035 "esnext.symbol.dispose",
102036 "esnext.symbol.matcher",
102037 "esnext.symbol.metadata",
102038 "esnext.symbol.observable",
102039 "esnext.symbol.pattern-match",
102040 "esnext.symbol.replace-all",
102041 "esnext.typed-array.at",
102042 "esnext.typed-array.filter-out",
102043 "esnext.typed-array.find-last",
102044 "esnext.typed-array.find-last-index",
102045 "esnext.typed-array.unique-by",
102046 "esnext.weak-map.delete-all",
102047 "esnext.weak-map.from",
102048 "esnext.weak-map.of",
102049 "esnext.weak-map.emplace",
102050 "esnext.weak-map.upsert",
102051 "esnext.weak-set.add-all",
102052 "esnext.weak-set.delete-all",
102053 "esnext.weak-set.from",
102054 "esnext.weak-set.of",
102055 "web.dom-collections.for-each",
102056 "web.dom-collections.iterator",
102057 "web.immediate",
102058 "web.queue-microtask",
102059 "web.timers",
102060 "web.url",
102061 "web.url.to-json",
102062 "web.url-search-params"
102063 ];
102064
102065 var compare = helpers.compare,
102066 intersection$1 = helpers.intersection,
102067 semver$1 = helpers.semver;
102068
102069 var getModulesListForTargetVersion$2 = function getModulesListForTargetVersion(raw) {
102070 var corejs = semver$1(raw);
102071
102072 if (corejs.major !== 3) {
102073 throw RangeError('This version of `core-js-compat` works only with `core-js@3`.');
102074 }
102075
102076 var result = [];
102077
102078 for (var _i = 0, _Object$keys = Object.keys(modulesByVersions); _i < _Object$keys.length; _i++) {
102079 var version = _Object$keys[_i];
102080
102081 if (compare(version, '<=', corejs)) {
102082 result.push.apply(result, _toConsumableArray(modulesByVersions[version]));
102083 }
102084 }
102085
102086 return intersection$1(result, modules);
102087 };
102088
102089 var getModulesListForTargetVersion$1 = getModulesListForTargetVersion$2;
102090
102091 var require$$0$2 = {
102092 "core-js": [
102093 "es.symbol",
102094 "es.symbol.description",
102095 "es.symbol.async-iterator",
102096 "es.symbol.has-instance",
102097 "es.symbol.is-concat-spreadable",
102098 "es.symbol.iterator",
102099 "es.symbol.match",
102100 "es.symbol.match-all",
102101 "es.symbol.replace",
102102 "es.symbol.search",
102103 "es.symbol.species",
102104 "es.symbol.split",
102105 "es.symbol.to-primitive",
102106 "es.symbol.to-string-tag",
102107 "es.symbol.unscopables",
102108 "es.aggregate-error",
102109 "es.array.concat",
102110 "es.array.copy-within",
102111 "es.array.every",
102112 "es.array.fill",
102113 "es.array.filter",
102114 "es.array.find",
102115 "es.array.find-index",
102116 "es.array.flat",
102117 "es.array.flat-map",
102118 "es.array.for-each",
102119 "es.array.from",
102120 "es.array.includes",
102121 "es.array.index-of",
102122 "es.array.is-array",
102123 "es.array.iterator",
102124 "es.array.join",
102125 "es.array.last-index-of",
102126 "es.array.map",
102127 "es.array.of",
102128 "es.array.reduce",
102129 "es.array.reduce-right",
102130 "es.array.reverse",
102131 "es.array.slice",
102132 "es.array.some",
102133 "es.array.sort",
102134 "es.array.species",
102135 "es.array.splice",
102136 "es.array.unscopables.flat",
102137 "es.array.unscopables.flat-map",
102138 "es.array-buffer.constructor",
102139 "es.array-buffer.is-view",
102140 "es.array-buffer.slice",
102141 "es.data-view",
102142 "es.date.get-year",
102143 "es.date.now",
102144 "es.date.set-year",
102145 "es.date.to-gmt-string",
102146 "es.date.to-iso-string",
102147 "es.date.to-json",
102148 "es.date.to-primitive",
102149 "es.date.to-string",
102150 "es.escape",
102151 "es.function.bind",
102152 "es.function.has-instance",
102153 "es.function.name",
102154 "es.global-this",
102155 "es.json.stringify",
102156 "es.json.to-string-tag",
102157 "es.map",
102158 "es.math.acosh",
102159 "es.math.asinh",
102160 "es.math.atanh",
102161 "es.math.cbrt",
102162 "es.math.clz32",
102163 "es.math.cosh",
102164 "es.math.expm1",
102165 "es.math.fround",
102166 "es.math.hypot",
102167 "es.math.imul",
102168 "es.math.log10",
102169 "es.math.log1p",
102170 "es.math.log2",
102171 "es.math.sign",
102172 "es.math.sinh",
102173 "es.math.tanh",
102174 "es.math.to-string-tag",
102175 "es.math.trunc",
102176 "es.number.constructor",
102177 "es.number.epsilon",
102178 "es.number.is-finite",
102179 "es.number.is-integer",
102180 "es.number.is-nan",
102181 "es.number.is-safe-integer",
102182 "es.number.max-safe-integer",
102183 "es.number.min-safe-integer",
102184 "es.number.parse-float",
102185 "es.number.parse-int",
102186 "es.number.to-fixed",
102187 "es.number.to-precision",
102188 "es.object.assign",
102189 "es.object.create",
102190 "es.object.define-getter",
102191 "es.object.define-properties",
102192 "es.object.define-property",
102193 "es.object.define-setter",
102194 "es.object.entries",
102195 "es.object.freeze",
102196 "es.object.from-entries",
102197 "es.object.get-own-property-descriptor",
102198 "es.object.get-own-property-descriptors",
102199 "es.object.get-own-property-names",
102200 "es.object.get-prototype-of",
102201 "es.object.is",
102202 "es.object.is-extensible",
102203 "es.object.is-frozen",
102204 "es.object.is-sealed",
102205 "es.object.keys",
102206 "es.object.lookup-getter",
102207 "es.object.lookup-setter",
102208 "es.object.prevent-extensions",
102209 "es.object.seal",
102210 "es.object.set-prototype-of",
102211 "es.object.to-string",
102212 "es.object.values",
102213 "es.parse-float",
102214 "es.parse-int",
102215 "es.promise",
102216 "es.promise.all-settled",
102217 "es.promise.any",
102218 "es.promise.finally",
102219 "es.reflect.apply",
102220 "es.reflect.construct",
102221 "es.reflect.define-property",
102222 "es.reflect.delete-property",
102223 "es.reflect.get",
102224 "es.reflect.get-own-property-descriptor",
102225 "es.reflect.get-prototype-of",
102226 "es.reflect.has",
102227 "es.reflect.is-extensible",
102228 "es.reflect.own-keys",
102229 "es.reflect.prevent-extensions",
102230 "es.reflect.set",
102231 "es.reflect.set-prototype-of",
102232 "es.reflect.to-string-tag",
102233 "es.regexp.constructor",
102234 "es.regexp.dot-all",
102235 "es.regexp.exec",
102236 "es.regexp.flags",
102237 "es.regexp.sticky",
102238 "es.regexp.test",
102239 "es.regexp.to-string",
102240 "es.set",
102241 "es.string.code-point-at",
102242 "es.string.ends-with",
102243 "es.string.from-code-point",
102244 "es.string.includes",
102245 "es.string.iterator",
102246 "es.string.match",
102247 "es.string.match-all",
102248 "es.string.pad-end",
102249 "es.string.pad-start",
102250 "es.string.raw",
102251 "es.string.repeat",
102252 "es.string.replace",
102253 "es.string.replace-all",
102254 "es.string.search",
102255 "es.string.split",
102256 "es.string.starts-with",
102257 "es.string.substr",
102258 "es.string.trim",
102259 "es.string.trim-end",
102260 "es.string.trim-start",
102261 "es.string.anchor",
102262 "es.string.big",
102263 "es.string.blink",
102264 "es.string.bold",
102265 "es.string.fixed",
102266 "es.string.fontcolor",
102267 "es.string.fontsize",
102268 "es.string.italics",
102269 "es.string.link",
102270 "es.string.small",
102271 "es.string.strike",
102272 "es.string.sub",
102273 "es.string.sup",
102274 "es.typed-array.float32-array",
102275 "es.typed-array.float64-array",
102276 "es.typed-array.int8-array",
102277 "es.typed-array.int16-array",
102278 "es.typed-array.int32-array",
102279 "es.typed-array.uint8-array",
102280 "es.typed-array.uint8-clamped-array",
102281 "es.typed-array.uint16-array",
102282 "es.typed-array.uint32-array",
102283 "es.typed-array.copy-within",
102284 "es.typed-array.every",
102285 "es.typed-array.fill",
102286 "es.typed-array.filter",
102287 "es.typed-array.find",
102288 "es.typed-array.find-index",
102289 "es.typed-array.for-each",
102290 "es.typed-array.from",
102291 "es.typed-array.includes",
102292 "es.typed-array.index-of",
102293 "es.typed-array.iterator",
102294 "es.typed-array.join",
102295 "es.typed-array.last-index-of",
102296 "es.typed-array.map",
102297 "es.typed-array.of",
102298 "es.typed-array.reduce",
102299 "es.typed-array.reduce-right",
102300 "es.typed-array.reverse",
102301 "es.typed-array.set",
102302 "es.typed-array.slice",
102303 "es.typed-array.some",
102304 "es.typed-array.sort",
102305 "es.typed-array.subarray",
102306 "es.typed-array.to-locale-string",
102307 "es.typed-array.to-string",
102308 "es.unescape",
102309 "es.weak-map",
102310 "es.weak-set",
102311 "esnext.aggregate-error",
102312 "esnext.array.at",
102313 "esnext.array.filter-out",
102314 "esnext.array.find-last",
102315 "esnext.array.find-last-index",
102316 "esnext.array.is-template-object",
102317 "esnext.array.last-index",
102318 "esnext.array.last-item",
102319 "esnext.array.unique-by",
102320 "esnext.async-iterator.constructor",
102321 "esnext.async-iterator.as-indexed-pairs",
102322 "esnext.async-iterator.drop",
102323 "esnext.async-iterator.every",
102324 "esnext.async-iterator.filter",
102325 "esnext.async-iterator.find",
102326 "esnext.async-iterator.flat-map",
102327 "esnext.async-iterator.for-each",
102328 "esnext.async-iterator.from",
102329 "esnext.async-iterator.map",
102330 "esnext.async-iterator.reduce",
102331 "esnext.async-iterator.some",
102332 "esnext.async-iterator.take",
102333 "esnext.async-iterator.to-array",
102334 "esnext.bigint.range",
102335 "esnext.composite-key",
102336 "esnext.composite-symbol",
102337 "esnext.global-this",
102338 "esnext.iterator.constructor",
102339 "esnext.iterator.as-indexed-pairs",
102340 "esnext.iterator.drop",
102341 "esnext.iterator.every",
102342 "esnext.iterator.filter",
102343 "esnext.iterator.find",
102344 "esnext.iterator.flat-map",
102345 "esnext.iterator.for-each",
102346 "esnext.iterator.from",
102347 "esnext.iterator.map",
102348 "esnext.iterator.reduce",
102349 "esnext.iterator.some",
102350 "esnext.iterator.take",
102351 "esnext.iterator.to-array",
102352 "esnext.map.delete-all",
102353 "esnext.map.emplace",
102354 "esnext.map.every",
102355 "esnext.map.filter",
102356 "esnext.map.find",
102357 "esnext.map.find-key",
102358 "esnext.map.from",
102359 "esnext.map.group-by",
102360 "esnext.map.includes",
102361 "esnext.map.key-by",
102362 "esnext.map.key-of",
102363 "esnext.map.map-keys",
102364 "esnext.map.map-values",
102365 "esnext.map.merge",
102366 "esnext.map.of",
102367 "esnext.map.reduce",
102368 "esnext.map.some",
102369 "esnext.map.update",
102370 "esnext.map.update-or-insert",
102371 "esnext.map.upsert",
102372 "esnext.math.clamp",
102373 "esnext.math.deg-per-rad",
102374 "esnext.math.degrees",
102375 "esnext.math.fscale",
102376 "esnext.math.iaddh",
102377 "esnext.math.imulh",
102378 "esnext.math.isubh",
102379 "esnext.math.rad-per-deg",
102380 "esnext.math.radians",
102381 "esnext.math.scale",
102382 "esnext.math.seeded-prng",
102383 "esnext.math.signbit",
102384 "esnext.math.umulh",
102385 "esnext.number.from-string",
102386 "esnext.number.range",
102387 "esnext.object.has-own",
102388 "esnext.object.iterate-entries",
102389 "esnext.object.iterate-keys",
102390 "esnext.object.iterate-values",
102391 "esnext.observable",
102392 "esnext.promise.all-settled",
102393 "esnext.promise.any",
102394 "esnext.promise.try",
102395 "esnext.reflect.define-metadata",
102396 "esnext.reflect.delete-metadata",
102397 "esnext.reflect.get-metadata",
102398 "esnext.reflect.get-metadata-keys",
102399 "esnext.reflect.get-own-metadata",
102400 "esnext.reflect.get-own-metadata-keys",
102401 "esnext.reflect.has-metadata",
102402 "esnext.reflect.has-own-metadata",
102403 "esnext.reflect.metadata",
102404 "esnext.set.add-all",
102405 "esnext.set.delete-all",
102406 "esnext.set.difference",
102407 "esnext.set.every",
102408 "esnext.set.filter",
102409 "esnext.set.find",
102410 "esnext.set.from",
102411 "esnext.set.intersection",
102412 "esnext.set.is-disjoint-from",
102413 "esnext.set.is-subset-of",
102414 "esnext.set.is-superset-of",
102415 "esnext.set.join",
102416 "esnext.set.map",
102417 "esnext.set.of",
102418 "esnext.set.reduce",
102419 "esnext.set.some",
102420 "esnext.set.symmetric-difference",
102421 "esnext.set.union",
102422 "esnext.string.at",
102423 "esnext.string.code-points",
102424 "esnext.string.match-all",
102425 "esnext.string.replace-all",
102426 "esnext.symbol.async-dispose",
102427 "esnext.symbol.dispose",
102428 "esnext.symbol.matcher",
102429 "esnext.symbol.metadata",
102430 "esnext.symbol.observable",
102431 "esnext.symbol.pattern-match",
102432 "esnext.symbol.replace-all",
102433 "esnext.typed-array.at",
102434 "esnext.typed-array.filter-out",
102435 "esnext.typed-array.find-last",
102436 "esnext.typed-array.find-last-index",
102437 "esnext.typed-array.unique-by",
102438 "esnext.weak-map.delete-all",
102439 "esnext.weak-map.from",
102440 "esnext.weak-map.of",
102441 "esnext.weak-map.emplace",
102442 "esnext.weak-map.upsert",
102443 "esnext.weak-set.add-all",
102444 "esnext.weak-set.delete-all",
102445 "esnext.weak-set.from",
102446 "esnext.weak-set.of",
102447 "web.dom-collections.for-each",
102448 "web.dom-collections.iterator",
102449 "web.immediate",
102450 "web.queue-microtask",
102451 "web.timers",
102452 "web.url",
102453 "web.url.to-json",
102454 "web.url-search-params"
102455 ],
102456 "core-js/es": [
102457 "es.symbol",
102458 "es.symbol.description",
102459 "es.symbol.async-iterator",
102460 "es.symbol.has-instance",
102461 "es.symbol.is-concat-spreadable",
102462 "es.symbol.iterator",
102463 "es.symbol.match",
102464 "es.symbol.match-all",
102465 "es.symbol.replace",
102466 "es.symbol.search",
102467 "es.symbol.species",
102468 "es.symbol.split",
102469 "es.symbol.to-primitive",
102470 "es.symbol.to-string-tag",
102471 "es.symbol.unscopables",
102472 "es.aggregate-error",
102473 "es.array.concat",
102474 "es.array.copy-within",
102475 "es.array.every",
102476 "es.array.fill",
102477 "es.array.filter",
102478 "es.array.find",
102479 "es.array.find-index",
102480 "es.array.flat",
102481 "es.array.flat-map",
102482 "es.array.for-each",
102483 "es.array.from",
102484 "es.array.includes",
102485 "es.array.index-of",
102486 "es.array.is-array",
102487 "es.array.iterator",
102488 "es.array.join",
102489 "es.array.last-index-of",
102490 "es.array.map",
102491 "es.array.of",
102492 "es.array.reduce",
102493 "es.array.reduce-right",
102494 "es.array.reverse",
102495 "es.array.slice",
102496 "es.array.some",
102497 "es.array.sort",
102498 "es.array.species",
102499 "es.array.splice",
102500 "es.array.unscopables.flat",
102501 "es.array.unscopables.flat-map",
102502 "es.array-buffer.constructor",
102503 "es.array-buffer.is-view",
102504 "es.array-buffer.slice",
102505 "es.data-view",
102506 "es.date.get-year",
102507 "es.date.now",
102508 "es.date.set-year",
102509 "es.date.to-gmt-string",
102510 "es.date.to-iso-string",
102511 "es.date.to-json",
102512 "es.date.to-primitive",
102513 "es.date.to-string",
102514 "es.escape",
102515 "es.function.bind",
102516 "es.function.has-instance",
102517 "es.function.name",
102518 "es.global-this",
102519 "es.json.stringify",
102520 "es.json.to-string-tag",
102521 "es.map",
102522 "es.math.acosh",
102523 "es.math.asinh",
102524 "es.math.atanh",
102525 "es.math.cbrt",
102526 "es.math.clz32",
102527 "es.math.cosh",
102528 "es.math.expm1",
102529 "es.math.fround",
102530 "es.math.hypot",
102531 "es.math.imul",
102532 "es.math.log10",
102533 "es.math.log1p",
102534 "es.math.log2",
102535 "es.math.sign",
102536 "es.math.sinh",
102537 "es.math.tanh",
102538 "es.math.to-string-tag",
102539 "es.math.trunc",
102540 "es.number.constructor",
102541 "es.number.epsilon",
102542 "es.number.is-finite",
102543 "es.number.is-integer",
102544 "es.number.is-nan",
102545 "es.number.is-safe-integer",
102546 "es.number.max-safe-integer",
102547 "es.number.min-safe-integer",
102548 "es.number.parse-float",
102549 "es.number.parse-int",
102550 "es.number.to-fixed",
102551 "es.number.to-precision",
102552 "es.object.assign",
102553 "es.object.create",
102554 "es.object.define-getter",
102555 "es.object.define-properties",
102556 "es.object.define-property",
102557 "es.object.define-setter",
102558 "es.object.entries",
102559 "es.object.freeze",
102560 "es.object.from-entries",
102561 "es.object.get-own-property-descriptor",
102562 "es.object.get-own-property-descriptors",
102563 "es.object.get-own-property-names",
102564 "es.object.get-prototype-of",
102565 "es.object.is",
102566 "es.object.is-extensible",
102567 "es.object.is-frozen",
102568 "es.object.is-sealed",
102569 "es.object.keys",
102570 "es.object.lookup-getter",
102571 "es.object.lookup-setter",
102572 "es.object.prevent-extensions",
102573 "es.object.seal",
102574 "es.object.set-prototype-of",
102575 "es.object.to-string",
102576 "es.object.values",
102577 "es.parse-float",
102578 "es.parse-int",
102579 "es.promise",
102580 "es.promise.all-settled",
102581 "es.promise.any",
102582 "es.promise.finally",
102583 "es.reflect.apply",
102584 "es.reflect.construct",
102585 "es.reflect.define-property",
102586 "es.reflect.delete-property",
102587 "es.reflect.get",
102588 "es.reflect.get-own-property-descriptor",
102589 "es.reflect.get-prototype-of",
102590 "es.reflect.has",
102591 "es.reflect.is-extensible",
102592 "es.reflect.own-keys",
102593 "es.reflect.prevent-extensions",
102594 "es.reflect.set",
102595 "es.reflect.set-prototype-of",
102596 "es.reflect.to-string-tag",
102597 "es.regexp.constructor",
102598 "es.regexp.dot-all",
102599 "es.regexp.exec",
102600 "es.regexp.flags",
102601 "es.regexp.sticky",
102602 "es.regexp.test",
102603 "es.regexp.to-string",
102604 "es.set",
102605 "es.string.code-point-at",
102606 "es.string.ends-with",
102607 "es.string.from-code-point",
102608 "es.string.includes",
102609 "es.string.iterator",
102610 "es.string.match",
102611 "es.string.match-all",
102612 "es.string.pad-end",
102613 "es.string.pad-start",
102614 "es.string.raw",
102615 "es.string.repeat",
102616 "es.string.replace",
102617 "es.string.replace-all",
102618 "es.string.search",
102619 "es.string.split",
102620 "es.string.starts-with",
102621 "es.string.substr",
102622 "es.string.trim",
102623 "es.string.trim-end",
102624 "es.string.trim-start",
102625 "es.string.anchor",
102626 "es.string.big",
102627 "es.string.blink",
102628 "es.string.bold",
102629 "es.string.fixed",
102630 "es.string.fontcolor",
102631 "es.string.fontsize",
102632 "es.string.italics",
102633 "es.string.link",
102634 "es.string.small",
102635 "es.string.strike",
102636 "es.string.sub",
102637 "es.string.sup",
102638 "es.typed-array.float32-array",
102639 "es.typed-array.float64-array",
102640 "es.typed-array.int8-array",
102641 "es.typed-array.int16-array",
102642 "es.typed-array.int32-array",
102643 "es.typed-array.uint8-array",
102644 "es.typed-array.uint8-clamped-array",
102645 "es.typed-array.uint16-array",
102646 "es.typed-array.uint32-array",
102647 "es.typed-array.copy-within",
102648 "es.typed-array.every",
102649 "es.typed-array.fill",
102650 "es.typed-array.filter",
102651 "es.typed-array.find",
102652 "es.typed-array.find-index",
102653 "es.typed-array.for-each",
102654 "es.typed-array.from",
102655 "es.typed-array.includes",
102656 "es.typed-array.index-of",
102657 "es.typed-array.iterator",
102658 "es.typed-array.join",
102659 "es.typed-array.last-index-of",
102660 "es.typed-array.map",
102661 "es.typed-array.of",
102662 "es.typed-array.reduce",
102663 "es.typed-array.reduce-right",
102664 "es.typed-array.reverse",
102665 "es.typed-array.set",
102666 "es.typed-array.slice",
102667 "es.typed-array.some",
102668 "es.typed-array.sort",
102669 "es.typed-array.subarray",
102670 "es.typed-array.to-locale-string",
102671 "es.typed-array.to-string",
102672 "es.unescape",
102673 "es.weak-map",
102674 "es.weak-set"
102675 ],
102676 "core-js/es/aggregate-error": [
102677 "es.aggregate-error",
102678 "es.string.iterator",
102679 "web.dom-collections.iterator"
102680 ],
102681 "core-js/es/array": [
102682 "es.array.concat",
102683 "es.array.copy-within",
102684 "es.array.every",
102685 "es.array.fill",
102686 "es.array.filter",
102687 "es.array.find",
102688 "es.array.find-index",
102689 "es.array.flat",
102690 "es.array.flat-map",
102691 "es.array.for-each",
102692 "es.array.from",
102693 "es.array.includes",
102694 "es.array.index-of",
102695 "es.array.is-array",
102696 "es.array.iterator",
102697 "es.array.join",
102698 "es.array.last-index-of",
102699 "es.array.map",
102700 "es.array.of",
102701 "es.array.reduce",
102702 "es.array.reduce-right",
102703 "es.array.reverse",
102704 "es.array.slice",
102705 "es.array.some",
102706 "es.array.sort",
102707 "es.array.species",
102708 "es.array.splice",
102709 "es.array.unscopables.flat",
102710 "es.array.unscopables.flat-map",
102711 "es.string.iterator"
102712 ],
102713 "core-js/es/array-buffer": [
102714 "es.array-buffer.constructor",
102715 "es.array-buffer.is-view",
102716 "es.array-buffer.slice",
102717 "es.object.to-string"
102718 ],
102719 "core-js/es/array-buffer/constructor": [
102720 "es.array-buffer.constructor",
102721 "es.object.to-string"
102722 ],
102723 "core-js/es/array-buffer/is-view": [
102724 "es.array-buffer.is-view"
102725 ],
102726 "core-js/es/array-buffer/slice": [
102727 "es.array-buffer.slice"
102728 ],
102729 "core-js/es/array/concat": [
102730 "es.array.concat"
102731 ],
102732 "core-js/es/array/copy-within": [
102733 "es.array.copy-within"
102734 ],
102735 "core-js/es/array/entries": [
102736 "es.array.iterator"
102737 ],
102738 "core-js/es/array/every": [
102739 "es.array.every"
102740 ],
102741 "core-js/es/array/fill": [
102742 "es.array.fill"
102743 ],
102744 "core-js/es/array/filter": [
102745 "es.array.filter"
102746 ],
102747 "core-js/es/array/find": [
102748 "es.array.find"
102749 ],
102750 "core-js/es/array/find-index": [
102751 "es.array.find-index"
102752 ],
102753 "core-js/es/array/flat": [
102754 "es.array.flat",
102755 "es.array.unscopables.flat"
102756 ],
102757 "core-js/es/array/flat-map": [
102758 "es.array.flat-map",
102759 "es.array.unscopables.flat-map"
102760 ],
102761 "core-js/es/array/for-each": [
102762 "es.array.for-each"
102763 ],
102764 "core-js/es/array/from": [
102765 "es.array.from",
102766 "es.string.iterator"
102767 ],
102768 "core-js/es/array/includes": [
102769 "es.array.includes"
102770 ],
102771 "core-js/es/array/index-of": [
102772 "es.array.index-of"
102773 ],
102774 "core-js/es/array/is-array": [
102775 "es.array.is-array"
102776 ],
102777 "core-js/es/array/iterator": [
102778 "es.array.iterator"
102779 ],
102780 "core-js/es/array/join": [
102781 "es.array.join"
102782 ],
102783 "core-js/es/array/keys": [
102784 "es.array.iterator"
102785 ],
102786 "core-js/es/array/last-index-of": [
102787 "es.array.last-index-of"
102788 ],
102789 "core-js/es/array/map": [
102790 "es.array.map"
102791 ],
102792 "core-js/es/array/of": [
102793 "es.array.of"
102794 ],
102795 "core-js/es/array/reduce": [
102796 "es.array.reduce"
102797 ],
102798 "core-js/es/array/reduce-right": [
102799 "es.array.reduce-right"
102800 ],
102801 "core-js/es/array/reverse": [
102802 "es.array.reverse"
102803 ],
102804 "core-js/es/array/slice": [
102805 "es.array.slice"
102806 ],
102807 "core-js/es/array/some": [
102808 "es.array.some"
102809 ],
102810 "core-js/es/array/sort": [
102811 "es.array.sort"
102812 ],
102813 "core-js/es/array/splice": [
102814 "es.array.splice"
102815 ],
102816 "core-js/es/array/values": [
102817 "es.array.iterator"
102818 ],
102819 "core-js/es/array/virtual": [
102820 "es.array.concat",
102821 "es.array.copy-within",
102822 "es.array.every",
102823 "es.array.fill",
102824 "es.array.filter",
102825 "es.array.find",
102826 "es.array.find-index",
102827 "es.array.flat",
102828 "es.array.flat-map",
102829 "es.array.for-each",
102830 "es.array.includes",
102831 "es.array.index-of",
102832 "es.array.iterator",
102833 "es.array.join",
102834 "es.array.last-index-of",
102835 "es.array.map",
102836 "es.array.reduce",
102837 "es.array.reduce-right",
102838 "es.array.reverse",
102839 "es.array.slice",
102840 "es.array.some",
102841 "es.array.sort",
102842 "es.array.species",
102843 "es.array.splice",
102844 "es.array.unscopables.flat",
102845 "es.array.unscopables.flat-map"
102846 ],
102847 "core-js/es/array/virtual/concat": [
102848 "es.array.concat"
102849 ],
102850 "core-js/es/array/virtual/copy-within": [
102851 "es.array.copy-within"
102852 ],
102853 "core-js/es/array/virtual/entries": [
102854 "es.array.iterator"
102855 ],
102856 "core-js/es/array/virtual/every": [
102857 "es.array.every"
102858 ],
102859 "core-js/es/array/virtual/fill": [
102860 "es.array.fill"
102861 ],
102862 "core-js/es/array/virtual/filter": [
102863 "es.array.filter"
102864 ],
102865 "core-js/es/array/virtual/filter-out": [
102866 "esnext.array.filter-out"
102867 ],
102868 "core-js/es/array/virtual/find": [
102869 "es.array.find"
102870 ],
102871 "core-js/es/array/virtual/find-index": [
102872 "es.array.find-index"
102873 ],
102874 "core-js/es/array/virtual/flat": [
102875 "es.array.flat",
102876 "es.array.unscopables.flat"
102877 ],
102878 "core-js/es/array/virtual/flat-map": [
102879 "es.array.flat-map",
102880 "es.array.unscopables.flat-map"
102881 ],
102882 "core-js/es/array/virtual/for-each": [
102883 "es.array.for-each"
102884 ],
102885 "core-js/es/array/virtual/includes": [
102886 "es.array.includes"
102887 ],
102888 "core-js/es/array/virtual/index-of": [
102889 "es.array.index-of"
102890 ],
102891 "core-js/es/array/virtual/iterator": [
102892 "es.array.iterator"
102893 ],
102894 "core-js/es/array/virtual/join": [
102895 "es.array.join"
102896 ],
102897 "core-js/es/array/virtual/keys": [
102898 "es.array.iterator"
102899 ],
102900 "core-js/es/array/virtual/last-index-of": [
102901 "es.array.last-index-of"
102902 ],
102903 "core-js/es/array/virtual/map": [
102904 "es.array.map"
102905 ],
102906 "core-js/es/array/virtual/reduce": [
102907 "es.array.reduce"
102908 ],
102909 "core-js/es/array/virtual/reduce-right": [
102910 "es.array.reduce-right"
102911 ],
102912 "core-js/es/array/virtual/reverse": [
102913 "es.array.reverse"
102914 ],
102915 "core-js/es/array/virtual/slice": [
102916 "es.array.slice"
102917 ],
102918 "core-js/es/array/virtual/some": [
102919 "es.array.some"
102920 ],
102921 "core-js/es/array/virtual/sort": [
102922 "es.array.sort"
102923 ],
102924 "core-js/es/array/virtual/splice": [
102925 "es.array.splice"
102926 ],
102927 "core-js/es/array/virtual/values": [
102928 "es.array.iterator"
102929 ],
102930 "core-js/es/data-view": [
102931 "es.data-view",
102932 "es.object.to-string"
102933 ],
102934 "core-js/es/date": [
102935 "es.date.get-year",
102936 "es.date.now",
102937 "es.date.set-year",
102938 "es.date.to-gmt-string",
102939 "es.date.to-iso-string",
102940 "es.date.to-json",
102941 "es.date.to-primitive",
102942 "es.date.to-string"
102943 ],
102944 "core-js/es/date/get-year": [
102945 "es.date.get-year"
102946 ],
102947 "core-js/es/date/now": [
102948 "es.date.now"
102949 ],
102950 "core-js/es/date/set-year": [
102951 "es.date.set-year"
102952 ],
102953 "core-js/es/date/to-gmt-string": [
102954 "es.date.to-gmt-string"
102955 ],
102956 "core-js/es/date/to-iso-string": [
102957 "es.date.to-iso-string",
102958 "es.date.to-json"
102959 ],
102960 "core-js/es/date/to-json": [
102961 "es.date.to-json"
102962 ],
102963 "core-js/es/date/to-primitive": [
102964 "es.date.to-primitive"
102965 ],
102966 "core-js/es/date/to-string": [
102967 "es.date.to-string"
102968 ],
102969 "core-js/es/escape": [
102970 "es.escape"
102971 ],
102972 "core-js/es/function": [
102973 "es.function.bind",
102974 "es.function.has-instance",
102975 "es.function.name"
102976 ],
102977 "core-js/es/function/bind": [
102978 "es.function.bind"
102979 ],
102980 "core-js/es/function/has-instance": [
102981 "es.function.has-instance"
102982 ],
102983 "core-js/es/function/name": [
102984 "es.function.name"
102985 ],
102986 "core-js/es/function/virtual": [
102987 "es.function.bind"
102988 ],
102989 "core-js/es/function/virtual/bind": [
102990 "es.function.bind"
102991 ],
102992 "core-js/es/global-this": [
102993 "es.global-this"
102994 ],
102995 "core-js/es/instance/bind": [
102996 "es.function.bind"
102997 ],
102998 "core-js/es/instance/code-point-at": [
102999 "es.string.code-point-at"
103000 ],
103001 "core-js/es/instance/concat": [
103002 "es.array.concat"
103003 ],
103004 "core-js/es/instance/copy-within": [
103005 "es.array.copy-within"
103006 ],
103007 "core-js/es/instance/ends-with": [
103008 "es.string.ends-with"
103009 ],
103010 "core-js/es/instance/entries": [
103011 "es.array.iterator"
103012 ],
103013 "core-js/es/instance/every": [
103014 "es.array.every"
103015 ],
103016 "core-js/es/instance/fill": [
103017 "es.array.fill"
103018 ],
103019 "core-js/es/instance/filter": [
103020 "es.array.filter"
103021 ],
103022 "core-js/es/instance/find": [
103023 "es.array.find"
103024 ],
103025 "core-js/es/instance/find-index": [
103026 "es.array.find-index"
103027 ],
103028 "core-js/es/instance/flags": [
103029 "es.regexp.flags"
103030 ],
103031 "core-js/es/instance/flat": [
103032 "es.array.flat",
103033 "es.array.unscopables.flat"
103034 ],
103035 "core-js/es/instance/flat-map": [
103036 "es.array.flat-map",
103037 "es.array.unscopables.flat-map"
103038 ],
103039 "core-js/es/instance/for-each": [
103040 "es.array.for-each"
103041 ],
103042 "core-js/es/instance/includes": [
103043 "es.array.includes",
103044 "es.string.includes"
103045 ],
103046 "core-js/es/instance/index-of": [
103047 "es.array.index-of"
103048 ],
103049 "core-js/es/instance/keys": [
103050 "es.array.iterator"
103051 ],
103052 "core-js/es/instance/last-index-of": [
103053 "es.array.last-index-of"
103054 ],
103055 "core-js/es/instance/map": [
103056 "es.array.map"
103057 ],
103058 "core-js/es/instance/match-all": [
103059 "es.string.match-all"
103060 ],
103061 "core-js/es/instance/pad-end": [
103062 "es.string.pad-end"
103063 ],
103064 "core-js/es/instance/pad-start": [
103065 "es.string.pad-start"
103066 ],
103067 "core-js/es/instance/reduce": [
103068 "es.array.reduce"
103069 ],
103070 "core-js/es/instance/reduce-right": [
103071 "es.array.reduce-right"
103072 ],
103073 "core-js/es/instance/repeat": [
103074 "es.string.repeat"
103075 ],
103076 "core-js/es/instance/replace-all": [
103077 "es.string.replace-all"
103078 ],
103079 "core-js/es/instance/reverse": [
103080 "es.array.reverse"
103081 ],
103082 "core-js/es/instance/slice": [
103083 "es.array.slice"
103084 ],
103085 "core-js/es/instance/some": [
103086 "es.array.some"
103087 ],
103088 "core-js/es/instance/sort": [
103089 "es.array.sort"
103090 ],
103091 "core-js/es/instance/splice": [
103092 "es.array.splice"
103093 ],
103094 "core-js/es/instance/starts-with": [
103095 "es.string.starts-with"
103096 ],
103097 "core-js/es/instance/trim": [
103098 "es.string.trim"
103099 ],
103100 "core-js/es/instance/trim-end": [
103101 "es.string.trim-end"
103102 ],
103103 "core-js/es/instance/trim-left": [
103104 "es.string.trim-start"
103105 ],
103106 "core-js/es/instance/trim-right": [
103107 "es.string.trim-end"
103108 ],
103109 "core-js/es/instance/trim-start": [
103110 "es.string.trim-start"
103111 ],
103112 "core-js/es/instance/values": [
103113 "es.array.iterator"
103114 ],
103115 "core-js/es/json": [
103116 "es.json.stringify",
103117 "es.json.to-string-tag"
103118 ],
103119 "core-js/es/json/stringify": [
103120 "es.json.stringify"
103121 ],
103122 "core-js/es/json/to-string-tag": [
103123 "es.json.to-string-tag"
103124 ],
103125 "core-js/es/map": [
103126 "es.map",
103127 "es.object.to-string",
103128 "es.string.iterator",
103129 "web.dom-collections.iterator"
103130 ],
103131 "core-js/es/math": [
103132 "es.math.acosh",
103133 "es.math.asinh",
103134 "es.math.atanh",
103135 "es.math.cbrt",
103136 "es.math.clz32",
103137 "es.math.cosh",
103138 "es.math.expm1",
103139 "es.math.fround",
103140 "es.math.hypot",
103141 "es.math.imul",
103142 "es.math.log10",
103143 "es.math.log1p",
103144 "es.math.log2",
103145 "es.math.sign",
103146 "es.math.sinh",
103147 "es.math.tanh",
103148 "es.math.to-string-tag",
103149 "es.math.trunc"
103150 ],
103151 "core-js/es/math/acosh": [
103152 "es.math.acosh"
103153 ],
103154 "core-js/es/math/asinh": [
103155 "es.math.asinh"
103156 ],
103157 "core-js/es/math/atanh": [
103158 "es.math.atanh"
103159 ],
103160 "core-js/es/math/cbrt": [
103161 "es.math.cbrt"
103162 ],
103163 "core-js/es/math/clz32": [
103164 "es.math.clz32"
103165 ],
103166 "core-js/es/math/cosh": [
103167 "es.math.cosh"
103168 ],
103169 "core-js/es/math/expm1": [
103170 "es.math.expm1"
103171 ],
103172 "core-js/es/math/fround": [
103173 "es.math.fround"
103174 ],
103175 "core-js/es/math/hypot": [
103176 "es.math.hypot"
103177 ],
103178 "core-js/es/math/imul": [
103179 "es.math.imul"
103180 ],
103181 "core-js/es/math/log10": [
103182 "es.math.log10"
103183 ],
103184 "core-js/es/math/log1p": [
103185 "es.math.log1p"
103186 ],
103187 "core-js/es/math/log2": [
103188 "es.math.log2"
103189 ],
103190 "core-js/es/math/sign": [
103191 "es.math.sign"
103192 ],
103193 "core-js/es/math/sinh": [
103194 "es.math.sinh"
103195 ],
103196 "core-js/es/math/tanh": [
103197 "es.math.tanh"
103198 ],
103199 "core-js/es/math/to-string-tag": [
103200 "es.math.to-string-tag"
103201 ],
103202 "core-js/es/math/trunc": [
103203 "es.math.trunc"
103204 ],
103205 "core-js/es/number": [
103206 "es.number.constructor",
103207 "es.number.epsilon",
103208 "es.number.is-finite",
103209 "es.number.is-integer",
103210 "es.number.is-nan",
103211 "es.number.is-safe-integer",
103212 "es.number.max-safe-integer",
103213 "es.number.min-safe-integer",
103214 "es.number.parse-float",
103215 "es.number.parse-int",
103216 "es.number.to-fixed",
103217 "es.number.to-precision"
103218 ],
103219 "core-js/es/number/constructor": [
103220 "es.number.constructor"
103221 ],
103222 "core-js/es/number/epsilon": [
103223 "es.number.epsilon"
103224 ],
103225 "core-js/es/number/is-finite": [
103226 "es.number.is-finite"
103227 ],
103228 "core-js/es/number/is-integer": [
103229 "es.number.is-integer"
103230 ],
103231 "core-js/es/number/is-nan": [
103232 "es.number.is-nan"
103233 ],
103234 "core-js/es/number/is-safe-integer": [
103235 "es.number.is-safe-integer"
103236 ],
103237 "core-js/es/number/max-safe-integer": [
103238 "es.number.max-safe-integer"
103239 ],
103240 "core-js/es/number/min-safe-integer": [
103241 "es.number.min-safe-integer"
103242 ],
103243 "core-js/es/number/parse-float": [
103244 "es.number.parse-float"
103245 ],
103246 "core-js/es/number/parse-int": [
103247 "es.number.parse-int"
103248 ],
103249 "core-js/es/number/to-fixed": [
103250 "es.number.to-fixed"
103251 ],
103252 "core-js/es/number/to-precision": [
103253 "es.number.to-precision"
103254 ],
103255 "core-js/es/number/virtual": [
103256 "es.number.to-fixed",
103257 "es.number.to-precision"
103258 ],
103259 "core-js/es/number/virtual/to-fixed": [
103260 "es.number.to-fixed"
103261 ],
103262 "core-js/es/number/virtual/to-precision": [
103263 "es.number.to-precision"
103264 ],
103265 "core-js/es/object": [
103266 "es.symbol",
103267 "es.json.to-string-tag",
103268 "es.math.to-string-tag",
103269 "es.object.assign",
103270 "es.object.create",
103271 "es.object.define-getter",
103272 "es.object.define-properties",
103273 "es.object.define-property",
103274 "es.object.define-setter",
103275 "es.object.entries",
103276 "es.object.freeze",
103277 "es.object.from-entries",
103278 "es.object.get-own-property-descriptor",
103279 "es.object.get-own-property-descriptors",
103280 "es.object.get-own-property-names",
103281 "es.object.get-prototype-of",
103282 "es.object.is",
103283 "es.object.is-extensible",
103284 "es.object.is-frozen",
103285 "es.object.is-sealed",
103286 "es.object.keys",
103287 "es.object.lookup-getter",
103288 "es.object.lookup-setter",
103289 "es.object.prevent-extensions",
103290 "es.object.seal",
103291 "es.object.set-prototype-of",
103292 "es.object.to-string",
103293 "es.object.values",
103294 "es.reflect.to-string-tag"
103295 ],
103296 "core-js/es/object/assign": [
103297 "es.object.assign"
103298 ],
103299 "core-js/es/object/create": [
103300 "es.object.create"
103301 ],
103302 "core-js/es/object/define-getter": [
103303 "es.object.define-getter"
103304 ],
103305 "core-js/es/object/define-properties": [
103306 "es.object.define-properties"
103307 ],
103308 "core-js/es/object/define-property": [
103309 "es.object.define-property"
103310 ],
103311 "core-js/es/object/define-setter": [
103312 "es.object.define-setter"
103313 ],
103314 "core-js/es/object/entries": [
103315 "es.object.entries"
103316 ],
103317 "core-js/es/object/freeze": [
103318 "es.object.freeze"
103319 ],
103320 "core-js/es/object/from-entries": [
103321 "es.array.iterator",
103322 "es.object.from-entries"
103323 ],
103324 "core-js/es/object/get-own-property-descriptor": [
103325 "es.object.get-own-property-descriptor"
103326 ],
103327 "core-js/es/object/get-own-property-descriptors": [
103328 "es.object.get-own-property-descriptors"
103329 ],
103330 "core-js/es/object/get-own-property-names": [
103331 "es.object.get-own-property-names"
103332 ],
103333 "core-js/es/object/get-own-property-symbols": [
103334 "es.symbol"
103335 ],
103336 "core-js/es/object/get-prototype-of": [
103337 "es.object.get-prototype-of"
103338 ],
103339 "core-js/es/object/is": [
103340 "es.object.is"
103341 ],
103342 "core-js/es/object/is-extensible": [
103343 "es.object.is-extensible"
103344 ],
103345 "core-js/es/object/is-frozen": [
103346 "es.object.is-frozen"
103347 ],
103348 "core-js/es/object/is-sealed": [
103349 "es.object.is-sealed"
103350 ],
103351 "core-js/es/object/keys": [
103352 "es.object.keys"
103353 ],
103354 "core-js/es/object/lookup-getter": [
103355 "es.object.lookup-setter"
103356 ],
103357 "core-js/es/object/lookup-setter": [
103358 "es.object.lookup-setter"
103359 ],
103360 "core-js/es/object/prevent-extensions": [
103361 "es.object.prevent-extensions"
103362 ],
103363 "core-js/es/object/seal": [
103364 "es.object.seal"
103365 ],
103366 "core-js/es/object/set-prototype-of": [
103367 "es.object.set-prototype-of"
103368 ],
103369 "core-js/es/object/to-string": [
103370 "es.json.to-string-tag",
103371 "es.math.to-string-tag",
103372 "es.object.to-string",
103373 "es.reflect.to-string-tag"
103374 ],
103375 "core-js/es/object/values": [
103376 "es.object.values"
103377 ],
103378 "core-js/es/parse-float": [
103379 "es.parse-float"
103380 ],
103381 "core-js/es/parse-int": [
103382 "es.parse-int"
103383 ],
103384 "core-js/es/promise": [
103385 "es.aggregate-error",
103386 "es.object.to-string",
103387 "es.promise",
103388 "es.promise.all-settled",
103389 "es.promise.any",
103390 "es.promise.finally",
103391 "es.string.iterator",
103392 "web.dom-collections.iterator"
103393 ],
103394 "core-js/es/promise/all-settled": [
103395 "es.promise",
103396 "es.promise.all-settled",
103397 "es.string.iterator",
103398 "web.dom-collections.iterator"
103399 ],
103400 "core-js/es/promise/any": [
103401 "es.aggregate-error",
103402 "es.promise",
103403 "es.promise.any",
103404 "es.string.iterator",
103405 "web.dom-collections.iterator"
103406 ],
103407 "core-js/es/promise/finally": [
103408 "es.promise",
103409 "es.promise.finally"
103410 ],
103411 "core-js/es/reflect": [
103412 "es.reflect.apply",
103413 "es.reflect.construct",
103414 "es.reflect.define-property",
103415 "es.reflect.delete-property",
103416 "es.reflect.get",
103417 "es.reflect.get-own-property-descriptor",
103418 "es.reflect.get-prototype-of",
103419 "es.reflect.has",
103420 "es.reflect.is-extensible",
103421 "es.reflect.own-keys",
103422 "es.reflect.prevent-extensions",
103423 "es.reflect.set",
103424 "es.reflect.set-prototype-of",
103425 "es.reflect.to-string-tag"
103426 ],
103427 "core-js/es/reflect/apply": [
103428 "es.reflect.apply"
103429 ],
103430 "core-js/es/reflect/construct": [
103431 "es.reflect.construct"
103432 ],
103433 "core-js/es/reflect/define-property": [
103434 "es.reflect.define-property"
103435 ],
103436 "core-js/es/reflect/delete-property": [
103437 "es.reflect.delete-property"
103438 ],
103439 "core-js/es/reflect/get": [
103440 "es.reflect.get"
103441 ],
103442 "core-js/es/reflect/get-own-property-descriptor": [
103443 "es.reflect.get-own-property-descriptor"
103444 ],
103445 "core-js/es/reflect/get-prototype-of": [
103446 "es.reflect.get-prototype-of"
103447 ],
103448 "core-js/es/reflect/has": [
103449 "es.reflect.has"
103450 ],
103451 "core-js/es/reflect/is-extensible": [
103452 "es.reflect.is-extensible"
103453 ],
103454 "core-js/es/reflect/own-keys": [
103455 "es.reflect.own-keys"
103456 ],
103457 "core-js/es/reflect/prevent-extensions": [
103458 "es.reflect.prevent-extensions"
103459 ],
103460 "core-js/es/reflect/set": [
103461 "es.reflect.set"
103462 ],
103463 "core-js/es/reflect/set-prototype-of": [
103464 "es.reflect.set-prototype-of"
103465 ],
103466 "core-js/es/reflect/to-string-tag": [
103467 "es.reflect.to-string-tag"
103468 ],
103469 "core-js/es/regexp": [
103470 "es.regexp.constructor",
103471 "es.regexp.dot-all",
103472 "es.regexp.exec",
103473 "es.regexp.flags",
103474 "es.regexp.sticky",
103475 "es.regexp.test",
103476 "es.regexp.to-string",
103477 "es.string.match",
103478 "es.string.replace",
103479 "es.string.search",
103480 "es.string.split"
103481 ],
103482 "core-js/es/regexp/constructor": [
103483 "es.regexp.constructor"
103484 ],
103485 "core-js/es/regexp/dot-all": [
103486 "es.regexp.constructor",
103487 "es.regexp.dot-all",
103488 "es.regexp.exec"
103489 ],
103490 "core-js/es/regexp/flags": [
103491 "es.regexp.flags"
103492 ],
103493 "core-js/es/regexp/match": [
103494 "es.string.match"
103495 ],
103496 "core-js/es/regexp/replace": [
103497 "es.string.replace"
103498 ],
103499 "core-js/es/regexp/search": [
103500 "es.string.search"
103501 ],
103502 "core-js/es/regexp/split": [
103503 "es.string.split"
103504 ],
103505 "core-js/es/regexp/sticky": [
103506 "es.regexp.constructor",
103507 "es.regexp.exec",
103508 "es.regexp.sticky"
103509 ],
103510 "core-js/es/regexp/test": [
103511 "es.regexp.exec",
103512 "es.regexp.test"
103513 ],
103514 "core-js/es/regexp/to-string": [
103515 "es.regexp.to-string"
103516 ],
103517 "core-js/es/set": [
103518 "es.object.to-string",
103519 "es.set",
103520 "es.string.iterator",
103521 "web.dom-collections.iterator"
103522 ],
103523 "core-js/es/string": [
103524 "es.regexp.exec",
103525 "es.string.code-point-at",
103526 "es.string.ends-with",
103527 "es.string.from-code-point",
103528 "es.string.includes",
103529 "es.string.iterator",
103530 "es.string.match",
103531 "es.string.match-all",
103532 "es.string.pad-end",
103533 "es.string.pad-start",
103534 "es.string.raw",
103535 "es.string.repeat",
103536 "es.string.replace",
103537 "es.string.replace-all",
103538 "es.string.search",
103539 "es.string.split",
103540 "es.string.starts-with",
103541 "es.string.substr",
103542 "es.string.trim",
103543 "es.string.trim-end",
103544 "es.string.trim-start",
103545 "es.string.anchor",
103546 "es.string.big",
103547 "es.string.blink",
103548 "es.string.bold",
103549 "es.string.fixed",
103550 "es.string.fontcolor",
103551 "es.string.fontsize",
103552 "es.string.italics",
103553 "es.string.link",
103554 "es.string.small",
103555 "es.string.strike",
103556 "es.string.sub",
103557 "es.string.sup"
103558 ],
103559 "core-js/es/string/anchor": [
103560 "es.string.anchor"
103561 ],
103562 "core-js/es/string/big": [
103563 "es.string.big"
103564 ],
103565 "core-js/es/string/blink": [
103566 "es.string.blink"
103567 ],
103568 "core-js/es/string/bold": [
103569 "es.string.bold"
103570 ],
103571 "core-js/es/string/code-point-at": [
103572 "es.string.code-point-at"
103573 ],
103574 "core-js/es/string/ends-with": [
103575 "es.string.ends-with"
103576 ],
103577 "core-js/es/string/fixed": [
103578 "es.string.fixed"
103579 ],
103580 "core-js/es/string/fontcolor": [
103581 "es.string.fontcolor"
103582 ],
103583 "core-js/es/string/fontsize": [
103584 "es.string.fontsize"
103585 ],
103586 "core-js/es/string/from-code-point": [
103587 "es.string.from-code-point"
103588 ],
103589 "core-js/es/string/includes": [
103590 "es.string.includes"
103591 ],
103592 "core-js/es/string/italics": [
103593 "es.string.italics"
103594 ],
103595 "core-js/es/string/iterator": [
103596 "es.string.iterator"
103597 ],
103598 "core-js/es/string/link": [
103599 "es.string.link"
103600 ],
103601 "core-js/es/string/match": [
103602 "es.regexp.exec",
103603 "es.string.match"
103604 ],
103605 "core-js/es/string/match-all": [
103606 "es.string.match-all"
103607 ],
103608 "core-js/es/string/pad-end": [
103609 "es.string.pad-end"
103610 ],
103611 "core-js/es/string/pad-start": [
103612 "es.string.pad-start"
103613 ],
103614 "core-js/es/string/raw": [
103615 "es.string.raw"
103616 ],
103617 "core-js/es/string/repeat": [
103618 "es.string.repeat"
103619 ],
103620 "core-js/es/string/replace": [
103621 "es.regexp.exec",
103622 "es.string.replace"
103623 ],
103624 "core-js/es/string/replace-all": [
103625 "es.string.replace-all"
103626 ],
103627 "core-js/es/string/search": [
103628 "es.regexp.exec",
103629 "es.string.search"
103630 ],
103631 "core-js/es/string/small": [
103632 "es.string.small"
103633 ],
103634 "core-js/es/string/split": [
103635 "es.regexp.exec",
103636 "es.string.split"
103637 ],
103638 "core-js/es/string/starts-with": [
103639 "es.string.starts-with"
103640 ],
103641 "core-js/es/string/strike": [
103642 "es.string.strike"
103643 ],
103644 "core-js/es/string/sub": [
103645 "es.string.sub"
103646 ],
103647 "core-js/es/string/substr": [
103648 "es.string.substr"
103649 ],
103650 "core-js/es/string/sup": [
103651 "es.string.sup"
103652 ],
103653 "core-js/es/string/trim": [
103654 "es.string.trim"
103655 ],
103656 "core-js/es/string/trim-end": [
103657 "es.string.trim-end"
103658 ],
103659 "core-js/es/string/trim-left": [
103660 "es.string.trim-start"
103661 ],
103662 "core-js/es/string/trim-right": [
103663 "es.string.trim-end"
103664 ],
103665 "core-js/es/string/trim-start": [
103666 "es.string.trim-start"
103667 ],
103668 "core-js/es/string/virtual": [
103669 "es.string.code-point-at",
103670 "es.string.ends-with",
103671 "es.string.includes",
103672 "es.string.iterator",
103673 "es.string.match",
103674 "es.string.match-all",
103675 "es.string.pad-end",
103676 "es.string.pad-start",
103677 "es.string.repeat",
103678 "es.string.replace",
103679 "es.string.replace-all",
103680 "es.string.search",
103681 "es.string.split",
103682 "es.string.starts-with",
103683 "es.string.substr",
103684 "es.string.trim",
103685 "es.string.trim-end",
103686 "es.string.trim-start",
103687 "es.string.anchor",
103688 "es.string.big",
103689 "es.string.blink",
103690 "es.string.bold",
103691 "es.string.fixed",
103692 "es.string.fontcolor",
103693 "es.string.fontsize",
103694 "es.string.italics",
103695 "es.string.link",
103696 "es.string.small",
103697 "es.string.strike",
103698 "es.string.sub",
103699 "es.string.sup"
103700 ],
103701 "core-js/es/string/virtual/anchor": [
103702 "es.string.anchor"
103703 ],
103704 "core-js/es/string/virtual/big": [
103705 "es.string.big"
103706 ],
103707 "core-js/es/string/virtual/blink": [
103708 "es.string.blink"
103709 ],
103710 "core-js/es/string/virtual/bold": [
103711 "es.string.bold"
103712 ],
103713 "core-js/es/string/virtual/code-point-at": [
103714 "es.string.code-point-at"
103715 ],
103716 "core-js/es/string/virtual/ends-with": [
103717 "es.string.ends-with"
103718 ],
103719 "core-js/es/string/virtual/fixed": [
103720 "es.string.fixed"
103721 ],
103722 "core-js/es/string/virtual/fontcolor": [
103723 "es.string.fontcolor"
103724 ],
103725 "core-js/es/string/virtual/fontsize": [
103726 "es.string.fontsize"
103727 ],
103728 "core-js/es/string/virtual/includes": [
103729 "es.string.includes"
103730 ],
103731 "core-js/es/string/virtual/italics": [
103732 "es.string.italics"
103733 ],
103734 "core-js/es/string/virtual/iterator": [
103735 "es.string.iterator"
103736 ],
103737 "core-js/es/string/virtual/link": [
103738 "es.string.link"
103739 ],
103740 "core-js/es/string/virtual/match-all": [
103741 "es.string.match-all"
103742 ],
103743 "core-js/es/string/virtual/pad-end": [
103744 "es.string.pad-end"
103745 ],
103746 "core-js/es/string/virtual/pad-start": [
103747 "es.string.pad-start"
103748 ],
103749 "core-js/es/string/virtual/repeat": [
103750 "es.string.repeat"
103751 ],
103752 "core-js/es/string/virtual/replace-all": [
103753 "es.string.replace-all"
103754 ],
103755 "core-js/es/string/virtual/small": [
103756 "es.string.small"
103757 ],
103758 "core-js/es/string/virtual/starts-with": [
103759 "es.string.starts-with"
103760 ],
103761 "core-js/es/string/virtual/strike": [
103762 "es.string.strike"
103763 ],
103764 "core-js/es/string/virtual/sub": [
103765 "es.string.sub"
103766 ],
103767 "core-js/es/string/virtual/substr": [
103768 "es.string.substr"
103769 ],
103770 "core-js/es/string/virtual/sup": [
103771 "es.string.sup"
103772 ],
103773 "core-js/es/string/virtual/trim": [
103774 "es.string.trim"
103775 ],
103776 "core-js/es/string/virtual/trim-end": [
103777 "es.string.trim-end"
103778 ],
103779 "core-js/es/string/virtual/trim-left": [
103780 "es.string.trim-start"
103781 ],
103782 "core-js/es/string/virtual/trim-right": [
103783 "es.string.trim-end"
103784 ],
103785 "core-js/es/string/virtual/trim-start": [
103786 "es.string.trim-start"
103787 ],
103788 "core-js/es/symbol": [
103789 "es.symbol",
103790 "es.symbol.description",
103791 "es.symbol.async-iterator",
103792 "es.symbol.has-instance",
103793 "es.symbol.is-concat-spreadable",
103794 "es.symbol.iterator",
103795 "es.symbol.match",
103796 "es.symbol.match-all",
103797 "es.symbol.replace",
103798 "es.symbol.search",
103799 "es.symbol.species",
103800 "es.symbol.split",
103801 "es.symbol.to-primitive",
103802 "es.symbol.to-string-tag",
103803 "es.symbol.unscopables",
103804 "es.array.concat",
103805 "es.json.to-string-tag",
103806 "es.math.to-string-tag",
103807 "es.object.to-string",
103808 "es.reflect.to-string-tag"
103809 ],
103810 "core-js/es/symbol/async-iterator": [
103811 "es.symbol.async-iterator"
103812 ],
103813 "core-js/es/symbol/description": [
103814 "es.symbol.description"
103815 ],
103816 "core-js/es/symbol/for": [
103817 "es.symbol"
103818 ],
103819 "core-js/es/symbol/has-instance": [
103820 "es.symbol.has-instance",
103821 "es.function.has-instance"
103822 ],
103823 "core-js/es/symbol/is-concat-spreadable": [
103824 "es.symbol.is-concat-spreadable",
103825 "es.array.concat"
103826 ],
103827 "core-js/es/symbol/iterator": [
103828 "es.symbol.iterator",
103829 "es.string.iterator",
103830 "web.dom-collections.iterator"
103831 ],
103832 "core-js/es/symbol/key-for": [
103833 "es.symbol"
103834 ],
103835 "core-js/es/symbol/match": [
103836 "es.symbol.match",
103837 "es.string.match"
103838 ],
103839 "core-js/es/symbol/match-all": [
103840 "es.symbol.match-all",
103841 "es.string.match-all"
103842 ],
103843 "core-js/es/symbol/replace": [
103844 "es.symbol.replace",
103845 "es.string.replace"
103846 ],
103847 "core-js/es/symbol/search": [
103848 "es.symbol.search",
103849 "es.string.search"
103850 ],
103851 "core-js/es/symbol/species": [
103852 "es.symbol.species"
103853 ],
103854 "core-js/es/symbol/split": [
103855 "es.symbol.split",
103856 "es.string.split"
103857 ],
103858 "core-js/es/symbol/to-primitive": [
103859 "es.symbol.to-primitive"
103860 ],
103861 "core-js/es/symbol/to-string-tag": [
103862 "es.symbol.to-string-tag",
103863 "es.json.to-string-tag",
103864 "es.math.to-string-tag",
103865 "es.object.to-string",
103866 "es.reflect.to-string-tag"
103867 ],
103868 "core-js/es/symbol/unscopables": [
103869 "es.symbol.unscopables"
103870 ],
103871 "core-js/es/typed-array": [
103872 "es.object.to-string",
103873 "es.typed-array.float32-array",
103874 "es.typed-array.float64-array",
103875 "es.typed-array.int8-array",
103876 "es.typed-array.int16-array",
103877 "es.typed-array.int32-array",
103878 "es.typed-array.uint8-array",
103879 "es.typed-array.uint8-clamped-array",
103880 "es.typed-array.uint16-array",
103881 "es.typed-array.uint32-array",
103882 "es.typed-array.copy-within",
103883 "es.typed-array.every",
103884 "es.typed-array.fill",
103885 "es.typed-array.filter",
103886 "es.typed-array.find",
103887 "es.typed-array.find-index",
103888 "es.typed-array.for-each",
103889 "es.typed-array.from",
103890 "es.typed-array.includes",
103891 "es.typed-array.index-of",
103892 "es.typed-array.iterator",
103893 "es.typed-array.join",
103894 "es.typed-array.last-index-of",
103895 "es.typed-array.map",
103896 "es.typed-array.of",
103897 "es.typed-array.reduce",
103898 "es.typed-array.reduce-right",
103899 "es.typed-array.reverse",
103900 "es.typed-array.set",
103901 "es.typed-array.slice",
103902 "es.typed-array.some",
103903 "es.typed-array.sort",
103904 "es.typed-array.subarray",
103905 "es.typed-array.to-locale-string",
103906 "es.typed-array.to-string"
103907 ],
103908 "core-js/es/typed-array/copy-within": [
103909 "es.typed-array.copy-within"
103910 ],
103911 "core-js/es/typed-array/entries": [
103912 "es.typed-array.iterator"
103913 ],
103914 "core-js/es/typed-array/every": [
103915 "es.typed-array.every"
103916 ],
103917 "core-js/es/typed-array/fill": [
103918 "es.typed-array.fill"
103919 ],
103920 "core-js/es/typed-array/filter": [
103921 "es.typed-array.filter"
103922 ],
103923 "core-js/es/typed-array/find": [
103924 "es.typed-array.find"
103925 ],
103926 "core-js/es/typed-array/find-index": [
103927 "es.typed-array.find-index"
103928 ],
103929 "core-js/es/typed-array/float32-array": [
103930 "es.object.to-string",
103931 "es.typed-array.float32-array",
103932 "es.typed-array.copy-within",
103933 "es.typed-array.every",
103934 "es.typed-array.fill",
103935 "es.typed-array.filter",
103936 "es.typed-array.find",
103937 "es.typed-array.find-index",
103938 "es.typed-array.for-each",
103939 "es.typed-array.from",
103940 "es.typed-array.includes",
103941 "es.typed-array.index-of",
103942 "es.typed-array.iterator",
103943 "es.typed-array.join",
103944 "es.typed-array.last-index-of",
103945 "es.typed-array.map",
103946 "es.typed-array.of",
103947 "es.typed-array.reduce",
103948 "es.typed-array.reduce-right",
103949 "es.typed-array.reverse",
103950 "es.typed-array.set",
103951 "es.typed-array.slice",
103952 "es.typed-array.some",
103953 "es.typed-array.sort",
103954 "es.typed-array.subarray",
103955 "es.typed-array.to-locale-string",
103956 "es.typed-array.to-string"
103957 ],
103958 "core-js/es/typed-array/float64-array": [
103959 "es.object.to-string",
103960 "es.typed-array.float64-array",
103961 "es.typed-array.copy-within",
103962 "es.typed-array.every",
103963 "es.typed-array.fill",
103964 "es.typed-array.filter",
103965 "es.typed-array.find",
103966 "es.typed-array.find-index",
103967 "es.typed-array.for-each",
103968 "es.typed-array.from",
103969 "es.typed-array.includes",
103970 "es.typed-array.index-of",
103971 "es.typed-array.iterator",
103972 "es.typed-array.join",
103973 "es.typed-array.last-index-of",
103974 "es.typed-array.map",
103975 "es.typed-array.of",
103976 "es.typed-array.reduce",
103977 "es.typed-array.reduce-right",
103978 "es.typed-array.reverse",
103979 "es.typed-array.set",
103980 "es.typed-array.slice",
103981 "es.typed-array.some",
103982 "es.typed-array.sort",
103983 "es.typed-array.subarray",
103984 "es.typed-array.to-locale-string",
103985 "es.typed-array.to-string"
103986 ],
103987 "core-js/es/typed-array/for-each": [
103988 "es.typed-array.for-each"
103989 ],
103990 "core-js/es/typed-array/from": [
103991 "es.typed-array.from"
103992 ],
103993 "core-js/es/typed-array/includes": [
103994 "es.typed-array.includes"
103995 ],
103996 "core-js/es/typed-array/index-of": [
103997 "es.typed-array.index-of"
103998 ],
103999 "core-js/es/typed-array/int16-array": [
104000 "es.object.to-string",
104001 "es.typed-array.int16-array",
104002 "es.typed-array.copy-within",
104003 "es.typed-array.every",
104004 "es.typed-array.fill",
104005 "es.typed-array.filter",
104006 "es.typed-array.find",
104007 "es.typed-array.find-index",
104008 "es.typed-array.for-each",
104009 "es.typed-array.from",
104010 "es.typed-array.includes",
104011 "es.typed-array.index-of",
104012 "es.typed-array.iterator",
104013 "es.typed-array.join",
104014 "es.typed-array.last-index-of",
104015 "es.typed-array.map",
104016 "es.typed-array.of",
104017 "es.typed-array.reduce",
104018 "es.typed-array.reduce-right",
104019 "es.typed-array.reverse",
104020 "es.typed-array.set",
104021 "es.typed-array.slice",
104022 "es.typed-array.some",
104023 "es.typed-array.sort",
104024 "es.typed-array.subarray",
104025 "es.typed-array.to-locale-string",
104026 "es.typed-array.to-string"
104027 ],
104028 "core-js/es/typed-array/int32-array": [
104029 "es.object.to-string",
104030 "es.typed-array.int32-array",
104031 "es.typed-array.copy-within",
104032 "es.typed-array.every",
104033 "es.typed-array.fill",
104034 "es.typed-array.filter",
104035 "es.typed-array.find",
104036 "es.typed-array.find-index",
104037 "es.typed-array.for-each",
104038 "es.typed-array.from",
104039 "es.typed-array.includes",
104040 "es.typed-array.index-of",
104041 "es.typed-array.iterator",
104042 "es.typed-array.join",
104043 "es.typed-array.last-index-of",
104044 "es.typed-array.map",
104045 "es.typed-array.of",
104046 "es.typed-array.reduce",
104047 "es.typed-array.reduce-right",
104048 "es.typed-array.reverse",
104049 "es.typed-array.set",
104050 "es.typed-array.slice",
104051 "es.typed-array.some",
104052 "es.typed-array.sort",
104053 "es.typed-array.subarray",
104054 "es.typed-array.to-locale-string",
104055 "es.typed-array.to-string"
104056 ],
104057 "core-js/es/typed-array/int8-array": [
104058 "es.object.to-string",
104059 "es.typed-array.int8-array",
104060 "es.typed-array.copy-within",
104061 "es.typed-array.every",
104062 "es.typed-array.fill",
104063 "es.typed-array.filter",
104064 "es.typed-array.find",
104065 "es.typed-array.find-index",
104066 "es.typed-array.for-each",
104067 "es.typed-array.from",
104068 "es.typed-array.includes",
104069 "es.typed-array.index-of",
104070 "es.typed-array.iterator",
104071 "es.typed-array.join",
104072 "es.typed-array.last-index-of",
104073 "es.typed-array.map",
104074 "es.typed-array.of",
104075 "es.typed-array.reduce",
104076 "es.typed-array.reduce-right",
104077 "es.typed-array.reverse",
104078 "es.typed-array.set",
104079 "es.typed-array.slice",
104080 "es.typed-array.some",
104081 "es.typed-array.sort",
104082 "es.typed-array.subarray",
104083 "es.typed-array.to-locale-string",
104084 "es.typed-array.to-string"
104085 ],
104086 "core-js/es/typed-array/iterator": [
104087 "es.typed-array.iterator"
104088 ],
104089 "core-js/es/typed-array/join": [
104090 "es.typed-array.join"
104091 ],
104092 "core-js/es/typed-array/keys": [
104093 "es.typed-array.iterator"
104094 ],
104095 "core-js/es/typed-array/last-index-of": [
104096 "es.typed-array.last-index-of"
104097 ],
104098 "core-js/es/typed-array/map": [
104099 "es.typed-array.map"
104100 ],
104101 "core-js/es/typed-array/methods": [
104102 "es.object.to-string",
104103 "es.typed-array.copy-within",
104104 "es.typed-array.every",
104105 "es.typed-array.fill",
104106 "es.typed-array.filter",
104107 "es.typed-array.find",
104108 "es.typed-array.find-index",
104109 "es.typed-array.for-each",
104110 "es.typed-array.from",
104111 "es.typed-array.includes",
104112 "es.typed-array.index-of",
104113 "es.typed-array.iterator",
104114 "es.typed-array.join",
104115 "es.typed-array.last-index-of",
104116 "es.typed-array.map",
104117 "es.typed-array.of",
104118 "es.typed-array.reduce",
104119 "es.typed-array.reduce-right",
104120 "es.typed-array.reverse",
104121 "es.typed-array.set",
104122 "es.typed-array.slice",
104123 "es.typed-array.some",
104124 "es.typed-array.sort",
104125 "es.typed-array.subarray",
104126 "es.typed-array.to-locale-string",
104127 "es.typed-array.to-string"
104128 ],
104129 "core-js/es/typed-array/of": [
104130 "es.typed-array.of"
104131 ],
104132 "core-js/es/typed-array/reduce": [
104133 "es.typed-array.reduce"
104134 ],
104135 "core-js/es/typed-array/reduce-right": [
104136 "es.typed-array.reduce-right"
104137 ],
104138 "core-js/es/typed-array/reverse": [
104139 "es.typed-array.reverse"
104140 ],
104141 "core-js/es/typed-array/set": [
104142 "es.typed-array.set"
104143 ],
104144 "core-js/es/typed-array/slice": [
104145 "es.typed-array.slice"
104146 ],
104147 "core-js/es/typed-array/some": [
104148 "es.typed-array.some"
104149 ],
104150 "core-js/es/typed-array/sort": [
104151 "es.typed-array.sort"
104152 ],
104153 "core-js/es/typed-array/subarray": [
104154 "es.typed-array.subarray"
104155 ],
104156 "core-js/es/typed-array/to-locale-string": [
104157 "es.typed-array.to-locale-string"
104158 ],
104159 "core-js/es/typed-array/to-string": [
104160 "es.typed-array.to-string"
104161 ],
104162 "core-js/es/typed-array/uint16-array": [
104163 "es.object.to-string",
104164 "es.typed-array.uint16-array",
104165 "es.typed-array.copy-within",
104166 "es.typed-array.every",
104167 "es.typed-array.fill",
104168 "es.typed-array.filter",
104169 "es.typed-array.find",
104170 "es.typed-array.find-index",
104171 "es.typed-array.for-each",
104172 "es.typed-array.from",
104173 "es.typed-array.includes",
104174 "es.typed-array.index-of",
104175 "es.typed-array.iterator",
104176 "es.typed-array.join",
104177 "es.typed-array.last-index-of",
104178 "es.typed-array.map",
104179 "es.typed-array.of",
104180 "es.typed-array.reduce",
104181 "es.typed-array.reduce-right",
104182 "es.typed-array.reverse",
104183 "es.typed-array.set",
104184 "es.typed-array.slice",
104185 "es.typed-array.some",
104186 "es.typed-array.sort",
104187 "es.typed-array.subarray",
104188 "es.typed-array.to-locale-string",
104189 "es.typed-array.to-string"
104190 ],
104191 "core-js/es/typed-array/uint32-array": [
104192 "es.object.to-string",
104193 "es.typed-array.uint32-array",
104194 "es.typed-array.copy-within",
104195 "es.typed-array.every",
104196 "es.typed-array.fill",
104197 "es.typed-array.filter",
104198 "es.typed-array.find",
104199 "es.typed-array.find-index",
104200 "es.typed-array.for-each",
104201 "es.typed-array.from",
104202 "es.typed-array.includes",
104203 "es.typed-array.index-of",
104204 "es.typed-array.iterator",
104205 "es.typed-array.join",
104206 "es.typed-array.last-index-of",
104207 "es.typed-array.map",
104208 "es.typed-array.of",
104209 "es.typed-array.reduce",
104210 "es.typed-array.reduce-right",
104211 "es.typed-array.reverse",
104212 "es.typed-array.set",
104213 "es.typed-array.slice",
104214 "es.typed-array.some",
104215 "es.typed-array.sort",
104216 "es.typed-array.subarray",
104217 "es.typed-array.to-locale-string",
104218 "es.typed-array.to-string"
104219 ],
104220 "core-js/es/typed-array/uint8-array": [
104221 "es.object.to-string",
104222 "es.typed-array.uint8-array",
104223 "es.typed-array.copy-within",
104224 "es.typed-array.every",
104225 "es.typed-array.fill",
104226 "es.typed-array.filter",
104227 "es.typed-array.find",
104228 "es.typed-array.find-index",
104229 "es.typed-array.for-each",
104230 "es.typed-array.from",
104231 "es.typed-array.includes",
104232 "es.typed-array.index-of",
104233 "es.typed-array.iterator",
104234 "es.typed-array.join",
104235 "es.typed-array.last-index-of",
104236 "es.typed-array.map",
104237 "es.typed-array.of",
104238 "es.typed-array.reduce",
104239 "es.typed-array.reduce-right",
104240 "es.typed-array.reverse",
104241 "es.typed-array.set",
104242 "es.typed-array.slice",
104243 "es.typed-array.some",
104244 "es.typed-array.sort",
104245 "es.typed-array.subarray",
104246 "es.typed-array.to-locale-string",
104247 "es.typed-array.to-string"
104248 ],
104249 "core-js/es/typed-array/uint8-clamped-array": [
104250 "es.object.to-string",
104251 "es.typed-array.uint8-clamped-array",
104252 "es.typed-array.copy-within",
104253 "es.typed-array.every",
104254 "es.typed-array.fill",
104255 "es.typed-array.filter",
104256 "es.typed-array.find",
104257 "es.typed-array.find-index",
104258 "es.typed-array.for-each",
104259 "es.typed-array.from",
104260 "es.typed-array.includes",
104261 "es.typed-array.index-of",
104262 "es.typed-array.iterator",
104263 "es.typed-array.join",
104264 "es.typed-array.last-index-of",
104265 "es.typed-array.map",
104266 "es.typed-array.of",
104267 "es.typed-array.reduce",
104268 "es.typed-array.reduce-right",
104269 "es.typed-array.reverse",
104270 "es.typed-array.set",
104271 "es.typed-array.slice",
104272 "es.typed-array.some",
104273 "es.typed-array.sort",
104274 "es.typed-array.subarray",
104275 "es.typed-array.to-locale-string",
104276 "es.typed-array.to-string"
104277 ],
104278 "core-js/es/typed-array/values": [
104279 "es.typed-array.iterator"
104280 ],
104281 "core-js/es/unescape": [
104282 "es.unescape"
104283 ],
104284 "core-js/es/weak-map": [
104285 "es.object.to-string",
104286 "es.weak-map",
104287 "web.dom-collections.iterator"
104288 ],
104289 "core-js/es/weak-set": [
104290 "es.object.to-string",
104291 "es.weak-set",
104292 "web.dom-collections.iterator"
104293 ],
104294 "core-js/features": [
104295 "es.symbol",
104296 "es.symbol.description",
104297 "es.symbol.async-iterator",
104298 "es.symbol.has-instance",
104299 "es.symbol.is-concat-spreadable",
104300 "es.symbol.iterator",
104301 "es.symbol.match",
104302 "es.symbol.match-all",
104303 "es.symbol.replace",
104304 "es.symbol.search",
104305 "es.symbol.species",
104306 "es.symbol.split",
104307 "es.symbol.to-primitive",
104308 "es.symbol.to-string-tag",
104309 "es.symbol.unscopables",
104310 "es.aggregate-error",
104311 "es.array.concat",
104312 "es.array.copy-within",
104313 "es.array.every",
104314 "es.array.fill",
104315 "es.array.filter",
104316 "es.array.find",
104317 "es.array.find-index",
104318 "es.array.flat",
104319 "es.array.flat-map",
104320 "es.array.for-each",
104321 "es.array.from",
104322 "es.array.includes",
104323 "es.array.index-of",
104324 "es.array.is-array",
104325 "es.array.iterator",
104326 "es.array.join",
104327 "es.array.last-index-of",
104328 "es.array.map",
104329 "es.array.of",
104330 "es.array.reduce",
104331 "es.array.reduce-right",
104332 "es.array.reverse",
104333 "es.array.slice",
104334 "es.array.some",
104335 "es.array.sort",
104336 "es.array.species",
104337 "es.array.splice",
104338 "es.array.unscopables.flat",
104339 "es.array.unscopables.flat-map",
104340 "es.array-buffer.constructor",
104341 "es.array-buffer.is-view",
104342 "es.array-buffer.slice",
104343 "es.data-view",
104344 "es.date.get-year",
104345 "es.date.now",
104346 "es.date.set-year",
104347 "es.date.to-gmt-string",
104348 "es.date.to-iso-string",
104349 "es.date.to-json",
104350 "es.date.to-primitive",
104351 "es.date.to-string",
104352 "es.escape",
104353 "es.function.bind",
104354 "es.function.has-instance",
104355 "es.function.name",
104356 "es.global-this",
104357 "es.json.stringify",
104358 "es.json.to-string-tag",
104359 "es.map",
104360 "es.math.acosh",
104361 "es.math.asinh",
104362 "es.math.atanh",
104363 "es.math.cbrt",
104364 "es.math.clz32",
104365 "es.math.cosh",
104366 "es.math.expm1",
104367 "es.math.fround",
104368 "es.math.hypot",
104369 "es.math.imul",
104370 "es.math.log10",
104371 "es.math.log1p",
104372 "es.math.log2",
104373 "es.math.sign",
104374 "es.math.sinh",
104375 "es.math.tanh",
104376 "es.math.to-string-tag",
104377 "es.math.trunc",
104378 "es.number.constructor",
104379 "es.number.epsilon",
104380 "es.number.is-finite",
104381 "es.number.is-integer",
104382 "es.number.is-nan",
104383 "es.number.is-safe-integer",
104384 "es.number.max-safe-integer",
104385 "es.number.min-safe-integer",
104386 "es.number.parse-float",
104387 "es.number.parse-int",
104388 "es.number.to-fixed",
104389 "es.number.to-precision",
104390 "es.object.assign",
104391 "es.object.create",
104392 "es.object.define-getter",
104393 "es.object.define-properties",
104394 "es.object.define-property",
104395 "es.object.define-setter",
104396 "es.object.entries",
104397 "es.object.freeze",
104398 "es.object.from-entries",
104399 "es.object.get-own-property-descriptor",
104400 "es.object.get-own-property-descriptors",
104401 "es.object.get-own-property-names",
104402 "es.object.get-prototype-of",
104403 "es.object.is",
104404 "es.object.is-extensible",
104405 "es.object.is-frozen",
104406 "es.object.is-sealed",
104407 "es.object.keys",
104408 "es.object.lookup-getter",
104409 "es.object.lookup-setter",
104410 "es.object.prevent-extensions",
104411 "es.object.seal",
104412 "es.object.set-prototype-of",
104413 "es.object.to-string",
104414 "es.object.values",
104415 "es.parse-float",
104416 "es.parse-int",
104417 "es.promise",
104418 "es.promise.all-settled",
104419 "es.promise.any",
104420 "es.promise.finally",
104421 "es.reflect.apply",
104422 "es.reflect.construct",
104423 "es.reflect.define-property",
104424 "es.reflect.delete-property",
104425 "es.reflect.get",
104426 "es.reflect.get-own-property-descriptor",
104427 "es.reflect.get-prototype-of",
104428 "es.reflect.has",
104429 "es.reflect.is-extensible",
104430 "es.reflect.own-keys",
104431 "es.reflect.prevent-extensions",
104432 "es.reflect.set",
104433 "es.reflect.set-prototype-of",
104434 "es.reflect.to-string-tag",
104435 "es.regexp.constructor",
104436 "es.regexp.dot-all",
104437 "es.regexp.exec",
104438 "es.regexp.flags",
104439 "es.regexp.sticky",
104440 "es.regexp.test",
104441 "es.regexp.to-string",
104442 "es.set",
104443 "es.string.code-point-at",
104444 "es.string.ends-with",
104445 "es.string.from-code-point",
104446 "es.string.includes",
104447 "es.string.iterator",
104448 "es.string.match",
104449 "es.string.match-all",
104450 "es.string.pad-end",
104451 "es.string.pad-start",
104452 "es.string.raw",
104453 "es.string.repeat",
104454 "es.string.replace",
104455 "es.string.replace-all",
104456 "es.string.search",
104457 "es.string.split",
104458 "es.string.starts-with",
104459 "es.string.substr",
104460 "es.string.trim",
104461 "es.string.trim-end",
104462 "es.string.trim-start",
104463 "es.string.anchor",
104464 "es.string.big",
104465 "es.string.blink",
104466 "es.string.bold",
104467 "es.string.fixed",
104468 "es.string.fontcolor",
104469 "es.string.fontsize",
104470 "es.string.italics",
104471 "es.string.link",
104472 "es.string.small",
104473 "es.string.strike",
104474 "es.string.sub",
104475 "es.string.sup",
104476 "es.typed-array.float32-array",
104477 "es.typed-array.float64-array",
104478 "es.typed-array.int8-array",
104479 "es.typed-array.int16-array",
104480 "es.typed-array.int32-array",
104481 "es.typed-array.uint8-array",
104482 "es.typed-array.uint8-clamped-array",
104483 "es.typed-array.uint16-array",
104484 "es.typed-array.uint32-array",
104485 "es.typed-array.copy-within",
104486 "es.typed-array.every",
104487 "es.typed-array.fill",
104488 "es.typed-array.filter",
104489 "es.typed-array.find",
104490 "es.typed-array.find-index",
104491 "es.typed-array.for-each",
104492 "es.typed-array.from",
104493 "es.typed-array.includes",
104494 "es.typed-array.index-of",
104495 "es.typed-array.iterator",
104496 "es.typed-array.join",
104497 "es.typed-array.last-index-of",
104498 "es.typed-array.map",
104499 "es.typed-array.of",
104500 "es.typed-array.reduce",
104501 "es.typed-array.reduce-right",
104502 "es.typed-array.reverse",
104503 "es.typed-array.set",
104504 "es.typed-array.slice",
104505 "es.typed-array.some",
104506 "es.typed-array.sort",
104507 "es.typed-array.subarray",
104508 "es.typed-array.to-locale-string",
104509 "es.typed-array.to-string",
104510 "es.unescape",
104511 "es.weak-map",
104512 "es.weak-set",
104513 "esnext.aggregate-error",
104514 "esnext.array.at",
104515 "esnext.array.filter-out",
104516 "esnext.array.find-last",
104517 "esnext.array.find-last-index",
104518 "esnext.array.is-template-object",
104519 "esnext.array.last-index",
104520 "esnext.array.last-item",
104521 "esnext.array.unique-by",
104522 "esnext.async-iterator.constructor",
104523 "esnext.async-iterator.as-indexed-pairs",
104524 "esnext.async-iterator.drop",
104525 "esnext.async-iterator.every",
104526 "esnext.async-iterator.filter",
104527 "esnext.async-iterator.find",
104528 "esnext.async-iterator.flat-map",
104529 "esnext.async-iterator.for-each",
104530 "esnext.async-iterator.from",
104531 "esnext.async-iterator.map",
104532 "esnext.async-iterator.reduce",
104533 "esnext.async-iterator.some",
104534 "esnext.async-iterator.take",
104535 "esnext.async-iterator.to-array",
104536 "esnext.bigint.range",
104537 "esnext.composite-key",
104538 "esnext.composite-symbol",
104539 "esnext.global-this",
104540 "esnext.iterator.constructor",
104541 "esnext.iterator.as-indexed-pairs",
104542 "esnext.iterator.drop",
104543 "esnext.iterator.every",
104544 "esnext.iterator.filter",
104545 "esnext.iterator.find",
104546 "esnext.iterator.flat-map",
104547 "esnext.iterator.for-each",
104548 "esnext.iterator.from",
104549 "esnext.iterator.map",
104550 "esnext.iterator.reduce",
104551 "esnext.iterator.some",
104552 "esnext.iterator.take",
104553 "esnext.iterator.to-array",
104554 "esnext.map.delete-all",
104555 "esnext.map.emplace",
104556 "esnext.map.every",
104557 "esnext.map.filter",
104558 "esnext.map.find",
104559 "esnext.map.find-key",
104560 "esnext.map.from",
104561 "esnext.map.group-by",
104562 "esnext.map.includes",
104563 "esnext.map.key-by",
104564 "esnext.map.key-of",
104565 "esnext.map.map-keys",
104566 "esnext.map.map-values",
104567 "esnext.map.merge",
104568 "esnext.map.of",
104569 "esnext.map.reduce",
104570 "esnext.map.some",
104571 "esnext.map.update",
104572 "esnext.map.update-or-insert",
104573 "esnext.map.upsert",
104574 "esnext.math.clamp",
104575 "esnext.math.deg-per-rad",
104576 "esnext.math.degrees",
104577 "esnext.math.fscale",
104578 "esnext.math.iaddh",
104579 "esnext.math.imulh",
104580 "esnext.math.isubh",
104581 "esnext.math.rad-per-deg",
104582 "esnext.math.radians",
104583 "esnext.math.scale",
104584 "esnext.math.seeded-prng",
104585 "esnext.math.signbit",
104586 "esnext.math.umulh",
104587 "esnext.number.from-string",
104588 "esnext.number.range",
104589 "esnext.object.has-own",
104590 "esnext.object.iterate-entries",
104591 "esnext.object.iterate-keys",
104592 "esnext.object.iterate-values",
104593 "esnext.observable",
104594 "esnext.promise.all-settled",
104595 "esnext.promise.any",
104596 "esnext.promise.try",
104597 "esnext.reflect.define-metadata",
104598 "esnext.reflect.delete-metadata",
104599 "esnext.reflect.get-metadata",
104600 "esnext.reflect.get-metadata-keys",
104601 "esnext.reflect.get-own-metadata",
104602 "esnext.reflect.get-own-metadata-keys",
104603 "esnext.reflect.has-metadata",
104604 "esnext.reflect.has-own-metadata",
104605 "esnext.reflect.metadata",
104606 "esnext.set.add-all",
104607 "esnext.set.delete-all",
104608 "esnext.set.difference",
104609 "esnext.set.every",
104610 "esnext.set.filter",
104611 "esnext.set.find",
104612 "esnext.set.from",
104613 "esnext.set.intersection",
104614 "esnext.set.is-disjoint-from",
104615 "esnext.set.is-subset-of",
104616 "esnext.set.is-superset-of",
104617 "esnext.set.join",
104618 "esnext.set.map",
104619 "esnext.set.of",
104620 "esnext.set.reduce",
104621 "esnext.set.some",
104622 "esnext.set.symmetric-difference",
104623 "esnext.set.union",
104624 "esnext.string.at",
104625 "esnext.string.code-points",
104626 "esnext.string.match-all",
104627 "esnext.string.replace-all",
104628 "esnext.symbol.async-dispose",
104629 "esnext.symbol.dispose",
104630 "esnext.symbol.matcher",
104631 "esnext.symbol.metadata",
104632 "esnext.symbol.observable",
104633 "esnext.symbol.pattern-match",
104634 "esnext.symbol.replace-all",
104635 "esnext.typed-array.at",
104636 "esnext.typed-array.filter-out",
104637 "esnext.typed-array.find-last",
104638 "esnext.typed-array.find-last-index",
104639 "esnext.typed-array.unique-by",
104640 "esnext.weak-map.delete-all",
104641 "esnext.weak-map.from",
104642 "esnext.weak-map.of",
104643 "esnext.weak-map.emplace",
104644 "esnext.weak-map.upsert",
104645 "esnext.weak-set.add-all",
104646 "esnext.weak-set.delete-all",
104647 "esnext.weak-set.from",
104648 "esnext.weak-set.of",
104649 "web.dom-collections.for-each",
104650 "web.dom-collections.iterator",
104651 "web.immediate",
104652 "web.queue-microtask",
104653 "web.timers",
104654 "web.url",
104655 "web.url.to-json",
104656 "web.url-search-params"
104657 ],
104658 "core-js/features/aggregate-error": [
104659 "es.aggregate-error",
104660 "es.string.iterator",
104661 "esnext.aggregate-error",
104662 "web.dom-collections.iterator"
104663 ],
104664 "core-js/features/array": [
104665 "es.array.concat",
104666 "es.array.copy-within",
104667 "es.array.every",
104668 "es.array.fill",
104669 "es.array.filter",
104670 "es.array.find",
104671 "es.array.find-index",
104672 "es.array.flat",
104673 "es.array.flat-map",
104674 "es.array.for-each",
104675 "es.array.from",
104676 "es.array.includes",
104677 "es.array.index-of",
104678 "es.array.is-array",
104679 "es.array.iterator",
104680 "es.array.join",
104681 "es.array.last-index-of",
104682 "es.array.map",
104683 "es.array.of",
104684 "es.array.reduce",
104685 "es.array.reduce-right",
104686 "es.array.reverse",
104687 "es.array.slice",
104688 "es.array.some",
104689 "es.array.sort",
104690 "es.array.species",
104691 "es.array.splice",
104692 "es.array.unscopables.flat",
104693 "es.array.unscopables.flat-map",
104694 "es.map",
104695 "es.string.iterator",
104696 "esnext.array.at",
104697 "esnext.array.filter-out",
104698 "esnext.array.find-last",
104699 "esnext.array.find-last-index",
104700 "esnext.array.is-template-object",
104701 "esnext.array.last-index",
104702 "esnext.array.last-item",
104703 "esnext.array.unique-by"
104704 ],
104705 "core-js/features/array-buffer": [
104706 "es.array-buffer.constructor",
104707 "es.array-buffer.is-view",
104708 "es.array-buffer.slice",
104709 "es.object.to-string"
104710 ],
104711 "core-js/features/array-buffer/constructor": [
104712 "es.array-buffer.constructor",
104713 "es.object.to-string"
104714 ],
104715 "core-js/features/array-buffer/is-view": [
104716 "es.array-buffer.is-view"
104717 ],
104718 "core-js/features/array-buffer/slice": [
104719 "es.array-buffer.slice"
104720 ],
104721 "core-js/features/array/at": [
104722 "esnext.array.at"
104723 ],
104724 "core-js/features/array/concat": [
104725 "es.array.concat"
104726 ],
104727 "core-js/features/array/copy-within": [
104728 "es.array.copy-within"
104729 ],
104730 "core-js/features/array/entries": [
104731 "es.array.iterator"
104732 ],
104733 "core-js/features/array/every": [
104734 "es.array.every"
104735 ],
104736 "core-js/features/array/fill": [
104737 "es.array.fill"
104738 ],
104739 "core-js/features/array/filter": [
104740 "es.array.filter"
104741 ],
104742 "core-js/features/array/filter-out": [
104743 "esnext.array.filter-out"
104744 ],
104745 "core-js/features/array/find": [
104746 "es.array.find"
104747 ],
104748 "core-js/features/array/find-index": [
104749 "es.array.find-index"
104750 ],
104751 "core-js/features/array/find-last": [
104752 "esnext.array.find-last"
104753 ],
104754 "core-js/features/array/find-last-index": [
104755 "esnext.array.find-last-index"
104756 ],
104757 "core-js/features/array/flat": [
104758 "es.array.flat",
104759 "es.array.unscopables.flat"
104760 ],
104761 "core-js/features/array/flat-map": [
104762 "es.array.flat-map",
104763 "es.array.unscopables.flat-map"
104764 ],
104765 "core-js/features/array/for-each": [
104766 "es.array.for-each"
104767 ],
104768 "core-js/features/array/from": [
104769 "es.array.from",
104770 "es.string.iterator"
104771 ],
104772 "core-js/features/array/includes": [
104773 "es.array.includes"
104774 ],
104775 "core-js/features/array/index-of": [
104776 "es.array.index-of"
104777 ],
104778 "core-js/features/array/is-array": [
104779 "es.array.is-array"
104780 ],
104781 "core-js/features/array/is-template-object": [
104782 "esnext.array.is-template-object"
104783 ],
104784 "core-js/features/array/iterator": [
104785 "es.array.iterator"
104786 ],
104787 "core-js/features/array/join": [
104788 "es.array.join"
104789 ],
104790 "core-js/features/array/keys": [
104791 "es.array.iterator"
104792 ],
104793 "core-js/features/array/last-index": [
104794 "esnext.array.last-index"
104795 ],
104796 "core-js/features/array/last-index-of": [
104797 "es.array.last-index-of"
104798 ],
104799 "core-js/features/array/last-item": [
104800 "esnext.array.last-item"
104801 ],
104802 "core-js/features/array/map": [
104803 "es.array.map"
104804 ],
104805 "core-js/features/array/of": [
104806 "es.array.of"
104807 ],
104808 "core-js/features/array/reduce": [
104809 "es.array.reduce"
104810 ],
104811 "core-js/features/array/reduce-right": [
104812 "es.array.reduce-right"
104813 ],
104814 "core-js/features/array/reverse": [
104815 "es.array.reverse"
104816 ],
104817 "core-js/features/array/slice": [
104818 "es.array.slice"
104819 ],
104820 "core-js/features/array/some": [
104821 "es.array.some"
104822 ],
104823 "core-js/features/array/sort": [
104824 "es.array.sort"
104825 ],
104826 "core-js/features/array/splice": [
104827 "es.array.splice"
104828 ],
104829 "core-js/features/array/unique-by": [
104830 "es.map",
104831 "esnext.array.unique-by"
104832 ],
104833 "core-js/features/array/values": [
104834 "es.array.iterator"
104835 ],
104836 "core-js/features/array/virtual": [
104837 "es.array.concat",
104838 "es.array.copy-within",
104839 "es.array.every",
104840 "es.array.fill",
104841 "es.array.filter",
104842 "es.array.find",
104843 "es.array.find-index",
104844 "es.array.flat",
104845 "es.array.flat-map",
104846 "es.array.for-each",
104847 "es.array.includes",
104848 "es.array.index-of",
104849 "es.array.iterator",
104850 "es.array.join",
104851 "es.array.last-index-of",
104852 "es.array.map",
104853 "es.array.reduce",
104854 "es.array.reduce-right",
104855 "es.array.reverse",
104856 "es.array.slice",
104857 "es.array.some",
104858 "es.array.sort",
104859 "es.array.species",
104860 "es.array.splice",
104861 "es.array.unscopables.flat",
104862 "es.array.unscopables.flat-map",
104863 "es.map",
104864 "esnext.array.at",
104865 "esnext.array.filter-out",
104866 "esnext.array.find-last",
104867 "esnext.array.find-last-index",
104868 "esnext.array.unique-by"
104869 ],
104870 "core-js/features/array/virtual/at": [
104871 "esnext.array.at"
104872 ],
104873 "core-js/features/array/virtual/concat": [
104874 "es.array.concat"
104875 ],
104876 "core-js/features/array/virtual/copy-within": [
104877 "es.array.copy-within"
104878 ],
104879 "core-js/features/array/virtual/entries": [
104880 "es.array.iterator"
104881 ],
104882 "core-js/features/array/virtual/every": [
104883 "es.array.every"
104884 ],
104885 "core-js/features/array/virtual/fill": [
104886 "es.array.fill"
104887 ],
104888 "core-js/features/array/virtual/filter": [
104889 "es.array.filter"
104890 ],
104891 "core-js/features/array/virtual/filter-out": [
104892 "esnext.array.filter-out"
104893 ],
104894 "core-js/features/array/virtual/find": [
104895 "es.array.find"
104896 ],
104897 "core-js/features/array/virtual/find-index": [
104898 "es.array.find-index"
104899 ],
104900 "core-js/features/array/virtual/find-last": [
104901 "esnext.array.find-last"
104902 ],
104903 "core-js/features/array/virtual/find-last-index": [
104904 "esnext.array.find-last-index"
104905 ],
104906 "core-js/features/array/virtual/flat": [
104907 "es.array.flat",
104908 "es.array.unscopables.flat"
104909 ],
104910 "core-js/features/array/virtual/flat-map": [
104911 "es.array.flat-map",
104912 "es.array.unscopables.flat-map"
104913 ],
104914 "core-js/features/array/virtual/for-each": [
104915 "es.array.for-each"
104916 ],
104917 "core-js/features/array/virtual/includes": [
104918 "es.array.includes"
104919 ],
104920 "core-js/features/array/virtual/index-of": [
104921 "es.array.index-of"
104922 ],
104923 "core-js/features/array/virtual/iterator": [
104924 "es.array.iterator"
104925 ],
104926 "core-js/features/array/virtual/join": [
104927 "es.array.join"
104928 ],
104929 "core-js/features/array/virtual/keys": [
104930 "es.array.iterator"
104931 ],
104932 "core-js/features/array/virtual/last-index-of": [
104933 "es.array.last-index-of"
104934 ],
104935 "core-js/features/array/virtual/map": [
104936 "es.array.map"
104937 ],
104938 "core-js/features/array/virtual/reduce": [
104939 "es.array.reduce"
104940 ],
104941 "core-js/features/array/virtual/reduce-right": [
104942 "es.array.reduce-right"
104943 ],
104944 "core-js/features/array/virtual/reverse": [
104945 "es.array.reverse"
104946 ],
104947 "core-js/features/array/virtual/slice": [
104948 "es.array.slice"
104949 ],
104950 "core-js/features/array/virtual/some": [
104951 "es.array.some"
104952 ],
104953 "core-js/features/array/virtual/sort": [
104954 "es.array.sort"
104955 ],
104956 "core-js/features/array/virtual/splice": [
104957 "es.array.splice"
104958 ],
104959 "core-js/features/array/virtual/unique-by": [
104960 "es.map",
104961 "esnext.array.unique-by"
104962 ],
104963 "core-js/features/array/virtual/values": [
104964 "es.array.iterator"
104965 ],
104966 "core-js/features/async-iterator": [
104967 "es.object.to-string",
104968 "es.promise",
104969 "es.string.iterator",
104970 "esnext.async-iterator.constructor",
104971 "esnext.async-iterator.as-indexed-pairs",
104972 "esnext.async-iterator.drop",
104973 "esnext.async-iterator.every",
104974 "esnext.async-iterator.filter",
104975 "esnext.async-iterator.find",
104976 "esnext.async-iterator.flat-map",
104977 "esnext.async-iterator.for-each",
104978 "esnext.async-iterator.from",
104979 "esnext.async-iterator.map",
104980 "esnext.async-iterator.reduce",
104981 "esnext.async-iterator.some",
104982 "esnext.async-iterator.take",
104983 "esnext.async-iterator.to-array",
104984 "web.dom-collections.iterator"
104985 ],
104986 "core-js/features/async-iterator/as-indexed-pairs": [
104987 "es.object.to-string",
104988 "es.promise",
104989 "es.string.iterator",
104990 "esnext.async-iterator.constructor",
104991 "esnext.async-iterator.as-indexed-pairs",
104992 "web.dom-collections.iterator"
104993 ],
104994 "core-js/features/async-iterator/drop": [
104995 "es.object.to-string",
104996 "es.promise",
104997 "es.string.iterator",
104998 "esnext.async-iterator.constructor",
104999 "esnext.async-iterator.drop",
105000 "web.dom-collections.iterator"
105001 ],
105002 "core-js/features/async-iterator/every": [
105003 "es.object.to-string",
105004 "es.promise",
105005 "es.string.iterator",
105006 "esnext.async-iterator.constructor",
105007 "esnext.async-iterator.every",
105008 "web.dom-collections.iterator"
105009 ],
105010 "core-js/features/async-iterator/filter": [
105011 "es.object.to-string",
105012 "es.promise",
105013 "es.string.iterator",
105014 "esnext.async-iterator.constructor",
105015 "esnext.async-iterator.filter",
105016 "web.dom-collections.iterator"
105017 ],
105018 "core-js/features/async-iterator/find": [
105019 "es.object.to-string",
105020 "es.promise",
105021 "es.string.iterator",
105022 "esnext.async-iterator.constructor",
105023 "esnext.async-iterator.find",
105024 "web.dom-collections.iterator"
105025 ],
105026 "core-js/features/async-iterator/flat-map": [
105027 "es.object.to-string",
105028 "es.promise",
105029 "es.string.iterator",
105030 "esnext.async-iterator.constructor",
105031 "esnext.async-iterator.flat-map",
105032 "web.dom-collections.iterator"
105033 ],
105034 "core-js/features/async-iterator/for-each": [
105035 "es.object.to-string",
105036 "es.promise",
105037 "es.string.iterator",
105038 "esnext.async-iterator.constructor",
105039 "esnext.async-iterator.for-each",
105040 "web.dom-collections.iterator"
105041 ],
105042 "core-js/features/async-iterator/from": [
105043 "es.object.to-string",
105044 "es.promise",
105045 "es.string.iterator",
105046 "esnext.async-iterator.constructor",
105047 "esnext.async-iterator.from",
105048 "web.dom-collections.iterator"
105049 ],
105050 "core-js/features/async-iterator/map": [
105051 "es.object.to-string",
105052 "es.promise",
105053 "es.string.iterator",
105054 "esnext.async-iterator.constructor",
105055 "esnext.async-iterator.map",
105056 "web.dom-collections.iterator"
105057 ],
105058 "core-js/features/async-iterator/reduce": [
105059 "es.object.to-string",
105060 "es.promise",
105061 "es.string.iterator",
105062 "esnext.async-iterator.constructor",
105063 "esnext.async-iterator.reduce",
105064 "web.dom-collections.iterator"
105065 ],
105066 "core-js/features/async-iterator/some": [
105067 "es.object.to-string",
105068 "es.promise",
105069 "es.string.iterator",
105070 "esnext.async-iterator.constructor",
105071 "esnext.async-iterator.some",
105072 "web.dom-collections.iterator"
105073 ],
105074 "core-js/features/async-iterator/take": [
105075 "es.object.to-string",
105076 "es.promise",
105077 "es.string.iterator",
105078 "esnext.async-iterator.constructor",
105079 "esnext.async-iterator.take",
105080 "web.dom-collections.iterator"
105081 ],
105082 "core-js/features/async-iterator/to-array": [
105083 "es.object.to-string",
105084 "es.promise",
105085 "es.string.iterator",
105086 "esnext.async-iterator.constructor",
105087 "esnext.async-iterator.to-array",
105088 "web.dom-collections.iterator"
105089 ],
105090 "core-js/features/bigint": [
105091 "esnext.bigint.range"
105092 ],
105093 "core-js/features/bigint/range": [
105094 "esnext.bigint.range"
105095 ],
105096 "core-js/features/clear-immediate": [
105097 "web.immediate"
105098 ],
105099 "core-js/features/composite-key": [
105100 "esnext.composite-key"
105101 ],
105102 "core-js/features/composite-symbol": [
105103 "es.symbol",
105104 "esnext.composite-symbol"
105105 ],
105106 "core-js/features/data-view": [
105107 "es.data-view",
105108 "es.object.to-string"
105109 ],
105110 "core-js/features/date": [
105111 "es.date.get-year",
105112 "es.date.now",
105113 "es.date.set-year",
105114 "es.date.to-gmt-string",
105115 "es.date.to-iso-string",
105116 "es.date.to-json",
105117 "es.date.to-primitive",
105118 "es.date.to-string"
105119 ],
105120 "core-js/features/date/get-year": [
105121 "es.date.get-year"
105122 ],
105123 "core-js/features/date/now": [
105124 "es.date.now"
105125 ],
105126 "core-js/features/date/set-year": [
105127 "es.date.set-year"
105128 ],
105129 "core-js/features/date/to-gmt-string": [
105130 "es.date.to-gmt-string"
105131 ],
105132 "core-js/features/date/to-iso-string": [
105133 "es.date.to-iso-string",
105134 "es.date.to-json"
105135 ],
105136 "core-js/features/date/to-json": [
105137 "es.date.to-json"
105138 ],
105139 "core-js/features/date/to-primitive": [
105140 "es.date.to-primitive"
105141 ],
105142 "core-js/features/date/to-string": [
105143 "es.date.to-string"
105144 ],
105145 "core-js/features/dom-collections": [
105146 "es.array.iterator",
105147 "web.dom-collections.for-each",
105148 "web.dom-collections.iterator"
105149 ],
105150 "core-js/features/dom-collections/for-each": [
105151 "web.dom-collections.for-each"
105152 ],
105153 "core-js/features/dom-collections/iterator": [
105154 "web.dom-collections.iterator"
105155 ],
105156 "core-js/features/escape": [
105157 "es.escape"
105158 ],
105159 "core-js/features/function": [
105160 "es.function.bind",
105161 "es.function.has-instance",
105162 "es.function.name"
105163 ],
105164 "core-js/features/function/bind": [
105165 "es.function.bind"
105166 ],
105167 "core-js/features/function/has-instance": [
105168 "es.function.has-instance"
105169 ],
105170 "core-js/features/function/name": [
105171 "es.function.name"
105172 ],
105173 "core-js/features/function/virtual": [
105174 "es.function.bind"
105175 ],
105176 "core-js/features/function/virtual/bind": [
105177 "es.function.bind"
105178 ],
105179 "core-js/features/get-iterator": [
105180 "es.string.iterator",
105181 "web.dom-collections.iterator"
105182 ],
105183 "core-js/features/get-iterator-method": [
105184 "es.string.iterator",
105185 "web.dom-collections.iterator"
105186 ],
105187 "core-js/features/global-this": [
105188 "es.global-this",
105189 "esnext.global-this"
105190 ],
105191 "core-js/features/instance/at": [
105192 "esnext.array.at",
105193 "esnext.string.at"
105194 ],
105195 "core-js/features/instance/bind": [
105196 "es.function.bind"
105197 ],
105198 "core-js/features/instance/code-point-at": [
105199 "es.string.code-point-at"
105200 ],
105201 "core-js/features/instance/code-points": [
105202 "esnext.string.code-points"
105203 ],
105204 "core-js/features/instance/concat": [
105205 "es.array.concat"
105206 ],
105207 "core-js/features/instance/copy-within": [
105208 "es.array.copy-within"
105209 ],
105210 "core-js/features/instance/ends-with": [
105211 "es.string.ends-with"
105212 ],
105213 "core-js/features/instance/entries": [
105214 "es.array.iterator",
105215 "web.dom-collections.iterator"
105216 ],
105217 "core-js/features/instance/every": [
105218 "es.array.every"
105219 ],
105220 "core-js/features/instance/fill": [
105221 "es.array.fill"
105222 ],
105223 "core-js/features/instance/filter": [
105224 "es.array.filter"
105225 ],
105226 "core-js/features/instance/filter-out": [
105227 "esnext.array.filter-out"
105228 ],
105229 "core-js/features/instance/find": [
105230 "es.array.find"
105231 ],
105232 "core-js/features/instance/find-index": [
105233 "es.array.find-index"
105234 ],
105235 "core-js/features/instance/find-last": [
105236 "esnext.array.find-last"
105237 ],
105238 "core-js/features/instance/find-last-index": [
105239 "esnext.array.find-last-index"
105240 ],
105241 "core-js/features/instance/flags": [
105242 "es.regexp.flags"
105243 ],
105244 "core-js/features/instance/flat": [
105245 "es.array.flat",
105246 "es.array.unscopables.flat"
105247 ],
105248 "core-js/features/instance/flat-map": [
105249 "es.array.flat-map",
105250 "es.array.unscopables.flat-map"
105251 ],
105252 "core-js/features/instance/for-each": [
105253 "es.array.for-each",
105254 "web.dom-collections.iterator"
105255 ],
105256 "core-js/features/instance/includes": [
105257 "es.array.includes",
105258 "es.string.includes"
105259 ],
105260 "core-js/features/instance/index-of": [
105261 "es.array.index-of"
105262 ],
105263 "core-js/features/instance/keys": [
105264 "es.array.iterator",
105265 "web.dom-collections.iterator"
105266 ],
105267 "core-js/features/instance/last-index-of": [
105268 "es.array.last-index-of"
105269 ],
105270 "core-js/features/instance/map": [
105271 "es.array.map"
105272 ],
105273 "core-js/features/instance/match-all": [
105274 "es.string.match-all",
105275 "esnext.string.match-all"
105276 ],
105277 "core-js/features/instance/pad-end": [
105278 "es.string.pad-end"
105279 ],
105280 "core-js/features/instance/pad-start": [
105281 "es.string.pad-start"
105282 ],
105283 "core-js/features/instance/reduce": [
105284 "es.array.reduce"
105285 ],
105286 "core-js/features/instance/reduce-right": [
105287 "es.array.reduce-right"
105288 ],
105289 "core-js/features/instance/repeat": [
105290 "es.string.repeat"
105291 ],
105292 "core-js/features/instance/replace-all": [
105293 "es.string.replace-all"
105294 ],
105295 "core-js/features/instance/reverse": [
105296 "es.array.reverse"
105297 ],
105298 "core-js/features/instance/slice": [
105299 "es.array.slice"
105300 ],
105301 "core-js/features/instance/some": [
105302 "es.array.some"
105303 ],
105304 "core-js/features/instance/sort": [
105305 "es.array.sort"
105306 ],
105307 "core-js/features/instance/splice": [
105308 "es.array.splice"
105309 ],
105310 "core-js/features/instance/starts-with": [
105311 "es.string.starts-with"
105312 ],
105313 "core-js/features/instance/trim": [
105314 "es.string.trim"
105315 ],
105316 "core-js/features/instance/trim-end": [
105317 "es.string.trim-end"
105318 ],
105319 "core-js/features/instance/trim-left": [
105320 "es.string.trim-start"
105321 ],
105322 "core-js/features/instance/trim-right": [
105323 "es.string.trim-end"
105324 ],
105325 "core-js/features/instance/trim-start": [
105326 "es.string.trim-start"
105327 ],
105328 "core-js/features/instance/unique-by": [
105329 "es.map",
105330 "esnext.array.unique-by"
105331 ],
105332 "core-js/features/instance/values": [
105333 "es.array.iterator",
105334 "web.dom-collections.iterator"
105335 ],
105336 "core-js/features/is-iterable": [
105337 "es.string.iterator",
105338 "web.dom-collections.iterator"
105339 ],
105340 "core-js/features/iterator": [
105341 "es.object.to-string",
105342 "es.string.iterator",
105343 "esnext.iterator.constructor",
105344 "esnext.iterator.as-indexed-pairs",
105345 "esnext.iterator.drop",
105346 "esnext.iterator.every",
105347 "esnext.iterator.filter",
105348 "esnext.iterator.find",
105349 "esnext.iterator.flat-map",
105350 "esnext.iterator.for-each",
105351 "esnext.iterator.from",
105352 "esnext.iterator.map",
105353 "esnext.iterator.reduce",
105354 "esnext.iterator.some",
105355 "esnext.iterator.take",
105356 "esnext.iterator.to-array",
105357 "web.dom-collections.iterator"
105358 ],
105359 "core-js/features/iterator/as-indexed-pairs": [
105360 "es.object.to-string",
105361 "es.string.iterator",
105362 "esnext.iterator.constructor",
105363 "esnext.iterator.as-indexed-pairs",
105364 "web.dom-collections.iterator"
105365 ],
105366 "core-js/features/iterator/drop": [
105367 "es.object.to-string",
105368 "es.string.iterator",
105369 "esnext.iterator.constructor",
105370 "esnext.iterator.drop",
105371 "web.dom-collections.iterator"
105372 ],
105373 "core-js/features/iterator/every": [
105374 "es.object.to-string",
105375 "es.string.iterator",
105376 "esnext.iterator.constructor",
105377 "esnext.iterator.every",
105378 "web.dom-collections.iterator"
105379 ],
105380 "core-js/features/iterator/filter": [
105381 "es.object.to-string",
105382 "es.string.iterator",
105383 "esnext.iterator.constructor",
105384 "esnext.iterator.filter",
105385 "web.dom-collections.iterator"
105386 ],
105387 "core-js/features/iterator/find": [
105388 "es.object.to-string",
105389 "es.string.iterator",
105390 "esnext.iterator.constructor",
105391 "esnext.iterator.find",
105392 "web.dom-collections.iterator"
105393 ],
105394 "core-js/features/iterator/flat-map": [
105395 "es.object.to-string",
105396 "es.string.iterator",
105397 "esnext.iterator.constructor",
105398 "esnext.iterator.flat-map",
105399 "web.dom-collections.iterator"
105400 ],
105401 "core-js/features/iterator/for-each": [
105402 "es.object.to-string",
105403 "es.string.iterator",
105404 "esnext.iterator.constructor",
105405 "esnext.iterator.for-each",
105406 "web.dom-collections.iterator"
105407 ],
105408 "core-js/features/iterator/from": [
105409 "es.object.to-string",
105410 "es.string.iterator",
105411 "esnext.iterator.constructor",
105412 "esnext.iterator.from",
105413 "web.dom-collections.iterator"
105414 ],
105415 "core-js/features/iterator/map": [
105416 "es.object.to-string",
105417 "es.string.iterator",
105418 "esnext.iterator.constructor",
105419 "esnext.iterator.map",
105420 "web.dom-collections.iterator"
105421 ],
105422 "core-js/features/iterator/reduce": [
105423 "es.object.to-string",
105424 "es.string.iterator",
105425 "esnext.iterator.constructor",
105426 "esnext.iterator.reduce",
105427 "web.dom-collections.iterator"
105428 ],
105429 "core-js/features/iterator/some": [
105430 "es.object.to-string",
105431 "es.string.iterator",
105432 "esnext.iterator.constructor",
105433 "esnext.iterator.some",
105434 "web.dom-collections.iterator"
105435 ],
105436 "core-js/features/iterator/take": [
105437 "es.object.to-string",
105438 "es.string.iterator",
105439 "esnext.iterator.constructor",
105440 "esnext.iterator.take",
105441 "web.dom-collections.iterator"
105442 ],
105443 "core-js/features/iterator/to-array": [
105444 "es.object.to-string",
105445 "es.string.iterator",
105446 "esnext.iterator.constructor",
105447 "esnext.iterator.to-array",
105448 "web.dom-collections.iterator"
105449 ],
105450 "core-js/features/json": [
105451 "es.json.stringify",
105452 "es.json.to-string-tag"
105453 ],
105454 "core-js/features/json/stringify": [
105455 "es.json.stringify"
105456 ],
105457 "core-js/features/json/to-string-tag": [
105458 "es.json.to-string-tag"
105459 ],
105460 "core-js/features/map": [
105461 "es.map",
105462 "es.object.to-string",
105463 "es.string.iterator",
105464 "esnext.map.delete-all",
105465 "esnext.map.emplace",
105466 "esnext.map.every",
105467 "esnext.map.filter",
105468 "esnext.map.find",
105469 "esnext.map.find-key",
105470 "esnext.map.from",
105471 "esnext.map.group-by",
105472 "esnext.map.includes",
105473 "esnext.map.key-by",
105474 "esnext.map.key-of",
105475 "esnext.map.map-keys",
105476 "esnext.map.map-values",
105477 "esnext.map.merge",
105478 "esnext.map.of",
105479 "esnext.map.reduce",
105480 "esnext.map.some",
105481 "esnext.map.update",
105482 "esnext.map.update-or-insert",
105483 "esnext.map.upsert",
105484 "web.dom-collections.iterator"
105485 ],
105486 "core-js/features/map/delete-all": [
105487 "es.map",
105488 "esnext.map.delete-all"
105489 ],
105490 "core-js/features/map/emplace": [
105491 "es.map",
105492 "esnext.map.emplace"
105493 ],
105494 "core-js/features/map/every": [
105495 "es.map",
105496 "esnext.map.every"
105497 ],
105498 "core-js/features/map/filter": [
105499 "es.map",
105500 "esnext.map.filter"
105501 ],
105502 "core-js/features/map/find": [
105503 "es.map",
105504 "esnext.map.find"
105505 ],
105506 "core-js/features/map/find-key": [
105507 "es.map",
105508 "esnext.map.find-key"
105509 ],
105510 "core-js/features/map/from": [
105511 "es.map",
105512 "es.string.iterator",
105513 "esnext.map.from",
105514 "web.dom-collections.iterator"
105515 ],
105516 "core-js/features/map/group-by": [
105517 "es.map",
105518 "esnext.map.group-by"
105519 ],
105520 "core-js/features/map/includes": [
105521 "es.map",
105522 "esnext.map.includes"
105523 ],
105524 "core-js/features/map/key-by": [
105525 "es.map",
105526 "esnext.map.key-by"
105527 ],
105528 "core-js/features/map/key-of": [
105529 "es.map",
105530 "esnext.map.key-of"
105531 ],
105532 "core-js/features/map/map-keys": [
105533 "es.map",
105534 "esnext.map.map-keys"
105535 ],
105536 "core-js/features/map/map-values": [
105537 "es.map",
105538 "esnext.map.map-values"
105539 ],
105540 "core-js/features/map/merge": [
105541 "es.map",
105542 "esnext.map.merge"
105543 ],
105544 "core-js/features/map/of": [
105545 "es.map",
105546 "es.string.iterator",
105547 "esnext.map.of",
105548 "web.dom-collections.iterator"
105549 ],
105550 "core-js/features/map/reduce": [
105551 "es.map",
105552 "esnext.map.reduce"
105553 ],
105554 "core-js/features/map/some": [
105555 "es.map",
105556 "esnext.map.some"
105557 ],
105558 "core-js/features/map/update": [
105559 "es.map",
105560 "esnext.map.update"
105561 ],
105562 "core-js/features/map/update-or-insert": [
105563 "es.map",
105564 "esnext.map.update-or-insert"
105565 ],
105566 "core-js/features/map/upsert": [
105567 "es.map",
105568 "esnext.map.upsert"
105569 ],
105570 "core-js/features/math": [
105571 "es.math.acosh",
105572 "es.math.asinh",
105573 "es.math.atanh",
105574 "es.math.cbrt",
105575 "es.math.clz32",
105576 "es.math.cosh",
105577 "es.math.expm1",
105578 "es.math.fround",
105579 "es.math.hypot",
105580 "es.math.imul",
105581 "es.math.log10",
105582 "es.math.log1p",
105583 "es.math.log2",
105584 "es.math.sign",
105585 "es.math.sinh",
105586 "es.math.tanh",
105587 "es.math.to-string-tag",
105588 "es.math.trunc",
105589 "esnext.math.clamp",
105590 "esnext.math.deg-per-rad",
105591 "esnext.math.degrees",
105592 "esnext.math.fscale",
105593 "esnext.math.iaddh",
105594 "esnext.math.imulh",
105595 "esnext.math.isubh",
105596 "esnext.math.rad-per-deg",
105597 "esnext.math.radians",
105598 "esnext.math.scale",
105599 "esnext.math.seeded-prng",
105600 "esnext.math.signbit",
105601 "esnext.math.umulh"
105602 ],
105603 "core-js/features/math/acosh": [
105604 "es.math.acosh"
105605 ],
105606 "core-js/features/math/asinh": [
105607 "es.math.asinh"
105608 ],
105609 "core-js/features/math/atanh": [
105610 "es.math.atanh"
105611 ],
105612 "core-js/features/math/cbrt": [
105613 "es.math.cbrt"
105614 ],
105615 "core-js/features/math/clamp": [
105616 "esnext.math.clamp"
105617 ],
105618 "core-js/features/math/clz32": [
105619 "es.math.clz32"
105620 ],
105621 "core-js/features/math/cosh": [
105622 "es.math.cosh"
105623 ],
105624 "core-js/features/math/deg-per-rad": [
105625 "esnext.math.deg-per-rad"
105626 ],
105627 "core-js/features/math/degrees": [
105628 "esnext.math.degrees"
105629 ],
105630 "core-js/features/math/expm1": [
105631 "es.math.expm1"
105632 ],
105633 "core-js/features/math/fround": [
105634 "es.math.fround"
105635 ],
105636 "core-js/features/math/fscale": [
105637 "esnext.math.fscale"
105638 ],
105639 "core-js/features/math/hypot": [
105640 "es.math.hypot"
105641 ],
105642 "core-js/features/math/iaddh": [
105643 "esnext.math.iaddh"
105644 ],
105645 "core-js/features/math/imul": [
105646 "es.math.imul"
105647 ],
105648 "core-js/features/math/imulh": [
105649 "esnext.math.imulh"
105650 ],
105651 "core-js/features/math/isubh": [
105652 "esnext.math.isubh"
105653 ],
105654 "core-js/features/math/log10": [
105655 "es.math.log10"
105656 ],
105657 "core-js/features/math/log1p": [
105658 "es.math.log1p"
105659 ],
105660 "core-js/features/math/log2": [
105661 "es.math.log2"
105662 ],
105663 "core-js/features/math/rad-per-deg": [
105664 "esnext.math.rad-per-deg"
105665 ],
105666 "core-js/features/math/radians": [
105667 "esnext.math.radians"
105668 ],
105669 "core-js/features/math/scale": [
105670 "esnext.math.scale"
105671 ],
105672 "core-js/features/math/seeded-prng": [
105673 "esnext.math.seeded-prng"
105674 ],
105675 "core-js/features/math/sign": [
105676 "es.math.sign"
105677 ],
105678 "core-js/features/math/signbit": [
105679 "esnext.math.signbit"
105680 ],
105681 "core-js/features/math/sinh": [
105682 "es.math.sinh"
105683 ],
105684 "core-js/features/math/tanh": [
105685 "es.math.tanh"
105686 ],
105687 "core-js/features/math/to-string-tag": [
105688 "es.math.to-string-tag"
105689 ],
105690 "core-js/features/math/trunc": [
105691 "es.math.trunc"
105692 ],
105693 "core-js/features/math/umulh": [
105694 "esnext.math.umulh"
105695 ],
105696 "core-js/features/number": [
105697 "es.number.constructor",
105698 "es.number.epsilon",
105699 "es.number.is-finite",
105700 "es.number.is-integer",
105701 "es.number.is-nan",
105702 "es.number.is-safe-integer",
105703 "es.number.max-safe-integer",
105704 "es.number.min-safe-integer",
105705 "es.number.parse-float",
105706 "es.number.parse-int",
105707 "es.number.to-fixed",
105708 "es.number.to-precision",
105709 "esnext.number.from-string",
105710 "esnext.number.range"
105711 ],
105712 "core-js/features/number/constructor": [
105713 "es.number.constructor"
105714 ],
105715 "core-js/features/number/epsilon": [
105716 "es.number.epsilon"
105717 ],
105718 "core-js/features/number/from-string": [
105719 "esnext.number.from-string"
105720 ],
105721 "core-js/features/number/is-finite": [
105722 "es.number.is-finite"
105723 ],
105724 "core-js/features/number/is-integer": [
105725 "es.number.is-integer"
105726 ],
105727 "core-js/features/number/is-nan": [
105728 "es.number.is-nan"
105729 ],
105730 "core-js/features/number/is-safe-integer": [
105731 "es.number.is-safe-integer"
105732 ],
105733 "core-js/features/number/max-safe-integer": [
105734 "es.number.max-safe-integer"
105735 ],
105736 "core-js/features/number/min-safe-integer": [
105737 "es.number.min-safe-integer"
105738 ],
105739 "core-js/features/number/parse-float": [
105740 "es.number.parse-float"
105741 ],
105742 "core-js/features/number/parse-int": [
105743 "es.number.parse-int"
105744 ],
105745 "core-js/features/number/range": [
105746 "esnext.number.range"
105747 ],
105748 "core-js/features/number/to-fixed": [
105749 "es.number.to-fixed"
105750 ],
105751 "core-js/features/number/to-precision": [
105752 "es.number.to-precision"
105753 ],
105754 "core-js/features/number/virtual": [
105755 "es.number.to-fixed",
105756 "es.number.to-precision"
105757 ],
105758 "core-js/features/number/virtual/to-fixed": [
105759 "es.number.to-fixed"
105760 ],
105761 "core-js/features/number/virtual/to-precision": [
105762 "es.number.to-precision"
105763 ],
105764 "core-js/features/object": [
105765 "es.symbol",
105766 "es.json.to-string-tag",
105767 "es.math.to-string-tag",
105768 "es.object.assign",
105769 "es.object.create",
105770 "es.object.define-getter",
105771 "es.object.define-properties",
105772 "es.object.define-property",
105773 "es.object.define-setter",
105774 "es.object.entries",
105775 "es.object.freeze",
105776 "es.object.from-entries",
105777 "es.object.get-own-property-descriptor",
105778 "es.object.get-own-property-descriptors",
105779 "es.object.get-own-property-names",
105780 "es.object.get-prototype-of",
105781 "es.object.is",
105782 "es.object.is-extensible",
105783 "es.object.is-frozen",
105784 "es.object.is-sealed",
105785 "es.object.keys",
105786 "es.object.lookup-getter",
105787 "es.object.lookup-setter",
105788 "es.object.prevent-extensions",
105789 "es.object.seal",
105790 "es.object.set-prototype-of",
105791 "es.object.to-string",
105792 "es.object.values",
105793 "es.reflect.to-string-tag",
105794 "esnext.object.has-own",
105795 "esnext.object.iterate-entries",
105796 "esnext.object.iterate-keys",
105797 "esnext.object.iterate-values"
105798 ],
105799 "core-js/features/object/assign": [
105800 "es.object.assign"
105801 ],
105802 "core-js/features/object/create": [
105803 "es.object.create"
105804 ],
105805 "core-js/features/object/define-getter": [
105806 "es.object.define-getter"
105807 ],
105808 "core-js/features/object/define-properties": [
105809 "es.object.define-properties"
105810 ],
105811 "core-js/features/object/define-property": [
105812 "es.object.define-property"
105813 ],
105814 "core-js/features/object/define-setter": [
105815 "es.object.define-setter"
105816 ],
105817 "core-js/features/object/entries": [
105818 "es.object.entries"
105819 ],
105820 "core-js/features/object/freeze": [
105821 "es.object.freeze"
105822 ],
105823 "core-js/features/object/from-entries": [
105824 "es.array.iterator",
105825 "es.object.from-entries"
105826 ],
105827 "core-js/features/object/get-own-property-descriptor": [
105828 "es.object.get-own-property-descriptor"
105829 ],
105830 "core-js/features/object/get-own-property-descriptors": [
105831 "es.object.get-own-property-descriptors"
105832 ],
105833 "core-js/features/object/get-own-property-names": [
105834 "es.object.get-own-property-names"
105835 ],
105836 "core-js/features/object/get-own-property-symbols": [
105837 "es.symbol"
105838 ],
105839 "core-js/features/object/get-prototype-of": [
105840 "es.object.get-prototype-of"
105841 ],
105842 "core-js/features/object/has-own": [
105843 "esnext.object.has-own"
105844 ],
105845 "core-js/features/object/is": [
105846 "es.object.is"
105847 ],
105848 "core-js/features/object/is-extensible": [
105849 "es.object.is-extensible"
105850 ],
105851 "core-js/features/object/is-frozen": [
105852 "es.object.is-frozen"
105853 ],
105854 "core-js/features/object/is-sealed": [
105855 "es.object.is-sealed"
105856 ],
105857 "core-js/features/object/iterate-entries": [
105858 "esnext.object.iterate-entries"
105859 ],
105860 "core-js/features/object/iterate-keys": [
105861 "esnext.object.iterate-keys"
105862 ],
105863 "core-js/features/object/iterate-values": [
105864 "esnext.object.iterate-values"
105865 ],
105866 "core-js/features/object/keys": [
105867 "es.object.keys"
105868 ],
105869 "core-js/features/object/lookup-getter": [
105870 "es.object.lookup-setter"
105871 ],
105872 "core-js/features/object/lookup-setter": [
105873 "es.object.lookup-setter"
105874 ],
105875 "core-js/features/object/prevent-extensions": [
105876 "es.object.prevent-extensions"
105877 ],
105878 "core-js/features/object/seal": [
105879 "es.object.seal"
105880 ],
105881 "core-js/features/object/set-prototype-of": [
105882 "es.object.set-prototype-of"
105883 ],
105884 "core-js/features/object/to-string": [
105885 "es.json.to-string-tag",
105886 "es.math.to-string-tag",
105887 "es.object.to-string",
105888 "es.reflect.to-string-tag"
105889 ],
105890 "core-js/features/object/values": [
105891 "es.object.values"
105892 ],
105893 "core-js/features/observable": [
105894 "es.object.to-string",
105895 "es.string.iterator",
105896 "esnext.observable",
105897 "esnext.symbol.observable",
105898 "web.dom-collections.iterator"
105899 ],
105900 "core-js/features/parse-float": [
105901 "es.parse-float"
105902 ],
105903 "core-js/features/parse-int": [
105904 "es.parse-int"
105905 ],
105906 "core-js/features/promise": [
105907 "es.aggregate-error",
105908 "es.object.to-string",
105909 "es.promise",
105910 "es.promise.all-settled",
105911 "es.promise.any",
105912 "es.promise.finally",
105913 "es.string.iterator",
105914 "esnext.aggregate-error",
105915 "esnext.promise.all-settled",
105916 "esnext.promise.any",
105917 "esnext.promise.try",
105918 "web.dom-collections.iterator"
105919 ],
105920 "core-js/features/promise/all-settled": [
105921 "es.promise",
105922 "es.promise.all-settled",
105923 "es.string.iterator",
105924 "esnext.promise.all-settled",
105925 "web.dom-collections.iterator"
105926 ],
105927 "core-js/features/promise/any": [
105928 "es.aggregate-error",
105929 "es.promise",
105930 "es.promise.any",
105931 "es.string.iterator",
105932 "esnext.aggregate-error",
105933 "esnext.promise.any",
105934 "web.dom-collections.iterator"
105935 ],
105936 "core-js/features/promise/finally": [
105937 "es.promise",
105938 "es.promise.finally"
105939 ],
105940 "core-js/features/promise/try": [
105941 "es.promise",
105942 "esnext.promise.try"
105943 ],
105944 "core-js/features/queue-microtask": [
105945 "web.queue-microtask"
105946 ],
105947 "core-js/features/reflect": [
105948 "es.reflect.apply",
105949 "es.reflect.construct",
105950 "es.reflect.define-property",
105951 "es.reflect.delete-property",
105952 "es.reflect.get",
105953 "es.reflect.get-own-property-descriptor",
105954 "es.reflect.get-prototype-of",
105955 "es.reflect.has",
105956 "es.reflect.is-extensible",
105957 "es.reflect.own-keys",
105958 "es.reflect.prevent-extensions",
105959 "es.reflect.set",
105960 "es.reflect.set-prototype-of",
105961 "es.reflect.to-string-tag",
105962 "esnext.reflect.define-metadata",
105963 "esnext.reflect.delete-metadata",
105964 "esnext.reflect.get-metadata",
105965 "esnext.reflect.get-metadata-keys",
105966 "esnext.reflect.get-own-metadata",
105967 "esnext.reflect.get-own-metadata-keys",
105968 "esnext.reflect.has-metadata",
105969 "esnext.reflect.has-own-metadata",
105970 "esnext.reflect.metadata"
105971 ],
105972 "core-js/features/reflect/apply": [
105973 "es.reflect.apply"
105974 ],
105975 "core-js/features/reflect/construct": [
105976 "es.reflect.construct"
105977 ],
105978 "core-js/features/reflect/define-metadata": [
105979 "esnext.reflect.define-metadata"
105980 ],
105981 "core-js/features/reflect/define-property": [
105982 "es.reflect.define-property"
105983 ],
105984 "core-js/features/reflect/delete-metadata": [
105985 "esnext.reflect.delete-metadata"
105986 ],
105987 "core-js/features/reflect/delete-property": [
105988 "es.reflect.delete-property"
105989 ],
105990 "core-js/features/reflect/get": [
105991 "es.reflect.get"
105992 ],
105993 "core-js/features/reflect/get-metadata": [
105994 "esnext.reflect.get-metadata"
105995 ],
105996 "core-js/features/reflect/get-metadata-keys": [
105997 "esnext.reflect.get-metadata-keys"
105998 ],
105999 "core-js/features/reflect/get-own-metadata": [
106000 "esnext.reflect.get-own-metadata"
106001 ],
106002 "core-js/features/reflect/get-own-metadata-keys": [
106003 "esnext.reflect.get-own-metadata-keys"
106004 ],
106005 "core-js/features/reflect/get-own-property-descriptor": [
106006 "es.reflect.get-own-property-descriptor"
106007 ],
106008 "core-js/features/reflect/get-prototype-of": [
106009 "es.reflect.get-prototype-of"
106010 ],
106011 "core-js/features/reflect/has": [
106012 "es.reflect.has"
106013 ],
106014 "core-js/features/reflect/has-metadata": [
106015 "esnext.reflect.has-metadata"
106016 ],
106017 "core-js/features/reflect/has-own-metadata": [
106018 "esnext.reflect.has-own-metadata"
106019 ],
106020 "core-js/features/reflect/is-extensible": [
106021 "es.reflect.is-extensible"
106022 ],
106023 "core-js/features/reflect/metadata": [
106024 "esnext.reflect.metadata"
106025 ],
106026 "core-js/features/reflect/own-keys": [
106027 "es.reflect.own-keys"
106028 ],
106029 "core-js/features/reflect/prevent-extensions": [
106030 "es.reflect.prevent-extensions"
106031 ],
106032 "core-js/features/reflect/set": [
106033 "es.reflect.set"
106034 ],
106035 "core-js/features/reflect/set-prototype-of": [
106036 "es.reflect.set-prototype-of"
106037 ],
106038 "core-js/features/reflect/to-string-tag": [
106039 "es.reflect.to-string-tag"
106040 ],
106041 "core-js/features/regexp": [
106042 "es.regexp.constructor",
106043 "es.regexp.dot-all",
106044 "es.regexp.exec",
106045 "es.regexp.flags",
106046 "es.regexp.sticky",
106047 "es.regexp.test",
106048 "es.regexp.to-string",
106049 "es.string.match",
106050 "es.string.replace",
106051 "es.string.search",
106052 "es.string.split"
106053 ],
106054 "core-js/features/regexp/constructor": [
106055 "es.regexp.constructor"
106056 ],
106057 "core-js/features/regexp/dot-all": [
106058 "es.regexp.constructor",
106059 "es.regexp.dot-all",
106060 "es.regexp.exec"
106061 ],
106062 "core-js/features/regexp/flags": [
106063 "es.regexp.flags"
106064 ],
106065 "core-js/features/regexp/match": [
106066 "es.string.match"
106067 ],
106068 "core-js/features/regexp/replace": [
106069 "es.string.replace"
106070 ],
106071 "core-js/features/regexp/search": [
106072 "es.string.search"
106073 ],
106074 "core-js/features/regexp/split": [
106075 "es.string.split"
106076 ],
106077 "core-js/features/regexp/sticky": [
106078 "es.regexp.constructor",
106079 "es.regexp.exec",
106080 "es.regexp.sticky"
106081 ],
106082 "core-js/features/regexp/test": [
106083 "es.regexp.exec",
106084 "es.regexp.test"
106085 ],
106086 "core-js/features/regexp/to-string": [
106087 "es.regexp.to-string"
106088 ],
106089 "core-js/features/set": [
106090 "es.object.to-string",
106091 "es.set",
106092 "es.string.iterator",
106093 "esnext.set.add-all",
106094 "esnext.set.delete-all",
106095 "esnext.set.difference",
106096 "esnext.set.every",
106097 "esnext.set.filter",
106098 "esnext.set.find",
106099 "esnext.set.from",
106100 "esnext.set.intersection",
106101 "esnext.set.is-disjoint-from",
106102 "esnext.set.is-subset-of",
106103 "esnext.set.is-superset-of",
106104 "esnext.set.join",
106105 "esnext.set.map",
106106 "esnext.set.of",
106107 "esnext.set.reduce",
106108 "esnext.set.some",
106109 "esnext.set.symmetric-difference",
106110 "esnext.set.union",
106111 "web.dom-collections.iterator"
106112 ],
106113 "core-js/features/set-immediate": [
106114 "web.immediate"
106115 ],
106116 "core-js/features/set-interval": [
106117 "web.timers"
106118 ],
106119 "core-js/features/set-timeout": [
106120 "web.timers"
106121 ],
106122 "core-js/features/set/add-all": [
106123 "es.set",
106124 "esnext.set.add-all"
106125 ],
106126 "core-js/features/set/delete-all": [
106127 "es.set",
106128 "esnext.set.delete-all"
106129 ],
106130 "core-js/features/set/difference": [
106131 "es.set",
106132 "es.string.iterator",
106133 "esnext.set.difference",
106134 "web.dom-collections.iterator"
106135 ],
106136 "core-js/features/set/every": [
106137 "es.set",
106138 "esnext.set.every"
106139 ],
106140 "core-js/features/set/filter": [
106141 "es.set",
106142 "esnext.set.filter"
106143 ],
106144 "core-js/features/set/find": [
106145 "es.set",
106146 "esnext.set.find"
106147 ],
106148 "core-js/features/set/from": [
106149 "es.set",
106150 "es.string.iterator",
106151 "esnext.set.from",
106152 "web.dom-collections.iterator"
106153 ],
106154 "core-js/features/set/intersection": [
106155 "es.set",
106156 "esnext.set.intersection"
106157 ],
106158 "core-js/features/set/is-disjoint-from": [
106159 "es.set",
106160 "esnext.set.is-disjoint-from"
106161 ],
106162 "core-js/features/set/is-subset-of": [
106163 "es.set",
106164 "es.string.iterator",
106165 "esnext.set.is-subset-of",
106166 "web.dom-collections.iterator"
106167 ],
106168 "core-js/features/set/is-superset-of": [
106169 "es.set",
106170 "esnext.set.is-superset-of"
106171 ],
106172 "core-js/features/set/join": [
106173 "es.set",
106174 "esnext.set.join"
106175 ],
106176 "core-js/features/set/map": [
106177 "es.set",
106178 "esnext.set.map"
106179 ],
106180 "core-js/features/set/of": [
106181 "es.set",
106182 "es.string.iterator",
106183 "esnext.set.of",
106184 "web.dom-collections.iterator"
106185 ],
106186 "core-js/features/set/reduce": [
106187 "es.set",
106188 "esnext.set.reduce"
106189 ],
106190 "core-js/features/set/some": [
106191 "es.set",
106192 "esnext.set.some"
106193 ],
106194 "core-js/features/set/symmetric-difference": [
106195 "es.set",
106196 "es.string.iterator",
106197 "esnext.set.symmetric-difference",
106198 "web.dom-collections.iterator"
106199 ],
106200 "core-js/features/set/union": [
106201 "es.set",
106202 "es.string.iterator",
106203 "esnext.set.union",
106204 "web.dom-collections.iterator"
106205 ],
106206 "core-js/features/string": [
106207 "es.regexp.exec",
106208 "es.string.code-point-at",
106209 "es.string.ends-with",
106210 "es.string.from-code-point",
106211 "es.string.includes",
106212 "es.string.iterator",
106213 "es.string.match",
106214 "es.string.match-all",
106215 "es.string.pad-end",
106216 "es.string.pad-start",
106217 "es.string.raw",
106218 "es.string.repeat",
106219 "es.string.replace",
106220 "es.string.replace-all",
106221 "es.string.search",
106222 "es.string.split",
106223 "es.string.starts-with",
106224 "es.string.substr",
106225 "es.string.trim",
106226 "es.string.trim-end",
106227 "es.string.trim-start",
106228 "es.string.anchor",
106229 "es.string.big",
106230 "es.string.blink",
106231 "es.string.bold",
106232 "es.string.fixed",
106233 "es.string.fontcolor",
106234 "es.string.fontsize",
106235 "es.string.italics",
106236 "es.string.link",
106237 "es.string.small",
106238 "es.string.strike",
106239 "es.string.sub",
106240 "es.string.sup",
106241 "esnext.string.at",
106242 "esnext.string.code-points",
106243 "esnext.string.match-all",
106244 "esnext.string.replace-all"
106245 ],
106246 "core-js/features/string/anchor": [
106247 "es.string.anchor"
106248 ],
106249 "core-js/features/string/at": [
106250 "esnext.string.at"
106251 ],
106252 "core-js/features/string/big": [
106253 "es.string.big"
106254 ],
106255 "core-js/features/string/blink": [
106256 "es.string.blink"
106257 ],
106258 "core-js/features/string/bold": [
106259 "es.string.bold"
106260 ],
106261 "core-js/features/string/code-point-at": [
106262 "es.string.code-point-at"
106263 ],
106264 "core-js/features/string/code-points": [
106265 "esnext.string.code-points"
106266 ],
106267 "core-js/features/string/ends-with": [
106268 "es.string.ends-with"
106269 ],
106270 "core-js/features/string/fixed": [
106271 "es.string.fixed"
106272 ],
106273 "core-js/features/string/fontcolor": [
106274 "es.string.fontcolor"
106275 ],
106276 "core-js/features/string/fontsize": [
106277 "es.string.fontsize"
106278 ],
106279 "core-js/features/string/from-code-point": [
106280 "es.string.from-code-point"
106281 ],
106282 "core-js/features/string/includes": [
106283 "es.string.includes"
106284 ],
106285 "core-js/features/string/italics": [
106286 "es.string.italics"
106287 ],
106288 "core-js/features/string/iterator": [
106289 "es.string.iterator"
106290 ],
106291 "core-js/features/string/link": [
106292 "es.string.link"
106293 ],
106294 "core-js/features/string/match": [
106295 "es.regexp.exec",
106296 "es.string.match"
106297 ],
106298 "core-js/features/string/match-all": [
106299 "es.string.match-all",
106300 "esnext.string.match-all"
106301 ],
106302 "core-js/features/string/pad-end": [
106303 "es.string.pad-end"
106304 ],
106305 "core-js/features/string/pad-start": [
106306 "es.string.pad-start"
106307 ],
106308 "core-js/features/string/raw": [
106309 "es.string.raw"
106310 ],
106311 "core-js/features/string/repeat": [
106312 "es.string.repeat"
106313 ],
106314 "core-js/features/string/replace": [
106315 "es.regexp.exec",
106316 "es.string.replace"
106317 ],
106318 "core-js/features/string/replace-all": [
106319 "es.string.replace-all",
106320 "esnext.string.replace-all"
106321 ],
106322 "core-js/features/string/search": [
106323 "es.regexp.exec",
106324 "es.string.search"
106325 ],
106326 "core-js/features/string/small": [
106327 "es.string.small"
106328 ],
106329 "core-js/features/string/split": [
106330 "es.regexp.exec",
106331 "es.string.split"
106332 ],
106333 "core-js/features/string/starts-with": [
106334 "es.string.starts-with"
106335 ],
106336 "core-js/features/string/strike": [
106337 "es.string.strike"
106338 ],
106339 "core-js/features/string/sub": [
106340 "es.string.sub"
106341 ],
106342 "core-js/features/string/substr": [
106343 "es.string.substr"
106344 ],
106345 "core-js/features/string/sup": [
106346 "es.string.sup"
106347 ],
106348 "core-js/features/string/trim": [
106349 "es.string.trim"
106350 ],
106351 "core-js/features/string/trim-end": [
106352 "es.string.trim-end"
106353 ],
106354 "core-js/features/string/trim-left": [
106355 "es.string.trim-start"
106356 ],
106357 "core-js/features/string/trim-right": [
106358 "es.string.trim-end"
106359 ],
106360 "core-js/features/string/trim-start": [
106361 "es.string.trim-start"
106362 ],
106363 "core-js/features/string/virtual": [
106364 "es.string.code-point-at",
106365 "es.string.ends-with",
106366 "es.string.includes",
106367 "es.string.iterator",
106368 "es.string.match",
106369 "es.string.match-all",
106370 "es.string.pad-end",
106371 "es.string.pad-start",
106372 "es.string.repeat",
106373 "es.string.replace",
106374 "es.string.replace-all",
106375 "es.string.search",
106376 "es.string.split",
106377 "es.string.starts-with",
106378 "es.string.substr",
106379 "es.string.trim",
106380 "es.string.trim-end",
106381 "es.string.trim-start",
106382 "es.string.anchor",
106383 "es.string.big",
106384 "es.string.blink",
106385 "es.string.bold",
106386 "es.string.fixed",
106387 "es.string.fontcolor",
106388 "es.string.fontsize",
106389 "es.string.italics",
106390 "es.string.link",
106391 "es.string.small",
106392 "es.string.strike",
106393 "es.string.sub",
106394 "es.string.sup",
106395 "esnext.string.at",
106396 "esnext.string.code-points",
106397 "esnext.string.match-all",
106398 "esnext.string.replace-all"
106399 ],
106400 "core-js/features/string/virtual/anchor": [
106401 "es.string.anchor"
106402 ],
106403 "core-js/features/string/virtual/at": [
106404 "esnext.string.at"
106405 ],
106406 "core-js/features/string/virtual/big": [
106407 "es.string.big"
106408 ],
106409 "core-js/features/string/virtual/blink": [
106410 "es.string.blink"
106411 ],
106412 "core-js/features/string/virtual/bold": [
106413 "es.string.bold"
106414 ],
106415 "core-js/features/string/virtual/code-point-at": [
106416 "es.string.code-point-at"
106417 ],
106418 "core-js/features/string/virtual/code-points": [
106419 "esnext.string.code-points"
106420 ],
106421 "core-js/features/string/virtual/ends-with": [
106422 "es.string.ends-with"
106423 ],
106424 "core-js/features/string/virtual/fixed": [
106425 "es.string.fixed"
106426 ],
106427 "core-js/features/string/virtual/fontcolor": [
106428 "es.string.fontcolor"
106429 ],
106430 "core-js/features/string/virtual/fontsize": [
106431 "es.string.fontsize"
106432 ],
106433 "core-js/features/string/virtual/includes": [
106434 "es.string.includes"
106435 ],
106436 "core-js/features/string/virtual/italics": [
106437 "es.string.italics"
106438 ],
106439 "core-js/features/string/virtual/iterator": [
106440 "es.string.iterator"
106441 ],
106442 "core-js/features/string/virtual/link": [
106443 "es.string.link"
106444 ],
106445 "core-js/features/string/virtual/match-all": [
106446 "es.string.match-all",
106447 "esnext.string.match-all"
106448 ],
106449 "core-js/features/string/virtual/pad-end": [
106450 "es.string.pad-end"
106451 ],
106452 "core-js/features/string/virtual/pad-start": [
106453 "es.string.pad-start"
106454 ],
106455 "core-js/features/string/virtual/repeat": [
106456 "es.string.repeat"
106457 ],
106458 "core-js/features/string/virtual/replace-all": [
106459 "es.string.replace-all",
106460 "esnext.string.replace-all"
106461 ],
106462 "core-js/features/string/virtual/small": [
106463 "es.string.small"
106464 ],
106465 "core-js/features/string/virtual/starts-with": [
106466 "es.string.starts-with"
106467 ],
106468 "core-js/features/string/virtual/strike": [
106469 "es.string.strike"
106470 ],
106471 "core-js/features/string/virtual/sub": [
106472 "es.string.sub"
106473 ],
106474 "core-js/features/string/virtual/substr": [
106475 "es.string.substr"
106476 ],
106477 "core-js/features/string/virtual/sup": [
106478 "es.string.sup"
106479 ],
106480 "core-js/features/string/virtual/trim": [
106481 "es.string.trim"
106482 ],
106483 "core-js/features/string/virtual/trim-end": [
106484 "es.string.trim-end"
106485 ],
106486 "core-js/features/string/virtual/trim-left": [
106487 "es.string.trim-start"
106488 ],
106489 "core-js/features/string/virtual/trim-right": [
106490 "es.string.trim-end"
106491 ],
106492 "core-js/features/string/virtual/trim-start": [
106493 "es.string.trim-start"
106494 ],
106495 "core-js/features/symbol": [
106496 "es.symbol",
106497 "es.symbol.description",
106498 "es.symbol.async-iterator",
106499 "es.symbol.has-instance",
106500 "es.symbol.is-concat-spreadable",
106501 "es.symbol.iterator",
106502 "es.symbol.match",
106503 "es.symbol.match-all",
106504 "es.symbol.replace",
106505 "es.symbol.search",
106506 "es.symbol.species",
106507 "es.symbol.split",
106508 "es.symbol.to-primitive",
106509 "es.symbol.to-string-tag",
106510 "es.symbol.unscopables",
106511 "es.array.concat",
106512 "es.json.to-string-tag",
106513 "es.math.to-string-tag",
106514 "es.object.to-string",
106515 "es.reflect.to-string-tag",
106516 "esnext.symbol.async-dispose",
106517 "esnext.symbol.dispose",
106518 "esnext.symbol.matcher",
106519 "esnext.symbol.metadata",
106520 "esnext.symbol.observable",
106521 "esnext.symbol.pattern-match",
106522 "esnext.symbol.replace-all"
106523 ],
106524 "core-js/features/symbol/async-dispose": [
106525 "esnext.symbol.async-dispose"
106526 ],
106527 "core-js/features/symbol/async-iterator": [
106528 "es.symbol.async-iterator"
106529 ],
106530 "core-js/features/symbol/description": [
106531 "es.symbol.description"
106532 ],
106533 "core-js/features/symbol/dispose": [
106534 "esnext.symbol.dispose"
106535 ],
106536 "core-js/features/symbol/for": [
106537 "es.symbol"
106538 ],
106539 "core-js/features/symbol/has-instance": [
106540 "es.symbol.has-instance",
106541 "es.function.has-instance"
106542 ],
106543 "core-js/features/symbol/is-concat-spreadable": [
106544 "es.symbol.is-concat-spreadable",
106545 "es.array.concat"
106546 ],
106547 "core-js/features/symbol/iterator": [
106548 "es.symbol.iterator",
106549 "es.string.iterator",
106550 "web.dom-collections.iterator"
106551 ],
106552 "core-js/features/symbol/key-for": [
106553 "es.symbol"
106554 ],
106555 "core-js/features/symbol/match": [
106556 "es.symbol.match",
106557 "es.string.match"
106558 ],
106559 "core-js/features/symbol/match-all": [
106560 "es.symbol.match-all",
106561 "es.string.match-all"
106562 ],
106563 "core-js/features/symbol/matcher": [
106564 "esnext.symbol.matcher"
106565 ],
106566 "core-js/features/symbol/metadata": [
106567 "esnext.symbol.metadata"
106568 ],
106569 "core-js/features/symbol/observable": [
106570 "esnext.symbol.observable"
106571 ],
106572 "core-js/features/symbol/pattern-match": [
106573 "esnext.symbol.pattern-match"
106574 ],
106575 "core-js/features/symbol/replace": [
106576 "es.symbol.replace",
106577 "es.string.replace"
106578 ],
106579 "core-js/features/symbol/replace-all": [
106580 "esnext.symbol.replace-all"
106581 ],
106582 "core-js/features/symbol/search": [
106583 "es.symbol.search",
106584 "es.string.search"
106585 ],
106586 "core-js/features/symbol/species": [
106587 "es.symbol.species"
106588 ],
106589 "core-js/features/symbol/split": [
106590 "es.symbol.split",
106591 "es.string.split"
106592 ],
106593 "core-js/features/symbol/to-primitive": [
106594 "es.symbol.to-primitive"
106595 ],
106596 "core-js/features/symbol/to-string-tag": [
106597 "es.symbol.to-string-tag",
106598 "es.json.to-string-tag",
106599 "es.math.to-string-tag",
106600 "es.object.to-string",
106601 "es.reflect.to-string-tag"
106602 ],
106603 "core-js/features/symbol/unscopables": [
106604 "es.symbol.unscopables"
106605 ],
106606 "core-js/features/typed-array": [
106607 "es.map",
106608 "es.object.to-string",
106609 "es.typed-array.float32-array",
106610 "es.typed-array.float64-array",
106611 "es.typed-array.int8-array",
106612 "es.typed-array.int16-array",
106613 "es.typed-array.int32-array",
106614 "es.typed-array.uint8-array",
106615 "es.typed-array.uint8-clamped-array",
106616 "es.typed-array.uint16-array",
106617 "es.typed-array.uint32-array",
106618 "es.typed-array.copy-within",
106619 "es.typed-array.every",
106620 "es.typed-array.fill",
106621 "es.typed-array.filter",
106622 "es.typed-array.find",
106623 "es.typed-array.find-index",
106624 "es.typed-array.for-each",
106625 "es.typed-array.from",
106626 "es.typed-array.includes",
106627 "es.typed-array.index-of",
106628 "es.typed-array.iterator",
106629 "es.typed-array.join",
106630 "es.typed-array.last-index-of",
106631 "es.typed-array.map",
106632 "es.typed-array.of",
106633 "es.typed-array.reduce",
106634 "es.typed-array.reduce-right",
106635 "es.typed-array.reverse",
106636 "es.typed-array.set",
106637 "es.typed-array.slice",
106638 "es.typed-array.some",
106639 "es.typed-array.sort",
106640 "es.typed-array.subarray",
106641 "es.typed-array.to-locale-string",
106642 "es.typed-array.to-string",
106643 "esnext.typed-array.at",
106644 "esnext.typed-array.filter-out",
106645 "esnext.typed-array.find-last",
106646 "esnext.typed-array.find-last-index",
106647 "esnext.typed-array.unique-by"
106648 ],
106649 "core-js/features/typed-array/at": [
106650 "esnext.typed-array.at"
106651 ],
106652 "core-js/features/typed-array/copy-within": [
106653 "es.typed-array.copy-within"
106654 ],
106655 "core-js/features/typed-array/entries": [
106656 "es.typed-array.iterator"
106657 ],
106658 "core-js/features/typed-array/every": [
106659 "es.typed-array.every"
106660 ],
106661 "core-js/features/typed-array/fill": [
106662 "es.typed-array.fill"
106663 ],
106664 "core-js/features/typed-array/filter": [
106665 "es.typed-array.filter"
106666 ],
106667 "core-js/features/typed-array/filter-out": [
106668 "esnext.typed-array.filter-out"
106669 ],
106670 "core-js/features/typed-array/find": [
106671 "es.typed-array.find"
106672 ],
106673 "core-js/features/typed-array/find-index": [
106674 "es.typed-array.find-index"
106675 ],
106676 "core-js/features/typed-array/find-last": [
106677 "esnext.typed-array.find-last"
106678 ],
106679 "core-js/features/typed-array/find-last-index": [
106680 "esnext.typed-array.find-last-index"
106681 ],
106682 "core-js/features/typed-array/float32-array": [
106683 "es.object.to-string",
106684 "es.typed-array.float32-array",
106685 "es.typed-array.copy-within",
106686 "es.typed-array.every",
106687 "es.typed-array.fill",
106688 "es.typed-array.filter",
106689 "es.typed-array.find",
106690 "es.typed-array.find-index",
106691 "es.typed-array.for-each",
106692 "es.typed-array.from",
106693 "es.typed-array.includes",
106694 "es.typed-array.index-of",
106695 "es.typed-array.iterator",
106696 "es.typed-array.join",
106697 "es.typed-array.last-index-of",
106698 "es.typed-array.map",
106699 "es.typed-array.of",
106700 "es.typed-array.reduce",
106701 "es.typed-array.reduce-right",
106702 "es.typed-array.reverse",
106703 "es.typed-array.set",
106704 "es.typed-array.slice",
106705 "es.typed-array.some",
106706 "es.typed-array.sort",
106707 "es.typed-array.subarray",
106708 "es.typed-array.to-locale-string",
106709 "es.typed-array.to-string"
106710 ],
106711 "core-js/features/typed-array/float64-array": [
106712 "es.object.to-string",
106713 "es.typed-array.float64-array",
106714 "es.typed-array.copy-within",
106715 "es.typed-array.every",
106716 "es.typed-array.fill",
106717 "es.typed-array.filter",
106718 "es.typed-array.find",
106719 "es.typed-array.find-index",
106720 "es.typed-array.for-each",
106721 "es.typed-array.from",
106722 "es.typed-array.includes",
106723 "es.typed-array.index-of",
106724 "es.typed-array.iterator",
106725 "es.typed-array.join",
106726 "es.typed-array.last-index-of",
106727 "es.typed-array.map",
106728 "es.typed-array.of",
106729 "es.typed-array.reduce",
106730 "es.typed-array.reduce-right",
106731 "es.typed-array.reverse",
106732 "es.typed-array.set",
106733 "es.typed-array.slice",
106734 "es.typed-array.some",
106735 "es.typed-array.sort",
106736 "es.typed-array.subarray",
106737 "es.typed-array.to-locale-string",
106738 "es.typed-array.to-string"
106739 ],
106740 "core-js/features/typed-array/for-each": [
106741 "es.typed-array.for-each"
106742 ],
106743 "core-js/features/typed-array/from": [
106744 "es.typed-array.from"
106745 ],
106746 "core-js/features/typed-array/includes": [
106747 "es.typed-array.includes"
106748 ],
106749 "core-js/features/typed-array/index-of": [
106750 "es.typed-array.index-of"
106751 ],
106752 "core-js/features/typed-array/int16-array": [
106753 "es.object.to-string",
106754 "es.typed-array.int16-array",
106755 "es.typed-array.copy-within",
106756 "es.typed-array.every",
106757 "es.typed-array.fill",
106758 "es.typed-array.filter",
106759 "es.typed-array.find",
106760 "es.typed-array.find-index",
106761 "es.typed-array.for-each",
106762 "es.typed-array.from",
106763 "es.typed-array.includes",
106764 "es.typed-array.index-of",
106765 "es.typed-array.iterator",
106766 "es.typed-array.join",
106767 "es.typed-array.last-index-of",
106768 "es.typed-array.map",
106769 "es.typed-array.of",
106770 "es.typed-array.reduce",
106771 "es.typed-array.reduce-right",
106772 "es.typed-array.reverse",
106773 "es.typed-array.set",
106774 "es.typed-array.slice",
106775 "es.typed-array.some",
106776 "es.typed-array.sort",
106777 "es.typed-array.subarray",
106778 "es.typed-array.to-locale-string",
106779 "es.typed-array.to-string"
106780 ],
106781 "core-js/features/typed-array/int32-array": [
106782 "es.object.to-string",
106783 "es.typed-array.int32-array",
106784 "es.typed-array.copy-within",
106785 "es.typed-array.every",
106786 "es.typed-array.fill",
106787 "es.typed-array.filter",
106788 "es.typed-array.find",
106789 "es.typed-array.find-index",
106790 "es.typed-array.for-each",
106791 "es.typed-array.from",
106792 "es.typed-array.includes",
106793 "es.typed-array.index-of",
106794 "es.typed-array.iterator",
106795 "es.typed-array.join",
106796 "es.typed-array.last-index-of",
106797 "es.typed-array.map",
106798 "es.typed-array.of",
106799 "es.typed-array.reduce",
106800 "es.typed-array.reduce-right",
106801 "es.typed-array.reverse",
106802 "es.typed-array.set",
106803 "es.typed-array.slice",
106804 "es.typed-array.some",
106805 "es.typed-array.sort",
106806 "es.typed-array.subarray",
106807 "es.typed-array.to-locale-string",
106808 "es.typed-array.to-string"
106809 ],
106810 "core-js/features/typed-array/int8-array": [
106811 "es.object.to-string",
106812 "es.typed-array.int8-array",
106813 "es.typed-array.copy-within",
106814 "es.typed-array.every",
106815 "es.typed-array.fill",
106816 "es.typed-array.filter",
106817 "es.typed-array.find",
106818 "es.typed-array.find-index",
106819 "es.typed-array.for-each",
106820 "es.typed-array.from",
106821 "es.typed-array.includes",
106822 "es.typed-array.index-of",
106823 "es.typed-array.iterator",
106824 "es.typed-array.join",
106825 "es.typed-array.last-index-of",
106826 "es.typed-array.map",
106827 "es.typed-array.of",
106828 "es.typed-array.reduce",
106829 "es.typed-array.reduce-right",
106830 "es.typed-array.reverse",
106831 "es.typed-array.set",
106832 "es.typed-array.slice",
106833 "es.typed-array.some",
106834 "es.typed-array.sort",
106835 "es.typed-array.subarray",
106836 "es.typed-array.to-locale-string",
106837 "es.typed-array.to-string"
106838 ],
106839 "core-js/features/typed-array/iterator": [
106840 "es.typed-array.iterator"
106841 ],
106842 "core-js/features/typed-array/join": [
106843 "es.typed-array.join"
106844 ],
106845 "core-js/features/typed-array/keys": [
106846 "es.typed-array.iterator"
106847 ],
106848 "core-js/features/typed-array/last-index-of": [
106849 "es.typed-array.last-index-of"
106850 ],
106851 "core-js/features/typed-array/map": [
106852 "es.typed-array.map"
106853 ],
106854 "core-js/features/typed-array/of": [
106855 "es.typed-array.of"
106856 ],
106857 "core-js/features/typed-array/reduce": [
106858 "es.typed-array.reduce"
106859 ],
106860 "core-js/features/typed-array/reduce-right": [
106861 "es.typed-array.reduce-right"
106862 ],
106863 "core-js/features/typed-array/reverse": [
106864 "es.typed-array.reverse"
106865 ],
106866 "core-js/features/typed-array/set": [
106867 "es.typed-array.set"
106868 ],
106869 "core-js/features/typed-array/slice": [
106870 "es.typed-array.slice"
106871 ],
106872 "core-js/features/typed-array/some": [
106873 "es.typed-array.some"
106874 ],
106875 "core-js/features/typed-array/sort": [
106876 "es.typed-array.sort"
106877 ],
106878 "core-js/features/typed-array/subarray": [
106879 "es.typed-array.subarray"
106880 ],
106881 "core-js/features/typed-array/to-locale-string": [
106882 "es.typed-array.to-locale-string"
106883 ],
106884 "core-js/features/typed-array/to-string": [
106885 "es.typed-array.to-string"
106886 ],
106887 "core-js/features/typed-array/uint16-array": [
106888 "es.object.to-string",
106889 "es.typed-array.uint16-array",
106890 "es.typed-array.copy-within",
106891 "es.typed-array.every",
106892 "es.typed-array.fill",
106893 "es.typed-array.filter",
106894 "es.typed-array.find",
106895 "es.typed-array.find-index",
106896 "es.typed-array.for-each",
106897 "es.typed-array.from",
106898 "es.typed-array.includes",
106899 "es.typed-array.index-of",
106900 "es.typed-array.iterator",
106901 "es.typed-array.join",
106902 "es.typed-array.last-index-of",
106903 "es.typed-array.map",
106904 "es.typed-array.of",
106905 "es.typed-array.reduce",
106906 "es.typed-array.reduce-right",
106907 "es.typed-array.reverse",
106908 "es.typed-array.set",
106909 "es.typed-array.slice",
106910 "es.typed-array.some",
106911 "es.typed-array.sort",
106912 "es.typed-array.subarray",
106913 "es.typed-array.to-locale-string",
106914 "es.typed-array.to-string"
106915 ],
106916 "core-js/features/typed-array/uint32-array": [
106917 "es.object.to-string",
106918 "es.typed-array.uint32-array",
106919 "es.typed-array.copy-within",
106920 "es.typed-array.every",
106921 "es.typed-array.fill",
106922 "es.typed-array.filter",
106923 "es.typed-array.find",
106924 "es.typed-array.find-index",
106925 "es.typed-array.for-each",
106926 "es.typed-array.from",
106927 "es.typed-array.includes",
106928 "es.typed-array.index-of",
106929 "es.typed-array.iterator",
106930 "es.typed-array.join",
106931 "es.typed-array.last-index-of",
106932 "es.typed-array.map",
106933 "es.typed-array.of",
106934 "es.typed-array.reduce",
106935 "es.typed-array.reduce-right",
106936 "es.typed-array.reverse",
106937 "es.typed-array.set",
106938 "es.typed-array.slice",
106939 "es.typed-array.some",
106940 "es.typed-array.sort",
106941 "es.typed-array.subarray",
106942 "es.typed-array.to-locale-string",
106943 "es.typed-array.to-string"
106944 ],
106945 "core-js/features/typed-array/uint8-array": [
106946 "es.object.to-string",
106947 "es.typed-array.uint8-array",
106948 "es.typed-array.copy-within",
106949 "es.typed-array.every",
106950 "es.typed-array.fill",
106951 "es.typed-array.filter",
106952 "es.typed-array.find",
106953 "es.typed-array.find-index",
106954 "es.typed-array.for-each",
106955 "es.typed-array.from",
106956 "es.typed-array.includes",
106957 "es.typed-array.index-of",
106958 "es.typed-array.iterator",
106959 "es.typed-array.join",
106960 "es.typed-array.last-index-of",
106961 "es.typed-array.map",
106962 "es.typed-array.of",
106963 "es.typed-array.reduce",
106964 "es.typed-array.reduce-right",
106965 "es.typed-array.reverse",
106966 "es.typed-array.set",
106967 "es.typed-array.slice",
106968 "es.typed-array.some",
106969 "es.typed-array.sort",
106970 "es.typed-array.subarray",
106971 "es.typed-array.to-locale-string",
106972 "es.typed-array.to-string"
106973 ],
106974 "core-js/features/typed-array/uint8-clamped-array": [
106975 "es.object.to-string",
106976 "es.typed-array.uint8-clamped-array",
106977 "es.typed-array.copy-within",
106978 "es.typed-array.every",
106979 "es.typed-array.fill",
106980 "es.typed-array.filter",
106981 "es.typed-array.find",
106982 "es.typed-array.find-index",
106983 "es.typed-array.for-each",
106984 "es.typed-array.from",
106985 "es.typed-array.includes",
106986 "es.typed-array.index-of",
106987 "es.typed-array.iterator",
106988 "es.typed-array.join",
106989 "es.typed-array.last-index-of",
106990 "es.typed-array.map",
106991 "es.typed-array.of",
106992 "es.typed-array.reduce",
106993 "es.typed-array.reduce-right",
106994 "es.typed-array.reverse",
106995 "es.typed-array.set",
106996 "es.typed-array.slice",
106997 "es.typed-array.some",
106998 "es.typed-array.sort",
106999 "es.typed-array.subarray",
107000 "es.typed-array.to-locale-string",
107001 "es.typed-array.to-string"
107002 ],
107003 "core-js/features/typed-array/unique-by": [
107004 "es.map",
107005 "esnext.typed-array.unique-by"
107006 ],
107007 "core-js/features/typed-array/values": [
107008 "es.typed-array.iterator"
107009 ],
107010 "core-js/features/unescape": [
107011 "es.unescape"
107012 ],
107013 "core-js/features/url": [
107014 "web.url",
107015 "web.url.to-json",
107016 "web.url-search-params"
107017 ],
107018 "core-js/features/url-search-params": [
107019 "web.url-search-params"
107020 ],
107021 "core-js/features/url/to-json": [
107022 "web.url.to-json"
107023 ],
107024 "core-js/features/weak-map": [
107025 "es.object.to-string",
107026 "es.weak-map",
107027 "esnext.weak-map.delete-all",
107028 "esnext.weak-map.from",
107029 "esnext.weak-map.of",
107030 "esnext.weak-map.emplace",
107031 "esnext.weak-map.upsert",
107032 "web.dom-collections.iterator"
107033 ],
107034 "core-js/features/weak-map/delete-all": [
107035 "es.weak-map",
107036 "esnext.weak-map.delete-all"
107037 ],
107038 "core-js/features/weak-map/emplace": [
107039 "es.weak-map",
107040 "esnext.weak-map.emplace"
107041 ],
107042 "core-js/features/weak-map/from": [
107043 "es.string.iterator",
107044 "es.weak-map",
107045 "esnext.weak-map.from",
107046 "web.dom-collections.iterator"
107047 ],
107048 "core-js/features/weak-map/of": [
107049 "es.string.iterator",
107050 "es.weak-map",
107051 "esnext.weak-map.of",
107052 "web.dom-collections.iterator"
107053 ],
107054 "core-js/features/weak-map/upsert": [
107055 "es.weak-map",
107056 "esnext.weak-map.upsert"
107057 ],
107058 "core-js/features/weak-set": [
107059 "es.object.to-string",
107060 "es.weak-set",
107061 "esnext.weak-set.add-all",
107062 "esnext.weak-set.delete-all",
107063 "esnext.weak-set.from",
107064 "esnext.weak-set.of",
107065 "web.dom-collections.iterator"
107066 ],
107067 "core-js/features/weak-set/add-all": [
107068 "es.weak-set",
107069 "esnext.weak-set.add-all"
107070 ],
107071 "core-js/features/weak-set/delete-all": [
107072 "es.weak-set",
107073 "esnext.weak-set.delete-all"
107074 ],
107075 "core-js/features/weak-set/from": [
107076 "es.string.iterator",
107077 "es.weak-set",
107078 "esnext.weak-set.from",
107079 "web.dom-collections.iterator"
107080 ],
107081 "core-js/features/weak-set/of": [
107082 "es.string.iterator",
107083 "es.weak-set",
107084 "esnext.weak-set.of",
107085 "web.dom-collections.iterator"
107086 ],
107087 "core-js/modules/es.aggregate-error": [
107088 "es.aggregate-error"
107089 ],
107090 "core-js/modules/es.array-buffer.constructor": [
107091 "es.array-buffer.constructor"
107092 ],
107093 "core-js/modules/es.array-buffer.is-view": [
107094 "es.array-buffer.is-view"
107095 ],
107096 "core-js/modules/es.array-buffer.slice": [
107097 "es.array-buffer.slice"
107098 ],
107099 "core-js/modules/es.array.concat": [
107100 "es.array.concat"
107101 ],
107102 "core-js/modules/es.array.copy-within": [
107103 "es.array.copy-within"
107104 ],
107105 "core-js/modules/es.array.every": [
107106 "es.array.every"
107107 ],
107108 "core-js/modules/es.array.fill": [
107109 "es.array.fill"
107110 ],
107111 "core-js/modules/es.array.filter": [
107112 "es.array.filter"
107113 ],
107114 "core-js/modules/es.array.find": [
107115 "es.array.find"
107116 ],
107117 "core-js/modules/es.array.find-index": [
107118 "es.array.find-index"
107119 ],
107120 "core-js/modules/es.array.flat": [
107121 "es.array.flat"
107122 ],
107123 "core-js/modules/es.array.flat-map": [
107124 "es.array.flat-map"
107125 ],
107126 "core-js/modules/es.array.for-each": [
107127 "es.array.for-each"
107128 ],
107129 "core-js/modules/es.array.from": [
107130 "es.array.from"
107131 ],
107132 "core-js/modules/es.array.includes": [
107133 "es.array.includes"
107134 ],
107135 "core-js/modules/es.array.index-of": [
107136 "es.array.index-of"
107137 ],
107138 "core-js/modules/es.array.is-array": [
107139 "es.array.is-array"
107140 ],
107141 "core-js/modules/es.array.iterator": [
107142 "es.array.iterator"
107143 ],
107144 "core-js/modules/es.array.join": [
107145 "es.array.join"
107146 ],
107147 "core-js/modules/es.array.last-index-of": [
107148 "es.array.last-index-of"
107149 ],
107150 "core-js/modules/es.array.map": [
107151 "es.array.map"
107152 ],
107153 "core-js/modules/es.array.of": [
107154 "es.array.of"
107155 ],
107156 "core-js/modules/es.array.reduce": [
107157 "es.array.reduce"
107158 ],
107159 "core-js/modules/es.array.reduce-right": [
107160 "es.array.reduce-right"
107161 ],
107162 "core-js/modules/es.array.reverse": [
107163 "es.array.reverse"
107164 ],
107165 "core-js/modules/es.array.slice": [
107166 "es.array.slice"
107167 ],
107168 "core-js/modules/es.array.some": [
107169 "es.array.some"
107170 ],
107171 "core-js/modules/es.array.sort": [
107172 "es.array.sort"
107173 ],
107174 "core-js/modules/es.array.species": [
107175 "es.array.species"
107176 ],
107177 "core-js/modules/es.array.splice": [
107178 "es.array.splice"
107179 ],
107180 "core-js/modules/es.array.unscopables.flat": [
107181 "es.array.unscopables.flat"
107182 ],
107183 "core-js/modules/es.array.unscopables.flat-map": [
107184 "es.array.unscopables.flat-map"
107185 ],
107186 "core-js/modules/es.data-view": [
107187 "es.data-view"
107188 ],
107189 "core-js/modules/es.date.get-year": [
107190 "es.date.get-year"
107191 ],
107192 "core-js/modules/es.date.now": [
107193 "es.date.now"
107194 ],
107195 "core-js/modules/es.date.set-year": [
107196 "es.date.set-year"
107197 ],
107198 "core-js/modules/es.date.to-gmt-string": [
107199 "es.date.to-gmt-string"
107200 ],
107201 "core-js/modules/es.date.to-iso-string": [
107202 "es.date.to-iso-string"
107203 ],
107204 "core-js/modules/es.date.to-json": [
107205 "es.date.to-json"
107206 ],
107207 "core-js/modules/es.date.to-primitive": [
107208 "es.date.to-primitive"
107209 ],
107210 "core-js/modules/es.date.to-string": [
107211 "es.date.to-string"
107212 ],
107213 "core-js/modules/es.escape": [
107214 "es.escape"
107215 ],
107216 "core-js/modules/es.function.bind": [
107217 "es.function.bind"
107218 ],
107219 "core-js/modules/es.function.has-instance": [
107220 "es.function.has-instance"
107221 ],
107222 "core-js/modules/es.function.name": [
107223 "es.function.name"
107224 ],
107225 "core-js/modules/es.global-this": [
107226 "es.global-this"
107227 ],
107228 "core-js/modules/es.json.stringify": [
107229 "es.json.stringify"
107230 ],
107231 "core-js/modules/es.json.to-string-tag": [
107232 "es.json.to-string-tag"
107233 ],
107234 "core-js/modules/es.map": [
107235 "es.map"
107236 ],
107237 "core-js/modules/es.math.acosh": [
107238 "es.math.acosh"
107239 ],
107240 "core-js/modules/es.math.asinh": [
107241 "es.math.asinh"
107242 ],
107243 "core-js/modules/es.math.atanh": [
107244 "es.math.atanh"
107245 ],
107246 "core-js/modules/es.math.cbrt": [
107247 "es.math.cbrt"
107248 ],
107249 "core-js/modules/es.math.clz32": [
107250 "es.math.clz32"
107251 ],
107252 "core-js/modules/es.math.cosh": [
107253 "es.math.cosh"
107254 ],
107255 "core-js/modules/es.math.expm1": [
107256 "es.math.expm1"
107257 ],
107258 "core-js/modules/es.math.fround": [
107259 "es.math.fround"
107260 ],
107261 "core-js/modules/es.math.hypot": [
107262 "es.math.hypot"
107263 ],
107264 "core-js/modules/es.math.imul": [
107265 "es.math.imul"
107266 ],
107267 "core-js/modules/es.math.log10": [
107268 "es.math.log10"
107269 ],
107270 "core-js/modules/es.math.log1p": [
107271 "es.math.log1p"
107272 ],
107273 "core-js/modules/es.math.log2": [
107274 "es.math.log2"
107275 ],
107276 "core-js/modules/es.math.sign": [
107277 "es.math.sign"
107278 ],
107279 "core-js/modules/es.math.sinh": [
107280 "es.math.sinh"
107281 ],
107282 "core-js/modules/es.math.tanh": [
107283 "es.math.tanh"
107284 ],
107285 "core-js/modules/es.math.to-string-tag": [
107286 "es.math.to-string-tag"
107287 ],
107288 "core-js/modules/es.math.trunc": [
107289 "es.math.trunc"
107290 ],
107291 "core-js/modules/es.number.constructor": [
107292 "es.number.constructor"
107293 ],
107294 "core-js/modules/es.number.epsilon": [
107295 "es.number.epsilon"
107296 ],
107297 "core-js/modules/es.number.is-finite": [
107298 "es.number.is-finite"
107299 ],
107300 "core-js/modules/es.number.is-integer": [
107301 "es.number.is-integer"
107302 ],
107303 "core-js/modules/es.number.is-nan": [
107304 "es.number.is-nan"
107305 ],
107306 "core-js/modules/es.number.is-safe-integer": [
107307 "es.number.is-safe-integer"
107308 ],
107309 "core-js/modules/es.number.max-safe-integer": [
107310 "es.number.max-safe-integer"
107311 ],
107312 "core-js/modules/es.number.min-safe-integer": [
107313 "es.number.min-safe-integer"
107314 ],
107315 "core-js/modules/es.number.parse-float": [
107316 "es.number.parse-float"
107317 ],
107318 "core-js/modules/es.number.parse-int": [
107319 "es.number.parse-int"
107320 ],
107321 "core-js/modules/es.number.to-fixed": [
107322 "es.number.to-fixed"
107323 ],
107324 "core-js/modules/es.number.to-precision": [
107325 "es.number.to-precision"
107326 ],
107327 "core-js/modules/es.object.assign": [
107328 "es.object.assign"
107329 ],
107330 "core-js/modules/es.object.create": [
107331 "es.object.create"
107332 ],
107333 "core-js/modules/es.object.define-getter": [
107334 "es.object.define-getter"
107335 ],
107336 "core-js/modules/es.object.define-properties": [
107337 "es.object.define-properties"
107338 ],
107339 "core-js/modules/es.object.define-property": [
107340 "es.object.define-property"
107341 ],
107342 "core-js/modules/es.object.define-setter": [
107343 "es.object.define-setter"
107344 ],
107345 "core-js/modules/es.object.entries": [
107346 "es.object.entries"
107347 ],
107348 "core-js/modules/es.object.freeze": [
107349 "es.object.freeze"
107350 ],
107351 "core-js/modules/es.object.from-entries": [
107352 "es.object.from-entries"
107353 ],
107354 "core-js/modules/es.object.get-own-property-descriptor": [
107355 "es.object.get-own-property-descriptor"
107356 ],
107357 "core-js/modules/es.object.get-own-property-descriptors": [
107358 "es.object.get-own-property-descriptors"
107359 ],
107360 "core-js/modules/es.object.get-own-property-names": [
107361 "es.object.get-own-property-names"
107362 ],
107363 "core-js/modules/es.object.get-prototype-of": [
107364 "es.object.get-prototype-of"
107365 ],
107366 "core-js/modules/es.object.is": [
107367 "es.object.is"
107368 ],
107369 "core-js/modules/es.object.is-extensible": [
107370 "es.object.is-extensible"
107371 ],
107372 "core-js/modules/es.object.is-frozen": [
107373 "es.object.is-frozen"
107374 ],
107375 "core-js/modules/es.object.is-sealed": [
107376 "es.object.is-sealed"
107377 ],
107378 "core-js/modules/es.object.keys": [
107379 "es.object.keys"
107380 ],
107381 "core-js/modules/es.object.lookup-getter": [
107382 "es.object.lookup-getter"
107383 ],
107384 "core-js/modules/es.object.lookup-setter": [
107385 "es.object.lookup-setter"
107386 ],
107387 "core-js/modules/es.object.prevent-extensions": [
107388 "es.object.prevent-extensions"
107389 ],
107390 "core-js/modules/es.object.seal": [
107391 "es.object.seal"
107392 ],
107393 "core-js/modules/es.object.set-prototype-of": [
107394 "es.object.set-prototype-of"
107395 ],
107396 "core-js/modules/es.object.to-string": [
107397 "es.object.to-string"
107398 ],
107399 "core-js/modules/es.object.values": [
107400 "es.object.values"
107401 ],
107402 "core-js/modules/es.parse-float": [
107403 "es.parse-float"
107404 ],
107405 "core-js/modules/es.parse-int": [
107406 "es.parse-int"
107407 ],
107408 "core-js/modules/es.promise": [
107409 "es.promise"
107410 ],
107411 "core-js/modules/es.promise.all-settled": [
107412 "es.promise.all-settled"
107413 ],
107414 "core-js/modules/es.promise.any": [
107415 "es.promise.any"
107416 ],
107417 "core-js/modules/es.promise.finally": [
107418 "es.promise.finally"
107419 ],
107420 "core-js/modules/es.reflect.apply": [
107421 "es.reflect.apply"
107422 ],
107423 "core-js/modules/es.reflect.construct": [
107424 "es.reflect.construct"
107425 ],
107426 "core-js/modules/es.reflect.define-property": [
107427 "es.reflect.define-property"
107428 ],
107429 "core-js/modules/es.reflect.delete-property": [
107430 "es.reflect.delete-property"
107431 ],
107432 "core-js/modules/es.reflect.get": [
107433 "es.reflect.get"
107434 ],
107435 "core-js/modules/es.reflect.get-own-property-descriptor": [
107436 "es.reflect.get-own-property-descriptor"
107437 ],
107438 "core-js/modules/es.reflect.get-prototype-of": [
107439 "es.reflect.get-prototype-of"
107440 ],
107441 "core-js/modules/es.reflect.has": [
107442 "es.reflect.has"
107443 ],
107444 "core-js/modules/es.reflect.is-extensible": [
107445 "es.reflect.is-extensible"
107446 ],
107447 "core-js/modules/es.reflect.own-keys": [
107448 "es.reflect.own-keys"
107449 ],
107450 "core-js/modules/es.reflect.prevent-extensions": [
107451 "es.reflect.prevent-extensions"
107452 ],
107453 "core-js/modules/es.reflect.set": [
107454 "es.reflect.set"
107455 ],
107456 "core-js/modules/es.reflect.set-prototype-of": [
107457 "es.reflect.set-prototype-of"
107458 ],
107459 "core-js/modules/es.reflect.to-string-tag": [
107460 "es.reflect.to-string-tag"
107461 ],
107462 "core-js/modules/es.regexp.constructor": [
107463 "es.regexp.constructor"
107464 ],
107465 "core-js/modules/es.regexp.dot-all": [
107466 "es.regexp.dot-all"
107467 ],
107468 "core-js/modules/es.regexp.exec": [
107469 "es.regexp.exec"
107470 ],
107471 "core-js/modules/es.regexp.flags": [
107472 "es.regexp.flags"
107473 ],
107474 "core-js/modules/es.regexp.sticky": [
107475 "es.regexp.sticky"
107476 ],
107477 "core-js/modules/es.regexp.test": [
107478 "es.regexp.test"
107479 ],
107480 "core-js/modules/es.regexp.to-string": [
107481 "es.regexp.to-string"
107482 ],
107483 "core-js/modules/es.set": [
107484 "es.set"
107485 ],
107486 "core-js/modules/es.string.anchor": [
107487 "es.string.anchor"
107488 ],
107489 "core-js/modules/es.string.big": [
107490 "es.string.big"
107491 ],
107492 "core-js/modules/es.string.blink": [
107493 "es.string.blink"
107494 ],
107495 "core-js/modules/es.string.bold": [
107496 "es.string.bold"
107497 ],
107498 "core-js/modules/es.string.code-point-at": [
107499 "es.string.code-point-at"
107500 ],
107501 "core-js/modules/es.string.ends-with": [
107502 "es.string.ends-with"
107503 ],
107504 "core-js/modules/es.string.fixed": [
107505 "es.string.fixed"
107506 ],
107507 "core-js/modules/es.string.fontcolor": [
107508 "es.string.fontcolor"
107509 ],
107510 "core-js/modules/es.string.fontsize": [
107511 "es.string.fontsize"
107512 ],
107513 "core-js/modules/es.string.from-code-point": [
107514 "es.string.from-code-point"
107515 ],
107516 "core-js/modules/es.string.includes": [
107517 "es.string.includes"
107518 ],
107519 "core-js/modules/es.string.italics": [
107520 "es.string.italics"
107521 ],
107522 "core-js/modules/es.string.iterator": [
107523 "es.string.iterator"
107524 ],
107525 "core-js/modules/es.string.link": [
107526 "es.string.link"
107527 ],
107528 "core-js/modules/es.string.match": [
107529 "es.string.match"
107530 ],
107531 "core-js/modules/es.string.match-all": [
107532 "es.string.match-all"
107533 ],
107534 "core-js/modules/es.string.pad-end": [
107535 "es.string.pad-end"
107536 ],
107537 "core-js/modules/es.string.pad-start": [
107538 "es.string.pad-start"
107539 ],
107540 "core-js/modules/es.string.raw": [
107541 "es.string.raw"
107542 ],
107543 "core-js/modules/es.string.repeat": [
107544 "es.string.repeat"
107545 ],
107546 "core-js/modules/es.string.replace": [
107547 "es.string.replace"
107548 ],
107549 "core-js/modules/es.string.replace-all": [
107550 "es.string.replace-all"
107551 ],
107552 "core-js/modules/es.string.search": [
107553 "es.string.search"
107554 ],
107555 "core-js/modules/es.string.small": [
107556 "es.string.small"
107557 ],
107558 "core-js/modules/es.string.split": [
107559 "es.string.split"
107560 ],
107561 "core-js/modules/es.string.starts-with": [
107562 "es.string.starts-with"
107563 ],
107564 "core-js/modules/es.string.strike": [
107565 "es.string.strike"
107566 ],
107567 "core-js/modules/es.string.sub": [
107568 "es.string.sub"
107569 ],
107570 "core-js/modules/es.string.substr": [
107571 "es.string.substr"
107572 ],
107573 "core-js/modules/es.string.sup": [
107574 "es.string.sup"
107575 ],
107576 "core-js/modules/es.string.trim": [
107577 "es.string.trim"
107578 ],
107579 "core-js/modules/es.string.trim-end": [
107580 "es.string.trim-end"
107581 ],
107582 "core-js/modules/es.string.trim-start": [
107583 "es.string.trim-start"
107584 ],
107585 "core-js/modules/es.symbol": [
107586 "es.symbol"
107587 ],
107588 "core-js/modules/es.symbol.async-iterator": [
107589 "es.symbol.async-iterator"
107590 ],
107591 "core-js/modules/es.symbol.description": [
107592 "es.symbol.description"
107593 ],
107594 "core-js/modules/es.symbol.has-instance": [
107595 "es.symbol.has-instance"
107596 ],
107597 "core-js/modules/es.symbol.is-concat-spreadable": [
107598 "es.symbol.is-concat-spreadable"
107599 ],
107600 "core-js/modules/es.symbol.iterator": [
107601 "es.symbol.iterator"
107602 ],
107603 "core-js/modules/es.symbol.match": [
107604 "es.symbol.match"
107605 ],
107606 "core-js/modules/es.symbol.match-all": [
107607 "es.symbol.match-all"
107608 ],
107609 "core-js/modules/es.symbol.replace": [
107610 "es.symbol.replace"
107611 ],
107612 "core-js/modules/es.symbol.search": [
107613 "es.symbol.search"
107614 ],
107615 "core-js/modules/es.symbol.species": [
107616 "es.symbol.species"
107617 ],
107618 "core-js/modules/es.symbol.split": [
107619 "es.symbol.split"
107620 ],
107621 "core-js/modules/es.symbol.to-primitive": [
107622 "es.symbol.to-primitive"
107623 ],
107624 "core-js/modules/es.symbol.to-string-tag": [
107625 "es.symbol.to-string-tag"
107626 ],
107627 "core-js/modules/es.symbol.unscopables": [
107628 "es.symbol.unscopables"
107629 ],
107630 "core-js/modules/es.typed-array.copy-within": [
107631 "es.typed-array.copy-within"
107632 ],
107633 "core-js/modules/es.typed-array.every": [
107634 "es.typed-array.every"
107635 ],
107636 "core-js/modules/es.typed-array.fill": [
107637 "es.typed-array.fill"
107638 ],
107639 "core-js/modules/es.typed-array.filter": [
107640 "es.typed-array.filter"
107641 ],
107642 "core-js/modules/es.typed-array.find": [
107643 "es.typed-array.find"
107644 ],
107645 "core-js/modules/es.typed-array.find-index": [
107646 "es.typed-array.find-index"
107647 ],
107648 "core-js/modules/es.typed-array.float32-array": [
107649 "es.typed-array.float32-array"
107650 ],
107651 "core-js/modules/es.typed-array.float64-array": [
107652 "es.typed-array.float64-array"
107653 ],
107654 "core-js/modules/es.typed-array.for-each": [
107655 "es.typed-array.for-each"
107656 ],
107657 "core-js/modules/es.typed-array.from": [
107658 "es.typed-array.from"
107659 ],
107660 "core-js/modules/es.typed-array.includes": [
107661 "es.typed-array.includes"
107662 ],
107663 "core-js/modules/es.typed-array.index-of": [
107664 "es.typed-array.index-of"
107665 ],
107666 "core-js/modules/es.typed-array.int16-array": [
107667 "es.typed-array.int16-array"
107668 ],
107669 "core-js/modules/es.typed-array.int32-array": [
107670 "es.typed-array.int32-array"
107671 ],
107672 "core-js/modules/es.typed-array.int8-array": [
107673 "es.typed-array.int8-array"
107674 ],
107675 "core-js/modules/es.typed-array.iterator": [
107676 "es.typed-array.iterator"
107677 ],
107678 "core-js/modules/es.typed-array.join": [
107679 "es.typed-array.join"
107680 ],
107681 "core-js/modules/es.typed-array.last-index-of": [
107682 "es.typed-array.last-index-of"
107683 ],
107684 "core-js/modules/es.typed-array.map": [
107685 "es.typed-array.map"
107686 ],
107687 "core-js/modules/es.typed-array.of": [
107688 "es.typed-array.of"
107689 ],
107690 "core-js/modules/es.typed-array.reduce": [
107691 "es.typed-array.reduce"
107692 ],
107693 "core-js/modules/es.typed-array.reduce-right": [
107694 "es.typed-array.reduce-right"
107695 ],
107696 "core-js/modules/es.typed-array.reverse": [
107697 "es.typed-array.reverse"
107698 ],
107699 "core-js/modules/es.typed-array.set": [
107700 "es.typed-array.set"
107701 ],
107702 "core-js/modules/es.typed-array.slice": [
107703 "es.typed-array.slice"
107704 ],
107705 "core-js/modules/es.typed-array.some": [
107706 "es.typed-array.some"
107707 ],
107708 "core-js/modules/es.typed-array.sort": [
107709 "es.typed-array.sort"
107710 ],
107711 "core-js/modules/es.typed-array.subarray": [
107712 "es.typed-array.subarray"
107713 ],
107714 "core-js/modules/es.typed-array.to-locale-string": [
107715 "es.typed-array.to-locale-string"
107716 ],
107717 "core-js/modules/es.typed-array.to-string": [
107718 "es.typed-array.to-string"
107719 ],
107720 "core-js/modules/es.typed-array.uint16-array": [
107721 "es.typed-array.uint16-array"
107722 ],
107723 "core-js/modules/es.typed-array.uint32-array": [
107724 "es.typed-array.uint32-array"
107725 ],
107726 "core-js/modules/es.typed-array.uint8-array": [
107727 "es.typed-array.uint8-array"
107728 ],
107729 "core-js/modules/es.typed-array.uint8-clamped-array": [
107730 "es.typed-array.uint8-clamped-array"
107731 ],
107732 "core-js/modules/es.unescape": [
107733 "es.unescape"
107734 ],
107735 "core-js/modules/es.weak-map": [
107736 "es.weak-map"
107737 ],
107738 "core-js/modules/es.weak-set": [
107739 "es.weak-set"
107740 ],
107741 "core-js/modules/esnext.aggregate-error": [
107742 "esnext.aggregate-error"
107743 ],
107744 "core-js/modules/esnext.array.at": [
107745 "esnext.array.at"
107746 ],
107747 "core-js/modules/esnext.array.filter-out": [
107748 "esnext.array.filter-out"
107749 ],
107750 "core-js/modules/esnext.array.find-last": [
107751 "esnext.array.find-last"
107752 ],
107753 "core-js/modules/esnext.array.find-last-index": [
107754 "esnext.array.find-last-index"
107755 ],
107756 "core-js/modules/esnext.array.is-template-object": [
107757 "esnext.array.is-template-object"
107758 ],
107759 "core-js/modules/esnext.array.last-index": [
107760 "esnext.array.last-index"
107761 ],
107762 "core-js/modules/esnext.array.last-item": [
107763 "esnext.array.last-item"
107764 ],
107765 "core-js/modules/esnext.array.unique-by": [
107766 "esnext.array.unique-by"
107767 ],
107768 "core-js/modules/esnext.async-iterator.as-indexed-pairs": [
107769 "esnext.async-iterator.as-indexed-pairs"
107770 ],
107771 "core-js/modules/esnext.async-iterator.constructor": [
107772 "esnext.async-iterator.constructor"
107773 ],
107774 "core-js/modules/esnext.async-iterator.drop": [
107775 "esnext.async-iterator.drop"
107776 ],
107777 "core-js/modules/esnext.async-iterator.every": [
107778 "esnext.async-iterator.every"
107779 ],
107780 "core-js/modules/esnext.async-iterator.filter": [
107781 "esnext.async-iterator.filter"
107782 ],
107783 "core-js/modules/esnext.async-iterator.find": [
107784 "esnext.async-iterator.find"
107785 ],
107786 "core-js/modules/esnext.async-iterator.flat-map": [
107787 "esnext.async-iterator.flat-map"
107788 ],
107789 "core-js/modules/esnext.async-iterator.for-each": [
107790 "esnext.async-iterator.for-each"
107791 ],
107792 "core-js/modules/esnext.async-iterator.from": [
107793 "esnext.async-iterator.from"
107794 ],
107795 "core-js/modules/esnext.async-iterator.map": [
107796 "esnext.async-iterator.map"
107797 ],
107798 "core-js/modules/esnext.async-iterator.reduce": [
107799 "esnext.async-iterator.reduce"
107800 ],
107801 "core-js/modules/esnext.async-iterator.some": [
107802 "esnext.async-iterator.some"
107803 ],
107804 "core-js/modules/esnext.async-iterator.take": [
107805 "esnext.async-iterator.take"
107806 ],
107807 "core-js/modules/esnext.async-iterator.to-array": [
107808 "esnext.async-iterator.to-array"
107809 ],
107810 "core-js/modules/esnext.bigint.range": [
107811 "esnext.bigint.range"
107812 ],
107813 "core-js/modules/esnext.composite-key": [
107814 "esnext.composite-key"
107815 ],
107816 "core-js/modules/esnext.composite-symbol": [
107817 "esnext.composite-symbol"
107818 ],
107819 "core-js/modules/esnext.global-this": [
107820 "esnext.global-this"
107821 ],
107822 "core-js/modules/esnext.iterator.as-indexed-pairs": [
107823 "esnext.iterator.as-indexed-pairs"
107824 ],
107825 "core-js/modules/esnext.iterator.constructor": [
107826 "esnext.iterator.constructor"
107827 ],
107828 "core-js/modules/esnext.iterator.drop": [
107829 "esnext.iterator.drop"
107830 ],
107831 "core-js/modules/esnext.iterator.every": [
107832 "esnext.iterator.every"
107833 ],
107834 "core-js/modules/esnext.iterator.filter": [
107835 "esnext.iterator.filter"
107836 ],
107837 "core-js/modules/esnext.iterator.find": [
107838 "esnext.iterator.find"
107839 ],
107840 "core-js/modules/esnext.iterator.flat-map": [
107841 "esnext.iterator.flat-map"
107842 ],
107843 "core-js/modules/esnext.iterator.for-each": [
107844 "esnext.iterator.for-each"
107845 ],
107846 "core-js/modules/esnext.iterator.from": [
107847 "esnext.iterator.from"
107848 ],
107849 "core-js/modules/esnext.iterator.map": [
107850 "esnext.iterator.map"
107851 ],
107852 "core-js/modules/esnext.iterator.reduce": [
107853 "esnext.iterator.reduce"
107854 ],
107855 "core-js/modules/esnext.iterator.some": [
107856 "esnext.iterator.some"
107857 ],
107858 "core-js/modules/esnext.iterator.take": [
107859 "esnext.iterator.take"
107860 ],
107861 "core-js/modules/esnext.iterator.to-array": [
107862 "esnext.iterator.to-array"
107863 ],
107864 "core-js/modules/esnext.map.delete-all": [
107865 "esnext.map.delete-all"
107866 ],
107867 "core-js/modules/esnext.map.emplace": [
107868 "esnext.map.emplace"
107869 ],
107870 "core-js/modules/esnext.map.every": [
107871 "esnext.map.every"
107872 ],
107873 "core-js/modules/esnext.map.filter": [
107874 "esnext.map.filter"
107875 ],
107876 "core-js/modules/esnext.map.find": [
107877 "esnext.map.find"
107878 ],
107879 "core-js/modules/esnext.map.find-key": [
107880 "esnext.map.find-key"
107881 ],
107882 "core-js/modules/esnext.map.from": [
107883 "esnext.map.from"
107884 ],
107885 "core-js/modules/esnext.map.group-by": [
107886 "esnext.map.group-by"
107887 ],
107888 "core-js/modules/esnext.map.includes": [
107889 "esnext.map.includes"
107890 ],
107891 "core-js/modules/esnext.map.key-by": [
107892 "esnext.map.key-by"
107893 ],
107894 "core-js/modules/esnext.map.key-of": [
107895 "esnext.map.key-of"
107896 ],
107897 "core-js/modules/esnext.map.map-keys": [
107898 "esnext.map.map-keys"
107899 ],
107900 "core-js/modules/esnext.map.map-values": [
107901 "esnext.map.map-values"
107902 ],
107903 "core-js/modules/esnext.map.merge": [
107904 "esnext.map.merge"
107905 ],
107906 "core-js/modules/esnext.map.of": [
107907 "esnext.map.of"
107908 ],
107909 "core-js/modules/esnext.map.reduce": [
107910 "esnext.map.reduce"
107911 ],
107912 "core-js/modules/esnext.map.some": [
107913 "esnext.map.some"
107914 ],
107915 "core-js/modules/esnext.map.update": [
107916 "esnext.map.update"
107917 ],
107918 "core-js/modules/esnext.map.update-or-insert": [
107919 "esnext.map.update-or-insert"
107920 ],
107921 "core-js/modules/esnext.map.upsert": [
107922 "esnext.map.upsert"
107923 ],
107924 "core-js/modules/esnext.math.clamp": [
107925 "esnext.math.clamp"
107926 ],
107927 "core-js/modules/esnext.math.deg-per-rad": [
107928 "esnext.math.deg-per-rad"
107929 ],
107930 "core-js/modules/esnext.math.degrees": [
107931 "esnext.math.degrees"
107932 ],
107933 "core-js/modules/esnext.math.fscale": [
107934 "esnext.math.fscale"
107935 ],
107936 "core-js/modules/esnext.math.iaddh": [
107937 "esnext.math.iaddh"
107938 ],
107939 "core-js/modules/esnext.math.imulh": [
107940 "esnext.math.imulh"
107941 ],
107942 "core-js/modules/esnext.math.isubh": [
107943 "esnext.math.isubh"
107944 ],
107945 "core-js/modules/esnext.math.rad-per-deg": [
107946 "esnext.math.rad-per-deg"
107947 ],
107948 "core-js/modules/esnext.math.radians": [
107949 "esnext.math.radians"
107950 ],
107951 "core-js/modules/esnext.math.scale": [
107952 "esnext.math.scale"
107953 ],
107954 "core-js/modules/esnext.math.seeded-prng": [
107955 "esnext.math.seeded-prng"
107956 ],
107957 "core-js/modules/esnext.math.signbit": [
107958 "esnext.math.signbit"
107959 ],
107960 "core-js/modules/esnext.math.umulh": [
107961 "esnext.math.umulh"
107962 ],
107963 "core-js/modules/esnext.number.from-string": [
107964 "esnext.number.from-string"
107965 ],
107966 "core-js/modules/esnext.number.range": [
107967 "esnext.number.range"
107968 ],
107969 "core-js/modules/esnext.object.has-own": [
107970 "esnext.object.has-own"
107971 ],
107972 "core-js/modules/esnext.object.iterate-entries": [
107973 "esnext.object.iterate-entries"
107974 ],
107975 "core-js/modules/esnext.object.iterate-keys": [
107976 "esnext.object.iterate-keys"
107977 ],
107978 "core-js/modules/esnext.object.iterate-values": [
107979 "esnext.object.iterate-values"
107980 ],
107981 "core-js/modules/esnext.observable": [
107982 "esnext.observable"
107983 ],
107984 "core-js/modules/esnext.promise.all-settled": [
107985 "esnext.promise.all-settled"
107986 ],
107987 "core-js/modules/esnext.promise.any": [
107988 "esnext.promise.any"
107989 ],
107990 "core-js/modules/esnext.promise.try": [
107991 "esnext.promise.try"
107992 ],
107993 "core-js/modules/esnext.reflect.define-metadata": [
107994 "esnext.reflect.define-metadata"
107995 ],
107996 "core-js/modules/esnext.reflect.delete-metadata": [
107997 "esnext.reflect.delete-metadata"
107998 ],
107999 "core-js/modules/esnext.reflect.get-metadata": [
108000 "esnext.reflect.get-metadata"
108001 ],
108002 "core-js/modules/esnext.reflect.get-metadata-keys": [
108003 "esnext.reflect.get-metadata-keys"
108004 ],
108005 "core-js/modules/esnext.reflect.get-own-metadata": [
108006 "esnext.reflect.get-own-metadata"
108007 ],
108008 "core-js/modules/esnext.reflect.get-own-metadata-keys": [
108009 "esnext.reflect.get-own-metadata-keys"
108010 ],
108011 "core-js/modules/esnext.reflect.has-metadata": [
108012 "esnext.reflect.has-metadata"
108013 ],
108014 "core-js/modules/esnext.reflect.has-own-metadata": [
108015 "esnext.reflect.has-own-metadata"
108016 ],
108017 "core-js/modules/esnext.reflect.metadata": [
108018 "esnext.reflect.metadata"
108019 ],
108020 "core-js/modules/esnext.set.add-all": [
108021 "esnext.set.add-all"
108022 ],
108023 "core-js/modules/esnext.set.delete-all": [
108024 "esnext.set.delete-all"
108025 ],
108026 "core-js/modules/esnext.set.difference": [
108027 "esnext.set.difference"
108028 ],
108029 "core-js/modules/esnext.set.every": [
108030 "esnext.set.every"
108031 ],
108032 "core-js/modules/esnext.set.filter": [
108033 "esnext.set.filter"
108034 ],
108035 "core-js/modules/esnext.set.find": [
108036 "esnext.set.find"
108037 ],
108038 "core-js/modules/esnext.set.from": [
108039 "esnext.set.from"
108040 ],
108041 "core-js/modules/esnext.set.intersection": [
108042 "esnext.set.intersection"
108043 ],
108044 "core-js/modules/esnext.set.is-disjoint-from": [
108045 "esnext.set.is-disjoint-from"
108046 ],
108047 "core-js/modules/esnext.set.is-subset-of": [
108048 "esnext.set.is-subset-of"
108049 ],
108050 "core-js/modules/esnext.set.is-superset-of": [
108051 "esnext.set.is-superset-of"
108052 ],
108053 "core-js/modules/esnext.set.join": [
108054 "esnext.set.join"
108055 ],
108056 "core-js/modules/esnext.set.map": [
108057 "esnext.set.map"
108058 ],
108059 "core-js/modules/esnext.set.of": [
108060 "esnext.set.of"
108061 ],
108062 "core-js/modules/esnext.set.reduce": [
108063 "esnext.set.reduce"
108064 ],
108065 "core-js/modules/esnext.set.some": [
108066 "esnext.set.some"
108067 ],
108068 "core-js/modules/esnext.set.symmetric-difference": [
108069 "esnext.set.symmetric-difference"
108070 ],
108071 "core-js/modules/esnext.set.union": [
108072 "esnext.set.union"
108073 ],
108074 "core-js/modules/esnext.string.at": [
108075 "esnext.string.at"
108076 ],
108077 "core-js/modules/esnext.string.at-alternative": [
108078 "esnext.string.at-alternative"
108079 ],
108080 "core-js/modules/esnext.string.code-points": [
108081 "esnext.string.code-points"
108082 ],
108083 "core-js/modules/esnext.string.match-all": [
108084 "esnext.string.match-all"
108085 ],
108086 "core-js/modules/esnext.string.replace-all": [
108087 "esnext.string.replace-all"
108088 ],
108089 "core-js/modules/esnext.symbol.async-dispose": [
108090 "esnext.symbol.async-dispose"
108091 ],
108092 "core-js/modules/esnext.symbol.dispose": [
108093 "esnext.symbol.dispose"
108094 ],
108095 "core-js/modules/esnext.symbol.matcher": [
108096 "esnext.symbol.matcher"
108097 ],
108098 "core-js/modules/esnext.symbol.metadata": [
108099 "esnext.symbol.metadata"
108100 ],
108101 "core-js/modules/esnext.symbol.observable": [
108102 "esnext.symbol.observable"
108103 ],
108104 "core-js/modules/esnext.symbol.pattern-match": [
108105 "esnext.symbol.pattern-match"
108106 ],
108107 "core-js/modules/esnext.symbol.replace-all": [
108108 "esnext.symbol.replace-all"
108109 ],
108110 "core-js/modules/esnext.typed-array.at": [
108111 "esnext.typed-array.at"
108112 ],
108113 "core-js/modules/esnext.typed-array.filter-out": [
108114 "esnext.typed-array.filter-out"
108115 ],
108116 "core-js/modules/esnext.typed-array.find-last": [
108117 "esnext.typed-array.find-last"
108118 ],
108119 "core-js/modules/esnext.typed-array.find-last-index": [
108120 "esnext.typed-array.find-last-index"
108121 ],
108122 "core-js/modules/esnext.typed-array.unique-by": [
108123 "esnext.typed-array.unique-by"
108124 ],
108125 "core-js/modules/esnext.weak-map.delete-all": [
108126 "esnext.weak-map.delete-all"
108127 ],
108128 "core-js/modules/esnext.weak-map.emplace": [
108129 "esnext.weak-map.emplace"
108130 ],
108131 "core-js/modules/esnext.weak-map.from": [
108132 "esnext.weak-map.from"
108133 ],
108134 "core-js/modules/esnext.weak-map.of": [
108135 "esnext.weak-map.of"
108136 ],
108137 "core-js/modules/esnext.weak-map.upsert": [
108138 "esnext.weak-map.upsert"
108139 ],
108140 "core-js/modules/esnext.weak-set.add-all": [
108141 "esnext.weak-set.add-all"
108142 ],
108143 "core-js/modules/esnext.weak-set.delete-all": [
108144 "esnext.weak-set.delete-all"
108145 ],
108146 "core-js/modules/esnext.weak-set.from": [
108147 "esnext.weak-set.from"
108148 ],
108149 "core-js/modules/esnext.weak-set.of": [
108150 "esnext.weak-set.of"
108151 ],
108152 "core-js/modules/web.dom-collections.for-each": [
108153 "web.dom-collections.for-each"
108154 ],
108155 "core-js/modules/web.dom-collections.iterator": [
108156 "web.dom-collections.iterator"
108157 ],
108158 "core-js/modules/web.immediate": [
108159 "web.immediate"
108160 ],
108161 "core-js/modules/web.queue-microtask": [
108162 "web.queue-microtask"
108163 ],
108164 "core-js/modules/web.timers": [
108165 "web.timers"
108166 ],
108167 "core-js/modules/web.url": [
108168 "web.url"
108169 ],
108170 "core-js/modules/web.url-search-params": [
108171 "web.url-search-params"
108172 ],
108173 "core-js/modules/web.url.to-json": [
108174 "web.url.to-json"
108175 ],
108176 "core-js/proposals": [
108177 "es.map",
108178 "esnext.aggregate-error",
108179 "esnext.array.at",
108180 "esnext.array.filter-out",
108181 "esnext.array.find-last",
108182 "esnext.array.find-last-index",
108183 "esnext.array.is-template-object",
108184 "esnext.array.last-index",
108185 "esnext.array.last-item",
108186 "esnext.array.unique-by",
108187 "esnext.async-iterator.constructor",
108188 "esnext.async-iterator.as-indexed-pairs",
108189 "esnext.async-iterator.drop",
108190 "esnext.async-iterator.every",
108191 "esnext.async-iterator.filter",
108192 "esnext.async-iterator.find",
108193 "esnext.async-iterator.flat-map",
108194 "esnext.async-iterator.for-each",
108195 "esnext.async-iterator.from",
108196 "esnext.async-iterator.map",
108197 "esnext.async-iterator.reduce",
108198 "esnext.async-iterator.some",
108199 "esnext.async-iterator.take",
108200 "esnext.async-iterator.to-array",
108201 "esnext.bigint.range",
108202 "esnext.composite-key",
108203 "esnext.composite-symbol",
108204 "esnext.global-this",
108205 "esnext.iterator.constructor",
108206 "esnext.iterator.as-indexed-pairs",
108207 "esnext.iterator.drop",
108208 "esnext.iterator.every",
108209 "esnext.iterator.filter",
108210 "esnext.iterator.find",
108211 "esnext.iterator.flat-map",
108212 "esnext.iterator.for-each",
108213 "esnext.iterator.from",
108214 "esnext.iterator.map",
108215 "esnext.iterator.reduce",
108216 "esnext.iterator.some",
108217 "esnext.iterator.take",
108218 "esnext.iterator.to-array",
108219 "esnext.map.delete-all",
108220 "esnext.map.emplace",
108221 "esnext.map.every",
108222 "esnext.map.filter",
108223 "esnext.map.find",
108224 "esnext.map.find-key",
108225 "esnext.map.from",
108226 "esnext.map.group-by",
108227 "esnext.map.includes",
108228 "esnext.map.key-by",
108229 "esnext.map.key-of",
108230 "esnext.map.map-keys",
108231 "esnext.map.map-values",
108232 "esnext.map.merge",
108233 "esnext.map.of",
108234 "esnext.map.reduce",
108235 "esnext.map.some",
108236 "esnext.map.update",
108237 "esnext.map.update-or-insert",
108238 "esnext.map.upsert",
108239 "esnext.math.clamp",
108240 "esnext.math.deg-per-rad",
108241 "esnext.math.degrees",
108242 "esnext.math.fscale",
108243 "esnext.math.iaddh",
108244 "esnext.math.imulh",
108245 "esnext.math.isubh",
108246 "esnext.math.rad-per-deg",
108247 "esnext.math.radians",
108248 "esnext.math.scale",
108249 "esnext.math.seeded-prng",
108250 "esnext.math.signbit",
108251 "esnext.math.umulh",
108252 "esnext.number.from-string",
108253 "esnext.number.range",
108254 "esnext.object.has-own",
108255 "esnext.object.iterate-entries",
108256 "esnext.object.iterate-keys",
108257 "esnext.object.iterate-values",
108258 "esnext.observable",
108259 "esnext.promise.all-settled",
108260 "esnext.promise.any",
108261 "esnext.promise.try",
108262 "esnext.reflect.define-metadata",
108263 "esnext.reflect.delete-metadata",
108264 "esnext.reflect.get-metadata",
108265 "esnext.reflect.get-metadata-keys",
108266 "esnext.reflect.get-own-metadata",
108267 "esnext.reflect.get-own-metadata-keys",
108268 "esnext.reflect.has-metadata",
108269 "esnext.reflect.has-own-metadata",
108270 "esnext.reflect.metadata",
108271 "esnext.set.add-all",
108272 "esnext.set.delete-all",
108273 "esnext.set.difference",
108274 "esnext.set.every",
108275 "esnext.set.filter",
108276 "esnext.set.find",
108277 "esnext.set.from",
108278 "esnext.set.intersection",
108279 "esnext.set.is-disjoint-from",
108280 "esnext.set.is-subset-of",
108281 "esnext.set.is-superset-of",
108282 "esnext.set.join",
108283 "esnext.set.map",
108284 "esnext.set.of",
108285 "esnext.set.reduce",
108286 "esnext.set.some",
108287 "esnext.set.symmetric-difference",
108288 "esnext.set.union",
108289 "esnext.string.at",
108290 "esnext.string.code-points",
108291 "esnext.string.match-all",
108292 "esnext.string.replace-all",
108293 "esnext.symbol.async-dispose",
108294 "esnext.symbol.dispose",
108295 "esnext.symbol.matcher",
108296 "esnext.symbol.metadata",
108297 "esnext.symbol.observable",
108298 "esnext.symbol.pattern-match",
108299 "esnext.symbol.replace-all",
108300 "esnext.typed-array.at",
108301 "esnext.typed-array.filter-out",
108302 "esnext.typed-array.find-last",
108303 "esnext.typed-array.find-last-index",
108304 "esnext.typed-array.unique-by",
108305 "esnext.weak-map.delete-all",
108306 "esnext.weak-map.from",
108307 "esnext.weak-map.of",
108308 "esnext.weak-map.emplace",
108309 "esnext.weak-map.upsert",
108310 "esnext.weak-set.add-all",
108311 "esnext.weak-set.delete-all",
108312 "esnext.weak-set.from",
108313 "esnext.weak-set.of",
108314 "web.url",
108315 "web.url.to-json",
108316 "web.url-search-params"
108317 ],
108318 "core-js/proposals/accessible-object-hasownproperty": [
108319 "esnext.object.has-own"
108320 ],
108321 "core-js/proposals/array-filtering": [
108322 "esnext.array.filter-out",
108323 "esnext.typed-array.filter-out"
108324 ],
108325 "core-js/proposals/array-find-from-last": [
108326 "esnext.array.find-last",
108327 "esnext.array.find-last-index",
108328 "esnext.typed-array.find-last",
108329 "esnext.typed-array.find-last-index"
108330 ],
108331 "core-js/proposals/array-is-template-object": [
108332 "esnext.array.is-template-object"
108333 ],
108334 "core-js/proposals/array-last": [
108335 "esnext.array.last-index",
108336 "esnext.array.last-item"
108337 ],
108338 "core-js/proposals/array-unique": [
108339 "es.map",
108340 "esnext.array.unique-by",
108341 "esnext.typed-array.unique-by"
108342 ],
108343 "core-js/proposals/collection-methods": [
108344 "esnext.map.delete-all",
108345 "esnext.map.every",
108346 "esnext.map.filter",
108347 "esnext.map.find",
108348 "esnext.map.find-key",
108349 "esnext.map.group-by",
108350 "esnext.map.includes",
108351 "esnext.map.key-by",
108352 "esnext.map.key-of",
108353 "esnext.map.map-keys",
108354 "esnext.map.map-values",
108355 "esnext.map.merge",
108356 "esnext.map.reduce",
108357 "esnext.map.some",
108358 "esnext.map.update",
108359 "esnext.set.add-all",
108360 "esnext.set.delete-all",
108361 "esnext.set.every",
108362 "esnext.set.filter",
108363 "esnext.set.find",
108364 "esnext.set.join",
108365 "esnext.set.map",
108366 "esnext.set.reduce",
108367 "esnext.set.some",
108368 "esnext.weak-map.delete-all",
108369 "esnext.weak-set.add-all",
108370 "esnext.weak-set.delete-all"
108371 ],
108372 "core-js/proposals/collection-of-from": [
108373 "esnext.map.from",
108374 "esnext.map.of",
108375 "esnext.set.from",
108376 "esnext.set.of",
108377 "esnext.weak-map.from",
108378 "esnext.weak-map.of",
108379 "esnext.weak-set.from",
108380 "esnext.weak-set.of"
108381 ],
108382 "core-js/proposals/decorators": [
108383 "esnext.symbol.metadata"
108384 ],
108385 "core-js/proposals/efficient-64-bit-arithmetic": [
108386 "esnext.math.iaddh",
108387 "esnext.math.imulh",
108388 "esnext.math.isubh",
108389 "esnext.math.umulh"
108390 ],
108391 "core-js/proposals/global-this": [
108392 "esnext.global-this"
108393 ],
108394 "core-js/proposals/iterator-helpers": [
108395 "esnext.async-iterator.constructor",
108396 "esnext.async-iterator.as-indexed-pairs",
108397 "esnext.async-iterator.drop",
108398 "esnext.async-iterator.every",
108399 "esnext.async-iterator.filter",
108400 "esnext.async-iterator.find",
108401 "esnext.async-iterator.flat-map",
108402 "esnext.async-iterator.for-each",
108403 "esnext.async-iterator.from",
108404 "esnext.async-iterator.map",
108405 "esnext.async-iterator.reduce",
108406 "esnext.async-iterator.some",
108407 "esnext.async-iterator.take",
108408 "esnext.async-iterator.to-array",
108409 "esnext.iterator.constructor",
108410 "esnext.iterator.as-indexed-pairs",
108411 "esnext.iterator.drop",
108412 "esnext.iterator.every",
108413 "esnext.iterator.filter",
108414 "esnext.iterator.find",
108415 "esnext.iterator.flat-map",
108416 "esnext.iterator.for-each",
108417 "esnext.iterator.from",
108418 "esnext.iterator.map",
108419 "esnext.iterator.reduce",
108420 "esnext.iterator.some",
108421 "esnext.iterator.take",
108422 "esnext.iterator.to-array"
108423 ],
108424 "core-js/proposals/keys-composition": [
108425 "esnext.composite-key",
108426 "esnext.composite-symbol"
108427 ],
108428 "core-js/proposals/map-update-or-insert": [
108429 "esnext.map.emplace",
108430 "esnext.map.update-or-insert",
108431 "esnext.map.upsert",
108432 "esnext.weak-map.emplace",
108433 "esnext.weak-map.upsert"
108434 ],
108435 "core-js/proposals/map-upsert": [
108436 "esnext.map.emplace",
108437 "esnext.map.update-or-insert",
108438 "esnext.map.upsert",
108439 "esnext.weak-map.emplace",
108440 "esnext.weak-map.upsert"
108441 ],
108442 "core-js/proposals/math-extensions": [
108443 "esnext.math.clamp",
108444 "esnext.math.deg-per-rad",
108445 "esnext.math.degrees",
108446 "esnext.math.fscale",
108447 "esnext.math.rad-per-deg",
108448 "esnext.math.radians",
108449 "esnext.math.scale"
108450 ],
108451 "core-js/proposals/math-signbit": [
108452 "esnext.math.signbit"
108453 ],
108454 "core-js/proposals/number-from-string": [
108455 "esnext.number.from-string"
108456 ],
108457 "core-js/proposals/number-range": [
108458 "esnext.bigint.range",
108459 "esnext.number.range"
108460 ],
108461 "core-js/proposals/object-iteration": [
108462 "esnext.object.iterate-entries",
108463 "esnext.object.iterate-keys",
108464 "esnext.object.iterate-values"
108465 ],
108466 "core-js/proposals/observable": [
108467 "esnext.observable",
108468 "esnext.symbol.observable"
108469 ],
108470 "core-js/proposals/pattern-matching": [
108471 "esnext.symbol.matcher",
108472 "esnext.symbol.pattern-match"
108473 ],
108474 "core-js/proposals/promise-all-settled": [
108475 "esnext.promise.all-settled"
108476 ],
108477 "core-js/proposals/promise-any": [
108478 "esnext.aggregate-error",
108479 "esnext.promise.any"
108480 ],
108481 "core-js/proposals/promise-try": [
108482 "esnext.promise.try"
108483 ],
108484 "core-js/proposals/reflect-metadata": [
108485 "esnext.reflect.define-metadata",
108486 "esnext.reflect.delete-metadata",
108487 "esnext.reflect.get-metadata",
108488 "esnext.reflect.get-metadata-keys",
108489 "esnext.reflect.get-own-metadata",
108490 "esnext.reflect.get-own-metadata-keys",
108491 "esnext.reflect.has-metadata",
108492 "esnext.reflect.has-own-metadata",
108493 "esnext.reflect.metadata"
108494 ],
108495 "core-js/proposals/relative-indexing-method": [
108496 "esnext.array.at",
108497 "esnext.typed-array.at"
108498 ],
108499 "core-js/proposals/seeded-random": [
108500 "esnext.math.seeded-prng"
108501 ],
108502 "core-js/proposals/set-methods": [
108503 "esnext.set.difference",
108504 "esnext.set.intersection",
108505 "esnext.set.is-disjoint-from",
108506 "esnext.set.is-subset-of",
108507 "esnext.set.is-superset-of",
108508 "esnext.set.symmetric-difference",
108509 "esnext.set.union"
108510 ],
108511 "core-js/proposals/string-at": [
108512 "esnext.string.at"
108513 ],
108514 "core-js/proposals/string-code-points": [
108515 "esnext.string.code-points"
108516 ],
108517 "core-js/proposals/string-match-all": [
108518 "esnext.string.match-all"
108519 ],
108520 "core-js/proposals/string-replace-all": [
108521 "esnext.string.replace-all",
108522 "esnext.symbol.replace-all"
108523 ],
108524 "core-js/proposals/url": [
108525 "web.url",
108526 "web.url.to-json",
108527 "web.url-search-params"
108528 ],
108529 "core-js/proposals/using-statement": [
108530 "esnext.symbol.async-dispose",
108531 "esnext.symbol.dispose"
108532 ],
108533 "core-js/stable": [
108534 "es.symbol",
108535 "es.symbol.description",
108536 "es.symbol.async-iterator",
108537 "es.symbol.has-instance",
108538 "es.symbol.is-concat-spreadable",
108539 "es.symbol.iterator",
108540 "es.symbol.match",
108541 "es.symbol.match-all",
108542 "es.symbol.replace",
108543 "es.symbol.search",
108544 "es.symbol.species",
108545 "es.symbol.split",
108546 "es.symbol.to-primitive",
108547 "es.symbol.to-string-tag",
108548 "es.symbol.unscopables",
108549 "es.aggregate-error",
108550 "es.array.concat",
108551 "es.array.copy-within",
108552 "es.array.every",
108553 "es.array.fill",
108554 "es.array.filter",
108555 "es.array.find",
108556 "es.array.find-index",
108557 "es.array.flat",
108558 "es.array.flat-map",
108559 "es.array.for-each",
108560 "es.array.from",
108561 "es.array.includes",
108562 "es.array.index-of",
108563 "es.array.is-array",
108564 "es.array.iterator",
108565 "es.array.join",
108566 "es.array.last-index-of",
108567 "es.array.map",
108568 "es.array.of",
108569 "es.array.reduce",
108570 "es.array.reduce-right",
108571 "es.array.reverse",
108572 "es.array.slice",
108573 "es.array.some",
108574 "es.array.sort",
108575 "es.array.species",
108576 "es.array.splice",
108577 "es.array.unscopables.flat",
108578 "es.array.unscopables.flat-map",
108579 "es.array-buffer.constructor",
108580 "es.array-buffer.is-view",
108581 "es.array-buffer.slice",
108582 "es.data-view",
108583 "es.date.get-year",
108584 "es.date.now",
108585 "es.date.set-year",
108586 "es.date.to-gmt-string",
108587 "es.date.to-iso-string",
108588 "es.date.to-json",
108589 "es.date.to-primitive",
108590 "es.date.to-string",
108591 "es.escape",
108592 "es.function.bind",
108593 "es.function.has-instance",
108594 "es.function.name",
108595 "es.global-this",
108596 "es.json.stringify",
108597 "es.json.to-string-tag",
108598 "es.map",
108599 "es.math.acosh",
108600 "es.math.asinh",
108601 "es.math.atanh",
108602 "es.math.cbrt",
108603 "es.math.clz32",
108604 "es.math.cosh",
108605 "es.math.expm1",
108606 "es.math.fround",
108607 "es.math.hypot",
108608 "es.math.imul",
108609 "es.math.log10",
108610 "es.math.log1p",
108611 "es.math.log2",
108612 "es.math.sign",
108613 "es.math.sinh",
108614 "es.math.tanh",
108615 "es.math.to-string-tag",
108616 "es.math.trunc",
108617 "es.number.constructor",
108618 "es.number.epsilon",
108619 "es.number.is-finite",
108620 "es.number.is-integer",
108621 "es.number.is-nan",
108622 "es.number.is-safe-integer",
108623 "es.number.max-safe-integer",
108624 "es.number.min-safe-integer",
108625 "es.number.parse-float",
108626 "es.number.parse-int",
108627 "es.number.to-fixed",
108628 "es.number.to-precision",
108629 "es.object.assign",
108630 "es.object.create",
108631 "es.object.define-getter",
108632 "es.object.define-properties",
108633 "es.object.define-property",
108634 "es.object.define-setter",
108635 "es.object.entries",
108636 "es.object.freeze",
108637 "es.object.from-entries",
108638 "es.object.get-own-property-descriptor",
108639 "es.object.get-own-property-descriptors",
108640 "es.object.get-own-property-names",
108641 "es.object.get-prototype-of",
108642 "es.object.is",
108643 "es.object.is-extensible",
108644 "es.object.is-frozen",
108645 "es.object.is-sealed",
108646 "es.object.keys",
108647 "es.object.lookup-getter",
108648 "es.object.lookup-setter",
108649 "es.object.prevent-extensions",
108650 "es.object.seal",
108651 "es.object.set-prototype-of",
108652 "es.object.to-string",
108653 "es.object.values",
108654 "es.parse-float",
108655 "es.parse-int",
108656 "es.promise",
108657 "es.promise.all-settled",
108658 "es.promise.any",
108659 "es.promise.finally",
108660 "es.reflect.apply",
108661 "es.reflect.construct",
108662 "es.reflect.define-property",
108663 "es.reflect.delete-property",
108664 "es.reflect.get",
108665 "es.reflect.get-own-property-descriptor",
108666 "es.reflect.get-prototype-of",
108667 "es.reflect.has",
108668 "es.reflect.is-extensible",
108669 "es.reflect.own-keys",
108670 "es.reflect.prevent-extensions",
108671 "es.reflect.set",
108672 "es.reflect.set-prototype-of",
108673 "es.reflect.to-string-tag",
108674 "es.regexp.constructor",
108675 "es.regexp.dot-all",
108676 "es.regexp.exec",
108677 "es.regexp.flags",
108678 "es.regexp.sticky",
108679 "es.regexp.test",
108680 "es.regexp.to-string",
108681 "es.set",
108682 "es.string.code-point-at",
108683 "es.string.ends-with",
108684 "es.string.from-code-point",
108685 "es.string.includes",
108686 "es.string.iterator",
108687 "es.string.match",
108688 "es.string.match-all",
108689 "es.string.pad-end",
108690 "es.string.pad-start",
108691 "es.string.raw",
108692 "es.string.repeat",
108693 "es.string.replace",
108694 "es.string.replace-all",
108695 "es.string.search",
108696 "es.string.split",
108697 "es.string.starts-with",
108698 "es.string.substr",
108699 "es.string.trim",
108700 "es.string.trim-end",
108701 "es.string.trim-start",
108702 "es.string.anchor",
108703 "es.string.big",
108704 "es.string.blink",
108705 "es.string.bold",
108706 "es.string.fixed",
108707 "es.string.fontcolor",
108708 "es.string.fontsize",
108709 "es.string.italics",
108710 "es.string.link",
108711 "es.string.small",
108712 "es.string.strike",
108713 "es.string.sub",
108714 "es.string.sup",
108715 "es.typed-array.float32-array",
108716 "es.typed-array.float64-array",
108717 "es.typed-array.int8-array",
108718 "es.typed-array.int16-array",
108719 "es.typed-array.int32-array",
108720 "es.typed-array.uint8-array",
108721 "es.typed-array.uint8-clamped-array",
108722 "es.typed-array.uint16-array",
108723 "es.typed-array.uint32-array",
108724 "es.typed-array.copy-within",
108725 "es.typed-array.every",
108726 "es.typed-array.fill",
108727 "es.typed-array.filter",
108728 "es.typed-array.find",
108729 "es.typed-array.find-index",
108730 "es.typed-array.for-each",
108731 "es.typed-array.from",
108732 "es.typed-array.includes",
108733 "es.typed-array.index-of",
108734 "es.typed-array.iterator",
108735 "es.typed-array.join",
108736 "es.typed-array.last-index-of",
108737 "es.typed-array.map",
108738 "es.typed-array.of",
108739 "es.typed-array.reduce",
108740 "es.typed-array.reduce-right",
108741 "es.typed-array.reverse",
108742 "es.typed-array.set",
108743 "es.typed-array.slice",
108744 "es.typed-array.some",
108745 "es.typed-array.sort",
108746 "es.typed-array.subarray",
108747 "es.typed-array.to-locale-string",
108748 "es.typed-array.to-string",
108749 "es.unescape",
108750 "es.weak-map",
108751 "es.weak-set",
108752 "web.dom-collections.for-each",
108753 "web.dom-collections.iterator",
108754 "web.immediate",
108755 "web.queue-microtask",
108756 "web.timers",
108757 "web.url",
108758 "web.url.to-json",
108759 "web.url-search-params"
108760 ],
108761 "core-js/stable/aggregate-error": [
108762 "es.aggregate-error",
108763 "es.string.iterator",
108764 "esnext.aggregate-error",
108765 "web.dom-collections.iterator"
108766 ],
108767 "core-js/stable/array": [
108768 "es.array.concat",
108769 "es.array.copy-within",
108770 "es.array.every",
108771 "es.array.fill",
108772 "es.array.filter",
108773 "es.array.find",
108774 "es.array.find-index",
108775 "es.array.flat",
108776 "es.array.flat-map",
108777 "es.array.for-each",
108778 "es.array.from",
108779 "es.array.includes",
108780 "es.array.index-of",
108781 "es.array.is-array",
108782 "es.array.iterator",
108783 "es.array.join",
108784 "es.array.last-index-of",
108785 "es.array.map",
108786 "es.array.of",
108787 "es.array.reduce",
108788 "es.array.reduce-right",
108789 "es.array.reverse",
108790 "es.array.slice",
108791 "es.array.some",
108792 "es.array.sort",
108793 "es.array.species",
108794 "es.array.splice",
108795 "es.array.unscopables.flat",
108796 "es.array.unscopables.flat-map",
108797 "es.string.iterator"
108798 ],
108799 "core-js/stable/array-buffer": [
108800 "es.array-buffer.constructor",
108801 "es.array-buffer.is-view",
108802 "es.array-buffer.slice",
108803 "es.object.to-string"
108804 ],
108805 "core-js/stable/array-buffer/constructor": [
108806 "es.array-buffer.constructor",
108807 "es.object.to-string"
108808 ],
108809 "core-js/stable/array-buffer/is-view": [
108810 "es.array-buffer.is-view"
108811 ],
108812 "core-js/stable/array-buffer/slice": [
108813 "es.array-buffer.slice"
108814 ],
108815 "core-js/stable/array/concat": [
108816 "es.array.concat"
108817 ],
108818 "core-js/stable/array/copy-within": [
108819 "es.array.copy-within"
108820 ],
108821 "core-js/stable/array/entries": [
108822 "es.array.iterator"
108823 ],
108824 "core-js/stable/array/every": [
108825 "es.array.every"
108826 ],
108827 "core-js/stable/array/fill": [
108828 "es.array.fill"
108829 ],
108830 "core-js/stable/array/filter": [
108831 "es.array.filter"
108832 ],
108833 "core-js/stable/array/find": [
108834 "es.array.find"
108835 ],
108836 "core-js/stable/array/find-index": [
108837 "es.array.find-index"
108838 ],
108839 "core-js/stable/array/flat": [
108840 "es.array.flat",
108841 "es.array.unscopables.flat"
108842 ],
108843 "core-js/stable/array/flat-map": [
108844 "es.array.flat-map",
108845 "es.array.unscopables.flat-map"
108846 ],
108847 "core-js/stable/array/for-each": [
108848 "es.array.for-each"
108849 ],
108850 "core-js/stable/array/from": [
108851 "es.array.from",
108852 "es.string.iterator"
108853 ],
108854 "core-js/stable/array/includes": [
108855 "es.array.includes"
108856 ],
108857 "core-js/stable/array/index-of": [
108858 "es.array.index-of"
108859 ],
108860 "core-js/stable/array/is-array": [
108861 "es.array.is-array"
108862 ],
108863 "core-js/stable/array/iterator": [
108864 "es.array.iterator"
108865 ],
108866 "core-js/stable/array/join": [
108867 "es.array.join"
108868 ],
108869 "core-js/stable/array/keys": [
108870 "es.array.iterator"
108871 ],
108872 "core-js/stable/array/last-index-of": [
108873 "es.array.last-index-of"
108874 ],
108875 "core-js/stable/array/map": [
108876 "es.array.map"
108877 ],
108878 "core-js/stable/array/of": [
108879 "es.array.of"
108880 ],
108881 "core-js/stable/array/reduce": [
108882 "es.array.reduce"
108883 ],
108884 "core-js/stable/array/reduce-right": [
108885 "es.array.reduce-right"
108886 ],
108887 "core-js/stable/array/reverse": [
108888 "es.array.reverse"
108889 ],
108890 "core-js/stable/array/slice": [
108891 "es.array.slice"
108892 ],
108893 "core-js/stable/array/some": [
108894 "es.array.some"
108895 ],
108896 "core-js/stable/array/sort": [
108897 "es.array.sort"
108898 ],
108899 "core-js/stable/array/splice": [
108900 "es.array.splice"
108901 ],
108902 "core-js/stable/array/values": [
108903 "es.array.iterator"
108904 ],
108905 "core-js/stable/array/virtual": [
108906 "es.array.concat",
108907 "es.array.copy-within",
108908 "es.array.every",
108909 "es.array.fill",
108910 "es.array.filter",
108911 "es.array.find",
108912 "es.array.find-index",
108913 "es.array.flat",
108914 "es.array.flat-map",
108915 "es.array.for-each",
108916 "es.array.includes",
108917 "es.array.index-of",
108918 "es.array.iterator",
108919 "es.array.join",
108920 "es.array.last-index-of",
108921 "es.array.map",
108922 "es.array.reduce",
108923 "es.array.reduce-right",
108924 "es.array.reverse",
108925 "es.array.slice",
108926 "es.array.some",
108927 "es.array.sort",
108928 "es.array.species",
108929 "es.array.splice",
108930 "es.array.unscopables.flat",
108931 "es.array.unscopables.flat-map"
108932 ],
108933 "core-js/stable/array/virtual/concat": [
108934 "es.array.concat"
108935 ],
108936 "core-js/stable/array/virtual/copy-within": [
108937 "es.array.copy-within"
108938 ],
108939 "core-js/stable/array/virtual/entries": [
108940 "es.array.iterator"
108941 ],
108942 "core-js/stable/array/virtual/every": [
108943 "es.array.every"
108944 ],
108945 "core-js/stable/array/virtual/fill": [
108946 "es.array.fill"
108947 ],
108948 "core-js/stable/array/virtual/filter": [
108949 "es.array.filter"
108950 ],
108951 "core-js/stable/array/virtual/find": [
108952 "es.array.find"
108953 ],
108954 "core-js/stable/array/virtual/find-index": [
108955 "es.array.find-index"
108956 ],
108957 "core-js/stable/array/virtual/flat": [
108958 "es.array.flat",
108959 "es.array.unscopables.flat"
108960 ],
108961 "core-js/stable/array/virtual/flat-map": [
108962 "es.array.flat-map",
108963 "es.array.unscopables.flat-map"
108964 ],
108965 "core-js/stable/array/virtual/for-each": [
108966 "es.array.for-each"
108967 ],
108968 "core-js/stable/array/virtual/includes": [
108969 "es.array.includes"
108970 ],
108971 "core-js/stable/array/virtual/index-of": [
108972 "es.array.index-of"
108973 ],
108974 "core-js/stable/array/virtual/iterator": [
108975 "es.array.iterator"
108976 ],
108977 "core-js/stable/array/virtual/join": [
108978 "es.array.join"
108979 ],
108980 "core-js/stable/array/virtual/keys": [
108981 "es.array.iterator"
108982 ],
108983 "core-js/stable/array/virtual/last-index-of": [
108984 "es.array.last-index-of"
108985 ],
108986 "core-js/stable/array/virtual/map": [
108987 "es.array.map"
108988 ],
108989 "core-js/stable/array/virtual/reduce": [
108990 "es.array.reduce"
108991 ],
108992 "core-js/stable/array/virtual/reduce-right": [
108993 "es.array.reduce-right"
108994 ],
108995 "core-js/stable/array/virtual/reverse": [
108996 "es.array.reverse"
108997 ],
108998 "core-js/stable/array/virtual/slice": [
108999 "es.array.slice"
109000 ],
109001 "core-js/stable/array/virtual/some": [
109002 "es.array.some"
109003 ],
109004 "core-js/stable/array/virtual/sort": [
109005 "es.array.sort"
109006 ],
109007 "core-js/stable/array/virtual/splice": [
109008 "es.array.splice"
109009 ],
109010 "core-js/stable/array/virtual/values": [
109011 "es.array.iterator"
109012 ],
109013 "core-js/stable/clear-immediate": [
109014 "web.immediate"
109015 ],
109016 "core-js/stable/data-view": [
109017 "es.data-view",
109018 "es.object.to-string"
109019 ],
109020 "core-js/stable/date": [
109021 "es.date.get-year",
109022 "es.date.now",
109023 "es.date.set-year",
109024 "es.date.to-gmt-string",
109025 "es.date.to-iso-string",
109026 "es.date.to-json",
109027 "es.date.to-primitive",
109028 "es.date.to-string"
109029 ],
109030 "core-js/stable/date/get-year": [
109031 "es.date.get-year"
109032 ],
109033 "core-js/stable/date/now": [
109034 "es.date.now"
109035 ],
109036 "core-js/stable/date/set-year": [
109037 "es.date.set-year"
109038 ],
109039 "core-js/stable/date/to-gmt-string": [
109040 "es.date.to-gmt-string"
109041 ],
109042 "core-js/stable/date/to-iso-string": [
109043 "es.date.to-iso-string",
109044 "es.date.to-json"
109045 ],
109046 "core-js/stable/date/to-json": [
109047 "es.date.to-json"
109048 ],
109049 "core-js/stable/date/to-primitive": [
109050 "es.date.to-primitive"
109051 ],
109052 "core-js/stable/date/to-string": [
109053 "es.date.to-string"
109054 ],
109055 "core-js/stable/dom-collections": [
109056 "es.array.iterator",
109057 "web.dom-collections.for-each",
109058 "web.dom-collections.iterator"
109059 ],
109060 "core-js/stable/dom-collections/for-each": [
109061 "web.dom-collections.for-each"
109062 ],
109063 "core-js/stable/dom-collections/iterator": [
109064 "web.dom-collections.iterator"
109065 ],
109066 "core-js/stable/escape": [
109067 "es.escape"
109068 ],
109069 "core-js/stable/function": [
109070 "es.function.bind",
109071 "es.function.has-instance",
109072 "es.function.name"
109073 ],
109074 "core-js/stable/function/bind": [
109075 "es.function.bind"
109076 ],
109077 "core-js/stable/function/has-instance": [
109078 "es.function.has-instance"
109079 ],
109080 "core-js/stable/function/name": [
109081 "es.function.name"
109082 ],
109083 "core-js/stable/function/virtual": [
109084 "es.function.bind"
109085 ],
109086 "core-js/stable/function/virtual/bind": [
109087 "es.function.bind"
109088 ],
109089 "core-js/stable/global-this": [
109090 "es.global-this"
109091 ],
109092 "core-js/stable/instance/bind": [
109093 "es.function.bind"
109094 ],
109095 "core-js/stable/instance/code-point-at": [
109096 "es.string.code-point-at"
109097 ],
109098 "core-js/stable/instance/concat": [
109099 "es.array.concat"
109100 ],
109101 "core-js/stable/instance/copy-within": [
109102 "es.array.copy-within"
109103 ],
109104 "core-js/stable/instance/ends-with": [
109105 "es.string.ends-with"
109106 ],
109107 "core-js/stable/instance/entries": [
109108 "es.array.iterator",
109109 "web.dom-collections.iterator"
109110 ],
109111 "core-js/stable/instance/every": [
109112 "es.array.every"
109113 ],
109114 "core-js/stable/instance/fill": [
109115 "es.array.fill"
109116 ],
109117 "core-js/stable/instance/filter": [
109118 "es.array.filter"
109119 ],
109120 "core-js/stable/instance/find": [
109121 "es.array.find"
109122 ],
109123 "core-js/stable/instance/find-index": [
109124 "es.array.find-index"
109125 ],
109126 "core-js/stable/instance/flags": [
109127 "es.regexp.flags"
109128 ],
109129 "core-js/stable/instance/flat": [
109130 "es.array.flat",
109131 "es.array.unscopables.flat"
109132 ],
109133 "core-js/stable/instance/flat-map": [
109134 "es.array.flat-map",
109135 "es.array.unscopables.flat-map"
109136 ],
109137 "core-js/stable/instance/for-each": [
109138 "es.array.for-each",
109139 "web.dom-collections.iterator"
109140 ],
109141 "core-js/stable/instance/includes": [
109142 "es.array.includes",
109143 "es.string.includes"
109144 ],
109145 "core-js/stable/instance/index-of": [
109146 "es.array.index-of"
109147 ],
109148 "core-js/stable/instance/keys": [
109149 "es.array.iterator",
109150 "web.dom-collections.iterator"
109151 ],
109152 "core-js/stable/instance/last-index-of": [
109153 "es.array.last-index-of"
109154 ],
109155 "core-js/stable/instance/map": [
109156 "es.array.map"
109157 ],
109158 "core-js/stable/instance/match-all": [
109159 "es.string.match-all"
109160 ],
109161 "core-js/stable/instance/pad-end": [
109162 "es.string.pad-end"
109163 ],
109164 "core-js/stable/instance/pad-start": [
109165 "es.string.pad-start"
109166 ],
109167 "core-js/stable/instance/reduce": [
109168 "es.array.reduce"
109169 ],
109170 "core-js/stable/instance/reduce-right": [
109171 "es.array.reduce-right"
109172 ],
109173 "core-js/stable/instance/repeat": [
109174 "es.string.repeat"
109175 ],
109176 "core-js/stable/instance/replace-all": [
109177 "es.string.replace-all"
109178 ],
109179 "core-js/stable/instance/reverse": [
109180 "es.array.reverse"
109181 ],
109182 "core-js/stable/instance/slice": [
109183 "es.array.slice"
109184 ],
109185 "core-js/stable/instance/some": [
109186 "es.array.some"
109187 ],
109188 "core-js/stable/instance/sort": [
109189 "es.array.sort"
109190 ],
109191 "core-js/stable/instance/splice": [
109192 "es.array.splice"
109193 ],
109194 "core-js/stable/instance/starts-with": [
109195 "es.string.starts-with"
109196 ],
109197 "core-js/stable/instance/trim": [
109198 "es.string.trim"
109199 ],
109200 "core-js/stable/instance/trim-end": [
109201 "es.string.trim-end"
109202 ],
109203 "core-js/stable/instance/trim-left": [
109204 "es.string.trim-start"
109205 ],
109206 "core-js/stable/instance/trim-right": [
109207 "es.string.trim-end"
109208 ],
109209 "core-js/stable/instance/trim-start": [
109210 "es.string.trim-start"
109211 ],
109212 "core-js/stable/instance/values": [
109213 "es.array.iterator",
109214 "web.dom-collections.iterator"
109215 ],
109216 "core-js/stable/json": [
109217 "es.json.stringify",
109218 "es.json.to-string-tag"
109219 ],
109220 "core-js/stable/json/stringify": [
109221 "es.json.stringify"
109222 ],
109223 "core-js/stable/json/to-string-tag": [
109224 "es.json.to-string-tag"
109225 ],
109226 "core-js/stable/map": [
109227 "es.map",
109228 "es.object.to-string",
109229 "es.string.iterator",
109230 "web.dom-collections.iterator"
109231 ],
109232 "core-js/stable/math": [
109233 "es.math.acosh",
109234 "es.math.asinh",
109235 "es.math.atanh",
109236 "es.math.cbrt",
109237 "es.math.clz32",
109238 "es.math.cosh",
109239 "es.math.expm1",
109240 "es.math.fround",
109241 "es.math.hypot",
109242 "es.math.imul",
109243 "es.math.log10",
109244 "es.math.log1p",
109245 "es.math.log2",
109246 "es.math.sign",
109247 "es.math.sinh",
109248 "es.math.tanh",
109249 "es.math.to-string-tag",
109250 "es.math.trunc"
109251 ],
109252 "core-js/stable/math/acosh": [
109253 "es.math.acosh"
109254 ],
109255 "core-js/stable/math/asinh": [
109256 "es.math.asinh"
109257 ],
109258 "core-js/stable/math/atanh": [
109259 "es.math.atanh"
109260 ],
109261 "core-js/stable/math/cbrt": [
109262 "es.math.cbrt"
109263 ],
109264 "core-js/stable/math/clz32": [
109265 "es.math.clz32"
109266 ],
109267 "core-js/stable/math/cosh": [
109268 "es.math.cosh"
109269 ],
109270 "core-js/stable/math/expm1": [
109271 "es.math.expm1"
109272 ],
109273 "core-js/stable/math/fround": [
109274 "es.math.fround"
109275 ],
109276 "core-js/stable/math/hypot": [
109277 "es.math.hypot"
109278 ],
109279 "core-js/stable/math/imul": [
109280 "es.math.imul"
109281 ],
109282 "core-js/stable/math/log10": [
109283 "es.math.log10"
109284 ],
109285 "core-js/stable/math/log1p": [
109286 "es.math.log1p"
109287 ],
109288 "core-js/stable/math/log2": [
109289 "es.math.log2"
109290 ],
109291 "core-js/stable/math/sign": [
109292 "es.math.sign"
109293 ],
109294 "core-js/stable/math/sinh": [
109295 "es.math.sinh"
109296 ],
109297 "core-js/stable/math/tanh": [
109298 "es.math.tanh"
109299 ],
109300 "core-js/stable/math/to-string-tag": [
109301 "es.math.to-string-tag"
109302 ],
109303 "core-js/stable/math/trunc": [
109304 "es.math.trunc"
109305 ],
109306 "core-js/stable/number": [
109307 "es.number.constructor",
109308 "es.number.epsilon",
109309 "es.number.is-finite",
109310 "es.number.is-integer",
109311 "es.number.is-nan",
109312 "es.number.is-safe-integer",
109313 "es.number.max-safe-integer",
109314 "es.number.min-safe-integer",
109315 "es.number.parse-float",
109316 "es.number.parse-int",
109317 "es.number.to-fixed",
109318 "es.number.to-precision"
109319 ],
109320 "core-js/stable/number/constructor": [
109321 "es.number.constructor"
109322 ],
109323 "core-js/stable/number/epsilon": [
109324 "es.number.epsilon"
109325 ],
109326 "core-js/stable/number/is-finite": [
109327 "es.number.is-finite"
109328 ],
109329 "core-js/stable/number/is-integer": [
109330 "es.number.is-integer"
109331 ],
109332 "core-js/stable/number/is-nan": [
109333 "es.number.is-nan"
109334 ],
109335 "core-js/stable/number/is-safe-integer": [
109336 "es.number.is-safe-integer"
109337 ],
109338 "core-js/stable/number/max-safe-integer": [
109339 "es.number.max-safe-integer"
109340 ],
109341 "core-js/stable/number/min-safe-integer": [
109342 "es.number.min-safe-integer"
109343 ],
109344 "core-js/stable/number/parse-float": [
109345 "es.number.parse-float"
109346 ],
109347 "core-js/stable/number/parse-int": [
109348 "es.number.parse-int"
109349 ],
109350 "core-js/stable/number/to-fixed": [
109351 "es.number.to-fixed"
109352 ],
109353 "core-js/stable/number/to-precision": [
109354 "es.number.to-precision"
109355 ],
109356 "core-js/stable/number/virtual": [
109357 "es.number.to-fixed",
109358 "es.number.to-precision"
109359 ],
109360 "core-js/stable/number/virtual/to-fixed": [
109361 "es.number.to-fixed"
109362 ],
109363 "core-js/stable/number/virtual/to-precision": [
109364 "es.number.to-precision"
109365 ],
109366 "core-js/stable/object": [
109367 "es.symbol",
109368 "es.json.to-string-tag",
109369 "es.math.to-string-tag",
109370 "es.object.assign",
109371 "es.object.create",
109372 "es.object.define-getter",
109373 "es.object.define-properties",
109374 "es.object.define-property",
109375 "es.object.define-setter",
109376 "es.object.entries",
109377 "es.object.freeze",
109378 "es.object.from-entries",
109379 "es.object.get-own-property-descriptor",
109380 "es.object.get-own-property-descriptors",
109381 "es.object.get-own-property-names",
109382 "es.object.get-prototype-of",
109383 "es.object.is",
109384 "es.object.is-extensible",
109385 "es.object.is-frozen",
109386 "es.object.is-sealed",
109387 "es.object.keys",
109388 "es.object.lookup-getter",
109389 "es.object.lookup-setter",
109390 "es.object.prevent-extensions",
109391 "es.object.seal",
109392 "es.object.set-prototype-of",
109393 "es.object.to-string",
109394 "es.object.values",
109395 "es.reflect.to-string-tag"
109396 ],
109397 "core-js/stable/object/assign": [
109398 "es.object.assign"
109399 ],
109400 "core-js/stable/object/create": [
109401 "es.object.create"
109402 ],
109403 "core-js/stable/object/define-getter": [
109404 "es.object.define-getter"
109405 ],
109406 "core-js/stable/object/define-properties": [
109407 "es.object.define-properties"
109408 ],
109409 "core-js/stable/object/define-property": [
109410 "es.object.define-property"
109411 ],
109412 "core-js/stable/object/define-setter": [
109413 "es.object.define-setter"
109414 ],
109415 "core-js/stable/object/entries": [
109416 "es.object.entries"
109417 ],
109418 "core-js/stable/object/freeze": [
109419 "es.object.freeze"
109420 ],
109421 "core-js/stable/object/from-entries": [
109422 "es.array.iterator",
109423 "es.object.from-entries"
109424 ],
109425 "core-js/stable/object/get-own-property-descriptor": [
109426 "es.object.get-own-property-descriptor"
109427 ],
109428 "core-js/stable/object/get-own-property-descriptors": [
109429 "es.object.get-own-property-descriptors"
109430 ],
109431 "core-js/stable/object/get-own-property-names": [
109432 "es.object.get-own-property-names"
109433 ],
109434 "core-js/stable/object/get-own-property-symbols": [
109435 "es.symbol"
109436 ],
109437 "core-js/stable/object/get-prototype-of": [
109438 "es.object.get-prototype-of"
109439 ],
109440 "core-js/stable/object/is": [
109441 "es.object.is"
109442 ],
109443 "core-js/stable/object/is-extensible": [
109444 "es.object.is-extensible"
109445 ],
109446 "core-js/stable/object/is-frozen": [
109447 "es.object.is-frozen"
109448 ],
109449 "core-js/stable/object/is-sealed": [
109450 "es.object.is-sealed"
109451 ],
109452 "core-js/stable/object/keys": [
109453 "es.object.keys"
109454 ],
109455 "core-js/stable/object/lookup-getter": [
109456 "es.object.lookup-setter"
109457 ],
109458 "core-js/stable/object/lookup-setter": [
109459 "es.object.lookup-setter"
109460 ],
109461 "core-js/stable/object/prevent-extensions": [
109462 "es.object.prevent-extensions"
109463 ],
109464 "core-js/stable/object/seal": [
109465 "es.object.seal"
109466 ],
109467 "core-js/stable/object/set-prototype-of": [
109468 "es.object.set-prototype-of"
109469 ],
109470 "core-js/stable/object/to-string": [
109471 "es.json.to-string-tag",
109472 "es.math.to-string-tag",
109473 "es.object.to-string",
109474 "es.reflect.to-string-tag"
109475 ],
109476 "core-js/stable/object/values": [
109477 "es.object.values"
109478 ],
109479 "core-js/stable/parse-float": [
109480 "es.parse-float"
109481 ],
109482 "core-js/stable/parse-int": [
109483 "es.parse-int"
109484 ],
109485 "core-js/stable/promise": [
109486 "es.aggregate-error",
109487 "es.object.to-string",
109488 "es.promise",
109489 "es.promise.all-settled",
109490 "es.promise.any",
109491 "es.promise.finally",
109492 "es.string.iterator",
109493 "web.dom-collections.iterator"
109494 ],
109495 "core-js/stable/promise/all-settled": [
109496 "es.promise",
109497 "es.promise.all-settled",
109498 "es.string.iterator",
109499 "web.dom-collections.iterator"
109500 ],
109501 "core-js/stable/promise/any": [
109502 "es.aggregate-error",
109503 "es.promise",
109504 "es.promise.any",
109505 "es.string.iterator",
109506 "web.dom-collections.iterator"
109507 ],
109508 "core-js/stable/promise/finally": [
109509 "es.promise",
109510 "es.promise.finally"
109511 ],
109512 "core-js/stable/queue-microtask": [
109513 "web.queue-microtask"
109514 ],
109515 "core-js/stable/reflect": [
109516 "es.reflect.apply",
109517 "es.reflect.construct",
109518 "es.reflect.define-property",
109519 "es.reflect.delete-property",
109520 "es.reflect.get",
109521 "es.reflect.get-own-property-descriptor",
109522 "es.reflect.get-prototype-of",
109523 "es.reflect.has",
109524 "es.reflect.is-extensible",
109525 "es.reflect.own-keys",
109526 "es.reflect.prevent-extensions",
109527 "es.reflect.set",
109528 "es.reflect.set-prototype-of",
109529 "es.reflect.to-string-tag"
109530 ],
109531 "core-js/stable/reflect/apply": [
109532 "es.reflect.apply"
109533 ],
109534 "core-js/stable/reflect/construct": [
109535 "es.reflect.construct"
109536 ],
109537 "core-js/stable/reflect/define-property": [
109538 "es.reflect.define-property"
109539 ],
109540 "core-js/stable/reflect/delete-property": [
109541 "es.reflect.delete-property"
109542 ],
109543 "core-js/stable/reflect/get": [
109544 "es.reflect.get"
109545 ],
109546 "core-js/stable/reflect/get-own-property-descriptor": [
109547 "es.reflect.get-own-property-descriptor"
109548 ],
109549 "core-js/stable/reflect/get-prototype-of": [
109550 "es.reflect.get-prototype-of"
109551 ],
109552 "core-js/stable/reflect/has": [
109553 "es.reflect.has"
109554 ],
109555 "core-js/stable/reflect/is-extensible": [
109556 "es.reflect.is-extensible"
109557 ],
109558 "core-js/stable/reflect/own-keys": [
109559 "es.reflect.own-keys"
109560 ],
109561 "core-js/stable/reflect/prevent-extensions": [
109562 "es.reflect.prevent-extensions"
109563 ],
109564 "core-js/stable/reflect/set": [
109565 "es.reflect.set"
109566 ],
109567 "core-js/stable/reflect/set-prototype-of": [
109568 "es.reflect.set-prototype-of"
109569 ],
109570 "core-js/stable/reflect/to-string-tag": [
109571 "es.reflect.to-string-tag"
109572 ],
109573 "core-js/stable/regexp": [
109574 "es.regexp.constructor",
109575 "es.regexp.dot-all",
109576 "es.regexp.exec",
109577 "es.regexp.flags",
109578 "es.regexp.sticky",
109579 "es.regexp.test",
109580 "es.regexp.to-string",
109581 "es.string.match",
109582 "es.string.replace",
109583 "es.string.search",
109584 "es.string.split"
109585 ],
109586 "core-js/stable/regexp/constructor": [
109587 "es.regexp.constructor"
109588 ],
109589 "core-js/stable/regexp/dot-all": [
109590 "es.regexp.constructor",
109591 "es.regexp.dot-all",
109592 "es.regexp.exec"
109593 ],
109594 "core-js/stable/regexp/flags": [
109595 "es.regexp.flags"
109596 ],
109597 "core-js/stable/regexp/match": [
109598 "es.string.match"
109599 ],
109600 "core-js/stable/regexp/replace": [
109601 "es.string.replace"
109602 ],
109603 "core-js/stable/regexp/search": [
109604 "es.string.search"
109605 ],
109606 "core-js/stable/regexp/split": [
109607 "es.string.split"
109608 ],
109609 "core-js/stable/regexp/sticky": [
109610 "es.regexp.constructor",
109611 "es.regexp.exec",
109612 "es.regexp.sticky"
109613 ],
109614 "core-js/stable/regexp/test": [
109615 "es.regexp.exec",
109616 "es.regexp.test"
109617 ],
109618 "core-js/stable/regexp/to-string": [
109619 "es.regexp.to-string"
109620 ],
109621 "core-js/stable/set": [
109622 "es.object.to-string",
109623 "es.set",
109624 "es.string.iterator",
109625 "web.dom-collections.iterator"
109626 ],
109627 "core-js/stable/set-immediate": [
109628 "web.immediate"
109629 ],
109630 "core-js/stable/set-interval": [
109631 "web.timers"
109632 ],
109633 "core-js/stable/set-timeout": [
109634 "web.timers"
109635 ],
109636 "core-js/stable/string": [
109637 "es.regexp.exec",
109638 "es.string.code-point-at",
109639 "es.string.ends-with",
109640 "es.string.from-code-point",
109641 "es.string.includes",
109642 "es.string.iterator",
109643 "es.string.match",
109644 "es.string.match-all",
109645 "es.string.pad-end",
109646 "es.string.pad-start",
109647 "es.string.raw",
109648 "es.string.repeat",
109649 "es.string.replace",
109650 "es.string.replace-all",
109651 "es.string.search",
109652 "es.string.split",
109653 "es.string.starts-with",
109654 "es.string.substr",
109655 "es.string.trim",
109656 "es.string.trim-end",
109657 "es.string.trim-start",
109658 "es.string.anchor",
109659 "es.string.big",
109660 "es.string.blink",
109661 "es.string.bold",
109662 "es.string.fixed",
109663 "es.string.fontcolor",
109664 "es.string.fontsize",
109665 "es.string.italics",
109666 "es.string.link",
109667 "es.string.small",
109668 "es.string.strike",
109669 "es.string.sub",
109670 "es.string.sup"
109671 ],
109672 "core-js/stable/string/anchor": [
109673 "es.string.anchor"
109674 ],
109675 "core-js/stable/string/big": [
109676 "es.string.big"
109677 ],
109678 "core-js/stable/string/blink": [
109679 "es.string.blink"
109680 ],
109681 "core-js/stable/string/bold": [
109682 "es.string.bold"
109683 ],
109684 "core-js/stable/string/code-point-at": [
109685 "es.string.code-point-at"
109686 ],
109687 "core-js/stable/string/ends-with": [
109688 "es.string.ends-with"
109689 ],
109690 "core-js/stable/string/fixed": [
109691 "es.string.fixed"
109692 ],
109693 "core-js/stable/string/fontcolor": [
109694 "es.string.fontcolor"
109695 ],
109696 "core-js/stable/string/fontsize": [
109697 "es.string.fontsize"
109698 ],
109699 "core-js/stable/string/from-code-point": [
109700 "es.string.from-code-point"
109701 ],
109702 "core-js/stable/string/includes": [
109703 "es.string.includes"
109704 ],
109705 "core-js/stable/string/italics": [
109706 "es.string.italics"
109707 ],
109708 "core-js/stable/string/iterator": [
109709 "es.string.iterator"
109710 ],
109711 "core-js/stable/string/link": [
109712 "es.string.link"
109713 ],
109714 "core-js/stable/string/match": [
109715 "es.regexp.exec",
109716 "es.string.match"
109717 ],
109718 "core-js/stable/string/match-all": [
109719 "es.string.match-all"
109720 ],
109721 "core-js/stable/string/pad-end": [
109722 "es.string.pad-end"
109723 ],
109724 "core-js/stable/string/pad-start": [
109725 "es.string.pad-start"
109726 ],
109727 "core-js/stable/string/raw": [
109728 "es.string.raw"
109729 ],
109730 "core-js/stable/string/repeat": [
109731 "es.string.repeat"
109732 ],
109733 "core-js/stable/string/replace": [
109734 "es.regexp.exec",
109735 "es.string.replace"
109736 ],
109737 "core-js/stable/string/replace-all": [
109738 "es.string.replace-all"
109739 ],
109740 "core-js/stable/string/search": [
109741 "es.regexp.exec",
109742 "es.string.search"
109743 ],
109744 "core-js/stable/string/small": [
109745 "es.string.small"
109746 ],
109747 "core-js/stable/string/split": [
109748 "es.regexp.exec",
109749 "es.string.split"
109750 ],
109751 "core-js/stable/string/starts-with": [
109752 "es.string.starts-with"
109753 ],
109754 "core-js/stable/string/strike": [
109755 "es.string.strike"
109756 ],
109757 "core-js/stable/string/sub": [
109758 "es.string.sub"
109759 ],
109760 "core-js/stable/string/substr": [
109761 "es.string.substr"
109762 ],
109763 "core-js/stable/string/sup": [
109764 "es.string.sup"
109765 ],
109766 "core-js/stable/string/trim": [
109767 "es.string.trim"
109768 ],
109769 "core-js/stable/string/trim-end": [
109770 "es.string.trim-end"
109771 ],
109772 "core-js/stable/string/trim-left": [
109773 "es.string.trim-start"
109774 ],
109775 "core-js/stable/string/trim-right": [
109776 "es.string.trim-end"
109777 ],
109778 "core-js/stable/string/trim-start": [
109779 "es.string.trim-start"
109780 ],
109781 "core-js/stable/string/virtual": [
109782 "es.string.code-point-at",
109783 "es.string.ends-with",
109784 "es.string.includes",
109785 "es.string.iterator",
109786 "es.string.match",
109787 "es.string.match-all",
109788 "es.string.pad-end",
109789 "es.string.pad-start",
109790 "es.string.repeat",
109791 "es.string.replace",
109792 "es.string.replace-all",
109793 "es.string.search",
109794 "es.string.split",
109795 "es.string.starts-with",
109796 "es.string.substr",
109797 "es.string.trim",
109798 "es.string.trim-end",
109799 "es.string.trim-start",
109800 "es.string.anchor",
109801 "es.string.big",
109802 "es.string.blink",
109803 "es.string.bold",
109804 "es.string.fixed",
109805 "es.string.fontcolor",
109806 "es.string.fontsize",
109807 "es.string.italics",
109808 "es.string.link",
109809 "es.string.small",
109810 "es.string.strike",
109811 "es.string.sub",
109812 "es.string.sup"
109813 ],
109814 "core-js/stable/string/virtual/anchor": [
109815 "es.string.anchor"
109816 ],
109817 "core-js/stable/string/virtual/big": [
109818 "es.string.big"
109819 ],
109820 "core-js/stable/string/virtual/blink": [
109821 "es.string.blink"
109822 ],
109823 "core-js/stable/string/virtual/bold": [
109824 "es.string.bold"
109825 ],
109826 "core-js/stable/string/virtual/code-point-at": [
109827 "es.string.code-point-at"
109828 ],
109829 "core-js/stable/string/virtual/ends-with": [
109830 "es.string.ends-with"
109831 ],
109832 "core-js/stable/string/virtual/fixed": [
109833 "es.string.fixed"
109834 ],
109835 "core-js/stable/string/virtual/fontcolor": [
109836 "es.string.fontcolor"
109837 ],
109838 "core-js/stable/string/virtual/fontsize": [
109839 "es.string.fontsize"
109840 ],
109841 "core-js/stable/string/virtual/includes": [
109842 "es.string.includes"
109843 ],
109844 "core-js/stable/string/virtual/italics": [
109845 "es.string.italics"
109846 ],
109847 "core-js/stable/string/virtual/iterator": [
109848 "es.string.iterator"
109849 ],
109850 "core-js/stable/string/virtual/link": [
109851 "es.string.link"
109852 ],
109853 "core-js/stable/string/virtual/match-all": [
109854 "es.string.match-all"
109855 ],
109856 "core-js/stable/string/virtual/pad-end": [
109857 "es.string.pad-end"
109858 ],
109859 "core-js/stable/string/virtual/pad-start": [
109860 "es.string.pad-start"
109861 ],
109862 "core-js/stable/string/virtual/repeat": [
109863 "es.string.repeat"
109864 ],
109865 "core-js/stable/string/virtual/replace-all": [
109866 "es.string.replace-all"
109867 ],
109868 "core-js/stable/string/virtual/small": [
109869 "es.string.small"
109870 ],
109871 "core-js/stable/string/virtual/starts-with": [
109872 "es.string.starts-with"
109873 ],
109874 "core-js/stable/string/virtual/strike": [
109875 "es.string.strike"
109876 ],
109877 "core-js/stable/string/virtual/sub": [
109878 "es.string.sub"
109879 ],
109880 "core-js/stable/string/virtual/substr": [
109881 "es.string.substr"
109882 ],
109883 "core-js/stable/string/virtual/sup": [
109884 "es.string.sup"
109885 ],
109886 "core-js/stable/string/virtual/trim": [
109887 "es.string.trim"
109888 ],
109889 "core-js/stable/string/virtual/trim-end": [
109890 "es.string.trim-end"
109891 ],
109892 "core-js/stable/string/virtual/trim-left": [
109893 "es.string.trim-start"
109894 ],
109895 "core-js/stable/string/virtual/trim-right": [
109896 "es.string.trim-end"
109897 ],
109898 "core-js/stable/string/virtual/trim-start": [
109899 "es.string.trim-start"
109900 ],
109901 "core-js/stable/symbol": [
109902 "es.symbol",
109903 "es.symbol.description",
109904 "es.symbol.async-iterator",
109905 "es.symbol.has-instance",
109906 "es.symbol.is-concat-spreadable",
109907 "es.symbol.iterator",
109908 "es.symbol.match",
109909 "es.symbol.match-all",
109910 "es.symbol.replace",
109911 "es.symbol.search",
109912 "es.symbol.species",
109913 "es.symbol.split",
109914 "es.symbol.to-primitive",
109915 "es.symbol.to-string-tag",
109916 "es.symbol.unscopables",
109917 "es.array.concat",
109918 "es.json.to-string-tag",
109919 "es.math.to-string-tag",
109920 "es.object.to-string",
109921 "es.reflect.to-string-tag"
109922 ],
109923 "core-js/stable/symbol/async-iterator": [
109924 "es.symbol.async-iterator"
109925 ],
109926 "core-js/stable/symbol/description": [
109927 "es.symbol.description"
109928 ],
109929 "core-js/stable/symbol/for": [
109930 "es.symbol"
109931 ],
109932 "core-js/stable/symbol/has-instance": [
109933 "es.symbol.has-instance",
109934 "es.function.has-instance"
109935 ],
109936 "core-js/stable/symbol/is-concat-spreadable": [
109937 "es.symbol.is-concat-spreadable",
109938 "es.array.concat"
109939 ],
109940 "core-js/stable/symbol/iterator": [
109941 "es.symbol.iterator",
109942 "es.string.iterator",
109943 "web.dom-collections.iterator"
109944 ],
109945 "core-js/stable/symbol/key-for": [
109946 "es.symbol"
109947 ],
109948 "core-js/stable/symbol/match": [
109949 "es.symbol.match",
109950 "es.string.match"
109951 ],
109952 "core-js/stable/symbol/match-all": [
109953 "es.symbol.match-all",
109954 "es.string.match-all"
109955 ],
109956 "core-js/stable/symbol/replace": [
109957 "es.symbol.replace",
109958 "es.string.replace"
109959 ],
109960 "core-js/stable/symbol/search": [
109961 "es.symbol.search",
109962 "es.string.search"
109963 ],
109964 "core-js/stable/symbol/species": [
109965 "es.symbol.species"
109966 ],
109967 "core-js/stable/symbol/split": [
109968 "es.symbol.split",
109969 "es.string.split"
109970 ],
109971 "core-js/stable/symbol/to-primitive": [
109972 "es.symbol.to-primitive"
109973 ],
109974 "core-js/stable/symbol/to-string-tag": [
109975 "es.symbol.to-string-tag",
109976 "es.json.to-string-tag",
109977 "es.math.to-string-tag",
109978 "es.object.to-string",
109979 "es.reflect.to-string-tag"
109980 ],
109981 "core-js/stable/symbol/unscopables": [
109982 "es.symbol.unscopables"
109983 ],
109984 "core-js/stable/typed-array": [
109985 "es.object.to-string",
109986 "es.typed-array.float32-array",
109987 "es.typed-array.float64-array",
109988 "es.typed-array.int8-array",
109989 "es.typed-array.int16-array",
109990 "es.typed-array.int32-array",
109991 "es.typed-array.uint8-array",
109992 "es.typed-array.uint8-clamped-array",
109993 "es.typed-array.uint16-array",
109994 "es.typed-array.uint32-array",
109995 "es.typed-array.copy-within",
109996 "es.typed-array.every",
109997 "es.typed-array.fill",
109998 "es.typed-array.filter",
109999 "es.typed-array.find",
110000 "es.typed-array.find-index",
110001 "es.typed-array.for-each",
110002 "es.typed-array.from",
110003 "es.typed-array.includes",
110004 "es.typed-array.index-of",
110005 "es.typed-array.iterator",
110006 "es.typed-array.join",
110007 "es.typed-array.last-index-of",
110008 "es.typed-array.map",
110009 "es.typed-array.of",
110010 "es.typed-array.reduce",
110011 "es.typed-array.reduce-right",
110012 "es.typed-array.reverse",
110013 "es.typed-array.set",
110014 "es.typed-array.slice",
110015 "es.typed-array.some",
110016 "es.typed-array.sort",
110017 "es.typed-array.subarray",
110018 "es.typed-array.to-locale-string",
110019 "es.typed-array.to-string"
110020 ],
110021 "core-js/stable/typed-array/copy-within": [
110022 "es.typed-array.copy-within"
110023 ],
110024 "core-js/stable/typed-array/entries": [
110025 "es.typed-array.iterator"
110026 ],
110027 "core-js/stable/typed-array/every": [
110028 "es.typed-array.every"
110029 ],
110030 "core-js/stable/typed-array/fill": [
110031 "es.typed-array.fill"
110032 ],
110033 "core-js/stable/typed-array/filter": [
110034 "es.typed-array.filter"
110035 ],
110036 "core-js/stable/typed-array/find": [
110037 "es.typed-array.find"
110038 ],
110039 "core-js/stable/typed-array/find-index": [
110040 "es.typed-array.find-index"
110041 ],
110042 "core-js/stable/typed-array/float32-array": [
110043 "es.object.to-string",
110044 "es.typed-array.float32-array",
110045 "es.typed-array.copy-within",
110046 "es.typed-array.every",
110047 "es.typed-array.fill",
110048 "es.typed-array.filter",
110049 "es.typed-array.find",
110050 "es.typed-array.find-index",
110051 "es.typed-array.for-each",
110052 "es.typed-array.from",
110053 "es.typed-array.includes",
110054 "es.typed-array.index-of",
110055 "es.typed-array.iterator",
110056 "es.typed-array.join",
110057 "es.typed-array.last-index-of",
110058 "es.typed-array.map",
110059 "es.typed-array.of",
110060 "es.typed-array.reduce",
110061 "es.typed-array.reduce-right",
110062 "es.typed-array.reverse",
110063 "es.typed-array.set",
110064 "es.typed-array.slice",
110065 "es.typed-array.some",
110066 "es.typed-array.sort",
110067 "es.typed-array.subarray",
110068 "es.typed-array.to-locale-string",
110069 "es.typed-array.to-string"
110070 ],
110071 "core-js/stable/typed-array/float64-array": [
110072 "es.object.to-string",
110073 "es.typed-array.float64-array",
110074 "es.typed-array.copy-within",
110075 "es.typed-array.every",
110076 "es.typed-array.fill",
110077 "es.typed-array.filter",
110078 "es.typed-array.find",
110079 "es.typed-array.find-index",
110080 "es.typed-array.for-each",
110081 "es.typed-array.from",
110082 "es.typed-array.includes",
110083 "es.typed-array.index-of",
110084 "es.typed-array.iterator",
110085 "es.typed-array.join",
110086 "es.typed-array.last-index-of",
110087 "es.typed-array.map",
110088 "es.typed-array.of",
110089 "es.typed-array.reduce",
110090 "es.typed-array.reduce-right",
110091 "es.typed-array.reverse",
110092 "es.typed-array.set",
110093 "es.typed-array.slice",
110094 "es.typed-array.some",
110095 "es.typed-array.sort",
110096 "es.typed-array.subarray",
110097 "es.typed-array.to-locale-string",
110098 "es.typed-array.to-string"
110099 ],
110100 "core-js/stable/typed-array/for-each": [
110101 "es.typed-array.for-each"
110102 ],
110103 "core-js/stable/typed-array/from": [
110104 "es.typed-array.from"
110105 ],
110106 "core-js/stable/typed-array/includes": [
110107 "es.typed-array.includes"
110108 ],
110109 "core-js/stable/typed-array/index-of": [
110110 "es.typed-array.index-of"
110111 ],
110112 "core-js/stable/typed-array/int16-array": [
110113 "es.object.to-string",
110114 "es.typed-array.int16-array",
110115 "es.typed-array.copy-within",
110116 "es.typed-array.every",
110117 "es.typed-array.fill",
110118 "es.typed-array.filter",
110119 "es.typed-array.find",
110120 "es.typed-array.find-index",
110121 "es.typed-array.for-each",
110122 "es.typed-array.from",
110123 "es.typed-array.includes",
110124 "es.typed-array.index-of",
110125 "es.typed-array.iterator",
110126 "es.typed-array.join",
110127 "es.typed-array.last-index-of",
110128 "es.typed-array.map",
110129 "es.typed-array.of",
110130 "es.typed-array.reduce",
110131 "es.typed-array.reduce-right",
110132 "es.typed-array.reverse",
110133 "es.typed-array.set",
110134 "es.typed-array.slice",
110135 "es.typed-array.some",
110136 "es.typed-array.sort",
110137 "es.typed-array.subarray",
110138 "es.typed-array.to-locale-string",
110139 "es.typed-array.to-string"
110140 ],
110141 "core-js/stable/typed-array/int32-array": [
110142 "es.object.to-string",
110143 "es.typed-array.int32-array",
110144 "es.typed-array.copy-within",
110145 "es.typed-array.every",
110146 "es.typed-array.fill",
110147 "es.typed-array.filter",
110148 "es.typed-array.find",
110149 "es.typed-array.find-index",
110150 "es.typed-array.for-each",
110151 "es.typed-array.from",
110152 "es.typed-array.includes",
110153 "es.typed-array.index-of",
110154 "es.typed-array.iterator",
110155 "es.typed-array.join",
110156 "es.typed-array.last-index-of",
110157 "es.typed-array.map",
110158 "es.typed-array.of",
110159 "es.typed-array.reduce",
110160 "es.typed-array.reduce-right",
110161 "es.typed-array.reverse",
110162 "es.typed-array.set",
110163 "es.typed-array.slice",
110164 "es.typed-array.some",
110165 "es.typed-array.sort",
110166 "es.typed-array.subarray",
110167 "es.typed-array.to-locale-string",
110168 "es.typed-array.to-string"
110169 ],
110170 "core-js/stable/typed-array/int8-array": [
110171 "es.object.to-string",
110172 "es.typed-array.int8-array",
110173 "es.typed-array.copy-within",
110174 "es.typed-array.every",
110175 "es.typed-array.fill",
110176 "es.typed-array.filter",
110177 "es.typed-array.find",
110178 "es.typed-array.find-index",
110179 "es.typed-array.for-each",
110180 "es.typed-array.from",
110181 "es.typed-array.includes",
110182 "es.typed-array.index-of",
110183 "es.typed-array.iterator",
110184 "es.typed-array.join",
110185 "es.typed-array.last-index-of",
110186 "es.typed-array.map",
110187 "es.typed-array.of",
110188 "es.typed-array.reduce",
110189 "es.typed-array.reduce-right",
110190 "es.typed-array.reverse",
110191 "es.typed-array.set",
110192 "es.typed-array.slice",
110193 "es.typed-array.some",
110194 "es.typed-array.sort",
110195 "es.typed-array.subarray",
110196 "es.typed-array.to-locale-string",
110197 "es.typed-array.to-string"
110198 ],
110199 "core-js/stable/typed-array/iterator": [
110200 "es.typed-array.iterator"
110201 ],
110202 "core-js/stable/typed-array/join": [
110203 "es.typed-array.join"
110204 ],
110205 "core-js/stable/typed-array/keys": [
110206 "es.typed-array.iterator"
110207 ],
110208 "core-js/stable/typed-array/last-index-of": [
110209 "es.typed-array.last-index-of"
110210 ],
110211 "core-js/stable/typed-array/map": [
110212 "es.typed-array.map"
110213 ],
110214 "core-js/stable/typed-array/of": [
110215 "es.typed-array.of"
110216 ],
110217 "core-js/stable/typed-array/reduce": [
110218 "es.typed-array.reduce"
110219 ],
110220 "core-js/stable/typed-array/reduce-right": [
110221 "es.typed-array.reduce-right"
110222 ],
110223 "core-js/stable/typed-array/reverse": [
110224 "es.typed-array.reverse"
110225 ],
110226 "core-js/stable/typed-array/set": [
110227 "es.typed-array.set"
110228 ],
110229 "core-js/stable/typed-array/slice": [
110230 "es.typed-array.slice"
110231 ],
110232 "core-js/stable/typed-array/some": [
110233 "es.typed-array.some"
110234 ],
110235 "core-js/stable/typed-array/sort": [
110236 "es.typed-array.sort"
110237 ],
110238 "core-js/stable/typed-array/subarray": [
110239 "es.typed-array.subarray"
110240 ],
110241 "core-js/stable/typed-array/to-locale-string": [
110242 "es.typed-array.to-locale-string"
110243 ],
110244 "core-js/stable/typed-array/to-string": [
110245 "es.typed-array.to-string"
110246 ],
110247 "core-js/stable/typed-array/uint16-array": [
110248 "es.object.to-string",
110249 "es.typed-array.uint16-array",
110250 "es.typed-array.copy-within",
110251 "es.typed-array.every",
110252 "es.typed-array.fill",
110253 "es.typed-array.filter",
110254 "es.typed-array.find",
110255 "es.typed-array.find-index",
110256 "es.typed-array.for-each",
110257 "es.typed-array.from",
110258 "es.typed-array.includes",
110259 "es.typed-array.index-of",
110260 "es.typed-array.iterator",
110261 "es.typed-array.join",
110262 "es.typed-array.last-index-of",
110263 "es.typed-array.map",
110264 "es.typed-array.of",
110265 "es.typed-array.reduce",
110266 "es.typed-array.reduce-right",
110267 "es.typed-array.reverse",
110268 "es.typed-array.set",
110269 "es.typed-array.slice",
110270 "es.typed-array.some",
110271 "es.typed-array.sort",
110272 "es.typed-array.subarray",
110273 "es.typed-array.to-locale-string",
110274 "es.typed-array.to-string"
110275 ],
110276 "core-js/stable/typed-array/uint32-array": [
110277 "es.object.to-string",
110278 "es.typed-array.uint32-array",
110279 "es.typed-array.copy-within",
110280 "es.typed-array.every",
110281 "es.typed-array.fill",
110282 "es.typed-array.filter",
110283 "es.typed-array.find",
110284 "es.typed-array.find-index",
110285 "es.typed-array.for-each",
110286 "es.typed-array.from",
110287 "es.typed-array.includes",
110288 "es.typed-array.index-of",
110289 "es.typed-array.iterator",
110290 "es.typed-array.join",
110291 "es.typed-array.last-index-of",
110292 "es.typed-array.map",
110293 "es.typed-array.of",
110294 "es.typed-array.reduce",
110295 "es.typed-array.reduce-right",
110296 "es.typed-array.reverse",
110297 "es.typed-array.set",
110298 "es.typed-array.slice",
110299 "es.typed-array.some",
110300 "es.typed-array.sort",
110301 "es.typed-array.subarray",
110302 "es.typed-array.to-locale-string",
110303 "es.typed-array.to-string"
110304 ],
110305 "core-js/stable/typed-array/uint8-array": [
110306 "es.object.to-string",
110307 "es.typed-array.uint8-array",
110308 "es.typed-array.copy-within",
110309 "es.typed-array.every",
110310 "es.typed-array.fill",
110311 "es.typed-array.filter",
110312 "es.typed-array.find",
110313 "es.typed-array.find-index",
110314 "es.typed-array.for-each",
110315 "es.typed-array.from",
110316 "es.typed-array.includes",
110317 "es.typed-array.index-of",
110318 "es.typed-array.iterator",
110319 "es.typed-array.join",
110320 "es.typed-array.last-index-of",
110321 "es.typed-array.map",
110322 "es.typed-array.of",
110323 "es.typed-array.reduce",
110324 "es.typed-array.reduce-right",
110325 "es.typed-array.reverse",
110326 "es.typed-array.set",
110327 "es.typed-array.slice",
110328 "es.typed-array.some",
110329 "es.typed-array.sort",
110330 "es.typed-array.subarray",
110331 "es.typed-array.to-locale-string",
110332 "es.typed-array.to-string"
110333 ],
110334 "core-js/stable/typed-array/uint8-clamped-array": [
110335 "es.object.to-string",
110336 "es.typed-array.uint8-clamped-array",
110337 "es.typed-array.copy-within",
110338 "es.typed-array.every",
110339 "es.typed-array.fill",
110340 "es.typed-array.filter",
110341 "es.typed-array.find",
110342 "es.typed-array.find-index",
110343 "es.typed-array.for-each",
110344 "es.typed-array.from",
110345 "es.typed-array.includes",
110346 "es.typed-array.index-of",
110347 "es.typed-array.iterator",
110348 "es.typed-array.join",
110349 "es.typed-array.last-index-of",
110350 "es.typed-array.map",
110351 "es.typed-array.of",
110352 "es.typed-array.reduce",
110353 "es.typed-array.reduce-right",
110354 "es.typed-array.reverse",
110355 "es.typed-array.set",
110356 "es.typed-array.slice",
110357 "es.typed-array.some",
110358 "es.typed-array.sort",
110359 "es.typed-array.subarray",
110360 "es.typed-array.to-locale-string",
110361 "es.typed-array.to-string"
110362 ],
110363 "core-js/stable/typed-array/values": [
110364 "es.typed-array.iterator"
110365 ],
110366 "core-js/stable/unescape": [
110367 "es.unescape"
110368 ],
110369 "core-js/stable/url": [
110370 "web.url",
110371 "web.url.to-json",
110372 "web.url-search-params"
110373 ],
110374 "core-js/stable/url-search-params": [
110375 "web.url-search-params"
110376 ],
110377 "core-js/stable/url/to-json": [
110378 "web.url.to-json"
110379 ],
110380 "core-js/stable/weak-map": [
110381 "es.object.to-string",
110382 "es.weak-map",
110383 "web.dom-collections.iterator"
110384 ],
110385 "core-js/stable/weak-set": [
110386 "es.object.to-string",
110387 "es.weak-set",
110388 "web.dom-collections.iterator"
110389 ],
110390 "core-js/stage": [
110391 "es.map",
110392 "esnext.aggregate-error",
110393 "esnext.array.at",
110394 "esnext.array.filter-out",
110395 "esnext.array.find-last",
110396 "esnext.array.find-last-index",
110397 "esnext.array.is-template-object",
110398 "esnext.array.last-index",
110399 "esnext.array.last-item",
110400 "esnext.array.unique-by",
110401 "esnext.async-iterator.constructor",
110402 "esnext.async-iterator.as-indexed-pairs",
110403 "esnext.async-iterator.drop",
110404 "esnext.async-iterator.every",
110405 "esnext.async-iterator.filter",
110406 "esnext.async-iterator.find",
110407 "esnext.async-iterator.flat-map",
110408 "esnext.async-iterator.for-each",
110409 "esnext.async-iterator.from",
110410 "esnext.async-iterator.map",
110411 "esnext.async-iterator.reduce",
110412 "esnext.async-iterator.some",
110413 "esnext.async-iterator.take",
110414 "esnext.async-iterator.to-array",
110415 "esnext.bigint.range",
110416 "esnext.composite-key",
110417 "esnext.composite-symbol",
110418 "esnext.global-this",
110419 "esnext.iterator.constructor",
110420 "esnext.iterator.as-indexed-pairs",
110421 "esnext.iterator.drop",
110422 "esnext.iterator.every",
110423 "esnext.iterator.filter",
110424 "esnext.iterator.find",
110425 "esnext.iterator.flat-map",
110426 "esnext.iterator.for-each",
110427 "esnext.iterator.from",
110428 "esnext.iterator.map",
110429 "esnext.iterator.reduce",
110430 "esnext.iterator.some",
110431 "esnext.iterator.take",
110432 "esnext.iterator.to-array",
110433 "esnext.map.delete-all",
110434 "esnext.map.emplace",
110435 "esnext.map.every",
110436 "esnext.map.filter",
110437 "esnext.map.find",
110438 "esnext.map.find-key",
110439 "esnext.map.from",
110440 "esnext.map.group-by",
110441 "esnext.map.includes",
110442 "esnext.map.key-by",
110443 "esnext.map.key-of",
110444 "esnext.map.map-keys",
110445 "esnext.map.map-values",
110446 "esnext.map.merge",
110447 "esnext.map.of",
110448 "esnext.map.reduce",
110449 "esnext.map.some",
110450 "esnext.map.update",
110451 "esnext.map.update-or-insert",
110452 "esnext.map.upsert",
110453 "esnext.math.clamp",
110454 "esnext.math.deg-per-rad",
110455 "esnext.math.degrees",
110456 "esnext.math.fscale",
110457 "esnext.math.iaddh",
110458 "esnext.math.imulh",
110459 "esnext.math.isubh",
110460 "esnext.math.rad-per-deg",
110461 "esnext.math.radians",
110462 "esnext.math.scale",
110463 "esnext.math.seeded-prng",
110464 "esnext.math.signbit",
110465 "esnext.math.umulh",
110466 "esnext.number.from-string",
110467 "esnext.number.range",
110468 "esnext.object.has-own",
110469 "esnext.object.iterate-entries",
110470 "esnext.object.iterate-keys",
110471 "esnext.object.iterate-values",
110472 "esnext.observable",
110473 "esnext.promise.all-settled",
110474 "esnext.promise.any",
110475 "esnext.promise.try",
110476 "esnext.reflect.define-metadata",
110477 "esnext.reflect.delete-metadata",
110478 "esnext.reflect.get-metadata",
110479 "esnext.reflect.get-metadata-keys",
110480 "esnext.reflect.get-own-metadata",
110481 "esnext.reflect.get-own-metadata-keys",
110482 "esnext.reflect.has-metadata",
110483 "esnext.reflect.has-own-metadata",
110484 "esnext.reflect.metadata",
110485 "esnext.set.add-all",
110486 "esnext.set.delete-all",
110487 "esnext.set.difference",
110488 "esnext.set.every",
110489 "esnext.set.filter",
110490 "esnext.set.find",
110491 "esnext.set.from",
110492 "esnext.set.intersection",
110493 "esnext.set.is-disjoint-from",
110494 "esnext.set.is-subset-of",
110495 "esnext.set.is-superset-of",
110496 "esnext.set.join",
110497 "esnext.set.map",
110498 "esnext.set.of",
110499 "esnext.set.reduce",
110500 "esnext.set.some",
110501 "esnext.set.symmetric-difference",
110502 "esnext.set.union",
110503 "esnext.string.at",
110504 "esnext.string.code-points",
110505 "esnext.string.match-all",
110506 "esnext.string.replace-all",
110507 "esnext.symbol.async-dispose",
110508 "esnext.symbol.dispose",
110509 "esnext.symbol.matcher",
110510 "esnext.symbol.metadata",
110511 "esnext.symbol.observable",
110512 "esnext.symbol.pattern-match",
110513 "esnext.symbol.replace-all",
110514 "esnext.typed-array.at",
110515 "esnext.typed-array.filter-out",
110516 "esnext.typed-array.find-last",
110517 "esnext.typed-array.find-last-index",
110518 "esnext.typed-array.unique-by",
110519 "esnext.weak-map.delete-all",
110520 "esnext.weak-map.from",
110521 "esnext.weak-map.of",
110522 "esnext.weak-map.emplace",
110523 "esnext.weak-map.upsert",
110524 "esnext.weak-set.add-all",
110525 "esnext.weak-set.delete-all",
110526 "esnext.weak-set.from",
110527 "esnext.weak-set.of",
110528 "web.url",
110529 "web.url.to-json",
110530 "web.url-search-params"
110531 ],
110532 "core-js/stage/0": [
110533 "es.map",
110534 "esnext.aggregate-error",
110535 "esnext.array.at",
110536 "esnext.array.filter-out",
110537 "esnext.array.find-last",
110538 "esnext.array.find-last-index",
110539 "esnext.array.is-template-object",
110540 "esnext.array.last-index",
110541 "esnext.array.last-item",
110542 "esnext.array.unique-by",
110543 "esnext.async-iterator.constructor",
110544 "esnext.async-iterator.as-indexed-pairs",
110545 "esnext.async-iterator.drop",
110546 "esnext.async-iterator.every",
110547 "esnext.async-iterator.filter",
110548 "esnext.async-iterator.find",
110549 "esnext.async-iterator.flat-map",
110550 "esnext.async-iterator.for-each",
110551 "esnext.async-iterator.from",
110552 "esnext.async-iterator.map",
110553 "esnext.async-iterator.reduce",
110554 "esnext.async-iterator.some",
110555 "esnext.async-iterator.take",
110556 "esnext.async-iterator.to-array",
110557 "esnext.bigint.range",
110558 "esnext.composite-key",
110559 "esnext.composite-symbol",
110560 "esnext.global-this",
110561 "esnext.iterator.constructor",
110562 "esnext.iterator.as-indexed-pairs",
110563 "esnext.iterator.drop",
110564 "esnext.iterator.every",
110565 "esnext.iterator.filter",
110566 "esnext.iterator.find",
110567 "esnext.iterator.flat-map",
110568 "esnext.iterator.for-each",
110569 "esnext.iterator.from",
110570 "esnext.iterator.map",
110571 "esnext.iterator.reduce",
110572 "esnext.iterator.some",
110573 "esnext.iterator.take",
110574 "esnext.iterator.to-array",
110575 "esnext.map.delete-all",
110576 "esnext.map.emplace",
110577 "esnext.map.every",
110578 "esnext.map.filter",
110579 "esnext.map.find",
110580 "esnext.map.find-key",
110581 "esnext.map.from",
110582 "esnext.map.group-by",
110583 "esnext.map.includes",
110584 "esnext.map.key-by",
110585 "esnext.map.key-of",
110586 "esnext.map.map-keys",
110587 "esnext.map.map-values",
110588 "esnext.map.merge",
110589 "esnext.map.of",
110590 "esnext.map.reduce",
110591 "esnext.map.some",
110592 "esnext.map.update",
110593 "esnext.map.update-or-insert",
110594 "esnext.map.upsert",
110595 "esnext.math.clamp",
110596 "esnext.math.deg-per-rad",
110597 "esnext.math.degrees",
110598 "esnext.math.fscale",
110599 "esnext.math.iaddh",
110600 "esnext.math.imulh",
110601 "esnext.math.isubh",
110602 "esnext.math.rad-per-deg",
110603 "esnext.math.radians",
110604 "esnext.math.scale",
110605 "esnext.math.seeded-prng",
110606 "esnext.math.signbit",
110607 "esnext.math.umulh",
110608 "esnext.number.from-string",
110609 "esnext.number.range",
110610 "esnext.object.has-own",
110611 "esnext.object.iterate-entries",
110612 "esnext.object.iterate-keys",
110613 "esnext.object.iterate-values",
110614 "esnext.observable",
110615 "esnext.promise.all-settled",
110616 "esnext.promise.any",
110617 "esnext.promise.try",
110618 "esnext.set.add-all",
110619 "esnext.set.delete-all",
110620 "esnext.set.difference",
110621 "esnext.set.every",
110622 "esnext.set.filter",
110623 "esnext.set.find",
110624 "esnext.set.from",
110625 "esnext.set.intersection",
110626 "esnext.set.is-disjoint-from",
110627 "esnext.set.is-subset-of",
110628 "esnext.set.is-superset-of",
110629 "esnext.set.join",
110630 "esnext.set.map",
110631 "esnext.set.of",
110632 "esnext.set.reduce",
110633 "esnext.set.some",
110634 "esnext.set.symmetric-difference",
110635 "esnext.set.union",
110636 "esnext.string.at",
110637 "esnext.string.code-points",
110638 "esnext.string.match-all",
110639 "esnext.string.replace-all",
110640 "esnext.symbol.async-dispose",
110641 "esnext.symbol.dispose",
110642 "esnext.symbol.matcher",
110643 "esnext.symbol.metadata",
110644 "esnext.symbol.observable",
110645 "esnext.symbol.pattern-match",
110646 "esnext.symbol.replace-all",
110647 "esnext.typed-array.at",
110648 "esnext.typed-array.filter-out",
110649 "esnext.typed-array.find-last",
110650 "esnext.typed-array.find-last-index",
110651 "esnext.typed-array.unique-by",
110652 "esnext.weak-map.delete-all",
110653 "esnext.weak-map.from",
110654 "esnext.weak-map.of",
110655 "esnext.weak-map.emplace",
110656 "esnext.weak-map.upsert",
110657 "esnext.weak-set.add-all",
110658 "esnext.weak-set.delete-all",
110659 "esnext.weak-set.from",
110660 "esnext.weak-set.of",
110661 "web.url",
110662 "web.url.to-json",
110663 "web.url-search-params"
110664 ],
110665 "core-js/stage/1": [
110666 "es.map",
110667 "esnext.aggregate-error",
110668 "esnext.array.at",
110669 "esnext.array.filter-out",
110670 "esnext.array.find-last",
110671 "esnext.array.find-last-index",
110672 "esnext.array.is-template-object",
110673 "esnext.array.last-index",
110674 "esnext.array.last-item",
110675 "esnext.array.unique-by",
110676 "esnext.async-iterator.constructor",
110677 "esnext.async-iterator.as-indexed-pairs",
110678 "esnext.async-iterator.drop",
110679 "esnext.async-iterator.every",
110680 "esnext.async-iterator.filter",
110681 "esnext.async-iterator.find",
110682 "esnext.async-iterator.flat-map",
110683 "esnext.async-iterator.for-each",
110684 "esnext.async-iterator.from",
110685 "esnext.async-iterator.map",
110686 "esnext.async-iterator.reduce",
110687 "esnext.async-iterator.some",
110688 "esnext.async-iterator.take",
110689 "esnext.async-iterator.to-array",
110690 "esnext.bigint.range",
110691 "esnext.composite-key",
110692 "esnext.composite-symbol",
110693 "esnext.global-this",
110694 "esnext.iterator.constructor",
110695 "esnext.iterator.as-indexed-pairs",
110696 "esnext.iterator.drop",
110697 "esnext.iterator.every",
110698 "esnext.iterator.filter",
110699 "esnext.iterator.find",
110700 "esnext.iterator.flat-map",
110701 "esnext.iterator.for-each",
110702 "esnext.iterator.from",
110703 "esnext.iterator.map",
110704 "esnext.iterator.reduce",
110705 "esnext.iterator.some",
110706 "esnext.iterator.take",
110707 "esnext.iterator.to-array",
110708 "esnext.map.delete-all",
110709 "esnext.map.emplace",
110710 "esnext.map.every",
110711 "esnext.map.filter",
110712 "esnext.map.find",
110713 "esnext.map.find-key",
110714 "esnext.map.from",
110715 "esnext.map.group-by",
110716 "esnext.map.includes",
110717 "esnext.map.key-by",
110718 "esnext.map.key-of",
110719 "esnext.map.map-keys",
110720 "esnext.map.map-values",
110721 "esnext.map.merge",
110722 "esnext.map.of",
110723 "esnext.map.reduce",
110724 "esnext.map.some",
110725 "esnext.map.update",
110726 "esnext.map.update-or-insert",
110727 "esnext.map.upsert",
110728 "esnext.math.clamp",
110729 "esnext.math.deg-per-rad",
110730 "esnext.math.degrees",
110731 "esnext.math.fscale",
110732 "esnext.math.rad-per-deg",
110733 "esnext.math.radians",
110734 "esnext.math.scale",
110735 "esnext.math.seeded-prng",
110736 "esnext.math.signbit",
110737 "esnext.number.from-string",
110738 "esnext.number.range",
110739 "esnext.object.has-own",
110740 "esnext.object.iterate-entries",
110741 "esnext.object.iterate-keys",
110742 "esnext.object.iterate-values",
110743 "esnext.observable",
110744 "esnext.promise.all-settled",
110745 "esnext.promise.any",
110746 "esnext.promise.try",
110747 "esnext.set.add-all",
110748 "esnext.set.delete-all",
110749 "esnext.set.difference",
110750 "esnext.set.every",
110751 "esnext.set.filter",
110752 "esnext.set.find",
110753 "esnext.set.from",
110754 "esnext.set.intersection",
110755 "esnext.set.is-disjoint-from",
110756 "esnext.set.is-subset-of",
110757 "esnext.set.is-superset-of",
110758 "esnext.set.join",
110759 "esnext.set.map",
110760 "esnext.set.of",
110761 "esnext.set.reduce",
110762 "esnext.set.some",
110763 "esnext.set.symmetric-difference",
110764 "esnext.set.union",
110765 "esnext.string.code-points",
110766 "esnext.string.match-all",
110767 "esnext.string.replace-all",
110768 "esnext.symbol.async-dispose",
110769 "esnext.symbol.dispose",
110770 "esnext.symbol.matcher",
110771 "esnext.symbol.metadata",
110772 "esnext.symbol.observable",
110773 "esnext.symbol.pattern-match",
110774 "esnext.symbol.replace-all",
110775 "esnext.typed-array.at",
110776 "esnext.typed-array.filter-out",
110777 "esnext.typed-array.find-last",
110778 "esnext.typed-array.find-last-index",
110779 "esnext.typed-array.unique-by",
110780 "esnext.weak-map.delete-all",
110781 "esnext.weak-map.from",
110782 "esnext.weak-map.of",
110783 "esnext.weak-map.emplace",
110784 "esnext.weak-map.upsert",
110785 "esnext.weak-set.add-all",
110786 "esnext.weak-set.delete-all",
110787 "esnext.weak-set.from",
110788 "esnext.weak-set.of"
110789 ],
110790 "core-js/stage/2": [
110791 "esnext.aggregate-error",
110792 "esnext.array.at",
110793 "esnext.array.find-last",
110794 "esnext.array.find-last-index",
110795 "esnext.array.is-template-object",
110796 "esnext.async-iterator.constructor",
110797 "esnext.async-iterator.as-indexed-pairs",
110798 "esnext.async-iterator.drop",
110799 "esnext.async-iterator.every",
110800 "esnext.async-iterator.filter",
110801 "esnext.async-iterator.find",
110802 "esnext.async-iterator.flat-map",
110803 "esnext.async-iterator.for-each",
110804 "esnext.async-iterator.from",
110805 "esnext.async-iterator.map",
110806 "esnext.async-iterator.reduce",
110807 "esnext.async-iterator.some",
110808 "esnext.async-iterator.take",
110809 "esnext.async-iterator.to-array",
110810 "esnext.global-this",
110811 "esnext.iterator.constructor",
110812 "esnext.iterator.as-indexed-pairs",
110813 "esnext.iterator.drop",
110814 "esnext.iterator.every",
110815 "esnext.iterator.filter",
110816 "esnext.iterator.find",
110817 "esnext.iterator.flat-map",
110818 "esnext.iterator.for-each",
110819 "esnext.iterator.from",
110820 "esnext.iterator.map",
110821 "esnext.iterator.reduce",
110822 "esnext.iterator.some",
110823 "esnext.iterator.take",
110824 "esnext.iterator.to-array",
110825 "esnext.map.emplace",
110826 "esnext.map.update-or-insert",
110827 "esnext.map.upsert",
110828 "esnext.object.has-own",
110829 "esnext.promise.all-settled",
110830 "esnext.promise.any",
110831 "esnext.set.difference",
110832 "esnext.set.intersection",
110833 "esnext.set.is-disjoint-from",
110834 "esnext.set.is-subset-of",
110835 "esnext.set.is-superset-of",
110836 "esnext.set.symmetric-difference",
110837 "esnext.set.union",
110838 "esnext.string.match-all",
110839 "esnext.string.replace-all",
110840 "esnext.symbol.async-dispose",
110841 "esnext.symbol.dispose",
110842 "esnext.symbol.metadata",
110843 "esnext.symbol.replace-all",
110844 "esnext.typed-array.at",
110845 "esnext.typed-array.find-last",
110846 "esnext.typed-array.find-last-index",
110847 "esnext.weak-map.emplace",
110848 "esnext.weak-map.upsert"
110849 ],
110850 "core-js/stage/3": [
110851 "esnext.aggregate-error",
110852 "esnext.array.at",
110853 "esnext.global-this",
110854 "esnext.object.has-own",
110855 "esnext.promise.all-settled",
110856 "esnext.promise.any",
110857 "esnext.string.match-all",
110858 "esnext.string.replace-all",
110859 "esnext.symbol.replace-all",
110860 "esnext.typed-array.at"
110861 ],
110862 "core-js/stage/4": [
110863 "esnext.aggregate-error",
110864 "esnext.global-this",
110865 "esnext.promise.all-settled",
110866 "esnext.promise.any",
110867 "esnext.string.match-all",
110868 "esnext.string.replace-all",
110869 "esnext.symbol.replace-all"
110870 ],
110871 "core-js/stage/pre": [
110872 "es.map",
110873 "esnext.aggregate-error",
110874 "esnext.array.at",
110875 "esnext.array.filter-out",
110876 "esnext.array.find-last",
110877 "esnext.array.find-last-index",
110878 "esnext.array.is-template-object",
110879 "esnext.array.last-index",
110880 "esnext.array.last-item",
110881 "esnext.array.unique-by",
110882 "esnext.async-iterator.constructor",
110883 "esnext.async-iterator.as-indexed-pairs",
110884 "esnext.async-iterator.drop",
110885 "esnext.async-iterator.every",
110886 "esnext.async-iterator.filter",
110887 "esnext.async-iterator.find",
110888 "esnext.async-iterator.flat-map",
110889 "esnext.async-iterator.for-each",
110890 "esnext.async-iterator.from",
110891 "esnext.async-iterator.map",
110892 "esnext.async-iterator.reduce",
110893 "esnext.async-iterator.some",
110894 "esnext.async-iterator.take",
110895 "esnext.async-iterator.to-array",
110896 "esnext.bigint.range",
110897 "esnext.composite-key",
110898 "esnext.composite-symbol",
110899 "esnext.global-this",
110900 "esnext.iterator.constructor",
110901 "esnext.iterator.as-indexed-pairs",
110902 "esnext.iterator.drop",
110903 "esnext.iterator.every",
110904 "esnext.iterator.filter",
110905 "esnext.iterator.find",
110906 "esnext.iterator.flat-map",
110907 "esnext.iterator.for-each",
110908 "esnext.iterator.from",
110909 "esnext.iterator.map",
110910 "esnext.iterator.reduce",
110911 "esnext.iterator.some",
110912 "esnext.iterator.take",
110913 "esnext.iterator.to-array",
110914 "esnext.map.delete-all",
110915 "esnext.map.emplace",
110916 "esnext.map.every",
110917 "esnext.map.filter",
110918 "esnext.map.find",
110919 "esnext.map.find-key",
110920 "esnext.map.from",
110921 "esnext.map.group-by",
110922 "esnext.map.includes",
110923 "esnext.map.key-by",
110924 "esnext.map.key-of",
110925 "esnext.map.map-keys",
110926 "esnext.map.map-values",
110927 "esnext.map.merge",
110928 "esnext.map.of",
110929 "esnext.map.reduce",
110930 "esnext.map.some",
110931 "esnext.map.update",
110932 "esnext.map.update-or-insert",
110933 "esnext.map.upsert",
110934 "esnext.math.clamp",
110935 "esnext.math.deg-per-rad",
110936 "esnext.math.degrees",
110937 "esnext.math.fscale",
110938 "esnext.math.iaddh",
110939 "esnext.math.imulh",
110940 "esnext.math.isubh",
110941 "esnext.math.rad-per-deg",
110942 "esnext.math.radians",
110943 "esnext.math.scale",
110944 "esnext.math.seeded-prng",
110945 "esnext.math.signbit",
110946 "esnext.math.umulh",
110947 "esnext.number.from-string",
110948 "esnext.number.range",
110949 "esnext.object.has-own",
110950 "esnext.object.iterate-entries",
110951 "esnext.object.iterate-keys",
110952 "esnext.object.iterate-values",
110953 "esnext.observable",
110954 "esnext.promise.all-settled",
110955 "esnext.promise.any",
110956 "esnext.promise.try",
110957 "esnext.reflect.define-metadata",
110958 "esnext.reflect.delete-metadata",
110959 "esnext.reflect.get-metadata",
110960 "esnext.reflect.get-metadata-keys",
110961 "esnext.reflect.get-own-metadata",
110962 "esnext.reflect.get-own-metadata-keys",
110963 "esnext.reflect.has-metadata",
110964 "esnext.reflect.has-own-metadata",
110965 "esnext.reflect.metadata",
110966 "esnext.set.add-all",
110967 "esnext.set.delete-all",
110968 "esnext.set.difference",
110969 "esnext.set.every",
110970 "esnext.set.filter",
110971 "esnext.set.find",
110972 "esnext.set.from",
110973 "esnext.set.intersection",
110974 "esnext.set.is-disjoint-from",
110975 "esnext.set.is-subset-of",
110976 "esnext.set.is-superset-of",
110977 "esnext.set.join",
110978 "esnext.set.map",
110979 "esnext.set.of",
110980 "esnext.set.reduce",
110981 "esnext.set.some",
110982 "esnext.set.symmetric-difference",
110983 "esnext.set.union",
110984 "esnext.string.at",
110985 "esnext.string.code-points",
110986 "esnext.string.match-all",
110987 "esnext.string.replace-all",
110988 "esnext.symbol.async-dispose",
110989 "esnext.symbol.dispose",
110990 "esnext.symbol.matcher",
110991 "esnext.symbol.metadata",
110992 "esnext.symbol.observable",
110993 "esnext.symbol.pattern-match",
110994 "esnext.symbol.replace-all",
110995 "esnext.typed-array.at",
110996 "esnext.typed-array.filter-out",
110997 "esnext.typed-array.find-last",
110998 "esnext.typed-array.find-last-index",
110999 "esnext.typed-array.unique-by",
111000 "esnext.weak-map.delete-all",
111001 "esnext.weak-map.from",
111002 "esnext.weak-map.of",
111003 "esnext.weak-map.emplace",
111004 "esnext.weak-map.upsert",
111005 "esnext.weak-set.add-all",
111006 "esnext.weak-set.delete-all",
111007 "esnext.weak-set.from",
111008 "esnext.weak-set.of",
111009 "web.url",
111010 "web.url.to-json",
111011 "web.url-search-params"
111012 ],
111013 "core-js/web": [
111014 "web.dom-collections.for-each",
111015 "web.dom-collections.iterator",
111016 "web.immediate",
111017 "web.queue-microtask",
111018 "web.timers",
111019 "web.url",
111020 "web.url.to-json",
111021 "web.url-search-params"
111022 ],
111023 "core-js/web/dom-collections": [
111024 "web.dom-collections.for-each",
111025 "web.dom-collections.iterator"
111026 ],
111027 "core-js/web/immediate": [
111028 "web.immediate"
111029 ],
111030 "core-js/web/queue-microtask": [
111031 "web.queue-microtask"
111032 ],
111033 "core-js/web/timers": [
111034 "web.timers"
111035 ],
111036 "core-js/web/url": [
111037 "web.url",
111038 "web.url.to-json",
111039 "web.url-search-params"
111040 ],
111041 "core-js/web/url-search-params": [
111042 "web.url-search-params"
111043 ]
111044 };
111045
111046 var entries$1 = require$$0$2;
111047
111048 var corejs3ShippedProposalsList$1 = new Set(["esnext.global-this", "esnext.string.match-all"]);
111049 var polyfillsOrder$1 = {};
111050 Object.keys(data$1).forEach(function (name, index) {
111051 polyfillsOrder$1[name] = index;
111052 });
111053
111054 var define$2 = function define(pure, global, name, exclude) {
111055 if (name === void 0) {
111056 name = global[0];
111057 }
111058
111059 return {
111060 name: name,
111061 pure: pure,
111062 global: global.sort(function (a, b) {
111063 return polyfillsOrder$1[a] - polyfillsOrder$1[b];
111064 }),
111065 exclude: exclude
111066 };
111067 };
111068
111069 var typed$1 = function typed(name) {
111070 return define$2(null, [name].concat(TypedArrayDependencies$1));
111071 };
111072
111073 var ArrayNatureIterators$2 = ["es.array.iterator", "web.dom-collections.iterator"];
111074 var CommonIterators$2 = ["es.string.iterator"].concat(ArrayNatureIterators$2);
111075 var ArrayNatureIteratorsWithTag$1 = ["es.object.to-string"].concat(ArrayNatureIterators$2);
111076 var CommonIteratorsWithTag$1 = ["es.object.to-string"].concat(_toConsumableArray(CommonIterators$2));
111077 var TypedArrayDependencies$1 = ["es.typed-array.copy-within", "es.typed-array.every", "es.typed-array.fill", "es.typed-array.filter", "es.typed-array.find", "es.typed-array.find-index", "es.typed-array.for-each", "es.typed-array.includes", "es.typed-array.index-of", "es.typed-array.iterator", "es.typed-array.join", "es.typed-array.last-index-of", "es.typed-array.map", "es.typed-array.reduce", "es.typed-array.reduce-right", "es.typed-array.reverse", "es.typed-array.set", "es.typed-array.slice", "es.typed-array.some", "es.typed-array.sort", "es.typed-array.subarray", "es.typed-array.to-locale-string", "es.typed-array.to-string", "es.object.to-string", "es.array.iterator", "es.array-buffer.slice"];
111078 var TypedArrayStaticMethods$1 = {
111079 from: define$2(null, ["es.typed-array.from"]),
111080 of: define$2(null, ["es.typed-array.of"])
111081 };
111082 var PromiseDependencies$2 = ["es.promise", "es.object.to-string"];
111083 var PromiseDependenciesWithIterators$1 = [].concat(PromiseDependencies$2, _toConsumableArray(CommonIterators$2));
111084 var SymbolDependencies$1 = ["es.symbol", "es.symbol.description", "es.object.to-string"];
111085 var MapDependencies$1 = ["es.map", "esnext.map.delete-all", "esnext.map.every", "esnext.map.filter", "esnext.map.find", "esnext.map.find-key", "esnext.map.includes", "esnext.map.key-of", "esnext.map.map-keys", "esnext.map.map-values", "esnext.map.merge", "esnext.map.reduce", "esnext.map.some", "esnext.map.update"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
111086 var SetDependencies$1 = ["es.set", "esnext.set.add-all", "esnext.set.delete-all", "esnext.set.difference", "esnext.set.every", "esnext.set.filter", "esnext.set.find", "esnext.set.intersection", "esnext.set.is-disjoint-from", "esnext.set.is-subset-of", "esnext.set.is-superset-of", "esnext.set.join", "esnext.set.map", "esnext.set.reduce", "esnext.set.some", "esnext.set.symmetric-difference", "esnext.set.union"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
111087 var WeakMapDependencies$1 = ["es.weak-map", "esnext.weak-map.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
111088 var WeakSetDependencies$1 = ["es.weak-set", "esnext.weak-set.add-all", "esnext.weak-set.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
111089 var URLSearchParamsDependencies$1 = ["web.url"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
111090 var BuiltIns$2 = {
111091 AggregateError: define$2("aggregate-error", ["esnext.aggregate-error"].concat(_toConsumableArray(CommonIterators$2))),
111092 ArrayBuffer: define$2(null, ["es.array-buffer.constructor", "es.array-buffer.slice", "es.object.to-string"]),
111093 DataView: define$2(null, ["es.data-view", "es.array-buffer.slice", "es.object.to-string"]),
111094 Date: define$2(null, ["es.date.to-string"]),
111095 Float32Array: typed$1("es.typed-array.float32-array"),
111096 Float64Array: typed$1("es.typed-array.float64-array"),
111097 Int8Array: typed$1("es.typed-array.int8-array"),
111098 Int16Array: typed$1("es.typed-array.int16-array"),
111099 Int32Array: typed$1("es.typed-array.int32-array"),
111100 Uint8Array: typed$1("es.typed-array.uint8-array"),
111101 Uint8ClampedArray: typed$1("es.typed-array.uint8-clamped-array"),
111102 Uint16Array: typed$1("es.typed-array.uint16-array"),
111103 Uint32Array: typed$1("es.typed-array.uint32-array"),
111104 Map: define$2("map/index", MapDependencies$1),
111105 Number: define$2(null, ["es.number.constructor"]),
111106 Observable: define$2("observable/index", ["esnext.observable", "esnext.symbol.observable", "es.object.to-string"].concat(_toConsumableArray(CommonIteratorsWithTag$1))),
111107 Promise: define$2("promise/index", PromiseDependencies$2),
111108 RegExp: define$2(null, ["es.regexp.constructor", "es.regexp.exec", "es.regexp.to-string"]),
111109 Set: define$2("set/index", SetDependencies$1),
111110 Symbol: define$2("symbol/index", SymbolDependencies$1),
111111 URL: define$2("url/index", ["web.url"].concat(_toConsumableArray(URLSearchParamsDependencies$1))),
111112 URLSearchParams: define$2("url-search-params/index", URLSearchParamsDependencies$1),
111113 WeakMap: define$2("weak-map/index", WeakMapDependencies$1),
111114 WeakSet: define$2("weak-set/index", WeakSetDependencies$1),
111115 clearImmediate: define$2("clear-immediate", ["web.immediate"]),
111116 compositeKey: define$2("composite-key", ["esnext.composite-key"]),
111117 compositeSymbol: define$2("composite-symbol", ["esnext.composite-symbol"]),
111118 fetch: define$2(null, PromiseDependencies$2),
111119 globalThis: define$2("global-this", ["es.global-this"]),
111120 parseFloat: define$2("parse-float", ["es.parse-float"]),
111121 parseInt: define$2("parse-int", ["es.parse-int"]),
111122 queueMicrotask: define$2("queue-microtask", ["web.queue-microtask"]),
111123 setImmediate: define$2("set-immediate", ["web.immediate"]),
111124 setInterval: define$2("set-interval", ["web.timers"]),
111125 setTimeout: define$2("set-timeout", ["web.timers"])
111126 };
111127 var StaticProperties$2 = {
111128 Array: {
111129 from: define$2("array/from", ["es.array.from", "es.string.iterator"]),
111130 isArray: define$2("array/is-array", ["es.array.is-array"]),
111131 of: define$2("array/of", ["es.array.of"])
111132 },
111133 ArrayBuffer: {
111134 isView: define$2(null, ["es.array-buffer.is-view"])
111135 },
111136 Date: {
111137 now: define$2("date/now", ["es.date.now"])
111138 },
111139 JSON: {
111140 stringify: define$2("json/stringify", [], "es.symbol")
111141 },
111142 Math: {
111143 DEG_PER_RAD: define$2("math/deg-per-rad", ["esnext.math.deg-per-rad"]),
111144 RAD_PER_DEG: define$2("math/rad-per-deg", ["esnext.math.rad-per-deg"]),
111145 acosh: define$2("math/acosh", ["es.math.acosh"]),
111146 asinh: define$2("math/asinh", ["es.math.asinh"]),
111147 atanh: define$2("math/atanh", ["es.math.atanh"]),
111148 cbrt: define$2("math/cbrt", ["es.math.cbrt"]),
111149 clamp: define$2("math/clamp", ["esnext.math.clamp"]),
111150 clz32: define$2("math/clz32", ["es.math.clz32"]),
111151 cosh: define$2("math/cosh", ["es.math.cosh"]),
111152 degrees: define$2("math/degrees", ["esnext.math.degrees"]),
111153 expm1: define$2("math/expm1", ["es.math.expm1"]),
111154 fround: define$2("math/fround", ["es.math.fround"]),
111155 fscale: define$2("math/fscale", ["esnext.math.fscale"]),
111156 hypot: define$2("math/hypot", ["es.math.hypot"]),
111157 iaddh: define$2("math/iaddh", ["esnext.math.iaddh"]),
111158 imul: define$2("math/imul", ["es.math.imul"]),
111159 imulh: define$2("math/imulh", ["esnext.math.imulh"]),
111160 isubh: define$2("math/isubh", ["esnext.math.isubh"]),
111161 log10: define$2("math/log10", ["es.math.log10"]),
111162 log1p: define$2("math/log1p", ["es.math.log1p"]),
111163 log2: define$2("math/log2", ["es.math.log2"]),
111164 radians: define$2("math/radians", ["esnext.math.radians"]),
111165 scale: define$2("math/scale", ["esnext.math.scale"]),
111166 seededPRNG: define$2("math/seeded-prng", ["esnext.math.seeded-prng"]),
111167 sign: define$2("math/sign", ["es.math.sign"]),
111168 signbit: define$2("math/signbit", ["esnext.math.signbit"]),
111169 sinh: define$2("math/sinh", ["es.math.sinh"]),
111170 tanh: define$2("math/tanh", ["es.math.tanh"]),
111171 trunc: define$2("math/trunc", ["es.math.trunc"]),
111172 umulh: define$2("math/umulh", ["esnext.math.umulh"])
111173 },
111174 Map: {
111175 from: define$2(null, ["esnext.map.from"].concat(_toConsumableArray(MapDependencies$1))),
111176 groupBy: define$2(null, ["esnext.map.group-by"].concat(_toConsumableArray(MapDependencies$1))),
111177 keyBy: define$2(null, ["esnext.map.key-by"].concat(_toConsumableArray(MapDependencies$1))),
111178 of: define$2(null, ["esnext.map.of"].concat(_toConsumableArray(MapDependencies$1)))
111179 },
111180 Number: {
111181 EPSILON: define$2("number/epsilon", ["es.number.epsilon"]),
111182 MAX_SAFE_INTEGER: define$2("number/max-safe-integer", ["es.number.max-safe-integer"]),
111183 MIN_SAFE_INTEGER: define$2("number/min-safe-integer", ["es.number.min-safe-integer"]),
111184 fromString: define$2("number/from-string", ["esnext.number.from-string"]),
111185 isFinite: define$2("number/is-finite", ["es.number.is-finite"]),
111186 isInteger: define$2("number/is-integer", ["es.number.is-integer"]),
111187 isNaN: define$2("number/is-nan", ["es.number.is-nan"]),
111188 isSafeInteger: define$2("number/is-safe-integer", ["es.number.is-safe-integer"]),
111189 parseFloat: define$2("number/parse-float", ["es.number.parse-float"]),
111190 parseInt: define$2("number/parse-int", ["es.number.parse-int"])
111191 },
111192 Object: {
111193 assign: define$2("object/assign", ["es.object.assign"]),
111194 create: define$2("object/create", ["es.object.create"]),
111195 defineProperties: define$2("object/define-properties", ["es.object.define-properties"]),
111196 defineProperty: define$2("object/define-property", ["es.object.define-property"]),
111197 entries: define$2("object/entries", ["es.object.entries"]),
111198 freeze: define$2("object/freeze", ["es.object.freeze"]),
111199 fromEntries: define$2("object/from-entries", ["es.object.from-entries", "es.array.iterator"]),
111200 getOwnPropertyDescriptor: define$2("object/get-own-property-descriptor", ["es.object.get-own-property-descriptor"]),
111201 getOwnPropertyDescriptors: define$2("object/get-own-property-descriptors", ["es.object.get-own-property-descriptors"]),
111202 getOwnPropertyNames: define$2("object/get-own-property-names", ["es.object.get-own-property-names"]),
111203 getOwnPropertySymbols: define$2("object/get-own-property-symbols", ["es.symbol"]),
111204 getPrototypeOf: define$2("object/get-prototype-of", ["es.object.get-prototype-of"]),
111205 is: define$2("object/is", ["es.object.is"]),
111206 isExtensible: define$2("object/is-extensible", ["es.object.is-extensible"]),
111207 isFrozen: define$2("object/is-frozen", ["es.object.is-frozen"]),
111208 isSealed: define$2("object/is-sealed", ["es.object.is-sealed"]),
111209 keys: define$2("object/keys", ["es.object.keys"]),
111210 preventExtensions: define$2("object/prevent-extensions", ["es.object.prevent-extensions"]),
111211 seal: define$2("object/seal", ["es.object.seal"]),
111212 setPrototypeOf: define$2("object/set-prototype-of", ["es.object.set-prototype-of"]),
111213 values: define$2("object/values", ["es.object.values"])
111214 },
111215 Promise: {
111216 all: define$2(null, PromiseDependenciesWithIterators$1),
111217 allSettled: define$2(null, ["es.promise.all-settled"].concat(_toConsumableArray(PromiseDependenciesWithIterators$1))),
111218 any: define$2(null, ["esnext.promise.any"].concat(_toConsumableArray(PromiseDependenciesWithIterators$1))),
111219 race: define$2(null, PromiseDependenciesWithIterators$1),
111220 "try": define$2(null, ["esnext.promise.try"].concat(_toConsumableArray(PromiseDependenciesWithIterators$1)))
111221 },
111222 Reflect: {
111223 apply: define$2("reflect/apply", ["es.reflect.apply"]),
111224 construct: define$2("reflect/construct", ["es.reflect.construct"]),
111225 defineMetadata: define$2("reflect/define-metadata", ["esnext.reflect.define-metadata"]),
111226 defineProperty: define$2("reflect/define-property", ["es.reflect.define-property"]),
111227 deleteMetadata: define$2("reflect/delete-metadata", ["esnext.reflect.delete-metadata"]),
111228 deleteProperty: define$2("reflect/delete-property", ["es.reflect.delete-property"]),
111229 get: define$2("reflect/get", ["es.reflect.get"]),
111230 getMetadata: define$2("reflect/get-metadata", ["esnext.reflect.get-metadata"]),
111231 getMetadataKeys: define$2("reflect/get-metadata-keys", ["esnext.reflect.get-metadata-keys"]),
111232 getOwnMetadata: define$2("reflect/get-own-metadata", ["esnext.reflect.get-own-metadata"]),
111233 getOwnMetadataKeys: define$2("reflect/get-own-metadata-keys", ["esnext.reflect.get-own-metadata-keys"]),
111234 getOwnPropertyDescriptor: define$2("reflect/get-own-property-descriptor", ["es.reflect.get-own-property-descriptor"]),
111235 getPrototypeOf: define$2("reflect/get-prototype-of", ["es.reflect.get-prototype-of"]),
111236 has: define$2("reflect/has", ["es.reflect.has"]),
111237 hasMetadata: define$2("reflect/has-metadata", ["esnext.reflect.has-metadata"]),
111238 hasOwnMetadata: define$2("reflect/has-own-metadata", ["esnext.reflect.has-own-metadata"]),
111239 isExtensible: define$2("reflect/is-extensible", ["es.reflect.is-extensible"]),
111240 metadata: define$2("reflect/metadata", ["esnext.reflect.metadata"]),
111241 ownKeys: define$2("reflect/own-keys", ["es.reflect.own-keys"]),
111242 preventExtensions: define$2("reflect/prevent-extensions", ["es.reflect.prevent-extensions"]),
111243 set: define$2("reflect/set", ["es.reflect.set"]),
111244 setPrototypeOf: define$2("reflect/set-prototype-of", ["es.reflect.set-prototype-of"])
111245 },
111246 Set: {
111247 from: define$2(null, ["esnext.set.from"].concat(_toConsumableArray(SetDependencies$1))),
111248 of: define$2(null, ["esnext.set.of"].concat(_toConsumableArray(SetDependencies$1)))
111249 },
111250 String: {
111251 fromCodePoint: define$2("string/from-code-point", ["es.string.from-code-point"]),
111252 raw: define$2("string/raw", ["es.string.raw"])
111253 },
111254 Symbol: {
111255 asyncIterator: define$2("symbol/async-iterator", ["es.symbol.async-iterator"]),
111256 dispose: define$2("symbol/dispose", ["esnext.symbol.dispose"]),
111257 "for": define$2("symbol/for", [], "es.symbol"),
111258 hasInstance: define$2("symbol/has-instance", ["es.symbol.has-instance", "es.function.has-instance"]),
111259 isConcatSpreadable: define$2("symbol/is-concat-spreadable", ["es.symbol.is-concat-spreadable", "es.array.concat"]),
111260 iterator: define$2("symbol/iterator", ["es.symbol.iterator"].concat(_toConsumableArray(CommonIteratorsWithTag$1))),
111261 keyFor: define$2("symbol/key-for", [], "es.symbol"),
111262 match: define$2("symbol/match", ["es.symbol.match", "es.string.match"]),
111263 observable: define$2("symbol/observable", ["esnext.symbol.observable"]),
111264 patternMatch: define$2("symbol/pattern-match", ["esnext.symbol.pattern-match"]),
111265 replace: define$2("symbol/replace", ["es.symbol.replace", "es.string.replace"]),
111266 search: define$2("symbol/search", ["es.symbol.search", "es.string.search"]),
111267 species: define$2("symbol/species", ["es.symbol.species", "es.array.species"]),
111268 split: define$2("symbol/split", ["es.symbol.split", "es.string.split"]),
111269 toPrimitive: define$2("symbol/to-primitive", ["es.symbol.to-primitive", "es.date.to-primitive"]),
111270 toStringTag: define$2("symbol/to-string-tag", ["es.symbol.to-string-tag", "es.object.to-string", "es.math.to-string-tag", "es.json.to-string-tag"]),
111271 unscopables: define$2("symbol/unscopables", ["es.symbol.unscopables"])
111272 },
111273 WeakMap: {
111274 from: define$2(null, ["esnext.weak-map.from"].concat(_toConsumableArray(WeakMapDependencies$1))),
111275 of: define$2(null, ["esnext.weak-map.of"].concat(_toConsumableArray(WeakMapDependencies$1)))
111276 },
111277 WeakSet: {
111278 from: define$2(null, ["esnext.weak-set.from"].concat(_toConsumableArray(WeakSetDependencies$1))),
111279 of: define$2(null, ["esnext.weak-set.of"].concat(_toConsumableArray(WeakSetDependencies$1)))
111280 },
111281 Int8Array: TypedArrayStaticMethods$1,
111282 Uint8Array: TypedArrayStaticMethods$1,
111283 Uint8ClampedArray: TypedArrayStaticMethods$1,
111284 Int16Array: TypedArrayStaticMethods$1,
111285 Uint16Array: TypedArrayStaticMethods$1,
111286 Int32Array: TypedArrayStaticMethods$1,
111287 Uint32Array: TypedArrayStaticMethods$1,
111288 Float32Array: TypedArrayStaticMethods$1,
111289 Float64Array: TypedArrayStaticMethods$1
111290 };
111291 var InstanceProperties$2 = {
111292 at: define$2("instance/at", ["esnext.string.at"]),
111293 anchor: define$2(null, ["es.string.anchor"]),
111294 big: define$2(null, ["es.string.big"]),
111295 bind: define$2("instance/bind", ["es.function.bind"]),
111296 blink: define$2(null, ["es.string.blink"]),
111297 bold: define$2(null, ["es.string.bold"]),
111298 codePointAt: define$2("instance/code-point-at", ["es.string.code-point-at"]),
111299 codePoints: define$2("instance/code-points", ["esnext.string.code-points"]),
111300 concat: define$2("instance/concat", ["es.array.concat"], undefined, ["String"]),
111301 copyWithin: define$2("instance/copy-within", ["es.array.copy-within"]),
111302 description: define$2(null, ["es.symbol", "es.symbol.description"]),
111303 endsWith: define$2("instance/ends-with", ["es.string.ends-with"]),
111304 entries: define$2("instance/entries", ArrayNatureIteratorsWithTag$1),
111305 every: define$2("instance/every", ["es.array.every"]),
111306 exec: define$2(null, ["es.regexp.exec"]),
111307 fill: define$2("instance/fill", ["es.array.fill"]),
111308 filter: define$2("instance/filter", ["es.array.filter"]),
111309 "finally": define$2(null, ["es.promise.finally"].concat(PromiseDependencies$2)),
111310 find: define$2("instance/find", ["es.array.find"]),
111311 findIndex: define$2("instance/find-index", ["es.array.find-index"]),
111312 fixed: define$2(null, ["es.string.fixed"]),
111313 flags: define$2("instance/flags", ["es.regexp.flags"]),
111314 flatMap: define$2("instance/flat-map", ["es.array.flat-map", "es.array.unscopables.flat-map"]),
111315 flat: define$2("instance/flat", ["es.array.flat"]),
111316 fontcolor: define$2(null, ["es.string.fontcolor"]),
111317 fontsize: define$2(null, ["es.string.fontsize"]),
111318 forEach: define$2("instance/for-each", ["es.array.for-each", "web.dom-collections.for-each"]),
111319 includes: define$2("instance/includes", ["es.array.includes", "es.string.includes"]),
111320 indexOf: define$2("instance/index-of", ["es.array.index-of"]),
111321 italic: define$2(null, ["es.string.italics"]),
111322 join: define$2(null, ["es.array.join"]),
111323 keys: define$2("instance/keys", ArrayNatureIteratorsWithTag$1),
111324 lastIndex: define$2(null, ["esnext.array.last-index"]),
111325 lastIndexOf: define$2("instance/last-index-of", ["es.array.last-index-of"]),
111326 lastItem: define$2(null, ["esnext.array.last-item"]),
111327 link: define$2(null, ["es.string.link"]),
111328 map: define$2("instance/map", ["es.array.map"]),
111329 match: define$2(null, ["es.string.match", "es.regexp.exec"]),
111330 matchAll: define$2("instance/match-all", ["es.string.match-all"]),
111331 name: define$2(null, ["es.function.name"]),
111332 padEnd: define$2("instance/pad-end", ["es.string.pad-end"]),
111333 padStart: define$2("instance/pad-start", ["es.string.pad-start"]),
111334 reduce: define$2("instance/reduce", ["es.array.reduce"]),
111335 reduceRight: define$2("instance/reduce-right", ["es.array.reduce-right"]),
111336 repeat: define$2("instance/repeat", ["es.string.repeat"]),
111337 replace: define$2(null, ["es.string.replace", "es.regexp.exec"]),
111338 replaceAll: define$2("instance/replace-all", ["esnext.string.replace-all"]),
111339 reverse: define$2("instance/reverse", ["es.array.reverse"]),
111340 search: define$2(null, ["es.string.search", "es.regexp.exec"]),
111341 slice: define$2("instance/slice", ["es.array.slice"]),
111342 small: define$2(null, ["es.string.small"]),
111343 some: define$2("instance/some", ["es.array.some"]),
111344 sort: define$2("instance/sort", ["es.array.sort"]),
111345 splice: define$2("instance/splice", ["es.array.splice"]),
111346 split: define$2(null, ["es.string.split", "es.regexp.exec"]),
111347 startsWith: define$2("instance/starts-with", ["es.string.starts-with"]),
111348 strike: define$2(null, ["es.string.strike"]),
111349 sub: define$2(null, ["es.string.sub"]),
111350 sup: define$2(null, ["es.string.sup"]),
111351 toFixed: define$2(null, ["es.number.to-fixed"]),
111352 toISOString: define$2(null, ["es.date.to-iso-string"]),
111353 toJSON: define$2(null, ["es.date.to-json", "web.url.to-json"]),
111354 toPrecision: define$2(null, ["es.number.to-precision"]),
111355 toString: define$2(null, ["es.object.to-string", "es.regexp.to-string", "es.date.to-string"]),
111356 trim: define$2("instance/trim", ["es.string.trim"]),
111357 trimEnd: define$2("instance/trim-end", ["es.string.trim-end"]),
111358 trimLeft: define$2("instance/trim-left", ["es.string.trim-start"]),
111359 trimRight: define$2("instance/trim-right", ["es.string.trim-end"]),
111360 trimStart: define$2("instance/trim-start", ["es.string.trim-start"]),
111361 values: define$2("instance/values", ArrayNatureIteratorsWithTag$1),
111362 __defineGetter__: define$2(null, ["es.object.define-getter"]),
111363 __defineSetter__: define$2(null, ["es.object.define-setter"]),
111364 __lookupGetter__: define$2(null, ["es.object.lookup-getter"]),
111365 __lookupSetter__: define$2(null, ["es.object.lookup-setter"])
111366 };
111367 var CommonInstanceDependencies$1 = new Set(["es.object.to-string", "es.object.define-getter", "es.object.define-setter", "es.object.lookup-getter", "es.object.lookup-setter", "es.regexp.exec"]);
111368
111369 var _ref$3 = undefined || babel,
111370 t$1$2 = _ref$3.types;
111371
111372 function callMethod$1(path, id) {
111373 var object = path.node.object;
111374 var context1, context2;
111375
111376 if (t$1$2.isIdentifier(object)) {
111377 context1 = object;
111378 context2 = t$1$2.cloneNode(object);
111379 } else {
111380 context1 = path.scope.generateDeclaredUidIdentifier("context");
111381 context2 = t$1$2.assignmentExpression("=", t$1$2.cloneNode(context1), object);
111382 }
111383
111384 path.replaceWith(t$1$2.memberExpression(t$1$2.callExpression(id, [context2]), t$1$2.identifier("call")));
111385 path.parentPath.unshiftContainer("arguments", context1);
111386 }
111387
111388 function isCoreJSSource$1(source) {
111389 if (typeof source === "string") {
111390 source = source.replace(/\\/g, "/").replace(/(\/(index)?)?(\.js)?$/i, "").toLowerCase();
111391 }
111392
111393 return hasOwnProperty.call(entries$1, source) && entries$1[source];
111394 }
111395
111396 function coreJSModule$1(name) {
111397 return "core-js/modules/" + name + ".js";
111398 }
111399
111400 function coreJSPureHelper$1(name, useBabelRuntime, ext) {
111401 return useBabelRuntime ? useBabelRuntime + "/core-js/" + name + ext : "core-js-pure/features/" + name + ".js";
111402 }
111403
111404 var _ref2$1 = undefined || babel,
111405 t$4 = _ref2$1.types;
111406
111407 var runtimeCompat$4 = "#__secret_key__@babel/runtime__compatibility";
111408
111409 var esnextFallback$1 = function esnextFallback(name, cb) {
111410 if (cb(name)) return true;
111411 if (!name.startsWith("es.")) return false;
111412 var fallback = "esnext." + name.slice(3);
111413 if (!data$1[fallback]) return false;
111414 return cb(fallback);
111415 };
111416
111417 var index$4 = definePolyfillProvider$1(function (_ref3, _ref4) {
111418 var getUtils = _ref3.getUtils,
111419 method = _ref3.method,
111420 shouldInjectPolyfill = _ref3.shouldInjectPolyfill,
111421 createMetaResolver = _ref3.createMetaResolver,
111422 debug = _ref3.debug,
111423 babel = _ref3.babel;
111424 var _ref4$version = _ref4.version,
111425 version = _ref4$version === void 0 ? 3 : _ref4$version,
111426 proposals = _ref4.proposals,
111427 shippedProposals = _ref4.shippedProposals,
111428 _ref4$runtimeCompat = _ref4[runtimeCompat$4];
111429 _ref4$runtimeCompat = _ref4$runtimeCompat === void 0 ? {} : _ref4$runtimeCompat;
111430 var useBabelRuntime = _ref4$runtimeCompat.useBabelRuntime,
111431 _ref4$runtimeCompat$e = _ref4$runtimeCompat.ext,
111432 ext = _ref4$runtimeCompat$e === void 0 ? ".js" : _ref4$runtimeCompat$e;
111433 var isWebpack = babel.caller(function (caller) {
111434 return (caller == null ? void 0 : caller.name) === "babel-loader";
111435 });
111436 var resolve = createMetaResolver({
111437 global: BuiltIns$2,
111438 "static": StaticProperties$2,
111439 instance: InstanceProperties$2
111440 });
111441 var available = new Set(getModulesListForTargetVersion$1(version));
111442 var coreJSPureBase = useBabelRuntime ? proposals ? useBabelRuntime + "/core-js" : useBabelRuntime + "/core-js-stable" : proposals ? "core-js-pure/features" : "core-js-pure/stable";
111443
111444 function maybeInjectGlobalImpl(name, utils) {
111445 if (shouldInjectPolyfill(name)) {
111446 debug(name);
111447 utils.injectGlobalImport(coreJSModule$1(name));
111448 return true;
111449 }
111450
111451 return false;
111452 }
111453
111454 function maybeInjectGlobal(names, utils, fallback) {
111455 if (fallback === void 0) {
111456 fallback = true;
111457 }
111458
111459 for (var _iterator = _createForOfIteratorHelperLoose(names), _step; !(_step = _iterator()).done;) {
111460 var name = _step.value;
111461
111462 if (fallback) {
111463 esnextFallback$1(name, function (name) {
111464 return maybeInjectGlobalImpl(name, utils);
111465 });
111466 } else {
111467 maybeInjectGlobalImpl(name, utils);
111468 }
111469 }
111470 }
111471
111472 function maybeInjectPure(desc, hint, utils, object) {
111473 if (desc.pure && !(object && desc.exclude && desc.exclude.includes(object)) && esnextFallback$1(desc.name, shouldInjectPolyfill)) {
111474 return utils.injectDefaultImport(coreJSPureBase + "/" + desc.pure + ext, hint);
111475 }
111476 }
111477
111478 return {
111479 name: "corejs3",
111480 polyfills: data$1,
111481 filterPolyfills: function filterPolyfills(name) {
111482 if (!available.has(name)) return false;
111483 if (proposals || method === "entry-global") return true;
111484
111485 if (shippedProposals && corejs3ShippedProposalsList$1.has(name)) {
111486 return true;
111487 }
111488
111489 return !name.startsWith("esnext.");
111490 },
111491 entryGlobal: function entryGlobal(meta, utils, path) {
111492 if (meta.kind !== "import") return;
111493 var modules = isCoreJSSource$1(meta.source);
111494 if (!modules) return;
111495
111496 if (modules.length === 1 && meta.source === coreJSModule$1(modules[0]) && shouldInjectPolyfill(modules[0])) {
111497 debug(null);
111498 return;
111499 }
111500
111501 maybeInjectGlobal(modules, utils, false);
111502 path.remove();
111503 },
111504 usageGlobal: function usageGlobal(meta, utils) {
111505 var resolved = resolve(meta);
111506 if (!resolved) return;
111507 var deps = resolved.desc.global;
111508
111509 if (resolved.kind !== "global" && meta.object && meta.placement === "prototype") {
111510 var low = meta.object.toLowerCase();
111511 deps = deps.filter(function (m) {
111512 return m.includes(low) || CommonInstanceDependencies$1.has(m);
111513 });
111514 }
111515
111516 maybeInjectGlobal(deps, utils);
111517 },
111518 usagePure: function usagePure(meta, utils, path) {
111519 if (meta.kind === "in") {
111520 if (meta.key === "Symbol.iterator") {
111521 path.replaceWith(t$4.callExpression(utils.injectDefaultImport(coreJSPureHelper$1("is-iterable", useBabelRuntime, ext), "isIterable"), [path.node.right]));
111522 }
111523
111524 return;
111525 }
111526
111527 if (path.parentPath.isUnaryExpression({
111528 operator: "delete"
111529 })) return;
111530 var isCall;
111531
111532 if (meta.kind === "property") {
111533 if (!path.isMemberExpression()) return;
111534 if (!path.isReferenced()) return;
111535 isCall = path.parentPath.isCallExpression({
111536 callee: path.node
111537 });
111538
111539 if (meta.key === "Symbol.iterator") {
111540 if (!shouldInjectPolyfill("es.symbol.iterator")) return;
111541
111542 if (isCall) {
111543 if (path.parent.arguments.length === 0) {
111544 path.parentPath.replaceWith(t$4.callExpression(utils.injectDefaultImport(coreJSPureHelper$1("get-iterator", useBabelRuntime, ext), "getIterator"), [path.node.object]));
111545 path.skip();
111546 } else {
111547 callMethod$1(path, utils.injectDefaultImport(coreJSPureHelper$1("get-iterator-method", useBabelRuntime, ext), "getIteratorMethod"));
111548 }
111549 } else {
111550 path.replaceWith(t$4.callExpression(utils.injectDefaultImport(coreJSPureHelper$1("get-iterator-method", useBabelRuntime, ext), "getIteratorMethod"), [path.node.object]));
111551 }
111552
111553 return;
111554 }
111555 }
111556
111557 var resolved = resolve(meta);
111558 if (!resolved) return;
111559
111560 if (useBabelRuntime && resolved.desc.pure && resolved.desc.pure.slice(-6) === "/index") {
111561 resolved = Object.assign(Object.assign({}, resolved), {}, {
111562 desc: Object.assign(Object.assign({}, resolved.desc), {}, {
111563 pure: resolved.desc.pure.slice(0, -6)
111564 })
111565 });
111566 }
111567
111568 if (resolved.kind === "global") {
111569 var id = maybeInjectPure(resolved.desc, resolved.name, utils);
111570 if (id) path.replaceWith(id);
111571 } else if (resolved.kind === "static") {
111572 var _id = maybeInjectPure(resolved.desc, resolved.name, utils, meta.object);
111573
111574 if (_id) path.replaceWith(_id);
111575 } else if (resolved.kind === "instance") {
111576 var _id2 = maybeInjectPure(resolved.desc, resolved.name + "InstanceProperty", utils, meta.object);
111577
111578 if (!_id2) return;
111579
111580 if (isCall) {
111581 callMethod$1(path, _id2);
111582 } else {
111583 path.replaceWith(t$4.callExpression(_id2, [path.node.object]));
111584 }
111585 }
111586 },
111587 visitor: method === "usage-global" && {
111588 CallExpression: function CallExpression(path) {
111589 if (path.get("callee").isImport()) {
111590 var utils = getUtils(path);
111591
111592 if (isWebpack) {
111593 maybeInjectGlobal(PromiseDependenciesWithIterators$1, utils);
111594 } else {
111595 maybeInjectGlobal(PromiseDependencies$2, utils);
111596 }
111597 }
111598 },
111599 Function: function Function(path) {
111600 if (path.node.async) {
111601 maybeInjectGlobal(PromiseDependencies$2, getUtils(path));
111602 }
111603 },
111604 "ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern(path) {
111605 maybeInjectGlobal(CommonIterators$2, getUtils(path));
111606 },
111607 SpreadElement: function SpreadElement(path) {
111608 if (!path.parentPath.isObjectExpression()) {
111609 maybeInjectGlobal(CommonIterators$2, getUtils(path));
111610 }
111611 },
111612 YieldExpression: function YieldExpression(path) {
111613 if (path.node.delegate) {
111614 maybeInjectGlobal(CommonIterators$2, getUtils(path));
111615 }
111616 }
111617 }
111618 };
111619 });
111620
111621 var runtimeCompat$3 = "#__secret_key__@babel/runtime__compatibility";
111622 var index$3 = definePolyfillProvider$1(function (_ref, options) {
111623 var debug = _ref.debug;
111624 var _options$runtimeCompa = options[runtimeCompat$3];
111625 _options$runtimeCompa = _options$runtimeCompa === void 0 ? {} : _options$runtimeCompa;
111626 var useBabelRuntime = _options$runtimeCompa.useBabelRuntime;
111627 var pureName = useBabelRuntime ? useBabelRuntime + "/regenerator" : "regenerator-runtime";
111628 return {
111629 name: "regenerator",
111630 polyfills: ["regenerator-runtime"],
111631 usageGlobal: function usageGlobal(meta, utils) {
111632 if (isRegenerator$1(meta)) {
111633 debug("regenerator-runtime");
111634 utils.injectGlobalImport("regenerator-runtime/runtime.js");
111635 }
111636 },
111637 usagePure: function usagePure(meta, utils, path) {
111638 if (isRegenerator$1(meta)) {
111639 path.replaceWith(utils.injectDefaultImport(pureName, "regenerator-runtime"));
111640 }
111641 }
111642 };
111643 });
111644
111645 var isRegenerator$1 = function isRegenerator(meta) {
111646 return meta.kind === "global" && meta.name === "regeneratorRuntime";
111647 };
111648
111649 var pluginCorejs2 = index$5["default"] || index$5;
111650 var pluginCorejs3 = index$4["default"] || index$4;
111651 var pluginRegenerator$1 = index$3["default"] || index$3;
111652 var pluginsCompat = "#__secret_key__@babel/runtime__compatibility";
111653
111654 function supportsStaticESM$1(caller) {
111655 return !!(caller != null && caller.supportsStaticESM);
111656 }
111657
111658 var transformRuntime = declare(function (api, options, dirname) {
111659 var _createCorejsPlgin, _createRegeneratorPlu, _createCorejsPlgin2, _createRegeneratorPlu2, _createRegeneratorPlu3;
111660
111661 api.assertVersion(7);
111662 var corejs = options.corejs,
111663 _options$helpers = options.helpers,
111664 useRuntimeHelpers = _options$helpers === void 0 ? true : _options$helpers,
111665 _options$regenerator = options.regenerator,
111666 useRuntimeRegenerator = _options$regenerator === void 0 ? true : _options$regenerator,
111667 _options$useESModules = options.useESModules,
111668 useESModules = _options$useESModules === void 0 ? false : _options$useESModules,
111669 _options$version = options.version,
111670 runtimeVersion = _options$version === void 0 ? "7.0.0-beta.0" : _options$version,
111671 _options$absoluteRunt = options.absoluteRuntime,
111672 absoluteRuntime = _options$absoluteRunt === void 0 ? false : _options$absoluteRunt;
111673 var proposals = false;
111674 var rawVersion;
111675
111676 if (typeof corejs === "object" && corejs !== null) {
111677 rawVersion = corejs.version;
111678 proposals = Boolean(corejs.proposals);
111679 } else {
111680 rawVersion = corejs;
111681 }
111682
111683 var corejsVersion = rawVersion ? Number(rawVersion) : false;
111684
111685 if (![false, 2, 3].includes(corejsVersion)) {
111686 throw new Error("The `core-js` version must be false, 2 or 3, but got " + JSON.stringify(rawVersion) + ".");
111687 }
111688
111689 if (proposals && (!corejsVersion || corejsVersion < 3)) {
111690 throw new Error("The 'proposals' option is only supported when using 'corejs: 3'");
111691 }
111692
111693 if (typeof useRuntimeRegenerator !== "boolean") {
111694 throw new Error("The 'regenerator' option must be undefined, or a boolean.");
111695 }
111696
111697 if (typeof useRuntimeHelpers !== "boolean") {
111698 throw new Error("The 'helpers' option must be undefined, or a boolean.");
111699 }
111700
111701 if (typeof useESModules !== "boolean" && useESModules !== "auto") {
111702 throw new Error("The 'useESModules' option must be undefined, or a boolean, or 'auto'.");
111703 }
111704
111705 if (typeof absoluteRuntime !== "boolean" && typeof absoluteRuntime !== "string") {
111706 throw new Error("The 'absoluteRuntime' option must be undefined, a boolean, or a string.");
111707 }
111708
111709 if (typeof runtimeVersion !== "string") {
111710 throw new Error("The 'version' option must be a version string.");
111711 }
111712
111713 var DUAL_MODE_RUNTIME = "7.13.0";
111714 var supportsCJSDefault = hasMinVersion$2(DUAL_MODE_RUNTIME, runtimeVersion);
111715
111716 function has(obj, key) {
111717 return Object.prototype.hasOwnProperty.call(obj, key);
111718 }
111719
111720 if (has(options, "useBuiltIns")) {
111721 if (options.useBuiltIns) {
111722 throw new Error("The 'useBuiltIns' option has been removed. The @babel/runtime " + "module now uses builtins by default.");
111723 } else {
111724 throw new Error("The 'useBuiltIns' option has been removed. Use the 'corejs'" + "option to polyfill with `core-js` via @babel/runtime.");
111725 }
111726 }
111727
111728 if (has(options, "polyfill")) {
111729 if (options.polyfill === false) {
111730 throw new Error("The 'polyfill' option has been removed. The @babel/runtime " + "module now skips polyfilling by default.");
111731 } else {
111732 throw new Error("The 'polyfill' option has been removed. Use the 'corejs'" + "option to polyfill with `core-js` via @babel/runtime.");
111733 }
111734 }
111735
111736 if (has(options, "moduleName")) {
111737 throw new Error("The 'moduleName' option has been removed. @babel/transform-runtime " + "no longer supports arbitrary runtimes. If you were using this to " + "set an absolute path for Babel's standard runtimes, please use the " + "'absoluteRuntime' option.");
111738 }
111739
111740 var esModules = useESModules === "auto" ? api.caller(supportsStaticESM$1) : useESModules;
111741 var injectCoreJS2 = corejsVersion === 2;
111742 var injectCoreJS3 = corejsVersion === 3;
111743 var moduleName = injectCoreJS3 ? "@babel/runtime-corejs3" : injectCoreJS2 ? "@babel/runtime-corejs2" : "@babel/runtime";
111744 var HEADER_HELPERS = ["interopRequireWildcard", "interopRequireDefault"];
111745 var modulePath = getRuntimePath(moduleName, dirname, absoluteRuntime);
111746
111747 function createCorejsPlgin(plugin, options, regeneratorPlugin) {
111748 return function (api, _, filename) {
111749 return Object.assign({}, plugin(api, options, filename), {
111750 inherits: regeneratorPlugin
111751 });
111752 };
111753 }
111754
111755 function createRegeneratorPlugin(options) {
111756 if (!useRuntimeRegenerator) return undefined;
111757 return function (api, _, filename) {
111758 return pluginRegenerator$1(api, options, filename);
111759 };
111760 }
111761
111762 var corejsExt = absoluteRuntime ? ".js" : "";
111763 return {
111764 name: "transform-runtime",
111765 inherits: injectCoreJS2 ? createCorejsPlgin(pluginCorejs2, (_createCorejsPlgin = {
111766 method: "usage-pure"
111767 }, _createCorejsPlgin[pluginsCompat] = {
111768 runtimeVersion: runtimeVersion,
111769 useBabelRuntime: modulePath,
111770 ext: corejsExt
111771 }, _createCorejsPlgin), createRegeneratorPlugin((_createRegeneratorPlu = {
111772 method: "usage-pure"
111773 }, _createRegeneratorPlu[pluginsCompat] = {
111774 useBabelRuntime: modulePath
111775 }, _createRegeneratorPlu))) : injectCoreJS3 ? createCorejsPlgin(pluginCorejs3, (_createCorejsPlgin2 = {
111776 method: "usage-pure",
111777 version: 3,
111778 proposals: proposals
111779 }, _createCorejsPlgin2[pluginsCompat] = {
111780 useBabelRuntime: modulePath,
111781 ext: corejsExt
111782 }, _createCorejsPlgin2), createRegeneratorPlugin((_createRegeneratorPlu2 = {
111783 method: "usage-pure"
111784 }, _createRegeneratorPlu2[pluginsCompat] = {
111785 useBabelRuntime: modulePath
111786 }, _createRegeneratorPlu2))) : createRegeneratorPlugin((_createRegeneratorPlu3 = {
111787 method: "usage-pure"
111788 }, _createRegeneratorPlu3[pluginsCompat] = {
111789 useBabelRuntime: modulePath
111790 }, _createRegeneratorPlu3)),
111791 pre: function pre(file) {
111792 if (!useRuntimeHelpers) return;
111793 file.set("helperGenerator", function (name) {
111794 if (file.availableHelper && !file.availableHelper(name, runtimeVersion)) {
111795 return;
111796 }
111797
111798 var isInteropHelper = HEADER_HELPERS.indexOf(name) !== -1;
111799 var blockHoist = isInteropHelper && !isModule(file.path) ? 4 : undefined;
111800 var helpersDir = esModules && file.path.node.sourceType === "module" ? "helpers/esm" : "helpers";
111801 return addDefaultImport(modulePath + "/" + helpersDir + "/" + name, name, blockHoist, true);
111802 });
111803 var cache = new Map();
111804
111805 function addDefaultImport(source, nameHint, blockHoist, isHelper) {
111806 if (isHelper === void 0) {
111807 isHelper = false;
111808 }
111809
111810 var cacheKey = isModule(file.path);
111811 var key = source + ":" + nameHint + ":" + (cacheKey || "");
111812 var cached = cache.get(key);
111813
111814 if (cached) {
111815 cached = cloneNode(cached);
111816 } else {
111817 cached = addDefault(file.path, source, {
111818 importedInterop: isHelper && supportsCJSDefault ? "compiled" : "uncompiled",
111819 nameHint: nameHint,
111820 blockHoist: blockHoist
111821 });
111822 cache.set(key, cached);
111823 }
111824
111825 return cached;
111826 }
111827 }
111828 };
111829 });
111830
111831 var _transformShorthandProperties = declare(function (api) {
111832 api.assertVersion(7);
111833 return {
111834 name: "transform-shorthand-properties",
111835 visitor: {
111836 ObjectMethod: function ObjectMethod(path) {
111837 var node = path.node;
111838
111839 if (node.kind === "method") {
111840 var func = functionExpression(null, node.params, node.body, node.generator, node.async);
111841 func.returnType = node.returnType;
111842 var computedKey = toComputedKey$1(node);
111843
111844 if (isStringLiteral(computedKey, {
111845 value: "__proto__"
111846 })) {
111847 path.replaceWith(objectProperty(computedKey, func, true));
111848 } else {
111849 path.replaceWith(objectProperty(node.key, func, node.computed));
111850 }
111851 }
111852 },
111853 ObjectProperty: function ObjectProperty(path) {
111854 var node = path.node;
111855
111856 if (node.shorthand) {
111857 var computedKey = toComputedKey$1(node);
111858
111859 if (isStringLiteral(computedKey, {
111860 value: "__proto__"
111861 })) {
111862 path.replaceWith(objectProperty(computedKey, node.value, true));
111863 } else {
111864 node.shorthand = false;
111865 }
111866 }
111867 }
111868 }
111869 };
111870 });
111871
111872 var _transformSpread = declare(function (api, options) {
111873 var _api$assumption, _options$allowArrayLi;
111874
111875 api.assertVersion(7);
111876 var iterableIsArray = (_api$assumption = api.assumption("iterableIsArray")) != null ? _api$assumption : options.loose;
111877 var arrayLikeIsIterable = (_options$allowArrayLi = options.allowArrayLike) != null ? _options$allowArrayLi : api.assumption("arrayLikeIsIterable");
111878
111879 function getSpreadLiteral(spread, scope) {
111880 if (iterableIsArray && !isIdentifier(spread.argument, {
111881 name: "arguments"
111882 })) {
111883 return spread.argument;
111884 } else {
111885 return scope.toArray(spread.argument, true, arrayLikeIsIterable);
111886 }
111887 }
111888
111889 function hasHole(spread) {
111890 return spread.elements.some(function (el) {
111891 return el === null;
111892 });
111893 }
111894
111895 function hasSpread(nodes) {
111896 for (var i = 0; i < nodes.length; i++) {
111897 if (isSpreadElement(nodes[i])) {
111898 return true;
111899 }
111900 }
111901
111902 return false;
111903 }
111904
111905 function push(_props, nodes) {
111906 if (!_props.length) return _props;
111907 nodes.push(arrayExpression(_props));
111908 return [];
111909 }
111910
111911 function build(props, scope, file) {
111912 var nodes = [];
111913 var _props = [];
111914
111915 for (var _iterator = _createForOfIteratorHelperLoose(props), _step; !(_step = _iterator()).done;) {
111916 var prop = _step.value;
111917
111918 if (isSpreadElement(prop)) {
111919 _props = push(_props, nodes);
111920 var spreadLiteral = getSpreadLiteral(prop, scope);
111921
111922 if (isArrayExpression(spreadLiteral) && hasHole(spreadLiteral)) {
111923 spreadLiteral = callExpression(file.addHelper("arrayWithoutHoles"), [spreadLiteral]);
111924 }
111925
111926 nodes.push(spreadLiteral);
111927 } else {
111928 _props.push(prop);
111929 }
111930 }
111931
111932 push(_props, nodes);
111933 return nodes;
111934 }
111935
111936 return {
111937 name: "transform-spread",
111938 visitor: {
111939 ArrayExpression: function ArrayExpression(path) {
111940 var node = path.node,
111941 scope = path.scope;
111942 var elements = node.elements;
111943 if (!hasSpread(elements)) return;
111944 var nodes = build(elements, scope, this);
111945 var first = nodes[0];
111946
111947 if (nodes.length === 1 && first !== elements[0].argument) {
111948 path.replaceWith(first);
111949 return;
111950 }
111951
111952 if (!isArrayExpression(first)) {
111953 first = arrayExpression([]);
111954 } else {
111955 nodes.shift();
111956 }
111957
111958 path.replaceWith(callExpression(memberExpression(first, identifier("concat")), nodes));
111959 },
111960 CallExpression: function CallExpression(path) {
111961 var node = path.node,
111962 scope = path.scope;
111963 var args = node.arguments;
111964 if (!hasSpread(args)) return;
111965 var calleePath = skipTransparentExprWrappers(path.get("callee"));
111966
111967 if (calleePath.isSuper()) {
111968 throw path.buildCodeFrameError("It's not possible to compile spread arguments in `super()` without compiling classes.\n" + "Please add '@babel/plugin-transform-classes' to your Babel configuration.");
111969 }
111970
111971 var contextLiteral = scope.buildUndefinedNode();
111972 node.arguments = [];
111973 var nodes;
111974
111975 if (args.length === 1 && args[0].argument.name === "arguments") {
111976 nodes = [args[0].argument];
111977 } else {
111978 nodes = build(args, scope, this);
111979 }
111980
111981 var first = nodes.shift();
111982
111983 if (nodes.length) {
111984 node.arguments.push(callExpression(memberExpression(first, identifier("concat")), nodes));
111985 } else {
111986 node.arguments.push(first);
111987 }
111988
111989 var callee = calleePath.node;
111990
111991 if (calleePath.isMemberExpression()) {
111992 var temp = scope.maybeGenerateMemoised(callee.object);
111993
111994 if (temp) {
111995 callee.object = assignmentExpression("=", temp, callee.object);
111996 contextLiteral = temp;
111997 } else {
111998 contextLiteral = cloneNode(callee.object);
111999 }
112000 }
112001
112002 node.callee = memberExpression(node.callee, identifier("apply"));
112003
112004 if (isSuper(contextLiteral)) {
112005 contextLiteral = thisExpression();
112006 }
112007
112008 node.arguments.unshift(cloneNode(contextLiteral));
112009 },
112010 NewExpression: function NewExpression(path) {
112011 var node = path.node,
112012 scope = path.scope;
112013 var args = node.arguments;
112014 if (!hasSpread(args)) return;
112015 var nodes = build(args, scope, this);
112016 var first = nodes.shift();
112017
112018 if (nodes.length) {
112019 args = callExpression(memberExpression(first, identifier("concat")), nodes);
112020 } else {
112021 args = first;
112022 }
112023
112024 path.replaceWith(callExpression(path.hub.addHelper("construct"), [node.callee, args]));
112025 }
112026 }
112027 };
112028 });
112029
112030 var _transformStickyRegex = declare(function (api) {
112031 api.assertVersion(7);
112032 return {
112033 name: "transform-sticky-regex",
112034 visitor: {
112035 RegExpLiteral: function RegExpLiteral(path) {
112036 var node = path.node;
112037 if (!node.flags.includes("y")) return;
112038 path.replaceWith(newExpression(identifier("RegExp"), [stringLiteral(node.pattern), stringLiteral(node.flags)]));
112039 }
112040 }
112041 };
112042 });
112043
112044 var transformStrictMode = declare(function (api) {
112045 api.assertVersion(7);
112046 return {
112047 name: "transform-strict-mode",
112048 visitor: {
112049 Program: function Program(path) {
112050 var node = path.node;
112051
112052 for (var _i = 0, _arr = node.directives; _i < _arr.length; _i++) {
112053 var directive$1 = _arr[_i];
112054 if (directive$1.value.value === "use strict") return;
112055 }
112056
112057 path.unshiftContainer("directives", directive(directiveLiteral("use strict")));
112058 }
112059 }
112060 };
112061 });
112062
112063 var _templateObject$4;
112064 var _transformTemplateLiterals = declare(function (api, options) {
112065 var _api$assumption, _api$assumption2;
112066
112067 api.assertVersion(7);
112068 var ignoreToPrimitiveHint = (_api$assumption = api.assumption("ignoreToPrimitiveHint")) != null ? _api$assumption : options.loose;
112069 var mutableTemplateObject = (_api$assumption2 = api.assumption("mutableTemplateObject")) != null ? _api$assumption2 : options.loose;
112070 var helperName = "taggedTemplateLiteral";
112071 if (mutableTemplateObject) helperName += "Loose";
112072
112073 function buildConcatCallExpressions(items) {
112074 var avail = true;
112075 return items.reduce(function (left, right) {
112076 var canBeInserted = isLiteral(right);
112077
112078 if (!canBeInserted && avail) {
112079 canBeInserted = true;
112080 avail = false;
112081 }
112082
112083 if (canBeInserted && isCallExpression(left)) {
112084 left.arguments.push(right);
112085 return left;
112086 }
112087
112088 return callExpression(memberExpression(left, identifier("concat")), [right]);
112089 });
112090 }
112091
112092 return {
112093 name: "transform-template-literals",
112094 visitor: {
112095 TaggedTemplateExpression: function TaggedTemplateExpression(path) {
112096 var node = path.node;
112097 var quasi = node.quasi;
112098 var strings = [];
112099 var raws = [];
112100 var isStringsRawEqual = true;
112101
112102 for (var _i = 0, _arr = quasi.quasis; _i < _arr.length; _i++) {
112103 var elem = _arr[_i];
112104 var _elem$value = elem.value,
112105 raw = _elem$value.raw,
112106 cooked = _elem$value.cooked;
112107 var value = cooked == null ? path.scope.buildUndefinedNode() : stringLiteral(cooked);
112108 strings.push(value);
112109 raws.push(stringLiteral(raw));
112110
112111 if (raw !== cooked) {
112112 isStringsRawEqual = false;
112113 }
112114 }
112115
112116 var helperArgs = [arrayExpression(strings)];
112117
112118 if (!isStringsRawEqual) {
112119 helperArgs.push(arrayExpression(raws));
112120 }
112121
112122 var tmp = path.scope.generateUidIdentifier("templateObject");
112123 path.scope.getProgramParent().push({
112124 id: cloneNode(tmp)
112125 });
112126 path.replaceWith(callExpression(node.tag, [template$2.expression.ast(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteralLoose(["\n ", " || (\n ", " = ", "(", ")\n )\n "])), cloneNode(tmp), tmp, this.addHelper(helperName), helperArgs)].concat(_toConsumableArray(quasi.expressions))));
112127 },
112128 TemplateLiteral: function TemplateLiteral(path) {
112129 var nodes = [];
112130 var expressions = path.get("expressions");
112131 var index = 0;
112132
112133 for (var _i2 = 0, _arr2 = path.node.quasis; _i2 < _arr2.length; _i2++) {
112134 var elem = _arr2[_i2];
112135
112136 if (elem.value.cooked) {
112137 nodes.push(stringLiteral(elem.value.cooked));
112138 }
112139
112140 if (index < expressions.length) {
112141 var expr = expressions[index++];
112142 var node = expr.node;
112143
112144 if (!isStringLiteral(node, {
112145 value: ""
112146 })) {
112147 nodes.push(node);
112148 }
112149 }
112150 }
112151
112152 if (!isStringLiteral(nodes[0]) && !(ignoreToPrimitiveHint && isStringLiteral(nodes[1]))) {
112153 nodes.unshift(stringLiteral(""));
112154 }
112155
112156 var root = nodes[0];
112157
112158 if (ignoreToPrimitiveHint) {
112159 for (var i = 1; i < nodes.length; i++) {
112160 root = binaryExpression("+", root, nodes[i]);
112161 }
112162 } else if (nodes.length > 1) {
112163 root = buildConcatCallExpressions(nodes);
112164 }
112165
112166 path.replaceWith(root);
112167 }
112168 }
112169 };
112170 });
112171
112172 var _transformTypeofSymbol = declare(function (api) {
112173 api.assertVersion(7);
112174 return {
112175 name: "transform-typeof-symbol",
112176 visitor: {
112177 Scope: function Scope(_ref) {
112178 var scope = _ref.scope;
112179
112180 if (!scope.getBinding("Symbol")) {
112181 return;
112182 }
112183
112184 scope.rename("Symbol");
112185 },
112186 UnaryExpression: function UnaryExpression(path) {
112187 var node = path.node,
112188 parent = path.parent;
112189 if (node.operator !== "typeof") return;
112190
112191 if (path.parentPath.isBinaryExpression() && EQUALITY_BINARY_OPERATORS.indexOf(parent.operator) >= 0) {
112192 var opposite = path.getOpposite();
112193
112194 if (opposite.isLiteral() && opposite.node.value !== "symbol" && opposite.node.value !== "object") {
112195 return;
112196 }
112197 }
112198
112199 var isUnderHelper = path.findParent(function (path) {
112200 if (path.isFunction()) {
112201 var _path$get;
112202
112203 return ((_path$get = path.get("body.directives.0")) == null ? void 0 : _path$get.node.value.value) === "@babel/helpers - typeof";
112204 }
112205 });
112206 if (isUnderHelper) return;
112207 var helper = this.addHelper("typeof");
112208 isUnderHelper = path.findParent(function (path) {
112209 return path.isVariableDeclarator() && path.node.id === helper || path.isFunctionDeclaration() && path.node.id && path.node.id.name === helper.name;
112210 });
112211
112212 if (isUnderHelper) {
112213 return;
112214 }
112215
112216 var call = callExpression(helper, [node.argument]);
112217 var arg = path.get("argument");
112218
112219 if (arg.isIdentifier() && !path.scope.hasBinding(arg.node.name, true)) {
112220 var unary = unaryExpression("typeof", cloneNode(node.argument));
112221 path.replaceWith(conditionalExpression(binaryExpression("===", unary, stringLiteral("undefined")), stringLiteral("undefined"), call));
112222 } else {
112223 path.replaceWith(call);
112224 }
112225 }
112226 }
112227 };
112228 });
112229
112230 function transpileEnum(path, t) {
112231 var node = path.node;
112232
112233 if (node["const"]) {
112234 throw path.buildCodeFrameError("'const' enums are not supported.");
112235 }
112236
112237 if (node.declare) {
112238 path.remove();
112239 return;
112240 }
112241
112242 var name = node.id.name;
112243 var fill = enumFill(path, t, node.id);
112244
112245 switch (path.parent.type) {
112246 case "BlockStatement":
112247 case "ExportNamedDeclaration":
112248 case "Program":
112249 {
112250 path.insertAfter(fill);
112251
112252 if (seen(path.parentPath)) {
112253 path.remove();
112254 } else {
112255 var isGlobal = t.isProgram(path.parent);
112256 path.scope.registerDeclaration(path.replaceWith(makeVar(node.id, t, isGlobal ? "var" : "let"))[0]);
112257 }
112258
112259 break;
112260 }
112261
112262 default:
112263 throw new Error("Unexpected enum parent '" + path.parent.type);
112264 }
112265
112266 function seen(parentPath) {
112267 if (parentPath.isExportDeclaration()) {
112268 return seen(parentPath.parentPath);
112269 }
112270
112271 if (parentPath.getData(name)) {
112272 return true;
112273 } else {
112274 parentPath.setData(name, true);
112275 return false;
112276 }
112277 }
112278 }
112279
112280 function makeVar(id, t, kind) {
112281 return t.variableDeclaration(kind, [t.variableDeclarator(id)]);
112282 }
112283
112284 var buildEnumWrapper = template$2("\n (function (ID) {\n ASSIGNMENTS;\n })(ID || (ID = {}));\n");
112285 var buildStringAssignment = template$2("\n ENUM[\"NAME\"] = VALUE;\n");
112286 var buildNumericAssignment = template$2("\n ENUM[ENUM[\"NAME\"] = VALUE] = \"NAME\";\n");
112287
112288 var buildEnumMember = function buildEnumMember(isString, options) {
112289 return (isString ? buildStringAssignment : buildNumericAssignment)(options);
112290 };
112291
112292 function enumFill(path, t, id) {
112293 var x = translateEnumValues(path, t);
112294 var assignments = x.map(function (_ref) {
112295 var _ref2 = _slicedToArray$2(_ref, 2),
112296 memberName = _ref2[0],
112297 memberValue = _ref2[1];
112298
112299 return buildEnumMember(t.isStringLiteral(memberValue), {
112300 ENUM: t.cloneNode(id),
112301 NAME: memberName,
112302 VALUE: memberValue
112303 });
112304 });
112305 return buildEnumWrapper({
112306 ID: t.cloneNode(id),
112307 ASSIGNMENTS: assignments
112308 });
112309 }
112310
112311 function translateEnumValues(path, t) {
112312 var seen = Object.create(null);
112313 var prev = -1;
112314 return path.node.members.map(function (member) {
112315 var name = t.isIdentifier(member.id) ? member.id.name : member.id.value;
112316 var initializer = member.initializer;
112317 var value;
112318
112319 if (initializer) {
112320 var constValue = evaluate(initializer, seen);
112321
112322 if (constValue !== undefined) {
112323 seen[name] = constValue;
112324
112325 if (typeof constValue === "number") {
112326 value = t.numericLiteral(constValue);
112327 prev = constValue;
112328 } else {
112329 assert_1(typeof constValue === "string");
112330 value = t.stringLiteral(constValue);
112331 prev = undefined;
112332 }
112333 } else {
112334 value = initializer;
112335 prev = undefined;
112336 }
112337 } else {
112338 if (prev !== undefined) {
112339 prev++;
112340 value = t.numericLiteral(prev);
112341 seen[name] = prev;
112342 } else {
112343 throw path.buildCodeFrameError("Enum member must have initializer.");
112344 }
112345 }
112346
112347 return [name, value];
112348 });
112349 }
112350
112351 function evaluate(expr, seen) {
112352 return evalConstant(expr);
112353
112354 function evalConstant(expr) {
112355 switch (expr.type) {
112356 case "StringLiteral":
112357 return expr.value;
112358
112359 case "UnaryExpression":
112360 return evalUnaryExpression(expr);
112361
112362 case "BinaryExpression":
112363 return evalBinaryExpression(expr);
112364
112365 case "NumericLiteral":
112366 return expr.value;
112367
112368 case "ParenthesizedExpression":
112369 return evalConstant(expr.expression);
112370
112371 case "Identifier":
112372 return seen[expr.name];
112373
112374 case "TemplateLiteral":
112375 if (expr.quasis.length === 1) {
112376 return expr.quasis[0].value.cooked;
112377 }
112378
112379 default:
112380 return undefined;
112381 }
112382 }
112383
112384 function evalUnaryExpression(_ref3) {
112385 var argument = _ref3.argument,
112386 operator = _ref3.operator;
112387 var value = evalConstant(argument);
112388
112389 if (value === undefined) {
112390 return undefined;
112391 }
112392
112393 switch (operator) {
112394 case "+":
112395 return value;
112396
112397 case "-":
112398 return -value;
112399
112400 case "~":
112401 return ~value;
112402
112403 default:
112404 return undefined;
112405 }
112406 }
112407
112408 function evalBinaryExpression(expr) {
112409 var left = evalConstant(expr.left);
112410
112411 if (left === undefined) {
112412 return undefined;
112413 }
112414
112415 var right = evalConstant(expr.right);
112416
112417 if (right === undefined) {
112418 return undefined;
112419 }
112420
112421 switch (expr.operator) {
112422 case "|":
112423 return left | right;
112424
112425 case "&":
112426 return left & right;
112427
112428 case ">>":
112429 return left >> right;
112430
112431 case ">>>":
112432 return left >>> right;
112433
112434 case "<<":
112435 return left << right;
112436
112437 case "^":
112438 return left ^ right;
112439
112440 case "*":
112441 return left * right;
112442
112443 case "/":
112444 return left / right;
112445
112446 case "+":
112447 return left + right;
112448
112449 case "-":
112450 return left - right;
112451
112452 case "%":
112453 return left % right;
112454
112455 default:
112456 return undefined;
112457 }
112458 }
112459 }
112460
112461 var _templateObject$3, _templateObject2$2;
112462 function transpileNamespace(path, t, allowNamespaces) {
112463 if (path.node.declare || path.node.id.type === "StringLiteral") {
112464 path.remove();
112465 return;
112466 }
112467
112468 if (!allowNamespaces) {
112469 throw path.hub.file.buildCodeFrameError(path.node.id, "Namespace not marked type-only declare." + " Non-declarative namespaces are only supported experimentally in Babel." + " To enable and review caveats see:" + " https://babeljs.io/docs/en/babel-plugin-transform-typescript");
112470 }
112471
112472 var name = path.node.id.name;
112473 var value = handleNested(path, t, t.cloneDeep(path.node));
112474 var bound = path.scope.hasOwnBinding(name);
112475
112476 if (path.parent.type === "ExportNamedDeclaration") {
112477 if (!bound) {
112478 path.parentPath.insertAfter(value);
112479 path.replaceWith(getDeclaration(t, name));
112480 path.scope.registerDeclaration(path.parentPath);
112481 } else {
112482 path.parentPath.replaceWith(value);
112483 }
112484 } else if (bound) {
112485 path.replaceWith(value);
112486 } else {
112487 path.scope.registerDeclaration(path.replaceWithMultiple([getDeclaration(t, name), value])[0]);
112488 }
112489 }
112490
112491 function getDeclaration(t, name) {
112492 return t.variableDeclaration("let", [t.variableDeclarator(t.identifier(name))]);
112493 }
112494
112495 function getMemberExpression(t, name, itemName) {
112496 return t.memberExpression(t.identifier(name), t.identifier(itemName));
112497 }
112498
112499 function handleVariableDeclaration(node, name, hub) {
112500 if (node.kind !== "const") {
112501 throw hub.file.buildCodeFrameError(node, "Namespaces exporting non-const are not supported by Babel." + " Change to const or see:" + " https://babeljs.io/docs/en/babel-plugin-transform-typescript");
112502 }
112503
112504 var declarations = node.declarations;
112505
112506 if (declarations.every(function (declarator) {
112507 return isIdentifier(declarator.id);
112508 })) {
112509 for (var _iterator = _createForOfIteratorHelperLoose(declarations), _step; !(_step = _iterator()).done;) {
112510 var declarator = _step.value;
112511 declarator.init = assignmentExpression("=", getMemberExpression(t$p, name, declarator.id.name), declarator.init);
112512 }
112513
112514 return [node];
112515 }
112516
112517 var bindingIdentifiers = getBindingIdentifiers$1(node);
112518 var assignments = [];
112519
112520 for (var idName in bindingIdentifiers) {
112521 assignments.push(assignmentExpression("=", getMemberExpression(t$p, name, idName), cloneNode(bindingIdentifiers[idName])));
112522 }
112523
112524 return [node, expressionStatement(sequenceExpression(assignments))];
112525 }
112526
112527 function handleNested(path, t, node, parentExport) {
112528 var names = new Set();
112529 var realName = node.id;
112530 var name = path.scope.generateUid(realName.name);
112531 var namespaceTopLevel = node.body.body;
112532
112533 for (var i = 0; i < namespaceTopLevel.length; i++) {
112534 var subNode = namespaceTopLevel[i];
112535
112536 switch (subNode.type) {
112537 case "TSModuleDeclaration":
112538 {
112539 var transformed = handleNested(path, t, subNode);
112540 var moduleName = subNode.id.name;
112541
112542 if (names.has(moduleName)) {
112543 namespaceTopLevel[i] = transformed;
112544 } else {
112545 names.add(moduleName);
112546 namespaceTopLevel.splice(i++, 1, getDeclaration(t, moduleName), transformed);
112547 }
112548
112549 continue;
112550 }
112551
112552 case "TSEnumDeclaration":
112553 case "FunctionDeclaration":
112554 case "ClassDeclaration":
112555 names.add(subNode.id.name);
112556 continue;
112557
112558 case "VariableDeclaration":
112559 {
112560 for (var _name in t.getBindingIdentifiers(subNode)) {
112561 names.add(_name);
112562 }
112563
112564 continue;
112565 }
112566
112567 default:
112568 continue;
112569
112570 case "ExportNamedDeclaration":
112571 }
112572
112573 switch (subNode.declaration.type) {
112574 case "TSEnumDeclaration":
112575 case "FunctionDeclaration":
112576 case "ClassDeclaration":
112577 {
112578 var itemName = subNode.declaration.id.name;
112579 names.add(itemName);
112580 namespaceTopLevel.splice(i++, 1, subNode.declaration, t.expressionStatement(t.assignmentExpression("=", getMemberExpression(t, name, itemName), t.identifier(itemName))));
112581 break;
112582 }
112583
112584 case "VariableDeclaration":
112585 {
112586 var nodes = handleVariableDeclaration(subNode.declaration, name, path.hub);
112587 namespaceTopLevel.splice.apply(namespaceTopLevel, [i, nodes.length].concat(_toConsumableArray(nodes)));
112588 i += nodes.length - 1;
112589 break;
112590 }
112591
112592 case "TSModuleDeclaration":
112593 {
112594 var _transformed = handleNested(path, t, subNode.declaration, t.identifier(name));
112595
112596 var _moduleName = subNode.declaration.id.name;
112597
112598 if (names.has(_moduleName)) {
112599 namespaceTopLevel[i] = _transformed;
112600 } else {
112601 names.add(_moduleName);
112602 namespaceTopLevel.splice(i++, 1, getDeclaration(t, _moduleName), _transformed);
112603 }
112604 }
112605 }
112606 }
112607
112608 var fallthroughValue = t.objectExpression([]);
112609
112610 if (parentExport) {
112611 var memberExpr = t.memberExpression(parentExport, realName);
112612 fallthroughValue = template$2.expression.ast(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteralLoose(["\n ", " ||\n (", " = ", ")\n "])), t.cloneNode(memberExpr), t.cloneNode(memberExpr), fallthroughValue);
112613 }
112614
112615 return template$2.statement.ast(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteralLoose(["\n (function (", ") {\n ", "\n })(", " || (", " = ", "));\n "])), t.identifier(name), namespaceTopLevel, realName, t.cloneNode(realName), fallthroughValue);
112616 }
112617
112618 var _templateObject$2;
112619
112620 function isInType(path) {
112621 switch (path.parent.type) {
112622 case "TSTypeReference":
112623 case "TSQualifiedName":
112624 case "TSExpressionWithTypeArguments":
112625 case "TSTypeQuery":
112626 return true;
112627
112628 case "ExportSpecifier":
112629 return path.parentPath.parent.exportKind === "type";
112630
112631 default:
112632 return false;
112633 }
112634 }
112635
112636 var GLOBAL_TYPES = new WeakMap();
112637 var NEEDS_EXPLICIT_ESM = new WeakMap();
112638 var PARSED_PARAMS = new WeakSet();
112639
112640 function isGlobalType(path, name) {
112641 var program = path.find(function (path) {
112642 return path.isProgram();
112643 }).node;
112644 if (path.scope.hasOwnBinding(name)) return false;
112645 if (GLOBAL_TYPES.get(program).has(name)) return true;
112646 console.warn("The exported identifier \"" + name + "\" is not declared in Babel's scope tracker\n" + "as a JavaScript value binding, and \"@babel/plugin-transform-typescript\"\n" + "never encountered it as a TypeScript type declaration.\n" + "It will be treated as a JavaScript value.\n\n" + "This problem is likely caused by another plugin injecting\n" + ("\"" + name + "\" without registering it in the scope tracker. If you are the author\n") + " of that plugin, please use \"scope.registerDeclaration(declarationPath)\".");
112647 return false;
112648 }
112649
112650 function registerGlobalType(programScope, name) {
112651 GLOBAL_TYPES.get(programScope.path.node).add(name);
112652 }
112653
112654 var transformTypeScript = declare(function (api, opts) {
112655 api.assertVersion(7);
112656 var JSX_PRAGMA_REGEX = /\*?\s*@jsx((?:Frag)?)\s+([^\s]+)/;
112657 var _opts$allowNamespaces = opts.allowNamespaces,
112658 allowNamespaces = _opts$allowNamespaces === void 0 ? true : _opts$allowNamespaces,
112659 _opts$jsxPragma = opts.jsxPragma,
112660 jsxPragma = _opts$jsxPragma === void 0 ? "React.createElement" : _opts$jsxPragma,
112661 _opts$jsxPragmaFrag = opts.jsxPragmaFrag,
112662 jsxPragmaFrag = _opts$jsxPragmaFrag === void 0 ? "React.Fragment" : _opts$jsxPragmaFrag,
112663 _opts$onlyRemoveTypeI = opts.onlyRemoveTypeImports,
112664 onlyRemoveTypeImports = _opts$onlyRemoveTypeI === void 0 ? false : _opts$onlyRemoveTypeI;
112665 {
112666 var _opts$allowDeclareFie = opts.allowDeclareFields,
112667 allowDeclareFields = _opts$allowDeclareFie === void 0 ? false : _opts$allowDeclareFie;
112668 }
112669 var classMemberVisitors = {
112670 field: function field(path) {
112671 var node = path.node;
112672 {
112673 if (!allowDeclareFields && node.declare) {
112674 throw path.buildCodeFrameError("The 'declare' modifier is only allowed when the 'allowDeclareFields' option of " + "@babel/plugin-transform-typescript or @babel/preset-typescript is enabled.");
112675 }
112676 }
112677
112678 if (node.declare) {
112679 if (node.value) {
112680 throw path.buildCodeFrameError("Fields with the 'declare' modifier cannot be initialized here, but only in the constructor");
112681 }
112682
112683 if (!node.decorators) {
112684 path.remove();
112685 }
112686 } else if (node.definite) {
112687 if (node.value) {
112688 throw path.buildCodeFrameError("Definitely assigned fields cannot be initialized here, but only in the constructor");
112689 }
112690
112691 {
112692 if (!allowDeclareFields && !node.decorators) {
112693 path.remove();
112694 }
112695 }
112696 } else {
112697 if (!allowDeclareFields && !node.value && !node.decorators && !isClassPrivateProperty(node)) {
112698 path.remove();
112699 }
112700 }
112701
112702 if (node.accessibility) node.accessibility = null;
112703 if (node["abstract"]) node["abstract"] = null;
112704 if (node.readonly) node.readonly = null;
112705 if (node.optional) node.optional = null;
112706 if (node.typeAnnotation) node.typeAnnotation = null;
112707 if (node.definite) node.definite = null;
112708 if (node.declare) node.declare = null;
112709 if (node.override) node.override = null;
112710 },
112711 method: function method(_ref) {
112712 var node = _ref.node;
112713 if (node.accessibility) node.accessibility = null;
112714 if (node["abstract"]) node["abstract"] = null;
112715 if (node.optional) node.optional = null;
112716 if (node.override) node.override = null;
112717 },
112718 constructor: function constructor(path, classPath) {
112719 if (path.node.accessibility) path.node.accessibility = null;
112720 var parameterProperties = [];
112721
112722 for (var _iterator = _createForOfIteratorHelperLoose(path.node.params), _step; !(_step = _iterator()).done;) {
112723 var param = _step.value;
112724
112725 if (param.type === "TSParameterProperty" && !PARSED_PARAMS.has(param.parameter)) {
112726 PARSED_PARAMS.add(param.parameter);
112727 parameterProperties.push(param.parameter);
112728 }
112729 }
112730
112731 if (parameterProperties.length) {
112732 var assigns = parameterProperties.map(function (p) {
112733 var id;
112734
112735 if (isIdentifier(p)) {
112736 id = p;
112737 } else if (isAssignmentPattern(p) && isIdentifier(p.left)) {
112738 id = p.left;
112739 } else {
112740 throw path.buildCodeFrameError("Parameter properties can not be destructuring patterns.");
112741 }
112742
112743 return template$2.statement.ast(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteralLoose(["\n this.", " = ", ""])), cloneNode(id), cloneNode(id));
112744 });
112745 injectInitialization(classPath, path, assigns);
112746 }
112747 }
112748 };
112749 return {
112750 name: "transform-typescript",
112751 inherits: syntaxTypescript,
112752 visitor: {
112753 Pattern: visitPattern,
112754 Identifier: visitPattern,
112755 RestElement: visitPattern,
112756 Program: {
112757 enter: function enter(path, state) {
112758 var file = state.file;
112759 var fileJsxPragma = null;
112760 var fileJsxPragmaFrag = null;
112761
112762 if (!GLOBAL_TYPES.has(path.node)) {
112763 GLOBAL_TYPES.set(path.node, new Set());
112764 }
112765
112766 if (file.ast.comments) {
112767 for (var _iterator2 = _createForOfIteratorHelperLoose(file.ast.comments), _step2; !(_step2 = _iterator2()).done;) {
112768 var comment = _step2.value;
112769 var jsxMatches = JSX_PRAGMA_REGEX.exec(comment.value);
112770
112771 if (jsxMatches) {
112772 if (jsxMatches[1]) {
112773 fileJsxPragmaFrag = jsxMatches[2];
112774 } else {
112775 fileJsxPragma = jsxMatches[2];
112776 }
112777 }
112778 }
112779 }
112780
112781 var pragmaImportName = fileJsxPragma || jsxPragma;
112782
112783 if (pragmaImportName) {
112784 var _pragmaImportName$spl = pragmaImportName.split(".");
112785
112786 var _pragmaImportName$spl2 = _slicedToArray$2(_pragmaImportName$spl, 1);
112787
112788 pragmaImportName = _pragmaImportName$spl2[0];
112789 }
112790
112791 var pragmaFragImportName = fileJsxPragmaFrag || jsxPragmaFrag;
112792
112793 if (pragmaFragImportName) {
112794 var _pragmaFragImportName = pragmaFragImportName.split(".");
112795
112796 var _pragmaFragImportName2 = _slicedToArray$2(_pragmaFragImportName, 1);
112797
112798 pragmaFragImportName = _pragmaFragImportName2[0];
112799 }
112800
112801 for (var _iterator3 = _createForOfIteratorHelperLoose(path.get("body")), _step3; !(_step3 = _iterator3()).done;) {
112802 var stmt = _step3.value;
112803
112804 if (stmt.isImportDeclaration()) {
112805 if (!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)) {
112806 NEEDS_EXPLICIT_ESM.set(state.file.ast.program, true);
112807 }
112808
112809 if (stmt.node.importKind === "type") {
112810 stmt.remove();
112811 continue;
112812 }
112813
112814 if (onlyRemoveTypeImports) {
112815 NEEDS_EXPLICIT_ESM.set(path.node, false);
112816 } else {
112817 if (stmt.node.specifiers.length === 0) {
112818 NEEDS_EXPLICIT_ESM.set(path.node, false);
112819 continue;
112820 }
112821
112822 var allElided = true;
112823 var importsToRemove = [];
112824
112825 for (var _iterator4 = _createForOfIteratorHelperLoose(stmt.node.specifiers), _step4; !(_step4 = _iterator4()).done;) {
112826 var specifier = _step4.value;
112827 var binding = stmt.scope.getBinding(specifier.local.name);
112828
112829 if (binding && isImportTypeOnly({
112830 binding: binding,
112831 programPath: path,
112832 pragmaImportName: pragmaImportName,
112833 pragmaFragImportName: pragmaFragImportName
112834 })) {
112835 importsToRemove.push(binding.path);
112836 } else {
112837 allElided = false;
112838 NEEDS_EXPLICIT_ESM.set(path.node, false);
112839 }
112840 }
112841
112842 if (allElided) {
112843 stmt.remove();
112844 } else {
112845 for (var _iterator5 = _createForOfIteratorHelperLoose(importsToRemove), _step5; !(_step5 = _iterator5()).done;) {
112846 var importPath = _step5.value;
112847 importPath.remove();
112848 }
112849 }
112850 }
112851
112852 continue;
112853 }
112854
112855 if (stmt.isExportDeclaration()) {
112856 stmt = stmt.get("declaration");
112857 }
112858
112859 if (stmt.isVariableDeclaration({
112860 declare: true
112861 })) {
112862 for (var _i = 0, _Object$keys = Object.keys(stmt.getBindingIdentifiers()); _i < _Object$keys.length; _i++) {
112863 var name = _Object$keys[_i];
112864 registerGlobalType(path.scope, name);
112865 }
112866 } else if (stmt.isTSTypeAliasDeclaration() || stmt.isTSDeclareFunction() || stmt.isTSInterfaceDeclaration() || stmt.isClassDeclaration({
112867 declare: true
112868 }) || stmt.isTSEnumDeclaration({
112869 declare: true
112870 }) || stmt.isTSModuleDeclaration({
112871 declare: true
112872 }) && stmt.get("id").isIdentifier()) {
112873 registerGlobalType(path.scope, stmt.node.id.name);
112874 }
112875 }
112876 },
112877 exit: function exit(path) {
112878 if (path.node.sourceType === "module" && NEEDS_EXPLICIT_ESM.get(path.node)) {
112879 path.pushContainer("body", exportNamedDeclaration());
112880 }
112881 }
112882 },
112883 ExportNamedDeclaration: function ExportNamedDeclaration(path, state) {
112884 if (!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)) {
112885 NEEDS_EXPLICIT_ESM.set(state.file.ast.program, true);
112886 }
112887
112888 if (path.node.exportKind === "type") {
112889 path.remove();
112890 return;
112891 }
112892
112893 if (!path.node.source && path.node.specifiers.length > 0 && path.node.specifiers.every(function (_ref2) {
112894 var local = _ref2.local;
112895 return isGlobalType(path, local.name);
112896 })) {
112897 path.remove();
112898 return;
112899 }
112900
112901 NEEDS_EXPLICIT_ESM.set(state.file.ast.program, false);
112902 },
112903 ExportSpecifier: function ExportSpecifier(path) {
112904 if (!path.parent.source && isGlobalType(path, path.node.local.name)) {
112905 path.remove();
112906 }
112907 },
112908 ExportDefaultDeclaration: function ExportDefaultDeclaration(path, state) {
112909 if (!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)) {
112910 NEEDS_EXPLICIT_ESM.set(state.file.ast.program, true);
112911 }
112912
112913 if (isIdentifier(path.node.declaration) && isGlobalType(path, path.node.declaration.name)) {
112914 path.remove();
112915 return;
112916 }
112917
112918 NEEDS_EXPLICIT_ESM.set(state.file.ast.program, false);
112919 },
112920 TSDeclareFunction: function TSDeclareFunction(path) {
112921 path.remove();
112922 },
112923 TSDeclareMethod: function TSDeclareMethod(path) {
112924 path.remove();
112925 },
112926 VariableDeclaration: function VariableDeclaration(path) {
112927 if (path.node.declare) {
112928 path.remove();
112929 }
112930 },
112931 VariableDeclarator: function VariableDeclarator(_ref3) {
112932 var node = _ref3.node;
112933 if (node.definite) node.definite = null;
112934 },
112935 TSIndexSignature: function TSIndexSignature(path) {
112936 path.remove();
112937 },
112938 ClassDeclaration: function ClassDeclaration(path) {
112939 var node = path.node;
112940
112941 if (node.declare) {
112942 path.remove();
112943 return;
112944 }
112945 },
112946 Class: function Class(path) {
112947 var node = path.node;
112948 if (node.typeParameters) node.typeParameters = null;
112949 if (node.superTypeParameters) node.superTypeParameters = null;
112950 if (node["implements"]) node["implements"] = null;
112951 if (node["abstract"]) node["abstract"] = null;
112952 path.get("body.body").forEach(function (child) {
112953 if (child.isClassMethod() || child.isClassPrivateMethod()) {
112954 if (child.node.kind === "constructor") {
112955 classMemberVisitors.constructor(child, path);
112956 } else {
112957 classMemberVisitors.method(child);
112958 }
112959 } else if (child.isClassProperty() || child.isClassPrivateProperty()) {
112960 classMemberVisitors.field(child);
112961 }
112962 });
112963 },
112964 Function: function Function(path) {
112965 var node = path.node,
112966 scope = path.scope;
112967 if (node.typeParameters) node.typeParameters = null;
112968 if (node.returnType) node.returnType = null;
112969 var params = node.params;
112970
112971 if (params.length > 0 && isIdentifier(params[0], {
112972 name: "this"
112973 })) {
112974 params.shift();
112975 }
112976
112977 var paramsPath = path.get("params");
112978
112979 for (var _iterator6 = _createForOfIteratorHelperLoose(paramsPath), _step6; !(_step6 = _iterator6()).done;) {
112980 var p = _step6.value;
112981
112982 if (p.type === "TSParameterProperty") {
112983 p.replaceWith(p.get("parameter"));
112984 scope.registerBinding("param", p);
112985 }
112986 }
112987 },
112988 TSModuleDeclaration: function TSModuleDeclaration(path) {
112989 transpileNamespace(path, t$p, allowNamespaces);
112990 },
112991 TSInterfaceDeclaration: function TSInterfaceDeclaration(path) {
112992 path.remove();
112993 },
112994 TSTypeAliasDeclaration: function TSTypeAliasDeclaration(path) {
112995 path.remove();
112996 },
112997 TSEnumDeclaration: function TSEnumDeclaration(path) {
112998 transpileEnum(path, t$p);
112999 },
113000 TSImportEqualsDeclaration: function TSImportEqualsDeclaration(path) {
113001 throw path.buildCodeFrameError("`import =` is not supported by @babel/plugin-transform-typescript\n" + "Please consider using " + "`import <moduleName> from '<moduleName>';` alongside " + "Typescript's --allowSyntheticDefaultImports option.");
113002 },
113003 TSExportAssignment: function TSExportAssignment(path) {
113004 throw path.buildCodeFrameError("`export =` is not supported by @babel/plugin-transform-typescript\n" + "Please consider using `export <value>;`.");
113005 },
113006 TSTypeAssertion: function TSTypeAssertion(path) {
113007 path.replaceWith(path.node.expression);
113008 },
113009 TSAsExpression: function TSAsExpression(path) {
113010 var node = path.node;
113011
113012 do {
113013 node = node.expression;
113014 } while (isTSAsExpression(node));
113015
113016 path.replaceWith(node);
113017 },
113018 TSNonNullExpression: function TSNonNullExpression(path) {
113019 path.replaceWith(path.node.expression);
113020 },
113021 CallExpression: function CallExpression(path) {
113022 path.node.typeParameters = null;
113023 },
113024 OptionalCallExpression: function OptionalCallExpression(path) {
113025 path.node.typeParameters = null;
113026 },
113027 NewExpression: function NewExpression(path) {
113028 path.node.typeParameters = null;
113029 },
113030 JSXOpeningElement: function JSXOpeningElement(path) {
113031 path.node.typeParameters = null;
113032 },
113033 TaggedTemplateExpression: function TaggedTemplateExpression(path) {
113034 path.node.typeParameters = null;
113035 }
113036 }
113037 };
113038
113039 function visitPattern(_ref4) {
113040 var node = _ref4.node;
113041 if (node.typeAnnotation) node.typeAnnotation = null;
113042 if (isIdentifier(node) && node.optional) node.optional = null;
113043 }
113044
113045 function isImportTypeOnly(_ref5) {
113046 var binding = _ref5.binding,
113047 programPath = _ref5.programPath,
113048 pragmaImportName = _ref5.pragmaImportName,
113049 pragmaFragImportName = _ref5.pragmaFragImportName;
113050
113051 for (var _iterator7 = _createForOfIteratorHelperLoose(binding.referencePaths), _step7; !(_step7 = _iterator7()).done;) {
113052 var path = _step7.value;
113053
113054 if (!isInType(path)) {
113055 return false;
113056 }
113057 }
113058
113059 if (binding.identifier.name !== pragmaImportName && binding.identifier.name !== pragmaFragImportName) {
113060 return true;
113061 }
113062
113063 var sourceFileHasJsx = false;
113064 programPath.traverse({
113065 "JSXElement|JSXFragment": function JSXElementJSXFragment(path) {
113066 sourceFileHasJsx = true;
113067 path.stop();
113068 }
113069 });
113070 return !sourceFileHasJsx;
113071 }
113072 });
113073
113074 var _transformUnicodeEscapes = declare(function (api) {
113075 api.assertVersion(7);
113076 var surrogate = /[\ud800-\udfff]/g;
113077 var unicodeEscape = /(\\+)u\{([0-9a-fA-F]+)\}/g;
113078
113079 function escape(code) {
113080 var str = code.toString(16);
113081
113082 while (str.length < 4) {
113083 str = "0" + str;
113084 }
113085
113086 return "\\u" + str;
113087 }
113088
113089 function replacer(match, backslashes, code) {
113090 if (backslashes.length % 2 === 0) {
113091 return match;
113092 }
113093
113094 var _char = String.fromCodePoint(parseInt(code, 16));
113095
113096 var escaped = backslashes.slice(0, -1) + escape(_char.charCodeAt(0));
113097 return _char.length === 1 ? escaped : escaped + escape(_char.charCodeAt(1));
113098 }
113099
113100 function replaceUnicodeEscapes(str) {
113101 return str.replace(unicodeEscape, replacer);
113102 }
113103
113104 function getUnicodeEscape(str) {
113105 var match;
113106
113107 while (match = unicodeEscape.exec(str)) {
113108 if (match[1].length % 2 === 0) continue;
113109 unicodeEscape.lastIndex = 0;
113110 return match[0];
113111 }
113112
113113 return null;
113114 }
113115
113116 return {
113117 name: "transform-unicode-escapes",
113118 manipulateOptions: function manipulateOptions(_ref) {
113119 var _generatorOpts$jsescO, _generatorOpts$jsescO2;
113120
113121 var generatorOpts = _ref.generatorOpts;
113122
113123 if (!generatorOpts.jsescOption) {
113124 generatorOpts.jsescOption = {};
113125 }
113126
113127 (_generatorOpts$jsescO2 = (_generatorOpts$jsescO = generatorOpts.jsescOption).minimal) != null ? _generatorOpts$jsescO2 : _generatorOpts$jsescO.minimal = false;
113128 },
113129 visitor: {
113130 Identifier: function Identifier(path) {
113131 var node = path.node,
113132 key = path.key;
113133 var name = node.name;
113134 var replaced = name.replace(surrogate, function (c) {
113135 return "_u" + c.charCodeAt(0).toString(16);
113136 });
113137 if (name === replaced) return;
113138 var str = inherits(stringLiteral(name), node);
113139
113140 if (key === "key") {
113141 path.replaceWith(str);
113142 return;
113143 }
113144
113145 var parentPath = path.parentPath,
113146 scope = path.scope;
113147
113148 if (parentPath.isMemberExpression({
113149 property: node
113150 }) || parentPath.isOptionalMemberExpression({
113151 property: node
113152 })) {
113153 parentPath.node.computed = true;
113154 path.replaceWith(str);
113155 return;
113156 }
113157
113158 var binding = scope.getBinding(name);
113159
113160 if (binding) {
113161 scope.rename(name, scope.generateUid(replaced));
113162 return;
113163 }
113164
113165 throw path.buildCodeFrameError("Can't reference '" + name + "' as a bare identifier");
113166 },
113167 "StringLiteral|DirectiveLiteral": function StringLiteralDirectiveLiteral(path) {
113168 var node = path.node;
113169 var extra = node.extra;
113170 if (extra != null && extra.raw) extra.raw = replaceUnicodeEscapes(extra.raw);
113171 },
113172 TemplateElement: function TemplateElement(path) {
113173 var node = path.node,
113174 parentPath = path.parentPath;
113175 var value = node.value;
113176 var firstEscape = getUnicodeEscape(value.raw);
113177 if (!firstEscape) return;
113178 var grandParent = parentPath.parentPath;
113179
113180 if (grandParent.isTaggedTemplateExpression()) {
113181 throw path.buildCodeFrameError("Can't replace Unicode escape '" + firstEscape + "' inside tagged template literals. You can enable '@babel/plugin-transform-template-literals' to compile them to classic strings.");
113182 }
113183
113184 value.raw = replaceUnicodeEscapes(value.raw);
113185 }
113186 }
113187 };
113188 });
113189
113190 var _transformUnicodeRegex = declare(function (api) {
113191 api.assertVersion(7);
113192 return createRegExpFeaturePlugin({
113193 name: "transform-unicode-regex",
113194 feature: "unicodeFlag"
113195 });
113196 });
113197
113198 var all = {
113199 "external-helpers": externalHelpers,
113200 "syntax-async-generators": lib$q,
113201 "syntax-class-properties": lib$p,
113202 "syntax-class-static-block": _syntaxClassStaticBlock,
113203 "syntax-decimal": syntaxDecimal,
113204 "syntax-decorators": syntaxDecorators,
113205 "syntax-do-expressions": syntaxDoExpressions,
113206 "syntax-export-default-from": syntaxExportDefaultFrom,
113207 "syntax-flow": syntaxFlow,
113208 "syntax-function-bind": syntaxFunctionBind,
113209 "syntax-function-sent": syntaxFunctionSent,
113210 "syntax-module-blocks": syntaxModuleBlocks,
113211 "syntax-import-meta": lib$o,
113212 "syntax-jsx": syntaxJsx,
113213 "syntax-import-assertions": syntaxImportAssertions,
113214 "syntax-object-rest-spread": lib$n,
113215 "syntax-optional-catch-binding": lib$m,
113216 "syntax-pipeline-operator": syntaxPipelineOperator,
113217 "syntax-record-and-tuple": syntaxRecordAndTuple,
113218 "syntax-top-level-await": _syntaxTopLevelAwait,
113219 "syntax-typescript": syntaxTypescript,
113220 "proposal-async-generator-functions": _proposalAsyncGeneratorFunctions,
113221 "proposal-class-properties": _proposalClassProperties,
113222 "proposal-class-static-block": _proposalClassStaticBlock,
113223 "proposal-decorators": proposalDecorators,
113224 "proposal-do-expressions": proposalDoExpressions,
113225 "proposal-dynamic-import": _proposalDynamicImport,
113226 "proposal-export-default-from": proposalExportDefaultFrom,
113227 "proposal-export-namespace-from": _proposalExportNamespaceFrom,
113228 "proposal-function-bind": proposalFunctionBind,
113229 "proposal-function-sent": proposalFunctionSent,
113230 "proposal-json-strings": _proposalJsonStrings,
113231 "proposal-logical-assignment-operators": _proposalLogicalAssignmentOperators,
113232 "proposal-nullish-coalescing-operator": _proposalNullishCoalescingOperator,
113233 "proposal-numeric-separator": _proposalNumericSeparator,
113234 "proposal-object-rest-spread": _proposalObjectRestSpread,
113235 "proposal-optional-catch-binding": _proposalOptionalCatchBinding,
113236 "proposal-optional-chaining": _proposalOptionalChaining,
113237 "proposal-pipeline-operator": proposalPipelineOperator,
113238 "proposal-private-methods": _proposalPrivateMethods,
113239 "proposal-private-property-in-object": _proposalPrivatePropertyInObject,
113240 "proposal-throw-expressions": proposalThrowExpressions,
113241 "proposal-unicode-property-regex": _proposalUnicodePropertyRegex,
113242 "transform-async-to-generator": _transformAsyncToGenerator,
113243 "transform-arrow-functions": _transformArrowFunctions,
113244 "transform-block-scoped-functions": _transformBlockScopedFunctions,
113245 "transform-block-scoping": _transformBlockScoping,
113246 "transform-classes": _transformClasses,
113247 "transform-computed-properties": _transformComputedProperties,
113248 "transform-destructuring": _transformDestructuring,
113249 "transform-dotall-regex": _transformDotallRegex,
113250 "transform-duplicate-keys": _transformDuplicateKeys,
113251 "transform-exponentiation-operator": transformExponentialOperator,
113252 "transform-flow-comments": transformFlowComments,
113253 "transform-flow-strip-types": transformFlowStripTypes,
113254 "transform-for-of": _transformForOf,
113255 "transform-function-name": _transformFunctionName,
113256 "transform-instanceof": transformInstanceof,
113257 "transform-jscript": transformJscript,
113258 "transform-literals": _transformLiterals,
113259 "transform-member-expression-literals": _transformMemberExpressionLiterals,
113260 "transform-modules-amd": _transformModulesAmd,
113261 "transform-modules-commonjs": _transformModulesCommonjs,
113262 "transform-modules-systemjs": _transformModulesSystemjs,
113263 "transform-modules-umd": _transformModulesUmd,
113264 "transform-named-capturing-groups-regex": _transformNamedCapturingGroupsRegex,
113265 "transform-new-target": _transformNewTarget,
113266 "transform-object-assign": transformObjectAssign,
113267 "transform-object-super": _transformObjectSuper,
113268 "transform-object-set-prototype-of-to-assign": transformObjectSetPrototypeOfToAssign,
113269 "transform-parameters": _transformParameters,
113270 "transform-property-literals": _transformPropertyLiterals,
113271 "transform-property-mutators": transformPropertyMutators,
113272 "transform-proto-to-assign": transformProtoToAssign,
113273 "transform-react-constant-elements": transformReactConstantElements,
113274 "transform-react-display-name": transformReactDisplayName,
113275 "transform-react-inline-elements": transformReactInlineElements,
113276 "transform-react-jsx": transformReactJSX,
113277 "transform-react-jsx-compat": transformReactJsxCompat,
113278 "transform-react-jsx-development": transformReactJSXDevelopment,
113279 "transform-react-jsx-self": transformReactJsxSelf,
113280 "transform-react-jsx-source": transformReactJsxSource,
113281 "transform-regenerator": _transformRegenerator,
113282 "transform-reserved-words": _transformReservedWords,
113283 "transform-runtime": transformRuntime,
113284 "transform-shorthand-properties": _transformShorthandProperties,
113285 "transform-spread": _transformSpread,
113286 "transform-sticky-regex": _transformStickyRegex,
113287 "transform-strict-mode": transformStrictMode,
113288 "transform-template-literals": _transformTemplateLiterals,
113289 "transform-typeof-symbol": _transformTypeofSymbol,
113290 "transform-typescript": transformTypeScript,
113291 "transform-unicode-escapes": _transformUnicodeEscapes,
113292 "transform-unicode-regex": _transformUnicodeRegex
113293 };
113294
113295 var preset2015 = (function (_, opts) {
113296 var loose = false;
113297 var modules = "commonjs";
113298 var spec = false;
113299
113300 if (opts !== undefined) {
113301 if (opts.loose !== undefined) loose = opts.loose;
113302 if (opts.modules !== undefined) modules = opts.modules;
113303 if (opts.spec !== undefined) spec = opts.spec;
113304 }
113305
113306 var optsLoose = {
113307 loose: loose
113308 };
113309 return {
113310 plugins: [[_transformTemplateLiterals, {
113311 loose: loose,
113312 spec: spec
113313 }], _transformLiterals, _transformFunctionName, [_transformArrowFunctions, {
113314 spec: spec
113315 }], _transformBlockScopedFunctions, [_transformClasses, optsLoose], _transformObjectSuper, _transformShorthandProperties, _transformDuplicateKeys, [_transformComputedProperties, optsLoose], [_transformForOf, optsLoose], _transformStickyRegex, _transformUnicodeEscapes, _transformUnicodeRegex, [_transformSpread, optsLoose], [_transformParameters, optsLoose], [_transformDestructuring, optsLoose], _transformBlockScoping, _transformTypeofSymbol, transformInstanceof, (modules === "commonjs" || modules === "cjs") && [_transformModulesCommonjs, optsLoose], modules === "systemjs" && [_transformModulesSystemjs, optsLoose], modules === "amd" && [_transformModulesAmd, optsLoose], modules === "umd" && [_transformModulesUmd, optsLoose], [_transformRegenerator, {
113316 async: false,
113317 asyncGenerators: false
113318 }]].filter(Boolean)
113319 };
113320 });
113321
113322 var presetStage3 = (function (_, opts) {
113323 var loose = false;
113324
113325 if (opts !== undefined) {
113326 if (opts.loose !== undefined) loose = opts.loose;
113327 }
113328
113329 return {
113330 plugins: [syntaxImportAssertions, lib$o, _syntaxTopLevelAwait, _proposalExportNamespaceFrom, _proposalLogicalAssignmentOperators, [_proposalOptionalChaining, {
113331 loose: loose
113332 }], [_proposalNullishCoalescingOperator, {
113333 loose: loose
113334 }], [_proposalClassProperties, {
113335 loose: loose
113336 }], _proposalJsonStrings, _proposalNumericSeparator, [_proposalPrivateMethods, {
113337 loose: loose
113338 }]]
113339 };
113340 });
113341
113342 var presetStage2 = (function (_, opts) {
113343 if (opts === void 0) {
113344 opts = {};
113345 }
113346
113347 var _opts = opts,
113348 _opts$loose = _opts.loose,
113349 loose = _opts$loose === void 0 ? false : _opts$loose,
113350 _opts$useBuiltIns = _opts.useBuiltIns,
113351 useBuiltIns = _opts$useBuiltIns === void 0 ? false : _opts$useBuiltIns,
113352 _opts$decoratorsLegac = _opts.decoratorsLegacy,
113353 decoratorsLegacy = _opts$decoratorsLegac === void 0 ? false : _opts$decoratorsLegac,
113354 decoratorsBeforeExport = _opts.decoratorsBeforeExport;
113355 return {
113356 presets: [[presetStage3, {
113357 loose: loose,
113358 useBuiltIns: useBuiltIns
113359 }]],
113360 plugins: [_proposalClassStaticBlock, [proposalDecorators, {
113361 legacy: decoratorsLegacy,
113362 decoratorsBeforeExport: decoratorsBeforeExport
113363 }], proposalFunctionSent, _proposalPrivatePropertyInObject, proposalThrowExpressions]
113364 };
113365 });
113366
113367 var presetStage1 = (function (_, opts) {
113368 if (opts === void 0) {
113369 opts = {};
113370 }
113371
113372 var _opts = opts,
113373 _opts$loose = _opts.loose,
113374 loose = _opts$loose === void 0 ? false : _opts$loose,
113375 _opts$useBuiltIns = _opts.useBuiltIns,
113376 useBuiltIns = _opts$useBuiltIns === void 0 ? false : _opts$useBuiltIns,
113377 _opts$decoratorsLegac = _opts.decoratorsLegacy,
113378 decoratorsLegacy = _opts$decoratorsLegac === void 0 ? false : _opts$decoratorsLegac,
113379 decoratorsBeforeExport = _opts.decoratorsBeforeExport,
113380 _opts$pipelineProposa = _opts.pipelineProposal,
113381 pipelineProposal = _opts$pipelineProposa === void 0 ? "minimal" : _opts$pipelineProposa,
113382 _opts$recordAndTupleS = _opts.recordAndTupleSyntax,
113383 recordAndTupleSyntax = _opts$recordAndTupleS === void 0 ? "hash" : _opts$recordAndTupleS;
113384 return {
113385 presets: [[presetStage2, {
113386 loose: loose,
113387 useBuiltIns: useBuiltIns,
113388 decoratorsLegacy: decoratorsLegacy,
113389 decoratorsBeforeExport: decoratorsBeforeExport
113390 }]],
113391 plugins: [syntaxDecimal, [syntaxRecordAndTuple, {
113392 syntaxType: recordAndTupleSyntax
113393 }], syntaxModuleBlocks, proposalExportDefaultFrom, [proposalPipelineOperator, {
113394 proposal: pipelineProposal
113395 }], proposalDoExpressions]
113396 };
113397 });
113398
113399 var presetStage0 = (function (_, opts) {
113400 if (opts === void 0) {
113401 opts = {};
113402 }
113403
113404 var _opts = opts,
113405 _opts$loose = _opts.loose,
113406 loose = _opts$loose === void 0 ? false : _opts$loose,
113407 _opts$useBuiltIns = _opts.useBuiltIns,
113408 useBuiltIns = _opts$useBuiltIns === void 0 ? false : _opts$useBuiltIns,
113409 _opts$decoratorsLegac = _opts.decoratorsLegacy,
113410 decoratorsLegacy = _opts$decoratorsLegac === void 0 ? false : _opts$decoratorsLegac,
113411 decoratorsBeforeExport = _opts.decoratorsBeforeExport,
113412 _opts$pipelineProposa = _opts.pipelineProposal,
113413 pipelineProposal = _opts$pipelineProposa === void 0 ? "minimal" : _opts$pipelineProposa,
113414 _opts$importAssertion = _opts.importAssertionsVersion,
113415 importAssertionsVersion = _opts$importAssertion === void 0 ? "september-2020" : _opts$importAssertion;
113416 return {
113417 presets: [[presetStage1, {
113418 loose: loose,
113419 useBuiltIns: useBuiltIns,
113420 decoratorsLegacy: decoratorsLegacy,
113421 decoratorsBeforeExport: decoratorsBeforeExport,
113422 pipelineProposal: pipelineProposal,
113423 importAssertionsVersion: importAssertionsVersion
113424 }]],
113425 plugins: [proposalFunctionBind]
113426 };
113427 });
113428
113429 var logPlugin = function logPlugin(item, targetVersions, list) {
113430 var filteredList = getInclusionReasons(item, targetVersions, list);
113431 var support = list[item];
113432
113433 if (!support) {
113434 console.log(" " + item);
113435 return;
113436 }
113437
113438 var formattedTargets = "{";
113439 var first = true;
113440
113441 for (var _i = 0, _Object$keys = Object.keys(filteredList); _i < _Object$keys.length; _i++) {
113442 var target = _Object$keys[_i];
113443 if (!first) formattedTargets += ",";
113444 first = false;
113445 formattedTargets += " " + target;
113446 if (support[target]) formattedTargets += " < " + support[target];
113447 }
113448
113449 formattedTargets += " }";
113450 console.log(" " + item + " " + formattedTargets);
113451 };
113452
113453 var defaultExcludesForLooseMode = ["transform-typeof-symbol"];
113454 function getOptionSpecificExcludesFor (_ref) {
113455 var loose = _ref.loose;
113456 return loose ? defaultExcludesForLooseMode : null;
113457 }
113458
113459 var lib$a = createCommonjsModule(function (module, exports) {
113460
113461 Object.defineProperty(exports, "__esModule", {
113462 value: true
113463 });
113464 exports["default"] = void 0;
113465
113466 var _default = (0, _helperPluginUtils.declare)(function (api) {
113467 api.assertVersion(7);
113468 return {
113469 name: "syntax-async-generators",
113470 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113471 parserOpts.plugins.push("asyncGenerators");
113472 }
113473 };
113474 });
113475
113476 exports["default"] = _default;
113477 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-async-generators/lib");
113478
113479 var lib$9 = createCommonjsModule(function (module, exports) {
113480
113481 Object.defineProperty(exports, "__esModule", {
113482 value: true
113483 });
113484 exports["default"] = void 0;
113485
113486 var _default = (0, _helperPluginUtils.declare)(function (api) {
113487 api.assertVersion(7);
113488 return {
113489 name: "syntax-class-properties",
113490 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113491 parserOpts.plugins.push("classProperties", "classPrivateProperties", "classPrivateMethods");
113492 }
113493 };
113494 });
113495
113496 exports["default"] = _default;
113497 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-class-properties/lib");
113498
113499 var lib$8 = createCommonjsModule(function (module, exports) {
113500
113501 Object.defineProperty(exports, "__esModule", {
113502 value: true
113503 });
113504 exports["default"] = void 0;
113505
113506 var _default = (0, _helperPluginUtils.declare)(function (api) {
113507 api.assertVersion(7);
113508 return {
113509 name: "syntax-dynamic-import",
113510 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113511 parserOpts.plugins.push("dynamicImport");
113512 }
113513 };
113514 });
113515
113516 exports["default"] = _default;
113517 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-dynamic-import/lib");
113518
113519 var lib$7 = createCommonjsModule(function (module, exports) {
113520
113521 Object.defineProperty(exports, "__esModule", {
113522 value: true
113523 });
113524 exports["default"] = void 0;
113525
113526 var _default = (0, _helperPluginUtils.declare)(function (api) {
113527 api.assertVersion(7);
113528 return {
113529 name: "syntax-export-namespace-from",
113530 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113531 parserOpts.plugins.push("exportNamespaceFrom");
113532 }
113533 };
113534 });
113535
113536 exports["default"] = _default;
113537 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-export-namespace-from/lib");
113538
113539 var lib$6 = createCommonjsModule(function (module, exports) {
113540
113541 Object.defineProperty(exports, "__esModule", {
113542 value: true
113543 });
113544 exports["default"] = void 0;
113545
113546 var _default = (0, _helperPluginUtils.declare)(function (api) {
113547 api.assertVersion(7);
113548 return {
113549 name: "syntax-json-strings",
113550 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113551 parserOpts.plugins.push("jsonStrings");
113552 }
113553 };
113554 });
113555
113556 exports["default"] = _default;
113557 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-json-strings/lib");
113558
113559 var lib$5 = createCommonjsModule(function (module, exports) {
113560
113561 Object.defineProperty(exports, "__esModule", {
113562 value: true
113563 });
113564 exports["default"] = void 0;
113565
113566 var _default = (0, _helperPluginUtils.declare)(function (api) {
113567 api.assertVersion(7);
113568 return {
113569 name: "syntax-logical-assignment-operators",
113570 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113571 parserOpts.plugins.push("logicalAssignment");
113572 }
113573 };
113574 });
113575
113576 exports["default"] = _default;
113577 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-logical-assignment-operators/lib");
113578
113579 var lib$4 = createCommonjsModule(function (module, exports) {
113580
113581 Object.defineProperty(exports, "__esModule", {
113582 value: true
113583 });
113584 exports["default"] = void 0;
113585
113586 var _default = (0, _helperPluginUtils.declare)(function (api) {
113587 api.assertVersion(7);
113588 return {
113589 name: "syntax-nullish-coalescing-operator",
113590 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113591 parserOpts.plugins.push("nullishCoalescingOperator");
113592 }
113593 };
113594 });
113595
113596 exports["default"] = _default;
113597 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/lib");
113598
113599 var lib$3 = createCommonjsModule(function (module, exports) {
113600
113601 Object.defineProperty(exports, "__esModule", {
113602 value: true
113603 });
113604 exports["default"] = void 0;
113605
113606 var _default = (0, _helperPluginUtils.declare)(function (api) {
113607 api.assertVersion(7);
113608 return {
113609 name: "syntax-numeric-separator",
113610 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113611 parserOpts.plugins.push("numericSeparator");
113612 }
113613 };
113614 });
113615
113616 exports["default"] = _default;
113617 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-numeric-separator/lib");
113618
113619 var lib$2 = createCommonjsModule(function (module, exports) {
113620
113621 Object.defineProperty(exports, "__esModule", {
113622 value: true
113623 });
113624 exports["default"] = void 0;
113625
113626 var _default = (0, _helperPluginUtils.declare)(function (api) {
113627 api.assertVersion(7);
113628 return {
113629 name: "syntax-object-rest-spread",
113630 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113631 parserOpts.plugins.push("objectRestSpread");
113632 }
113633 };
113634 });
113635
113636 exports["default"] = _default;
113637 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-object-rest-spread/lib");
113638
113639 var lib$1 = createCommonjsModule(function (module, exports) {
113640
113641 Object.defineProperty(exports, "__esModule", {
113642 value: true
113643 });
113644 exports["default"] = void 0;
113645
113646 var _default = (0, _helperPluginUtils.declare)(function (api) {
113647 api.assertVersion(7);
113648 return {
113649 name: "syntax-optional-catch-binding",
113650 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113651 parserOpts.plugins.push("optionalCatchBinding");
113652 }
113653 };
113654 });
113655
113656 exports["default"] = _default;
113657 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-optional-catch-binding/lib");
113658
113659 var lib = createCommonjsModule(function (module, exports) {
113660
113661 Object.defineProperty(exports, "__esModule", {
113662 value: true
113663 });
113664 exports["default"] = void 0;
113665
113666 var _default = (0, _helperPluginUtils.declare)(function (api) {
113667 api.assertVersion(7);
113668 return {
113669 name: "syntax-optional-chaining",
113670 manipulateOptions: function manipulateOptions(opts, parserOpts) {
113671 parserOpts.plugins.push("optionalChaining");
113672 }
113673 };
113674 });
113675
113676 exports["default"] = _default;
113677 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/plugin-syntax-optional-chaining/lib");
113678
113679 var transformAsyncArrowsInClass = createCommonjsModule(function (module, exports) {
113680
113681 exports.__esModule = true;
113682 exports["default"] = void 0;
113683 var OPTS = {
113684 allowInsertArrow: false,
113685 specCompliant: false
113686 };
113687
113688 var _default = function _default(_ref) {
113689 var t = _ref.types;
113690 return {
113691 name: "transform-async-arrows-in-class",
113692 visitor: {
113693 ArrowFunctionExpression: function ArrowFunctionExpression(path) {
113694 if (path.node.async && path.findParent(t.isClassMethod)) {
113695 path.arrowFunctionToExpression(OPTS);
113696 }
113697 }
113698 }
113699 };
113700 };
113701
113702 exports["default"] = _default;
113703 module.exports = exports["default"];
113704 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/preset-modules/lib/plugins/transform-async-arrows-in-class");
113705
113706 var transformEdgeDefaultParameters = createCommonjsModule(function (module, exports) {
113707
113708 exports.__esModule = true;
113709 exports["default"] = void 0;
113710
113711 var _default = function _default(_ref) {
113712 var t = _ref.types;
113713
113714 var isArrowParent = function isArrowParent(p) {
113715 return p.parentKey === "params" && p.parentPath && t.isArrowFunctionExpression(p.parentPath);
113716 };
113717
113718 return {
113719 name: "transform-edge-default-parameters",
113720 visitor: {
113721 AssignmentPattern: function AssignmentPattern(path) {
113722 var arrowArgParent = path.find(isArrowParent);
113723
113724 if (arrowArgParent && path.parent.shorthand) {
113725 path.parent.shorthand = false;
113726 (path.parent.extra || {}).shorthand = false;
113727 path.scope.rename(path.parent.key.name);
113728 }
113729 }
113730 }
113731 };
113732 };
113733
113734 exports["default"] = _default;
113735 module.exports = exports["default"];
113736 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/preset-modules/lib/plugins/transform-edge-default-parameters");
113737
113738 var transformEdgeFunctionName = createCommonjsModule(function (module, exports) {
113739
113740 exports.__esModule = true;
113741 exports["default"] = void 0;
113742
113743 var _default = function _default(_ref) {
113744 var t = _ref.types;
113745 return {
113746 name: "transform-edge-function-name",
113747 visitor: {
113748 FunctionExpression: {
113749 exit: function exit(path) {
113750 if (!path.node.id && t.isIdentifier(path.parent.id)) {
113751 var id = t.cloneNode(path.parent.id);
113752 var binding = path.scope.getBinding(id.name);
113753
113754 if (binding == null ? void 0 : binding.constantViolations.length) {
113755 path.scope.rename(id.name);
113756 }
113757
113758 path.node.id = id;
113759 }
113760 }
113761 }
113762 }
113763 };
113764 };
113765
113766 exports["default"] = _default;
113767 module.exports = exports["default"];
113768 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/preset-modules/lib/plugins/transform-edge-function-name");
113769
113770 var transformTaggedTemplateCaching = createCommonjsModule(function (module, exports) {
113771
113772 exports.__esModule = true;
113773 exports["default"] = void 0;
113774
113775 var _default = function _default(_ref) {
113776 var t = _ref.types;
113777 return {
113778 name: "transform-tagged-template-caching",
113779 visitor: {
113780 TaggedTemplateExpression: function TaggedTemplateExpression(path, state) {
113781 var processed = state.get("processed");
113782
113783 if (!processed) {
113784 processed = new Map();
113785 state.set("processed", processed);
113786 }
113787
113788 if (processed.has(path.node)) return path.skip();
113789 var expressions = path.node.quasi.expressions;
113790 var identity = state.get("identity");
113791
113792 if (!identity) {
113793 identity = path.scope.getProgramParent().generateDeclaredUidIdentifier("_");
113794 state.set("identity", identity);
113795 var binding = path.scope.getBinding(identity.name);
113796 binding.path.get("init").replaceWith(t.arrowFunctionExpression([t.identifier("t")], t.identifier("t")));
113797 }
113798
113799 var template = t.taggedTemplateExpression(identity, t.templateLiteral(path.node.quasi.quasis, expressions.map(function () {
113800 return t.numericLiteral(0);
113801 })));
113802 processed.set(template, true);
113803 var ident = path.scope.getProgramParent().generateDeclaredUidIdentifier("t");
113804 path.scope.getBinding(ident.name).path.parent.kind = "let";
113805 var inlineCache = t.logicalExpression("||", ident, t.assignmentExpression("=", ident, template));
113806 var node = t.callExpression(path.node.tag, [inlineCache].concat(_toConsumableArray(expressions)));
113807 path.replaceWith(node);
113808 }
113809 }
113810 };
113811 };
113812
113813 exports["default"] = _default;
113814 module.exports = exports["default"];
113815 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/preset-modules/lib/plugins/transform-tagged-template-caching");
113816
113817 var transformSafariBlockShadowing = createCommonjsModule(function (module, exports) {
113818
113819 exports.__esModule = true;
113820 exports["default"] = _default;
113821
113822 function _default(_ref) {
113823 var t = _ref.types;
113824 return {
113825 name: "transform-safari-block-shadowing",
113826 visitor: {
113827 VariableDeclarator: function VariableDeclarator(path) {
113828 var kind = path.parent.kind;
113829 if (kind !== "let" && kind !== "const") return;
113830 var block = path.scope.block;
113831 if (t.isFunction(block) || t.isProgram(block)) return;
113832 var bindings = t.getOuterBindingIdentifiers(path.node.id);
113833
113834 for (var _i = 0, _Object$keys = Object.keys(bindings); _i < _Object$keys.length; _i++) {
113835 var name = _Object$keys[_i];
113836 var scope = path.scope;
113837 if (!scope.hasOwnBinding(name)) continue;
113838
113839 while (scope = scope.parent) {
113840 if (scope.hasOwnBinding(name)) {
113841 path.scope.rename(name);
113842 break;
113843 }
113844
113845 if (t.isFunction(scope.block) || t.isProgram(scope.block)) {
113846 break;
113847 }
113848 }
113849 }
113850 }
113851 }
113852 };
113853 }
113854
113855 module.exports = exports["default"];
113856 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/preset-modules/lib/plugins/transform-safari-block-shadowing");
113857
113858 var transformSafariForShadowing = createCommonjsModule(function (module, exports) {
113859
113860 exports.__esModule = true;
113861 exports["default"] = void 0;
113862
113863 function handle(declaration) {
113864 if (!declaration.isVariableDeclaration()) return;
113865 var fn = declaration.getFunctionParent();
113866 var name = declaration.node.declarations[0].id.name;
113867
113868 if (fn && fn.scope.hasOwnBinding(name) && fn.scope.getOwnBinding(name).kind === "param") {
113869 declaration.scope.rename(name);
113870 }
113871 }
113872
113873 var _default = function _default() {
113874 return {
113875 name: "transform-safari-for-shadowing",
113876 visitor: {
113877 ForXStatement: function ForXStatement(path) {
113878 handle(path.get("left"));
113879 },
113880 ForStatement: function ForStatement(path) {
113881 handle(path.get("init"));
113882 }
113883 }
113884 };
113885 };
113886
113887 exports["default"] = _default;
113888 module.exports = exports["default"];
113889 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/@babel/preset-modules/lib/plugins/transform-safari-for-shadowing");
113890
113891 function matchAffectedArguments(argumentNodes) {
113892 var spreadIndex = argumentNodes.findIndex(function (node) {
113893 return isSpreadElement(node);
113894 });
113895 return spreadIndex >= 0 && spreadIndex !== argumentNodes.length - 1;
113896 }
113897
113898 function shouldTransform(path) {
113899 var optionalPath = path;
113900 var chains = [];
113901
113902 while (optionalPath.isOptionalMemberExpression() || optionalPath.isOptionalCallExpression()) {
113903 var _optionalPath = optionalPath,
113904 node = _optionalPath.node;
113905 chains.push(node);
113906
113907 if (optionalPath.isOptionalMemberExpression()) {
113908 optionalPath = skipTransparentExprWrappers(optionalPath.get("object"));
113909 } else if (optionalPath.isOptionalCallExpression()) {
113910 optionalPath = skipTransparentExprWrappers(optionalPath.get("callee"));
113911 }
113912 }
113913
113914 for (var i = 0; i < chains.length; i++) {
113915 var _node = chains[i];
113916
113917 if (isOptionalCallExpression(_node) && matchAffectedArguments(_node.arguments)) {
113918 if (_node.optional) {
113919 return true;
113920 }
113921
113922 var callee = chains[i + 1];
113923
113924 if (isOptionalMemberExpression(callee, {
113925 optional: true
113926 })) {
113927 return true;
113928 }
113929 }
113930 }
113931
113932 return false;
113933 }
113934
113935 var bugfixV8SpreadParametersInOptionalChaining = declare(function (api) {
113936 api.assertVersion(7);
113937 var noDocumentAll = api.assumption("noDocumentAll");
113938 var pureGetters = api.assumption("pureGetters");
113939 return {
113940 name: "bugfix-v8-spread-parameters-in-optional-chaining",
113941 visitor: {
113942 "OptionalCallExpression|OptionalMemberExpression": function OptionalCallExpressionOptionalMemberExpression(path) {
113943 if (shouldTransform(path)) {
113944 transform$1(path, {
113945 noDocumentAll: noDocumentAll,
113946 pureGetters: pureGetters
113947 });
113948 }
113949 }
113950 }
113951 };
113952 });
113953
113954 var availablePlugins$1 = {
113955 "bugfix/transform-async-arrows-in-class": function bugfixTransformAsyncArrowsInClass() {
113956 return transformAsyncArrowsInClass;
113957 },
113958 "bugfix/transform-edge-default-parameters": function bugfixTransformEdgeDefaultParameters() {
113959 return transformEdgeDefaultParameters;
113960 },
113961 "bugfix/transform-edge-function-name": function bugfixTransformEdgeFunctionName() {
113962 return transformEdgeFunctionName;
113963 },
113964 "bugfix/transform-safari-block-shadowing": function bugfixTransformSafariBlockShadowing() {
113965 return transformSafariBlockShadowing;
113966 },
113967 "bugfix/transform-safari-for-shadowing": function bugfixTransformSafariForShadowing() {
113968 return transformSafariForShadowing;
113969 },
113970 "bugfix/transform-tagged-template-caching": function bugfixTransformTaggedTemplateCaching() {
113971 return transformTaggedTemplateCaching;
113972 },
113973 "bugfix/transform-v8-spread-parameters-in-optional-chaining": function bugfixTransformV8SpreadParametersInOptionalChaining() {
113974 return bugfixV8SpreadParametersInOptionalChaining;
113975 },
113976 "proposal-async-generator-functions": function proposalAsyncGeneratorFunctions() {
113977 return _proposalAsyncGeneratorFunctions;
113978 },
113979 "proposal-class-properties": function proposalClassProperties() {
113980 return _proposalClassProperties;
113981 },
113982 "proposal-class-static-block": function proposalClassStaticBlock() {
113983 return _proposalClassStaticBlock;
113984 },
113985 "proposal-dynamic-import": function proposalDynamicImport() {
113986 return _proposalDynamicImport;
113987 },
113988 "proposal-export-namespace-from": function proposalExportNamespaceFrom() {
113989 return _proposalExportNamespaceFrom;
113990 },
113991 "proposal-json-strings": function proposalJsonStrings() {
113992 return _proposalJsonStrings;
113993 },
113994 "proposal-logical-assignment-operators": function proposalLogicalAssignmentOperators() {
113995 return _proposalLogicalAssignmentOperators;
113996 },
113997 "proposal-nullish-coalescing-operator": function proposalNullishCoalescingOperator() {
113998 return _proposalNullishCoalescingOperator;
113999 },
114000 "proposal-numeric-separator": function proposalNumericSeparator() {
114001 return _proposalNumericSeparator;
114002 },
114003 "proposal-object-rest-spread": function proposalObjectRestSpread() {
114004 return _proposalObjectRestSpread;
114005 },
114006 "proposal-optional-catch-binding": function proposalOptionalCatchBinding() {
114007 return _proposalOptionalCatchBinding;
114008 },
114009 "proposal-optional-chaining": function proposalOptionalChaining() {
114010 return _proposalOptionalChaining;
114011 },
114012 "proposal-private-methods": function proposalPrivateMethods() {
114013 return _proposalPrivateMethods;
114014 },
114015 "proposal-private-property-in-object": function proposalPrivatePropertyInObject() {
114016 return _proposalPrivatePropertyInObject;
114017 },
114018 "proposal-unicode-property-regex": function proposalUnicodePropertyRegex() {
114019 return _proposalUnicodePropertyRegex;
114020 },
114021 "syntax-async-generators": function syntaxAsyncGenerators() {
114022 return lib$a;
114023 },
114024 "syntax-class-properties": function syntaxClassProperties() {
114025 return lib$9;
114026 },
114027 "syntax-class-static-block": function syntaxClassStaticBlock() {
114028 return _syntaxClassStaticBlock;
114029 },
114030 "syntax-dynamic-import": function syntaxDynamicImport() {
114031 return lib$8;
114032 },
114033 "syntax-export-namespace-from": function syntaxExportNamespaceFrom() {
114034 return lib$7;
114035 },
114036 "syntax-json-strings": function syntaxJsonStrings() {
114037 return lib$6;
114038 },
114039 "syntax-logical-assignment-operators": function syntaxLogicalAssignmentOperators() {
114040 return lib$5;
114041 },
114042 "syntax-nullish-coalescing-operator": function syntaxNullishCoalescingOperator() {
114043 return lib$4;
114044 },
114045 "syntax-numeric-separator": function syntaxNumericSeparator() {
114046 return lib$3;
114047 },
114048 "syntax-object-rest-spread": function syntaxObjectRestSpread() {
114049 return lib$2;
114050 },
114051 "syntax-optional-catch-binding": function syntaxOptionalCatchBinding() {
114052 return lib$1;
114053 },
114054 "syntax-optional-chaining": function syntaxOptionalChaining() {
114055 return lib;
114056 },
114057 "syntax-private-property-in-object": function syntaxPrivatePropertyInObject() {
114058 return _syntaxPrivatePropertyInObject;
114059 },
114060 "syntax-top-level-await": function syntaxTopLevelAwait() {
114061 return _syntaxTopLevelAwait;
114062 },
114063 "transform-arrow-functions": function transformArrowFunctions() {
114064 return _transformArrowFunctions;
114065 },
114066 "transform-async-to-generator": function transformAsyncToGenerator() {
114067 return _transformAsyncToGenerator;
114068 },
114069 "transform-block-scoped-functions": function transformBlockScopedFunctions() {
114070 return _transformBlockScopedFunctions;
114071 },
114072 "transform-block-scoping": function transformBlockScoping() {
114073 return _transformBlockScoping;
114074 },
114075 "transform-classes": function transformClasses() {
114076 return _transformClasses;
114077 },
114078 "transform-computed-properties": function transformComputedProperties() {
114079 return _transformComputedProperties;
114080 },
114081 "transform-destructuring": function transformDestructuring() {
114082 return _transformDestructuring;
114083 },
114084 "transform-dotall-regex": function transformDotallRegex() {
114085 return _transformDotallRegex;
114086 },
114087 "transform-duplicate-keys": function transformDuplicateKeys() {
114088 return _transformDuplicateKeys;
114089 },
114090 "transform-exponentiation-operator": function transformExponentiationOperator() {
114091 return transformExponentialOperator;
114092 },
114093 "transform-for-of": function transformForOf() {
114094 return _transformForOf;
114095 },
114096 "transform-function-name": function transformFunctionName() {
114097 return _transformFunctionName;
114098 },
114099 "transform-literals": function transformLiterals() {
114100 return _transformLiterals;
114101 },
114102 "transform-member-expression-literals": function transformMemberExpressionLiterals() {
114103 return _transformMemberExpressionLiterals;
114104 },
114105 "transform-modules-amd": function transformModulesAmd() {
114106 return _transformModulesAmd;
114107 },
114108 "transform-modules-commonjs": function transformModulesCommonjs() {
114109 return _transformModulesCommonjs;
114110 },
114111 "transform-modules-systemjs": function transformModulesSystemjs() {
114112 return _transformModulesSystemjs;
114113 },
114114 "transform-modules-umd": function transformModulesUmd() {
114115 return _transformModulesUmd;
114116 },
114117 "transform-named-capturing-groups-regex": function transformNamedCapturingGroupsRegex() {
114118 return _transformNamedCapturingGroupsRegex;
114119 },
114120 "transform-new-target": function transformNewTarget() {
114121 return _transformNewTarget;
114122 },
114123 "transform-object-super": function transformObjectSuper() {
114124 return _transformObjectSuper;
114125 },
114126 "transform-parameters": function transformParameters() {
114127 return _transformParameters;
114128 },
114129 "transform-property-literals": function transformPropertyLiterals() {
114130 return _transformPropertyLiterals;
114131 },
114132 "transform-regenerator": function transformRegenerator() {
114133 return _transformRegenerator;
114134 },
114135 "transform-reserved-words": function transformReservedWords() {
114136 return _transformReservedWords;
114137 },
114138 "transform-shorthand-properties": function transformShorthandProperties() {
114139 return _transformShorthandProperties;
114140 },
114141 "transform-spread": function transformSpread() {
114142 return _transformSpread;
114143 },
114144 "transform-sticky-regex": function transformStickyRegex() {
114145 return _transformStickyRegex;
114146 },
114147 "transform-template-literals": function transformTemplateLiterals() {
114148 return _transformTemplateLiterals;
114149 },
114150 "transform-typeof-symbol": function transformTypeofSymbol() {
114151 return _transformTypeofSymbol;
114152 },
114153 "transform-unicode-escapes": function transformUnicodeEscapes() {
114154 return _transformUnicodeEscapes;
114155 },
114156 "transform-unicode-regex": function transformUnicodeRegex() {
114157 return _transformUnicodeRegex;
114158 }
114159 };
114160 var minVersions = {
114161 "proposal-class-static-block": "7.12.0",
114162 "proposal-private-property-in-object": "7.10.0"
114163 };
114164
114165 var has$3 = Function.call.bind(Object.hasOwnProperty);
114166 function removeUnnecessaryItems(items, overlapping) {
114167 items.forEach(function (item) {
114168 var _overlapping$item;
114169
114170 (_overlapping$item = overlapping[item]) == null ? void 0 : _overlapping$item.forEach(function (name) {
114171 return items["delete"](name);
114172 });
114173 });
114174 }
114175 function removeUnsupportedItems(items, babelVersion) {
114176 items.forEach(function (item) {
114177 if (has$3(minVersions, item) && semver$4.lt(babelVersion, minVersions[item])) {
114178 items["delete"](item);
114179 }
114180 });
114181 }
114182
114183 var moduleTransformations = {
114184 auto: "transform-modules-commonjs",
114185 amd: "transform-modules-amd",
114186 commonjs: "transform-modules-commonjs",
114187 cjs: "transform-modules-commonjs",
114188 systemjs: "transform-modules-systemjs",
114189 umd: "transform-modules-umd"
114190 };
114191
114192 var require$$0$1 = {
114193 "transform-async-to-generator": {
114194 chrome: "55",
114195 opera: "42",
114196 edge: "15",
114197 firefox: "52",
114198 safari: "10.1",
114199 node: "7.6",
114200 ios: "10.3",
114201 samsung: "6",
114202 electron: "1.6"
114203 },
114204 "bugfix/transform-async-arrows-in-class": {
114205 chrome: "55",
114206 opera: "42",
114207 edge: "15",
114208 firefox: "52",
114209 safari: "11",
114210 node: "7.6",
114211 ios: "11",
114212 samsung: "6",
114213 electron: "1.6"
114214 },
114215 "transform-parameters": {
114216 chrome: "49",
114217 opera: "36",
114218 edge: "15",
114219 firefox: "53",
114220 safari: "10",
114221 node: "6",
114222 ios: "10",
114223 samsung: "5",
114224 electron: "0.37"
114225 },
114226 "bugfix/transform-edge-default-parameters": {
114227 chrome: "49",
114228 opera: "36",
114229 edge: "18",
114230 firefox: "52",
114231 safari: "10",
114232 node: "6",
114233 ios: "10",
114234 samsung: "5",
114235 electron: "0.37"
114236 },
114237 "transform-function-name": {
114238 chrome: "51",
114239 opera: "38",
114240 edge: "14",
114241 firefox: "53",
114242 safari: "10",
114243 node: "6.5",
114244 ios: "10",
114245 samsung: "5",
114246 electron: "1.2"
114247 },
114248 "bugfix/transform-edge-function-name": {
114249 chrome: "51",
114250 opera: "38",
114251 edge: "79",
114252 firefox: "53",
114253 safari: "10",
114254 node: "6.5",
114255 ios: "10",
114256 samsung: "5",
114257 electron: "1.2"
114258 },
114259 "transform-block-scoping": {
114260 chrome: "49",
114261 opera: "36",
114262 edge: "14",
114263 firefox: "51",
114264 safari: "10",
114265 node: "6",
114266 ios: "10",
114267 samsung: "5",
114268 electron: "0.37"
114269 },
114270 "bugfix/transform-safari-block-shadowing": {
114271 chrome: "49",
114272 opera: "36",
114273 edge: "12",
114274 firefox: "44",
114275 safari: "11",
114276 node: "6",
114277 ie: "11",
114278 ios: "11",
114279 samsung: "5",
114280 electron: "0.37"
114281 },
114282 "bugfix/transform-safari-for-shadowing": {
114283 chrome: "49",
114284 opera: "36",
114285 edge: "12",
114286 firefox: "4",
114287 safari: "11",
114288 node: "6",
114289 ie: "11",
114290 ios: "11",
114291 samsung: "5",
114292 electron: "0.37"
114293 },
114294 "transform-template-literals": {
114295 chrome: "41",
114296 opera: "28",
114297 edge: "13",
114298 firefox: "34",
114299 safari: "9",
114300 node: "4",
114301 ios: "9",
114302 samsung: "3.4",
114303 electron: "0.21"
114304 },
114305 "bugfix/transform-tagged-template-caching": {
114306 chrome: "41",
114307 opera: "28",
114308 edge: "12",
114309 firefox: "34",
114310 safari: "13",
114311 node: "4",
114312 ios: "13",
114313 samsung: "3.4",
114314 electron: "0.21"
114315 },
114316 "proposal-optional-chaining": {
114317 chrome: "80",
114318 opera: "67",
114319 edge: "80",
114320 firefox: "74",
114321 safari: "13.1",
114322 node: "14",
114323 ios: "13.4",
114324 samsung: "13",
114325 electron: "8.0"
114326 },
114327 "bugfix/transform-v8-spread-parameters-in-optional-chaining": {
114328 firefox: "74",
114329 safari: "13.1",
114330 ios: "13.4"
114331 }
114332 };
114333
114334 var pluginBugfixes = require$$0$1;
114335
114336 var pluginsFiltered = {};
114337 var bugfixPluginsFiltered = {};
114338
114339 for (var _i = 0, _Object$keys = Object.keys(plugins); _i < _Object$keys.length; _i++) {
114340 var plugin = _Object$keys[_i];
114341
114342 if (Object.hasOwnProperty.call(availablePlugins$1, plugin)) {
114343 pluginsFiltered[plugin] = plugins[plugin];
114344 }
114345 }
114346
114347 for (var _i2 = 0, _Object$keys2 = Object.keys(pluginBugfixes); _i2 < _Object$keys2.length; _i2++) {
114348 var _plugin = _Object$keys2[_i2];
114349
114350 if (Object.hasOwnProperty.call(availablePlugins$1, _plugin)) {
114351 bugfixPluginsFiltered[_plugin] = pluginBugfixes[_plugin];
114352 }
114353 }
114354
114355 pluginsFiltered["proposal-class-properties"] = pluginsFiltered["proposal-private-methods"];
114356
114357 var TopLevelOptions = {
114358 bugfixes: "bugfixes",
114359 configPath: "configPath",
114360 corejs: "corejs",
114361 debug: "debug",
114362 exclude: "exclude",
114363 forceAllTransforms: "forceAllTransforms",
114364 ignoreBrowserslistConfig: "ignoreBrowserslistConfig",
114365 include: "include",
114366 loose: "loose",
114367 modules: "modules",
114368 shippedProposals: "shippedProposals",
114369 spec: "spec",
114370 targets: "targets",
114371 useBuiltIns: "useBuiltIns",
114372 browserslistEnv: "browserslistEnv"
114373 };
114374 var ModulesOption = {
114375 "false": false,
114376 auto: "auto",
114377 amd: "amd",
114378 commonjs: "commonjs",
114379 cjs: "cjs",
114380 systemjs: "systemjs",
114381 umd: "umd"
114382 };
114383 var UseBuiltInsOption = {
114384 "false": false,
114385 entry: "entry",
114386 usage: "usage"
114387 };
114388
114389 var corejs2DefaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"];
114390 var v$1 = new OptionValidator("@babel/preset-env");
114391 var allPluginsList = Object.keys(pluginsFiltered);
114392 var modulePlugins = ["proposal-dynamic-import"].concat(_toConsumableArray(Object.keys(moduleTransformations).map(function (m) {
114393 return moduleTransformations[m];
114394 })));
114395
114396 var getValidIncludesAndExcludes = function getValidIncludesAndExcludes(type, corejs) {
114397 return new Set([].concat(_toConsumableArray(allPluginsList), _toConsumableArray(type === "exclude" ? modulePlugins : []), _toConsumableArray(corejs ? corejs == 2 ? [].concat(_toConsumableArray(Object.keys(corejs2BuiltIns)), corejs2DefaultWebIncludes) : Object.keys(require$$0$3) : [])));
114398 };
114399
114400 var pluginToRegExp = function pluginToRegExp(plugin) {
114401 if (plugin instanceof RegExp) return plugin;
114402
114403 try {
114404 return new RegExp("^" + normalizePluginName(plugin) + "$");
114405 } catch (e) {
114406 return null;
114407 }
114408 };
114409
114410 var selectPlugins = function selectPlugins(regexp, type, corejs) {
114411 return Array.from(getValidIncludesAndExcludes(type, corejs)).filter(function (item) {
114412 return regexp instanceof RegExp && regexp.test(item);
114413 });
114414 };
114415
114416 var flatten = function flatten(array) {
114417 var _ref;
114418
114419 return (_ref = []).concat.apply(_ref, _toConsumableArray(array));
114420 };
114421
114422 var expandIncludesAndExcludes = function expandIncludesAndExcludes(plugins, type, corejs) {
114423 if (plugins === void 0) {
114424 plugins = [];
114425 }
114426
114427 if (plugins.length === 0) return [];
114428 var selectedPlugins = plugins.map(function (plugin) {
114429 return selectPlugins(pluginToRegExp(plugin), type, corejs);
114430 });
114431 var invalidRegExpList = plugins.filter(function (p, i) {
114432 return selectedPlugins[i].length === 0;
114433 });
114434 v$1.invariant(invalidRegExpList.length === 0, "The plugins/built-ins '" + invalidRegExpList.join(", ") + "' passed to the '" + type + "' option are not\n valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env");
114435 return flatten(selectedPlugins);
114436 };
114437
114438 var normalizePluginName = function normalizePluginName(plugin) {
114439 return plugin.replace(/^(@babel\/|babel-)(plugin-)?/, "");
114440 };
114441 var checkDuplicateIncludeExcludes = function checkDuplicateIncludeExcludes(include, exclude) {
114442 if (include === void 0) {
114443 include = [];
114444 }
114445
114446 if (exclude === void 0) {
114447 exclude = [];
114448 }
114449
114450 var duplicates = include.filter(function (opt) {
114451 return exclude.indexOf(opt) >= 0;
114452 });
114453 v$1.invariant(duplicates.length === 0, "The plugins/built-ins '" + duplicates.join(", ") + "' were found in both the \"include\" and\n \"exclude\" options.");
114454 };
114455
114456 var normalizeTargets = function normalizeTargets(targets) {
114457 if (typeof targets === "string" || Array.isArray(targets)) {
114458 return {
114459 browsers: targets
114460 };
114461 }
114462
114463 return Object.assign({}, targets);
114464 };
114465
114466 var validateModulesOption = function validateModulesOption(modulesOpt) {
114467 if (modulesOpt === void 0) {
114468 modulesOpt = ModulesOption.auto;
114469 }
114470
114471 v$1.invariant(ModulesOption[modulesOpt.toString()] || modulesOpt === ModulesOption["false"], "The 'modules' option must be one of \n" + " - 'false' to indicate no module processing\n" + " - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'" + " - 'auto' (default) which will automatically select 'false' if the current\n" + " process is known to support ES module syntax, or \"commonjs\" otherwise\n");
114472 return modulesOpt;
114473 };
114474 var validateUseBuiltInsOption = function validateUseBuiltInsOption(builtInsOpt) {
114475 if (builtInsOpt === void 0) {
114476 builtInsOpt = false;
114477 }
114478
114479 v$1.invariant(UseBuiltInsOption[builtInsOpt.toString()] || builtInsOpt === UseBuiltInsOption["false"], "The 'useBuiltIns' option must be either\n 'false' (default) to indicate no polyfill,\n '\"entry\"' to indicate replacing the entry polyfill, or\n '\"usage\"' to import only used polyfills per file");
114480 return builtInsOpt;
114481 };
114482 function normalizeCoreJSOption(corejs, useBuiltIns) {
114483 var proposals = false;
114484 var rawVersion;
114485
114486 if (useBuiltIns && corejs === undefined) {
114487 rawVersion = 2;
114488 console.warn("\nWARNING (@babel/preset-env): We noticed you're using the `useBuiltIns` option without declaring a " + "core-js version. Currently, we assume version 2.x when no version " + "is passed. Since this default version will likely change in future " + "versions of Babel, we recommend explicitly setting the core-js version " + "you are using via the `corejs` option.\n" + "\nYou should also be sure that the version you pass to the `corejs` " + "option matches the version specified in your `package.json`'s " + "`dependencies` section. If it doesn't, you need to run one of the " + "following commands:\n\n" + " npm install --save core-js@2 npm install --save core-js@3\n" + " yarn add core-js@2 yarn add core-js@3\n\n" + "More info about useBuiltIns: https://babeljs.io/docs/en/babel-preset-env#usebuiltins\n" + "More info about core-js: https://babeljs.io/docs/en/babel-preset-env#corejs");
114489 } else if (typeof corejs === "object" && corejs !== null) {
114490 rawVersion = corejs.version;
114491 proposals = Boolean(corejs.proposals);
114492 } else {
114493 rawVersion = corejs;
114494 }
114495
114496 var version = rawVersion ? semver$4.coerce(String(rawVersion)) : false;
114497
114498 if (!useBuiltIns && version) {
114499 console.warn("\nWARNING (@babel/preset-env): The `corejs` option only has an effect when the `useBuiltIns` option is not `false`\n");
114500 }
114501
114502 if (useBuiltIns && (!version || version.major < 2 || version.major > 3)) {
114503 throw new RangeError("Invalid Option: The version passed to `corejs` is invalid. Currently, " + "only core-js@2 and core-js@3 are supported.");
114504 }
114505
114506 return {
114507 version: version,
114508 proposals: proposals
114509 };
114510 }
114511 function normalizeOptions$3(opts) {
114512 v$1.validateTopLevelOptions(opts, TopLevelOptions);
114513 var useBuiltIns = validateUseBuiltInsOption(opts.useBuiltIns);
114514 var corejs = normalizeCoreJSOption(opts.corejs, useBuiltIns);
114515 var include = expandIncludesAndExcludes(opts.include, TopLevelOptions.include, !!corejs.version && corejs.version.major);
114516 var exclude = expandIncludesAndExcludes(opts.exclude, TopLevelOptions.exclude, !!corejs.version && corejs.version.major);
114517 checkDuplicateIncludeExcludes(include, exclude);
114518 return {
114519 bugfixes: v$1.validateBooleanOption(TopLevelOptions.bugfixes, opts.bugfixes, false),
114520 configPath: v$1.validateStringOption(TopLevelOptions.configPath, opts.configPath, browser$6.cwd()),
114521 corejs: corejs,
114522 debug: v$1.validateBooleanOption(TopLevelOptions.debug, opts.debug, false),
114523 include: include,
114524 exclude: exclude,
114525 forceAllTransforms: v$1.validateBooleanOption(TopLevelOptions.forceAllTransforms, opts.forceAllTransforms, false),
114526 ignoreBrowserslistConfig: v$1.validateBooleanOption(TopLevelOptions.ignoreBrowserslistConfig, opts.ignoreBrowserslistConfig, false),
114527 loose: v$1.validateBooleanOption(TopLevelOptions.loose, opts.loose),
114528 modules: validateModulesOption(opts.modules),
114529 shippedProposals: v$1.validateBooleanOption(TopLevelOptions.shippedProposals, opts.shippedProposals, false),
114530 spec: v$1.validateBooleanOption(TopLevelOptions.spec, opts.spec, false),
114531 targets: normalizeTargets(opts.targets),
114532 useBuiltIns: useBuiltIns,
114533 browserslistEnv: v$1.validateStringOption(TopLevelOptions.browserslistEnv, opts.browserslistEnv)
114534 };
114535 }
114536
114537 var proposalPlugins = new Set(["proposal-class-static-block", "proposal-private-property-in-object"]);
114538 var pluginSyntaxObject = {
114539 "proposal-async-generator-functions": "syntax-async-generators",
114540 "proposal-class-properties": "syntax-class-properties",
114541 "proposal-class-static-block": "syntax-class-static-block",
114542 "proposal-json-strings": "syntax-json-strings",
114543 "proposal-nullish-coalescing-operator": "syntax-nullish-coalescing-operator",
114544 "proposal-numeric-separator": "syntax-numeric-separator",
114545 "proposal-object-rest-spread": "syntax-object-rest-spread",
114546 "proposal-optional-catch-binding": "syntax-optional-catch-binding",
114547 "proposal-optional-chaining": "syntax-optional-chaining",
114548 "proposal-private-methods": "syntax-class-properties",
114549 "proposal-private-property-in-object": "syntax-private-property-in-object",
114550 "proposal-unicode-property-regex": null
114551 };
114552 var pluginSyntaxEntries = Object.keys(pluginSyntaxObject).map(function (key) {
114553 return [key, pluginSyntaxObject[key]];
114554 });
114555 var pluginSyntaxMap = new Map(pluginSyntaxEntries);
114556 var shippedProposals = {
114557 pluginSyntaxMap: pluginSyntaxMap,
114558 proposalPlugins: proposalPlugins
114559 };
114560
114561 var require$$0 = {
114562 "transform-async-to-generator": [
114563 "bugfix/transform-async-arrows-in-class"
114564 ],
114565 "transform-parameters": [
114566 "bugfix/transform-edge-default-parameters"
114567 ],
114568 "transform-function-name": [
114569 "bugfix/transform-edge-function-name"
114570 ],
114571 "transform-block-scoping": [
114572 "bugfix/transform-safari-block-shadowing",
114573 "bugfix/transform-safari-for-shadowing"
114574 ],
114575 "transform-template-literals": [
114576 "bugfix/transform-tagged-template-caching"
114577 ],
114578 "proposal-optional-chaining": [
114579 "bugfix/transform-v8-spread-parameters-in-optional-chaining"
114580 ]
114581 };
114582
114583 var overlappingPlugins = require$$0;
114584
114585 function getImportSource$1(_ref) {
114586 var node = _ref.node;
114587 if (node.specifiers.length === 0) return node.source.value;
114588 }
114589 function getRequireSource$1(_ref2) {
114590 var node = _ref2.node;
114591 if (!isExpressionStatement(node)) return;
114592 var expression = node.expression;
114593
114594 if (isCallExpression(expression) && isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && isStringLiteral(expression.arguments[0])) {
114595 return expression.arguments[0].value;
114596 }
114597 }
114598 function isPolyfillSource(source) {
114599 return source === "@babel/polyfill" || source === "core-js";
114600 }
114601
114602 function isRegeneratorSource(source) {
114603 return source === "regenerator-runtime/runtime" || source === "regenerator-runtime/runtime.js";
114604 }
114605
114606 function removeRegeneratorEntryPlugin () {
114607 var visitor = {
114608 ImportDeclaration: function ImportDeclaration(path) {
114609 if (isRegeneratorSource(getImportSource$1(path))) {
114610 this.regeneratorImportExcluded = true;
114611 path.remove();
114612 }
114613 },
114614 Program: function Program(path) {
114615 var _this = this;
114616
114617 path.get("body").forEach(function (bodyPath) {
114618 if (isRegeneratorSource(getRequireSource$1(bodyPath))) {
114619 _this.regeneratorImportExcluded = true;
114620 bodyPath.remove();
114621 }
114622 });
114623 }
114624 };
114625 return {
114626 name: "preset-env/remove-regenerator",
114627 visitor: visitor,
114628 pre: function pre() {
114629 this.regeneratorImportExcluded = false;
114630 },
114631 post: function post() {
114632 if (this.opts.debug && this.regeneratorImportExcluded) {
114633 var filename = this.file.opts.filename;
114634
114635 if (browser$6.env.BABEL_ENV === "test") {
114636 filename = filename.replace(/\\/g, "/");
114637 }
114638
114639 console.log("\n[" + filename + "] Based on your targets, regenerator-runtime import excluded.");
114640 }
114641 }
114642 };
114643 }
114644
114645 var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4;
114646 var BABEL_POLYFILL_DEPRECATION = "\n `@babel/polyfill` is deprecated. Please, use required parts of `core-js`\n and `regenerator-runtime/runtime` separately";
114647 var NO_DIRECT_POLYFILL_IMPORT = "\n When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.\n Please remove the direct import of `SPECIFIER` or use `useBuiltIns: 'entry'` instead.";
114648 function legacyBabelPolyfillPlugin (_ref, _ref2) {
114649 var template = _ref.template;
114650 var regenerator = _ref2.regenerator,
114651 deprecated = _ref2.deprecated,
114652 usage = _ref2.usage;
114653 return {
114654 name: "preset-env/replace-babel-polyfill",
114655 visitor: {
114656 ImportDeclaration: function (_ImportDeclaration) {
114657 function ImportDeclaration(_x) {
114658 return _ImportDeclaration.apply(this, arguments);
114659 }
114660
114661 ImportDeclaration.toString = function () {
114662 return _ImportDeclaration.toString();
114663 };
114664
114665 return ImportDeclaration;
114666 }(function (path) {
114667 var src = getImportSource$1(path);
114668
114669 if (usage && isPolyfillSource(src)) {
114670 console.warn(NO_DIRECT_POLYFILL_IMPORT.replace("SPECIFIER", src));
114671 if (!deprecated) path.remove();
114672 } else if (src === "@babel/polyfill") {
114673 if (deprecated) {
114674 console.warn(BABEL_POLYFILL_DEPRECATION);
114675 } else if (regenerator) {
114676 path.replaceWithMultiple(template.ast(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose(["\n import \"core-js\";\n import \"regenerator-runtime/runtime.js\";\n "]))));
114677 } else {
114678 path.replaceWith(template.ast(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteralLoose(["\n import \"core-js\";\n "]))));
114679 }
114680 }
114681 }),
114682 Program: function (_Program) {
114683 function Program(_x2) {
114684 return _Program.apply(this, arguments);
114685 }
114686
114687 Program.toString = function () {
114688 return _Program.toString();
114689 };
114690
114691 return Program;
114692 }(function (path) {
114693 path.get("body").forEach(function (bodyPath) {
114694 var src = getRequireSource$1(bodyPath);
114695
114696 if (usage && isPolyfillSource(src)) {
114697 console.warn(NO_DIRECT_POLYFILL_IMPORT.replace("SPECIFIER", src));
114698 if (!deprecated) bodyPath.remove();
114699 } else if (src === "@babel/polyfill") {
114700 if (deprecated) {
114701 console.warn(BABEL_POLYFILL_DEPRECATION);
114702 } else if (regenerator) {
114703 bodyPath.replaceWithMultiple(template.ast(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteralLoose(["\n require(\"core-js\");\n require(\"regenerator-runtime/runtime.js\");\n "]))));
114704 } else {
114705 bodyPath.replaceWith(template.ast(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n require(\"core-js\");\n "]))));
114706 }
114707 }
114708 });
114709 })
114710 }
114711 };
114712 }
114713
114714 var semver = createCommonjsModule(function (module, exports) {
114715 exports = module.exports = SemVer;
114716 var debug;
114717
114718 if (typeof browser$6 === 'object' && browser$6.env && browser$6.env.NODE_DEBUG && /\bsemver\b/i.test(browser$6.env.NODE_DEBUG)) {
114719 debug = function debug() {
114720 var args = Array.prototype.slice.call(arguments, 0);
114721 args.unshift('SEMVER');
114722 console.log.apply(console, args);
114723 };
114724 } else {
114725 debug = function debug() {};
114726 }
114727
114728 exports.SEMVER_SPEC_VERSION = '2.0.0';
114729 var MAX_LENGTH = 256;
114730 var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
114731 var MAX_SAFE_COMPONENT_LENGTH = 16;
114732 var re = exports.re = [];
114733 var src = exports.src = [];
114734 var t = exports.tokens = {};
114735 var R = 0;
114736
114737 function tok(n) {
114738 t[n] = R++;
114739 }
114740
114741 tok('NUMERICIDENTIFIER');
114742 src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*';
114743 tok('NUMERICIDENTIFIERLOOSE');
114744 src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+';
114745 tok('NONNUMERICIDENTIFIER');
114746 src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
114747 tok('MAINVERSION');
114748 src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')';
114749 tok('MAINVERSIONLOOSE');
114750 src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')';
114751 tok('PRERELEASEIDENTIFIER');
114752 src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
114753 tok('PRERELEASEIDENTIFIERLOOSE');
114754 src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
114755 tok('PRERELEASE');
114756 src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))';
114757 tok('PRERELEASELOOSE');
114758 src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))';
114759 tok('BUILDIDENTIFIER');
114760 src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
114761 tok('BUILD');
114762 src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))';
114763 tok('FULL');
114764 tok('FULLPLAIN');
114765 src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?';
114766 src[t.FULL] = '^' + src[t.FULLPLAIN] + '$';
114767 tok('LOOSEPLAIN');
114768 src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?';
114769 tok('LOOSE');
114770 src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$';
114771 tok('GTLT');
114772 src[t.GTLT] = '((?:<|>)?=?)';
114773 tok('XRANGEIDENTIFIERLOOSE');
114774 src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
114775 tok('XRANGEIDENTIFIER');
114776 src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*';
114777 tok('XRANGEPLAIN');
114778 src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?';
114779 tok('XRANGEPLAINLOOSE');
114780 src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?';
114781 tok('XRANGE');
114782 src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$';
114783 tok('XRANGELOOSE');
114784 src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$';
114785 tok('COERCE');
114786 src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])';
114787 tok('COERCERTL');
114788 re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g');
114789 tok('LONETILDE');
114790 src[t.LONETILDE] = '(?:~>?)';
114791 tok('TILDETRIM');
114792 src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+';
114793 re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g');
114794 var tildeTrimReplace = '$1~';
114795 tok('TILDE');
114796 src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$';
114797 tok('TILDELOOSE');
114798 src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$';
114799 tok('LONECARET');
114800 src[t.LONECARET] = '(?:\\^)';
114801 tok('CARETTRIM');
114802 src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+';
114803 re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g');
114804 var caretTrimReplace = '$1^';
114805 tok('CARET');
114806 src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$';
114807 tok('CARETLOOSE');
114808 src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$';
114809 tok('COMPARATORLOOSE');
114810 src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$';
114811 tok('COMPARATOR');
114812 src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$';
114813 tok('COMPARATORTRIM');
114814 src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')';
114815 re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g');
114816 var comparatorTrimReplace = '$1$2$3';
114817 tok('HYPHENRANGE');
114818 src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$';
114819 tok('HYPHENRANGELOOSE');
114820 src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$';
114821 tok('STAR');
114822 src[t.STAR] = '(<|>)?=?\\s*\\*';
114823
114824 for (var i = 0; i < R; i++) {
114825 debug(i, src[i]);
114826
114827 if (!re[i]) {
114828 re[i] = new RegExp(src[i]);
114829 }
114830 }
114831
114832 exports.parse = parse;
114833
114834 function parse(version, options) {
114835 if (!options || typeof options !== 'object') {
114836 options = {
114837 loose: !!options,
114838 includePrerelease: false
114839 };
114840 }
114841
114842 if (version instanceof SemVer) {
114843 return version;
114844 }
114845
114846 if (typeof version !== 'string') {
114847 return null;
114848 }
114849
114850 if (version.length > MAX_LENGTH) {
114851 return null;
114852 }
114853
114854 var r = options.loose ? re[t.LOOSE] : re[t.FULL];
114855
114856 if (!r.test(version)) {
114857 return null;
114858 }
114859
114860 try {
114861 return new SemVer(version, options);
114862 } catch (er) {
114863 return null;
114864 }
114865 }
114866
114867 exports.valid = valid;
114868
114869 function valid(version, options) {
114870 var v = parse(version, options);
114871 return v ? v.version : null;
114872 }
114873
114874 exports.clean = clean;
114875
114876 function clean(version, options) {
114877 var s = parse(version.trim().replace(/^[=v]+/, ''), options);
114878 return s ? s.version : null;
114879 }
114880
114881 exports.SemVer = SemVer;
114882
114883 function SemVer(version, options) {
114884 if (!options || typeof options !== 'object') {
114885 options = {
114886 loose: !!options,
114887 includePrerelease: false
114888 };
114889 }
114890
114891 if (version instanceof SemVer) {
114892 if (version.loose === options.loose) {
114893 return version;
114894 } else {
114895 version = version.version;
114896 }
114897 } else if (typeof version !== 'string') {
114898 throw new TypeError('Invalid Version: ' + version);
114899 }
114900
114901 if (version.length > MAX_LENGTH) {
114902 throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters');
114903 }
114904
114905 if (!(this instanceof SemVer)) {
114906 return new SemVer(version, options);
114907 }
114908
114909 debug('SemVer', version, options);
114910 this.options = options;
114911 this.loose = !!options.loose;
114912 var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
114913
114914 if (!m) {
114915 throw new TypeError('Invalid Version: ' + version);
114916 }
114917
114918 this.raw = version;
114919 this.major = +m[1];
114920 this.minor = +m[2];
114921 this.patch = +m[3];
114922
114923 if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
114924 throw new TypeError('Invalid major version');
114925 }
114926
114927 if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
114928 throw new TypeError('Invalid minor version');
114929 }
114930
114931 if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
114932 throw new TypeError('Invalid patch version');
114933 }
114934
114935 if (!m[4]) {
114936 this.prerelease = [];
114937 } else {
114938 this.prerelease = m[4].split('.').map(function (id) {
114939 if (/^[0-9]+$/.test(id)) {
114940 var num = +id;
114941
114942 if (num >= 0 && num < MAX_SAFE_INTEGER) {
114943 return num;
114944 }
114945 }
114946
114947 return id;
114948 });
114949 }
114950
114951 this.build = m[5] ? m[5].split('.') : [];
114952 this.format();
114953 }
114954
114955 SemVer.prototype.format = function () {
114956 this.version = this.major + '.' + this.minor + '.' + this.patch;
114957
114958 if (this.prerelease.length) {
114959 this.version += '-' + this.prerelease.join('.');
114960 }
114961
114962 return this.version;
114963 };
114964
114965 SemVer.prototype.toString = function () {
114966 return this.version;
114967 };
114968
114969 SemVer.prototype.compare = function (other) {
114970 debug('SemVer.compare', this.version, this.options, other);
114971
114972 if (!(other instanceof SemVer)) {
114973 other = new SemVer(other, this.options);
114974 }
114975
114976 return this.compareMain(other) || this.comparePre(other);
114977 };
114978
114979 SemVer.prototype.compareMain = function (other) {
114980 if (!(other instanceof SemVer)) {
114981 other = new SemVer(other, this.options);
114982 }
114983
114984 return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
114985 };
114986
114987 SemVer.prototype.comparePre = function (other) {
114988 if (!(other instanceof SemVer)) {
114989 other = new SemVer(other, this.options);
114990 }
114991
114992 if (this.prerelease.length && !other.prerelease.length) {
114993 return -1;
114994 } else if (!this.prerelease.length && other.prerelease.length) {
114995 return 1;
114996 } else if (!this.prerelease.length && !other.prerelease.length) {
114997 return 0;
114998 }
114999
115000 var i = 0;
115001
115002 do {
115003 var a = this.prerelease[i];
115004 var b = other.prerelease[i];
115005 debug('prerelease compare', i, a, b);
115006
115007 if (a === undefined && b === undefined) {
115008 return 0;
115009 } else if (b === undefined) {
115010 return 1;
115011 } else if (a === undefined) {
115012 return -1;
115013 } else if (a === b) {
115014 continue;
115015 } else {
115016 return compareIdentifiers(a, b);
115017 }
115018 } while (++i);
115019 };
115020
115021 SemVer.prototype.compareBuild = function (other) {
115022 if (!(other instanceof SemVer)) {
115023 other = new SemVer(other, this.options);
115024 }
115025
115026 var i = 0;
115027
115028 do {
115029 var a = this.build[i];
115030 var b = other.build[i];
115031 debug('prerelease compare', i, a, b);
115032
115033 if (a === undefined && b === undefined) {
115034 return 0;
115035 } else if (b === undefined) {
115036 return 1;
115037 } else if (a === undefined) {
115038 return -1;
115039 } else if (a === b) {
115040 continue;
115041 } else {
115042 return compareIdentifiers(a, b);
115043 }
115044 } while (++i);
115045 };
115046
115047 SemVer.prototype.inc = function (release, identifier) {
115048 switch (release) {
115049 case 'premajor':
115050 this.prerelease.length = 0;
115051 this.patch = 0;
115052 this.minor = 0;
115053 this.major++;
115054 this.inc('pre', identifier);
115055 break;
115056
115057 case 'preminor':
115058 this.prerelease.length = 0;
115059 this.patch = 0;
115060 this.minor++;
115061 this.inc('pre', identifier);
115062 break;
115063
115064 case 'prepatch':
115065 this.prerelease.length = 0;
115066 this.inc('patch', identifier);
115067 this.inc('pre', identifier);
115068 break;
115069
115070 case 'prerelease':
115071 if (this.prerelease.length === 0) {
115072 this.inc('patch', identifier);
115073 }
115074
115075 this.inc('pre', identifier);
115076 break;
115077
115078 case 'major':
115079 if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
115080 this.major++;
115081 }
115082
115083 this.minor = 0;
115084 this.patch = 0;
115085 this.prerelease = [];
115086 break;
115087
115088 case 'minor':
115089 if (this.patch !== 0 || this.prerelease.length === 0) {
115090 this.minor++;
115091 }
115092
115093 this.patch = 0;
115094 this.prerelease = [];
115095 break;
115096
115097 case 'patch':
115098 if (this.prerelease.length === 0) {
115099 this.patch++;
115100 }
115101
115102 this.prerelease = [];
115103 break;
115104
115105 case 'pre':
115106 if (this.prerelease.length === 0) {
115107 this.prerelease = [0];
115108 } else {
115109 var i = this.prerelease.length;
115110
115111 while (--i >= 0) {
115112 if (typeof this.prerelease[i] === 'number') {
115113 this.prerelease[i]++;
115114 i = -2;
115115 }
115116 }
115117
115118 if (i === -1) {
115119 this.prerelease.push(0);
115120 }
115121 }
115122
115123 if (identifier) {
115124 if (this.prerelease[0] === identifier) {
115125 if (isNaN(this.prerelease[1])) {
115126 this.prerelease = [identifier, 0];
115127 }
115128 } else {
115129 this.prerelease = [identifier, 0];
115130 }
115131 }
115132
115133 break;
115134
115135 default:
115136 throw new Error('invalid increment argument: ' + release);
115137 }
115138
115139 this.format();
115140 this.raw = this.version;
115141 return this;
115142 };
115143
115144 exports.inc = inc;
115145
115146 function inc(version, release, loose, identifier) {
115147 if (typeof loose === 'string') {
115148 identifier = loose;
115149 loose = undefined;
115150 }
115151
115152 try {
115153 return new SemVer(version, loose).inc(release, identifier).version;
115154 } catch (er) {
115155 return null;
115156 }
115157 }
115158
115159 exports.diff = diff;
115160
115161 function diff(version1, version2) {
115162 if (eq(version1, version2)) {
115163 return null;
115164 } else {
115165 var v1 = parse(version1);
115166 var v2 = parse(version2);
115167 var prefix = '';
115168
115169 if (v1.prerelease.length || v2.prerelease.length) {
115170 prefix = 'pre';
115171 var defaultResult = 'prerelease';
115172 }
115173
115174 for (var key in v1) {
115175 if (key === 'major' || key === 'minor' || key === 'patch') {
115176 if (v1[key] !== v2[key]) {
115177 return prefix + key;
115178 }
115179 }
115180 }
115181
115182 return defaultResult;
115183 }
115184 }
115185
115186 exports.compareIdentifiers = compareIdentifiers;
115187 var numeric = /^[0-9]+$/;
115188
115189 function compareIdentifiers(a, b) {
115190 var anum = numeric.test(a);
115191 var bnum = numeric.test(b);
115192
115193 if (anum && bnum) {
115194 a = +a;
115195 b = +b;
115196 }
115197
115198 return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
115199 }
115200
115201 exports.rcompareIdentifiers = rcompareIdentifiers;
115202
115203 function rcompareIdentifiers(a, b) {
115204 return compareIdentifiers(b, a);
115205 }
115206
115207 exports.major = major;
115208
115209 function major(a, loose) {
115210 return new SemVer(a, loose).major;
115211 }
115212
115213 exports.minor = minor;
115214
115215 function minor(a, loose) {
115216 return new SemVer(a, loose).minor;
115217 }
115218
115219 exports.patch = patch;
115220
115221 function patch(a, loose) {
115222 return new SemVer(a, loose).patch;
115223 }
115224
115225 exports.compare = compare;
115226
115227 function compare(a, b, loose) {
115228 return new SemVer(a, loose).compare(new SemVer(b, loose));
115229 }
115230
115231 exports.compareLoose = compareLoose;
115232
115233 function compareLoose(a, b) {
115234 return compare(a, b, true);
115235 }
115236
115237 exports.compareBuild = compareBuild;
115238
115239 function compareBuild(a, b, loose) {
115240 var versionA = new SemVer(a, loose);
115241 var versionB = new SemVer(b, loose);
115242 return versionA.compare(versionB) || versionA.compareBuild(versionB);
115243 }
115244
115245 exports.rcompare = rcompare;
115246
115247 function rcompare(a, b, loose) {
115248 return compare(b, a, loose);
115249 }
115250
115251 exports.sort = sort;
115252
115253 function sort(list, loose) {
115254 return list.sort(function (a, b) {
115255 return exports.compareBuild(a, b, loose);
115256 });
115257 }
115258
115259 exports.rsort = rsort;
115260
115261 function rsort(list, loose) {
115262 return list.sort(function (a, b) {
115263 return exports.compareBuild(b, a, loose);
115264 });
115265 }
115266
115267 exports.gt = gt;
115268
115269 function gt(a, b, loose) {
115270 return compare(a, b, loose) > 0;
115271 }
115272
115273 exports.lt = lt;
115274
115275 function lt(a, b, loose) {
115276 return compare(a, b, loose) < 0;
115277 }
115278
115279 exports.eq = eq;
115280
115281 function eq(a, b, loose) {
115282 return compare(a, b, loose) === 0;
115283 }
115284
115285 exports.neq = neq;
115286
115287 function neq(a, b, loose) {
115288 return compare(a, b, loose) !== 0;
115289 }
115290
115291 exports.gte = gte;
115292
115293 function gte(a, b, loose) {
115294 return compare(a, b, loose) >= 0;
115295 }
115296
115297 exports.lte = lte;
115298
115299 function lte(a, b, loose) {
115300 return compare(a, b, loose) <= 0;
115301 }
115302
115303 exports.cmp = cmp;
115304
115305 function cmp(a, op, b, loose) {
115306 switch (op) {
115307 case '===':
115308 if (typeof a === 'object') a = a.version;
115309 if (typeof b === 'object') b = b.version;
115310 return a === b;
115311
115312 case '!==':
115313 if (typeof a === 'object') a = a.version;
115314 if (typeof b === 'object') b = b.version;
115315 return a !== b;
115316
115317 case '':
115318 case '=':
115319 case '==':
115320 return eq(a, b, loose);
115321
115322 case '!=':
115323 return neq(a, b, loose);
115324
115325 case '>':
115326 return gt(a, b, loose);
115327
115328 case '>=':
115329 return gte(a, b, loose);
115330
115331 case '<':
115332 return lt(a, b, loose);
115333
115334 case '<=':
115335 return lte(a, b, loose);
115336
115337 default:
115338 throw new TypeError('Invalid operator: ' + op);
115339 }
115340 }
115341
115342 exports.Comparator = Comparator;
115343
115344 function Comparator(comp, options) {
115345 if (!options || typeof options !== 'object') {
115346 options = {
115347 loose: !!options,
115348 includePrerelease: false
115349 };
115350 }
115351
115352 if (comp instanceof Comparator) {
115353 if (comp.loose === !!options.loose) {
115354 return comp;
115355 } else {
115356 comp = comp.value;
115357 }
115358 }
115359
115360 if (!(this instanceof Comparator)) {
115361 return new Comparator(comp, options);
115362 }
115363
115364 debug('comparator', comp, options);
115365 this.options = options;
115366 this.loose = !!options.loose;
115367 this.parse(comp);
115368
115369 if (this.semver === ANY) {
115370 this.value = '';
115371 } else {
115372 this.value = this.operator + this.semver.version;
115373 }
115374
115375 debug('comp', this);
115376 }
115377
115378 var ANY = {};
115379
115380 Comparator.prototype.parse = function (comp) {
115381 var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
115382 var m = comp.match(r);
115383
115384 if (!m) {
115385 throw new TypeError('Invalid comparator: ' + comp);
115386 }
115387
115388 this.operator = m[1] !== undefined ? m[1] : '';
115389
115390 if (this.operator === '=') {
115391 this.operator = '';
115392 }
115393
115394 if (!m[2]) {
115395 this.semver = ANY;
115396 } else {
115397 this.semver = new SemVer(m[2], this.options.loose);
115398 }
115399 };
115400
115401 Comparator.prototype.toString = function () {
115402 return this.value;
115403 };
115404
115405 Comparator.prototype.test = function (version) {
115406 debug('Comparator.test', version, this.options.loose);
115407
115408 if (this.semver === ANY || version === ANY) {
115409 return true;
115410 }
115411
115412 if (typeof version === 'string') {
115413 try {
115414 version = new SemVer(version, this.options);
115415 } catch (er) {
115416 return false;
115417 }
115418 }
115419
115420 return cmp(version, this.operator, this.semver, this.options);
115421 };
115422
115423 Comparator.prototype.intersects = function (comp, options) {
115424 if (!(comp instanceof Comparator)) {
115425 throw new TypeError('a Comparator is required');
115426 }
115427
115428 if (!options || typeof options !== 'object') {
115429 options = {
115430 loose: !!options,
115431 includePrerelease: false
115432 };
115433 }
115434
115435 var rangeTmp;
115436
115437 if (this.operator === '') {
115438 if (this.value === '') {
115439 return true;
115440 }
115441
115442 rangeTmp = new Range(comp.value, options);
115443 return satisfies(this.value, rangeTmp, options);
115444 } else if (comp.operator === '') {
115445 if (comp.value === '') {
115446 return true;
115447 }
115448
115449 rangeTmp = new Range(this.value, options);
115450 return satisfies(comp.semver, rangeTmp, options);
115451 }
115452
115453 var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
115454 var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
115455 var sameSemVer = this.semver.version === comp.semver.version;
115456 var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
115457 var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
115458 var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
115459 return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
115460 };
115461
115462 exports.Range = Range;
115463
115464 function Range(range, options) {
115465 if (!options || typeof options !== 'object') {
115466 options = {
115467 loose: !!options,
115468 includePrerelease: false
115469 };
115470 }
115471
115472 if (range instanceof Range) {
115473 if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
115474 return range;
115475 } else {
115476 return new Range(range.raw, options);
115477 }
115478 }
115479
115480 if (range instanceof Comparator) {
115481 return new Range(range.value, options);
115482 }
115483
115484 if (!(this instanceof Range)) {
115485 return new Range(range, options);
115486 }
115487
115488 this.options = options;
115489 this.loose = !!options.loose;
115490 this.includePrerelease = !!options.includePrerelease;
115491 this.raw = range;
115492 this.set = range.split(/\s*\|\|\s*/).map(function (range) {
115493 return this.parseRange(range.trim());
115494 }, this).filter(function (c) {
115495 return c.length;
115496 });
115497
115498 if (!this.set.length) {
115499 throw new TypeError('Invalid SemVer Range: ' + range);
115500 }
115501
115502 this.format();
115503 }
115504
115505 Range.prototype.format = function () {
115506 this.range = this.set.map(function (comps) {
115507 return comps.join(' ').trim();
115508 }).join('||').trim();
115509 return this.range;
115510 };
115511
115512 Range.prototype.toString = function () {
115513 return this.range;
115514 };
115515
115516 Range.prototype.parseRange = function (range) {
115517 var loose = this.options.loose;
115518 range = range.trim();
115519 var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
115520 range = range.replace(hr, hyphenReplace);
115521 debug('hyphen replace', range);
115522 range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
115523 debug('comparator trim', range, re[t.COMPARATORTRIM]);
115524 range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
115525 range = range.replace(re[t.CARETTRIM], caretTrimReplace);
115526 range = range.split(/\s+/).join(' ');
115527 var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
115528 var set = range.split(' ').map(function (comp) {
115529 return parseComparator(comp, this.options);
115530 }, this).join(' ').split(/\s+/);
115531
115532 if (this.options.loose) {
115533 set = set.filter(function (comp) {
115534 return !!comp.match(compRe);
115535 });
115536 }
115537
115538 set = set.map(function (comp) {
115539 return new Comparator(comp, this.options);
115540 }, this);
115541 return set;
115542 };
115543
115544 Range.prototype.intersects = function (range, options) {
115545 if (!(range instanceof Range)) {
115546 throw new TypeError('a Range is required');
115547 }
115548
115549 return this.set.some(function (thisComparators) {
115550 return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
115551 return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
115552 return rangeComparators.every(function (rangeComparator) {
115553 return thisComparator.intersects(rangeComparator, options);
115554 });
115555 });
115556 });
115557 });
115558 };
115559
115560 function isSatisfiable(comparators, options) {
115561 var result = true;
115562 var remainingComparators = comparators.slice();
115563 var testComparator = remainingComparators.pop();
115564
115565 while (result && remainingComparators.length) {
115566 result = remainingComparators.every(function (otherComparator) {
115567 return testComparator.intersects(otherComparator, options);
115568 });
115569 testComparator = remainingComparators.pop();
115570 }
115571
115572 return result;
115573 }
115574
115575 exports.toComparators = toComparators;
115576
115577 function toComparators(range, options) {
115578 return new Range(range, options).set.map(function (comp) {
115579 return comp.map(function (c) {
115580 return c.value;
115581 }).join(' ').trim().split(' ');
115582 });
115583 }
115584
115585 function parseComparator(comp, options) {
115586 debug('comp', comp, options);
115587 comp = replaceCarets(comp, options);
115588 debug('caret', comp);
115589 comp = replaceTildes(comp, options);
115590 debug('tildes', comp);
115591 comp = replaceXRanges(comp, options);
115592 debug('xrange', comp);
115593 comp = replaceStars(comp, options);
115594 debug('stars', comp);
115595 return comp;
115596 }
115597
115598 function isX(id) {
115599 return !id || id.toLowerCase() === 'x' || id === '*';
115600 }
115601
115602 function replaceTildes(comp, options) {
115603 return comp.trim().split(/\s+/).map(function (comp) {
115604 return replaceTilde(comp, options);
115605 }).join(' ');
115606 }
115607
115608 function replaceTilde(comp, options) {
115609 var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
115610 return comp.replace(r, function (_, M, m, p, pr) {
115611 debug('tilde', comp, _, M, m, p, pr);
115612 var ret;
115613
115614 if (isX(M)) {
115615 ret = '';
115616 } else if (isX(m)) {
115617 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
115618 } else if (isX(p)) {
115619 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
115620 } else if (pr) {
115621 debug('replaceTilde pr', pr);
115622 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
115623 } else {
115624 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
115625 }
115626
115627 debug('tilde return', ret);
115628 return ret;
115629 });
115630 }
115631
115632 function replaceCarets(comp, options) {
115633 return comp.trim().split(/\s+/).map(function (comp) {
115634 return replaceCaret(comp, options);
115635 }).join(' ');
115636 }
115637
115638 function replaceCaret(comp, options) {
115639 debug('caret', comp, options);
115640 var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
115641 return comp.replace(r, function (_, M, m, p, pr) {
115642 debug('caret', comp, _, M, m, p, pr);
115643 var ret;
115644
115645 if (isX(M)) {
115646 ret = '';
115647 } else if (isX(m)) {
115648 ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
115649 } else if (isX(p)) {
115650 if (M === '0') {
115651 ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
115652 } else {
115653 ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
115654 }
115655 } else if (pr) {
115656 debug('replaceCaret pr', pr);
115657
115658 if (M === '0') {
115659 if (m === '0') {
115660 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1);
115661 } else {
115662 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
115663 }
115664 } else {
115665 ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0';
115666 }
115667 } else {
115668 debug('no pr');
115669
115670 if (M === '0') {
115671 if (m === '0') {
115672 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1);
115673 } else {
115674 ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
115675 }
115676 } else {
115677 ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0';
115678 }
115679 }
115680
115681 debug('caret return', ret);
115682 return ret;
115683 });
115684 }
115685
115686 function replaceXRanges(comp, options) {
115687 debug('replaceXRanges', comp, options);
115688 return comp.split(/\s+/).map(function (comp) {
115689 return replaceXRange(comp, options);
115690 }).join(' ');
115691 }
115692
115693 function replaceXRange(comp, options) {
115694 comp = comp.trim();
115695 var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
115696 return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
115697 debug('xRange', comp, ret, gtlt, M, m, p, pr);
115698 var xM = isX(M);
115699 var xm = xM || isX(m);
115700 var xp = xm || isX(p);
115701 var anyX = xp;
115702
115703 if (gtlt === '=' && anyX) {
115704 gtlt = '';
115705 }
115706
115707 pr = options.includePrerelease ? '-0' : '';
115708
115709 if (xM) {
115710 if (gtlt === '>' || gtlt === '<') {
115711 ret = '<0.0.0-0';
115712 } else {
115713 ret = '*';
115714 }
115715 } else if (gtlt && anyX) {
115716 if (xm) {
115717 m = 0;
115718 }
115719
115720 p = 0;
115721
115722 if (gtlt === '>') {
115723 gtlt = '>=';
115724
115725 if (xm) {
115726 M = +M + 1;
115727 m = 0;
115728 p = 0;
115729 } else {
115730 m = +m + 1;
115731 p = 0;
115732 }
115733 } else if (gtlt === '<=') {
115734 gtlt = '<';
115735
115736 if (xm) {
115737 M = +M + 1;
115738 } else {
115739 m = +m + 1;
115740 }
115741 }
115742
115743 ret = gtlt + M + '.' + m + '.' + p + pr;
115744 } else if (xm) {
115745 ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr;
115746 } else if (xp) {
115747 ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr;
115748 }
115749
115750 debug('xRange return', ret);
115751 return ret;
115752 });
115753 }
115754
115755 function replaceStars(comp, options) {
115756 debug('replaceStars', comp, options);
115757 return comp.trim().replace(re[t.STAR], '');
115758 }
115759
115760 function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
115761 if (isX(fM)) {
115762 from = '';
115763 } else if (isX(fm)) {
115764 from = '>=' + fM + '.0.0';
115765 } else if (isX(fp)) {
115766 from = '>=' + fM + '.' + fm + '.0';
115767 } else {
115768 from = '>=' + from;
115769 }
115770
115771 if (isX(tM)) {
115772 to = '';
115773 } else if (isX(tm)) {
115774 to = '<' + (+tM + 1) + '.0.0';
115775 } else if (isX(tp)) {
115776 to = '<' + tM + '.' + (+tm + 1) + '.0';
115777 } else if (tpr) {
115778 to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
115779 } else {
115780 to = '<=' + to;
115781 }
115782
115783 return (from + ' ' + to).trim();
115784 }
115785
115786 Range.prototype.test = function (version) {
115787 if (!version) {
115788 return false;
115789 }
115790
115791 if (typeof version === 'string') {
115792 try {
115793 version = new SemVer(version, this.options);
115794 } catch (er) {
115795 return false;
115796 }
115797 }
115798
115799 for (var i = 0; i < this.set.length; i++) {
115800 if (testSet(this.set[i], version, this.options)) {
115801 return true;
115802 }
115803 }
115804
115805 return false;
115806 };
115807
115808 function testSet(set, version, options) {
115809 for (var i = 0; i < set.length; i++) {
115810 if (!set[i].test(version)) {
115811 return false;
115812 }
115813 }
115814
115815 if (version.prerelease.length && !options.includePrerelease) {
115816 for (i = 0; i < set.length; i++) {
115817 debug(set[i].semver);
115818
115819 if (set[i].semver === ANY) {
115820 continue;
115821 }
115822
115823 if (set[i].semver.prerelease.length > 0) {
115824 var allowed = set[i].semver;
115825
115826 if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
115827 return true;
115828 }
115829 }
115830 }
115831
115832 return false;
115833 }
115834
115835 return true;
115836 }
115837
115838 exports.satisfies = satisfies;
115839
115840 function satisfies(version, range, options) {
115841 try {
115842 range = new Range(range, options);
115843 } catch (er) {
115844 return false;
115845 }
115846
115847 return range.test(version);
115848 }
115849
115850 exports.maxSatisfying = maxSatisfying;
115851
115852 function maxSatisfying(versions, range, options) {
115853 var max = null;
115854 var maxSV = null;
115855
115856 try {
115857 var rangeObj = new Range(range, options);
115858 } catch (er) {
115859 return null;
115860 }
115861
115862 versions.forEach(function (v) {
115863 if (rangeObj.test(v)) {
115864 if (!max || maxSV.compare(v) === -1) {
115865 max = v;
115866 maxSV = new SemVer(max, options);
115867 }
115868 }
115869 });
115870 return max;
115871 }
115872
115873 exports.minSatisfying = minSatisfying;
115874
115875 function minSatisfying(versions, range, options) {
115876 var min = null;
115877 var minSV = null;
115878
115879 try {
115880 var rangeObj = new Range(range, options);
115881 } catch (er) {
115882 return null;
115883 }
115884
115885 versions.forEach(function (v) {
115886 if (rangeObj.test(v)) {
115887 if (!min || minSV.compare(v) === 1) {
115888 min = v;
115889 minSV = new SemVer(min, options);
115890 }
115891 }
115892 });
115893 return min;
115894 }
115895
115896 exports.minVersion = minVersion;
115897
115898 function minVersion(range, loose) {
115899 range = new Range(range, loose);
115900 var minver = new SemVer('0.0.0');
115901
115902 if (range.test(minver)) {
115903 return minver;
115904 }
115905
115906 minver = new SemVer('0.0.0-0');
115907
115908 if (range.test(minver)) {
115909 return minver;
115910 }
115911
115912 minver = null;
115913
115914 for (var i = 0; i < range.set.length; ++i) {
115915 var comparators = range.set[i];
115916 comparators.forEach(function (comparator) {
115917 var compver = new SemVer(comparator.semver.version);
115918
115919 switch (comparator.operator) {
115920 case '>':
115921 if (compver.prerelease.length === 0) {
115922 compver.patch++;
115923 } else {
115924 compver.prerelease.push(0);
115925 }
115926
115927 compver.raw = compver.format();
115928
115929 case '':
115930 case '>=':
115931 if (!minver || gt(minver, compver)) {
115932 minver = compver;
115933 }
115934
115935 break;
115936
115937 case '<':
115938 case '<=':
115939 break;
115940
115941 default:
115942 throw new Error('Unexpected operation: ' + comparator.operator);
115943 }
115944 });
115945 }
115946
115947 if (minver && range.test(minver)) {
115948 return minver;
115949 }
115950
115951 return null;
115952 }
115953
115954 exports.validRange = validRange;
115955
115956 function validRange(range, options) {
115957 try {
115958 return new Range(range, options).range || '*';
115959 } catch (er) {
115960 return null;
115961 }
115962 }
115963
115964 exports.ltr = ltr;
115965
115966 function ltr(version, range, options) {
115967 return outside(version, range, '<', options);
115968 }
115969
115970 exports.gtr = gtr;
115971
115972 function gtr(version, range, options) {
115973 return outside(version, range, '>', options);
115974 }
115975
115976 exports.outside = outside;
115977
115978 function outside(version, range, hilo, options) {
115979 version = new SemVer(version, options);
115980 range = new Range(range, options);
115981 var gtfn, ltefn, ltfn, comp, ecomp;
115982
115983 switch (hilo) {
115984 case '>':
115985 gtfn = gt;
115986 ltefn = lte;
115987 ltfn = lt;
115988 comp = '>';
115989 ecomp = '>=';
115990 break;
115991
115992 case '<':
115993 gtfn = lt;
115994 ltefn = gte;
115995 ltfn = gt;
115996 comp = '<';
115997 ecomp = '<=';
115998 break;
115999
116000 default:
116001 throw new TypeError('Must provide a hilo val of "<" or ">"');
116002 }
116003
116004 if (satisfies(version, range, options)) {
116005 return false;
116006 }
116007
116008 for (var i = 0; i < range.set.length; ++i) {
116009 var comparators = range.set[i];
116010 var high = null;
116011 var low = null;
116012 comparators.forEach(function (comparator) {
116013 if (comparator.semver === ANY) {
116014 comparator = new Comparator('>=0.0.0');
116015 }
116016
116017 high = high || comparator;
116018 low = low || comparator;
116019
116020 if (gtfn(comparator.semver, high.semver, options)) {
116021 high = comparator;
116022 } else if (ltfn(comparator.semver, low.semver, options)) {
116023 low = comparator;
116024 }
116025 });
116026
116027 if (high.operator === comp || high.operator === ecomp) {
116028 return false;
116029 }
116030
116031 if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
116032 return false;
116033 } else if (low.operator === ecomp && ltfn(version, low.semver)) {
116034 return false;
116035 }
116036 }
116037
116038 return true;
116039 }
116040
116041 exports.prerelease = prerelease;
116042
116043 function prerelease(version, options) {
116044 var parsed = parse(version, options);
116045 return parsed && parsed.prerelease.length ? parsed.prerelease : null;
116046 }
116047
116048 exports.intersects = intersects;
116049
116050 function intersects(r1, r2, options) {
116051 r1 = new Range(r1, options);
116052 r2 = new Range(r2, options);
116053 return r1.intersects(r2);
116054 }
116055
116056 exports.coerce = coerce;
116057
116058 function coerce(version, options) {
116059 if (version instanceof SemVer) {
116060 return version;
116061 }
116062
116063 if (typeof version === 'number') {
116064 version = String(version);
116065 }
116066
116067 if (typeof version !== 'string') {
116068 return null;
116069 }
116070
116071 options = options || {};
116072 var match = null;
116073
116074 if (!options.rtl) {
116075 match = version.match(re[t.COERCE]);
116076 } else {
116077 var next;
116078
116079 while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
116080 if (!match || next.index + next[0].length !== match.index + match[0].length) {
116081 match = next;
116082 }
116083
116084 re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
116085 }
116086
116087 re[t.COERCERTL].lastIndex = -1;
116088 }
116089
116090 if (match === null) {
116091 return null;
116092 }
116093
116094 return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options);
116095 }
116096 }, "/$$rollup_base$$/packages/babel-preset-env/node_modules/babel-plugin-polyfill-corejs2/node_modules/semver");
116097
116098 var _excluded = ["method", "targets", "ignoreBrowserslistConfig", "configPath", "debug", "shouldInjectPolyfill", "absoluteImports"];
116099
116100 var _templateObject, _templateObject2, _templateObject3;
116101
116102 var _ref$2 = undefined || babel,
116103 t$1$1 = _ref$2.types,
116104 template = _ref$2.template;
116105
116106 function intersection(a, b) {
116107 var result = new Set();
116108 a.forEach(function (v) {
116109 return b.has(v) && result.add(v);
116110 });
116111 return result;
116112 }
116113
116114 function has$1(object, key) {
116115 return Object.prototype.hasOwnProperty.call(object, key);
116116 }
116117
116118 function getType(target) {
116119 return Object.prototype.toString.call(target).slice(8, -1);
116120 }
116121
116122 function resolveId(path) {
116123 if (path.isIdentifier() && !path.scope.hasBinding(path.node.name, true)) {
116124 return path.node.name;
116125 }
116126
116127 var _path$evaluate = path.evaluate(),
116128 deopt = _path$evaluate.deopt;
116129
116130 if (deopt && deopt.isIdentifier()) {
116131 return deopt.node.name;
116132 }
116133 }
116134
116135 function resolveKey(path, computed) {
116136 if (computed === void 0) {
116137 computed = false;
116138 }
116139
116140 var node = path.node,
116141 parent = path.parent,
116142 scope = path.scope;
116143 if (path.isStringLiteral()) return node.value;
116144 var name = node.name;
116145 var isIdentifier = path.isIdentifier();
116146 if (isIdentifier && !(computed || parent.computed)) return name;
116147
116148 if (computed && path.isMemberExpression() && path.get("object").isIdentifier({
116149 name: "Symbol"
116150 }) && !scope.hasBinding("Symbol", true)) {
116151 var sym = resolveKey(path.get("property"), path.node.computed);
116152 if (sym) return "Symbol." + sym;
116153 }
116154
116155 if (!isIdentifier || scope.hasBinding(name, true)) {
116156 var _path$evaluate2 = path.evaluate(),
116157 value = _path$evaluate2.value;
116158
116159 if (typeof value === "string") return value;
116160 }
116161 }
116162
116163 function resolveSource(obj) {
116164 if (obj.isMemberExpression() && obj.get("property").isIdentifier({
116165 name: "prototype"
116166 })) {
116167 var _id = resolveId(obj.get("object"));
116168
116169 if (_id) {
116170 return {
116171 id: _id,
116172 placement: "prototype"
116173 };
116174 }
116175
116176 return {
116177 id: null,
116178 placement: null
116179 };
116180 }
116181
116182 var id = resolveId(obj);
116183
116184 if (id) {
116185 return {
116186 id: id,
116187 placement: "static"
116188 };
116189 }
116190
116191 var _obj$evaluate = obj.evaluate(),
116192 value = _obj$evaluate.value;
116193
116194 if (value !== undefined) {
116195 return {
116196 id: getType(value),
116197 placement: "prototype"
116198 };
116199 } else if (obj.isRegExpLiteral()) {
116200 return {
116201 id: "RegExp",
116202 placement: "prototype"
116203 };
116204 } else if (obj.isFunction()) {
116205 return {
116206 id: "Function",
116207 placement: "prototype"
116208 };
116209 }
116210
116211 return {
116212 id: null,
116213 placement: null
116214 };
116215 }
116216
116217 function getImportSource(_ref2) {
116218 var node = _ref2.node;
116219 if (node.specifiers.length === 0) return node.source.value;
116220 }
116221
116222 function getRequireSource(_ref3) {
116223 var node = _ref3.node;
116224 if (!t$1$1.isExpressionStatement(node)) return;
116225 var expression = node.expression;
116226 var isRequire = t$1$1.isCallExpression(expression) && t$1$1.isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && t$1$1.isStringLiteral(expression.arguments[0]);
116227 if (isRequire) return expression.arguments[0].value;
116228 }
116229
116230 function hoist(node) {
116231 node._blockHoist = 3;
116232 return node;
116233 }
116234
116235 function createUtilsGetter(cache) {
116236 return function (path) {
116237 var prog = path.findParent(function (p) {
116238 return p.isProgram();
116239 });
116240 return {
116241 injectGlobalImport: function injectGlobalImport(url) {
116242 cache.storeAnonymous(prog, url, function (isScript, source) {
116243 return isScript ? template.statement.ast(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["require(", ")"])), source) : t$1$1.importDeclaration([], source);
116244 });
116245 },
116246 injectNamedImport: function injectNamedImport(url, name, hint) {
116247 if (hint === void 0) {
116248 hint = name;
116249 }
116250
116251 return cache.storeNamed(prog, url, name, function (isScript, source, name) {
116252 var id = prog.scope.generateUidIdentifier(hint);
116253 return {
116254 node: isScript ? hoist(template.statement.ast(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n var ", " = require(", ").", "\n "])), id, source, name)) : t$1$1.importDeclaration([t$1$1.importSpecifier(id, name)], source),
116255 name: id.name
116256 };
116257 });
116258 },
116259 injectDefaultImport: function injectDefaultImport(url, hint) {
116260 if (hint === void 0) {
116261 hint = url;
116262 }
116263
116264 return cache.storeNamed(prog, url, "default", function (isScript, source) {
116265 var id = prog.scope.generateUidIdentifier(hint);
116266 return {
116267 node: isScript ? hoist(template.statement.ast(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["var ", " = require(", ")"])), id, source)) : t$1$1.importDeclaration([t$1$1.importDefaultSpecifier(id)], source),
116268 name: id.name
116269 };
116270 });
116271 }
116272 };
116273 };
116274 }
116275
116276 var _ref4 = undefined || babel,
116277 t$3 = _ref4.types;
116278
116279 var ImportsCache = function () {
116280 function ImportsCache(resolver) {
116281 this._imports = new WeakMap();
116282 this._anonymousImports = new WeakMap();
116283 this._lastImports = new WeakMap();
116284 this._resolver = resolver;
116285 }
116286
116287 var _proto = ImportsCache.prototype;
116288
116289 _proto.storeAnonymous = function storeAnonymous(programPath, url, getVal) {
116290 var key = this._normalizeKey(programPath, url);
116291
116292 var imports = this._ensure(this._anonymousImports, programPath, Set);
116293
116294 if (imports.has(key)) return;
116295 var node = getVal(programPath.node.sourceType === "script", t$3.stringLiteral(this._resolver(url)));
116296 imports.add(key);
116297
116298 this._injectImport(programPath, node);
116299 };
116300
116301 _proto.storeNamed = function storeNamed(programPath, url, name, getVal) {
116302 var key = this._normalizeKey(programPath, url, name);
116303
116304 var imports = this._ensure(this._imports, programPath, Map);
116305
116306 if (!imports.has(key)) {
116307 var _getVal = getVal(programPath.node.sourceType === "script", t$3.stringLiteral(this._resolver(url)), t$3.identifier(name)),
116308 node = _getVal.node,
116309 id = _getVal.name;
116310
116311 imports.set(key, id);
116312
116313 this._injectImport(programPath, node);
116314 }
116315
116316 return t$3.identifier(imports.get(key));
116317 };
116318
116319 _proto._injectImport = function _injectImport(programPath, node) {
116320 var lastImport = this._lastImports.get(programPath);
116321
116322 if (lastImport && lastImport.node && lastImport.parent === programPath.node && lastImport.container === programPath.node.body) {
116323 lastImport = lastImport.insertAfter(node);
116324 } else {
116325 lastImport = programPath.unshiftContainer("body", node);
116326 }
116327
116328 lastImport = lastImport[lastImport.length - 1];
116329
116330 this._lastImports.set(programPath, lastImport);
116331 };
116332
116333 _proto._ensure = function _ensure(map, programPath, Collection) {
116334 var collection = map.get(programPath);
116335
116336 if (!collection) {
116337 collection = new Collection();
116338 map.set(programPath, collection);
116339 }
116340
116341 return collection;
116342 };
116343
116344 _proto._normalizeKey = function _normalizeKey(programPath, url, name) {
116345 if (name === void 0) {
116346 name = "";
116347 }
116348
116349 var sourceType = programPath.node.sourceType;
116350 return (name && sourceType) + "::" + url + "::" + name;
116351 };
116352
116353 return ImportsCache;
116354 }();
116355
116356 var presetEnvSilentDebugHeader = "#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets";
116357
116358 function stringifyTargetsMultiline(targets) {
116359 return JSON.stringify(prettifyTargets(targets), null, 2);
116360 }
116361
116362 function patternToRegExp(pattern) {
116363 if (pattern instanceof RegExp) return pattern;
116364
116365 try {
116366 return new RegExp("^" + pattern + "$");
116367 } catch (_unused) {
116368 return null;
116369 }
116370 }
116371
116372 function buildUnusedError(label, unused) {
116373 if (!unused.length) return "";
116374 return " - The following \"" + label + "\" patterns didn't match any polyfill:\n" + unused.map(function (original) {
116375 return " " + String(original) + "\n";
116376 }).join("");
116377 }
116378
116379 function buldDuplicatesError(duplicates) {
116380 if (!duplicates.size) return "";
116381 return " - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\n" + Array.from(duplicates, function (name) {
116382 return " " + name + "\n";
116383 }).join("");
116384 }
116385
116386 function validateIncludeExclude(provider, polyfills, includePatterns, excludePatterns) {
116387 var current;
116388
116389 var filter = function filter(pattern) {
116390 var regexp = patternToRegExp(pattern);
116391 if (!regexp) return false;
116392 var matched = false;
116393
116394 for (var _iterator = _createForOfIteratorHelperLoose(polyfills), _step; !(_step = _iterator()).done;) {
116395 var polyfill = _step.value;
116396
116397 if (regexp.test(polyfill)) {
116398 matched = true;
116399 current.add(polyfill);
116400 }
116401 }
116402
116403 return !matched;
116404 };
116405
116406 var include = current = new Set();
116407 var unusedInclude = Array.from(includePatterns).filter(filter);
116408 var exclude = current = new Set();
116409 var unusedExclude = Array.from(excludePatterns).filter(filter);
116410 var duplicates = intersection(include, exclude);
116411
116412 if (duplicates.size > 0 || unusedInclude.length > 0 || unusedExclude.length > 0) {
116413 throw new Error("Error while validating the \"" + provider + "\" provider options:\n" + buildUnusedError("include", unusedInclude) + buildUnusedError("exclude", unusedExclude) + buldDuplicatesError(duplicates));
116414 }
116415
116416 return {
116417 include: include,
116418 exclude: exclude
116419 };
116420 }
116421
116422 function applyMissingDependenciesDefaults(options, babelApi) {
116423 var _options$missingDepen = options.missingDependencies,
116424 missingDependencies = _options$missingDepen === void 0 ? {} : _options$missingDepen;
116425 if (missingDependencies === false) return false;
116426 var caller = babelApi.caller(function (caller) {
116427 return caller == null ? void 0 : caller.name;
116428 });
116429 var _missingDependencies$ = missingDependencies.log,
116430 log = _missingDependencies$ === void 0 ? "deferred" : _missingDependencies$,
116431 _missingDependencies$2 = missingDependencies.inject,
116432 inject = _missingDependencies$2 === void 0 ? caller === "rollup-plugin-babel" ? "throw" : "import" : _missingDependencies$2,
116433 _missingDependencies$3 = missingDependencies.all,
116434 all = _missingDependencies$3 === void 0 ? false : _missingDependencies$3;
116435 return {
116436 log: log,
116437 inject: inject,
116438 all: all
116439 };
116440 }
116441
116442 var usage = function usage(callProvider) {
116443 function property(object, key, placement, path) {
116444 return callProvider({
116445 kind: "property",
116446 object: object,
116447 key: key,
116448 placement: placement
116449 }, path);
116450 }
116451
116452 return {
116453 ReferencedIdentifier: function ReferencedIdentifier(path) {
116454 var name = path.node.name,
116455 scope = path.scope;
116456 if (scope.getBindingIdentifier(name)) return;
116457 callProvider({
116458 kind: "global",
116459 name: name
116460 }, path);
116461 },
116462 MemberExpression: function MemberExpression(path) {
116463 var key = resolveKey(path.get("property"), path.node.computed);
116464 if (!key || key === "prototype") return;
116465 var object = path.get("object");
116466 var binding = object.scope.getBinding(object.node.name);
116467 if (binding && binding.path.isImportNamespaceSpecifier()) return;
116468 var source = resolveSource(object);
116469 return property(source.id, key, source.placement, path);
116470 },
116471 ObjectPattern: function ObjectPattern(path) {
116472 var parentPath = path.parentPath,
116473 parent = path.parent;
116474 var obj;
116475
116476 if (parentPath.isVariableDeclarator()) {
116477 obj = parentPath.get("init");
116478 } else if (parentPath.isAssignmentExpression()) {
116479 obj = parentPath.get("right");
116480 } else if (parentPath.isFunction()) {
116481 var grand = parentPath.parentPath;
116482
116483 if (grand.isCallExpression() || grand.isNewExpression()) {
116484 if (grand.node.callee === parent) {
116485 obj = grand.get("arguments")[path.key];
116486 }
116487 }
116488 }
116489
116490 var id = null;
116491 var placement = null;
116492
116493 if (obj) {
116494 var _resolveSource = resolveSource(obj);
116495
116496 id = _resolveSource.id;
116497 placement = _resolveSource.placement;
116498 }
116499
116500 for (var _iterator2 = _createForOfIteratorHelperLoose(path.get("properties")), _step2; !(_step2 = _iterator2()).done;) {
116501 var prop = _step2.value;
116502
116503 if (prop.isObjectProperty()) {
116504 var key = resolveKey(prop.get("key"));
116505 if (key) property(id, key, placement, prop);
116506 }
116507 }
116508 },
116509 BinaryExpression: function BinaryExpression(path) {
116510 if (path.node.operator !== "in") return;
116511 var source = resolveSource(path.get("right"));
116512 var key = resolveKey(path.get("left"), true);
116513 if (!key) return;
116514 callProvider({
116515 kind: "in",
116516 object: source.id,
116517 key: key,
116518 placement: source.placement
116519 }, path);
116520 }
116521 };
116522 };
116523
116524 var entry = function entry(callProvider) {
116525 return {
116526 ImportDeclaration: function ImportDeclaration(path) {
116527 var source = getImportSource(path);
116528 if (!source) return;
116529 callProvider({
116530 kind: "import",
116531 source: source
116532 }, path);
116533 },
116534 Program: function Program(path) {
116535 path.get("body").forEach(function (bodyPath) {
116536 var source = getRequireSource(bodyPath);
116537 if (!source) return;
116538 callProvider({
116539 kind: "import",
116540 source: source
116541 }, bodyPath);
116542 });
116543 }
116544 };
116545 };
116546
116547 function resolve(dirname, moduleName, absoluteImports) {
116548 if (absoluteImports === false) return moduleName;
116549 throw new Error("\"absoluteImports\" is not supported in bundles prepared for the browser.");
116550 }
116551
116552 function has$2(basedir, name) {
116553 return true;
116554 }
116555
116556 function logMissing(missingDeps) {}
116557
116558 function laterLogMissing(missingDeps) {}
116559
116560 var PossibleGlobalObjects = new Set(["global", "globalThis", "self", "window"]);
116561
116562 function createMetaResolver(polyfills) {
116563 var staticP = polyfills["static"],
116564 instanceP = polyfills.instance,
116565 globalP = polyfills.global;
116566 return function (meta) {
116567 if (meta.kind === "global" && globalP && has$1(globalP, meta.name)) {
116568 return {
116569 kind: "global",
116570 desc: globalP[meta.name],
116571 name: meta.name
116572 };
116573 }
116574
116575 if (meta.kind === "property" || meta.kind === "in") {
116576 var placement = meta.placement,
116577 object = meta.object,
116578 key = meta.key;
116579
116580 if (object && placement === "static") {
116581 if (globalP && PossibleGlobalObjects.has(object) && has$1(globalP, key)) {
116582 return {
116583 kind: "global",
116584 desc: globalP[key],
116585 name: key
116586 };
116587 }
116588
116589 if (staticP && has$1(staticP, object) && has$1(staticP[object], key)) {
116590 return {
116591 kind: "static",
116592 desc: staticP[object][key],
116593 name: object + "$" + key
116594 };
116595 }
116596 }
116597
116598 if (instanceP && has$1(instanceP, key)) {
116599 return {
116600 kind: "instance",
116601 desc: instanceP[key],
116602 name: "" + key
116603 };
116604 }
116605 }
116606 };
116607 }
116608
116609 var getTargets = getTargets$2["default"] || getTargets$2;
116610
116611 function resolveOptions(options, babelApi) {
116612 var method = options.method,
116613 targetsOption = options.targets,
116614 ignoreBrowserslistConfig = options.ignoreBrowserslistConfig,
116615 configPath = options.configPath,
116616 debug = options.debug,
116617 shouldInjectPolyfill = options.shouldInjectPolyfill,
116618 absoluteImports = options.absoluteImports,
116619 providerOptions = _objectWithoutProperties(options, _excluded);
116620
116621 var methodName;
116622 if (method === "usage-global") methodName = "usageGlobal";else if (method === "entry-global") methodName = "entryGlobal";else if (method === "usage-pure") methodName = "usagePure";else if (typeof method !== "string") {
116623 throw new Error(".method must be a string");
116624 } else {
116625 throw new Error(".method must be one of \"entry-global\", \"usage-global\"" + (" or \"usage-pure\" (received " + JSON.stringify(method) + ")"));
116626 }
116627
116628 if (typeof shouldInjectPolyfill === "function") {
116629 if (options.include || options.exclude) {
116630 throw new Error(".include and .exclude are not supported when using the" + " .shouldInjectPolyfill function.");
116631 }
116632 } else if (shouldInjectPolyfill != null) {
116633 throw new Error(".shouldInjectPolyfill must be a function, or undefined" + (" (received " + JSON.stringify(shouldInjectPolyfill) + ")"));
116634 }
116635
116636 if (absoluteImports != null && typeof absoluteImports !== "boolean" && typeof absoluteImports !== "string") {
116637 throw new Error(".absoluteImports must be a boolean, a string, or undefined" + (" (received " + JSON.stringify(absoluteImports) + ")"));
116638 }
116639
116640 var targets;
116641
116642 if (targetsOption || configPath || ignoreBrowserslistConfig) {
116643 var targetsObj = typeof targetsOption === "string" || Array.isArray(targetsOption) ? {
116644 browsers: targetsOption
116645 } : targetsOption;
116646 targets = getTargets(targetsObj, {
116647 ignoreBrowserslistConfig: ignoreBrowserslistConfig,
116648 configPath: configPath
116649 });
116650 } else {
116651 targets = babelApi.targets();
116652 }
116653
116654 return {
116655 method: method,
116656 methodName: methodName,
116657 targets: targets,
116658 absoluteImports: absoluteImports != null ? absoluteImports : false,
116659 shouldInjectPolyfill: shouldInjectPolyfill,
116660 debug: !!debug,
116661 providerOptions: providerOptions
116662 };
116663 }
116664
116665 function instantiateProvider(factory, options, missingDependencies, dirname, debugLog, babelApi) {
116666 var _resolveOptions = resolveOptions(options, babelApi),
116667 method = _resolveOptions.method,
116668 methodName = _resolveOptions.methodName,
116669 targets = _resolveOptions.targets,
116670 _debug = _resolveOptions.debug,
116671 _shouldInjectPolyfill = _resolveOptions.shouldInjectPolyfill,
116672 providerOptions = _resolveOptions.providerOptions,
116673 absoluteImports = _resolveOptions.absoluteImports;
116674
116675 var getUtils = createUtilsGetter(new ImportsCache(function (moduleName) {
116676 return resolve(dirname, moduleName, absoluteImports);
116677 }));
116678 var include, exclude;
116679 var polyfillsSupport;
116680 var polyfillsNames;
116681 var filterPolyfills;
116682 var depsCache = new Map();
116683 var api = {
116684 babel: babelApi,
116685 getUtils: getUtils,
116686 method: options.method,
116687 targets: targets,
116688 createMetaResolver: createMetaResolver,
116689 shouldInjectPolyfill: function shouldInjectPolyfill(name) {
116690 if (polyfillsNames === undefined) {
116691 throw new Error("Internal error in the " + factory.name + " provider: " + "shouldInjectPolyfill() can't be called during initialization.");
116692 }
116693
116694 if (!polyfillsNames.has(name)) {
116695 console.warn("Internal error in the " + provider.name + " provider: " + ("unknown polyfill \"" + name + "\"."));
116696 }
116697
116698 if (filterPolyfills && !filterPolyfills(name)) return false;
116699 var shouldInject = isRequired(name, targets, {
116700 compatData: polyfillsSupport,
116701 includes: include,
116702 excludes: exclude
116703 });
116704
116705 if (_shouldInjectPolyfill) {
116706 shouldInject = _shouldInjectPolyfill(name, shouldInject);
116707
116708 if (typeof shouldInject !== "boolean") {
116709 throw new Error(".shouldInjectPolyfill must return a boolean.");
116710 }
116711 }
116712
116713 return shouldInject;
116714 },
116715 debug: function debug(name) {
116716 debugLog().found = true;
116717 if (!_debug || !name) return;
116718 if (debugLog().polyfills.has(provider.name)) return;
116719 debugLog().polyfills.set(name, polyfillsSupport && name && polyfillsSupport[name]);
116720 },
116721 assertDependency: function assertDependency(name, version) {
116722 if (version === void 0) {
116723 version = "*";
116724 }
116725
116726 if (missingDependencies === false) return;
116727
116728 if (absoluteImports) {
116729 return;
116730 }
116731
116732 var dep = version === "*" ? name : name + "@^" + version;
116733 var found = missingDependencies.all ? false : mapGetOr(depsCache, name + " :: " + dirname, function () {
116734 return has$2();
116735 });
116736
116737 if (!found) {
116738 debugLog().missingDeps.add(dep);
116739 }
116740 }
116741 };
116742 var provider = factory(api, providerOptions, dirname);
116743
116744 if (typeof provider[methodName] !== "function") {
116745 throw new Error("The \"" + (provider.name || factory.name) + "\" provider doesn't " + ("support the \"" + method + "\" polyfilling method."));
116746 }
116747
116748 if (Array.isArray(provider.polyfills)) {
116749 polyfillsNames = new Set(provider.polyfills);
116750 filterPolyfills = provider.filterPolyfills;
116751 } else if (provider.polyfills) {
116752 polyfillsNames = new Set(Object.keys(provider.polyfills));
116753 polyfillsSupport = provider.polyfills;
116754 filterPolyfills = provider.filterPolyfills;
116755 } else {
116756 polyfillsNames = new Set();
116757 }
116758
116759 var _validateIncludeExclu = validateIncludeExclude(provider.name || factory.name, polyfillsNames, providerOptions.include || [], providerOptions.exclude || []);
116760
116761 include = _validateIncludeExclu.include;
116762 exclude = _validateIncludeExclu.exclude;
116763 return {
116764 debug: _debug,
116765 method: method,
116766 targets: targets,
116767 provider: provider,
116768 callProvider: function callProvider(payload, path) {
116769 var utils = getUtils(path);
116770 provider[methodName](payload, utils, path);
116771 }
116772 };
116773 }
116774
116775 function definePolyfillProvider(factory) {
116776 return declare(function (babelApi, options, dirname) {
116777 babelApi.assertVersion(7);
116778 var traverse = babelApi.traverse;
116779 var debugLog;
116780 var missingDependencies = applyMissingDependenciesDefaults(options, babelApi);
116781
116782 var _instantiateProvider = instantiateProvider(factory, options, missingDependencies, dirname, function () {
116783 return debugLog;
116784 }, babelApi),
116785 debug = _instantiateProvider.debug,
116786 method = _instantiateProvider.method,
116787 targets = _instantiateProvider.targets,
116788 provider = _instantiateProvider.provider,
116789 callProvider = _instantiateProvider.callProvider;
116790
116791 var createVisitor = method === "entry-global" ? entry : usage;
116792 var visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider);
116793
116794 if (debug && debug !== presetEnvSilentDebugHeader) {
116795 console.log(provider.name + ": `DEBUG` option");
116796 console.log("\nUsing targets: " + stringifyTargetsMultiline(targets));
116797 console.log("\nUsing polyfills with `" + method + "` method:");
116798 }
116799
116800 return {
116801 name: "inject-polyfills",
116802 visitor: visitor,
116803 pre: function pre() {
116804 var _provider$pre;
116805
116806 debugLog = {
116807 polyfills: new Map(),
116808 found: false,
116809 providers: new Set(),
116810 missingDeps: new Set()
116811 };
116812 (_provider$pre = provider.pre) == null ? void 0 : _provider$pre.apply(this, arguments);
116813 },
116814 post: function post() {
116815 var _provider$post;
116816
116817 (_provider$post = provider.post) == null ? void 0 : _provider$post.apply(this, arguments);
116818
116819 if (missingDependencies !== false) {
116820 if (missingDependencies.log === "per-file") {
116821 logMissing(debugLog.missingDeps);
116822 } else {
116823 laterLogMissing(debugLog.missingDeps);
116824 }
116825 }
116826
116827 if (!debug) return;
116828 if (this.filename) console.log("\n[" + this.filename + "]");
116829
116830 if (debugLog.polyfills.size === 0) {
116831 console.log(method === "entry-global" ? debugLog.found ? "Based on your targets, the " + provider.name + " polyfill did not add any polyfill." : "The entry point for the " + provider.name + " polyfill has not been found." : "Based on your code and targets, the " + provider.name + " polyfill did not add any polyfill.");
116832 return;
116833 }
116834
116835 if (method === "entry-global") {
116836 console.log("The " + provider.name + " polyfill entry has been replaced with " + "the following polyfills:");
116837 } else {
116838 console.log("The " + provider.name + " polyfill added the following polyfills:");
116839 }
116840
116841 for (var _iterator3 = _createForOfIteratorHelperLoose(debugLog.polyfills), _step3; !(_step3 = _iterator3()).done;) {
116842 var _step3$value = _slicedToArray$2(_step3.value, 2),
116843 name = _step3$value[0],
116844 support = _step3$value[1];
116845
116846 if (support) {
116847 var filteredTargets = getInclusionReasons(name, targets, support);
116848 var formattedTargets = JSON.stringify(filteredTargets).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }');
116849 console.log(" " + name + " " + formattedTargets);
116850 } else {
116851 console.log(" " + name);
116852 }
116853 }
116854 }
116855 };
116856 });
116857 }
116858
116859 function mapGetOr(map, key, getDefault) {
116860 var val = map.get(key);
116861
116862 if (val === undefined) {
116863 val = getDefault();
116864 map.set(key, val);
116865 }
116866
116867 return val;
116868 }
116869
116870 var define$1 = function define(name, pure, global, meta) {
116871 if (global === void 0) {
116872 global = [];
116873 }
116874
116875 return {
116876 name: name,
116877 pure: pure,
116878 global: global,
116879 meta: meta
116880 };
116881 };
116882
116883 var pureAndGlobal = function pureAndGlobal(pure, global, minRuntimeVersion) {
116884 if (minRuntimeVersion === void 0) {
116885 minRuntimeVersion = null;
116886 }
116887
116888 return define$1(global[0], pure, global, {
116889 minRuntimeVersion: minRuntimeVersion
116890 });
116891 };
116892
116893 var globalOnly = function globalOnly(global) {
116894 return define$1(global[0], null, global);
116895 };
116896
116897 var pureOnly = function pureOnly(pure, name) {
116898 return define$1(name, pure, []);
116899 };
116900
116901 var ArrayNatureIterators$1 = ["es6.object.to-string", "es6.array.iterator", "web.dom.iterable"];
116902 var CommonIterators$1 = ["es6.string.iterator"].concat(ArrayNatureIterators$1);
116903 var PromiseDependencies$1 = ["es6.object.to-string", "es6.promise"];
116904 var BuiltIns$1 = {
116905 DataView: globalOnly(["es6.typed.data-view"]),
116906 Float32Array: globalOnly(["es6.typed.float32-array"]),
116907 Float64Array: globalOnly(["es6.typed.float64-array"]),
116908 Int8Array: globalOnly(["es6.typed.int8-array"]),
116909 Int16Array: globalOnly(["es6.typed.int16-array"]),
116910 Int32Array: globalOnly(["es6.typed.int32-array"]),
116911 Map: pureAndGlobal("map", ["es6.map"].concat(_toConsumableArray(CommonIterators$1))),
116912 Number: globalOnly(["es6.number.constructor"]),
116913 Promise: pureAndGlobal("promise", PromiseDependencies$1),
116914 RegExp: globalOnly(["es6.regexp.constructor"]),
116915 Set: pureAndGlobal("set", ["es6.set"].concat(_toConsumableArray(CommonIterators$1))),
116916 Symbol: pureAndGlobal("symbol", ["es6.symbol"]),
116917 Uint8Array: globalOnly(["es6.typed.uint8-array"]),
116918 Uint8ClampedArray: globalOnly(["es6.typed.uint8-clamped-array"]),
116919 Uint16Array: globalOnly(["es6.typed.uint16-array"]),
116920 Uint32Array: globalOnly(["es6.typed.uint32-array"]),
116921 WeakMap: pureAndGlobal("weak-map", ["es6.weak-map"].concat(_toConsumableArray(CommonIterators$1))),
116922 WeakSet: pureAndGlobal("weak-set", ["es6.weak-set"].concat(_toConsumableArray(CommonIterators$1))),
116923 setImmediate: pureOnly("set-immediate", "web.immediate"),
116924 clearImmediate: pureOnly("clear-immediate", "web.immediate"),
116925 parseFloat: pureOnly("parse-float", "es6.parse-float"),
116926 parseInt: pureOnly("parse-int", "es6.parse-int")
116927 };
116928 var InstanceProperties$1 = {
116929 __defineGetter__: globalOnly(["es7.object.define-getter"]),
116930 __defineSetter__: globalOnly(["es7.object.define-setter"]),
116931 __lookupGetter__: globalOnly(["es7.object.lookup-getter"]),
116932 __lookupSetter__: globalOnly(["es7.object.lookup-setter"]),
116933 anchor: globalOnly(["es6.string.anchor"]),
116934 big: globalOnly(["es6.string.big"]),
116935 bind: globalOnly(["es6.function.bind"]),
116936 blink: globalOnly(["es6.string.blink"]),
116937 bold: globalOnly(["es6.string.bold"]),
116938 codePointAt: globalOnly(["es6.string.code-point-at"]),
116939 copyWithin: globalOnly(["es6.array.copy-within"]),
116940 endsWith: globalOnly(["es6.string.ends-with"]),
116941 entries: globalOnly(ArrayNatureIterators$1),
116942 every: globalOnly(["es6.array.every"]),
116943 fill: globalOnly(["es6.array.fill"]),
116944 filter: globalOnly(["es6.array.filter"]),
116945 "finally": globalOnly(["es7.promise.finally"].concat(PromiseDependencies$1)),
116946 find: globalOnly(["es6.array.find"]),
116947 findIndex: globalOnly(["es6.array.find-index"]),
116948 fixed: globalOnly(["es6.string.fixed"]),
116949 flags: globalOnly(["es6.regexp.flags"]),
116950 flatMap: globalOnly(["es7.array.flat-map"]),
116951 fontcolor: globalOnly(["es6.string.fontcolor"]),
116952 fontsize: globalOnly(["es6.string.fontsize"]),
116953 forEach: globalOnly(["es6.array.for-each"]),
116954 includes: globalOnly(["es6.string.includes", "es7.array.includes"]),
116955 indexOf: globalOnly(["es6.array.index-of"]),
116956 italics: globalOnly(["es6.string.italics"]),
116957 keys: globalOnly(ArrayNatureIterators$1),
116958 lastIndexOf: globalOnly(["es6.array.last-index-of"]),
116959 link: globalOnly(["es6.string.link"]),
116960 map: globalOnly(["es6.array.map"]),
116961 match: globalOnly(["es6.regexp.match"]),
116962 name: globalOnly(["es6.function.name"]),
116963 padStart: globalOnly(["es7.string.pad-start"]),
116964 padEnd: globalOnly(["es7.string.pad-end"]),
116965 reduce: globalOnly(["es6.array.reduce"]),
116966 reduceRight: globalOnly(["es6.array.reduce-right"]),
116967 repeat: globalOnly(["es6.string.repeat"]),
116968 replace: globalOnly(["es6.regexp.replace"]),
116969 search: globalOnly(["es6.regexp.search"]),
116970 small: globalOnly(["es6.string.small"]),
116971 some: globalOnly(["es6.array.some"]),
116972 sort: globalOnly(["es6.array.sort"]),
116973 split: globalOnly(["es6.regexp.split"]),
116974 startsWith: globalOnly(["es6.string.starts-with"]),
116975 strike: globalOnly(["es6.string.strike"]),
116976 sub: globalOnly(["es6.string.sub"]),
116977 sup: globalOnly(["es6.string.sup"]),
116978 toISOString: globalOnly(["es6.date.to-iso-string"]),
116979 toJSON: globalOnly(["es6.date.to-json"]),
116980 toString: globalOnly(["es6.object.to-string", "es6.date.to-string", "es6.regexp.to-string"]),
116981 trim: globalOnly(["es6.string.trim"]),
116982 trimEnd: globalOnly(["es7.string.trim-right"]),
116983 trimLeft: globalOnly(["es7.string.trim-left"]),
116984 trimRight: globalOnly(["es7.string.trim-right"]),
116985 trimStart: globalOnly(["es7.string.trim-left"]),
116986 values: globalOnly(ArrayNatureIterators$1)
116987 };
116988
116989 if ("es6.array.slice" in corejs2BuiltIns) {
116990 InstanceProperties$1.slice = globalOnly(["es6.array.slice"]);
116991 }
116992
116993 var StaticProperties$1 = {
116994 Array: {
116995 from: pureAndGlobal("array/from", ["es6.symbol", "es6.array.from"].concat(_toConsumableArray(CommonIterators$1))),
116996 isArray: pureAndGlobal("array/is-array", ["es6.array.is-array"]),
116997 of: pureAndGlobal("array/of", ["es6.array.of"])
116998 },
116999 Date: {
117000 now: pureAndGlobal("date/now", ["es6.date.now"])
117001 },
117002 JSON: {
117003 stringify: pureOnly("json/stringify", "es6.symbol")
117004 },
117005 Math: {
117006 acosh: pureAndGlobal("math/acosh", ["es6.math.acosh"], "7.0.1"),
117007 asinh: pureAndGlobal("math/asinh", ["es6.math.asinh"], "7.0.1"),
117008 atanh: pureAndGlobal("math/atanh", ["es6.math.atanh"], "7.0.1"),
117009 cbrt: pureAndGlobal("math/cbrt", ["es6.math.cbrt"], "7.0.1"),
117010 clz32: pureAndGlobal("math/clz32", ["es6.math.clz32"], "7.0.1"),
117011 cosh: pureAndGlobal("math/cosh", ["es6.math.cosh"], "7.0.1"),
117012 expm1: pureAndGlobal("math/expm1", ["es6.math.expm1"], "7.0.1"),
117013 fround: pureAndGlobal("math/fround", ["es6.math.fround"], "7.0.1"),
117014 hypot: pureAndGlobal("math/hypot", ["es6.math.hypot"], "7.0.1"),
117015 imul: pureAndGlobal("math/imul", ["es6.math.imul"], "7.0.1"),
117016 log1p: pureAndGlobal("math/log1p", ["es6.math.log1p"], "7.0.1"),
117017 log10: pureAndGlobal("math/log10", ["es6.math.log10"], "7.0.1"),
117018 log2: pureAndGlobal("math/log2", ["es6.math.log2"], "7.0.1"),
117019 sign: pureAndGlobal("math/sign", ["es6.math.sign"], "7.0.1"),
117020 sinh: pureAndGlobal("math/sinh", ["es6.math.sinh"], "7.0.1"),
117021 tanh: pureAndGlobal("math/tanh", ["es6.math.tanh"], "7.0.1"),
117022 trunc: pureAndGlobal("math/trunc", ["es6.math.trunc"], "7.0.1")
117023 },
117024 Number: {
117025 EPSILON: pureAndGlobal("number/epsilon", ["es6.number.epsilon"]),
117026 MIN_SAFE_INTEGER: pureAndGlobal("number/min-safe-integer", ["es6.number.min-safe-integer"]),
117027 MAX_SAFE_INTEGER: pureAndGlobal("number/max-safe-integer", ["es6.number.max-safe-integer"]),
117028 isFinite: pureAndGlobal("number/is-finite", ["es6.number.is-finite"]),
117029 isInteger: pureAndGlobal("number/is-integer", ["es6.number.is-integer"]),
117030 isSafeInteger: pureAndGlobal("number/is-safe-integer", ["es6.number.is-safe-integer"]),
117031 isNaN: pureAndGlobal("number/is-nan", ["es6.number.is-nan"]),
117032 parseFloat: pureAndGlobal("number/parse-float", ["es6.number.parse-float"]),
117033 parseInt: pureAndGlobal("number/parse-int", ["es6.number.parse-int"])
117034 },
117035 Object: {
117036 assign: pureAndGlobal("object/assign", ["es6.object.assign"]),
117037 create: pureAndGlobal("object/create", ["es6.object.create"]),
117038 defineProperties: pureAndGlobal("object/define-properties", ["es6.object.define-properties"]),
117039 defineProperty: pureAndGlobal("object/define-property", ["es6.object.define-property"]),
117040 entries: pureAndGlobal("object/entries", ["es7.object.entries"]),
117041 freeze: pureAndGlobal("object/freeze", ["es6.object.freeze"]),
117042 getOwnPropertyDescriptor: pureAndGlobal("object/get-own-property-descriptor", ["es6.object.get-own-property-descriptor"]),
117043 getOwnPropertyDescriptors: pureAndGlobal("object/get-own-property-descriptors", ["es7.object.get-own-property-descriptors"]),
117044 getOwnPropertyNames: pureAndGlobal("object/get-own-property-names", ["es6.object.get-own-property-names"]),
117045 getOwnPropertySymbols: pureAndGlobal("object/get-own-property-symbols", ["es6.symbol"]),
117046 getPrototypeOf: pureAndGlobal("object/get-prototype-of", ["es6.object.get-prototype-of"]),
117047 is: pureAndGlobal("object/is", ["es6.object.is"]),
117048 isExtensible: pureAndGlobal("object/is-extensible", ["es6.object.is-extensible"]),
117049 isFrozen: pureAndGlobal("object/is-frozen", ["es6.object.is-frozen"]),
117050 isSealed: pureAndGlobal("object/is-sealed", ["es6.object.is-sealed"]),
117051 keys: pureAndGlobal("object/keys", ["es6.object.keys"]),
117052 preventExtensions: pureAndGlobal("object/prevent-extensions", ["es6.object.prevent-extensions"]),
117053 seal: pureAndGlobal("object/seal", ["es6.object.seal"]),
117054 setPrototypeOf: pureAndGlobal("object/set-prototype-of", ["es6.object.set-prototype-of"]),
117055 values: pureAndGlobal("object/values", ["es7.object.values"])
117056 },
117057 Promise: {
117058 all: globalOnly(CommonIterators$1),
117059 race: globalOnly(CommonIterators$1)
117060 },
117061 Reflect: {
117062 apply: pureAndGlobal("reflect/apply", ["es6.reflect.apply"]),
117063 construct: pureAndGlobal("reflect/construct", ["es6.reflect.construct"]),
117064 defineProperty: pureAndGlobal("reflect/define-property", ["es6.reflect.define-property"]),
117065 deleteProperty: pureAndGlobal("reflect/delete-property", ["es6.reflect.delete-property"]),
117066 get: pureAndGlobal("reflect/get", ["es6.reflect.get"]),
117067 getOwnPropertyDescriptor: pureAndGlobal("reflect/get-own-property-descriptor", ["es6.reflect.get-own-property-descriptor"]),
117068 getPrototypeOf: pureAndGlobal("reflect/get-prototype-of", ["es6.reflect.get-prototype-of"]),
117069 has: pureAndGlobal("reflect/has", ["es6.reflect.has"]),
117070 isExtensible: pureAndGlobal("reflect/is-extensible", ["es6.reflect.is-extensible"]),
117071 ownKeys: pureAndGlobal("reflect/own-keys", ["es6.reflect.own-keys"]),
117072 preventExtensions: pureAndGlobal("reflect/prevent-extensions", ["es6.reflect.prevent-extensions"]),
117073 set: pureAndGlobal("reflect/set", ["es6.reflect.set"]),
117074 setPrototypeOf: pureAndGlobal("reflect/set-prototype-of", ["es6.reflect.set-prototype-of"])
117075 },
117076 String: {
117077 at: pureOnly("string/at", "es7.string.at"),
117078 fromCodePoint: pureAndGlobal("string/from-code-point", ["es6.string.from-code-point"]),
117079 raw: pureAndGlobal("string/raw", ["es6.string.raw"])
117080 },
117081 Symbol: {
117082 asyncIterator: globalOnly(["es6.symbol", "es7.symbol.async-iterator"]),
117083 "for": pureOnly("symbol/for", "es6.symbol"),
117084 hasInstance: pureOnly("symbol/has-instance", "es6.symbol"),
117085 isConcatSpreadable: pureOnly("symbol/is-concat-spreadable", "es6.symbol"),
117086 iterator: define$1("es6.symbol", "symbol/iterator", CommonIterators$1),
117087 keyFor: pureOnly("symbol/key-for", "es6.symbol"),
117088 match: pureAndGlobal("symbol/match", ["es6.regexp.match"]),
117089 replace: pureOnly("symbol/replace", "es6.symbol"),
117090 search: pureOnly("symbol/search", "es6.symbol"),
117091 species: pureOnly("symbol/species", "es6.symbol"),
117092 split: pureOnly("symbol/split", "es6.symbol"),
117093 toPrimitive: pureOnly("symbol/to-primitive", "es6.symbol"),
117094 toStringTag: pureOnly("symbol/to-string-tag", "es6.symbol"),
117095 unscopables: pureOnly("symbol/unscopables", "es6.symbol")
117096 }
117097 };
117098 var webPolyfills = {
117099 "web.timers": {},
117100 "web.immediate": {},
117101 "web.dom.iterable": {}
117102 };
117103 var purePolyfills = {
117104 "es6.parse-float": {},
117105 "es6.parse-int": {},
117106 "es7.string.at": {}
117107 };
117108
117109 function addPlatformSpecificPolyfills(targets, method, polyfills) {
117110 var targetNames = Object.keys(targets);
117111 var isAnyTarget = !targetNames.length;
117112 var isWebTarget = targetNames.some(function (name) {
117113 return name !== "node";
117114 });
117115 return Object.assign(Object.assign(Object.assign({}, polyfills), method === "usage-pure" ? purePolyfills : null), isAnyTarget || isWebTarget ? webPolyfills : null);
117116 }
117117
117118 function hasMinVersion(minVersion, runtimeVersion) {
117119 if (!runtimeVersion || !minVersion) return true;
117120 if (semver.valid(runtimeVersion)) runtimeVersion = "^" + runtimeVersion;
117121 return !semver.intersects("<" + minVersion, runtimeVersion) && !semver.intersects(">=8.0.0", runtimeVersion);
117122 }
117123
117124 var _ref$1 = undefined || babel,
117125 t$2 = _ref$1.types;
117126
117127 var presetEnvCompat = "#__secret_key__@babel/preset-env__compatibility";
117128 var runtimeCompat$2 = "#__secret_key__@babel/runtime__compatibility";
117129 var has = Function.call.bind(Object.hasOwnProperty);
117130 var index$2 = definePolyfillProvider(function (api, _ref2) {
117131 var _ref2$presetEnvCompat = _ref2[presetEnvCompat];
117132 _ref2$presetEnvCompat = _ref2$presetEnvCompat === void 0 ? {} : _ref2$presetEnvCompat;
117133 var entryInjectRegenerator = _ref2$presetEnvCompat.entryInjectRegenerator,
117134 _ref2$runtimeCompat = _ref2[runtimeCompat$2];
117135 _ref2$runtimeCompat = _ref2$runtimeCompat === void 0 ? {} : _ref2$runtimeCompat;
117136 var useBabelRuntime = _ref2$runtimeCompat.useBabelRuntime,
117137 runtimeVersion = _ref2$runtimeCompat.runtimeVersion,
117138 _ref2$runtimeCompat$e = _ref2$runtimeCompat.ext,
117139 ext = _ref2$runtimeCompat$e === void 0 ? ".js" : _ref2$runtimeCompat$e;
117140 var resolve = api.createMetaResolver({
117141 global: BuiltIns$1,
117142 "static": StaticProperties$1,
117143 instance: InstanceProperties$1
117144 });
117145 var debug = api.debug,
117146 shouldInjectPolyfill = api.shouldInjectPolyfill,
117147 method = api.method;
117148 var polyfills = addPlatformSpecificPolyfills(api.targets, method, corejs2BuiltIns);
117149 var coreJSBase = useBabelRuntime ? useBabelRuntime + "/core-js" : method === "usage-pure" ? "core-js/library/fn" : "core-js/modules";
117150
117151 function inject(name, utils) {
117152 if (typeof name === "string") {
117153 if (has(polyfills, name) && shouldInjectPolyfill(name)) {
117154 debug(name);
117155 utils.injectGlobalImport(coreJSBase + "/" + name + ".js");
117156 }
117157
117158 return;
117159 }
117160
117161 name.forEach(function (name) {
117162 return inject(name, utils);
117163 });
117164 }
117165
117166 function maybeInjectPure(desc, hint, utils) {
117167 var pure = desc.pure,
117168 meta = desc.meta,
117169 name = desc.name;
117170 if (!pure || !shouldInjectPolyfill(name)) return;
117171
117172 if (runtimeVersion && meta && meta.minRuntimeVersion && !hasMinVersion(meta && meta.minRuntimeVersion, runtimeVersion)) {
117173 return;
117174 }
117175
117176 return utils.injectDefaultImport(coreJSBase + "/" + pure + ext, hint);
117177 }
117178
117179 return {
117180 name: "corejs2",
117181 polyfills: polyfills,
117182 entryGlobal: function entryGlobal(meta, utils, path) {
117183 if (meta.kind === "import" && meta.source === "core-js") {
117184 debug(null);
117185 inject(Object.keys(polyfills), utils);
117186
117187 if (entryInjectRegenerator) {
117188 utils.injectGlobalImport("regenerator-runtime/runtime.js");
117189 }
117190
117191 path.remove();
117192 }
117193 },
117194 usageGlobal: function usageGlobal(meta, utils) {
117195 var resolved = resolve(meta);
117196 if (!resolved) return;
117197 var deps = resolved.desc.global;
117198
117199 if (resolved.kind !== "global" && meta.object && meta.placement === "prototype") {
117200 var low = meta.object.toLowerCase();
117201 deps = deps.filter(function (m) {
117202 return m.includes(low);
117203 });
117204 }
117205
117206 inject(deps, utils);
117207 },
117208 usagePure: function usagePure(meta, utils, path) {
117209 if (meta.kind === "in") {
117210 if (meta.key === "Symbol.iterator") {
117211 path.replaceWith(t$2.callExpression(utils.injectDefaultImport(coreJSBase + "/is-iterable" + ext, "isIterable"), [path.node.right]));
117212 }
117213
117214 return;
117215 }
117216
117217 if (path.parentPath.isUnaryExpression({
117218 operator: "delete"
117219 })) return;
117220
117221 if (meta.kind === "property") {
117222 if (!path.isMemberExpression()) return;
117223 if (!path.isReferenced()) return;
117224
117225 if (meta.key === "Symbol.iterator" && shouldInjectPolyfill("es6.symbol") && path.parentPath.isCallExpression({
117226 callee: path.node
117227 }) && path.parent.arguments.length === 0) {
117228 path.parentPath.replaceWith(t$2.callExpression(utils.injectDefaultImport(coreJSBase + "/get-iterator" + ext, "getIterator"), [path.node.object]));
117229 path.skip();
117230 return;
117231 }
117232 }
117233
117234 var resolved = resolve(meta);
117235 if (!resolved) return;
117236 var id = maybeInjectPure(resolved.desc, resolved.name, utils);
117237 if (id) path.replaceWith(id);
117238 },
117239 visitor: method === "usage-global" && {
117240 YieldExpression: function YieldExpression(path) {
117241 if (path.node.delegate) {
117242 inject("web.dom.iterable", api.getUtils(path));
117243 }
117244 },
117245 "ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern(path) {
117246 CommonIterators$1.forEach(function (name) {
117247 return inject(name, api.getUtils(path));
117248 });
117249 }
117250 }
117251 };
117252 });
117253
117254 var data = require$$0$3;
117255
117256 var getModulesListForTargetVersion = getModulesListForTargetVersion$2;
117257
117258 var entries = require$$0$2;
117259
117260 var corejs3ShippedProposalsList = new Set(["esnext.global-this", "esnext.string.match-all"]);
117261 var polyfillsOrder = {};
117262 Object.keys(data).forEach(function (name, index) {
117263 polyfillsOrder[name] = index;
117264 });
117265
117266 var define = function define(pure, global, name, exclude) {
117267 if (name === void 0) {
117268 name = global[0];
117269 }
117270
117271 return {
117272 name: name,
117273 pure: pure,
117274 global: global.sort(function (a, b) {
117275 return polyfillsOrder[a] - polyfillsOrder[b];
117276 }),
117277 exclude: exclude
117278 };
117279 };
117280
117281 var typed = function typed(name) {
117282 return define(null, [name].concat(TypedArrayDependencies));
117283 };
117284
117285 var ArrayNatureIterators = ["es.array.iterator", "web.dom-collections.iterator"];
117286 var CommonIterators = ["es.string.iterator"].concat(ArrayNatureIterators);
117287 var ArrayNatureIteratorsWithTag = ["es.object.to-string"].concat(ArrayNatureIterators);
117288 var CommonIteratorsWithTag = ["es.object.to-string"].concat(_toConsumableArray(CommonIterators));
117289 var TypedArrayDependencies = ["es.typed-array.copy-within", "es.typed-array.every", "es.typed-array.fill", "es.typed-array.filter", "es.typed-array.find", "es.typed-array.find-index", "es.typed-array.for-each", "es.typed-array.includes", "es.typed-array.index-of", "es.typed-array.iterator", "es.typed-array.join", "es.typed-array.last-index-of", "es.typed-array.map", "es.typed-array.reduce", "es.typed-array.reduce-right", "es.typed-array.reverse", "es.typed-array.set", "es.typed-array.slice", "es.typed-array.some", "es.typed-array.sort", "es.typed-array.subarray", "es.typed-array.to-locale-string", "es.typed-array.to-string", "es.object.to-string", "es.array.iterator", "es.array-buffer.slice"];
117290 var TypedArrayStaticMethods = {
117291 from: define(null, ["es.typed-array.from"]),
117292 of: define(null, ["es.typed-array.of"])
117293 };
117294 var PromiseDependencies = ["es.promise", "es.object.to-string"];
117295 var PromiseDependenciesWithIterators = [].concat(PromiseDependencies, _toConsumableArray(CommonIterators));
117296 var SymbolDependencies = ["es.symbol", "es.symbol.description", "es.object.to-string"];
117297 var MapDependencies = ["es.map", "esnext.map.delete-all", "esnext.map.every", "esnext.map.filter", "esnext.map.find", "esnext.map.find-key", "esnext.map.includes", "esnext.map.key-of", "esnext.map.map-keys", "esnext.map.map-values", "esnext.map.merge", "esnext.map.reduce", "esnext.map.some", "esnext.map.update"].concat(_toConsumableArray(CommonIteratorsWithTag));
117298 var SetDependencies = ["es.set", "esnext.set.add-all", "esnext.set.delete-all", "esnext.set.difference", "esnext.set.every", "esnext.set.filter", "esnext.set.find", "esnext.set.intersection", "esnext.set.is-disjoint-from", "esnext.set.is-subset-of", "esnext.set.is-superset-of", "esnext.set.join", "esnext.set.map", "esnext.set.reduce", "esnext.set.some", "esnext.set.symmetric-difference", "esnext.set.union"].concat(_toConsumableArray(CommonIteratorsWithTag));
117299 var WeakMapDependencies = ["es.weak-map", "esnext.weak-map.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag));
117300 var WeakSetDependencies = ["es.weak-set", "esnext.weak-set.add-all", "esnext.weak-set.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag));
117301 var URLSearchParamsDependencies = ["web.url"].concat(_toConsumableArray(CommonIteratorsWithTag));
117302 var BuiltIns = {
117303 AggregateError: define("aggregate-error", ["esnext.aggregate-error"].concat(_toConsumableArray(CommonIterators))),
117304 ArrayBuffer: define(null, ["es.array-buffer.constructor", "es.array-buffer.slice", "es.object.to-string"]),
117305 DataView: define(null, ["es.data-view", "es.array-buffer.slice", "es.object.to-string"]),
117306 Date: define(null, ["es.date.to-string"]),
117307 Float32Array: typed("es.typed-array.float32-array"),
117308 Float64Array: typed("es.typed-array.float64-array"),
117309 Int8Array: typed("es.typed-array.int8-array"),
117310 Int16Array: typed("es.typed-array.int16-array"),
117311 Int32Array: typed("es.typed-array.int32-array"),
117312 Uint8Array: typed("es.typed-array.uint8-array"),
117313 Uint8ClampedArray: typed("es.typed-array.uint8-clamped-array"),
117314 Uint16Array: typed("es.typed-array.uint16-array"),
117315 Uint32Array: typed("es.typed-array.uint32-array"),
117316 Map: define("map/index", MapDependencies),
117317 Number: define(null, ["es.number.constructor"]),
117318 Observable: define("observable/index", ["esnext.observable", "esnext.symbol.observable", "es.object.to-string"].concat(_toConsumableArray(CommonIteratorsWithTag))),
117319 Promise: define("promise/index", PromiseDependencies),
117320 RegExp: define(null, ["es.regexp.constructor", "es.regexp.exec", "es.regexp.to-string"]),
117321 Set: define("set/index", SetDependencies),
117322 Symbol: define("symbol/index", SymbolDependencies),
117323 URL: define("url/index", ["web.url"].concat(_toConsumableArray(URLSearchParamsDependencies))),
117324 URLSearchParams: define("url-search-params/index", URLSearchParamsDependencies),
117325 WeakMap: define("weak-map/index", WeakMapDependencies),
117326 WeakSet: define("weak-set/index", WeakSetDependencies),
117327 clearImmediate: define("clear-immediate", ["web.immediate"]),
117328 compositeKey: define("composite-key", ["esnext.composite-key"]),
117329 compositeSymbol: define("composite-symbol", ["esnext.composite-symbol"]),
117330 fetch: define(null, PromiseDependencies),
117331 globalThis: define("global-this", ["es.global-this"]),
117332 parseFloat: define("parse-float", ["es.parse-float"]),
117333 parseInt: define("parse-int", ["es.parse-int"]),
117334 queueMicrotask: define("queue-microtask", ["web.queue-microtask"]),
117335 setImmediate: define("set-immediate", ["web.immediate"]),
117336 setInterval: define("set-interval", ["web.timers"]),
117337 setTimeout: define("set-timeout", ["web.timers"])
117338 };
117339 var StaticProperties = {
117340 Array: {
117341 from: define("array/from", ["es.array.from", "es.string.iterator"]),
117342 isArray: define("array/is-array", ["es.array.is-array"]),
117343 of: define("array/of", ["es.array.of"])
117344 },
117345 ArrayBuffer: {
117346 isView: define(null, ["es.array-buffer.is-view"])
117347 },
117348 Date: {
117349 now: define("date/now", ["es.date.now"])
117350 },
117351 JSON: {
117352 stringify: define("json/stringify", [], "es.symbol")
117353 },
117354 Math: {
117355 DEG_PER_RAD: define("math/deg-per-rad", ["esnext.math.deg-per-rad"]),
117356 RAD_PER_DEG: define("math/rad-per-deg", ["esnext.math.rad-per-deg"]),
117357 acosh: define("math/acosh", ["es.math.acosh"]),
117358 asinh: define("math/asinh", ["es.math.asinh"]),
117359 atanh: define("math/atanh", ["es.math.atanh"]),
117360 cbrt: define("math/cbrt", ["es.math.cbrt"]),
117361 clamp: define("math/clamp", ["esnext.math.clamp"]),
117362 clz32: define("math/clz32", ["es.math.clz32"]),
117363 cosh: define("math/cosh", ["es.math.cosh"]),
117364 degrees: define("math/degrees", ["esnext.math.degrees"]),
117365 expm1: define("math/expm1", ["es.math.expm1"]),
117366 fround: define("math/fround", ["es.math.fround"]),
117367 fscale: define("math/fscale", ["esnext.math.fscale"]),
117368 hypot: define("math/hypot", ["es.math.hypot"]),
117369 iaddh: define("math/iaddh", ["esnext.math.iaddh"]),
117370 imul: define("math/imul", ["es.math.imul"]),
117371 imulh: define("math/imulh", ["esnext.math.imulh"]),
117372 isubh: define("math/isubh", ["esnext.math.isubh"]),
117373 log10: define("math/log10", ["es.math.log10"]),
117374 log1p: define("math/log1p", ["es.math.log1p"]),
117375 log2: define("math/log2", ["es.math.log2"]),
117376 radians: define("math/radians", ["esnext.math.radians"]),
117377 scale: define("math/scale", ["esnext.math.scale"]),
117378 seededPRNG: define("math/seeded-prng", ["esnext.math.seeded-prng"]),
117379 sign: define("math/sign", ["es.math.sign"]),
117380 signbit: define("math/signbit", ["esnext.math.signbit"]),
117381 sinh: define("math/sinh", ["es.math.sinh"]),
117382 tanh: define("math/tanh", ["es.math.tanh"]),
117383 trunc: define("math/trunc", ["es.math.trunc"]),
117384 umulh: define("math/umulh", ["esnext.math.umulh"])
117385 },
117386 Map: {
117387 from: define(null, ["esnext.map.from"].concat(_toConsumableArray(MapDependencies))),
117388 groupBy: define(null, ["esnext.map.group-by"].concat(_toConsumableArray(MapDependencies))),
117389 keyBy: define(null, ["esnext.map.key-by"].concat(_toConsumableArray(MapDependencies))),
117390 of: define(null, ["esnext.map.of"].concat(_toConsumableArray(MapDependencies)))
117391 },
117392 Number: {
117393 EPSILON: define("number/epsilon", ["es.number.epsilon"]),
117394 MAX_SAFE_INTEGER: define("number/max-safe-integer", ["es.number.max-safe-integer"]),
117395 MIN_SAFE_INTEGER: define("number/min-safe-integer", ["es.number.min-safe-integer"]),
117396 fromString: define("number/from-string", ["esnext.number.from-string"]),
117397 isFinite: define("number/is-finite", ["es.number.is-finite"]),
117398 isInteger: define("number/is-integer", ["es.number.is-integer"]),
117399 isNaN: define("number/is-nan", ["es.number.is-nan"]),
117400 isSafeInteger: define("number/is-safe-integer", ["es.number.is-safe-integer"]),
117401 parseFloat: define("number/parse-float", ["es.number.parse-float"]),
117402 parseInt: define("number/parse-int", ["es.number.parse-int"])
117403 },
117404 Object: {
117405 assign: define("object/assign", ["es.object.assign"]),
117406 create: define("object/create", ["es.object.create"]),
117407 defineProperties: define("object/define-properties", ["es.object.define-properties"]),
117408 defineProperty: define("object/define-property", ["es.object.define-property"]),
117409 entries: define("object/entries", ["es.object.entries"]),
117410 freeze: define("object/freeze", ["es.object.freeze"]),
117411 fromEntries: define("object/from-entries", ["es.object.from-entries", "es.array.iterator"]),
117412 getOwnPropertyDescriptor: define("object/get-own-property-descriptor", ["es.object.get-own-property-descriptor"]),
117413 getOwnPropertyDescriptors: define("object/get-own-property-descriptors", ["es.object.get-own-property-descriptors"]),
117414 getOwnPropertyNames: define("object/get-own-property-names", ["es.object.get-own-property-names"]),
117415 getOwnPropertySymbols: define("object/get-own-property-symbols", ["es.symbol"]),
117416 getPrototypeOf: define("object/get-prototype-of", ["es.object.get-prototype-of"]),
117417 is: define("object/is", ["es.object.is"]),
117418 isExtensible: define("object/is-extensible", ["es.object.is-extensible"]),
117419 isFrozen: define("object/is-frozen", ["es.object.is-frozen"]),
117420 isSealed: define("object/is-sealed", ["es.object.is-sealed"]),
117421 keys: define("object/keys", ["es.object.keys"]),
117422 preventExtensions: define("object/prevent-extensions", ["es.object.prevent-extensions"]),
117423 seal: define("object/seal", ["es.object.seal"]),
117424 setPrototypeOf: define("object/set-prototype-of", ["es.object.set-prototype-of"]),
117425 values: define("object/values", ["es.object.values"])
117426 },
117427 Promise: {
117428 all: define(null, PromiseDependenciesWithIterators),
117429 allSettled: define(null, ["es.promise.all-settled"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),
117430 any: define(null, ["esnext.promise.any"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),
117431 race: define(null, PromiseDependenciesWithIterators),
117432 "try": define(null, ["esnext.promise.try"].concat(_toConsumableArray(PromiseDependenciesWithIterators)))
117433 },
117434 Reflect: {
117435 apply: define("reflect/apply", ["es.reflect.apply"]),
117436 construct: define("reflect/construct", ["es.reflect.construct"]),
117437 defineMetadata: define("reflect/define-metadata", ["esnext.reflect.define-metadata"]),
117438 defineProperty: define("reflect/define-property", ["es.reflect.define-property"]),
117439 deleteMetadata: define("reflect/delete-metadata", ["esnext.reflect.delete-metadata"]),
117440 deleteProperty: define("reflect/delete-property", ["es.reflect.delete-property"]),
117441 get: define("reflect/get", ["es.reflect.get"]),
117442 getMetadata: define("reflect/get-metadata", ["esnext.reflect.get-metadata"]),
117443 getMetadataKeys: define("reflect/get-metadata-keys", ["esnext.reflect.get-metadata-keys"]),
117444 getOwnMetadata: define("reflect/get-own-metadata", ["esnext.reflect.get-own-metadata"]),
117445 getOwnMetadataKeys: define("reflect/get-own-metadata-keys", ["esnext.reflect.get-own-metadata-keys"]),
117446 getOwnPropertyDescriptor: define("reflect/get-own-property-descriptor", ["es.reflect.get-own-property-descriptor"]),
117447 getPrototypeOf: define("reflect/get-prototype-of", ["es.reflect.get-prototype-of"]),
117448 has: define("reflect/has", ["es.reflect.has"]),
117449 hasMetadata: define("reflect/has-metadata", ["esnext.reflect.has-metadata"]),
117450 hasOwnMetadata: define("reflect/has-own-metadata", ["esnext.reflect.has-own-metadata"]),
117451 isExtensible: define("reflect/is-extensible", ["es.reflect.is-extensible"]),
117452 metadata: define("reflect/metadata", ["esnext.reflect.metadata"]),
117453 ownKeys: define("reflect/own-keys", ["es.reflect.own-keys"]),
117454 preventExtensions: define("reflect/prevent-extensions", ["es.reflect.prevent-extensions"]),
117455 set: define("reflect/set", ["es.reflect.set"]),
117456 setPrototypeOf: define("reflect/set-prototype-of", ["es.reflect.set-prototype-of"])
117457 },
117458 Set: {
117459 from: define(null, ["esnext.set.from"].concat(_toConsumableArray(SetDependencies))),
117460 of: define(null, ["esnext.set.of"].concat(_toConsumableArray(SetDependencies)))
117461 },
117462 String: {
117463 fromCodePoint: define("string/from-code-point", ["es.string.from-code-point"]),
117464 raw: define("string/raw", ["es.string.raw"])
117465 },
117466 Symbol: {
117467 asyncIterator: define("symbol/async-iterator", ["es.symbol.async-iterator"]),
117468 dispose: define("symbol/dispose", ["esnext.symbol.dispose"]),
117469 "for": define("symbol/for", [], "es.symbol"),
117470 hasInstance: define("symbol/has-instance", ["es.symbol.has-instance", "es.function.has-instance"]),
117471 isConcatSpreadable: define("symbol/is-concat-spreadable", ["es.symbol.is-concat-spreadable", "es.array.concat"]),
117472 iterator: define("symbol/iterator", ["es.symbol.iterator"].concat(_toConsumableArray(CommonIteratorsWithTag))),
117473 keyFor: define("symbol/key-for", [], "es.symbol"),
117474 match: define("symbol/match", ["es.symbol.match", "es.string.match"]),
117475 observable: define("symbol/observable", ["esnext.symbol.observable"]),
117476 patternMatch: define("symbol/pattern-match", ["esnext.symbol.pattern-match"]),
117477 replace: define("symbol/replace", ["es.symbol.replace", "es.string.replace"]),
117478 search: define("symbol/search", ["es.symbol.search", "es.string.search"]),
117479 species: define("symbol/species", ["es.symbol.species", "es.array.species"]),
117480 split: define("symbol/split", ["es.symbol.split", "es.string.split"]),
117481 toPrimitive: define("symbol/to-primitive", ["es.symbol.to-primitive", "es.date.to-primitive"]),
117482 toStringTag: define("symbol/to-string-tag", ["es.symbol.to-string-tag", "es.object.to-string", "es.math.to-string-tag", "es.json.to-string-tag"]),
117483 unscopables: define("symbol/unscopables", ["es.symbol.unscopables"])
117484 },
117485 WeakMap: {
117486 from: define(null, ["esnext.weak-map.from"].concat(_toConsumableArray(WeakMapDependencies))),
117487 of: define(null, ["esnext.weak-map.of"].concat(_toConsumableArray(WeakMapDependencies)))
117488 },
117489 WeakSet: {
117490 from: define(null, ["esnext.weak-set.from"].concat(_toConsumableArray(WeakSetDependencies))),
117491 of: define(null, ["esnext.weak-set.of"].concat(_toConsumableArray(WeakSetDependencies)))
117492 },
117493 Int8Array: TypedArrayStaticMethods,
117494 Uint8Array: TypedArrayStaticMethods,
117495 Uint8ClampedArray: TypedArrayStaticMethods,
117496 Int16Array: TypedArrayStaticMethods,
117497 Uint16Array: TypedArrayStaticMethods,
117498 Int32Array: TypedArrayStaticMethods,
117499 Uint32Array: TypedArrayStaticMethods,
117500 Float32Array: TypedArrayStaticMethods,
117501 Float64Array: TypedArrayStaticMethods
117502 };
117503 var InstanceProperties = {
117504 at: define("instance/at", ["esnext.string.at"]),
117505 anchor: define(null, ["es.string.anchor"]),
117506 big: define(null, ["es.string.big"]),
117507 bind: define("instance/bind", ["es.function.bind"]),
117508 blink: define(null, ["es.string.blink"]),
117509 bold: define(null, ["es.string.bold"]),
117510 codePointAt: define("instance/code-point-at", ["es.string.code-point-at"]),
117511 codePoints: define("instance/code-points", ["esnext.string.code-points"]),
117512 concat: define("instance/concat", ["es.array.concat"], undefined, ["String"]),
117513 copyWithin: define("instance/copy-within", ["es.array.copy-within"]),
117514 description: define(null, ["es.symbol", "es.symbol.description"]),
117515 endsWith: define("instance/ends-with", ["es.string.ends-with"]),
117516 entries: define("instance/entries", ArrayNatureIteratorsWithTag),
117517 every: define("instance/every", ["es.array.every"]),
117518 exec: define(null, ["es.regexp.exec"]),
117519 fill: define("instance/fill", ["es.array.fill"]),
117520 filter: define("instance/filter", ["es.array.filter"]),
117521 "finally": define(null, ["es.promise.finally"].concat(PromiseDependencies)),
117522 find: define("instance/find", ["es.array.find"]),
117523 findIndex: define("instance/find-index", ["es.array.find-index"]),
117524 fixed: define(null, ["es.string.fixed"]),
117525 flags: define("instance/flags", ["es.regexp.flags"]),
117526 flatMap: define("instance/flat-map", ["es.array.flat-map", "es.array.unscopables.flat-map"]),
117527 flat: define("instance/flat", ["es.array.flat"]),
117528 fontcolor: define(null, ["es.string.fontcolor"]),
117529 fontsize: define(null, ["es.string.fontsize"]),
117530 forEach: define("instance/for-each", ["es.array.for-each", "web.dom-collections.for-each"]),
117531 includes: define("instance/includes", ["es.array.includes", "es.string.includes"]),
117532 indexOf: define("instance/index-of", ["es.array.index-of"]),
117533 italic: define(null, ["es.string.italics"]),
117534 join: define(null, ["es.array.join"]),
117535 keys: define("instance/keys", ArrayNatureIteratorsWithTag),
117536 lastIndex: define(null, ["esnext.array.last-index"]),
117537 lastIndexOf: define("instance/last-index-of", ["es.array.last-index-of"]),
117538 lastItem: define(null, ["esnext.array.last-item"]),
117539 link: define(null, ["es.string.link"]),
117540 map: define("instance/map", ["es.array.map"]),
117541 match: define(null, ["es.string.match", "es.regexp.exec"]),
117542 matchAll: define("instance/match-all", ["es.string.match-all"]),
117543 name: define(null, ["es.function.name"]),
117544 padEnd: define("instance/pad-end", ["es.string.pad-end"]),
117545 padStart: define("instance/pad-start", ["es.string.pad-start"]),
117546 reduce: define("instance/reduce", ["es.array.reduce"]),
117547 reduceRight: define("instance/reduce-right", ["es.array.reduce-right"]),
117548 repeat: define("instance/repeat", ["es.string.repeat"]),
117549 replace: define(null, ["es.string.replace", "es.regexp.exec"]),
117550 replaceAll: define("instance/replace-all", ["esnext.string.replace-all"]),
117551 reverse: define("instance/reverse", ["es.array.reverse"]),
117552 search: define(null, ["es.string.search", "es.regexp.exec"]),
117553 slice: define("instance/slice", ["es.array.slice"]),
117554 small: define(null, ["es.string.small"]),
117555 some: define("instance/some", ["es.array.some"]),
117556 sort: define("instance/sort", ["es.array.sort"]),
117557 splice: define("instance/splice", ["es.array.splice"]),
117558 split: define(null, ["es.string.split", "es.regexp.exec"]),
117559 startsWith: define("instance/starts-with", ["es.string.starts-with"]),
117560 strike: define(null, ["es.string.strike"]),
117561 sub: define(null, ["es.string.sub"]),
117562 sup: define(null, ["es.string.sup"]),
117563 toFixed: define(null, ["es.number.to-fixed"]),
117564 toISOString: define(null, ["es.date.to-iso-string"]),
117565 toJSON: define(null, ["es.date.to-json", "web.url.to-json"]),
117566 toPrecision: define(null, ["es.number.to-precision"]),
117567 toString: define(null, ["es.object.to-string", "es.regexp.to-string", "es.date.to-string"]),
117568 trim: define("instance/trim", ["es.string.trim"]),
117569 trimEnd: define("instance/trim-end", ["es.string.trim-end"]),
117570 trimLeft: define("instance/trim-left", ["es.string.trim-start"]),
117571 trimRight: define("instance/trim-right", ["es.string.trim-end"]),
117572 trimStart: define("instance/trim-start", ["es.string.trim-start"]),
117573 values: define("instance/values", ArrayNatureIteratorsWithTag),
117574 __defineGetter__: define(null, ["es.object.define-getter"]),
117575 __defineSetter__: define(null, ["es.object.define-setter"]),
117576 __lookupGetter__: define(null, ["es.object.lookup-getter"]),
117577 __lookupSetter__: define(null, ["es.object.lookup-setter"])
117578 };
117579 var CommonInstanceDependencies = new Set(["es.object.to-string", "es.object.define-getter", "es.object.define-setter", "es.object.lookup-getter", "es.object.lookup-setter", "es.regexp.exec"]);
117580
117581 var _ref = undefined || babel,
117582 t$1 = _ref.types;
117583
117584 function callMethod(path, id) {
117585 var object = path.node.object;
117586 var context1, context2;
117587
117588 if (t$1.isIdentifier(object)) {
117589 context1 = object;
117590 context2 = t$1.cloneNode(object);
117591 } else {
117592 context1 = path.scope.generateDeclaredUidIdentifier("context");
117593 context2 = t$1.assignmentExpression("=", t$1.cloneNode(context1), object);
117594 }
117595
117596 path.replaceWith(t$1.memberExpression(t$1.callExpression(id, [context2]), t$1.identifier("call")));
117597 path.parentPath.unshiftContainer("arguments", context1);
117598 }
117599
117600 function isCoreJSSource(source) {
117601 if (typeof source === "string") {
117602 source = source.replace(/\\/g, "/").replace(/(\/(index)?)?(\.js)?$/i, "").toLowerCase();
117603 }
117604
117605 return hasOwnProperty.call(entries, source) && entries[source];
117606 }
117607
117608 function coreJSModule(name) {
117609 return "core-js/modules/" + name + ".js";
117610 }
117611
117612 function coreJSPureHelper(name, useBabelRuntime, ext) {
117613 return useBabelRuntime ? useBabelRuntime + "/core-js/" + name + ext : "core-js-pure/features/" + name + ".js";
117614 }
117615
117616 var _ref2 = undefined || babel,
117617 t = _ref2.types;
117618
117619 var runtimeCompat$1 = "#__secret_key__@babel/runtime__compatibility";
117620
117621 var esnextFallback = function esnextFallback(name, cb) {
117622 if (cb(name)) return true;
117623 if (!name.startsWith("es.")) return false;
117624 var fallback = "esnext." + name.slice(3);
117625 if (!data[fallback]) return false;
117626 return cb(fallback);
117627 };
117628
117629 var index$1 = definePolyfillProvider(function (_ref3, _ref4) {
117630 var getUtils = _ref3.getUtils,
117631 method = _ref3.method,
117632 shouldInjectPolyfill = _ref3.shouldInjectPolyfill,
117633 createMetaResolver = _ref3.createMetaResolver,
117634 debug = _ref3.debug,
117635 babel = _ref3.babel;
117636 var _ref4$version = _ref4.version,
117637 version = _ref4$version === void 0 ? 3 : _ref4$version,
117638 proposals = _ref4.proposals,
117639 shippedProposals = _ref4.shippedProposals,
117640 _ref4$runtimeCompat = _ref4[runtimeCompat$1];
117641 _ref4$runtimeCompat = _ref4$runtimeCompat === void 0 ? {} : _ref4$runtimeCompat;
117642 var useBabelRuntime = _ref4$runtimeCompat.useBabelRuntime,
117643 _ref4$runtimeCompat$e = _ref4$runtimeCompat.ext,
117644 ext = _ref4$runtimeCompat$e === void 0 ? ".js" : _ref4$runtimeCompat$e;
117645 var isWebpack = babel.caller(function (caller) {
117646 return (caller == null ? void 0 : caller.name) === "babel-loader";
117647 });
117648 var resolve = createMetaResolver({
117649 global: BuiltIns,
117650 "static": StaticProperties,
117651 instance: InstanceProperties
117652 });
117653 var available = new Set(getModulesListForTargetVersion(version));
117654 var coreJSPureBase = useBabelRuntime ? proposals ? useBabelRuntime + "/core-js" : useBabelRuntime + "/core-js-stable" : proposals ? "core-js-pure/features" : "core-js-pure/stable";
117655
117656 function maybeInjectGlobalImpl(name, utils) {
117657 if (shouldInjectPolyfill(name)) {
117658 debug(name);
117659 utils.injectGlobalImport(coreJSModule(name));
117660 return true;
117661 }
117662
117663 return false;
117664 }
117665
117666 function maybeInjectGlobal(names, utils, fallback) {
117667 if (fallback === void 0) {
117668 fallback = true;
117669 }
117670
117671 for (var _iterator = _createForOfIteratorHelperLoose(names), _step; !(_step = _iterator()).done;) {
117672 var name = _step.value;
117673
117674 if (fallback) {
117675 esnextFallback(name, function (name) {
117676 return maybeInjectGlobalImpl(name, utils);
117677 });
117678 } else {
117679 maybeInjectGlobalImpl(name, utils);
117680 }
117681 }
117682 }
117683
117684 function maybeInjectPure(desc, hint, utils, object) {
117685 if (desc.pure && !(object && desc.exclude && desc.exclude.includes(object)) && esnextFallback(desc.name, shouldInjectPolyfill)) {
117686 return utils.injectDefaultImport(coreJSPureBase + "/" + desc.pure + ext, hint);
117687 }
117688 }
117689
117690 return {
117691 name: "corejs3",
117692 polyfills: data,
117693 filterPolyfills: function filterPolyfills(name) {
117694 if (!available.has(name)) return false;
117695 if (proposals || method === "entry-global") return true;
117696
117697 if (shippedProposals && corejs3ShippedProposalsList.has(name)) {
117698 return true;
117699 }
117700
117701 return !name.startsWith("esnext.");
117702 },
117703 entryGlobal: function entryGlobal(meta, utils, path) {
117704 if (meta.kind !== "import") return;
117705 var modules = isCoreJSSource(meta.source);
117706 if (!modules) return;
117707
117708 if (modules.length === 1 && meta.source === coreJSModule(modules[0]) && shouldInjectPolyfill(modules[0])) {
117709 debug(null);
117710 return;
117711 }
117712
117713 maybeInjectGlobal(modules, utils, false);
117714 path.remove();
117715 },
117716 usageGlobal: function usageGlobal(meta, utils) {
117717 var resolved = resolve(meta);
117718 if (!resolved) return;
117719 var deps = resolved.desc.global;
117720
117721 if (resolved.kind !== "global" && meta.object && meta.placement === "prototype") {
117722 var low = meta.object.toLowerCase();
117723 deps = deps.filter(function (m) {
117724 return m.includes(low) || CommonInstanceDependencies.has(m);
117725 });
117726 }
117727
117728 maybeInjectGlobal(deps, utils);
117729 },
117730 usagePure: function usagePure(meta, utils, path) {
117731 if (meta.kind === "in") {
117732 if (meta.key === "Symbol.iterator") {
117733 path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper("is-iterable", useBabelRuntime, ext), "isIterable"), [path.node.right]));
117734 }
117735
117736 return;
117737 }
117738
117739 if (path.parentPath.isUnaryExpression({
117740 operator: "delete"
117741 })) return;
117742 var isCall;
117743
117744 if (meta.kind === "property") {
117745 if (!path.isMemberExpression()) return;
117746 if (!path.isReferenced()) return;
117747 isCall = path.parentPath.isCallExpression({
117748 callee: path.node
117749 });
117750
117751 if (meta.key === "Symbol.iterator") {
117752 if (!shouldInjectPolyfill("es.symbol.iterator")) return;
117753
117754 if (isCall) {
117755 if (path.parent.arguments.length === 0) {
117756 path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper("get-iterator", useBabelRuntime, ext), "getIterator"), [path.node.object]));
117757 path.skip();
117758 } else {
117759 callMethod(path, utils.injectDefaultImport(coreJSPureHelper("get-iterator-method", useBabelRuntime, ext), "getIteratorMethod"));
117760 }
117761 } else {
117762 path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper("get-iterator-method", useBabelRuntime, ext), "getIteratorMethod"), [path.node.object]));
117763 }
117764
117765 return;
117766 }
117767 }
117768
117769 var resolved = resolve(meta);
117770 if (!resolved) return;
117771
117772 if (useBabelRuntime && resolved.desc.pure && resolved.desc.pure.slice(-6) === "/index") {
117773 resolved = Object.assign(Object.assign({}, resolved), {}, {
117774 desc: Object.assign(Object.assign({}, resolved.desc), {}, {
117775 pure: resolved.desc.pure.slice(0, -6)
117776 })
117777 });
117778 }
117779
117780 if (resolved.kind === "global") {
117781 var id = maybeInjectPure(resolved.desc, resolved.name, utils);
117782 if (id) path.replaceWith(id);
117783 } else if (resolved.kind === "static") {
117784 var _id = maybeInjectPure(resolved.desc, resolved.name, utils, meta.object);
117785
117786 if (_id) path.replaceWith(_id);
117787 } else if (resolved.kind === "instance") {
117788 var _id2 = maybeInjectPure(resolved.desc, resolved.name + "InstanceProperty", utils, meta.object);
117789
117790 if (!_id2) return;
117791
117792 if (isCall) {
117793 callMethod(path, _id2);
117794 } else {
117795 path.replaceWith(t.callExpression(_id2, [path.node.object]));
117796 }
117797 }
117798 },
117799 visitor: method === "usage-global" && {
117800 CallExpression: function CallExpression(path) {
117801 if (path.get("callee").isImport()) {
117802 var utils = getUtils(path);
117803
117804 if (isWebpack) {
117805 maybeInjectGlobal(PromiseDependenciesWithIterators, utils);
117806 } else {
117807 maybeInjectGlobal(PromiseDependencies, utils);
117808 }
117809 }
117810 },
117811 Function: function Function(path) {
117812 if (path.node.async) {
117813 maybeInjectGlobal(PromiseDependencies, getUtils(path));
117814 }
117815 },
117816 "ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern(path) {
117817 maybeInjectGlobal(CommonIterators, getUtils(path));
117818 },
117819 SpreadElement: function SpreadElement(path) {
117820 if (!path.parentPath.isObjectExpression()) {
117821 maybeInjectGlobal(CommonIterators, getUtils(path));
117822 }
117823 },
117824 YieldExpression: function YieldExpression(path) {
117825 if (path.node.delegate) {
117826 maybeInjectGlobal(CommonIterators, getUtils(path));
117827 }
117828 }
117829 }
117830 };
117831 });
117832
117833 var runtimeCompat = "#__secret_key__@babel/runtime__compatibility";
117834 var index = definePolyfillProvider(function (_ref, options) {
117835 var debug = _ref.debug;
117836 var _options$runtimeCompa = options[runtimeCompat];
117837 _options$runtimeCompa = _options$runtimeCompa === void 0 ? {} : _options$runtimeCompa;
117838 var useBabelRuntime = _options$runtimeCompa.useBabelRuntime;
117839 var pureName = useBabelRuntime ? useBabelRuntime + "/regenerator" : "regenerator-runtime";
117840 return {
117841 name: "regenerator",
117842 polyfills: ["regenerator-runtime"],
117843 usageGlobal: function usageGlobal(meta, utils) {
117844 if (isRegenerator(meta)) {
117845 debug("regenerator-runtime");
117846 utils.injectGlobalImport("regenerator-runtime/runtime.js");
117847 }
117848 },
117849 usagePure: function usagePure(meta, utils, path) {
117850 if (isRegenerator(meta)) {
117851 path.replaceWith(utils.injectDefaultImport(pureName, "regenerator-runtime"));
117852 }
117853 }
117854 };
117855 });
117856
117857 var isRegenerator = function isRegenerator(meta) {
117858 return meta.kind === "global" && meta.name === "regeneratorRuntime";
117859 };
117860
117861 var pluginCoreJS2 = index$2["default"] || index$2;
117862 var pluginCoreJS3 = index$1["default"] || index$1;
117863 var pluginRegenerator = index["default"] || index;
117864
117865 function filterStageFromList(list, stageList) {
117866 return Object.keys(list).reduce(function (result, item) {
117867 if (!stageList.has(item)) {
117868 result[item] = list[item];
117869 }
117870
117871 return result;
117872 }, {});
117873 }
117874
117875 var pluginLists = {
117876 withProposals: {
117877 withoutBugfixes: pluginsFiltered,
117878 withBugfixes: Object.assign({}, pluginsFiltered, bugfixPluginsFiltered)
117879 },
117880 withoutProposals: {
117881 withoutBugfixes: filterStageFromList(pluginsFiltered, shippedProposals.proposalPlugins),
117882 withBugfixes: filterStageFromList(Object.assign({}, pluginsFiltered, bugfixPluginsFiltered), shippedProposals.proposalPlugins)
117883 }
117884 };
117885
117886 function getPluginList(proposals, bugfixes) {
117887 if (proposals) {
117888 if (bugfixes) return pluginLists.withProposals.withBugfixes;else return pluginLists.withProposals.withoutBugfixes;
117889 } else {
117890 if (bugfixes) return pluginLists.withoutProposals.withBugfixes;else return pluginLists.withoutProposals.withoutBugfixes;
117891 }
117892 }
117893
117894 var getPlugin = function getPlugin(pluginName) {
117895 var plugin = availablePlugins$1[pluginName]();
117896
117897 if (!plugin) {
117898 throw new Error("Could not find plugin \"" + pluginName + "\". Ensure there is an entry in ./available-plugins.js for it.");
117899 }
117900
117901 return plugin;
117902 };
117903
117904 var transformIncludesAndExcludes = function transformIncludesAndExcludes(opts) {
117905 return opts.reduce(function (result, opt) {
117906 var target = opt.match(/^(es|es6|es7|esnext|web)\./) ? "builtIns" : "plugins";
117907 result[target].add(opt);
117908 return result;
117909 }, {
117910 all: opts,
117911 plugins: new Set(),
117912 builtIns: new Set()
117913 });
117914 };
117915 var getModulesPluginNames = function getModulesPluginNames(_ref) {
117916 var modules = _ref.modules,
117917 transformations = _ref.transformations,
117918 shouldTransformESM = _ref.shouldTransformESM,
117919 shouldTransformDynamicImport = _ref.shouldTransformDynamicImport,
117920 shouldTransformExportNamespaceFrom = _ref.shouldTransformExportNamespaceFrom,
117921 shouldParseTopLevelAwait = _ref.shouldParseTopLevelAwait;
117922 var modulesPluginNames = [];
117923
117924 if (modules !== false && transformations[modules]) {
117925 if (shouldTransformESM) {
117926 modulesPluginNames.push(transformations[modules]);
117927 }
117928
117929 if (shouldTransformDynamicImport && shouldTransformESM && modules !== "umd") {
117930 modulesPluginNames.push("proposal-dynamic-import");
117931 } else {
117932 if (shouldTransformDynamicImport) {
117933 console.warn("Dynamic import can only be supported when transforming ES modules" + " to AMD, CommonJS or SystemJS. Only the parser plugin will be enabled.");
117934 }
117935
117936 modulesPluginNames.push("syntax-dynamic-import");
117937 }
117938 } else {
117939 modulesPluginNames.push("syntax-dynamic-import");
117940 }
117941
117942 if (shouldTransformExportNamespaceFrom) {
117943 modulesPluginNames.push("proposal-export-namespace-from");
117944 } else {
117945 modulesPluginNames.push("syntax-export-namespace-from");
117946 }
117947
117948 if (shouldParseTopLevelAwait) {
117949 modulesPluginNames.push("syntax-top-level-await");
117950 }
117951
117952 return modulesPluginNames;
117953 };
117954 var getPolyfillPlugins = function getPolyfillPlugins(_ref2) {
117955 var useBuiltIns = _ref2.useBuiltIns,
117956 corejs = _ref2.corejs,
117957 polyfillTargets = _ref2.polyfillTargets,
117958 include = _ref2.include,
117959 exclude = _ref2.exclude,
117960 proposals = _ref2.proposals,
117961 shippedProposals = _ref2.shippedProposals,
117962 regenerator = _ref2.regenerator,
117963 debug = _ref2.debug;
117964 var polyfillPlugins = [];
117965
117966 if (useBuiltIns === "usage" || useBuiltIns === "entry") {
117967 var pluginOptions = {
117968 method: useBuiltIns + "-global",
117969 version: corejs ? corejs.toString() : undefined,
117970 targets: polyfillTargets,
117971 include: include,
117972 exclude: exclude,
117973 proposals: proposals,
117974 shippedProposals: shippedProposals,
117975 debug: debug
117976 };
117977
117978 if (corejs) {
117979 if (useBuiltIns === "usage") {
117980 if (corejs.major === 2) {
117981 polyfillPlugins.push([pluginCoreJS2, pluginOptions], [legacyBabelPolyfillPlugin, {
117982 usage: true
117983 }]);
117984 } else {
117985 polyfillPlugins.push([pluginCoreJS3, pluginOptions], [legacyBabelPolyfillPlugin, {
117986 usage: true,
117987 deprecated: true
117988 }]);
117989 }
117990
117991 if (regenerator) {
117992 polyfillPlugins.push([pluginRegenerator, {
117993 method: "usage-global",
117994 debug: debug
117995 }]);
117996 }
117997 } else {
117998 if (corejs.major === 2) {
117999 polyfillPlugins.push([legacyBabelPolyfillPlugin, {
118000 regenerator: regenerator
118001 }], [pluginCoreJS2, pluginOptions]);
118002 } else {
118003 polyfillPlugins.push([pluginCoreJS3, pluginOptions], [legacyBabelPolyfillPlugin, {
118004 deprecated: true
118005 }]);
118006
118007 if (!regenerator) {
118008 polyfillPlugins.push([removeRegeneratorEntryPlugin, pluginOptions]);
118009 }
118010 }
118011 }
118012 }
118013 }
118014
118015 return polyfillPlugins;
118016 };
118017
118018 function getLocalTargets(optionsTargets, ignoreBrowserslistConfig, configPath, browserslistEnv) {
118019 if (optionsTargets != null && optionsTargets.esmodules && optionsTargets.browsers) {
118020 console.warn("\n@babel/preset-env: esmodules and browsers targets have been specified together.\n`browsers` target, `" + optionsTargets.browsers.toString() + "` will be ignored.\n");
118021 }
118022
118023 return getTargets$2(optionsTargets, {
118024 ignoreBrowserslistConfig: ignoreBrowserslistConfig,
118025 configPath: configPath,
118026 browserslistEnv: browserslistEnv
118027 });
118028 }
118029
118030 function supportsStaticESM(caller) {
118031 return !!(caller != null && caller.supportsStaticESM);
118032 }
118033
118034 function supportsDynamicImport(caller) {
118035 return !!(caller != null && caller.supportsDynamicImport);
118036 }
118037
118038 function supportsExportNamespaceFrom(caller) {
118039 return !!(caller != null && caller.supportsExportNamespaceFrom);
118040 }
118041
118042 function supportsTopLevelAwait(caller) {
118043 return !!(caller != null && caller.supportsTopLevelAwait);
118044 }
118045
118046 var presetEnv = declare(function (api, opts) {
118047 api.assertVersion(7);
118048 var babelTargets = api.targets();
118049
118050 var _normalizeOptions = normalizeOptions$3(opts),
118051 bugfixes = _normalizeOptions.bugfixes,
118052 configPath = _normalizeOptions.configPath,
118053 debug = _normalizeOptions.debug,
118054 optionsExclude = _normalizeOptions.exclude,
118055 forceAllTransforms = _normalizeOptions.forceAllTransforms,
118056 ignoreBrowserslistConfig = _normalizeOptions.ignoreBrowserslistConfig,
118057 optionsInclude = _normalizeOptions.include,
118058 loose = _normalizeOptions.loose,
118059 modules = _normalizeOptions.modules,
118060 shippedProposals$1 = _normalizeOptions.shippedProposals,
118061 spec = _normalizeOptions.spec,
118062 optionsTargets = _normalizeOptions.targets,
118063 useBuiltIns = _normalizeOptions.useBuiltIns,
118064 _normalizeOptions$cor = _normalizeOptions.corejs,
118065 corejs = _normalizeOptions$cor.version,
118066 proposals = _normalizeOptions$cor.proposals,
118067 browserslistEnv = _normalizeOptions.browserslistEnv;
118068
118069 var targets = babelTargets;
118070
118071 if (semver$4.lt(api.version, "7.13.0") || opts.targets || opts.configPath || opts.browserslistEnv || opts.ignoreBrowserslistConfig) {
118072 {
118073 var hasUglifyTarget = false;
118074
118075 if (optionsTargets != null && optionsTargets.uglify) {
118076 hasUglifyTarget = true;
118077 delete optionsTargets.uglify;
118078 console.warn("\nThe uglify target has been deprecated. Set the top level\noption `forceAllTransforms: true` instead.\n");
118079 }
118080 }
118081 targets = getLocalTargets(optionsTargets, ignoreBrowserslistConfig, configPath, browserslistEnv);
118082 }
118083
118084 var transformTargets = forceAllTransforms || hasUglifyTarget ? {} : targets;
118085 var include = transformIncludesAndExcludes(optionsInclude);
118086 var exclude = transformIncludesAndExcludes(optionsExclude);
118087 var compatData = getPluginList(shippedProposals$1, bugfixes);
118088 var shouldSkipExportNamespaceFrom = modules === "auto" && (api.caller == null ? void 0 : api.caller(supportsExportNamespaceFrom)) || modules === false && !isRequired("proposal-export-namespace-from", transformTargets, {
118089 compatData: compatData,
118090 includes: include.plugins,
118091 excludes: exclude.plugins
118092 });
118093 var modulesPluginNames = getModulesPluginNames({
118094 modules: modules,
118095 transformations: moduleTransformations,
118096 shouldTransformESM: modules !== "auto" || !(api.caller != null && api.caller(supportsStaticESM)),
118097 shouldTransformDynamicImport: modules !== "auto" || !(api.caller != null && api.caller(supportsDynamicImport)),
118098 shouldTransformExportNamespaceFrom: !shouldSkipExportNamespaceFrom,
118099 shouldParseTopLevelAwait: !api.caller || api.caller(supportsTopLevelAwait)
118100 });
118101 var pluginNames = filterItems(compatData, include.plugins, exclude.plugins, transformTargets, modulesPluginNames, getOptionSpecificExcludesFor({
118102 loose: loose
118103 }), shippedProposals.pluginSyntaxMap);
118104 removeUnnecessaryItems(pluginNames, overlappingPlugins);
118105 removeUnsupportedItems(pluginNames, api.version);
118106 var polyfillPlugins = getPolyfillPlugins({
118107 useBuiltIns: useBuiltIns,
118108 corejs: corejs,
118109 polyfillTargets: targets,
118110 include: include.builtIns,
118111 exclude: exclude.builtIns,
118112 proposals: proposals,
118113 shippedProposals: shippedProposals$1,
118114 regenerator: pluginNames.has("transform-regenerator"),
118115 debug: debug
118116 });
118117 var pluginUseBuiltIns = useBuiltIns !== false;
118118 var plugins = Array.from(pluginNames).map(function (pluginName) {
118119 if (pluginName === "proposal-class-properties" || pluginName === "proposal-private-methods" || pluginName === "proposal-private-property-in-object") {
118120 return [getPlugin(pluginName), {
118121 loose: loose ? "#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-an-error" : "#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error"
118122 }];
118123 }
118124
118125 return [getPlugin(pluginName), {
118126 spec: spec,
118127 loose: loose,
118128 useBuiltIns: pluginUseBuiltIns
118129 }];
118130 }).concat(polyfillPlugins);
118131
118132 if (debug) {
118133 console.log("@babel/preset-env: `DEBUG` option");
118134 console.log("\nUsing targets:");
118135 console.log(JSON.stringify(prettifyTargets(targets), null, 2));
118136 console.log("\nUsing modules transform: " + modules.toString());
118137 console.log("\nUsing plugins:");
118138 pluginNames.forEach(function (pluginName) {
118139 logPlugin(pluginName, targets, compatData);
118140 });
118141
118142 if (!useBuiltIns) {
118143 console.log("\nUsing polyfills: No polyfills were added, since the `useBuiltIns` option was not set.");
118144 }
118145 }
118146
118147 return {
118148 plugins: plugins
118149 };
118150 });
118151
118152 function normalizeOptions$2(options) {
118153 if (options === void 0) {
118154 options = {};
118155 }
118156
118157 var _options = options,
118158 all = _options.all;
118159 var _options2 = options,
118160 allowDeclareFields = _options2.allowDeclareFields;
118161 {
118162 return {
118163 all: all,
118164 allowDeclareFields: allowDeclareFields
118165 };
118166 }
118167 }
118168
118169 var presetFlow = declare(function (api, opts) {
118170 api.assertVersion(7);
118171
118172 var _normalizeOptions = normalizeOptions$2(opts),
118173 all = _normalizeOptions.all,
118174 allowDeclareFields = _normalizeOptions.allowDeclareFields;
118175
118176 return {
118177 plugins: [[transformFlowStripTypes, {
118178 all: all,
118179 allowDeclareFields: allowDeclareFields
118180 }]]
118181 };
118182 });
118183
118184 var PURE_CALLS = new Map([["react", ["cloneElement", "createContext", "createElement", "createFactory", "createRef", "forwardRef", "isValidElement", "memo", "lazy"]], ["react-dom", ["createPortal"]]]);
118185 var transformReactPure = declare(function (api) {
118186 api.assertVersion(7);
118187 return {
118188 name: "transform-react-pure-annotations",
118189 visitor: {
118190 CallExpression: function CallExpression(path) {
118191 if (isReactCall(path)) {
118192 annotateAsPure(path);
118193 }
118194 }
118195 }
118196 };
118197 });
118198
118199 function isReactCall(path) {
118200 if (!isMemberExpression(path.node.callee)) {
118201 var callee = path.get("callee");
118202
118203 for (var _iterator = _createForOfIteratorHelperLoose(PURE_CALLS), _step; !(_step = _iterator()).done;) {
118204 var _step$value = _slicedToArray$2(_step.value, 2),
118205 module = _step$value[0],
118206 methods = _step$value[1];
118207
118208 for (var _iterator2 = _createForOfIteratorHelperLoose(methods), _step2; !(_step2 = _iterator2()).done;) {
118209 var method = _step2.value;
118210
118211 if (callee.referencesImport(module, method)) {
118212 return true;
118213 }
118214 }
118215 }
118216
118217 return false;
118218 }
118219
118220 for (var _iterator3 = _createForOfIteratorHelperLoose(PURE_CALLS), _step3; !(_step3 = _iterator3()).done;) {
118221 var _step3$value = _slicedToArray$2(_step3.value, 2),
118222 _module = _step3$value[0],
118223 _methods = _step3$value[1];
118224
118225 var object = path.get("callee.object");
118226
118227 if (object.referencesImport(_module, "default") || object.referencesImport(_module, "*")) {
118228 for (var _iterator4 = _createForOfIteratorHelperLoose(_methods), _step4; !(_step4 = _iterator4()).done;) {
118229 var _method = _step4.value;
118230
118231 if (isIdentifier(path.node.callee.property, {
118232 name: _method
118233 })) {
118234 return true;
118235 }
118236 }
118237
118238 return false;
118239 }
118240 }
118241
118242 return false;
118243 }
118244
118245 function normalizeOptions$1(options) {
118246 if (options === void 0) {
118247 options = {};
118248 }
118249
118250 {
118251 var _options = options,
118252 pragma = _options.pragma,
118253 pragmaFrag = _options.pragmaFrag;
118254 var _options2 = options,
118255 pure = _options2.pure,
118256 _options2$throwIfName = _options2.throwIfNamespace,
118257 throwIfNamespace = _options2$throwIfName === void 0 ? true : _options2$throwIfName,
118258 _options2$runtime = _options2.runtime,
118259 runtime = _options2$runtime === void 0 ? "classic" : _options2$runtime,
118260 importSource = _options2.importSource,
118261 useBuiltIns = _options2.useBuiltIns,
118262 useSpread = _options2.useSpread;
118263
118264 if (runtime === "classic") {
118265 pragma = pragma || "React.createElement";
118266 pragmaFrag = pragmaFrag || "React.Fragment";
118267 }
118268
118269 var development = !!options.development;
118270 return {
118271 development: development,
118272 importSource: importSource,
118273 pragma: pragma,
118274 pragmaFrag: pragmaFrag,
118275 pure: pure,
118276 runtime: runtime,
118277 throwIfNamespace: throwIfNamespace,
118278 useBuiltIns: useBuiltIns,
118279 useSpread: useSpread
118280 };
118281 }
118282 }
118283
118284 var presetReact = declare(function (api, opts) {
118285 api.assertVersion(7);
118286
118287 var _normalizeOptions = normalizeOptions$1(opts),
118288 development = _normalizeOptions.development,
118289 importSource = _normalizeOptions.importSource,
118290 pragma = _normalizeOptions.pragma,
118291 pragmaFrag = _normalizeOptions.pragmaFrag,
118292 pure = _normalizeOptions.pure,
118293 runtime = _normalizeOptions.runtime,
118294 throwIfNamespace = _normalizeOptions.throwIfNamespace;
118295
118296 return {
118297 plugins: [[development ? transformReactJSXDevelopment : transformReactJSX, {
118298 importSource: importSource,
118299 pragma: pragma,
118300 pragmaFrag: pragmaFrag,
118301 runtime: runtime,
118302 throwIfNamespace: throwIfNamespace,
118303 pure: pure,
118304 useBuiltIns: !!opts.useBuiltIns,
118305 useSpread: opts.useSpread
118306 }], transformReactDisplayName, pure !== false && transformReactPure].filter(Boolean)
118307 };
118308 });
118309
118310 var v = new OptionValidator("@babel/preset-typescript");
118311 function normalizeOptions(options) {
118312 if (options === void 0) {
118313 options = {};
118314 }
118315
118316 var _options = options,
118317 _options$allowNamespa = _options.allowNamespaces,
118318 allowNamespaces = _options$allowNamespa === void 0 ? true : _options$allowNamespa,
118319 jsxPragma = _options.jsxPragma,
118320 onlyRemoveTypeImports = _options.onlyRemoveTypeImports;
118321 var jsxPragmaFrag = v.validateStringOption("jsxPragmaFrag", options.jsxPragmaFrag, "React.Fragment");
118322 var allExtensions = v.validateBooleanOption("allExtensions", options.allExtensions, false);
118323 var isTSX = v.validateBooleanOption("isTSX", options.isTSX, false);
118324
118325 if (isTSX) {
118326 v.invariant(allExtensions, "isTSX:true requires allExtensions:true");
118327 }
118328
118329 return {
118330 allExtensions: allExtensions,
118331 allowNamespaces: allowNamespaces,
118332 isTSX: isTSX,
118333 jsxPragma: jsxPragma,
118334 jsxPragmaFrag: jsxPragmaFrag,
118335 onlyRemoveTypeImports: onlyRemoveTypeImports
118336 };
118337 }
118338
118339 var presetTypescript = declare(function (api, opts) {
118340 api.assertVersion(7);
118341
118342 var _normalizeOptions = normalizeOptions(opts),
118343 allExtensions = _normalizeOptions.allExtensions,
118344 allowNamespaces = _normalizeOptions.allowNamespaces,
118345 isTSX = _normalizeOptions.isTSX,
118346 jsxPragma = _normalizeOptions.jsxPragma,
118347 jsxPragmaFrag = _normalizeOptions.jsxPragmaFrag,
118348 onlyRemoveTypeImports = _normalizeOptions.onlyRemoveTypeImports;
118349
118350 var pluginOptions = function pluginOptions(isTSX) {
118351 return {
118352 allowDeclareFields: opts.allowDeclareFields,
118353 allowNamespaces: allowNamespaces,
118354 isTSX: isTSX,
118355 jsxPragma: jsxPragma,
118356 jsxPragmaFrag: jsxPragmaFrag,
118357 onlyRemoveTypeImports: onlyRemoveTypeImports
118358 };
118359 };
118360
118361 return {
118362 overrides: allExtensions ? [{
118363 plugins: [[transformTypeScript, pluginOptions(isTSX)]]
118364 }] : [{
118365 test: /\.ts$/,
118366 plugins: [[transformTypeScript, pluginOptions(false)]]
118367 }, {
118368 test: /\.tsx$/,
118369 plugins: [[transformTypeScript, pluginOptions(true)]]
118370 }]
118371 };
118372 });
118373
118374 var scriptTypes = ["text/jsx", "text/babel"];
118375 var headEl;
118376 var inlineScriptCount = 0;
118377
118378 function transformCode(transformFn, script) {
118379 var source;
118380
118381 if (script.url != null) {
118382 source = script.url;
118383 } else {
118384 source = "Inline Babel script";
118385 inlineScriptCount++;
118386
118387 if (inlineScriptCount > 1) {
118388 source += " (" + inlineScriptCount + ")";
118389 }
118390 }
118391
118392 return transformFn(script.content, buildBabelOptions(script, source)).code;
118393 }
118394
118395 function buildBabelOptions(script, filename) {
118396 var presets = script.presets;
118397
118398 if (!presets) {
118399 if (script.type === "module") {
118400 presets = ["react", ["env", {
118401 targets: {
118402 esmodules: true
118403 },
118404 modules: false
118405 }]];
118406 } else {
118407 presets = ["react", "env"];
118408 }
118409 }
118410
118411 return {
118412 filename: filename,
118413 presets: presets,
118414 plugins: script.plugins || ["proposal-class-properties", "proposal-object-rest-spread", "transform-flow-strip-types"],
118415 sourceMaps: "inline",
118416 sourceFileName: filename
118417 };
118418 }
118419
118420 function run(transformFn, script) {
118421 var scriptEl = document.createElement("script");
118422
118423 if (script.type) {
118424 scriptEl.setAttribute("type", script.type);
118425 }
118426
118427 scriptEl.text = transformCode(transformFn, script);
118428 headEl.appendChild(scriptEl);
118429 }
118430
118431 function load(url, successCallback, errorCallback) {
118432 var xhr = new XMLHttpRequest();
118433 xhr.open("GET", url, true);
118434
118435 if ("overrideMimeType" in xhr) {
118436 xhr.overrideMimeType("text/plain");
118437 }
118438
118439 xhr.onreadystatechange = function () {
118440 if (xhr.readyState === 4) {
118441 if (xhr.status === 0 || xhr.status === 200) {
118442 successCallback(xhr.responseText);
118443 } else {
118444 errorCallback();
118445 throw new Error("Could not load " + url);
118446 }
118447 }
118448 };
118449
118450 return xhr.send(null);
118451 }
118452
118453 function getPluginsOrPresetsFromScript(script, attributeName) {
118454 var rawValue = script.getAttribute(attributeName);
118455
118456 if (rawValue === "") {
118457 return [];
118458 }
118459
118460 if (!rawValue) {
118461 return null;
118462 }
118463
118464 return rawValue.split(",").map(function (item) {
118465 return item.trim();
118466 });
118467 }
118468
118469 function loadScripts(transformFn, scripts) {
118470 var result = [];
118471 var count = scripts.length;
118472
118473 function check() {
118474 var script, i;
118475
118476 for (i = 0; i < count; i++) {
118477 script = result[i];
118478
118479 if (script.loaded && !script.executed) {
118480 script.executed = true;
118481 run(transformFn, script);
118482 } else if (!script.loaded && !script.error && !script.async) {
118483 break;
118484 }
118485 }
118486 }
118487
118488 scripts.forEach(function (script, i) {
118489 var scriptData = {
118490 async: script.hasAttribute("async"),
118491 type: script.getAttribute("data-type"),
118492 error: false,
118493 executed: false,
118494 plugins: getPluginsOrPresetsFromScript(script, "data-plugins"),
118495 presets: getPluginsOrPresetsFromScript(script, "data-presets")
118496 };
118497
118498 if (script.src) {
118499 result[i] = Object.assign({}, scriptData, {
118500 content: null,
118501 loaded: false,
118502 url: script.src
118503 });
118504 load(script.src, function (content) {
118505 result[i].loaded = true;
118506 result[i].content = content;
118507 check();
118508 }, function () {
118509 result[i].error = true;
118510 check();
118511 });
118512 } else {
118513 result[i] = Object.assign({}, scriptData, {
118514 content: script.innerHTML,
118515 loaded: true,
118516 url: script.getAttribute("data-module") || null
118517 });
118518 }
118519 });
118520 check();
118521 }
118522
118523 function runScripts(transformFn, scripts) {
118524 headEl = document.getElementsByTagName("head")[0];
118525
118526 if (!scripts) {
118527 scripts = document.getElementsByTagName("script");
118528 }
118529
118530 var jsxScripts = [];
118531
118532 for (var i = 0; i < scripts.length; i++) {
118533 var script = scripts.item(i);
118534 var type = script.type.split(";")[0];
118535
118536 if (scriptTypes.indexOf(type) !== -1) {
118537 jsxScripts.push(script);
118538 }
118539 }
118540
118541 if (jsxScripts.length === 0) {
118542 return;
118543 }
118544
118545 console.warn("You are using the in-browser Babel transformer. Be sure to precompile " + "your scripts for production - https://babeljs.io/docs/setup/");
118546 loadScripts(transformFn, jsxScripts);
118547 }
118548
118549 var _window;
118550
118551 var isArray = Array.isArray || function (arg) {
118552 return Object.prototype.toString.call(arg) === "[object Array]";
118553 };
118554
118555 function loadBuiltin(builtinTable, name) {
118556 if (isArray(name) && typeof name[0] === "string") {
118557 if (Object.prototype.hasOwnProperty.call(builtinTable, name[0])) {
118558 return [builtinTable[name[0]]].concat(name.slice(1));
118559 }
118560
118561 return;
118562 } else if (typeof name === "string") {
118563 return builtinTable[name];
118564 }
118565
118566 return name;
118567 }
118568
118569 function processOptions(options) {
118570 var presets = (options.presets || []).map(function (presetName) {
118571 var preset = loadBuiltin(availablePresets, presetName);
118572
118573 if (preset) {
118574 if (isArray(preset) && typeof preset[0] === "object" && Object.prototype.hasOwnProperty.call(preset[0], "buildPreset")) {
118575 preset[0] = Object.assign({}, preset[0], {
118576 buildPreset: preset[0].buildPreset
118577 });
118578 }
118579 } else {
118580 throw new Error("Invalid preset specified in Babel options: \"" + presetName + "\"");
118581 }
118582
118583 return preset;
118584 });
118585 var plugins = (options.plugins || []).map(function (pluginName) {
118586 var plugin = loadBuiltin(availablePlugins, pluginName);
118587
118588 if (!plugin) {
118589 throw new Error("Invalid plugin specified in Babel options: \"" + pluginName + "\"");
118590 }
118591
118592 return plugin;
118593 });
118594 return Object.assign({
118595 babelrc: false
118596 }, options, {
118597 presets: presets,
118598 plugins: plugins
118599 });
118600 }
118601
118602 function transform(code, options) {
118603 return transform$2(code, processOptions(options));
118604 }
118605 function transformFromAst(ast, code, options) {
118606 return transformFromAst$1(ast, code, processOptions(options));
118607 }
118608 var availablePlugins = {};
118609 var availablePresets = {};
118610 var buildExternalHelpers = babelBuildExternalHelpers;
118611 function registerPlugin(name, plugin) {
118612 if (Object.prototype.hasOwnProperty.call(availablePlugins, name)) {
118613 console.warn("A plugin named \"" + name + "\" is already registered, it will be overridden");
118614 }
118615
118616 availablePlugins[name] = plugin;
118617 }
118618 function registerPlugins(newPlugins) {
118619 Object.keys(newPlugins).forEach(function (name) {
118620 return registerPlugin(name, newPlugins[name]);
118621 });
118622 }
118623 function registerPreset(name, preset) {
118624 if (Object.prototype.hasOwnProperty.call(availablePresets, name)) {
118625 if (name === "env") {
118626 console.warn("@babel/preset-env is now included in @babel/standalone, please remove @babel/preset-env-standalone");
118627 } else {
118628 console.warn("A preset named \"" + name + "\" is already registered, it will be overridden");
118629 }
118630 }
118631
118632 availablePresets[name] = preset;
118633 }
118634 function registerPresets(newPresets) {
118635 Object.keys(newPresets).forEach(function (name) {
118636 return registerPreset(name, newPresets[name]);
118637 });
118638 }
118639 registerPlugins(all);
118640 registerPresets({
118641 env: presetEnv,
118642 es2015: preset2015,
118643 es2016: function es2016() {
118644 return {
118645 plugins: [availablePlugins["transform-exponentiation-operator"]]
118646 };
118647 },
118648 es2017: function es2017() {
118649 return {
118650 plugins: [availablePlugins["transform-async-to-generator"]]
118651 };
118652 },
118653 react: presetReact,
118654 "stage-0": presetStage0,
118655 "stage-1": presetStage1,
118656 "stage-2": presetStage2,
118657 "stage-3": presetStage3,
118658 "es2015-loose": {
118659 presets: [[preset2015, {
118660 loose: true
118661 }]]
118662 },
118663 "es2015-no-commonjs": {
118664 presets: [[preset2015, {
118665 modules: false
118666 }]]
118667 },
118668 typescript: presetTypescript,
118669 flow: presetFlow
118670 });
118671 var version = "7.14.8";
118672
118673 function onDOMContentLoaded() {
118674 transformScriptTags();
118675 }
118676
118677 if (typeof window !== "undefined" && (_window = window) != null && _window.addEventListener) {
118678 window.addEventListener("DOMContentLoaded", onDOMContentLoaded, false);
118679 }
118680
118681 function transformScriptTags(scriptTags) {
118682 runScripts(transform, scriptTags);
118683 }
118684 function disableScriptTags() {
118685 window.removeEventListener("DOMContentLoaded", onDOMContentLoaded);
118686 }
118687
118688 exports.availablePlugins = availablePlugins;
118689 exports.availablePresets = availablePresets;
118690 exports.buildExternalHelpers = buildExternalHelpers;
118691 exports.disableScriptTags = disableScriptTags;
118692 exports.registerPlugin = registerPlugin;
118693 exports.registerPlugins = registerPlugins;
118694 exports.registerPreset = registerPreset;
118695 exports.registerPresets = registerPresets;
118696 exports.transform = transform;
118697 exports.transformFromAst = transformFromAst;
118698 exports.transformScriptTags = transformScriptTags;
118699 exports.version = version;
118700
118701 Object.defineProperty(exports, '__esModule', { value: true });
118702
118703})));