@golemio/pid 2.12.2 → 2.12.3-dev.1226669491
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/db/example/12_metro_line_A_gtfs_trips.sql +0 -5
- package/db/example/18_metroRailtrack.sql +369 -0
- package/db/migrations/postgresql/20240313100420-fix-gtfs-timestamp-dst.js +53 -0
- package/db/migrations/postgresql/sqls/20240313100420-fix-gtfs-timestamp-dst-down.sql +17 -0
- package/db/migrations/postgresql/sqls/20240313100420-fix-gtfs-timestamp-dst-up.sql +23 -0
- package/dist/helpers/RouteTypeEnums.d.ts +1 -0
- package/dist/helpers/RouteTypeEnums.js +1 -0
- package/dist/helpers/RouteTypeEnums.js.map +1 -1
- package/dist/input-gateway/vehicle-positions/VehiclePositionsController.d.ts +5 -2
- package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +25 -5
- package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +6 -43
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +4 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +16 -3
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/Di.js +8 -0
- package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +3 -0
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +9 -0
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts +3 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js +12 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +1 -4
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +5 -21
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +3 -24
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.d.ts +9 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js +59 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.d.ts +21 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js +44 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +13 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +7 -18
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +27 -74
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js +14 -10
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.d.ts +12 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js +121 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/mpv-net/MpvStopParser.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.d.ts +0 -10
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +7 -24
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +4 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +87 -31
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +7 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +4 -7
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +19 -25
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
- package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js +11 -17
- package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js.map +1 -1
- package/dist/output-gateway/pid/PIDRouter.js +15 -15
- package/dist/output-gateway/pid/PIDRouter.js.map +1 -1
- package/dist/output-gateway/public/routers/v1/PublicRouter.js +4 -3
- package/dist/output-gateway/public/routers/v1/PublicRouter.js.map +1 -1
- package/dist/output-gateway/ropid-gtfs/GTFSRouter.js +19 -22
- package/dist/output-gateway/ropid-gtfs/GTFSRouter.js.map +1 -1
- package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js +12 -12
- package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js.map +1 -1
- package/dist/{integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js → schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces.js} +1 -1
- package/dist/schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces.js.map +1 -0
- package/docs/openapi-input.yaml +1 -1
- package/package.json +4 -4
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js.map +0 -1
- /package/dist/{integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.d.ts → schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces.d.ts} +0 -0
|
@@ -10,4 +10,25 @@ export declare class DateTimeUtils {
|
|
|
10
10
|
* @example 2022-10-26T08:55:10+01:00 -> 09:55:10
|
|
11
11
|
*/
|
|
12
12
|
static parseUTCTimeFromISO(isoTimestamp?: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Get a `Date` object corresponding to a given GTFS stop time and a given trip origin timestamp
|
|
15
|
+
*
|
|
16
|
+
* @param stopTime Time in the HH:MM:SS format (H:MM:SS is also accepted). The time is measured from "noon minus 12h" of the
|
|
17
|
+
* service day (effectively midnight except for days on which daylight savings time changes occur). For times occurring after
|
|
18
|
+
* midnight on the service day, enter the time as a value greater than 24:00:00 in HH:MM:SS. See also
|
|
19
|
+
* <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
|
|
20
|
+
* @param tripOriginTimestamp The ISO 8601 timestamp of the trip origin
|
|
21
|
+
*/
|
|
22
|
+
static getStopDateTimeForTripOrigin(stopTime: string, tripOriginTimestamp: string): Date;
|
|
23
|
+
/**
|
|
24
|
+
* Get a `Date` object corresponding to a given GTFS stop time and a given start of the trip service day
|
|
25
|
+
*
|
|
26
|
+
* @param startDayTimestamp Unix timestamp of the local time start of the service day (that is, the midnight before the trip
|
|
27
|
+
* starts)
|
|
28
|
+
* @param stopTimeInSeconds GTFS stop time in seconds. The time is measured from "noon minus 12h" of the service day
|
|
29
|
+
* (effectively midnight except for days on which daylight savings time changes occur). For times occurring after midnight on
|
|
30
|
+
* the service day, enter the time as a value greater than 24:00:00 in HH:MM:SS. See also
|
|
31
|
+
* <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
|
|
32
|
+
*/
|
|
33
|
+
static getStopDateTimeForDayStart: (stopTimeInSeconds: number, startDayTimestamp: number) => Date;
|
|
13
34
|
}
|
package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
var _a;
|
|
2
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
7
|
exports.DateTimeUtils = void 0;
|
|
4
8
|
const luxon_1 = require("@golemio/core/dist/shared/luxon");
|
|
9
|
+
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
5
10
|
class DateTimeUtils {
|
|
6
11
|
/**
|
|
7
12
|
* @example 2022-10-26 08:55:10+01 -> 2022-10-26T09:55:10+02:00
|
|
@@ -15,10 +20,49 @@ class DateTimeUtils {
|
|
|
15
20
|
static parseUTCTimeFromISO(isoTimestamp = new Date().toISOString()) {
|
|
16
21
|
return luxon_1.DateTime.fromISO(isoTimestamp).setZone(this.TIMEZONE).toFormat(this.FORMAT_TIME);
|
|
17
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Get a `Date` object corresponding to a given GTFS stop time and a given trip origin timestamp
|
|
25
|
+
*
|
|
26
|
+
* @param stopTime Time in the HH:MM:SS format (H:MM:SS is also accepted). The time is measured from "noon minus 12h" of the
|
|
27
|
+
* service day (effectively midnight except for days on which daylight savings time changes occur). For times occurring after
|
|
28
|
+
* midnight on the service day, enter the time as a value greater than 24:00:00 in HH:MM:SS. See also
|
|
29
|
+
* <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
|
|
30
|
+
* @param tripOriginTimestamp The ISO 8601 timestamp of the trip origin
|
|
31
|
+
*/
|
|
32
|
+
static getStopDateTimeForTripOrigin(stopTime, tripOriginTimestamp) {
|
|
33
|
+
const [stopTimeHours, stopTimeMinutes, stopTimeSeconds] = stopTime.split(":").map((e) => parseInt(e, 10));
|
|
34
|
+
const tripOriginMoment = moment_timezone_1.default.utc(tripOriginTimestamp).tz(this.TIMEZONE);
|
|
35
|
+
const isOvernight = stopTimeHours >= 24;
|
|
36
|
+
const isOriginAfterMidnight = tripOriginMoment.hours() < 12;
|
|
37
|
+
const shouldSubtractADayFromTripOrigin = isOvernight && isOriginAfterMidnight;
|
|
38
|
+
tripOriginMoment.subtract(shouldSubtractADayFromTripOrigin ? 1 : 0, "days");
|
|
39
|
+
tripOriginMoment.hours(12).minutes(0).seconds(0).milliseconds(0);
|
|
40
|
+
tripOriginMoment.subtract(12, "hours");
|
|
41
|
+
tripOriginMoment.add(stopTimeHours, "hours").add(stopTimeMinutes, "minutes").add(stopTimeSeconds, "seconds");
|
|
42
|
+
return tripOriginMoment.toDate();
|
|
43
|
+
}
|
|
18
44
|
}
|
|
19
45
|
exports.DateTimeUtils = DateTimeUtils;
|
|
46
|
+
_a = DateTimeUtils;
|
|
20
47
|
DateTimeUtils.TIMEZONE = "Europe/Prague";
|
|
21
48
|
// ISO 8601, no fractional seconds (same as moment.defaultFormat)
|
|
22
49
|
DateTimeUtils.FORMAT_DATE_TIME = "yyyy-LL-dd'T'HH:mm:ssZZ";
|
|
23
50
|
DateTimeUtils.FORMAT_TIME = "HH:mm:ss";
|
|
51
|
+
/**
|
|
52
|
+
* Get a `Date` object corresponding to a given GTFS stop time and a given start of the trip service day
|
|
53
|
+
*
|
|
54
|
+
* @param startDayTimestamp Unix timestamp of the local time start of the service day (that is, the midnight before the trip
|
|
55
|
+
* starts)
|
|
56
|
+
* @param stopTimeInSeconds GTFS stop time in seconds. The time is measured from "noon minus 12h" of the service day
|
|
57
|
+
* (effectively midnight except for days on which daylight savings time changes occur). For times occurring after midnight on
|
|
58
|
+
* the service day, enter the time as a value greater than 24:00:00 in HH:MM:SS. See also
|
|
59
|
+
* <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
|
|
60
|
+
*/
|
|
61
|
+
DateTimeUtils.getStopDateTimeForDayStart = (stopTimeInSeconds, startDayTimestamp) => {
|
|
62
|
+
const stopTimeMoment = (0, moment_timezone_1.default)(startDayTimestamp).tz(_a.TIMEZONE);
|
|
63
|
+
stopTimeMoment.hours(12).minutes(0).seconds(0).milliseconds(0);
|
|
64
|
+
stopTimeMoment.subtract(12, "hours");
|
|
65
|
+
stopTimeMoment.add(stopTimeInSeconds, "seconds");
|
|
66
|
+
return stopTimeMoment.toDate();
|
|
67
|
+
};
|
|
24
68
|
//# sourceMappingURL=DateTimeUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeUtils.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DateTimeUtils.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.ts"],"names":[],"mappings":";;;;;;;AAAA,2DAA2D;AAC3D,gGAA+D;AAE/D,MAAa,aAAa;IAMtB;;OAEG;IACI,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QACjD,OAAO,gBAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrE,OAAO,gBAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,4BAA4B,CAAC,QAAgB,EAAE,mBAA2B;QACpF,MAAM,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1G,MAAM,gBAAgB,GAAG,yBAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,aAAa,IAAI,EAAE,CAAC;QACxC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QAC5D,MAAM,gCAAgC,GAAG,WAAW,IAAI,qBAAqB,CAAC;QAC9E,gBAAgB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5E,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC7G,OAAO,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;;AAxCL,sCA2DC;;AA1DiB,sBAAQ,GAAG,eAAe,AAAlB,CAAmB;AACzC,iEAAiE;AAClD,8BAAgB,GAAG,yBAAyB,AAA5B,CAA6B;AAC7C,yBAAW,GAAG,UAAU,AAAb,CAAc;AAsCxC;;;;;;;;;GASG;AACW,wCAA0B,GAAG,CAAC,iBAAyB,EAAE,iBAAyB,EAAQ,EAAE;IACtG,MAAM,cAAc,GAAG,IAAA,yBAAM,EAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/D,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrC,cAAc,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACjD,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC,AANuC,CAMtC"}
|
|
@@ -2,6 +2,9 @@ import { RopidGTFSTripsModel } from "../../../../ropid-gtfs/RopidGTFSTripsModel"
|
|
|
2
2
|
import { IComputationTrip } from "../interfaces/VPInterfaces";
|
|
3
3
|
export declare class DelayComputationManager {
|
|
4
4
|
private readonly gtfsTripsRepository;
|
|
5
|
+
private METRO_TRIP_PREFIX_REGEX;
|
|
6
|
+
private stepBetweenPoints;
|
|
7
|
+
private stepBetweenPointsforMetro;
|
|
5
8
|
constructor(gtfsTripsRepository: RopidGTFSTripsModel);
|
|
6
9
|
/**
|
|
7
10
|
* Return shape anchor points along trip track shape with stop times parameters
|
|
@@ -33,13 +33,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
33
33
|
};
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
35
|
exports.DelayComputationManager = void 0;
|
|
36
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
36
37
|
const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
37
38
|
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
39
|
+
const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
38
40
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
39
41
|
const turf = __importStar(require("@turf/turf"));
|
|
40
42
|
class DelayComputationManager {
|
|
41
43
|
constructor(gtfsTripsRepository) {
|
|
42
44
|
this.gtfsTripsRepository = gtfsTripsRepository;
|
|
45
|
+
this.METRO_TRIP_PREFIX_REGEX = /^(991|992|993)/;
|
|
43
46
|
/**
|
|
44
47
|
* Return shape anchor points along trip track shape with stop times parameters
|
|
45
48
|
*
|
|
@@ -59,7 +62,8 @@ class DelayComputationManager {
|
|
|
59
62
|
else if (!(stop_times === null || stop_times === void 0 ? void 0 : stop_times.length)) {
|
|
60
63
|
throw new golemio_errors_1.GeneralError(`getComputationObject: GTFS trip ${tripId} has no stop_times`, this.constructor.name);
|
|
61
64
|
}
|
|
62
|
-
const
|
|
65
|
+
const isMetro = this.METRO_TRIP_PREFIX_REGEX.test(tripId);
|
|
66
|
+
const shapesGeometryAnchorPoints = this.getShapesGeometryAnchorPoints(shape_id, shapes, stop_times, isMetro);
|
|
63
67
|
// MAKING COPY
|
|
64
68
|
const shapePoints = [];
|
|
65
69
|
// const to determine shape points of stops (in meters)
|
|
@@ -147,7 +151,7 @@ class DelayComputationManager {
|
|
|
147
151
|
* @param {IStopTime[]} stops
|
|
148
152
|
* @returns {IShapeGeometryAnchorPoint[]} - Result array of geometry points along trip track shape
|
|
149
153
|
*/
|
|
150
|
-
this.getShapesGeometryAnchorPoints = (shapeId, shapes, stops) => {
|
|
154
|
+
this.getShapesGeometryAnchorPoints = (shapeId, shapes, stops, isMetro = false) => {
|
|
151
155
|
try {
|
|
152
156
|
let segmentShapes = [];
|
|
153
157
|
// Splits shapes array to multiple arrays "delimited" by stops
|
|
@@ -171,7 +175,10 @@ class DelayComputationManager {
|
|
|
171
175
|
let segmentArr = [];
|
|
172
176
|
// concat arrays of stop divided segments with distributed shape points
|
|
173
177
|
for (const segment of segmentShapes) {
|
|
174
|
-
segmentArr = [
|
|
178
|
+
segmentArr = [
|
|
179
|
+
...segmentArr,
|
|
180
|
+
...this.divideSegmentLine(segment, isMetro ? this.stepBetweenPointsforMetro : this.stepBetweenPoints),
|
|
181
|
+
];
|
|
175
182
|
}
|
|
176
183
|
// Make initial shapesGeometryAnchorPoints
|
|
177
184
|
let stopCounter = 0;
|
|
@@ -271,6 +278,9 @@ class DelayComputationManager {
|
|
|
271
278
|
};
|
|
272
279
|
});
|
|
273
280
|
};
|
|
281
|
+
const simpleConfig = ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.SimpleConfig);
|
|
282
|
+
this.stepBetweenPoints = config_1.config.vehiclePositions.stepBetweenPoints;
|
|
283
|
+
this.stepBetweenPointsforMetro = Number(simpleConfig.getValue("module.pid.vehicle-positions.shapes.metro.stepBetweenPointsForMetro", "0.025"));
|
|
274
284
|
}
|
|
275
285
|
}
|
|
276
286
|
exports.DelayComputationManager = DelayComputationManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DelayComputationManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"DelayComputationManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,16 +50,6 @@ export default class PositionsManager {
|
|
|
50
50
|
* @returns {IPositionToUpdate} - Result point as position to update in DB
|
|
51
51
|
*/
|
|
52
52
|
private static getClosestPoint;
|
|
53
|
-
/**
|
|
54
|
-
* Returns date object for stop time
|
|
55
|
-
* + given by start of day when trip starts
|
|
56
|
-
* + and GTFS HH:mm:ss format of stop time in seconds
|
|
57
|
-
*
|
|
58
|
-
* @param {number} startDayTimestamp - Unix timestamp of local time midnight before trip starts
|
|
59
|
-
* @param {number} timeSeconds - Number of seconds given by HH:mm:ss format of GTFS stop time
|
|
60
|
-
* @returns {Date} - Returns date object
|
|
61
|
-
*/
|
|
62
|
-
private static getLocalTimeToDateObject;
|
|
63
53
|
/**
|
|
64
54
|
* Corrects time delay at stop with dwelling time
|
|
65
55
|
*
|
|
@@ -73,17 +63,16 @@ export default class PositionsManager {
|
|
|
73
63
|
private static getCorrectedTimeDelay;
|
|
74
64
|
/**
|
|
75
65
|
* Get delay in seconds for positions before track to ensure correct delay propagation
|
|
76
|
-
*/
|
|
77
|
-
private static getDelayBeforeTrack;
|
|
78
|
-
/**
|
|
79
|
-
* Get the daylight saving time (DST) offset of the first stop departure time relative to the start of the day of the current
|
|
80
|
-
* position timestamp, in milliseconds
|
|
81
66
|
*
|
|
82
|
-
* @param
|
|
83
|
-
*
|
|
67
|
+
* @param lastPositionDelay The last position delay in seconds
|
|
68
|
+
* @param firstStopDepartureTime The first stop departure time in seconds. The time is measured from "noon minus 12h" of the
|
|
69
|
+
* service day (effectively midnight except for days on which daylight savings time changes occur). For times occurring after
|
|
70
|
+
* midnight on the service day, enter the time as a value greater than 24:00:00 in seconds. See also
|
|
71
|
+
* <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
|
|
84
72
|
* @param positionOriginUnixTimestamp The Unix Epoch timestamp of the current position, in milliseconds
|
|
73
|
+
* @param startDayUnixTimestamp The Unix Epoch timestamp of the start of the service day, in milliseconds
|
|
85
74
|
*/
|
|
86
|
-
private static
|
|
75
|
+
private static getDelayBeforeTrack;
|
|
87
76
|
/**
|
|
88
77
|
* Compute UTC timestamp of start of day when trip starts
|
|
89
78
|
*
|
|
@@ -41,78 +41,49 @@ const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
|
41
41
|
const const_1 = require("../../../../../const");
|
|
42
42
|
const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
|
|
43
43
|
const DPPUtils_1 = __importDefault(require("./DPPUtils"));
|
|
44
|
+
const DateTimeUtils_1 = require("./DateTimeUtils");
|
|
44
45
|
const PositionHandlerEnum_1 = require("./PositionHandlerEnum");
|
|
45
46
|
const ValidToCalculator_1 = __importDefault(require("./ValidToCalculator"));
|
|
46
47
|
const AnchorPointSegmenter_1 = require("./anchor-points/AnchorPointSegmenter");
|
|
47
48
|
const ComputeDelayHelper_1 = __importDefault(require("./compute-positions/ComputeDelayHelper"));
|
|
48
49
|
const ONE_DAY_IN_SECONDS = 24 * 60 * 60;
|
|
49
|
-
const
|
|
50
|
+
const ONE_SECOND_IN_MILLIS = 1000;
|
|
50
51
|
class PositionsManager {
|
|
51
52
|
/**
|
|
52
53
|
* Get delay in seconds for positions before track to ensure correct delay propagation
|
|
54
|
+
*
|
|
55
|
+
* @param lastPositionDelay The last position delay in seconds
|
|
56
|
+
* @param firstStopDepartureTime The first stop departure time in seconds. The time is measured from "noon minus 12h" of the
|
|
57
|
+
* service day (effectively midnight except for days on which daylight savings time changes occur). For times occurring after
|
|
58
|
+
* midnight on the service day, enter the time as a value greater than 24:00:00 in seconds. See also
|
|
59
|
+
* <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
|
|
60
|
+
* @param positionOriginUnixTimestamp The Unix Epoch timestamp of the current position, in milliseconds
|
|
61
|
+
* @param startDayUnixTimestamp The Unix Epoch timestamp of the start of the service day, in milliseconds
|
|
53
62
|
*/
|
|
54
63
|
static getDelayBeforeTrack(lastPositionDelay, firstStopDepartureTime, positionOriginUnixTimestamp, startDayUnixTimestamp) {
|
|
55
64
|
if (typeof lastPositionDelay !== "number") {
|
|
56
65
|
return null;
|
|
57
66
|
}
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
67
|
+
const startDayMoment = moment_timezone_1.default.utc(startDayUnixTimestamp).tz(DateTimeUtils_1.DateTimeUtils.TIMEZONE);
|
|
68
|
+
startDayMoment.hours(12).minutes(0).seconds(0).milliseconds(0);
|
|
69
|
+
startDayMoment.subtract(12, "hours");
|
|
70
|
+
startDayMoment.add(firstStopDepartureTime, "seconds");
|
|
71
|
+
const departureTimeInSeconds = Math.floor(startDayMoment.toDate().valueOf() / ONE_SECOND_IN_MILLIS);
|
|
72
|
+
const positionOriginTimeInSeconds = Math.floor(positionOriginUnixTimestamp / ONE_SECOND_IN_MILLIS);
|
|
62
73
|
return Math.max(lastPositionDelay, positionOriginTimeInSeconds - departureTimeInSeconds);
|
|
63
74
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Get the daylight saving time (DST) offset of the first stop departure time relative to the start of the day of the current
|
|
66
|
-
* position timestamp, in milliseconds
|
|
67
|
-
*
|
|
68
|
-
* @param firstStopDepartureTime The first stop departure time in seconds from the start of the day. For night trips, this
|
|
69
|
-
* will be relative to the start of the previous day.
|
|
70
|
-
* @param positionOriginUnixTimestamp The Unix Epoch timestamp of the current position, in milliseconds
|
|
71
|
-
*/
|
|
72
|
-
static getDSTOffsetInMillis(firstStopDepartureTime, positionOriginUnixTimestamp) {
|
|
73
|
-
const firstStopDepartureTimeHours = Math.floor((firstStopDepartureTime % ONE_DAY_IN_SECONDS) / ONE_HOUR_IN_SECONDS);
|
|
74
|
-
const firstStopDepartureTimeMinutes = Math.floor((firstStopDepartureTime % ONE_HOUR_IN_SECONDS) / 60);
|
|
75
|
-
const firstStopDepartureTimeSeconds = (firstStopDepartureTime % ONE_HOUR_IN_SECONDS) % 60;
|
|
76
|
-
const startOfDay = moment_timezone_1.default.utc(positionOriginUnixTimestamp).tz("Europe/Prague").startOf("day");
|
|
77
|
-
const startOfDayWithFirstStopDepartureTimeAdded = startOfDay
|
|
78
|
-
.clone()
|
|
79
|
-
.add(firstStopDepartureTime % ONE_DAY_IN_SECONDS, "seconds");
|
|
80
|
-
const startOfDayWithFirstStopDepartureTimeSet = startOfDay
|
|
81
|
-
.hours(firstStopDepartureTimeHours)
|
|
82
|
-
.minutes(firstStopDepartureTimeMinutes)
|
|
83
|
-
.seconds(firstStopDepartureTimeSeconds);
|
|
84
|
-
const dstOffsetInMillis = startOfDayWithFirstStopDepartureTimeSet.valueOf() - startOfDayWithFirstStopDepartureTimeAdded.valueOf();
|
|
85
|
-
return firstStopDepartureTime < ONE_DAY_IN_SECONDS || dstOffsetInMillis < 0 ? dstOffsetInMillis : 0;
|
|
86
|
-
}
|
|
87
75
|
static getStateAndStopSequences(gtfsRouteType, tripStopTimes, thisClosestPoint, positionProperties, context) {
|
|
88
|
-
var _b
|
|
76
|
+
var _b;
|
|
89
77
|
let statePosition = thisClosestPoint.this_stop_sequence ? const_1.StatePositionEnum.AT_STOP : const_1.StatePositionEnum.ON_TRACK;
|
|
90
78
|
let thisStopSequence = thisClosestPoint.this_stop_sequence;
|
|
91
79
|
let lastStopSequence = thisClosestPoint.last_stop_sequence;
|
|
92
80
|
let nextStopSequence = thisClosestPoint.next_stop_sequence;
|
|
93
|
-
if (gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.METRO) {
|
|
94
|
-
thisStopSequence = null;
|
|
95
|
-
if (positionProperties.this_stop_id) {
|
|
96
|
-
const thisStopTime = tripStopTimes.find((stopTime) => stopTime.stop_id === positionProperties.this_stop_id);
|
|
97
|
-
if (thisStopTime) {
|
|
98
|
-
statePosition = const_1.StatePositionEnum.AT_STOP;
|
|
99
|
-
thisStopSequence = thisStopTime.stop_sequence;
|
|
100
|
-
lastStopSequence = thisStopSequence;
|
|
101
|
-
nextStopSequence = Math.min(tripStopTimes.length, thisStopSequence + 1);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if (thisStopSequence === null) {
|
|
105
|
-
statePosition = const_1.StatePositionEnum.ON_TRACK;
|
|
106
|
-
if (context === null || context === void 0 ? void 0 : context.lastPositionTracking) {
|
|
107
|
-
lastStopSequence = (_b = context.lastPositionTracking.properties.last_stop_sequence) !== null && _b !== void 0 ? _b : lastStopSequence;
|
|
108
|
-
nextStopSequence = (_c = context.lastPositionTracking.properties.next_stop_sequence) !== null && _c !== void 0 ? _c : nextStopSequence;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
81
|
// if current positions's TCP event is 'T' and previous position is tracked
|
|
113
|
-
|
|
82
|
+
if (gtfsRouteType !== RouteTypeEnums_1.GTFSRouteTypeEnum.METRO &&
|
|
83
|
+
positionProperties.tcp_event === const_1.TCPEventEnum.TIME &&
|
|
84
|
+
(context === null || context === void 0 ? void 0 : context.lastPositionTracking)) {
|
|
114
85
|
const previousPositionTcpEvent = context.lastPositionTracking.properties.tcp_event;
|
|
115
|
-
const previousLastStopSequence = (
|
|
86
|
+
const previousLastStopSequence = (_b = context.lastPositionTracking.properties.last_stop_sequence) !== null && _b !== void 0 ? _b : 0;
|
|
116
87
|
// if previous position was 'P' and current last stop sequence is lower than the previous last stop sequence
|
|
117
88
|
// or if previous position was 'O', current position is at stop
|
|
118
89
|
// and current last stop sequence is lower than the previous last stop sequence
|
|
@@ -399,11 +370,11 @@ PositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp,
|
|
|
399
370
|
const tripStopTimes = tripGtfsData.stop_times;
|
|
400
371
|
const firstTripShapePoint = tripShapePoints[0];
|
|
401
372
|
const lastTripShapePoint = tripShapePoints[tripShapePoints.length - 1];
|
|
402
|
-
const timeScheduledTimestamp =
|
|
373
|
+
const timeScheduledTimestamp = DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(
|
|
403
374
|
// take stop arrival time if is point at stop
|
|
404
375
|
thisClosestPoint.this_stop_sequence
|
|
405
376
|
? tripStopTimes[thisClosestPoint.this_stop_sequence - 1].arrival_time_seconds
|
|
406
|
-
: thisClosestPoint.time_scheduled_seconds);
|
|
377
|
+
: thisClosestPoint.time_scheduled_seconds, startDayTimestamp);
|
|
407
378
|
let timeDelayInSeconds = Math.round((currentPosition.properties.origin_timestamp.getTime() - timeScheduledTimestamp.getTime()) / 1000);
|
|
408
379
|
const isBusOrTram = gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.BUS ||
|
|
409
380
|
gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.TROLLEYBUS ||
|
|
@@ -459,10 +430,10 @@ PositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp,
|
|
|
459
430
|
last_stop_name: tripStopTimes[lastStopSequence - 1].stop.stop_name,
|
|
460
431
|
next_stop_sequence: nextStopSequence,
|
|
461
432
|
last_stop_sequence: lastStopSequence,
|
|
462
|
-
next_stop_arrival_time:
|
|
463
|
-
last_stop_arrival_time:
|
|
464
|
-
next_stop_departure_time:
|
|
465
|
-
last_stop_departure_time:
|
|
433
|
+
next_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].arrival_time_seconds, startDayTimestamp),
|
|
434
|
+
last_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].arrival_time_seconds, startDayTimestamp),
|
|
435
|
+
next_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].departure_time_seconds, startDayTimestamp),
|
|
436
|
+
last_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].departure_time_seconds, startDayTimestamp),
|
|
466
437
|
delay: timeDelayInSeconds,
|
|
467
438
|
this_stop_id: (statePosition === const_1.StatePositionEnum.AT_STOP &&
|
|
468
439
|
thisStopSequence &&
|
|
@@ -481,24 +452,6 @@ PositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp,
|
|
|
481
452
|
};
|
|
482
453
|
return estimatedPoint;
|
|
483
454
|
};
|
|
484
|
-
/**
|
|
485
|
-
* Returns date object for stop time
|
|
486
|
-
* + given by start of day when trip starts
|
|
487
|
-
* + and GTFS HH:mm:ss format of stop time in seconds
|
|
488
|
-
*
|
|
489
|
-
* @param {number} startDayTimestamp - Unix timestamp of local time midnight before trip starts
|
|
490
|
-
* @param {number} timeSeconds - Number of seconds given by HH:mm:ss format of GTFS stop time
|
|
491
|
-
* @returns {Date} - Returns date object
|
|
492
|
-
*/
|
|
493
|
-
PositionsManager.getLocalTimeToDateObject = (startDayTimestamp, timeSeconds) => {
|
|
494
|
-
return (0, moment_timezone_1.default)(startDayTimestamp)
|
|
495
|
-
.tz("Europe/Prague")
|
|
496
|
-
.startOf("day")
|
|
497
|
-
.hours(Math.floor(timeSeconds / 3600))
|
|
498
|
-
.minutes(Math.floor((timeSeconds % 3600) / 60))
|
|
499
|
-
.seconds(timeSeconds % 60)
|
|
500
|
-
.toDate();
|
|
501
|
-
};
|
|
502
455
|
/**
|
|
503
456
|
* Corrects time delay at stop with dwelling time
|
|
504
457
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,iDAAmC;AAEnC,sEAAqC;AACrC,gDAA8E;AAC9E,0EAA+D;AAU/D,0DAAkC;AAClC,+DAA4D;AAC5D,4EAAoD;AACpD,+EAA4E;AAC5E,gGAAwE;AAGxE,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACxC,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,CAAC;AAEpC,MAAqB,gBAAgB;IA0kBjC;;OAEG;IACK,MAAM,CAAC,mBAAmB,CAC9B,iBAA4C,EAC5C,sBAA8B,EAC9B,2BAAmC,EACnC,qBAA6B;QAE7B,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;YACvC,OAAO,IAAI,CAAC;SACf;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,2BAA2B,CAAC,CAAC;QACzG,MAAM,sCAAsC,GAAG,sBAAsB,GAAG,iBAAiB,GAAG,IAAI,CAAC;QACjG,MAAM,sBAAsB,GAAG,qBAAqB,GAAG,IAAI,GAAG,sCAAsC,CAAC;QACrG,MAAM,2BAA2B,GAAG,2BAA2B,GAAG,IAAI,CAAC;QACvE,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,2BAA2B,GAAG,sBAAsB,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,oBAAoB,CAAC,sBAA8B,EAAE,2BAAmC;QACnG,MAAM,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,mBAAmB,CAAC,CAAC;QACpH,MAAM,6BAA6B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC;QACtG,MAAM,6BAA6B,GAAG,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC;QAC1F,MAAM,UAAU,GAAG,yBAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9F,MAAM,yCAAyC,GAAG,UAAU;aACvD,KAAK,EAAE;aACP,GAAG,CAAC,sBAAsB,GAAG,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,uCAAuC,GAAG,UAAU;aACrD,KAAK,CAAC,2BAA2B,CAAC;aAClC,OAAO,CAAC,6BAA6B,CAAC;aACtC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC5C,MAAM,iBAAiB,GACnB,uCAAuC,CAAC,OAAO,EAAE,GAAG,yCAAyC,CAAC,OAAO,EAAE,CAAC;QAC5G,OAAO,sBAAsB,GAAG,kBAAkB,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAmBO,MAAM,CAAC,wBAAwB,CACnC,aAAgC,EAChC,aAA0B,EAC1B,gBAAmC,EACnC,kBAA8C,EAC9C,OAAyE;;QAEzE,IAAI,aAAa,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAiB,CAAC,QAAQ,CAAC;QACjH,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC3D,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC3D,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAE3D,IAAI,aAAa,KAAK,kCAAiB,CAAC,KAAK,EAAE;YAC3C,gBAAgB,GAAG,IAAI,CAAC;YAExB,IAAI,kBAAkB,CAAC,YAAY,EAAE;gBACjC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAC5G,IAAI,YAAY,EAAE;oBACd,aAAa,GAAG,yBAAiB,CAAC,OAAO,CAAC;oBAC1C,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC;oBAC9C,gBAAgB,GAAG,gBAAgB,CAAC;oBACpC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC;iBAC3E;aACJ;YAED,IAAI,gBAAgB,KAAK,IAAI,EAAE;gBAC3B,aAAa,GAAG,yBAAiB,CAAC,QAAQ,CAAC;gBAE3C,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,EAAE;oBAC/B,gBAAgB,GAAG,MAAA,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,mCAAI,gBAAgB,CAAC;oBAClG,gBAAgB,GAAG,MAAA,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,mCAAI,gBAAgB,CAAC;iBACrG;aACJ;SACJ;QACD,2EAA2E;aACtE,IAAI,kBAAkB,CAAC,SAAS,KAAK,oBAAY,CAAC,IAAI,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAA,EAAE;YAC1F,MAAM,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC;YACnF,MAAM,wBAAwB,GAAG,MAAA,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,mCAAI,CAAC,CAAC;YAEjG,4GAA4G;YAC5G,+DAA+D;YAC/D,kFAAkF;YAClF,2BAA2B;YAC3B,iEAAiE;YACjE,gFAAgF;YAChF,yBAAyB;YACzB,IAAI,wBAAwB,KAAK,oBAAY,CAAC,iBAAiB,IAAI,gBAAgB,GAAG,wBAAwB,EAAE;gBAC5G,aAAa,GAAG,yBAAiB,CAAC,UAAU,CAAC;aAChD;iBAAM,IAAI,wBAAwB,KAAK,oBAAY,CAAC,UAAU,IAAI,gBAAgB,EAAE;gBACjF,IAAI,gBAAgB,KAAK,wBAAwB,EAAE;oBAC/C,aAAa,GAAG,yBAAiB,CAAC,QAAQ,CAAC;iBAC9C;qBAAM,IAAI,gBAAgB,GAAG,wBAAwB,EAAE;oBACpD,aAAa,GAAG,yBAAiB,CAAC,UAAU,CAAC;iBAChD;aACJ;YAED,IAAI,aAAa,KAAK,yBAAiB,CAAC,UAAU,IAAI,aAAa,KAAK,yBAAiB,CAAC,QAAQ,EAAE;gBAChG,gBAAgB,GAAG,IAAI,CAAC;aAC3B;SACJ;QAED,OAAO;YACH,aAAa;YACb,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;SACnB,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,gBAAwB,EAAE,kBAAqC;QACvF,gEAAgE;QAChE,OAAO,gBAAgB,IAAI,kBAAkB,CAAC,kBAAkB,CAAC;IACrE,CAAC;;;AA/sBD;;;;;GAKG;AACW,iCAAgB,GAAG,CAC7B,aAAqC,EACrC,QAAoC,EACR,EAAE;IAC9B,MAAM,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IAC/D,MAAM,iBAAiB,GAAG,EAAI,CAAC,oBAAoB,CAC/C,cAAc,EACd,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CACxE,CAAC;IAEF,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC;IACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAwB,EAAE,CAAC;IAElD,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC;IAEjD,OAAO,gBAAgB,CAAC,eAAe,CACnC,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,EAC7G,QAAQ,CACX,CAAC;AACN,CAAC,CAAA,AApB6B,CAoB5B;AAEF;;;;;;;GAOG;AACW,gCAAe,GAAG,CAAO,OAAwC,EAAE,QAAoC,EAAE,EAAE;;IACrH,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAC/G,OAAO,CAAC;IAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,gBAAgB,GAA6B,IAAI,CAAC;QAEtD,aAAa;QACb,QAAQ,EAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE;YAC7C,KAAK,yCAAmB,CAAC,QAAQ;gBAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC7D,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;oBACjD,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;iBACF,CAAC,CAAC;gBAEjC,gBAAgB,GAAG,EAAI,CAAC,iBAAiB,CACrC,aAAa,CAAC,QAAQ,EACtB,eAAe,EACf,OAAO,EACP,iBAAiB,EACjB,aAAa,CAAC,eAAe,CAChC,CAAC;gBAEF,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,UAAU,EAAE;oBAClE,gBAAgB,GAAG,4BAAkB,CAAC,sBAAsB,CACxD,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;iBACL;gBAED,gBAAgB,CAAC,OAAO,GAAG,MAAA,QAAQ,CAAC,OAAO,mCAAI,gBAAgB,CAAC,OAAO,CAAC;gBACxE,MAAM;YACV,KAAK,yCAAmB,CAAC,YAAY;gBACjC,uFAAuF;gBACvF,MAAM,sBAAsB,GAAsB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACjG,IACI,OAAO,CAAC,oBAAoB,KAAK,IAAI;oBACrC,CAAC,YAAY,KAAK,IAAI;wBAClB,QAAQ,CAAC,mBAAmB,KAAK,IAAI;wBACrC,YAAY,GAAG,QAAQ,CAAC,mBAAmB,CAAC,EAClD;oBACE,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC3D,8DAA8D;oBAC9D,MAAM,mBAAmB,GAAG,OAAO,CAAC,8BAA8B,CAAC;oBACnE,kFAAkF;oBAClF,MAAM,cAAc,GAChB,CAAC,mBAAmB;wBACpB,kBAAQ,CAAC,WAAW,CAChB,aAAa,CAAC,qBAAqB,EACnC,QAAQ,CAAC,gBAAgB,EACzB,cAAc,EACd,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAC5B,sBAAsB,CAAC,WAAW,EAClC,QAAQ,EACR,aAAa,CAAC,YAAY,EAC1B,OAAO,CAAC,oBAAoB,EAC5B,QAAQ,CAAC,UAAU,CACtB,CAAC;oBAEN,gBAAgB,mBACZ,EAAE,EAAE,QAAQ,CAAC,EAAE,EACf,sBAAsB,EAAE,IAAI,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,oBAAqB,GAAG,IAAI,CAAC,EAChG,wBAAwB,EAAE,IAAI,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,sBAAuB,GAAG,IAAI,CAAC,EACpG,YAAY,EAAE,aAAa,CAAC,OAAO,EACnC,kBAAkB,EAAE,aAAa,CAAC,aAAa,EAC/C,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,EAC5C,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,EACtD,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,yBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAiB,CAAC,YAAY,EAC7F,aAAa,EAAE,wBAAgB,CAAC,SAAS,IACtC,CAAC,aAAa,CAAC,aAAa,IAAI;wBAC/B,kBAAkB,EAAE,aAAa,CAAC,aAAa;qBAClD,CAAC,CACL,CAAC;oBAEF,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,YAAY,EAAE;wBACpE,gBAAgB,CAAC,KAAK,GAAG,EAAI,CAAC,mBAAmB,CAC7C,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,mCAAI,QAAQ,CAAC,KAAK,EAC5C,aAAa,CAAC,sBAAsB,EACpC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EACnC,iBAAiB,CACpB,CAAC;qBACL;iBACJ;qBAAM;oBACH,6FAA6F;oBAC7F,MAAM,aAAa,GACf,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,2BAA2B;wBAC3E,aAAa,CAAC,SAAS,CAAC,SAAS,CAC7B,CAAC,YAAY,EAAE,EAAE,CACb,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC/E,YAAY,CAAC,UAAU,CAC9B,IAAI,CAAC;wBACF,CAAC,CAAC,yBAAiB,CAAC,SAAS;wBAC7B,CAAC,CAAC,yBAAiB,CAAC,WAAW,CAAC;oBACxC,MAAM,qBAAqB,GACvB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACxG,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACrG,wDAAwD;oBACxD,MAAM,cAAc,GAChB,kBAAQ,CAAC,WAAW,CAChB,aAAa,CAAC,qBAAqB,EACnC,QAAQ,CAAC,gBAAgB,EACzB,cAAc,EACd,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAC5B,sBAAsB,CAAC,WAAW,EAClC,QAAQ,EACR,aAAa,CAAC,YAAY,EAC1B,OAAO,CAAC,oBAAoB,EAC5B,QAAQ,CAAC,UAAU,CACtB,IAAI,aAAa,KAAK,yBAAiB,CAAC,WAAW,CAAC;oBACzD,gBAAgB,mBACZ,EAAE,EAAE,QAAQ,CAAC,EAAE,EACf,sBAAsB,EAAE,IAAI,IAAI,CAC5B,iBAAiB,GAAG,qBAAqB,CAAC,sBAAsB,GAAG,IAAI,CAC1E,EACD,wBAAwB,EAAE,IAAI,IAAI,CAC9B,iBAAiB,GAAG,qBAAqB,CAAC,sBAAsB,GAAG,IAAI,CAC1E,EACD,YAAY,EAAE,YAAY,CAAC,OAAO,EAClC,kBAAkB,EAAE,qBAAqB,CAAC,kBAAkB,EAC5D,mBAAmB,EAAE,qBAAqB,CAAC,mBAAmB,EAC9D,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,yBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAC5E,aAAa,EAAE,wBAAgB,CAAC,SAAS,EACzC,KAAK,EAAE,MAAA,QAAQ,CAAC,KAAK,mCAAI,IAAI,IAC1B,CAAC,YAAY,CAAC,aAAa,IAAI;wBAC9B,kBAAkB,EAAE,YAAY,CAAC,aAAa;qBACjD,CAAC,CACL,CAAC;oBACF,gBAAgB,GAAG,4BAAkB,CAAC,sBAAsB,CACxD,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;iBACL;gBACD,MAAM;YACV,KAAK,yCAAmB,CAAC,QAAQ;gBAC7B,gBAAgB,GAAG;oBACf,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,cAAc,EAAE,yBAAiB,CAAC,QAAQ;oBAC1C,aAAa,EAAE,wBAAgB,CAAC,SAAS;iBAC5C,CAAC;gBACF,MAAM;YACV,KAAK,yCAAmB,CAAC,UAAU;gBAC/B,MAAM;YACV;gBACI,MAAM;SACb;QAED,6BAA6B;QAC7B,IAAI,gBAAgB,EAAE;YAClB,MAAA,gBAAgB,CAAC,UAAU,oCAA3B,gBAAgB,CAAC,UAAU,GAAK,QAAQ,CAAC,UAAU,EAAC;YACpD,gBAAgB,CAAC,QAAQ,GAAG,2BAAiB,CAAC,mBAAmB,CAC7D,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,aAAa,CAAC,QAAQ,EACtB,cAAc,EACd,iBAAiB,CACpB,CAAC;YACF,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC5C;QAED,OAAO,CAAC,iBAAiB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,mCAAI,QAAQ,CAAC,cAAc,CAAC;QAExF,+CAA+C;QAC/C,IAAI,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,oBAAoB,EAAE;YACpE,OAAO,CAAC,8BAA8B,GAAG;gBACrC,KAAK,EAAE,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,mCAAI,QAAQ,CAAC,KAAK;gBAChD,gBAAgB,EAAE,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,gBAAgB,mCAAI,QAAQ,CAAC,gBAAgB;aACpF,CAAC;SACL;QACD,6DAA6D;QAC7D,IACI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,OAAO;YAC9D,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,QAAQ;YAC/D,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO;YACrD,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ,EACxD;YACE,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,gCACjE,QAAQ,GACR,gBAAgB,CACQ,CAAC,CAAC;SACpC;QAED,iGAAiG;QACjG,IACI,gBAAgB;YACZ,CAAC,CAAC,gBAAgB,CAAC,kBAAkB;gBACnC,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,gBAAgB,CAAC,kBAAkB;YAC5E,CAAC,CAAC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,QAAQ,CAAC,kBAAkB,EACzG;YACE,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,gBAAgB;gBACjD,CAAC,CAAC,gBAAgB,CAAC,kBAAmB;gBACtC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAClC,OAAO,CAAC,YAAY,CAAC,sBAAsB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAClF,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACzG;QACD,sEAAsE;QACtE,wBAAwB;QACxB,4BAA4B;QAC5B,IACI,gBAAgB;YAChB,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,UAAU;YAChE,CAAC,gBAAgB,CAAC,kBAAkB,EACtC;YACE,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7C;aAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YAC1D,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7C;QAED,oEAAoE;QACpE,IACI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,SAAS;YAChE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,SAAS;YAChE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,UAAU,EACnE;YACE,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,2BAA2B,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAE1E,4BAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;SACxF;KACJ;IAED,OAAO;QACH,OAAO;QACP,SAAS,EAAE,iBAAiB;KAC/B,CAAC;AACN,CAAC,CAAA,AA3O4B,CA2O3B;AAEa,kCAAiB,GAAG,CAAC,aAAqC,EAA+B,EAAE;;IACtG,MAAM,OAAO,GAAgC,MAAA,aAAa,CAAC,qBAAqB,mCAAI;QAChF,YAAY,EAAE;YACV,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,IAAI;YAC5B,kBAAkB,EAAE,IAAI;SAC3B;QACD,oBAAoB,EAAE;YAClB,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,IAAI;SACxB;QACD,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,2BAA2B,EAAE,IAAI;QACjC,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,8BAA8B,EAAE,IAAI;QACpC,iBAAiB,EAAE,IAAI;QACvB,MAAM,EAAE,aAAa,CAAC,EAAE;KAC3B,CAAC;IAEF,OAAO,OAAO,CAAC;AACnB,CAAC,AA1B+B,CA0B9B;AAEF;;;;;GAKG;AACY,yCAAwB,GAAG,CAAC,QAAoC,EAAuB,EAAE;IACpG,IAAI,QAAQ,CAAC,aAAa,KAAK,wBAAgB,CAAC,SAAS;QAAE,OAAO,yCAAmB,CAAC,UAAU,CAAC;SAC5F,IAAI,QAAQ,CAAC,WAAW;QAAE,OAAO,yCAAmB,CAAC,QAAQ,CAAC;SAC9D,IAAI,QAAQ,CAAC,UAAU;QAAE,OAAO,yCAAmB,CAAC,QAAQ,CAAC;;QAC7D,OAAO,yCAAmB,CAAC,YAAY,CAAC;AACjD,CAAC,AALsC,CAKrC;AAEF;;;;;;;;GAQG;AACY,kCAAiB,GAAG,CAC/B,YAA8B,EAC9B,eAA2D,EAC3D,OAA2C,EAC3C,iBAAyB,EACzB,aAAgC,EACf,EAAE;;IACnB,MAAM,oBAAoB,GAAG,IAAI,2CAAoB,CAAC,YAAY,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC1G,MAAM,oBAAoB,GAAG,yBAAiB,CAAC,SAAS,CAAC;IAEzD,gBAAgB;IAChB,IAAI,cAAc,mBACd,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,EACjC,cAAc,EAAE,oBAAoB,EACpC,aAAa,EAAE,wBAAgB,CAAC,SAAS,EACzC,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,SAAS,EAC/C,QAAQ,EAAE,2BAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAChG,CAAC,OAAO;SACP,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,kBAAkB,CAAA,IAAI;QAC3D,mBAAmB,EAAE,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,mBAAoB;QAClF,sBAAsB,EAAE,CAAA,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,sBAAsB;YACnF,CAAC,CAAC,IAAI,IAAI,CAAC,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,sBAAsB,CAAC;YAC3E,CAAC,CAAC,SAAS;QACf,wBAAwB,EAAE,CAAA,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,wBAAwB;YACvF,CAAC,CAAC,IAAI,IAAI,CAAC,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,wBAAwB,CAAC;YAC7E,CAAC,CAAC,SAAS;QACf,kBAAkB,EAAE,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,kBAAmB;QAChF,YAAY,EAAE,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,YAAa;KACvE,CAAC,CACT,CAAC;IAEF,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,yBAAiB,CAAC,YAAY,EAAE;QAC/D,gBAAgB,GAAG,CAAC,CAAC;KACxB;SAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,EAAE;QACtC,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,CAAC;KACjF;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC1E,IAAI,CAAC,WAAW,EAAE;QACd,OAAO,cAAc,CAAC;KACzB;IAED,OAAO,EAAI,CAAC,eAAe,CAAC,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AACvH,CAAC,AA5C+B,CA4C9B;AAEF;;;;;;;;;GASG;AACY,gCAAe,GAAG,CAC7B,eAA2D,EAC3D,OAA2C,EAC3C,iBAAyB,EACzB,gBAAmC,EACnC,YAA8B,EAC9B,aAAgC,EACf,EAAE;IACnB,6EAA6E;IAC7E,MAAM,eAAe,GAAG,YAAY,CAAC,oBAAoB,CAAC;IAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC;IAC9C,MAAM,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvE,MAAM,sBAAsB,GAAG,EAAI,CAAC,wBAAwB,CACxD,iBAAiB;IACjB,6CAA6C;IAC7C,gBAAgB,CAAC,kBAAkB;QAC/B,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,oBAAoB;QAC7E,CAAC,CAAC,gBAAgB,CAAC,sBAAsB,CAChD,CAAC;IAEF,IAAI,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAC/B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CACpG,CAAC;IAEF,MAAM,WAAW,GACb,aAAa,KAAK,kCAAiB,CAAC,GAAG;QACvC,aAAa,KAAK,kCAAiB,CAAC,UAAU;QAC9C,aAAa,KAAK,kCAAiB,CAAC,IAAI,CAAC;IAE7C,yFAAyF;IACzF,IACI,WAAW;QACX,eAAe,CAAC,UAAU,CAAC,SAAS,KAAK,oBAAY,CAAC,iBAAiB;QACvE,gBAAgB,CAAC,kBAAkB,KAAK,IAAI,EAC9C;QACE,IAAI,gBAAgB,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAA,EAAE;YAC7E,gBAAgB,GAAG,mBAAmB,CAAC;SAC1C;aAAM;YACH,IAAI,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC;YACnD,OAAO,gBAAgB,CAAC,kBAAkB,KAAK,IAAI,IAAI,qBAAqB,GAAG,kBAAkB,CAAC,KAAK,EAAE;gBACrG,qBAAqB,EAAE,CAAC;gBACxB,gBAAgB,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;aAC7D;SACJ;KACJ;IAED,sCAAsC;IACtC,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;QACrC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC7D,kBAAkB,GAAG,EAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE;YAC5G,aAAa,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB;YACzE,WAAW,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB;SACxE,CAAC,CAAC;QAEH,gEAAgE;QAChE,IAAI,gBAAgB,KAAK,mBAAmB,CAAC,kBAAkB,EAAE;YAC7D,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;SACxD;KACJ;IAED,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,wBAAwB,CACnH,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,CAAC,UAAU,EAC1B,OAAO,CACV,CAAC;IAEF,2FAA2F;IAC3F,IACI,eAAe,CAAC,UAAU,CAAC,SAAS,KAAK,oBAAY,CAAC,UAAU;QAChE,gBAAgB,KAAK,kBAAkB,CAAC,kBAAkB,EAC5D;QACE,aAAa,GAAG,yBAAiB,CAAC,QAAQ,CAAC;KAC9C;IAED,IAAI,WAAW,IAAI,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE;QACpF,aAAa,GAAG,yBAAiB,CAAC,WAAW,CAAC;QAC9C,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;QACzD,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;QACzD,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;QACzD,kBAAkB,GAAG,CAAC,CAAC;KAC1B;IAED,qBAAqB;IACrB,MAAM,cAAc,GAAG;QACnB,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE;QACjC,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI;QACnF,YAAY,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO;QACzD,YAAY,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO;QACzD,cAAc,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QAClE,cAAc,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QAClE,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE,gBAAgB;QACpC,sBAAsB,EAAE,EAAI,CAAC,wBAAwB,CACjD,iBAAiB,EACjB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAC3D;QACD,sBAAsB,EAAE,EAAI,CAAC,wBAAwB,CACjD,iBAAiB,EACjB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAC3D;QACD,wBAAwB,EAAE,EAAI,CAAC,wBAAwB,CACnD,iBAAiB,EACjB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAC7D;QACD,wBAAwB,EAAE,EAAI,CAAC,wBAAwB,CACnD,iBAAiB,EACjB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAC7D;QACD,KAAK,EAAE,kBAAkB;QACzB,YAAY,EACR,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;YACxC,gBAAgB;YAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,SAAS;QACb,cAAc,EACV,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;YACxC,gBAAgB;YAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS;QACb,kBAAkB,EAAE,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,SAAS;QAClG,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS;QAClF,cAAc,EAAE,aAAa;QAC7B,aAAa,EAAE,wBAAgB,CAAC,SAAS;QACzC,QAAQ,EAAE,2BAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACnG,UAAU,EAAE,aAAa,KAAK,yBAAiB,CAAC,WAAW,IAAI,aAAa,KAAK,yBAAiB,CAAC,UAAU;KAChH,CAAC;IAEF,OAAO,cAAc,CAAC;AAC1B,CAAC,AArI6B,CAqI5B;AAEF;;;;;;;;GAQG;AACY,yCAAwB,GAAG,CAAC,iBAAyB,EAAE,WAAmB,EAAQ,EAAE;IAC/F,OAAO,IAAA,yBAAM,EAAC,iBAAiB,CAAC;SAC3B,EAAE,CAAC,eAAe,CAAC;SACnB,OAAO,CAAC,KAAK,CAAC;SACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;SACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;SAC9C,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;SACzB,MAAM,EAAE,CAAC;AAClB,CAAC,AARsC,CAQrC;AAEF;;;;;;;;;GASG;AACY,sCAAqB,GAAG,CACnC,SAAiB,EACjB,OAA2C,EAC3C,eAA2D,EAC3D,gBAAwB,EACxB,SAAyD,EACnD,EAAE;IACR,kDAAkD;IAClD,MAAM,oBAAoB,GAAG,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC;IAC7E,mEAAmE;IACnE,IAAI,oBAAoB,IAAI,CAAC,EAAE;QAC3B,OAAO,SAAS,CAAC;KACpB;IAED,iFAAiF;IACjF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,gBAAgB,EAAE;QACrE,iCAAiC;QACjC,yEAAyE;QACzE,yDAAyD;QACzD,qBAAqB;QACrB,gCAAgC;QAChC,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACrF;IAED,mEAAmE;IACnE,IAAI,OAAO,CAAC,YAAY,CAAC,kBAAmB,IAAI,CAAC,EAAE;QAC/C,0BAA0B;QAC1B,yEAAyE;QACzE,yDAAyD;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;KACxD;IAED,wBAAwB;IACxB,yBAAyB;IACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CACnC,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAuB,CAAC,GAAG,IAAI,CAChH,CAAC;IAEF,0EAA0E;IAC1E,OAAO,OAAO,CAAC,YAAY,CAAC,kBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;AAC/G,CAAC,AAxCmC,CAwClC;AA+CF;;;;;;GAMG;AACY,qCAAoB,GAAG,CAAC,cAAsB,EAAE,6BAAqC,EAAU,EAAE;IAC5G,IAAI,iBAAiB,GAAG,yBAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,GAAG,kBAAkB,CAAC,CAAC;IAC3F,4DAA4D;IAC5D,IAAI,mBAAmB,GAAG,CAAC,EAAE;QACzB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KACxC;IACD,OAAO,iBAAiB,CAAC,OAAO,EAAE,CAAC;AACvC,CAAC,AARkC,CAQjC;kBAtoBe,gBAAgB"}
|
|
1
|
+
{"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,iDAAmC;AAEnC,sEAAqC;AACrC,gDAA8E;AAC9E,0EAA+D;AAU/D,0DAAkC;AAClC,mDAAgD;AAChD,+DAA4D;AAC5D,4EAAoD;AACpD,+EAA4E;AAC5E,gGAAwE;AAGxE,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACxC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,MAAqB,gBAAgB;IAujBjC;;;;;;;;;;OAUG;IACK,MAAM,CAAC,mBAAmB,CAC9B,iBAA4C,EAC5C,sBAA8B,EAC9B,2BAAmC,EACnC,qBAA6B;QAE7B,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;YACvC,OAAO,IAAI,CAAC;SACf;QAED,MAAM,cAAc,GAAG,yBAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,6BAAa,CAAC,QAAQ,CAAC,CAAC;QACpF,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/D,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,cAAc,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,oBAAoB,CAAC,CAAC;QACpG,MAAM,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,GAAG,oBAAoB,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,2BAA2B,GAAG,sBAAsB,CAAC,CAAC;IAC7F,CAAC;IAmBO,MAAM,CAAC,wBAAwB,CACnC,aAAgC,EAChC,aAA0B,EAC1B,gBAAmC,EACnC,kBAA8C,EAC9C,OAAyE;;QAEzE,IAAI,aAAa,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAiB,CAAC,QAAQ,CAAC;QACjH,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC3D,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC3D,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAE3D,2EAA2E;QAC3E,IACI,aAAa,KAAK,kCAAiB,CAAC,KAAK;YACzC,kBAAkB,CAAC,SAAS,KAAK,oBAAY,CAAC,IAAI;aAClD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAA,EAC/B;YACE,MAAM,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC;YACnF,MAAM,wBAAwB,GAAG,MAAA,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,mCAAI,CAAC,CAAC;YAEjG,4GAA4G;YAC5G,+DAA+D;YAC/D,kFAAkF;YAClF,2BAA2B;YAC3B,iEAAiE;YACjE,gFAAgF;YAChF,yBAAyB;YACzB,IAAI,wBAAwB,KAAK,oBAAY,CAAC,iBAAiB,IAAI,gBAAgB,GAAG,wBAAwB,EAAE;gBAC5G,aAAa,GAAG,yBAAiB,CAAC,UAAU,CAAC;aAChD;iBAAM,IAAI,wBAAwB,KAAK,oBAAY,CAAC,UAAU,IAAI,gBAAgB,EAAE;gBACjF,IAAI,gBAAgB,KAAK,wBAAwB,EAAE;oBAC/C,aAAa,GAAG,yBAAiB,CAAC,QAAQ,CAAC;iBAC9C;qBAAM,IAAI,gBAAgB,GAAG,wBAAwB,EAAE;oBACpD,aAAa,GAAG,yBAAiB,CAAC,UAAU,CAAC;iBAChD;aACJ;YAED,IAAI,aAAa,KAAK,yBAAiB,CAAC,UAAU,IAAI,aAAa,KAAK,yBAAiB,CAAC,QAAQ,EAAE;gBAChG,gBAAgB,GAAG,IAAI,CAAC;aAC3B;SACJ;QAED,OAAO;YACH,aAAa;YACb,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;SACnB,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,gBAAwB,EAAE,kBAAqC;QACvF,gEAAgE;QAChE,OAAO,gBAAgB,IAAI,kBAAkB,CAAC,kBAAkB,CAAC;IACrE,CAAC;;;AA3pBD;;;;;GAKG;AACW,iCAAgB,GAAG,CAC7B,aAAqC,EACrC,QAAoC,EACR,EAAE;IAC9B,MAAM,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IAC/D,MAAM,iBAAiB,GAAG,EAAI,CAAC,oBAAoB,CAC/C,cAAc,EACd,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CACxE,CAAC;IAEF,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC;IACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAwB,EAAE,CAAC;IAElD,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC;IAEjD,OAAO,gBAAgB,CAAC,eAAe,CACnC,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,EAC7G,QAAQ,CACX,CAAC;AACN,CAAC,CAAA,AApB6B,CAoB5B;AAEF;;;;;;;GAOG;AACW,gCAAe,GAAG,CAAO,OAAwC,EAAE,QAAoC,EAAE,EAAE;;IACrH,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAC/G,OAAO,CAAC;IAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,gBAAgB,GAA6B,IAAI,CAAC;QAEtD,aAAa;QACb,QAAQ,EAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE;YAC7C,KAAK,yCAAmB,CAAC,QAAQ;gBAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC7D,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;oBACjD,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;iBACF,CAAC,CAAC;gBAEjC,gBAAgB,GAAG,EAAI,CAAC,iBAAiB,CACrC,aAAa,CAAC,QAAQ,EACtB,eAAe,EACf,OAAO,EACP,iBAAiB,EACjB,aAAa,CAAC,eAAe,CAChC,CAAC;gBAEF,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,UAAU,EAAE;oBAClE,gBAAgB,GAAG,4BAAkB,CAAC,sBAAsB,CACxD,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;iBACL;gBAED,gBAAgB,CAAC,OAAO,GAAG,MAAA,QAAQ,CAAC,OAAO,mCAAI,gBAAgB,CAAC,OAAO,CAAC;gBACxE,MAAM;YACV,KAAK,yCAAmB,CAAC,YAAY;gBACjC,uFAAuF;gBACvF,MAAM,sBAAsB,GAAsB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACjG,IACI,OAAO,CAAC,oBAAoB,KAAK,IAAI;oBACrC,CAAC,YAAY,KAAK,IAAI;wBAClB,QAAQ,CAAC,mBAAmB,KAAK,IAAI;wBACrC,YAAY,GAAG,QAAQ,CAAC,mBAAmB,CAAC,EAClD;oBACE,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC3D,8DAA8D;oBAC9D,MAAM,mBAAmB,GAAG,OAAO,CAAC,8BAA8B,CAAC;oBACnE,kFAAkF;oBAClF,MAAM,cAAc,GAChB,CAAC,mBAAmB;wBACpB,kBAAQ,CAAC,WAAW,CAChB,aAAa,CAAC,qBAAqB,EACnC,QAAQ,CAAC,gBAAgB,EACzB,cAAc,EACd,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAC5B,sBAAsB,CAAC,WAAW,EAClC,QAAQ,EACR,aAAa,CAAC,YAAY,EAC1B,OAAO,CAAC,oBAAoB,EAC5B,QAAQ,CAAC,UAAU,CACtB,CAAC;oBAEN,gBAAgB,mBACZ,EAAE,EAAE,QAAQ,CAAC,EAAE,EACf,sBAAsB,EAAE,IAAI,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,oBAAqB,GAAG,IAAI,CAAC,EAChG,wBAAwB,EAAE,IAAI,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,sBAAuB,GAAG,IAAI,CAAC,EACpG,YAAY,EAAE,aAAa,CAAC,OAAO,EACnC,kBAAkB,EAAE,aAAa,CAAC,aAAa,EAC/C,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,EAC5C,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,EACtD,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,yBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAiB,CAAC,YAAY,EAC7F,aAAa,EAAE,wBAAgB,CAAC,SAAS,IACtC,CAAC,aAAa,CAAC,aAAa,IAAI;wBAC/B,kBAAkB,EAAE,aAAa,CAAC,aAAa;qBAClD,CAAC,CACL,CAAC;oBAEF,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,YAAY,EAAE;wBACpE,gBAAgB,CAAC,KAAK,GAAG,EAAI,CAAC,mBAAmB,CAC7C,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,mCAAI,QAAQ,CAAC,KAAK,EAC5C,aAAa,CAAC,sBAAsB,EACpC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EACnC,iBAAiB,CACpB,CAAC;qBACL;iBACJ;qBAAM;oBACH,6FAA6F;oBAC7F,MAAM,aAAa,GACf,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,2BAA2B;wBAC3E,aAAa,CAAC,SAAS,CAAC,SAAS,CAC7B,CAAC,YAAY,EAAE,EAAE,CACb,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC/E,YAAY,CAAC,UAAU,CAC9B,IAAI,CAAC;wBACF,CAAC,CAAC,yBAAiB,CAAC,SAAS;wBAC7B,CAAC,CAAC,yBAAiB,CAAC,WAAW,CAAC;oBACxC,MAAM,qBAAqB,GACvB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACxG,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACrG,wDAAwD;oBACxD,MAAM,cAAc,GAChB,kBAAQ,CAAC,WAAW,CAChB,aAAa,CAAC,qBAAqB,EACnC,QAAQ,CAAC,gBAAgB,EACzB,cAAc,EACd,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAC5B,sBAAsB,CAAC,WAAW,EAClC,QAAQ,EACR,aAAa,CAAC,YAAY,EAC1B,OAAO,CAAC,oBAAoB,EAC5B,QAAQ,CAAC,UAAU,CACtB,IAAI,aAAa,KAAK,yBAAiB,CAAC,WAAW,CAAC;oBACzD,gBAAgB,mBACZ,EAAE,EAAE,QAAQ,CAAC,EAAE,EACf,sBAAsB,EAAE,IAAI,IAAI,CAC5B,iBAAiB,GAAG,qBAAqB,CAAC,sBAAsB,GAAG,IAAI,CAC1E,EACD,wBAAwB,EAAE,IAAI,IAAI,CAC9B,iBAAiB,GAAG,qBAAqB,CAAC,sBAAsB,GAAG,IAAI,CAC1E,EACD,YAAY,EAAE,YAAY,CAAC,OAAO,EAClC,kBAAkB,EAAE,qBAAqB,CAAC,kBAAkB,EAC5D,mBAAmB,EAAE,qBAAqB,CAAC,mBAAmB,EAC9D,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,yBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAC5E,aAAa,EAAE,wBAAgB,CAAC,SAAS,EACzC,KAAK,EAAE,MAAA,QAAQ,CAAC,KAAK,mCAAI,IAAI,IAC1B,CAAC,YAAY,CAAC,aAAa,IAAI;wBAC9B,kBAAkB,EAAE,YAAY,CAAC,aAAa;qBACjD,CAAC,CACL,CAAC;oBACF,gBAAgB,GAAG,4BAAkB,CAAC,sBAAsB,CACxD,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;iBACL;gBACD,MAAM;YACV,KAAK,yCAAmB,CAAC,QAAQ;gBAC7B,gBAAgB,GAAG;oBACf,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,cAAc,EAAE,yBAAiB,CAAC,QAAQ;oBAC1C,aAAa,EAAE,wBAAgB,CAAC,SAAS;iBAC5C,CAAC;gBACF,MAAM;YACV,KAAK,yCAAmB,CAAC,UAAU;gBAC/B,MAAM;YACV;gBACI,MAAM;SACb;QAED,6BAA6B;QAC7B,IAAI,gBAAgB,EAAE;YAClB,MAAA,gBAAgB,CAAC,UAAU,oCAA3B,gBAAgB,CAAC,UAAU,GAAK,QAAQ,CAAC,UAAU,EAAC;YACpD,gBAAgB,CAAC,QAAQ,GAAG,2BAAiB,CAAC,mBAAmB,CAC7D,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,aAAa,CAAC,QAAQ,EACtB,cAAc,EACd,iBAAiB,CACpB,CAAC;YACF,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC5C;QAED,OAAO,CAAC,iBAAiB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,mCAAI,QAAQ,CAAC,cAAc,CAAC;QAExF,+CAA+C;QAC/C,IAAI,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,oBAAoB,EAAE;YACpE,OAAO,CAAC,8BAA8B,GAAG;gBACrC,KAAK,EAAE,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,mCAAI,QAAQ,CAAC,KAAK;gBAChD,gBAAgB,EAAE,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,gBAAgB,mCAAI,QAAQ,CAAC,gBAAgB;aACpF,CAAC;SACL;QACD,6DAA6D;QAC7D,IACI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,OAAO;YAC9D,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,QAAQ;YAC/D,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO;YACrD,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ,EACxD;YACE,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,gCACjE,QAAQ,GACR,gBAAgB,CACQ,CAAC,CAAC;SACpC;QAED,iGAAiG;QACjG,IACI,gBAAgB;YACZ,CAAC,CAAC,gBAAgB,CAAC,kBAAkB;gBACnC,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,gBAAgB,CAAC,kBAAkB;YAC5E,CAAC,CAAC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,QAAQ,CAAC,kBAAkB,EACzG;YACE,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,gBAAgB;gBACjD,CAAC,CAAC,gBAAgB,CAAC,kBAAmB;gBACtC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAClC,OAAO,CAAC,YAAY,CAAC,sBAAsB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAClF,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACzG;QACD,sEAAsE;QACtE,wBAAwB;QACxB,4BAA4B;QAC5B,IACI,gBAAgB;YAChB,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,UAAU;YAChE,CAAC,gBAAgB,CAAC,kBAAkB,EACtC;YACE,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7C;aAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YAC1D,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7C;QAED,oEAAoE;QACpE,IACI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,SAAS;YAChE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,SAAS;YAChE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,UAAU,EACnE;YACE,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,2BAA2B,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAE1E,4BAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;SACxF;KACJ;IAED,OAAO;QACH,OAAO;QACP,SAAS,EAAE,iBAAiB;KAC/B,CAAC;AACN,CAAC,CAAA,AA3O4B,CA2O3B;AAEa,kCAAiB,GAAG,CAAC,aAAqC,EAA+B,EAAE;;IACtG,MAAM,OAAO,GAAgC,MAAA,aAAa,CAAC,qBAAqB,mCAAI;QAChF,YAAY,EAAE;YACV,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,IAAI;YAC5B,kBAAkB,EAAE,IAAI;SAC3B;QACD,oBAAoB,EAAE;YAClB,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,IAAI;SACxB;QACD,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,2BAA2B,EAAE,IAAI;QACjC,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,8BAA8B,EAAE,IAAI;QACpC,iBAAiB,EAAE,IAAI;QACvB,MAAM,EAAE,aAAa,CAAC,EAAE;KAC3B,CAAC;IAEF,OAAO,OAAO,CAAC;AACnB,CAAC,AA1B+B,CA0B9B;AAEF;;;;;GAKG;AACY,yCAAwB,GAAG,CAAC,QAAoC,EAAuB,EAAE;IACpG,IAAI,QAAQ,CAAC,aAAa,KAAK,wBAAgB,CAAC,SAAS;QAAE,OAAO,yCAAmB,CAAC,UAAU,CAAC;SAC5F,IAAI,QAAQ,CAAC,WAAW;QAAE,OAAO,yCAAmB,CAAC,QAAQ,CAAC;SAC9D,IAAI,QAAQ,CAAC,UAAU;QAAE,OAAO,yCAAmB,CAAC,QAAQ,CAAC;;QAC7D,OAAO,yCAAmB,CAAC,YAAY,CAAC;AACjD,CAAC,AALsC,CAKrC;AAEF;;;;;;;;GAQG;AACY,kCAAiB,GAAG,CAC/B,YAA8B,EAC9B,eAA2D,EAC3D,OAA2C,EAC3C,iBAAyB,EACzB,aAAgC,EACf,EAAE;;IACnB,MAAM,oBAAoB,GAAG,IAAI,2CAAoB,CAAC,YAAY,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC1G,MAAM,oBAAoB,GAAG,yBAAiB,CAAC,SAAS,CAAC;IAEzD,gBAAgB;IAChB,IAAI,cAAc,mBACd,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,EACjC,cAAc,EAAE,oBAAoB,EACpC,aAAa,EAAE,wBAAgB,CAAC,SAAS,EACzC,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,SAAS,EAC/C,QAAQ,EAAE,2BAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAChG,CAAC,OAAO;SACP,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,kBAAkB,CAAA,IAAI;QAC3D,mBAAmB,EAAE,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,mBAAoB;QAClF,sBAAsB,EAAE,CAAA,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,sBAAsB;YACnF,CAAC,CAAC,IAAI,IAAI,CAAC,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,sBAAsB,CAAC;YAC3E,CAAC,CAAC,SAAS;QACf,wBAAwB,EAAE,CAAA,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,wBAAwB;YACvF,CAAC,CAAC,IAAI,IAAI,CAAC,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,wBAAwB,CAAC;YAC7E,CAAC,CAAC,SAAS;QACf,kBAAkB,EAAE,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,kBAAmB;QAChF,YAAY,EAAE,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,YAAa;KACvE,CAAC,CACT,CAAC;IAEF,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,yBAAiB,CAAC,YAAY,EAAE;QAC/D,gBAAgB,GAAG,CAAC,CAAC;KACxB;SAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,EAAE;QACtC,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,CAAC;KACjF;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC1E,IAAI,CAAC,WAAW,EAAE;QACd,OAAO,cAAc,CAAC;KACzB;IAED,OAAO,EAAI,CAAC,eAAe,CAAC,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AACvH,CAAC,AA5C+B,CA4C9B;AAEF;;;;;;;;;GASG;AACY,gCAAe,GAAG,CAC7B,eAA2D,EAC3D,OAA2C,EAC3C,iBAAyB,EACzB,gBAAmC,EACnC,YAA8B,EAC9B,aAAgC,EACf,EAAE;IACnB,6EAA6E;IAC7E,MAAM,eAAe,GAAG,YAAY,CAAC,oBAAoB,CAAC;IAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC;IAC9C,MAAM,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvE,MAAM,sBAAsB,GAAG,6BAAa,CAAC,0BAA0B;IACnE,6CAA6C;IAC7C,gBAAgB,CAAC,kBAAkB;QAC/B,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,oBAAoB;QAC7E,CAAC,CAAC,gBAAgB,CAAC,sBAAsB,EAC7C,iBAAiB,CACpB,CAAC;IAEF,IAAI,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAC/B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CACpG,CAAC;IAEF,MAAM,WAAW,GACb,aAAa,KAAK,kCAAiB,CAAC,GAAG;QACvC,aAAa,KAAK,kCAAiB,CAAC,UAAU;QAC9C,aAAa,KAAK,kCAAiB,CAAC,IAAI,CAAC;IAE7C,yFAAyF;IACzF,IACI,WAAW;QACX,eAAe,CAAC,UAAU,CAAC,SAAS,KAAK,oBAAY,CAAC,iBAAiB;QACvE,gBAAgB,CAAC,kBAAkB,KAAK,IAAI,EAC9C;QACE,IAAI,gBAAgB,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAA,EAAE;YAC7E,gBAAgB,GAAG,mBAAmB,CAAC;SAC1C;aAAM;YACH,IAAI,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC;YACnD,OAAO,gBAAgB,CAAC,kBAAkB,KAAK,IAAI,IAAI,qBAAqB,GAAG,kBAAkB,CAAC,KAAK,EAAE;gBACrG,qBAAqB,EAAE,CAAC;gBACxB,gBAAgB,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;aAC7D;SACJ;KACJ;IAED,sCAAsC;IACtC,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;QACrC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC7D,kBAAkB,GAAG,EAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE;YAC5G,aAAa,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB;YACzE,WAAW,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB;SACxE,CAAC,CAAC;QAEH,gEAAgE;QAChE,IAAI,gBAAgB,KAAK,mBAAmB,CAAC,kBAAkB,EAAE;YAC7D,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;SACxD;KACJ;IAED,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,wBAAwB,CACnH,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,CAAC,UAAU,EAC1B,OAAO,CACV,CAAC;IAEF,2FAA2F;IAC3F,IACI,eAAe,CAAC,UAAU,CAAC,SAAS,KAAK,oBAAY,CAAC,UAAU;QAChE,gBAAgB,KAAK,kBAAkB,CAAC,kBAAkB,EAC5D;QACE,aAAa,GAAG,yBAAiB,CAAC,QAAQ,CAAC;KAC9C;IAED,IAAI,WAAW,IAAI,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE;QACpF,aAAa,GAAG,yBAAiB,CAAC,WAAW,CAAC;QAC9C,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;QACzD,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;QACzD,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;QACzD,kBAAkB,GAAG,CAAC,CAAC;KAC1B;IAED,qBAAqB;IACrB,MAAM,cAAc,GAAG;QACnB,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE;QACjC,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI;QACnF,YAAY,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO;QACzD,YAAY,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO;QACzD,cAAc,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QAClE,cAAc,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QAClE,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE,gBAAgB;QACpC,sBAAsB,EAAE,6BAAa,CAAC,0BAA0B,CAC5D,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,EACxD,iBAAiB,CACpB;QACD,sBAAsB,EAAE,6BAAa,CAAC,0BAA0B,CAC5D,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,EACxD,iBAAiB,CACpB;QACD,wBAAwB,EAAE,6BAAa,CAAC,0BAA0B,CAC9D,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAC1D,iBAAiB,CACpB;QACD,wBAAwB,EAAE,6BAAa,CAAC,0BAA0B,CAC9D,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAC1D,iBAAiB,CACpB;QACD,KAAK,EAAE,kBAAkB;QACzB,YAAY,EACR,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;YACxC,gBAAgB;YAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,SAAS;QACb,cAAc,EACV,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;YACxC,gBAAgB;YAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS;QACb,kBAAkB,EAAE,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,SAAS;QAClG,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS;QAClF,cAAc,EAAE,aAAa;QAC7B,aAAa,EAAE,wBAAgB,CAAC,SAAS;QACzC,QAAQ,EAAE,2BAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACnG,UAAU,EAAE,aAAa,KAAK,yBAAiB,CAAC,WAAW,IAAI,aAAa,KAAK,yBAAiB,CAAC,UAAU;KAChH,CAAC;IAEF,OAAO,cAAc,CAAC;AAC1B,CAAC,AArI6B,CAqI5B;AAEF;;;;;;;;;GASG;AACY,sCAAqB,GAAG,CACnC,SAAiB,EACjB,OAA2C,EAC3C,eAA2D,EAC3D,gBAAwB,EACxB,SAAyD,EACnD,EAAE;IACR,kDAAkD;IAClD,MAAM,oBAAoB,GAAG,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC;IAC7E,mEAAmE;IACnE,IAAI,oBAAoB,IAAI,CAAC,EAAE;QAC3B,OAAO,SAAS,CAAC;KACpB;IAED,iFAAiF;IACjF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,gBAAgB,EAAE;QACrE,iCAAiC;QACjC,yEAAyE;QACzE,yDAAyD;QACzD,qBAAqB;QACrB,gCAAgC;QAChC,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACrF;IAED,mEAAmE;IACnE,IAAI,OAAO,CAAC,YAAY,CAAC,kBAAmB,IAAI,CAAC,EAAE;QAC/C,0BAA0B;QAC1B,yEAAyE;QACzE,yDAAyD;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;KACxD;IAED,wBAAwB;IACxB,yBAAyB;IACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CACnC,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAuB,CAAC,GAAG,IAAI,CAChH,CAAC;IAEF,0EAA0E;IAC1E,OAAO,OAAO,CAAC,YAAY,CAAC,kBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;AAC/G,CAAC,AAxCmC,CAwClC;AAgCF;;;;;;GAMG;AACY,qCAAoB,GAAG,CAAC,cAAsB,EAAE,6BAAqC,EAAU,EAAE;IAC5G,IAAI,iBAAiB,GAAG,yBAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,GAAG,kBAAkB,CAAC,CAAC;IAC3F,4DAA4D;IAC5D,IAAI,mBAAmB,GAAG,CAAC,EAAE;QACzB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KACxC;IACD,OAAO,iBAAiB,CAAC,OAAO,EAAE,CAAC;AACvC,CAAC,AARkC,CAQjC;kBApmBe,gBAAgB"}
|
|
@@ -35,19 +35,23 @@ class MetroDelayAtStop extends AbstractDelayAtStop_1.default {
|
|
|
35
35
|
context = this.resetContext(context, positionToUpdate, position);
|
|
36
36
|
positionToUpdate.delay_stop_arrival = context.lastPositionLastStop.arrival_delay;
|
|
37
37
|
positionToUpdate.delay_stop_departure = context.lastPositionLastStop.departure_delay;
|
|
38
|
-
// Compute delay of the current metro position
|
|
39
|
-
// as the difference between the scheduled and the origin timestamp of the original message
|
|
40
|
-
let delayInSeconds = null;
|
|
41
|
-
if (position.origin_timestamp !== null && position.scheduled_timestamp !== null) {
|
|
42
|
-
delayInSeconds = (position.origin_timestamp.getTime() - position.scheduled_timestamp.getTime()) / 1000;
|
|
43
|
-
}
|
|
44
38
|
if (positionToUpdate.state_position === const_1.StatePositionEnum.AT_STOP && context.atStopStreak.stop_sequence === null) {
|
|
45
|
-
positionToUpdate.
|
|
46
|
-
|
|
39
|
+
if (positionToUpdate.last_stop_sequence === 1) {
|
|
40
|
+
// first stop
|
|
41
|
+
positionToUpdate.delay_stop_arrival = null;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const delayAtStopInSeconds = this.calcDelayAtStop(position.origin_timestamp.getTime(), positionToUpdate.last_stop_arrival_time);
|
|
45
|
+
positionToUpdate.delay_stop_arrival = delayAtStopInSeconds
|
|
46
|
+
? delayAtStopInSeconds + this.metroArrivalDelayAddition
|
|
47
|
+
: null;
|
|
48
|
+
}
|
|
47
49
|
}
|
|
48
50
|
else if (positionToUpdate.state_position === const_1.StatePositionEnum.ON_TRACK && context.atStopStreak.stop_sequence) {
|
|
49
|
-
positionToUpdate.
|
|
50
|
-
|
|
51
|
+
const delayAtStopInSeconds = this.calcDelayAtStop(position.origin_timestamp.getTime(), positionToUpdate.last_stop_departure_time);
|
|
52
|
+
positionToUpdate.delay_stop_departure = delayAtStopInSeconds
|
|
53
|
+
? delayAtStopInSeconds + this.metroDepartureDelayAddition
|
|
54
|
+
: null;
|
|
51
55
|
}
|
|
52
56
|
return positionToUpdate;
|
|
53
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetroDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.ts"],"names":[],"mappings":";;;;;AAGA,yEAAsE;AACtE,sDAA8C;AAC9C,gFAAwD;AAExD,MAAqB,gBAAiB,SAAQ,6BAAmB;IAI7D;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,yBAAyB,GAAG,eAAM,CAAC,gBAAgB,CAAC,yBAAyB,CAAC;QACnF,IAAI,CAAC,2BAA2B,GAAG,eAAM,CAAC,gBAAgB,CAAC,2BAA2B,CAAC;IAC3F,CAAC;IAEM,aAAa,CAChB,OAAoC,EACpC,gBAA0C,EAC1C,QAAoC;;QAEpC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACtB,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;YACxC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,GAAG,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,kBAAkB,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,mCAAI,IAAI,CAAC;SACxH;QAED,IACI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,OAAO;YAC9D,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,QAAQ,EACjE;YACE,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,MAAA,gBAAgB,CAAC,kBAAkB,mCAAI,IAAI,CAAC;YACzF,OAAO,CAAC,oBAAoB,CAAC,eAAe,GAAG,MAAA,gBAAgB,CAAC,oBAAoB,mCAAI,IAAI,CAAC;SAChG;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,cAAc,CACjB,OAAoC,EACpC,gBAAmC,EACnC,QAAgD;QAEhD,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAA,EAAE;YACvB,OAAO,gBAAgB,CAAC;SAC3B;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACjE,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC;QACjF,gBAAgB,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAErF,
|
|
1
|
+
{"version":3,"file":"MetroDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GeoMeasurementHelper } from "../../../../../../helpers/geo/GeoMeasurementHelper";
|
|
2
|
+
import { CachedMetroRailTrackLookup } from "../../data-access/metro/CachedMetroRailtrackLookup";
|
|
3
|
+
import { IComputationTrip } from "../../interfaces/VPInterfaces";
|
|
4
|
+
export declare class MetroShapePointsFixer {
|
|
5
|
+
private cachedMetroRailTrackLookup;
|
|
6
|
+
private geoMeasurementHelper;
|
|
7
|
+
constructor(cachedMetroRailTrackLookup: CachedMetroRailTrackLookup, geoMeasurementHelper: GeoMeasurementHelper);
|
|
8
|
+
fix(data: IComputationTrip): Promise<IComputationTrip>;
|
|
9
|
+
private getSequenceByStopId;
|
|
10
|
+
private getClosestMetroRailtrack;
|
|
11
|
+
private getPossibleStops;
|
|
12
|
+
}
|