@rian8337/osu-droid-replay-analyzer 2.0.0-alpha.6 → 2.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +310 -190
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/typings/index.d.ts +28 -10
package/dist/index.js
CHANGED
|
@@ -29,25 +29,45 @@ function _interopNamespace(e) {
|
|
|
29
29
|
|
|
30
30
|
var javaDeserialization__namespace = /*#__PURE__*/_interopNamespace(javaDeserialization);
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Represents a cursor's occurrence.
|
|
34
|
+
*/
|
|
35
|
+
class CursorOccurrence {
|
|
36
|
+
/**
|
|
37
|
+
* The time of this occurrence.
|
|
38
|
+
*/
|
|
39
|
+
time;
|
|
40
|
+
/**
|
|
41
|
+
* The position of the occurrence.
|
|
42
|
+
*/
|
|
43
|
+
position;
|
|
44
|
+
/**
|
|
45
|
+
* The movement ID of the occurrence.
|
|
46
|
+
*/
|
|
47
|
+
id;
|
|
48
|
+
constructor(time, x, y, id) {
|
|
49
|
+
this.time = time;
|
|
50
|
+
this.position = new osuBase.Vector2(x, y);
|
|
51
|
+
this.id = id;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
32
55
|
/**
|
|
33
56
|
* Represents a cursor instance in an osu!droid replay.
|
|
34
57
|
*
|
|
35
|
-
* Stores cursor movement data
|
|
58
|
+
* Stores cursor movement data in the form of `CursorOccurrence`s.
|
|
36
59
|
*
|
|
37
60
|
* This is used when analyzing replays using replay analyzer.
|
|
38
61
|
*/
|
|
39
62
|
class CursorData {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
id;
|
|
63
|
+
/**
|
|
64
|
+
* The occurrences of this cursor instance.
|
|
65
|
+
*/
|
|
66
|
+
occurrences = [];
|
|
45
67
|
constructor(values) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
this.y = values.y;
|
|
50
|
-
this.id = values.id;
|
|
68
|
+
for (let i = 0; i < values.size; ++i) {
|
|
69
|
+
this.occurrences.push(new CursorOccurrence(values.time[i], values.x[i], values.y[i], values.id[i]));
|
|
70
|
+
}
|
|
51
71
|
}
|
|
52
72
|
}
|
|
53
73
|
|
|
@@ -352,14 +372,16 @@ class ThreeFingerChecker {
|
|
|
352
372
|
}
|
|
353
373
|
this.getAccurateBreakPoints();
|
|
354
374
|
this.filterCursorInstances();
|
|
355
|
-
if (this.downCursorInstances.filter((v) => v.
|
|
375
|
+
if (this.downCursorInstances.filter((v) => v.occurrences.length > 0)
|
|
376
|
+
.length <= 3) {
|
|
356
377
|
return { is3Finger: false, penalty: 1 };
|
|
357
378
|
}
|
|
358
379
|
this.getBeatmapSections();
|
|
359
380
|
this.detectDragPlay();
|
|
360
381
|
this.getDetailedBeatmapSections();
|
|
361
382
|
this.preventAccidentalTaps();
|
|
362
|
-
if (this.downCursorInstances.filter((v) => v.
|
|
383
|
+
if (this.downCursorInstances.filter((v) => v.occurrences.length > 0)
|
|
384
|
+
.length <= 3) {
|
|
363
385
|
return { is3Finger: false, penalty: 1 };
|
|
364
386
|
}
|
|
365
387
|
this.calculateNerfFactors();
|
|
@@ -478,22 +500,18 @@ class ThreeFingerChecker {
|
|
|
478
500
|
y: [],
|
|
479
501
|
id: [],
|
|
480
502
|
});
|
|
481
|
-
for (let j = 0; j < cursorInstance.
|
|
482
|
-
if (cursorInstance.
|
|
503
|
+
for (let j = 0; j < cursorInstance.occurrences.length; ++j) {
|
|
504
|
+
if (cursorInstance.occurrences[j].id !== exports.movementType.DOWN) {
|
|
483
505
|
continue;
|
|
484
506
|
}
|
|
485
|
-
const time = cursorInstance.
|
|
507
|
+
const time = cursorInstance.occurrences[j].time;
|
|
486
508
|
if (time < firstObjectHitTime || time > lastObjectHitTime) {
|
|
487
509
|
continue;
|
|
488
510
|
}
|
|
489
511
|
if (this.breakPointAccurateTimes.some((v) => time >= v.startTime && time <= v.endTime)) {
|
|
490
512
|
continue;
|
|
491
513
|
}
|
|
492
|
-
|
|
493
|
-
newCursorData.time.push(time);
|
|
494
|
-
newCursorData.x.push(cursorInstance.x[j]);
|
|
495
|
-
newCursorData.y.push(cursorInstance.y[j]);
|
|
496
|
-
newCursorData.id.push(cursorInstance.id[j]);
|
|
514
|
+
newCursorData.occurrences.push(new CursorOccurrence(time, cursorInstance.occurrences[j].position.x, cursorInstance.occurrences[j].position.y, cursorInstance.occurrences[j].id));
|
|
497
515
|
}
|
|
498
516
|
this.downCursorInstances.push(newCursorData);
|
|
499
517
|
}
|
|
@@ -579,16 +597,18 @@ class ThreeFingerChecker {
|
|
|
579
597
|
const cursorIndexes = [];
|
|
580
598
|
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
581
599
|
const c = this.data.cursorMovement[i];
|
|
582
|
-
if (c.
|
|
600
|
+
if (c.occurrences.length === 0) {
|
|
583
601
|
continue;
|
|
584
602
|
}
|
|
585
603
|
// Do not include cursors that don't have an occurence in this section
|
|
586
604
|
// this speeds up checking process.
|
|
587
|
-
if (c.
|
|
605
|
+
if (c.occurrences.filter((v) => v.time >= firstObjectMinHitTime &&
|
|
606
|
+
v.time <= lastObjectMaxHitTime).length === 0) {
|
|
588
607
|
continue;
|
|
589
608
|
}
|
|
590
609
|
// If this cursor instance doesn't move, it's not the cursor instance we want.
|
|
591
|
-
if (c.
|
|
610
|
+
if (c.occurrences.filter((v) => v.id === exports.movementType.MOVE)
|
|
611
|
+
.length === 0) {
|
|
592
612
|
continue;
|
|
593
613
|
}
|
|
594
614
|
cursorIndexes.push(i);
|
|
@@ -625,27 +645,28 @@ class ThreeFingerChecker {
|
|
|
625
645
|
// therefore the game emulates the movement between
|
|
626
646
|
// movementType.MOVE cursors.
|
|
627
647
|
const hitTime = o.object.startTime + s.accuracy;
|
|
628
|
-
const nextHitIndex = c.
|
|
648
|
+
const nextHitIndex = c.occurrences.findIndex((v) => v.time >= hitTime);
|
|
629
649
|
const hitIndex = nextHitIndex - 1;
|
|
630
650
|
if (hitIndex <= -1) {
|
|
631
651
|
cursorIndexes[j] = -1;
|
|
632
652
|
continue;
|
|
633
653
|
}
|
|
634
|
-
if (c.
|
|
654
|
+
if (c.occurrences[hitIndex].id === exports.movementType.UP) {
|
|
635
655
|
cursorIndexes[j] = -1;
|
|
636
656
|
continue;
|
|
637
657
|
}
|
|
638
|
-
const cursorPosition = new osuBase.Vector2(c.
|
|
658
|
+
const cursorPosition = new osuBase.Vector2(c.occurrences[hitIndex].position.x, c.occurrences[hitIndex].position.y);
|
|
639
659
|
let isInObject = false;
|
|
640
|
-
if (c.
|
|
641
|
-
c.
|
|
660
|
+
if (c.occurrences[nextHitIndex].id === exports.movementType.MOVE ||
|
|
661
|
+
c.occurrences[hitIndex].id === exports.movementType.MOVE) {
|
|
642
662
|
// Try to interpolate movement between two movementType.MOVE cursor every 1ms.
|
|
643
663
|
// This minimizes rounding error.
|
|
644
|
-
for (let mSecPassed = c.
|
|
645
|
-
const t = (mSecPassed - c.
|
|
646
|
-
(c.
|
|
647
|
-
|
|
648
|
-
cursorPosition.
|
|
664
|
+
for (let mSecPassed = c.occurrences[hitIndex].time; mSecPassed <= c.occurrences[nextHitIndex].time; ++mSecPassed) {
|
|
665
|
+
const t = (mSecPassed - c.occurrences[nextHitIndex].time) /
|
|
666
|
+
(c.occurrences[hitIndex].time -
|
|
667
|
+
c.occurrences[nextHitIndex].time);
|
|
668
|
+
cursorPosition.x = osuBase.Interpolation.lerp(c.occurrences[hitIndex].position.x, c.occurrences[nextHitIndex].position.x, t);
|
|
669
|
+
cursorPosition.y = osuBase.Interpolation.lerp(c.occurrences[hitIndex].position.y, c.occurrences[nextHitIndex].position.y, t);
|
|
649
670
|
if (o.object.stackedPosition.getDistance(cursorPosition) <= o.object.radius) {
|
|
650
671
|
isInObject = true;
|
|
651
672
|
break;
|
|
@@ -718,32 +739,24 @@ class ThreeFingerChecker {
|
|
|
718
739
|
* unnecessary taps.
|
|
719
740
|
*/
|
|
720
741
|
preventAccidentalTaps() {
|
|
721
|
-
let filledCursorAmount = this.downCursorInstances.filter((v) => v.
|
|
742
|
+
let filledCursorAmount = this.downCursorInstances.filter((v) => v.occurrences.length > 0).length;
|
|
722
743
|
if (filledCursorAmount <= 3) {
|
|
723
744
|
return;
|
|
724
745
|
}
|
|
725
746
|
const objects = this.map.objects;
|
|
726
|
-
const totalCursorAmount = this.downCursorInstances.reduce((acc, value) => acc + value.
|
|
747
|
+
const totalCursorAmount = this.downCursorInstances.reduce((acc, value) => acc + value.occurrences.length, 0);
|
|
727
748
|
for (let i = 0; i < this.downCursorInstances.length; ++i) {
|
|
728
749
|
if (filledCursorAmount <= 3) {
|
|
729
750
|
break;
|
|
730
751
|
}
|
|
731
752
|
const cursorInstance = this.downCursorInstances[i];
|
|
732
753
|
// Use an estimation for accidental tap threshold.
|
|
733
|
-
if (cursorInstance.
|
|
754
|
+
if (cursorInstance.occurrences.length <=
|
|
734
755
|
Math.ceil(objects.length / this.accidentalTapThreshold) &&
|
|
735
|
-
cursorInstance.
|
|
756
|
+
cursorInstance.occurrences.length / totalCursorAmount <
|
|
736
757
|
this.threeFingerRatioThreshold * 2) {
|
|
737
758
|
--filledCursorAmount;
|
|
738
|
-
|
|
739
|
-
const prop = property;
|
|
740
|
-
if (Array.isArray(cursorInstance[prop])) {
|
|
741
|
-
cursorInstance[prop].length = 0;
|
|
742
|
-
}
|
|
743
|
-
else {
|
|
744
|
-
cursorInstance[prop] = 0;
|
|
745
|
-
}
|
|
746
|
-
}
|
|
759
|
+
cursorInstance.occurrences.length = 0;
|
|
747
760
|
}
|
|
748
761
|
this.downCursorInstances[i] = cursorInstance;
|
|
749
762
|
}
|
|
@@ -773,13 +786,9 @@ class ThreeFingerChecker {
|
|
|
773
786
|
: this.hitWindow.hitWindowFor50(isPrecise));
|
|
774
787
|
// Filter cursor instances during section.
|
|
775
788
|
this.downCursorInstances.forEach((c) => {
|
|
776
|
-
const i = c.
|
|
789
|
+
const i = c.occurrences.findIndex((t) => t.time >= startTime);
|
|
777
790
|
if (i !== -1) {
|
|
778
|
-
c.
|
|
779
|
-
c.time.splice(0, i);
|
|
780
|
-
c.x.splice(0, i);
|
|
781
|
-
c.y.splice(0, i);
|
|
782
|
-
c.id.splice(0, i);
|
|
791
|
+
c.occurrences = c.occurrences.slice(0, i);
|
|
783
792
|
}
|
|
784
793
|
});
|
|
785
794
|
const cursorAmounts = [];
|
|
@@ -791,13 +800,13 @@ class ThreeFingerChecker {
|
|
|
791
800
|
}
|
|
792
801
|
const cursorData = this.downCursorInstances[i];
|
|
793
802
|
let amount = 0;
|
|
794
|
-
for (let j = 0; j < cursorData.
|
|
795
|
-
if (cursorData.
|
|
796
|
-
cursorData.
|
|
803
|
+
for (let j = 0; j < cursorData.occurrences.length; ++j) {
|
|
804
|
+
if (cursorData.occurrences[j].time >= startTime &&
|
|
805
|
+
cursorData.occurrences[j].time <= endTime) {
|
|
797
806
|
++amount;
|
|
798
807
|
cursorVectorTimes.push({
|
|
799
|
-
vector: new osuBase.Vector2(cursorData.
|
|
800
|
-
time: cursorData.
|
|
808
|
+
vector: new osuBase.Vector2(cursorData.occurrences[j].position.x, cursorData.occurrences[j].position.y),
|
|
809
|
+
time: cursorData.occurrences[j].time,
|
|
801
810
|
});
|
|
802
811
|
}
|
|
803
812
|
}
|
|
@@ -936,10 +945,6 @@ class TwoHandChecker {
|
|
|
936
945
|
* The data of the replay.
|
|
937
946
|
*/
|
|
938
947
|
data;
|
|
939
|
-
/**
|
|
940
|
-
* A cursor data array that only contains `movementType.DOWN` and `movementType.MOVE` movement ID occurrences.
|
|
941
|
-
*/
|
|
942
|
-
downMoveCursorInstances = [];
|
|
943
948
|
/**
|
|
944
949
|
* The hitobjects of the beatmap that have been assigned with their respective cursor index.
|
|
945
950
|
*/
|
|
@@ -955,6 +960,18 @@ class TwoHandChecker {
|
|
|
955
960
|
* those that do not worth any strain.
|
|
956
961
|
*/
|
|
957
962
|
minCursorIndexCount = 5;
|
|
963
|
+
/**
|
|
964
|
+
* The approximated difficulty of the current object such that the object is likely to be 2-handed by a player.
|
|
965
|
+
*
|
|
966
|
+
* This scales with an object's angle and speed relative to the previous object.
|
|
967
|
+
* Acute angles or fast speed will accumulate this number. Conversely, wide angles or slow speed will decay this number.
|
|
968
|
+
*/
|
|
969
|
+
currentAngleDiffApproxDefault = 10;
|
|
970
|
+
/**
|
|
971
|
+
* The threshold at which objects will be started getting considered to be 2-handable.
|
|
972
|
+
*/
|
|
973
|
+
currentAngleDiffApproxThreshold = 200;
|
|
974
|
+
assignCurrentIndexToOne = false;
|
|
958
975
|
/**
|
|
959
976
|
* @param map The beatmap to analyze.
|
|
960
977
|
* @param data The data of the replay.
|
|
@@ -974,56 +991,35 @@ class TwoHandChecker {
|
|
|
974
991
|
* Checks if a beatmap is two-handed.
|
|
975
992
|
*/
|
|
976
993
|
check() {
|
|
977
|
-
this.
|
|
978
|
-
|
|
994
|
+
if (this.data.cursorMovement.filter((v) => v.occurrences.length > 0)
|
|
995
|
+
.length <= 1) {
|
|
979
996
|
return false;
|
|
980
997
|
}
|
|
981
998
|
this.indexHitObjects();
|
|
982
999
|
this.applyPenalty();
|
|
983
1000
|
return true;
|
|
984
1001
|
}
|
|
985
|
-
/**
|
|
986
|
-
* Filters the original cursor instances, returning only those with `movementType.DOWN` and `movementType.MOVE` movement ID.
|
|
987
|
-
*/
|
|
988
|
-
filterCursorInstances() {
|
|
989
|
-
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
990
|
-
const cursorInstance = this.data.cursorMovement[i];
|
|
991
|
-
const newCursorData = {
|
|
992
|
-
size: 0,
|
|
993
|
-
time: [],
|
|
994
|
-
x: [],
|
|
995
|
-
y: [],
|
|
996
|
-
id: [],
|
|
997
|
-
};
|
|
998
|
-
for (let j = 0; j < cursorInstance.size; ++j) {
|
|
999
|
-
if (cursorInstance.id[j] === exports.movementType.UP) {
|
|
1000
|
-
continue;
|
|
1001
|
-
}
|
|
1002
|
-
++newCursorData.size;
|
|
1003
|
-
newCursorData.time.push(cursorInstance.time[j]);
|
|
1004
|
-
newCursorData.x.push(cursorInstance.x[j]);
|
|
1005
|
-
newCursorData.y.push(cursorInstance.y[j]);
|
|
1006
|
-
newCursorData.id.push(cursorInstance.id[j]);
|
|
1007
|
-
}
|
|
1008
|
-
this.downMoveCursorInstances.push(newCursorData);
|
|
1009
|
-
}
|
|
1010
|
-
}
|
|
1011
1002
|
/**
|
|
1012
1003
|
* Converts hitobjects into indexed hit objects.
|
|
1013
1004
|
*/
|
|
1014
1005
|
indexHitObjects() {
|
|
1015
|
-
const
|
|
1016
|
-
const objectData = this.data.hitObjectData;
|
|
1006
|
+
const hitWindowOffset = this.getHitWindowOffset();
|
|
1017
1007
|
const indexes = [];
|
|
1008
|
+
let overallDiffApprox = this.currentAngleDiffApproxDefault;
|
|
1018
1009
|
for (let i = 0; i < this.map.objects.length; ++i) {
|
|
1019
|
-
const
|
|
1020
|
-
|
|
1021
|
-
const index = this.
|
|
1010
|
+
const diff = i > 0 ? this.getSpacingAngleDiffApprox(i) : 1;
|
|
1011
|
+
overallDiffApprox = osuBase.MathUtils.clamp(overallDiffApprox * diff, this.currentAngleDiffApproxDefault, this.currentAngleDiffApproxThreshold + 100);
|
|
1012
|
+
const index = overallDiffApprox >= this.currentAngleDiffApproxThreshold
|
|
1013
|
+
? this.getCursorIndex(i, hitWindowOffset)
|
|
1014
|
+
: 0;
|
|
1022
1015
|
indexes.push(index);
|
|
1023
|
-
this.indexedHitObjects.push(new IndexedHitObject(
|
|
1016
|
+
this.indexedHitObjects.push(new IndexedHitObject(this.map.objects[i], index));
|
|
1024
1017
|
}
|
|
1018
|
+
// const notFound = this.indexedHitObjects.filter(v => v.cursorIndex === -1);
|
|
1019
|
+
console.log("Spinners:", this.map.map.hitObjects.spinners);
|
|
1020
|
+
console.log("Misses:", this.data.accuracy.nmiss);
|
|
1025
1021
|
console.log(indexes.filter((v) => v !== -1).length, "cursors found,", indexes.filter((v) => v === -1).length, "not found");
|
|
1026
|
-
const indexCounts = osuBase.Utils.initializeArray(this.
|
|
1022
|
+
const indexCounts = osuBase.Utils.initializeArray(this.data.cursorMovement.length, 0);
|
|
1027
1023
|
for (const index of indexes) {
|
|
1028
1024
|
if (index === -1) {
|
|
1029
1025
|
continue;
|
|
@@ -1043,105 +1039,231 @@ class TwoHandChecker {
|
|
|
1043
1039
|
indexedHitObject.cursorIndex = mainCursorIndex;
|
|
1044
1040
|
}
|
|
1045
1041
|
});
|
|
1046
|
-
for (let i = 0; i < this.
|
|
1042
|
+
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
1047
1043
|
console.log("Index", i, "count:", indexes.filter((v) => v === i).length);
|
|
1048
1044
|
}
|
|
1049
1045
|
}
|
|
1046
|
+
/**
|
|
1047
|
+
* Gets the approximation of an object's difficulty such that the object is likely to be 2-handed.
|
|
1048
|
+
*
|
|
1049
|
+
* @param index The index of the object.
|
|
1050
|
+
*/
|
|
1051
|
+
getSpacingAngleDiffApprox(index) {
|
|
1052
|
+
const object = this.map.objects[index];
|
|
1053
|
+
if (object.object instanceof osuBase.Spinner) {
|
|
1054
|
+
return 0.1;
|
|
1055
|
+
}
|
|
1056
|
+
const angleDiff = object.angle !== null
|
|
1057
|
+
? 0.5 + Math.pow(Math.cos(object.angle / 2), 2)
|
|
1058
|
+
: 1;
|
|
1059
|
+
const speedDiff = object.lazyJumpDistance / Math.max(1, object.deltaTime);
|
|
1060
|
+
// Make decay slower.
|
|
1061
|
+
return Math.max(0.8, angleDiff * speedDiff);
|
|
1062
|
+
}
|
|
1063
|
+
/**
|
|
1064
|
+
* Gets the hit window offset to be applied to `getCursorIndex`.
|
|
1065
|
+
*/
|
|
1066
|
+
getHitWindowOffset() {
|
|
1067
|
+
const deltaTimes = [];
|
|
1068
|
+
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
1069
|
+
const c = this.data.cursorMovement[i];
|
|
1070
|
+
for (let j = 0; j < c.occurrences.length; ++j) {
|
|
1071
|
+
if (c.occurrences[j].time <
|
|
1072
|
+
this.map.map.hitObjects.objects[0].startTime -
|
|
1073
|
+
this.hitWindow.hitWindowFor50()) {
|
|
1074
|
+
continue;
|
|
1075
|
+
}
|
|
1076
|
+
if (c.occurrences[j].id !== exports.movementType.MOVE) {
|
|
1077
|
+
continue;
|
|
1078
|
+
}
|
|
1079
|
+
const deltaTime = c.occurrences[j]?.time - c.occurrences[j - 1]?.time || 0;
|
|
1080
|
+
if (deltaTime > 0) {
|
|
1081
|
+
deltaTimes.push(deltaTime);
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
return Math.min(...deltaTimes);
|
|
1086
|
+
}
|
|
1050
1087
|
/**
|
|
1051
1088
|
* Gets the cursor index that hits the given object.
|
|
1052
1089
|
*
|
|
1053
|
-
* @param
|
|
1054
|
-
* @param
|
|
1090
|
+
* @param index The index of the object to check.
|
|
1091
|
+
* @param hitWindowOffset The offset for hit window to compensate for replay hit inaccuracies.
|
|
1055
1092
|
* @returns The cursor index that hits the given object, -1 if the index is not found, the object is a spinner, or the object was missed.
|
|
1056
1093
|
*/
|
|
1057
|
-
getCursorIndex(
|
|
1094
|
+
getCursorIndex(index, hitWindowOffset) {
|
|
1095
|
+
const object = this.map.objects[index];
|
|
1096
|
+
const data = this.data.hitObjectData[index];
|
|
1058
1097
|
if (object.object instanceof osuBase.Spinner ||
|
|
1059
1098
|
data.result === exports.hitResult.RESULT_0) {
|
|
1060
1099
|
return -1;
|
|
1061
1100
|
}
|
|
1062
1101
|
const isPrecise = this.data.convertedMods.some((m) => m instanceof osuBase.ModPrecise);
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1102
|
+
const isSlider = object.object instanceof osuBase.Slider;
|
|
1103
|
+
// For sliders, automatically set hit window to be as lenient as possible.
|
|
1104
|
+
let hitWindowLength = this.hitWindow.hitWindowFor50(isPrecise);
|
|
1105
|
+
if (!isSlider) {
|
|
1106
|
+
switch (data.result) {
|
|
1107
|
+
case exports.hitResult.RESULT_300:
|
|
1108
|
+
hitWindowLength = this.hitWindow.hitWindowFor300(isPrecise);
|
|
1109
|
+
break;
|
|
1110
|
+
case exports.hitResult.RESULT_100:
|
|
1111
|
+
hitWindowLength = this.hitWindow.hitWindowFor100(isPrecise);
|
|
1112
|
+
break;
|
|
1113
|
+
}
|
|
1073
1114
|
}
|
|
1074
|
-
const
|
|
1075
|
-
const
|
|
1076
|
-
const minimumHitTime =
|
|
1115
|
+
const startTime = object.object.startTime;
|
|
1116
|
+
const hitTime = startTime + data.accuracy;
|
|
1117
|
+
const minimumHitTime = startTime - hitWindowLength - hitWindowOffset;
|
|
1118
|
+
const maximumHitTime = startTime + hitWindowLength + hitWindowOffset;
|
|
1077
1119
|
const cursorInformations = [];
|
|
1078
|
-
for (let i = 0; i < this.
|
|
1079
|
-
const c = this.
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1120
|
+
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
1121
|
+
const c = this.data.cursorMovement[i];
|
|
1122
|
+
if (c.occurrences.length === 0) {
|
|
1123
|
+
continue;
|
|
1124
|
+
}
|
|
1125
|
+
let hitTimeBeforeIndex = osuBase.MathUtils.clamp(c.occurrences.findIndex((v) => v.time >= minimumHitTime), 1, c.occurrences.length - 1) - 1;
|
|
1126
|
+
let hitTimeAfterIndex = c.occurrences.findIndex(
|
|
1127
|
+
// There is a special case for sliders where the time leniency in droid is a lot bigger compared to PC.
|
|
1128
|
+
// To prevent slider end time from ending earlier than hit window leniency, we use the maximum value between both.
|
|
1129
|
+
(v) => v.time >= Math.max(object.object.endTime, maximumHitTime));
|
|
1130
|
+
if (hitTimeAfterIndex === -1) {
|
|
1131
|
+
// Maximum hit time or object end time may be out of bounds for every presses.
|
|
1132
|
+
// We set the index to the latest cursor occurrence if that happens.
|
|
1133
|
+
hitTimeAfterIndex = c.occurrences.length;
|
|
1134
|
+
}
|
|
1135
|
+
--hitTimeAfterIndex;
|
|
1136
|
+
// Sometimes a `movementType.UP` instance occurs at the same time as a `movementType.MOVE`
|
|
1137
|
+
// or a cursor is recorded twice in one time, therefore this check is required.
|
|
1138
|
+
while (c.occurrences[hitTimeBeforeIndex]?.time ===
|
|
1139
|
+
c.occurrences[hitTimeBeforeIndex - 1]?.time &&
|
|
1140
|
+
hitTimeBeforeIndex > 0) {
|
|
1141
|
+
--hitTimeBeforeIndex;
|
|
1142
|
+
}
|
|
1143
|
+
// We track the cursor movement along those indexes.
|
|
1144
|
+
// Current cursor position is in `hitTimeBeforeIndex`.
|
|
1145
|
+
let distance = Number.POSITIVE_INFINITY;
|
|
1146
|
+
let acceptableRadius = object.object.radius;
|
|
1147
|
+
// Sliders have a bigger radius tolerance due to slider ball.
|
|
1148
|
+
if (isSlider) {
|
|
1149
|
+
acceptableRadius *= 2.4;
|
|
1150
|
+
}
|
|
1151
|
+
let j = hitTimeBeforeIndex;
|
|
1152
|
+
for (j; j <= hitTimeAfterIndex; ++j) {
|
|
1153
|
+
const occurrence = c.occurrences[j];
|
|
1154
|
+
const nextOccurrence = c.occurrences[j + 1];
|
|
1155
|
+
const cursorPosition = occurrence.position;
|
|
1156
|
+
if (occurrence.time > hitTime + hitWindowOffset + 10) {
|
|
1157
|
+
// Give an additional 10ms in case registration in-game is late.
|
|
1158
|
+
// Set distance to minimum just for the last.
|
|
1159
|
+
if (occurrence.id !== exports.movementType.UP) {
|
|
1160
|
+
distance = Math.min(distance, object.object.stackedPosition.getDistance(cursorPosition));
|
|
1161
|
+
}
|
|
1162
|
+
break;
|
|
1085
1163
|
}
|
|
1086
|
-
|
|
1087
|
-
// so just skip it to save time.
|
|
1088
|
-
if (c.time[j + 1] === c.time[j]) {
|
|
1164
|
+
if (occurrence.id === exports.movementType.UP) {
|
|
1089
1165
|
continue;
|
|
1090
1166
|
}
|
|
1091
|
-
|
|
1092
|
-
|
|
1167
|
+
distance =
|
|
1168
|
+
object.object.stackedPosition.getDistance(cursorPosition);
|
|
1169
|
+
if (nextOccurrence &&
|
|
1170
|
+
nextOccurrence.id === exports.movementType.MOVE &&
|
|
1171
|
+
occurrence.time !== nextOccurrence.time &&
|
|
1172
|
+
!occurrence.position.equals(nextOccurrence.position)) {
|
|
1173
|
+
// If next cursor is a `move` instance and it doesn't go out of time
|
|
1174
|
+
// range, we interpolate cursor position between two occurrences.
|
|
1175
|
+
const nextPosition = nextOccurrence.position;
|
|
1176
|
+
const displacement = nextPosition.subtract(cursorPosition);
|
|
1177
|
+
for (let mSecPassed = Math.max(minimumHitTime, occurrence.time); mSecPassed <=
|
|
1178
|
+
Math.min(hitTime + hitWindowOffset, nextOccurrence.time); ++mSecPassed) {
|
|
1179
|
+
const progress = (mSecPassed - occurrence.time) /
|
|
1180
|
+
(nextOccurrence.time - occurrence.time);
|
|
1181
|
+
distance = object.object.stackedPosition.getDistance(cursorPosition.add(displacement.scale(progress)));
|
|
1182
|
+
}
|
|
1093
1183
|
}
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1184
|
+
}
|
|
1185
|
+
if (distance > acceptableRadius) {
|
|
1186
|
+
continue;
|
|
1187
|
+
}
|
|
1188
|
+
let acceptedCursorIndex = i;
|
|
1189
|
+
if (isSlider) {
|
|
1190
|
+
this.assignCurrentIndexToOne = acceptedCursorIndex % 2 === 0;
|
|
1191
|
+
}
|
|
1192
|
+
else {
|
|
1193
|
+
// Get the latest down instance.
|
|
1194
|
+
while (c.occurrences[j]?.id !== exports.movementType.DOWN &&
|
|
1195
|
+
j > hitTimeBeforeIndex) {
|
|
1196
|
+
--j;
|
|
1099
1197
|
}
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1198
|
+
if (c.occurrences[j].id === exports.movementType.DOWN) {
|
|
1199
|
+
let isAngleFulfilled = false;
|
|
1200
|
+
// Special case where a cursor is "dragged" into the next object.
|
|
1201
|
+
if (c.occurrences[j + 1]?.id === exports.movementType.MOVE &&
|
|
1202
|
+
c.occurrences[j + 2]?.id === exports.movementType.UP &&
|
|
1203
|
+
// Some move instances move in the exact same place. Not sure why, most likely
|
|
1204
|
+
// because the position is recorded as int in the game and the movement is too small to
|
|
1205
|
+
// convert into +1 or -1.
|
|
1206
|
+
!c.occurrences[j].position.equals(c.occurrences[j + 1].position)) {
|
|
1207
|
+
const movementVec = c.occurrences[j + 1].position.subtract(object.object.endPosition);
|
|
1208
|
+
if (this.map.objects[index + 1]) {
|
|
1209
|
+
const next = this.map.objects[index + 1];
|
|
1210
|
+
const currentToNext = next.object.stackedPosition.subtract(object.object.endPosition);
|
|
1211
|
+
const dot = currentToNext.dot(movementVec);
|
|
1212
|
+
const det = currentToNext.x * movementVec.y -
|
|
1213
|
+
currentToNext.y * movementVec.x;
|
|
1214
|
+
const movementToNextAngle = Math.abs(Math.atan2(det, dot));
|
|
1215
|
+
isAngleFulfilled =
|
|
1216
|
+
movementToNextAngle < Math.PI / 6;
|
|
1116
1217
|
}
|
|
1218
|
+
if (this.map.objects[index - 1] && !isAngleFulfilled) {
|
|
1219
|
+
const prev = this.map.objects[index - 1];
|
|
1220
|
+
const extendedCurrent = object.object.endPosition
|
|
1221
|
+
.subtract(prev.object.stackedPosition)
|
|
1222
|
+
.scale(1.5)
|
|
1223
|
+
.subtract(object.object.endPosition);
|
|
1224
|
+
const dot = extendedCurrent.dot(movementVec);
|
|
1225
|
+
const det = extendedCurrent.x * movementVec.y -
|
|
1226
|
+
extendedCurrent.y * movementVec.x;
|
|
1227
|
+
const extendedCurrentToMovementAngle = Math.abs(Math.atan2(det, dot));
|
|
1228
|
+
isAngleFulfilled =
|
|
1229
|
+
extendedCurrentToMovementAngle < Math.PI / 6;
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
if (isAngleFulfilled) {
|
|
1233
|
+
this.assignCurrentIndexToOne = true;
|
|
1234
|
+
acceptedCursorIndex = 0;
|
|
1235
|
+
}
|
|
1236
|
+
else {
|
|
1237
|
+
acceptedCursorIndex = this.assignCurrentIndexToOne
|
|
1238
|
+
? 1
|
|
1239
|
+
: 0;
|
|
1240
|
+
this.assignCurrentIndexToOne =
|
|
1241
|
+
!this.assignCurrentIndexToOne;
|
|
1117
1242
|
}
|
|
1118
1243
|
}
|
|
1119
1244
|
}
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
});
|
|
1125
|
-
}
|
|
1126
|
-
}
|
|
1127
|
-
if (cursorInformations.length === 0) {
|
|
1128
|
-
return -1;
|
|
1245
|
+
cursorInformations.push({
|
|
1246
|
+
cursorIndex: acceptedCursorIndex,
|
|
1247
|
+
distanceDiff: distance,
|
|
1248
|
+
});
|
|
1129
1249
|
}
|
|
1130
|
-
//
|
|
1131
|
-
|
|
1132
|
-
|
|
1250
|
+
// Cursors have been filtered to see which of them is inside the object.
|
|
1251
|
+
// Now we look at which cursor is closest to the center of the object.
|
|
1252
|
+
const minDistanceDiff = Math.min(...cursorInformations.map((v) => {
|
|
1253
|
+
return v.distanceDiff;
|
|
1133
1254
|
}));
|
|
1134
|
-
return (cursorInformations.find((c) => c.
|
|
1135
|
-
?.cursorIndex);
|
|
1255
|
+
return (cursorInformations.find((c) => c.distanceDiff === minDistanceDiff)
|
|
1256
|
+
?.cursorIndex ?? -1);
|
|
1136
1257
|
}
|
|
1137
1258
|
/**
|
|
1138
1259
|
* Applies penalty to the original star rating instance.
|
|
1139
1260
|
*/
|
|
1140
1261
|
applyPenalty() {
|
|
1141
|
-
const beatmaps = new Array(this.
|
|
1262
|
+
const beatmaps = new Array(this.data.cursorMovement.length);
|
|
1142
1263
|
this.indexedHitObjects.forEach((o) => {
|
|
1143
1264
|
if (!beatmaps[o.cursorIndex]) {
|
|
1144
1265
|
const map = osuBase.Utils.deepCopy(this.map.map);
|
|
1266
|
+
map.hitObjects.clear();
|
|
1145
1267
|
beatmaps[o.cursorIndex] = map;
|
|
1146
1268
|
}
|
|
1147
1269
|
beatmaps[o.cursorIndex].hitObjects.add(o.object.object);
|
|
@@ -1155,14 +1277,12 @@ class TwoHandChecker {
|
|
|
1155
1277
|
starRating.map = beatmap;
|
|
1156
1278
|
starRating.generateDifficultyHitObjects();
|
|
1157
1279
|
starRating.objects[0].deltaTime =
|
|
1158
|
-
starRating.objects[0].
|
|
1159
|
-
this.indexedHitObjects[0].object.
|
|
1160
|
-
starRating.objects[0].strainTime = Math.max(
|
|
1280
|
+
starRating.objects[0].startTime -
|
|
1281
|
+
this.indexedHitObjects[0].object.startTime;
|
|
1282
|
+
starRating.objects[0].strainTime = Math.max(25, starRating.objects[0].deltaTime);
|
|
1161
1283
|
this.map.objects.push(...starRating.objects);
|
|
1162
1284
|
});
|
|
1163
|
-
this.map.objects.sort((a, b) =>
|
|
1164
|
-
return a.startTime - b.startTime;
|
|
1165
|
-
});
|
|
1285
|
+
this.map.objects.sort((a, b) => a.startTime - b.startTime);
|
|
1166
1286
|
this.map.calculateAll();
|
|
1167
1287
|
}
|
|
1168
1288
|
}
|
|
@@ -1404,42 +1524,41 @@ class ReplayAnalyzer {
|
|
|
1404
1524
|
for (let x = 0; x < size; x++) {
|
|
1405
1525
|
const moveSize = replayDataBuffer.readInt32BE(bufferCounter);
|
|
1406
1526
|
bufferCounter += this.INT_LENGTH;
|
|
1407
|
-
const
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
y: [],
|
|
1412
|
-
id: [],
|
|
1413
|
-
};
|
|
1527
|
+
const time = [];
|
|
1528
|
+
const x = [];
|
|
1529
|
+
const y = [];
|
|
1530
|
+
const id = [];
|
|
1414
1531
|
for (let i = 0; i < moveSize; i++) {
|
|
1415
|
-
|
|
1532
|
+
time[i] = replayDataBuffer.readInt32BE(bufferCounter);
|
|
1416
1533
|
bufferCounter += this.INT_LENGTH;
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
if (
|
|
1534
|
+
id[i] = time[i] & 3;
|
|
1535
|
+
time[i] >>= 2;
|
|
1536
|
+
if (id[i] !== exports.movementType.UP) {
|
|
1420
1537
|
if (resultObject.replayVersion >= 5) {
|
|
1421
|
-
|
|
1422
|
-
replayDataBuffer.readFloatBE(bufferCounter);
|
|
1538
|
+
x[i] = replayDataBuffer.readFloatBE(bufferCounter);
|
|
1423
1539
|
bufferCounter += this.FLOAT_LENGTH;
|
|
1424
|
-
|
|
1425
|
-
replayDataBuffer.readFloatBE(bufferCounter);
|
|
1540
|
+
y[i] = replayDataBuffer.readFloatBE(bufferCounter);
|
|
1426
1541
|
bufferCounter += this.FLOAT_LENGTH;
|
|
1427
1542
|
}
|
|
1428
1543
|
else {
|
|
1429
|
-
|
|
1430
|
-
replayDataBuffer.readInt16BE(bufferCounter);
|
|
1544
|
+
x[i] = replayDataBuffer.readInt16BE(bufferCounter);
|
|
1431
1545
|
bufferCounter += this.SHORT_LENGTH;
|
|
1432
|
-
|
|
1433
|
-
replayDataBuffer.readInt16BE(bufferCounter);
|
|
1546
|
+
y[i] = replayDataBuffer.readInt16BE(bufferCounter);
|
|
1434
1547
|
bufferCounter += this.SHORT_LENGTH;
|
|
1435
1548
|
}
|
|
1436
1549
|
}
|
|
1437
1550
|
else {
|
|
1438
|
-
|
|
1439
|
-
|
|
1551
|
+
x[i] = -1;
|
|
1552
|
+
y[i] = -1;
|
|
1440
1553
|
}
|
|
1441
1554
|
}
|
|
1442
|
-
resultObject.cursorMovement.push(
|
|
1555
|
+
resultObject.cursorMovement.push(new CursorData({
|
|
1556
|
+
size: moveSize,
|
|
1557
|
+
time: time,
|
|
1558
|
+
x: x,
|
|
1559
|
+
y: y,
|
|
1560
|
+
id: id,
|
|
1561
|
+
}));
|
|
1443
1562
|
}
|
|
1444
1563
|
const replayObjectLength = replayDataBuffer.readInt32BE(bufferCounter);
|
|
1445
1564
|
bufferCounter += this.INT_LENGTH;
|
|
@@ -1720,6 +1839,7 @@ class ReplayObjectData {
|
|
|
1720
1839
|
}
|
|
1721
1840
|
|
|
1722
1841
|
exports.CursorData = CursorData;
|
|
1842
|
+
exports.CursorOccurrence = CursorOccurrence;
|
|
1723
1843
|
exports.ReplayAnalyzer = ReplayAnalyzer;
|
|
1724
1844
|
exports.ReplayData = ReplayData;
|
|
1725
1845
|
exports.ReplayObjectData = ReplayObjectData;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/data/CursorData.ts","../src/constants/hitResult.ts","../src/constants/movementType.ts","../src/data/ReplayData.ts","../src/analysis/BeatmapSectionGenerator.ts","../src/analysis/data/BeatmapSection.ts","../src/analysis/data/ThreeFingerBeatmapSection.ts","../src/analysis/ThreeFingerChecker.ts","../src/analysis/objects/IndexedHitObject.ts","../src/analysis/TwoHandChecker.ts","../src/ReplayAnalyzer.ts","../src/data/ReplayObjectData.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["hitResult","movementType","Accuracy","MapStats","ModUtil","DroidHitWindow","ModPrecise","MathUtils","Circle","Spinner","Vector2","Interpolation","Utils","DroidAPIRequestBuilder","stream","Readable","Parse","javaDeserialization","ModHidden","ModFlashlight","DroidStarRating","RebalanceDroidStarRating"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/data/CursorOccurrence.ts","../src/data/CursorData.ts","../src/constants/hitResult.ts","../src/constants/movementType.ts","../src/data/ReplayData.ts","../src/analysis/BeatmapSectionGenerator.ts","../src/analysis/data/BeatmapSection.ts","../src/analysis/data/ThreeFingerBeatmapSection.ts","../src/analysis/ThreeFingerChecker.ts","../src/analysis/objects/IndexedHitObject.ts","../src/analysis/TwoHandChecker.ts","../src/ReplayAnalyzer.ts","../src/data/ReplayObjectData.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Vector2","hitResult","movementType","Accuracy","MapStats","ModUtil","DroidHitWindow","ModPrecise","MathUtils","Circle","Spinner","Interpolation","Utils","Slider","DroidAPIRequestBuilder","stream","Readable","Parse","javaDeserialization","ModHidden","ModFlashlight","DroidStarRating","RebalanceDroidStarRating"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAEG;MACU,gBAAgB,CAAA;AACzB;;AAEG;AACM,IAAA,IAAI,CAAS;AAEtB;;AAEG;AACM,IAAA,QAAQ,CAAU;AAE3B;;AAEG;AACM,IAAA,EAAE,CAAe;AAE1B,IAAA,WAAA,CAAY,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,EAAgB,EAAA;AAC5D,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAIA,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;AACJ;;ACMD;;;;;;AAMG;MACU,UAAU,CAAA;AACnB;;AAEG;IACH,WAAW,GAAuB,EAAE,CAAC;AAErC,IAAA,WAAA,CAAY,MAAyB,EAAA;AACjC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;AAClC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,IAAI,gBAAgB,CAChB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EACd,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACX,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACX,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACf,CACJ,CAAC;AACL,SAAA;KACJ;AACJ;;AC1DD;;AAEG;AACSC,2BAoBX;AApBD,CAAA,UAAY,SAAS,EAAA;AACjB;;AAEG;AACH,IAAA,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AAEZ;;AAEG;AACH,IAAA,SAAA,CAAA,SAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;AAEb;;AAEG;AACH,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AAEd;;AAEG;AACH,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AAClB,CAAC,EApBWA,iBAAS,KAATA,iBAAS,GAoBpB,EAAA,CAAA,CAAA;;ACvBD;;AAEG;AACSC,8BAIX;AAJD,CAAA,UAAY,YAAY,EAAA;AACpB,IAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,YAAA,CAAA,YAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAE,CAAA;AACN,CAAC,EAJWA,oBAAY,KAAZA,oBAAY,GAIvB,EAAA,CAAA,CAAA;;ACmID;;;;;;AAMG;MACU,UAAU,CAAA;AACV,IAAA,aAAa,CAAS;AACtB,IAAA,UAAU,CAAS;AACnB,IAAA,QAAQ,CAAS;AACjB,IAAA,IAAI,CAAS;AACb,IAAA,IAAI,CAAO;AACX,IAAA,OAAO,CAAS;AAChB,IAAA,OAAO,CAAS;AAChB,IAAA,KAAK,CAAS;AACd,IAAA,QAAQ,CAAS;AACjB,IAAA,QAAQ,CAAW;AACnB,IAAA,WAAW,CAAU;AACrB,IAAA,UAAU,CAAS;AACnB,IAAA,OAAO,CAAS;AAChB,IAAA,IAAI,CAAS;AACb,IAAA,aAAa,CAAQ;AACrB,IAAA,cAAc,CAAe;AAC7B,IAAA,aAAa,CAAqB;AAClC,IAAA,iBAAiB,CAAS;AAC1B,IAAA,QAAQ,CAAU;AAE3B,IAAA,WAAA,CAAY,MAAyB,EAAA;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC1C,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACpC,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAChC,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAIC,gBAAQ,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;AAChD,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC5C,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;KACnC;AACJ;;ACjLD;;AAEG;MACmB,uBAAuB,CAAA;AACzC;;;;;;;;AAQG;AACH,IAAA,OAAO,gBAAgB,CACnB,GAAqC,EACrC,qBAA6B,EAC7B,mBAA2B,EAAA;QAE3B,MAAM,eAAe,GAAqB,EAAE,CAAC;QAC7C,IAAI,gBAAgB,GAAW,CAAC,CAAC;AAEjC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;YAC7C,MAAM,OAAO,GACT,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GACN,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEvB,YAAA,MAAM,aAAa,GACf,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAEnD,IAAI,aAAa,IAAI,mBAAmB,EAAE;;AAEtC,gBAAA,IAAI,CAAC,GAAG,gBAAgB,GAAG,qBAAqB,EAAE;AAC9C,oBAAA,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,SAAS;AACZ,iBAAA;gBAED,eAAe,CAAC,IAAI,CAAC;oBACjB,gBAAgB;AAChB,oBAAA,eAAe,EAAE,CAAC;AACrB,iBAAA,CAAC,CAAC;AAEH,gBAAA,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,aAAA;AACJ,SAAA;;QAGD,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,gBAAgB,GAAG,qBAAqB,EAAE;YAC/D,eAAe,CAAC,IAAI,CAAC;gBACjB,gBAAgB;AAChB,gBAAA,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AAC1C,aAAA,CAAC,CAAC;AACN,SAAA;AAED,QAAA,OAAO,eAAe,CAAC;KAC1B;AACJ;;AClED;;AAEG;MACU,cAAc,CAAA;AACvB;;AAEG;AACM,IAAA,gBAAgB,CAAS;AAElC;;AAEG;AACM,IAAA,eAAe,CAAS;AAEjC;;;AAGG;IACH,WAAY,CAAA,gBAAwB,EAAE,eAAuB,EAAA;AACzD,QAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AACzC,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KAC1C;AACJ;;ACpBD;;AAEG;AACG,MAAO,yBAA0B,SAAQ,cAAc,CAAA;AACzD;;AAEG;AACH,IAAA,SAAS,CAAU;AAEnB;;AAEG;AACH,IAAA,eAAe,CAAS;AAExB,IAAA,WAAA,CAAY,MAKX,EAAA;QACG,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAClC,QAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;KACjD;AACJ;;AC+DD;;AAEG;MACU,kBAAkB,CAAA;AAC3B;;AAEG;AACM,IAAA,GAAG,CAA6C;AAEzD;;AAEG;AACM,IAAA,IAAI,CAAa;AAE1B;;;;AAIG;AACK,IAAA,OAAgB,eAAe,GAAW,GAAG,CAAC;AAEtD;;;;;;;AAOG;IACc,iCAAiC,GAAW,EAAE,CAAC;AAEhE;;;AAGG;IACc,8BAA8B,GAAW,EAAE,CAAC;AAE7D;;;AAGG;IACc,6BAA6B,GAAW,IAAI,CAAC;AAE9D;;AAEG;AACc,IAAA,eAAe,CAAS;AAEzC;;;;;AAKG;IACc,yBAAyB,GAAW,IAAI,CAAC;AAE1D;;;;;;;AAOG;IACc,mBAAmB,GAAW,IAAI,CAAC;AAEpD;;;;AAIG;IACc,qBAAqB,GAAW,CAAC,CAAC;AAEnD;;AAEG;IACc,eAAe,GAAgC,EAAE,CAAC;AAEnE;;;;;;AAMG;IACc,sBAAsB,GAAW,GAAG,CAAC;AAEtD;;AAEG;AACc,IAAA,SAAS,CAAiB;AAE3C;;;;;AAKG;IACc,uBAAuB,GAAyB,EAAE,CAAC;AAEpE;;AAEG;IACc,mBAAmB,GAAiB,EAAE,CAAC;AAExD;;AAEG;IACc,WAAW,GAAiB,EAAE,CAAC;AAEhD;;;AAGG;IACH,WACI,CAAA,GAA+C,EAC/C,IAAgB,EAAA;AAEhB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAEjB,QAAA,MAAM,KAAK,GAAa,IAAIC,gBAAQ,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AAC9B,YAAA,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CACtB,CAAC,CAAC,KACE,CAACC,eAAO,CAAC,iBAAiB;iBACrB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;AACzB,iBAAA,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CACnC;SACJ,CAAC,CAAC,SAAS,EAAE,CAAC;QAEf,IAAI,CAAC,SAAS,GAAG,IAAIC,sBAAc,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;QAE/C,MAAM,WAAW,GAEsB,GAAG,CAAC,OAAO,CAAC,MAAM,CACjD,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,eAAe,CACnE,CAAC;AACN,QAAA,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;KAC7C;AAED;;AAEG;IACH,OAAO,kBAAkB,CACrB,GAA+C,EAAA;AAE/C,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CACnB,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,CACrD,CAAC;KACL;AAED;;;;;;;;;AASG;IACH,KAAK,GAAA;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE;YAC5B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC3C,SAAA;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAE7B,QAAA,IACI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3D,MAAM,IAAI,CAAC,EAClB;YACE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC3C,SAAA;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAE7B,QAAA,IACI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3D,MAAM,IAAI,CAAC,EAClB;YACE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC3C,SAAA;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAE5B,QAAA,MAAM,YAAY,GAAW,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE1D,OAAO,EAAE,SAAS,EAAE,YAAY,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;KACjE;AAED;;;;;AAKG;IACK,sBAAsB,GAAA;AAC1B,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AACrB,QAAA,MAAM,UAAU,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAE/D,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CACzC,CAAC,CAAC,KAAK,CAAC,YAAYC,kBAAU,CACjC,CAAC;AAEF,QAAA,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;AACjD,YAAA,MAAM,WAAW,GAAWC,iBAAS,CAAC,KAAK,CACvC,OAAO,CAAC,SAAS,CACb,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,SAAS,CAClD,GAAG,CAAC,EACL,CAAC,EACD,OAAO,CAAC,MAAM,GAAG,CAAC,CACrB,CAAC;YACF,IAAI,UAAU,GAAW,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;;YAG7D,IAAI,0BAA0B,GAC1B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7C,YAAA,QAAQ,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM;gBAClC,KAAKP,iBAAS,CAAC,UAAU;oBACrB,0BAA0B;AACtB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,UAAU;oBACrB,0BAA0B;AACtB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,0BAA0B;AACtB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;YAED,UAAU,IAAI,0BAA0B,CAAC;AAEzC,YAAA,MAAM,UAAU,GAAW,WAAW,GAAG,CAAC,CAAC;YAC3C,IAAI,SAAS,GAAW,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;;YAG7D,IAAI,yBAAyB,GACzB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7C,YAAA,QAAQ,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM;gBACjC,KAAKA,iBAAS,CAAC,UAAU;oBACrB,yBAAyB;AACrB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,UAAU;oBACrB,yBAAyB;AACrB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,yBAAyB;AACrB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;YAED,SAAS,IAAI,yBAAyB,CAAC;AAEvC,YAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;AAC9B,gBAAA,SAAS,EAAE,UAAU;AACrB,gBAAA,OAAO,EAAE,SAAS;AACrB,aAAA,CAAC,CAAC;AACN,SAAA;KACJ;AAED;;;;AAIG;IACK,qBAAqB,GAAA;AACzB,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AACrB,QAAA,MAAM,UAAU,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAE/D,MAAM,iBAAiB,GAAc,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1D,MAAM,gBAAgB,GAAc,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;AAE9D,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CACzC,CAAC,CAAC,KAAK,CAAC,YAAYM,kBAAU,CACjC,CAAC;;QAGF,IAAI,oBAAoB,GACpB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,YAAYE,cAAM,EAAE;AACrC,YAAA,QAAQ,iBAAiB;gBACrB,KAAKR,iBAAS,CAAC,UAAU;oBACrB,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,UAAU;oBACrB,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;;QAGD,IAAI,mBAAmB,GACnB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,YAAYQ,cAAM,EAAE;AAC1C,YAAA,QAAQ,gBAAgB;gBACpB,KAAKR,iBAAS,CAAC,UAAU;oBACrB,mBAAmB;AACf,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,UAAU;oBACrB,mBAAmB;AACf,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,mBAAmB;AACf,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;;;;AAKD,QAAA,MAAM,kBAAkB,GACpB,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,oBAAoB,CAAC;AACvD,QAAA,MAAM,iBAAiB,GACnB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,SAAS,GAAG,mBAAmB,CAAC;AAE3D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,MAAM,cAAc,GAAe,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAC/D,YAAA,MAAM,aAAa,GAAe,IAAI,UAAU,CAAC;AAC7C,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,CAAC,EAAE,EAAE;AACL,gBAAA,CAAC,EAAE,EAAE;AACL,gBAAA,EAAE,EAAE,EAAE;AACT,aAAA,CAAC,CAAC;AAEH,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACxD,gBAAA,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAKC,oBAAY,CAAC,IAAI,EAAE;oBACxD,SAAS;AACZ,iBAAA;gBAED,MAAM,IAAI,GAAW,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAExD,gBAAA,IAAI,IAAI,GAAG,kBAAkB,IAAI,IAAI,GAAG,iBAAiB,EAAE;oBACvD,SAAS;AACZ,iBAAA;gBAED,IACI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAC7B,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAClD,EACH;oBACE,SAAS;AACZ,iBAAA;AAED,gBAAA,aAAa,CAAC,WAAW,CAAC,IAAI,CAC1B,IAAI,gBAAgB,CAChB,IAAI,EACJ,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACxC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACxC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CACnC,CACJ,CAAC;AACL,aAAA;AAED,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAChD,SAAA;KACJ;AAED;;;AAGG;IACK,kBAAkB,GAAA;AACtB,QAAA,MAAM,eAAe,GACjB,uBAAuB,CAAC,gBAAgB,CACpC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,mBAAmB,CAC3B,CAAC;AACN,QAAA,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;AAC1C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CACrB,IAAI,yBAAyB,CAAC;gBAC1B,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;gBACjD,eAAe,EAAE,cAAc,CAAC,eAAe;AAC/C,gBAAA,SAAS,EAAE,KAAK;gBAChB,eAAe,EAAE,CAAC,CAAC;AACtB,aAAA,CAAC,CACL,CAAC;AACL,SAAA;KACJ;AAED;;AAEG;IACK,cAAc,GAAA;AAClB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAClD,YAAA,MAAM,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAElE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,SAAS,CAAC;AACpD,YAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;AACxD,SAAA;KACJ;AAED;;;;;;AAMG;AACK,IAAA,SAAS,CAAC,OAAuB,EAAA;AACrC,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AACrB,QAAA,MAAM,UAAU,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAC/D,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CACzC,CAAC,CAAC,KAAK,CAAC,YAAYK,kBAAU,CACjC,CAAC;QAEF,MAAM,WAAW,GACb,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtC,MAAM,UAAU,GACZ,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAErC,QAAA,IAAI,qBAAqB,GAAW,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;AACjE,QAAA,IAAI,WAAW,CAAC,MAAM,YAAYE,cAAM,EAAE;YACtC,QAAQ,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM;gBAC/C,KAAKR,iBAAS,CAAC,UAAU;oBACrB,qBAAqB;AACjB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,UAAU;oBACrB,qBAAqB;AACjB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,qBAAqB;AACjB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AAAM,aAAA;YACH,qBAAqB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACrE,SAAA;AAED,QAAA,IAAI,oBAAoB,GAAW,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC;AAC/D,QAAA,IAAI,UAAU,CAAC,MAAM,YAAYQ,cAAM,EAAE;YACrC,QAAQ,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM;gBAC9C,KAAKR,iBAAS,CAAC,UAAU;oBACrB,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,UAAU;oBACrB,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AAAM,aAAA;YACH,oBAAoB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpE,SAAA;;;QAID,MAAM,aAAa,GAAa,EAAE,CAAC;AACnC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,MAAM,CAAC,GAAe,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAClD,YAAA,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,SAAS;AACZ,aAAA;;;AAID,YAAA,IACI,CAAC,CAAC,WAAW,CAAC,MAAM,CAChB,CAAC,CAAC,KACE,CAAC,CAAC,IAAI,IAAI,qBAAqB;gBAC/B,CAAC,CAAC,IAAI,IAAI,oBAAoB,CACrC,CAAC,MAAM,KAAK,CAAC,EAChB;gBACE,SAAS;AACZ,aAAA;;AAGD,YAAA,IACI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAKC,oBAAY,CAAC,IAAI,CAAC;iBAClD,MAAM,KAAK,CAAC,EACnB;gBACE,SAAS;AACZ,aAAA;AAED,YAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,aAAa,CACrB,OAAO,CAAC,KAAK,CACT,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,eAAe,GAAG,CAAC,CAC9B,EACD,UAAU,CAAC,KAAK,CACZ,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,eAAe,GAAG,CAAC,CAC9B,EACD,aAAa,CAChB,CAAC;KACL;AAED;;;;;;AAMG;AACK,IAAA,aAAa,CACjB,cAAsE,EACtE,uBAA2C,EAC3C,aAAuB,EAAA;QAEvB,IAAI,WAAW,GAAW,cAAc,CAAC,SAAS,CAC9C,CAAC,CAAC,EAAE,CAAC,KACD,EAAE,CAAC,CAAC,MAAM,YAAYQ,eAAO,CAAC;YAC9B,uBAAuB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAKT,iBAAS,CAAC,QAAQ,CAC/D,CAAC;AACF,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACpB,OAAO,CAAC,CAAC,CAAC;AACb,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,YAAA,IAAI,WAAW,KAAK,cAAc,CAAC,MAAM,EAAE;gBACvC,MAAM;AACT,aAAA;AAED,YAAA,MAAM,CAAC,GACH,cAAc,CAAC,WAAW,CAAC,CAAC;AAChC,YAAA,MAAM,CAAC,GAAqB,uBAAuB,CAAC,WAAW,CAAC,CAAC;AACjE,YAAA,EAAE,WAAW,CAAC;AAEd,YAAA,IAAI,CAAC,CAAC,MAAM,KAAKA,iBAAS,CAAC,QAAQ,EAAE;gBACjC,SAAS;AACZ,aAAA;;AAGD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC3C,gBAAA,MAAM,CAAC,GACH,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;;;;gBAK/C,MAAM,OAAO,GAAW,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC;AACxD,gBAAA,MAAM,YAAY,GAAW,CAAC,CAAC,WAAW,CAAC,SAAS,CAChD,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,OAAO,CAC3B,CAAC;AACF,gBAAA,MAAM,QAAQ,GAAW,YAAY,GAAG,CAAC,CAAC;AAC1C,gBAAA,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE;AAChB,oBAAA,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtB,SAAS;AACZ,iBAAA;AACD,gBAAA,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAKC,oBAAY,CAAC,EAAE,EAAE;AAChD,oBAAA,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtB,SAAS;AACZ,iBAAA;gBAED,MAAM,cAAc,GAAY,IAAIF,eAAO,CACvC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAClC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CACrC,CAAC;gBAEF,IAAI,UAAU,GAAY,KAAK,CAAC;gBAEhC,IACI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,KAAKE,oBAAY,CAAC,IAAI;oBACpD,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAKA,oBAAY,CAAC,IAAI,EAClD;;;oBAGE,KACI,IAAI,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,EAC7C,UAAU,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,EAC9C,EAAE,UAAU,EACd;AACE,wBAAA,MAAM,CAAC,GACH,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI;AAC9C,6BAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI;gCACzB,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1C,wBAAA,cAAc,CAAC,CAAC,GAAGS,qBAAa,CAAC,IAAI,CACjC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAClC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,EACtC,CAAC,CACJ,CAAC;AACF,wBAAA,cAAc,CAAC,CAAC,GAAGA,qBAAa,CAAC,IAAI,CACjC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAClC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,EACtC,CAAC,CACJ,CAAC;AAEF,wBAAA,IACI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAChC,cAAc,CACjB,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EACtB;4BACE,UAAU,GAAG,IAAI,CAAC;4BAClB,MAAM;AACT,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AAAM,qBAAA;oBACH,UAAU;wBACN,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC;AACpD,4BAAA,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACvB,iBAAA;gBACD,IAAI,CAAC,UAAU,EAAE;AACb,oBAAA,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACzB,iBAAA;AACJ,aAAA;AACD,YAAA,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KACtC;AAED;;;;;AAKG;IACK,0BAA0B,GAAA;AAC9B,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,MAAM,kBAAkB,GAAgC,EAAE,CAAC;AAE3D,QAAA,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE;YAC/C,IAAI,cAAc,GAAY,KAAK,CAAC;AACpC,YAAA,IAAI,mBAAmB,GAAG,cAAc,CAAC,gBAAgB,CAAC;AAE1D,YAAA,KACI,IAAI,CAAC,GAAG,cAAc,CAAC,gBAAgB,EACvC,CAAC,IAAI,cAAc,CAAC,eAAe,EACnC,EAAE,CAAC,EACL;AACE,gBAAA,IACI,CAAC,cAAc;AACf,oBAAA,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB;wBAC5B,kBAAkB,CAAC,eAAe,EACpC;oBACE,cAAc,GAAG,IAAI,CAAC;oBACtB,mBAAmB,GAAG,CAAC,CAAC;oBACxB,SAAS;AACZ,iBAAA;AAED,gBAAA,IACI,cAAc;AACd,oBAAA,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB;wBAC5B,kBAAkB,CAAC,eAAe,EACpC;oBACE,cAAc,GAAG,KAAK,CAAC;oBACvB,kBAAkB,CAAC,IAAI,CAAC;AACpB,wBAAA,gBAAgB,EAAE,mBAAmB;AACrC,wBAAA,eAAe,EAAE,CAAC;wBAClB,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,eAAe,EAAE,cAAc,CAAC,eAAe;AAClD,qBAAA,CAAC,CAAC;AACN,iBAAA;AACJ,aAAA;;AAGD,YAAA,IAAI,cAAc,EAAE;gBAChB,kBAAkB,CAAC,IAAI,CAAC;AACpB,oBAAA,gBAAgB,EAAE,mBAAmB;oBACrC,eAAe,EAAE,cAAc,CAAC,eAAe;oBAC/C,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,eAAe,EAAE,cAAc,CAAC,eAAe;AAClD,iBAAA,CAAC,CAAC;AACN,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;KACpD;AAED;;;;;;AAMG;IACK,qBAAqB,GAAA;QACzB,IAAI,kBAAkB,GAAW,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAC5D,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAClC,CAAC,MAAM,CAAC;QACT,IAAI,kBAAkB,IAAI,CAAC,EAAE;YACzB,OAAO;AACV,SAAA;AAED,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,MAAM,iBAAiB,GAAW,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAC7D,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAC9C,CAAC,CACJ,CAAC;AAEF,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,IAAI,kBAAkB,IAAI,CAAC,EAAE;gBACzB,MAAM;AACT,aAAA;YACD,MAAM,cAAc,GAAe,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;;AAE/D,YAAA,IACI,cAAc,CAAC,WAAW,CAAC,MAAM;gBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC;AACvD,gBAAA,cAAc,CAAC,WAAW,CAAC,MAAM,GAAG,iBAAiB;AACrD,oBAAA,IAAI,CAAC,yBAAyB,GAAG,CAAC,EACpC;AACE,gBAAA,EAAE,kBAAkB,CAAC;AACrB,gBAAA,cAAc,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AACzC,aAAA;AACD,YAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;AAChD,SAAA;KACJ;AAED;;;;AAIG;IACK,oBAAoB,GAAA;AACxB,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AACrB,QAAA,MAAM,UAAU,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAC/D,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CACnD,CAAC,CAAC,KAAK,CAAC,YAAYJ,kBAAU,CACjC,CAAC;;;AAIF,QAAA,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE;AAC/C,YAAA,MAAM,SAAS,GAAW,cAAc,CAAC,eAAe,CAAC;YAEzD,MAAM,SAAS,GACX,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,SAAS;AACzD,iBAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM;AAC/C,oBAAAN,iBAAS,CAAC,QAAQ;sBAChB,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,QAAQ;sBACpD,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;YAErD,MAAM,OAAO,GACT,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO;AACtD,iBAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM;AAC9C,oBAAAA,iBAAS,CAAC,QAAQ;sBAChB,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,QAAQ;sBACnD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;;YAGpD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACnC,gBAAA,MAAM,CAAC,GAAW,CAAC,CAAC,WAAW,CAAC,SAAS,CACrC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,SAAS,CAC7B,CAAC;AACF,gBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AACV,oBAAA,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,iBAAA;AACL,aAAC,CAAC,CAAC;YACH,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,MAAM,iBAAiB,GAGjB,EAAE,CAAC;AACT,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;;gBAEtD,IAAI,CAAC,KAAK,SAAS,EAAE;oBACjB,SAAS;AACZ,iBAAA;gBACD,MAAM,UAAU,GAAe,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,gBAAA,KACI,IAAI,CAAC,GAAW,CAAC,EACjB,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,EACjC,EAAE,CAAC,EACL;oBACE,IACI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS;wBAC3C,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,EAC3C;AACE,wBAAA,EAAE,MAAM,CAAC;wBACT,iBAAiB,CAAC,IAAI,CAAC;4BACnB,MAAM,EAAE,IAAID,eAAO,CACf,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACpC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CACvC;4BACD,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;AACvC,yBAAA,CAAC,CAAC;AACN,qBAAA;AACJ,iBAAA;AACD,gBAAA,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,aAAA;;;;AAKD,YAAA,MAAM,gBAAgB,GAAW,SAAS,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;;YAI1D,MAAM,gBAAgB,GAClB,aAAa;iBACR,KAAK,CAAC,gBAAgB,CAAC;AACvB,iBAAA,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;gBAC3C,aAAa;AACR,qBAAA,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC;AAC1B,qBAAA,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YAEhD,MAAM,cAAc,GAA6B,EAAE,CAAC;AAEpD,YAAA,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;gBAC9C,MAAM,UAAU,GAAW,cAAc,CAAC,SAAS,CAC/C,CAAC,CAAC,KACE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC;oBAC7C,IAAI,CAAC,iCAAiC,CAC7C,CAAC;AAEF,gBAAA,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;oBACnB,IACI,gBAAgB,CAAC,IAAI;AACrB,wBAAA,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ;wBACnC,IAAI,CAAC,6BAA6B,EACpC;AACE,wBAAA,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;wBACrC,cAAc,CAAC,IAAI,CAAC;4BAChB,MAAM,EAAE,gBAAgB,CAAC,MAAM;AAC/B,4BAAA,KAAK,EAAE,CAAC;4BACR,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAClC,yBAAA,CAAC,CAAC;wBACH,SAAS;AACZ,qBAAA;oBACD,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;oBAC5D,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAC5D,oBAAA,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;AACtC,iBAAA;AAAM,qBAAA;oBACH,cAAc,CAAC,IAAI,CAAC;wBAChB,MAAM,EAAE,gBAAgB,CAAC,MAAM;AAC/B,wBAAA,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAClC,qBAAA,CAAC,CAAC;AACN,iBAAA;AACJ,aAAA;;YAGD,MAAM,YAAY,GAA6B,cAAc;AACxD,iBAAA,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,8BAA8B,CAAC;AAC7D,iBAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACX,gBAAA,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC7B,aAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,CAAC;;AAGd,YAAA,IACI,CAAC,gBAAgB,GAAG,IAAI,CAAC,yBAAyB;AAC9C,gBAAA,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;AACjD,gBAAA,YAAY,CAAC,MAAM,GAAG,CAAC,EACzB;;AAEE,gBAAA,MAAM,WAAW,GACb,cAAc,CAAC,eAAe;AAC9B,oBAAA,cAAc,CAAC,gBAAgB;AAC/B,oBAAA,CAAC,CAAC;AACN,gBAAA,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CACjC,OAAO;qBACF,KAAK,CACF,cAAc,CAAC,gBAAgB,EAC/B,cAAc,CAAC,eAAe,CACjC;qBACA,MAAM,CACH,CAAC,GAAG,EAAE,KAAK,KACP,GAAG;AACH,oBAAA,KAAK,CAAC,iBAAiB;wBACvB,kBAAkB,CAAC,eAAe,EACtC,CAAC,CACJ,EACL,IAAI,CACP,CAAC;;;gBAIF,MAAM,wBAAwB,GAAa,aAAa;qBACnD,KAAK,CAAC,gBAAgB,CAAC;qBACvB,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;;AAGpC,gBAAA,MAAM,YAAY,GACd,gBAAgB,GAAG,IAAI,CAAC,yBAAyB;AAC7C,sBAAE,wBAAwB,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,KACd,GAAG;AACH,wBAAA,IAAI,CAAC,GAAG,CACJ,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,WAAW;AAClC,4BAAA,IAAI,CAAC,eAAe,EACpB,GAAG,CACN,EACL,CAAC,CACJ;AACD,sBAAE,IAAI,CAAC,GAAG,CACN,YAAY,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,KACd,GAAG;wBACH,IAAI,CAAC,GAAG,CACJ,CAAC,CAAC,KAAK,GAAG,CAAC;6BACN,KAAK,CAAC,KAAK;AACR,iCAAC,IAAI;qCACA,8BAA8B;AAC/B,oCAAA,CAAC,CAAC,CAAC;AACX,4BAAA,WAAW;4BACf,IAAI,CAAC,eAAe,EACpB,GAAG,CACN,EACL,CAAC,CACJ,EACD,GAAG,CACN,CAAC;;AAGV,gBAAA,MAAM,YAAY,GACd,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAE1D,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBAClB,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;oBACvC,YAAY;oBACZ,YAAY;AACf,iBAAA,CAAC,CAAC;AACN,aAAA;AACJ,SAAA;KACJ;AAED;;AAEG;IACK,qBAAqB,GAAA;AACzB,QAAA,QACI,CAAC;AACD,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,CAAC,KACD,CAAC;gBACD,KAAK;oBACL,IAAI,CAAC,GAAG,CACJ,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,EAChD,IAAI,CACP,EACL,CAAC,CACJ,EACH;KACL;;;AClhCL;;AAEG;MACU,gBAAgB,CAAA;AACzB;;AAEG;AACH,IAAA,WAAW,CAAS;AAEpB;;AAEG;AACM,IAAA,MAAM,CAAqD;AAEpE;;;AAGG;IACH,WACI,CAAA,MAA0D,EAC1D,WAAmB,EAAA;AAEnB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;KAClC;AACJ;;ACKD;;AAEG;MACU,cAAc,CAAA;AACvB;;AAEG;AACM,IAAA,GAAG,CAA6C;AAEzD;;AAEG;AACM,IAAA,IAAI,CAAa;AAE1B;;AAEG;IACc,iBAAiB,GAAuB,EAAE,CAAC;AAE5D;;AAEG;AACc,IAAA,SAAS,CAAiB;AAE3C;;;;;AAKG;IACc,mBAAmB,GAAW,CAAC,CAAC;AAEjD;;;;;AAKG;IACc,6BAA6B,GAAW,EAAE,CAAC;AAE5D;;AAEG;IACc,+BAA+B,GAAW,GAAG,CAAC;IAEvD,uBAAuB,GAAY,KAAK,CAAC;AAEjD;;;AAGG;IACH,WACI,CAAA,GAA+C,EAC/C,IAAgB,EAAA;AAEhB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAEjB,QAAA,MAAM,KAAK,GAAa,IAAII,gBAAQ,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AAC9B,YAAA,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CACtB,CAAC,CAAC,KACE,CAACC,eAAO,CAAC,iBAAiB;iBACrB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;AACzB,iBAAA,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CACnC;SACJ,CAAC,CAAC,SAAS,EAAE,CAAC;QAEf,IAAI,CAAC,SAAS,GAAG,IAAIC,sBAAc,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;KAClD;AAED;;AAEG;IACH,KAAK,GAAA;QACD,IACI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3D,MAAM,IAAI,CAAC,EAClB;AACE,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;AAEpB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEG;IACK,eAAe,GAAA;AACnB,QAAA,MAAM,eAAe,GAAW,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;AAE7B,QAAA,IAAI,iBAAiB,GAAW,IAAI,CAAC,6BAA6B,CAAC;AAEnE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC9C,YAAA,MAAM,IAAI,GAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEnE,YAAA,iBAAiB,GAAGE,iBAAS,CAAC,KAAK,CAC/B,iBAAiB,GAAG,IAAI,EACxB,IAAI,CAAC,6BAA6B,EAClC,IAAI,CAAC,+BAA+B,GAAG,GAAG,CAC7C,CAAC;AAEF,YAAA,MAAM,KAAK,GACP,iBAAiB,IAAI,IAAI,CAAC,+BAA+B;kBACnD,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC;kBACvC,CAAC,CAAC;AAEZ,YAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACvB,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CACnD,CAAC;AACL,SAAA;;AAID,QAAA,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3D,QAAA,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjD,QAAA,OAAO,CAAC,GAAG,CACP,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EACtC,gBAAgB,EAChB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EACtC,WAAW,CACd,CAAC;AAEF,QAAA,MAAM,WAAW,GAAaI,aAAK,CAAC,eAAe,CAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAC/B,CAAC,CACJ,CAAC;AACF,QAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AACzB,YAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,SAAS;AACZ,aAAA;AACD,YAAA,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACxB,SAAA;AAED,QAAA,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;QACtE,MAAM,oBAAoB,GAAa,EAAE,CAAC;AAC1C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACzC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAC3C,gBAAA,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,aAAA;AACJ,SAAA;QAED,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,KAAI;AAChD,YAAA,IACI,gBAAgB,CAAC,WAAW,KAAK,CAAC,CAAC;AACnC,gBAAA,oBAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAC7D;AACE,gBAAA,gBAAgB,CAAC,WAAW,GAAG,eAAe,CAAC;AAClD,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,OAAO,CAAC,GAAG,CACP,OAAO,EACP,CAAC,EACD,QAAQ,EACR,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACxC,CAAC;AACL,SAAA;KACJ;AAED;;;;AAIG;AACK,IAAA,yBAAyB,CAAC,KAAa,EAAA;QAC3C,MAAM,MAAM,GACR,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAE5B,QAAA,IAAI,MAAM,CAAC,MAAM,YAAYF,eAAO,EAAE;AAClC,YAAA,OAAO,GAAG,CAAC;AACd,SAAA;AAED,QAAA,MAAM,SAAS,GACX,MAAM,CAAC,KAAK,KAAK,IAAI;AACjB,cAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;cAC7C,CAAC,CAAC;AAEZ,QAAA,MAAM,SAAS,GACX,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;;QAG5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;KAC/C;AAED;;AAEG;IACK,kBAAkB,GAAA;QACtB,MAAM,UAAU,GAAa,EAAE,CAAC;AAEhC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,MAAM,CAAC,GAAe,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAElD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC3C,gBAAA,IACI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;AACrB,oBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;AACxC,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,EACrC;oBACE,SAAS;AACZ,iBAAA;AAED,gBAAA,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAKR,oBAAY,CAAC,IAAI,EAAE;oBAC3C,SAAS;AACZ,iBAAA;gBAED,MAAM,SAAS,GACX,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;gBAE7D,IAAI,SAAS,GAAG,CAAC,EAAE;AACf,oBAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9B,iBAAA;AACJ,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;KAClC;AAED;;;;;;AAMG;IACK,cAAc,CAAC,KAAa,EAAE,eAAuB,EAAA;QACzD,MAAM,MAAM,GACR,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAqB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAE9D,QAAA,IACI,MAAM,CAAC,MAAM,YAAYQ,eAAO;AAChC,YAAA,IAAI,CAAC,MAAM,KAAKT,iBAAS,CAAC,QAAQ,EACpC;YACE,OAAO,CAAC,CAAC,CAAC;AACb,SAAA;AAED,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CACnD,CAAC,CAAC,KAAK,CAAC,YAAYM,kBAAU,CACjC,CAAC;AACF,QAAA,MAAM,QAAQ,GAAY,MAAM,CAAC,MAAM,YAAYM,cAAM,CAAC;;QAG1D,IAAI,eAAe,GAAW,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE;YACX,QAAQ,IAAI,CAAC,MAAM;gBACf,KAAKZ,iBAAS,CAAC,UAAU;oBACrB,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC5D,MAAM;gBACV,KAAKA,iBAAS,CAAC,UAAU;oBACrB,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC5D,MAAM;AACb,aAAA;AACJ,SAAA;AAED,QAAA,MAAM,SAAS,GAAW,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AAClD,QAAA,MAAM,OAAO,GAAW,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;AAClD,QAAA,MAAM,cAAc,GAChB,SAAS,GAAG,eAAe,GAAG,eAAe,CAAC;AAClD,QAAA,MAAM,cAAc,GAChB,SAAS,GAAG,eAAe,GAAG,eAAe,CAAC;QAClD,MAAM,kBAAkB,GAAwB,EAAE,CAAC;AAEnD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,MAAM,CAAC,GAAe,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAElD,YAAA,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,SAAS;AACZ,aAAA;AAED,YAAA,IAAI,kBAAkB,GAClBO,iBAAS,CAAC,KAAK,CACX,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,EACxD,CAAC,EACD,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAC3B,GAAG,CAAC,CAAC;AACV,YAAA,IAAI,iBAAiB,GAAW,CAAC,CAAC,WAAW,CAAC,SAAS;;;YAGnD,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CACnE,CAAC;AAEF,YAAA,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE;;;AAG1B,gBAAA,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;AAC5C,aAAA;AAED,YAAA,EAAE,iBAAiB,CAAC;;;AAIpB,YAAA,OACI,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI;gBACnC,CAAC,CAAC,WAAW,CAAC,kBAAkB,GAAG,CAAC,CAAC,EAAE,IAAI;gBAC/C,kBAAkB,GAAG,CAAC,EACxB;AACE,gBAAA,EAAE,kBAAkB,CAAC;AACxB,aAAA;;;AAID,YAAA,IAAI,QAAQ,GAAW,MAAM,CAAC,iBAAiB,CAAC;AAChD,YAAA,IAAI,gBAAgB,GAAW,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;AAGpD,YAAA,IAAI,QAAQ,EAAE;gBACV,gBAAgB,IAAI,GAAG,CAAC;AAC3B,aAAA;YAED,IAAI,CAAC,GAAW,kBAAkB,CAAC;YAEnC,KAAK,CAAC,EAAE,CAAC,IAAI,iBAAiB,EAAE,EAAE,CAAC,EAAE;gBACjC,MAAM,UAAU,GAAqB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM,cAAc,GAAqB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9D,gBAAA,MAAM,cAAc,GAAY,UAAU,CAAC,QAAQ,CAAC;gBAEpD,IAAI,UAAU,CAAC,IAAI,GAAG,OAAO,GAAG,eAAe,GAAG,EAAE,EAAE;;;AAGlD,oBAAA,IAAI,UAAU,CAAC,EAAE,KAAKN,oBAAY,CAAC,EAAE,EAAE;AACnC,wBAAA,QAAQ,GAAG,IAAI,CAAC,GAAG,CACf,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CACrC,cAAc,CACjB,CACJ,CAAC;AACL,qBAAA;oBACD,MAAM;AACT,iBAAA;AAED,gBAAA,IAAI,UAAU,CAAC,EAAE,KAAKA,oBAAY,CAAC,EAAE,EAAE;oBACnC,SAAS;AACZ,iBAAA;gBAED,QAAQ;oBACJ,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAE9D,gBAAA,IACI,cAAc;AACd,oBAAA,cAAc,CAAC,EAAE,KAAKA,oBAAY,CAAC,IAAI;AACvC,oBAAA,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI;oBACvC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EACtD;;;AAGE,oBAAA,MAAM,YAAY,GAAY,cAAc,CAAC,QAAQ,CAAC;oBAEtD,MAAM,YAAY,GACd,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAE1C,oBAAA,KACI,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CACrB,cAAc,EACd,UAAU,CAAC,IAAI,CAClB,EACD,UAAU;AACV,wBAAA,IAAI,CAAC,GAAG,CACJ,OAAO,GAAG,eAAe,EACzB,cAAc,CAAC,IAAI,CACtB,EACD,EAAE,UAAU,EACd;wBACE,MAAM,QAAQ,GACV,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI;6BAC5B,cAAc,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;wBAE5C,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAChD,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CACnD,CAAC;AACL,qBAAA;AACJ,iBAAA;AACJ,aAAA;YAED,IAAI,QAAQ,GAAG,gBAAgB,EAAE;gBAC7B,SAAS;AACZ,aAAA;YAED,IAAI,mBAAmB,GAAW,CAAC,CAAC;AAEpC,YAAA,IAAI,QAAQ,EAAE;gBACV,IAAI,CAAC,uBAAuB,GAAG,mBAAmB,GAAG,CAAC,KAAK,CAAC,CAAC;AAChE,aAAA;AAAM,iBAAA;;gBAEH,OACI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,KAAKA,oBAAY,CAAC,IAAI;oBAC1C,CAAC,GAAG,kBAAkB,EACxB;AACE,oBAAA,EAAE,CAAC,CAAC;AACP,iBAAA;AAED,gBAAA,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAKA,oBAAY,CAAC,IAAI,EAAE;oBAC3C,IAAI,gBAAgB,GAAY,KAAK,CAAC;;AAGtC,oBAAA,IACI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAKA,oBAAY,CAAC,IAAI;AAC9C,wBAAA,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAKA,oBAAY,CAAC,EAAE;;;;wBAI5C,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAC7B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAChC,EACH;wBACE,MAAM,WAAW,GAAY,CAAC,CAAC,WAAW,CACtC,CAAC,GAAG,CAAC,CACR,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;wBAE/C,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;AAC7B,4BAAA,MAAM,IAAI,GAGN,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAEhC,4BAAA,MAAM,aAAa,GACf,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAChC,MAAM,CAAC,MAAM,CAAC,WAAW,CAC5B,CAAC;4BAEN,MAAM,GAAG,GAAW,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;4BACnD,MAAM,GAAG,GACL,aAAa,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAC/B,gCAAA,aAAa,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;AAEpC,4BAAA,MAAM,mBAAmB,GAAW,IAAI,CAAC,GAAG,CACxC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CACvB,CAAC;4BAEF,gBAAgB;AACZ,gCAAA,mBAAmB,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC,yBAAA;AAED,wBAAA,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAClD,4BAAA,MAAM,IAAI,GAGN,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAEhC,4BAAA,MAAM,eAAe,GACjB,MAAM,CAAC,MAAM,CAAC,WAAW;AACpB,iCAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;iCACrC,KAAK,CAAC,GAAG,CAAC;AACV,iCAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;4BAE7C,MAAM,GAAG,GACL,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;4BACrC,MAAM,GAAG,GACL,eAAe,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AACjC,gCAAA,eAAe,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;AAEtC,4BAAA,MAAM,8BAA8B,GAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;4BAEnC,gBAAgB;AACZ,gCAAA,8BAA8B,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,yBAAA;AACJ,qBAAA;AAED,oBAAA,IAAI,gBAAgB,EAAE;AAClB,wBAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;wBACpC,mBAAmB,GAAG,CAAC,CAAC;AAC3B,qBAAA;AAAM,yBAAA;wBACH,mBAAmB,GAAG,IAAI,CAAC,uBAAuB;AAC9C,8BAAE,CAAC;8BACD,CAAC,CAAC;AACR,wBAAA,IAAI,CAAC,uBAAuB;4BACxB,CAAC,IAAI,CAAC,uBAAuB,CAAC;AACrC,qBAAA;AACJ,iBAAA;AACJ,aAAA;YAED,kBAAkB,CAAC,IAAI,CAAC;AACpB,gBAAA,WAAW,EAAE,mBAAmB;AAChC,gBAAA,YAAY,EAAE,QAAQ;AACzB,aAAA,CAAC,CAAC;AACN,SAAA;;;AAID,QAAA,MAAM,eAAe,GAAW,IAAI,CAAC,GAAG,CACpC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;YAC5B,OAAO,CAAC,CAAC,YAAY,CAAC;SACzB,CAAC,CACL,CAAC;AACF,QAAA,QACI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,eAAe,CAAC;AAC9D,cAAE,WAAW,IAAI,CAAC,CAAC,EACzB;KACL;AAED;;AAEG;IACK,YAAY,GAAA;AAChB,QAAA,MAAM,QAAQ,GAAc,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEvE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACjC,YAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;AAC1B,gBAAA,MAAM,GAAG,GAAYU,aAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAElD,gBAAA,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAEvB,gBAAA,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;AACjC,aAAA;AAED,YAAA,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5D,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAE5B,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;YACzB,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO;AACV,aAAA;YAED,MAAM,UAAU,GACZA,aAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7B,YAAA,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC;YACzB,UAAU,CAAC,4BAA4B,EAAE,CAAC;AAC1C,YAAA,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;AAC3B,gBAAA,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC/B,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;YAC/C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CACvC,EAAE,EACF,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAClC,CAAC;AACF,YAAA,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AACjD,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;AACJ;;AC3hBD;;;;;;AAMG;MACU,cAAc,CAAA;AACvB;;AAEG;AACH,IAAA,OAAO,CAAS;AAEhB;;AAEG;IACH,WAAW,GAAkB,IAAI,CAAC;AAElC;;AAEG;IACH,QAAQ,GAAkB,IAAI,CAAC;AAE/B;;AAEG;AACH,IAAA,SAAS,CAAW;AAEpB;;AAEG;AACH,IAAA,OAAO,CAAW;AAElB;;AAEG;AACH,IAAA,GAAG,CAAwD;AAE3D;;AAEG;IACH,IAAI,GAAsB,IAAI,CAAC;AAE/B;;AAEG;IACH,UAAU,GAAW,CAAC,CAAC;AAEvB;;AAEG;IACH,UAAU,GAAW,CAAC,CAAC;AAEvB;;AAEG;IACH,wBAAwB,GAAY,KAAK,CAAC;AAE1C;;AAEG;IACH,sBAAsB,GAAY,KAAK,CAAC;;IAGvB,WAAW,GAAW,CAAC,CAAC;IACxB,YAAY,GAAW,CAAC,CAAC;IACzB,UAAU,GAAW,CAAC,CAAC;IACvB,YAAY,GAAW,CAAC,CAAC;IACzB,WAAW,GAAW,CAAC,CAAC;AAEzC,IAAA,WAAA,CAAY,MAYX,EAAA;AACG,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;KACzB;AAED;;AAEG;AACH,IAAA,MAAM,OAAO,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrC,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AAClD,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,MAAK;AAC/C,gBAAA,OAAO,IAAI,CAAC;AAChB,aAAC,CAAC,CAAC;AACN,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEG;AACK,IAAA,MAAM,cAAc,GAAA;AACxB,QAAA,MAAM,iBAAiB,GACnB,IAAIE,8BAAsB,EAAE;aACvB,gBAAgB,CAAC,KAAK,CAAC;aACvB,WAAW,CAAC,QAAQ,CAAC;aACrB,YAAY,CAAC,EAAE,EAAE,CAAA,EAAG,IAAI,CAAC,OAAO,CAAM,IAAA,CAAA,CAAC,CAAC;AAEjD,QAAA,MAAM,MAAM,GAAoB,MAAM,iBAAiB,CAAC,WAAW,EAAE,CAAC;AAEtE,QAAA,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,EAAE;AAC3B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,OAAO,MAAM,CAAC,IAAI,CAAC;KACtB;AAED;;;;AAIG;IACK,UAAU,GAAA;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,MAAMC,QAAM,GAAa,IAAIC,eAAQ,EAAE,CAAC;AACxC,YAAAD,QAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9B,YAAAA,QAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClBA,QAAM;iBACD,IAAI,CAACE,cAAK,EAAE,CAAC;AACb,iBAAA,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,KAAI;AACzB,gBAAA,MAAM,QAAQ,GAAW,KAAK,CAAC,IAAI,CAAC;gBACpC,IAAI,QAAQ,KAAK,MAAM,EAAE;oBACrB,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,iBAAA;AAAM,qBAAA;oBACH,KAAK,CAAC,SAAS,EAAE,CAAC;AACrB,iBAAA;AACL,aAAC,CAAC;AACD,iBAAA,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,KAAI;gBACf,UAAU,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACtC,aAAC,CAAC,CAAC;AACX,SAAC,CAAC,CAAC;KACN;AAED;;AAEG;IACK,WAAW,GAAA;;;;AAIf,QAAA,IAAI,SAAgB,CAAC;QACrB,IAAI;YACA,SAAS,GAAGC,8BAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxD,SAAA;QAAC,MAAM;YACJ,OAAO;AACV,SAAA;AAED,QAAA,MAAM,YAAY,GAAsB;AACpC,YAAA,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;AACnC,YAAA,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AACxB,YAAA,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACtB,YAAA,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAClB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,aAAa,EAAE,EAAE;SACpB,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,EAAE;AACjC,YAAA,YAAY,CAAC,IAAI,GAAG,IAAI,IAAI,CACxB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAC1C,CAAC;AACF,YAAA,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACnD,YAAA,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACpD,YAAA,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAClD,YAAA,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACrD,YAAA,YAAY,CAAC,QAAQ,GAAG,IAAIf,gBAAQ,CAAC;gBACjC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;AACtC,aAAA,CAAC,CAAC;AACH,YAAA,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9C,YAAA,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7C,YAAA,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CACzC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CACxB,CAAC;;AAGF,YAAA,MAAM,SAAS,GACX,YAAY,CAAC,QAAQ,CAAC,IAAI;gBAC1B,YAAY,CAAC,QAAQ,CAAC,IAAI;gBAC1B,YAAY,CAAC,QAAQ,CAAC,GAAG;AACzB,gBAAA,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChC,MAAM,QAAQ,GAAY,YAAY,CAAC,aAAa,CAAC,IAAI,CACrD,CAAC,CAAC,KAAK,CAAC,YAAYgB,iBAAS,IAAI,CAAC,YAAYC,qBAAa,CAC9D,CAAC;YAEF,MAAM,WAAW,GAAW,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;AAEnE,YAAA,QAAQ,IAAI;AACR,gBAAA,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;AACpC,oBAAA,IAAI,QAAQ,EAAE;AACV,wBAAA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,qBAAA;AAAM,yBAAA;AACH,wBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3B,qBAAA;oBACD,MAAM;gBACV,KAAK,WAAW,GAAG,GAAG;AAClB,oBAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI;AAC5C,oBAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AAC5B,oBAAA,IAAI,QAAQ,EAAE;AACV,wBAAA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,qBAAA;AAAM,yBAAA;AACH,wBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3B,qBAAA;oBACD,MAAM;gBACV,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AACnD,oBAAA,WAAW,GAAG,GAAG;AACjB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;gBACV,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AACnD,oBAAA,WAAW,GAAG,GAAG;AACjB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;gBACV,KAAK,WAAW,GAAG,GAAG;AAClB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;AACV,gBAAA;AACI,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC/B,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,EAAE;YACjC,MAAM,CAAC,GAAa,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C,YAAA,YAAY,CAAC,iBAAiB;AAC1B,gBAAA,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACd,gBAAA,YAAY,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9D,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,WAAmB,CAAC;AACxB,QAAA,QAAQ,IAAI;;AAER,YAAA,KAAK,YAAY,CAAC,aAAa,IAAI,CAAC;gBAChC,WAAW,GAAG,CAAC,CAAC;gBAChB,MAAM;;AAEV,YAAA,KAAK,YAAY,CAAC,aAAa,KAAK,CAAC;gBACjC,WAAW,GAAG,CAAC,CAAC;gBAChB,MAAM;;AAEV,YAAA;gBACI,WAAW,GAAG,CAAC,CAAC;AACvB,SAAA;QAED,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,KAAK,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE;YAC7D,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AACtD,SAAA;;QAGD,MAAM,gBAAgB,GAAW,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtE,IAAI,aAAa,GAAW,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAW,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACjE,QAAA,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC;;QAGjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC3B,MAAM,QAAQ,GACV,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAChD,YAAA,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC;YACjC,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAa,EAAE,CAAC;YACvB,MAAM,CAAC,GAAa,EAAE,CAAC;YACvB,MAAM,EAAE,GAAmB,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;gBAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACtD,gBAAA,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC;gBACjC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACpB,gBAAA,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACd,IAAI,EAAE,CAAC,CAAC,CAAC,KAAKlB,oBAAY,CAAC,EAAE,EAAE;AAC3B,oBAAA,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,EAAE;wBACjC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACnD,wBAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;wBACnC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACnD,wBAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;AACtC,qBAAA;AAAM,yBAAA;wBACH,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACnD,wBAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;wBACnC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACnD,wBAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;AACtC,qBAAA;AACJ,iBAAA;AAAM,qBAAA;AACH,oBAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACV,oBAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACb,iBAAA;AACJ,aAAA;AACD,YAAA,YAAY,CAAC,cAAc,CAAC,IAAI,CAC5B,IAAI,UAAU,CAAC;AACX,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,EAAE,EAAE,EAAE;AACT,aAAA,CAAC,CACL,CAAC;AACL,SAAA;QAED,MAAM,kBAAkB,GACpB,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAChD,QAAA,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC;;QAGjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;AACzC,YAAA,MAAM,gBAAgB,GAAqB;AACvC,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,MAAM,EAAE,CAAC;aACZ,CAAC;AAEF,YAAA,gBAAgB,CAAC,QAAQ;AACrB,gBAAA,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAChD,YAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;YACnC,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACrD,YAAA,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;YAElC,IAAI,GAAG,GAAG,CAAC,EAAE;gBACT,MAAM,KAAK,GAAa,EAAE,CAAC;gBAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC1B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,oBAAA,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;AACrC,iBAAA;;AAED,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9B,oBAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,wBAAA,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;6BAC9B,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5B,4BAAA,CAAC,CAAC;AACT,iBAAA;AACJ,aAAA;AAED,YAAA,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,EAAE;AACjC,gBAAA,gBAAgB,CAAC,MAAM;AACnB,oBAAA,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC7C,gBAAA,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;AACrC,aAAA;AAED,YAAA,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACrD,SAAA;;QAGD,IAAI,YAAY,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YAC5C,IAAI,MAAM,GAAW,CAAC,CAAC;YACvB,IAAI,OAAO,GAAW,CAAC,CAAC;YACxB,IAAI,MAAM,GAAW,CAAC,CAAC;YACvB,IAAI,OAAO,GAAW,CAAC,CAAC;YACxB,IAAI,KAAK,GAAW,CAAC,CAAC;YACtB,IAAI,IAAI,GAAW,CAAC,CAAC;YACrB,IAAI,gBAAgB,GAAY,IAAI,CAAC;AAErC,YAAA,MAAM,OAAO,GAAyB,CAClC,IAAI,CAAC,GAAG,YAAYmB,uCAAe;gBACnC,IAAI,CAAC,GAAG,YAAYC,gDAAwB;AACxC,kBAAE,IAAI,CAAC,GAAG,CAAC,GAAG;kBACZ,IAAI,CAAC,GAAG,EAChB,UAAU,CAAC,OAAO,CAAC;AAErB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;;gBAExD,MAAM,aAAa,GACf,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,cAAc,GAChB,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBAEhE,QAAQ,aAAa,CAAC,MAAM;oBACxB,KAAKrB,iBAAS,CAAC,QAAQ;AACnB,wBAAA,EAAE,IAAI,CAAC;wBACP,gBAAgB,GAAG,KAAK,CAAC;wBACzB,MAAM;oBACV,KAAKA,iBAAS,CAAC,SAAS;AACpB,wBAAA,EAAE,KAAK,CAAC;wBACR,gBAAgB,GAAG,KAAK,CAAC;wBACzB,MAAM;oBACV,KAAKA,iBAAS,CAAC,UAAU;AACrB,wBAAA,EAAE,MAAM,CAAC;wBACT,IAAI,gBAAgB,IAAI,cAAc,EAAE;AACpC,4BAAA,EAAE,OAAO,CAAC;AACb,yBAAA;wBACD,MAAM;oBACV,KAAKA,iBAAS,CAAC,UAAU;AACrB,wBAAA,EAAE,MAAM,CAAC;wBACT,IAAI,gBAAgB,IAAI,cAAc,EAAE;AACpC,4BAAA,EAAE,OAAO,CAAC;AACb,yBAAA;wBACD,MAAM;AACb,iBAAA;AAED,gBAAA,IAAI,cAAc,EAAE;oBAChB,gBAAgB,GAAG,IAAI,CAAC;AAC3B,iBAAA;AACJ,aAAA;AAED,YAAA,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,YAAA,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;AAE/B,YAAA,YAAY,CAAC,QAAQ,GAAG,IAAIE,gBAAQ,CAAC;AACjC,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,GAAG,EAAE,KAAK;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;AAC3C,aAAA,CAAC,CAAC;;AAGH,YAAA,MAAM,SAAS,GACX,YAAY,CAAC,QAAQ,CAAC,IAAI;gBAC1B,YAAY,CAAC,QAAQ,CAAC,IAAI;gBAC1B,YAAY,CAAC,QAAQ,CAAC,GAAG;AACzB,gBAAA,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChC,MAAM,QAAQ,GACV,YAAY,CAAC,aAAa,EAAE,IAAI,CAC5B,CAAC,CAAC,KAAK,CAAC,YAAYgB,iBAAS,IAAI,CAAC,YAAYC,qBAAa,CAC9D,IAAI,KAAK,CAAC;YAEf,MAAM,WAAW,GAAW,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;AAEnE,YAAA,QAAQ,IAAI;AACR,gBAAA,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;AACpC,oBAAA,IAAI,QAAQ,EAAE;AACV,wBAAA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,qBAAA;AAAM,yBAAA;AACH,wBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3B,qBAAA;oBACD,MAAM;gBACV,KAAK,WAAW,GAAG,GAAG;AAClB,oBAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI;AAC5C,oBAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AAC5B,oBAAA,IAAI,QAAQ,EAAE;AACV,wBAAA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,qBAAA;AAAM,yBAAA;AACH,wBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3B,qBAAA;oBACD,MAAM;gBACV,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AACnD,oBAAA,WAAW,GAAG,GAAG;AACjB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;gBACV,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AACnD,oBAAA,WAAW,GAAG,GAAG;AACjB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;gBACV,KAAK,WAAW,GAAG,GAAG;AAClB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;AACV,gBAAA;AACI,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC/B,aAAA;AACJ,SAAA;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;KAC5C;AAED;;;;AAIG;IACH,iBAAiB,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,MAAM,aAAa,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAClE,IAAI,aAAa,GAAW,CAAC,CAAC;QAC9B,IAAI,aAAa,GAAW,CAAC,CAAC;QAC9B,IAAI,aAAa,GAAW,CAAC,CAAC;QAC9B,IAAI,aAAa,GAAW,CAAC,CAAC;AAE9B,QAAA,MAAM,OAAO,GAAyB,CAClC,IAAI,CAAC,GAAG,YAAYC,uCAAe;YACnC,IAAI,CAAC,GAAG,YAAYC,gDAAwB;AACxC,cAAE,IAAI,CAAC,GAAG,CAAC,GAAG;cACZ,IAAI,CAAC,GAAG,EAChB,UAAU,CAAC,OAAO,CAAC;AAErB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC3C,YAAA,MAAM,CAAC,GAAqB,aAAa,CAAC,CAAC,CAAC,CAAC;AAC7C,YAAA,MAAM,CAAC,GAAc,OAAO,CAAC,CAAC,CAAC,CAAC;YAEhC,IAAI,CAAC,YAAYZ,eAAO,IAAI,CAAC,CAAC,MAAM,KAAKT,iBAAS,CAAC,QAAQ,EAAE;gBACzD,SAAS;AACZ,aAAA;AAED,YAAA,MAAM,QAAQ,GAAW,CAAC,CAAC,QAAQ,CAAC;YAEpC,IAAI,QAAQ,IAAI,CAAC,EAAE;gBACf,aAAa,IAAI,QAAQ,CAAC;AAC1B,gBAAA,EAAE,aAAa,CAAC;AACnB,aAAA;AAAM,iBAAA;gBACH,aAAa,IAAI,QAAQ,CAAC;AAC1B,gBAAA,EAAE,aAAa,CAAC;AACnB,aAAA;AACJ,SAAA;QAED,OAAO;AACH,YAAA,WAAW,EAAE,aAAa,GAAG,aAAa,IAAI,CAAC;AAC/C,YAAA,WAAW,EAAE,aAAa,GAAG,aAAa,IAAI,CAAC;YAC/C,YAAY,EACRO,iBAAS,CAAC,0BAA0B,CAChC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KACnB,CAAC,CAAC,MAAM,KAAKP,iBAAS,CAAC,QAAQ;AAC/B,gBAAA,EAAE,OAAO,CAAC,CAAC,CAAC,YAAYS,eAAO,CAAC;kBAC1B,CAAC,CAAC,QAAQ;AACZ,kBAAE,CAAC,CACV,CACJ,GAAG,EAAE;SACb,CAAC;KACL;AAED;;AAEG;AACK,IAAA,gBAAgB,CAAC,UAAoB,EAAA;AACzC,QAAA,MAAM,mBAAmB,GAAG;AACxB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,YAAY,EAAE,GAAG;AACjB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,YAAY,EAAE,GAAG;AACjB,YAAA,aAAa,EAAE,GAAG;AAClB,YAAA,WAAW,EAAE,GAAG;AAChB,YAAA,eAAe,EAAE,GAAG;AACpB,YAAA,WAAW,EAAE,GAAG;AAChB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,WAAW,EAAE,GAAG;AAChB,YAAA,eAAe,EAAE,GAAG;AACpB,YAAA,WAAW,EAAE,GAAG;SACnB,CAAC;QAEF,IAAI,SAAS,GAAW,EAAE,CAAC;AAC3B,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC1B,YAAA,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE;AACxC,gBAAA,IAAI,EAAE,QAAQ,IAAI,mBAAmB,CAAC,EAAE;oBACpC,SAAS;AACZ,iBAAA;AACD,gBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBACzB,SAAS;AACZ,iBAAA;gBACD,SAAS;oBACL,mBAAmB,CACf,QAA4C,CAC/C,CAAC;gBACN,MAAM;AACT,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KACpB;AAED;;AAEG;AACK,IAAA,WAAW,CAAC,UAAoB,EAAA;QACpC,OAAOL,eAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;KACvE;AAED;;;;AAIG;IACH,eAAe,GAAA;AACX,QAAA,IACI,EACI,IAAI,CAAC,GAAG,YAAYgB,uCAAe;AACnC,YAAA,IAAI,CAAC,GAAG,YAAYC,gDAAwB,CAC/C;YACD,CAAC,IAAI,CAAC,IAAI,EACZ;YACE,OAAO;AACV,SAAA;AAED,QAAA,MAAM,kBAAkB,GAAuB,IAAI,kBAAkB,CACjE,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,IAAI,CACZ,CAAC;AACF,QAAA,MAAM,MAAM,GAA2B,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAElE,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;KACxC;AAED;;;;AAIG;IACH,aAAa,GAAA;AACT,QAAA,IACI,EACI,IAAI,CAAC,GAAG,YAAYD,uCAAe;AACnC,YAAA,IAAI,CAAC,GAAG,YAAYC,gDAAwB,CAC/C;YACD,CAAC,IAAI,CAAC,IAAI,EACZ;YACE,OAAO;AACV,SAAA;AAED,QAAA,MAAM,cAAc,GAAmB,IAAI,cAAc,CACrD,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,IAAI,CACZ,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;KACtC;AACJ;;AC5pBD;;;;;;AAMG;MACU,gBAAgB,CAAA;AACzB;;AAEG;AACH,IAAA,QAAQ,CAAS;AAEjB;;;;AAIG;AACH,IAAA,OAAO,CAAY;AAEnB;;AAEG;AACH,IAAA,MAAM,CAAY;AAElB,IAAA,WAAA,CAAY,MAiBX,EAAA;AACG,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;KAC/B;AACJ;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rian8337/osu-droid-replay-analyzer",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.7",
|
|
4
4
|
"description": "A replay analyzer for analyzing osu!droid replay files.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"osu",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"url": "https://github.com/Rian8337/osu-droid-module/issues"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@rian8337/osu-base": "^2.0.0-alpha.
|
|
35
|
-
"@rian8337/osu-difficulty-calculator": "^2.0.0-alpha.
|
|
36
|
-
"@rian8337/osu-rebalance-difficulty-calculator": "^2.0.0-alpha.
|
|
34
|
+
"@rian8337/osu-base": "^2.0.0-alpha.7",
|
|
35
|
+
"@rian8337/osu-difficulty-calculator": "^2.0.0-alpha.7",
|
|
36
|
+
"@rian8337/osu-rebalance-difficulty-calculator": "^2.0.0-alpha.7",
|
|
37
37
|
"java-deserialization": "^0.1.0",
|
|
38
38
|
"unzipper": "^0.10.11"
|
|
39
39
|
},
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "cea730e1d7922e2ec6c1553e9f16f034f7af8e61"
|
|
49
49
|
}
|
package/typings/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Accuracy, Mod, Beatmap } from '@rian8337/osu-base';
|
|
1
|
+
import { Vector2, Accuracy, Mod, Beatmap } from '@rian8337/osu-base';
|
|
2
2
|
import { DroidStarRating } from '@rian8337/osu-difficulty-calculator';
|
|
3
3
|
import { DroidStarRating as DroidStarRating$1 } from '@rian8337/osu-rebalance-difficulty-calculator';
|
|
4
4
|
|
|
@@ -11,6 +11,25 @@ declare enum movementType {
|
|
|
11
11
|
UP = 2
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Represents a cursor's occurrence.
|
|
16
|
+
*/
|
|
17
|
+
declare class CursorOccurrence {
|
|
18
|
+
/**
|
|
19
|
+
* The time of this occurrence.
|
|
20
|
+
*/
|
|
21
|
+
readonly time: number;
|
|
22
|
+
/**
|
|
23
|
+
* The position of the occurrence.
|
|
24
|
+
*/
|
|
25
|
+
readonly position: Vector2;
|
|
26
|
+
/**
|
|
27
|
+
* The movement ID of the occurrence.
|
|
28
|
+
*/
|
|
29
|
+
readonly id: movementType;
|
|
30
|
+
constructor(time: number, x: number, y: number, id: movementType);
|
|
31
|
+
}
|
|
32
|
+
|
|
14
33
|
/**
|
|
15
34
|
* Contains information about a cursor instance.
|
|
16
35
|
*/
|
|
@@ -34,21 +53,20 @@ interface CursorInformation {
|
|
|
34
53
|
/**
|
|
35
54
|
* The hit results of this cursor instance.
|
|
36
55
|
*/
|
|
37
|
-
id:
|
|
56
|
+
id: movementType[];
|
|
38
57
|
}
|
|
39
58
|
/**
|
|
40
59
|
* Represents a cursor instance in an osu!droid replay.
|
|
41
60
|
*
|
|
42
|
-
* Stores cursor movement data
|
|
61
|
+
* Stores cursor movement data in the form of `CursorOccurrence`s.
|
|
43
62
|
*
|
|
44
63
|
* This is used when analyzing replays using replay analyzer.
|
|
45
64
|
*/
|
|
46
|
-
declare class CursorData
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
readonly id: movementType[];
|
|
65
|
+
declare class CursorData {
|
|
66
|
+
/**
|
|
67
|
+
* The occurrences of this cursor instance.
|
|
68
|
+
*/
|
|
69
|
+
occurrences: CursorOccurrence[];
|
|
52
70
|
constructor(values: CursorInformation);
|
|
53
71
|
}
|
|
54
72
|
|
|
@@ -650,4 +668,4 @@ declare class ThreeFingerChecker {
|
|
|
650
668
|
private calculateFinalPenalty;
|
|
651
669
|
}
|
|
652
670
|
|
|
653
|
-
export { CursorData, CursorInformation, ExportedReplayJSON, HitErrorInformation, ReplayAnalyzer, ReplayData, ReplayInformation, ReplayObjectData, ThreeFingerChecker, ThreeFingerInformation, hitResult, movementType };
|
|
671
|
+
export { CursorData, CursorInformation, CursorOccurrence, ExportedReplayJSON, HitErrorInformation, ReplayAnalyzer, ReplayData, ReplayInformation, ReplayObjectData, ThreeFingerChecker, ThreeFingerInformation, hitResult, movementType };
|