@stemy/backend 3.1.4 → 3.1.5
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/bundles/stemy-backend.umd.js +4 -2
- package/bundles/stemy-backend.umd.js.map +1 -1
- package/bundles/stemy-backend.umd.min.js +1 -1
- package/bundles/stemy-backend.umd.min.js.map +1 -1
- package/esm2015/services/job-manager.js +4 -3
- package/fesm2015/stemy-backend.js +3 -2
- package/fesm2015/stemy-backend.js.map +1 -1
- package/package.json +1 -1
- package/services/job-manager.d.ts +1 -1
|
@@ -36,7 +36,7 @@ let JobManager = class JobManager {
|
|
|
36
36
|
this.jobs = this.jobTypes.reduce((res, jobType) => {
|
|
37
37
|
const jobName = getConstructorName(jobType);
|
|
38
38
|
res[jobName] = (jobParams, uniqueId) => {
|
|
39
|
-
const job = this.resolveJobInstance(jobType, jobParams);
|
|
39
|
+
const job = this.resolveJobInstance(jobType, jobParams, uniqueId);
|
|
40
40
|
const messageBridge = {
|
|
41
41
|
sendMessage: (message, params) => {
|
|
42
42
|
params.uniqueId = uniqueId;
|
|
@@ -185,11 +185,12 @@ let JobManager = class JobManager {
|
|
|
185
185
|
}
|
|
186
186
|
return this.tryResolve(jobType, params);
|
|
187
187
|
}
|
|
188
|
-
resolveJobInstance(jobType, params) {
|
|
188
|
+
resolveJobInstance(jobType, params, uniqueId = null) {
|
|
189
189
|
const container = this.container.createChildContainer();
|
|
190
190
|
Object.keys(params).map((name) => {
|
|
191
191
|
container.register(name, { useValue: params[name] });
|
|
192
192
|
});
|
|
193
|
+
container.register("uniqueId", { useValue: uniqueId });
|
|
193
194
|
container.register(jobType, jobType);
|
|
194
195
|
return container.resolve(jobType);
|
|
195
196
|
}
|
|
@@ -209,4 +210,4 @@ JobManager = __decorate([
|
|
|
209
210
|
__metadata("design:paramtypes", [Configuration, Object, Array])
|
|
210
211
|
], JobManager);
|
|
211
212
|
export { JobManager };
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvam9iLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFzQixNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQy9GLE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQVMsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUNILFlBQVksRUFLWixHQUFHLEVBTU4sTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDdEgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0lBSWpDLFVBQVUsU0FBVixVQUFVO0lBY25CLFlBQXFCLE1BQXFCLEVBQWlDLFNBQThCLEVBQWtCLFFBQXNCO1FBQTVILFdBQU0sR0FBTixNQUFNLENBQWU7UUFBaUMsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDckcsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUMsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBb0IsRUFBRSxRQUFnQixFQUFFLEVBQUU7Z0JBQ3RELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3hELE1BQU0sYUFBYSxHQUFtQjtvQkFDbEMsV0FBVyxFQUFFLENBQUMsT0FBZSxFQUFFLE1BQXFCLEVBQUUsRUFBRTt3QkFDcEQsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7d0JBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM1RCxDQUFDO2lCQUNKLENBQUM7Z0JBQ0YsYUFBYSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztnQkFDMUQsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3RDLENBQUMsQ0FBQTtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxFQUFFLENBQUMsT0FBZSxFQUFFLEVBQWlDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFFBQVE7YUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQzthQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFSyxPQUFPLENBQUMsT0FBbUIsRUFBRSxTQUFvQixFQUFFOztZQUNyRCxJQUFJLFFBQVEsR0FBUyxJQUFJLENBQUM7WUFDMUIsSUFBSTtnQkFDQSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN2RDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLGlDQUFpQyxPQUFPLGtCQUFrQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2FBQzFHO1lBQ0QsT0FBTyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsQ0FBQztLQUFBO0lBRUssZUFBZSxDQUFDLElBQVksRUFBRSxTQUFvQixFQUFFOztZQUN0RCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RSxDQUFDO0tBQUE7SUFFSyxPQUFPLENBQUMsT0FBbUIsRUFBRSxTQUFvQixFQUFFOztZQUNyRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvRSxDQUFDO0tBQUE7SUFFRCxRQUFRLENBQUMsTUFBdUIsRUFBRSxJQUFxQixFQUFFLFVBQTJCLEVBQUUsS0FBc0IsRUFBRSxTQUEwQixFQUFFLE9BQW1CLEVBQUUsU0FBb0IsRUFBRTtRQUNqTCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEUsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2IsTUFBTSxLQUFLLEdBQUcsQ0FBcUIsQ0FBQztnQkFDcEMsT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7YUFDaEQ7WUFDRCxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdEI7WUFDRCxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixPQUFPLHVDQUF1QyxDQUFDLENBQUM7WUFDekYsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwQyxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixPQUFPLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqRSxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVLLGVBQWU7O1lBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVU7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxxRUFBcUUsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDakgsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBRXpELE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBRXpELElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFPLElBQVksRUFBRSxJQUFZLEVBQUUsTUFBYyxFQUFFLEVBQUU7Z0JBQy9FLElBQUk7b0JBQ0EsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFjLENBQUM7b0JBQ2pFLE1BQU0sUUFBUSxHQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRTFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLHNDQUFzQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXZKLElBQUk7d0JBQ0EsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNyRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSx1Q0FBdUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUNsSDtvQkFBQyxPQUFPLENBQUMsRUFBRTt3QkFDUixPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsUUFBUSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDMUc7b0JBQ0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDN0I7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBQ3BEO1lBQ0wsQ0FBQyxDQUFBLENBQUMsQ0FBQztRQUNQLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxPQUFtQixFQUFFLE1BQWlCO1FBQzdDLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLE1BQU0sNkJBQTZCLE9BQU8sMkJBQTJCLENBQUM7U0FDekU7UUFDRCxJQUFJO1lBQ0EsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM1QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsTUFBTSxpQ0FBaUMsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztTQUMxRztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxPQUFlLEVBQUUsTUFBaUI7UUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsTUFBTSxrQ0FBa0MsT0FBTywyQkFBMkIsQ0FBQztTQUM5RTtRQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRVMsaUJBQWlCLENBQUMsT0FBbUIsRUFBRSxNQUFpQjtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQVksRUFBRSxJQUFhLEVBQUUsRUFBRTtnQkFDdkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxRQUFRLENBQUMsTUFBTSxNQUFLLElBQUksQ0FBYyxDQUFDO2dCQUN2RSxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25JLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRVMsa0JBQWtCLENBQUMsT0FBbUIsRUFBRSxNQUFpQjtRQUMvRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDeEQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckMsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBUyxDQUFDO0lBQzlDLENBQUM7SUFFZSxhQUFhLENBQUMsT0FBZSxFQUFFLE1BQWlCOztZQUM1RCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7S0FBQTtDQUNKLENBQUE7QUExTFksVUFBVTtJQUZ0QixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztJQWVlLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBLEVBQTJDLFdBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFBO3FDQUE3RixhQUFhO0dBZGpDLFVBQVUsQ0EwTHRCO1NBMUxZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RlcGVuZGVuY3lDb250YWluZXIsIGluamVjdCwgaW5qZWN0YWJsZSwgaW5qZWN0QWxsLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7c2NoZWR1bGUsIHZhbGlkYXRlfSBmcm9tIFwibm9kZS1jcm9uXCI7XHJcbmltcG9ydCB7c29ja2V0LCBTb2NrZXR9IGZyb20gXCJ6ZXJvbXFcIjtcclxuaW1wb3J0IHtTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7ZmlsdGVyLCBtYXB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQge09iamVjdElkfSBmcm9tIFwiYnNvblwiO1xyXG5pbXBvcnQge1xyXG4gICAgRElfQ09OVEFJTkVSLFxyXG4gICAgSUpvYixcclxuICAgIElKb2JUYXNrLFxyXG4gICAgSU1lc3NhZ2VCcmlkZ2UsXHJcbiAgICBJU29ja2V0TWVzc2FnZSxcclxuICAgIEpPQixcclxuICAgIEpvYlBhcmFtcyxcclxuICAgIEpvYlNjaGVkdWxlUmFuZ2UsXHJcbiAgICBKb2JTY2hlZHVsZVRpbWUsXHJcbiAgICBTb2NrZXRQYXJhbXMsXHJcbiAgICBUeXBlXHJcbn0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge2NvbG9yaXplLCBDb25zb2xlQ29sb3IsIGdldENvbnN0cnVjdG9yTmFtZSwgaXNBcnJheSwgaXNPYmplY3QsIGpzb25IaWdobGlnaHQsIHByb21pc2VUaW1lb3V0fSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9jb25maWd1cmF0aW9uXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIEpvYk1hbmFnZXIge1xyXG5cclxuICAgIHByb3RlY3RlZCBqb2JUeXBlczogVHlwZTxJSm9iPltdO1xyXG4gICAgcHJvdGVjdGVkIGpvYnM6IHsgW25hbWU6IHN0cmluZ106IChqb2JQYXJhbXM6IEpvYlBhcmFtcywgdW5pcXVlSWQ6IHN0cmluZykgPT4gUHJvbWlzZTxhbnk+IH07XHJcbiAgICBwcm90ZWN0ZWQgbWVzc2FnZXM6IFN1YmplY3Q8SVNvY2tldE1lc3NhZ2U+O1xyXG4gICAgcHJvdGVjdGVkIHByb2Nlc3Npbmc6IGJvb2xlYW47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFwaVB1c2g6IFNvY2tldDtcclxuICAgIHByb3RlY3RlZCBhcGlQdWxsOiBTb2NrZXQ7XHJcbiAgICBwcm90ZWN0ZWQgd29ya2VyUHVzaDogU29ja2V0O1xyXG4gICAgcHJvdGVjdGVkIHdvcmtlclB1bGw6IFNvY2tldDtcclxuXHJcbiAgICByZWFkb25seSBtYXhUaW1lb3V0OiBudW1iZXI7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29uZmlnOiBDb25maWd1cmF0aW9uLCBAaW5qZWN0KERJX0NPTlRBSU5FUikgcmVhZG9ubHkgY29udGFpbmVyOiBEZXBlbmRlbmN5Q29udGFpbmVyLCBAaW5qZWN0QWxsKEpPQikgam9iVHlwZXM6IFR5cGU8SUpvYj5bXSkge1xyXG4gICAgICAgIHRoaXMuam9iVHlwZXMgPSBqb2JUeXBlcyB8fCBbXTtcclxuICAgICAgICB0aGlzLmpvYnMgPSB0aGlzLmpvYlR5cGVzLnJlZHVjZSgocmVzLCBqb2JUeXBlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGpvYk5hbWUgPSBnZXRDb25zdHJ1Y3Rvck5hbWUoam9iVHlwZSk7XHJcbiAgICAgICAgICAgIHJlc1tqb2JOYW1lXSA9IChqb2JQYXJhbXM6IEpvYlBhcmFtcywgdW5pcXVlSWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgam9iID0gdGhpcy5yZXNvbHZlSm9iSW5zdGFuY2Uoam9iVHlwZSwgam9iUGFyYW1zKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VCcmlkZ2U6IElNZXNzYWdlQnJpZGdlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbmRNZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nLCBwYXJhbXM/OiBTb2NrZXRQYXJhbXMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLnVuaXF1ZUlkID0gdW5pcXVlSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud29ya2VyUHVzaC5zZW5kKFttZXNzYWdlLCBKU09OLnN0cmluZ2lmeShwYXJhbXMpXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2VCcmlkZ2Uuc2VuZE1lc3NhZ2UoYGpvYi1zdGFydGVkYCwge25hbWU6IGpvYk5hbWV9KTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBqb2IucHJvY2VzcyhtZXNzYWdlQnJpZGdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH0sIHt9KTtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gbmV3IFN1YmplY3Q8SVNvY2tldE1lc3NhZ2U+KCk7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5tYXhUaW1lb3V0ID0gdGhpcy5jb25maWcucmVzb2x2ZShcImpvYlRpbWVvdXRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgb24obWVzc2FnZTogc3RyaW5nLCBjYjogKHBhcmFtczogU29ja2V0UGFyYW1zKSA9PiBhbnkpOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VzXHJcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcih0ID0+IHQubWVzc2FnZSA9PT0gbWVzc2FnZSkpXHJcbiAgICAgICAgICAgIC5waXBlKG1hcCh0ID0+IHQucGFyYW1zKSkuc3Vic2NyaWJlKGNiKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBwcm9jZXNzKGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGxldCBpbnN0YW5jZTogSUpvYiA9IG51bGw7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaW5zdGFuY2UgPSB0aGlzLnJlc29sdmVKb2JJbnN0YW5jZShqb2JUeXBlLCBwYXJhbXMpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc3Qgam9iTmFtZSA9IGdldENvbnN0cnVjdG9yTmFtZShqb2JUeXBlKTtcclxuICAgICAgICAgICAgdGhyb3cgYENhbid0IHJlc29sdmUgcGFyYW1zIGZvciBqb2I6ICR7am9iTmFtZX0sIHdpdGggcGFyYW1zOiAke0pTT04uc3RyaW5naWZ5KHBhcmFtcyl9LiBSZWFzb246ICR7ZX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaW5zdGFuY2UucHJvY2VzcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGVucXVldWVXaXRoTmFtZShuYW1lOiBzdHJpbmcsIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbmRUb1dvcmtlcnModGhpcy50cnlSZXNvbHZlRnJvbU5hbWUobmFtZSwgcGFyYW1zKSwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBlbnF1ZXVlKGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbmRUb1dvcmtlcnModGhpcy50cnlSZXNvbHZlQW5kSW5pdChqb2JUeXBlLCBwYXJhbXMpLCBwYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHNjaGVkdWxlKG1pbnV0ZTogSm9iU2NoZWR1bGVUaW1lLCBob3VyOiBKb2JTY2hlZHVsZVRpbWUsIGRheU9mTW9udGg6IEpvYlNjaGVkdWxlVGltZSwgbW9udGg6IEpvYlNjaGVkdWxlVGltZSwgZGF5T2ZXZWVrOiBKb2JTY2hlZHVsZVRpbWUsIGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBJSm9iVGFzayB7XHJcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IFttaW51dGUsIGhvdXIsIGRheU9mTW9udGgsIG1vbnRoLCBkYXlPZldlZWtdLm1hcCh0ID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHQpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByYW5nZSA9IHQgYXMgSm9iU2NoZWR1bGVSYW5nZTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtyYW5nZS5taW4gfHwgMH0tJHtyYW5nZS5tYXggfHwgMH1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpc0FycmF5KHQpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdC5qb2luKFwiLFwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gYCR7dH1gO1xyXG4gICAgICAgIH0pLmpvaW4oXCIgXCIpO1xyXG4gICAgICAgIGNvbnN0IGpvYk5hbWUgPSBnZXRDb25zdHJ1Y3Rvck5hbWUoam9iVHlwZSk7XHJcbiAgICAgICAgaWYgKCF2YWxpZGF0ZShleHByZXNzaW9uKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3Qgc2NoZWR1bGUgdGhlIHRhc2s6ICcke2pvYk5hbWV9JyBiZWNhdXNlIHRpbWUgZXhwcmVzc2lvbiBpcyBpbnZhbGlkLmApO1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlKGV4cHJlc3Npb24sICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5lbnF1ZXVlKGpvYlR5cGUsIHBhcmFtcykuY2F0Y2goZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3QgZW5xdWV1ZSBqb2I6ICcke2pvYk5hbWV9JyBiZWNhdXNlOiAke2V9YCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHN0YXJ0UHJvY2Vzc2luZygpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnByb2Nlc3NpbmcpIHJldHVybiBudWxsO1xyXG4gICAgICAgIHRoaXMucHJvY2Vzc2luZyA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb25maWcucmVzb2x2ZShcImlzV29ya2VyXCIpKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGNvbG9yaXplKGBQcm9jZXNzaW5nIGNhbiBub3QgYmUgc3RhcnRlZCBiZWNhdXNlIHRoaXMgaXMgTk9UIGEgd29ya2VyIHByb2Nlc3MhYCwgQ29uc29sZUNvbG9yLkZnUmVkKSk7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMuY29uZmlnLnJlc29sdmUoXCJ6bXFSZW1vdGVIb3N0XCIpO1xyXG4gICAgICAgIGNvbnN0IHB1c2hIb3N0ID0gYCR7aG9zdH06JHt0aGlzLmNvbmZpZy5yZXNvbHZlKFwiem1xQmFja1BvcnRcIil9YDtcclxuICAgICAgICB0aGlzLndvcmtlclB1c2ggPSBzb2NrZXQoXCJwdXNoXCIpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMud29ya2VyUHVzaC5jb25uZWN0KHB1c2hIb3N0KTtcclxuICAgICAgICBjb25zb2xlLmxvZyhgV29ya2VyIHByb2R1Y2VyIGNvbm5lY3RlZCB0bzogJHtwdXNoSG9zdH1gKTtcclxuXHJcbiAgICAgICAgY29uc3QgcHVsbEhvc3QgPSBgJHtob3N0fToke3RoaXMuY29uZmlnLnJlc29sdmUoXCJ6bXFQb3J0XCIpfWA7XHJcbiAgICAgICAgdGhpcy53b3JrZXJQdWxsID0gc29ja2V0KFwicHVsbFwiKTtcclxuICAgICAgICBhd2FpdCB0aGlzLndvcmtlclB1bGwuY29ubmVjdChwdWxsSG9zdCk7XHJcbiAgICAgICAgY29uc29sZS5sb2coYFdvcmtlciBjb25zdW1lciBjb25uZWN0ZWQgdG86ICR7cHVsbEhvc3R9YCk7XHJcblxyXG4gICAgICAgIHRoaXMud29ya2VyUHVsbC5vbihcIm1lc3NhZ2VcIiwgYXN5bmMgKG5hbWU6IEJ1ZmZlciwgYXJnczogQnVmZmVyLCB1bmlxSWQ6IEJ1ZmZlcikgPT4ge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgam9iTmFtZSA9IG5hbWUudG9TdHJpbmcoXCJ1dGY4XCIpO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgam9iUGFyYW1zID0gSlNPTi5wYXJzZShhcmdzLnRvU3RyaW5nKFwidXRmOFwiKSkgYXMgSm9iUGFyYW1zO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdW5pcXVlSWQgPSB1bmlxSWQ/LnRvU3RyaW5nKFwidXRmOFwiKTtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWUodW5pcXVlSWQpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS50aW1lTG9nKHVuaXF1ZUlkLCBgU3RhcnRlZCB3b3JraW5nIG9uIGJhY2tncm91bmQgam9iOiAke2NvbG9yaXplKGpvYk5hbWUsIENvbnNvbGVDb2xvci5GZ0N5YW4pfSB3aXRoIGFyZ3M6IFxcbiR7anNvbkhpZ2hsaWdodChqb2JQYXJhbXMpfVxcblxcbmApO1xyXG5cclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmpvYnNbam9iTmFtZV0oam9iUGFyYW1zLCB1bmlxdWVJZCksIHByb21pc2VUaW1lb3V0KHRoaXMubWF4VGltZW91dCwgdHJ1ZSldKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWVMb2codW5pcXVlSWQsIGBGaW5pc2hlZCB3b3JraW5nIG9uIGJhY2tncm91bmQgam9iOiAke2NvbG9yaXplKGpvYk5hbWUsIENvbnNvbGVDb2xvci5GZ0N5YW4pfVxcblxcbmApO1xyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZUxvZyh1bmlxdWVJZCwgYEJhY2tncm91bmQgam9iIGZhaWxlZDogJHtjb2xvcml6ZShqb2JOYW1lLCBDb25zb2xlQ29sb3IuRmdSZWQpfVxcbiR7ZX1cXG5cXG5gKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZUVuZCh1bmlxdWVJZCk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBGYWlsZWQgdG8gc3RhcnQgam9iOiAke2UubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRyeVJlc29sdmUoam9iVHlwZTogVHlwZTxJSm9iPiwgcGFyYW1zOiBKb2JQYXJhbXMpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGpvYk5hbWUgPSBnZXRDb25zdHJ1Y3Rvck5hbWUoam9iVHlwZSk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmpvYnNbam9iTmFtZV0pIHtcclxuICAgICAgICAgICAgdGhyb3cgYENhbid0IGZpbmQgam9iIHdpdGggbmFtZTogJHtqb2JOYW1lfSBzbyBpdCBjYW4ndCBiZSBlbnF1ZXVlZCFgO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB0aGlzLnJlc29sdmVKb2JJbnN0YW5jZShqb2JUeXBlLCBwYXJhbXMpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgYENhbid0IHJlc29sdmUgcGFyYW1zIGZvciBqb2I6ICR7am9iTmFtZX0sIHdpdGggcGFyYW1zOiAke0pTT04uc3RyaW5naWZ5KHBhcmFtcyl9LiBSZWFzb246ICR7ZX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gam9iTmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdHJ5UmVzb2x2ZUZyb21OYW1lKGpvYk5hbWU6IHN0cmluZywgcGFyYW1zOiBKb2JQYXJhbXMpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGpvYlR5cGUgPSB0aGlzLmpvYlR5cGVzLmZpbmQodHlwZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBnZXRDb25zdHJ1Y3Rvck5hbWUodHlwZSkgPT0gam9iTmFtZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoIWpvYlR5cGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgYENhbid0IGZpbmQgam9iIHR5cGUgd2l0aCBuYW1lOiAke2pvYk5hbWV9IHNvIGl0IGNhbid0IGJlIGVucXVldWVkIWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLnRyeVJlc29sdmVBbmRJbml0KGpvYlR5cGUsIHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyeVJlc29sdmVBbmRJbml0KGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXRoaXMuYXBpUHVzaCkge1xyXG4gICAgICAgICAgICBjb25zdCBwb3J0ID0gdGhpcy5jb25maWcucmVzb2x2ZShcInptcVBvcnRcIik7XHJcbiAgICAgICAgICAgIHRoaXMuYXBpUHVzaCA9IHNvY2tldChcInB1c2hcIik7XHJcbiAgICAgICAgICAgIHRoaXMuYXBpUHVzaC5iaW5kKGB0Y3A6Ly8wLjAuMC4wOiR7cG9ydH1gKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYEFQSSBwcm9kdWNlciBib3VuZCB0byBwb3J0OiAke3BvcnR9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy5hcGlQdWxsKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJhY2tQb3J0ID0gdGhpcy5jb25maWcucmVzb2x2ZShcInptcUJhY2tQb3J0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmFwaVB1bGwgPSBzb2NrZXQoXCJwdWxsXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmFwaVB1bGwuYmluZChgdGNwOi8vMC4wLjAuMDoke2JhY2tQb3J0fWApO1xyXG4gICAgICAgICAgICB0aGlzLmFwaVB1bGwub24oXCJtZXNzYWdlXCIsIChuYW1lOiBCdWZmZXIsIGFyZ3M/OiBCdWZmZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuYW1lLnRvU3RyaW5nKFwidXRmOFwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IEpTT04ucGFyc2UoYXJncz8udG9TdHJpbmcoXCJ1dGY4XCIpIHx8IFwie31cIikgYXMgSm9iUGFyYW1zO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIHdvcmtlcjogXCIke2NvbG9yaXplKG1lc3NhZ2UsIENvbnNvbGVDb2xvci5GZ0N5YW4pfVwiIHdpdGggYXJnczogJHtqc29uSGlnaGxpZ2h0KHBhcmFtcyl9XFxuXFxuYCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLm5leHQoe21lc3NhZ2UsIHBhcmFtc30pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYEFQSSBjb25zdW1lciBib3VuZCB0byBwb3J0OiAke2JhY2tQb3J0fWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy50cnlSZXNvbHZlKGpvYlR5cGUsIHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlc29sdmVKb2JJbnN0YW5jZShqb2JUeXBlOiBUeXBlPElKb2I+LCBwYXJhbXM6IEpvYlBhcmFtcyk6IElKb2Ige1xyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNoaWxkQ29udGFpbmVyKCk7XHJcbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5tYXAoKG5hbWUpID0+IHtcclxuICAgICAgICAgICAgY29udGFpbmVyLnJlZ2lzdGVyKG5hbWUsIHt1c2VWYWx1ZTogcGFyYW1zW25hbWVdfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29udGFpbmVyLnJlZ2lzdGVyKGpvYlR5cGUsIGpvYlR5cGUpO1xyXG4gICAgICAgIHJldHVybiBjb250YWluZXIucmVzb2x2ZShqb2JUeXBlKSBhcyBJSm9iO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyBzZW5kVG9Xb3JrZXJzKGpvYk5hbWU6IHN0cmluZywgcGFyYW1zOiBKb2JQYXJhbXMpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIGNvbnN0IHB1Ymxpc2hlciA9IGF3YWl0IHRoaXMuYXBpUHVzaDtcclxuICAgICAgICBjb25zdCB1bmlxdWVJZCA9IG5ldyBPYmplY3RJZCgpLnRvSGV4U3RyaW5nKCk7XHJcbiAgICAgICAgYXdhaXQgcHVibGlzaGVyLnNlbmQoW2pvYk5hbWUsIEpTT04uc3RyaW5naWZ5KHBhcmFtcyksIHVuaXF1ZUlkXSk7XHJcbiAgICAgICAgcmV0dXJuIHVuaXF1ZUlkO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvam9iLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFzQixNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQy9GLE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQVMsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUNILFlBQVksRUFLWixHQUFHLEVBTU4sTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDdEgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0lBSWpDLFVBQVUsU0FBVixVQUFVO0lBY25CLFlBQXFCLE1BQXFCLEVBQWlDLFNBQThCLEVBQWtCLFFBQXNCO1FBQTVILFdBQU0sR0FBTixNQUFNLENBQWU7UUFBaUMsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDckcsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVB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bmN5Q29udGFpbmVyLCBpbmplY3QsIGluamVjdGFibGUsIGluamVjdEFsbCwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge3NjaGVkdWxlLCB2YWxpZGF0ZX0gZnJvbSBcIm5vZGUtY3JvblwiO1xyXG5pbXBvcnQge3NvY2tldCwgU29ja2V0fSBmcm9tIFwiemVyb21xXCI7XHJcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHtPYmplY3RJZH0gZnJvbSBcImJzb25cIjtcclxuaW1wb3J0IHtcclxuICAgIERJX0NPTlRBSU5FUixcclxuICAgIElKb2IsXHJcbiAgICBJSm9iVGFzayxcclxuICAgIElNZXNzYWdlQnJpZGdlLFxyXG4gICAgSVNvY2tldE1lc3NhZ2UsXHJcbiAgICBKT0IsXHJcbiAgICBKb2JQYXJhbXMsXHJcbiAgICBKb2JTY2hlZHVsZVJhbmdlLFxyXG4gICAgSm9iU2NoZWR1bGVUaW1lLFxyXG4gICAgU29ja2V0UGFyYW1zLFxyXG4gICAgVHlwZVxyXG59IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtjb2xvcml6ZSwgQ29uc29sZUNvbG9yLCBnZXRDb25zdHJ1Y3Rvck5hbWUsIGlzQXJyYXksIGlzT2JqZWN0LCBqc29uSGlnaGxpZ2h0LCBwcm9taXNlVGltZW91dH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4vY29uZmlndXJhdGlvblwiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2NvcGVkKExpZmVjeWNsZS5Db250YWluZXJTY29wZWQpXHJcbmV4cG9ydCBjbGFzcyBKb2JNYW5hZ2VyIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgam9iVHlwZXM6IFR5cGU8SUpvYj5bXTtcclxuICAgIHByb3RlY3RlZCBqb2JzOiB7IFtuYW1lOiBzdHJpbmddOiAoam9iUGFyYW1zOiBKb2JQYXJhbXMsIHVuaXF1ZUlkOiBzdHJpbmcpID0+IFByb21pc2U8YW55PiB9O1xyXG4gICAgcHJvdGVjdGVkIG1lc3NhZ2VzOiBTdWJqZWN0PElTb2NrZXRNZXNzYWdlPjtcclxuICAgIHByb3RlY3RlZCBwcm9jZXNzaW5nOiBib29sZWFuO1xyXG5cclxuICAgIHByb3RlY3RlZCBhcGlQdXNoOiBTb2NrZXQ7XHJcbiAgICBwcm90ZWN0ZWQgYXBpUHVsbDogU29ja2V0O1xyXG4gICAgcHJvdGVjdGVkIHdvcmtlclB1c2g6IFNvY2tldDtcclxuICAgIHByb3RlY3RlZCB3b3JrZXJQdWxsOiBTb2NrZXQ7XHJcblxyXG4gICAgcmVhZG9ubHkgbWF4VGltZW91dDogbnVtYmVyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbmZpZzogQ29uZmlndXJhdGlvbiwgQGluamVjdChESV9DT05UQUlORVIpIHJlYWRvbmx5IGNvbnRhaW5lcjogRGVwZW5kZW5jeUNvbnRhaW5lciwgQGluamVjdEFsbChKT0IpIGpvYlR5cGVzOiBUeXBlPElKb2I+W10pIHtcclxuICAgICAgICB0aGlzLmpvYlR5cGVzID0gam9iVHlwZXMgfHwgW107XHJcbiAgICAgICAgdGhpcy5qb2JzID0gdGhpcy5qb2JUeXBlcy5yZWR1Y2UoKHJlcywgam9iVHlwZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBqb2JOYW1lID0gZ2V0Q29uc3RydWN0b3JOYW1lKGpvYlR5cGUpO1xyXG4gICAgICAgICAgICByZXNbam9iTmFtZV0gPSAoam9iUGFyYW1zOiBKb2JQYXJhbXMsIHVuaXF1ZUlkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGpvYiA9IHRoaXMucmVzb2x2ZUpvYkluc3RhbmNlKGpvYlR5cGUsIGpvYlBhcmFtcywgdW5pcXVlSWQpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZUJyaWRnZTogSU1lc3NhZ2VCcmlkZ2UgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcsIHBhcmFtcz86IFNvY2tldFBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMudW5pcXVlSWQgPSB1bmlxdWVJZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53b3JrZXJQdXNoLnNlbmQoW21lc3NhZ2UsIEpTT04uc3RyaW5naWZ5KHBhcmFtcyldKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZUJyaWRnZS5zZW5kTWVzc2FnZShgam9iLXN0YXJ0ZWRgLCB7bmFtZTogam9iTmFtZX0pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGpvYi5wcm9jZXNzKG1lc3NhZ2VCcmlkZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgfSwge30pO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSBuZXcgU3ViamVjdDxJU29ja2V0TWVzc2FnZT4oKTtcclxuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm1heFRpbWVvdXQgPSB0aGlzLmNvbmZpZy5yZXNvbHZlKFwiam9iVGltZW91dFwiKTtcclxuICAgIH1cclxuXHJcbiAgICBvbihtZXNzYWdlOiBzdHJpbmcsIGNiOiAocGFyYW1zOiBTb2NrZXRQYXJhbXMpID0+IGFueSk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZXNcclxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKHQgPT4gdC5tZXNzYWdlID09PSBtZXNzYWdlKSlcclxuICAgICAgICAgICAgLnBpcGUobWFwKHQgPT4gdC5wYXJhbXMpKS5zdWJzY3JpYmUoY2IpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHByb2Nlc3Moam9iVHlwZTogVHlwZTxJSm9iPiwgcGFyYW1zOiBKb2JQYXJhbXMgPSB7fSk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgbGV0IGluc3RhbmNlOiBJSm9iID0gbnVsbDtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpbnN0YW5jZSA9IHRoaXMucmVzb2x2ZUpvYkluc3RhbmNlKGpvYlR5cGUsIHBhcmFtcyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zdCBqb2JOYW1lID0gZ2V0Q29uc3RydWN0b3JOYW1lKGpvYlR5cGUpO1xyXG4gICAgICAgICAgICB0aHJvdyBgQ2FuJ3QgcmVzb2x2ZSBwYXJhbXMgZm9yIGpvYjogJHtqb2JOYW1lfSwgd2l0aCBwYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkocGFyYW1zKX0uIFJlYXNvbjogJHtlfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBpbnN0YW5jZS5wcm9jZXNzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZW5xdWV1ZVdpdGhOYW1lKG5hbWU6IHN0cmluZywgcGFyYW1zOiBKb2JQYXJhbXMgPSB7fSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZFRvV29ya2Vycyh0aGlzLnRyeVJlc29sdmVGcm9tTmFtZShuYW1lLCBwYXJhbXMpLCBwYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGVucXVldWUoam9iVHlwZTogVHlwZTxJSm9iPiwgcGFyYW1zOiBKb2JQYXJhbXMgPSB7fSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZFRvV29ya2Vycyh0aGlzLnRyeVJlc29sdmVBbmRJbml0KGpvYlR5cGUsIHBhcmFtcyksIHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgc2NoZWR1bGUobWludXRlOiBKb2JTY2hlZHVsZVRpbWUsIGhvdXI6IEpvYlNjaGVkdWxlVGltZSwgZGF5T2ZNb250aDogSm9iU2NoZWR1bGVUaW1lLCBtb250aDogSm9iU2NoZWR1bGVUaW1lLCBkYXlPZldlZWs6IEpvYlNjaGVkdWxlVGltZSwgam9iVHlwZTogVHlwZTxJSm9iPiwgcGFyYW1zOiBKb2JQYXJhbXMgPSB7fSk6IElKb2JUYXNrIHtcclxuICAgICAgICBjb25zdCBleHByZXNzaW9uID0gW21pbnV0ZSwgaG91ciwgZGF5T2ZNb250aCwgbW9udGgsIGRheU9mV2Vla10ubWFwKHQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXNPYmplY3QodCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJhbmdlID0gdCBhcyBKb2JTY2hlZHVsZVJhbmdlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3JhbmdlLm1pbiB8fCAwfS0ke3JhbmdlLm1heCB8fCAwfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGlzQXJyYXkodCkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0LmpvaW4oXCIsXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0fWA7XHJcbiAgICAgICAgfSkuam9pbihcIiBcIik7XHJcbiAgICAgICAgY29uc3Qgam9iTmFtZSA9IGdldENvbnN0cnVjdG9yTmFtZShqb2JUeXBlKTtcclxuICAgICAgICBpZiAoIXZhbGlkYXRlKGV4cHJlc3Npb24pKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBzY2hlZHVsZSB0aGUgdGFzazogJyR7am9iTmFtZX0nIGJlY2F1c2UgdGltZSBleHByZXNzaW9uIGlzIGludmFsaWQuYCk7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc2NoZWR1bGUoZXhwcmVzc2lvbiwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmVucXVldWUoam9iVHlwZSwgcGFyYW1zKS5jYXRjaChlID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBlbnF1ZXVlIGpvYjogJyR7am9iTmFtZX0nIGJlY2F1c2U6ICR7ZX1gKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc3RhcnRQcm9jZXNzaW5nKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvY2Vzc2luZykgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5yZXNvbHZlKFwiaXNXb3JrZXJcIikpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coY29sb3JpemUoYFByb2Nlc3NpbmcgY2FuIG5vdCBiZSBzdGFydGVkIGJlY2F1c2UgdGhpcyBpcyBOT1QgYSB3b3JrZXIgcHJvY2VzcyFgLCBDb25zb2xlQ29sb3IuRmdSZWQpKTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBob3N0ID0gdGhpcy5jb25maWcucmVzb2x2ZShcInptcVJlbW90ZUhvc3RcIik7XHJcbiAgICAgICAgY29uc3QgcHVzaEhvc3QgPSBgJHtob3N0fToke3RoaXMuY29uZmlnLnJlc29sdmUoXCJ6bXFCYWNrUG9ydFwiKX1gO1xyXG4gICAgICAgIHRoaXMud29ya2VyUHVzaCA9IHNvY2tldChcInB1c2hcIik7XHJcbiAgICAgICAgYXdhaXQgdGhpcy53b3JrZXJQdXNoLmNvbm5lY3QocHVzaEhvc3QpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBXb3JrZXIgcHJvZHVjZXIgY29ubmVjdGVkIHRvOiAke3B1c2hIb3N0fWApO1xyXG5cclxuICAgICAgICBjb25zdCBwdWxsSG9zdCA9IGAke2hvc3R9OiR7dGhpcy5jb25maWcucmVzb2x2ZShcInptcVBvcnRcIil9YDtcclxuICAgICAgICB0aGlzLndvcmtlclB1bGwgPSBzb2NrZXQoXCJwdWxsXCIpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMud29ya2VyUHVsbC5jb25uZWN0KHB1bGxIb3N0KTtcclxuICAgICAgICBjb25zb2xlLmxvZyhgV29ya2VyIGNvbnN1bWVyIGNvbm5lY3RlZCB0bzogJHtwdWxsSG9zdH1gKTtcclxuXHJcbiAgICAgICAgdGhpcy53b3JrZXJQdWxsLm9uKFwibWVzc2FnZVwiLCBhc3luYyAobmFtZTogQnVmZmVyLCBhcmdzOiBCdWZmZXIsIHVuaXFJZDogQnVmZmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBqb2JOYW1lID0gbmFtZS50b1N0cmluZyhcInV0ZjhcIik7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBqb2JQYXJhbXMgPSBKU09OLnBhcnNlKGFyZ3MudG9TdHJpbmcoXCJ1dGY4XCIpKSBhcyBKb2JQYXJhbXM7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1bmlxdWVJZCA9IHVuaXFJZD8udG9TdHJpbmcoXCJ1dGY4XCIpO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZSh1bmlxdWVJZCk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWVMb2codW5pcXVlSWQsIGBTdGFydGVkIHdvcmtpbmcgb24gYmFja2dyb3VuZCBqb2I6ICR7Y29sb3JpemUoam9iTmFtZSwgQ29uc29sZUNvbG9yLkZnQ3lhbil9IHdpdGggYXJnczogXFxuJHtqc29uSGlnaGxpZ2h0KGpvYlBhcmFtcyl9XFxuXFxuYCk7XHJcblxyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLnJhY2UoW3RoaXMuam9ic1tqb2JOYW1lXShqb2JQYXJhbXMsIHVuaXF1ZUlkKSwgcHJvbWlzZVRpbWVvdXQodGhpcy5tYXhUaW1lb3V0LCB0cnVlKV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZUxvZyh1bmlxdWVJZCwgYEZpbmlzaGVkIHdvcmtpbmcgb24gYmFja2dyb3VuZCBqb2I6ICR7Y29sb3JpemUoam9iTmFtZSwgQ29uc29sZUNvbG9yLkZnQ3lhbil9XFxuXFxuYCk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS50aW1lTG9nKHVuaXF1ZUlkLCBgQmFja2dyb3VuZCBqb2IgZmFpbGVkOiAke2NvbG9yaXplKGpvYk5hbWUsIENvbnNvbGVDb2xvci5GZ1JlZCl9XFxuJHtlfVxcblxcbmApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc29sZS50aW1lRW5kKHVuaXF1ZUlkKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYEZhaWxlZCB0byBzdGFydCBqb2I6ICR7ZS5tZXNzYWdlfWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5UmVzb2x2ZShqb2JUeXBlOiBUeXBlPElKb2I+LCBwYXJhbXM6IEpvYlBhcmFtcyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3Qgam9iTmFtZSA9IGdldENvbnN0cnVjdG9yTmFtZShqb2JUeXBlKTtcclxuICAgICAgICBpZiAoIXRoaXMuam9ic1tqb2JOYW1lXSkge1xyXG4gICAgICAgICAgICB0aHJvdyBgQ2FuJ3QgZmluZCBqb2Igd2l0aCBuYW1lOiAke2pvYk5hbWV9IHNvIGl0IGNhbid0IGJlIGVucXVldWVkIWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZUpvYkluc3RhbmNlKGpvYlR5cGUsIHBhcmFtcyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBgQ2FuJ3QgcmVzb2x2ZSBwYXJhbXMgZm9yIGpvYjogJHtqb2JOYW1lfSwgd2l0aCBwYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkocGFyYW1zKX0uIFJlYXNvbjogJHtlfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBqb2JOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0cnlSZXNvbHZlRnJvbU5hbWUoam9iTmFtZTogc3RyaW5nLCBwYXJhbXM6IEpvYlBhcmFtcyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3Qgam9iVHlwZSA9IHRoaXMuam9iVHlwZXMuZmluZCh0eXBlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGdldENvbnN0cnVjdG9yTmFtZSh0eXBlKSA9PSBqb2JOYW1lO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICgham9iVHlwZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBgQ2FuJ3QgZmluZCBqb2IgdHlwZSB3aXRoIG5hbWU6ICR7am9iTmFtZX0gc28gaXQgY2FuJ3QgYmUgZW5xdWV1ZWQhYDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHJ5UmVzb2x2ZUFuZEluaXQoam9iVHlwZSwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdHJ5UmVzb2x2ZUFuZEluaXQoam9iVHlwZTogVHlwZTxJSm9iPiwgcGFyYW1zOiBKb2JQYXJhbXMpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5hcGlQdXNoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBvcnQgPSB0aGlzLmNvbmZpZy5yZXNvbHZlKFwiem1xUG9ydFwiKTtcclxuICAgICAgICAgICAgdGhpcy5hcGlQdXNoID0gc29ja2V0KFwicHVzaFwiKTtcclxuICAgICAgICAgICAgdGhpcy5hcGlQdXNoLmJpbmQoYHRjcDovLzAuMC4wLjA6JHtwb3J0fWApO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQVBJIHByb2R1Y2VyIGJvdW5kIHRvIHBvcnQ6ICR7cG9ydH1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCF0aGlzLmFwaVB1bGwpIHtcclxuICAgICAgICAgICAgY29uc3QgYmFja1BvcnQgPSB0aGlzLmNvbmZpZy5yZXNvbHZlKFwiem1xQmFja1BvcnRcIik7XHJcbiAgICAgICAgICAgIHRoaXMuYXBpUHVsbCA9IHNvY2tldChcInB1bGxcIik7XHJcbiAgICAgICAgICAgIHRoaXMuYXBpUHVsbC5iaW5kKGB0Y3A6Ly8wLjAuMC4wOiR7YmFja1BvcnR9YCk7XHJcbiAgICAgICAgICAgIHRoaXMuYXBpUHVsbC5vbihcIm1lc3NhZ2VcIiwgKG5hbWU6IEJ1ZmZlciwgYXJncz86IEJ1ZmZlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IG5hbWUudG9TdHJpbmcoXCJ1dGY4XCIpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gSlNPTi5wYXJzZShhcmdzPy50b1N0cmluZyhcInV0ZjhcIikgfHwgXCJ7fVwiKSBhcyBKb2JQYXJhbXM7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gd29ya2VyOiBcIiR7Y29sb3JpemUobWVzc2FnZSwgQ29uc29sZUNvbG9yLkZnQ3lhbil9XCIgd2l0aCBhcmdzOiAke2pzb25IaWdobGlnaHQocGFyYW1zKX1cXG5cXG5gKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXMubmV4dCh7bWVzc2FnZSwgcGFyYW1zfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQVBJIGNvbnN1bWVyIGJvdW5kIHRvIHBvcnQ6ICR7YmFja1BvcnR9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLnRyeVJlc29sdmUoam9iVHlwZSwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUpvYkluc3RhbmNlKGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zLCB1bmlxdWVJZDogc3RyaW5nID0gbnVsbCk6IElKb2Ige1xyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNoaWxkQ29udGFpbmVyKCk7XHJcbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5tYXAoKG5hbWUpID0+IHtcclxuICAgICAgICAgICAgY29udGFpbmVyLnJlZ2lzdGVyKG5hbWUsIHt1c2VWYWx1ZTogcGFyYW1zW25hbWVdfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29udGFpbmVyLnJlZ2lzdGVyKFwidW5pcXVlSWRcIiwge3VzZVZhbHVlOiB1bmlxdWVJZH0pO1xyXG4gICAgICAgIGNvbnRhaW5lci5yZWdpc3Rlcihqb2JUeXBlLCBqb2JUeXBlKTtcclxuICAgICAgICByZXR1cm4gY29udGFpbmVyLnJlc29sdmUoam9iVHlwZSkgYXMgSUpvYjtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgc2VuZFRvV29ya2Vycyhqb2JOYW1lOiBzdHJpbmcsIHBhcmFtczogSm9iUGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBjb25zdCBwdWJsaXNoZXIgPSBhd2FpdCB0aGlzLmFwaVB1c2g7XHJcbiAgICAgICAgY29uc3QgdW5pcXVlSWQgPSBuZXcgT2JqZWN0SWQoKS50b0hleFN0cmluZygpO1xyXG4gICAgICAgIGF3YWl0IHB1Ymxpc2hlci5zZW5kKFtqb2JOYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbXMpLCB1bmlxdWVJZF0pO1xyXG4gICAgICAgIHJldHVybiB1bmlxdWVJZDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1583,7 +1583,7 @@ let JobManager = class JobManager {
|
|
|
1583
1583
|
this.jobs = this.jobTypes.reduce((res, jobType) => {
|
|
1584
1584
|
const jobName = getConstructorName(jobType);
|
|
1585
1585
|
res[jobName] = (jobParams, uniqueId) => {
|
|
1586
|
-
const job = this.resolveJobInstance(jobType, jobParams);
|
|
1586
|
+
const job = this.resolveJobInstance(jobType, jobParams, uniqueId);
|
|
1587
1587
|
const messageBridge = {
|
|
1588
1588
|
sendMessage: (message, params) => {
|
|
1589
1589
|
params.uniqueId = uniqueId;
|
|
@@ -1732,11 +1732,12 @@ let JobManager = class JobManager {
|
|
|
1732
1732
|
}
|
|
1733
1733
|
return this.tryResolve(jobType, params);
|
|
1734
1734
|
}
|
|
1735
|
-
resolveJobInstance(jobType, params) {
|
|
1735
|
+
resolveJobInstance(jobType, params, uniqueId = null) {
|
|
1736
1736
|
const container = this.container.createChildContainer();
|
|
1737
1737
|
Object.keys(params).map((name) => {
|
|
1738
1738
|
container.register(name, { useValue: params[name] });
|
|
1739
1739
|
});
|
|
1740
|
+
container.register("uniqueId", { useValue: uniqueId });
|
|
1740
1741
|
container.register(jobType, jobType);
|
|
1741
1742
|
return container.resolve(jobType);
|
|
1742
1743
|
}
|