@jsprismarine/nbt 0.13.1 → 0.13.5
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/CHANGELOG.md +10 -0
- package/package.json +10 -7
- package/dist/Allocation.cjs.cjs +0 -14
- package/dist/Allocation.d.ts +0 -7
- package/dist/Allocation.d.ts.map +0 -1
- package/dist/Allocation.es.js +0 -10
- package/dist/ByteOrder.cjs.cjs +0 -12
- package/dist/ByteOrder.d.ts +0 -5
- package/dist/ByteOrder.d.ts.map +0 -1
- package/dist/ByteOrder.es.js +0 -8
- package/dist/NBTDefinitions.cjs.cjs +0 -22
- package/dist/NBTDefinitions.d.ts +0 -15
- package/dist/NBTDefinitions.d.ts.map +0 -1
- package/dist/NBTDefinitions.es.js +0 -18
- package/dist/NBTReader.cjs.cjs +0 -163
- package/dist/NBTReader.d.ts +0 -12
- package/dist/NBTReader.d.ts.map +0 -1
- package/dist/NBTReader.es.js +0 -159
- package/dist/NBTStreamReader.cjs.cjs +0 -119
- package/dist/NBTStreamReader.d.ts +0 -31
- package/dist/NBTStreamReader.d.ts.map +0 -1
- package/dist/NBTStreamReader.es.js +0 -115
- package/dist/NBTTagCompound.cjs.cjs +0 -151
- package/dist/NBTTagCompound.d.ts +0 -29
- package/dist/NBTTagCompound.d.ts.map +0 -1
- package/dist/NBTTagCompound.es.js +0 -142
- package/dist/NBTWriter.cjs.cjs +0 -238
- package/dist/NBTWriter.d.ts +0 -26
- package/dist/NBTWriter.d.ts.map +0 -1
- package/dist/NBTWriter.es.js +0 -234
- package/dist/index.cjs.cjs +0 -22
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.es.js +0 -10
- package/dist/types/ByteVal.cjs.cjs +0 -16
- package/dist/types/ByteVal.d.ts +0 -6
- package/dist/types/ByteVal.d.ts.map +0 -1
- package/dist/types/ByteVal.es.js +0 -12
- package/dist/types/DoubleVal.cjs.cjs +0 -16
- package/dist/types/DoubleVal.d.ts +0 -6
- package/dist/types/DoubleVal.d.ts.map +0 -1
- package/dist/types/DoubleVal.es.js +0 -12
- package/dist/types/FloatVal.cjs.cjs +0 -16
- package/dist/types/FloatVal.d.ts +0 -6
- package/dist/types/FloatVal.d.ts.map +0 -1
- package/dist/types/FloatVal.es.js +0 -12
- package/dist/types/LongVal.cjs.cjs +0 -16
- package/dist/types/LongVal.d.ts +0 -6
- package/dist/types/LongVal.d.ts.map +0 -1
- package/dist/types/LongVal.es.js +0 -12
- package/dist/types/NumberVal.cjs.cjs +0 -16
- package/dist/types/NumberVal.d.ts +0 -6
- package/dist/types/NumberVal.d.ts.map +0 -1
- package/dist/types/NumberVal.es.js +0 -12
- package/dist/types/ShortVal.cjs.cjs +0 -16
- package/dist/types/ShortVal.d.ts +0 -6
- package/dist/types/ShortVal.d.ts.map +0 -1
- package/dist/types/ShortVal.es.js +0 -12
- package/dist/types/StringVal.cjs.cjs +0 -16
- package/dist/types/StringVal.d.ts +0 -6
- package/dist/types/StringVal.d.ts.map +0 -1
- package/dist/types/StringVal.es.js +0 -12
- package/dist/types/Types.cjs.cjs +0 -22
- package/dist/types/Types.d.ts +0 -9
- package/dist/types/Types.d.ts.map +0 -1
- package/dist/types/Types.es.js +0 -8
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import BinaryStream from '@jsprismarine/jsbinaryutils';
|
|
3
|
-
import NBTReader from './NBTReader.es.js';
|
|
4
|
-
import NBTWriter from './NBTWriter.es.js';
|
|
5
|
-
import ByteValue from './types/ByteVal.es.js';
|
|
6
|
-
import DoubleValue from './types/DoubleVal.es.js';
|
|
7
|
-
import FloatValue from './types/FloatVal.es.js';
|
|
8
|
-
import LongValue from './types/LongVal.es.js';
|
|
9
|
-
import NumberValue from './types/NumberVal.es.js';
|
|
10
|
-
import ShortValue from './types/ShortVal.es.js';
|
|
11
|
-
import StringValue from './types/StringVal.es.js';
|
|
12
|
-
|
|
13
|
-
class NBTTagCompound {
|
|
14
|
-
name;
|
|
15
|
-
children = /* @__PURE__ */ new Map();
|
|
16
|
-
static readFromFile(path, byteOrder) {
|
|
17
|
-
return NBTTagCompound.readFromStream(new BinaryStream(fs.readFileSync(path)), byteOrder);
|
|
18
|
-
}
|
|
19
|
-
static readFromStream(input, byteOrder, varints = false) {
|
|
20
|
-
const reader = new NBTReader(input, byteOrder);
|
|
21
|
-
reader.setUseVarint(varints);
|
|
22
|
-
return reader.parse();
|
|
23
|
-
}
|
|
24
|
-
constructor(name = null) {
|
|
25
|
-
this.name = name;
|
|
26
|
-
}
|
|
27
|
-
setName(name) {
|
|
28
|
-
this.name = name;
|
|
29
|
-
}
|
|
30
|
-
getName() {
|
|
31
|
-
return this.name;
|
|
32
|
-
}
|
|
33
|
-
addValue(name, value) {
|
|
34
|
-
if (value instanceof NBTTagCompound && name !== value.getName()) {
|
|
35
|
-
throw new Error(`Failed to add NBTTagCompound with name ${value.getName()} given name ${name}`);
|
|
36
|
-
}
|
|
37
|
-
this.children.set(name, value);
|
|
38
|
-
}
|
|
39
|
-
addChild(tag) {
|
|
40
|
-
this.children.set(tag.getName(), tag);
|
|
41
|
-
}
|
|
42
|
-
getList(name, insert) {
|
|
43
|
-
if (this.children.has(name)) {
|
|
44
|
-
return this.children.get(name);
|
|
45
|
-
}
|
|
46
|
-
if (insert) {
|
|
47
|
-
const backingList = /* @__PURE__ */ new Set();
|
|
48
|
-
this.addValue(name, backingList);
|
|
49
|
-
return backingList;
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
getCompound(name, insert) {
|
|
54
|
-
if (this.children.has(name)) {
|
|
55
|
-
return this.children.get(name);
|
|
56
|
-
}
|
|
57
|
-
if (insert) {
|
|
58
|
-
const compound = new NBTTagCompound();
|
|
59
|
-
this.addValue(name, compound);
|
|
60
|
-
return compound;
|
|
61
|
-
}
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
writeToStream(out, byteOrder, varints = false) {
|
|
65
|
-
const writer = new NBTWriter(out, byteOrder);
|
|
66
|
-
writer.setUseVarint(varints);
|
|
67
|
-
writer.writeCompound(this);
|
|
68
|
-
}
|
|
69
|
-
getByte(name, defaultValue) {
|
|
70
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
71
|
-
}
|
|
72
|
-
getShort(name, defaultValue) {
|
|
73
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
74
|
-
}
|
|
75
|
-
getNumber(name, defaultValue) {
|
|
76
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
77
|
-
}
|
|
78
|
-
getLong(name, defaultValue) {
|
|
79
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
80
|
-
}
|
|
81
|
-
getFloat(name, defaultValue) {
|
|
82
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
83
|
-
}
|
|
84
|
-
getDouble(name, defaultValue) {
|
|
85
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
86
|
-
}
|
|
87
|
-
getString(name, defaultValue) {
|
|
88
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
89
|
-
}
|
|
90
|
-
remove(key) {
|
|
91
|
-
return this.children.delete(key);
|
|
92
|
-
}
|
|
93
|
-
entries() {
|
|
94
|
-
return this.children.entries();
|
|
95
|
-
}
|
|
96
|
-
has(key) {
|
|
97
|
-
return this.children.has(key);
|
|
98
|
-
}
|
|
99
|
-
size() {
|
|
100
|
-
return this.children.size;
|
|
101
|
-
}
|
|
102
|
-
// Thanks stackoverflow! https://stackoverflow.com/questions/35948335/how-can-i-check-if-two-map-objects-are-equal
|
|
103
|
-
equals(that) {
|
|
104
|
-
if (this.children.size !== that.children.size) {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
for (const [key, val] of this.children) {
|
|
108
|
-
const testVal = that.children.get(key);
|
|
109
|
-
if (testVal === void 0 && !that.children.has(key)) {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
if (val instanceof NBTTagCompound && testVal instanceof NBTTagCompound && !val.equals(testVal)) {
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
if (val instanceof ByteValue && testVal instanceof ByteValue && val.getValue() !== testVal.getValue()) {
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
if (val instanceof DoubleValue && testVal instanceof DoubleValue && val.getValue() !== testVal.getValue()) {
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
if (val instanceof FloatValue && testVal instanceof FloatValue && val.getValue() !== testVal.getValue()) {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
if (val instanceof LongValue && testVal instanceof LongValue && val.getValue() !== testVal.getValue()) {
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
if (val instanceof NumberValue && testVal instanceof NumberValue && val.getValue() !== testVal.getValue()) {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
if (val instanceof ShortValue && testVal instanceof ShortValue && val.getValue() !== testVal.getValue()) {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
if (val instanceof StringValue && testVal instanceof StringValue && val.getValue() !== testVal.getValue()) {
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
export { NBTTagCompound as default };
|
|
142
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkJUVGFnQ29tcG91bmQuZXMuanMiLCJzb3VyY2VzIjpbIi4uL3NyYy9OQlRUYWdDb21wb3VuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnbm9kZTpmcyc7XG5cbmltcG9ydCBCaW5hcnlTdHJlYW0gZnJvbSAnQGpzcHJpc21hcmluZS9qc2JpbmFyeXV0aWxzJztcbmltcG9ydCB0eXBlIHsgQnl0ZU9yZGVyIH0gZnJvbSAnLi9CeXRlT3JkZXInO1xuaW1wb3J0IE5CVFJlYWRlciBmcm9tICcuL05CVFJlYWRlcic7XG5pbXBvcnQgTkJUV3JpdGVyIGZyb20gJy4vTkJUV3JpdGVyJztcbmltcG9ydCBCeXRlVmFsIGZyb20gJy4vdHlwZXMvQnl0ZVZhbCc7XG5pbXBvcnQgRG91YmxlVmFsIGZyb20gJy4vdHlwZXMvRG91YmxlVmFsJztcbmltcG9ydCBGbG9hdFZhbCBmcm9tICcuL3R5cGVzL0Zsb2F0VmFsJztcbmltcG9ydCBMb25nVmFsIGZyb20gJy4vdHlwZXMvTG9uZ1ZhbCc7XG5pbXBvcnQgTnVtYmVyVmFsIGZyb20gJy4vdHlwZXMvTnVtYmVyVmFsJztcbmltcG9ydCBTaG9ydFZhbCBmcm9tICcuL3R5cGVzL1Nob3J0VmFsJztcbmltcG9ydCBTdHJpbmdWYWwgZnJvbSAnLi90eXBlcy9TdHJpbmdWYWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOQlRUYWdDb21wb3VuZCB7XG4gICAgcHJpdmF0ZSBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgIHB1YmxpYyByZWFkb25seSBjaGlsZHJlbjogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZEZyb21GaWxlKHBhdGg6IHN0cmluZywgYnl0ZU9yZGVyOiBCeXRlT3JkZXIpOiBOQlRUYWdDb21wb3VuZCB7XG4gICAgICAgIHJldHVybiBOQlRUYWdDb21wb3VuZC5yZWFkRnJvbVN0cmVhbShuZXcgQmluYXJ5U3RyZWFtKGZzLnJlYWRGaWxlU3luYyhwYXRoKSksIGJ5dGVPcmRlcik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkRnJvbVN0cmVhbShpbnB1dDogQmluYXJ5U3RyZWFtLCBieXRlT3JkZXI6IEJ5dGVPcmRlciwgdmFyaW50cyA9IGZhbHNlKTogTkJUVGFnQ29tcG91bmQge1xuICAgICAgICBjb25zdCByZWFkZXI6IE5CVFJlYWRlciA9IG5ldyBOQlRSZWFkZXIoaW5wdXQsIGJ5dGVPcmRlcik7XG4gICAgICAgIHJlYWRlci5zZXRVc2VWYXJpbnQodmFyaW50cyk7XG4gICAgICAgIHJldHVybiByZWFkZXIucGFyc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVmFsdWUobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE5CVFRhZ0NvbXBvdW5kICYmIG5hbWUgIT09IHZhbHVlLmdldE5hbWUoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gYWRkIE5CVFRhZ0NvbXBvdW5kIHdpdGggbmFtZSAke3ZhbHVlLmdldE5hbWUoKX0gZ2l2ZW4gbmFtZSAke25hbWV9YCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoaWxkcmVuLnNldChuYW1lLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZENoaWxkKHRhZzogTkJUVGFnQ29tcG91bmQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbi5zZXQodGFnLmdldE5hbWUoKSEsIHRhZyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExpc3QobmFtZTogc3RyaW5nLCBpbnNlcnQ6IGJvb2xlYW4pOiBTZXQ8YW55PiB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5jaGlsZHJlbi5oYXMobmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmdldChuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbnNlcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhY2tpbmdMaXN0OiBTZXQ8YW55PiA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkVmFsdWUobmFtZSwgYmFja2luZ0xpc3QpO1xuICAgICAgICAgICAgcmV0dXJuIGJhY2tpbmdMaXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbXBvdW5kKG5hbWU6IHN0cmluZywgaW5zZXJ0OiBib29sZWFuKTogTkJUVGFnQ29tcG91bmQgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5nZXQobmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5zZXJ0KSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb3VuZDogTkJUVGFnQ29tcG91bmQgPSBuZXcgTkJUVGFnQ29tcG91bmQoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkVmFsdWUobmFtZSwgY29tcG91bmQpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVG9TdHJlYW0ob3V0OiBCaW5hcnlTdHJlYW0sIGJ5dGVPcmRlcjogQnl0ZU9yZGVyLCB2YXJpbnRzID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgd3JpdGVyOiBOQlRXcml0ZXIgPSBuZXcgTkJUV3JpdGVyKG91dCwgYnl0ZU9yZGVyKTtcbiAgICAgICAgd3JpdGVyLnNldFVzZVZhcmludCh2YXJpbnRzKTtcbiAgICAgICAgd3JpdGVyLndyaXRlQ29tcG91bmQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEJ5dGUobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmhhcyhuYW1lKSA/ICh0aGlzLmNoaWxkcmVuLmdldChuYW1lKSBhcyBCeXRlVmFsKS5nZXRWYWx1ZSgpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTaG9ydChuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIFNob3J0VmFsKS5nZXRWYWx1ZSgpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROdW1iZXIobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmhhcyhuYW1lKSA/ICh0aGlzLmNoaWxkcmVuLmdldChuYW1lKSBhcyBOdW1iZXJWYWwpLmdldFZhbHVlKCkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvbmcobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmhhcyhuYW1lKSA/ICh0aGlzLmNoaWxkcmVuLmdldChuYW1lKSBhcyBMb25nVmFsKS5nZXRWYWx1ZSgpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGbG9hdChuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIEZsb2F0VmFsKS5nZXRWYWx1ZSgpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREb3VibGUobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmhhcyhuYW1lKSA/ICh0aGlzLmNoaWxkcmVuLmdldChuYW1lKSBhcyBEb3VibGVWYWwpLmdldFZhbHVlKCkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN0cmluZyhuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIFN0cmluZ1ZhbCkuZ2V0VmFsdWUoKSA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmRlbGV0ZShrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbnRyaWVzKCk6IEl0ZXJhYmxlSXRlcmF0b3I8W3N0cmluZywgYW55XT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5lbnRyaWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5oYXMoa2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5zaXplO1xuICAgIH1cblxuICAgIC8vIFRoYW5rcyBzdGFja292ZXJmbG93ISBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNTk0ODMzNS9ob3ctY2FuLWktY2hlY2staWYtdHdvLW1hcC1vYmplY3RzLWFyZS1lcXVhbFxuICAgIHB1YmxpYyBlcXVhbHModGhhdDogTkJUVGFnQ29tcG91bmQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW4uc2l6ZSAhPT0gdGhhdC5jaGlsZHJlbi5zaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgdGhpcy5jaGlsZHJlbikge1xuICAgICAgICAgICAgY29uc3QgdGVzdFZhbCA9IHRoYXQuY2hpbGRyZW4uZ2V0KGtleSk7XG5cbiAgICAgICAgICAgIGlmICh0ZXN0VmFsID09PSB1bmRlZmluZWQgJiYgIXRoYXQuY2hpbGRyZW4uaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOQlRUYWdDb21wb3VuZCAmJiB0ZXN0VmFsIGluc3RhbmNlb2YgTkJUVGFnQ29tcG91bmQgJiYgIXZhbC5lcXVhbHModGVzdFZhbCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBCeXRlVmFsICYmIHRlc3RWYWwgaW5zdGFuY2VvZiBCeXRlVmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBEb3VibGVWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIERvdWJsZVZhbCAmJiB2YWwuZ2V0VmFsdWUoKSAhPT0gdGVzdFZhbC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgRmxvYXRWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIEZsb2F0VmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBMb25nVmFsICYmIHRlc3RWYWwgaW5zdGFuY2VvZiBMb25nVmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOdW1iZXJWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIE51bWJlclZhbCAmJiB2YWwuZ2V0VmFsdWUoKSAhPT0gdGVzdFZhbC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgU2hvcnRWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIFNob3J0VmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBTdHJpbmdWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIFN0cmluZ1ZhbCAmJiB2YWwuZ2V0VmFsdWUoKSAhPT0gdGVzdFZhbC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkJ5dGVWYWwiLCJEb3VibGVWYWwiLCJGbG9hdFZhbCIsIkxvbmdWYWwiLCJOdW1iZXJWYWwiLCJTaG9ydFZhbCIsIlN0cmluZ1ZhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBY0EsTUFBcUIsY0FBZSxDQUFBO0FBQUEsRUFDeEIsSUFBQTtBQUFBLEVBQ1EsUUFBQSx1QkFBaUMsR0FBSSxFQUFBO0FBQUEsRUFFckQsT0FBYyxZQUFhLENBQUEsSUFBQSxFQUFjLFNBQXNDLEVBQUE7QUFDM0UsSUFBTyxPQUFBLGNBQUEsQ0FBZSxlQUFlLElBQUksWUFBQSxDQUFhLEdBQUcsWUFBYSxDQUFBLElBQUksQ0FBQyxDQUFBLEVBQUcsU0FBUyxDQUFBO0FBQUE7QUFDM0YsRUFFQSxPQUFjLGNBQUEsQ0FBZSxLQUFxQixFQUFBLFNBQUEsRUFBc0IsVUFBVSxLQUF1QixFQUFBO0FBQ3JHLElBQUEsTUFBTSxNQUFvQixHQUFBLElBQUksU0FBVSxDQUFBLEtBQUEsRUFBTyxTQUFTLENBQUE7QUFDeEQsSUFBQSxNQUFBLENBQU8sYUFBYSxPQUFPLENBQUE7QUFDM0IsSUFBQSxPQUFPLE9BQU8sS0FBTSxFQUFBO0FBQUE7QUFDeEIsRUFFTyxXQUFBLENBQVksT0FBc0IsSUFBTSxFQUFBO0FBQzNDLElBQUEsSUFBQSxDQUFLLElBQU8sR0FBQSxJQUFBO0FBQUE7QUFDaEIsRUFFTyxRQUFRLElBQW9CLEVBQUE7QUFDL0IsSUFBQSxJQUFBLENBQUssSUFBTyxHQUFBLElBQUE7QUFBQTtBQUNoQixFQUVPLE9BQXlCLEdBQUE7QUFDNUIsSUFBQSxPQUFPLElBQUssQ0FBQSxJQUFBO0FBQUE7QUFDaEIsRUFFTyxRQUFBLENBQVMsTUFBYyxLQUFrQixFQUFBO0FBQzVDLElBQUEsSUFBSSxLQUFpQixZQUFBLGNBQUEsSUFBa0IsSUFBUyxLQUFBLEtBQUEsQ0FBTSxTQUFXLEVBQUE7QUFDN0QsTUFBTSxNQUFBLElBQUks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
|
package/dist/NBTWriter.cjs.cjs
DELETED
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
-
|
|
5
|
-
const ByteOrder = require('./ByteOrder.cjs.cjs');
|
|
6
|
-
const types_ByteVal = require('./types/ByteVal.cjs.cjs');
|
|
7
|
-
const types_DoubleVal = require('./types/DoubleVal.cjs.cjs');
|
|
8
|
-
const types_FloatVal = require('./types/FloatVal.cjs.cjs');
|
|
9
|
-
const types_LongVal = require('./types/LongVal.cjs.cjs');
|
|
10
|
-
const NBTDefinitions = require('./NBTDefinitions.cjs.cjs');
|
|
11
|
-
const NBTTagCompound = require('./NBTTagCompound.cjs.cjs');
|
|
12
|
-
const types_NumberVal = require('./types/NumberVal.cjs.cjs');
|
|
13
|
-
const types_ShortVal = require('./types/ShortVal.cjs.cjs');
|
|
14
|
-
const types_StringVal = require('./types/StringVal.cjs.cjs');
|
|
15
|
-
|
|
16
|
-
class NBTWriter {
|
|
17
|
-
order;
|
|
18
|
-
buf;
|
|
19
|
-
useVarint = false;
|
|
20
|
-
constructor(out, byteOrder) {
|
|
21
|
-
this.buf = out;
|
|
22
|
-
this.order = byteOrder;
|
|
23
|
-
}
|
|
24
|
-
setUseVarint(useVarint) {
|
|
25
|
-
this.useVarint = useVarint;
|
|
26
|
-
}
|
|
27
|
-
writeList(list) {
|
|
28
|
-
this.writeTagHeader(NBTDefinitions.NBTDefinitions.TAG_LIST, "");
|
|
29
|
-
this.writeListValue(list);
|
|
30
|
-
}
|
|
31
|
-
writeCompound(compound) {
|
|
32
|
-
this.writeTagHeader(NBTDefinitions.NBTDefinitions.TAG_COMPOUND, compound.getName() ?? "");
|
|
33
|
-
this.writeCompoundValue(compound);
|
|
34
|
-
}
|
|
35
|
-
writeTagHeader(type, name) {
|
|
36
|
-
this.writeByteValue(type);
|
|
37
|
-
this.writeStringValue(name);
|
|
38
|
-
}
|
|
39
|
-
writeStringValue(value) {
|
|
40
|
-
if (value !== null) {
|
|
41
|
-
const bytes = Buffer.from(value, "utf8");
|
|
42
|
-
if (this.useVarint) {
|
|
43
|
-
this.buf.writeUnsignedVarInt(Buffer.byteLength(value));
|
|
44
|
-
} else {
|
|
45
|
-
this.writeShortValue(Buffer.byteLength(value));
|
|
46
|
-
}
|
|
47
|
-
this.buf.write(bytes);
|
|
48
|
-
} else if (this.useVarint) {
|
|
49
|
-
this.writeByteValue(0);
|
|
50
|
-
} else {
|
|
51
|
-
this.writeShortValue(0);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
writeByteValue(value) {
|
|
55
|
-
this.buf.writeByte(value);
|
|
56
|
-
}
|
|
57
|
-
writeShortValue(value) {
|
|
58
|
-
if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
59
|
-
this.buf.writeUnsignedShortLE(value);
|
|
60
|
-
} else {
|
|
61
|
-
this.buf.writeUnsignedShort(value);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
writeIntegerValue(value) {
|
|
65
|
-
if (this.useVarint) {
|
|
66
|
-
this.buf.writeVarInt(value);
|
|
67
|
-
} else if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
68
|
-
this.buf.writeUnsignedIntLE(value);
|
|
69
|
-
} else {
|
|
70
|
-
this.buf.writeUnsignedInt(value);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
writeLongValue(value) {
|
|
74
|
-
if (this.useVarint) {
|
|
75
|
-
this.buf.writeVarLong(value);
|
|
76
|
-
} else if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
77
|
-
this.buf.writeUnsignedLongLE(value);
|
|
78
|
-
} else {
|
|
79
|
-
this.buf.writeUnsignedLong(value);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
writeFloatValue(value) {
|
|
83
|
-
if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
84
|
-
this.buf.writeFloatLE(value);
|
|
85
|
-
} else {
|
|
86
|
-
this.buf.writeFloat(value);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
writeDoubleValue(value) {
|
|
90
|
-
if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
91
|
-
this.buf.writeDoubleLE(value);
|
|
92
|
-
} else {
|
|
93
|
-
this.buf.writeDouble(value);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
writeByteArrayValue(value) {
|
|
97
|
-
this.writeIntegerValue(value.length);
|
|
98
|
-
this.buf.write(value);
|
|
99
|
-
}
|
|
100
|
-
writeIntegerArrayValue(value) {
|
|
101
|
-
this.writeIntegerValue(value.length);
|
|
102
|
-
value.forEach((v) => {
|
|
103
|
-
this.writeIntegerValue(v);
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
writeListValue(value) {
|
|
107
|
-
if (value.size > 0) {
|
|
108
|
-
const listNbtType = this.getNBTTypeFromValue(value.entries().next().value);
|
|
109
|
-
this.writeByteValue(listNbtType);
|
|
110
|
-
this.writeIntegerValue(value.size);
|
|
111
|
-
for (const rawValue of value) {
|
|
112
|
-
switch (listNbtType) {
|
|
113
|
-
case NBTDefinitions.NBTDefinitions.TAG_BYTE:
|
|
114
|
-
this.writeByteValue(rawValue.getValue());
|
|
115
|
-
break;
|
|
116
|
-
case NBTDefinitions.NBTDefinitions.TAG_SHORT:
|
|
117
|
-
this.writeShortValue(rawValue.getValue());
|
|
118
|
-
break;
|
|
119
|
-
case NBTDefinitions.NBTDefinitions.TAG_INT:
|
|
120
|
-
this.writeIntegerValue(rawValue.getValue());
|
|
121
|
-
break;
|
|
122
|
-
case NBTDefinitions.NBTDefinitions.TAG_LONG:
|
|
123
|
-
this.writeLongValue(rawValue.getValue());
|
|
124
|
-
break;
|
|
125
|
-
case NBTDefinitions.NBTDefinitions.TAG_FLOAT:
|
|
126
|
-
this.writeFloatValue(rawValue.getValue());
|
|
127
|
-
break;
|
|
128
|
-
case NBTDefinitions.NBTDefinitions.TAG_DOUBLE:
|
|
129
|
-
this.writeDoubleValue(rawValue.getValue());
|
|
130
|
-
break;
|
|
131
|
-
case NBTDefinitions.NBTDefinitions.TAG_BYTE_ARRAY:
|
|
132
|
-
this.writeDoubleValue(rawValue);
|
|
133
|
-
break;
|
|
134
|
-
case NBTDefinitions.NBTDefinitions.TAG_STRING:
|
|
135
|
-
this.writeStringValue(rawValue.getValue());
|
|
136
|
-
break;
|
|
137
|
-
case NBTDefinitions.NBTDefinitions.TAG_LIST:
|
|
138
|
-
this.writeListValue(rawValue);
|
|
139
|
-
break;
|
|
140
|
-
case NBTDefinitions.NBTDefinitions.TAG_COMPOUND:
|
|
141
|
-
this.writeCompoundValue(rawValue);
|
|
142
|
-
break;
|
|
143
|
-
case NBTDefinitions.NBTDefinitions.TAG_INT_ARRAY:
|
|
144
|
-
this.writeIntegerArrayValue(rawValue);
|
|
145
|
-
break;
|
|
146
|
-
default:
|
|
147
|
-
throw new Error("Invalid NBTTagType");
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
} else {
|
|
151
|
-
this.writeByteValue(NBTDefinitions.NBTDefinitions.TAG_BYTE);
|
|
152
|
-
this.writeIntegerValue(0);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
writeCompoundValue(compound) {
|
|
156
|
-
for (const [key, value] of compound.entries()) {
|
|
157
|
-
const nbtType = this.getNBTTypeFromValue(value);
|
|
158
|
-
this.writeTagHeader(nbtType, key);
|
|
159
|
-
switch (nbtType) {
|
|
160
|
-
case NBTDefinitions.NBTDefinitions.TAG_BYTE:
|
|
161
|
-
this.writeByteValue(value.getValue());
|
|
162
|
-
break;
|
|
163
|
-
case NBTDefinitions.NBTDefinitions.TAG_SHORT:
|
|
164
|
-
this.writeShortValue(value.getValue());
|
|
165
|
-
break;
|
|
166
|
-
case NBTDefinitions.NBTDefinitions.TAG_INT:
|
|
167
|
-
this.writeIntegerValue(value.getValue());
|
|
168
|
-
break;
|
|
169
|
-
case NBTDefinitions.NBTDefinitions.TAG_LONG:
|
|
170
|
-
this.writeLongValue(value.getValue());
|
|
171
|
-
break;
|
|
172
|
-
case NBTDefinitions.NBTDefinitions.TAG_FLOAT:
|
|
173
|
-
this.writeFloatValue(value.getValue());
|
|
174
|
-
break;
|
|
175
|
-
case NBTDefinitions.NBTDefinitions.TAG_DOUBLE:
|
|
176
|
-
this.writeDoubleValue(value.getValue());
|
|
177
|
-
break;
|
|
178
|
-
case NBTDefinitions.NBTDefinitions.TAG_BYTE_ARRAY:
|
|
179
|
-
this.writeByteArrayValue(value);
|
|
180
|
-
break;
|
|
181
|
-
case NBTDefinitions.NBTDefinitions.TAG_STRING:
|
|
182
|
-
this.writeStringValue(value.getValue());
|
|
183
|
-
break;
|
|
184
|
-
case NBTDefinitions.NBTDefinitions.TAG_LIST:
|
|
185
|
-
this.writeListValue(value);
|
|
186
|
-
break;
|
|
187
|
-
case NBTDefinitions.NBTDefinitions.TAG_COMPOUND:
|
|
188
|
-
this.writeCompoundValue(value);
|
|
189
|
-
break;
|
|
190
|
-
case NBTDefinitions.NBTDefinitions.TAG_INT_ARRAY:
|
|
191
|
-
this.writeIntegerValue(value);
|
|
192
|
-
break;
|
|
193
|
-
default:
|
|
194
|
-
throw new Error("Invalid NBTTagType");
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
this.writeByteValue(NBTDefinitions.NBTDefinitions.TAG_END);
|
|
198
|
-
}
|
|
199
|
-
getNBTTypeFromValue(value) {
|
|
200
|
-
if (value instanceof types_ByteVal.default) {
|
|
201
|
-
return NBTDefinitions.NBTDefinitions.TAG_BYTE;
|
|
202
|
-
}
|
|
203
|
-
if (value instanceof types_ShortVal.default) {
|
|
204
|
-
return NBTDefinitions.NBTDefinitions.TAG_SHORT;
|
|
205
|
-
}
|
|
206
|
-
if (value instanceof types_NumberVal.default) {
|
|
207
|
-
return NBTDefinitions.NBTDefinitions.TAG_INT;
|
|
208
|
-
}
|
|
209
|
-
if (value instanceof types_LongVal.default) {
|
|
210
|
-
return NBTDefinitions.NBTDefinitions.TAG_LONG;
|
|
211
|
-
}
|
|
212
|
-
if (value instanceof types_FloatVal.default) {
|
|
213
|
-
return NBTDefinitions.NBTDefinitions.TAG_FLOAT;
|
|
214
|
-
}
|
|
215
|
-
if (value instanceof types_DoubleVal.default) {
|
|
216
|
-
return NBTDefinitions.NBTDefinitions.TAG_DOUBLE;
|
|
217
|
-
}
|
|
218
|
-
if (value instanceof Buffer) {
|
|
219
|
-
return NBTDefinitions.NBTDefinitions.TAG_BYTE_ARRAY;
|
|
220
|
-
}
|
|
221
|
-
if (value instanceof types_StringVal.default) {
|
|
222
|
-
return NBTDefinitions.NBTDefinitions.TAG_STRING;
|
|
223
|
-
}
|
|
224
|
-
if (value instanceof Set) {
|
|
225
|
-
return NBTDefinitions.NBTDefinitions.TAG_LIST;
|
|
226
|
-
}
|
|
227
|
-
if (value instanceof NBTTagCompound.default) {
|
|
228
|
-
return NBTDefinitions.NBTDefinitions.TAG_COMPOUND;
|
|
229
|
-
}
|
|
230
|
-
if (Array.isArray(value)) {
|
|
231
|
-
return NBTDefinitions.NBTDefinitions.TAG_INT_ARRAY;
|
|
232
|
-
}
|
|
233
|
-
throw new TypeError(`Invalid NBT Data: Cannot deduce NBT type of class ${value.constructor.name} (${value})`);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
exports.default = NBTWriter;
|
|
238
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkJUV3JpdGVyLmNqcy5janMiLCJzb3VyY2VzIjpbIi4uL3NyYy9OQlRXcml0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgQmluYXJ5U3RyZWFtIGZyb20gJ0Bqc3ByaXNtYXJpbmUvanNiaW5hcnl1dGlscyc7XG5pbXBvcnQgeyBCeXRlT3JkZXIgfSBmcm9tICcuL0J5dGVPcmRlcic7XG5pbXBvcnQgQnl0ZVZhbCBmcm9tICcuL3R5cGVzL0J5dGVWYWwnO1xuaW1wb3J0IERvdWJsZVZhbCBmcm9tICcuL3R5cGVzL0RvdWJsZVZhbCc7XG5pbXBvcnQgRmxvYXRWYWwgZnJvbSAnLi90eXBlcy9GbG9hdFZhbCc7XG5pbXBvcnQgTG9uZ1ZhbCBmcm9tICcuL3R5cGVzL0xvbmdWYWwnO1xuaW1wb3J0IHsgTkJURGVmaW5pdGlvbnMgfSBmcm9tICcuL05CVERlZmluaXRpb25zJztcbmltcG9ydCBOQlRUYWdDb21wb3VuZCBmcm9tICcuL05CVFRhZ0NvbXBvdW5kJztcbmltcG9ydCBOdW1iZXJWYWwgZnJvbSAnLi90eXBlcy9OdW1iZXJWYWwnO1xuaW1wb3J0IFNob3J0VmFsIGZyb20gJy4vdHlwZXMvU2hvcnRWYWwnO1xuaW1wb3J0IFN0cmluZ1ZhbCBmcm9tICcuL3R5cGVzL1N0cmluZ1ZhbCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5CVFdyaXRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmRlcjogQnl0ZU9yZGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYnVmOiBCaW5hcnlTdHJlYW07XG5cbiAgICBwcml2YXRlIHVzZVZhcmludCA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKG91dDogQmluYXJ5U3RyZWFtLCBieXRlT3JkZXI6IEJ5dGVPcmRlcikge1xuICAgICAgICB0aGlzLmJ1ZiA9IG91dDtcbiAgICAgICAgdGhpcy5vcmRlciA9IGJ5dGVPcmRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VXNlVmFyaW50KHVzZVZhcmludDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZVZhcmludCA9IHVzZVZhcmludDtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVMaXN0KGxpc3Q6IFNldDxhbnk+KTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVUYWdIZWFkZXIoTkJURGVmaW5pdGlvbnMuVEFHX0xJU1QsICcnKTtcbiAgICAgICAgdGhpcy53cml0ZUxpc3RWYWx1ZShsaXN0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVDb21wb3VuZChjb21wb3VuZDogTkJUVGFnQ29tcG91bmQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVRhZ0hlYWRlcihOQlREZWZpbml0aW9ucy5UQUdfQ09NUE9VTkQsIGNvbXBvdW5kLmdldE5hbWUoKSA/PyAnJyk7XG4gICAgICAgIHRoaXMud3JpdGVDb21wb3VuZFZhbHVlKGNvbXBvdW5kKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlVGFnSGVhZGVyKHR5cGU6IG51bWJlciwgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVCeXRlVmFsdWUodHlwZSk7XG4gICAgICAgIHRoaXMud3JpdGVTdHJpbmdWYWx1ZShuYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlU3RyaW5nVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBieXRlcyA9IEJ1ZmZlci5mcm9tKHZhbHVlLCAndXRmOCcpO1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlVmFyaW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZFZhckludChCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLndyaXRlU2hvcnRWYWx1ZShCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmJ1Zi53cml0ZShieXRlcyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2VWYXJpbnQpIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVCeXRlVmFsdWUoMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlU2hvcnRWYWx1ZSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZUJ5dGVWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVmLndyaXRlQnl0ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlU2hvcnRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yZGVyID09PSBCeXRlT3JkZXIuTElUVExFX0VORElBTikge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZFNob3J0TEUodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZFNob3J0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgd3JpdGVJbnRlZ2VyVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy51c2VWYXJpbnQpIHtcbiAgICAgICAgICAgIHRoaXMuYnVmLndyaXRlVmFySW50KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyID09PSBCeXRlT3JkZXIuTElUVExFX0VORElBTikge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZEludExFKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnVmLndyaXRlVW5zaWduZWRJbnQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3cml0ZUxvbmdWYWx1ZSh2YWx1ZTogYmlnaW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnVzZVZhcmludCkge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVWYXJMb25nKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyID09PSBCeXRlT3JkZXIuTElUVExFX0VORElBTikge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZExvbmdMRSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1Zi53cml0ZVVuc2lnbmVkTG9uZyh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlRmxvYXRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yZGVyID09PSBCeXRlT3JkZXIuTElUVExFX0VORElBTikge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVGbG9hdExFKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnVmLndyaXRlRmxvYXQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3cml0ZURvdWJsZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3JkZXIgPT09IEJ5dGVPcmRlci5MSVRUTEVfRU5ESUFOKSB7XG4gICAgICAgICAgICB0aGlzLmJ1Zi53cml0ZURvdWJsZUxFKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnVmLndyaXRlRG91YmxlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgd3JpdGVCeXRlQXJyYXlWYWx1ZSh2YWx1ZTogQnVmZmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVJbnRlZ2VyVmFsdWUodmFsdWUubGVuZ3RoKTtcbiAgICAgICAgdGhpcy5idWYud3JpdGUodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgd3JpdGVJbnRlZ2VyQXJyYXlWYWx1ZSh2YWx1ZTogbnVtYmVyW10pIHtcbiAgICAgICAgdGhpcy53cml0ZUludGVnZXJWYWx1ZSh2YWx1ZS5sZW5ndGgpO1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgICB0aGlzLndyaXRlSW50ZWdlclZhbHVlKHYpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlTGlzdFZhbHVlKHZhbHVlOiBTZXQ8YW55Pik6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3ROYnRUeXBlID0gdGhpcy5nZXROQlRUeXBlRnJvbVZhbHVlKHZhbHVlLmVudHJpZXMoKS5uZXh0KCkudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy53cml0ZUJ5dGVWYWx1ZShsaXN0TmJ0VHlwZSk7XG4gICAgICAgICAgICB0aGlzLndyaXRlSW50ZWdlclZhbHVlKHZhbHVlLnNpemUpO1xuICAgICAgICAgICAgZm9yIChjb25zdCByYXdWYWx1ZSBvZiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAobGlzdE5idFR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfQllURTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVCeXRlVmFsdWUocmF3VmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfU0hPUlQ6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlU2hvcnRWYWx1ZShyYXdWYWx1ZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19JTlQ6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlSW50ZWdlclZhbHVlKHJhd1ZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0xPTkc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlTG9uZ1ZhbHVlKHJhd1ZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0ZMT0FUOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUZsb2F0VmFsdWUocmF3VmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfRE9VQkxFOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZURvdWJsZVZhbHVlKHJhd1ZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0JZVEVfQVJSQVk6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlRG91YmxlVmFsdWUocmF3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX1NUUklORzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVTdHJpbmdWYWx1ZShyYXdWYWx1ZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19MSVNUOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUxpc3RWYWx1ZShyYXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfQ09NUE9VTkQ6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQ29tcG91bmRWYWx1ZShyYXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfSU5UX0FSUkFZOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUludGVnZXJBcnJheVZhbHVlKHJhd1ZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIE5CVFRhZ1R5cGUnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlQnl0ZVZhbHVlKE5CVERlZmluaXRpb25zLlRBR19CWVRFKTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVJbnRlZ2VyVmFsdWUoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlQ29tcG91bmRWYWx1ZShjb21wb3VuZDogTkJUVGFnQ29tcG91bmQpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgY29tcG91bmQuZW50cmllcygpKSB7XG4gICAgICAgICAgICBjb25zdCBuYnRUeXBlID0gdGhpcy5nZXROQlRUeXBlRnJvbVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVUYWdIZWFkZXIobmJ0VHlwZSwga2V5KTtcbiAgICAgICAgICAgIHN3aXRjaCAobmJ0VHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0JZVEU6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVCeXRlVmFsdWUodmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX1NIT1JUOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlU2hvcnRWYWx1ZSh2YWx1ZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfSU5UOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlSW50ZWdlclZhbHVlKHZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19MT05HOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlTG9uZ1ZhbHVlKHZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19GTE9BVDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUZsb2F0VmFsdWUodmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0RPVUJMRTpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZURvdWJsZVZhbHVlKHZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19CWVRFX0FSUkFZOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQnl0ZUFycmF5VmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19TVFJJTkc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVTdHJpbmdWYWx1ZSh2YWx1ZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfTElTVDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUxpc3RWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0NPTVBPVU5EOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQ29tcG91bmRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0lOVF9BUlJBWTpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUludGVnZXJWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBOQlRUYWdUeXBlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndyaXRlQnl0ZVZhbHVlKE5CVERlZmluaXRpb25zLlRBR19FTkQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TkJUVHlwZUZyb21WYWx1ZSh2YWx1ZTogYW55KTogTkJURGVmaW5pdGlvbnMge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCeXRlVmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0JZVEU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgU2hvcnRWYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBOQlREZWZpbml0aW9ucy5UQUdfU0hPUlQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTnVtYmVyVmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0lOVDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBMb25nVmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0xPTkc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmxvYXRWYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBOQlREZWZpbml0aW9ucy5UQUdfRkxPQVQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRG91YmxlVmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0RPVUJMRTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBOQlREZWZpbml0aW9ucy5UQUdfQllURV9BUlJBWTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBTdHJpbmdWYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBOQlREZWZpbml0aW9ucy5UQUdfU1RSSU5HO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICAgICAgcmV0dXJuIE5CVERlZmluaXRpb25zLlRBR19MSVNUO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE5CVFRhZ0NvbXBvdW5kKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0NPTVBPVU5EO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIE5CVERlZmluaXRpb25zLlRBR19JTlRfQVJSQVk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIE5CVCBEYXRhOiBDYW5ub3QgZGVkdWNlIE5CVCB0eXBlIG9mIGNsYXNzICR7dmFsdWUuY29uc3RydWN0b3IubmFtZX0gKCR7dmFsdWV9KWApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJOQlREZWZpbml0aW9ucyIsIkJ5dGVPcmRlciIsIkJ5dGVWYWwiLCJTaG9ydFZhbCIsIk51bWJlclZhbCIsIkxvbmdWYWwiLCJGbG9hdFZhbCIsIkRvdWJsZVZhbCIsIlN0cmluZ1ZhbCIsIk5CVFRhZ0NvbXBvdW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFZQSxNQUFxQixTQUFVLENBQUE7QUFBQSxFQUNWLEtBQUE7QUFBQSxFQUNBLEdBQUE7QUFBQSxFQUVULFNBQVksR0FBQSxLQUFBO0FBQUEsRUFFYixXQUFBLENBQVksS0FBbUIsU0FBc0IsRUFBQTtBQUN4RCxJQUFBLElBQUEsQ0FBSyxHQUFNLEdBQUEsR0FBQTtBQUNYLElBQUEsSUFBQSxDQUFLLEtBQVEsR0FBQSxTQUFBO0FBQUE7QUFDakIsRUFFTyxhQUFhLFNBQTBCLEVBQUE7QUFDMUMsSUFBQSxJQUFBLENBQUssU0FBWSxHQUFBLFNBQUE7QUFBQTtBQUNyQixFQUVPLFVBQVUsSUFBc0IsRUFBQTtBQUNuQyxJQUFLLElBQUEsQ0FBQSxjQUFBLENBQWVBLDZCQUFlLENBQUEsUUFBQSxFQUFVLEVBQUUsQ0FBQTtBQUMvQyxJQUFBLElBQUEsQ0FBSyxlQUFlLElBQUksQ0FBQTtBQUFBO0FBQzVCLEVBRU8sY0FBYyxRQUFnQyxFQUFBO0FBQ2pELElBQUEsSUFBQSxDQUFLLGVBQWVBLDZCQUFlLENBQUEsWUFBQSxFQUFjLFFBQVMsQ0FBQSxPQUFBLE1BQWEsRUFBRSxDQUFBO0FBQ3pFLElBQUEsSUFBQSxDQUFLLG1CQUFtQixRQUFRLENBQUE7QUFBQTtBQUNwQyxFQUVRLGNBQUEsQ0FBZSxNQUFjLElBQW9CLEVBQUE7QUFDckQsSUFBQSxJQUFBLENBQUssZUFBZSxJQUFJLENBQUE7QUFDeEIsSUFBQSxJQUFBLENBQUssaUJBQWlCLElBQUksQ0FBQTtBQUFBO0FBQzlCLEVBRVEsaUJBQWlCLEtBQTRCLEVBQUE7QUFDakQsSUFBQSxJQUFJLFVBQVUsSUFBTSxFQUFBO0FBQ2hCLE1BQUEsTUFBTSxLQUFRLEdBQUEsTUFBQSxDQUFPLElBQUssQ0FBQSxLQUFBLEVBQU8sTUFBTSxDQUFBO0FBQ3ZDLE1BQUEsSUFBSSxLQUFLLFNBQVcsRUFBQTtBQUNoQixRQUFBLElBQUEsQ0FBSyxHQUFJLENBQUEsbUJBQUEsQ0FBb0IsTUFBTyxDQUFBLFVBQUEsQ0FBVyxLQUFLLENBQUMsQ0FBQTtBQUFBLE9BQ2xELE1BQUE7QUFDSCxRQUFBLElBQUEsQ0FBSyxlQUFnQixDQUFBLE1BQUEsQ0FBTyxVQUFXLENBQUEsS0FBSyxDQUFDLENBQUE7QUFBQTtBQUdqRCxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksTUFBTSxLQUFLLENBQUE7QUFBQSxLQUN4QixNQUFBLElBQVcsS0FBSyxTQUFXLEVBQUE7QUFDdkIsTUFBQSxJQUFBLENBQUssZUFBZSxDQUFDLENBQUE7QUFBQSxLQUNsQixNQUFBO0FBQ0gsTUFBQSxJQUFBLENBQUssZ0JBQWdCLENBQUMsQ0FBQTtBQUFBO0FBQzFCO0FBQ0osRUFFTyxlQUFlLEtBQXFCLEVBQUE7QUFDdkMsSUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLFVBQVUsS0FBSyxDQUFBO0FBQUE7QUFDNUIsRUFFTyxnQkFBZ0IsS0FBcUIsRUFBQTtBQUN4QyxJQUFJLElBQUEsSUFBQSxDQUFLLEtBQVUsS0FBQUMsbUJBQUEsQ0FBVSxhQUFlLEVBQUE7QUFDeEMsTUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLHFCQUFxQixLQUFLLENBQUE7QUFBQSxLQUNoQyxNQUFBO0FBQ0gsTUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLG1CQUFtQixLQUFLLENBQUE7QUFBQTtBQUNyQztBQUNKLEVBRVEsa0JBQWtCLEtBQXFCLEVBQUE7QUFDM0MsSUFBQSxJQUFJLEtBQUssU0FBVyxFQUFBO0FBQ2hCLE1BQUssSUFBQSxDQUFBLEdBQUEsQ0FBSSxZQUFZLEtBQUssQ0FBQTtBQUFBLEtBQ25CLE1BQUEsSUFBQSxJQUFBLENBQUssS0FBVSxLQUFBQSxtQkFBQSxDQUFVLGFBQWUsRUFBQTtBQUMvQyxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksbUJBQW1CLEtBQUssQ0FBQTtBQUFBLEtBQzlCLE1BQUE7QUFDSCxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksaUJBQWlCLEtBQUssQ0FBQTtBQUFBO0FBQ25DO0FBQ0osRUFFUSxlQUFlLEtBQXFCLEVBQUE7QUFDeEMsSUFBQSxJQUFJLEtBQUssU0FBVyxFQUFBO0FBQ2hCLE1BQUssSUFBQSxDQUFBLEdBQUEsQ0FBSSxhQUFhLEtBQUssQ0FBQTtBQUFBLEtBQ3BCLE1BQUEsSUFBQSxJQUFBLENBQUssS0FBVSxLQUFBQSxtQkFBQSxDQUFVLGFBQWUsRUFBQTtBQUMvQyxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksb0JBQW9CLEtBQUssQ0FBQTtBQUFBLEtBQy9CLE1BQUE7QUFDSCxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksa0JBQWtCLEtBQUssQ0FBQTtBQUFBO0FBQ3BDO0FBQ0osRUFFUSxnQkFBZ0IsS0FBcUIsRUFBQTtBQUN6QyxJQUFJLElBQUEsSUFBQSxDQUFLLEtBQVUsS0FBQUEsbUJBQUEsQ0FBVSxhQUFlLEVBQUE7QUFDeEMsTUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLGFBQWEsS0FBSyxDQUFBO0FBQUEsS0FDeEIsTUFBQTtBQUNILE1BQUssSUFBQSxDQUFBLEdBQUEsQ0FBSSxXQUFXLEtBQUssQ0FBQTtBQUFBO0FBQzdCO0FBQ0osRUFFUSxpQkFBaUIsS0FBcUIsRUFBQTtBQUMxQyxJQUFJLElBQUEsSUFBQSxDQUFLLEtBQVUsS0FBQUEsbUJBQUEsQ0FBVSxhQUFlLEVBQUE7QUFDeEMsTUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLGNBQWMsS0FBSyxDQUFBO0FBQUEsS0FDekIsTUFBQTtBQUNILE1BQUssSUFBQSxDQUFBLEdBQUEsQ0FBSSxZQUFZLEtBQUssQ0FBQTtBQUFBO0FBQzlCO0FBQ0osRUFFUSxvQkFBb0IsS0FBcUIsRUFBQTtBQUM3QyxJQUFLLElBQUEsQ0FBQSxpQkFBQSxDQUFrQixNQUFNLE1BQU0sQ0FBQTtBQUNuQyxJQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksTUFBTSxLQUFLLENBQUE7QUFBQTtBQUN4QixFQUVRLHVCQUF1QixLQUFpQixFQUFBO0FBQzVDLElBQUssSUFBQSxDQUFBLGlCQUFBLENBQWtCLE1BQU0sTUFBTSxDQUFBO0FBQ25DLElBQU0sS0FBQSxDQUFBLE9BQUEsQ0FBUSxDQUFDLENBQU0sS0FBQTtBQUNqQixNQUFBLElBQUEsQ0FBSyxrQkFBa0IsQ0FBQyxDQUFBO0FBQUEsS0FDM0IsQ0FBQTtBQUFBO0FBQ0wsRUFFUSxlQUFlLEtBQXVCLEVBQUE7QUFDMUMsSUFBSSxJQUFBLEtBQUEsQ0FBTSxPQUFPLENBQUcsRUFBQTtBQUNoQixNQUFNLE1BQUEsV0FBQSxHQUFjLEtBQUssbUJBQW9CLENBQUEsS0FBQSxDQUFNLFNBQVUsQ0FBQSxJQUFBLEdBQU8sS0FBSyxDQUFBO0FBQ3pFLE1BQUEsSUFBQSxDQUFLLGVBQWUsV0FBVyxDQUFBO0FBQy9CLE1BQUssSUFBQSxDQUFBLGlCQUFBLENBQWtCLE1BQU0sSUFBSSxDQUFBO0FBQ2pDLE1BQUEsS0FBQSxNQUFXLFlBQVksS0FBTyxFQUFBO0FBQzFCLFFBQUEsUUFBUSxXQUFhO0FBQUEsVUFDakIsS0FBS0QsNkJBQWUsQ0FBQSxRQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxRQUFTLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDdkMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxTQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGVBQUEsQ0FBZ0IsUUFBUyxDQUFBLFFBQUEsRUFBVSxDQUFBO0FBQ3hDLFlBQUE7QUFBQSxVQUNKLEtBQUtBLDZCQUFlLENBQUEsT0FBQTtBQUNoQixZQUFLLElBQUEsQ0FBQSxpQkFBQSxDQUFrQixRQUFTLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDMUMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxRQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxRQUFTLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDdkMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxTQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGVBQUEsQ0FBZ0IsUUFBUyxDQUFBLFFBQUEsRUFBVSxDQUFBO0FBQ3hDLFlBQUE7QUFBQSxVQUNKLEtBQUtBLDZCQUFlLENBQUEsVUFBQTtBQUNoQixZQUFLLElBQUEsQ0FBQSxnQkFBQSxDQUFpQixRQUFTLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDekMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxjQUFBO0FBQ2hCLFlBQUEsSUFBQSxDQUFLLGlCQUFpQixRQUFRLENBQUE7QUFDOUIsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxVQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGdCQUFBLENBQWlCLFFBQVMsQ0FBQSxRQUFBLEVBQVUsQ0FBQTtBQUN6QyxZQUFBO0FBQUEsVUFDSixLQUFLQSw2QkFBZSxDQUFBLFFBQUE7QUFDaEIsWUFBQSxJQUFBLENBQUssZUFBZSxRQUFRLENBQUE7QUFDNUIsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxZQUFBO0FBQ2hCLFlBQUEsSUFBQSxDQUFLLG1CQUFtQixRQUFRLENBQUE7QUFDaEMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxhQUFBO0FBQ2hCLFlBQUEsSUFBQSxDQUFLLHVCQUF1QixRQUFRLENBQUE7QUFDcEMsWUFBQTtBQUFBLFVBQ0o7QUFDSSxZQUFNLE1BQUEsSUFBSSxNQUFNLG9CQUFvQixDQUFBO0FBQUE7QUFDNUM7QUFDSixLQUNHLE1BQUE7QUFDSCxNQUFLLElBQUEsQ0FBQSxjQUFBLENBQWVBLDhCQUFlLFFBQVEsQ0FBQTtBQUMzQyxNQUFBLElBQUEsQ0FBSyxrQkFBa0IsQ0FBQyxDQUFBO0FBQUE7QUFDNUI7QUFDSixFQUVRLG1CQUFtQixRQUFnQyxFQUFBO0FBQ3ZELElBQUEsS0FBQSxNQUFXLENBQUMsR0FBSyxFQUFBLEtBQUssQ0FBSyxJQUFBLFFBQUEsQ0FBUyxTQUFXLEVBQUE7QUFDM0MsTUFBTSxNQUFBLE9BQUEsR0FBVSxJQUFLLENBQUEsbUJBQUEsQ0FBb0IsS0FBSyxDQUFBO0FBQzlDLE1BQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxTQUFTLEdBQUcsQ0FBQTtBQUNoQyxNQUFBLFFBQVEsT0FBUztBQUFBLFFBQ2IsS0FBS0EsNkJBQWUsQ0FBQSxRQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxLQUFNLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDcEMsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxTQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGVBQUEsQ0FBZ0IsS0FBTSxDQUFBLFFBQUEsRUFBVSxDQUFBO0FBQ3JDLFVBQUE7QUFBQSxRQUNKLEtBQUtBLDZCQUFlLENBQUEsT0FBQTtBQUNoQixVQUFLLElBQUEsQ0FBQSxpQkFBQSxDQUFrQixLQUFNLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDdkMsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxRQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxLQUFNLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDcEMsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxTQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGVBQUEsQ0FBZ0IsS0FBTSxDQUFBLFFBQUEsRUFBVSxDQUFBO0FBQ3JDLFVBQUE7QUFBQSxRQUNKLEtBQUtBLDZCQUFlLENBQUEsVUFBQTtBQUNoQixVQUFLLElBQUEsQ0FBQSxnQkFBQSxDQUFpQixLQUFNLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDdEMsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxjQUFBO0FBQ2hCLFVBQUEsSUFBQSxDQUFLLG9CQUFvQixLQUFLLENBQUE7QUFDOUIsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxVQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGdCQUFBLENBQWlCLEtBQU0sQ0FBQSxRQUFBLEVBQVUsQ0FBQTtBQUN0QyxVQUFBO0FBQUEsUUFDSixLQUFLQSw2QkFBZSxDQUFBLFFBQUE7QUFDaEIsVUFBQSxJQUFBLENBQUssZUFBZSxLQUFLLENBQUE7QUFDekIsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxZQUFBO0FBQ2hCLFVBQUEsSUFBQSxDQUFLLG1CQUFtQixLQUFLLENBQUE7QUFDN0IsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxhQUFBO0FBQ2hCLFVBQUEsSUFBQSxDQUFLLGtCQUFrQixLQUFLLENBQUE7QUFDNUIsVUFBQTtBQUFBLFFBQ0o7QUFDSSxVQUFNLE1BQUEsSUFBSSxNQUFNLG9CQUFvQixDQUFBO0FBQUE7QUFDNUM7QUFHSixJQUFLLElBQUEsQ0FBQSxjQUFBLENBQWVBLDhCQUFlLE9BQU8sQ0FBQTtBQUFBO0FBQzlDLEVBRVEsb0JBQW9CLEtBQTRCLEVBQUE7QUFDcEQsSUFBQSxJQUFJLGlCQUFpQkUscUJBQVMsRUFBQTtBQUMxQixNQUFBLE9BQU9GLDZCQUFlLENBQUEsUUFBQTtBQUFBO0FBRTFCLElBQUEsSUFBSSxpQkFBaUJHLHNCQUFVLEVBQUE7QUFDM0IsTUFBQSxPQUFPSCw2QkFBZSxDQUFBLFNBQUE7QUFBQTtBQUUxQixJQUFBLElBQUksaUJBQWlCSSx1QkFBVyxFQUFBO0FBQzVCLE1BQUEsT0FBT0osNkJBQWUsQ0FBQSxPQUFBO0FBQUE7QUFFMUIsSUFBQSxJQUFJLGlCQUFpQksscUJBQVMsRUFBQTtBQUMxQixNQUFBLE9BQU9MLDZCQUFlLENBQUEsUUFBQTtBQUFBO0FBRTFCLElBQUEsSUFBSSxpQkFBaUJNLHNCQUFVLEVBQUE7QUFDM0IsTUFBQSxPQUFPTiw2QkFBZSxDQUFBLFNBQUE7QUFBQTtBQUUxQixJQUFBLElBQUksaUJBQWlCTyx1QkFBVyxFQUFBO0FBQzVCLE1BQUEsT0FBT1AsNkJBQWUsQ0FBQSxVQUFBO0FBQUE7QUFFMUIsSUFBQSxJQUFJLGlCQUFpQixNQUFRLEVBQUE7QUFDekIsTUFBQSxPQUFPQSw2QkFBZSxDQUFBLGNBQUE7QUFBQTtBQUUxQixJQUFBLElBQUksaUJBQWlCUSx1QkFBVyxFQUFBO0FBQzVCLE1BQUEsT0FBT1IsNkJBQWUsQ0FBQSxVQUFBO0FBQUE7QUFFMUIsSUFBQSxJQUFJLGlCQUFpQixHQUFLLEVBQUE7QUFDdEIsTUFBQSxPQUFPQSw2QkFBZSxDQUFBLFFBQUE7QUFBQTtBQUUxQixJQUFBLElBQUksaUJBQWlCUyxzQkFBZ0IsRUFBQTtBQUNqQyxNQUFBLE9BQU9ULDZCQUFlLENBQUEsWUFBQTtBQUFBO0FBRTFCLElBQUksSUFBQSxLQUFBLENBQU0sT0FBUSxDQUFBLEtBQUssQ0FBRyxFQUFBO0FBQ3RCLE1BQUEsT0FBT0EsNkJBQWUsQ0FBQSxhQUFBO0FBQUE7QUFHMUIsSUFBTSxNQUFBLElBQUksVUFBVSxDQUFxRCxrREFBQSxFQUFBLEtBQUEsQ0FBTSxZQUFZLElBQUksQ0FBQSxFQUFBLEVBQUssS0FBSyxDQUFHLENBQUEsQ0FBQSxDQUFBO0FBQUE7QUFFcEg7Ozs7In0=
|
package/dist/NBTWriter.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { default as BinaryStream } from '@jsprismarine/jsbinaryutils';
|
|
2
|
-
import { ByteOrder } from './ByteOrder';
|
|
3
|
-
import { default as NBTTagCompound } from './NBTTagCompound';
|
|
4
|
-
export default class NBTWriter {
|
|
5
|
-
private readonly order;
|
|
6
|
-
private readonly buf;
|
|
7
|
-
private useVarint;
|
|
8
|
-
constructor(out: BinaryStream, byteOrder: ByteOrder);
|
|
9
|
-
setUseVarint(useVarint: boolean): void;
|
|
10
|
-
writeList(list: Set<any>): void;
|
|
11
|
-
writeCompound(compound: NBTTagCompound): void;
|
|
12
|
-
private writeTagHeader;
|
|
13
|
-
private writeStringValue;
|
|
14
|
-
writeByteValue(value: number): void;
|
|
15
|
-
writeShortValue(value: number): void;
|
|
16
|
-
private writeIntegerValue;
|
|
17
|
-
private writeLongValue;
|
|
18
|
-
private writeFloatValue;
|
|
19
|
-
private writeDoubleValue;
|
|
20
|
-
private writeByteArrayValue;
|
|
21
|
-
private writeIntegerArrayValue;
|
|
22
|
-
private writeListValue;
|
|
23
|
-
private writeCompoundValue;
|
|
24
|
-
private getNBTTypeFromValue;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=NBTWriter.d.ts.map
|
package/dist/NBTWriter.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NBTWriter.d.ts","sourceRoot":"","sources":["../src/NBTWriter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAK9C,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IAEnC,OAAO,CAAC,SAAS,CAAS;gBAEP,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS;IAKnD,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAItC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAK/B,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAKpD,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,gBAAgB;IAiBjB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ3C,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,cAAc;IAkDtB,OAAO,CAAC,kBAAkB;IA8C1B,OAAO,CAAC,mBAAmB;CAqC9B"}
|