@magic-xpa/mscorelib 4.1000.0-dev4100.99 → 4.1100.0-dev4110.1
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/esm2020/src/BitArray.mjs +4 -4
- package/esm2020/src/DateTime.mjs +17 -17
- package/fesm2015/magic-xpa-mscorelib.mjs +19 -19
- package/fesm2015/magic-xpa-mscorelib.mjs.map +1 -1
- package/fesm2020/magic-xpa-mscorelib.mjs +19 -19
- package/fesm2020/magic-xpa-mscorelib.mjs.map +1 -1
- package/package.json +3 -3
- package/magic-xpa-mscorelib.d.ts +0 -2
package/esm2020/src/BitArray.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export class BitArray {
|
|
2
|
+
get Length() {
|
|
3
|
+
return this.array.length;
|
|
4
|
+
}
|
|
2
5
|
constructor(length) {
|
|
3
6
|
this.array = null;
|
|
4
7
|
this.array = new Array(length).fill(false);
|
|
5
8
|
}
|
|
6
|
-
get Length() {
|
|
7
|
-
return this.array.length;
|
|
8
|
-
}
|
|
9
9
|
Get(index) {
|
|
10
10
|
return this.array[index];
|
|
11
11
|
}
|
|
@@ -13,4 +13,4 @@ export class BitArray {
|
|
|
13
13
|
this.array[index] = value;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQml0QXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL0JpdEFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxRQUFRO0lBUW5CLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksTUFBYztRQVZsQixVQUFLLEdBQW1CLElBQUksQ0FBQztRQVduQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBTU0sR0FBRyxDQUFDLEtBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFNTSxHQUFHLENBQUMsS0FBYSxFQUFFLEtBQWM7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxzdW1tYXJ5PlxyXG4vLy8gIE1hbmFnZXMgYSBjb21wYWN0IGFycmF5IG9mIGJpdCB2YWx1ZXMsXHJcbi8vICAgd2hpY2ggYXJlIHJlcHJlc2VudGVkIGFzIEJvb2xlYW5zLCB3aGVyZSB0cnVlIGluZGljYXRlcyB0aGF0IHRoZSBiaXQgaXMgb24gKDEpIGFuZCBmYWxzZSBpbmRpY2F0ZXMgdGhlIGJpdCBpcyBvZmYgKDApLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQml0QXJyYXkge1xyXG5cclxuICBwcml2YXRlIGFycmF5OiBBcnJheTxib29sZWFuPiA9IG51bGw7IC8vIGFycmF5IG9mIGJvb2xlYW4gdmFsdWVzXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIHJldHVybnMgdGhlIGxlbmd0aCBvZiBhcnJheVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwdWJsaWMgZ2V0IExlbmd0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFycmF5Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGxlbmd0aDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmFycmF5ID0gbmV3IEFycmF5KGxlbmd0aCkuZmlsbChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGdldCB0aGUgdmFsdWUgb2YgZmxhZyBhdCBzcGVjaWZpZWQgaW5kZXhcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHVibGljIEdldChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcnJheVtpbmRleF07XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHNldCB0aGUgdmFsdWUgb2YgZmxhZyBhdCBzcGVjaWZpZWQgaW5kZXhcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHVibGljIFNldChpbmRleDogbnVtYmVyLCB2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5hcnJheVtpbmRleF0gPSB2YWx1ZTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
|
package/esm2020/src/DateTime.mjs
CHANGED
|
@@ -5,22 +5,6 @@ export var DateTimeKind;
|
|
|
5
5
|
DateTimeKind[DateTimeKind["Utc"] = 1] = "Utc";
|
|
6
6
|
})(DateTimeKind || (DateTimeKind = {}));
|
|
7
7
|
export class DateTime {
|
|
8
|
-
constructor(yearOrDate, month, day, hour, minute, second) {
|
|
9
|
-
this.dt = null;
|
|
10
|
-
this.kind = null;
|
|
11
|
-
this.epochTicks = 621355968000000000;
|
|
12
|
-
this.ticksPerMillisecond = 10000;
|
|
13
|
-
if (arguments.length === 1) {
|
|
14
|
-
this.dt = yearOrDate;
|
|
15
|
-
}
|
|
16
|
-
if (arguments.length === 3) {
|
|
17
|
-
this.dt = new Date(yearOrDate, month - 1, day);
|
|
18
|
-
}
|
|
19
|
-
if (arguments.length === 6) {
|
|
20
|
-
this.dt = new Date(yearOrDate, month - 1, day, hour, minute, second);
|
|
21
|
-
}
|
|
22
|
-
this.kind = DateTimeKind.Local;
|
|
23
|
-
}
|
|
24
8
|
get Ticks() {
|
|
25
9
|
return ((this.dt.getTime() * this.ticksPerMillisecond) + this.epochTicks) - (this.dt.getTimezoneOffset() * 600000000);
|
|
26
10
|
}
|
|
@@ -45,6 +29,22 @@ export class DateTime {
|
|
|
45
29
|
get Millisecond() {
|
|
46
30
|
return this.kind === DateTimeKind.Utc ? this.dt.getUTCMilliseconds() : this.dt.getMilliseconds();
|
|
47
31
|
}
|
|
32
|
+
constructor(yearOrDate, month, day, hour, minute, second) {
|
|
33
|
+
this.dt = null;
|
|
34
|
+
this.kind = null;
|
|
35
|
+
this.epochTicks = 621355968000000000;
|
|
36
|
+
this.ticksPerMillisecond = 10000;
|
|
37
|
+
if (arguments.length === 1) {
|
|
38
|
+
this.dt = yearOrDate;
|
|
39
|
+
}
|
|
40
|
+
if (arguments.length === 3) {
|
|
41
|
+
this.dt = new Date(yearOrDate, month - 1, day);
|
|
42
|
+
}
|
|
43
|
+
if (arguments.length === 6) {
|
|
44
|
+
this.dt = new Date(yearOrDate, month - 1, day, hour, minute, second);
|
|
45
|
+
}
|
|
46
|
+
this.kind = DateTimeKind.Local;
|
|
47
|
+
}
|
|
48
48
|
Format(formatString) {
|
|
49
49
|
return moment(this.dt).format(formatString);
|
|
50
50
|
}
|
|
@@ -72,4 +72,4 @@ export class DateTime {
|
|
|
72
72
|
return (hh * 60 * 60 + mm * 60 + ss) * 1000 + ms;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL0RhdGVUaW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUUzQixNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLGlEQUFLLENBQUE7SUFDTCw2Q0FBRyxDQUFBO0FBQ0wsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBR0QsTUFBTSxPQUFPLFFBQVE7SUFVbkIsSUFBSSxLQUFLO1FBR1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDeEgsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLEdBQUcs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QUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCdcclxuXHJcbmV4cG9ydCBlbnVtIERhdGVUaW1lS2luZCB7XHJcbiAgTG9jYWwsXHJcbiAgVXRjXHJcbn1cclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBEYXRlVGltZSB7XHJcbiAgcHJpdmF0ZSBkdDogRGF0ZSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBraW5kOiBEYXRlVGltZUtpbmQgPSBudWxsO1xyXG5cclxuICAvLyB0aGUgbnVtYmVyIG9mIC5uZXQgdGlja3MgYXQgdGhlIHVuaXggZXBvY2hcclxuICBwcml2YXRlIHJlYWRvbmx5IGVwb2NoVGlja3MgPSA2MjEzNTU5NjgwMDAwMDAwMDA7XHJcblxyXG4gIC8vIHRoZXJlIGFyZSAxMDAwMCAubmV0IHRpY2tzIHBlciBtaWxsaXNlY29uZFxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGlja3NQZXJNaWxsaXNlY29uZCA9IDEwMDAwO1xyXG5cclxuICBnZXQgVGlja3MoKTogbnVtYmVyIHtcclxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzc5NjY1NTkvaG93LXRvLWNvbnZlcnQtamF2YXNjcmlwdC1kYXRlLW9iamVjdC10by10aWNrc1xyXG4gICAgLy8gVE9ETyAtIGNoZWNrIGlmIHdlIG5lZWQgdGhpcyBvciB0byB1c2UgTWlzYy5nZXRTeXN0ZW1NaWxsaXNlY29uZHMoKVxyXG4gICAgcmV0dXJuICgodGhpcy5kdC5nZXRUaW1lKCkgKiB0aGlzLnRpY2tzUGVyTWlsbGlzZWNvbmQpICsgdGhpcy5lcG9jaFRpY2tzKSAtICh0aGlzLmR0LmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMDAwMDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IFllYXIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ0Z1bGxZZWFyKCkgOiB0aGlzLmR0LmdldEZ1bGxZZWFyKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgTW9udGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ01vbnRoKCkgKyAxIDogdGhpcy5kdC5nZXRNb250aCgpICsgMTtcclxuICB9XHJcblxyXG4gIGdldCBEYXkoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ0RhdGUoKSA6IHRoaXMuZHQuZ2V0RGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IEhvdXIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ0hvdXJzKCkgOiB0aGlzLmR0LmdldEhvdXJzKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgTWludXRlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5raW5kID09PSBEYXRlVGltZUtpbmQuVXRjID8gdGhpcy5kdC5nZXRVVENNaW51dGVzKCkgOiB0aGlzLmR0LmdldE1pbnV0ZXMoKTtcclxuICB9XHJcblxyXG4gIGdldCBTZWNvbmQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ1NlY29uZHMoKSA6IHRoaXMuZHQuZ2V0U2Vjb25kcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IE1pbGxpc2Vjb25kKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5raW5kID09PSBEYXRlVGltZUtpbmQuVXRjID8gdGhpcy5kdC5nZXRVVENNaWxsaXNlY29uZHMoKSA6IHRoaXMuZHQuZ2V0TWlsbGlzZWNvbmRzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoZGF0ZTogRGF0ZSk7XHJcbiAgY29uc3RydWN0b3IoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlcik7XHJcbiAgY29uc3RydWN0b3IoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlciwgaG91ciA6IG51bWJlciwgbWludXRlIDogbnVtYmVyLCBzZWNvbmQ6IG51bWJlcik7XHJcbiAgY29uc3RydWN0b3IoeWVhck9yRGF0ZTogYW55LCBtb250aD86IG51bWJlciwgZGF5PzogbnVtYmVyLCBob3VyPzogbnVtYmVyLCBtaW51dGU/OiBudW1iZXIsIHNlY29uZD86IG51bWJlcikge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgdGhpcy5kdCA9IDxEYXRlPnllYXJPckRhdGU7XHJcbiAgICB9XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMykge1xyXG4gICAgICB0aGlzLmR0ID0gbmV3IERhdGUoPG51bWJlcj55ZWFyT3JEYXRlLCBtb250aCAtIDEsIGRheSk7XHJcbiAgICB9XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gNikge1xyXG4gICAgICB0aGlzLmR0ID0gbmV3IERhdGUoPG51bWJlcj55ZWFyT3JEYXRlLCBtb250aCAtIDEsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5raW5kID0gRGF0ZVRpbWVLaW5kLkxvY2FsO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgRm9ybWF0KGZvcm1hdFN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtb21lbnQodGhpcy5kdCkuZm9ybWF0KGZvcm1hdFN0cmluZyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0IFV0Y05vdygpOiBEYXRlVGltZSB7XHJcbiAgICBsZXQgZCA9IG5ldyBEYXRlVGltZShuZXcgRGF0ZSgpKTtcclxuICAgIGQua2luZCA9IERhdGVUaW1lS2luZC5VdGM7XHJcbiAgICByZXR1cm4gZDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXQgTm93KCk6IERhdGVUaW1lIHtcclxuICAgIGxldCBkID0gbmV3IERhdGVUaW1lKG5ldyBEYXRlKCkpO1xyXG4gICAgZC5raW5kID0gRGF0ZVRpbWVLaW5kLkxvY2FsO1xyXG4gICAgcmV0dXJuIGQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgR2V0VG90YWxTZWNvbmRzRnJvbU1pZG5pZ2h0KHV0Y1RpbWU6IGJvb2xlYW4sIGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgbGV0IGhoID0gdXRjVGltZSA/IGRhdGUuZ2V0VVRDSG91cnMoKSA6IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgIGxldCBtbSA9IHV0Y1RpbWUgPyBkYXRlLmdldFVUQ01pbnV0ZXMoKSA6IGRhdGUuZ2V0TWludXRlcygpO1xyXG4gICAgbGV0IHNzID0gdXRjVGltZSA/IGRhdGUuZ2V0VVRDU2Vjb25kcygpIDogZGF0ZS5nZXRTZWNvbmRzKCk7XHJcblxyXG4gICAgcmV0dXJuIGhoICogNjAgKiA2MCArIG1tICogNjAgKyBzcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBHZXRUb3RhbE1pbGxpU2Vjb25kc0Zyb21NaWRuaWdodCh1dGNUaW1lOiBib29sZWFuLCBkYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgIGxldCBoaCA9IHV0Y1RpbWUgPyBkYXRlLmdldFVUQ0hvdXJzKCkgOiBkYXRlLmdldEhvdXJzKCk7XHJcbiAgICBsZXQgbW0gPSB1dGNUaW1lID8gZGF0ZS5nZXRVVENNaW51dGVzKCkgOiBkYXRlLmdldE1pbnV0ZXMoKTtcclxuICAgIGxldCBzcyA9IHV0Y1RpbWUgPyBkYXRlLmdldFVUQ1NlY29uZHMoKSA6IGRhdGUuZ2V0U2Vjb25kcygpO1xyXG4gICAgbGV0IG1zID0gdXRjVGltZSA/IGRhdGUuZ2V0VVRDU2Vjb25kcygpIDogZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcclxuICAgIHJldHVybiAoaGggKiA2MCAqIDYwICsgbW0gKiA2MCArIHNzKSAqIDEwMDAgICsgbXM7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
|
|
@@ -69,13 +69,13 @@ class Array_Enumerator {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
class BitArray {
|
|
72
|
+
get Length() {
|
|
73
|
+
return this.array.length;
|
|
74
|
+
}
|
|
72
75
|
constructor(length) {
|
|
73
76
|
this.array = null;
|
|
74
77
|
this.array = new Array(length).fill(false);
|
|
75
78
|
}
|
|
76
|
-
get Length() {
|
|
77
|
-
return this.array.length;
|
|
78
|
-
}
|
|
79
79
|
Get(index) {
|
|
80
80
|
return this.array[index];
|
|
81
81
|
}
|
|
@@ -99,22 +99,6 @@ var DateTimeKind;
|
|
|
99
99
|
DateTimeKind[DateTimeKind["Utc"] = 1] = "Utc";
|
|
100
100
|
})(DateTimeKind || (DateTimeKind = {}));
|
|
101
101
|
class DateTime {
|
|
102
|
-
constructor(yearOrDate, month, day, hour, minute, second) {
|
|
103
|
-
this.dt = null;
|
|
104
|
-
this.kind = null;
|
|
105
|
-
this.epochTicks = 621355968000000000;
|
|
106
|
-
this.ticksPerMillisecond = 10000;
|
|
107
|
-
if (arguments.length === 1) {
|
|
108
|
-
this.dt = yearOrDate;
|
|
109
|
-
}
|
|
110
|
-
if (arguments.length === 3) {
|
|
111
|
-
this.dt = new Date(yearOrDate, month - 1, day);
|
|
112
|
-
}
|
|
113
|
-
if (arguments.length === 6) {
|
|
114
|
-
this.dt = new Date(yearOrDate, month - 1, day, hour, minute, second);
|
|
115
|
-
}
|
|
116
|
-
this.kind = DateTimeKind.Local;
|
|
117
|
-
}
|
|
118
102
|
get Ticks() {
|
|
119
103
|
return ((this.dt.getTime() * this.ticksPerMillisecond) + this.epochTicks) - (this.dt.getTimezoneOffset() * 600000000);
|
|
120
104
|
}
|
|
@@ -139,6 +123,22 @@ class DateTime {
|
|
|
139
123
|
get Millisecond() {
|
|
140
124
|
return this.kind === DateTimeKind.Utc ? this.dt.getUTCMilliseconds() : this.dt.getMilliseconds();
|
|
141
125
|
}
|
|
126
|
+
constructor(yearOrDate, month, day, hour, minute, second) {
|
|
127
|
+
this.dt = null;
|
|
128
|
+
this.kind = null;
|
|
129
|
+
this.epochTicks = 621355968000000000;
|
|
130
|
+
this.ticksPerMillisecond = 10000;
|
|
131
|
+
if (arguments.length === 1) {
|
|
132
|
+
this.dt = yearOrDate;
|
|
133
|
+
}
|
|
134
|
+
if (arguments.length === 3) {
|
|
135
|
+
this.dt = new Date(yearOrDate, month - 1, day);
|
|
136
|
+
}
|
|
137
|
+
if (arguments.length === 6) {
|
|
138
|
+
this.dt = new Date(yearOrDate, month - 1, day, hour, minute, second);
|
|
139
|
+
}
|
|
140
|
+
this.kind = DateTimeKind.Local;
|
|
141
|
+
}
|
|
142
142
|
Format(formatString) {
|
|
143
143
|
return moment(this.dt).format(formatString);
|
|
144
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magic-xpa-mscorelib.mjs","sources":["../../../../projects/mscorelib/src/Utils.ts","../../../../projects/mscorelib/src/Exception.ts","../../../../projects/mscorelib/src/ApplicationException.ts","../../../../projects/mscorelib/src/ArrayEnumerator.ts","../../../../projects/mscorelib/src/BitArray.ts","../../../../projects/mscorelib/src/Char.ts","../../../../projects/mscorelib/src/CultureInfo.ts","../../../../projects/mscorelib/src/DateTime.ts","../../../../projects/mscorelib/src/Debug.ts","../../../../projects/mscorelib/src/Dictionary.ts","../../../../projects/mscorelib/src/Encoding.ts","../../../../projects/mscorelib/src/HashTable.ts","../../../../projects/mscorelib/src/Int32.ts","../../../../projects/mscorelib/src/Int64.ts","../../../../projects/mscorelib/src/ISO_8859_1_Encoding.ts","../../../../projects/mscorelib/src/List.ts","../../../../projects/mscorelib/src/StringUtils.ts","../../../../projects/mscorelib/src/NChar.ts","../../../../projects/mscorelib/src/NotImplementedException.ts","../../../../projects/mscorelib/src/NNumber.ts","../../../../projects/mscorelib/src/NString.ts","../../../../projects/mscorelib/src/NumberFormatInfo.ts","../../../../projects/mscorelib/src/RefParam.ts","../../../../projects/mscorelib/src/Stack.ts","../../../../projects/mscorelib/src/StackFrame.ts","../../../../projects/mscorelib/src/StackTrace.ts","../../../../projects/mscorelib/src/StringBuilder.ts","../../../../projects/mscorelib/src/Thread.ts","../../../../projects/mscorelib/src/WebException.ts","../../../../projects/mscorelib/src/XmlConvert.ts"],"sourcesContent":["export function isNullOrUndefined(object: any): boolean {\r\n return object == undefined || object == null;\r\n}\r\nexport function isUndefined(object: any): boolean {\r\n return object == undefined;\r\n}\r\n","/// <summary>\r\n/// The base class of all exceptions\r\n/// </summary>\r\n\r\nimport {isNullOrUndefined} from \"./Utils\";\r\n\r\nexport class Exception{\r\n\r\n name: string = \"Exception\";\r\n message: string = \"\";\r\n stack: string = \"\";\r\n\r\n\r\n errorLevel = 1;\r\n /// <summary>\r\n /// constructor\r\n /// </summary>\r\n /// <param name=\"message\" denotes the message of exception></param>\r\n /// <param name=\"name\" denotes the type of exception></param>\r\n constructor(message?: string)\r\n constructor(error: Error)\r\n constructor(messageOrError: string | Error) {\r\n if (!isNullOrUndefined(messageOrError)) {\r\n if (messageOrError instanceof Error) {\r\n this.stack = (<Error>messageOrError).stack;\r\n this.message = (<Error>messageOrError).message;\r\n }\r\n else {\r\n this.message = <string>messageOrError;\r\n this.stack = new Error().stack;\r\n }\r\n }\r\n }\r\n\r\n /// <summary>\r\n /// get the message of exception\r\n /// </summary>\r\n get Message() {\r\n return this.message;\r\n }\r\n\r\n /// <summary>\r\n /// get the stack trace of exception\r\n /// </summary>\r\n get StackTrace() {\r\n\r\n let stackTrace = this.stack || '';\r\n let stackLines = stackTrace.split(\"\\n\").map(function (line) { return line.trim(); });\r\n\r\n // On some browsers (e.g. Chrome), the statck includes a title as \"Error\", so remove it.\r\n stackTrace = stackLines.splice(stackLines[0] === 'Error' ? this.errorLevel + 1 : this.errorLevel).join(\"\\n\");\r\n\r\n return \"\\n\" + stackTrace;\r\n }\r\n\r\n /// <summary>\r\n /// get the type of exception\r\n /// </summary>\r\n public GetType(): string {\r\n return this.name;\r\n }\r\n}\r\n\r\n\r\n","import {Exception} from \"./Exception\";\r\nimport {isUndefined} from \"./Utils\";\r\n\r\nexport class ApplicationException extends Exception {\r\n\r\n InnerException: Exception = null;\r\n\r\n constructor(message: string = \"\", innerException?: Exception) {\r\n super(message);\r\n this.name = 'ApplicationException';\r\n this.InnerException = (isUndefined(innerException) ? null : innerException);\r\n this.errorLevel = 2;\r\n }\r\n}\r\n","\r\nexport interface IEnumerable<T> {\r\n GetEnumerator(): Array_Enumerator<T>;\r\n}\r\n\r\nexport class Array_Enumerator<T> {\r\n private array: T[];\r\n private index: number = -1;\r\n\r\n constructor(array: T[]) {\r\n this.array = array;\r\n }\r\n\r\n MoveNext(): boolean {\r\n this.index++;\r\n return this.index < this.array.length;\r\n }\r\n\r\n get Current(): T {\r\n return this.array[this.index];\r\n }\r\n\r\n Dispose(): void {\r\n }\r\n}\r\n","/// <summary>\r\n/// Manages a compact array of bit values,\r\n// which are represented as Booleans, where true indicates that the bit is on (1) and false indicates the bit is off (0).\r\n/// </summary>\r\nexport class BitArray {\r\n\r\n private array: Array<boolean> = null; // array of boolean values\r\n\r\n /// <summary>\r\n /// returns the length of array\r\n /// </summary>\r\n /// <returns></returns>\r\n public get Length() {\r\n return this.array.length;\r\n }\r\n\r\n constructor(length: number) {\r\n this.array = new Array(length).fill(false);\r\n }\r\n\r\n /// <summary>\r\n /// get the value of flag at specified index\r\n /// </summary>\r\n /// <returns></returns>\r\n public Get(index: number): boolean {\r\n return this.array[index];\r\n }\r\n\r\n /// <summary>\r\n /// set the value of flag at specified index\r\n /// </summary>\r\n /// <returns></returns>\r\n public Set(index: number, value: boolean) {\r\n this.array[index] = value;\r\n }\r\n\r\n\r\n}\r\n","export class Char {\r\n static MinValue: string = '\\0';\r\n static MaxValue: string = String.fromCharCode(0xFFFF);\r\n}\r\n","export class CultureInfo {\r\n static InvariantCulture: CultureInfo = new CultureInfo();\r\n}\r\n","import moment from 'moment'\r\n\r\nexport enum DateTimeKind {\r\n Local,\r\n Utc\r\n}\r\n\r\n// @dynamic\r\nexport class DateTime {\r\n private dt: Date = null;\r\n private kind: DateTimeKind = null;\r\n\r\n // the number of .net ticks at the unix epoch\r\n private readonly epochTicks = 621355968000000000;\r\n\r\n // there are 10000 .net ticks per millisecond\r\n private readonly ticksPerMillisecond = 10000;\r\n\r\n get Ticks(): number {\r\n // https://stackoverflow.com/questions/7966559/how-to-convert-javascript-date-object-to-ticks\r\n // TODO - check if we need this or to use Misc.getSystemMilliseconds()\r\n return ((this.dt.getTime() * this.ticksPerMillisecond) + this.epochTicks) - (this.dt.getTimezoneOffset() * 600000000);\r\n }\r\n\r\n get Year(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCFullYear() : this.dt.getFullYear();\r\n }\r\n\r\n get Month(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMonth() + 1 : this.dt.getMonth() + 1;\r\n }\r\n\r\n get Day(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCDate() : this.dt.getDate();\r\n }\r\n\r\n get Hour(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCHours() : this.dt.getHours();\r\n }\r\n\r\n get Minute(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMinutes() : this.dt.getMinutes();\r\n }\r\n\r\n get Second(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCSeconds() : this.dt.getSeconds();\r\n }\r\n\r\n get Millisecond(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMilliseconds() : this.dt.getMilliseconds();\r\n }\r\n\r\n\r\n constructor(date: Date);\r\n constructor(year: number, month: number, day: number);\r\n constructor(year: number, month: number, day: number, hour : number, minute : number, second: number);\r\n constructor(yearOrDate: any, month?: number, day?: number, hour?: number, minute?: number, second?: number) {\r\n if (arguments.length === 1) {\r\n this.dt = <Date>yearOrDate;\r\n }\r\n if (arguments.length === 3) {\r\n this.dt = new Date(<number>yearOrDate, month - 1, day);\r\n }\r\n if (arguments.length === 6) {\r\n this.dt = new Date(<number>yearOrDate, month - 1, day, hour, minute, second);\r\n }\r\n this.kind = DateTimeKind.Local;\r\n }\r\n\r\n\r\n\r\n\r\n Format(formatString: string): string {\r\n return moment(this.dt).format(formatString);\r\n }\r\n\r\n static get UtcNow(): DateTime {\r\n let d = new DateTime(new Date());\r\n d.kind = DateTimeKind.Utc;\r\n return d;\r\n }\r\n\r\n static get Now(): DateTime {\r\n let d = new DateTime(new Date());\r\n d.kind = DateTimeKind.Local;\r\n return d;\r\n }\r\n\r\n static GetTotalSecondsFromMidnight(utcTime: boolean, date: Date): number {\r\n let hh = utcTime ? date.getUTCHours() : date.getHours();\r\n let mm = utcTime ? date.getUTCMinutes() : date.getMinutes();\r\n let ss = utcTime ? date.getUTCSeconds() : date.getSeconds();\r\n\r\n return hh * 60 * 60 + mm * 60 + ss;\r\n }\r\n\r\n static GetTotalMilliSecondsFromMidnight(utcTime: boolean, date: Date): number {\r\n let hh = utcTime ? date.getUTCHours() : date.getHours();\r\n let mm = utcTime ? date.getUTCMinutes() : date.getMinutes();\r\n let ss = utcTime ? date.getUTCSeconds() : date.getSeconds();\r\n let ms = utcTime ? date.getUTCSeconds() : date.getMilliseconds();\r\n return (hh * 60 * 60 + mm * 60 + ss) * 1000 + ms;\r\n }\r\n}\r\n\r\n\r\n","export class Debug {\r\n static WriteLine(text: string): void {\r\n console.log(text);\r\n }\r\n\r\n static Assert(assertCondtion: boolean, message?: string): void {\r\n if (!assertCondtion)\r\n alert(message);\r\n }\r\n}\r\n","import {RefParam} from \"./RefParam\";\r\nimport {Exception} from \"./Exception\";\r\n\r\nexport class Dictionary<V> {\r\n private values: Array<V> = new Array();\r\n\r\n get_Item(key: string): V {\r\n if (this.values.hasOwnProperty(key))\r\n return this.values[key];\r\n else\r\n return null;\r\n }\r\n\r\n set_Item(key: string, value: V) {\r\n this.values[key] = value;\r\n }\r\n\r\n Add(key: string, value: V) {\r\n if (this.values.hasOwnProperty(key))\r\n throw new Exception(\"An item with the same key has already been added\");\r\n else\r\n this.values[key] = value;\r\n }\r\n\r\n ContainsKey(key: string): boolean {\r\n return this.values.hasOwnProperty(key);\r\n }\r\n\r\n TryGetValue(key: string, pvalue: RefParam<V>): boolean {\r\n if (this.values.hasOwnProperty(key)) {\r\n pvalue.value = this.values[key];\r\n return true;\r\n }\r\n else {\r\n pvalue.value = null;\r\n return false;\r\n }\r\n }\r\n\r\n Remove(key: string): void {\r\n delete this.values[key];\r\n }\r\n\r\n get Keys(): string[] {\r\n return Object.keys(this.values);\r\n }\r\n}\r\n","import {TextDecoder, TextEncoder} from \"text-encoding\";\r\n\r\nexport class Encoding {\r\n static readonly ASCII: Encoding = new Encoding(\"ascii\");\r\n static readonly UTF8: Encoding = new Encoding(\"utf-8\");\r\n static readonly Unicode: Encoding = new Encoding(\"utf-16le\");\r\n\r\n static readonly CodePageToEncodingMap = Encoding.PopulateCodePageToEncodingMap();\r\n\r\n private readonly textEncoder: TextEncoder = null;\r\n private readonly textDecoder: TextDecoder = null;\r\n constructor(private label: string) {\r\n this.textEncoder = new TextEncoder(label, {NONSTANDARD_allowLegacyEncoding: true});\r\n this.textDecoder = new TextDecoder(label, {NONSTANDARD_allowLegacyEncoding: true});\r\n }\r\n\r\n GetBytes(str: string): Uint8Array {\r\n\r\n if (str === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n let bytes: Uint8Array = null;\r\n\r\n try {\r\n bytes = this.textEncoder.encode(str);\r\n }\r\n catch (ex) {\r\n // In C#, if any character is not within the range of specified charset, it is replaced by '?'.\r\n // TextEncoder.encode() throws an error in such a case.\r\n // We can modify the implementation of TextEncoder.encode() to put '?' instead of throwing error.\r\n // But, it can be problematic if we change the library version.\r\n // So, we will catch this error and handle the encoding ourselves.\r\n bytes = new Uint8Array(str.length * 3);\r\n let bytesCount: number = 0;\r\n let tmpBytes: Uint8Array;\r\n\r\n for (let i = 0; i < str.length; i++)\r\n {\r\n try {\r\n tmpBytes = this.textEncoder.encode(str[i]);\r\n bytes.set(tmpBytes, bytesCount);\r\n bytesCount += tmpBytes.length;\r\n }\r\n catch (ex) {\r\n bytes[bytesCount++] = \"?\".charCodeAt(0);\r\n }\r\n }\r\n\r\n bytes = bytes.subarray(0, 0 + bytesCount);\r\n }\r\n\r\n return bytes;\r\n }\r\n\r\n GetByteCount(str: string): number {\r\n // TODO: this is not the best way.\r\n return this.GetBytes(str).length;\r\n }\r\n\r\n GetString(bytes: Uint8Array, index: number, count: number): string {\r\n let str: string = null;\r\n\r\n if (bytes === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n if (index < 0 || count < 0 || (index + count) > bytes.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n bytes = bytes.subarray(index, index + count);\r\n\r\n try {\r\n str = this.textDecoder.decode(bytes);\r\n }\r\n catch (ex) {\r\n }\r\n\r\n return str;\r\n }\r\n\r\n static GetEncoding(codepage: number): Encoding {\r\n let label: string = Encoding.CodePageToEncodingMap[codepage];\r\n\r\n if (label == null)\r\n throw new Error(\"Invalid codepage.\");\r\n\r\n return new Encoding(label);\r\n }\r\n private static PopulateCodePageToEncodingMap(): any {\r\n\r\n let hashTable = new Object;\r\n\r\n // These map is similar to enc_map_table of exp_xml.cpp\r\n hashTable[20106] = \"DIN_66003\"; // IA5 (German)\r\n hashTable[20107] = \"SEN_850200_B\"; // IA5 (Swedish)\r\n hashTable[50932] = \"_autodetect\"; // Japanese (Auto Select)\r\n hashTable[20108] = \"NS_4551-1\"; // IA5 (Norwegian)\r\n hashTable[50949] = \"_autodetect_kr\"; // Korean (Auto Select)\r\n hashTable[950] = \"big5\"; // Chinese Traditional (Big5)\r\n hashTable[50221] = \"csISO2022JP\"; // Japanese (JIS-Allow 1 byte Kana)\r\n hashTable[51949] = \"euc-kr\"; // Korean (EUC)\r\n hashTable[936] = \"gb2312\"; // Chinese Simplified (GB2312)\r\n hashTable[52936] = \"hz-gb-2312\"; // Chinese Simplified (HZ)\r\n hashTable[852] = \"ibm852\"; // Central European (DOS)\r\n hashTable[866] = \"ibm866\"; // Cyrillic Alphabet (DOS)\r\n hashTable[20105] = \"irv\"; // IA5 (IRV)\r\n hashTable[50220] = \"iso-2022-jp\"; // Japanese (JIS)\r\n hashTable[50222] = \"iso-2022-jp\"; // Japanese (JIS-Allow 1 byte Kana)\r\n hashTable[50225] = \"iso-2022-kr\"; // Korean (ISO)\r\n hashTable[28591] = \"iso-8859-1\"; // Western Alphabet (ISO)\r\n hashTable[28592] = \"iso-8859-2\"; // Central European Alphabet (ISO)\r\n hashTable[28593] = \"iso-8859-3\"; // Latin 3 Alphabet (ISO)\r\n hashTable[28594] = \"iso-8859-4\"; // Baltic Alphabet (ISO)\r\n hashTable[28595] = \"iso-8859-5\"; // Cyrillic Alphabet (ISO)\r\n hashTable[28596] = \"iso-8859-6\"; // Arabic Alphabet (ISO)\r\n hashTable[28597] = \"iso-8859-7\"; // Greek Alphabet (ISO)\r\n hashTable[28598] = \"iso-8859-8\"; // Hebrew Alphabet (ISO)\r\n hashTable[20866] = \"koi8-r\"; // Cyrillic Alphabet (KOI8-R)\r\n hashTable[949] = \"ks_c_5601\"; // Korean\r\n hashTable[932] = \"shift-jis\"; // Japanese (Shift-JIS)\r\n hashTable[1200] = \"unicode\"; // Universal Alphabet\r\n hashTable[1201] = \"unicodeFEFF\"; // Universal Alphabet (Big-Endian)\r\n hashTable[65000] = \"utf-7\"; // Universal Alphabet (UTF-7)\r\n hashTable[65001] = \"utf-8\"; // Universal Alphabet (UTF-8)\r\n hashTable[1250] = \"windows-1250\"; // Central European Alphabet (Windows)\r\n hashTable[1251] = \"windows-1251\"; // Cyrillic Alphabet (Windows)\r\n hashTable[1252] = \"windows-1252\"; // Western Alphabet (Windows)\r\n hashTable[1253] = \"windows-1253\"; // Greek Alphabet (Windows)\r\n hashTable[1254] = \"windows-1254\"; // Turkish Alphabet\r\n hashTable[1255] = \"windows-1255\"; // Hebrew Alphabet (Windows)\r\n hashTable[1256] = \"windows-1256\"; // Arabic Alphabet (Windows)\r\n hashTable[1257] = \"windows-1257\"; // Baltic Alphabet (Windows)\r\n hashTable[1258] = \"windows-1258\"; // Vietnamese Alphabet (Windows)\r\n hashTable[874] = \"windows-874\"; // Thai (Windows)\r\n hashTable[20127] = \"US-ASCII\"; // us-ascii\r\n hashTable[51932] = \"x-euc\"; // Japanese (EUC)\r\n\r\n return hashTable;\r\n }\r\n\r\n // return the name of encoding used \r\n public toString(): string {\r\n return this.label;\r\n }\r\n}\r\n","// Reference: https://github.com/rkostrzewski/hashtable-ts/blob/master/src/hashtable.ts\r\n\r\nimport {Array_Enumerator} from \"./ArrayEnumerator\";\r\nimport {Exception} from \"./Exception\";\r\nimport {Encoding} from \"./Encoding\";\r\n\r\nexport class HashUtils {\r\n // Pay attention that in server there is the same function and it must\r\n // return the same hash value.\r\n static GetHashCode(str: string): number {\r\n let bytes: Uint8Array = null;\r\n\r\n bytes = Encoding.UTF8.GetBytes(str);\r\n\r\n return HashUtils.getHashCode(bytes);\r\n }\r\n\r\n private static getHashCode(byteArray: Uint8Array) {\r\n let hashval: number;\r\n\r\n let hash1: number = 5381;\r\n let hash2: number = hash1;\r\n let c: number;\r\n\r\n for (let i: number = 0; i < byteArray.length; i += 2) {\r\n c = byteArray[i];\r\n hash1 = ((hash1 << 5) + hash1) ^ c;\r\n if ((i + 1) === byteArray.length)\r\n break;\r\n c = byteArray[i + 1];\r\n hash2 = ((hash2 << 5) + hash2) ^ c;\r\n hash1 = hash1 & 0xffff;\r\n hash2 = hash2 & 0xffff;\r\n }\r\n\r\n let hash3: number = (hash2 * 13577);\r\n hashval = (hash1 + hash3);\r\n return (hashval);\r\n }\r\n}\r\n\r\nexport interface IHashCode {\r\n GetHashCode(): number;\r\n}\r\n\r\ntype BucketElement<TKey, TValue> = { key: TKey, value: TValue };\r\ntype Bucket<TKey, TValue> = [BucketElement<TKey, TValue>];\r\n\r\nconst HashTableLoadFactor = 0.75;\r\n\r\n// Hashtable implementation for key TKey and Value TValue\r\nexport class Hashtable<TKey extends (IHashCode | string | number), TValue> {\r\n\r\n private _buckets: Bucket<TKey, TValue>[] = []; // total no. of buckets\r\n private _elementsCount = 0; // total elements\r\n private _bucketCount: number = 0;\r\n private _loadFactor: number = 0;\r\n\r\n constructor(bucketCount: number = 8, loadFactor: number = HashTableLoadFactor) {\r\n this._bucketCount = bucketCount;\r\n this._loadFactor = loadFactor;\r\n\r\n if (this._bucketCount % 2 !== 0) {\r\n throw new Exception('Bucket count must be a positive number and be multiple of 2.');\r\n }\r\n }\r\n\r\n // Generic Hash funtion\r\n private HashFunction(key): number {\r\n if (typeof key.GetHashCode === 'function') {\r\n return key.GetHashCode();\r\n } else if (key.constructor === String) {\r\n return HashUtils.GetHashCode(key.toString());\r\n } else if (key.constructor === Number) {\r\n return +key;\r\n }\r\n return 0;\r\n }\r\n\r\n // returns elementCount\r\n get Count() {\r\n return this._elementsCount;\r\n }\r\n\r\n // returns ValueCollection (Array Enumerator)\r\n get Values(): Array_Enumerator<TValue> {\r\n let array: Array<TValue> = [];\r\n this._buckets.forEach(b => b.forEach(item => {\r\n array.push(item.value);\r\n }));\r\n return new Array_Enumerator(array);\r\n }\r\n\r\n // returns KeyCollection (Array Enumerator)\r\n get Keys(): Array_Enumerator<TKey> {\r\n let array: Array<TKey> = [];\r\n this._buckets.forEach(b => b.forEach(item => {\r\n array.push(item.key);\r\n }));\r\n return new Array_Enumerator(array);\r\n }\r\n\r\n // adds item to Hashtable\r\n Add(key: TKey, value: TValue): void {\r\n this.Insert(key, value, true);\r\n }\r\n\r\n // sets item in Hashtable\r\n set_Item(key: TKey, value: TValue) {\r\n this.Insert(key, value, false);\r\n }\r\n\r\n // Insert element in Hashtable\r\n private Insert(key: TKey, value: TValue, add: boolean): void {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n\r\n if (typeof this._buckets[bucketIndex] === \"undefined\") {\r\n this._buckets[bucketIndex] = <Bucket<TKey, TValue>><unknown>[];\r\n }\r\n\r\n if (this._buckets[bucketIndex].find(x => x.key === key)) {\r\n if (add) {\r\n throw new Exception('Item with provided key already exists!');\r\n } else {\r\n this.Remove(key);\r\n return;\r\n }\r\n }\r\n\r\n this._buckets[bucketIndex].push({key: key, value: value});\r\n\r\n this._elementsCount++;\r\n if (this._elementsCount > this._bucketCount * this._loadFactor) {\r\n this.Resize(this._bucketCount * 2);\r\n }\r\n }\r\n\r\n// Gets value for key TKey\r\n get_Item(key: TKey): TValue {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return null;\r\n }\r\n\r\n let item = bucket.find(x => x.key === key);\r\n if (item) {\r\n return item.value;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // Returns if key TKey is present in Hashtable\r\n ContainsKey(key: TKey): boolean {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return false;\r\n }\r\n\r\n let itemIndex = bucket.findIndex(x => x.key === key);\r\n return (itemIndex > -1);\r\n }\r\n\r\n // Removes item with key TKey from Hashtable\r\n Remove(key: TKey) {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return;\r\n }\r\n\r\n let itemIndex = bucket.findIndex(x => x.key === key);\r\n if (itemIndex > -1) {\r\n bucket.splice(itemIndex, 1);\r\n this._elementsCount--;\r\n if (this._elementsCount <= this._bucketCount * (1 - this._loadFactor)) {\r\n this.Resize(this._bucketCount / 2);\r\n }\r\n }\r\n }\r\n\r\n // Resize bucket (Hashtable)\r\n private Resize(newBucketCount: number) {\r\n let _oldBuckets = this._buckets;\r\n this._elementsCount = 0;\r\n this._buckets = [];\r\n this._bucketCount = newBucketCount;\r\n\r\n _oldBuckets.forEach(b => b.forEach(item => this.Add(item.key, item.value)));\r\n }\r\n\r\n// returns bucketIndex for key\r\n private GetBucketIndex(key: TKey) {\r\n let hash = this.HashFunction(key);\r\n if (hash % 1 !== 0) {\r\n throw new Exception('Key\\'s hash must be an integer!');\r\n }\r\n\r\n let index = Math.abs(hash) % this._bucketCount;\r\n\r\n if (index < 0 || index >= this._bucketCount) {\r\n throw new Exception('Index exceeds bucket boundaries');\r\n }\r\n\r\n return index;\r\n }\r\n\r\n// Clears Hashtable\r\n Clear(): void {\r\n this._elementsCount = 0;\r\n this._buckets = [];\r\n }\r\n}\r\n","export class Int32 {\r\n static MinValue: number = -2147483648;\r\n static MaxValue: number = 2147483647;\r\n}\r\n","export class Int64 {\r\n static MinValue: number = -9223372036854775808;\r\n}\r\n","import {Encoding} from \"./Encoding\";\r\n\r\nexport class ISO_8859_1_Encoding extends Encoding {\r\n\r\n static readonly ISO_8859_1: ISO_8859_1_Encoding = new ISO_8859_1_Encoding(\"iso_8859-1\");\r\n constructor(label: string) {\r\n super(label);\r\n }\r\n\r\n GetBytes(str: string): Uint8Array {\r\n\r\n if (str === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n let bytes: Uint8Array = null;\r\n\r\n bytes = new Uint8Array(str.length * 3);\r\n let bytesCount: number = 0;\r\n for (let i = 0; i < str.length; i++)\r\n {\r\n bytes[bytesCount++] = str[i].charCodeAt(0);\r\n }\r\n\r\n bytes = bytes.subarray(0, 0 + bytesCount);\r\n return bytes;\r\n }\r\n\r\n GetString(bytes: Uint8Array, index: number, count: number): string {\r\n let str: string = null;\r\n\r\n if (bytes === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n if (index < 0 || count < 0 || (index + count) > bytes.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n bytes = bytes.subarray(index, index + count);\r\n\r\n try {\r\n\r\n str = '';\r\n for (let i = 0; i < bytes.length; i++)\r\n {\r\n str += String.fromCharCode(bytes[i]);\r\n };\r\n }\r\n catch (ex) {\r\n }\r\n\r\n return str;\r\n }\r\n}\r\n","import {Array_Enumerator} from \"./ArrayEnumerator\";\r\nimport {isUndefined} from \"./Utils\";\r\n\r\nexport class List<T> extends Array<T> {\r\n\r\n constructor(arrayEnumerator?: Array_Enumerator<T>) {\r\n super();\r\n Object.setPrototypeOf(this, List.prototype);\r\n\r\n if (arguments.length === 1 && arrayEnumerator.constructor === Array_Enumerator) {\r\n this.AddRange(arrayEnumerator);\r\n }\r\n }\r\n\r\n AddRange(arrayEnumerator: Array_Enumerator<T>)\r\n AddRange(array: Array<T>)\r\n AddRange(arrayEnumeratorOrArray: any) {\r\n if (arrayEnumeratorOrArray.constructor === Array) {\r\n arrayEnumeratorOrArray.forEach((item: T) => {\r\n this.push(item);\r\n });\r\n }\r\n else {\r\n let e = arrayEnumeratorOrArray;\r\n while (e.MoveNext()) {\r\n this.push(e.Current);\r\n }\r\n }\r\n }\r\n\r\n get_Item(index: number): T {\r\n if (isUndefined(this[index]))\r\n this[index] = null;\r\n return this[index];\r\n }\r\n\r\n set_Item(index: number, value: T): void {\r\n if (index >= 0 && index < this.length)\r\n this[index] = value;\r\n else\r\n throw new Error(\"index out of bounds\");\r\n }\r\n\r\n GetEnumerator(): Array_Enumerator<T> {\r\n return new Array_Enumerator<T>(this);\r\n }\r\n\r\n Remove(object: T): void {\r\n let index: number = this.indexOf(object);\r\n\r\n if (index > -1)\r\n this.RemoveAt(index);\r\n }\r\n\r\n RemoveAt(index: number): void {\r\n this.RemoveRange(index, 1);\r\n }\r\n\r\n RemoveRange(index: number, count: number): void {\r\n this.splice(index, count);\r\n }\r\n\r\n Insert(index: number, item: T): void {\r\n if (index >= 0 && index < this.length)\r\n this.splice(index, 0, item);\r\n else if (index === this.length) // inserting at end means append\r\n this.push(item);\r\n else\r\n throw new Error(\"index out of bounds\");\r\n }\r\n\r\n InsertRange(items: T[]): void {\r\n let idx: number = 0;\r\n while (idx < items.length) {\r\n this.Insert(idx, items[idx]);\r\n idx++;\r\n }\r\n }\r\n\r\n Clear(): void {\r\n this.splice(0, this.length);\r\n }\r\n\r\n ToArray(): T[] {\r\n return this.slice(0);\r\n }\r\n\r\n Contains(object: T): boolean {\r\n return this.indexOf(object) > -1;\r\n }\r\n\r\n find(predicate: (value: T, index: number, obj: T[]) => boolean): T {\r\n let foundItem = super.find(predicate);\r\n if (isUndefined(foundItem))\r\n foundItem = null;\r\n\r\n return foundItem;\r\n }\r\n\r\n /// <summary>\r\n /// add null cells up to 'size' cells.\r\n /// </summary>\r\n /// <param name=\"size\"></param>\r\n SetSize(size: number): void {\r\n if (this.length > size) {\r\n this.RemoveRange(size, this.length - size);\r\n }\r\n else\r\n this.length = size;\r\n }\r\n}\r\n","export const $EOF = 0;\r\nexport const $TAB = 9;\r\nexport const $LF = 10;\r\nexport const $VTAB = 11;\r\nexport const $FF = 12;\r\nexport const $CR = 13;\r\nexport const $SPACE = 32;\r\nexport const $BANG = 33;\r\nexport const $DQ = 34;\r\nexport const $HASH = 35;\r\nexport const $$ = 36;\r\nexport const $PERCENT = 37;\r\nexport const $AMPERSAND = 38;\r\nexport const $SQ = 39;\r\nexport const $LPAREN = 40;\r\nexport const $RPAREN = 41;\r\nexport const $STAR = 42;\r\nexport const $PLUS = 43;\r\nexport const $COMMA = 44;\r\nexport const $MINUS = 45;\r\nexport const $PERIOD = 46;\r\nexport const $SLASH = 47;\r\nexport const $COLON = 58;\r\nexport const $SEMICOLON = 59;\r\nexport const $LT = 60;\r\nexport const $EQ = 61;\r\nexport const $GT = 62;\r\nexport const $QUESTION = 63;\r\n\r\nexport const $0 = 48;\r\nexport const $9 = 57;\r\n\r\nexport const $A = 65;\r\nexport const $E = 69;\r\nexport const $F = 70;\r\nexport const $X = 88;\r\nexport const $Z = 90;\r\n\r\nexport const $LBRACKET = 91;\r\nexport const $BACKSLASH = 92;\r\nexport const $RBRACKET = 93;\r\nexport const $CARET = 94;\r\nexport const $_ = 95;\r\n\r\nexport const $a = 97;\r\nexport const $e = 101;\r\nexport const $f = 102;\r\nexport const $n = 110;\r\nexport const $r = 114;\r\nexport const $t = 116;\r\nexport const $u = 117;\r\nexport const $v = 118;\r\nexport const $x = 120;\r\nexport const $z = 122;\r\n\r\nexport const $LBRACE = 123;\r\nexport const $BAR = 124;\r\nexport const $RBRACE = 125;\r\nexport const $NBSP = 160;\r\n\r\nexport const $PIPE = 124;\r\nexport const $TILDA = 126;\r\nexport const $AT = 64;\r\n\r\nexport const $BT = 96;\r\n\r\nexport function isWhitespace(code: number): boolean {\r\n return (code >= $TAB && code <= $SPACE) || code === $NBSP;\r\n}\r\n\r\nexport function isDigit(code: number): boolean {\r\n return $0 <= code && code <= $9;\r\n}\r\n\r\nexport function isAsciiLetter(code: number): boolean {\r\n return (code >= $a && code <= $z) || (code >= $A && code <= $Z);\r\n}\r\n\r\nexport function isAsciiHexDigit(code: number): boolean {\r\n return (code >= $a && code <= $f) || (code >= $A && code <= $F) || isDigit(code);\r\n}\r\n\r\nexport function isLowerCase(str: string): boolean {\r\n return str === str.toLowerCase();\r\n}\r\nexport function isUpperCase(str: string): boolean {\r\n return str === str.toUpperCase();\r\n}\r\n","\r\n\r\nimport {isAsciiLetter, isDigit, isLowerCase, isUpperCase, isWhitespace} from \"./StringUtils\";\r\n\r\nexport class NChar {\r\n static IsWhiteSpace(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isWhitespace(ch);\r\n }\r\n\r\n static IsLetterOrDigit(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isDigit(ch) || isAsciiLetter(ch);\r\n }\r\n\r\n static IsDigit(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isDigit(ch);\r\n }\r\n\r\n static IsLetter(ltr: string): boolean {\r\n return isAsciiLetter(ltr.charCodeAt(0));\r\n }\r\n\r\n static IsLower(ch: string): boolean {\r\n return isLowerCase(ch);\r\n }\r\n\r\n static IsUpper(ch: string): boolean {\r\n return isUpperCase(ch)\r\n }\r\n}\r\n","import {Exception} from \"./Exception\";\r\n\r\nexport class NotImplementedException extends Exception {\r\n constructor(message: string = \"Not implemented\") {\r\n super(message);\r\n }\r\n}\r\n","import {RefParam} from \"./RefParam\";\r\nimport {NotImplementedException} from \"./NotImplementedException\";\r\n\r\nexport enum NumberStyles {\r\n HexNumber\r\n}\r\n\r\nexport class NNumber {\r\n\r\n /// <summary>\r\n /// convert a string to number\r\n /// for blank string , it will return 0\r\n /// for incorrect format it will return NaN\r\n /// <summary>\r\n static Parse(text: string, style?: NumberStyles): number {\r\n if (arguments.length === 2) {\r\n if (style === NumberStyles.HexNumber)\r\n return parseInt(text, 16);\r\n else\r\n throw new NotImplementedException();\r\n }\r\n return +text; // use unary + operator to convert string to number.\r\n }\r\n\r\n\r\n /// <summary>\r\n /// convert a string to number\r\n /// return true if string is correctly parsed i.e pvalue.value is number\r\n /// for incorrect format it will return false\r\n /// <summary>\r\n static TryParse(str: string, pvalue: RefParam<number>): boolean {\r\n pvalue.value = +str;\r\n return !isNaN(pvalue.value);\r\n }\r\n\r\n /// <summary>\r\n /// convert a number to string with specified format\r\n /// <summary>\r\n static ToString(num: number, format: string): string {\r\n if (format === 'X2') {\r\n let res: string = num.toString(16);\r\n return res.length === 1 ? '0' + res : res;\r\n }\r\n throw new NotImplementedException();\r\n }\r\n}\r\n","\r\nimport {isNullOrUndefined} from \"./Utils\";\r\nimport {Exception} from \"./Exception\";\r\n\r\n\r\n// @dynamic\r\nexport class NString {\r\n static Empty = \"\";\r\n\r\n static IndexOf(str: string, searchStr: any, startIndex: number, count: number): number {\r\n let index: number = str.substr(startIndex, count).indexOf(searchStr);\r\n return index > -1 ? startIndex + index : index;\r\n }\r\n\r\n static IndexOfAny(str: string, subs: string[], startIndex: number, count: number): number {\r\n for (let i = 0; i < count; ++i) {\r\n let c = str.charAt(startIndex + i);\r\n for (let j = 0; j < subs.length; ++j) {\r\n if (c === subs[j])\r\n return (startIndex + i);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n static CopyTo(source: string, sourceIndex: number, destination: string[], destinationIndex: number, count: number) {\r\n for (let i = 0; i < count; i++) {\r\n destination[destinationIndex + i] = source[sourceIndex + i];\r\n }\r\n }\r\n\r\n static Compare(strA: string, strB: string, ignoreCase: boolean): number\r\n static Compare(strA: string, strB: string, ignoreCase: boolean, indexA: number, indexB: number, length: number): number\r\n static Compare(strA: string, strB: string, ignoreCase: boolean, indexA?: number, indexB?: number, length?: number): number {\r\n if (arguments.length = 6) {\r\n strA = strA.substr(indexA, length);\r\n strB = strB.substr(indexB, length);\r\n }\r\n if (ignoreCase) {\r\n strA = strA.toLowerCase();\r\n strB = strB.toLowerCase();\r\n }\r\n return strA.localeCompare(strB);\r\n }\r\n\r\n\r\n static Equals(strA: string, strB: string, ignoreCase: boolean): boolean {\r\n if (!NString.IsNullOrEmpty(strA) && !NString.IsNullOrEmpty(strB)) {\r\n if (ignoreCase) {\r\n strA = strA.toLowerCase();\r\n strB = strB.toLowerCase();\r\n }\r\n return strA === strB;\r\n }\r\n return false;\r\n }\r\n\r\n static GetHashCode(str: string): number {\r\n var hash = 0, i, l, ch;\r\n if (str.length === 0) return hash;\r\n for (i = 0, l = str.length; i < l; i++) {\r\n ch = str.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + ch;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash;\r\n }\r\n\r\n\r\n static Remove(str: string, startIndex: number, length: number): string {\r\n return str.substr(0, startIndex - 1) + str.substr(startIndex + length - 1);\r\n }\r\n\r\n static TrimStart(str: string): string {\r\n return str.replace(/^\\s\\s*/, '')\r\n }\r\n\r\n static TrimEnd(string: string, trimChars?: string[]): string {\r\n if (arguments.length === 1)\r\n return string.replace(/\\s\\s*$/, '');\r\n\r\n for (let j = 0; j < trimChars.length; j++) {\r\n let trimChar = trimChars[j];\r\n let i = string.length - 1;\r\n while (!isNullOrUndefined(string[i]) && string[i].endsWith(trimChar)) {\r\n string = NString.Remove(string, string.length, 1);\r\n i--;\r\n }\r\n }\r\n return string;\r\n }\r\n\r\n static Format(format: string, arg0: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any, arg5?: any): string {\r\n if (!isNullOrUndefined(arg0) && arg0.constructor === Array) {\r\n var s = format,\r\n i = arg0.length;\r\n while (i--) {\r\n s = s.replace(new RegExp('\\\\{' + i + '\\\\}', 'gm'), arg0[i]);\r\n }\r\n return s;\r\n }\r\n else {\r\n var args = [arg0, arg1, arg2, arg3, arg4, arg5];\r\n return NString.Format(format, args);\r\n }\r\n }\r\n\r\n static IsNullOrEmpty(str1: string | NString): boolean {\r\n return !str1;\r\n }\r\n\r\n static FromChars(chOrChars: string[])\r\n static FromChars(chOrChars: string[], startIndex: number, len: number)\r\n static FromChars(chOrChars: string[], startIndex?: number, len?: number) {\r\n let str: string = chOrChars.join('');\r\n if (arguments.length === 3)\r\n return str.substr(startIndex, len);\r\n return str;\r\n }\r\n\r\n static FromChar(ch: string, count): string {\r\n return (new Array<string>(count).fill(<string>ch)).join('');\r\n }\r\n\r\n static ToCharArray(str: string): string[] {\r\n return Array.from(str);\r\n }\r\n\r\n static CompareOrdinal(strA: string, strB: string): number {\r\n let lenA = strA.length;\r\n let lenB = strB.length;\r\n\r\n let len = Math.min(lenA, lenB);\r\n\r\n // compare character by character\r\n for (let i = 0; i < len; i++) {\r\n if (strA[i].charCodeAt(0) !== strB[i].charCodeAt(0)) {\r\n return strA[i].charCodeAt(0) - strB[i].charCodeAt(0);\r\n }\r\n }\r\n\r\n // if all characters are same , but length is different return the difference of length\r\n if (lenA !== lenB) {\r\n return lenA - lenB;\r\n }\r\n\r\n // all chars are same , so strings are equal\r\n return 0;\r\n }\r\n\r\n static PadRight(source: string, maxLength: number, fillString?: string): string {\r\n if (source.length >= maxLength)\r\n return source;\r\n\r\n let fillLen = maxLength - source.length;\r\n let timesToRepeat = Math.ceil(fillLen / fillString.length);\r\n let truncatedStringFiller = fillString.repeat(timesToRepeat).slice(0, fillLen);\r\n return source + truncatedStringFiller;\r\n }\r\n\r\n static Insert(str: string, index: number, ch: string): string {\r\n return str.substr(0, index) + ch + str.substr(index, str.length - index);\r\n }\r\n\r\n static Replace(str:string, orgSubStr: string, newSubStr: string): string {\r\n let resultStr:string = '';\r\n\r\n // fixed defect 151810: replace \"*\" with \"\\*\" before we update the string so * will be as char and not reg exp\r\n // also for special chars $ ^ . ? + , [\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\\\\\\", 'g'), \"\\\\\\\\\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\*\",'g'), \"\\\\\\*\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\$\",'g'), \"\\\\\\$\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\^\",'g'), \"\\\\\\^\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\.\",'g'), \"\\\\\\.\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\?\",'g'), \"\\\\\\?\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\+\",'g'), \"\\\\\\+\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\,\",'g'), \"\\\\\\,\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\[\",'g'), \"\\\\\\[\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\|\",'g'), \"\\\\\\|\");\r\n\r\n try {\r\n resultStr = str.replace(new RegExp(orgSubStr,'g'), newSubStr);\r\n }\r\n catch (e) {\r\n throw new Exception(e.message);\r\n }\r\n return resultStr;\r\n }\r\n}\r\n","export class NumberFormatInfo {\r\n public static readonly NegativeSign: string = '-';\r\n\r\n public static readonly NumberDecimalSeparator: string = NumberFormatInfo.GetLocaleDecimalSeperator();\r\n\r\n private static GetLocaleDecimalSeperator(): string {\r\n return (1.1).toLocaleString()[1]; // get the decimal seperator of current locale\r\n }\r\n}\r\n","export class RefParam<T> {\r\n value: T;\r\n\r\n constructor(value: T) {\r\n this.value = value;\r\n }\r\n}\r\n","export class Stack<TData> {\r\n\r\n private _array: Array<TData>;\r\n\r\n constructor() {\r\n this._array = new Array<TData>();\r\n }\r\n\r\n public count(): number {\r\n return this._array.length;\r\n }\r\n\r\n public isEmpty(): boolean {\r\n return this._array.length === 0;\r\n }\r\n\r\n public push(value: TData): void {\r\n this._array.push(value);\r\n }\r\n\r\n public pop(): TData {\r\n return this._array.pop();\r\n }\r\n\r\n public peek(): TData {\r\n if (this._array.length > 0) {\r\n return this._array[this._array.length - 1];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public Clear(): void {\r\n this._array.splice(0, this._array.length);\r\n }\r\n\r\n public Clone(): Stack<TData> {\r\n let clone: Stack<TData> = new Stack<TData>();\r\n clone._array = this._array.slice();\r\n return clone;\r\n }\r\n}\r\n","import * as StackTrace from 'stacktrace-js';\r\nimport JSStackFrame = StackTrace.StackFrame;\r\n\r\n// StackFrame uses StackTrace utility using stacktrace-js utility from npm\r\n// https://www.npmjs.com/package/stacktrace-js\r\nexport class StackFrame {\r\n private stackFrame: JSStackFrame = null;\r\n\r\n constructor(skipFrames: number) {\r\n\r\n let stackFrames: JSStackFrame[] = StackTrace.getSync();\r\n if (skipFrames < 0 || skipFrames >= stackFrames.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n this.stackFrame = stackFrames[skipFrames];\r\n }\r\n\r\n public GetFileName(): string {\r\n return this.stackFrame.fileName;\r\n }\r\n}\r\n","import * as JSStackTrace from 'stacktrace-js';\r\nimport JSStackFrame = JSStackTrace.StackFrame;\r\n\r\n// This uses StackTrace utility using stacktrace-js utility from npm. Use this in package.json\r\n// https://www.npmjs.com/package/stacktrace-js\r\nexport class StackTrace {\r\n GetFrames(): JSStackFrame[] {\r\n // Using getSync() method, it returns references of callstack ethod from the javascript files bindled and not typeScript file from sources.\r\n // However, if aSync method would have used, it overcomes above problems but the call to log would have been async and we would not have\r\n // received synchronous logs which would be confusing.\r\n return JSStackTrace.getSync();\r\n }\r\n}\r\n","import {Debug} from \"./Debug\";\r\nimport {NString} from \"./NString\";\r\n\r\n// StringBuilder class. Its Implementation currently uses string object. It could have been string[], but it has issues when inserting string.\r\n// It would not have served purpose while inserting a string. Other could be to use string[] with one chraracter per string. Even its utility\r\n// is doubtful as while manipulation, it would be creting new objects instead pointers. So for now we have used only string and see if we have\r\n// any performance issues.\r\nexport class StringBuilder {\r\n private part: string = \"\";\r\n\r\n // Ctor\r\n constructor(length?: number)\r\n constructor(value?: string, length?: number)\r\n constructor(valueOrLength?: any, length?: number) {\r\n if (arguments.length > 0) {\r\n if (valueOrLength != null && valueOrLength.constructor === Number) {\r\n // TODO: Very low priority performance improvement - Implement this.\r\n // Debug.Assert(false, \"StringBuilder: NotImplemented constructor with initial length/capacity\");\r\n // throw new Error(\"NotImplemented constructor with initial length/capacity\");\r\n }\r\n else if (valueOrLength != null && valueOrLength.constructor === String) {\r\n this.part = valueOrLength.toString();\r\n // TODO: Very low priority performance improvement - Implement this.\r\n // if (arguments.length === 2)\r\n // Debug.Assert(false, \"NotImplemented constructor with initial length/capacity\");\r\n }\r\n }\r\n }\r\n\r\n // Appends string/number\r\n Append(num: number, numberOfCharacters?: number): StringBuilder;\r\n Append(text: string): StringBuilder;\r\n Append(text: string, numberOfCharacters: number): StringBuilder;\r\n Append(text: string, startIndex: number, charCount: number): StringBuilder;\r\n Append(textOrNum: any, startIndexOrNumberOfCharacters?: number, charCount?: number): StringBuilder {\r\n\r\n if (textOrNum === null)\r\n return this;\r\n\r\n if (textOrNum.constructor === String) {\r\n if (arguments.length === 1)\r\n this.AppendString(textOrNum.toString());\r\n else if (arguments.length === 2) {\r\n Debug.Assert(textOrNum.length === 1, \"character is expected not string\");\r\n this.AppendString(textOrNum.charAt(0).repeat(startIndexOrNumberOfCharacters));\r\n }\r\n else\r\n this.AppendString(textOrNum.toString(), startIndexOrNumberOfCharacters, charCount);\r\n }\r\n else\r\n this.AppendNumber(textOrNum, startIndexOrNumberOfCharacters);\r\n\r\n return this;\r\n }\r\n\r\n // Append string\r\n private AppendString(text: string, startIndex: number = 0, charCount: number = text.length): void {\r\n this.part = this.part + text.substr(startIndex, charCount);\r\n }\r\n\r\n // Append Number\r\n private AppendNumber(num: number, numberOfCharacters: number = 1): void {\r\n if (numberOfCharacters <= 0)\r\n throw new Error(\"numberOfCharacters cannot be less than or equal to zero\");\r\n\r\n this.part = this.part + num.toString().repeat(numberOfCharacters);\r\n }\r\n\r\n // Append Line\r\n AppendLine(text: string = null): void {\r\n if (text !== null)\r\n this.part = this.part + text;\r\n this.part = this.part + '\\n';\r\n }\r\n\r\n // Append Formatted string\r\n AppendFormat(format: string, arg0: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1: any, arg2: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1?: any, arg2?: any): StringBuilder {\r\n this.part = this.part + NString.Format(format, arg0, arg1, arg2);\r\n return this;\r\n }\r\n\r\n // Convert to string\r\n ToString(): string;\r\n ToString(startIndex: number, length: number): string;\r\n ToString(startIndex ?: number, length ?: number): string {\r\n if (arguments.length === 2) {\r\n if (startIndex < 0 || length < 0 || (startIndex + length) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n return this.part.substr(startIndex, length);\r\n }\r\n return this.part;\r\n }\r\n\r\n get Length(): number {\r\n return this.part.length;\r\n }\r\n\r\n get_Item(index: number): string {\r\n if (index < 0 || index >= this.part.length)\r\n throw new Error(\"Index out of range\");\r\n\r\n return this.part.charAt(index);\r\n }\r\n\r\n set_Item(index: number, value: string) {\r\n if (index < 0 || index >= this.part.length)\r\n throw new Error(\"Index out of range\");\r\n\r\n Debug.Assert(value.length <= 1, \"Length of string cannot be more than 1. Only character is expected\");\r\n let leftPart: string = this.part.substring(0, index);\r\n let rightPart: string = this.part.substring(index + 1, this.part.length);\r\n this.part = leftPart + value.charAt(0) + rightPart;\r\n }\r\n\r\n Insert(index: number, value: string): StringBuilder {\r\n if (index < 0 || index > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n let leftPart: string = this.part.substring(0, index);\r\n let rightPart: string = this.part.substring(index, this.part.length);\r\n this.part = leftPart + value + rightPart;\r\n\r\n return this;\r\n }\r\n\r\n Remove(startIndex: number, length: number): StringBuilder {\r\n if (startIndex < 0 || length < 0 || (startIndex + length) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n let leftPart: string = this.part.substring(0, startIndex);\r\n let rightPart: string = this.part.substring(startIndex + length, this.part.length);\r\n this.part = leftPart + rightPart;\r\n\r\n return this;\r\n }\r\n\r\n Replace(oldValue: string, newValue: string): StringBuilder;\r\n Replace(oldValue: string, newValue: string, startIndex: number, count: number): StringBuilder;\r\n Replace(oldValue: string, newValue: string, startIndex?: number, count?: number): StringBuilder {\r\n if (oldValue === null)\r\n throw new Error(\"oldValue cannot be null\");\r\n else if (oldValue.length === 0)\r\n throw new Error(\"Length of oldValue cannot be 0\");\r\n\r\n if (arguments.length === 4) {\r\n if (startIndex < 0 || count < 0 || (startIndex + count) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n }\r\n\r\n if (arguments.length === 2)\r\n this.part = this.part.replace(new RegExp(oldValue, 'g'), newValue);\r\n else if (arguments.length === 4) {\r\n let substr: string = this.part.substring(startIndex, startIndex + count);\r\n substr = substr.replace(new RegExp(oldValue, 'g'), newValue);\r\n\r\n let leftPart: string = this.part.substring(0, startIndex);\r\n let rightPart: string = this.part.substring(startIndex + count, this.part.length);\r\n this.part = leftPart + substr + rightPart;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n // return the string\r\n toString(): string {\r\n return this.ToString();\r\n }\r\n}\r\n","import {interval} from 'rxjs';\r\n\r\nexport class Thread {\r\n private static nextId: number = 1;\r\n static CurrentThread: Thread = new Thread();\r\n ManagedThreadId: number = 0;\r\n\r\n constructor() {\r\n this.ManagedThreadId = Thread.nextId++;\r\n }\r\n\r\n /// <summary>\r\n /// Free the thread so it will be able to do other work, like gui events\r\n /// </summary>\r\n /// <param name = \"millisecondsTimeout\"> timeout in milliseconds</param>\r\n\r\n public static async Sleep(millisecondsTimeout: number): Promise<void>\r\n {\r\n await new Promise<void>((resolve) => {\r\n let timer = interval(millisecondsTimeout);\r\n let subscription = timer.subscribe( () => {subscription.unsubscribe(); resolve();});\r\n }).then();\r\n }\r\n}\r\n","import {Exception} from \"./Exception\";\r\n\r\nexport class WebException extends Exception {\r\n constructor(error: Error) {\r\n super();\r\n this.name = \"WebException\";\r\n this.stack = error.stack;\r\n this.message = error.message;\r\n }\r\n}\r\n","import {NotImplementedException} from \"./NotImplementedException\";\r\n\r\nexport class XmlConvert {\r\n // TODO : Implement\r\n static EncodeName(name: string): string {\r\n throw new NotImplementedException();\r\n }\r\n}\r\n"],"names":["StackTrace","JSStackTrace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"magic-xpa-mscorelib.mjs","sources":["../../../../projects/mscorelib/src/Utils.ts","../../../../projects/mscorelib/src/Exception.ts","../../../../projects/mscorelib/src/ApplicationException.ts","../../../../projects/mscorelib/src/ArrayEnumerator.ts","../../../../projects/mscorelib/src/BitArray.ts","../../../../projects/mscorelib/src/Char.ts","../../../../projects/mscorelib/src/CultureInfo.ts","../../../../projects/mscorelib/src/DateTime.ts","../../../../projects/mscorelib/src/Debug.ts","../../../../projects/mscorelib/src/Dictionary.ts","../../../../projects/mscorelib/src/Encoding.ts","../../../../projects/mscorelib/src/HashTable.ts","../../../../projects/mscorelib/src/Int32.ts","../../../../projects/mscorelib/src/Int64.ts","../../../../projects/mscorelib/src/ISO_8859_1_Encoding.ts","../../../../projects/mscorelib/src/List.ts","../../../../projects/mscorelib/src/StringUtils.ts","../../../../projects/mscorelib/src/NChar.ts","../../../../projects/mscorelib/src/NotImplementedException.ts","../../../../projects/mscorelib/src/NNumber.ts","../../../../projects/mscorelib/src/NString.ts","../../../../projects/mscorelib/src/NumberFormatInfo.ts","../../../../projects/mscorelib/src/RefParam.ts","../../../../projects/mscorelib/src/Stack.ts","../../../../projects/mscorelib/src/StackFrame.ts","../../../../projects/mscorelib/src/StackTrace.ts","../../../../projects/mscorelib/src/StringBuilder.ts","../../../../projects/mscorelib/src/Thread.ts","../../../../projects/mscorelib/src/WebException.ts","../../../../projects/mscorelib/src/XmlConvert.ts"],"sourcesContent":["export function isNullOrUndefined(object: any): boolean {\r\n return object == undefined || object == null;\r\n}\r\nexport function isUndefined(object: any): boolean {\r\n return object == undefined;\r\n}\r\n","/// <summary>\r\n/// The base class of all exceptions\r\n/// </summary>\r\n\r\nimport {isNullOrUndefined} from \"./Utils\";\r\n\r\nexport class Exception{\r\n\r\n name: string = \"Exception\";\r\n message: string = \"\";\r\n stack: string = \"\";\r\n\r\n\r\n errorLevel = 1;\r\n /// <summary>\r\n /// constructor\r\n /// </summary>\r\n /// <param name=\"message\" denotes the message of exception></param>\r\n /// <param name=\"name\" denotes the type of exception></param>\r\n constructor(message?: string)\r\n constructor(error: Error)\r\n constructor(messageOrError: string | Error) {\r\n if (!isNullOrUndefined(messageOrError)) {\r\n if (messageOrError instanceof Error) {\r\n this.stack = (<Error>messageOrError).stack;\r\n this.message = (<Error>messageOrError).message;\r\n }\r\n else {\r\n this.message = <string>messageOrError;\r\n this.stack = new Error().stack;\r\n }\r\n }\r\n }\r\n\r\n /// <summary>\r\n /// get the message of exception\r\n /// </summary>\r\n get Message() {\r\n return this.message;\r\n }\r\n\r\n /// <summary>\r\n /// get the stack trace of exception\r\n /// </summary>\r\n get StackTrace() {\r\n\r\n let stackTrace = this.stack || '';\r\n let stackLines = stackTrace.split(\"\\n\").map(function (line) { return line.trim(); });\r\n\r\n // On some browsers (e.g. Chrome), the statck includes a title as \"Error\", so remove it.\r\n stackTrace = stackLines.splice(stackLines[0] === 'Error' ? this.errorLevel + 1 : this.errorLevel).join(\"\\n\");\r\n\r\n return \"\\n\" + stackTrace;\r\n }\r\n\r\n /// <summary>\r\n /// get the type of exception\r\n /// </summary>\r\n public GetType(): string {\r\n return this.name;\r\n }\r\n}\r\n\r\n\r\n","import {Exception} from \"./Exception\";\r\nimport {isUndefined} from \"./Utils\";\r\n\r\nexport class ApplicationException extends Exception {\r\n\r\n InnerException: Exception = null;\r\n\r\n constructor(message: string = \"\", innerException?: Exception) {\r\n super(message);\r\n this.name = 'ApplicationException';\r\n this.InnerException = (isUndefined(innerException) ? null : innerException);\r\n this.errorLevel = 2;\r\n }\r\n}\r\n","\r\nexport interface IEnumerable<T> {\r\n GetEnumerator(): Array_Enumerator<T>;\r\n}\r\n\r\nexport class Array_Enumerator<T> {\r\n private array: T[];\r\n private index: number = -1;\r\n\r\n constructor(array: T[]) {\r\n this.array = array;\r\n }\r\n\r\n MoveNext(): boolean {\r\n this.index++;\r\n return this.index < this.array.length;\r\n }\r\n\r\n get Current(): T {\r\n return this.array[this.index];\r\n }\r\n\r\n Dispose(): void {\r\n }\r\n}\r\n","/// <summary>\r\n/// Manages a compact array of bit values,\r\n// which are represented as Booleans, where true indicates that the bit is on (1) and false indicates the bit is off (0).\r\n/// </summary>\r\nexport class BitArray {\r\n\r\n private array: Array<boolean> = null; // array of boolean values\r\n\r\n /// <summary>\r\n /// returns the length of array\r\n /// </summary>\r\n /// <returns></returns>\r\n public get Length() {\r\n return this.array.length;\r\n }\r\n\r\n constructor(length: number) {\r\n this.array = new Array(length).fill(false);\r\n }\r\n\r\n /// <summary>\r\n /// get the value of flag at specified index\r\n /// </summary>\r\n /// <returns></returns>\r\n public Get(index: number): boolean {\r\n return this.array[index];\r\n }\r\n\r\n /// <summary>\r\n /// set the value of flag at specified index\r\n /// </summary>\r\n /// <returns></returns>\r\n public Set(index: number, value: boolean) {\r\n this.array[index] = value;\r\n }\r\n\r\n\r\n}\r\n","export class Char {\r\n static MinValue: string = '\\0';\r\n static MaxValue: string = String.fromCharCode(0xFFFF);\r\n}\r\n","export class CultureInfo {\r\n static InvariantCulture: CultureInfo = new CultureInfo();\r\n}\r\n","import moment from 'moment'\r\n\r\nexport enum DateTimeKind {\r\n Local,\r\n Utc\r\n}\r\n\r\n// @dynamic\r\nexport class DateTime {\r\n private dt: Date = null;\r\n private kind: DateTimeKind = null;\r\n\r\n // the number of .net ticks at the unix epoch\r\n private readonly epochTicks = 621355968000000000;\r\n\r\n // there are 10000 .net ticks per millisecond\r\n private readonly ticksPerMillisecond = 10000;\r\n\r\n get Ticks(): number {\r\n // https://stackoverflow.com/questions/7966559/how-to-convert-javascript-date-object-to-ticks\r\n // TODO - check if we need this or to use Misc.getSystemMilliseconds()\r\n return ((this.dt.getTime() * this.ticksPerMillisecond) + this.epochTicks) - (this.dt.getTimezoneOffset() * 600000000);\r\n }\r\n\r\n get Year(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCFullYear() : this.dt.getFullYear();\r\n }\r\n\r\n get Month(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMonth() + 1 : this.dt.getMonth() + 1;\r\n }\r\n\r\n get Day(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCDate() : this.dt.getDate();\r\n }\r\n\r\n get Hour(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCHours() : this.dt.getHours();\r\n }\r\n\r\n get Minute(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMinutes() : this.dt.getMinutes();\r\n }\r\n\r\n get Second(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCSeconds() : this.dt.getSeconds();\r\n }\r\n\r\n get Millisecond(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMilliseconds() : this.dt.getMilliseconds();\r\n }\r\n\r\n\r\n constructor(date: Date);\r\n constructor(year: number, month: number, day: number);\r\n constructor(year: number, month: number, day: number, hour : number, minute : number, second: number);\r\n constructor(yearOrDate: any, month?: number, day?: number, hour?: number, minute?: number, second?: number) {\r\n if (arguments.length === 1) {\r\n this.dt = <Date>yearOrDate;\r\n }\r\n if (arguments.length === 3) {\r\n this.dt = new Date(<number>yearOrDate, month - 1, day);\r\n }\r\n if (arguments.length === 6) {\r\n this.dt = new Date(<number>yearOrDate, month - 1, day, hour, minute, second);\r\n }\r\n this.kind = DateTimeKind.Local;\r\n }\r\n\r\n\r\n\r\n\r\n Format(formatString: string): string {\r\n return moment(this.dt).format(formatString);\r\n }\r\n\r\n static get UtcNow(): DateTime {\r\n let d = new DateTime(new Date());\r\n d.kind = DateTimeKind.Utc;\r\n return d;\r\n }\r\n\r\n static get Now(): DateTime {\r\n let d = new DateTime(new Date());\r\n d.kind = DateTimeKind.Local;\r\n return d;\r\n }\r\n\r\n static GetTotalSecondsFromMidnight(utcTime: boolean, date: Date): number {\r\n let hh = utcTime ? date.getUTCHours() : date.getHours();\r\n let mm = utcTime ? date.getUTCMinutes() : date.getMinutes();\r\n let ss = utcTime ? date.getUTCSeconds() : date.getSeconds();\r\n\r\n return hh * 60 * 60 + mm * 60 + ss;\r\n }\r\n\r\n static GetTotalMilliSecondsFromMidnight(utcTime: boolean, date: Date): number {\r\n let hh = utcTime ? date.getUTCHours() : date.getHours();\r\n let mm = utcTime ? date.getUTCMinutes() : date.getMinutes();\r\n let ss = utcTime ? date.getUTCSeconds() : date.getSeconds();\r\n let ms = utcTime ? date.getUTCSeconds() : date.getMilliseconds();\r\n return (hh * 60 * 60 + mm * 60 + ss) * 1000 + ms;\r\n }\r\n}\r\n\r\n\r\n","export class Debug {\r\n static WriteLine(text: string): void {\r\n console.log(text);\r\n }\r\n\r\n static Assert(assertCondtion: boolean, message?: string): void {\r\n if (!assertCondtion)\r\n alert(message);\r\n }\r\n}\r\n","import {RefParam} from \"./RefParam\";\r\nimport {Exception} from \"./Exception\";\r\n\r\nexport class Dictionary<V> {\r\n private values: Array<V> = new Array();\r\n\r\n get_Item(key: string): V {\r\n if (this.values.hasOwnProperty(key))\r\n return this.values[key];\r\n else\r\n return null;\r\n }\r\n\r\n set_Item(key: string, value: V) {\r\n this.values[key] = value;\r\n }\r\n\r\n Add(key: string, value: V) {\r\n if (this.values.hasOwnProperty(key))\r\n throw new Exception(\"An item with the same key has already been added\");\r\n else\r\n this.values[key] = value;\r\n }\r\n\r\n ContainsKey(key: string): boolean {\r\n return this.values.hasOwnProperty(key);\r\n }\r\n\r\n TryGetValue(key: string, pvalue: RefParam<V>): boolean {\r\n if (this.values.hasOwnProperty(key)) {\r\n pvalue.value = this.values[key];\r\n return true;\r\n }\r\n else {\r\n pvalue.value = null;\r\n return false;\r\n }\r\n }\r\n\r\n Remove(key: string): void {\r\n delete this.values[key];\r\n }\r\n\r\n get Keys(): string[] {\r\n return Object.keys(this.values);\r\n }\r\n}\r\n","import {TextDecoder, TextEncoder} from \"text-encoding\";\r\n\r\nexport class Encoding {\r\n static readonly ASCII: Encoding = new Encoding(\"ascii\");\r\n static readonly UTF8: Encoding = new Encoding(\"utf-8\");\r\n static readonly Unicode: Encoding = new Encoding(\"utf-16le\");\r\n\r\n static readonly CodePageToEncodingMap = Encoding.PopulateCodePageToEncodingMap();\r\n\r\n private readonly textEncoder: TextEncoder = null;\r\n private readonly textDecoder: TextDecoder = null;\r\n constructor(private label: string) {\r\n this.textEncoder = new TextEncoder(label, {NONSTANDARD_allowLegacyEncoding: true});\r\n this.textDecoder = new TextDecoder(label, {NONSTANDARD_allowLegacyEncoding: true});\r\n }\r\n\r\n GetBytes(str: string): Uint8Array {\r\n\r\n if (str === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n let bytes: Uint8Array = null;\r\n\r\n try {\r\n bytes = this.textEncoder.encode(str);\r\n }\r\n catch (ex) {\r\n // In C#, if any character is not within the range of specified charset, it is replaced by '?'.\r\n // TextEncoder.encode() throws an error in such a case.\r\n // We can modify the implementation of TextEncoder.encode() to put '?' instead of throwing error.\r\n // But, it can be problematic if we change the library version.\r\n // So, we will catch this error and handle the encoding ourselves.\r\n bytes = new Uint8Array(str.length * 3);\r\n let bytesCount: number = 0;\r\n let tmpBytes: Uint8Array;\r\n\r\n for (let i = 0; i < str.length; i++)\r\n {\r\n try {\r\n tmpBytes = this.textEncoder.encode(str[i]);\r\n bytes.set(tmpBytes, bytesCount);\r\n bytesCount += tmpBytes.length;\r\n }\r\n catch (ex) {\r\n bytes[bytesCount++] = \"?\".charCodeAt(0);\r\n }\r\n }\r\n\r\n bytes = bytes.subarray(0, 0 + bytesCount);\r\n }\r\n\r\n return bytes;\r\n }\r\n\r\n GetByteCount(str: string): number {\r\n // TODO: this is not the best way.\r\n return this.GetBytes(str).length;\r\n }\r\n\r\n GetString(bytes: Uint8Array, index: number, count: number): string {\r\n let str: string = null;\r\n\r\n if (bytes === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n if (index < 0 || count < 0 || (index + count) > bytes.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n bytes = bytes.subarray(index, index + count);\r\n\r\n try {\r\n str = this.textDecoder.decode(bytes);\r\n }\r\n catch (ex) {\r\n }\r\n\r\n return str;\r\n }\r\n\r\n static GetEncoding(codepage: number): Encoding {\r\n let label: string = Encoding.CodePageToEncodingMap[codepage];\r\n\r\n if (label == null)\r\n throw new Error(\"Invalid codepage.\");\r\n\r\n return new Encoding(label);\r\n }\r\n private static PopulateCodePageToEncodingMap(): any {\r\n\r\n let hashTable = new Object;\r\n\r\n // These map is similar to enc_map_table of exp_xml.cpp\r\n hashTable[20106] = \"DIN_66003\"; // IA5 (German)\r\n hashTable[20107] = \"SEN_850200_B\"; // IA5 (Swedish)\r\n hashTable[50932] = \"_autodetect\"; // Japanese (Auto Select)\r\n hashTable[20108] = \"NS_4551-1\"; // IA5 (Norwegian)\r\n hashTable[50949] = \"_autodetect_kr\"; // Korean (Auto Select)\r\n hashTable[950] = \"big5\"; // Chinese Traditional (Big5)\r\n hashTable[50221] = \"csISO2022JP\"; // Japanese (JIS-Allow 1 byte Kana)\r\n hashTable[51949] = \"euc-kr\"; // Korean (EUC)\r\n hashTable[936] = \"gb2312\"; // Chinese Simplified (GB2312)\r\n hashTable[52936] = \"hz-gb-2312\"; // Chinese Simplified (HZ)\r\n hashTable[852] = \"ibm852\"; // Central European (DOS)\r\n hashTable[866] = \"ibm866\"; // Cyrillic Alphabet (DOS)\r\n hashTable[20105] = \"irv\"; // IA5 (IRV)\r\n hashTable[50220] = \"iso-2022-jp\"; // Japanese (JIS)\r\n hashTable[50222] = \"iso-2022-jp\"; // Japanese (JIS-Allow 1 byte Kana)\r\n hashTable[50225] = \"iso-2022-kr\"; // Korean (ISO)\r\n hashTable[28591] = \"iso-8859-1\"; // Western Alphabet (ISO)\r\n hashTable[28592] = \"iso-8859-2\"; // Central European Alphabet (ISO)\r\n hashTable[28593] = \"iso-8859-3\"; // Latin 3 Alphabet (ISO)\r\n hashTable[28594] = \"iso-8859-4\"; // Baltic Alphabet (ISO)\r\n hashTable[28595] = \"iso-8859-5\"; // Cyrillic Alphabet (ISO)\r\n hashTable[28596] = \"iso-8859-6\"; // Arabic Alphabet (ISO)\r\n hashTable[28597] = \"iso-8859-7\"; // Greek Alphabet (ISO)\r\n hashTable[28598] = \"iso-8859-8\"; // Hebrew Alphabet (ISO)\r\n hashTable[20866] = \"koi8-r\"; // Cyrillic Alphabet (KOI8-R)\r\n hashTable[949] = \"ks_c_5601\"; // Korean\r\n hashTable[932] = \"shift-jis\"; // Japanese (Shift-JIS)\r\n hashTable[1200] = \"unicode\"; // Universal Alphabet\r\n hashTable[1201] = \"unicodeFEFF\"; // Universal Alphabet (Big-Endian)\r\n hashTable[65000] = \"utf-7\"; // Universal Alphabet (UTF-7)\r\n hashTable[65001] = \"utf-8\"; // Universal Alphabet (UTF-8)\r\n hashTable[1250] = \"windows-1250\"; // Central European Alphabet (Windows)\r\n hashTable[1251] = \"windows-1251\"; // Cyrillic Alphabet (Windows)\r\n hashTable[1252] = \"windows-1252\"; // Western Alphabet (Windows)\r\n hashTable[1253] = \"windows-1253\"; // Greek Alphabet (Windows)\r\n hashTable[1254] = \"windows-1254\"; // Turkish Alphabet\r\n hashTable[1255] = \"windows-1255\"; // Hebrew Alphabet (Windows)\r\n hashTable[1256] = \"windows-1256\"; // Arabic Alphabet (Windows)\r\n hashTable[1257] = \"windows-1257\"; // Baltic Alphabet (Windows)\r\n hashTable[1258] = \"windows-1258\"; // Vietnamese Alphabet (Windows)\r\n hashTable[874] = \"windows-874\"; // Thai (Windows)\r\n hashTable[20127] = \"US-ASCII\"; // us-ascii\r\n hashTable[51932] = \"x-euc\"; // Japanese (EUC)\r\n\r\n return hashTable;\r\n }\r\n\r\n // return the name of encoding used \r\n public toString(): string {\r\n return this.label;\r\n }\r\n}\r\n","// Reference: https://github.com/rkostrzewski/hashtable-ts/blob/master/src/hashtable.ts\r\n\r\nimport {Array_Enumerator} from \"./ArrayEnumerator\";\r\nimport {Exception} from \"./Exception\";\r\nimport {Encoding} from \"./Encoding\";\r\n\r\nexport class HashUtils {\r\n // Pay attention that in server there is the same function and it must\r\n // return the same hash value.\r\n static GetHashCode(str: string): number {\r\n let bytes: Uint8Array = null;\r\n\r\n bytes = Encoding.UTF8.GetBytes(str);\r\n\r\n return HashUtils.getHashCode(bytes);\r\n }\r\n\r\n private static getHashCode(byteArray: Uint8Array) {\r\n let hashval: number;\r\n\r\n let hash1: number = 5381;\r\n let hash2: number = hash1;\r\n let c: number;\r\n\r\n for (let i: number = 0; i < byteArray.length; i += 2) {\r\n c = byteArray[i];\r\n hash1 = ((hash1 << 5) + hash1) ^ c;\r\n if ((i + 1) === byteArray.length)\r\n break;\r\n c = byteArray[i + 1];\r\n hash2 = ((hash2 << 5) + hash2) ^ c;\r\n hash1 = hash1 & 0xffff;\r\n hash2 = hash2 & 0xffff;\r\n }\r\n\r\n let hash3: number = (hash2 * 13577);\r\n hashval = (hash1 + hash3);\r\n return (hashval);\r\n }\r\n}\r\n\r\nexport interface IHashCode {\r\n GetHashCode(): number;\r\n}\r\n\r\ntype BucketElement<TKey, TValue> = { key: TKey, value: TValue };\r\ntype Bucket<TKey, TValue> = [BucketElement<TKey, TValue>];\r\n\r\nconst HashTableLoadFactor = 0.75;\r\n\r\n// Hashtable implementation for key TKey and Value TValue\r\nexport class Hashtable<TKey extends (IHashCode | string | number), TValue> {\r\n\r\n private _buckets: Bucket<TKey, TValue>[] = []; // total no. of buckets\r\n private _elementsCount = 0; // total elements\r\n private _bucketCount: number = 0;\r\n private _loadFactor: number = 0;\r\n\r\n constructor(bucketCount: number = 8, loadFactor: number = HashTableLoadFactor) {\r\n this._bucketCount = bucketCount;\r\n this._loadFactor = loadFactor;\r\n\r\n if (this._bucketCount % 2 !== 0) {\r\n throw new Exception('Bucket count must be a positive number and be multiple of 2.');\r\n }\r\n }\r\n\r\n // Generic Hash funtion\r\n private HashFunction(key): number {\r\n if (typeof key.GetHashCode === 'function') {\r\n return key.GetHashCode();\r\n } else if (key.constructor === String) {\r\n return HashUtils.GetHashCode(key.toString());\r\n } else if (key.constructor === Number) {\r\n return +key;\r\n }\r\n return 0;\r\n }\r\n\r\n // returns elementCount\r\n get Count() {\r\n return this._elementsCount;\r\n }\r\n\r\n // returns ValueCollection (Array Enumerator)\r\n get Values(): Array_Enumerator<TValue> {\r\n let array: Array<TValue> = [];\r\n this._buckets.forEach(b => b.forEach(item => {\r\n array.push(item.value);\r\n }));\r\n return new Array_Enumerator(array);\r\n }\r\n\r\n // returns KeyCollection (Array Enumerator)\r\n get Keys(): Array_Enumerator<TKey> {\r\n let array: Array<TKey> = [];\r\n this._buckets.forEach(b => b.forEach(item => {\r\n array.push(item.key);\r\n }));\r\n return new Array_Enumerator(array);\r\n }\r\n\r\n // adds item to Hashtable\r\n Add(key: TKey, value: TValue): void {\r\n this.Insert(key, value, true);\r\n }\r\n\r\n // sets item in Hashtable\r\n set_Item(key: TKey, value: TValue) {\r\n this.Insert(key, value, false);\r\n }\r\n\r\n // Insert element in Hashtable\r\n private Insert(key: TKey, value: TValue, add: boolean): void {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n\r\n if (typeof this._buckets[bucketIndex] === \"undefined\") {\r\n this._buckets[bucketIndex] = <Bucket<TKey, TValue>><unknown>[];\r\n }\r\n\r\n if (this._buckets[bucketIndex].find(x => x.key === key)) {\r\n if (add) {\r\n throw new Exception('Item with provided key already exists!');\r\n } else {\r\n this.Remove(key);\r\n return;\r\n }\r\n }\r\n\r\n this._buckets[bucketIndex].push({key: key, value: value});\r\n\r\n this._elementsCount++;\r\n if (this._elementsCount > this._bucketCount * this._loadFactor) {\r\n this.Resize(this._bucketCount * 2);\r\n }\r\n }\r\n\r\n// Gets value for key TKey\r\n get_Item(key: TKey): TValue {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return null;\r\n }\r\n\r\n let item = bucket.find(x => x.key === key);\r\n if (item) {\r\n return item.value;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // Returns if key TKey is present in Hashtable\r\n ContainsKey(key: TKey): boolean {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return false;\r\n }\r\n\r\n let itemIndex = bucket.findIndex(x => x.key === key);\r\n return (itemIndex > -1);\r\n }\r\n\r\n // Removes item with key TKey from Hashtable\r\n Remove(key: TKey) {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return;\r\n }\r\n\r\n let itemIndex = bucket.findIndex(x => x.key === key);\r\n if (itemIndex > -1) {\r\n bucket.splice(itemIndex, 1);\r\n this._elementsCount--;\r\n if (this._elementsCount <= this._bucketCount * (1 - this._loadFactor)) {\r\n this.Resize(this._bucketCount / 2);\r\n }\r\n }\r\n }\r\n\r\n // Resize bucket (Hashtable)\r\n private Resize(newBucketCount: number) {\r\n let _oldBuckets = this._buckets;\r\n this._elementsCount = 0;\r\n this._buckets = [];\r\n this._bucketCount = newBucketCount;\r\n\r\n _oldBuckets.forEach(b => b.forEach(item => this.Add(item.key, item.value)));\r\n }\r\n\r\n// returns bucketIndex for key\r\n private GetBucketIndex(key: TKey) {\r\n let hash = this.HashFunction(key);\r\n if (hash % 1 !== 0) {\r\n throw new Exception('Key\\'s hash must be an integer!');\r\n }\r\n\r\n let index = Math.abs(hash) % this._bucketCount;\r\n\r\n if (index < 0 || index >= this._bucketCount) {\r\n throw new Exception('Index exceeds bucket boundaries');\r\n }\r\n\r\n return index;\r\n }\r\n\r\n// Clears Hashtable\r\n Clear(): void {\r\n this._elementsCount = 0;\r\n this._buckets = [];\r\n }\r\n}\r\n","export class Int32 {\r\n static MinValue: number = -2147483648;\r\n static MaxValue: number = 2147483647;\r\n}\r\n","export class Int64 {\r\n static MinValue: number = -9223372036854775808;\r\n}\r\n","import {Encoding} from \"./Encoding\";\r\n\r\nexport class ISO_8859_1_Encoding extends Encoding {\r\n\r\n static readonly ISO_8859_1: ISO_8859_1_Encoding = new ISO_8859_1_Encoding(\"iso_8859-1\");\r\n constructor(label: string) {\r\n super(label);\r\n }\r\n\r\n GetBytes(str: string): Uint8Array {\r\n\r\n if (str === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n let bytes: Uint8Array = null;\r\n\r\n bytes = new Uint8Array(str.length * 3);\r\n let bytesCount: number = 0;\r\n for (let i = 0; i < str.length; i++)\r\n {\r\n bytes[bytesCount++] = str[i].charCodeAt(0);\r\n }\r\n\r\n bytes = bytes.subarray(0, 0 + bytesCount);\r\n return bytes;\r\n }\r\n\r\n GetString(bytes: Uint8Array, index: number, count: number): string {\r\n let str: string = null;\r\n\r\n if (bytes === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n if (index < 0 || count < 0 || (index + count) > bytes.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n bytes = bytes.subarray(index, index + count);\r\n\r\n try {\r\n\r\n str = '';\r\n for (let i = 0; i < bytes.length; i++)\r\n {\r\n str += String.fromCharCode(bytes[i]);\r\n };\r\n }\r\n catch (ex) {\r\n }\r\n\r\n return str;\r\n }\r\n}\r\n","import {Array_Enumerator} from \"./ArrayEnumerator\";\r\nimport {isUndefined} from \"./Utils\";\r\n\r\nexport class List<T> extends Array<T> {\r\n\r\n constructor(arrayEnumerator?: Array_Enumerator<T>) {\r\n super();\r\n Object.setPrototypeOf(this, List.prototype);\r\n\r\n if (arguments.length === 1 && arrayEnumerator.constructor === Array_Enumerator) {\r\n this.AddRange(arrayEnumerator);\r\n }\r\n }\r\n\r\n AddRange(arrayEnumerator: Array_Enumerator<T>)\r\n AddRange(array: Array<T>)\r\n AddRange(arrayEnumeratorOrArray: any) {\r\n if (arrayEnumeratorOrArray.constructor === Array) {\r\n arrayEnumeratorOrArray.forEach((item: T) => {\r\n this.push(item);\r\n });\r\n }\r\n else {\r\n let e = arrayEnumeratorOrArray;\r\n while (e.MoveNext()) {\r\n this.push(e.Current);\r\n }\r\n }\r\n }\r\n\r\n get_Item(index: number): T {\r\n if (isUndefined(this[index]))\r\n this[index] = null;\r\n return this[index];\r\n }\r\n\r\n set_Item(index: number, value: T): void {\r\n if (index >= 0 && index < this.length)\r\n this[index] = value;\r\n else\r\n throw new Error(\"index out of bounds\");\r\n }\r\n\r\n GetEnumerator(): Array_Enumerator<T> {\r\n return new Array_Enumerator<T>(this);\r\n }\r\n\r\n Remove(object: T): void {\r\n let index: number = this.indexOf(object);\r\n\r\n if (index > -1)\r\n this.RemoveAt(index);\r\n }\r\n\r\n RemoveAt(index: number): void {\r\n this.RemoveRange(index, 1);\r\n }\r\n\r\n RemoveRange(index: number, count: number): void {\r\n this.splice(index, count);\r\n }\r\n\r\n Insert(index: number, item: T): void {\r\n if (index >= 0 && index < this.length)\r\n this.splice(index, 0, item);\r\n else if (index === this.length) // inserting at end means append\r\n this.push(item);\r\n else\r\n throw new Error(\"index out of bounds\");\r\n }\r\n\r\n InsertRange(items: T[]): void {\r\n let idx: number = 0;\r\n while (idx < items.length) {\r\n this.Insert(idx, items[idx]);\r\n idx++;\r\n }\r\n }\r\n\r\n Clear(): void {\r\n this.splice(0, this.length);\r\n }\r\n\r\n ToArray(): T[] {\r\n return this.slice(0);\r\n }\r\n\r\n Contains(object: T): boolean {\r\n return this.indexOf(object) > -1;\r\n }\r\n\r\n find(predicate: (value: T, index: number, obj: T[]) => boolean): T {\r\n let foundItem = super.find(predicate);\r\n if (isUndefined(foundItem))\r\n foundItem = null;\r\n\r\n return foundItem;\r\n }\r\n\r\n /// <summary>\r\n /// add null cells up to 'size' cells.\r\n /// </summary>\r\n /// <param name=\"size\"></param>\r\n SetSize(size: number): void {\r\n if (this.length > size) {\r\n this.RemoveRange(size, this.length - size);\r\n }\r\n else\r\n this.length = size;\r\n }\r\n}\r\n","export const $EOF = 0;\r\nexport const $TAB = 9;\r\nexport const $LF = 10;\r\nexport const $VTAB = 11;\r\nexport const $FF = 12;\r\nexport const $CR = 13;\r\nexport const $SPACE = 32;\r\nexport const $BANG = 33;\r\nexport const $DQ = 34;\r\nexport const $HASH = 35;\r\nexport const $$ = 36;\r\nexport const $PERCENT = 37;\r\nexport const $AMPERSAND = 38;\r\nexport const $SQ = 39;\r\nexport const $LPAREN = 40;\r\nexport const $RPAREN = 41;\r\nexport const $STAR = 42;\r\nexport const $PLUS = 43;\r\nexport const $COMMA = 44;\r\nexport const $MINUS = 45;\r\nexport const $PERIOD = 46;\r\nexport const $SLASH = 47;\r\nexport const $COLON = 58;\r\nexport const $SEMICOLON = 59;\r\nexport const $LT = 60;\r\nexport const $EQ = 61;\r\nexport const $GT = 62;\r\nexport const $QUESTION = 63;\r\n\r\nexport const $0 = 48;\r\nexport const $9 = 57;\r\n\r\nexport const $A = 65;\r\nexport const $E = 69;\r\nexport const $F = 70;\r\nexport const $X = 88;\r\nexport const $Z = 90;\r\n\r\nexport const $LBRACKET = 91;\r\nexport const $BACKSLASH = 92;\r\nexport const $RBRACKET = 93;\r\nexport const $CARET = 94;\r\nexport const $_ = 95;\r\n\r\nexport const $a = 97;\r\nexport const $e = 101;\r\nexport const $f = 102;\r\nexport const $n = 110;\r\nexport const $r = 114;\r\nexport const $t = 116;\r\nexport const $u = 117;\r\nexport const $v = 118;\r\nexport const $x = 120;\r\nexport const $z = 122;\r\n\r\nexport const $LBRACE = 123;\r\nexport const $BAR = 124;\r\nexport const $RBRACE = 125;\r\nexport const $NBSP = 160;\r\n\r\nexport const $PIPE = 124;\r\nexport const $TILDA = 126;\r\nexport const $AT = 64;\r\n\r\nexport const $BT = 96;\r\n\r\nexport function isWhitespace(code: number): boolean {\r\n return (code >= $TAB && code <= $SPACE) || code === $NBSP;\r\n}\r\n\r\nexport function isDigit(code: number): boolean {\r\n return $0 <= code && code <= $9;\r\n}\r\n\r\nexport function isAsciiLetter(code: number): boolean {\r\n return (code >= $a && code <= $z) || (code >= $A && code <= $Z);\r\n}\r\n\r\nexport function isAsciiHexDigit(code: number): boolean {\r\n return (code >= $a && code <= $f) || (code >= $A && code <= $F) || isDigit(code);\r\n}\r\n\r\nexport function isLowerCase(str: string): boolean {\r\n return str === str.toLowerCase();\r\n}\r\nexport function isUpperCase(str: string): boolean {\r\n return str === str.toUpperCase();\r\n}\r\n","\r\n\r\nimport {isAsciiLetter, isDigit, isLowerCase, isUpperCase, isWhitespace} from \"./StringUtils\";\r\n\r\nexport class NChar {\r\n static IsWhiteSpace(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isWhitespace(ch);\r\n }\r\n\r\n static IsLetterOrDigit(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isDigit(ch) || isAsciiLetter(ch);\r\n }\r\n\r\n static IsDigit(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isDigit(ch);\r\n }\r\n\r\n static IsLetter(ltr: string): boolean {\r\n return isAsciiLetter(ltr.charCodeAt(0));\r\n }\r\n\r\n static IsLower(ch: string): boolean {\r\n return isLowerCase(ch);\r\n }\r\n\r\n static IsUpper(ch: string): boolean {\r\n return isUpperCase(ch)\r\n }\r\n}\r\n","import {Exception} from \"./Exception\";\r\n\r\nexport class NotImplementedException extends Exception {\r\n constructor(message: string = \"Not implemented\") {\r\n super(message);\r\n }\r\n}\r\n","import {RefParam} from \"./RefParam\";\r\nimport {NotImplementedException} from \"./NotImplementedException\";\r\n\r\nexport enum NumberStyles {\r\n HexNumber\r\n}\r\n\r\nexport class NNumber {\r\n\r\n /// <summary>\r\n /// convert a string to number\r\n /// for blank string , it will return 0\r\n /// for incorrect format it will return NaN\r\n /// <summary>\r\n static Parse(text: string, style?: NumberStyles): number {\r\n if (arguments.length === 2) {\r\n if (style === NumberStyles.HexNumber)\r\n return parseInt(text, 16);\r\n else\r\n throw new NotImplementedException();\r\n }\r\n return +text; // use unary + operator to convert string to number.\r\n }\r\n\r\n\r\n /// <summary>\r\n /// convert a string to number\r\n /// return true if string is correctly parsed i.e pvalue.value is number\r\n /// for incorrect format it will return false\r\n /// <summary>\r\n static TryParse(str: string, pvalue: RefParam<number>): boolean {\r\n pvalue.value = +str;\r\n return !isNaN(pvalue.value);\r\n }\r\n\r\n /// <summary>\r\n /// convert a number to string with specified format\r\n /// <summary>\r\n static ToString(num: number, format: string): string {\r\n if (format === 'X2') {\r\n let res: string = num.toString(16);\r\n return res.length === 1 ? '0' + res : res;\r\n }\r\n throw new NotImplementedException();\r\n }\r\n}\r\n","\r\nimport {isNullOrUndefined} from \"./Utils\";\r\nimport {Exception} from \"./Exception\";\r\n\r\n\r\n// @dynamic\r\nexport class NString {\r\n static Empty = \"\";\r\n\r\n static IndexOf(str: string, searchStr: any, startIndex: number, count: number): number {\r\n let index: number = str.substr(startIndex, count).indexOf(searchStr);\r\n return index > -1 ? startIndex + index : index;\r\n }\r\n\r\n static IndexOfAny(str: string, subs: string[], startIndex: number, count: number): number {\r\n for (let i = 0; i < count; ++i) {\r\n let c = str.charAt(startIndex + i);\r\n for (let j = 0; j < subs.length; ++j) {\r\n if (c === subs[j])\r\n return (startIndex + i);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n static CopyTo(source: string, sourceIndex: number, destination: string[], destinationIndex: number, count: number) {\r\n for (let i = 0; i < count; i++) {\r\n destination[destinationIndex + i] = source[sourceIndex + i];\r\n }\r\n }\r\n\r\n static Compare(strA: string, strB: string, ignoreCase: boolean): number\r\n static Compare(strA: string, strB: string, ignoreCase: boolean, indexA: number, indexB: number, length: number): number\r\n static Compare(strA: string, strB: string, ignoreCase: boolean, indexA?: number, indexB?: number, length?: number): number {\r\n if (arguments.length = 6) {\r\n strA = strA.substr(indexA, length);\r\n strB = strB.substr(indexB, length);\r\n }\r\n if (ignoreCase) {\r\n strA = strA.toLowerCase();\r\n strB = strB.toLowerCase();\r\n }\r\n return strA.localeCompare(strB);\r\n }\r\n\r\n\r\n static Equals(strA: string, strB: string, ignoreCase: boolean): boolean {\r\n if (!NString.IsNullOrEmpty(strA) && !NString.IsNullOrEmpty(strB)) {\r\n if (ignoreCase) {\r\n strA = strA.toLowerCase();\r\n strB = strB.toLowerCase();\r\n }\r\n return strA === strB;\r\n }\r\n return false;\r\n }\r\n\r\n static GetHashCode(str: string): number {\r\n var hash = 0, i, l, ch;\r\n if (str.length === 0) return hash;\r\n for (i = 0, l = str.length; i < l; i++) {\r\n ch = str.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + ch;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash;\r\n }\r\n\r\n\r\n static Remove(str: string, startIndex: number, length: number): string {\r\n return str.substr(0, startIndex - 1) + str.substr(startIndex + length - 1);\r\n }\r\n\r\n static TrimStart(str: string): string {\r\n return str.replace(/^\\s\\s*/, '')\r\n }\r\n\r\n static TrimEnd(string: string, trimChars?: string[]): string {\r\n if (arguments.length === 1)\r\n return string.replace(/\\s\\s*$/, '');\r\n\r\n for (let j = 0; j < trimChars.length; j++) {\r\n let trimChar = trimChars[j];\r\n let i = string.length - 1;\r\n while (!isNullOrUndefined(string[i]) && string[i].endsWith(trimChar)) {\r\n string = NString.Remove(string, string.length, 1);\r\n i--;\r\n }\r\n }\r\n return string;\r\n }\r\n\r\n static Format(format: string, arg0: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any, arg5?: any): string {\r\n if (!isNullOrUndefined(arg0) && arg0.constructor === Array) {\r\n var s = format,\r\n i = arg0.length;\r\n while (i--) {\r\n s = s.replace(new RegExp('\\\\{' + i + '\\\\}', 'gm'), arg0[i]);\r\n }\r\n return s;\r\n }\r\n else {\r\n var args = [arg0, arg1, arg2, arg3, arg4, arg5];\r\n return NString.Format(format, args);\r\n }\r\n }\r\n\r\n static IsNullOrEmpty(str1: string | NString): boolean {\r\n return !str1;\r\n }\r\n\r\n static FromChars(chOrChars: string[])\r\n static FromChars(chOrChars: string[], startIndex: number, len: number)\r\n static FromChars(chOrChars: string[], startIndex?: number, len?: number) {\r\n let str: string = chOrChars.join('');\r\n if (arguments.length === 3)\r\n return str.substr(startIndex, len);\r\n return str;\r\n }\r\n\r\n static FromChar(ch: string, count): string {\r\n return (new Array<string>(count).fill(<string>ch)).join('');\r\n }\r\n\r\n static ToCharArray(str: string): string[] {\r\n return Array.from(str);\r\n }\r\n\r\n static CompareOrdinal(strA: string, strB: string): number {\r\n let lenA = strA.length;\r\n let lenB = strB.length;\r\n\r\n let len = Math.min(lenA, lenB);\r\n\r\n // compare character by character\r\n for (let i = 0; i < len; i++) {\r\n if (strA[i].charCodeAt(0) !== strB[i].charCodeAt(0)) {\r\n return strA[i].charCodeAt(0) - strB[i].charCodeAt(0);\r\n }\r\n }\r\n\r\n // if all characters are same , but length is different return the difference of length\r\n if (lenA !== lenB) {\r\n return lenA - lenB;\r\n }\r\n\r\n // all chars are same , so strings are equal\r\n return 0;\r\n }\r\n\r\n static PadRight(source: string, maxLength: number, fillString?: string): string {\r\n if (source.length >= maxLength)\r\n return source;\r\n\r\n let fillLen = maxLength - source.length;\r\n let timesToRepeat = Math.ceil(fillLen / fillString.length);\r\n let truncatedStringFiller = fillString.repeat(timesToRepeat).slice(0, fillLen);\r\n return source + truncatedStringFiller;\r\n }\r\n\r\n static Insert(str: string, index: number, ch: string): string {\r\n return str.substr(0, index) + ch + str.substr(index, str.length - index);\r\n }\r\n\r\n static Replace(str:string, orgSubStr: string, newSubStr: string): string {\r\n let resultStr:string = '';\r\n\r\n // fixed defect 151810: replace \"*\" with \"\\*\" before we update the string so * will be as char and not reg exp\r\n // also for special chars $ ^ . ? + , [\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\\\\\\", 'g'), \"\\\\\\\\\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\*\",'g'), \"\\\\\\*\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\$\",'g'), \"\\\\\\$\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\^\",'g'), \"\\\\\\^\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\.\",'g'), \"\\\\\\.\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\?\",'g'), \"\\\\\\?\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\+\",'g'), \"\\\\\\+\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\,\",'g'), \"\\\\\\,\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\[\",'g'), \"\\\\\\[\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\|\",'g'), \"\\\\\\|\");\r\n\r\n try {\r\n resultStr = str.replace(new RegExp(orgSubStr,'g'), newSubStr);\r\n }\r\n catch (e) {\r\n throw new Exception(e.message);\r\n }\r\n return resultStr;\r\n }\r\n}\r\n","export class NumberFormatInfo {\r\n public static readonly NegativeSign: string = '-';\r\n\r\n public static readonly NumberDecimalSeparator: string = NumberFormatInfo.GetLocaleDecimalSeperator();\r\n\r\n private static GetLocaleDecimalSeperator(): string {\r\n return (1.1).toLocaleString()[1]; // get the decimal seperator of current locale\r\n }\r\n}\r\n","export class RefParam<T> {\r\n value: T;\r\n\r\n constructor(value: T) {\r\n this.value = value;\r\n }\r\n}\r\n","export class Stack<TData> {\r\n\r\n private _array: Array<TData>;\r\n\r\n constructor() {\r\n this._array = new Array<TData>();\r\n }\r\n\r\n public count(): number {\r\n return this._array.length;\r\n }\r\n\r\n public isEmpty(): boolean {\r\n return this._array.length === 0;\r\n }\r\n\r\n public push(value: TData): void {\r\n this._array.push(value);\r\n }\r\n\r\n public pop(): TData {\r\n return this._array.pop();\r\n }\r\n\r\n public peek(): TData {\r\n if (this._array.length > 0) {\r\n return this._array[this._array.length - 1];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public Clear(): void {\r\n this._array.splice(0, this._array.length);\r\n }\r\n\r\n public Clone(): Stack<TData> {\r\n let clone: Stack<TData> = new Stack<TData>();\r\n clone._array = this._array.slice();\r\n return clone;\r\n }\r\n}\r\n","import * as StackTrace from 'stacktrace-js';\r\nimport JSStackFrame = StackTrace.StackFrame;\r\n\r\n// StackFrame uses StackTrace utility using stacktrace-js utility from npm\r\n// https://www.npmjs.com/package/stacktrace-js\r\nexport class StackFrame {\r\n private stackFrame: JSStackFrame = null;\r\n\r\n constructor(skipFrames: number) {\r\n\r\n let stackFrames: JSStackFrame[] = StackTrace.getSync();\r\n if (skipFrames < 0 || skipFrames >= stackFrames.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n this.stackFrame = stackFrames[skipFrames];\r\n }\r\n\r\n public GetFileName(): string {\r\n return this.stackFrame.fileName;\r\n }\r\n}\r\n","import * as JSStackTrace from 'stacktrace-js';\r\nimport JSStackFrame = JSStackTrace.StackFrame;\r\n\r\n// This uses StackTrace utility using stacktrace-js utility from npm. Use this in package.json\r\n// https://www.npmjs.com/package/stacktrace-js\r\nexport class StackTrace {\r\n GetFrames(): JSStackFrame[] {\r\n // Using getSync() method, it returns references of callstack ethod from the javascript files bindled and not typeScript file from sources.\r\n // However, if aSync method would have used, it overcomes above problems but the call to log would have been async and we would not have\r\n // received synchronous logs which would be confusing.\r\n return JSStackTrace.getSync();\r\n }\r\n}\r\n","import {Debug} from \"./Debug\";\r\nimport {NString} from \"./NString\";\r\n\r\n// StringBuilder class. Its Implementation currently uses string object. It could have been string[], but it has issues when inserting string.\r\n// It would not have served purpose while inserting a string. Other could be to use string[] with one chraracter per string. Even its utility\r\n// is doubtful as while manipulation, it would be creting new objects instead pointers. So for now we have used only string and see if we have\r\n// any performance issues.\r\nexport class StringBuilder {\r\n private part: string = \"\";\r\n\r\n // Ctor\r\n constructor(length?: number)\r\n constructor(value?: string, length?: number)\r\n constructor(valueOrLength?: any, length?: number) {\r\n if (arguments.length > 0) {\r\n if (valueOrLength != null && valueOrLength.constructor === Number) {\r\n // TODO: Very low priority performance improvement - Implement this.\r\n // Debug.Assert(false, \"StringBuilder: NotImplemented constructor with initial length/capacity\");\r\n // throw new Error(\"NotImplemented constructor with initial length/capacity\");\r\n }\r\n else if (valueOrLength != null && valueOrLength.constructor === String) {\r\n this.part = valueOrLength.toString();\r\n // TODO: Very low priority performance improvement - Implement this.\r\n // if (arguments.length === 2)\r\n // Debug.Assert(false, \"NotImplemented constructor with initial length/capacity\");\r\n }\r\n }\r\n }\r\n\r\n // Appends string/number\r\n Append(num: number, numberOfCharacters?: number): StringBuilder;\r\n Append(text: string): StringBuilder;\r\n Append(text: string, numberOfCharacters: number): StringBuilder;\r\n Append(text: string, startIndex: number, charCount: number): StringBuilder;\r\n Append(textOrNum: any, startIndexOrNumberOfCharacters?: number, charCount?: number): StringBuilder {\r\n\r\n if (textOrNum === null)\r\n return this;\r\n\r\n if (textOrNum.constructor === String) {\r\n if (arguments.length === 1)\r\n this.AppendString(textOrNum.toString());\r\n else if (arguments.length === 2) {\r\n Debug.Assert(textOrNum.length === 1, \"character is expected not string\");\r\n this.AppendString(textOrNum.charAt(0).repeat(startIndexOrNumberOfCharacters));\r\n }\r\n else\r\n this.AppendString(textOrNum.toString(), startIndexOrNumberOfCharacters, charCount);\r\n }\r\n else\r\n this.AppendNumber(textOrNum, startIndexOrNumberOfCharacters);\r\n\r\n return this;\r\n }\r\n\r\n // Append string\r\n private AppendString(text: string, startIndex: number = 0, charCount: number = text.length): void {\r\n this.part = this.part + text.substr(startIndex, charCount);\r\n }\r\n\r\n // Append Number\r\n private AppendNumber(num: number, numberOfCharacters: number = 1): void {\r\n if (numberOfCharacters <= 0)\r\n throw new Error(\"numberOfCharacters cannot be less than or equal to zero\");\r\n\r\n this.part = this.part + num.toString().repeat(numberOfCharacters);\r\n }\r\n\r\n // Append Line\r\n AppendLine(text: string = null): void {\r\n if (text !== null)\r\n this.part = this.part + text;\r\n this.part = this.part + '\\n';\r\n }\r\n\r\n // Append Formatted string\r\n AppendFormat(format: string, arg0: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1: any, arg2: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1?: any, arg2?: any): StringBuilder {\r\n this.part = this.part + NString.Format(format, arg0, arg1, arg2);\r\n return this;\r\n }\r\n\r\n // Convert to string\r\n ToString(): string;\r\n ToString(startIndex: number, length: number): string;\r\n ToString(startIndex ?: number, length ?: number): string {\r\n if (arguments.length === 2) {\r\n if (startIndex < 0 || length < 0 || (startIndex + length) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n return this.part.substr(startIndex, length);\r\n }\r\n return this.part;\r\n }\r\n\r\n get Length(): number {\r\n return this.part.length;\r\n }\r\n\r\n get_Item(index: number): string {\r\n if (index < 0 || index >= this.part.length)\r\n throw new Error(\"Index out of range\");\r\n\r\n return this.part.charAt(index);\r\n }\r\n\r\n set_Item(index: number, value: string) {\r\n if (index < 0 || index >= this.part.length)\r\n throw new Error(\"Index out of range\");\r\n\r\n Debug.Assert(value.length <= 1, \"Length of string cannot be more than 1. Only character is expected\");\r\n let leftPart: string = this.part.substring(0, index);\r\n let rightPart: string = this.part.substring(index + 1, this.part.length);\r\n this.part = leftPart + value.charAt(0) + rightPart;\r\n }\r\n\r\n Insert(index: number, value: string): StringBuilder {\r\n if (index < 0 || index > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n let leftPart: string = this.part.substring(0, index);\r\n let rightPart: string = this.part.substring(index, this.part.length);\r\n this.part = leftPart + value + rightPart;\r\n\r\n return this;\r\n }\r\n\r\n Remove(startIndex: number, length: number): StringBuilder {\r\n if (startIndex < 0 || length < 0 || (startIndex + length) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n let leftPart: string = this.part.substring(0, startIndex);\r\n let rightPart: string = this.part.substring(startIndex + length, this.part.length);\r\n this.part = leftPart + rightPart;\r\n\r\n return this;\r\n }\r\n\r\n Replace(oldValue: string, newValue: string): StringBuilder;\r\n Replace(oldValue: string, newValue: string, startIndex: number, count: number): StringBuilder;\r\n Replace(oldValue: string, newValue: string, startIndex?: number, count?: number): StringBuilder {\r\n if (oldValue === null)\r\n throw new Error(\"oldValue cannot be null\");\r\n else if (oldValue.length === 0)\r\n throw new Error(\"Length of oldValue cannot be 0\");\r\n\r\n if (arguments.length === 4) {\r\n if (startIndex < 0 || count < 0 || (startIndex + count) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n }\r\n\r\n if (arguments.length === 2)\r\n this.part = this.part.replace(new RegExp(oldValue, 'g'), newValue);\r\n else if (arguments.length === 4) {\r\n let substr: string = this.part.substring(startIndex, startIndex + count);\r\n substr = substr.replace(new RegExp(oldValue, 'g'), newValue);\r\n\r\n let leftPart: string = this.part.substring(0, startIndex);\r\n let rightPart: string = this.part.substring(startIndex + count, this.part.length);\r\n this.part = leftPart + substr + rightPart;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n // return the string\r\n toString(): string {\r\n return this.ToString();\r\n }\r\n}\r\n","import {interval} from 'rxjs';\r\n\r\nexport class Thread {\r\n private static nextId: number = 1;\r\n static CurrentThread: Thread = new Thread();\r\n ManagedThreadId: number = 0;\r\n\r\n constructor() {\r\n this.ManagedThreadId = Thread.nextId++;\r\n }\r\n\r\n /// <summary>\r\n /// Free the thread so it will be able to do other work, like gui events\r\n /// </summary>\r\n /// <param name = \"millisecondsTimeout\"> timeout in milliseconds</param>\r\n\r\n public static async Sleep(millisecondsTimeout: number): Promise<void>\r\n {\r\n await new Promise<void>((resolve) => {\r\n let timer = interval(millisecondsTimeout);\r\n let subscription = timer.subscribe( () => {subscription.unsubscribe(); resolve();});\r\n }).then();\r\n }\r\n}\r\n","import {Exception} from \"./Exception\";\r\n\r\nexport class WebException extends Exception {\r\n constructor(error: Error) {\r\n super();\r\n this.name = \"WebException\";\r\n this.stack = error.stack;\r\n this.message = error.message;\r\n }\r\n}\r\n","import {NotImplementedException} from \"./NotImplementedException\";\r\n\r\nexport class XmlConvert {\r\n // TODO : Implement\r\n static EncodeName(name: string): string {\r\n throw new NotImplementedException();\r\n }\r\n}\r\n"],"names":["StackTrace","JSStackTrace"],"mappings":"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"}
|
|
@@ -68,13 +68,13 @@ class Array_Enumerator {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
class BitArray {
|
|
71
|
+
get Length() {
|
|
72
|
+
return this.array.length;
|
|
73
|
+
}
|
|
71
74
|
constructor(length) {
|
|
72
75
|
this.array = null;
|
|
73
76
|
this.array = new Array(length).fill(false);
|
|
74
77
|
}
|
|
75
|
-
get Length() {
|
|
76
|
-
return this.array.length;
|
|
77
|
-
}
|
|
78
78
|
Get(index) {
|
|
79
79
|
return this.array[index];
|
|
80
80
|
}
|
|
@@ -98,22 +98,6 @@ var DateTimeKind;
|
|
|
98
98
|
DateTimeKind[DateTimeKind["Utc"] = 1] = "Utc";
|
|
99
99
|
})(DateTimeKind || (DateTimeKind = {}));
|
|
100
100
|
class DateTime {
|
|
101
|
-
constructor(yearOrDate, month, day, hour, minute, second) {
|
|
102
|
-
this.dt = null;
|
|
103
|
-
this.kind = null;
|
|
104
|
-
this.epochTicks = 621355968000000000;
|
|
105
|
-
this.ticksPerMillisecond = 10000;
|
|
106
|
-
if (arguments.length === 1) {
|
|
107
|
-
this.dt = yearOrDate;
|
|
108
|
-
}
|
|
109
|
-
if (arguments.length === 3) {
|
|
110
|
-
this.dt = new Date(yearOrDate, month - 1, day);
|
|
111
|
-
}
|
|
112
|
-
if (arguments.length === 6) {
|
|
113
|
-
this.dt = new Date(yearOrDate, month - 1, day, hour, minute, second);
|
|
114
|
-
}
|
|
115
|
-
this.kind = DateTimeKind.Local;
|
|
116
|
-
}
|
|
117
101
|
get Ticks() {
|
|
118
102
|
return ((this.dt.getTime() * this.ticksPerMillisecond) + this.epochTicks) - (this.dt.getTimezoneOffset() * 600000000);
|
|
119
103
|
}
|
|
@@ -138,6 +122,22 @@ class DateTime {
|
|
|
138
122
|
get Millisecond() {
|
|
139
123
|
return this.kind === DateTimeKind.Utc ? this.dt.getUTCMilliseconds() : this.dt.getMilliseconds();
|
|
140
124
|
}
|
|
125
|
+
constructor(yearOrDate, month, day, hour, minute, second) {
|
|
126
|
+
this.dt = null;
|
|
127
|
+
this.kind = null;
|
|
128
|
+
this.epochTicks = 621355968000000000;
|
|
129
|
+
this.ticksPerMillisecond = 10000;
|
|
130
|
+
if (arguments.length === 1) {
|
|
131
|
+
this.dt = yearOrDate;
|
|
132
|
+
}
|
|
133
|
+
if (arguments.length === 3) {
|
|
134
|
+
this.dt = new Date(yearOrDate, month - 1, day);
|
|
135
|
+
}
|
|
136
|
+
if (arguments.length === 6) {
|
|
137
|
+
this.dt = new Date(yearOrDate, month - 1, day, hour, minute, second);
|
|
138
|
+
}
|
|
139
|
+
this.kind = DateTimeKind.Local;
|
|
140
|
+
}
|
|
141
141
|
Format(formatString) {
|
|
142
142
|
return moment(this.dt).format(formatString);
|
|
143
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magic-xpa-mscorelib.mjs","sources":["../../../../projects/mscorelib/src/Utils.ts","../../../../projects/mscorelib/src/Exception.ts","../../../../projects/mscorelib/src/ApplicationException.ts","../../../../projects/mscorelib/src/ArrayEnumerator.ts","../../../../projects/mscorelib/src/BitArray.ts","../../../../projects/mscorelib/src/Char.ts","../../../../projects/mscorelib/src/CultureInfo.ts","../../../../projects/mscorelib/src/DateTime.ts","../../../../projects/mscorelib/src/Debug.ts","../../../../projects/mscorelib/src/Dictionary.ts","../../../../projects/mscorelib/src/Encoding.ts","../../../../projects/mscorelib/src/HashTable.ts","../../../../projects/mscorelib/src/Int32.ts","../../../../projects/mscorelib/src/Int64.ts","../../../../projects/mscorelib/src/ISO_8859_1_Encoding.ts","../../../../projects/mscorelib/src/List.ts","../../../../projects/mscorelib/src/StringUtils.ts","../../../../projects/mscorelib/src/NChar.ts","../../../../projects/mscorelib/src/NotImplementedException.ts","../../../../projects/mscorelib/src/NNumber.ts","../../../../projects/mscorelib/src/NString.ts","../../../../projects/mscorelib/src/NumberFormatInfo.ts","../../../../projects/mscorelib/src/RefParam.ts","../../../../projects/mscorelib/src/Stack.ts","../../../../projects/mscorelib/src/StackFrame.ts","../../../../projects/mscorelib/src/StackTrace.ts","../../../../projects/mscorelib/src/StringBuilder.ts","../../../../projects/mscorelib/src/Thread.ts","../../../../projects/mscorelib/src/WebException.ts","../../../../projects/mscorelib/src/XmlConvert.ts"],"sourcesContent":["export function isNullOrUndefined(object: any): boolean {\r\n return object == undefined || object == null;\r\n}\r\nexport function isUndefined(object: any): boolean {\r\n return object == undefined;\r\n}\r\n","/// <summary>\r\n/// The base class of all exceptions\r\n/// </summary>\r\n\r\nimport {isNullOrUndefined} from \"./Utils\";\r\n\r\nexport class Exception{\r\n\r\n name: string = \"Exception\";\r\n message: string = \"\";\r\n stack: string = \"\";\r\n\r\n\r\n errorLevel = 1;\r\n /// <summary>\r\n /// constructor\r\n /// </summary>\r\n /// <param name=\"message\" denotes the message of exception></param>\r\n /// <param name=\"name\" denotes the type of exception></param>\r\n constructor(message?: string)\r\n constructor(error: Error)\r\n constructor(messageOrError: string | Error) {\r\n if (!isNullOrUndefined(messageOrError)) {\r\n if (messageOrError instanceof Error) {\r\n this.stack = (<Error>messageOrError).stack;\r\n this.message = (<Error>messageOrError).message;\r\n }\r\n else {\r\n this.message = <string>messageOrError;\r\n this.stack = new Error().stack;\r\n }\r\n }\r\n }\r\n\r\n /// <summary>\r\n /// get the message of exception\r\n /// </summary>\r\n get Message() {\r\n return this.message;\r\n }\r\n\r\n /// <summary>\r\n /// get the stack trace of exception\r\n /// </summary>\r\n get StackTrace() {\r\n\r\n let stackTrace = this.stack || '';\r\n let stackLines = stackTrace.split(\"\\n\").map(function (line) { return line.trim(); });\r\n\r\n // On some browsers (e.g. Chrome), the statck includes a title as \"Error\", so remove it.\r\n stackTrace = stackLines.splice(stackLines[0] === 'Error' ? this.errorLevel + 1 : this.errorLevel).join(\"\\n\");\r\n\r\n return \"\\n\" + stackTrace;\r\n }\r\n\r\n /// <summary>\r\n /// get the type of exception\r\n /// </summary>\r\n public GetType(): string {\r\n return this.name;\r\n }\r\n}\r\n\r\n\r\n","import {Exception} from \"./Exception\";\r\nimport {isUndefined} from \"./Utils\";\r\n\r\nexport class ApplicationException extends Exception {\r\n\r\n InnerException: Exception = null;\r\n\r\n constructor(message: string = \"\", innerException?: Exception) {\r\n super(message);\r\n this.name = 'ApplicationException';\r\n this.InnerException = (isUndefined(innerException) ? null : innerException);\r\n this.errorLevel = 2;\r\n }\r\n}\r\n","\r\nexport interface IEnumerable<T> {\r\n GetEnumerator(): Array_Enumerator<T>;\r\n}\r\n\r\nexport class Array_Enumerator<T> {\r\n private array: T[];\r\n private index: number = -1;\r\n\r\n constructor(array: T[]) {\r\n this.array = array;\r\n }\r\n\r\n MoveNext(): boolean {\r\n this.index++;\r\n return this.index < this.array.length;\r\n }\r\n\r\n get Current(): T {\r\n return this.array[this.index];\r\n }\r\n\r\n Dispose(): void {\r\n }\r\n}\r\n","/// <summary>\r\n/// Manages a compact array of bit values,\r\n// which are represented as Booleans, where true indicates that the bit is on (1) and false indicates the bit is off (0).\r\n/// </summary>\r\nexport class BitArray {\r\n\r\n private array: Array<boolean> = null; // array of boolean values\r\n\r\n /// <summary>\r\n /// returns the length of array\r\n /// </summary>\r\n /// <returns></returns>\r\n public get Length() {\r\n return this.array.length;\r\n }\r\n\r\n constructor(length: number) {\r\n this.array = new Array(length).fill(false);\r\n }\r\n\r\n /// <summary>\r\n /// get the value of flag at specified index\r\n /// </summary>\r\n /// <returns></returns>\r\n public Get(index: number): boolean {\r\n return this.array[index];\r\n }\r\n\r\n /// <summary>\r\n /// set the value of flag at specified index\r\n /// </summary>\r\n /// <returns></returns>\r\n public Set(index: number, value: boolean) {\r\n this.array[index] = value;\r\n }\r\n\r\n\r\n}\r\n","export class Char {\r\n static MinValue: string = '\\0';\r\n static MaxValue: string = String.fromCharCode(0xFFFF);\r\n}\r\n","export class CultureInfo {\r\n static InvariantCulture: CultureInfo = new CultureInfo();\r\n}\r\n","import moment from 'moment'\r\n\r\nexport enum DateTimeKind {\r\n Local,\r\n Utc\r\n}\r\n\r\n// @dynamic\r\nexport class DateTime {\r\n private dt: Date = null;\r\n private kind: DateTimeKind = null;\r\n\r\n // the number of .net ticks at the unix epoch\r\n private readonly epochTicks = 621355968000000000;\r\n\r\n // there are 10000 .net ticks per millisecond\r\n private readonly ticksPerMillisecond = 10000;\r\n\r\n get Ticks(): number {\r\n // https://stackoverflow.com/questions/7966559/how-to-convert-javascript-date-object-to-ticks\r\n // TODO - check if we need this or to use Misc.getSystemMilliseconds()\r\n return ((this.dt.getTime() * this.ticksPerMillisecond) + this.epochTicks) - (this.dt.getTimezoneOffset() * 600000000);\r\n }\r\n\r\n get Year(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCFullYear() : this.dt.getFullYear();\r\n }\r\n\r\n get Month(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMonth() + 1 : this.dt.getMonth() + 1;\r\n }\r\n\r\n get Day(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCDate() : this.dt.getDate();\r\n }\r\n\r\n get Hour(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCHours() : this.dt.getHours();\r\n }\r\n\r\n get Minute(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMinutes() : this.dt.getMinutes();\r\n }\r\n\r\n get Second(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCSeconds() : this.dt.getSeconds();\r\n }\r\n\r\n get Millisecond(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMilliseconds() : this.dt.getMilliseconds();\r\n }\r\n\r\n\r\n constructor(date: Date);\r\n constructor(year: number, month: number, day: number);\r\n constructor(year: number, month: number, day: number, hour : number, minute : number, second: number);\r\n constructor(yearOrDate: any, month?: number, day?: number, hour?: number, minute?: number, second?: number) {\r\n if (arguments.length === 1) {\r\n this.dt = <Date>yearOrDate;\r\n }\r\n if (arguments.length === 3) {\r\n this.dt = new Date(<number>yearOrDate, month - 1, day);\r\n }\r\n if (arguments.length === 6) {\r\n this.dt = new Date(<number>yearOrDate, month - 1, day, hour, minute, second);\r\n }\r\n this.kind = DateTimeKind.Local;\r\n }\r\n\r\n\r\n\r\n\r\n Format(formatString: string): string {\r\n return moment(this.dt).format(formatString);\r\n }\r\n\r\n static get UtcNow(): DateTime {\r\n let d = new DateTime(new Date());\r\n d.kind = DateTimeKind.Utc;\r\n return d;\r\n }\r\n\r\n static get Now(): DateTime {\r\n let d = new DateTime(new Date());\r\n d.kind = DateTimeKind.Local;\r\n return d;\r\n }\r\n\r\n static GetTotalSecondsFromMidnight(utcTime: boolean, date: Date): number {\r\n let hh = utcTime ? date.getUTCHours() : date.getHours();\r\n let mm = utcTime ? date.getUTCMinutes() : date.getMinutes();\r\n let ss = utcTime ? date.getUTCSeconds() : date.getSeconds();\r\n\r\n return hh * 60 * 60 + mm * 60 + ss;\r\n }\r\n\r\n static GetTotalMilliSecondsFromMidnight(utcTime: boolean, date: Date): number {\r\n let hh = utcTime ? date.getUTCHours() : date.getHours();\r\n let mm = utcTime ? date.getUTCMinutes() : date.getMinutes();\r\n let ss = utcTime ? date.getUTCSeconds() : date.getSeconds();\r\n let ms = utcTime ? date.getUTCSeconds() : date.getMilliseconds();\r\n return (hh * 60 * 60 + mm * 60 + ss) * 1000 + ms;\r\n }\r\n}\r\n\r\n\r\n","export class Debug {\r\n static WriteLine(text: string): void {\r\n console.log(text);\r\n }\r\n\r\n static Assert(assertCondtion: boolean, message?: string): void {\r\n if (!assertCondtion)\r\n alert(message);\r\n }\r\n}\r\n","import {RefParam} from \"./RefParam\";\r\nimport {Exception} from \"./Exception\";\r\n\r\nexport class Dictionary<V> {\r\n private values: Array<V> = new Array();\r\n\r\n get_Item(key: string): V {\r\n if (this.values.hasOwnProperty(key))\r\n return this.values[key];\r\n else\r\n return null;\r\n }\r\n\r\n set_Item(key: string, value: V) {\r\n this.values[key] = value;\r\n }\r\n\r\n Add(key: string, value: V) {\r\n if (this.values.hasOwnProperty(key))\r\n throw new Exception(\"An item with the same key has already been added\");\r\n else\r\n this.values[key] = value;\r\n }\r\n\r\n ContainsKey(key: string): boolean {\r\n return this.values.hasOwnProperty(key);\r\n }\r\n\r\n TryGetValue(key: string, pvalue: RefParam<V>): boolean {\r\n if (this.values.hasOwnProperty(key)) {\r\n pvalue.value = this.values[key];\r\n return true;\r\n }\r\n else {\r\n pvalue.value = null;\r\n return false;\r\n }\r\n }\r\n\r\n Remove(key: string): void {\r\n delete this.values[key];\r\n }\r\n\r\n get Keys(): string[] {\r\n return Object.keys(this.values);\r\n }\r\n}\r\n","import {TextDecoder, TextEncoder} from \"text-encoding\";\r\n\r\nexport class Encoding {\r\n static readonly ASCII: Encoding = new Encoding(\"ascii\");\r\n static readonly UTF8: Encoding = new Encoding(\"utf-8\");\r\n static readonly Unicode: Encoding = new Encoding(\"utf-16le\");\r\n\r\n static readonly CodePageToEncodingMap = Encoding.PopulateCodePageToEncodingMap();\r\n\r\n private readonly textEncoder: TextEncoder = null;\r\n private readonly textDecoder: TextDecoder = null;\r\n constructor(private label: string) {\r\n this.textEncoder = new TextEncoder(label, {NONSTANDARD_allowLegacyEncoding: true});\r\n this.textDecoder = new TextDecoder(label, {NONSTANDARD_allowLegacyEncoding: true});\r\n }\r\n\r\n GetBytes(str: string): Uint8Array {\r\n\r\n if (str === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n let bytes: Uint8Array = null;\r\n\r\n try {\r\n bytes = this.textEncoder.encode(str);\r\n }\r\n catch (ex) {\r\n // In C#, if any character is not within the range of specified charset, it is replaced by '?'.\r\n // TextEncoder.encode() throws an error in such a case.\r\n // We can modify the implementation of TextEncoder.encode() to put '?' instead of throwing error.\r\n // But, it can be problematic if we change the library version.\r\n // So, we will catch this error and handle the encoding ourselves.\r\n bytes = new Uint8Array(str.length * 3);\r\n let bytesCount: number = 0;\r\n let tmpBytes: Uint8Array;\r\n\r\n for (let i = 0; i < str.length; i++)\r\n {\r\n try {\r\n tmpBytes = this.textEncoder.encode(str[i]);\r\n bytes.set(tmpBytes, bytesCount);\r\n bytesCount += tmpBytes.length;\r\n }\r\n catch (ex) {\r\n bytes[bytesCount++] = \"?\".charCodeAt(0);\r\n }\r\n }\r\n\r\n bytes = bytes.subarray(0, 0 + bytesCount);\r\n }\r\n\r\n return bytes;\r\n }\r\n\r\n GetByteCount(str: string): number {\r\n // TODO: this is not the best way.\r\n return this.GetBytes(str).length;\r\n }\r\n\r\n GetString(bytes: Uint8Array, index: number, count: number): string {\r\n let str: string = null;\r\n\r\n if (bytes === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n if (index < 0 || count < 0 || (index + count) > bytes.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n bytes = bytes.subarray(index, index + count);\r\n\r\n try {\r\n str = this.textDecoder.decode(bytes);\r\n }\r\n catch (ex) {\r\n }\r\n\r\n return str;\r\n }\r\n\r\n static GetEncoding(codepage: number): Encoding {\r\n let label: string = Encoding.CodePageToEncodingMap[codepage];\r\n\r\n if (label == null)\r\n throw new Error(\"Invalid codepage.\");\r\n\r\n return new Encoding(label);\r\n }\r\n private static PopulateCodePageToEncodingMap(): any {\r\n\r\n let hashTable = new Object;\r\n\r\n // These map is similar to enc_map_table of exp_xml.cpp\r\n hashTable[20106] = \"DIN_66003\"; // IA5 (German)\r\n hashTable[20107] = \"SEN_850200_B\"; // IA5 (Swedish)\r\n hashTable[50932] = \"_autodetect\"; // Japanese (Auto Select)\r\n hashTable[20108] = \"NS_4551-1\"; // IA5 (Norwegian)\r\n hashTable[50949] = \"_autodetect_kr\"; // Korean (Auto Select)\r\n hashTable[950] = \"big5\"; // Chinese Traditional (Big5)\r\n hashTable[50221] = \"csISO2022JP\"; // Japanese (JIS-Allow 1 byte Kana)\r\n hashTable[51949] = \"euc-kr\"; // Korean (EUC)\r\n hashTable[936] = \"gb2312\"; // Chinese Simplified (GB2312)\r\n hashTable[52936] = \"hz-gb-2312\"; // Chinese Simplified (HZ)\r\n hashTable[852] = \"ibm852\"; // Central European (DOS)\r\n hashTable[866] = \"ibm866\"; // Cyrillic Alphabet (DOS)\r\n hashTable[20105] = \"irv\"; // IA5 (IRV)\r\n hashTable[50220] = \"iso-2022-jp\"; // Japanese (JIS)\r\n hashTable[50222] = \"iso-2022-jp\"; // Japanese (JIS-Allow 1 byte Kana)\r\n hashTable[50225] = \"iso-2022-kr\"; // Korean (ISO)\r\n hashTable[28591] = \"iso-8859-1\"; // Western Alphabet (ISO)\r\n hashTable[28592] = \"iso-8859-2\"; // Central European Alphabet (ISO)\r\n hashTable[28593] = \"iso-8859-3\"; // Latin 3 Alphabet (ISO)\r\n hashTable[28594] = \"iso-8859-4\"; // Baltic Alphabet (ISO)\r\n hashTable[28595] = \"iso-8859-5\"; // Cyrillic Alphabet (ISO)\r\n hashTable[28596] = \"iso-8859-6\"; // Arabic Alphabet (ISO)\r\n hashTable[28597] = \"iso-8859-7\"; // Greek Alphabet (ISO)\r\n hashTable[28598] = \"iso-8859-8\"; // Hebrew Alphabet (ISO)\r\n hashTable[20866] = \"koi8-r\"; // Cyrillic Alphabet (KOI8-R)\r\n hashTable[949] = \"ks_c_5601\"; // Korean\r\n hashTable[932] = \"shift-jis\"; // Japanese (Shift-JIS)\r\n hashTable[1200] = \"unicode\"; // Universal Alphabet\r\n hashTable[1201] = \"unicodeFEFF\"; // Universal Alphabet (Big-Endian)\r\n hashTable[65000] = \"utf-7\"; // Universal Alphabet (UTF-7)\r\n hashTable[65001] = \"utf-8\"; // Universal Alphabet (UTF-8)\r\n hashTable[1250] = \"windows-1250\"; // Central European Alphabet (Windows)\r\n hashTable[1251] = \"windows-1251\"; // Cyrillic Alphabet (Windows)\r\n hashTable[1252] = \"windows-1252\"; // Western Alphabet (Windows)\r\n hashTable[1253] = \"windows-1253\"; // Greek Alphabet (Windows)\r\n hashTable[1254] = \"windows-1254\"; // Turkish Alphabet\r\n hashTable[1255] = \"windows-1255\"; // Hebrew Alphabet (Windows)\r\n hashTable[1256] = \"windows-1256\"; // Arabic Alphabet (Windows)\r\n hashTable[1257] = \"windows-1257\"; // Baltic Alphabet (Windows)\r\n hashTable[1258] = \"windows-1258\"; // Vietnamese Alphabet (Windows)\r\n hashTable[874] = \"windows-874\"; // Thai (Windows)\r\n hashTable[20127] = \"US-ASCII\"; // us-ascii\r\n hashTable[51932] = \"x-euc\"; // Japanese (EUC)\r\n\r\n return hashTable;\r\n }\r\n\r\n // return the name of encoding used \r\n public toString(): string {\r\n return this.label;\r\n }\r\n}\r\n","// Reference: https://github.com/rkostrzewski/hashtable-ts/blob/master/src/hashtable.ts\r\n\r\nimport {Array_Enumerator} from \"./ArrayEnumerator\";\r\nimport {Exception} from \"./Exception\";\r\nimport {Encoding} from \"./Encoding\";\r\n\r\nexport class HashUtils {\r\n // Pay attention that in server there is the same function and it must\r\n // return the same hash value.\r\n static GetHashCode(str: string): number {\r\n let bytes: Uint8Array = null;\r\n\r\n bytes = Encoding.UTF8.GetBytes(str);\r\n\r\n return HashUtils.getHashCode(bytes);\r\n }\r\n\r\n private static getHashCode(byteArray: Uint8Array) {\r\n let hashval: number;\r\n\r\n let hash1: number = 5381;\r\n let hash2: number = hash1;\r\n let c: number;\r\n\r\n for (let i: number = 0; i < byteArray.length; i += 2) {\r\n c = byteArray[i];\r\n hash1 = ((hash1 << 5) + hash1) ^ c;\r\n if ((i + 1) === byteArray.length)\r\n break;\r\n c = byteArray[i + 1];\r\n hash2 = ((hash2 << 5) + hash2) ^ c;\r\n hash1 = hash1 & 0xffff;\r\n hash2 = hash2 & 0xffff;\r\n }\r\n\r\n let hash3: number = (hash2 * 13577);\r\n hashval = (hash1 + hash3);\r\n return (hashval);\r\n }\r\n}\r\n\r\nexport interface IHashCode {\r\n GetHashCode(): number;\r\n}\r\n\r\ntype BucketElement<TKey, TValue> = { key: TKey, value: TValue };\r\ntype Bucket<TKey, TValue> = [BucketElement<TKey, TValue>];\r\n\r\nconst HashTableLoadFactor = 0.75;\r\n\r\n// Hashtable implementation for key TKey and Value TValue\r\nexport class Hashtable<TKey extends (IHashCode | string | number), TValue> {\r\n\r\n private _buckets: Bucket<TKey, TValue>[] = []; // total no. of buckets\r\n private _elementsCount = 0; // total elements\r\n private _bucketCount: number = 0;\r\n private _loadFactor: number = 0;\r\n\r\n constructor(bucketCount: number = 8, loadFactor: number = HashTableLoadFactor) {\r\n this._bucketCount = bucketCount;\r\n this._loadFactor = loadFactor;\r\n\r\n if (this._bucketCount % 2 !== 0) {\r\n throw new Exception('Bucket count must be a positive number and be multiple of 2.');\r\n }\r\n }\r\n\r\n // Generic Hash funtion\r\n private HashFunction(key): number {\r\n if (typeof key.GetHashCode === 'function') {\r\n return key.GetHashCode();\r\n } else if (key.constructor === String) {\r\n return HashUtils.GetHashCode(key.toString());\r\n } else if (key.constructor === Number) {\r\n return +key;\r\n }\r\n return 0;\r\n }\r\n\r\n // returns elementCount\r\n get Count() {\r\n return this._elementsCount;\r\n }\r\n\r\n // returns ValueCollection (Array Enumerator)\r\n get Values(): Array_Enumerator<TValue> {\r\n let array: Array<TValue> = [];\r\n this._buckets.forEach(b => b.forEach(item => {\r\n array.push(item.value);\r\n }));\r\n return new Array_Enumerator(array);\r\n }\r\n\r\n // returns KeyCollection (Array Enumerator)\r\n get Keys(): Array_Enumerator<TKey> {\r\n let array: Array<TKey> = [];\r\n this._buckets.forEach(b => b.forEach(item => {\r\n array.push(item.key);\r\n }));\r\n return new Array_Enumerator(array);\r\n }\r\n\r\n // adds item to Hashtable\r\n Add(key: TKey, value: TValue): void {\r\n this.Insert(key, value, true);\r\n }\r\n\r\n // sets item in Hashtable\r\n set_Item(key: TKey, value: TValue) {\r\n this.Insert(key, value, false);\r\n }\r\n\r\n // Insert element in Hashtable\r\n private Insert(key: TKey, value: TValue, add: boolean): void {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n\r\n if (typeof this._buckets[bucketIndex] === \"undefined\") {\r\n this._buckets[bucketIndex] = <Bucket<TKey, TValue>><unknown>[];\r\n }\r\n\r\n if (this._buckets[bucketIndex].find(x => x.key === key)) {\r\n if (add) {\r\n throw new Exception('Item with provided key already exists!');\r\n } else {\r\n this.Remove(key);\r\n return;\r\n }\r\n }\r\n\r\n this._buckets[bucketIndex].push({key: key, value: value});\r\n\r\n this._elementsCount++;\r\n if (this._elementsCount > this._bucketCount * this._loadFactor) {\r\n this.Resize(this._bucketCount * 2);\r\n }\r\n }\r\n\r\n// Gets value for key TKey\r\n get_Item(key: TKey): TValue {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return null;\r\n }\r\n\r\n let item = bucket.find(x => x.key === key);\r\n if (item) {\r\n return item.value;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // Returns if key TKey is present in Hashtable\r\n ContainsKey(key: TKey): boolean {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return false;\r\n }\r\n\r\n let itemIndex = bucket.findIndex(x => x.key === key);\r\n return (itemIndex > -1);\r\n }\r\n\r\n // Removes item with key TKey from Hashtable\r\n Remove(key: TKey) {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return;\r\n }\r\n\r\n let itemIndex = bucket.findIndex(x => x.key === key);\r\n if (itemIndex > -1) {\r\n bucket.splice(itemIndex, 1);\r\n this._elementsCount--;\r\n if (this._elementsCount <= this._bucketCount * (1 - this._loadFactor)) {\r\n this.Resize(this._bucketCount / 2);\r\n }\r\n }\r\n }\r\n\r\n // Resize bucket (Hashtable)\r\n private Resize(newBucketCount: number) {\r\n let _oldBuckets = this._buckets;\r\n this._elementsCount = 0;\r\n this._buckets = [];\r\n this._bucketCount = newBucketCount;\r\n\r\n _oldBuckets.forEach(b => b.forEach(item => this.Add(item.key, item.value)));\r\n }\r\n\r\n// returns bucketIndex for key\r\n private GetBucketIndex(key: TKey) {\r\n let hash = this.HashFunction(key);\r\n if (hash % 1 !== 0) {\r\n throw new Exception('Key\\'s hash must be an integer!');\r\n }\r\n\r\n let index = Math.abs(hash) % this._bucketCount;\r\n\r\n if (index < 0 || index >= this._bucketCount) {\r\n throw new Exception('Index exceeds bucket boundaries');\r\n }\r\n\r\n return index;\r\n }\r\n\r\n// Clears Hashtable\r\n Clear(): void {\r\n this._elementsCount = 0;\r\n this._buckets = [];\r\n }\r\n}\r\n","export class Int32 {\r\n static MinValue: number = -2147483648;\r\n static MaxValue: number = 2147483647;\r\n}\r\n","export class Int64 {\r\n static MinValue: number = -9223372036854775808;\r\n}\r\n","import {Encoding} from \"./Encoding\";\r\n\r\nexport class ISO_8859_1_Encoding extends Encoding {\r\n\r\n static readonly ISO_8859_1: ISO_8859_1_Encoding = new ISO_8859_1_Encoding(\"iso_8859-1\");\r\n constructor(label: string) {\r\n super(label);\r\n }\r\n\r\n GetBytes(str: string): Uint8Array {\r\n\r\n if (str === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n let bytes: Uint8Array = null;\r\n\r\n bytes = new Uint8Array(str.length * 3);\r\n let bytesCount: number = 0;\r\n for (let i = 0; i < str.length; i++)\r\n {\r\n bytes[bytesCount++] = str[i].charCodeAt(0);\r\n }\r\n\r\n bytes = bytes.subarray(0, 0 + bytesCount);\r\n return bytes;\r\n }\r\n\r\n GetString(bytes: Uint8Array, index: number, count: number): string {\r\n let str: string = null;\r\n\r\n if (bytes === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n if (index < 0 || count < 0 || (index + count) > bytes.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n bytes = bytes.subarray(index, index + count);\r\n\r\n try {\r\n\r\n str = '';\r\n for (let i = 0; i < bytes.length; i++)\r\n {\r\n str += String.fromCharCode(bytes[i]);\r\n };\r\n }\r\n catch (ex) {\r\n }\r\n\r\n return str;\r\n }\r\n}\r\n","import {Array_Enumerator} from \"./ArrayEnumerator\";\r\nimport {isUndefined} from \"./Utils\";\r\n\r\nexport class List<T> extends Array<T> {\r\n\r\n constructor(arrayEnumerator?: Array_Enumerator<T>) {\r\n super();\r\n Object.setPrototypeOf(this, List.prototype);\r\n\r\n if (arguments.length === 1 && arrayEnumerator.constructor === Array_Enumerator) {\r\n this.AddRange(arrayEnumerator);\r\n }\r\n }\r\n\r\n AddRange(arrayEnumerator: Array_Enumerator<T>)\r\n AddRange(array: Array<T>)\r\n AddRange(arrayEnumeratorOrArray: any) {\r\n if (arrayEnumeratorOrArray.constructor === Array) {\r\n arrayEnumeratorOrArray.forEach((item: T) => {\r\n this.push(item);\r\n });\r\n }\r\n else {\r\n let e = arrayEnumeratorOrArray;\r\n while (e.MoveNext()) {\r\n this.push(e.Current);\r\n }\r\n }\r\n }\r\n\r\n get_Item(index: number): T {\r\n if (isUndefined(this[index]))\r\n this[index] = null;\r\n return this[index];\r\n }\r\n\r\n set_Item(index: number, value: T): void {\r\n if (index >= 0 && index < this.length)\r\n this[index] = value;\r\n else\r\n throw new Error(\"index out of bounds\");\r\n }\r\n\r\n GetEnumerator(): Array_Enumerator<T> {\r\n return new Array_Enumerator<T>(this);\r\n }\r\n\r\n Remove(object: T): void {\r\n let index: number = this.indexOf(object);\r\n\r\n if (index > -1)\r\n this.RemoveAt(index);\r\n }\r\n\r\n RemoveAt(index: number): void {\r\n this.RemoveRange(index, 1);\r\n }\r\n\r\n RemoveRange(index: number, count: number): void {\r\n this.splice(index, count);\r\n }\r\n\r\n Insert(index: number, item: T): void {\r\n if (index >= 0 && index < this.length)\r\n this.splice(index, 0, item);\r\n else if (index === this.length) // inserting at end means append\r\n this.push(item);\r\n else\r\n throw new Error(\"index out of bounds\");\r\n }\r\n\r\n InsertRange(items: T[]): void {\r\n let idx: number = 0;\r\n while (idx < items.length) {\r\n this.Insert(idx, items[idx]);\r\n idx++;\r\n }\r\n }\r\n\r\n Clear(): void {\r\n this.splice(0, this.length);\r\n }\r\n\r\n ToArray(): T[] {\r\n return this.slice(0);\r\n }\r\n\r\n Contains(object: T): boolean {\r\n return this.indexOf(object) > -1;\r\n }\r\n\r\n find(predicate: (value: T, index: number, obj: T[]) => boolean): T {\r\n let foundItem = super.find(predicate);\r\n if (isUndefined(foundItem))\r\n foundItem = null;\r\n\r\n return foundItem;\r\n }\r\n\r\n /// <summary>\r\n /// add null cells up to 'size' cells.\r\n /// </summary>\r\n /// <param name=\"size\"></param>\r\n SetSize(size: number): void {\r\n if (this.length > size) {\r\n this.RemoveRange(size, this.length - size);\r\n }\r\n else\r\n this.length = size;\r\n }\r\n}\r\n","export const $EOF = 0;\r\nexport const $TAB = 9;\r\nexport const $LF = 10;\r\nexport const $VTAB = 11;\r\nexport const $FF = 12;\r\nexport const $CR = 13;\r\nexport const $SPACE = 32;\r\nexport const $BANG = 33;\r\nexport const $DQ = 34;\r\nexport const $HASH = 35;\r\nexport const $$ = 36;\r\nexport const $PERCENT = 37;\r\nexport const $AMPERSAND = 38;\r\nexport const $SQ = 39;\r\nexport const $LPAREN = 40;\r\nexport const $RPAREN = 41;\r\nexport const $STAR = 42;\r\nexport const $PLUS = 43;\r\nexport const $COMMA = 44;\r\nexport const $MINUS = 45;\r\nexport const $PERIOD = 46;\r\nexport const $SLASH = 47;\r\nexport const $COLON = 58;\r\nexport const $SEMICOLON = 59;\r\nexport const $LT = 60;\r\nexport const $EQ = 61;\r\nexport const $GT = 62;\r\nexport const $QUESTION = 63;\r\n\r\nexport const $0 = 48;\r\nexport const $9 = 57;\r\n\r\nexport const $A = 65;\r\nexport const $E = 69;\r\nexport const $F = 70;\r\nexport const $X = 88;\r\nexport const $Z = 90;\r\n\r\nexport const $LBRACKET = 91;\r\nexport const $BACKSLASH = 92;\r\nexport const $RBRACKET = 93;\r\nexport const $CARET = 94;\r\nexport const $_ = 95;\r\n\r\nexport const $a = 97;\r\nexport const $e = 101;\r\nexport const $f = 102;\r\nexport const $n = 110;\r\nexport const $r = 114;\r\nexport const $t = 116;\r\nexport const $u = 117;\r\nexport const $v = 118;\r\nexport const $x = 120;\r\nexport const $z = 122;\r\n\r\nexport const $LBRACE = 123;\r\nexport const $BAR = 124;\r\nexport const $RBRACE = 125;\r\nexport const $NBSP = 160;\r\n\r\nexport const $PIPE = 124;\r\nexport const $TILDA = 126;\r\nexport const $AT = 64;\r\n\r\nexport const $BT = 96;\r\n\r\nexport function isWhitespace(code: number): boolean {\r\n return (code >= $TAB && code <= $SPACE) || code === $NBSP;\r\n}\r\n\r\nexport function isDigit(code: number): boolean {\r\n return $0 <= code && code <= $9;\r\n}\r\n\r\nexport function isAsciiLetter(code: number): boolean {\r\n return (code >= $a && code <= $z) || (code >= $A && code <= $Z);\r\n}\r\n\r\nexport function isAsciiHexDigit(code: number): boolean {\r\n return (code >= $a && code <= $f) || (code >= $A && code <= $F) || isDigit(code);\r\n}\r\n\r\nexport function isLowerCase(str: string): boolean {\r\n return str === str.toLowerCase();\r\n}\r\nexport function isUpperCase(str: string): boolean {\r\n return str === str.toUpperCase();\r\n}\r\n","\r\n\r\nimport {isAsciiLetter, isDigit, isLowerCase, isUpperCase, isWhitespace} from \"./StringUtils\";\r\n\r\nexport class NChar {\r\n static IsWhiteSpace(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isWhitespace(ch);\r\n }\r\n\r\n static IsLetterOrDigit(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isDigit(ch) || isAsciiLetter(ch);\r\n }\r\n\r\n static IsDigit(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isDigit(ch);\r\n }\r\n\r\n static IsLetter(ltr: string): boolean {\r\n return isAsciiLetter(ltr.charCodeAt(0));\r\n }\r\n\r\n static IsLower(ch: string): boolean {\r\n return isLowerCase(ch);\r\n }\r\n\r\n static IsUpper(ch: string): boolean {\r\n return isUpperCase(ch)\r\n }\r\n}\r\n","import {Exception} from \"./Exception\";\r\n\r\nexport class NotImplementedException extends Exception {\r\n constructor(message: string = \"Not implemented\") {\r\n super(message);\r\n }\r\n}\r\n","import {RefParam} from \"./RefParam\";\r\nimport {NotImplementedException} from \"./NotImplementedException\";\r\n\r\nexport enum NumberStyles {\r\n HexNumber\r\n}\r\n\r\nexport class NNumber {\r\n\r\n /// <summary>\r\n /// convert a string to number\r\n /// for blank string , it will return 0\r\n /// for incorrect format it will return NaN\r\n /// <summary>\r\n static Parse(text: string, style?: NumberStyles): number {\r\n if (arguments.length === 2) {\r\n if (style === NumberStyles.HexNumber)\r\n return parseInt(text, 16);\r\n else\r\n throw new NotImplementedException();\r\n }\r\n return +text; // use unary + operator to convert string to number.\r\n }\r\n\r\n\r\n /// <summary>\r\n /// convert a string to number\r\n /// return true if string is correctly parsed i.e pvalue.value is number\r\n /// for incorrect format it will return false\r\n /// <summary>\r\n static TryParse(str: string, pvalue: RefParam<number>): boolean {\r\n pvalue.value = +str;\r\n return !isNaN(pvalue.value);\r\n }\r\n\r\n /// <summary>\r\n /// convert a number to string with specified format\r\n /// <summary>\r\n static ToString(num: number, format: string): string {\r\n if (format === 'X2') {\r\n let res: string = num.toString(16);\r\n return res.length === 1 ? '0' + res : res;\r\n }\r\n throw new NotImplementedException();\r\n }\r\n}\r\n","\r\nimport {isNullOrUndefined} from \"./Utils\";\r\nimport {Exception} from \"./Exception\";\r\n\r\n\r\n// @dynamic\r\nexport class NString {\r\n static Empty = \"\";\r\n\r\n static IndexOf(str: string, searchStr: any, startIndex: number, count: number): number {\r\n let index: number = str.substr(startIndex, count).indexOf(searchStr);\r\n return index > -1 ? startIndex + index : index;\r\n }\r\n\r\n static IndexOfAny(str: string, subs: string[], startIndex: number, count: number): number {\r\n for (let i = 0; i < count; ++i) {\r\n let c = str.charAt(startIndex + i);\r\n for (let j = 0; j < subs.length; ++j) {\r\n if (c === subs[j])\r\n return (startIndex + i);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n static CopyTo(source: string, sourceIndex: number, destination: string[], destinationIndex: number, count: number) {\r\n for (let i = 0; i < count; i++) {\r\n destination[destinationIndex + i] = source[sourceIndex + i];\r\n }\r\n }\r\n\r\n static Compare(strA: string, strB: string, ignoreCase: boolean): number\r\n static Compare(strA: string, strB: string, ignoreCase: boolean, indexA: number, indexB: number, length: number): number\r\n static Compare(strA: string, strB: string, ignoreCase: boolean, indexA?: number, indexB?: number, length?: number): number {\r\n if (arguments.length = 6) {\r\n strA = strA.substr(indexA, length);\r\n strB = strB.substr(indexB, length);\r\n }\r\n if (ignoreCase) {\r\n strA = strA.toLowerCase();\r\n strB = strB.toLowerCase();\r\n }\r\n return strA.localeCompare(strB);\r\n }\r\n\r\n\r\n static Equals(strA: string, strB: string, ignoreCase: boolean): boolean {\r\n if (!NString.IsNullOrEmpty(strA) && !NString.IsNullOrEmpty(strB)) {\r\n if (ignoreCase) {\r\n strA = strA.toLowerCase();\r\n strB = strB.toLowerCase();\r\n }\r\n return strA === strB;\r\n }\r\n return false;\r\n }\r\n\r\n static GetHashCode(str: string): number {\r\n var hash = 0, i, l, ch;\r\n if (str.length === 0) return hash;\r\n for (i = 0, l = str.length; i < l; i++) {\r\n ch = str.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + ch;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash;\r\n }\r\n\r\n\r\n static Remove(str: string, startIndex: number, length: number): string {\r\n return str.substr(0, startIndex - 1) + str.substr(startIndex + length - 1);\r\n }\r\n\r\n static TrimStart(str: string): string {\r\n return str.replace(/^\\s\\s*/, '')\r\n }\r\n\r\n static TrimEnd(string: string, trimChars?: string[]): string {\r\n if (arguments.length === 1)\r\n return string.replace(/\\s\\s*$/, '');\r\n\r\n for (let j = 0; j < trimChars.length; j++) {\r\n let trimChar = trimChars[j];\r\n let i = string.length - 1;\r\n while (!isNullOrUndefined(string[i]) && string[i].endsWith(trimChar)) {\r\n string = NString.Remove(string, string.length, 1);\r\n i--;\r\n }\r\n }\r\n return string;\r\n }\r\n\r\n static Format(format: string, arg0: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any, arg5?: any): string {\r\n if (!isNullOrUndefined(arg0) && arg0.constructor === Array) {\r\n var s = format,\r\n i = arg0.length;\r\n while (i--) {\r\n s = s.replace(new RegExp('\\\\{' + i + '\\\\}', 'gm'), arg0[i]);\r\n }\r\n return s;\r\n }\r\n else {\r\n var args = [arg0, arg1, arg2, arg3, arg4, arg5];\r\n return NString.Format(format, args);\r\n }\r\n }\r\n\r\n static IsNullOrEmpty(str1: string | NString): boolean {\r\n return !str1;\r\n }\r\n\r\n static FromChars(chOrChars: string[])\r\n static FromChars(chOrChars: string[], startIndex: number, len: number)\r\n static FromChars(chOrChars: string[], startIndex?: number, len?: number) {\r\n let str: string = chOrChars.join('');\r\n if (arguments.length === 3)\r\n return str.substr(startIndex, len);\r\n return str;\r\n }\r\n\r\n static FromChar(ch: string, count): string {\r\n return (new Array<string>(count).fill(<string>ch)).join('');\r\n }\r\n\r\n static ToCharArray(str: string): string[] {\r\n return Array.from(str);\r\n }\r\n\r\n static CompareOrdinal(strA: string, strB: string): number {\r\n let lenA = strA.length;\r\n let lenB = strB.length;\r\n\r\n let len = Math.min(lenA, lenB);\r\n\r\n // compare character by character\r\n for (let i = 0; i < len; i++) {\r\n if (strA[i].charCodeAt(0) !== strB[i].charCodeAt(0)) {\r\n return strA[i].charCodeAt(0) - strB[i].charCodeAt(0);\r\n }\r\n }\r\n\r\n // if all characters are same , but length is different return the difference of length\r\n if (lenA !== lenB) {\r\n return lenA - lenB;\r\n }\r\n\r\n // all chars are same , so strings are equal\r\n return 0;\r\n }\r\n\r\n static PadRight(source: string, maxLength: number, fillString?: string): string {\r\n if (source.length >= maxLength)\r\n return source;\r\n\r\n let fillLen = maxLength - source.length;\r\n let timesToRepeat = Math.ceil(fillLen / fillString.length);\r\n let truncatedStringFiller = fillString.repeat(timesToRepeat).slice(0, fillLen);\r\n return source + truncatedStringFiller;\r\n }\r\n\r\n static Insert(str: string, index: number, ch: string): string {\r\n return str.substr(0, index) + ch + str.substr(index, str.length - index);\r\n }\r\n\r\n static Replace(str:string, orgSubStr: string, newSubStr: string): string {\r\n let resultStr:string = '';\r\n\r\n // fixed defect 151810: replace \"*\" with \"\\*\" before we update the string so * will be as char and not reg exp\r\n // also for special chars $ ^ . ? + , [\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\\\\\\", 'g'), \"\\\\\\\\\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\*\",'g'), \"\\\\\\*\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\$\",'g'), \"\\\\\\$\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\^\",'g'), \"\\\\\\^\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\.\",'g'), \"\\\\\\.\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\?\",'g'), \"\\\\\\?\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\+\",'g'), \"\\\\\\+\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\,\",'g'), \"\\\\\\,\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\[\",'g'), \"\\\\\\[\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\|\",'g'), \"\\\\\\|\");\r\n\r\n try {\r\n resultStr = str.replace(new RegExp(orgSubStr,'g'), newSubStr);\r\n }\r\n catch (e) {\r\n throw new Exception(e.message);\r\n }\r\n return resultStr;\r\n }\r\n}\r\n","export class NumberFormatInfo {\r\n public static readonly NegativeSign: string = '-';\r\n\r\n public static readonly NumberDecimalSeparator: string = NumberFormatInfo.GetLocaleDecimalSeperator();\r\n\r\n private static GetLocaleDecimalSeperator(): string {\r\n return (1.1).toLocaleString()[1]; // get the decimal seperator of current locale\r\n }\r\n}\r\n","export class RefParam<T> {\r\n value: T;\r\n\r\n constructor(value: T) {\r\n this.value = value;\r\n }\r\n}\r\n","export class Stack<TData> {\r\n\r\n private _array: Array<TData>;\r\n\r\n constructor() {\r\n this._array = new Array<TData>();\r\n }\r\n\r\n public count(): number {\r\n return this._array.length;\r\n }\r\n\r\n public isEmpty(): boolean {\r\n return this._array.length === 0;\r\n }\r\n\r\n public push(value: TData): void {\r\n this._array.push(value);\r\n }\r\n\r\n public pop(): TData {\r\n return this._array.pop();\r\n }\r\n\r\n public peek(): TData {\r\n if (this._array.length > 0) {\r\n return this._array[this._array.length - 1];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public Clear(): void {\r\n this._array.splice(0, this._array.length);\r\n }\r\n\r\n public Clone(): Stack<TData> {\r\n let clone: Stack<TData> = new Stack<TData>();\r\n clone._array = this._array.slice();\r\n return clone;\r\n }\r\n}\r\n","import * as StackTrace from 'stacktrace-js';\r\nimport JSStackFrame = StackTrace.StackFrame;\r\n\r\n// StackFrame uses StackTrace utility using stacktrace-js utility from npm\r\n// https://www.npmjs.com/package/stacktrace-js\r\nexport class StackFrame {\r\n private stackFrame: JSStackFrame = null;\r\n\r\n constructor(skipFrames: number) {\r\n\r\n let stackFrames: JSStackFrame[] = StackTrace.getSync();\r\n if (skipFrames < 0 || skipFrames >= stackFrames.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n this.stackFrame = stackFrames[skipFrames];\r\n }\r\n\r\n public GetFileName(): string {\r\n return this.stackFrame.fileName;\r\n }\r\n}\r\n","import * as JSStackTrace from 'stacktrace-js';\r\nimport JSStackFrame = JSStackTrace.StackFrame;\r\n\r\n// This uses StackTrace utility using stacktrace-js utility from npm. Use this in package.json\r\n// https://www.npmjs.com/package/stacktrace-js\r\nexport class StackTrace {\r\n GetFrames(): JSStackFrame[] {\r\n // Using getSync() method, it returns references of callstack ethod from the javascript files bindled and not typeScript file from sources.\r\n // However, if aSync method would have used, it overcomes above problems but the call to log would have been async and we would not have\r\n // received synchronous logs which would be confusing.\r\n return JSStackTrace.getSync();\r\n }\r\n}\r\n","import {Debug} from \"./Debug\";\r\nimport {NString} from \"./NString\";\r\n\r\n// StringBuilder class. Its Implementation currently uses string object. It could have been string[], but it has issues when inserting string.\r\n// It would not have served purpose while inserting a string. Other could be to use string[] with one chraracter per string. Even its utility\r\n// is doubtful as while manipulation, it would be creting new objects instead pointers. So for now we have used only string and see if we have\r\n// any performance issues.\r\nexport class StringBuilder {\r\n private part: string = \"\";\r\n\r\n // Ctor\r\n constructor(length?: number)\r\n constructor(value?: string, length?: number)\r\n constructor(valueOrLength?: any, length?: number) {\r\n if (arguments.length > 0) {\r\n if (valueOrLength != null && valueOrLength.constructor === Number) {\r\n // TODO: Very low priority performance improvement - Implement this.\r\n // Debug.Assert(false, \"StringBuilder: NotImplemented constructor with initial length/capacity\");\r\n // throw new Error(\"NotImplemented constructor with initial length/capacity\");\r\n }\r\n else if (valueOrLength != null && valueOrLength.constructor === String) {\r\n this.part = valueOrLength.toString();\r\n // TODO: Very low priority performance improvement - Implement this.\r\n // if (arguments.length === 2)\r\n // Debug.Assert(false, \"NotImplemented constructor with initial length/capacity\");\r\n }\r\n }\r\n }\r\n\r\n // Appends string/number\r\n Append(num: number, numberOfCharacters?: number): StringBuilder;\r\n Append(text: string): StringBuilder;\r\n Append(text: string, numberOfCharacters: number): StringBuilder;\r\n Append(text: string, startIndex: number, charCount: number): StringBuilder;\r\n Append(textOrNum: any, startIndexOrNumberOfCharacters?: number, charCount?: number): StringBuilder {\r\n\r\n if (textOrNum === null)\r\n return this;\r\n\r\n if (textOrNum.constructor === String) {\r\n if (arguments.length === 1)\r\n this.AppendString(textOrNum.toString());\r\n else if (arguments.length === 2) {\r\n Debug.Assert(textOrNum.length === 1, \"character is expected not string\");\r\n this.AppendString(textOrNum.charAt(0).repeat(startIndexOrNumberOfCharacters));\r\n }\r\n else\r\n this.AppendString(textOrNum.toString(), startIndexOrNumberOfCharacters, charCount);\r\n }\r\n else\r\n this.AppendNumber(textOrNum, startIndexOrNumberOfCharacters);\r\n\r\n return this;\r\n }\r\n\r\n // Append string\r\n private AppendString(text: string, startIndex: number = 0, charCount: number = text.length): void {\r\n this.part = this.part + text.substr(startIndex, charCount);\r\n }\r\n\r\n // Append Number\r\n private AppendNumber(num: number, numberOfCharacters: number = 1): void {\r\n if (numberOfCharacters <= 0)\r\n throw new Error(\"numberOfCharacters cannot be less than or equal to zero\");\r\n\r\n this.part = this.part + num.toString().repeat(numberOfCharacters);\r\n }\r\n\r\n // Append Line\r\n AppendLine(text: string = null): void {\r\n if (text !== null)\r\n this.part = this.part + text;\r\n this.part = this.part + '\\n';\r\n }\r\n\r\n // Append Formatted string\r\n AppendFormat(format: string, arg0: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1: any, arg2: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1?: any, arg2?: any): StringBuilder {\r\n this.part = this.part + NString.Format(format, arg0, arg1, arg2);\r\n return this;\r\n }\r\n\r\n // Convert to string\r\n ToString(): string;\r\n ToString(startIndex: number, length: number): string;\r\n ToString(startIndex ?: number, length ?: number): string {\r\n if (arguments.length === 2) {\r\n if (startIndex < 0 || length < 0 || (startIndex + length) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n return this.part.substr(startIndex, length);\r\n }\r\n return this.part;\r\n }\r\n\r\n get Length(): number {\r\n return this.part.length;\r\n }\r\n\r\n get_Item(index: number): string {\r\n if (index < 0 || index >= this.part.length)\r\n throw new Error(\"Index out of range\");\r\n\r\n return this.part.charAt(index);\r\n }\r\n\r\n set_Item(index: number, value: string) {\r\n if (index < 0 || index >= this.part.length)\r\n throw new Error(\"Index out of range\");\r\n\r\n Debug.Assert(value.length <= 1, \"Length of string cannot be more than 1. Only character is expected\");\r\n let leftPart: string = this.part.substring(0, index);\r\n let rightPart: string = this.part.substring(index + 1, this.part.length);\r\n this.part = leftPart + value.charAt(0) + rightPart;\r\n }\r\n\r\n Insert(index: number, value: string): StringBuilder {\r\n if (index < 0 || index > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n let leftPart: string = this.part.substring(0, index);\r\n let rightPart: string = this.part.substring(index, this.part.length);\r\n this.part = leftPart + value + rightPart;\r\n\r\n return this;\r\n }\r\n\r\n Remove(startIndex: number, length: number): StringBuilder {\r\n if (startIndex < 0 || length < 0 || (startIndex + length) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n let leftPart: string = this.part.substring(0, startIndex);\r\n let rightPart: string = this.part.substring(startIndex + length, this.part.length);\r\n this.part = leftPart + rightPart;\r\n\r\n return this;\r\n }\r\n\r\n Replace(oldValue: string, newValue: string): StringBuilder;\r\n Replace(oldValue: string, newValue: string, startIndex: number, count: number): StringBuilder;\r\n Replace(oldValue: string, newValue: string, startIndex?: number, count?: number): StringBuilder {\r\n if (oldValue === null)\r\n throw new Error(\"oldValue cannot be null\");\r\n else if (oldValue.length === 0)\r\n throw new Error(\"Length of oldValue cannot be 0\");\r\n\r\n if (arguments.length === 4) {\r\n if (startIndex < 0 || count < 0 || (startIndex + count) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n }\r\n\r\n if (arguments.length === 2)\r\n this.part = this.part.replace(new RegExp(oldValue, 'g'), newValue);\r\n else if (arguments.length === 4) {\r\n let substr: string = this.part.substring(startIndex, startIndex + count);\r\n substr = substr.replace(new RegExp(oldValue, 'g'), newValue);\r\n\r\n let leftPart: string = this.part.substring(0, startIndex);\r\n let rightPart: string = this.part.substring(startIndex + count, this.part.length);\r\n this.part = leftPart + substr + rightPart;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n // return the string\r\n toString(): string {\r\n return this.ToString();\r\n }\r\n}\r\n","import {interval} from 'rxjs';\r\n\r\nexport class Thread {\r\n private static nextId: number = 1;\r\n static CurrentThread: Thread = new Thread();\r\n ManagedThreadId: number = 0;\r\n\r\n constructor() {\r\n this.ManagedThreadId = Thread.nextId++;\r\n }\r\n\r\n /// <summary>\r\n /// Free the thread so it will be able to do other work, like gui events\r\n /// </summary>\r\n /// <param name = \"millisecondsTimeout\"> timeout in milliseconds</param>\r\n\r\n public static async Sleep(millisecondsTimeout: number): Promise<void>\r\n {\r\n await new Promise<void>((resolve) => {\r\n let timer = interval(millisecondsTimeout);\r\n let subscription = timer.subscribe( () => {subscription.unsubscribe(); resolve();});\r\n }).then();\r\n }\r\n}\r\n","import {Exception} from \"./Exception\";\r\n\r\nexport class WebException extends Exception {\r\n constructor(error: Error) {\r\n super();\r\n this.name = \"WebException\";\r\n this.stack = error.stack;\r\n this.message = error.message;\r\n }\r\n}\r\n","import {NotImplementedException} from \"./NotImplementedException\";\r\n\r\nexport class XmlConvert {\r\n // TODO : Implement\r\n static EncodeName(name: string): string {\r\n throw new NotImplementedException();\r\n }\r\n}\r\n"],"names":["StackTrace","JSStackTrace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"magic-xpa-mscorelib.mjs","sources":["../../../../projects/mscorelib/src/Utils.ts","../../../../projects/mscorelib/src/Exception.ts","../../../../projects/mscorelib/src/ApplicationException.ts","../../../../projects/mscorelib/src/ArrayEnumerator.ts","../../../../projects/mscorelib/src/BitArray.ts","../../../../projects/mscorelib/src/Char.ts","../../../../projects/mscorelib/src/CultureInfo.ts","../../../../projects/mscorelib/src/DateTime.ts","../../../../projects/mscorelib/src/Debug.ts","../../../../projects/mscorelib/src/Dictionary.ts","../../../../projects/mscorelib/src/Encoding.ts","../../../../projects/mscorelib/src/HashTable.ts","../../../../projects/mscorelib/src/Int32.ts","../../../../projects/mscorelib/src/Int64.ts","../../../../projects/mscorelib/src/ISO_8859_1_Encoding.ts","../../../../projects/mscorelib/src/List.ts","../../../../projects/mscorelib/src/StringUtils.ts","../../../../projects/mscorelib/src/NChar.ts","../../../../projects/mscorelib/src/NotImplementedException.ts","../../../../projects/mscorelib/src/NNumber.ts","../../../../projects/mscorelib/src/NString.ts","../../../../projects/mscorelib/src/NumberFormatInfo.ts","../../../../projects/mscorelib/src/RefParam.ts","../../../../projects/mscorelib/src/Stack.ts","../../../../projects/mscorelib/src/StackFrame.ts","../../../../projects/mscorelib/src/StackTrace.ts","../../../../projects/mscorelib/src/StringBuilder.ts","../../../../projects/mscorelib/src/Thread.ts","../../../../projects/mscorelib/src/WebException.ts","../../../../projects/mscorelib/src/XmlConvert.ts"],"sourcesContent":["export function isNullOrUndefined(object: any): boolean {\r\n return object == undefined || object == null;\r\n}\r\nexport function isUndefined(object: any): boolean {\r\n return object == undefined;\r\n}\r\n","/// <summary>\r\n/// The base class of all exceptions\r\n/// </summary>\r\n\r\nimport {isNullOrUndefined} from \"./Utils\";\r\n\r\nexport class Exception{\r\n\r\n name: string = \"Exception\";\r\n message: string = \"\";\r\n stack: string = \"\";\r\n\r\n\r\n errorLevel = 1;\r\n /// <summary>\r\n /// constructor\r\n /// </summary>\r\n /// <param name=\"message\" denotes the message of exception></param>\r\n /// <param name=\"name\" denotes the type of exception></param>\r\n constructor(message?: string)\r\n constructor(error: Error)\r\n constructor(messageOrError: string | Error) {\r\n if (!isNullOrUndefined(messageOrError)) {\r\n if (messageOrError instanceof Error) {\r\n this.stack = (<Error>messageOrError).stack;\r\n this.message = (<Error>messageOrError).message;\r\n }\r\n else {\r\n this.message = <string>messageOrError;\r\n this.stack = new Error().stack;\r\n }\r\n }\r\n }\r\n\r\n /// <summary>\r\n /// get the message of exception\r\n /// </summary>\r\n get Message() {\r\n return this.message;\r\n }\r\n\r\n /// <summary>\r\n /// get the stack trace of exception\r\n /// </summary>\r\n get StackTrace() {\r\n\r\n let stackTrace = this.stack || '';\r\n let stackLines = stackTrace.split(\"\\n\").map(function (line) { return line.trim(); });\r\n\r\n // On some browsers (e.g. Chrome), the statck includes a title as \"Error\", so remove it.\r\n stackTrace = stackLines.splice(stackLines[0] === 'Error' ? this.errorLevel + 1 : this.errorLevel).join(\"\\n\");\r\n\r\n return \"\\n\" + stackTrace;\r\n }\r\n\r\n /// <summary>\r\n /// get the type of exception\r\n /// </summary>\r\n public GetType(): string {\r\n return this.name;\r\n }\r\n}\r\n\r\n\r\n","import {Exception} from \"./Exception\";\r\nimport {isUndefined} from \"./Utils\";\r\n\r\nexport class ApplicationException extends Exception {\r\n\r\n InnerException: Exception = null;\r\n\r\n constructor(message: string = \"\", innerException?: Exception) {\r\n super(message);\r\n this.name = 'ApplicationException';\r\n this.InnerException = (isUndefined(innerException) ? null : innerException);\r\n this.errorLevel = 2;\r\n }\r\n}\r\n","\r\nexport interface IEnumerable<T> {\r\n GetEnumerator(): Array_Enumerator<T>;\r\n}\r\n\r\nexport class Array_Enumerator<T> {\r\n private array: T[];\r\n private index: number = -1;\r\n\r\n constructor(array: T[]) {\r\n this.array = array;\r\n }\r\n\r\n MoveNext(): boolean {\r\n this.index++;\r\n return this.index < this.array.length;\r\n }\r\n\r\n get Current(): T {\r\n return this.array[this.index];\r\n }\r\n\r\n Dispose(): void {\r\n }\r\n}\r\n","/// <summary>\r\n/// Manages a compact array of bit values,\r\n// which are represented as Booleans, where true indicates that the bit is on (1) and false indicates the bit is off (0).\r\n/// </summary>\r\nexport class BitArray {\r\n\r\n private array: Array<boolean> = null; // array of boolean values\r\n\r\n /// <summary>\r\n /// returns the length of array\r\n /// </summary>\r\n /// <returns></returns>\r\n public get Length() {\r\n return this.array.length;\r\n }\r\n\r\n constructor(length: number) {\r\n this.array = new Array(length).fill(false);\r\n }\r\n\r\n /// <summary>\r\n /// get the value of flag at specified index\r\n /// </summary>\r\n /// <returns></returns>\r\n public Get(index: number): boolean {\r\n return this.array[index];\r\n }\r\n\r\n /// <summary>\r\n /// set the value of flag at specified index\r\n /// </summary>\r\n /// <returns></returns>\r\n public Set(index: number, value: boolean) {\r\n this.array[index] = value;\r\n }\r\n\r\n\r\n}\r\n","export class Char {\r\n static MinValue: string = '\\0';\r\n static MaxValue: string = String.fromCharCode(0xFFFF);\r\n}\r\n","export class CultureInfo {\r\n static InvariantCulture: CultureInfo = new CultureInfo();\r\n}\r\n","import moment from 'moment'\r\n\r\nexport enum DateTimeKind {\r\n Local,\r\n Utc\r\n}\r\n\r\n// @dynamic\r\nexport class DateTime {\r\n private dt: Date = null;\r\n private kind: DateTimeKind = null;\r\n\r\n // the number of .net ticks at the unix epoch\r\n private readonly epochTicks = 621355968000000000;\r\n\r\n // there are 10000 .net ticks per millisecond\r\n private readonly ticksPerMillisecond = 10000;\r\n\r\n get Ticks(): number {\r\n // https://stackoverflow.com/questions/7966559/how-to-convert-javascript-date-object-to-ticks\r\n // TODO - check if we need this or to use Misc.getSystemMilliseconds()\r\n return ((this.dt.getTime() * this.ticksPerMillisecond) + this.epochTicks) - (this.dt.getTimezoneOffset() * 600000000);\r\n }\r\n\r\n get Year(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCFullYear() : this.dt.getFullYear();\r\n }\r\n\r\n get Month(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMonth() + 1 : this.dt.getMonth() + 1;\r\n }\r\n\r\n get Day(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCDate() : this.dt.getDate();\r\n }\r\n\r\n get Hour(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCHours() : this.dt.getHours();\r\n }\r\n\r\n get Minute(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMinutes() : this.dt.getMinutes();\r\n }\r\n\r\n get Second(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCSeconds() : this.dt.getSeconds();\r\n }\r\n\r\n get Millisecond(): number {\r\n return this.kind === DateTimeKind.Utc ? this.dt.getUTCMilliseconds() : this.dt.getMilliseconds();\r\n }\r\n\r\n\r\n constructor(date: Date);\r\n constructor(year: number, month: number, day: number);\r\n constructor(year: number, month: number, day: number, hour : number, minute : number, second: number);\r\n constructor(yearOrDate: any, month?: number, day?: number, hour?: number, minute?: number, second?: number) {\r\n if (arguments.length === 1) {\r\n this.dt = <Date>yearOrDate;\r\n }\r\n if (arguments.length === 3) {\r\n this.dt = new Date(<number>yearOrDate, month - 1, day);\r\n }\r\n if (arguments.length === 6) {\r\n this.dt = new Date(<number>yearOrDate, month - 1, day, hour, minute, second);\r\n }\r\n this.kind = DateTimeKind.Local;\r\n }\r\n\r\n\r\n\r\n\r\n Format(formatString: string): string {\r\n return moment(this.dt).format(formatString);\r\n }\r\n\r\n static get UtcNow(): DateTime {\r\n let d = new DateTime(new Date());\r\n d.kind = DateTimeKind.Utc;\r\n return d;\r\n }\r\n\r\n static get Now(): DateTime {\r\n let d = new DateTime(new Date());\r\n d.kind = DateTimeKind.Local;\r\n return d;\r\n }\r\n\r\n static GetTotalSecondsFromMidnight(utcTime: boolean, date: Date): number {\r\n let hh = utcTime ? date.getUTCHours() : date.getHours();\r\n let mm = utcTime ? date.getUTCMinutes() : date.getMinutes();\r\n let ss = utcTime ? date.getUTCSeconds() : date.getSeconds();\r\n\r\n return hh * 60 * 60 + mm * 60 + ss;\r\n }\r\n\r\n static GetTotalMilliSecondsFromMidnight(utcTime: boolean, date: Date): number {\r\n let hh = utcTime ? date.getUTCHours() : date.getHours();\r\n let mm = utcTime ? date.getUTCMinutes() : date.getMinutes();\r\n let ss = utcTime ? date.getUTCSeconds() : date.getSeconds();\r\n let ms = utcTime ? date.getUTCSeconds() : date.getMilliseconds();\r\n return (hh * 60 * 60 + mm * 60 + ss) * 1000 + ms;\r\n }\r\n}\r\n\r\n\r\n","export class Debug {\r\n static WriteLine(text: string): void {\r\n console.log(text);\r\n }\r\n\r\n static Assert(assertCondtion: boolean, message?: string): void {\r\n if (!assertCondtion)\r\n alert(message);\r\n }\r\n}\r\n","import {RefParam} from \"./RefParam\";\r\nimport {Exception} from \"./Exception\";\r\n\r\nexport class Dictionary<V> {\r\n private values: Array<V> = new Array();\r\n\r\n get_Item(key: string): V {\r\n if (this.values.hasOwnProperty(key))\r\n return this.values[key];\r\n else\r\n return null;\r\n }\r\n\r\n set_Item(key: string, value: V) {\r\n this.values[key] = value;\r\n }\r\n\r\n Add(key: string, value: V) {\r\n if (this.values.hasOwnProperty(key))\r\n throw new Exception(\"An item with the same key has already been added\");\r\n else\r\n this.values[key] = value;\r\n }\r\n\r\n ContainsKey(key: string): boolean {\r\n return this.values.hasOwnProperty(key);\r\n }\r\n\r\n TryGetValue(key: string, pvalue: RefParam<V>): boolean {\r\n if (this.values.hasOwnProperty(key)) {\r\n pvalue.value = this.values[key];\r\n return true;\r\n }\r\n else {\r\n pvalue.value = null;\r\n return false;\r\n }\r\n }\r\n\r\n Remove(key: string): void {\r\n delete this.values[key];\r\n }\r\n\r\n get Keys(): string[] {\r\n return Object.keys(this.values);\r\n }\r\n}\r\n","import {TextDecoder, TextEncoder} from \"text-encoding\";\r\n\r\nexport class Encoding {\r\n static readonly ASCII: Encoding = new Encoding(\"ascii\");\r\n static readonly UTF8: Encoding = new Encoding(\"utf-8\");\r\n static readonly Unicode: Encoding = new Encoding(\"utf-16le\");\r\n\r\n static readonly CodePageToEncodingMap = Encoding.PopulateCodePageToEncodingMap();\r\n\r\n private readonly textEncoder: TextEncoder = null;\r\n private readonly textDecoder: TextDecoder = null;\r\n constructor(private label: string) {\r\n this.textEncoder = new TextEncoder(label, {NONSTANDARD_allowLegacyEncoding: true});\r\n this.textDecoder = new TextDecoder(label, {NONSTANDARD_allowLegacyEncoding: true});\r\n }\r\n\r\n GetBytes(str: string): Uint8Array {\r\n\r\n if (str === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n let bytes: Uint8Array = null;\r\n\r\n try {\r\n bytes = this.textEncoder.encode(str);\r\n }\r\n catch (ex) {\r\n // In C#, if any character is not within the range of specified charset, it is replaced by '?'.\r\n // TextEncoder.encode() throws an error in such a case.\r\n // We can modify the implementation of TextEncoder.encode() to put '?' instead of throwing error.\r\n // But, it can be problematic if we change the library version.\r\n // So, we will catch this error and handle the encoding ourselves.\r\n bytes = new Uint8Array(str.length * 3);\r\n let bytesCount: number = 0;\r\n let tmpBytes: Uint8Array;\r\n\r\n for (let i = 0; i < str.length; i++)\r\n {\r\n try {\r\n tmpBytes = this.textEncoder.encode(str[i]);\r\n bytes.set(tmpBytes, bytesCount);\r\n bytesCount += tmpBytes.length;\r\n }\r\n catch (ex) {\r\n bytes[bytesCount++] = \"?\".charCodeAt(0);\r\n }\r\n }\r\n\r\n bytes = bytes.subarray(0, 0 + bytesCount);\r\n }\r\n\r\n return bytes;\r\n }\r\n\r\n GetByteCount(str: string): number {\r\n // TODO: this is not the best way.\r\n return this.GetBytes(str).length;\r\n }\r\n\r\n GetString(bytes: Uint8Array, index: number, count: number): string {\r\n let str: string = null;\r\n\r\n if (bytes === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n if (index < 0 || count < 0 || (index + count) > bytes.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n bytes = bytes.subarray(index, index + count);\r\n\r\n try {\r\n str = this.textDecoder.decode(bytes);\r\n }\r\n catch (ex) {\r\n }\r\n\r\n return str;\r\n }\r\n\r\n static GetEncoding(codepage: number): Encoding {\r\n let label: string = Encoding.CodePageToEncodingMap[codepage];\r\n\r\n if (label == null)\r\n throw new Error(\"Invalid codepage.\");\r\n\r\n return new Encoding(label);\r\n }\r\n private static PopulateCodePageToEncodingMap(): any {\r\n\r\n let hashTable = new Object;\r\n\r\n // These map is similar to enc_map_table of exp_xml.cpp\r\n hashTable[20106] = \"DIN_66003\"; // IA5 (German)\r\n hashTable[20107] = \"SEN_850200_B\"; // IA5 (Swedish)\r\n hashTable[50932] = \"_autodetect\"; // Japanese (Auto Select)\r\n hashTable[20108] = \"NS_4551-1\"; // IA5 (Norwegian)\r\n hashTable[50949] = \"_autodetect_kr\"; // Korean (Auto Select)\r\n hashTable[950] = \"big5\"; // Chinese Traditional (Big5)\r\n hashTable[50221] = \"csISO2022JP\"; // Japanese (JIS-Allow 1 byte Kana)\r\n hashTable[51949] = \"euc-kr\"; // Korean (EUC)\r\n hashTable[936] = \"gb2312\"; // Chinese Simplified (GB2312)\r\n hashTable[52936] = \"hz-gb-2312\"; // Chinese Simplified (HZ)\r\n hashTable[852] = \"ibm852\"; // Central European (DOS)\r\n hashTable[866] = \"ibm866\"; // Cyrillic Alphabet (DOS)\r\n hashTable[20105] = \"irv\"; // IA5 (IRV)\r\n hashTable[50220] = \"iso-2022-jp\"; // Japanese (JIS)\r\n hashTable[50222] = \"iso-2022-jp\"; // Japanese (JIS-Allow 1 byte Kana)\r\n hashTable[50225] = \"iso-2022-kr\"; // Korean (ISO)\r\n hashTable[28591] = \"iso-8859-1\"; // Western Alphabet (ISO)\r\n hashTable[28592] = \"iso-8859-2\"; // Central European Alphabet (ISO)\r\n hashTable[28593] = \"iso-8859-3\"; // Latin 3 Alphabet (ISO)\r\n hashTable[28594] = \"iso-8859-4\"; // Baltic Alphabet (ISO)\r\n hashTable[28595] = \"iso-8859-5\"; // Cyrillic Alphabet (ISO)\r\n hashTable[28596] = \"iso-8859-6\"; // Arabic Alphabet (ISO)\r\n hashTable[28597] = \"iso-8859-7\"; // Greek Alphabet (ISO)\r\n hashTable[28598] = \"iso-8859-8\"; // Hebrew Alphabet (ISO)\r\n hashTable[20866] = \"koi8-r\"; // Cyrillic Alphabet (KOI8-R)\r\n hashTable[949] = \"ks_c_5601\"; // Korean\r\n hashTable[932] = \"shift-jis\"; // Japanese (Shift-JIS)\r\n hashTable[1200] = \"unicode\"; // Universal Alphabet\r\n hashTable[1201] = \"unicodeFEFF\"; // Universal Alphabet (Big-Endian)\r\n hashTable[65000] = \"utf-7\"; // Universal Alphabet (UTF-7)\r\n hashTable[65001] = \"utf-8\"; // Universal Alphabet (UTF-8)\r\n hashTable[1250] = \"windows-1250\"; // Central European Alphabet (Windows)\r\n hashTable[1251] = \"windows-1251\"; // Cyrillic Alphabet (Windows)\r\n hashTable[1252] = \"windows-1252\"; // Western Alphabet (Windows)\r\n hashTable[1253] = \"windows-1253\"; // Greek Alphabet (Windows)\r\n hashTable[1254] = \"windows-1254\"; // Turkish Alphabet\r\n hashTable[1255] = \"windows-1255\"; // Hebrew Alphabet (Windows)\r\n hashTable[1256] = \"windows-1256\"; // Arabic Alphabet (Windows)\r\n hashTable[1257] = \"windows-1257\"; // Baltic Alphabet (Windows)\r\n hashTable[1258] = \"windows-1258\"; // Vietnamese Alphabet (Windows)\r\n hashTable[874] = \"windows-874\"; // Thai (Windows)\r\n hashTable[20127] = \"US-ASCII\"; // us-ascii\r\n hashTable[51932] = \"x-euc\"; // Japanese (EUC)\r\n\r\n return hashTable;\r\n }\r\n\r\n // return the name of encoding used \r\n public toString(): string {\r\n return this.label;\r\n }\r\n}\r\n","// Reference: https://github.com/rkostrzewski/hashtable-ts/blob/master/src/hashtable.ts\r\n\r\nimport {Array_Enumerator} from \"./ArrayEnumerator\";\r\nimport {Exception} from \"./Exception\";\r\nimport {Encoding} from \"./Encoding\";\r\n\r\nexport class HashUtils {\r\n // Pay attention that in server there is the same function and it must\r\n // return the same hash value.\r\n static GetHashCode(str: string): number {\r\n let bytes: Uint8Array = null;\r\n\r\n bytes = Encoding.UTF8.GetBytes(str);\r\n\r\n return HashUtils.getHashCode(bytes);\r\n }\r\n\r\n private static getHashCode(byteArray: Uint8Array) {\r\n let hashval: number;\r\n\r\n let hash1: number = 5381;\r\n let hash2: number = hash1;\r\n let c: number;\r\n\r\n for (let i: number = 0; i < byteArray.length; i += 2) {\r\n c = byteArray[i];\r\n hash1 = ((hash1 << 5) + hash1) ^ c;\r\n if ((i + 1) === byteArray.length)\r\n break;\r\n c = byteArray[i + 1];\r\n hash2 = ((hash2 << 5) + hash2) ^ c;\r\n hash1 = hash1 & 0xffff;\r\n hash2 = hash2 & 0xffff;\r\n }\r\n\r\n let hash3: number = (hash2 * 13577);\r\n hashval = (hash1 + hash3);\r\n return (hashval);\r\n }\r\n}\r\n\r\nexport interface IHashCode {\r\n GetHashCode(): number;\r\n}\r\n\r\ntype BucketElement<TKey, TValue> = { key: TKey, value: TValue };\r\ntype Bucket<TKey, TValue> = [BucketElement<TKey, TValue>];\r\n\r\nconst HashTableLoadFactor = 0.75;\r\n\r\n// Hashtable implementation for key TKey and Value TValue\r\nexport class Hashtable<TKey extends (IHashCode | string | number), TValue> {\r\n\r\n private _buckets: Bucket<TKey, TValue>[] = []; // total no. of buckets\r\n private _elementsCount = 0; // total elements\r\n private _bucketCount: number = 0;\r\n private _loadFactor: number = 0;\r\n\r\n constructor(bucketCount: number = 8, loadFactor: number = HashTableLoadFactor) {\r\n this._bucketCount = bucketCount;\r\n this._loadFactor = loadFactor;\r\n\r\n if (this._bucketCount % 2 !== 0) {\r\n throw new Exception('Bucket count must be a positive number and be multiple of 2.');\r\n }\r\n }\r\n\r\n // Generic Hash funtion\r\n private HashFunction(key): number {\r\n if (typeof key.GetHashCode === 'function') {\r\n return key.GetHashCode();\r\n } else if (key.constructor === String) {\r\n return HashUtils.GetHashCode(key.toString());\r\n } else if (key.constructor === Number) {\r\n return +key;\r\n }\r\n return 0;\r\n }\r\n\r\n // returns elementCount\r\n get Count() {\r\n return this._elementsCount;\r\n }\r\n\r\n // returns ValueCollection (Array Enumerator)\r\n get Values(): Array_Enumerator<TValue> {\r\n let array: Array<TValue> = [];\r\n this._buckets.forEach(b => b.forEach(item => {\r\n array.push(item.value);\r\n }));\r\n return new Array_Enumerator(array);\r\n }\r\n\r\n // returns KeyCollection (Array Enumerator)\r\n get Keys(): Array_Enumerator<TKey> {\r\n let array: Array<TKey> = [];\r\n this._buckets.forEach(b => b.forEach(item => {\r\n array.push(item.key);\r\n }));\r\n return new Array_Enumerator(array);\r\n }\r\n\r\n // adds item to Hashtable\r\n Add(key: TKey, value: TValue): void {\r\n this.Insert(key, value, true);\r\n }\r\n\r\n // sets item in Hashtable\r\n set_Item(key: TKey, value: TValue) {\r\n this.Insert(key, value, false);\r\n }\r\n\r\n // Insert element in Hashtable\r\n private Insert(key: TKey, value: TValue, add: boolean): void {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n\r\n if (typeof this._buckets[bucketIndex] === \"undefined\") {\r\n this._buckets[bucketIndex] = <Bucket<TKey, TValue>><unknown>[];\r\n }\r\n\r\n if (this._buckets[bucketIndex].find(x => x.key === key)) {\r\n if (add) {\r\n throw new Exception('Item with provided key already exists!');\r\n } else {\r\n this.Remove(key);\r\n return;\r\n }\r\n }\r\n\r\n this._buckets[bucketIndex].push({key: key, value: value});\r\n\r\n this._elementsCount++;\r\n if (this._elementsCount > this._bucketCount * this._loadFactor) {\r\n this.Resize(this._bucketCount * 2);\r\n }\r\n }\r\n\r\n// Gets value for key TKey\r\n get_Item(key: TKey): TValue {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return null;\r\n }\r\n\r\n let item = bucket.find(x => x.key === key);\r\n if (item) {\r\n return item.value;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // Returns if key TKey is present in Hashtable\r\n ContainsKey(key: TKey): boolean {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return false;\r\n }\r\n\r\n let itemIndex = bucket.findIndex(x => x.key === key);\r\n return (itemIndex > -1);\r\n }\r\n\r\n // Removes item with key TKey from Hashtable\r\n Remove(key: TKey) {\r\n let bucketIndex = this.GetBucketIndex(key);\r\n let bucket = this._buckets[bucketIndex];\r\n if (!bucket) {\r\n return;\r\n }\r\n\r\n let itemIndex = bucket.findIndex(x => x.key === key);\r\n if (itemIndex > -1) {\r\n bucket.splice(itemIndex, 1);\r\n this._elementsCount--;\r\n if (this._elementsCount <= this._bucketCount * (1 - this._loadFactor)) {\r\n this.Resize(this._bucketCount / 2);\r\n }\r\n }\r\n }\r\n\r\n // Resize bucket (Hashtable)\r\n private Resize(newBucketCount: number) {\r\n let _oldBuckets = this._buckets;\r\n this._elementsCount = 0;\r\n this._buckets = [];\r\n this._bucketCount = newBucketCount;\r\n\r\n _oldBuckets.forEach(b => b.forEach(item => this.Add(item.key, item.value)));\r\n }\r\n\r\n// returns bucketIndex for key\r\n private GetBucketIndex(key: TKey) {\r\n let hash = this.HashFunction(key);\r\n if (hash % 1 !== 0) {\r\n throw new Exception('Key\\'s hash must be an integer!');\r\n }\r\n\r\n let index = Math.abs(hash) % this._bucketCount;\r\n\r\n if (index < 0 || index >= this._bucketCount) {\r\n throw new Exception('Index exceeds bucket boundaries');\r\n }\r\n\r\n return index;\r\n }\r\n\r\n// Clears Hashtable\r\n Clear(): void {\r\n this._elementsCount = 0;\r\n this._buckets = [];\r\n }\r\n}\r\n","export class Int32 {\r\n static MinValue: number = -2147483648;\r\n static MaxValue: number = 2147483647;\r\n}\r\n","export class Int64 {\r\n static MinValue: number = -9223372036854775808;\r\n}\r\n","import {Encoding} from \"./Encoding\";\r\n\r\nexport class ISO_8859_1_Encoding extends Encoding {\r\n\r\n static readonly ISO_8859_1: ISO_8859_1_Encoding = new ISO_8859_1_Encoding(\"iso_8859-1\");\r\n constructor(label: string) {\r\n super(label);\r\n }\r\n\r\n GetBytes(str: string): Uint8Array {\r\n\r\n if (str === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n let bytes: Uint8Array = null;\r\n\r\n bytes = new Uint8Array(str.length * 3);\r\n let bytesCount: number = 0;\r\n for (let i = 0; i < str.length; i++)\r\n {\r\n bytes[bytesCount++] = str[i].charCodeAt(0);\r\n }\r\n\r\n bytes = bytes.subarray(0, 0 + bytesCount);\r\n return bytes;\r\n }\r\n\r\n GetString(bytes: Uint8Array, index: number, count: number): string {\r\n let str: string = null;\r\n\r\n if (bytes === null)\r\n throw new Error(\"Argument is null\");\r\n\r\n if (index < 0 || count < 0 || (index + count) > bytes.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n bytes = bytes.subarray(index, index + count);\r\n\r\n try {\r\n\r\n str = '';\r\n for (let i = 0; i < bytes.length; i++)\r\n {\r\n str += String.fromCharCode(bytes[i]);\r\n };\r\n }\r\n catch (ex) {\r\n }\r\n\r\n return str;\r\n }\r\n}\r\n","import {Array_Enumerator} from \"./ArrayEnumerator\";\r\nimport {isUndefined} from \"./Utils\";\r\n\r\nexport class List<T> extends Array<T> {\r\n\r\n constructor(arrayEnumerator?: Array_Enumerator<T>) {\r\n super();\r\n Object.setPrototypeOf(this, List.prototype);\r\n\r\n if (arguments.length === 1 && arrayEnumerator.constructor === Array_Enumerator) {\r\n this.AddRange(arrayEnumerator);\r\n }\r\n }\r\n\r\n AddRange(arrayEnumerator: Array_Enumerator<T>)\r\n AddRange(array: Array<T>)\r\n AddRange(arrayEnumeratorOrArray: any) {\r\n if (arrayEnumeratorOrArray.constructor === Array) {\r\n arrayEnumeratorOrArray.forEach((item: T) => {\r\n this.push(item);\r\n });\r\n }\r\n else {\r\n let e = arrayEnumeratorOrArray;\r\n while (e.MoveNext()) {\r\n this.push(e.Current);\r\n }\r\n }\r\n }\r\n\r\n get_Item(index: number): T {\r\n if (isUndefined(this[index]))\r\n this[index] = null;\r\n return this[index];\r\n }\r\n\r\n set_Item(index: number, value: T): void {\r\n if (index >= 0 && index < this.length)\r\n this[index] = value;\r\n else\r\n throw new Error(\"index out of bounds\");\r\n }\r\n\r\n GetEnumerator(): Array_Enumerator<T> {\r\n return new Array_Enumerator<T>(this);\r\n }\r\n\r\n Remove(object: T): void {\r\n let index: number = this.indexOf(object);\r\n\r\n if (index > -1)\r\n this.RemoveAt(index);\r\n }\r\n\r\n RemoveAt(index: number): void {\r\n this.RemoveRange(index, 1);\r\n }\r\n\r\n RemoveRange(index: number, count: number): void {\r\n this.splice(index, count);\r\n }\r\n\r\n Insert(index: number, item: T): void {\r\n if (index >= 0 && index < this.length)\r\n this.splice(index, 0, item);\r\n else if (index === this.length) // inserting at end means append\r\n this.push(item);\r\n else\r\n throw new Error(\"index out of bounds\");\r\n }\r\n\r\n InsertRange(items: T[]): void {\r\n let idx: number = 0;\r\n while (idx < items.length) {\r\n this.Insert(idx, items[idx]);\r\n idx++;\r\n }\r\n }\r\n\r\n Clear(): void {\r\n this.splice(0, this.length);\r\n }\r\n\r\n ToArray(): T[] {\r\n return this.slice(0);\r\n }\r\n\r\n Contains(object: T): boolean {\r\n return this.indexOf(object) > -1;\r\n }\r\n\r\n find(predicate: (value: T, index: number, obj: T[]) => boolean): T {\r\n let foundItem = super.find(predicate);\r\n if (isUndefined(foundItem))\r\n foundItem = null;\r\n\r\n return foundItem;\r\n }\r\n\r\n /// <summary>\r\n /// add null cells up to 'size' cells.\r\n /// </summary>\r\n /// <param name=\"size\"></param>\r\n SetSize(size: number): void {\r\n if (this.length > size) {\r\n this.RemoveRange(size, this.length - size);\r\n }\r\n else\r\n this.length = size;\r\n }\r\n}\r\n","export const $EOF = 0;\r\nexport const $TAB = 9;\r\nexport const $LF = 10;\r\nexport const $VTAB = 11;\r\nexport const $FF = 12;\r\nexport const $CR = 13;\r\nexport const $SPACE = 32;\r\nexport const $BANG = 33;\r\nexport const $DQ = 34;\r\nexport const $HASH = 35;\r\nexport const $$ = 36;\r\nexport const $PERCENT = 37;\r\nexport const $AMPERSAND = 38;\r\nexport const $SQ = 39;\r\nexport const $LPAREN = 40;\r\nexport const $RPAREN = 41;\r\nexport const $STAR = 42;\r\nexport const $PLUS = 43;\r\nexport const $COMMA = 44;\r\nexport const $MINUS = 45;\r\nexport const $PERIOD = 46;\r\nexport const $SLASH = 47;\r\nexport const $COLON = 58;\r\nexport const $SEMICOLON = 59;\r\nexport const $LT = 60;\r\nexport const $EQ = 61;\r\nexport const $GT = 62;\r\nexport const $QUESTION = 63;\r\n\r\nexport const $0 = 48;\r\nexport const $9 = 57;\r\n\r\nexport const $A = 65;\r\nexport const $E = 69;\r\nexport const $F = 70;\r\nexport const $X = 88;\r\nexport const $Z = 90;\r\n\r\nexport const $LBRACKET = 91;\r\nexport const $BACKSLASH = 92;\r\nexport const $RBRACKET = 93;\r\nexport const $CARET = 94;\r\nexport const $_ = 95;\r\n\r\nexport const $a = 97;\r\nexport const $e = 101;\r\nexport const $f = 102;\r\nexport const $n = 110;\r\nexport const $r = 114;\r\nexport const $t = 116;\r\nexport const $u = 117;\r\nexport const $v = 118;\r\nexport const $x = 120;\r\nexport const $z = 122;\r\n\r\nexport const $LBRACE = 123;\r\nexport const $BAR = 124;\r\nexport const $RBRACE = 125;\r\nexport const $NBSP = 160;\r\n\r\nexport const $PIPE = 124;\r\nexport const $TILDA = 126;\r\nexport const $AT = 64;\r\n\r\nexport const $BT = 96;\r\n\r\nexport function isWhitespace(code: number): boolean {\r\n return (code >= $TAB && code <= $SPACE) || code === $NBSP;\r\n}\r\n\r\nexport function isDigit(code: number): boolean {\r\n return $0 <= code && code <= $9;\r\n}\r\n\r\nexport function isAsciiLetter(code: number): boolean {\r\n return (code >= $a && code <= $z) || (code >= $A && code <= $Z);\r\n}\r\n\r\nexport function isAsciiHexDigit(code: number): boolean {\r\n return (code >= $a && code <= $f) || (code >= $A && code <= $F) || isDigit(code);\r\n}\r\n\r\nexport function isLowerCase(str: string): boolean {\r\n return str === str.toLowerCase();\r\n}\r\nexport function isUpperCase(str: string): boolean {\r\n return str === str.toUpperCase();\r\n}\r\n","\r\n\r\nimport {isAsciiLetter, isDigit, isLowerCase, isUpperCase, isWhitespace} from \"./StringUtils\";\r\n\r\nexport class NChar {\r\n static IsWhiteSpace(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isWhitespace(ch);\r\n }\r\n\r\n static IsLetterOrDigit(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isDigit(ch) || isAsciiLetter(ch);\r\n }\r\n\r\n static IsDigit(str: string): boolean {\r\n let ch = str.charCodeAt(0);\r\n return isDigit(ch);\r\n }\r\n\r\n static IsLetter(ltr: string): boolean {\r\n return isAsciiLetter(ltr.charCodeAt(0));\r\n }\r\n\r\n static IsLower(ch: string): boolean {\r\n return isLowerCase(ch);\r\n }\r\n\r\n static IsUpper(ch: string): boolean {\r\n return isUpperCase(ch)\r\n }\r\n}\r\n","import {Exception} from \"./Exception\";\r\n\r\nexport class NotImplementedException extends Exception {\r\n constructor(message: string = \"Not implemented\") {\r\n super(message);\r\n }\r\n}\r\n","import {RefParam} from \"./RefParam\";\r\nimport {NotImplementedException} from \"./NotImplementedException\";\r\n\r\nexport enum NumberStyles {\r\n HexNumber\r\n}\r\n\r\nexport class NNumber {\r\n\r\n /// <summary>\r\n /// convert a string to number\r\n /// for blank string , it will return 0\r\n /// for incorrect format it will return NaN\r\n /// <summary>\r\n static Parse(text: string, style?: NumberStyles): number {\r\n if (arguments.length === 2) {\r\n if (style === NumberStyles.HexNumber)\r\n return parseInt(text, 16);\r\n else\r\n throw new NotImplementedException();\r\n }\r\n return +text; // use unary + operator to convert string to number.\r\n }\r\n\r\n\r\n /// <summary>\r\n /// convert a string to number\r\n /// return true if string is correctly parsed i.e pvalue.value is number\r\n /// for incorrect format it will return false\r\n /// <summary>\r\n static TryParse(str: string, pvalue: RefParam<number>): boolean {\r\n pvalue.value = +str;\r\n return !isNaN(pvalue.value);\r\n }\r\n\r\n /// <summary>\r\n /// convert a number to string with specified format\r\n /// <summary>\r\n static ToString(num: number, format: string): string {\r\n if (format === 'X2') {\r\n let res: string = num.toString(16);\r\n return res.length === 1 ? '0' + res : res;\r\n }\r\n throw new NotImplementedException();\r\n }\r\n}\r\n","\r\nimport {isNullOrUndefined} from \"./Utils\";\r\nimport {Exception} from \"./Exception\";\r\n\r\n\r\n// @dynamic\r\nexport class NString {\r\n static Empty = \"\";\r\n\r\n static IndexOf(str: string, searchStr: any, startIndex: number, count: number): number {\r\n let index: number = str.substr(startIndex, count).indexOf(searchStr);\r\n return index > -1 ? startIndex + index : index;\r\n }\r\n\r\n static IndexOfAny(str: string, subs: string[], startIndex: number, count: number): number {\r\n for (let i = 0; i < count; ++i) {\r\n let c = str.charAt(startIndex + i);\r\n for (let j = 0; j < subs.length; ++j) {\r\n if (c === subs[j])\r\n return (startIndex + i);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n static CopyTo(source: string, sourceIndex: number, destination: string[], destinationIndex: number, count: number) {\r\n for (let i = 0; i < count; i++) {\r\n destination[destinationIndex + i] = source[sourceIndex + i];\r\n }\r\n }\r\n\r\n static Compare(strA: string, strB: string, ignoreCase: boolean): number\r\n static Compare(strA: string, strB: string, ignoreCase: boolean, indexA: number, indexB: number, length: number): number\r\n static Compare(strA: string, strB: string, ignoreCase: boolean, indexA?: number, indexB?: number, length?: number): number {\r\n if (arguments.length = 6) {\r\n strA = strA.substr(indexA, length);\r\n strB = strB.substr(indexB, length);\r\n }\r\n if (ignoreCase) {\r\n strA = strA.toLowerCase();\r\n strB = strB.toLowerCase();\r\n }\r\n return strA.localeCompare(strB);\r\n }\r\n\r\n\r\n static Equals(strA: string, strB: string, ignoreCase: boolean): boolean {\r\n if (!NString.IsNullOrEmpty(strA) && !NString.IsNullOrEmpty(strB)) {\r\n if (ignoreCase) {\r\n strA = strA.toLowerCase();\r\n strB = strB.toLowerCase();\r\n }\r\n return strA === strB;\r\n }\r\n return false;\r\n }\r\n\r\n static GetHashCode(str: string): number {\r\n var hash = 0, i, l, ch;\r\n if (str.length === 0) return hash;\r\n for (i = 0, l = str.length; i < l; i++) {\r\n ch = str.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + ch;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash;\r\n }\r\n\r\n\r\n static Remove(str: string, startIndex: number, length: number): string {\r\n return str.substr(0, startIndex - 1) + str.substr(startIndex + length - 1);\r\n }\r\n\r\n static TrimStart(str: string): string {\r\n return str.replace(/^\\s\\s*/, '')\r\n }\r\n\r\n static TrimEnd(string: string, trimChars?: string[]): string {\r\n if (arguments.length === 1)\r\n return string.replace(/\\s\\s*$/, '');\r\n\r\n for (let j = 0; j < trimChars.length; j++) {\r\n let trimChar = trimChars[j];\r\n let i = string.length - 1;\r\n while (!isNullOrUndefined(string[i]) && string[i].endsWith(trimChar)) {\r\n string = NString.Remove(string, string.length, 1);\r\n i--;\r\n }\r\n }\r\n return string;\r\n }\r\n\r\n static Format(format: string, arg0: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any, arg5?: any): string {\r\n if (!isNullOrUndefined(arg0) && arg0.constructor === Array) {\r\n var s = format,\r\n i = arg0.length;\r\n while (i--) {\r\n s = s.replace(new RegExp('\\\\{' + i + '\\\\}', 'gm'), arg0[i]);\r\n }\r\n return s;\r\n }\r\n else {\r\n var args = [arg0, arg1, arg2, arg3, arg4, arg5];\r\n return NString.Format(format, args);\r\n }\r\n }\r\n\r\n static IsNullOrEmpty(str1: string | NString): boolean {\r\n return !str1;\r\n }\r\n\r\n static FromChars(chOrChars: string[])\r\n static FromChars(chOrChars: string[], startIndex: number, len: number)\r\n static FromChars(chOrChars: string[], startIndex?: number, len?: number) {\r\n let str: string = chOrChars.join('');\r\n if (arguments.length === 3)\r\n return str.substr(startIndex, len);\r\n return str;\r\n }\r\n\r\n static FromChar(ch: string, count): string {\r\n return (new Array<string>(count).fill(<string>ch)).join('');\r\n }\r\n\r\n static ToCharArray(str: string): string[] {\r\n return Array.from(str);\r\n }\r\n\r\n static CompareOrdinal(strA: string, strB: string): number {\r\n let lenA = strA.length;\r\n let lenB = strB.length;\r\n\r\n let len = Math.min(lenA, lenB);\r\n\r\n // compare character by character\r\n for (let i = 0; i < len; i++) {\r\n if (strA[i].charCodeAt(0) !== strB[i].charCodeAt(0)) {\r\n return strA[i].charCodeAt(0) - strB[i].charCodeAt(0);\r\n }\r\n }\r\n\r\n // if all characters are same , but length is different return the difference of length\r\n if (lenA !== lenB) {\r\n return lenA - lenB;\r\n }\r\n\r\n // all chars are same , so strings are equal\r\n return 0;\r\n }\r\n\r\n static PadRight(source: string, maxLength: number, fillString?: string): string {\r\n if (source.length >= maxLength)\r\n return source;\r\n\r\n let fillLen = maxLength - source.length;\r\n let timesToRepeat = Math.ceil(fillLen / fillString.length);\r\n let truncatedStringFiller = fillString.repeat(timesToRepeat).slice(0, fillLen);\r\n return source + truncatedStringFiller;\r\n }\r\n\r\n static Insert(str: string, index: number, ch: string): string {\r\n return str.substr(0, index) + ch + str.substr(index, str.length - index);\r\n }\r\n\r\n static Replace(str:string, orgSubStr: string, newSubStr: string): string {\r\n let resultStr:string = '';\r\n\r\n // fixed defect 151810: replace \"*\" with \"\\*\" before we update the string so * will be as char and not reg exp\r\n // also for special chars $ ^ . ? + , [\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\\\\\\", 'g'), \"\\\\\\\\\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\*\",'g'), \"\\\\\\*\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\$\",'g'), \"\\\\\\$\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\^\",'g'), \"\\\\\\^\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\.\",'g'), \"\\\\\\.\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\?\",'g'), \"\\\\\\?\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\+\",'g'), \"\\\\\\+\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\,\",'g'), \"\\\\\\,\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\[\",'g'), \"\\\\\\[\");\r\n orgSubStr = orgSubStr.replace(new RegExp(\"\\\\|\",'g'), \"\\\\\\|\");\r\n\r\n try {\r\n resultStr = str.replace(new RegExp(orgSubStr,'g'), newSubStr);\r\n }\r\n catch (e) {\r\n throw new Exception(e.message);\r\n }\r\n return resultStr;\r\n }\r\n}\r\n","export class NumberFormatInfo {\r\n public static readonly NegativeSign: string = '-';\r\n\r\n public static readonly NumberDecimalSeparator: string = NumberFormatInfo.GetLocaleDecimalSeperator();\r\n\r\n private static GetLocaleDecimalSeperator(): string {\r\n return (1.1).toLocaleString()[1]; // get the decimal seperator of current locale\r\n }\r\n}\r\n","export class RefParam<T> {\r\n value: T;\r\n\r\n constructor(value: T) {\r\n this.value = value;\r\n }\r\n}\r\n","export class Stack<TData> {\r\n\r\n private _array: Array<TData>;\r\n\r\n constructor() {\r\n this._array = new Array<TData>();\r\n }\r\n\r\n public count(): number {\r\n return this._array.length;\r\n }\r\n\r\n public isEmpty(): boolean {\r\n return this._array.length === 0;\r\n }\r\n\r\n public push(value: TData): void {\r\n this._array.push(value);\r\n }\r\n\r\n public pop(): TData {\r\n return this._array.pop();\r\n }\r\n\r\n public peek(): TData {\r\n if (this._array.length > 0) {\r\n return this._array[this._array.length - 1];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public Clear(): void {\r\n this._array.splice(0, this._array.length);\r\n }\r\n\r\n public Clone(): Stack<TData> {\r\n let clone: Stack<TData> = new Stack<TData>();\r\n clone._array = this._array.slice();\r\n return clone;\r\n }\r\n}\r\n","import * as StackTrace from 'stacktrace-js';\r\nimport JSStackFrame = StackTrace.StackFrame;\r\n\r\n// StackFrame uses StackTrace utility using stacktrace-js utility from npm\r\n// https://www.npmjs.com/package/stacktrace-js\r\nexport class StackFrame {\r\n private stackFrame: JSStackFrame = null;\r\n\r\n constructor(skipFrames: number) {\r\n\r\n let stackFrames: JSStackFrame[] = StackTrace.getSync();\r\n if (skipFrames < 0 || skipFrames >= stackFrames.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n this.stackFrame = stackFrames[skipFrames];\r\n }\r\n\r\n public GetFileName(): string {\r\n return this.stackFrame.fileName;\r\n }\r\n}\r\n","import * as JSStackTrace from 'stacktrace-js';\r\nimport JSStackFrame = JSStackTrace.StackFrame;\r\n\r\n// This uses StackTrace utility using stacktrace-js utility from npm. Use this in package.json\r\n// https://www.npmjs.com/package/stacktrace-js\r\nexport class StackTrace {\r\n GetFrames(): JSStackFrame[] {\r\n // Using getSync() method, it returns references of callstack ethod from the javascript files bindled and not typeScript file from sources.\r\n // However, if aSync method would have used, it overcomes above problems but the call to log would have been async and we would not have\r\n // received synchronous logs which would be confusing.\r\n return JSStackTrace.getSync();\r\n }\r\n}\r\n","import {Debug} from \"./Debug\";\r\nimport {NString} from \"./NString\";\r\n\r\n// StringBuilder class. Its Implementation currently uses string object. It could have been string[], but it has issues when inserting string.\r\n// It would not have served purpose while inserting a string. Other could be to use string[] with one chraracter per string. Even its utility\r\n// is doubtful as while manipulation, it would be creting new objects instead pointers. So for now we have used only string and see if we have\r\n// any performance issues.\r\nexport class StringBuilder {\r\n private part: string = \"\";\r\n\r\n // Ctor\r\n constructor(length?: number)\r\n constructor(value?: string, length?: number)\r\n constructor(valueOrLength?: any, length?: number) {\r\n if (arguments.length > 0) {\r\n if (valueOrLength != null && valueOrLength.constructor === Number) {\r\n // TODO: Very low priority performance improvement - Implement this.\r\n // Debug.Assert(false, \"StringBuilder: NotImplemented constructor with initial length/capacity\");\r\n // throw new Error(\"NotImplemented constructor with initial length/capacity\");\r\n }\r\n else if (valueOrLength != null && valueOrLength.constructor === String) {\r\n this.part = valueOrLength.toString();\r\n // TODO: Very low priority performance improvement - Implement this.\r\n // if (arguments.length === 2)\r\n // Debug.Assert(false, \"NotImplemented constructor with initial length/capacity\");\r\n }\r\n }\r\n }\r\n\r\n // Appends string/number\r\n Append(num: number, numberOfCharacters?: number): StringBuilder;\r\n Append(text: string): StringBuilder;\r\n Append(text: string, numberOfCharacters: number): StringBuilder;\r\n Append(text: string, startIndex: number, charCount: number): StringBuilder;\r\n Append(textOrNum: any, startIndexOrNumberOfCharacters?: number, charCount?: number): StringBuilder {\r\n\r\n if (textOrNum === null)\r\n return this;\r\n\r\n if (textOrNum.constructor === String) {\r\n if (arguments.length === 1)\r\n this.AppendString(textOrNum.toString());\r\n else if (arguments.length === 2) {\r\n Debug.Assert(textOrNum.length === 1, \"character is expected not string\");\r\n this.AppendString(textOrNum.charAt(0).repeat(startIndexOrNumberOfCharacters));\r\n }\r\n else\r\n this.AppendString(textOrNum.toString(), startIndexOrNumberOfCharacters, charCount);\r\n }\r\n else\r\n this.AppendNumber(textOrNum, startIndexOrNumberOfCharacters);\r\n\r\n return this;\r\n }\r\n\r\n // Append string\r\n private AppendString(text: string, startIndex: number = 0, charCount: number = text.length): void {\r\n this.part = this.part + text.substr(startIndex, charCount);\r\n }\r\n\r\n // Append Number\r\n private AppendNumber(num: number, numberOfCharacters: number = 1): void {\r\n if (numberOfCharacters <= 0)\r\n throw new Error(\"numberOfCharacters cannot be less than or equal to zero\");\r\n\r\n this.part = this.part + num.toString().repeat(numberOfCharacters);\r\n }\r\n\r\n // Append Line\r\n AppendLine(text: string = null): void {\r\n if (text !== null)\r\n this.part = this.part + text;\r\n this.part = this.part + '\\n';\r\n }\r\n\r\n // Append Formatted string\r\n AppendFormat(format: string, arg0: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1: any, arg2: any): StringBuilder\r\n AppendFormat(format: string, arg0: any, arg1?: any, arg2?: any): StringBuilder {\r\n this.part = this.part + NString.Format(format, arg0, arg1, arg2);\r\n return this;\r\n }\r\n\r\n // Convert to string\r\n ToString(): string;\r\n ToString(startIndex: number, length: number): string;\r\n ToString(startIndex ?: number, length ?: number): string {\r\n if (arguments.length === 2) {\r\n if (startIndex < 0 || length < 0 || (startIndex + length) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n return this.part.substr(startIndex, length);\r\n }\r\n return this.part;\r\n }\r\n\r\n get Length(): number {\r\n return this.part.length;\r\n }\r\n\r\n get_Item(index: number): string {\r\n if (index < 0 || index >= this.part.length)\r\n throw new Error(\"Index out of range\");\r\n\r\n return this.part.charAt(index);\r\n }\r\n\r\n set_Item(index: number, value: string) {\r\n if (index < 0 || index >= this.part.length)\r\n throw new Error(\"Index out of range\");\r\n\r\n Debug.Assert(value.length <= 1, \"Length of string cannot be more than 1. Only character is expected\");\r\n let leftPart: string = this.part.substring(0, index);\r\n let rightPart: string = this.part.substring(index + 1, this.part.length);\r\n this.part = leftPart + value.charAt(0) + rightPart;\r\n }\r\n\r\n Insert(index: number, value: string): StringBuilder {\r\n if (index < 0 || index > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n let leftPart: string = this.part.substring(0, index);\r\n let rightPart: string = this.part.substring(index, this.part.length);\r\n this.part = leftPart + value + rightPart;\r\n\r\n return this;\r\n }\r\n\r\n Remove(startIndex: number, length: number): StringBuilder {\r\n if (startIndex < 0 || length < 0 || (startIndex + length) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n\r\n let leftPart: string = this.part.substring(0, startIndex);\r\n let rightPart: string = this.part.substring(startIndex + length, this.part.length);\r\n this.part = leftPart + rightPart;\r\n\r\n return this;\r\n }\r\n\r\n Replace(oldValue: string, newValue: string): StringBuilder;\r\n Replace(oldValue: string, newValue: string, startIndex: number, count: number): StringBuilder;\r\n Replace(oldValue: string, newValue: string, startIndex?: number, count?: number): StringBuilder {\r\n if (oldValue === null)\r\n throw new Error(\"oldValue cannot be null\");\r\n else if (oldValue.length === 0)\r\n throw new Error(\"Length of oldValue cannot be 0\");\r\n\r\n if (arguments.length === 4) {\r\n if (startIndex < 0 || count < 0 || (startIndex + count) > this.part.length)\r\n throw new Error(\"Argument out of range\");\r\n }\r\n\r\n if (arguments.length === 2)\r\n this.part = this.part.replace(new RegExp(oldValue, 'g'), newValue);\r\n else if (arguments.length === 4) {\r\n let substr: string = this.part.substring(startIndex, startIndex + count);\r\n substr = substr.replace(new RegExp(oldValue, 'g'), newValue);\r\n\r\n let leftPart: string = this.part.substring(0, startIndex);\r\n let rightPart: string = this.part.substring(startIndex + count, this.part.length);\r\n this.part = leftPart + substr + rightPart;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n // return the string\r\n toString(): string {\r\n return this.ToString();\r\n }\r\n}\r\n","import {interval} from 'rxjs';\r\n\r\nexport class Thread {\r\n private static nextId: number = 1;\r\n static CurrentThread: Thread = new Thread();\r\n ManagedThreadId: number = 0;\r\n\r\n constructor() {\r\n this.ManagedThreadId = Thread.nextId++;\r\n }\r\n\r\n /// <summary>\r\n /// Free the thread so it will be able to do other work, like gui events\r\n /// </summary>\r\n /// <param name = \"millisecondsTimeout\"> timeout in milliseconds</param>\r\n\r\n public static async Sleep(millisecondsTimeout: number): Promise<void>\r\n {\r\n await new Promise<void>((resolve) => {\r\n let timer = interval(millisecondsTimeout);\r\n let subscription = timer.subscribe( () => {subscription.unsubscribe(); resolve();});\r\n }).then();\r\n }\r\n}\r\n","import {Exception} from \"./Exception\";\r\n\r\nexport class WebException extends Exception {\r\n constructor(error: Error) {\r\n super();\r\n this.name = \"WebException\";\r\n this.stack = error.stack;\r\n this.message = error.message;\r\n }\r\n}\r\n","import {NotImplementedException} from \"./NotImplementedException\";\r\n\r\nexport class XmlConvert {\r\n // TODO : Implement\r\n static EncodeName(name: string): string {\r\n throw new NotImplementedException();\r\n }\r\n}\r\n"],"names":["StackTrace","JSStackTrace"],"mappings":";;;;;AAAM,SAAU,iBAAiB,CAAC,MAAW,EAAA;AAC3C,IAAA,OAAO,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC;AAC/C,CAAC;AACK,SAAU,WAAW,CAAC,MAAW,EAAA;IACrC,OAAO,MAAM,IAAI,SAAS,CAAC;AAC7B;;MCCa,SAAS,CAAA;AAepB,IAAA,WAAA,CAAY,cAA8B,EAAA;QAb1C,IAAI,CAAA,IAAA,GAAW,WAAW,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;QACrB,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QAGnB,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;AASb,QAAA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE;YACtC,IAAI,cAAc,YAAY,KAAK,EAAE;AACnC,gBAAA,IAAI,CAAC,KAAK,GAAW,cAAe,CAAC,KAAK,CAAC;AAC3C,gBAAA,IAAI,CAAC,OAAO,GAAW,cAAe,CAAC,OAAO,CAAC;AAChD,aAAA;AACI,iBAAA;AACH,gBAAA,IAAI,CAAC,OAAO,GAAW,cAAc,CAAC;gBACtC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;AAChC,aAAA;AACF,SAAA;KACF;AAKD,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAKD,IAAA,IAAI,UAAU,GAAA;AAEZ,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAA,EAAI,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAGrF,QAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7G,OAAO,IAAI,GAAG,UAAU,CAAC;KAC1B;IAKM,OAAO,GAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;AACF;;AC1DK,MAAO,oBAAqB,SAAQ,SAAS,CAAA;IAIjD,WAAY,CAAA,OAAA,GAAkB,EAAE,EAAE,cAA0B,EAAA;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,IAAc,CAAA,cAAA,GAAc,IAAI,CAAC;AAI/B,QAAA,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;AACnC,QAAA,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,cAAc,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;KACrB;AACF;;MCRY,gBAAgB,CAAA;AAI3B,IAAA,WAAA,CAAY,KAAU,EAAA;QAFd,IAAK,CAAA,KAAA,GAAW,CAAC,CAAC,CAAC;AAGzB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KACvC;AAED,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,OAAO,GAAA;KACN;AACF;;MCpBY,QAAQ,CAAA;AAQnB,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KAC1B;AAED,IAAA,WAAA,CAAY,MAAc,EAAA;QAVlB,IAAK,CAAA,KAAA,GAAmB,IAAI,CAAC;AAWnC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5C;AAMM,IAAA,GAAG,CAAC,KAAa,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC1B;IAMM,GAAG,CAAC,KAAa,EAAE,KAAc,EAAA;AACtC,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;KAC3B;AAGF;;MCrCY,IAAI,CAAA;;AACR,IAAQ,CAAA,QAAA,GAAW,IAAI,CAAC;AACxB,IAAA,CAAA,QAAQ,GAAW,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;;MCF1C,WAAW,CAAA;;AACf,WAAA,CAAA,gBAAgB,GAAgB,IAAI,WAAW,EAAE;;ICC9C,aAGX;AAHD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,YAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACL,IAAA,YAAA,CAAA,YAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACL,CAAC,EAHW,YAAY,KAAZ,YAAY,GAGvB,EAAA,CAAA,CAAA,CAAA;MAGY,QAAQ,CAAA;AAUnB,IAAA,IAAI,KAAK,GAAA;AAGP,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAAC,CAAC;KACvH;AAED,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;KAC1F;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KAC5F;AAED,IAAA,IAAI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;KAClF;AAED,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;KACpF;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;KACxF;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;KACxF;AAED,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;KAClG;IAMD,WAAY,CAAA,UAAe,EAAE,KAAc,EAAE,GAAY,EAAE,IAAa,EAAE,MAAe,EAAE,MAAe,EAAA;QA/ClG,IAAE,CAAA,EAAA,GAAS,IAAI,CAAC;QAChB,IAAI,CAAA,IAAA,GAAiB,IAAI,CAAC;QAGjB,IAAU,CAAA,UAAA,GAAG,kBAAkB,CAAC;QAGhC,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAyC3C,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,IAAI,CAAC,EAAE,GAAS,UAAU,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAS,UAAU,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,SAAA;AACD,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAS,UAAU,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9E,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;KAChC;AAKD,IAAA,MAAM,CAAC,YAAoB,EAAA;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KAC7C;AAED,IAAA,WAAW,MAAM,GAAA;QACf,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACjC,QAAA,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC;AAC1B,QAAA,OAAO,CAAC,CAAC;KACV;AAED,IAAA,WAAW,GAAG,GAAA;QACZ,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACjC,QAAA,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACV;AAED,IAAA,OAAO,2BAA2B,CAAC,OAAgB,EAAE,IAAU,EAAA;AAC7D,QAAA,IAAI,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACxD,QAAA,IAAI,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5D,QAAA,IAAI,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE5D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;KACpC;AAED,IAAA,OAAO,gCAAgC,CAAC,OAAgB,EAAE,IAAU,EAAA;AAClE,QAAA,IAAI,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACxD,QAAA,IAAI,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5D,QAAA,IAAI,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5D,QAAA,IAAI,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACjE,QAAA,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,GAAI,EAAE,CAAC;KACnD;AACF;;MCvGY,KAAK,CAAA;IAChB,OAAO,SAAS,CAAC,IAAY,EAAA;AAC3B,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACnB;AAED,IAAA,OAAO,MAAM,CAAC,cAAuB,EAAE,OAAgB,EAAA;AACrD,QAAA,IAAI,CAAC,cAAc;YACjB,KAAK,CAAC,OAAO,CAAC,CAAC;KAClB;AACF;;MCNY,UAAU,CAAA;AAAvB,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,MAAM,GAAa,IAAI,KAAK,EAAE,CAAC;KA0CxC;AAxCC,IAAA,QAAQ,CAAC,GAAW,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;AACjC,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;AAExB,YAAA,OAAO,IAAI,CAAC;KACf;IAED,QAAQ,CAAC,GAAW,EAAE,KAAQ,EAAA;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;KAC1B;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;AACjC,YAAA,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;;AAExE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;KAC5B;AAED,IAAA,WAAW,CAAC,GAAW,EAAA;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;KACxC;IAED,WAAW,CAAC,GAAW,EAAE,MAAmB,EAAA;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YACnC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACI,aAAA;AACH,YAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;AACpB,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;AAED,IAAA,MAAM,CAAC,GAAW,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACzB;AAED,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACjC;AACF;;MC5CY,QAAQ,CAAA;AASlB,IAAA,WAAA,CAAoB,KAAa,EAAA;QAAb,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QAFjB,IAAW,CAAA,WAAA,GAAgB,IAAI,CAAC;QAChC,IAAW,CAAA,WAAA,GAAgB,IAAI,CAAC;AAE/C,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,EAAC,+BAA+B,EAAE,IAAI,EAAC,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,EAAC,+BAA+B,EAAE,IAAI,EAAC,CAAC,CAAC;KACpF;AAED,IAAA,QAAQ,CAAC,GAAW,EAAA;QAElB,IAAI,GAAG,KAAK,IAAI;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEtC,IAAI,KAAK,GAAe,IAAI,CAAC;QAE7B,IAAI;YACF,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACtC,SAAA;AACD,QAAA,OAAO,EAAE,EAAE;YAMT,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,UAAU,GAAW,CAAC,CAAC;AAC3B,YAAA,IAAI,QAAoB,CAAC;AAEzB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EACnC;gBACE,IAAI;AACF,oBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,oBAAA,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAChC,oBAAA,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC;AAC/B,iBAAA;AACD,gBAAA,OAAO,EAAE,EAAE;oBACT,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACzC,iBAAA;AACF,aAAA;YAED,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3C,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,YAAY,CAAC,GAAW,EAAA;QAEtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;KAClC;AAED,IAAA,SAAS,CAAC,KAAiB,EAAE,KAAa,EAAE,KAAa,EAAA;QACvD,IAAI,GAAG,GAAW,IAAI,CAAC;QAEvB,IAAI,KAAK,KAAK,IAAI;AAChB,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAEtC,QAAA,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM;AAC1D,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAE3C,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;QAE7C,IAAI;YACF,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtC,SAAA;AACD,QAAA,OAAO,EAAE,EAAE;AACV,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,WAAW,CAAC,QAAgB,EAAA;QACjC,IAAI,KAAK,GAAW,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAE7D,IAAI,KAAK,IAAI,IAAI;AACf,YAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAErC,QAAA,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC7B;AACM,IAAA,OAAO,6BAA6B,GAAA;AAE1C,QAAA,IAAI,SAAS,GAAG,IAAI,MAAM,CAAC;AAG3B,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;AAC/B,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC;AAClC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACjC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;AAC/B,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC;AACpC,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACxB,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACjC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;AAC5B,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC1B,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAChC,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC1B,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC1B,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACzB,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACjC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACjC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACjC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAChC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAChC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAChC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAChC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAChC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAChC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAChC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAChC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;AAC5B,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;AAC7B,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;AAC7B,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAC5B,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;AAChC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;AAC3B,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;AAC3B,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACjC,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACjC,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACjC,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACjC,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACjC,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACjC,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACjC,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACjC,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACjC,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;AAC/B,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;AAC9B,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;AAE3B,QAAA,OAAO,SAAS,CAAC;KAClB;IAGM,QAAQ,GAAA;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;;AA3Ie,QAAA,CAAA,KAAK,GAAa,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxC,QAAA,CAAA,IAAI,GAAa,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvC,QAAA,CAAA,OAAO,GAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE7C,QAAA,CAAA,qBAAqB,GAAG,QAAQ,CAAC,6BAA6B,EAAE;;MCDrE,SAAS,CAAA;IAGpB,OAAO,WAAW,CAAC,GAAW,EAAA;QAC5B,IAAI,KAAK,GAAe,IAAI,CAAC;QAE7B,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAEpC,QAAA,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACrC;IAEO,OAAO,WAAW,CAAC,SAAqB,EAAA;AAC9C,QAAA,IAAI,OAAe,CAAC;QAEpB,IAAI,KAAK,GAAW,IAAI,CAAC;QACzB,IAAI,KAAK,GAAW,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAS,CAAC;AAEd,QAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACpD,YAAA,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACjB,YAAA,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM;gBAC9B,MAAM;AACR,YAAA,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACrB,YAAA,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnC,YAAA,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AACvB,YAAA,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AACxB,SAAA;AAED,QAAA,IAAI,KAAK,IAAY,KAAK,GAAG,KAAK,CAAC,CAAC;AACpC,QAAA,OAAO,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC;QAC1B,QAAQ,OAAO,EAAE;KAClB;AACF,CAAA;AASD,MAAM,mBAAmB,GAAG,IAAI,CAAC;MAGpB,SAAS,CAAA;AAOpB,IAAA,WAAA,CAAY,WAAsB,GAAA,CAAC,EAAE,UAAA,GAAqB,mBAAmB,EAAA;QALrE,IAAQ,CAAA,QAAA,GAA2B,EAAE,CAAC;QACtC,IAAc,CAAA,cAAA,GAAG,CAAC,CAAC;QACnB,IAAY,CAAA,YAAA,GAAW,CAAC,CAAC;QACzB,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;AAG9B,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAE9B,QAAA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,EAAE;AAC/B,YAAA,MAAM,IAAI,SAAS,CAAC,8DAA8D,CAAC,CAAC;AACrF,SAAA;KACF;AAGO,IAAA,YAAY,CAAC,GAAG,EAAA;AACtB,QAAA,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU,EAAE;AACzC,YAAA,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC1B,SAAA;AAAM,aAAA,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE;YACnC,OAAO,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChD,SAAA;AAAM,aAAA,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC;AACb,SAAA;AACD,QAAA,OAAO,CAAC,CAAC;KACV;AAGD,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;AAGD,IAAA,IAAI,MAAM,GAAA;QACR,IAAI,KAAK,GAAkB,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;AAC1C,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB,CAAC,CAAC,CAAC;AACJ,QAAA,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;KACpC;AAGD,IAAA,IAAI,IAAI,GAAA;QACN,IAAI,KAAK,GAAgB,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;AAC1C,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtB,CAAC,CAAC,CAAC;AACJ,QAAA,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;KACpC;IAGD,GAAG,CAAC,GAAS,EAAE,KAAa,EAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAC/B;IAGD,QAAQ,CAAC,GAAS,EAAE,KAAa,EAAA;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;KAChC;AAGO,IAAA,MAAM,CAAC,GAAS,EAAE,KAAa,EAAE,GAAY,EAAA;QACnD,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,WAAW,EAAE;AACrD,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAkC,EAAE,CAAC;AAChE,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;AACvD,YAAA,IAAI,GAAG,EAAE;AACP,gBAAA,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;AAC/D,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO;AACR,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;YAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AACpC,SAAA;KACF;AAGD,IAAA,QAAQ,CAAC,GAAS,EAAA;QAChB,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAC3C,QAAA,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC,KAAK,CAAC;AACnB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAGD,IAAA,WAAW,CAAC,GAAS,EAAA;QACnB,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAED,QAAA,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACrD,QAAA,QAAQ,SAAS,GAAG,CAAC,CAAC,EAAE;KACzB;AAGD,IAAA,MAAM,CAAC,GAAS,EAAA;QACd,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;AACR,SAAA;AAED,QAAA,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACrD,QAAA,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;AAClB,YAAA,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,YAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;gBACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AACpC,aAAA;AACF,SAAA;KACF;AAGO,IAAA,MAAM,CAAC,cAAsB,EAAA;AACnC,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;AAEnC,QAAA,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC7E;AAGO,IAAA,cAAc,CAAC,GAAS,EAAA;QAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAClC,QAAA,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE;AAClB,YAAA,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;AACxD,SAAA;AAED,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAE/C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;AAC3C,YAAA,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;AACxD,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACF;;MCtNY,KAAK,CAAA;;AACT,KAAQ,CAAA,QAAA,GAAW,CAAC,UAAU,CAAC;AAC/B,KAAQ,CAAA,QAAA,GAAW,UAAU;;MCFzB,KAAK,CAAA;;AACT,KAAQ,CAAA,QAAA,GAAW,CAAC,mBAAmB;;ACC1C,MAAO,mBAAoB,SAAQ,QAAQ,CAAA;AAG/C,IAAA,WAAA,CAAY,KAAa,EAAA;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;KACZ;AAED,IAAA,QAAQ,CAAC,GAAW,EAAA;QAElB,IAAI,GAAG,KAAK,IAAI;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEtC,IAAI,KAAK,GAAe,IAAI,CAAC;QAE7B,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,UAAU,GAAW,CAAC,CAAC;AAC3B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EACnC;AACE,YAAA,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC5C,SAAA;QAED,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;AAC1C,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,SAAS,CAAC,KAAiB,EAAE,KAAa,EAAE,KAAa,EAAA;QACvD,IAAI,GAAG,GAAW,IAAI,CAAC;QAEvB,IAAI,KAAK,KAAK,IAAI;AAChB,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAEtC,QAAA,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM;AAC1D,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAE3C,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;QAE7C,IAAI;YAEF,GAAG,GAAG,EAAE,CAAC;AACT,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EACrC;gBACE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,aAAA;YAAA,CAAC;AACH,SAAA;AACD,QAAA,OAAO,EAAE,EAAE;AACV,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACZ;;AA9Ce,mBAAA,CAAA,UAAU,GAAwB,IAAI,mBAAmB,CAAC,YAAY,CAAC;;ACDnF,MAAO,IAAS,SAAQ,KAAQ,CAAA;AAEpC,IAAA,WAAA,CAAY,eAAqC,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,WAAW,KAAK,gBAAgB,EAAE;AAC9E,YAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAChC,SAAA;KACF;AAID,IAAA,QAAQ,CAAC,sBAA2B,EAAA;AAClC,QAAA,IAAI,sBAAsB,CAAC,WAAW,KAAK,KAAK,EAAE;AAChD,YAAA,sBAAsB,CAAC,OAAO,CAAC,CAAC,IAAO,KAAI;AACzC,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClB,aAAC,CAAC,CAAC;AACJ,SAAA;AACI,aAAA;YACH,IAAI,CAAC,GAAG,sBAAsB,CAAC;AAC/B,YAAA,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;AACnB,gBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,aAAA;AACF,SAAA;KACF;AAED,IAAA,QAAQ,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACrB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,QAAQ,CAAC,KAAa,EAAE,KAAQ,EAAA;QAC9B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM;AACnC,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;;AAEpB,YAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KAC1C;IAED,aAAa,GAAA;AACX,QAAA,OAAO,IAAI,gBAAgB,CAAI,IAAI,CAAC,CAAC;KACtC;AAED,IAAA,MAAM,CAAC,MAAS,EAAA;QACd,IAAI,KAAK,GAAW,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,KAAK,GAAG,CAAC,CAAC;AACZ,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACxB;AAED,IAAA,QAAQ,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAC5B;IAED,WAAW,CAAC,KAAa,EAAE,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC3B;IAED,MAAM,CAAC,KAAa,EAAE,IAAO,EAAA;QAC3B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACzB,aAAA,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAEhB,YAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KAC1C;AAED,IAAA,WAAW,CAAC,KAAU,EAAA;QACpB,IAAI,GAAG,GAAW,CAAC,CAAC;AACpB,QAAA,OAAO,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7B,YAAA,GAAG,EAAE,CAAC;AACP,SAAA;KACF;IAED,KAAK,GAAA;QACH,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;KAC7B;IAED,OAAO,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtB;AAED,IAAA,QAAQ,CAAC,MAAS,EAAA;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KAClC;AAED,IAAA,IAAI,CAAC,SAAyD,EAAA;QAC5D,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,WAAW,CAAC,SAAS,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;AAEnB,QAAA,OAAO,SAAS,CAAC;KAClB;AAMD,IAAA,OAAO,CAAC,IAAY,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAC5C,SAAA;;AAEC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACtB;AACF;;AC9GM,MAAM,IAAI,GAAG,EAAE;AACf,MAAM,IAAI,GAAG,EAAE;AACf,MAAM,GAAG,GAAG,GAAG;AACf,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,GAAG,GAAG,GAAG;AACf,MAAM,GAAG,GAAG,GAAG;AACf,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,GAAG,GAAG,GAAG;AACf,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,EAAE,GAAG,GAAG;AACd,MAAM,QAAQ,GAAG,GAAG;AACpB,MAAM,UAAU,GAAG,GAAG;AACtB,MAAM,GAAG,GAAG,GAAG;AACf,MAAM,OAAO,GAAG,GAAG;AACnB,MAAM,OAAO,GAAG,GAAG;AACnB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,OAAO,GAAG,GAAG;AACnB,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,UAAU,GAAG,GAAG;AACtB,MAAM,GAAG,GAAG,GAAG;AACf,MAAM,GAAG,GAAG,GAAG;AACf,MAAM,GAAG,GAAG,GAAG;AACf,MAAM,SAAS,GAAG,GAAG;AAErB,MAAM,EAAE,GAAG,GAAG;AACd,MAAM,EAAE,GAAG,GAAG;AAEd,MAAM,EAAE,GAAG,GAAG;AACd,MAAM,EAAE,GAAG,GAAG;AACd,MAAM,EAAE,GAAG,GAAG;AACd,MAAM,EAAE,GAAG,GAAG;AACd,MAAM,EAAE,GAAG,GAAG;AAEd,MAAM,SAAS,GAAG,GAAG;AACrB,MAAM,UAAU,GAAG,GAAG;AACtB,MAAM,SAAS,GAAG,GAAG;AACrB,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,EAAE,GAAG,GAAG;AAEd,MAAM,EAAE,GAAG,GAAG;AACd,MAAM,EAAE,GAAG,IAAI;AACf,MAAM,EAAE,GAAG,IAAI;AACf,MAAM,EAAE,GAAG,IAAI;AACf,MAAM,EAAE,GAAG,IAAI;AACf,MAAM,EAAE,GAAG,IAAI;AACf,MAAM,EAAE,GAAG,IAAI;AACf,MAAM,EAAE,GAAG,IAAI;AACf,MAAM,EAAE,GAAG,IAAI;AACf,MAAM,EAAE,GAAG,IAAI;AAEf,MAAM,OAAO,GAAG,IAAI;AACpB,MAAM,IAAI,GAAG,IAAI;AACjB,MAAM,OAAO,GAAG,IAAI;AACpB,MAAM,KAAK,GAAG,IAAI;AAElB,MAAM,KAAK,GAAG,IAAI;AAClB,MAAM,MAAM,GAAG,IAAI;AACnB,MAAM,GAAG,GAAG,GAAG;AAEf,MAAM,GAAG,GAAG,GAAG;AAEhB,SAAU,YAAY,CAAC,IAAY,EAAA;AACvC,IAAA,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,KAAK,IAAI,KAAK,KAAK,CAAC;AAC5D,CAAC;AAEK,SAAU,OAAO,CAAC,IAAY,EAAA;AAClC,IAAA,OAAO,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;AAClC,CAAC;AAEK,SAAU,aAAa,CAAC,IAAY,EAAA;AACxC,IAAA,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC;AAEK,SAAU,eAAe,CAAC,IAAY,EAAA;IAC1C,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC;AAEK,SAAU,WAAW,CAAC,GAAW,EAAA;AACrC,IAAA,OAAO,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AACK,SAAU,WAAW,CAAC,GAAW,EAAA;AACrC,IAAA,OAAO,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;AACnC;;MCnFa,KAAK,CAAA;IAChB,OAAO,YAAY,CAAC,GAAW,EAAA;QAC7B,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3B,QAAA,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;KACzB;IAED,OAAO,eAAe,CAAC,GAAW,EAAA;QAChC,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;KACzC;IAED,OAAO,OAAO,CAAC,GAAW,EAAA;QACxB,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3B,QAAA,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;KACpB;IAED,OAAO,QAAQ,CAAC,GAAW,EAAA;QACzB,OAAO,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IAED,OAAO,OAAO,CAAC,EAAU,EAAA;AACvB,QAAA,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;KACxB;IAED,OAAO,OAAO,CAAC,EAAU,EAAA;AACvB,QAAA,OAAO,WAAW,CAAC,EAAE,CAAC,CAAA;KACvB;AACF;;AC7BK,MAAO,uBAAwB,SAAQ,SAAS,CAAA;AACpD,IAAA,WAAA,CAAY,UAAkB,iBAAiB,EAAA;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;KAChB;AACF;;ICHW,aAEX;AAFD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,YAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;AACX,CAAC,EAFW,YAAY,KAAZ,YAAY,GAEvB,EAAA,CAAA,CAAA,CAAA;MAEY,OAAO,CAAA;AAOlB,IAAA,OAAO,KAAK,CAAC,IAAY,EAAE,KAAoB,EAAA;AAC7C,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,IAAI,KAAK,KAAK,YAAY,CAAC,SAAS;AAClC,gBAAA,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;gBAE1B,MAAM,IAAI,uBAAuB,EAAE,CAAC;AACvC,SAAA;QACD,OAAO,CAAC,IAAI,CAAC;KACd;AAQD,IAAA,OAAO,QAAQ,CAAC,GAAW,EAAE,MAAwB,EAAA;AACnD,QAAA,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;AACpB,QAAA,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC7B;AAKD,IAAA,OAAO,QAAQ,CAAC,GAAW,EAAE,MAAc,EAAA;QACzC,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,IAAI,GAAG,GAAW,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnC,YAAA,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC3C,SAAA;QACD,MAAM,IAAI,uBAAuB,EAAE,CAAC;KACrC;AACF;;MCvCY,OAAO,CAAA;IAGhB,OAAO,OAAO,CAAC,GAAW,EAAE,SAAc,EAAE,UAAkB,EAAE,KAAa,EAAA;AACzE,QAAA,IAAI,KAAK,GAAW,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrE,QAAA,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;KAClD;IAED,OAAO,UAAU,CAAC,GAAW,EAAE,IAAc,EAAE,UAAkB,EAAE,KAAa,EAAA;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE;YAC5B,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;AACnC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AACb,oBAAA,QAAQ,UAAU,GAAG,CAAC,EAAE;AAC/B,aAAA;AACJ,SAAA;QACD,OAAO,CAAC,CAAC,CAAC;KACb;IAED,OAAO,MAAM,CAAC,MAAc,EAAE,WAAmB,EAAE,WAAqB,EAAE,gBAAwB,EAAE,KAAa,EAAA;QAC7G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC5B,YAAA,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;AAC/D,SAAA;KACJ;AAID,IAAA,OAAO,OAAO,CAAC,IAAY,EAAE,IAAY,EAAE,UAAmB,EAAE,MAAe,EAAE,MAAe,EAAE,MAAe,EAAA;AAC7G,QAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtC,SAAA;AACD,QAAA,IAAI,UAAU,EAAE;AACZ,YAAA,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC1B,YAAA,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC7B,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KACnC;AAGH,IAAA,OAAO,MAAM,CAAC,IAAY,EAAE,IAAY,EAAE,UAAmB,EAAA;AAC3D,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;AAChE,YAAA,IAAI,UAAU,EAAE;AACd,gBAAA,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC1B,gBAAA,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3B,aAAA;YACD,OAAO,IAAI,KAAK,IAAI,CAAC;AACtB,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAEC,OAAO,WAAW,CAAC,GAAW,EAAA;QAC1B,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACvB,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC;AAClC,QAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACpC,YAAA,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,YAAA,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,CAAC;AACb,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAGD,IAAA,OAAO,MAAM,CAAC,GAAW,EAAE,UAAkB,EAAE,MAAc,EAAA;QACzD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;KAC9E;IAED,OAAO,SAAS,CAAC,GAAW,EAAA;QACxB,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;KACnC;AAED,IAAA,OAAO,OAAO,CAAC,MAAc,EAAE,SAAoB,EAAA;AAC/C,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAExC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,YAAA,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5B,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1B,YAAA,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAClE,gBAAA,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAClD,gBAAA,CAAC,EAAE,CAAC;AACP,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACjB;AAED,IAAA,OAAO,MAAM,CAAC,MAAc,EAAE,IAAS,EAAE,IAAU,EAAE,IAAU,EAAE,IAAU,EAAE,IAAU,EAAE,IAAU,EAAA;QAC/F,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;YACxD,IAAI,CAAC,GAAG,MAAM,EACV,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACpB,OAAO,CAAC,EAAE,EAAE;gBACR,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,aAAA;AACD,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;AACI,aAAA;AACD,YAAA,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvC,SAAA;KACJ;IAED,OAAO,aAAa,CAAC,IAAsB,EAAA;QACvC,OAAO,CAAC,IAAI,CAAC;KAChB;AAID,IAAA,OAAO,SAAS,CAAC,SAAmB,EAAE,UAAmB,EAAE,GAAY,EAAA;QACnE,IAAI,GAAG,GAAW,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrC,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACvC,QAAA,OAAO,GAAG,CAAC;KACd;AAED,IAAA,OAAO,QAAQ,CAAC,EAAU,EAAE,KAAK,EAAA;AAC7B,QAAA,OAAO,CAAC,IAAI,KAAK,CAAS,KAAK,CAAC,CAAC,IAAI,CAAS,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/D;IAED,OAAO,WAAW,CAAC,GAAW,EAAA;AAC1B,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC1B;AAED,IAAA,OAAO,cAAc,CAAC,IAAY,EAAE,IAAY,EAAA;AAC5C,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;AACvB,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAG/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AACjD,gBAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACxD,aAAA;AACJ,SAAA;QAGD,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,OAAO,IAAI,GAAG,IAAI,CAAC;AACtB,SAAA;AAGD,QAAA,OAAO,CAAC,CAAC;KACZ;AAED,IAAA,OAAO,QAAQ,CAAC,MAAc,EAAE,SAAiB,EAAE,UAAmB,EAAA;AAClE,QAAA,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;AAC1B,YAAA,OAAO,MAAM,CAAC;AAElB,QAAA,IAAI,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;AACxC,QAAA,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3D,QAAA,IAAI,qBAAqB,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/E,OAAO,MAAM,GAAG,qBAAqB,CAAC;KACzC;AAED,IAAA,OAAO,MAAM,CAAC,GAAW,EAAE,KAAa,EAAE,EAAU,EAAA;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;KAC5E;AAEH,IAAA,OAAO,OAAO,CAAC,GAAU,EAAE,SAAiB,EAAE,SAAiB,EAAA;QAC7D,IAAI,SAAS,GAAU,EAAE,CAAC;AAI1B,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC/D,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI;AACF,YAAA,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,EAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;AAC/D,SAAA;AACD,QAAA,OAAO,CAAC,EAAE;AACR,YAAA,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAChC,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;;AApLQ,OAAK,CAAA,KAAA,GAAG,EAAE;;MCPR,gBAAgB,CAAA;AAKnB,IAAA,OAAO,yBAAyB,GAAA;QACtC,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;KAClC;;AANsB,gBAAY,CAAA,YAAA,GAAW,GAAG,CAAC;AAE3B,gBAAA,CAAA,sBAAsB,GAAW,gBAAgB,CAAC,yBAAyB,EAAE;;MCHzF,QAAQ,CAAA;AAGnB,IAAA,WAAA,CAAY,KAAQ,EAAA;AAClB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;AACF;;MCNY,KAAK,CAAA;AAIhB,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;KAClC;IAEM,KAAK,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KAC3B;IAEM,OAAO,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;KACjC;AAEM,IAAA,IAAI,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;IAEM,GAAG,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;KAC1B;IAEM,IAAI,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5C,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;KACF;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC3C;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,KAAK,GAAiB,IAAI,KAAK,EAAS,CAAC;QAC7C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACnC,QAAA,OAAO,KAAK,CAAC;KACd;AACF;;MCpCY,UAAU,CAAA;AAGrB,IAAA,WAAA,CAAY,UAAkB,EAAA;QAFtB,IAAU,CAAA,UAAA,GAAiB,IAAI,CAAC;AAItC,QAAA,IAAI,WAAW,GAAmBA,YAAU,CAAC,OAAO,EAAE,CAAC;QACvD,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,WAAW,CAAC,MAAM;AACpD,YAAA,MAAO,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAE5C,QAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;KAC3C;IAEM,WAAW,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;KACjC;AACF;;MCfY,UAAU,CAAA;IACrB,SAAS,GAAA;AAIP,QAAA,OAAOC,YAAY,CAAC,OAAO,EAAE,CAAC;KAC/B;AACF;;MCLY,aAAa,CAAA;IAMxB,WAAY,CAAA,aAAmB,EAAE,MAAe,EAAA;QALxC,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAMxB,QAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,aAAa,IAAI,IAAI,IAAK,aAAa,CAAC,WAAW,KAAK,MAAM,EAAE;AAInE,aAAA;iBACI,IAAI,aAAa,IAAI,IAAI,IAAK,aAAa,CAAC,WAAW,KAAK,MAAM,EAAE;AACvE,gBAAA,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;AAItC,aAAA;AACF,SAAA;KACF;AAOD,IAAA,MAAM,CAAC,SAAc,EAAE,8BAAuC,EAAE,SAAkB,EAAA;QAEhF,IAAI,SAAS,KAAK,IAAI;AACpB,YAAA,OAAO,IAAI,CAAC;AAEd,QAAA,IAAI,SAAS,CAAC,WAAW,KAAK,MAAM,EAAE;AACpC,YAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBACxB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrC,iBAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,kCAAkC,CAAC,CAAC;AACzE,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;AAC/E,aAAA;;AAEC,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,8BAA8B,EAAE,SAAS,CAAC,CAAC;AACtF,SAAA;;AAEC,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;AAE/D,QAAA,OAAO,IAAI,CAAC;KACb;IAGO,YAAY,CAAC,IAAY,EAAE,UAAA,GAAqB,CAAC,EAAE,SAAA,GAAoB,IAAI,CAAC,MAAM,EAAA;AACxF,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;KAC5D;AAGO,IAAA,YAAY,CAAC,GAAW,EAAE,kBAAA,GAA6B,CAAC,EAAA;QAC9D,IAAI,kBAAkB,IAAI,CAAC;AACzB,YAAA,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAE7E,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;KACnE;IAGD,UAAU,CAAC,OAAe,IAAI,EAAA;QAC5B,IAAI,IAAI,KAAK,IAAI;YACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAC9B;AAMD,IAAA,YAAY,CAAC,MAAc,EAAE,IAAS,EAAE,IAAU,EAAE,IAAU,EAAA;AAC5D,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjE,QAAA,OAAO,IAAI,CAAC;KACb;IAKD,QAAQ,CAAC,UAAoB,EAAE,MAAgB,EAAA;AAC7C,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,IAAI,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;AAC1E,gBAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC7C,SAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;KACzB;AAED,IAAA,QAAQ,CAAC,KAAa,EAAA;QACpB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;AACxC,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAChC;IAED,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAA;QACnC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;AACxC,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAExC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,oEAAoE,CAAC,CAAC;AACtG,QAAA,IAAI,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrD,QAAA,IAAI,SAAS,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;KACpD;IAED,MAAM,CAAC,KAAa,EAAE,KAAa,EAAA;QACjC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;AACvC,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAE3C,QAAA,IAAI,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrD,QAAA,IAAI,SAAS,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEzC,QAAA,OAAO,IAAI,CAAC;KACb;IAED,MAAM,CAAC,UAAkB,EAAE,MAAc,EAAA;AACvC,QAAA,IAAI,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;AAC1E,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAE3C,QAAA,IAAI,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC1D,QAAA,IAAI,SAAS,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjC,QAAA,OAAO,IAAI,CAAC;KACb;AAID,IAAA,OAAO,CAAC,QAAgB,EAAE,QAAgB,EAAE,UAAmB,EAAE,KAAc,EAAA;QAC7E,IAAI,QAAQ,KAAK,IAAI;AACnB,YAAA,MAAO,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AACzC,aAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;AAC5B,YAAA,MAAO,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AAErD,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,IAAI,UAAU,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;AACxE,gBAAA,MAAO,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC7C,SAAA;AAED,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AAChE,aAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/B,YAAA,IAAI,MAAM,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;AACzE,YAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AAE7D,YAAA,IAAI,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC1D,YAAA,IAAI,SAAS,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClF,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAC3C,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;IAGD,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;KACxB;AACF;;MCzKY,MAAM,CAAA;AAKjB,IAAA,WAAA,GAAA;QAFA,IAAe,CAAA,eAAA,GAAW,CAAC,CAAC;AAG1B,QAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;KACxC;AAOM,IAAA,aAAa,KAAK,CAAC,mBAA2B,EAAA;AAEnD,QAAA,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,KAAI;AAClC,YAAA,IAAI,KAAK,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC1C,IAAI,YAAY,GAAG,KAAK,CAAC,SAAS,CAAE,MAAO,EAAA,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;AACtF,SAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACX;;AAnBc,MAAM,CAAA,MAAA,GAAW,CAAC,CAAC;AAC3B,MAAA,CAAA,aAAa,GAAW,IAAI,MAAM,EAAE;;ACFvC,MAAO,YAAa,SAAQ,SAAS,CAAA;AACzC,IAAA,WAAA,CAAY,KAAY,EAAA;AACtB,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;KAC9B;AACF;;MCPY,UAAU,CAAA;IAErB,OAAO,UAAU,CAAC,IAAY,EAAA;QAC5B,MAAM,IAAI,uBAAuB,EAAE,CAAC;KACrC;AACF;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magic-xpa/mscorelib",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1100.0-dev4110.1",
|
|
4
4
|
"description": "magic mscorelib package",
|
|
5
5
|
"license": "SEE LICENSE IN EULA.pdf",
|
|
6
6
|
"dependencies": {
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
"esm2020": "esm2020/magic-xpa-mscorelib.mjs",
|
|
15
15
|
"fesm2020": "fesm2020/magic-xpa-mscorelib.mjs",
|
|
16
16
|
"fesm2015": "fesm2015/magic-xpa-mscorelib.mjs",
|
|
17
|
-
"typings": "
|
|
17
|
+
"typings": "index.d.ts",
|
|
18
18
|
"exports": {
|
|
19
19
|
"./package.json": {
|
|
20
20
|
"default": "./package.json"
|
|
21
21
|
},
|
|
22
22
|
".": {
|
|
23
|
-
"types": "./
|
|
23
|
+
"types": "./index.d.ts",
|
|
24
24
|
"esm2020": "./esm2020/magic-xpa-mscorelib.mjs",
|
|
25
25
|
"es2020": "./fesm2020/magic-xpa-mscorelib.mjs",
|
|
26
26
|
"es2015": "./fesm2015/magic-xpa-mscorelib.mjs",
|
package/magic-xpa-mscorelib.d.ts
DELETED