@matter/tools 0.12.2 → 0.12.3-alpha.0-20250205-ad3416ca3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ansi-text/chars.d.ts +11 -0
- package/dist/cjs/ansi-text/chars.d.ts.map +1 -0
- package/dist/cjs/ansi-text/chars.js +57 -0
- package/dist/cjs/ansi-text/chars.js.map +6 -0
- package/dist/cjs/ansi-text/consumer.d.ts +45 -0
- package/dist/cjs/ansi-text/consumer.d.ts.map +1 -0
- package/dist/cjs/ansi-text/consumer.js +22 -0
- package/dist/cjs/ansi-text/consumer.js.map +6 -0
- package/dist/cjs/ansi-text/contiguous-output-segment.d.ts +31 -0
- package/dist/cjs/ansi-text/contiguous-output-segment.d.ts.map +1 -0
- package/dist/cjs/ansi-text/contiguous-output-segment.js +156 -0
- package/dist/cjs/ansi-text/contiguous-output-segment.js.map +6 -0
- package/dist/cjs/ansi-text/index.d.ts +12 -0
- package/dist/cjs/ansi-text/index.d.ts.map +1 -0
- package/dist/cjs/ansi-text/index.js +29 -0
- package/dist/cjs/ansi-text/index.js.map +6 -0
- package/dist/cjs/ansi-text/printer.d.ts +24 -0
- package/dist/cjs/ansi-text/printer.d.ts.map +1 -0
- package/dist/cjs/ansi-text/printer.js +81 -0
- package/dist/cjs/ansi-text/printer.js.map +6 -0
- package/dist/cjs/ansi-text/producer.d.ts +17 -0
- package/dist/cjs/ansi-text/producer.d.ts.map +1 -0
- package/dist/cjs/ansi-text/producer.js +45 -0
- package/dist/cjs/ansi-text/producer.js.map +6 -0
- package/dist/cjs/ansi-text/screen.d.ts +13 -0
- package/dist/cjs/ansi-text/screen.d.ts.map +1 -0
- package/dist/cjs/ansi-text/screen.js +38 -0
- package/dist/cjs/ansi-text/screen.js.map +6 -0
- package/dist/cjs/ansi-text/sgr.d.ts +100 -0
- package/dist/cjs/ansi-text/sgr.d.ts.map +1 -0
- package/dist/cjs/ansi-text/sgr.js +140 -0
- package/dist/cjs/ansi-text/sgr.js.map +6 -0
- package/dist/cjs/ansi-text/std.d.ts +17 -0
- package/dist/cjs/ansi-text/std.d.ts.map +1 -0
- package/dist/cjs/ansi-text/std.js +43 -0
- package/dist/cjs/ansi-text/std.js.map +6 -0
- package/dist/cjs/ansi-text/style.d.ts +88 -0
- package/dist/cjs/ansi-text/style.d.ts.map +1 -0
- package/dist/cjs/ansi-text/style.js +257 -0
- package/dist/cjs/ansi-text/style.js.map +6 -0
- package/dist/cjs/ansi-text/text-builder.d.ts +78 -0
- package/dist/cjs/ansi-text/text-builder.d.ts.map +1 -0
- package/dist/cjs/ansi-text/text-builder.js +164 -0
- package/dist/cjs/ansi-text/text-builder.js.map +6 -0
- package/dist/cjs/ansi-text/text-writer.d.ts +30 -0
- package/dist/cjs/ansi-text/text-writer.d.ts.map +1 -0
- package/dist/cjs/ansi-text/text-writer.js +317 -0
- package/dist/cjs/ansi-text/text-writer.js.map +6 -0
- package/dist/cjs/ansi-text/token.d.ts +61 -0
- package/dist/cjs/ansi-text/token.d.ts.map +1 -0
- package/dist/cjs/ansi-text/token.js +22 -0
- package/dist/cjs/ansi-text/token.js.map +6 -0
- package/dist/cjs/ansi-text/tokenize.d.ts +11 -0
- package/dist/cjs/ansi-text/tokenize.d.ts.map +1 -0
- package/dist/cjs/ansi-text/tokenize.js +190 -0
- package/dist/cjs/ansi-text/tokenize.js.map +6 -0
- package/dist/cjs/ansi-text/truncator.d.ts +20 -0
- package/dist/cjs/ansi-text/truncator.d.ts.map +1 -0
- package/dist/cjs/ansi-text/truncator.js +72 -0
- package/dist/cjs/ansi-text/truncator.js.map +6 -0
- package/dist/cjs/ansi-text/visible-width-of.d.ts +10 -0
- package/dist/cjs/ansi-text/visible-width-of.d.ts.map +1 -0
- package/dist/cjs/ansi-text/visible-width-of.js +55 -0
- package/dist/cjs/ansi-text/visible-width-of.js.map +6 -0
- package/dist/cjs/ansi-text/wrapper.d.ts +34 -0
- package/dist/cjs/ansi-text/wrapper.d.ts.map +1 -0
- package/dist/cjs/ansi-text/wrapper.js +208 -0
- package/dist/cjs/ansi-text/wrapper.js.map +6 -0
- package/dist/cjs/building/cli.js +6 -6
- package/dist/cjs/building/cli.js.map +1 -1
- package/dist/cjs/building/graph.d.ts +2 -2
- package/dist/cjs/building/graph.d.ts.map +1 -1
- package/dist/cjs/building/graph.js.map +1 -1
- package/dist/cjs/building/project-builder.d.ts +38 -0
- package/dist/cjs/building/project-builder.d.ts.map +1 -0
- package/dist/cjs/building/project-builder.js +200 -0
- package/dist/cjs/building/project-builder.js.map +6 -0
- package/dist/cjs/building/tsconfig.js +1 -1
- package/dist/cjs/building/tsconfig.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -6
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/running/ensure-compiled.js +2 -2
- package/dist/cjs/running/ensure-compiled.js.map +1 -1
- package/dist/cjs/util/commander.d.ts.map +1 -1
- package/dist/cjs/util/commander.js +4 -5
- package/dist/cjs/util/commander.js.map +2 -2
- package/dist/cjs/util/index.d.ts +1 -0
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +1 -0
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/cjs/util/progress.d.ts +2 -2
- package/dist/cjs/util/progress.d.ts.map +1 -1
- package/dist/cjs/util/progress.js +25 -53
- package/dist/cjs/util/progress.js.map +2 -2
- package/dist/cjs/versioning/versioner.js +2 -12
- package/dist/cjs/versioning/versioner.js.map +2 -2
- package/dist/esm/ansi-text/chars.d.ts +11 -0
- package/dist/esm/ansi-text/chars.d.ts.map +1 -0
- package/dist/esm/ansi-text/chars.js +37 -0
- package/dist/esm/ansi-text/chars.js.map +6 -0
- package/dist/esm/ansi-text/consumer.d.ts +45 -0
- package/dist/esm/ansi-text/consumer.d.ts.map +1 -0
- package/dist/esm/ansi-text/consumer.js +6 -0
- package/dist/esm/ansi-text/consumer.js.map +6 -0
- package/dist/esm/ansi-text/contiguous-output-segment.d.ts +31 -0
- package/dist/esm/ansi-text/contiguous-output-segment.d.ts.map +1 -0
- package/dist/esm/ansi-text/contiguous-output-segment.js +136 -0
- package/dist/esm/ansi-text/contiguous-output-segment.js.map +6 -0
- package/dist/esm/ansi-text/index.d.ts +12 -0
- package/dist/esm/ansi-text/index.d.ts.map +1 -0
- package/dist/esm/ansi-text/index.js +12 -0
- package/dist/esm/ansi-text/index.js.map +6 -0
- package/dist/esm/ansi-text/printer.d.ts +24 -0
- package/dist/esm/ansi-text/printer.d.ts.map +1 -0
- package/dist/esm/ansi-text/printer.js +61 -0
- package/dist/esm/ansi-text/printer.js.map +6 -0
- package/dist/esm/ansi-text/producer.d.ts +17 -0
- package/dist/esm/ansi-text/producer.d.ts.map +1 -0
- package/dist/esm/ansi-text/producer.js +25 -0
- package/dist/esm/ansi-text/producer.js.map +6 -0
- package/dist/esm/ansi-text/screen.d.ts +13 -0
- package/dist/esm/ansi-text/screen.d.ts.map +1 -0
- package/dist/esm/ansi-text/screen.js +18 -0
- package/dist/esm/ansi-text/screen.js.map +6 -0
- package/dist/esm/ansi-text/sgr.d.ts +100 -0
- package/dist/esm/ansi-text/sgr.d.ts.map +1 -0
- package/dist/esm/ansi-text/sgr.js +120 -0
- package/dist/esm/ansi-text/sgr.js.map +6 -0
- package/dist/esm/ansi-text/std.d.ts +17 -0
- package/dist/esm/ansi-text/std.d.ts.map +1 -0
- package/dist/esm/ansi-text/std.js +23 -0
- package/dist/esm/ansi-text/std.js.map +6 -0
- package/dist/esm/ansi-text/style.d.ts +88 -0
- package/dist/esm/ansi-text/style.d.ts.map +1 -0
- package/dist/esm/ansi-text/style.js +245 -0
- package/dist/esm/ansi-text/style.js.map +6 -0
- package/dist/esm/ansi-text/text-builder.d.ts +78 -0
- package/dist/esm/ansi-text/text-builder.d.ts.map +1 -0
- package/dist/esm/ansi-text/text-builder.js +150 -0
- package/dist/esm/ansi-text/text-builder.js.map +6 -0
- package/dist/esm/ansi-text/text-writer.d.ts +30 -0
- package/dist/esm/ansi-text/text-writer.d.ts.map +1 -0
- package/dist/esm/ansi-text/text-writer.js +297 -0
- package/dist/esm/ansi-text/text-writer.js.map +6 -0
- package/dist/esm/ansi-text/token.d.ts +61 -0
- package/dist/esm/ansi-text/token.d.ts.map +1 -0
- package/dist/esm/ansi-text/token.js +6 -0
- package/dist/esm/ansi-text/token.js.map +6 -0
- package/dist/esm/ansi-text/tokenize.d.ts +11 -0
- package/dist/esm/ansi-text/tokenize.d.ts.map +1 -0
- package/dist/esm/ansi-text/tokenize.js +170 -0
- package/dist/esm/ansi-text/tokenize.js.map +6 -0
- package/dist/esm/ansi-text/truncator.d.ts +20 -0
- package/dist/esm/ansi-text/truncator.d.ts.map +1 -0
- package/dist/esm/ansi-text/truncator.js +52 -0
- package/dist/esm/ansi-text/truncator.js.map +6 -0
- package/dist/esm/ansi-text/visible-width-of.d.ts +10 -0
- package/dist/esm/ansi-text/visible-width-of.d.ts.map +1 -0
- package/dist/esm/ansi-text/visible-width-of.js +35 -0
- package/dist/esm/ansi-text/visible-width-of.js.map +6 -0
- package/dist/esm/ansi-text/wrapper.d.ts +34 -0
- package/dist/esm/ansi-text/wrapper.d.ts.map +1 -0
- package/dist/esm/ansi-text/wrapper.js +188 -0
- package/dist/esm/ansi-text/wrapper.js.map +6 -0
- package/dist/esm/building/cli.js +3 -3
- package/dist/esm/building/cli.js.map +1 -1
- package/dist/esm/building/graph.d.ts +2 -2
- package/dist/esm/building/graph.d.ts.map +1 -1
- package/dist/esm/building/graph.js +1 -1
- package/dist/esm/building/graph.js.map +1 -1
- package/dist/esm/building/project-builder.d.ts +38 -0
- package/dist/esm/building/project-builder.d.ts.map +1 -0
- package/dist/esm/building/project-builder.js +180 -0
- package/dist/esm/building/project-builder.js.map +6 -0
- package/dist/esm/building/tsconfig.js +2 -2
- package/dist/esm/building/tsconfig.js.map +1 -1
- package/dist/esm/index.d.ts +4 -6
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +5 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/running/ensure-compiled.js +3 -3
- package/dist/esm/running/ensure-compiled.js.map +1 -1
- package/dist/esm/util/commander.d.ts.map +1 -1
- package/dist/esm/util/commander.js +5 -6
- package/dist/esm/util/commander.js.map +1 -1
- package/dist/esm/util/index.d.ts +1 -0
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +2 -1
- package/dist/esm/util/index.js.map +1 -1
- package/dist/esm/util/progress.d.ts +2 -2
- package/dist/esm/util/progress.d.ts.map +1 -1
- package/dist/esm/util/progress.js +26 -44
- package/dist/esm/util/progress.js.map +1 -1
- package/dist/esm/versioning/versioner.js +3 -3
- package/dist/esm/versioning/versioner.js.map +1 -1
- package/package.json +11 -1
- package/src/ansi-text/chars.ts +31 -0
- package/src/ansi-text/consumer.ts +53 -0
- package/src/ansi-text/contiguous-output-segment.ts +181 -0
- package/src/ansi-text/index.ts +14 -0
- package/src/ansi-text/printer.ts +86 -0
- package/src/ansi-text/producer.ts +29 -0
- package/src/ansi-text/screen.ts +18 -0
- package/src/ansi-text/sgr.ts +154 -0
- package/src/ansi-text/std.ts +28 -0
- package/src/ansi-text/style.ts +369 -0
- package/src/ansi-text/text-builder.ts +261 -0
- package/src/ansi-text/text-writer.ts +363 -0
- package/src/ansi-text/token.ts +76 -0
- package/src/ansi-text/tokenize.ts +212 -0
- package/src/ansi-text/truncator.ts +63 -0
- package/src/ansi-text/visible-width-of.ts +39 -0
- package/src/ansi-text/wrapper.ts +244 -0
- package/src/building/cli.ts +2 -2
- package/src/building/graph.ts +2 -2
- package/src/building/project-builder.ts +230 -0
- package/src/building/tsconfig.ts +2 -4
- package/src/index.ts +4 -6
- package/src/running/ensure-compiled.ts +2 -2
- package/src/util/commander.ts +4 -6
- package/src/util/index.ts +1 -0
- package/src/util/progress.ts +24 -61
- package/src/versioning/versioner.ts +2 -2
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import colors from "ansi-colors";
|
|
7
6
|
import { stderr, stdout } from "process";
|
|
8
|
-
|
|
7
|
+
import { screen } from "../ansi-text/screen.js";
|
|
8
|
+
import { std } from "../ansi-text/std.js";
|
|
9
|
+
import { ansi } from "../ansi-text/text-builder.js";
|
|
9
10
|
const SPINNER = "\u25D0\u25D3\u25D1\u25D2";
|
|
10
11
|
const SPINNER_INTERVAL = 100;
|
|
11
12
|
function packageIdentity(pkg) {
|
|
12
|
-
let identity =
|
|
13
|
+
let identity = ansi.bold(pkg.json.name).toString();
|
|
13
14
|
if (pkg.json.version) {
|
|
14
15
|
identity = `${identity}@${pkg.json.version}`;
|
|
15
16
|
}
|
|
@@ -35,21 +36,19 @@ const writeStatus = (() => {
|
|
|
35
36
|
intercept(stdout);
|
|
36
37
|
intercept(stderr);
|
|
37
38
|
return function writeStatus2(text, willOverwrite = false) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
text = filterAnsi(text, columns - 2) + "\u2026";
|
|
41
|
-
}
|
|
42
|
-
text += willOverwrite ? "\r" : "\n";
|
|
39
|
+
text += willOverwrite ? `${screen.erase.toEol}\r` : `${screen.erase.toEol}
|
|
40
|
+
`;
|
|
43
41
|
if (text === lastStatus) {
|
|
44
42
|
return;
|
|
45
43
|
}
|
|
46
|
-
|
|
47
|
-
lastStatus
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
std.out.state({ buffer: true }, () => {
|
|
45
|
+
if (lastStatus) {
|
|
46
|
+
lastStatus = void 0;
|
|
47
|
+
} else if (needNewline && !text.startsWith("\n")) {
|
|
48
|
+
std.out("\n");
|
|
49
|
+
}
|
|
50
|
+
std.out.writeTruncated(text);
|
|
51
|
+
});
|
|
53
52
|
lastStatus = text;
|
|
54
53
|
};
|
|
55
54
|
})();
|
|
@@ -65,13 +64,13 @@ class Progress {
|
|
|
65
64
|
constructor() {
|
|
66
65
|
}
|
|
67
66
|
emphasize(text) {
|
|
68
|
-
return
|
|
67
|
+
return ansi.bold(`${text}`);
|
|
69
68
|
}
|
|
70
69
|
deemphasize(text) {
|
|
71
|
-
return
|
|
70
|
+
return ansi.dim(`${text}`);
|
|
72
71
|
}
|
|
73
72
|
skip(why, pkg) {
|
|
74
|
-
|
|
73
|
+
std.out.write(ansi.dim(`Skip ${packageIdentity(pkg)}: ${why}
|
|
75
74
|
|
|
76
75
|
`));
|
|
77
76
|
}
|
|
@@ -104,27 +103,27 @@ class Progress {
|
|
|
104
103
|
if (!this.#ongoingText) {
|
|
105
104
|
return;
|
|
106
105
|
}
|
|
107
|
-
const subtask = this.#subtasks.length ?
|
|
108
|
-
writeStatus(` ${
|
|
106
|
+
const subtask = this.#subtasks.length ? ansi.dim(` (${this.#subtasks[this.#subtasks.length - 1]})`) : "";
|
|
107
|
+
writeStatus(` ${ansi.yellow(this.#spinner)} ${this.#ongoingText}${subtask}`, true);
|
|
109
108
|
}
|
|
110
109
|
success(text) {
|
|
111
110
|
this.status = Progress.Status.Success;
|
|
112
|
-
writeStatus(` ${
|
|
111
|
+
writeStatus(` ${ansi.green("\u2713")} ${text} ${this.#duration}`);
|
|
113
112
|
this.#start = this.#ongoingText = void 0;
|
|
114
113
|
}
|
|
115
114
|
failure(text) {
|
|
116
115
|
this.status = Progress.Status.Failure;
|
|
117
|
-
writeStatus(` ${
|
|
116
|
+
writeStatus(` ${ansi.bright.red("\u2717")} ${text} ${this.#duration}`);
|
|
118
117
|
this.#start = this.#ongoingText = void 0;
|
|
119
118
|
}
|
|
120
119
|
info(label, value) {
|
|
121
120
|
if (value) {
|
|
122
|
-
label = `${
|
|
121
|
+
label = `${ansi.dim(label)} ${value}`;
|
|
123
122
|
}
|
|
124
|
-
writeStatus(` ${
|
|
123
|
+
writeStatus(` ${ansi.dim("\u2023")} ${label}`);
|
|
125
124
|
}
|
|
126
125
|
warn(text) {
|
|
127
|
-
|
|
126
|
+
std.out.write(` ${ansi.yellow("Warning:")} ${text}
|
|
128
127
|
`);
|
|
129
128
|
}
|
|
130
129
|
shutdown() {
|
|
@@ -181,7 +180,7 @@ class Progress {
|
|
|
181
180
|
} else {
|
|
182
181
|
ms = Math.trunc(ms / 1e3);
|
|
183
182
|
}
|
|
184
|
-
return
|
|
183
|
+
return `${ansi.dim.yellow}(${ms}s)${ansi.not.dim.not.yellow}`;
|
|
185
184
|
}
|
|
186
185
|
}
|
|
187
186
|
((Progress2) => {
|
|
@@ -193,24 +192,7 @@ class Progress {
|
|
|
193
192
|
Status2["Failure"] = "failure";
|
|
194
193
|
})(Status = Progress2.Status || (Progress2.Status = {}));
|
|
195
194
|
})(Progress || (Progress = {}));
|
|
196
|
-
function filterAnsi(str, len) {
|
|
197
|
-
if (!len || len < 10) return str;
|
|
198
|
-
let count = 0, esc = false, longesc = false;
|
|
199
|
-
let outp = true;
|
|
200
|
-
return str.split("").filter(function(c) {
|
|
201
|
-
if (esc && !longesc && c == "[") longesc = true;
|
|
202
|
-
if (c == "\x1B") esc = true;
|
|
203
|
-
outp = count < len || esc;
|
|
204
|
-
if (!esc && !longesc) count++;
|
|
205
|
-
if (esc && !longesc && c != "\x1B") esc = false;
|
|
206
|
-
if (longesc && c != "[" && c >= "@" && c <= "~") {
|
|
207
|
-
esc = false;
|
|
208
|
-
longesc = false;
|
|
209
|
-
}
|
|
210
|
-
return outp;
|
|
211
|
-
}).join("");
|
|
212
|
-
}
|
|
213
195
|
export {
|
|
214
196
|
Progress
|
|
215
197
|
};
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvZ3Jlc3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjUgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IGNvbG9ycyBmcm9tIFwiYW5zaS1jb2xvcnNcIjtcbmltcG9ydCB7IHN0ZGVyciwgc3Rkb3V0IH0gZnJvbSBcInByb2Nlc3NcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwiLi9wYWNrYWdlLmpzXCI7XG5cbmNvbnN0IENMRUFSID0gXCJcXHgxYltLXCI7XG5jb25zdCBTUElOTkVSID0gXCJcdTI1RDBcdTI1RDNcdTI1RDFcdTI1RDJcIjsgLy9cIlx1Mjg1Q1x1MjgxNFx1MjgyMlx1MjhBM1wiOyAvL1tcIlx1MjZBQlx1RkUwRVwiLCBcIlx1MjZBQVx1RkUwRVwiXTsgXCJcdTI4NDhcdTI4MTRcdTI4MjJcdTI4ODFcIjtcbmNvbnN0IFNQSU5ORVJfSU5URVJWQUwgPSAxMDA7XG5cbmZ1bmN0aW9uIHBhY2thZ2VJZGVudGl0eShwa2c6IFBhY2thZ2UpIHtcbiAgICBsZXQgaWRlbnRpdHkgPSBjb2xvcnMuYm9sZChwa2cuanNvbi5uYW1lKTtcbiAgICBpZiAocGtnLmpzb24udmVyc2lvbikge1xuICAgICAgICBpZGVudGl0eSA9IGAke2lkZW50aXR5fUAke3BrZy5qc29uLnZlcnNpb259YDtcbiAgICB9XG4gICAgcmV0dXJuIGlkZW50aXR5O1xufVxuXG4vKipcbiAqIEludGVyY2VwdCB3cml0ZXMgdG8gc3RkZXJyIGFuZCBzdGRvdXQgc28gd2UgY2FuIGVuc3VyZSBvdXIgdXBkYXRlcyBhcHBlYXIgb24gZGlmZmVyZW50IGxpbmVzIGZyb20gb3RoZXIgb3V0cHV0LlxuICovXG5jb25zdCB3cml0ZVN0YXR1cyA9ICgoKSA9PiB7XG4gICAgbGV0IGxhc3RTdGF0dXM6IHVuZGVmaW5lZCB8IHN0cmluZztcbiAgICBsZXQgbmVlZE5ld2xpbmUgPSBmYWxzZTtcblxuICAgIGZ1bmN0aW9uIGludGVyY2VwdChzdHJlYW06IE5vZGVKUy5Xcml0ZVN0cmVhbSkge1xuICAgICAgICBjb25zdCBhY3R1YWxXcml0ZSA9IHN0cmVhbS53cml0ZTtcbiAgICAgICAgc3RyZWFtLndyaXRlID0gKHBheWxvYWQ6IFVpbnQ4QXJyYXkgfCBzdHJpbmcsIC4uLnBhcmFtczogYW55W10pID0+IHtcbiAgICAgICAgICAgIGlmIChsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgYWN0dWFsV3JpdGUuY2FsbChzdHJlYW0sIFwiXFxuXCIpO1xuICAgICAgICAgICAgICAgIGxhc3RTdGF0dXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghcGF5bG9hZC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmVxdWlyZSBhIG5ld2xpbmUgZm9yIHN0YXR1cyB1cGRhdGVzIGFueSB0aW1lIHRoZSBjdXJzb3IgZG9lcyBub3QgZW5kIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lXG4gICAgICAgICAgICBuZWVkTmV3bGluZSA9IHBheWxvYWRbcGF5bG9hZC5sZW5ndGggLSAxXSAhPT0gXCJcXG5cIiAmJiBwYXlsb2FkW3BheWxvYWQubGVuZ3RoIC0gMV0gIT09IFwiXFxyXCI7XG5cbiAgICAgICAgICAgIHJldHVybiBhY3R1YWxXcml0ZS5jYWxsKHN0cmVhbSwgcGF5bG9hZCwgLi4ucGFyYW1zKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBpbnRlcmNlcHQoc3Rkb3V0KTtcbiAgICBpbnRlcmNlcHQoc3RkZXJyKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiB3cml0ZVN0YXR1cyh0ZXh0OiBzdHJpbmcsIHdpbGxPdmVyd3JpdGUgPSBmYWxzZSkge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gcHJvY2Vzcy5zdGRvdXQuY29sdW1ucztcbiAgICAgICAgaWYgKHdpbGxPdmVyd3JpdGUgJiYgY29sdW1ucyAhPT0gdW5kZWZpbmVkICYmIHRleHQubGVuZ3RoID4gY29sdW1ucyAtIDIpIHtcbiAgICAgICAgICAgIHRleHQgPSBmaWx0ZXJBbnNpKHRleHQsIGNvbHVtbnMgLSAyKSArIFwiXHUyMDI2XCI7XG4gICAgICAgIH1cblxuICAgICAgICB0ZXh0ICs9IHdpbGxPdmVyd3JpdGUgPyBcIlxcclwiIDogXCJcXG5cIjtcbiAgICAgICAgaWYgKHRleHQgPT09IGxhc3RTdGF0dXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICBsYXN0U3RhdHVzID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgc3Rkb3V0LndyaXRlKENMRUFSKTtcbiAgICAgICAgfSBlbHNlIGlmIChuZWVkTmV3bGluZSAmJiAhdGV4dC5zdGFydHNXaXRoKFwiXFxuXCIpKSB7XG4gICAgICAgICAgICBzdGRvdXQud3JpdGUoXCJcXG5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBzdGRvdXQud3JpdGUodGV4dCk7XG5cbiAgICAgICAgbGFzdFN0YXR1cyA9IHRleHQ7XG4gICAgfTtcbn0pKCk7XG5cbmV4cG9ydCBjbGFzcyBQcm9ncmVzcyB7XG4gICAgc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLlN0YXJ0dXA7XG4gICAgI29uZ29pbmdUZXh0Pzogc3RyaW5nO1xuICAgICNzdGFydD86IG51bWJlcjtcbiAgICAjc3Bpbm5lciA9IFwiXHUyOUQ3XCI7XG4gICAgI3JlZnJlc2hJbnRlcnZhbD86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcbiAgICAjc3Bpbm5lclBvc2l0aW9uID0gMDtcbiAgICAjc3Bpbm5lcldpbmRvdz86IG51bWJlcjtcbiAgICAjc3VidGFza3MgPSBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBlbXBoYXNpemUodGV4dDogdW5rbm93bikge1xuICAgICAgICByZXR1cm4gY29sb3JzLmJvbGQoYCR7dGV4dH1gKTtcbiAgICB9XG5cbiAgICBkZWVtcGhhc2l6ZSh0ZXh0OiB1bmtub3duKSB7XG4gICAgICAgIHJldHVybiBjb2xvcnMuZGltKGAke3RleHR9YCk7XG4gICAgfVxuXG4gICAgc2tpcCh3aHk6IHN0cmluZywgcGtnOiBQYWNrYWdlKSB7XG4gICAgICAgIHN0ZG91dC53cml0ZShjb2xvcnMuZGltKGBTa2lwICR7cGFja2FnZUlkZW50aXR5KHBrZyl9OiAke3doeX1cXG5cXG5gKSk7XG4gICAgfVxuXG4gICAgc3RhcnR1cCh3aGF0OiBzdHJpbmcsIHBrZ09yT3ZlcndyaXRlPzogUGFja2FnZSB8IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHByb2Nlc3Muc3Rkb3V0LmlzVFRZKSB7XG4gICAgICAgICAgICB0aGlzLiN1cGRhdGVTcGlubmVyKCk7XG4gICAgICAgICAgICB0aGlzLiNyZWZyZXNoSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCh0aGlzLnJlZnJlc2guYmluZCh0aGlzKSwgU1BJTk5FUl9JTlRFUlZBTCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXR1cyA9IFByb2dyZXNzLlN0YXR1cy5TdGFydHVwO1xuICAgICAgICBpZiAocGtnT3JPdmVyd3JpdGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgcGtnT3JPdmVyd3JpdGUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgICAgICB3cml0ZVN0YXR1cyh3aGF0LCBwa2dPck92ZXJ3cml0ZSA/PyB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdyaXRlU3RhdHVzKGAke3doYXR9ICR7cGFja2FnZUlkZW50aXR5KHBrZ09yT3ZlcndyaXRlKX1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZSh0ZXh0OiBzdHJpbmcsIGV4dHJhPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLk9uZ29pbmc7XG4gICAgICAgIGxldCBkdXJhdGlvbjtcbiAgICAgICAgaWYgKHRoaXMuI3N0YXJ0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuI3N0YXJ0ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBkdXJhdGlvbiA9IFwiXCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkdXJhdGlvbiA9IHRoaXMuI2R1cmF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGV4dHJhID0gZXh0cmEgPT09IHVuZGVmaW5lZCA/IFwiXCIgOiBgICR7ZXh0cmF9YDtcbiAgICAgICAgdGhpcy4jb25nb2luZ1RleHQgPSBgJHt0ZXh0fSAke2R1cmF0aW9ufSR7ZXh0cmF9YDtcbiAgICAgICAgdGhpcy4jd3JpdGVPbmdvaW5nKCk7XG4gICAgfVxuXG4gICAgI3dyaXRlT25nb2luZygpIHtcbiAgICAgICAgaWYgKCF0aGlzLiNvbmdvaW5nVGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3VidGFzayA9IHRoaXMuI3N1YnRhc2tzLmxlbmd0aFxuICAgICAgICAgICAgPyBjb2xvcnMuZGltKGAgKCR7Y29sb3JzLmRpbSh0aGlzLiNzdWJ0YXNrc1t0aGlzLiNzdWJ0YXNrcy5sZW5ndGggLSAxXSl9KWApXG4gICAgICAgICAgICA6IFwiXCI7XG5cbiAgICAgICAgd3JpdGVTdGF0dXMoYCAgJHtjb2xvcnMueWVsbG93KHRoaXMuI3NwaW5uZXIpfSAke3RoaXMuI29uZ29pbmdUZXh0fSR7c3VidGFza31gLCB0cnVlKTtcbiAgICB9XG5cbiAgICBzdWNjZXNzKHRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IFByb2dyZXNzLlN0YXR1cy5TdWNjZXNzO1xuICAgICAgICB3cml0ZVN0YXR1cyhgICAke2NvbG9ycy5ncmVlbihcIlx1MjcxM1wiKX0gJHt0ZXh0fSAke3RoaXMuI2R1cmF0aW9ufWApO1xuICAgICAgICB0aGlzLiNzdGFydCA9IHRoaXMuI29uZ29pbmdUZXh0ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGZhaWx1cmUodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLkZhaWx1cmU7XG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7Y29sb3JzLnJlZEJyaWdodChcIlx1MjcxN1wiKX0gJHt0ZXh0fSAke3RoaXMuI2R1cmF0aW9ufWApO1xuICAgICAgICB0aGlzLiNzdGFydCA9IHRoaXMuI29uZ29pbmdUZXh0ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGluZm8obGFiZWw6IHN0cmluZywgdmFsdWU/OiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBsYWJlbCA9IGAke2NvbG9ycy5kaW0obGFiZWwpfSAke3ZhbHVlfWA7XG4gICAgICAgIH1cbiAgICAgICAgd3JpdGVTdGF0dXMoYCAgJHtjb2xvcnMuZGltKFwiXHUyMDIzXCIpfSAke2xhYmVsfWApO1xuICAgIH1cblxuICAgIHdhcm4odGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHN0ZG91dC53cml0ZShgICAgICR7Y29sb3JzLnllbGxvdyhcIldhcm5pbmc6XCIpfSAke3RleHR9XFxuYCk7XG4gICAgfVxuXG4gICAgc2h1dGRvd24oKSB7XG4gICAgICAgIGlmICh0aGlzLiNyZWZyZXNoSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy4jcmVmcmVzaEludGVydmFsKTtcbiAgICAgICAgICAgIHRoaXMuI3JlZnJlc2hJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB3cml0ZVN0YXR1cyhcIlwiKTtcbiAgICB9XG5cbiAgICByZWZyZXNoKCkge1xuICAgICAgICBpZiAodGhpcy4jdXBkYXRlU3Bpbm5lcigpKSB7XG4gICAgICAgICAgICB0aGlzLiN3cml0ZU9uZ29pbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHN1YnRhc2sodGV4dDogc3RyaW5nLCBmbjogKCkgPT4gUHJvbWlzZTx2b2lkPikge1xuICAgICAgICB0aGlzLiNzdWJ0YXNrcy5wdXNoKHRleHQpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBmbigpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy4jc3VidGFza3MucG9wKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdXBkYXRlU3Bpbm5lcigpIHtcbiAgICAgICAgaWYgKCFzdGRvdXQuaXNUVFkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdpbmRvdyA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyBTUElOTkVSX0lOVEVSVkFMKTtcbiAgICAgICAgaWYgKHRoaXMuI3NwaW5uZXJXaW5kb3cgPT09IHdpbmRvdykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI3NwaW5uZXJXaW5kb3cgPSB3aW5kb3c7XG5cbiAgICAgICAgdGhpcy4jc3Bpbm5lclBvc2l0aW9uID0gKHRoaXMuI3NwaW5uZXJQb3NpdGlvbiArIDEpICUgU1BJTk5FUi5sZW5ndGg7XG4gICAgICAgIHRoaXMuI3NwaW5uZXIgPSBTUElOTkVSW3RoaXMuI3NwaW5uZXJQb3NpdGlvbl07XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXN5bmMgcnVuPFQ+KHdoYXQ6IHN0cmluZywgZm46ICgpID0+IFQgfCBQcm9taXNlPFQ+KSB7XG4gICAgICAgIHRoaXMudXBkYXRlKHdoYXQpO1xuICAgICAgICBsZXQgcmVzdWx0OiBUO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gYXdhaXQgZm4oKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5mYWlsdXJlKHdoYXQpO1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN1Y2Nlc3Mod2hhdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZ2V0ICNkdXJhdGlvbigpIHtcbiAgICAgICAgbGV0IG1zID0gdGhpcy4jc3RhcnQgPyBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMuI3N0YXJ0IDogMDtcbiAgICAgICAgaWYgKG1zIDwgMTAwMCkge1xuICAgICAgICAgICAgbXMgPSBNYXRoLnJvdW5kKG1zIC8gMTApIC8gMTAwO1xuICAgICAgICB9IGVsc2UgaWYgKG1zIDwgMTAwMDApIHtcbiAgICAgICAgICAgIG1zID0gTWF0aC5yb3VuZChtcyAvIDEwMCkgLyAxMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1zID0gTWF0aC50cnVuYyhtcyAvIDEwMDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb2xvcnMuZGltLnllbGxvdyhgKCR7bXN9cylgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUHJvZ3Jlc3Mge1xuICAgIGV4cG9ydCBlbnVtIFN0YXR1cyB7XG4gICAgICAgIFN0YXJ0dXAgPSBcInN0YXJ0dXBcIixcbiAgICAgICAgT25nb2luZyA9IFwib25nb2luZ1wiLFxuICAgICAgICBTdWNjZXNzID0gXCJzdWNjZXNzXCIsXG4gICAgICAgIEZhaWx1cmUgPSBcImZhaWx1cmVcIixcbiAgICB9XG59XG5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yNjIzODU1My9ob3ctY2FuLWktdHJ1bmNhdGUtYS1zdHJpbmctdG8tYS1tYXhpbXVtLWxlbmd0aC13aXRob3V0LWJyZWFraW5nLWFuc2ktZXNjYXBlLWNvZFxuLy8gVE9ETyAtIHRoaXMgZnVuY3Rpb24gZG9lc24ndCBzZWVtIGVudGlyZWx5IGNvcnJlY3QsIHN0aWxsIHNlZW1zIHRvIHRydW5jYXRlIHRvbyBtdWNoXG4vLyBDcm9wIHRoZSBsZW5ndGggb2YgbGluZXMsIEFOU0kgZXNjYXBlIGNvZGUgYXdhcmVcbi8vIEFsd2F5cyBvdXRwdXRzIGV2ZXJ5IGVzY2FwZSBjaGFyLCByZWdhcmRsZXNzIG9mIGxlbmd0aCAoc28gd2UgYWx3YXlzIGVuZCB1cCB3aXRoIGEgc2FuZSBzdGF0ZSlcbi8vIFZpc2libGUgY2hhcmFjdGVycyBhcmUgZmlsdGVyZWQgb3V0IG9uY2UgbGVuZ3RoIGlzIGV4Y2VlZGVkXG5mdW5jdGlvbiBmaWx0ZXJBbnNpKHN0cjogc3RyaW5nLCBsZW46IG51bWJlcikge1xuICAgIGlmICghbGVuIHx8IGxlbiA8IDEwKSByZXR1cm4gc3RyOyAvLyBwcm9iYWJseSBub3QgYSB2YWxpZCBjb25zb2xlIC0tIHNlbmQgYmFjayB0aGUgd2hvbGUgbGluZVxuICAgIGxldCBjb3VudCA9IDAsIC8vIG51bWJlciBvZiB2aXNpYmxlIGNoYXJzIG9uIGxpbmUgc28gZmFyXG4gICAgICAgIGVzYyA9IGZhbHNlLCAvLyBpbiBhbiBlc2NhcGUgc2VxdWVuY2VcbiAgICAgICAgbG9uZ2VzYyA9IGZhbHNlOyAvLyBpbiBhIG11bHRpLWNoYXJhY3RlciBlc2NhcGUgc2VxdWVuY2VcbiAgICBsZXQgb3V0cCA9IHRydWU7IC8vIHNob3VsZCBvdXRwdXQgdGhpcyBjaGFyYWN0ZXJcbiAgICByZXR1cm4gc3RyXG4gICAgICAgIC5zcGxpdChcIlwiKVxuICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uIChjKSB7XG4gICAgICAgICAgICAvLyBmaWx0ZXIgY2hhcmFjdGVycy4uLlxuICAgICAgICAgICAgaWYgKGVzYyAmJiAhbG9uZ2VzYyAmJiBjID09IFwiW1wiKSBsb25nZXNjID0gdHJ1ZTsgLy8gaGF2ZSBzZWVuIGFuIGVzY2FwZSwgbm93ICdbJywgc3RhcnQgbXVsdGktY2hhciBlc2NhcGVcbiAgICAgICAgICAgIGlmIChjID09IFwiXFx4MWJcIikgZXNjID0gdHJ1ZTsgLy8gc3RhcnQgb2YgZXNjYXBlIHNlcXVlbmNlXG5cbiAgICAgICAgICAgIG91dHAgPSBjb3VudCA8IGxlbiB8fCBlc2M7IC8vIGlmIGxlbmd0aCBleGNlZWRlZCwgZG9uJ3Qgb3V0cHV0IG5vbi1lc2NhcGUgY2hhcnNcbiAgICAgICAgICAgIGlmICghZXNjICYmICFsb25nZXNjKSBjb3VudCsrOyAvLyBpZiBub3QgaW4gZXNjYXBlLCBjb3VudCB2aXNpYmxlIGNoYXJcblxuICAgICAgICAgICAgaWYgKGVzYyAmJiAhbG9uZ2VzYyAmJiBjICE9IFwiXFx4MWJcIikgZXNjID0gZmFsc2U7IC8vIG91dCBvZiBzaW5nbGUgY2hhciBlc2NhcGVcbiAgICAgICAgICAgIGlmIChsb25nZXNjICYmIGMgIT0gXCJbXCIgJiYgYyA+PSBcIkBcIiAmJiBjIDw9IFwiflwiKSB7XG4gICAgICAgICAgICAgICAgZXNjID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgbG9uZ2VzYyA9IGZhbHNlO1xuICAgICAgICAgICAgfSAvLyBlbmQgb2YgbXVsdGktY2hhciBlc2NhcGVcblxuICAgICAgICAgICAgcmV0dXJuIG91dHA7IC8vIHJlc3VsdCBmb3IgZmlsdGVyXG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKFwiXCIpOyAvLyBnbHVlIGNoYXJzIGJhY2sgaW50byBzdHJpbmdcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxPQUFPLFlBQVk7QUFDbkIsU0FBUyxRQUFRLGNBQWM7QUFHL0IsTUFBTSxRQUFRO0FBQ2QsTUFBTSxVQUFVO0FBQ2hCLE1BQU0sbUJBQW1CO0FBRXpCLFNBQVMsZ0JBQWdCLEtBQWM7QUFDbkMsTUFBSSxXQUFXLE9BQU8sS0FBSyxJQUFJLEtBQUssSUFBSTtBQUN4QyxNQUFJLElBQUksS0FBSyxTQUFTO0FBQ2xCLGVBQVcsR0FBRyxRQUFRLElBQUksSUFBSSxLQUFLLE9BQU87QUFBQSxFQUM5QztBQUNBLFNBQU87QUFDWDtBQUtBLE1BQU0s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
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvZ3Jlc3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjUgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgc3RkZXJyLCBzdGRvdXQgfSBmcm9tIFwicHJvY2Vzc1wiO1xuaW1wb3J0IHsgc2NyZWVuIH0gZnJvbSBcIi4uL2Fuc2ktdGV4dC9zY3JlZW4uanNcIjtcbmltcG9ydCB7IHN0ZCB9IGZyb20gXCIuLi9hbnNpLXRleHQvc3RkLmpzXCI7XG5pbXBvcnQgeyBhbnNpIH0gZnJvbSBcIi4uL2Fuc2ktdGV4dC90ZXh0LWJ1aWxkZXIuanNcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwiLi9wYWNrYWdlLmpzXCI7XG5cbmNvbnN0IFNQSU5ORVIgPSBcIlx1MjVEMFx1MjVEM1x1MjVEMVx1MjVEMlwiOyAvL1wiXHUyODVDXHUyODE0XHUyODIyXHUyOEEzXCI7IC8vW1wiXHUyNkFCXHVGRTBFXCIsIFwiXHUyNkFBXHVGRTBFXCJdOyBcIlx1Mjg0OFx1MjgxNFx1MjgyMlx1Mjg4MVwiO1xuY29uc3QgU1BJTk5FUl9JTlRFUlZBTCA9IDEwMDtcblxuZnVuY3Rpb24gcGFja2FnZUlkZW50aXR5KHBrZzogUGFja2FnZSkge1xuICAgIGxldCBpZGVudGl0eSA9IGFuc2kuYm9sZChwa2cuanNvbi5uYW1lKS50b1N0cmluZygpO1xuICAgIGlmIChwa2cuanNvbi52ZXJzaW9uKSB7XG4gICAgICAgIGlkZW50aXR5ID0gYCR7aWRlbnRpdHl9QCR7cGtnLmpzb24udmVyc2lvbn1gO1xuICAgIH1cbiAgICByZXR1cm4gaWRlbnRpdHk7XG59XG5cbi8qKlxuICogSW50ZXJjZXB0IHdyaXRlcyB0byBzdGRlcnIgYW5kIHN0ZG91dCBzbyB3ZSBjYW4gZW5zdXJlIG91ciB1cGRhdGVzIGFwcGVhciBvbiBkaWZmZXJlbnQgbGluZXMgZnJvbSBvdGhlciBvdXRwdXQuXG4gKi9cbmNvbnN0IHdyaXRlU3RhdHVzID0gKCgpID0+IHtcbiAgICBsZXQgbGFzdFN0YXR1czogdW5kZWZpbmVkIHwgc3RyaW5nO1xuICAgIGxldCBuZWVkTmV3bGluZSA9IGZhbHNlO1xuXG4gICAgZnVuY3Rpb24gaW50ZXJjZXB0KHN0cmVhbTogTm9kZUpTLldyaXRlU3RyZWFtKSB7XG4gICAgICAgIGNvbnN0IGFjdHVhbFdyaXRlID0gc3RyZWFtLndyaXRlO1xuICAgICAgICBzdHJlYW0ud3JpdGUgPSAocGF5bG9hZDogVWludDhBcnJheSB8IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxhc3RTdGF0dXMpIHtcbiAgICAgICAgICAgICAgICBhY3R1YWxXcml0ZS5jYWxsKHN0cmVhbSwgXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSZXF1aXJlIGEgbmV3bGluZSBmb3Igc3RhdHVzIHVwZGF0ZXMgYW55IHRpbWUgdGhlIGN1cnNvciBkb2VzIG5vdCBlbmQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmVcbiAgICAgICAgICAgIG5lZWROZXdsaW5lID0gcGF5bG9hZFtwYXlsb2FkLmxlbmd0aCAtIDFdICE9PSBcIlxcblwiICYmIHBheWxvYWRbcGF5bG9hZC5sZW5ndGggLSAxXSAhPT0gXCJcXHJcIjtcblxuICAgICAgICAgICAgcmV0dXJuIGFjdHVhbFdyaXRlLmNhbGwoc3RyZWFtLCBwYXlsb2FkLCAuLi5wYXJhbXMpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGludGVyY2VwdChzdGRvdXQpO1xuICAgIGludGVyY2VwdChzdGRlcnIpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHdyaXRlU3RhdHVzKHRleHQ6IHN0cmluZywgd2lsbE92ZXJ3cml0ZSA9IGZhbHNlKSB7XG4gICAgICAgIHRleHQgKz0gd2lsbE92ZXJ3cml0ZSA/IGAke3NjcmVlbi5lcmFzZS50b0VvbH1cXHJgIDogYCR7c2NyZWVuLmVyYXNlLnRvRW9sfVxcbmA7XG4gICAgICAgIGlmICh0ZXh0ID09PSBsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzdGQub3V0LnN0YXRlKHsgYnVmZmVyOiB0cnVlIH0sICgpID0+IHtcbiAgICAgICAgICAgIGlmIChsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmVlZE5ld2xpbmUgJiYgIXRleHQuc3RhcnRzV2l0aChcIlxcblwiKSkge1xuICAgICAgICAgICAgICAgIHN0ZC5vdXQoXCJcXG5cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0ZC5vdXQud3JpdGVUcnVuY2F0ZWQodGV4dCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxhc3RTdGF0dXMgPSB0ZXh0O1xuICAgIH07XG59KSgpO1xuXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3Mge1xuICAgIHN0YXR1cyA9IFByb2dyZXNzLlN0YXR1cy5TdGFydHVwO1xuICAgICNvbmdvaW5nVGV4dD86IHN0cmluZztcbiAgICAjc3RhcnQ/OiBudW1iZXI7XG4gICAgI3NwaW5uZXIgPSBcIlx1MjlEN1wiO1xuICAgICNyZWZyZXNoSW50ZXJ2YWw/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gICAgI3NwaW5uZXJQb3NpdGlvbiA9IDA7XG4gICAgI3NwaW5uZXJXaW5kb3c/OiBudW1iZXI7XG4gICAgI3N1YnRhc2tzID0gQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgZW1waGFzaXplKHRleHQ6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGFuc2kuYm9sZChgJHt0ZXh0fWApO1xuICAgIH1cblxuICAgIGRlZW1waGFzaXplKHRleHQ6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGFuc2kuZGltKGAke3RleHR9YCk7XG4gICAgfVxuXG4gICAgc2tpcCh3aHk6IHN0cmluZywgcGtnOiBQYWNrYWdlKSB7XG4gICAgICAgIHN0ZC5vdXQud3JpdGUoYW5zaS5kaW0oYFNraXAgJHtwYWNrYWdlSWRlbnRpdHkocGtnKX06ICR7d2h5fVxcblxcbmApKTtcbiAgICB9XG5cbiAgICBzdGFydHVwKHdoYXQ6IHN0cmluZywgcGtnT3JPdmVyd3JpdGU/OiBQYWNrYWdlIHwgYm9vbGVhbikge1xuICAgICAgICBpZiAocHJvY2Vzcy5zdGRvdXQuaXNUVFkpIHtcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZVNwaW5uZXIoKTtcbiAgICAgICAgICAgIHRoaXMuI3JlZnJlc2hJbnRlcnZhbCA9IHNldEludGVydmFsKHRoaXMucmVmcmVzaC5iaW5kKHRoaXMpLCBTUElOTkVSX0lOVEVSVkFMKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLlN0YXJ0dXA7XG4gICAgICAgIGlmIChwa2dPck92ZXJ3cml0ZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiBwa2dPck92ZXJ3cml0ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICAgIHdyaXRlU3RhdHVzKHdoYXQsIHBrZ09yT3ZlcndyaXRlID8/IHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd3JpdGVTdGF0dXMoYCR7d2hhdH0gJHtwYWNrYWdlSWRlbnRpdHkocGtnT3JPdmVyd3JpdGUpfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlKHRleHQ6IHN0cmluZywgZXh0cmE/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBQcm9ncmVzcy5TdGF0dXMuT25nb2luZztcbiAgICAgICAgbGV0IGR1cmF0aW9uO1xuICAgICAgICBpZiAodGhpcy4jc3RhcnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jc3RhcnQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgIGR1cmF0aW9uID0gXCJcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGR1cmF0aW9uID0gdGhpcy4jZHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgZXh0cmEgPSBleHRyYSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IGAgJHtleHRyYX1gO1xuICAgICAgICB0aGlzLiNvbmdvaW5nVGV4dCA9IGAke3RleHR9ICR7ZHVyYXRpb259JHtleHRyYX1gO1xuICAgICAgICB0aGlzLiN3cml0ZU9uZ29pbmcoKTtcbiAgICB9XG5cbiAgICAjd3JpdGVPbmdvaW5nKCkge1xuICAgICAgICBpZiAoIXRoaXMuI29uZ29pbmdUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdWJ0YXNrID0gdGhpcy4jc3VidGFza3MubGVuZ3RoID8gYW5zaS5kaW0oYCAoJHt0aGlzLiNzdWJ0YXNrc1t0aGlzLiNzdWJ0YXNrcy5sZW5ndGggLSAxXX0pYCkgOiBcIlwiO1xuXG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7YW5zaS55ZWxsb3codGhpcy4jc3Bpbm5lcil9ICR7dGhpcy4jb25nb2luZ1RleHR9JHtzdWJ0YXNrfWAsIHRydWUpO1xuICAgIH1cblxuICAgIHN1Y2Nlc3ModGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLlN1Y2Nlc3M7XG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7YW5zaS5ncmVlbihcIlx1MjcxM1wiKX0gJHt0ZXh0fSAke3RoaXMuI2R1cmF0aW9ufWApO1xuICAgICAgICB0aGlzLiNzdGFydCA9IHRoaXMuI29uZ29pbmdUZXh0ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGZhaWx1cmUodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLkZhaWx1cmU7XG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7YW5zaS5icmlnaHQucmVkKFwiXHUyNzE3XCIpfSAke3RleHR9ICR7dGhpcy4jZHVyYXRpb259YCk7XG4gICAgICAgIHRoaXMuI3N0YXJ0ID0gdGhpcy4jb25nb2luZ1RleHQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaW5mbyhsYWJlbDogc3RyaW5nLCB2YWx1ZT86IGFueSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGxhYmVsID0gYCR7YW5zaS5kaW0obGFiZWwpfSAke3ZhbHVlfWA7XG4gICAgICAgIH1cbiAgICAgICAgd3JpdGVTdGF0dXMoYCAgJHthbnNpLmRpbShcIlx1MjAyM1wiKX0gJHtsYWJlbH1gKTtcbiAgICB9XG5cbiAgICB3YXJuKHRleHQ6IHN0cmluZykge1xuICAgICAgICBzdGQub3V0LndyaXRlKGAgICAgJHthbnNpLnllbGxvdyhcIldhcm5pbmc6XCIpfSAke3RleHR9XFxuYCk7XG4gICAgfVxuXG4gICAgc2h1dGRvd24oKSB7XG4gICAgICAgIGlmICh0aGlzLiNyZWZyZXNoSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy4jcmVmcmVzaEludGVydmFsKTtcbiAgICAgICAgICAgIHRoaXMuI3JlZnJlc2hJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB3cml0ZVN0YXR1cyhcIlwiKTtcbiAgICB9XG5cbiAgICByZWZyZXNoKCkge1xuICAgICAgICBpZiAodGhpcy4jdXBkYXRlU3Bpbm5lcigpKSB7XG4gICAgICAgICAgICB0aGlzLiN3cml0ZU9uZ29pbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHN1YnRhc2sodGV4dDogc3RyaW5nLCBmbjogKCkgPT4gUHJvbWlzZTx2b2lkPikge1xuICAgICAgICB0aGlzLiNzdWJ0YXNrcy5wdXNoKHRleHQpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBmbigpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy4jc3VidGFza3MucG9wKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdXBkYXRlU3Bpbm5lcigpIHtcbiAgICAgICAgaWYgKCFzdGRvdXQuaXNUVFkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdpbmRvdyA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyBTUElOTkVSX0lOVEVSVkFMKTtcbiAgICAgICAgaWYgKHRoaXMuI3NwaW5uZXJXaW5kb3cgPT09IHdpbmRvdykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI3NwaW5uZXJXaW5kb3cgPSB3aW5kb3c7XG5cbiAgICAgICAgdGhpcy4jc3Bpbm5lclBvc2l0aW9uID0gKHRoaXMuI3NwaW5uZXJQb3NpdGlvbiArIDEpICUgU1BJTk5FUi5sZW5ndGg7XG4gICAgICAgIHRoaXMuI3NwaW5uZXIgPSBTUElOTkVSW3RoaXMuI3NwaW5uZXJQb3NpdGlvbl07XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXN5bmMgcnVuPFQ+KHdoYXQ6IHN0cmluZywgZm46ICgpID0+IFQgfCBQcm9taXNlPFQ+KSB7XG4gICAgICAgIHRoaXMudXBkYXRlKHdoYXQpO1xuICAgICAgICBsZXQgcmVzdWx0OiBUO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gYXdhaXQgZm4oKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5mYWlsdXJlKHdoYXQpO1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN1Y2Nlc3Mod2hhdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZ2V0ICNkdXJhdGlvbigpIHtcbiAgICAgICAgbGV0IG1zID0gdGhpcy4jc3RhcnQgPyBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMuI3N0YXJ0IDogMDtcbiAgICAgICAgaWYgKG1zIDwgMTAwMCkge1xuICAgICAgICAgICAgbXMgPSBNYXRoLnJvdW5kKG1zIC8gMTApIC8gMTAwO1xuICAgICAgICB9IGVsc2UgaWYgKG1zIDwgMTAwMDApIHtcbiAgICAgICAgICAgIG1zID0gTWF0aC5yb3VuZChtcyAvIDEwMCkgLyAxMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1zID0gTWF0aC50cnVuYyhtcyAvIDEwMDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHthbnNpLmRpbS55ZWxsb3d9KCR7bXN9cykke2Fuc2kubm90LmRpbS5ub3QueWVsbG93fWA7XG4gICAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFByb2dyZXNzIHtcbiAgICBleHBvcnQgZW51bSBTdGF0dXMge1xuICAgICAgICBTdGFydHVwID0gXCJzdGFydHVwXCIsXG4gICAgICAgIE9uZ29pbmcgPSBcIm9uZ29pbmdcIixcbiAgICAgICAgU3VjY2VzcyA9IFwic3VjY2Vzc1wiLFxuICAgICAgICBGYWlsdXJlID0gXCJmYWlsdXJlXCIsXG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLFNBQVMsUUFBUSxjQUFjO0FBQy9CLFNBQVMsY0FBYztBQUN2QixTQUFTLFdBQVc7QUFDcEIsU0FBUyxZQUFZO0FBR3JCLE1BQU0sVUFBVTtBQUNoQixNQUFNLG1CQUFtQjtBQUV6QixTQUFTLGdCQUFnQixLQUFjO0FBQ25DLE1BQUksV0FBVyxLQUFLLEtBQUssSUFBSSxLQUFLLElBQUksRUFBRSxTQUFTO0FBQ2pELE1BQUks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LEtBQUssZ0JBQWdCO0FBQ25DLFdBQUssbUJBQW1CO0FBQUEsSUFDNUI7QUFDQSxnQkFBWSxFQUFFO0FBQUEsRUFDbEI7QUFBQSxFQUVBLFVBQVU7QUFDTixRQUFJLEtBQUssZUFBZSxHQUFHO0FBQ3ZCLFdBQUssY0FBYztBQUFBLElBQ3ZCO0FBQUEsRUFDSjtBQUFBLEVBRUEsTUFBTSxRQUFRLE1BQWMsSUFBeUI7QUFDakQsU0FBSyxVQUFVLEtBQUssSUFBSTtBQUV4QixRQUFJO0FBQ0EsWUFBTSxHQUFHO0FBQUEsSUFDYixVQUFFO0FBQ0UsV0FBSyxVQUFVLElBQUk7QUFBQSxJQUN2QjtBQUFBLEVBQ0o7QUFBQSxFQUVBLGlCQUFpQjtBQUNiLFFBQUksQ0FBQyxPQUFPLE9BQU87QUFDZixhQUFPO0FBQUEsSUFDWDtBQUVBLFVBQU0sU0FBUyxLQUFLLE9BQU0sb0JBQUksS0FBSyxHQUFFLFFBQVEsSUFBSSxnQkFBZ0I7QUFDakUsUUFBSSxLQUFLLG1CQUFtQixRQUFRO0FBQ2hDLGFBQU87QUFBQSxJQUNYO0FBQ0EsU0FBSyxpQkFBaUI7QUFFdEIsU0FBSyxvQkFBb0IsS0FBSyxtQkFBbUIsS0FBSyxRQUFRO0FBQzlELFNBQUssV0FBVyxRQUFRLEtBQUssZ0JBQWdCO0FBRTdDLFdBQU87QUFBQSxFQUNYO0FBQUEsRUFFQSxNQUFNLElBQU8sTUFBYyxJQUEwQjtBQUNqRCxTQUFLLE9BQU8sSUFBSTtBQUNoQixRQUFJO0FBQ0osUUFBSTtBQUNBLGVBQVMsTUFBTSxHQUFHO0FBQUEsSUFDdEIsU0FBUyxHQUFHO0FBQ1IsV0FBSyxRQUFRLElBQUk7QUFDakIsWUFBTTtBQUFBLElBQ1Y7QUFDQSxTQUFLLFFBQVEsSUFBSTtBQUNqQixXQUFPO0FBQUEsRUFDWDtBQUFBLEVBRUEsSUFBSSxZQUFZO0FBQ1osUUFBSSxLQUFLLEtBQUssVUFBUyxvQkFBSSxLQUFLLEdBQUUsUUFBUSxJQUFJLEtBQUssU0FBUztBQUM1RCxRQUFJLEtBQUssS0FBTTtBQUNYLFdBQUssS0FBSyxNQUFNLEtBQUssRUFBRSxJQUFJO0FBQUEsSUFDL0IsV0FBVyxLQUFLLEtBQU87QUFDbkIsV0FBSyxLQUFLLE1BQU0sS0FBSyxHQUFHLElBQUk7QUFBQSxJQUNoQyxPQUFPO0FBQ0gsV0FBSyxLQUFLLE1BQU0sS0FBSyxHQUFJO0FBQUEsSUFDN0I7QUFDQSxXQUFPLEdBQUcsS0FBSyxJQUFJLE1BQU0sSUFBSSxFQUFFLEtBQUssS0FBSyxJQUFJLElBQUksSUFBSSxNQUFNO0FBQUEsRUFDL0Q7QUFDSjtBQUFBLENBRU8sQ0FBVUMsY0FBVjtBQUNJLE1BQUs7QUFBTCxJQUFLQyxZQUFMO0FBQ0gsSUFBQUEsUUFBQSxhQUFVO0FBQ1YsSUFBQUEsUUFBQSxhQUFVO0FBQ1YsSUFBQUEsUUFBQSxhQUFVO0FBQ1YsSUFBQUEsUUFBQSxhQUFVO0FBQUEsS0FKRixTQUFBRCxVQUFBLFdBQUFBLFVBQUE7QUFBQSxHQURDOyIsCiAgIm5hbWVzIjogWyJ3cml0ZVN0YXR1cyIsICJQcm9ncmVzcyIsICJTdGF0dXMiXQp9Cg==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/progress.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["writeStatus", "Progress", "Status"]
|
|
6
6
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import colors from "ansi-colors";
|
|
7
6
|
import { existsSync, readFileSync } from "fs";
|
|
8
7
|
import { cp, writeFile } from "fs/promises";
|
|
8
|
+
import { ansi } from "../ansi-text/text-builder.js";
|
|
9
9
|
import { Graph } from "../building/graph.js";
|
|
10
10
|
import { execute } from "../running/execute.js";
|
|
11
11
|
const VERSION_FILE = "version.txt";
|
|
@@ -39,7 +39,7 @@ class Versioner {
|
|
|
39
39
|
const graph = await Graph.load(this.#pkg);
|
|
40
40
|
this.#members = new Set(graph.nodes.map((node) => node.pkg.name));
|
|
41
41
|
for (const node of graph.nodes) {
|
|
42
|
-
const what = `Apply ${
|
|
42
|
+
const what = `Apply ${ansi.bold(this.#definiteVersion)} to ${ansi.bold(node.pkg.name)}`;
|
|
43
43
|
progress?.update(what);
|
|
44
44
|
if (this.#applyOne(node.pkg)) {
|
|
45
45
|
progress?.success(what);
|
|
@@ -112,4 +112,4 @@ class Versioner {
|
|
|
112
112
|
export {
|
|
113
113
|
Versioner
|
|
114
114
|
};
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZlcnNpb25pbmcvdmVyc2lvbmVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI1IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IGV4aXN0c1N5bmMsIHJlYWRGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgY3AsIHdyaXRlRmlsZSB9IGZyb20gXCJmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgYW5zaSB9IGZyb20gXCIuLi9hbnNpLXRleHQvdGV4dC1idWlsZGVyLmpzXCI7XG5pbXBvcnQgeyBHcmFwaCB9IGZyb20gXCIuLi9idWlsZGluZy9ncmFwaC5qc1wiO1xuaW1wb3J0IHsgZXhlY3V0ZSB9IGZyb20gXCIuLi9ydW5uaW5nL2V4ZWN1dGUuanNcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwiLi4vdXRpbC9wYWNrYWdlLmpzXCI7XG5pbXBvcnQgeyBQcm9ncmVzcyB9IGZyb20gXCIuLi91dGlsL3Byb2dyZXNzLmpzXCI7XG5cbmNvbnN0IFZFUlNJT05fRklMRSA9IFwidmVyc2lvbi50eHRcIjtcblxuZXhwb3J0IGNsYXNzIFZlcnNpb25lciB7XG4gICAgI3BrZzogUGFja2FnZTtcbiAgICAjdmVyc2lvbj86IHN0cmluZztcbiAgICAjbWVtYmVycyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgZ2V0IHBrZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3BrZztcbiAgICB9XG5cbiAgICBnZXQgdmVyc2lvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3ZlcnNpb247XG4gICAgfVxuXG4gICAgZ2V0IGFwcGxpZWRWZXJzaW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jcGtnLmpzb24udmVyc2lvbjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwa2c6IFBhY2thZ2UsIHZlcnNpb24/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy4jcGtnID0gcGtnLndvcmtzcGFjZTtcblxuICAgICAgICBpZiAodmVyc2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB2ZXJzaW9uID0gdGhpcy4jcmVhZFZlcnNpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2ZXJzaW9uICYmICF2ZXJzaW9uLm1hdGNoKC9eKD86XFxkK1xcLlxcZCtcXC5cXGQrKD86LVthLXowLTkuLV0rKT98W2Etel0rKSQvKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWZXJzaW9uICR7dmVyc2lvbn0gaXMgaW52YWxpZCAobXVzdCBiZSBzZW1hbnRpYyBvciBzaW5nbGUgbG93ZXJjYXNlIHdvcmQpYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLiN2ZXJzaW9uID0gdmVyc2lvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzZXQoKSB7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZSh0aGlzLiN2ZXJzaW9uRmlsZSwgdGhpcy4jZGVmaW5pdGVWZXJzaW9uKTtcbiAgICB9XG5cbiAgICBhc3luYyBhcHBseShwcm9ncmVzcz86IFByb2dyZXNzKSB7XG4gICAgICAgIGNvbnN0IGdyYXBoID0gYXdhaXQgR3JhcGgubG9hZCh0aGlzLiNwa2cpO1xuICAgICAgICB0aGlzLiNtZW1iZXJzID0gbmV3IFNldChncmFwaC5ub2Rlcy5tYXAobm9kZSA9PiBub2RlLnBrZy5uYW1lKSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIGdyYXBoLm5vZGVzKSB7XG4gICAgICAgICAgICBjb25zdCB3aGF0ID0gYEFwcGx5ICR7YW5zaS5ib2xkKHRoaXMuI2RlZmluaXRlVmVyc2lvbil9IHRvICR7YW5zaS5ib2xkKG5vZGUucGtnLm5hbWUpfWA7XG4gICAgICAgICAgICBwcm9ncmVzcz8udXBkYXRlKHdoYXQpO1xuICAgICAgICAgICAgaWYgKHRoaXMuI2FwcGx5T25lKG5vZGUucGtnKSkge1xuICAgICAgICAgICAgICAgIHByb2dyZXNzPy5zdWNjZXNzKHdoYXQpO1xuICAgICAgICAgICAgICAgIGF3YWl0IG5vZGUucGtnLnNhdmUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcHJvZ3Jlc3M/LnN1Y2Nlc3MoYCR7d2hhdH0gKG5vIGNoYW5nZSlgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IGNwKHRoaXMuI3BrZy5yZXNvbHZlKFwiTElDRU5TRVwiKSwgbm9kZS5wa2cucmVzb2x2ZShcIkxJQ0VOU0VcIikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgdGFnKCkge1xuICAgICAgICBhd2FpdCBleGVjdXRlKFwiZ2l0XCIsIFtcInRhZ1wiLCBcIi1mXCIsIGB2JHt0aGlzLiNkZWZpbml0ZVZlcnNpb259YF0pO1xuICAgIH1cblxuICAgIGdldCAjZGVmaW5pdGVWZXJzaW9uKCkge1xuICAgICAgICBpZiAodGhpcy4jdmVyc2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHZlcnNpb24gc3VwcGxpZWQgYW5kICR7dGhpcy4jdmVyc2lvbkZpbGV9IGRvZXMgbm90IGV4aXN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuI3ZlcnNpb247XG4gICAgfVxuXG4gICAgZ2V0ICN2ZXJzaW9uRmlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3BrZy5yZXNvbHZlKFZFUlNJT05fRklMRSk7XG4gICAgfVxuXG4gICAgI3JlYWRWZXJzaW9uKCkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uRmlsZSA9IHRoaXMuI3ZlcnNpb25GaWxlO1xuICAgICAgICBpZiAoIWV4aXN0c1N5bmModmVyc2lvbkZpbGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IHJlYWRGaWxlU3luYyh2ZXJzaW9uRmlsZSkudG9TdHJpbmcoKS50cmltKCk7XG4gICAgICAgIGlmICh2ZXJzaW9uLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWZXJzaW9uIGZpbGUgJHt2ZXJzaW9uRmlsZX0gaXMgZW1wdHlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgIH1cblxuICAgICNhcHBseU9uZShwa2c6IFBhY2thZ2UpIHtcbiAgICAgICAgY29uc3QganNvbiA9IHBrZy5qc29uO1xuICAgICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChqc29uLnZlcnNpb24gIT09IHRoaXMuI2RlZmluaXRlVmVyc2lvbikge1xuICAgICAgICAgICAganNvbi52ZXJzaW9uID0gdGhpcy4jZGVmaW5pdGVWZXJzaW9uO1xuICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBqc29uKSB7XG4gICAgICAgICAgICBpZiAoa2V5ICE9PSBcImRlcGVuZGVuY2llc1wiICYmICFrZXkuZW5kc1dpdGgoXCJEZXBlbmRlbmNpZXNcIikpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZGVwcyA9IGpzb25ba2V5XTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZGVwcyAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy4jYXBwbHlUb0RlcHMoZGVwcykpIHtcbiAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjaGFuZ2VkO1xuICAgIH1cblxuICAgICNhcHBseVRvRGVwcyhkZXBzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSB0aGlzLiNkZWZpbml0ZVZlcnNpb247XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRlcHMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLiNtZW1iZXJzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRlcHNba2V5XSA9PT0gdmVyc2lvbikge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGVwc1trZXldID0gdGhpcy4jZGVmaW5pdGVWZXJzaW9uO1xuICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGFuZ2VkO1xuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLFlBQVksb0JBQW9CO0FBQ3pDLFNBQVMsSUFBSSxpQkFBaUI7QUFDOUIsU0FBUyxZQUFZO0FBQ3JCLFNBQVMsYUFBYTtBQUN0QixTQUFTLGVBQWU7QUFJeEIsTUFBTSxlQUFlO0FBRWQsTUFBTSxVQUFVO0FBQUEsRUFDbkI7QUFBQSxFQUNBO0FBQUEsRUFDQSxXQUFXLG9CQUFJLElBQVk7QUFBQSxFQUUzQixJQUFJLE1BQU07QUFDTixXQUFPLEtBQUs7QUFBQSxFQUNoQjtBQUFBLEVBRUEsSUFBSSxVQUFVO0FBQ1YsV0FBTyxLQUFLO0FBQUEsRUFDaEI7QUFBQSxFQUVBLElBQUksaUJBQWlCO0FBQ2pCLFdBQU8sS0FBSyxLQUFLLEtBQUs7QUFBQSxFQUMxQjtBQUFBLEVBRUEsWUFBWSxLQUFjLFNBQWtCO0FBQ3hDLFNBQUssT0FBTyxJQUFJO0FBRWhCLFFBQUksWUFBWSxRQUFXO0FBQ3ZCLGdCQUFVLEtBQUssYUFBYTtBQUFBLElBQ2hDO0FBRUEsUUFBSSxX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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/versioning/versioner.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/tools",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.3-alpha.0-20250205-ad3416ca3",
|
|
4
4
|
"description": "Matter.js tooling",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -25,6 +25,16 @@
|
|
|
25
25
|
"default": "./dist/cjs/index.js"
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
|
+
"./ansi-text": {
|
|
29
|
+
"import": {
|
|
30
|
+
"types": "./dist/esm/ansi-text/index.d.ts",
|
|
31
|
+
"default": "./dist/esm/ansi-text/index.js"
|
|
32
|
+
},
|
|
33
|
+
"require": {
|
|
34
|
+
"types": "./dist/cjs/ansi-text/index.d.ts",
|
|
35
|
+
"default": "./dist/cjs/ansi-text/index.js"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
28
38
|
"./bootstrap": {
|
|
29
39
|
"import": {
|
|
30
40
|
"default": "./src/util/bootstrap.mjs"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export namespace Chars {
|
|
8
|
+
export const breakingSpace = new Set([
|
|
9
|
+
" ", // Space
|
|
10
|
+
"\u1680", // Ask the Irish
|
|
11
|
+
"\u200b", // Zero-width space
|
|
12
|
+
"\u2000",
|
|
13
|
+
"\u2001",
|
|
14
|
+
"\u2002",
|
|
15
|
+
"\u2003",
|
|
16
|
+
"\u2004",
|
|
17
|
+
"\u2005",
|
|
18
|
+
"\u2006",
|
|
19
|
+
"\u2007",
|
|
20
|
+
"\u2008",
|
|
21
|
+
"\u2009",
|
|
22
|
+
"\u200a",
|
|
23
|
+
"\u205f", // Math space
|
|
24
|
+
"\u3000", // Ideographic space
|
|
25
|
+
]);
|
|
26
|
+
|
|
27
|
+
// eslint-disable-next-line no-misleading-character-class
|
|
28
|
+
export const zeroWidth = /[\u200b\u200c\u200d\u2060\p{Mn}\p{Me}]/u;
|
|
29
|
+
|
|
30
|
+
export const nonbreakingText = /[\u00a0\u202f\p{Letter}\p{Mark}\p{Sm}\p{Sc}\p{Sk}\p{So}\p{Number}\p{Punctuation}]/u;
|
|
31
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Producer } from "./producer.js";
|
|
8
|
+
import { Style } from "./style.js";
|
|
9
|
+
|
|
10
|
+
export interface Consumer {
|
|
11
|
+
/**
|
|
12
|
+
* Add text.
|
|
13
|
+
*
|
|
14
|
+
* If tokenized, the tokens must be in the form returned by {@link tokenize} for correct processing.
|
|
15
|
+
*/
|
|
16
|
+
write(...text: Producer.Sequence): void;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Current state of the destination.
|
|
20
|
+
*/
|
|
21
|
+
readonly state: Consumer.State;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Settle output state after generating all output.
|
|
25
|
+
*/
|
|
26
|
+
close(): void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export namespace Consumer {
|
|
30
|
+
export interface Options {
|
|
31
|
+
linePrefix?: string;
|
|
32
|
+
style?: Style;
|
|
33
|
+
terminalWidth?: number;
|
|
34
|
+
styleEnabled?: boolean;
|
|
35
|
+
buffer?: boolean;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface State extends Options {
|
|
39
|
+
(options?: Options): Context;
|
|
40
|
+
(options?: Options, executor?: () => void): void;
|
|
41
|
+
|
|
42
|
+
readonly availableWidth: number | undefined;
|
|
43
|
+
readonly remainingWidth: number | undefined;
|
|
44
|
+
|
|
45
|
+
onRevert(fn: () => void): void;
|
|
46
|
+
offRevert(fn: () => void): void;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface Context {
|
|
50
|
+
close(): void;
|
|
51
|
+
[Symbol.dispose](): void;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Producer } from "./producer.js";
|
|
8
|
+
import { BreakingToken, NonbreakingToken, Token } from "./token.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A single output segment that should be presented contiguously if space allows.
|
|
12
|
+
*/
|
|
13
|
+
export class ContiguousOutputSegment implements Producer {
|
|
14
|
+
width = 0;
|
|
15
|
+
tokens: Token[];
|
|
16
|
+
|
|
17
|
+
constructor(...text: Producer.Sequence) {
|
|
18
|
+
this.tokens = [...Producer.of(text)];
|
|
19
|
+
this.#addWidth(this.tokens);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
[Symbol.iterator]() {
|
|
23
|
+
return this.tokens[Symbol.iterator]();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
push(...text: Producer.Sequence) {
|
|
27
|
+
const tokens = [...Producer.of(text)];
|
|
28
|
+
this.tokens.push(...tokens);
|
|
29
|
+
this.#addWidth(tokens);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#addWidth(tokens: Token[]) {
|
|
33
|
+
for (const token of tokens) {
|
|
34
|
+
if ("width" in token) {
|
|
35
|
+
this.width += token.width;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Create a scanner that can be used to move through the segment in chunks of visible characters. This is only
|
|
42
|
+
* necessary when wrapping segments that are too long to fit on a single line.
|
|
43
|
+
*/
|
|
44
|
+
scan(): ContiguousOutputSegment.Scanner {
|
|
45
|
+
let done = false;
|
|
46
|
+
const iterator = this.tokens[Symbol.iterator]();
|
|
47
|
+
let current: BreakingToken | NonbreakingToken | undefined;
|
|
48
|
+
let pos = 0;
|
|
49
|
+
return {
|
|
50
|
+
[Symbol.iterator]() {
|
|
51
|
+
return iterator;
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
get done() {
|
|
55
|
+
return done;
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
next() {
|
|
59
|
+
const next = iterator.next();
|
|
60
|
+
if (next.done) {
|
|
61
|
+
done = true;
|
|
62
|
+
}
|
|
63
|
+
return next;
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
take(width: number) {
|
|
67
|
+
let widthSoFar = 0;
|
|
68
|
+
const result = Array<Token>();
|
|
69
|
+
while (true) {
|
|
70
|
+
if (current !== undefined) {
|
|
71
|
+
const splitStart = pos;
|
|
72
|
+
let splitWidth = 0;
|
|
73
|
+
for (let i = splitStart; i < current.str.length; i++) {
|
|
74
|
+
const charCode = current.str.charCodeAt(0);
|
|
75
|
+
|
|
76
|
+
// Zero-width characters
|
|
77
|
+
switch (charCode) {
|
|
78
|
+
case 0x200b:
|
|
79
|
+
case 0x200c:
|
|
80
|
+
case 0x200d:
|
|
81
|
+
case 0x2060:
|
|
82
|
+
case 0xfeff:
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// If we've hit the target width, split the current token if any portion of it fits and
|
|
87
|
+
// we are done
|
|
88
|
+
if (widthSoFar === width) {
|
|
89
|
+
pos = i;
|
|
90
|
+
if (splitStart !== pos) {
|
|
91
|
+
result.push({
|
|
92
|
+
kind: current.kind,
|
|
93
|
+
str: current.str.slice(splitStart, pos),
|
|
94
|
+
width: splitWidth,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Increase width
|
|
101
|
+
widthSoFar++;
|
|
102
|
+
splitWidth++;
|
|
103
|
+
|
|
104
|
+
// Skip properly formed surrogate pair
|
|
105
|
+
if (charCode >= 0xd800 && charCode < 0xdc00) {
|
|
106
|
+
const charCode2 = current.str.charCodeAt(i + 1);
|
|
107
|
+
if (charCode2 !== undefined && charCode2 >= 0xdc00 && charCode2 < 0xe000) {
|
|
108
|
+
i++;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// The remainder of the current token fits so we are done with it
|
|
114
|
+
if (splitStart === 0) {
|
|
115
|
+
// Entire token
|
|
116
|
+
result.push(current);
|
|
117
|
+
} else {
|
|
118
|
+
// Tailing portion of token
|
|
119
|
+
result.push({
|
|
120
|
+
kind: current.kind,
|
|
121
|
+
str: current.str.slice(splitStart),
|
|
122
|
+
width: splitWidth,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
current = undefined;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// Process next token
|
|
130
|
+
const n = this.next();
|
|
131
|
+
if (n.done) {
|
|
132
|
+
return result;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Control sequences do not contribute space
|
|
136
|
+
if (n.value.kind !== "breaking" && n.value.kind !== "nonbreaking") {
|
|
137
|
+
result.push(n.value);
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Space and visible tokens require code unit scan
|
|
142
|
+
current = n.value;
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
toString() {
|
|
149
|
+
return this.tokens
|
|
150
|
+
.map(token => {
|
|
151
|
+
switch (token.kind) {
|
|
152
|
+
case "style":
|
|
153
|
+
return token.style.toString();
|
|
154
|
+
|
|
155
|
+
case "ansi":
|
|
156
|
+
return token.sequence;
|
|
157
|
+
|
|
158
|
+
case "breaking":
|
|
159
|
+
case "nonbreaking":
|
|
160
|
+
return token.str;
|
|
161
|
+
|
|
162
|
+
case "tab":
|
|
163
|
+
return "\t";
|
|
164
|
+
|
|
165
|
+
case "carriage-return":
|
|
166
|
+
return "\r";
|
|
167
|
+
|
|
168
|
+
case "newline":
|
|
169
|
+
return "\n";
|
|
170
|
+
}
|
|
171
|
+
})
|
|
172
|
+
.join("");
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export namespace ContiguousOutputSegment {
|
|
177
|
+
export interface Scanner extends IterableIterator<Token> {
|
|
178
|
+
done: boolean;
|
|
179
|
+
take(width: number): Token[];
|
|
180
|
+
}
|
|
181
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Note -- don't put ./std.js here because it's not cross platform
|
|
8
|
+
|
|
9
|
+
export * from "./printer.js";
|
|
10
|
+
export * from "./screen.js";
|
|
11
|
+
export * from "./style.js";
|
|
12
|
+
export * from "./text-builder.js";
|
|
13
|
+
export * from "./text-writer.js";
|
|
14
|
+
export * from "./wrapper.js";
|