vitest 2.1.1 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/LICENSE.md +320 -30
  2. package/dist/browser.d.ts +5 -5
  3. package/dist/browser.js +1 -1
  4. package/dist/chunks/{base.CsQmmYBA.js → base.BO5Jx7vw.js} +1 -1
  5. package/dist/chunks/{base.BlXpj3e_.js → base.DwXGwWst.js} +1 -10
  6. package/dist/chunks/{benchmark.puBFxyfE.d.ts → benchmark.JVlTzojj.d.ts} +2 -0
  7. package/dist/chunks/{cac.BVmpoFAv.js → cac.BSMVokHR.js} +7 -7
  8. package/dist/chunks/cli-api.btGgw3PC.js +11819 -0
  9. package/dist/chunks/{config.CHuotKvS.d.ts → config.Crbj2GAb.d.ts} +3 -0
  10. package/dist/chunks/{console.DI3gHgtH.js → console.CfT1Wjed.js} +1 -1
  11. package/dist/chunks/{creator.BteLTfY8.js → creator.CBPphXqR.js} +4 -7
  12. package/dist/chunks/{environment.C5eAp3K6.d.ts → environment.CzISCQ7o.d.ts} +1 -0
  13. package/dist/chunks/{globals.C03P0O1a.js → globals.Bdzt04Qm.js} +3 -3
  14. package/dist/chunks/index.-d_XpZEA.js +140 -0
  15. package/dist/chunks/{index.DkN6V87F.js → index.4GFF2h22.js} +2 -1
  16. package/dist/chunks/{index.zPibhCkV.js → index.Dz2opmmU.js} +653 -585
  17. package/dist/chunks/{index.Bn75ITYg.js → index.X0nbfr6-.js} +37 -28
  18. package/dist/chunks/{reporters.WnPwkmgA.d.ts → reporters.C4ZHgdxQ.d.ts} +20 -15
  19. package/dist/chunks/{resolveConfig.-K5hHm0S.js → resolveConfig.Dha6ilPI.js} +3544 -3374
  20. package/dist/chunks/{runBaseTests.9YDrdSI4.js → runBaseTests.Cx4wXyTR.js} +6 -6
  21. package/dist/chunks/{setup-common.DV1PI68g.js → setup-common.BKyF15v_.js} +1 -1
  22. package/dist/chunks/{suite.CcK46U-P.d.ts → suite.BMWOKiTe.d.ts} +1 -1
  23. package/dist/chunks/{utils.Dbnmsfq1.js → utils.CY6Spixo.js} +26 -47
  24. package/dist/chunks/vi.BskyZC5g.js +3945 -0
  25. package/dist/chunks/{vite.D2yAwzwa.d.ts → vite.YH7MrecS.d.ts} +1 -1
  26. package/dist/chunks/{vm.CPXwWp4C.js → vm.DB_hLchi.js} +1 -1
  27. package/dist/chunks/{worker.CmPmTxgH.d.ts → worker.B6RjTtbk.d.ts} +42 -28
  28. package/dist/chunks/{worker.Bws9Zuxu.d.ts → worker.CcJLfX8w.d.ts} +1 -1
  29. package/dist/cli.js +2 -2
  30. package/dist/config.cjs +2 -1
  31. package/dist/config.d.ts +19 -14
  32. package/dist/config.js +2 -1
  33. package/dist/coverage.d.ts +67 -30
  34. package/dist/coverage.js +250 -109
  35. package/dist/environments.d.ts +2 -2
  36. package/dist/execute.d.ts +3 -3
  37. package/dist/index.d.ts +36 -19
  38. package/dist/index.js +5 -5
  39. package/dist/node.d.ts +8 -8
  40. package/dist/node.js +10 -9
  41. package/dist/reporters.d.ts +4 -4
  42. package/dist/reporters.js +4 -3
  43. package/dist/runners.d.ts +1 -1
  44. package/dist/runners.js +8 -2
  45. package/dist/suite.d.ts +2 -2
  46. package/dist/worker.js +11 -3
  47. package/dist/workers/forks.js +1 -1
  48. package/dist/workers/runVmTests.js +8 -5
  49. package/dist/workers/threads.js +1 -1
  50. package/dist/workers/vmForks.js +2 -2
  51. package/dist/workers/vmThreads.js +2 -2
  52. package/dist/workers.d.ts +4 -4
  53. package/dist/workers.js +4 -4
  54. package/package.json +12 -13
  55. package/dist/chunks/cli-api.BKkmK21J.js +0 -11404
  56. package/dist/chunks/index.iyKRMe3s.js +0 -131
  57. package/dist/chunks/vi.D6IHiKAI.js +0 -3746
@@ -5,21 +5,22 @@ import { relative, resolve, dirname, extname, normalize } from 'pathe';
5
5
  import { g as getTestName, h as hasFailedSnapshot, a as getFullName } from './tasks.BZnCS9aT.js';
6
6
  import { notNullish, highlight, inspect, positionToOffset, lineSplitRE } from '@vitest/utils';
7
7
  import { a as isNode, b as isDeno } from './env.CmHVDJnw.js';
8
- import { g as getStateSymbol, f as formatProjectName, t as taskFail, F as F_RIGHT, a as F_POINTER, r as renderSnapshotSummary, b as getStateString, c as formatTimeString, d as countTestErrors, e as divider, s as stripAnsi, h as getCols, i as getHookStateSymbol } from './utils.Dbnmsfq1.js';
8
+ import { g as getStateSymbol, f as formatProjectName, t as taskFail, F as F_RIGHT, a as F_POINTER, r as renderSnapshotSummary, b as getStateString, c as formatTimeString, d as countTestErrors, e as divider, h as getCols, i as getHookStateSymbol } from './utils.CY6Spixo.js';
9
+ import { stripVTControlCharacters } from 'node:util';
9
10
  import { getTests, hasFailed, getSuites, getTasks } from '@vitest/runner/utils';
10
11
  import { performance } from 'node:perf_hooks';
11
12
  import { parseStacktrace, parseErrorStacktrace } from '@vitest/utils/source-map';
12
13
  import { r as relativePath } from './index.CxRxs566.js';
13
- import { t as toArray, b as isPrimitive } from './base.BlXpj3e_.js';
14
+ import { t as toArray, b as isPrimitive } from './base.DwXGwWst.js';
14
15
  import { isCI } from 'std-env';
15
16
  import { g as getOutputFile, R as RandomSequencer, a as TypeCheckError } from './RandomSequencer.Bh5-tlNJ.js';
16
17
  import { hostname } from 'node:os';
17
18
  import { Writable } from 'node:stream';
18
19
  import { Console } from 'node:console';
19
- import process$2 from 'node:process';
20
+ import process$1 from 'node:process';
20
21
  import { g as getDefaultExportFromCjs, c as commonjsGlobal } from './_commonjsHelpers.BFTU3MAI.js';
21
22
  import require$$0 from 'assert';
22
- import require$$2 from 'events';
23
+ import require$$0$1 from 'events';
23
24
  import { createRequire } from 'node:module';
24
25
  import { mkdir, writeFile, readdir, stat, readFile } from 'node:fs/promises';
25
26
 
@@ -151,7 +152,11 @@ class TestCase extends ReportedTaskImplementation {
151
152
  */
152
153
  get fullName() {
153
154
  if (this.#fullName === void 0) {
154
- this.#fullName = getTestName(this.task, " > ");
155
+ if (this.parent.type !== "module") {
156
+ this.#fullName = `${this.parent.fullName} > ${this.name}`;
157
+ } else {
158
+ this.#fullName = this.name;
159
+ }
155
160
  }
156
161
  return this.#fullName;
157
162
  }
@@ -338,7 +343,11 @@ class TestSuite extends SuiteImplementation {
338
343
  */
339
344
  get fullName() {
340
345
  if (this.#fullName === void 0) {
341
- this.#fullName = getTestName(this.task, " > ");
346
+ if (this.parent.type !== "module") {
347
+ this.#fullName = `${this.parent.fullName} > ${this.name}`;
348
+ } else {
349
+ this.#fullName = this.name;
350
+ }
342
351
  }
343
352
  return this.#fullName;
344
353
  }
@@ -1380,6 +1389,28 @@ function sliceAnsi(string, begin, end) {
1380
1389
  return output;
1381
1390
  }
1382
1391
 
1392
+ function ansiRegex({onlyFirst = false} = {}) {
1393
+ const pattern = [
1394
+ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
1395
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
1396
+ ].join('|');
1397
+
1398
+ return new RegExp(pattern, onlyFirst ? undefined : 'g');
1399
+ }
1400
+
1401
+ const regex = ansiRegex();
1402
+
1403
+ function stripAnsi(string) {
1404
+ if (typeof string !== 'string') {
1405
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
1406
+ }
1407
+
1408
+ // Even though the regex is global, we don't need to reset the `.lastIndex`
1409
+ // because unlike `.exec()` and `.test()`, `.replace()` does it automatically
1410
+ // and doing it manually has a performance penalty.
1411
+ return string.replace(regex, '');
1412
+ }
1413
+
1383
1414
  // Generated code.
1384
1415
 
1385
1416
  function isAmbiguous(x) {
@@ -2014,7 +2045,7 @@ function renderTree$1(tasks, options, level = 0, maxRows) {
2014
2045
  if (task.result?.state !== "pass" && outputMap$1.get(task) != null) {
2015
2046
  let data = outputMap$1.get(task);
2016
2047
  if (typeof data === "string") {
2017
- data = stripAnsi(data.trim().split("\n").filter(Boolean).pop());
2048
+ data = stripVTControlCharacters(data.trim().split("\n").filter(Boolean).pop());
2018
2049
  if (data === "") {
2019
2050
  data = void 0;
2020
2051
  }
@@ -2748,79 +2779,92 @@ ansiEscapes.iTerm = {
2748
2779
  }
2749
2780
  };
2750
2781
 
2751
- var onetime$2 = {exports: {}};
2782
+ var onetime$1 = {exports: {}};
2752
2783
 
2753
- var mimicFn$2 = {exports: {}};
2784
+ var mimicFn = {exports: {}};
2754
2785
 
2755
- const mimicFn$1 = (to, from) => {
2756
- for (const prop of Reflect.ownKeys(from)) {
2757
- Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop));
2758
- }
2759
-
2760
- return to;
2761
- };
2786
+ var hasRequiredMimicFn;
2762
2787
 
2763
- mimicFn$2.exports = mimicFn$1;
2764
- // TODO: Remove this for the next major release
2765
- mimicFn$2.exports.default = mimicFn$1;
2788
+ function requireMimicFn () {
2789
+ if (hasRequiredMimicFn) return mimicFn.exports;
2790
+ hasRequiredMimicFn = 1;
2766
2791
 
2767
- var mimicFnExports = mimicFn$2.exports;
2792
+ const mimicFn$1 = (to, from) => {
2793
+ for (const prop of Reflect.ownKeys(from)) {
2794
+ Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop));
2795
+ }
2768
2796
 
2769
- const mimicFn = mimicFnExports;
2797
+ return to;
2798
+ };
2770
2799
 
2771
- const calledFunctions = new WeakMap();
2800
+ mimicFn.exports = mimicFn$1;
2801
+ // TODO: Remove this for the next major release
2802
+ mimicFn.exports.default = mimicFn$1;
2803
+ return mimicFn.exports;
2804
+ }
2772
2805
 
2773
- const onetime = (function_, options = {}) => {
2774
- if (typeof function_ !== 'function') {
2775
- throw new TypeError('Expected a function');
2776
- }
2806
+ var hasRequiredOnetime;
2777
2807
 
2778
- let returnValue;
2779
- let callCount = 0;
2780
- const functionName = function_.displayName || function_.name || '<anonymous>';
2808
+ function requireOnetime () {
2809
+ if (hasRequiredOnetime) return onetime$1.exports;
2810
+ hasRequiredOnetime = 1;
2811
+ const mimicFn = requireMimicFn();
2781
2812
 
2782
- const onetime = function (...arguments_) {
2783
- calledFunctions.set(onetime, ++callCount);
2813
+ const calledFunctions = new WeakMap();
2784
2814
 
2785
- if (callCount === 1) {
2786
- returnValue = function_.apply(this, arguments_);
2787
- function_ = null;
2788
- } else if (options.throw === true) {
2789
- throw new Error(`Function \`${functionName}\` can only be called once`);
2815
+ const onetime = (function_, options = {}) => {
2816
+ if (typeof function_ !== 'function') {
2817
+ throw new TypeError('Expected a function');
2790
2818
  }
2791
2819
 
2792
- return returnValue;
2793
- };
2820
+ let returnValue;
2821
+ let callCount = 0;
2822
+ const functionName = function_.displayName || function_.name || '<anonymous>';
2794
2823
 
2795
- mimicFn(onetime, function_);
2796
- calledFunctions.set(onetime, callCount);
2824
+ const onetime = function (...arguments_) {
2825
+ calledFunctions.set(onetime, ++callCount);
2797
2826
 
2798
- return onetime;
2799
- };
2827
+ if (callCount === 1) {
2828
+ returnValue = function_.apply(this, arguments_);
2829
+ function_ = null;
2830
+ } else if (options.throw === true) {
2831
+ throw new Error(`Function \`${functionName}\` can only be called once`);
2832
+ }
2800
2833
 
2801
- onetime$2.exports = onetime;
2802
- // TODO: Remove this for the next major release
2803
- onetime$2.exports.default = onetime;
2834
+ return returnValue;
2835
+ };
2804
2836
 
2805
- onetime$2.exports.callCount = function_ => {
2806
- if (!calledFunctions.has(function_)) {
2807
- throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`);
2808
- }
2837
+ mimicFn(onetime, function_);
2838
+ calledFunctions.set(onetime, callCount);
2809
2839
 
2810
- return calledFunctions.get(function_);
2811
- };
2840
+ return onetime;
2841
+ };
2842
+
2843
+ onetime$1.exports = onetime;
2844
+ // TODO: Remove this for the next major release
2845
+ onetime$1.exports.default = onetime;
2846
+
2847
+ onetime$1.exports.callCount = function_ => {
2848
+ if (!calledFunctions.has(function_)) {
2849
+ throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`);
2850
+ }
2812
2851
 
2813
- var onetimeExports = onetime$2.exports;
2814
- var onetime$1 = /*@__PURE__*/getDefaultExportFromCjs(onetimeExports);
2852
+ return calledFunctions.get(function_);
2853
+ };
2854
+ return onetime$1.exports;
2855
+ }
2856
+
2857
+ var onetimeExports = requireOnetime();
2858
+ var onetime = /*@__PURE__*/getDefaultExportFromCjs(onetimeExports);
2815
2859
 
2816
2860
  var signalExit$1 = {exports: {}};
2817
2861
 
2818
- var signals$1 = {exports: {}};
2862
+ var signals = {exports: {}};
2819
2863
 
2820
2864
  var hasRequiredSignals;
2821
2865
 
2822
2866
  function requireSignals () {
2823
- if (hasRequiredSignals) return signals$1.exports;
2867
+ if (hasRequiredSignals) return signals.exports;
2824
2868
  hasRequiredSignals = 1;
2825
2869
  (function (module) {
2826
2870
  // This is not the set of all possible signals.
@@ -2876,219 +2920,226 @@ function requireSignals () {
2876
2920
  'SIGUNUSED'
2877
2921
  );
2878
2922
  }
2879
- } (signals$1));
2880
- return signals$1.exports;
2923
+ } (signals));
2924
+ return signals.exports;
2881
2925
  }
2882
2926
 
2883
- // Note: since nyc uses this module to output coverage, any lines
2884
- // that are in the direct sync flow of nyc's outputCoverage are
2885
- // ignored, since we can never get coverage for them.
2886
- // grab a reference to node's real process object right away
2887
- var process$1 = commonjsGlobal.process;
2888
-
2889
- const processOk = function (process) {
2890
- return process &&
2891
- typeof process === 'object' &&
2892
- typeof process.removeListener === 'function' &&
2893
- typeof process.emit === 'function' &&
2894
- typeof process.reallyExit === 'function' &&
2895
- typeof process.listeners === 'function' &&
2896
- typeof process.kill === 'function' &&
2897
- typeof process.pid === 'number' &&
2898
- typeof process.on === 'function'
2899
- };
2900
-
2901
- // some kind of non-node environment, just no-op
2902
- /* istanbul ignore if */
2903
- if (!processOk(process$1)) {
2904
- signalExit$1.exports = function () {
2905
- return function () {}
2906
- };
2907
- } else {
2908
- var assert = require$$0;
2909
- var signals = requireSignals();
2910
- var isWin = /^win/i.test(process$1.platform);
2911
-
2912
- var EE = require$$2;
2913
- /* istanbul ignore if */
2914
- if (typeof EE !== 'function') {
2915
- EE = EE.EventEmitter;
2916
- }
2917
-
2918
- var emitter;
2919
- if (process$1.__signal_exit_emitter__) {
2920
- emitter = process$1.__signal_exit_emitter__;
2921
- } else {
2922
- emitter = process$1.__signal_exit_emitter__ = new EE();
2923
- emitter.count = 0;
2924
- emitter.emitted = {};
2925
- }
2926
-
2927
- // Because this emitter is a global, we have to check to see if a
2928
- // previous version of this library failed to enable infinite listeners.
2929
- // I know what you're about to say. But literally everything about
2930
- // signal-exit is a compromise with evil. Get used to it.
2931
- if (!emitter.infinite) {
2932
- emitter.setMaxListeners(Infinity);
2933
- emitter.infinite = true;
2934
- }
2935
-
2936
- signalExit$1.exports = function (cb, opts) {
2937
- /* istanbul ignore if */
2938
- if (!processOk(commonjsGlobal.process)) {
2939
- return function () {}
2940
- }
2941
- assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler');
2942
-
2943
- if (loaded === false) {
2944
- load();
2945
- }
2946
-
2947
- var ev = 'exit';
2948
- if (opts && opts.alwaysLast) {
2949
- ev = 'afterexit';
2950
- }
2951
-
2952
- var remove = function () {
2953
- emitter.removeListener(ev, cb);
2954
- if (emitter.listeners('exit').length === 0 &&
2955
- emitter.listeners('afterexit').length === 0) {
2956
- unload();
2957
- }
2958
- };
2959
- emitter.on(ev, cb);
2960
-
2961
- return remove
2962
- };
2963
-
2964
- var unload = function unload () {
2965
- if (!loaded || !processOk(commonjsGlobal.process)) {
2966
- return
2967
- }
2968
- loaded = false;
2969
-
2970
- signals.forEach(function (sig) {
2971
- try {
2972
- process$1.removeListener(sig, sigListeners[sig]);
2973
- } catch (er) {}
2974
- });
2975
- process$1.emit = originalProcessEmit;
2976
- process$1.reallyExit = originalProcessReallyExit;
2977
- emitter.count -= 1;
2978
- };
2979
- signalExit$1.exports.unload = unload;
2927
+ var hasRequiredSignalExit;
2928
+
2929
+ function requireSignalExit () {
2930
+ if (hasRequiredSignalExit) return signalExit$1.exports;
2931
+ hasRequiredSignalExit = 1;
2932
+ // Note: since nyc uses this module to output coverage, any lines
2933
+ // that are in the direct sync flow of nyc's outputCoverage are
2934
+ // ignored, since we can never get coverage for them.
2935
+ // grab a reference to node's real process object right away
2936
+ var process = commonjsGlobal.process;
2937
+
2938
+ const processOk = function (process) {
2939
+ return process &&
2940
+ typeof process === 'object' &&
2941
+ typeof process.removeListener === 'function' &&
2942
+ typeof process.emit === 'function' &&
2943
+ typeof process.reallyExit === 'function' &&
2944
+ typeof process.listeners === 'function' &&
2945
+ typeof process.kill === 'function' &&
2946
+ typeof process.pid === 'number' &&
2947
+ typeof process.on === 'function'
2948
+ };
2980
2949
 
2981
- var emit = function emit (event, code, signal) {
2982
- /* istanbul ignore if */
2983
- if (emitter.emitted[event]) {
2984
- return
2985
- }
2986
- emitter.emitted[event] = true;
2987
- emitter.emit(event, code, signal);
2988
- };
2950
+ // some kind of non-node environment, just no-op
2951
+ /* istanbul ignore if */
2952
+ if (!processOk(process)) {
2953
+ signalExit$1.exports = function () {
2954
+ return function () {}
2955
+ };
2956
+ } else {
2957
+ var assert = require$$0;
2958
+ var signals = requireSignals();
2959
+ var isWin = /^win/i.test(process.platform);
2960
+
2961
+ var EE = require$$0$1;
2962
+ /* istanbul ignore if */
2963
+ if (typeof EE !== 'function') {
2964
+ EE = EE.EventEmitter;
2965
+ }
2989
2966
 
2990
- // { <signal>: <listener fn>, ... }
2991
- var sigListeners = {};
2992
- signals.forEach(function (sig) {
2993
- sigListeners[sig] = function listener () {
2994
- /* istanbul ignore if */
2995
- if (!processOk(commonjsGlobal.process)) {
2996
- return
2997
- }
2998
- // If there are no other listeners, an exit is coming!
2999
- // Simplest way: remove us and then re-send the signal.
3000
- // We know that this will kill the process, so we can
3001
- // safely emit now.
3002
- var listeners = process$1.listeners(sig);
3003
- if (listeners.length === emitter.count) {
3004
- unload();
3005
- emit('exit', null, sig);
3006
- /* istanbul ignore next */
3007
- emit('afterexit', null, sig);
3008
- /* istanbul ignore next */
3009
- if (isWin && sig === 'SIGHUP') {
3010
- // "SIGHUP" throws an `ENOSYS` error on Windows,
3011
- // so use a supported signal instead
3012
- sig = 'SIGINT';
3013
- }
3014
- /* istanbul ignore next */
3015
- process$1.kill(process$1.pid, sig);
3016
- }
3017
- };
3018
- });
2967
+ var emitter;
2968
+ if (process.__signal_exit_emitter__) {
2969
+ emitter = process.__signal_exit_emitter__;
2970
+ } else {
2971
+ emitter = process.__signal_exit_emitter__ = new EE();
2972
+ emitter.count = 0;
2973
+ emitter.emitted = {};
2974
+ }
3019
2975
 
3020
- signalExit$1.exports.signals = function () {
3021
- return signals
3022
- };
2976
+ // Because this emitter is a global, we have to check to see if a
2977
+ // previous version of this library failed to enable infinite listeners.
2978
+ // I know what you're about to say. But literally everything about
2979
+ // signal-exit is a compromise with evil. Get used to it.
2980
+ if (!emitter.infinite) {
2981
+ emitter.setMaxListeners(Infinity);
2982
+ emitter.infinite = true;
2983
+ }
3023
2984
 
3024
- var loaded = false;
2985
+ signalExit$1.exports = function (cb, opts) {
2986
+ /* istanbul ignore if */
2987
+ if (!processOk(commonjsGlobal.process)) {
2988
+ return function () {}
2989
+ }
2990
+ assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler');
3025
2991
 
3026
- var load = function load () {
3027
- if (loaded || !processOk(commonjsGlobal.process)) {
3028
- return
3029
- }
3030
- loaded = true;
2992
+ if (loaded === false) {
2993
+ load();
2994
+ }
3031
2995
 
3032
- // This is the number of onSignalExit's that are in play.
3033
- // It's important so that we can count the correct number of
3034
- // listeners on signals, and don't wait for the other one to
3035
- // handle it instead of us.
3036
- emitter.count += 1;
2996
+ var ev = 'exit';
2997
+ if (opts && opts.alwaysLast) {
2998
+ ev = 'afterexit';
2999
+ }
3037
3000
 
3038
- signals = signals.filter(function (sig) {
3039
- try {
3040
- process$1.on(sig, sigListeners[sig]);
3041
- return true
3042
- } catch (er) {
3043
- return false
3044
- }
3045
- });
3001
+ var remove = function () {
3002
+ emitter.removeListener(ev, cb);
3003
+ if (emitter.listeners('exit').length === 0 &&
3004
+ emitter.listeners('afterexit').length === 0) {
3005
+ unload();
3006
+ }
3007
+ };
3008
+ emitter.on(ev, cb);
3009
+
3010
+ return remove
3011
+ };
3012
+
3013
+ var unload = function unload () {
3014
+ if (!loaded || !processOk(commonjsGlobal.process)) {
3015
+ return
3016
+ }
3017
+ loaded = false;
3018
+
3019
+ signals.forEach(function (sig) {
3020
+ try {
3021
+ process.removeListener(sig, sigListeners[sig]);
3022
+ } catch (er) {}
3023
+ });
3024
+ process.emit = originalProcessEmit;
3025
+ process.reallyExit = originalProcessReallyExit;
3026
+ emitter.count -= 1;
3027
+ };
3028
+ signalExit$1.exports.unload = unload;
3029
+
3030
+ var emit = function emit (event, code, signal) {
3031
+ /* istanbul ignore if */
3032
+ if (emitter.emitted[event]) {
3033
+ return
3034
+ }
3035
+ emitter.emitted[event] = true;
3036
+ emitter.emit(event, code, signal);
3037
+ };
3038
+
3039
+ // { <signal>: <listener fn>, ... }
3040
+ var sigListeners = {};
3041
+ signals.forEach(function (sig) {
3042
+ sigListeners[sig] = function listener () {
3043
+ /* istanbul ignore if */
3044
+ if (!processOk(commonjsGlobal.process)) {
3045
+ return
3046
+ }
3047
+ // If there are no other listeners, an exit is coming!
3048
+ // Simplest way: remove us and then re-send the signal.
3049
+ // We know that this will kill the process, so we can
3050
+ // safely emit now.
3051
+ var listeners = process.listeners(sig);
3052
+ if (listeners.length === emitter.count) {
3053
+ unload();
3054
+ emit('exit', null, sig);
3055
+ /* istanbul ignore next */
3056
+ emit('afterexit', null, sig);
3057
+ /* istanbul ignore next */
3058
+ if (isWin && sig === 'SIGHUP') {
3059
+ // "SIGHUP" throws an `ENOSYS` error on Windows,
3060
+ // so use a supported signal instead
3061
+ sig = 'SIGINT';
3062
+ }
3063
+ /* istanbul ignore next */
3064
+ process.kill(process.pid, sig);
3065
+ }
3066
+ };
3067
+ });
3046
3068
 
3047
- process$1.emit = processEmit;
3048
- process$1.reallyExit = processReallyExit;
3049
- };
3050
- signalExit$1.exports.load = load;
3069
+ signalExit$1.exports.signals = function () {
3070
+ return signals
3071
+ };
3051
3072
 
3052
- var originalProcessReallyExit = process$1.reallyExit;
3053
- var processReallyExit = function processReallyExit (code) {
3054
- /* istanbul ignore if */
3055
- if (!processOk(commonjsGlobal.process)) {
3056
- return
3057
- }
3058
- process$1.exitCode = code || /* istanbul ignore next */ 0;
3059
- emit('exit', process$1.exitCode, null);
3060
- /* istanbul ignore next */
3061
- emit('afterexit', process$1.exitCode, null);
3062
- /* istanbul ignore next */
3063
- originalProcessReallyExit.call(process$1, process$1.exitCode);
3064
- };
3073
+ var loaded = false;
3065
3074
 
3066
- var originalProcessEmit = process$1.emit;
3067
- var processEmit = function processEmit (ev, arg) {
3068
- if (ev === 'exit' && processOk(commonjsGlobal.process)) {
3069
- /* istanbul ignore else */
3070
- if (arg !== undefined) {
3071
- process$1.exitCode = arg;
3072
- }
3073
- var ret = originalProcessEmit.apply(this, arguments);
3074
- /* istanbul ignore next */
3075
- emit('exit', process$1.exitCode, null);
3076
- /* istanbul ignore next */
3077
- emit('afterexit', process$1.exitCode, null);
3078
- /* istanbul ignore next */
3079
- return ret
3080
- } else {
3081
- return originalProcessEmit.apply(this, arguments)
3082
- }
3083
- };
3075
+ var load = function load () {
3076
+ if (loaded || !processOk(commonjsGlobal.process)) {
3077
+ return
3078
+ }
3079
+ loaded = true;
3080
+
3081
+ // This is the number of onSignalExit's that are in play.
3082
+ // It's important so that we can count the correct number of
3083
+ // listeners on signals, and don't wait for the other one to
3084
+ // handle it instead of us.
3085
+ emitter.count += 1;
3086
+
3087
+ signals = signals.filter(function (sig) {
3088
+ try {
3089
+ process.on(sig, sigListeners[sig]);
3090
+ return true
3091
+ } catch (er) {
3092
+ return false
3093
+ }
3094
+ });
3095
+
3096
+ process.emit = processEmit;
3097
+ process.reallyExit = processReallyExit;
3098
+ };
3099
+ signalExit$1.exports.load = load;
3100
+
3101
+ var originalProcessReallyExit = process.reallyExit;
3102
+ var processReallyExit = function processReallyExit (code) {
3103
+ /* istanbul ignore if */
3104
+ if (!processOk(commonjsGlobal.process)) {
3105
+ return
3106
+ }
3107
+ process.exitCode = code || /* istanbul ignore next */ 0;
3108
+ emit('exit', process.exitCode, null);
3109
+ /* istanbul ignore next */
3110
+ emit('afterexit', process.exitCode, null);
3111
+ /* istanbul ignore next */
3112
+ originalProcessReallyExit.call(process, process.exitCode);
3113
+ };
3114
+
3115
+ var originalProcessEmit = process.emit;
3116
+ var processEmit = function processEmit (ev, arg) {
3117
+ if (ev === 'exit' && processOk(commonjsGlobal.process)) {
3118
+ /* istanbul ignore else */
3119
+ if (arg !== undefined) {
3120
+ process.exitCode = arg;
3121
+ }
3122
+ var ret = originalProcessEmit.apply(this, arguments);
3123
+ /* istanbul ignore next */
3124
+ emit('exit', process.exitCode, null);
3125
+ /* istanbul ignore next */
3126
+ emit('afterexit', process.exitCode, null);
3127
+ /* istanbul ignore next */
3128
+ return ret
3129
+ } else {
3130
+ return originalProcessEmit.apply(this, arguments)
3131
+ }
3132
+ };
3133
+ }
3134
+ return signalExit$1.exports;
3084
3135
  }
3085
3136
 
3086
- var signalExitExports = signalExit$1.exports;
3137
+ var signalExitExports = requireSignalExit();
3087
3138
  var signalExit = /*@__PURE__*/getDefaultExportFromCjs(signalExitExports);
3088
3139
 
3089
- const restoreCursor = onetime$1(() => {
3140
+ const restoreCursor = onetime(() => {
3090
3141
  signalExit(() => {
3091
- process$2.stderr.write('\u001B[?25h');
3142
+ process$1.stderr.write('\u001B[?25h');
3092
3143
  }, {alwaysLast: true});
3093
3144
  });
3094
3145
 
@@ -3096,7 +3147,7 @@ let isHidden = false;
3096
3147
 
3097
3148
  const cliCursor = {};
3098
3149
 
3099
- cliCursor.show = (writableStream = process$2.stderr) => {
3150
+ cliCursor.show = (writableStream = process$1.stderr) => {
3100
3151
  if (!writableStream.isTTY) {
3101
3152
  return;
3102
3153
  }
@@ -3105,7 +3156,7 @@ cliCursor.show = (writableStream = process$2.stderr) => {
3105
3156
  writableStream.write('\u001B[?25h');
3106
3157
  };
3107
3158
 
3108
- cliCursor.hide = (writableStream = process$2.stderr) => {
3159
+ cliCursor.hide = (writableStream = process$1.stderr) => {
3109
3160
  if (!writableStream.isTTY) {
3110
3161
  return;
3111
3162
  }
@@ -3129,327 +3180,344 @@ cliCursor.toggle = (force, writableStream) => {
3129
3180
 
3130
3181
  var eastasianwidth = {exports: {}};
3131
3182
 
3132
- (function (module) {
3133
- var eaw = {};
3134
-
3135
- {
3136
- module.exports = eaw;
3137
- }
3183
+ var hasRequiredEastasianwidth;
3138
3184
 
3139
- eaw.eastAsianWidth = function(character) {
3140
- var x = character.charCodeAt(0);
3141
- var y = (character.length == 2) ? character.charCodeAt(1) : 0;
3142
- var codePoint = x;
3143
- if ((0xD800 <= x && x <= 0xDBFF) && (0xDC00 <= y && y <= 0xDFFF)) {
3144
- x &= 0x3FF;
3145
- y &= 0x3FF;
3146
- codePoint = (x << 10) | y;
3147
- codePoint += 0x10000;
3148
- }
3149
-
3150
- if ((0x3000 == codePoint) ||
3151
- (0xFF01 <= codePoint && codePoint <= 0xFF60) ||
3152
- (0xFFE0 <= codePoint && codePoint <= 0xFFE6)) {
3153
- return 'F';
3154
- }
3155
- if ((0x20A9 == codePoint) ||
3156
- (0xFF61 <= codePoint && codePoint <= 0xFFBE) ||
3157
- (0xFFC2 <= codePoint && codePoint <= 0xFFC7) ||
3158
- (0xFFCA <= codePoint && codePoint <= 0xFFCF) ||
3159
- (0xFFD2 <= codePoint && codePoint <= 0xFFD7) ||
3160
- (0xFFDA <= codePoint && codePoint <= 0xFFDC) ||
3161
- (0xFFE8 <= codePoint && codePoint <= 0xFFEE)) {
3162
- return 'H';
3163
- }
3164
- if ((0x1100 <= codePoint && codePoint <= 0x115F) ||
3165
- (0x11A3 <= codePoint && codePoint <= 0x11A7) ||
3166
- (0x11FA <= codePoint && codePoint <= 0x11FF) ||
3167
- (0x2329 <= codePoint && codePoint <= 0x232A) ||
3168
- (0x2E80 <= codePoint && codePoint <= 0x2E99) ||
3169
- (0x2E9B <= codePoint && codePoint <= 0x2EF3) ||
3170
- (0x2F00 <= codePoint && codePoint <= 0x2FD5) ||
3171
- (0x2FF0 <= codePoint && codePoint <= 0x2FFB) ||
3172
- (0x3001 <= codePoint && codePoint <= 0x303E) ||
3173
- (0x3041 <= codePoint && codePoint <= 0x3096) ||
3174
- (0x3099 <= codePoint && codePoint <= 0x30FF) ||
3175
- (0x3105 <= codePoint && codePoint <= 0x312D) ||
3176
- (0x3131 <= codePoint && codePoint <= 0x318E) ||
3177
- (0x3190 <= codePoint && codePoint <= 0x31BA) ||
3178
- (0x31C0 <= codePoint && codePoint <= 0x31E3) ||
3179
- (0x31F0 <= codePoint && codePoint <= 0x321E) ||
3180
- (0x3220 <= codePoint && codePoint <= 0x3247) ||
3181
- (0x3250 <= codePoint && codePoint <= 0x32FE) ||
3182
- (0x3300 <= codePoint && codePoint <= 0x4DBF) ||
3183
- (0x4E00 <= codePoint && codePoint <= 0xA48C) ||
3184
- (0xA490 <= codePoint && codePoint <= 0xA4C6) ||
3185
- (0xA960 <= codePoint && codePoint <= 0xA97C) ||
3186
- (0xAC00 <= codePoint && codePoint <= 0xD7A3) ||
3187
- (0xD7B0 <= codePoint && codePoint <= 0xD7C6) ||
3188
- (0xD7CB <= codePoint && codePoint <= 0xD7FB) ||
3189
- (0xF900 <= codePoint && codePoint <= 0xFAFF) ||
3190
- (0xFE10 <= codePoint && codePoint <= 0xFE19) ||
3191
- (0xFE30 <= codePoint && codePoint <= 0xFE52) ||
3192
- (0xFE54 <= codePoint && codePoint <= 0xFE66) ||
3193
- (0xFE68 <= codePoint && codePoint <= 0xFE6B) ||
3194
- (0x1B000 <= codePoint && codePoint <= 0x1B001) ||
3195
- (0x1F200 <= codePoint && codePoint <= 0x1F202) ||
3196
- (0x1F210 <= codePoint && codePoint <= 0x1F23A) ||
3197
- (0x1F240 <= codePoint && codePoint <= 0x1F248) ||
3198
- (0x1F250 <= codePoint && codePoint <= 0x1F251) ||
3199
- (0x20000 <= codePoint && codePoint <= 0x2F73F) ||
3200
- (0x2B740 <= codePoint && codePoint <= 0x2FFFD) ||
3201
- (0x30000 <= codePoint && codePoint <= 0x3FFFD)) {
3202
- return 'W';
3203
- }
3204
- if ((0x0020 <= codePoint && codePoint <= 0x007E) ||
3205
- (0x00A2 <= codePoint && codePoint <= 0x00A3) ||
3206
- (0x00A5 <= codePoint && codePoint <= 0x00A6) ||
3207
- (0x00AC == codePoint) ||
3208
- (0x00AF == codePoint) ||
3209
- (0x27E6 <= codePoint && codePoint <= 0x27ED) ||
3210
- (0x2985 <= codePoint && codePoint <= 0x2986)) {
3211
- return 'Na';
3212
- }
3213
- if ((0x00A1 == codePoint) ||
3214
- (0x00A4 == codePoint) ||
3215
- (0x00A7 <= codePoint && codePoint <= 0x00A8) ||
3216
- (0x00AA == codePoint) ||
3217
- (0x00AD <= codePoint && codePoint <= 0x00AE) ||
3218
- (0x00B0 <= codePoint && codePoint <= 0x00B4) ||
3219
- (0x00B6 <= codePoint && codePoint <= 0x00BA) ||
3220
- (0x00BC <= codePoint && codePoint <= 0x00BF) ||
3221
- (0x00C6 == codePoint) ||
3222
- (0x00D0 == codePoint) ||
3223
- (0x00D7 <= codePoint && codePoint <= 0x00D8) ||
3224
- (0x00DE <= codePoint && codePoint <= 0x00E1) ||
3225
- (0x00E6 == codePoint) ||
3226
- (0x00E8 <= codePoint && codePoint <= 0x00EA) ||
3227
- (0x00EC <= codePoint && codePoint <= 0x00ED) ||
3228
- (0x00F0 == codePoint) ||
3229
- (0x00F2 <= codePoint && codePoint <= 0x00F3) ||
3230
- (0x00F7 <= codePoint && codePoint <= 0x00FA) ||
3231
- (0x00FC == codePoint) ||
3232
- (0x00FE == codePoint) ||
3233
- (0x0101 == codePoint) ||
3234
- (0x0111 == codePoint) ||
3235
- (0x0113 == codePoint) ||
3236
- (0x011B == codePoint) ||
3237
- (0x0126 <= codePoint && codePoint <= 0x0127) ||
3238
- (0x012B == codePoint) ||
3239
- (0x0131 <= codePoint && codePoint <= 0x0133) ||
3240
- (0x0138 == codePoint) ||
3241
- (0x013F <= codePoint && codePoint <= 0x0142) ||
3242
- (0x0144 == codePoint) ||
3243
- (0x0148 <= codePoint && codePoint <= 0x014B) ||
3244
- (0x014D == codePoint) ||
3245
- (0x0152 <= codePoint && codePoint <= 0x0153) ||
3246
- (0x0166 <= codePoint && codePoint <= 0x0167) ||
3247
- (0x016B == codePoint) ||
3248
- (0x01CE == codePoint) ||
3249
- (0x01D0 == codePoint) ||
3250
- (0x01D2 == codePoint) ||
3251
- (0x01D4 == codePoint) ||
3252
- (0x01D6 == codePoint) ||
3253
- (0x01D8 == codePoint) ||
3254
- (0x01DA == codePoint) ||
3255
- (0x01DC == codePoint) ||
3256
- (0x0251 == codePoint) ||
3257
- (0x0261 == codePoint) ||
3258
- (0x02C4 == codePoint) ||
3259
- (0x02C7 == codePoint) ||
3260
- (0x02C9 <= codePoint && codePoint <= 0x02CB) ||
3261
- (0x02CD == codePoint) ||
3262
- (0x02D0 == codePoint) ||
3263
- (0x02D8 <= codePoint && codePoint <= 0x02DB) ||
3264
- (0x02DD == codePoint) ||
3265
- (0x02DF == codePoint) ||
3266
- (0x0300 <= codePoint && codePoint <= 0x036F) ||
3267
- (0x0391 <= codePoint && codePoint <= 0x03A1) ||
3268
- (0x03A3 <= codePoint && codePoint <= 0x03A9) ||
3269
- (0x03B1 <= codePoint && codePoint <= 0x03C1) ||
3270
- (0x03C3 <= codePoint && codePoint <= 0x03C9) ||
3271
- (0x0401 == codePoint) ||
3272
- (0x0410 <= codePoint && codePoint <= 0x044F) ||
3273
- (0x0451 == codePoint) ||
3274
- (0x2010 == codePoint) ||
3275
- (0x2013 <= codePoint && codePoint <= 0x2016) ||
3276
- (0x2018 <= codePoint && codePoint <= 0x2019) ||
3277
- (0x201C <= codePoint && codePoint <= 0x201D) ||
3278
- (0x2020 <= codePoint && codePoint <= 0x2022) ||
3279
- (0x2024 <= codePoint && codePoint <= 0x2027) ||
3280
- (0x2030 == codePoint) ||
3281
- (0x2032 <= codePoint && codePoint <= 0x2033) ||
3282
- (0x2035 == codePoint) ||
3283
- (0x203B == codePoint) ||
3284
- (0x203E == codePoint) ||
3285
- (0x2074 == codePoint) ||
3286
- (0x207F == codePoint) ||
3287
- (0x2081 <= codePoint && codePoint <= 0x2084) ||
3288
- (0x20AC == codePoint) ||
3289
- (0x2103 == codePoint) ||
3290
- (0x2105 == codePoint) ||
3291
- (0x2109 == codePoint) ||
3292
- (0x2113 == codePoint) ||
3293
- (0x2116 == codePoint) ||
3294
- (0x2121 <= codePoint && codePoint <= 0x2122) ||
3295
- (0x2126 == codePoint) ||
3296
- (0x212B == codePoint) ||
3297
- (0x2153 <= codePoint && codePoint <= 0x2154) ||
3298
- (0x215B <= codePoint && codePoint <= 0x215E) ||
3299
- (0x2160 <= codePoint && codePoint <= 0x216B) ||
3300
- (0x2170 <= codePoint && codePoint <= 0x2179) ||
3301
- (0x2189 == codePoint) ||
3302
- (0x2190 <= codePoint && codePoint <= 0x2199) ||
3303
- (0x21B8 <= codePoint && codePoint <= 0x21B9) ||
3304
- (0x21D2 == codePoint) ||
3305
- (0x21D4 == codePoint) ||
3306
- (0x21E7 == codePoint) ||
3307
- (0x2200 == codePoint) ||
3308
- (0x2202 <= codePoint && codePoint <= 0x2203) ||
3309
- (0x2207 <= codePoint && codePoint <= 0x2208) ||
3310
- (0x220B == codePoint) ||
3311
- (0x220F == codePoint) ||
3312
- (0x2211 == codePoint) ||
3313
- (0x2215 == codePoint) ||
3314
- (0x221A == codePoint) ||
3315
- (0x221D <= codePoint && codePoint <= 0x2220) ||
3316
- (0x2223 == codePoint) ||
3317
- (0x2225 == codePoint) ||
3318
- (0x2227 <= codePoint && codePoint <= 0x222C) ||
3319
- (0x222E == codePoint) ||
3320
- (0x2234 <= codePoint && codePoint <= 0x2237) ||
3321
- (0x223C <= codePoint && codePoint <= 0x223D) ||
3322
- (0x2248 == codePoint) ||
3323
- (0x224C == codePoint) ||
3324
- (0x2252 == codePoint) ||
3325
- (0x2260 <= codePoint && codePoint <= 0x2261) ||
3326
- (0x2264 <= codePoint && codePoint <= 0x2267) ||
3327
- (0x226A <= codePoint && codePoint <= 0x226B) ||
3328
- (0x226E <= codePoint && codePoint <= 0x226F) ||
3329
- (0x2282 <= codePoint && codePoint <= 0x2283) ||
3330
- (0x2286 <= codePoint && codePoint <= 0x2287) ||
3331
- (0x2295 == codePoint) ||
3332
- (0x2299 == codePoint) ||
3333
- (0x22A5 == codePoint) ||
3334
- (0x22BF == codePoint) ||
3335
- (0x2312 == codePoint) ||
3336
- (0x2460 <= codePoint && codePoint <= 0x24E9) ||
3337
- (0x24EB <= codePoint && codePoint <= 0x254B) ||
3338
- (0x2550 <= codePoint && codePoint <= 0x2573) ||
3339
- (0x2580 <= codePoint && codePoint <= 0x258F) ||
3340
- (0x2592 <= codePoint && codePoint <= 0x2595) ||
3341
- (0x25A0 <= codePoint && codePoint <= 0x25A1) ||
3342
- (0x25A3 <= codePoint && codePoint <= 0x25A9) ||
3343
- (0x25B2 <= codePoint && codePoint <= 0x25B3) ||
3344
- (0x25B6 <= codePoint && codePoint <= 0x25B7) ||
3345
- (0x25BC <= codePoint && codePoint <= 0x25BD) ||
3346
- (0x25C0 <= codePoint && codePoint <= 0x25C1) ||
3347
- (0x25C6 <= codePoint && codePoint <= 0x25C8) ||
3348
- (0x25CB == codePoint) ||
3349
- (0x25CE <= codePoint && codePoint <= 0x25D1) ||
3350
- (0x25E2 <= codePoint && codePoint <= 0x25E5) ||
3351
- (0x25EF == codePoint) ||
3352
- (0x2605 <= codePoint && codePoint <= 0x2606) ||
3353
- (0x2609 == codePoint) ||
3354
- (0x260E <= codePoint && codePoint <= 0x260F) ||
3355
- (0x2614 <= codePoint && codePoint <= 0x2615) ||
3356
- (0x261C == codePoint) ||
3357
- (0x261E == codePoint) ||
3358
- (0x2640 == codePoint) ||
3359
- (0x2642 == codePoint) ||
3360
- (0x2660 <= codePoint && codePoint <= 0x2661) ||
3361
- (0x2663 <= codePoint && codePoint <= 0x2665) ||
3362
- (0x2667 <= codePoint && codePoint <= 0x266A) ||
3363
- (0x266C <= codePoint && codePoint <= 0x266D) ||
3364
- (0x266F == codePoint) ||
3365
- (0x269E <= codePoint && codePoint <= 0x269F) ||
3366
- (0x26BE <= codePoint && codePoint <= 0x26BF) ||
3367
- (0x26C4 <= codePoint && codePoint <= 0x26CD) ||
3368
- (0x26CF <= codePoint && codePoint <= 0x26E1) ||
3369
- (0x26E3 == codePoint) ||
3370
- (0x26E8 <= codePoint && codePoint <= 0x26FF) ||
3371
- (0x273D == codePoint) ||
3372
- (0x2757 == codePoint) ||
3373
- (0x2776 <= codePoint && codePoint <= 0x277F) ||
3374
- (0x2B55 <= codePoint && codePoint <= 0x2B59) ||
3375
- (0x3248 <= codePoint && codePoint <= 0x324F) ||
3376
- (0xE000 <= codePoint && codePoint <= 0xF8FF) ||
3377
- (0xFE00 <= codePoint && codePoint <= 0xFE0F) ||
3378
- (0xFFFD == codePoint) ||
3379
- (0x1F100 <= codePoint && codePoint <= 0x1F10A) ||
3380
- (0x1F110 <= codePoint && codePoint <= 0x1F12D) ||
3381
- (0x1F130 <= codePoint && codePoint <= 0x1F169) ||
3382
- (0x1F170 <= codePoint && codePoint <= 0x1F19A) ||
3383
- (0xE0100 <= codePoint && codePoint <= 0xE01EF) ||
3384
- (0xF0000 <= codePoint && codePoint <= 0xFFFFD) ||
3385
- (0x100000 <= codePoint && codePoint <= 0x10FFFD)) {
3386
- return 'A';
3387
- }
3185
+ function requireEastasianwidth () {
3186
+ if (hasRequiredEastasianwidth) return eastasianwidth.exports;
3187
+ hasRequiredEastasianwidth = 1;
3188
+ (function (module) {
3189
+ var eaw = {};
3388
3190
 
3389
- return 'N';
3390
- };
3191
+ {
3192
+ module.exports = eaw;
3193
+ }
3391
3194
 
3392
- eaw.characterLength = function(character) {
3393
- var code = this.eastAsianWidth(character);
3394
- if (code == 'F' || code == 'W' || code == 'A') {
3395
- return 2;
3396
- } else {
3397
- return 1;
3398
- }
3399
- };
3195
+ eaw.eastAsianWidth = function(character) {
3196
+ var x = character.charCodeAt(0);
3197
+ var y = (character.length == 2) ? character.charCodeAt(1) : 0;
3198
+ var codePoint = x;
3199
+ if ((0xD800 <= x && x <= 0xDBFF) && (0xDC00 <= y && y <= 0xDFFF)) {
3200
+ x &= 0x3FF;
3201
+ y &= 0x3FF;
3202
+ codePoint = (x << 10) | y;
3203
+ codePoint += 0x10000;
3204
+ }
3205
+
3206
+ if ((0x3000 == codePoint) ||
3207
+ (0xFF01 <= codePoint && codePoint <= 0xFF60) ||
3208
+ (0xFFE0 <= codePoint && codePoint <= 0xFFE6)) {
3209
+ return 'F';
3210
+ }
3211
+ if ((0x20A9 == codePoint) ||
3212
+ (0xFF61 <= codePoint && codePoint <= 0xFFBE) ||
3213
+ (0xFFC2 <= codePoint && codePoint <= 0xFFC7) ||
3214
+ (0xFFCA <= codePoint && codePoint <= 0xFFCF) ||
3215
+ (0xFFD2 <= codePoint && codePoint <= 0xFFD7) ||
3216
+ (0xFFDA <= codePoint && codePoint <= 0xFFDC) ||
3217
+ (0xFFE8 <= codePoint && codePoint <= 0xFFEE)) {
3218
+ return 'H';
3219
+ }
3220
+ if ((0x1100 <= codePoint && codePoint <= 0x115F) ||
3221
+ (0x11A3 <= codePoint && codePoint <= 0x11A7) ||
3222
+ (0x11FA <= codePoint && codePoint <= 0x11FF) ||
3223
+ (0x2329 <= codePoint && codePoint <= 0x232A) ||
3224
+ (0x2E80 <= codePoint && codePoint <= 0x2E99) ||
3225
+ (0x2E9B <= codePoint && codePoint <= 0x2EF3) ||
3226
+ (0x2F00 <= codePoint && codePoint <= 0x2FD5) ||
3227
+ (0x2FF0 <= codePoint && codePoint <= 0x2FFB) ||
3228
+ (0x3001 <= codePoint && codePoint <= 0x303E) ||
3229
+ (0x3041 <= codePoint && codePoint <= 0x3096) ||
3230
+ (0x3099 <= codePoint && codePoint <= 0x30FF) ||
3231
+ (0x3105 <= codePoint && codePoint <= 0x312D) ||
3232
+ (0x3131 <= codePoint && codePoint <= 0x318E) ||
3233
+ (0x3190 <= codePoint && codePoint <= 0x31BA) ||
3234
+ (0x31C0 <= codePoint && codePoint <= 0x31E3) ||
3235
+ (0x31F0 <= codePoint && codePoint <= 0x321E) ||
3236
+ (0x3220 <= codePoint && codePoint <= 0x3247) ||
3237
+ (0x3250 <= codePoint && codePoint <= 0x32FE) ||
3238
+ (0x3300 <= codePoint && codePoint <= 0x4DBF) ||
3239
+ (0x4E00 <= codePoint && codePoint <= 0xA48C) ||
3240
+ (0xA490 <= codePoint && codePoint <= 0xA4C6) ||
3241
+ (0xA960 <= codePoint && codePoint <= 0xA97C) ||
3242
+ (0xAC00 <= codePoint && codePoint <= 0xD7A3) ||
3243
+ (0xD7B0 <= codePoint && codePoint <= 0xD7C6) ||
3244
+ (0xD7CB <= codePoint && codePoint <= 0xD7FB) ||
3245
+ (0xF900 <= codePoint && codePoint <= 0xFAFF) ||
3246
+ (0xFE10 <= codePoint && codePoint <= 0xFE19) ||
3247
+ (0xFE30 <= codePoint && codePoint <= 0xFE52) ||
3248
+ (0xFE54 <= codePoint && codePoint <= 0xFE66) ||
3249
+ (0xFE68 <= codePoint && codePoint <= 0xFE6B) ||
3250
+ (0x1B000 <= codePoint && codePoint <= 0x1B001) ||
3251
+ (0x1F200 <= codePoint && codePoint <= 0x1F202) ||
3252
+ (0x1F210 <= codePoint && codePoint <= 0x1F23A) ||
3253
+ (0x1F240 <= codePoint && codePoint <= 0x1F248) ||
3254
+ (0x1F250 <= codePoint && codePoint <= 0x1F251) ||
3255
+ (0x20000 <= codePoint && codePoint <= 0x2F73F) ||
3256
+ (0x2B740 <= codePoint && codePoint <= 0x2FFFD) ||
3257
+ (0x30000 <= codePoint && codePoint <= 0x3FFFD)) {
3258
+ return 'W';
3259
+ }
3260
+ if ((0x0020 <= codePoint && codePoint <= 0x007E) ||
3261
+ (0x00A2 <= codePoint && codePoint <= 0x00A3) ||
3262
+ (0x00A5 <= codePoint && codePoint <= 0x00A6) ||
3263
+ (0x00AC == codePoint) ||
3264
+ (0x00AF == codePoint) ||
3265
+ (0x27E6 <= codePoint && codePoint <= 0x27ED) ||
3266
+ (0x2985 <= codePoint && codePoint <= 0x2986)) {
3267
+ return 'Na';
3268
+ }
3269
+ if ((0x00A1 == codePoint) ||
3270
+ (0x00A4 == codePoint) ||
3271
+ (0x00A7 <= codePoint && codePoint <= 0x00A8) ||
3272
+ (0x00AA == codePoint) ||
3273
+ (0x00AD <= codePoint && codePoint <= 0x00AE) ||
3274
+ (0x00B0 <= codePoint && codePoint <= 0x00B4) ||
3275
+ (0x00B6 <= codePoint && codePoint <= 0x00BA) ||
3276
+ (0x00BC <= codePoint && codePoint <= 0x00BF) ||
3277
+ (0x00C6 == codePoint) ||
3278
+ (0x00D0 == codePoint) ||
3279
+ (0x00D7 <= codePoint && codePoint <= 0x00D8) ||
3280
+ (0x00DE <= codePoint && codePoint <= 0x00E1) ||
3281
+ (0x00E6 == codePoint) ||
3282
+ (0x00E8 <= codePoint && codePoint <= 0x00EA) ||
3283
+ (0x00EC <= codePoint && codePoint <= 0x00ED) ||
3284
+ (0x00F0 == codePoint) ||
3285
+ (0x00F2 <= codePoint && codePoint <= 0x00F3) ||
3286
+ (0x00F7 <= codePoint && codePoint <= 0x00FA) ||
3287
+ (0x00FC == codePoint) ||
3288
+ (0x00FE == codePoint) ||
3289
+ (0x0101 == codePoint) ||
3290
+ (0x0111 == codePoint) ||
3291
+ (0x0113 == codePoint) ||
3292
+ (0x011B == codePoint) ||
3293
+ (0x0126 <= codePoint && codePoint <= 0x0127) ||
3294
+ (0x012B == codePoint) ||
3295
+ (0x0131 <= codePoint && codePoint <= 0x0133) ||
3296
+ (0x0138 == codePoint) ||
3297
+ (0x013F <= codePoint && codePoint <= 0x0142) ||
3298
+ (0x0144 == codePoint) ||
3299
+ (0x0148 <= codePoint && codePoint <= 0x014B) ||
3300
+ (0x014D == codePoint) ||
3301
+ (0x0152 <= codePoint && codePoint <= 0x0153) ||
3302
+ (0x0166 <= codePoint && codePoint <= 0x0167) ||
3303
+ (0x016B == codePoint) ||
3304
+ (0x01CE == codePoint) ||
3305
+ (0x01D0 == codePoint) ||
3306
+ (0x01D2 == codePoint) ||
3307
+ (0x01D4 == codePoint) ||
3308
+ (0x01D6 == codePoint) ||
3309
+ (0x01D8 == codePoint) ||
3310
+ (0x01DA == codePoint) ||
3311
+ (0x01DC == codePoint) ||
3312
+ (0x0251 == codePoint) ||
3313
+ (0x0261 == codePoint) ||
3314
+ (0x02C4 == codePoint) ||
3315
+ (0x02C7 == codePoint) ||
3316
+ (0x02C9 <= codePoint && codePoint <= 0x02CB) ||
3317
+ (0x02CD == codePoint) ||
3318
+ (0x02D0 == codePoint) ||
3319
+ (0x02D8 <= codePoint && codePoint <= 0x02DB) ||
3320
+ (0x02DD == codePoint) ||
3321
+ (0x02DF == codePoint) ||
3322
+ (0x0300 <= codePoint && codePoint <= 0x036F) ||
3323
+ (0x0391 <= codePoint && codePoint <= 0x03A1) ||
3324
+ (0x03A3 <= codePoint && codePoint <= 0x03A9) ||
3325
+ (0x03B1 <= codePoint && codePoint <= 0x03C1) ||
3326
+ (0x03C3 <= codePoint && codePoint <= 0x03C9) ||
3327
+ (0x0401 == codePoint) ||
3328
+ (0x0410 <= codePoint && codePoint <= 0x044F) ||
3329
+ (0x0451 == codePoint) ||
3330
+ (0x2010 == codePoint) ||
3331
+ (0x2013 <= codePoint && codePoint <= 0x2016) ||
3332
+ (0x2018 <= codePoint && codePoint <= 0x2019) ||
3333
+ (0x201C <= codePoint && codePoint <= 0x201D) ||
3334
+ (0x2020 <= codePoint && codePoint <= 0x2022) ||
3335
+ (0x2024 <= codePoint && codePoint <= 0x2027) ||
3336
+ (0x2030 == codePoint) ||
3337
+ (0x2032 <= codePoint && codePoint <= 0x2033) ||
3338
+ (0x2035 == codePoint) ||
3339
+ (0x203B == codePoint) ||
3340
+ (0x203E == codePoint) ||
3341
+ (0x2074 == codePoint) ||
3342
+ (0x207F == codePoint) ||
3343
+ (0x2081 <= codePoint && codePoint <= 0x2084) ||
3344
+ (0x20AC == codePoint) ||
3345
+ (0x2103 == codePoint) ||
3346
+ (0x2105 == codePoint) ||
3347
+ (0x2109 == codePoint) ||
3348
+ (0x2113 == codePoint) ||
3349
+ (0x2116 == codePoint) ||
3350
+ (0x2121 <= codePoint && codePoint <= 0x2122) ||
3351
+ (0x2126 == codePoint) ||
3352
+ (0x212B == codePoint) ||
3353
+ (0x2153 <= codePoint && codePoint <= 0x2154) ||
3354
+ (0x215B <= codePoint && codePoint <= 0x215E) ||
3355
+ (0x2160 <= codePoint && codePoint <= 0x216B) ||
3356
+ (0x2170 <= codePoint && codePoint <= 0x2179) ||
3357
+ (0x2189 == codePoint) ||
3358
+ (0x2190 <= codePoint && codePoint <= 0x2199) ||
3359
+ (0x21B8 <= codePoint && codePoint <= 0x21B9) ||
3360
+ (0x21D2 == codePoint) ||
3361
+ (0x21D4 == codePoint) ||
3362
+ (0x21E7 == codePoint) ||
3363
+ (0x2200 == codePoint) ||
3364
+ (0x2202 <= codePoint && codePoint <= 0x2203) ||
3365
+ (0x2207 <= codePoint && codePoint <= 0x2208) ||
3366
+ (0x220B == codePoint) ||
3367
+ (0x220F == codePoint) ||
3368
+ (0x2211 == codePoint) ||
3369
+ (0x2215 == codePoint) ||
3370
+ (0x221A == codePoint) ||
3371
+ (0x221D <= codePoint && codePoint <= 0x2220) ||
3372
+ (0x2223 == codePoint) ||
3373
+ (0x2225 == codePoint) ||
3374
+ (0x2227 <= codePoint && codePoint <= 0x222C) ||
3375
+ (0x222E == codePoint) ||
3376
+ (0x2234 <= codePoint && codePoint <= 0x2237) ||
3377
+ (0x223C <= codePoint && codePoint <= 0x223D) ||
3378
+ (0x2248 == codePoint) ||
3379
+ (0x224C == codePoint) ||
3380
+ (0x2252 == codePoint) ||
3381
+ (0x2260 <= codePoint && codePoint <= 0x2261) ||
3382
+ (0x2264 <= codePoint && codePoint <= 0x2267) ||
3383
+ (0x226A <= codePoint && codePoint <= 0x226B) ||
3384
+ (0x226E <= codePoint && codePoint <= 0x226F) ||
3385
+ (0x2282 <= codePoint && codePoint <= 0x2283) ||
3386
+ (0x2286 <= codePoint && codePoint <= 0x2287) ||
3387
+ (0x2295 == codePoint) ||
3388
+ (0x2299 == codePoint) ||
3389
+ (0x22A5 == codePoint) ||
3390
+ (0x22BF == codePoint) ||
3391
+ (0x2312 == codePoint) ||
3392
+ (0x2460 <= codePoint && codePoint <= 0x24E9) ||
3393
+ (0x24EB <= codePoint && codePoint <= 0x254B) ||
3394
+ (0x2550 <= codePoint && codePoint <= 0x2573) ||
3395
+ (0x2580 <= codePoint && codePoint <= 0x258F) ||
3396
+ (0x2592 <= codePoint && codePoint <= 0x2595) ||
3397
+ (0x25A0 <= codePoint && codePoint <= 0x25A1) ||
3398
+ (0x25A3 <= codePoint && codePoint <= 0x25A9) ||
3399
+ (0x25B2 <= codePoint && codePoint <= 0x25B3) ||
3400
+ (0x25B6 <= codePoint && codePoint <= 0x25B7) ||
3401
+ (0x25BC <= codePoint && codePoint <= 0x25BD) ||
3402
+ (0x25C0 <= codePoint && codePoint <= 0x25C1) ||
3403
+ (0x25C6 <= codePoint && codePoint <= 0x25C8) ||
3404
+ (0x25CB == codePoint) ||
3405
+ (0x25CE <= codePoint && codePoint <= 0x25D1) ||
3406
+ (0x25E2 <= codePoint && codePoint <= 0x25E5) ||
3407
+ (0x25EF == codePoint) ||
3408
+ (0x2605 <= codePoint && codePoint <= 0x2606) ||
3409
+ (0x2609 == codePoint) ||
3410
+ (0x260E <= codePoint && codePoint <= 0x260F) ||
3411
+ (0x2614 <= codePoint && codePoint <= 0x2615) ||
3412
+ (0x261C == codePoint) ||
3413
+ (0x261E == codePoint) ||
3414
+ (0x2640 == codePoint) ||
3415
+ (0x2642 == codePoint) ||
3416
+ (0x2660 <= codePoint && codePoint <= 0x2661) ||
3417
+ (0x2663 <= codePoint && codePoint <= 0x2665) ||
3418
+ (0x2667 <= codePoint && codePoint <= 0x266A) ||
3419
+ (0x266C <= codePoint && codePoint <= 0x266D) ||
3420
+ (0x266F == codePoint) ||
3421
+ (0x269E <= codePoint && codePoint <= 0x269F) ||
3422
+ (0x26BE <= codePoint && codePoint <= 0x26BF) ||
3423
+ (0x26C4 <= codePoint && codePoint <= 0x26CD) ||
3424
+ (0x26CF <= codePoint && codePoint <= 0x26E1) ||
3425
+ (0x26E3 == codePoint) ||
3426
+ (0x26E8 <= codePoint && codePoint <= 0x26FF) ||
3427
+ (0x273D == codePoint) ||
3428
+ (0x2757 == codePoint) ||
3429
+ (0x2776 <= codePoint && codePoint <= 0x277F) ||
3430
+ (0x2B55 <= codePoint && codePoint <= 0x2B59) ||
3431
+ (0x3248 <= codePoint && codePoint <= 0x324F) ||
3432
+ (0xE000 <= codePoint && codePoint <= 0xF8FF) ||
3433
+ (0xFE00 <= codePoint && codePoint <= 0xFE0F) ||
3434
+ (0xFFFD == codePoint) ||
3435
+ (0x1F100 <= codePoint && codePoint <= 0x1F10A) ||
3436
+ (0x1F110 <= codePoint && codePoint <= 0x1F12D) ||
3437
+ (0x1F130 <= codePoint && codePoint <= 0x1F169) ||
3438
+ (0x1F170 <= codePoint && codePoint <= 0x1F19A) ||
3439
+ (0xE0100 <= codePoint && codePoint <= 0xE01EF) ||
3440
+ (0xF0000 <= codePoint && codePoint <= 0xFFFFD) ||
3441
+ (0x100000 <= codePoint && codePoint <= 0x10FFFD)) {
3442
+ return 'A';
3443
+ }
3444
+
3445
+ return 'N';
3446
+ };
3447
+
3448
+ eaw.characterLength = function(character) {
3449
+ var code = this.eastAsianWidth(character);
3450
+ if (code == 'F' || code == 'W' || code == 'A') {
3451
+ return 2;
3452
+ } else {
3453
+ return 1;
3454
+ }
3455
+ };
3456
+
3457
+ // Split a string considering surrogate-pairs.
3458
+ function stringToArray(string) {
3459
+ return string.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
3460
+ }
3400
3461
 
3401
- // Split a string considering surrogate-pairs.
3402
- function stringToArray(string) {
3403
- return string.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
3404
- }
3462
+ eaw.length = function(string) {
3463
+ var characters = stringToArray(string);
3464
+ var len = 0;
3465
+ for (var i = 0; i < characters.length; i++) {
3466
+ len = len + this.characterLength(characters[i]);
3467
+ }
3468
+ return len;
3469
+ };
3470
+
3471
+ eaw.slice = function(text, start, end) {
3472
+ textLen = eaw.length(text);
3473
+ start = start ? start : 0;
3474
+ end = end ? end : 1;
3475
+ if (start < 0) {
3476
+ start = textLen + start;
3477
+ }
3478
+ if (end < 0) {
3479
+ end = textLen + end;
3480
+ }
3481
+ var result = '';
3482
+ var eawLen = 0;
3483
+ var chars = stringToArray(text);
3484
+ for (var i = 0; i < chars.length; i++) {
3485
+ var char = chars[i];
3486
+ var charLen = eaw.length(char);
3487
+ if (eawLen >= start - (charLen == 2 ? 1 : 0)) {
3488
+ if (eawLen + charLen <= end) {
3489
+ result += char;
3490
+ } else {
3491
+ break;
3492
+ }
3493
+ }
3494
+ eawLen += charLen;
3495
+ }
3496
+ return result;
3497
+ };
3498
+ } (eastasianwidth));
3499
+ return eastasianwidth.exports;
3500
+ }
3405
3501
 
3406
- eaw.length = function(string) {
3407
- var characters = stringToArray(string);
3408
- var len = 0;
3409
- for (var i = 0; i < characters.length; i++) {
3410
- len = len + this.characterLength(characters[i]);
3411
- }
3412
- return len;
3413
- };
3502
+ var eastasianwidthExports = requireEastasianwidth();
3503
+ var eastAsianWidth = /*@__PURE__*/getDefaultExportFromCjs(eastasianwidthExports);
3414
3504
 
3415
- eaw.slice = function(text, start, end) {
3416
- textLen = eaw.length(text);
3417
- start = start ? start : 0;
3418
- end = end ? end : 1;
3419
- if (start < 0) {
3420
- start = textLen + start;
3421
- }
3422
- if (end < 0) {
3423
- end = textLen + end;
3424
- }
3425
- var result = '';
3426
- var eawLen = 0;
3427
- var chars = stringToArray(text);
3428
- for (var i = 0; i < chars.length; i++) {
3429
- var char = chars[i];
3430
- var charLen = eaw.length(char);
3431
- if (eawLen >= start - (charLen == 2 ? 1 : 0)) {
3432
- if (eawLen + charLen <= end) {
3433
- result += char;
3434
- } else {
3435
- break;
3436
- }
3437
- }
3438
- eawLen += charLen;
3439
- }
3440
- return result;
3441
- };
3442
- } (eastasianwidth));
3505
+ var emojiRegex$1;
3506
+ var hasRequiredEmojiRegex;
3443
3507
 
3444
- var eastasianwidthExports = eastasianwidth.exports;
3445
- var eastAsianWidth = /*@__PURE__*/getDefaultExportFromCjs(eastasianwidthExports);
3508
+ function requireEmojiRegex () {
3509
+ if (hasRequiredEmojiRegex) return emojiRegex$1;
3510
+ hasRequiredEmojiRegex = 1;
3446
3511
 
3447
- var emojiRegex = function () {
3448
- // https://mths.be/emoji
3449
- return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
3450
- };
3512
+ emojiRegex$1 = function () {
3513
+ // https://mths.be/emoji
3514
+ return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
3515
+ };
3516
+ return emojiRegex$1;
3517
+ }
3451
3518
 
3452
- var emojiRegex$1 = /*@__PURE__*/getDefaultExportFromCjs(emojiRegex);
3519
+ var emojiRegexExports = requireEmojiRegex();
3520
+ var emojiRegex = /*@__PURE__*/getDefaultExportFromCjs(emojiRegexExports);
3453
3521
 
3454
3522
  function stringWidth(string, options = {}) {
3455
3523
  if (typeof string !== 'string' || string.length === 0) {
@@ -3467,7 +3535,7 @@ function stringWidth(string, options = {}) {
3467
3535
  return 0;
3468
3536
  }
3469
3537
 
3470
- string = string.replace(emojiRegex$1(), ' ');
3538
+ string = string.replace(emojiRegex(), ' ');
3471
3539
 
3472
3540
  const ambiguousCharacterWidth = options.ambiguousIsNarrow ? 1 : 2;
3473
3541
  let width = 0;
@@ -3788,9 +3856,9 @@ function createLogUpdate(stream, {showCursor = false} = {}) {
3788
3856
  return render;
3789
3857
  }
3790
3858
 
3791
- createLogUpdate(process$2.stdout);
3859
+ createLogUpdate(process$1.stdout);
3792
3860
 
3793
- createLogUpdate(process$2.stderr);
3861
+ createLogUpdate(process$1.stderr);
3794
3862
 
3795
3863
  const HIGHLIGHT_SUPPORTED_EXTS = new Set(
3796
3864
  ["js", "ts"].flatMap((lang) => [
@@ -4115,6 +4183,15 @@ Failure screenshot${length > 1 ? "s" : ""}:`);
4115
4183
  logger.error(`${e.codeFrame}
4116
4184
  `);
4117
4185
  }
4186
+ if ("__vitest_rollup_error__" in e) {
4187
+ const err = e.__vitest_rollup_error__;
4188
+ logger.error([
4189
+ err.plugin && ` Plugin: ${c.magenta(err.plugin)}`,
4190
+ err.id && ` File: ${c.cyan(err.id)}${err.loc ? `:${err.loc.line}:${err.loc.column}` : ""}`,
4191
+ err.frame && c.yellow(err.frame.split(/\r?\n/g).map((l) => ` `.repeat(2) + l).join(`
4192
+ `))
4193
+ ].filter(Boolean).join("\n"));
4194
+ }
4118
4195
  if (e.diff) {
4119
4196
  displayDiff(e.diff, logger.console);
4120
4197
  }
@@ -4329,7 +4406,7 @@ function generateCodeFrame(source, indent = 0, loc, range = 2) {
4329
4406
  continue;
4330
4407
  }
4331
4408
  const lineLength = lines[j].length;
4332
- if (stripAnsi(lines[j]).length > 200) {
4409
+ if (stripVTControlCharacters(lines[j]).length > 200) {
4333
4410
  return "";
4334
4411
  }
4335
4412
  res.push(
@@ -4510,7 +4587,7 @@ class JUnitReporter {
4510
4587
  { project: this.ctx.getProjectByTaskId(task.id), task }
4511
4588
  );
4512
4589
  await this.baseLog(
4513
- escapeXML(stripAnsi(result.output.trim()))
4590
+ escapeXML(stripVTControlCharacters(result.output.trim()))
4514
4591
  );
4515
4592
  }
4516
4593
  );
@@ -4694,7 +4771,7 @@ class GithubActionsReporter {
4694
4771
  line: String(stack.line),
4695
4772
  column: String(stack.column)
4696
4773
  },
4697
- message: stripAnsi(result.output)
4774
+ message: stripVTControlCharacters(result.output)
4698
4775
  });
4699
4776
  this.ctx.logger.log(`
4700
4777
  ${formatted}`);
@@ -4880,12 +4957,12 @@ function renderBenchmarkItems(result) {
4880
4957
  formatNumber(result.p995 || 0),
4881
4958
  formatNumber(result.p999 || 0),
4882
4959
  `\xB1${(result.rme || 0).toFixed(2)}%`,
4883
- result.samples.length.toString()
4960
+ (result.sampleCount || 0).toString()
4884
4961
  ];
4885
4962
  }
4886
4963
  function computeColumnWidths(results) {
4887
4964
  const rows = [tableHead, ...results.map((v) => renderBenchmarkItems(v))];
4888
- return Array.from(tableHead, (_, i) => Math.max(...rows.map((row) => stripAnsi(row[i]).length)));
4965
+ return Array.from(tableHead, (_, i) => Math.max(...rows.map((row) => stripVTControlCharacters(row[i]).length)));
4889
4966
  }
4890
4967
  function padRow(row, widths) {
4891
4968
  return row.map(
@@ -4933,10 +5010,7 @@ function renderTree(tasks, options, level = 0, shallow = false) {
4933
5010
  };
4934
5011
  const baseline = options.compare?.[t.id];
4935
5012
  if (baseline) {
4936
- benchMap[t.id].baseline = {
4937
- ...baseline,
4938
- samples: Array.from({ length: baseline.sampleCount })
4939
- };
5013
+ benchMap[t.id].baseline = baseline;
4940
5014
  }
4941
5015
  }
4942
5016
  }
@@ -5010,7 +5084,7 @@ ${padding}`;
5010
5084
  if (task.result?.state !== "pass" && outputMap.get(task) != null) {
5011
5085
  let data = outputMap.get(task);
5012
5086
  if (typeof data === "string") {
5013
- data = stripAnsi(data.trim().split("\n").filter(Boolean).pop());
5087
+ data = stripVTControlCharacters(data.trim().split("\n").filter(Boolean).pop());
5014
5088
  if (data === "") {
5015
5089
  data = void 0;
5016
5090
  }
@@ -5183,13 +5257,7 @@ function createFormattedBenchmarkReport(files) {
5183
5257
  for (const t of task.tasks) {
5184
5258
  const benchmark = t.meta.benchmark && t.result?.benchmark;
5185
5259
  if (benchmark) {
5186
- const { samples, ...rest } = benchmark;
5187
- benchmarks.push({
5188
- id: t.id,
5189
- sampleCount: samples.length,
5190
- median: samples.length % 2 ? samples[Math.floor(samples.length / 2)] : (samples[samples.length / 2] + samples[samples.length / 2 - 1]) / 2,
5191
- ...rest
5192
- });
5260
+ benchmarks.push({ id: t.id, ...benchmark, samples: [] });
5193
5261
  }
5194
5262
  }
5195
5263
  if (benchmarks.length) {