@loxia/mst-viewer 8.1.3-202511181054 → 8.1.3-202511181116
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.
|
@@ -15,7 +15,7 @@ export class BewegingUtils {
|
|
|
15
15
|
const retval = [];
|
|
16
16
|
retval.length = ritDelen.length;
|
|
17
17
|
const origineleBewegingMap = this.bepaalOrigineleBewegingMap(origineleBewegingen);
|
|
18
|
-
let vorigeBeweging =
|
|
18
|
+
let vorigeBeweging = undefined;
|
|
19
19
|
for (let i = 0; i < ritDelen.length; i++) {
|
|
20
20
|
const ritdeel = ritDelen[i];
|
|
21
21
|
if (ritdeel.beweging) {
|
|
@@ -45,7 +45,7 @@ export class BewegingUtils {
|
|
|
45
45
|
}
|
|
46
46
|
static bewegingenZijnGewijzigd(ritDelen, origineleBewegingen) {
|
|
47
47
|
const ritDelenArray = ritDelen
|
|
48
|
-
.filter(r => r.beweging)
|
|
48
|
+
.filter(r => r.beweging?.id)
|
|
49
49
|
.map(r => r.beweging.id)
|
|
50
50
|
.sort((a, b) => a - b);
|
|
51
51
|
const bewegingenIdArray = origineleBewegingen.map(b => b.id).sort((a, b) => a - b);
|
|
@@ -61,9 +61,9 @@ export class BewegingUtils {
|
|
|
61
61
|
return stringToCheck.indexOf(match) !== -1;
|
|
62
62
|
}
|
|
63
63
|
static isGewijzigd(ritdeel, nieuwDwangNummer, origineleBewegingenMap) {
|
|
64
|
-
const dwangGewijzigd = ritdeel.beweging
|
|
64
|
+
const dwangGewijzigd = ritdeel.beweging?.dwangNummer !== nieuwDwangNummer;
|
|
65
65
|
let gewijzigd = false;
|
|
66
|
-
if (ritdeel.beweging
|
|
66
|
+
if (ritdeel.beweging?.wijzigStatus === this.NORMAAL) {
|
|
67
67
|
const origineleBewegingActies = origineleBewegingenMap.get(ritdeel.beweging.id);
|
|
68
68
|
const huidigeActies = this.createSortedActieIdList(ritdeel.acties);
|
|
69
69
|
gewijzigd = JSON.stringify(huidigeActies) !== JSON.stringify(origineleBewegingActies);
|
|
@@ -87,7 +87,7 @@ export class BewegingUtils {
|
|
|
87
87
|
let naarSeinPplg;
|
|
88
88
|
let naarSpoor = newRitdeel.getNaarPrlSpoor();
|
|
89
89
|
if (eindSein.getTypeAlsString() === BewegingUtils.SEIN_TYPE_FICTIEF) {
|
|
90
|
-
if (newRitdeel.heeftVrijebaanInfo()) {
|
|
90
|
+
if (newRitdeel.heeftVrijebaanInfo() && newRitdeel.getVrijebaanRijweg()) {
|
|
91
91
|
const vbEindSein = newRitdeel.getVrijebaanRijweg().getEindSein();
|
|
92
92
|
naarSeinNaam = vbEindSein.getName();
|
|
93
93
|
naarSeinPplg = vbEindSein.getPPLG();
|
|
@@ -136,4 +136,4 @@ export class BewegingUtils {
|
|
|
136
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingUtils, decorators: [{
|
|
137
137
|
type: Injectable
|
|
138
138
|
}], ctorParameters: () => [{ type: i1.EditorService }] });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV3ZWdpbmctdXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zZXJ2aWNlcy9iZXdlZ2luZy11dGlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFJbEQsTUFBTSxPQUFPLGFBQWE7YUFDTixjQUFTLEdBQUcsV0FBVyxBQUFkLENBQWU7YUFDeEIsZUFBVSxHQUFHLFlBQVksQUFBZixDQUFnQjthQUMxQixZQUFPLEdBQUcsU0FBUyxBQUFaLENBQWE7YUFDWixzQkFBaUIsR0FBRyxTQUFTLEFBQVosQ0FBYTthQUM5QixpQ0FBNEIsR0FBRyxJQUFJLEFBQVAsQ0FBUTtJQUU1RCxZQUE2QixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUN6RCxDQUFDO0lBRU0sNEJBQTRCLENBQUMsUUFBbUIsRUFBRSxtQkFBK0I7UUFDcEYsTUFBTSxNQUFNLEdBQWUsRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUVoQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWxGLElBQUksY0FBYyxHQUFhLElBQUksQ0FBQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxH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SUFFTyxNQUFNLENBQUMsc0JBQXNCLENBQUMsV0FBbUI7UUFDckQsT0FBTyxDQUFDLFdBQVcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDOzhHQXhJUSxhQUFhO2tIQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSaXRkZWVsIH0gZnJvbSAnLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQgeyBBY3RpZSwgQmV3ZWdpbmcgfSBmcm9tICcuLi9vcHRpbW8nO1xuaW1wb3J0IHsgQXJyYXlNdWx0aW1hcCB9IGZyb20gJy4uL3V0aWwvbXVsdGktbWFwJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuL2VkaXRvci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEJld2VnaW5nVXRpbHMge1xuICAgIHN0YXRpYyByZWFkb25seSBHRVdJSlpJR0QgPSAnR2V3aWp6aWdkJztcbiAgICBzdGF0aWMgcmVhZG9ubHkgVE9FR0VWT0VHRCA9ICdUb2VnZXZvZWdkJztcbiAgICBzdGF0aWMgcmVhZG9ubHkgTk9STUFBTCA9ICdOb3JtYWFsJztcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTRUlOX1RZUEVfRklDVElFRiA9ICdGSUNUSUVGJztcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTUE9PUl9OQUFSX1ZSSUpFQkFBTl9QT1NURklYID0gJ19lJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge1xuICAgIH1cblxuICAgIHB1YmxpYyBleHRyYWN0QmV3ZWdpbmdlblVpdFJpdGRlbGVuKHJpdERlbGVuOiBSaXRkZWVsW10sIG9yaWdpbmVsZUJld2VnaW5nZW46IEJld2VnaW5nW10pOiBCZXdlZ2luZ1tdIHtcbiAgICAgICAgY29uc3QgcmV0dmFsOiBCZXdlZ2luZ1tdID0gW107XG4gICAgICAgIHJldHZhbC5sZW5ndGggPSByaXREZWxlbi5sZW5ndGg7XG5cbiAgICAgICAgY29uc3Qgb3JpZ2luZWxlQmV3ZWdpbmdNYXAgPSB0aGlzLmJlcGFhbE9yaWdpbmVsZUJld2VnaW5nTWFwKG9yaWdpbmVsZUJld2VnaW5nZW4pO1xuXG4gICAgICAgIGxldCB2b3JpZ2VCZXdlZ2luZzogQmV3ZWdpbmcgPSBudWxsO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJpdERlbGVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCByaXRkZWVsID0gcml0RGVsZW5baV07XG4gICAgICAgICAgICBpZiAocml0ZGVlbC5iZXdlZ2luZykge1xuICAgICAgICAgICAgICAgIHJldHZhbFtpXSA9IHJpdGRlZWwuYmV3ZWdpbmc7XG4gICAgICAgICAgICAgICAgY29uc3QgbmlldXdEd2FuZ051bW1lciA9IEJld2VnaW5nVXRpbHMudG9Sb3V0ZUZpbGVEd2FuZ051bW1lcihyaXRkZWVsLmdldER3YW5nTnVtbWVyKCkpO1xuICAgICAgICAgICAgICAgIGlmIChCZXdlZ2luZ1V0aWxzLmlzR2V3aWp6aWdkKHJpdGRlZWwsIG5pZXV3RHdhbmdOdW1tZXIsIG9yaWdpbmVsZUJld2VnaW5nTWFwKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR2YWxbaV0ud2lqemlnU3RhdHVzID0gQmV3ZWdpbmdVdGlscy5HRVdJSlpJR0Q7XG4gICAgICAgICAgICAgICAgICAgIHJldHZhbFtpXS5kd2FuZ051bW1lciA9IG5pZXV3RHdhbmdOdW1tZXI7XG4gICAgICAgICAgICAgICAgICAgIHJpdGRlZWwuYmV3ZWdpbmcucml0QWN0aWVzID0gcml0ZGVlbC5hY3RpZXM7XG4gICAgICAgICAgICAgICAgICAgIEJld2VnaW5nVXRpbHMucmVtb3ZlS2VyZW5FeHRlbnNpZShyZXR2YWxbaV0pO1xuICAgICAgICAgICAgICAgICAgICBCZXdlZ2luZ1V0aWxzLnJlbW92ZUtlcmVuRXh0ZW5zaWUodm9yaWdlQmV3ZWdpbmcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaSA9PT0gcml0RGVsZW4ubGVuZ3RoIC0gMSAmJiBCZXdlZ2luZ1V0aWxzLmJld2VnaW5nZW5aaWpuR2V3aWp6aWdkKHJpdERlbGVuLCBvcmlnaW5lbGVCZXdlZ2luZ2VuKSkge1xuICAgICAgICAgICAgICAgICAgICBCZXdlZ2luZ1V0aWxzLnJlbW92ZUtlcmVuRXh0ZW5zaWUocmV0dmFsW2ldKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJldHZhbFtpXS53aWp6aWdTdGF0dXMgPT09IEJld2VnaW5nVXRpbHMuVE9FR0VWT0VHRCkge1xuICAgICAgICAgICAgICAgICAgICBCZXdlZ2luZ1V0aWxzLnJlbW92ZUtlcmVuRXh0ZW5zaWUodm9yaWdlQmV3ZWdpbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dmFsW2ldID0gdGhpcy5tYWFrQmV3ZWdpbmcocml0ZGVlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR2YWxbaV0udm9sZ251bW1lckJpbm5lblJpdCA9IGkgKyAxO1xuICAgICAgICAgICAgdm9yaWdlQmV3ZWdpbmcgPSByaXRkZWVsLmJld2VnaW5nO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXR2YWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgYmV3ZWdpbmdlblppam5HZXdpanppZ2Qocml0RGVsZW46IFJpdGRlZWxbXSwgb3JpZ2luZWxlQmV3ZWdpbmdlbjogQmV3ZWdpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCByaXREZWxlbkFycmF5ID0gcml0RGVsZW5cbiAgICAgICAgICAgIC5maWx0ZXIociA9PiByLmJld2VnaW5nKVxuICAgICAgICAgICAgLm1hcChyID0+IHIuYmV3ZWdpbmcuaWQpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuXG4gICAgICAgIGNvbnN0IGJld2VnaW5nZW5JZEFycmF5ID0gb3JpZ2luZWxlQmV3ZWdpbmdlbi5tYXAoYiA9PiBiLmlkKS5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShyaXREZWxlbkFycmF5KSAhPT0gSlNPTi5zdHJpbmdpZnkoYmV3ZWdpbmdlbklkQXJyYXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHJlbW92ZUtlcmVuRXh0ZW5zaWUoYmV3ZWdpbmc6IEJld2VnaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChiZXdlZ2luZyAmJiB0aGlzLmNvbnRhaW5zRXh0ZW5zaWUoJ19rJywgYmV3ZWdpbmcubmFhclNwb29yKSkge1xuICAgICAgICAgICAgYmV3ZWdpbmcubmFhclNwb29yID0gYmV3ZWdpbmcubmFhclNwb29yLnNwbGl0KCdfaycpWzBdO1xuICAgICAgICAgICAgYmV3ZWdpbmcud2lqemlnU3RhdHVzID0gdGhpcy5HRVdJSlpJR0Q7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgY29udGFpbnNFeHRlbnNpZShtYXRjaDogc3RyaW5nLCBzdHJpbmdUb0NoZWNrOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZ1RvQ2hlY2suaW5kZXhPZihtYXRjaCkgIT09IC0xO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGlzR2V3aWp6aWdkKHJpdGRlZWw6IFJpdGRlZWwsIG5pZXV3RHdhbmdOdW1tZXIsIG9yaWdpbmVsZUJld2VnaW5nZW5NYXA6IEFycmF5TXVsdGltYXA8bnVtYmVyLCBudW1iZXI+KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGR3YW5nR2V3aWp6aWdkID0gcml0ZGVlbC5iZXdlZ2luZy5kd2FuZ051bW1lciAhPT0gbmlldXdEd2FuZ051bW1lcjtcbiAgICAgICAgbGV0IGdld2lqemlnZCA9IGZhbHNlO1xuICAgICAgICBpZiAocml0ZGVlbC5iZXdlZ2luZy53aWp6aWdTdGF0dXMgPT09IHRoaXMuTk9STUFBTCkge1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luZWxlQmV3ZWdpbmdBY3RpZXMgPSBvcmlnaW5lbGVCZXdlZ2luZ2VuTWFwLmdldChyaXRkZWVsLmJld2VnaW5nLmlkKTtcbiAgICAgICAgICAgIGNvbnN0IGh1aWRpZ2VBY3RpZXMgPSB0aGlzLmNyZWF0ZVNvcnRlZEFjdGllSWRMaXN0KHJpdGRlZWwuYWN0aWVzKTtcbiAgICAgICAgICAgIGdld2lqemlnZCA9IEpTT04uc3RyaW5naWZ5KGh1aWRpZ2VBY3RpZXMpICE9PSBKU09OLnN0cmluZ2lmeShvcmlnaW5lbGVCZXdlZ2luZ0FjdGllcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGR3YW5nR2V3aWp6aWdkIHx8IGdld2lqemlnZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJlcGFhbE9yaWdpbmVsZUJld2VnaW5nTWFwKG9yaWdpbmVsZUJld2VnaW5nZW46IEJld2VnaW5nW10pOiBBcnJheU11bHRpbWFwPG51bWJlciwgbnVtYmVyPiB7XG4gICAgICAgIGNvbnN0IGJld2VnaW5nTWFwID0gbmV3IEFycmF5TXVsdGltYXA8bnVtYmVyLCBudW1iZXI+KCk7XG4gICAgICAgIG9yaWdpbmVsZUJld2VnaW5nZW4uZm9yRWFjaChiID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGllSWRzID0gQmV3ZWdpbmdVdGlscy5jcmVhdGVTb3J0ZWRBY3RpZUlkTGlzdChiLnJpdEFjdGllcyk7XG4gICAgICAgICAgICBiZXdlZ2luZ01hcC5wdXRBbGwoYi5pZCwgYWN0aWVJZHMpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGJld2VnaW5nTWFwO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNyZWF0ZVNvcnRlZEFjdGllSWRMaXN0KGFjdGllczogQWN0aWVbXSk6IG51bWJlcltdIHtcbiAgICAgICAgcmV0dXJuIGFjdGllcy5tYXAoYWN0aWUgPT4gYWN0aWUuaWQpLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFha0Jld2VnaW5nKG5ld1JpdGRlZWw6IFJpdGRlZWwpOiBCZXdlZ2luZyB7XG4gICAgICAgIGNvbnN0IGVpbmRTZWluID0gbmV3Uml0ZGVlbC5nZXRSb3V0ZSgpLmdldEVpbmRTZWluKCk7XG5cbiAgICAgICAgbGV0IG5hYXJTZWluTmFhbTtcbiAgICAgICAgbGV0IG5hYXJTZWluUHBsZztcbiAgICAgICAgbGV0IG5hYXJTcG9vciA9IG5ld1JpdGRlZWwuZ2V0TmFhclBybFNwb29yKCk7XG4gICAgICAgIGlmIChlaW5kU2Vpbi5nZXRUeXBlQWxzU3RyaW5nKCkgPT09IEJld2VnaW5nVXRpbHMuU0VJTl9UWVBFX0ZJQ1RJRUYpIHtcbiAgICAgICAgICAgIGlmIChuZXdSaXRkZWVsLmhlZWZ0VnJpamViYWFuSW5mbygpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmJFaW5kU2VpbiA9IG5ld1JpdGRlZWwuZ2V0VnJpamViYWFuUmlqd2VnKCkuZ2V0RWluZFNlaW4oKTtcbiAgICAgICAgICAgICAgICBuYWFyU2Vpbk5hYW0gPSB2YkVpbmRTZWluLmdldE5hbWUoKTtcbiAgICAgICAgICAgICAgICBuYWFyU2VpblBwbGcgPSB2YkVpbmRTZWluLmdldFBQTEcoKTtcbiAgICAgICAgICAgICAgICBuYWFyU3Bvb3IgKz0gQmV3ZWdpbmdVdGlscy5TUE9PUl9OQUFSX1ZSSUpFQkFBTl9QT1NURklYO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCByaWp3ZWdwbGFuID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmdldFJpandlZ3BsYW4obmV3Uml0ZGVlbC5nZXRQcGxnKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJpandlZ0FuZGVyZVJpY2h0aW5nID0gcmlqd2VncGxhbi5nZXRSaWp3ZWcobmV3Uml0ZGVlbC5nZXRWaXN1ZWVsTmFhclBybFNwb29yKCksIG5ld1JpdGRlZWwuZ2V0VmFuUHJsU3Bvb3IoKSk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRTZWluSW5BbmRlcmVSaWNodGluZyA9IHJpandlZ0FuZGVyZVJpY2h0aW5nLmdldEJlZ2luU2VpbigpO1xuICAgICAgICAgICAgICAgIG5hYXJTZWluTmFhbSA9IHN0YXJ0U2VpbkluQW5kZXJlUmljaHRpbmcuZ2V0TmFtZSgpO1xuICAgICAgICAgICAgICAgIG5hYXJTZWluUHBsZyA9IHN0YXJ0U2VpbkluQW5kZXJlUmljaHRpbmcuZ2V0UFBMRygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmFhclNlaW5OYWFtID0gZWluZFNlaW4uZ2V0TmFtZSgpO1xuICAgICAgICAgICAgbmFhclNlaW5QcGxnID0gZWluZFNlaW4uZ2V0UFBMRygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBCZXdlZ2luZ1V0aWxzLnZ1bEJld2VnaW5nKG5ld1JpdGRlZWwsIG5hYXJTZWluTmFhbSwgbmFhclNlaW5QcGxnLCBuYWFyU3Bvb3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHZ1bEJld2VnaW5nKG5ld1JpdGRlZWw6IFJpdGRlZWwsIG5hYXJTZWluTmFhbTogc3RyaW5nLCBuYWFyU2VpblBwbGc6IHN0cmluZywgbmFhclNwb29yOiBzdHJpbmcpOiBCZXdlZ2luZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogMCxcbiAgICAgICAgICAgIHJpdElkOiAwLFxuICAgICAgICAgICAgdm9sZ251bW1lckJpbm5lblJpdDogLTEsXG4gICAgICAgICAgICB2YW5TZWluVHlwZTogJ0JFRF9TRUlOJyxcbiAgICAgICAgICAgIHZhblNlaW5OYWFtOiBuZXdSaXRkZWVsLmdldFJvdXRlKCkuZ2V0QmVnaW5TZWluKCkuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgdmFuU2VpblBwbGc6IG5ld1JpdGRlZWwuZ2V0Um91dGUoKS5nZXRCZWdpblNlaW4oKS5nZXRQUExHKCksXG4gICAgICAgICAgICBuYWFyU2VpblR5cGU6ICdCRURfU0VJTicsXG4gICAgICAgICAgICBuYWFyU2Vpbk5hYW0sXG4gICAgICAgICAgICBuYWFyU2VpblBwbGcsXG4gICAgICAgICAgICBkd2FuZ051bW1lcjogQmV3ZWdpbmdVdGlscy50b1JvdXRlRmlsZUR3YW5nTnVtbWVyKG5ld1JpdGRlZWwuZ2V0RHdhbmdOdW1tZXIoKSksXG4gICAgICAgICAgICB2YW5QcGxnOiBuZXdSaXRkZWVsLmdldFBwbGcoKSxcbiAgICAgICAgICAgIHZhblNwb29yOiBuZXdSaXRkZWVsLmdldFZhblBybFNwb29yKCksXG4gICAgICAgICAgICBuYWFyUHBsZzogbmV3Uml0ZGVlbC5nZXRQcGxnKCksXG4gICAgICAgICAgICBuYWFyU3Bvb3IsXG4gICAgICAgICAgICByaXRBY3RpZXM6IFtdLFxuICAgICAgICAgICAgd2lqemlnU3RhdHVzOiB0aGlzLlRPRUdFVk9FR0RcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB0b1JvdXRlRmlsZUR3YW5nTnVtbWVyKGR3YW5nTnVtbWVyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKGR3YW5nTnVtbWVyID09PSAwKSA/IC0xIDogZHdhbmdOdW1tZXI7XG4gICAgfVxufVxuIl19
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV3ZWdpbmctdXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zZXJ2aWNlcy9iZXdlZ2luZy11dGlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFJbEQsTUFBTSxPQUFPLGFBQWE7YUFDTixjQUFTLEdBQUcsV0FBVyxBQUFkLENBQWU7YUFDeEIsZUFBVSxHQUFHLFlBQVksQUFBZixDQUFnQjthQUMxQixZQUFPLEdBQUcsU0FBUyxBQUFaLENBQWE7YUFDWixzQkFBaUIsR0FBRyxTQUFTLEFBQVosQ0FBYTthQUM5QixpQ0FBNEIsR0FBRyxJQUFJLEFBQVAsQ0FBUTtJQUU1RCxZQUE2QixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUN6RCxDQUFDO0lBRU0sNEJBQTRCLENBQUMsUUFBbUIsRUFBRSxtQkFBK0I7UUFDcEYsTUFBTSxNQUFNLEdBQWUsRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUVoQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWxGLElBQUksY0FBYyxHQUF5QixTQUFTLENBQUM7UUFDckQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxDQUFDLENBQUMs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RSxJQUFJLENBQUMsVUFBVTtTQUNoQyxDQUFDO0lBQ04sQ0FBQztJQUVPLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxXQUFtQjtRQUNyRCxPQUFPLENBQUMsV0FBVyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7OEdBeElRLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJpdGRlZWwgfSBmcm9tICcuLi9tb2RlbC9yaXRkZWVsJztcbmltcG9ydCB7IEFjdGllLCBCZXdlZ2luZyB9IGZyb20gJy4uL29wdGltbyc7XG5pbXBvcnQgeyBBcnJheU11bHRpbWFwIH0gZnJvbSAnLi4vdXRpbC9tdWx0aS1tYXAnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4vZWRpdG9yLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQmV3ZWdpbmdVdGlscyB7XG4gICAgc3RhdGljIHJlYWRvbmx5IEdFV0lKWklHRCA9ICdHZXdpanppZ2QnO1xuICAgIHN0YXRpYyByZWFkb25seSBUT0VHRVZPRUdEID0gJ1RvZWdldm9lZ2QnO1xuICAgIHN0YXRpYyByZWFkb25seSBOT1JNQUFMID0gJ05vcm1hYWwnO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNFSU5fVFlQRV9GSUNUSUVGID0gJ0ZJQ1RJRUYnO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNQT09SX05BQVJfVlJJSkVCQUFOX1BPU1RGSVggPSAnX2UnO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHVibGljIGV4dHJhY3RCZXdlZ2luZ2VuVWl0Uml0ZGVsZW4ocml0RGVsZW46IFJpdGRlZWxbXSwgb3JpZ2luZWxlQmV3ZWdpbmdlbjogQmV3ZWdpbmdbXSk6IEJld2VnaW5nW10ge1xuICAgICAgICBjb25zdCByZXR2YWw6IEJld2VnaW5nW10gPSBbXTtcbiAgICAgICAgcmV0dmFsLmxlbmd0aCA9IHJpdERlbGVuLmxlbmd0aDtcblxuICAgICAgICBjb25zdCBvcmlnaW5lbGVCZXdlZ2luZ01hcCA9IHRoaXMuYmVwYWFsT3JpZ2luZWxlQmV3ZWdpbmdNYXAob3JpZ2luZWxlQmV3ZWdpbmdlbik7XG5cbiAgICAgICAgbGV0IHZvcmlnZUJld2VnaW5nOiBCZXdlZ2luZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByaXREZWxlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgcml0ZGVlbCA9IHJpdERlbGVuW2ldO1xuICAgICAgICAgICAgaWYgKHJpdGRlZWwuYmV3ZWdpbmcpIHtcbiAgICAgICAgICAgICAgICByZXR2YWxbaV0gPSByaXRkZWVsLmJld2VnaW5nO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5pZXV3RHdhbmdOdW1tZXIgPSBCZXdlZ2luZ1V0aWxzLnRvUm91dGVGaWxlRHdhbmdOdW1tZXIocml0ZGVlbC5nZXREd2FuZ051bW1lcigpKTtcbiAgICAgICAgICAgICAgICBpZiAoQmV3ZWdpbmdVdGlscy5pc0dld2lqemlnZChyaXRkZWVsLCBuaWV1d0R3YW5nTnVtbWVyLCBvcmlnaW5lbGVCZXdlZ2luZ01hcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dmFsW2ldLndpanppZ1N0YXR1cyA9IEJld2VnaW5nVXRpbHMuR0VXSUpaSUdEO1xuICAgICAgICAgICAgICAgICAgICByZXR2YWxbaV0uZHdhbmdOdW1tZXIgPSBuaWV1d0R3YW5nTnVtbWVyO1xuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLmJld2VnaW5nLnJpdEFjdGllcyA9IHJpdGRlZWwuYWN0aWVzO1xuICAgICAgICAgICAgICAgICAgICBCZXdlZ2luZ1V0aWxzLnJlbW92ZUtlcmVuRXh0ZW5zaWUocmV0dmFsW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgQmV3ZWdpbmdVdGlscy5yZW1vdmVLZXJlbkV4dGVuc2llKHZvcmlnZUJld2VnaW5nKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGkgPT09IHJpdERlbGVuLmxlbmd0aCAtIDEgJiYgQmV3ZWdpbmdVdGlscy5iZXdlZ2luZ2VuWmlqbkdld2lqemlnZChyaXREZWxlbiwgb3JpZ2luZWxlQmV3ZWdpbmdlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgQmV3ZWdpbmdVdGlscy5yZW1vdmVLZXJlbkV4dGVuc2llKHJldHZhbFtpXSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXR2YWxbaV0ud2lqemlnU3RhdHVzID09PSBCZXdlZ2luZ1V0aWxzLlRPRUdFVk9FR0QpIHtcbiAgICAgICAgICAgICAgICAgICAgQmV3ZWdpbmdVdGlscy5yZW1vdmVLZXJlbkV4dGVuc2llKHZvcmlnZUJld2VnaW5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHZhbFtpXSA9IHRoaXMubWFha0Jld2VnaW5nKHJpdGRlZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dmFsW2ldLnZvbGdudW1tZXJCaW5uZW5SaXQgPSBpICsgMTtcbiAgICAgICAgICAgIHZvcmlnZUJld2VnaW5nID0gcml0ZGVlbC5iZXdlZ2luZztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmV0dmFsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGJld2VnaW5nZW5aaWpuR2V3aWp6aWdkKHJpdERlbGVuOiBSaXRkZWVsW10sIG9yaWdpbmVsZUJld2VnaW5nZW46IEJld2VnaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgcml0RGVsZW5BcnJheSA9IHJpdERlbGVuXG4gICAgICAgICAgICAuZmlsdGVyKHIgPT4gci5iZXdlZ2luZz8uaWQpXG4gICAgICAgICAgICAubWFwKHIgPT4gci5iZXdlZ2luZyEuaWQpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuXG4gICAgICAgIGNvbnN0IGJld2VnaW5nZW5JZEFycmF5ID0gb3JpZ2luZWxlQmV3ZWdpbmdlbi5tYXAoYiA9PiBiLmlkKS5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShyaXREZWxlbkFycmF5KSAhPT0gSlNPTi5zdHJpbmdpZnkoYmV3ZWdpbmdlbklkQXJyYXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHJlbW92ZUtlcmVuRXh0ZW5zaWUoYmV3ZWdpbmc6IEJld2VnaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGlmIChiZXdlZ2luZyAmJiB0aGlzLmNvbnRhaW5zRXh0ZW5zaWUoJ19rJywgYmV3ZWdpbmcubmFhclNwb29yKSkge1xuICAgICAgICAgICAgYmV3ZWdpbmcubmFhclNwb29yID0gYmV3ZWdpbmcubmFhclNwb29yLnNwbGl0KCdfaycpWzBdO1xuICAgICAgICAgICAgYmV3ZWdpbmcud2lqemlnU3RhdHVzID0gdGhpcy5HRVdJSlpJR0Q7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgY29udGFpbnNFeHRlbnNpZShtYXRjaDogc3RyaW5nLCBzdHJpbmdUb0NoZWNrOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZ1RvQ2hlY2suaW5kZXhPZihtYXRjaCkgIT09IC0xO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGlzR2V3aWp6aWdkKHJpdGRlZWw6IFJpdGRlZWwsIG5pZXV3RHdhbmdOdW1tZXI6IG51bWJlciwgb3JpZ2luZWxlQmV3ZWdpbmdlbk1hcDogQXJyYXlNdWx0aW1hcDxudW1iZXIsIG51bWJlcj4pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZHdhbmdHZXdpanppZ2QgPSByaXRkZWVsLmJld2VnaW5nPy5kd2FuZ051bW1lciAhPT0gbmlldXdEd2FuZ051bW1lcjtcbiAgICAgICAgbGV0IGdld2lqemlnZCA9IGZhbHNlO1xuICAgICAgICBpZiAocml0ZGVlbC5iZXdlZ2luZz8ud2lqemlnU3RhdHVzID09PSB0aGlzLk5PUk1BQUwpIHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmVsZUJld2VnaW5nQWN0aWVzID0gb3JpZ2luZWxlQmV3ZWdpbmdlbk1hcC5nZXQocml0ZGVlbC5iZXdlZ2luZy5pZCk7XG4gICAgICAgICAgICBjb25zdCBodWlkaWdlQWN0aWVzID0gdGhpcy5jcmVhdGVTb3J0ZWRBY3RpZUlkTGlzdChyaXRkZWVsLmFjdGllcyk7XG4gICAgICAgICAgICBnZXdpanppZ2QgPSBKU09OLnN0cmluZ2lmeShodWlkaWdlQWN0aWVzKSAhPT0gSlNPTi5zdHJpbmdpZnkob3JpZ2luZWxlQmV3ZWdpbmdBY3RpZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkd2FuZ0dld2lqemlnZCB8fCBnZXdpanppZ2Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxPcmlnaW5lbGVCZXdlZ2luZ01hcChvcmlnaW5lbGVCZXdlZ2luZ2VuOiBCZXdlZ2luZ1tdKTogQXJyYXlNdWx0aW1hcDxudW1iZXIsIG51bWJlcj4ge1xuICAgICAgICBjb25zdCBiZXdlZ2luZ01hcCA9IG5ldyBBcnJheU11bHRpbWFwPG51bWJlciwgbnVtYmVyPigpO1xuICAgICAgICBvcmlnaW5lbGVCZXdlZ2luZ2VuLmZvckVhY2goYiA9PiB7XG4gICAgICAgICAgICBjb25zdCBhY3RpZUlkcyA9IEJld2VnaW5nVXRpbHMuY3JlYXRlU29ydGVkQWN0aWVJZExpc3QoYi5yaXRBY3RpZXMpO1xuICAgICAgICAgICAgYmV3ZWdpbmdNYXAucHV0QWxsKGIuaWQsIGFjdGllSWRzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBiZXdlZ2luZ01hcDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjcmVhdGVTb3J0ZWRBY3RpZUlkTGlzdChhY3RpZXM6IEFjdGllW10pOiBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiBhY3RpZXMubWFwKGFjdGllID0+IGFjdGllLmlkKS5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gICAgfVxuXG4gICAgcHVibGljIG1hYWtCZXdlZ2luZyhuZXdSaXRkZWVsOiBSaXRkZWVsKTogQmV3ZWdpbmcge1xuICAgICAgICBjb25zdCBlaW5kU2VpbiA9IG5ld1JpdGRlZWwuZ2V0Um91dGUoKS5nZXRFaW5kU2VpbigpO1xuXG4gICAgICAgIGxldCBuYWFyU2Vpbk5hYW07XG4gICAgICAgIGxldCBuYWFyU2VpblBwbGc7XG4gICAgICAgIGxldCBuYWFyU3Bvb3IgPSBuZXdSaXRkZWVsLmdldE5hYXJQcmxTcG9vcigpO1xuICAgICAgICBpZiAoZWluZFNlaW4uZ2V0VHlwZUFsc1N0cmluZygpID09PSBCZXdlZ2luZ1V0aWxzLlNFSU5fVFlQRV9GSUNUSUVGKSB7XG4gICAgICAgICAgICBpZiAobmV3Uml0ZGVlbC5oZWVmdFZyaWplYmFhbkluZm8oKSAmJiBuZXdSaXRkZWVsLmdldFZyaWplYmFhblJpandlZygpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmJFaW5kU2VpbiA9IG5ld1JpdGRlZWwuZ2V0VnJpamViYWFuUmlqd2VnKCkhLmdldEVpbmRTZWluKCk7XG4gICAgICAgICAgICAgICAgbmFhclNlaW5OYWFtID0gdmJFaW5kU2Vpbi5nZXROYW1lKCk7XG4gICAgICAgICAgICAgICAgbmFhclNlaW5QcGxnID0gdmJFaW5kU2Vpbi5nZXRQUExHKCk7XG4gICAgICAgICAgICAgICAgbmFhclNwb29yICs9IEJld2VnaW5nVXRpbHMuU1BPT1JfTkFBUl9WUklKRUJBQU5fUE9TVEZJWDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcmlqd2VncGxhbiA9IHRoaXMuZWRpdG9yU2VydmljZS5nZXRSaWp3ZWdwbGFuKG5ld1JpdGRlZWwuZ2V0UHBsZygpKTtcbiAgICAgICAgICAgICAgICBjb25zdCByaWp3ZWdBbmRlcmVSaWNodGluZyA9IHJpandlZ3BsYW4uZ2V0Umlqd2VnKG5ld1JpdGRlZWwuZ2V0VmlzdWVlbE5hYXJQcmxTcG9vcigpLCBuZXdSaXRkZWVsLmdldFZhblBybFNwb29yKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0U2VpbkluQW5kZXJlUmljaHRpbmcgPSByaWp3ZWdBbmRlcmVSaWNodGluZy5nZXRCZWdpblNlaW4oKTtcbiAgICAgICAgICAgICAgICBuYWFyU2Vpbk5hYW0gPSBzdGFydFNlaW5JbkFuZGVyZVJpY2h0aW5nLmdldE5hbWUoKTtcbiAgICAgICAgICAgICAgICBuYWFyU2VpblBwbGcgPSBzdGFydFNlaW5JbkFuZGVyZVJpY2h0aW5nLmdldFBQTEcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5hYXJTZWluTmFhbSA9IGVpbmRTZWluLmdldE5hbWUoKTtcbiAgICAgICAgICAgIG5hYXJTZWluUHBsZyA9IGVpbmRTZWluLmdldFBQTEcoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gQmV3ZWdpbmdVdGlscy52dWxCZXdlZ2luZyhuZXdSaXRkZWVsLCBuYWFyU2Vpbk5hYW0sIG5hYXJTZWluUHBsZywgbmFhclNwb29yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB2dWxCZXdlZ2luZyhuZXdSaXRkZWVsOiBSaXRkZWVsLCBuYWFyU2Vpbk5hYW06IHN0cmluZywgbmFhclNlaW5QcGxnOiBzdHJpbmcsIG5hYXJTcG9vcjogc3RyaW5nKTogQmV3ZWdpbmcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICByaXRJZDogMCxcbiAgICAgICAgICAgIHZvbGdudW1tZXJCaW5uZW5SaXQ6IC0xLFxuICAgICAgICAgICAgdmFuU2VpblR5cGU6ICdCRURfU0VJTicsXG4gICAgICAgICAgICB2YW5TZWluTmFhbTogbmV3Uml0ZGVlbC5nZXRSb3V0ZSgpLmdldEJlZ2luU2VpbigpLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHZhblNlaW5QcGxnOiBuZXdSaXRkZWVsLmdldFJvdXRlKCkuZ2V0QmVnaW5TZWluKCkuZ2V0UFBMRygpLFxuICAgICAgICAgICAgbmFhclNlaW5UeXBlOiAnQkVEX1NFSU4nLFxuICAgICAgICAgICAgbmFhclNlaW5OYWFtLFxuICAgICAgICAgICAgbmFhclNlaW5QcGxnLFxuICAgICAgICAgICAgZHdhbmdOdW1tZXI6IEJld2VnaW5nVXRpbHMudG9Sb3V0ZUZpbGVEd2FuZ051bW1lcihuZXdSaXRkZWVsLmdldER3YW5nTnVtbWVyKCkpLFxuICAgICAgICAgICAgdmFuUHBsZzogbmV3Uml0ZGVlbC5nZXRQcGxnKCksXG4gICAgICAgICAgICB2YW5TcG9vcjogbmV3Uml0ZGVlbC5nZXRWYW5QcmxTcG9vcigpLFxuICAgICAgICAgICAgbmFhclBwbGc6IG5ld1JpdGRlZWwuZ2V0UHBsZygpLFxuICAgICAgICAgICAgbmFhclNwb29yLFxuICAgICAgICAgICAgcml0QWN0aWVzOiBbXSxcbiAgICAgICAgICAgIHdpanppZ1N0YXR1czogdGhpcy5UT0VHRVZPRUdEXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdG9Sb3V0ZUZpbGVEd2FuZ051bW1lcihkd2FuZ051bW1lcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChkd2FuZ051bW1lciA9PT0gMCkgPyAtMSA6IGR3YW5nTnVtbWVyO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -554,7 +554,7 @@ class BewegingUtils {
|
|
|
554
554
|
const retval = [];
|
|
555
555
|
retval.length = ritDelen.length;
|
|
556
556
|
const origineleBewegingMap = this.bepaalOrigineleBewegingMap(origineleBewegingen);
|
|
557
|
-
let vorigeBeweging =
|
|
557
|
+
let vorigeBeweging = undefined;
|
|
558
558
|
for (let i = 0; i < ritDelen.length; i++) {
|
|
559
559
|
const ritdeel = ritDelen[i];
|
|
560
560
|
if (ritdeel.beweging) {
|
|
@@ -584,7 +584,7 @@ class BewegingUtils {
|
|
|
584
584
|
}
|
|
585
585
|
static bewegingenZijnGewijzigd(ritDelen, origineleBewegingen) {
|
|
586
586
|
const ritDelenArray = ritDelen
|
|
587
|
-
.filter(r => r.beweging)
|
|
587
|
+
.filter(r => r.beweging?.id)
|
|
588
588
|
.map(r => r.beweging.id)
|
|
589
589
|
.sort((a, b) => a - b);
|
|
590
590
|
const bewegingenIdArray = origineleBewegingen.map(b => b.id).sort((a, b) => a - b);
|
|
@@ -600,9 +600,9 @@ class BewegingUtils {
|
|
|
600
600
|
return stringToCheck.indexOf(match) !== -1;
|
|
601
601
|
}
|
|
602
602
|
static isGewijzigd(ritdeel, nieuwDwangNummer, origineleBewegingenMap) {
|
|
603
|
-
const dwangGewijzigd = ritdeel.beweging
|
|
603
|
+
const dwangGewijzigd = ritdeel.beweging?.dwangNummer !== nieuwDwangNummer;
|
|
604
604
|
let gewijzigd = false;
|
|
605
|
-
if (ritdeel.beweging
|
|
605
|
+
if (ritdeel.beweging?.wijzigStatus === this.NORMAAL) {
|
|
606
606
|
const origineleBewegingActies = origineleBewegingenMap.get(ritdeel.beweging.id);
|
|
607
607
|
const huidigeActies = this.createSortedActieIdList(ritdeel.acties);
|
|
608
608
|
gewijzigd = JSON.stringify(huidigeActies) !== JSON.stringify(origineleBewegingActies);
|
|
@@ -626,7 +626,7 @@ class BewegingUtils {
|
|
|
626
626
|
let naarSeinPplg;
|
|
627
627
|
let naarSpoor = newRitdeel.getNaarPrlSpoor();
|
|
628
628
|
if (eindSein.getTypeAlsString() === BewegingUtils.SEIN_TYPE_FICTIEF) {
|
|
629
|
-
if (newRitdeel.heeftVrijebaanInfo()) {
|
|
629
|
+
if (newRitdeel.heeftVrijebaanInfo() && newRitdeel.getVrijebaanRijweg()) {
|
|
630
630
|
const vbEindSein = newRitdeel.getVrijebaanRijweg().getEindSein();
|
|
631
631
|
naarSeinNaam = vbEindSein.getName();
|
|
632
632
|
naarSeinPplg = vbEindSein.getPPLG();
|