@matter/tools 0.12.2-alpha.0-20250201-eb5d40a2f → 0.12.3-alpha.0-20250203-34ba45cae
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
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var style_exports = {};
|
|
20
|
+
__export(style_exports, {
|
|
21
|
+
Style: () => Style
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(style_exports);
|
|
24
|
+
var import_sgr = require("./sgr.js");
|
|
25
|
+
/**
|
|
26
|
+
* @license
|
|
27
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
28
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
29
|
+
*/
|
|
30
|
+
const codes = Symbol("codes");
|
|
31
|
+
const text = Symbol("text");
|
|
32
|
+
function Style(definition) {
|
|
33
|
+
if (definition instanceof Style) {
|
|
34
|
+
return definition;
|
|
35
|
+
}
|
|
36
|
+
const style = Object.create(Style.prototype);
|
|
37
|
+
style.styleDefinition = Style.definitionOf(definition);
|
|
38
|
+
return style;
|
|
39
|
+
}
|
|
40
|
+
((Style2) => {
|
|
41
|
+
function opcodeOf(code) {
|
|
42
|
+
if (typeof code === "number") {
|
|
43
|
+
return code;
|
|
44
|
+
}
|
|
45
|
+
if (code === "") {
|
|
46
|
+
return 0;
|
|
47
|
+
}
|
|
48
|
+
const opcode = Number.parseInt(code);
|
|
49
|
+
if (Number.isNaN(opcode)) {
|
|
50
|
+
return void 0;
|
|
51
|
+
}
|
|
52
|
+
return opcode;
|
|
53
|
+
}
|
|
54
|
+
Style2.opcodeOf = opcodeOf;
|
|
55
|
+
function codesOf(definition) {
|
|
56
|
+
definition = textOf(definition);
|
|
57
|
+
if (definition === void 0) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
if (definition === "") {
|
|
61
|
+
return [0];
|
|
62
|
+
}
|
|
63
|
+
const parts = definition.split(";");
|
|
64
|
+
const codes2 = Array();
|
|
65
|
+
let pos = 0;
|
|
66
|
+
while (pos < parts.length) {
|
|
67
|
+
const part = parts[pos];
|
|
68
|
+
const opcode = opcodeOf(parts[pos]);
|
|
69
|
+
pos++;
|
|
70
|
+
let expectedParts;
|
|
71
|
+
switch (opcode) {
|
|
72
|
+
case import_sgr.SgrOpcodeBlock.fg + import_sgr.Color.extended:
|
|
73
|
+
case import_sgr.SgrOpcodeBlock.bg + import_sgr.Color.extended:
|
|
74
|
+
switch (opcodeOf(parts[pos])) {
|
|
75
|
+
case import_sgr.ExtendedColor.eightBit:
|
|
76
|
+
expectedParts = 3;
|
|
77
|
+
break;
|
|
78
|
+
case import_sgr.ExtendedColor.rgb:
|
|
79
|
+
expectedParts = 5;
|
|
80
|
+
break;
|
|
81
|
+
default:
|
|
82
|
+
expectedParts = 1;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
break;
|
|
86
|
+
case void 0:
|
|
87
|
+
continue;
|
|
88
|
+
default:
|
|
89
|
+
expectedParts = 0;
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
let baseCode;
|
|
93
|
+
if (opcode.toString() === part) {
|
|
94
|
+
baseCode = opcode;
|
|
95
|
+
} else {
|
|
96
|
+
baseCode = part;
|
|
97
|
+
}
|
|
98
|
+
if (expectedParts) {
|
|
99
|
+
const codeCount = part.split(":").length;
|
|
100
|
+
if (codeCount < expectedParts) {
|
|
101
|
+
const argParts = expectedParts - codeCount;
|
|
102
|
+
codes2.push([baseCode, ...parts.slice(pos, pos + argParts)].join(";"));
|
|
103
|
+
pos += argParts;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
codes2.push(baseCode);
|
|
108
|
+
}
|
|
109
|
+
return codes2;
|
|
110
|
+
}
|
|
111
|
+
Style2.codesOf = codesOf;
|
|
112
|
+
function textOf(definition) {
|
|
113
|
+
if (definition === void 0 || definition === "") {
|
|
114
|
+
return definition;
|
|
115
|
+
}
|
|
116
|
+
definition = definition.trim();
|
|
117
|
+
if (definition[0] === "\x1B" && definition[1] === "[") {
|
|
118
|
+
definition = definition.slice(2);
|
|
119
|
+
}
|
|
120
|
+
if (definition[definition.length - 1] === "m") {
|
|
121
|
+
definition = definition.slice(0, definition.length - 1);
|
|
122
|
+
}
|
|
123
|
+
return definition;
|
|
124
|
+
}
|
|
125
|
+
Style2.textOf = textOf;
|
|
126
|
+
function definitionOf(definition) {
|
|
127
|
+
if (definition !== void 0 && typeof definition !== "string" && !Array.isArray(definition)) {
|
|
128
|
+
return definition.styleDefinition;
|
|
129
|
+
}
|
|
130
|
+
return definition;
|
|
131
|
+
}
|
|
132
|
+
Style2.definitionOf = definitionOf;
|
|
133
|
+
})(Style || (Style = {}));
|
|
134
|
+
Style.prototype = {
|
|
135
|
+
get styleDefinition() {
|
|
136
|
+
if (this[codes] !== void 0) {
|
|
137
|
+
return this[codes];
|
|
138
|
+
}
|
|
139
|
+
if (this[text] !== void 0) {
|
|
140
|
+
return this[text];
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
set styleDefinition(definition) {
|
|
144
|
+
if (typeof definition === "function" || typeof definition === "object" && !Array.isArray(definition)) {
|
|
145
|
+
this.styleDefinition = definition.styleDefinition;
|
|
146
|
+
} else if (typeof definition === "string") {
|
|
147
|
+
this[text] = Style.textOf(definition);
|
|
148
|
+
this[codes] = void 0;
|
|
149
|
+
} else {
|
|
150
|
+
this[codes] = definition;
|
|
151
|
+
this[text] = void 0;
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
get styleCodes() {
|
|
155
|
+
if (this[codes] === void 0) {
|
|
156
|
+
this[codes] = Style.codesOf(this[text]);
|
|
157
|
+
}
|
|
158
|
+
return this[codes] ?? [];
|
|
159
|
+
},
|
|
160
|
+
get styleToken() {
|
|
161
|
+
return {
|
|
162
|
+
kind: "style",
|
|
163
|
+
// Do not use this because extension toString() may not do the correct thing
|
|
164
|
+
style: Style(this.styleDefinition)
|
|
165
|
+
};
|
|
166
|
+
},
|
|
167
|
+
get undoStyle() {
|
|
168
|
+
const codes2 = Array();
|
|
169
|
+
for (const code of this.styleCodes) {
|
|
170
|
+
const opcode = Style.opcodeOf(code);
|
|
171
|
+
if (opcode === void 0) {
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
const undo = import_sgr.SgrOpcodeToUndoOpcode[opcode];
|
|
175
|
+
if (undo === void 0) {
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
codes2.push(undo);
|
|
179
|
+
}
|
|
180
|
+
return Style(codes2);
|
|
181
|
+
},
|
|
182
|
+
toString() {
|
|
183
|
+
const codes2 = Array();
|
|
184
|
+
for (const code of this.styleCodes) {
|
|
185
|
+
const opcode = Style.opcodeOf(code);
|
|
186
|
+
if (opcode === void 0) {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
codes2.push(code);
|
|
190
|
+
}
|
|
191
|
+
return `\x1B[${codes2.join(";")}m`;
|
|
192
|
+
},
|
|
193
|
+
addStyle(codes2) {
|
|
194
|
+
let categories = Array();
|
|
195
|
+
function processor(category, code) {
|
|
196
|
+
if (category === import_sgr.SgrCategory.reset) {
|
|
197
|
+
categories = [import_sgr.SgrOpcode.reset];
|
|
198
|
+
} else {
|
|
199
|
+
categories[category] = code;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
this.evaluateStyle(processor);
|
|
203
|
+
codes2 = Style.definitionOf(codes2);
|
|
204
|
+
if (codes2 !== void 0) {
|
|
205
|
+
Style(codes2).evaluateStyle(processor);
|
|
206
|
+
}
|
|
207
|
+
return this.factory(
|
|
208
|
+
categories.filter((entry) => entry !== void 0),
|
|
209
|
+
this
|
|
210
|
+
);
|
|
211
|
+
},
|
|
212
|
+
diffStyle(other) {
|
|
213
|
+
let current = Array();
|
|
214
|
+
this.evaluateStyle((category, code) => {
|
|
215
|
+
if (category === import_sgr.SgrCategory.reset) {
|
|
216
|
+
current = [];
|
|
217
|
+
} else {
|
|
218
|
+
current[category] = code;
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
let target = [...current];
|
|
222
|
+
other.evaluateStyle((category, code) => {
|
|
223
|
+
if (category === import_sgr.SgrCategory.reset) {
|
|
224
|
+
current = [];
|
|
225
|
+
target = [import_sgr.SgrCategory.reset];
|
|
226
|
+
} else if (current[category] === code) {
|
|
227
|
+
target[category] = void 0;
|
|
228
|
+
} else {
|
|
229
|
+
target[category] = code;
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
return this.factory(
|
|
233
|
+
target.filter((entry) => entry !== void 0),
|
|
234
|
+
this
|
|
235
|
+
);
|
|
236
|
+
},
|
|
237
|
+
evaluateStyle(processor) {
|
|
238
|
+
for (const code of this.styleCodes) {
|
|
239
|
+
const opcode = Style.opcodeOf(code);
|
|
240
|
+
if (opcode !== void 0) {
|
|
241
|
+
const category = import_sgr.SgrOpcodeToCategory[opcode];
|
|
242
|
+
if (category !== void 0) {
|
|
243
|
+
processor(category, code);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
get factory() {
|
|
249
|
+
return Style;
|
|
250
|
+
},
|
|
251
|
+
[Symbol.iterator]() {
|
|
252
|
+
return [{ kind: "style", style: this }][Symbol.iterator]();
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
Style.Inherit = Style();
|
|
256
|
+
Style.None = Style([0]);
|
|
257
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ansi-text/style.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["Style", "codes"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Producer } from "./producer.js";
|
|
7
|
+
import { Color, EightBitColor, RgbColor } from "./sgr.js";
|
|
8
|
+
import { Style } from "./style.js";
|
|
9
|
+
/**
|
|
10
|
+
* Convenience API for building ANSI text.
|
|
11
|
+
*
|
|
12
|
+
* Allows you to create ANSI escape sequences using e.g. `ansi.bright.yellow.bg.blue.blink`.
|
|
13
|
+
*/
|
|
14
|
+
export interface TextBuilder extends Style {
|
|
15
|
+
(...text: Producer.Sequence): TextBuilder;
|
|
16
|
+
readonly state: TextBuilder.State;
|
|
17
|
+
readonly bg: TextBuilder;
|
|
18
|
+
readonly not: TextBuilder;
|
|
19
|
+
readonly reset: TextBuilder;
|
|
20
|
+
readonly bold: TextBuilder;
|
|
21
|
+
readonly dim: TextBuilder;
|
|
22
|
+
readonly bright: TextBuilder;
|
|
23
|
+
readonly italic: TextBuilder;
|
|
24
|
+
readonly underline: TextBuilder;
|
|
25
|
+
readonly doubleUnderline: TextBuilder;
|
|
26
|
+
readonly blink: TextBuilder;
|
|
27
|
+
readonly fastBlink: TextBuilder;
|
|
28
|
+
readonly invert: TextBuilder;
|
|
29
|
+
readonly conceal: TextBuilder;
|
|
30
|
+
readonly strike: TextBuilder;
|
|
31
|
+
readonly black: TextBuilder;
|
|
32
|
+
readonly red: TextBuilder;
|
|
33
|
+
readonly green: TextBuilder;
|
|
34
|
+
readonly yellow: TextBuilder;
|
|
35
|
+
readonly blue: TextBuilder;
|
|
36
|
+
readonly magenta: TextBuilder;
|
|
37
|
+
readonly cyan: TextBuilder;
|
|
38
|
+
readonly white: TextBuilder;
|
|
39
|
+
color(color: Color | EightBitColor | RgbColor): TextBuilder;
|
|
40
|
+
factory: TextBuilder.Factory;
|
|
41
|
+
}
|
|
42
|
+
export declare function TextBuilder(definition?: Style.InputDefinition | Style, derivesFrom?: Style, state?: TextBuilder.State): TextBuilder;
|
|
43
|
+
export declare namespace TextBuilder {
|
|
44
|
+
var prototype: any;
|
|
45
|
+
}
|
|
46
|
+
export declare namespace TextBuilder {
|
|
47
|
+
interface State {
|
|
48
|
+
/**
|
|
49
|
+
* If next build affects a color it will modify bg rather than fg.
|
|
50
|
+
*/
|
|
51
|
+
readonly bg?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* If next build affects 8-bit color the color will render as bright.
|
|
54
|
+
*/
|
|
55
|
+
readonly bright?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* If next build modifies ANSI styling its meaning is inverted.
|
|
58
|
+
*/
|
|
59
|
+
readonly not?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Serialization will include style reversion as the final token.
|
|
62
|
+
*
|
|
63
|
+
* Set after invoking builder as function, cleared when modifying style. This means that ansi.red("foo") is
|
|
64
|
+
* terminated but ansi.red("foo").green will render as a red "foo" and leave text styled green.
|
|
65
|
+
*/
|
|
66
|
+
readonly revert?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* The serialization sequence. Populated by invoking builder as function.
|
|
69
|
+
*/
|
|
70
|
+
readonly sequence?: Producer.Sequence;
|
|
71
|
+
}
|
|
72
|
+
type Factory = (definition?: Style.Definition | Style, derivesFrom?: Style, state?: TextBuilder.State) => TextBuilder;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Initial builder.
|
|
76
|
+
*/
|
|
77
|
+
export declare const ansi: TextBuilder;
|
|
78
|
+
//# sourceMappingURL=text-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-builder.d.ts","sourceRoot":"","sources":["../../../src/ansi-text/text-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACH,KAAK,EACL,aAAa,EAEb,QAAQ,EAIX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAQ,KAAK;IACtC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC;IAE1C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;IAClC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,QAAQ,GAAG,WAAW,CAAC;IAE5D,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CAChC;AAED,wBAAgB,WAAW,CACvB,UAAU,CAAC,EAAE,KAAK,CAAC,eAAe,GAAG,KAAK,EAC1C,WAAW,CAAC,EAAE,KAAK,EACnB,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,eA4B5B;yBA/Be,WAAW;;;AAoK3B,yBAAiB,WAAW,CAAC;IACzB,UAAiB,KAAK;QAClB;;WAEG;QACH,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;QAEtB;;WAEG;QACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAE1B;;WAEG;QACH,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAEvB;;;;;WAKG;QACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAE1B;;WAEG;QACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;KACzC;IAED,KAAY,OAAO,GAAG,CAClB,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,EACrC,WAAW,CAAC,EAAE,KAAK,EACnB,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,KACxB,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,aAAgB,CAAC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var text_builder_exports = {};
|
|
20
|
+
__export(text_builder_exports, {
|
|
21
|
+
TextBuilder: () => TextBuilder,
|
|
22
|
+
ansi: () => ansi
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(text_builder_exports);
|
|
25
|
+
var import_producer = require("./producer.js");
|
|
26
|
+
var import_sgr = require("./sgr.js");
|
|
27
|
+
var import_style = require("./style.js");
|
|
28
|
+
var import_text_writer = require("./text-writer.js");
|
|
29
|
+
/**
|
|
30
|
+
* @license
|
|
31
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
32
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
33
|
+
*/
|
|
34
|
+
function TextBuilder(definition, derivesFrom, state) {
|
|
35
|
+
if (derivesFrom instanceof TextBuilder) {
|
|
36
|
+
state = { ...derivesFrom.state, ...state };
|
|
37
|
+
} else if (state === void 0) {
|
|
38
|
+
state = {};
|
|
39
|
+
}
|
|
40
|
+
definition = import_style.Style.definitionOf(definition);
|
|
41
|
+
const self = function TextBuilderInstance(...text) {
|
|
42
|
+
const sequence = self.state.sequence ? [...self.state.sequence] : [];
|
|
43
|
+
if (self.styleDefinition?.length) {
|
|
44
|
+
sequence.push(self.styleToken);
|
|
45
|
+
}
|
|
46
|
+
sequence.push(...text);
|
|
47
|
+
return TextBuilder(self, self, { sequence, revert: true });
|
|
48
|
+
};
|
|
49
|
+
Object.setPrototypeOf(self, TextBuilder.prototype);
|
|
50
|
+
self.state = state;
|
|
51
|
+
if (definition !== void 0) {
|
|
52
|
+
self.styleDefinition = definition;
|
|
53
|
+
}
|
|
54
|
+
return self;
|
|
55
|
+
}
|
|
56
|
+
TextBuilder.prototype = Object.create(import_style.Style.prototype, {
|
|
57
|
+
bg: chmode({ bg: true }),
|
|
58
|
+
not: chmode({ not: true }),
|
|
59
|
+
bold: toggle("bold"),
|
|
60
|
+
dim: toggle("dim"),
|
|
61
|
+
bright: chmode({ bright: true }),
|
|
62
|
+
italic: toggle("italic"),
|
|
63
|
+
underline: toggle("underline"),
|
|
64
|
+
doubleUnderline: toggle("doubleUnderline"),
|
|
65
|
+
slowBlink: toggle("slowBlink"),
|
|
66
|
+
fastBlink: toggle("fastBlink"),
|
|
67
|
+
invert: toggle("invert"),
|
|
68
|
+
conceal: toggle("conceal"),
|
|
69
|
+
strike: toggle("strike"),
|
|
70
|
+
black: color("black"),
|
|
71
|
+
red: color("red"),
|
|
72
|
+
green: color("green"),
|
|
73
|
+
yellow: color("yellow"),
|
|
74
|
+
blue: color("blue"),
|
|
75
|
+
magenta: color("magenta"),
|
|
76
|
+
cyan: color("cyan"),
|
|
77
|
+
white: color("white"),
|
|
78
|
+
reset: {
|
|
79
|
+
get() {
|
|
80
|
+
return this.addStyle([0]);
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
color: {
|
|
84
|
+
value(color2) {
|
|
85
|
+
if (this.state.not) {
|
|
86
|
+
return this.addStyle([this.state.bg ? import_sgr.SgrOpcode.normalBg : import_sgr.SgrOpcode.normalFg]);
|
|
87
|
+
}
|
|
88
|
+
if (typeof color2 === "object") {
|
|
89
|
+
if ("color" in color2) {
|
|
90
|
+
return this.addStyle([import_sgr.Color.extended, import_sgr.ExtendedColor.eightBit, color2.color]);
|
|
91
|
+
}
|
|
92
|
+
return this.addStyle([import_sgr.Color.extended, import_sgr.ExtendedColor.rgb, color2.r ?? 0, color2.g ?? 0, color2.b ?? 0]);
|
|
93
|
+
}
|
|
94
|
+
const block = this.state.bg ? this.state.bright ? import_sgr.SgrOpcodeBlock.bgBright : import_sgr.SgrOpcodeBlock.bg : this.state.bright ? import_sgr.SgrOpcodeBlock.fgBright : import_sgr.SgrOpcodeBlock.fg;
|
|
95
|
+
return this.addStyle([block + color2]);
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
toString: {
|
|
99
|
+
value() {
|
|
100
|
+
let { sequence } = this.state;
|
|
101
|
+
if (!sequence) {
|
|
102
|
+
sequence = [this.styleToken];
|
|
103
|
+
}
|
|
104
|
+
if (this.state.revert) {
|
|
105
|
+
sequence = [...sequence, this.undoStyle.styleToken];
|
|
106
|
+
}
|
|
107
|
+
const parts = Array();
|
|
108
|
+
const writer = new import_text_writer.TextWriter((part) => parts.push(part));
|
|
109
|
+
writer.write(...sequence);
|
|
110
|
+
writer.close();
|
|
111
|
+
return parts.join("");
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
[Symbol.iterator]: {
|
|
115
|
+
get() {
|
|
116
|
+
if (this.state.sequence === void 0) {
|
|
117
|
+
return {
|
|
118
|
+
next() {
|
|
119
|
+
return void 0;
|
|
120
|
+
},
|
|
121
|
+
done: true
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
let sequence = this.state.sequence;
|
|
125
|
+
if (this.state.revert) {
|
|
126
|
+
sequence = [...sequence, this.undoStyle.styleToken];
|
|
127
|
+
}
|
|
128
|
+
const iterable = import_producer.Producer.of(sequence);
|
|
129
|
+
return iterable[Symbol.iterator].bind(iterable);
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
factory: {
|
|
133
|
+
value: TextBuilder
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
function chmode(state) {
|
|
137
|
+
return {
|
|
138
|
+
get() {
|
|
139
|
+
return TextBuilder(this, this, state);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
function toggle(name) {
|
|
144
|
+
const on = import_sgr.SgrOpcode[name];
|
|
145
|
+
const off = import_sgr.SgrOpcodeToUndoOpcode[on];
|
|
146
|
+
if (off === void 0) {
|
|
147
|
+
throw new Error(`Can't toggle opcode ${on}`);
|
|
148
|
+
}
|
|
149
|
+
return {
|
|
150
|
+
get() {
|
|
151
|
+
return this.addStyle([this.state.not ? off : on]);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
function color(color2) {
|
|
156
|
+
const opcode = import_sgr.Color[color2];
|
|
157
|
+
return {
|
|
158
|
+
get() {
|
|
159
|
+
return this.color(opcode);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
const ansi = TextBuilder();
|
|
164
|
+
//# sourceMappingURL=text-builder.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ansi-text/text-builder.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["color"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Consumer } from "./consumer.js";
|
|
7
|
+
import { Producer } from "./producer.js";
|
|
8
|
+
/**
|
|
9
|
+
* Low-level text output with ANSI escape sequences, maintaining state regarding style and width of current line.
|
|
10
|
+
*/
|
|
11
|
+
export declare class TextWriter implements Consumer {
|
|
12
|
+
#private;
|
|
13
|
+
tabWidth: number;
|
|
14
|
+
constructor(out: (text: string) => void, options?: Writer.Options);
|
|
15
|
+
get state(): Consumer.State;
|
|
16
|
+
write(...text: Producer.Sequence): void;
|
|
17
|
+
close(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Reset styling.
|
|
20
|
+
*/
|
|
21
|
+
reset(): void;
|
|
22
|
+
}
|
|
23
|
+
export declare namespace Writer {
|
|
24
|
+
interface Options {
|
|
25
|
+
tabWidth?: number;
|
|
26
|
+
terminalWidth?: number;
|
|
27
|
+
linePrefix?: string;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=text-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-writer.d.ts","sourceRoot":"","sources":["../../../src/ansi-text/text-writer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC;;GAEG;AACH,qBAAa,UAAW,YAAW,QAAQ;;IACvC,QAAQ,EAAE,MAAM,CAAC;gBAeL,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO;IAuMjE,IAAI,KAAK,mBAER;IAED,KAAK,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,QAAQ;IAMhC,KAAK;IAIL;;OAEG;IACH,KAAK;CAuGR;AAED,yBAAiB,MAAM,CAAC;IACpB,UAAiB,OAAO;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB;CACJ"}
|