@golemio/pid 2.8.0 → 2.8.1-dev.943582902
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 +4 -0
- package/dist/helpers/AccessibilityEnums.d.ts +16 -0
- package/dist/helpers/AccessibilityEnums.js +22 -0
- package/dist/helpers/AccessibilityEnums.js.map +1 -0
- package/dist/integration-engine/index.js +2 -0
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/queueDefinitions.js +0 -50
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.d.ts +0 -63
- package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js +3 -541
- package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/cache/StaticFileRedisRepository.js +18 -4
- package/dist/integration-engine/ropid-gtfs/data-access/cache/StaticFileRedisRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/Di.d.ts +3 -0
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js +29 -0
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +8 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +12 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/transformations/RopidGTFSTransformation.js +16 -3
- package/dist/integration-engine/ropid-gtfs/transformations/RopidGTFSTransformation.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.d.ts +5 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js +23 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.d.ts +12 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.js +61 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.d.ts +14 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js +93 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.d.ts +19 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.js +152 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.d.ts +11 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.js +57 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/TransformAndSaveDataTask.d.ts +21 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/TransformAndSaveDataTask.js +160 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/TransformAndSaveDataTask.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/HelperTypes.d.ts +24 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/HelperTypes.js +36 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/HelperTypes.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.d.ts +12 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.js +67 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/RopidGtfsFactory.d.ts +13 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/RopidGtfsFactory.js +102 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/RopidGtfsFactory.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/interfaces/ICheckForNewDataInput.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/interfaces/IDatasetsInput.d.ts +4 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/interfaces/IDatasetsInput.js +3 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/interfaces/IDatasetsInput.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/CachedDatasetSchema.d.ts +8 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/CachedDatasetSchema.js +40 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/CachedDatasetSchema.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/CheckForNewDataMessageValidation.d.ts +4 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/CheckForNewDataMessageValidation.js +22 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/CheckForNewDataMessageValidation.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/DownloadDataInputSchema.d.ts +5 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/DownloadDataInputSchema.js +23 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/DownloadDataInputSchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js +1 -1
- package/dist/output-gateway/pid/helpers/DepartureBoardMapper.d.ts +3 -3
- package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js +21 -3
- package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js.map +1 -1
- package/dist/output-gateway/pid/index.d.ts +3 -2
- package/dist/output-gateway/pid/index.js +1 -1
- package/dist/output-gateway/pid/index.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/interfaces/IDeparturesModel.d.ts +3 -2
- package/docs/implementation_documentation.md +39 -37
- package/docs/openapi-output.yaml +2 -2
- package/package.json +3 -3
- package/dist/integration-engine/ropid-gtfs/interfaces/ICheckForNewDataInput.js.map +0 -1
- /package/dist/integration-engine/ropid-gtfs/{interfaces → workers/timetables/tasks/interfaces}/ICheckForNewDataInput.d.ts +0 -0
- /package/dist/integration-engine/ropid-gtfs/{interfaces → workers/timetables/tasks/interfaces}/ICheckForNewDataInput.js +0 -0
|
@@ -8,226 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
-
var t = {};
|
|
13
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
-
t[p] = s[p];
|
|
15
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
-
t[p[i]] = s[p[i]];
|
|
19
|
-
}
|
|
20
|
-
return t;
|
|
21
|
-
};
|
|
22
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
-
};
|
|
25
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.LegacyRopidGTFSWorker =
|
|
12
|
+
exports.LegacyRopidGTFSWorker = void 0;
|
|
27
13
|
const Di_1 = require("../ioc/Di");
|
|
28
14
|
const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
|
|
29
|
-
const RopidGTFSOisTransformation_1 = require("./transformations/RopidGTFSOisTransformation");
|
|
30
|
-
const utils_1 = require("./utils");
|
|
31
|
-
const shared_1 = require("../shared");
|
|
32
|
-
const constants_1 = require("../vehicle-positions/workers/vehicle-positions/constants");
|
|
33
|
-
const const_1 = require("../../schema-definitions/const");
|
|
34
15
|
const ropid_departures_presets_1 = require("../../schema-definitions/ropid-departures-presets");
|
|
35
16
|
const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
|
|
36
17
|
const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
37
|
-
const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
|
|
38
|
-
const pubsub_1 = require("@golemio/core/dist/integration-engine/data-access/pubsub");
|
|
39
18
|
const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
|
|
40
|
-
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
41
|
-
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
42
19
|
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
43
|
-
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
44
20
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
45
|
-
const os_1 = __importDefault(require("os"));
|
|
46
|
-
const pg_copy_streams_1 = require("pg-copy-streams");
|
|
47
21
|
const _1 = require(".");
|
|
48
|
-
const
|
|
49
|
-
const precomputed_1 = require("./data-access/precomputed");
|
|
50
|
-
const DataCacheManager_1 = require("./helpers/DataCacheManager");
|
|
51
|
-
const SourceTableSuffixEnum_1 = require("./helpers/SourceTableSuffixEnum");
|
|
52
|
-
var CacheContentType;
|
|
53
|
-
(function (CacheContentType) {
|
|
54
|
-
CacheContentType["CSV"] = "CSV";
|
|
55
|
-
CacheContentType["JSON"] = "JSON";
|
|
56
|
-
})(CacheContentType || (CacheContentType = {}));
|
|
57
|
-
const isCachedDataset = (obj) => {
|
|
58
|
-
return obj instanceof Object && obj.filepath !== undefined && obj.name !== undefined && obj.dataset !== undefined;
|
|
59
|
-
};
|
|
60
|
-
const datasetFileModelMap = (dataset, name) => {
|
|
61
|
-
let model;
|
|
62
|
-
switch (dataset) {
|
|
63
|
-
case _1.DatasetEnum.PID_GTFS:
|
|
64
|
-
model = name;
|
|
65
|
-
break;
|
|
66
|
-
case _1.DatasetEnum.RUN_NUMBERS:
|
|
67
|
-
model = "run_numbers";
|
|
68
|
-
break;
|
|
69
|
-
case _1.DatasetEnum.OIS_MAPPING:
|
|
70
|
-
model = "ois";
|
|
71
|
-
break;
|
|
72
|
-
case _1.DatasetEnum.CIS_STOPS:
|
|
73
|
-
model = ["cis_stops", "cis_stop_groups"];
|
|
74
|
-
break;
|
|
75
|
-
default:
|
|
76
|
-
throw new Error(`Error mapping dataset ${dataset} and source ${name}`);
|
|
77
|
-
}
|
|
78
|
-
return model;
|
|
79
|
-
};
|
|
80
|
-
exports.datasetFileModelMap = datasetFileModelMap;
|
|
22
|
+
const Di_2 = require("./ioc/Di");
|
|
81
23
|
class LegacyRopidGTFSWorker extends workers_1.BaseWorker {
|
|
82
24
|
constructor() {
|
|
83
25
|
super();
|
|
84
|
-
/**
|
|
85
|
-
* Queue listener method - triggers entire flow
|
|
86
|
-
*/
|
|
87
|
-
this.checkForNewData = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
let forceRefresh = false;
|
|
89
|
-
try {
|
|
90
|
-
const inputData = JSON.parse(msg.content.toString());
|
|
91
|
-
forceRefresh = !!inputData.forceRefresh;
|
|
92
|
-
}
|
|
93
|
-
catch (err) {
|
|
94
|
-
helpers_1.log.warn(`Error parsing checkForNewData message: ${err.message}`);
|
|
95
|
-
}
|
|
96
|
-
const datasets = [];
|
|
97
|
-
for (const dataset of Object.keys(this.datasetMap)) {
|
|
98
|
-
const serverLastModified = yield this.datasetMap[dataset].datasource.getLastModified();
|
|
99
|
-
const dbLastModified = yield this.metaModel.getLastModified(dataset);
|
|
100
|
-
const isDeployed = yield this.metaModel.isDeployed(dataset);
|
|
101
|
-
if (serverLastModified !== dbLastModified.lastModified || !isDeployed) {
|
|
102
|
-
datasets.push(dataset);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
if (datasets.length && datasets.length !== Object.keys(this.datasetMap).length) {
|
|
106
|
-
helpers_1.log.error(`RopidGTFS datasets are out of sync`);
|
|
107
|
-
}
|
|
108
|
-
if (datasets.length) {
|
|
109
|
-
yield this.sendMessageToExchange("workers." + this.queuePrefix + ".downloadDatasets", JSON.stringify(datasets));
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
helpers_1.log.info("RopidGTFS datasets are up to date");
|
|
113
|
-
if (forceRefresh) {
|
|
114
|
-
yield this.sendMessageToExchange("workers." + this.queuePrefix + ".refreshPrecomputedTables", "");
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
/**
|
|
118
|
-
* Queue listener method - triggers dataset download
|
|
119
|
-
* @param {object} msg
|
|
120
|
-
* @param {Buffer} msg.content - array of dataset names, empty to force downloading all
|
|
121
|
-
*/
|
|
122
|
-
this.downloadDatasets = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
123
|
-
let datasets;
|
|
124
|
-
try {
|
|
125
|
-
const content = msg.content.toString();
|
|
126
|
-
if (content) {
|
|
127
|
-
datasets = JSON.parse(content);
|
|
128
|
-
this.validateDatasetNames(datasets);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
// utility setup - force run all if message empty
|
|
132
|
-
datasets = Object.keys(this.datasetMap);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
catch (err) {
|
|
136
|
-
throw new golemio_errors_1.GeneralError("Error while parsing input data", this.constructor.name, err);
|
|
137
|
-
}
|
|
138
|
-
helpers_1.log.info(`Datasets: downloading ${datasets}`);
|
|
139
|
-
let cachedDatasets = [];
|
|
140
|
-
for (const dataset of datasets) {
|
|
141
|
-
try {
|
|
142
|
-
cachedDatasets = cachedDatasets.concat(yield this.downloadAndPersistDatasetFiles(dataset));
|
|
143
|
-
}
|
|
144
|
-
catch (err) {
|
|
145
|
-
yield this.sendMessageToExchange("workers." + this.queuePrefix + ".refreshPrecomputedTables", "");
|
|
146
|
-
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
147
|
-
throw err;
|
|
148
|
-
}
|
|
149
|
-
throw new golemio_errors_1.GeneralError("Error while downloading GTFS datasets", this.constructor.name, err);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
const subscriber = this.gtfsRedisChannel.createSubscriber({ channelSuffix: os_1.default.hostname() });
|
|
153
|
-
yield subscriber.subscribe();
|
|
154
|
-
for (const cachedDataset of cachedDatasets) {
|
|
155
|
-
this.sendMessageToExchange("workers." + this.queuePrefix + ".transformAndSaveData", JSON.stringify(cachedDataset), {
|
|
156
|
-
headers: {
|
|
157
|
-
[LegacyRopidGTFSWorker.ORIGIN_HOSTNAME_HEADER]: os_1.default.hostname(),
|
|
158
|
-
},
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
// Listen for messages from workers and wait for all of them to finish
|
|
162
|
-
// before continuing to the next step (replacing tables)
|
|
163
|
-
try {
|
|
164
|
-
yield subscriber.listen(cachedDatasets.length, ({ message, messageCount, isFinal }) => {
|
|
165
|
-
helpers_1.log.debug(`Datasets: received message: ${message} (${messageCount}/${cachedDatasets.length})`);
|
|
166
|
-
if (!message.startsWith("OK")) {
|
|
167
|
-
helpers_1.log.error(`Datasets: subscription error: ${message}`);
|
|
168
|
-
throw new golemio_errors_1.GeneralError(message, this.constructor.name);
|
|
169
|
-
}
|
|
170
|
-
if (isFinal) {
|
|
171
|
-
helpers_1.log.info("Datasets: all messages received");
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
catch (err) {
|
|
176
|
-
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
177
|
-
throw err;
|
|
178
|
-
}
|
|
179
|
-
throw new golemio_errors_1.GeneralError("Error while listening for messages", this.constructor.name, err);
|
|
180
|
-
}
|
|
181
|
-
finally {
|
|
182
|
-
yield subscriber.unsubscribe();
|
|
183
|
-
this.sendMessageToExchange("workers." + this.queuePrefix + ".checkSavedRowsAndReplaceTables", JSON.stringify(datasets));
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
/**
|
|
187
|
-
* Helper method - download and persist dataset
|
|
188
|
-
*/
|
|
189
|
-
this.downloadAndPersistDatasetFiles = (dataset) => __awaiter(this, void 0, void 0, function* () {
|
|
190
|
-
helpers_1.log.info(`Datasets: processing ${dataset}`);
|
|
191
|
-
let files = yield this.datasetMap[dataset].datasource.getAll();
|
|
192
|
-
if (!Array.isArray(files))
|
|
193
|
-
files = [files];
|
|
194
|
-
const dbLastModified = yield this.metaModel.getLastModified(dataset);
|
|
195
|
-
const cachedDataset = [];
|
|
196
|
-
for (const file of files) {
|
|
197
|
-
helpers_1.log.info(`Datasets: processing file '${file.name}'`);
|
|
198
|
-
const { data } = file, meta = __rest(file, ["data"]);
|
|
199
|
-
if (dataset === _1.DatasetEnum.PID_GTFS || dataset === _1.DatasetEnum.RUN_NUMBERS) {
|
|
200
|
-
yield this.staticFileRedisRepository.pipeStream(file.filepath, data);
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
yield this.staticFileRedisRepository.set(file.filepath, typeof data === "string" ? data : JSON.stringify(data));
|
|
204
|
-
}
|
|
205
|
-
const key = (0, exports.datasetFileModelMap)(dataset, file.name);
|
|
206
|
-
const metaStates = (Array.isArray(key) ? key : [key]).map((name) => {
|
|
207
|
-
return {
|
|
208
|
-
dataset,
|
|
209
|
-
key: name,
|
|
210
|
-
type: shared_1.MetaTypeEnum.STATE,
|
|
211
|
-
value: shared_1.MetaStateEnum.DOWNLOADED,
|
|
212
|
-
version: dbLastModified.version + 1,
|
|
213
|
-
};
|
|
214
|
-
});
|
|
215
|
-
for (const metaState of metaStates) {
|
|
216
|
-
yield this.metaModel.save(metaState);
|
|
217
|
-
}
|
|
218
|
-
cachedDataset.push(Object.assign(Object.assign({}, meta), { dataset }));
|
|
219
|
-
}
|
|
220
|
-
const lastModified = yield this.datasetMap[dataset].datasource.getLastModified();
|
|
221
|
-
yield this.metaModel.save({
|
|
222
|
-
dataset,
|
|
223
|
-
key: shared_1.MetaDatasetInfoKeyEnum.LAST_MODIFIED,
|
|
224
|
-
type: shared_1.MetaTypeEnum.DATASET_INFO,
|
|
225
|
-
value: lastModified,
|
|
226
|
-
version: dbLastModified.version + 1,
|
|
227
|
-
});
|
|
228
|
-
helpers_1.log.info(`Datasets: processing ${dataset} finished - ${JSON.stringify(cachedDataset)}`);
|
|
229
|
-
return cachedDataset;
|
|
230
|
-
});
|
|
231
26
|
/**
|
|
232
27
|
* Queue listener method - triggers for new presets only
|
|
233
28
|
*/
|
|
@@ -239,165 +34,6 @@ class LegacyRopidGTFSWorker extends workers_1.BaseWorker {
|
|
|
239
34
|
yield this.sendMessageToExchange("workers." + this.queuePrefix + ".downloadDeparturesPresets", "Just do it!");
|
|
240
35
|
}
|
|
241
36
|
});
|
|
242
|
-
/**
|
|
243
|
-
* Queue listener method - transform and save dataset item to tmp
|
|
244
|
-
*/
|
|
245
|
-
this.transformAndSaveData = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
246
|
-
let inputData;
|
|
247
|
-
try {
|
|
248
|
-
inputData = JSON.parse(msg.content.toString());
|
|
249
|
-
if (!isCachedDataset(inputData)) {
|
|
250
|
-
throw new Error("Input data has invalid format.");
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
catch (err) {
|
|
254
|
-
throw new golemio_errors_1.GeneralError("Error while parsing input data", this.constructor.name, err);
|
|
255
|
-
}
|
|
256
|
-
let modelName = (0, exports.datasetFileModelMap)(inputData.dataset, inputData.name);
|
|
257
|
-
if (!Array.isArray(modelName)) {
|
|
258
|
-
modelName = [modelName];
|
|
259
|
-
}
|
|
260
|
-
let errorMessage;
|
|
261
|
-
if (inputData.dataset === _1.DatasetEnum.PID_GTFS || inputData.dataset === _1.DatasetEnum.RUN_NUMBERS) {
|
|
262
|
-
try {
|
|
263
|
-
const sourceStream = this.staticFileRedisRepository.getReadableStream(inputData.filepath);
|
|
264
|
-
const transformedDataset = yield this.transformationGtfs.transform({
|
|
265
|
-
sourceStream,
|
|
266
|
-
name: modelName[0],
|
|
267
|
-
});
|
|
268
|
-
yield this.saveTransformedDataset(transformedDataset, inputData.dataset, modelName[0]);
|
|
269
|
-
}
|
|
270
|
-
catch (err) {
|
|
271
|
-
errorMessage = err.message;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
else {
|
|
275
|
-
try {
|
|
276
|
-
const data = yield this.staticFileRedisRepository.get(inputData.filepath);
|
|
277
|
-
const transformedDataset = yield this.datasetMap[inputData.dataset].transformation.transform({
|
|
278
|
-
data: this.datasetMap[inputData.dataset].cacheContentType === CacheContentType.JSON ? JSON.parse(data) : data,
|
|
279
|
-
name: inputData.name,
|
|
280
|
-
});
|
|
281
|
-
if (inputData.dataset === _1.DatasetEnum.CIS_STOPS) {
|
|
282
|
-
yield this.saveTransformedDataset(transformedDataset.cis_stops, inputData.dataset, modelName[0]);
|
|
283
|
-
yield this.saveTransformedDataset(transformedDataset.cis_stop_groups, inputData.dataset, modelName[1]);
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
yield this.saveTransformedDataset(transformedDataset, inputData.dataset, modelName[0]);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
catch (err) {
|
|
290
|
-
errorMessage = err.message;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
if (msg.properties.headers[LegacyRopidGTFSWorker.ORIGIN_HOSTNAME_HEADER]) {
|
|
294
|
-
yield this.gtfsRedisChannel.publishMessage(`${errorMessage !== null && errorMessage !== void 0 ? errorMessage : "OK"} (${modelName})`, {
|
|
295
|
-
channelSuffix: msg.properties.headers[LegacyRopidGTFSWorker.ORIGIN_HOSTNAME_HEADER],
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
if (errorMessage) {
|
|
299
|
-
throw new golemio_errors_1.GeneralError(errorMessage, this.constructor.name);
|
|
300
|
-
}
|
|
301
|
-
});
|
|
302
|
-
this.saveTransformedDataset = (transformedData, dataset, modelName) => __awaiter(this, void 0, void 0, function* () {
|
|
303
|
-
const model = yield this.createTmpModel(modelName);
|
|
304
|
-
switch (dataset) {
|
|
305
|
-
case _1.DatasetEnum.PID_GTFS:
|
|
306
|
-
case _1.DatasetEnum.RUN_NUMBERS:
|
|
307
|
-
yield this.streamDataToTmp(transformedData, modelName);
|
|
308
|
-
break;
|
|
309
|
-
default:
|
|
310
|
-
yield (model === null || model === void 0 ? void 0 : model.save(transformedData, false));
|
|
311
|
-
helpers_1.log.info(`Datasets: copying to tmp success (${modelName})`);
|
|
312
|
-
}
|
|
313
|
-
const dbLastModified = yield this.metaModel.getLastModified(dataset);
|
|
314
|
-
yield this.metaModel.updateState(dataset, modelName, shared_1.MetaStateEnum.SAVED, dbLastModified.version);
|
|
315
|
-
});
|
|
316
|
-
/**
|
|
317
|
-
* Queue listener method - verify tmp tables and replace public
|
|
318
|
-
*/
|
|
319
|
-
this.checkSavedRowsAndReplaceTables = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
320
|
-
let datasets;
|
|
321
|
-
try {
|
|
322
|
-
datasets = JSON.parse(msg.content.toString());
|
|
323
|
-
this.validateDatasetNames(datasets);
|
|
324
|
-
}
|
|
325
|
-
catch (err) {
|
|
326
|
-
throw new golemio_errors_1.GeneralError("Error while parsing input data", this.constructor.name, err);
|
|
327
|
-
}
|
|
328
|
-
const datasetDeployInfo = yield Promise.all(datasets.map((dataset) => __awaiter(this, void 0, void 0, function* () {
|
|
329
|
-
const lastModified = yield this.metaModel.getLastModified(dataset);
|
|
330
|
-
const isDeployed = yield this.metaModel.checkIfNewVersionIsAlreadyDeployed(dataset, lastModified.version);
|
|
331
|
-
return { dataset, lastModified, isDeployed };
|
|
332
|
-
})));
|
|
333
|
-
helpers_1.log.debug(`Datasets status: ${JSON.stringify(datasetDeployInfo)}`);
|
|
334
|
-
const notDeployed = datasetDeployInfo.filter((info) => !info.isDeployed);
|
|
335
|
-
if (datasets.length !== notDeployed.length) {
|
|
336
|
-
const names = notDeployed.map((el) => el.dataset);
|
|
337
|
-
helpers_1.log.error(`Error while synchronized download of datasets: [${names}] of [${datasets}] deployed already`);
|
|
338
|
-
}
|
|
339
|
-
if (!notDeployed.length) {
|
|
340
|
-
helpers_1.log.debug(`Datasets status: already deployed`);
|
|
341
|
-
return true;
|
|
342
|
-
}
|
|
343
|
-
const notDeployedVersions = notDeployed.map((el) => ({ dataset: el.dataset, version: el.lastModified.version }));
|
|
344
|
-
const allSaved = yield this.metaModel.checkAllTablesHasSavedState(notDeployedVersions);
|
|
345
|
-
try {
|
|
346
|
-
if (!allSaved) {
|
|
347
|
-
throw new golemio_errors_1.GeneralError("Some GTFS datasets did not properly save", this.constructor.name);
|
|
348
|
-
}
|
|
349
|
-
yield Promise.all(datasetDeployInfo.map((el) => __awaiter(this, void 0, void 0, function* () {
|
|
350
|
-
yield this.metaModel.checkSavedTmpTables(el.dataset, el.lastModified.version);
|
|
351
|
-
})));
|
|
352
|
-
yield this.createAndPopulatePrecomputedTmpTables(SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp);
|
|
353
|
-
yield this.metaModel.replaceTables(notDeployedVersions);
|
|
354
|
-
yield this.dataCacheManager.cleanCache();
|
|
355
|
-
yield this.sendMessageToExchange(`workers.${config_1.config.RABBIT_EXCHANGE_NAME}.${constants_1.WORKER_NAME.toLowerCase()}.refreshGTFSTripData`, "");
|
|
356
|
-
return true;
|
|
357
|
-
}
|
|
358
|
-
catch (err) {
|
|
359
|
-
// log failed saving process
|
|
360
|
-
yield Promise.all(notDeployedVersions.map((el) => __awaiter(this, void 0, void 0, function* () {
|
|
361
|
-
yield this.metaModel.rollbackFailedSaving(el.dataset, el.version);
|
|
362
|
-
})));
|
|
363
|
-
// check number of tries
|
|
364
|
-
const retries = yield Promise.all(notDeployedVersions.map((el) => __awaiter(this, void 0, void 0, function* () {
|
|
365
|
-
return yield this.metaModel.getNumberOfDownloadRetries(el.dataset, el.version);
|
|
366
|
-
})));
|
|
367
|
-
if (Math.max(...retries) <= 5) {
|
|
368
|
-
// send new downloadFiles, log it and finish
|
|
369
|
-
yield this.sendMessageToExchange("workers." + this.queuePrefix + ".downloadDatasets", JSON.stringify(datasets));
|
|
370
|
-
helpers_1.IntegrationErrorHandler.handle(new golemio_errors_1.GeneralError(`Error while checking RopidGTFS saved rows. Attempt number ${Math.min(...retries)} was resent.`, this.constructor.name, err));
|
|
371
|
-
return true;
|
|
372
|
-
}
|
|
373
|
-
else {
|
|
374
|
-
// at least refresh precomputed tables and finish with error
|
|
375
|
-
yield this.sendMessageToExchange("workers." + this.queuePrefix + ".refreshPrecomputedTables", "");
|
|
376
|
-
throw new golemio_errors_1.GeneralError("Error while checking RopidGTFS saved rows.", this.constructor.name, err);
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
});
|
|
380
|
-
this.refreshPrecomputedTables = () => __awaiter(this, void 0, void 0, function* () {
|
|
381
|
-
try {
|
|
382
|
-
yield this.createAndPopulatePrecomputedTmpTables(SourceTableSuffixEnum_1.SourceTableSuffixEnum.Actual);
|
|
383
|
-
}
|
|
384
|
-
catch (err) {
|
|
385
|
-
helpers_1.log.error(err);
|
|
386
|
-
throw new golemio_errors_1.GeneralError("Error while creating RopidGTFS precomputed tables", this.constructor.name);
|
|
387
|
-
}
|
|
388
|
-
const connection = connectors_1.PostgresConnector.getConnection();
|
|
389
|
-
const transaction = yield connection.transaction();
|
|
390
|
-
try {
|
|
391
|
-
yield this.metaModel.replacePrecomputedTables(transaction);
|
|
392
|
-
yield transaction.commit();
|
|
393
|
-
}
|
|
394
|
-
catch (err) {
|
|
395
|
-
yield transaction.rollback();
|
|
396
|
-
helpers_1.log.error(err);
|
|
397
|
-
throw new golemio_errors_1.GeneralError("Error while replacing RopidGTFS precomputed tables", this.constructor.name);
|
|
398
|
-
}
|
|
399
|
-
yield this.dataCacheManager.cleanCache();
|
|
400
|
-
});
|
|
401
37
|
/**
|
|
402
38
|
* Queue listener method - triggers processing of DEPARTURES_PRESETS dataset
|
|
403
39
|
*/
|
|
@@ -407,103 +43,8 @@ class LegacyRopidGTFSWorker extends workers_1.BaseWorker {
|
|
|
407
43
|
const facade = Di_1.PidContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.DeparturePresetsFacade);
|
|
408
44
|
yield facade.handleNewDeparturePresets(file.data, lastModified);
|
|
409
45
|
});
|
|
410
|
-
/**
|
|
411
|
-
* Validate dataset list against dataset enum
|
|
412
|
-
*
|
|
413
|
-
* @param {string[]} names - names of datasets
|
|
414
|
-
*/
|
|
415
|
-
this.validateDatasetNames = (names) => {
|
|
416
|
-
if (!Array.isArray(names)) {
|
|
417
|
-
throw new Error(`Error validating dataset list: must be an array`);
|
|
418
|
-
}
|
|
419
|
-
if (!names.length) {
|
|
420
|
-
throw new Error(`Error validating dataset list: got empty array`);
|
|
421
|
-
}
|
|
422
|
-
const invalidNames = names.filter((name) => !this.validateDatasetName(name));
|
|
423
|
-
if (invalidNames.length) {
|
|
424
|
-
throw new Error(`Error validating dataset list: "${invalidNames.toString()}" is invalid`);
|
|
425
|
-
}
|
|
426
|
-
};
|
|
427
|
-
/**
|
|
428
|
-
* Validate name against dataset enum
|
|
429
|
-
*
|
|
430
|
-
* @param {string} name - name of datasets
|
|
431
|
-
*/
|
|
432
|
-
this.validateDatasetName = (name) => {
|
|
433
|
-
return Object.keys(this.datasetMap).includes(name);
|
|
434
|
-
};
|
|
435
|
-
this.streamDataToTmp = (data, modelName) => __awaiter(this, void 0, void 0, function* () {
|
|
436
|
-
// get connection and db client
|
|
437
|
-
const connection = connectors_1.PostgresConnector.getConnection();
|
|
438
|
-
const client = (yield connection.connectionManager.getConnection({ type: "write" }));
|
|
439
|
-
const tmpTableName = ropid_gtfs_1.RopidGTFS[modelName].pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp;
|
|
440
|
-
// copy transformed data to tmp table by stream
|
|
441
|
-
yield new Promise((resolve, reject) => {
|
|
442
|
-
const stream = client
|
|
443
|
-
.query((0, pg_copy_streams_1.from)(`COPY "${const_1.PG_SCHEMA}".${tmpTableName} FROM STDIN DELIMITER ',' CSV HEADER;`))
|
|
444
|
-
.on("error", (err) => __awaiter(this, void 0, void 0, function* () {
|
|
445
|
-
helpers_1.log.error(`Datasets: copying to tmp error (${modelName}): ${err.toString()}`);
|
|
446
|
-
yield connection.connectionManager.releaseConnection(client);
|
|
447
|
-
return reject(err);
|
|
448
|
-
}))
|
|
449
|
-
.on("finish", () => __awaiter(this, void 0, void 0, function* () {
|
|
450
|
-
helpers_1.log.info(`Datasets: copying to tmp success (${modelName})`);
|
|
451
|
-
yield connection.connectionManager.releaseConnection(client);
|
|
452
|
-
return resolve();
|
|
453
|
-
}));
|
|
454
|
-
data.pipe(stream);
|
|
455
|
-
});
|
|
456
|
-
});
|
|
457
|
-
this.getTmpModelByName = (name) => __awaiter(this, void 0, void 0, function* () {
|
|
458
|
-
const modelDef = ropid_gtfs_1.RopidGTFS[name];
|
|
459
|
-
if (!modelDef || !modelDef.name || !modelDef.pgTableName || !modelDef.outputSequelizeAttributes) {
|
|
460
|
-
throw new Error("Model not found.");
|
|
461
|
-
}
|
|
462
|
-
const model = new models_1.PostgresModel(modelDef.name + "Tmp" + "Model", {
|
|
463
|
-
hasTmpTable: false,
|
|
464
|
-
outputSequelizeAttributes: modelDef.outputSequelizeAttributes,
|
|
465
|
-
pgSchema: const_1.PG_SCHEMA,
|
|
466
|
-
pgTableName: modelDef.pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp,
|
|
467
|
-
savingType: "insertOnly",
|
|
468
|
-
sequelizeAdditionalSettings: Object.assign({ timestamps: false }, (modelDef.modelIndexOptions &&
|
|
469
|
-
modelDef.modelIndexOptions.length && {
|
|
470
|
-
indexes: modelDef.modelIndexOptions.map((indexDef) => {
|
|
471
|
-
return Object.assign(Object.assign({}, indexDef), { name: indexDef.name + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp });
|
|
472
|
-
}),
|
|
473
|
-
})),
|
|
474
|
-
}, new golemio_validator_1.JSONSchemaValidator(modelDef.name + "Tmp" + "ModelValidator", modelDef.outputMongooseSchemaObject));
|
|
475
|
-
return model;
|
|
476
|
-
});
|
|
477
|
-
this.createTmpModel = (name) => __awaiter(this, void 0, void 0, function* () {
|
|
478
|
-
const model = yield this.getTmpModelByName(name);
|
|
479
|
-
if (ropid_gtfs_1.RopidGTFS[name].modelIndexOptions) {
|
|
480
|
-
yield model.query((0, utils_1.buildDropIndexQuery)(ropid_gtfs_1.RopidGTFS[name].modelIndexOptions));
|
|
481
|
-
}
|
|
482
|
-
yield model.sync({ force: true, schema: const_1.PG_SCHEMA });
|
|
483
|
-
return model;
|
|
484
|
-
});
|
|
485
|
-
this.createAndPopulatePrecomputedTmpTables = (sourceTableSuffix) => __awaiter(this, void 0, void 0, function* () {
|
|
486
|
-
helpers_1.log.info(`Datasets: creating temp table ${this.servicesCalendarRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
|
|
487
|
-
yield this.servicesCalendarRepository.createAndPopulate(sourceTableSuffix);
|
|
488
|
-
helpers_1.log.info(`Datasets: creating indexes on ${this.servicesCalendarRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
|
|
489
|
-
yield this.servicesCalendarRepository.createIndexes();
|
|
490
|
-
helpers_1.log.info(`Datasets: creating temp table ${this.minMaxStopSequencesRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
|
|
491
|
-
yield this.minMaxStopSequencesRepository.createAndPopulate(sourceTableSuffix);
|
|
492
|
-
helpers_1.log.info(`Datasets: creating indexes on ${this.minMaxStopSequencesRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
|
|
493
|
-
yield this.minMaxStopSequencesRepository.createIndexes();
|
|
494
|
-
helpers_1.log.info(`Datasets: creating temp table ${this.tripScheduleRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
|
|
495
|
-
yield this.tripScheduleRepository.createAndPopulate(sourceTableSuffix);
|
|
496
|
-
helpers_1.log.info(`Datasets: creating indexes on ${this.tripScheduleRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
|
|
497
|
-
yield this.tripScheduleRepository.createIndexes();
|
|
498
|
-
helpers_1.log.info(`Datasets: creating temp table ${this.departuresRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
|
|
499
|
-
yield this.departuresRepository.createAndPopulate(sourceTableSuffix);
|
|
500
|
-
helpers_1.log.info(`Datasets: creating indexes on ${this.departuresRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
|
|
501
|
-
yield this.departuresRepository.createIndexes();
|
|
502
|
-
helpers_1.log.info(`Datasets: running analyze on ${this.departuresRepository["tableName"]}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}`);
|
|
503
|
-
yield this.departuresRepository.analyze();
|
|
504
|
-
});
|
|
505
46
|
// MetaData Model
|
|
506
|
-
this.metaModel =
|
|
47
|
+
this.metaModel = Di_2.RopidGtfsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RopidGTFSMetadataModel);
|
|
507
48
|
// Ropid Departures Presets
|
|
508
49
|
this.dataSourceDeparturesPresets = new datasources_1.DataSource(ropid_departures_presets_1.RopidDeparturesPresets.name + "DataSource", new datasources_1.FTPProtocolStrategy({
|
|
509
50
|
filename: config_1.config.datasources.RopidDeparturesPresetsFilename,
|
|
@@ -511,87 +52,8 @@ class LegacyRopidGTFSWorker extends workers_1.BaseWorker {
|
|
|
511
52
|
url: config_1.config.datasources.RopidFTP,
|
|
512
53
|
encoding: "utf8",
|
|
513
54
|
}), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(ropid_departures_presets_1.RopidDeparturesPresets.name + "DataSource", ropid_departures_presets_1.RopidDeparturesPresets.datasourceJsonSchema));
|
|
514
|
-
/** Ropid GTFS Dataset Map Dependencies **/
|
|
515
|
-
// Ropid GTFS
|
|
516
|
-
this.dataSourceGtfs = new datasources_1.DataSource(ropid_gtfs_1.RopidGTFS.name + "DataSource", new datasources_1.FTPProtocolStrategy({
|
|
517
|
-
filename: config_1.config.datasources.RopidGTFSFilename,
|
|
518
|
-
targetType: datasources_1.FTPTargetType.COMPRESSED,
|
|
519
|
-
returnType: datasources_1.FTPReturnType.Stream,
|
|
520
|
-
path: config_1.config.datasources.RopidGTFSPath,
|
|
521
|
-
url: config_1.config.datasources.RopidFTP,
|
|
522
|
-
whitelistedFiles: [
|
|
523
|
-
"agency.txt",
|
|
524
|
-
"calendar.txt",
|
|
525
|
-
"calendar_dates.txt",
|
|
526
|
-
"shapes.txt",
|
|
527
|
-
"stop_times.txt",
|
|
528
|
-
"stops.txt",
|
|
529
|
-
"routes.txt",
|
|
530
|
-
"trips.txt",
|
|
531
|
-
],
|
|
532
|
-
encoding: "utf8",
|
|
533
|
-
}), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), null);
|
|
534
|
-
this.transformationGtfs = new _1.RopidGTFSTransformation();
|
|
535
|
-
// Ropid GTFS Run Numbers Datasource
|
|
536
|
-
this.dataSourceRunNumbers = new datasources_1.DataSource(ropid_gtfs_1.RopidGTFS.run_numbers.name + "DataSource", new datasources_1.FTPProtocolStrategy({
|
|
537
|
-
filename: config_1.config.datasources.RopidGTFSRunNumbersFilename,
|
|
538
|
-
returnType: datasources_1.FTPReturnType.Stream,
|
|
539
|
-
path: config_1.config.datasources.RopidGTFSRunNumbersPath,
|
|
540
|
-
url: config_1.config.datasources.RopidFTP,
|
|
541
|
-
encoding: "utf8",
|
|
542
|
-
}), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), null);
|
|
543
|
-
// Ropid GTFS CIS STOPS Datasource
|
|
544
|
-
const cisStopsTypeStrategy = new datasources_1.JSONDataTypeStrategy({ resultsPath: "stopGroups" });
|
|
545
|
-
cisStopsTypeStrategy.setFilter((item) => item.cis !== 0);
|
|
546
|
-
this.dataSourceCisStops = new datasources_1.DataSource(ropid_gtfs_1.RopidGTFS.name + "CisStops", new datasources_1.FTPProtocolStrategy({
|
|
547
|
-
filename: config_1.config.datasources.RopidGTFSCisStopsFilename,
|
|
548
|
-
path: config_1.config.datasources.RopidGTFSCisStopsPath,
|
|
549
|
-
url: config_1.config.datasources.RopidFTP,
|
|
550
|
-
encoding: "utf8",
|
|
551
|
-
}), cisStopsTypeStrategy, null);
|
|
552
|
-
this.transformationCisStops = new _1.RopidGTFSCisStopsTransformation();
|
|
553
|
-
// Ropid GTFS Ois Datasource
|
|
554
|
-
this.dataSourceOisMapping = new datasources_1.DataSource(ropid_gtfs_1.RopidGTFS.name + "Ois", new datasources_1.FTPProtocolStrategy({
|
|
555
|
-
filename: config_1.config.datasources.RopidGTFSOisFilename,
|
|
556
|
-
path: config_1.config.datasources.RopidGTFSOisPath,
|
|
557
|
-
url: config_1.config.datasources.RopidFTP,
|
|
558
|
-
encoding: "utf8",
|
|
559
|
-
}), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(ropid_gtfs_1.RopidGTFS.ois.name + "DataSource", ropid_gtfs_1.RopidGTFS.ois.datasourceJsonSchema));
|
|
560
|
-
this.transformationOisMapping = new RopidGTFSOisTransformation_1.RopidGTFSOisMappingTransformation();
|
|
561
|
-
this.datasetMap = {
|
|
562
|
-
[_1.DatasetEnum.PID_GTFS]: {
|
|
563
|
-
datasource: this.dataSourceGtfs,
|
|
564
|
-
transformation: this.transformationGtfs,
|
|
565
|
-
cacheContentType: CacheContentType.CSV,
|
|
566
|
-
},
|
|
567
|
-
[_1.DatasetEnum.RUN_NUMBERS]: {
|
|
568
|
-
datasource: this.dataSourceRunNumbers,
|
|
569
|
-
transformation: this.transformationGtfs,
|
|
570
|
-
cacheContentType: CacheContentType.CSV,
|
|
571
|
-
},
|
|
572
|
-
[_1.DatasetEnum.CIS_STOPS]: {
|
|
573
|
-
datasource: this.dataSourceCisStops,
|
|
574
|
-
transformation: this.transformationCisStops,
|
|
575
|
-
cacheContentType: CacheContentType.JSON,
|
|
576
|
-
},
|
|
577
|
-
[_1.DatasetEnum.OIS_MAPPING]: {
|
|
578
|
-
datasource: this.dataSourceOisMapping,
|
|
579
|
-
transformation: this.transformationOisMapping,
|
|
580
|
-
cacheContentType: CacheContentType.JSON,
|
|
581
|
-
},
|
|
582
|
-
};
|
|
583
|
-
/** Precomputed data repositories */
|
|
584
|
-
this.departuresRepository = new precomputed_1.DeparturesRepository();
|
|
585
|
-
this.minMaxStopSequencesRepository = new precomputed_1.MinMaxStopSequencesRepository();
|
|
586
|
-
this.tripScheduleRepository = new precomputed_1.TripScheduleRepository();
|
|
587
|
-
this.servicesCalendarRepository = new precomputed_1.ServicesCalendarRepository();
|
|
588
|
-
// Redis repositories
|
|
589
|
-
this.staticFileRedisRepository = new cache_1.StaticFileRedisRepository();
|
|
590
|
-
this.dataCacheManager = DataCacheManager_1.DataCacheManager.getInstance();
|
|
591
|
-
this.gtfsRedisChannel = new pubsub_1.RedisPubSubChannel(ropid_gtfs_1.RopidGTFS.name);
|
|
592
55
|
this.queuePrefix = config_1.config.RABBIT_EXCHANGE_NAME + "." + ropid_gtfs_1.RopidGTFS.name.toLowerCase();
|
|
593
56
|
}
|
|
594
57
|
}
|
|
595
58
|
exports.LegacyRopidGTFSWorker = LegacyRopidGTFSWorker;
|
|
596
|
-
LegacyRopidGTFSWorker.ORIGIN_HOSTNAME_HEADER = "x-origin-hostname";
|
|
597
59
|
//# sourceMappingURL=LegacyRopidGTFSWorker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegacyRopidGTFSWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAA0C;AAC1C,sEAAoE;AACpE,6FAA8G;AAC9G,mCAA2D;AAC3D,sCAAiF;AACjF,wFAA0G;AAC1G,0DAAuC;AACvC,gGAA+F;AAC/F,oEAAiF;AAGjF,yEAAsE;AACtE,iFAAqF;AACrF,qFAA8F;AAC9F,mFAO2D;AAC3D,2EAA6F;AAC7F,yEAA6E;AAC7E,2EAA2E;AAC3E,6EAA8F;AAC9F,mFAAkF;AAGlF,4CAAoB;AACpB,qDAAmD;AACnD,wBAMW;AACX,+CAAgE;AAChE,2DAKmC;AAEnC,iEAA8D;AAC9D,2EAAwE;AASxE,IAAK,gBAGJ;AAHD,WAAK,gBAAgB;IACjB,+BAAW,CAAA;IACX,iCAAa,CAAA;AACjB,CAAC,EAHI,gBAAgB,KAAhB,gBAAgB,QAGpB;AAgBD,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAyB,EAAE;IACxD,OAAO,GAAG,YAAY,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC;AACtH,CAAC,CAAC;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAqB,EAAE,IAAY,EAAyC,EAAE;IAC9G,IAAI,KAAK,CAAC;IACV,QAAQ,OAAO,EAAE;QACb,KAAK,cAAW,CAAC,QAAQ;YACrB,KAAK,GAAG,IAAyB,CAAC;YAClC,MAAM;QACV,KAAK,cAAW,CAAC,WAAW;YACxB,KAAK,GAAU,aAAa,CAAC;YAC7B,MAAM;QACV,KAAK,cAAW,CAAC,WAAW;YACxB,KAAK,GAAU,KAAK,CAAC;YACrB,MAAM;QACV,KAAK,cAAW,CAAC,SAAS;YACtB,KAAK,GAAG,CAAQ,WAAW,EAAS,iBAAiB,CAAC,CAAC;YACvD,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,eAAe,IAAI,EAAE,CAAC,CAAC;KAC9E;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AApBW,QAAA,mBAAmB,uBAoB9B;AAEF,MAAa,qBAAsB,SAAQ,oBAAU;IA4BjD;QACI,KAAK,EAAE,CAAC;QA+HZ;;WAEG;QACI,oBAAe,GAAG,CAAO,GAAgB,EAAiB,EAAE;YAC/D,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,IAAI;gBACA,MAAM,SAAS,GAA0B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5E,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;aAC3C;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,IAAI,CAAC,0CAA0C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;aACrE;YAED,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAmB,EAAE;gBAClE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBACvF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAE5D,IAAI,kBAAkB,KAAK,cAAc,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE;oBACnE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC1B;aACJ;YAED,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;gBAC5E,aAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACnD;YAED,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACjB,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChH,OAAO;aACV;YAED,aAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAC9C,IAAI,YAAY,EAAE;gBACd,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,EAAE,EAAE,CAAC,CAAC;aACrG;QACL,CAAC,CAAA,CAAC;QAEF;;;;WAIG;QACI,qBAAgB,GAAG,CAAO,GAAgB,EAAiB,EAAE;YAChE,IAAI,QAAwB,CAAC;YAE7B,IAAI;gBACA,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvC,IAAI,OAAO,EAAE;oBACT,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC/B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;iBACvC;qBAAM;oBACH,iDAAiD;oBACjD,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAmB,CAAC;iBAC7D;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACxF;YAED,aAAG,CAAC,IAAI,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YAE9C,IAAI,cAAc,GAAqB,EAAE,CAAC;YAE1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI;oBACA,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC9F;gBAAC,OAAO,GAAG,EAAE;oBACV,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,EAAE,EAAE,CAAC,CAAC;oBAElG,IAAI,GAAG,YAAY,qCAAoB,EAAE;wBACrC,MAAM,GAAG,CAAC;qBACb;oBAED,MAAM,IAAI,6BAAY,CAAC,uCAAuC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBAC/F;aACJ;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,YAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5F,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;YAE7B,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;gBACxC,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;oBAC/G,OAAO,EAAE;wBACL,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,EAAE,YAAE,CAAC,QAAQ,EAAE;qBAChE;iBACJ,CAAC,CAAC;aACN;YAED,sEAAsE;YACtE,wDAAwD;YACxD,IAAI;gBACA,MAAM,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;oBAClF,aAAG,CAAC,KAAK,CAAC,+BAA+B,OAAO,KAAK,YAAY,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;oBAE/F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;wBAC3B,aAAG,CAAC,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;wBACtD,MAAM,IAAI,6BAAY,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;qBAC1D;oBAED,IAAI,OAAO,EAAE;wBACT,aAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;qBAC/C;gBACL,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBACD,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC5F;oBAAS;gBACN,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,qBAAqB,CACtB,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,iCAAiC,EACjE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC3B,CAAC;aACL;QACL,CAAC,CAAA,CAAC;QAEF;;WAEG;QACK,mCAA8B,GAAG,CAAO,OAAqB,EAA6B,EAAE;YAChG,aAAG,CAAC,IAAI,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAoB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;YAE3C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACrE,MAAM,aAAa,GAAqB,EAAE,CAAC;YAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,aAAG,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACrD,MAAM,EAAE,IAAI,KAAc,IAAI,EAAb,IAAI,UAAK,IAAI,EAAxB,QAAiB,CAAO,CAAC;gBAC/B,IAAI,OAAO,KAAK,cAAW,CAAC,QAAQ,IAAI,OAAO,KAAK,cAAW,CAAC,WAAW,EAAE;oBACzE,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAkB,CAAC,CAAC;iBACtF;qBAAM;oBACH,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnH;gBAED,MAAM,GAAG,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/D,OAAO;wBACH,OAAO;wBACP,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE,qBAAY,CAAC,KAAK;wBACxB,KAAK,EAAE,sBAAa,CAAC,UAAU;wBAC/B,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC;qBACtC,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;oBAChC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACxC;gBAED,aAAa,CAAC,IAAI,iCACX,IAAI,KACP,OAAO,IACT,CAAC;aACN;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAuB,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAEjG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACtB,OAAO;gBACP,GAAG,EAAE,+BAAsB,CAAC,aAAa;gBACzC,IAAI,EAAE,qBAAY,CAAC,YAAY;gBAC/B,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC;aACtC,CAAC,CAAC;YAEH,aAAG,CAAC,IAAI,CAAC,wBAAwB,OAAO,eAAe,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACxF,OAAO,aAAa,CAAC;QACzB,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,iCAA4B,GAAG,GAAwB,EAAE;YAC5D,sCAAsC;YACtC,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;YACrG,MAAM,+BAA+B,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,cAAW,CAAC,kBAAkB,CAAC,CAAC;YAC7G,IAAI,mCAAmC,KAAK,+BAA+B,CAAC,YAAY,EAAE;gBACtF,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,EAAE,aAAa,CAAC,CAAC;aACjH;QACL,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,yBAAoB,GAAG,CAAO,GAAgB,EAAiB,EAAE;YACpE,IAAI,SAAyB,CAAC;YAC9B,IAAI;gBACA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;oBAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;iBACrD;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACxF;YAED,IAAI,SAAS,GAAG,IAAA,2BAAmB,EAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3B;YAED,IAAI,YAAgC,CAAC;YACrC,IAAI,SAAS,CAAC,OAAO,KAAK,cAAW,CAAC,QAAQ,IAAI,SAAS,CAAC,OAAO,KAAK,cAAW,CAAC,WAAW,EAAE;gBAC7F,IAAI;oBACA,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC1F,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;wBAC/D,YAAY;wBACZ,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;qBACrB,CAAC,CAAC;oBAEH,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1F;gBAAC,OAAO,GAAG,EAAE;oBACV,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;iBAC9B;aACJ;iBAAM;gBACH,IAAI;oBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC1E,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAuB,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC;wBACzG,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;wBAC7G,IAAI,EAAE,SAAS,CAAC,IAAI;qBACvB,CAAC,CAAC;oBAEH,IAAI,SAAS,CAAC,OAAO,KAAK,cAAW,CAAC,SAAS,EAAE;wBAC7C,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjG,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,eAAe,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC1G;yBAAM;wBACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC1F;iBACJ;gBAAC,OAAO,GAAG,EAAE;oBACV,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;iBAC9B;aACJ;YAED,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,EAAE;gBACtE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAI,KAAK,SAAS,GAAG,EAAE;oBACjF,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,sBAAsB,CAAC;iBACtF,CAAC,CAAC;aACN;YAED,IAAI,YAAY,EAAE;gBACd,MAAM,IAAI,6BAAY,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC/D;QACL,CAAC,CAAA,CAAC;QAEM,2BAAsB,GAAG,CAC7B,eAAoB,EACpB,OAAqB,EACrB,SAA2B,EACd,EAAE;YACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEnD,QAAQ,OAAO,EAAE;gBACb,KAAK,cAAW,CAAC,QAAQ,CAAC;gBAC1B,KAAK,cAAW,CAAC,WAAW;oBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,SAA8B,CAAC,CAAC;oBAC5E,MAAM;gBACV;oBACI,MAAM,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA,CAAC;oBAC1C,aAAG,CAAC,IAAI,CAAC,qCAAqC,SAAS,GAAG,CAAC,CAAC;aACnE;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,sBAAa,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACtG,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,mCAA8B,GAAG,CAAO,GAAgB,EAAoB,EAAE;YACjF,IAAI,QAAwB,CAAC;YAE7B,IAAI;gBACA,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;aACvC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACxF;YAED,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE;gBAC3B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC1G,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;YACjD,CAAC,CAAA,CAAC,CACL,CAAC;YAEF,aAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEnE,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEzE,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;gBACxC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAClD,aAAG,CAAC,KAAK,CAAC,mDAAmD,KAAK,SAAS,QAAQ,oBAAoB,CAAC,CAAC;aAC5G;YAED,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;gBACrB,aAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC;aACf;YAED,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;YAEvF,IAAI;gBACA,IAAI,CAAC,QAAQ,EAAE;oBACX,MAAM,IAAI,6BAAY,CAAC,0CAA0C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBAC7F;gBAED,MAAM,OAAO,CAAC,GAAG,CACb,iBAAiB,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;oBAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAClF,CAAC,CAAA,CAAC,CACL,CAAC;gBAEF,MAAM,IAAI,CAAC,qCAAqC,CAAC,6CAAqB,CAAC,GAAG,CAAC,CAAC;gBAC5E,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,IAAI,CAAC,qBAAqB,CAC5B,WAAW,eAAM,CAAC,oBAAoB,IAAI,uBAAc,CAAC,WAAW,EAAE,sBAAsB,EAC5F,EAAE,CACL,CAAC;gBAEF,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACV,4BAA4B;gBAC5B,MAAM,OAAO,CAAC,GAAG,CACb,mBAAmB,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;oBACjC,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;gBACtE,CAAC,CAAA,CAAC,CACL,CAAC;gBACF,wBAAwB;gBACxB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,mBAAmB,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;oBACjC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;gBACnF,CAAC,CAAA,CAAC,CACL,CAAC;gBAEF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC3B,4CAA4C;oBAC5C,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChH,iCAAuB,CAAC,MAAM,CAC1B,IAAI,6BAAY,CACZ,6DAA6D,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,EAC/F,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CACJ,CAAC;oBACF,OAAO,IAAI,CAAC;iBACf;qBAAM;oBACH,4DAA4D;oBAC5D,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,EAAE,EAAE,CAAC,CAAC;oBAClG,MAAM,IAAI,6BAAY,CAAC,4CAA4C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACpG;aACJ;QACL,CAAC,CAAA,CAAC;QAEK,6BAAwB,GAAG,GAAwB,EAAE;YACxD,IAAI;gBACA,MAAM,IAAI,CAAC,qCAAqC,CAAC,6CAAqB,CAAC,MAAM,CAAC,CAAC;aAClF;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,IAAI,6BAAY,CAAC,mDAAmD,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACtG;YAED,MAAM,UAAU,GAAG,8BAAiB,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;YAEnD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;gBAC3D,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAE7B,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,IAAI,6BAAY,CAAC,oDAAoD,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACvG;YAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAC7C,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,8BAAyB,GAAG,GAAwB,EAAE;YACzD,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;YACrF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;YAE9E,MAAM,MAAM,GAAG,iBAAY,CAAC,OAAO,CAAyB,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;YACzG,MAAM,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC,CAAA,CAAC;QAEF;;;;WAIG;QACK,yBAAoB,GAAG,CAAC,KAAc,EAAQ,EAAE;YACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACrE;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7E,IAAI,YAAY,CAAC,MAAM,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;aAC7F;QACL,CAAC,CAAC;QAEF;;;;WAIG;QACK,wBAAmB,GAAG,CAAC,IAAY,EAAW,EAAE;YACpD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAmB,CAAC,CAAC;QACtE,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAO,IAAS,EAAE,SAA4B,EAAE,EAAE;YACxE,+BAA+B;YAC/B,MAAM,UAAU,GAAG,8BAAiB,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAQ,CAAC;YAE5F,MAAM,YAAY,GAAG,sBAAS,CAAC,SAA4B,CAAC,CAAC,WAAW,GAAG,6CAAqB,CAAC,GAAG,CAAC;YAErG,+CAA+C;YAC/C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,MAAM,GAAG,MAAM;qBAChB,KAAK,CAAC,IAAA,sBAAQ,EAAC,SAAS,iBAAS,KAAK,YAAY,uCAAuC,CAAC,CAAC;qBAC3F,EAAE,CAAC,OAAO,EAAE,CAAO,GAAQ,EAAE,EAAE;oBAC5B,aAAG,CAAC,KAAK,CAAC,mCAAmC,SAAS,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC9E,MAAM,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC,CAAA,CAAC;qBACD,EAAE,CAAC,QAAQ,EAAE,GAAS,EAAE;oBACrB,aAAG,CAAC,IAAI,CAAC,qCAAqC,SAAS,GAAG,CAAC,CAAC;oBAC5D,MAAM,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC7D,OAAO,OAAO,EAAE,CAAC;gBACrB,CAAC,CAAA,CAAC,CAAC;gBACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;QAEM,sBAAiB,GAAG,CAAO,IAAY,EAA0B,EAAE;YACvE,MAAM,QAAQ,GAAG,sBAAS,CAAC,IAAuB,CAAC,CAAC;YAEpD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE;gBAC7F,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;aACvC;YAED,MAAM,KAAK,GAAG,IAAI,sBAAa,CAC3B,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,OAAO,EAC/B;gBACI,WAAW,EAAE,KAAK;gBAClB,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB;gBAC7D,QAAQ,EAAE,iBAAS;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAG,6CAAqB,CAAC,GAAG;gBAC7D,UAAU,EAAE,YAAY;gBACxB,2BAA2B,kBACvB,UAAU,EAAE,KAAK,IACd,CAAC,QAAQ,CAAC,iBAAiB;oBAC1B,QAAQ,CAAC,iBAAiB,CAAC,MAAM,IAAI;oBACjC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE;wBACtD,uCACO,QAAQ,KACX,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,6CAAqB,CAAC,GAAG,IACjD;oBACN,CAAC,CAAC;iBACL,CAAC,CACT;aACJ,EACD,IAAI,uCAAmB,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,gBAAgB,EAAE,QAAQ,CAAC,0BAA0B,CAAC,CACzG,CAAC;YAEF,OAAO,KAAK,CAAC;QACjB,CAAC,CAAA,CAAC;QAEM,mBAAc,GAAG,CAAO,IAAY,EAA0B,EAAE;YACpE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,sBAAS,CAAC,IAAuB,CAAC,CAAC,iBAAiB,EAAE;gBACtD,MAAM,KAAK,CAAC,KAAK,CAAC,IAAA,2BAAmB,EAAC,sBAAS,CAAC,IAAuB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAChG;YACD,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAS,EAAE,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAA,CAAC;QAEM,0CAAqC,GAAG,CAAO,iBAAwC,EAAiB,EAAE;YAC9G,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YACtH,MAAM,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAE3E,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YACtH,MAAM,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,CAAC;YAEtD,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YACzH,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAE9E,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YACzH,MAAM,IAAI,CAAC,6BAA6B,CAAC,aAAa,EAAE,CAAC;YAEzD,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAClH,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAEvE,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAClH,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC;YAElD,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAChH,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAErE,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAChH,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;YAEhD,aAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,6CAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;YAChH,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC9C,CAAC,CAAA,CAAC;QApoBE,iBAAiB;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAsB,EAAE,CAAC;QAE9C,2BAA2B;QAC3B,IAAI,CAAC,2BAA2B,GAAG,IAAI,wBAAU,CAC7C,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,8BAA8B;YAC3D,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,0BAA0B;YACnD,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAAE,iDAAsB,CAAC,oBAAoB,CAAC,CACnH,CAAC;QAEF,2CAA2C;QAE3C,aAAa;QACb,IAAI,CAAC,cAAc,GAAG,IAAI,wBAAU,CAChC,sBAAS,CAAC,IAAI,GAAG,YAAY,EAC7B,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,iBAAiB;YAC9C,UAAU,EAAE,2BAAa,CAAC,UAAU;YACpC,UAAU,EAAE,2BAAa,CAAC,MAAM;YAChC,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,aAAa;YACtC,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,gBAAgB,EAAE;gBACd,YAAY;gBACZ,cAAc;gBACd,oBAAoB;gBACpB,YAAY;gBACZ,gBAAgB;gBAChB,WAAW;gBACX,YAAY;gBACZ,WAAW;aACd;YACD,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAW,CACd,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,0BAAuB,EAAE,CAAC;QAExD,oCAAoC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,wBAAU,CACtC,sBAAS,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,EACzC,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,2BAA2B;YACxD,UAAU,EAAE,2BAAa,CAAC,MAAM;YAChC,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,uBAAuB;YAChD,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAW,CACd,CAAC;QAEF,kCAAkC;QAClC,MAAM,oBAAoB,GAAG,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,oBAAoB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,IAAI,wBAAU,CACpC,sBAAS,CAAC,IAAI,GAAG,UAAU,EAC3B,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,yBAAyB;YACtD,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,qBAAqB;YAC9C,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,oBAAoB,EACpB,IAAW,CACd,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,kCAA+B,EAAE,CAAC;QAEpE,4BAA4B;QAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,wBAAU,CACtC,sBAAS,CAAC,IAAI,GAAG,KAAK,EACtB,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,oBAAoB;YACjD,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,gBAAgB;YACzC,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,sBAAS,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,EAAE,sBAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CACjG,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,8DAAiC,EAAE,CAAC;QAExE,IAAI,CAAC,UAAU,GAAG;YACd,CAAC,cAAW,CAAC,QAAQ,CAAC,EAAE;gBACpB,UAAU,EAAE,IAAI,CAAC,cAAc;gBAC/B,cAAc,EAAE,IAAI,CAAC,kBAAkB;gBACvC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG;aACzC;YACD,CAAC,cAAW,CAAC,WAAW,CAAC,EAAE;gBACvB,UAAU,EAAE,IAAI,CAAC,oBAAoB;gBACrC,cAAc,EAAE,IAAI,CAAC,kBAAkB;gBACvC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG;aACzC;YACD,CAAC,cAAW,CAAC,SAAS,CAAC,EAAE;gBACrB,UAAU,EAAE,IAAI,CAAC,kBAAkB;gBACnC,cAAc,EAAE,IAAI,CAAC,sBAAsB;gBAC3C,gBAAgB,EAAE,gBAAgB,CAAC,IAAI;aAC1C;YACD,CAAC,cAAW,CAAC,WAAW,CAAC,EAAE;gBACvB,UAAU,EAAE,IAAI,CAAC,oBAAoB;gBACrC,cAAc,EAAE,IAAI,CAAC,wBAAwB;gBAC7C,gBAAgB,EAAE,gBAAgB,CAAC,IAAI;aAC1C;SACJ,CAAC;QAEF,oCAAoC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,kCAAoB,EAAE,CAAC;QACvD,IAAI,CAAC,6BAA6B,GAAG,IAAI,2CAA6B,EAAE,CAAC;QACzE,IAAI,CAAC,sBAAsB,GAAG,IAAI,oCAAsB,EAAE,CAAC;QAC3D,IAAI,CAAC,0BAA0B,GAAG,IAAI,wCAA0B,EAAE,CAAC;QAEnE,qBAAqB;QACrB,IAAI,CAAC,yBAAyB,GAAG,IAAI,iCAAyB,EAAE,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAG,mCAAgB,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAkB,CAAC,sBAAS,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,WAAW,GAAG,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACxF,CAAC;;AA1JL,sDAoqBC;AAnqBkB,4CAAsB,GAAG,mBAAmB,AAAtB,CAAuB"}
|
|
1
|
+
{"version":3,"file":"LegacyRopidGTFSWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kCAA0C;AAC1C,sEAAoE;AACpE,gGAA+F;AAC/F,oEAA4C;AAC5C,yEAAsE;AACtE,mFAA0H;AAC1H,2EAA2E;AAC3E,mFAAkF;AAClF,wBAAwD;AAExD,iCAA8C;AAM9C,MAAa,qBAAsB,SAAQ,oBAAU;IAKjD;QACI,KAAK,EAAE,CAAC;QAqBZ;;WAEG;QACI,iCAA4B,GAAG,GAAwB,EAAE;YAC5D,sCAAsC;YACtC,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;YACrG,MAAM,+BAA+B,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,cAAW,CAAC,kBAAkB,CAAC,CAAC;YAC7G,IAAI,mCAAmC,KAAK,+BAA+B,CAAC,YAAY,EAAE;gBACtF,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,EAAE,aAAa,CAAC,CAAC;aACjH;QACL,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,8BAAyB,GAAG,GAAwB,EAAE;YACzD,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;YACrF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;YAE9E,MAAM,MAAM,GAAG,iBAAY,CAAC,OAAO,CAAyB,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;YACzG,MAAM,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC,CAAA,CAAC;QAxCE,iBAAiB;QACjB,IAAI,CAAC,SAAS,GAAG,uBAAkB,CAAC,OAAO,CAAyB,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QAEjH,2BAA2B;QAC3B,IAAI,CAAC,2BAA2B,GAAG,IAAI,wBAAU,CAC7C,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,8BAA8B;YAC3D,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,0BAA0B;YACnD,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAAE,iDAAsB,CAAC,oBAAoB,CAAC,CACnH,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACxF,CAAC;CAwBJ;AAjDD,sDAiDC"}
|