@lowcodeunit/applications-flow-common 1.34.63-lets-get-social-ish → 1.34.68-lets-get-social-ish
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/esm2020/lcu.api.mjs +3 -1
- package/esm2020/lib/applications-flow.module.mjs +14 -4
- package/esm2020/lib/controls/dfs-modifiers-form/dfs-modifiers-form.component.mjs +2 -4
- package/esm2020/lib/controls/processor-details-form/processor-details-form.component.mjs +3 -3
- package/esm2020/lib/controls/state-config-form/state-config-form.component.mjs +43 -0
- package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +9 -9
- package/esm2020/lib/dialogs/dfs-modifiers-dialog/dfs-modifiers-dialog.component.mjs +21 -12
- package/esm2020/lib/dialogs/feed-header-dialog/feed-header-dialog.component.mjs +29 -17
- package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +12 -12
- package/esm2020/lib/dialogs/state-config-dialog/state-config-dialog.component.mjs +47 -0
- package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +4 -3
- package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +2 -4
- package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +6 -4
- package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +2 -4
- package/esm2020/lib/services/applications-flow.service.mjs +2 -22
- package/esm2020/lib/services/eac.service.mjs +59 -18
- package/esm2020/lib/services/project.service.mjs +1 -81
- package/fesm2015/lowcodeunit-applications-flow-common.mjs +216 -178
- package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/fesm2020/lowcodeunit-applications-flow-common.mjs +212 -176
- package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/lcu.api.d.ts +2 -0
- package/lib/applications-flow.module.d.ts +12 -10
- package/lib/controls/state-config-form/state-config-form.component.d.ts +18 -0
- package/lib/dialogs/dfs-modifiers-dialog/dfs-modifiers-dialog.component.d.ts +2 -0
- package/lib/dialogs/feed-header-dialog/feed-header-dialog.component.d.ts +4 -1
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +2 -1
- package/lib/dialogs/state-config-dialog/state-config-dialog.component.d.ts +29 -0
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts +1 -1
- package/lib/services/applications-flow.service.d.ts +0 -4
- package/lib/services/eac.service.d.ts +7 -4
- package/lib/services/project.service.d.ts +0 -4
- package/package.json +1 -1
|
@@ -23,33 +23,13 @@ export class ApplicationsFlowService {
|
|
|
23
23
|
headers: this.loadHeaders(),
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
DeleteApplication(appLookup) {
|
|
27
|
-
return this.http.delete(`${this.apiRoot}/api/lowcodeunit/manage/applications/${appLookup}`, {
|
|
28
|
-
headers: this.loadHeaders(),
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
DeleteDevOpsAction(doaLookup) {
|
|
32
|
-
return this.http.delete(`${this.apiRoot}/api/lowcodeunit/manage/devops-actions/${doaLookup}`, {
|
|
33
|
-
headers: this.loadHeaders(),
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
DeleteProject(projectLookup) {
|
|
37
|
-
return this.http.delete(`${this.apiRoot}/api/lowcodeunit/manage/projects/${projectLookup}`, {
|
|
38
|
-
headers: this.loadHeaders(),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
DeleteSourceControl(scLookup) {
|
|
42
|
-
return this.http.delete(`${this.apiRoot}/api/lowcodeunit/manage/source-controls/${scLookup}`, {
|
|
43
|
-
headers: this.loadHeaders(),
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
26
|
EnsureUserEnterprise() {
|
|
47
27
|
return this.http.post(`${this.apiRoot}/api/lowcodeunit/manage/enterprise/ensure`, {}, {
|
|
48
28
|
headers: this.loadHeaders(),
|
|
49
29
|
});
|
|
50
30
|
}
|
|
51
31
|
EnterpriseAsCodeRemovals(removals) {
|
|
52
|
-
return this.http.post(`${this.apiRoot}/api/lowcodeunit/
|
|
32
|
+
return this.http.post(`${this.apiRoot}/api/lowcodeunit/removals/eac`, removals, {
|
|
53
33
|
headers: this.loadHeaders(),
|
|
54
34
|
});
|
|
55
35
|
}
|
|
@@ -157,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
157
137
|
providedIn: 'root',
|
|
158
138
|
}]
|
|
159
139
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.LCUServiceSettings }]; } });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVUzQyxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLGNBQWM7SUFFZCxlQUFlO0lBQ2YsWUFDWSxJQUFnQixFQUNoQixRQUE0QjtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBRXRDLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYztJQUNQLHFCQUFxQixDQUFDLFlBQW9CO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLE9BQU8sMENBQTBDLFlBQVksWUFBWSxFQUNqRixFQUFFLEVBQ0Y7WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUM1QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sZ0JBQWdCLENBQ3JCLFlBQW9CLEVBQ3BCLFFBQWdCO1FBRWhCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLE9BQU8seUNBQXlDLFlBQVksZUFBZSxFQUNuRjtZQUNFLElBQUksRUFBRSxRQUFRO1NBQ2YsRUFDRDtZQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQzVCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxTQUFpQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNyQixHQUFHLElBQUksQ0FBQyxPQUFPLHdDQUF3QyxT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WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUM1QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztJQUNELFdBQVc7UUFDbkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztvSEFsUVUsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMQ1VTZXJ2aWNlU2V0dGluZ3MgfSBmcm9tICdAbGN1L2NvbW1vbic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW50ZXJwcmlzZUFzQ29kZSB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XHJcbmltcG9ydCB7IFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCB9IGZyb20gJy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcclxuaW1wb3J0IHsgRmVlZEVudHJ5IH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItZmVlZC5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25zRmxvd1NlcnZpY2Uge1xyXG4gIC8vICBGaWVsZHNcclxuICBwcm90ZWN0ZWQgYXBpUm9vdDogc3RyaW5nO1xyXG5cclxuICAvLyAgUHJvcGVydGllc1xyXG5cclxuICAvLyBDb25zdHJ1Y3RvcnNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzOiBMQ1VTZXJ2aWNlU2V0dGluZ3NcclxuICApIHtcclxuICAgIHRoaXMuYXBpUm9vdCA9IHNldHRpbmdzLkFQSVJvb3Q7XHJcbiAgfVxyXG5cclxuICAvLyBBUEkgTWV0aG9kc1xyXG4gIHB1YmxpYyBDb25maWd1cmVEZXZPcHNBY3Rpb24oYWN0aW9uTG9va3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZGV2b3BzL2FjdGlvbnMvJHthY3Rpb25Mb29rdXB9L2NvbmZpZ3VyZWAsXHJcbiAgICAgIHt9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENyZWF0ZVJlcG9zaXRvcnkoXHJcbiAgICBvcmdhbml6YXRpb246IHN0cmluZyxcclxuICAgIHJlcG9OYW1lOiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9naXRodWIvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbn0vcmVwb3NpdG9yaWVzYCxcclxuICAgICAge1xyXG4gICAgICAgIE5hbWU6IHJlcG9OYW1lLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIERlbGV0ZUFwcGxpY2F0aW9uKGFwcExvb2t1cDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvYXBwbGljYXRpb25zLyR7YXBwTG9va3VwfWAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgRGVsZXRlRGV2T3BzQWN0aW9uKGRvYUxvb2t1cDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZGV2b3BzLWFjdGlvbnMvJHtkb2FMb29rdXB9YCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBEZWxldGVQcm9qZWN0KHByb2plY3RMb29rdXA6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL3Byb2plY3RzLyR7cHJvamVjdExvb2t1cH1gLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIERlbGV0ZVNvdXJjZUNvbnRyb2woc2NMb29rdXA6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL3NvdXJjZS1jb250cm9scy8ke3NjTG9va3VwfWAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgRW5zdXJlVXNlckVudGVycHJpc2UoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL2VudGVycHJpc2UvZW5zdXJlYCxcclxuICAgICAge30sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgRW50ZXJwcmlzZUFzQ29kZVJlbW92YWxzKHJlbW92YWxzOiBFbnRlcnByaXNlQXNDb2RlKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL2VhY2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0QWN0aXZlRW50ZXJwcmlzZSgpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9lbnRlcnByaXNlcy9hY3RpdmVgLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEhhc1ZhbGlkQ29ubmVjdGlvbigpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9jb25uZWN0aW9uL3ZhbGlkYCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMaXN0UHJvamVjdHMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9wcm9qZWN0c2AsIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdEJyYW5jaGVzKFxyXG4gICAgb3JnYW5pemF0aW9uOiBzdHJpbmcsXHJcbiAgICByZXBvc2l0b3J5OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9ufS9yZXBvc2l0b3JpZXMvJHtyZXBvc2l0b3J5fS9icmFuY2hlc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdEJ1aWxkUGF0aHMoXHJcbiAgICBvcmdhbml6YXRpb246IHN0cmluZyxcclxuICAgIHJlcG9zaXRvcnk6IHN0cmluZyxcclxuICAgIGJyYW5jaDogc3RyaW5nID0gJydcclxuICApOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9ufS9yZXBvc2l0b3JpZXMvJHtyZXBvc2l0b3J5fS9idWlsZC1wYXRocz9icmFuY2g9JHticmFuY2h9YCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMaXN0RW50ZXJwcmlzZXMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZW50ZXJwcmlzZXMvbGlzdGAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdE9yZ2FuaXphdGlvbnMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9naXRodWIvb3JnYW5pemF0aW9uc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdFJlcG9zaXRvcmllcyhvcmdhbml6YXRpb246IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvZ2l0aHViL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb259L3JlcG9zaXRvcmllc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTG9hZEVudGVycHJpc2VBc0NvZGUoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9lYWNgLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIExvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoXHJcbiAgLy8gICBvcmdhbml6YXRpb246IHN0cmluZyxcclxuICAvLyAgIHJlcG9zaXRvcnk6IHN0cmluZyxcclxuICAvLyAgIGJyYW5jaDogc3RyaW5nXHJcbiAgLy8gKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAvLyAgIGJyYW5jaCA9IGVuY29kZVVSSUNvbXBvbmVudChicmFuY2gpO1xyXG5cclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gIC8vICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvcHJvamVjdHMvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbn0vcmVwb3NpdG9yaWVzLyR7cmVwb3NpdG9yeX0vYnJhbmNoZXMvJHticmFuY2h9L2hvc3RpbmcvZGV0YWlsc2AsXHJcbiAgLy8gICAgIHtcclxuICAvLyAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgLy8gICAgIH1cclxuICAvLyAgICk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgTG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9wcm9qZWN0cy9ob3N0aW5nL2RldGFpbHNgLFxyXG5cclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkVXNlckZlZWQoXHJcbiAgICBwYWdlOiBudW1iZXIsXHJcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxyXG4gICAgcHJvamVjdDogc3RyaW5nLFxyXG4gICAgYXBwbGljYXRpb25zOiBzdHJpbmdbXVxyXG4gICk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICB2YXIgYXBwcyA9IEpTT04uc3RyaW5naWZ5KGFwcGxpY2F0aW9ucyB8fCBbXSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvdXNlcmZlZWQ/cGFnZT0ke3BhZ2V9JnBhZ2VTaXplPSR7cGFnZVNpemV9JnByb2plY3Q9JHtwcm9qZWN0fSZhcHBsaWNhdGlvbnM9JHthcHBzfWAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2F2ZUVudGVycHJpc2VBc0NvZGUoZWFjOiBFbnRlcnByaXNlQXNDb2RlKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZWFjYCwgZWFjLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldEFjdGl2ZUVudGVycHJpc2UoYWN0aXZlRW50TG9va3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZW50ZXJwcmlzZXMvYWN0aXZlYCxcclxuICAgICAge1xyXG4gICAgICAgIEFjdGl2ZUVudGVycHJpc2VMb29rdXA6IGFjdGl2ZUVudExvb2t1cCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTdWJtaXRGZWVkRW50cnkoZW50cnk6IEZlZWRFbnRyeSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L3VzZXJmZWVkL2VudHJ5YCxcclxuICAgICAgZW50cnksXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVW5wYWNrTG93Q29kZVVuaXQocmVxOiBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3QpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvcHJvamVjdHMvdW5wYWNrYCxcclxuICAgICAgcmVxLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gIEhlbHBlcnNcclxuICBwcm90ZWN0ZWQgbG9hZEhlYWRlcnMoKTogeyBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9IHtcclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcbn1cclxuIl19
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVUzQyxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLGNBQWM7SUFFZCxlQUFlO0lBQ2YsWUFDWSxJQUFnQixFQUNoQixRQUE0QjtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBRXRDLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYztJQUNQLHFCQUFxQixDQUFDLFlBQW9CO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLE9BQU8sMENBQTBDLFlBQVksWUFBWSxFQUNqRixFQUFFLEVBQ0Y7WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUM1QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sZ0JBQWdCLENBQ3JCLFlBQW9CLEVBQ3BCLFFBQWdCO1FBRWhCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLE9BQU8seUNBQXlDLFlBQVksZUFBZSxFQUNuRjtZQUNFLElBQUksRUFBRSxRQUFRO1NBQ2YsRUFDRDtZQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQzVCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsR0FBRyxJQUFJLENBQUMsT0FBTywyQ0FBMkMsRUFDMUQsRUFBRSxF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QUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLE9BQU8saUNBQWlDLEVBQ2hELEtBQUssRUFDTDtZQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQzVCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxHQUE2QjtRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxPQUFPLHlDQUF5QyxFQUN4RCxHQUFHLEVBQ0g7WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUM1QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztJQUNELFdBQVc7UUFDbkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztvSEFqT1UsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMQ1VTZXJ2aWNlU2V0dGluZ3MgfSBmcm9tICdAbGN1L2NvbW1vbic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW50ZXJwcmlzZUFzQ29kZSB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XHJcbmltcG9ydCB7IFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCB9IGZyb20gJy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcclxuaW1wb3J0IHsgRmVlZEVudHJ5IH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItZmVlZC5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25zRmxvd1NlcnZpY2Uge1xyXG4gIC8vICBGaWVsZHNcclxuICBwcm90ZWN0ZWQgYXBpUm9vdDogc3RyaW5nO1xyXG5cclxuICAvLyAgUHJvcGVydGllc1xyXG5cclxuICAvLyBDb25zdHJ1Y3RvcnNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzOiBMQ1VTZXJ2aWNlU2V0dGluZ3NcclxuICApIHtcclxuICAgIHRoaXMuYXBpUm9vdCA9IHNldHRpbmdzLkFQSVJvb3Q7XHJcbiAgfVxyXG5cclxuICAvLyBBUEkgTWV0aG9kc1xyXG4gIHB1YmxpYyBDb25maWd1cmVEZXZPcHNBY3Rpb24oYWN0aW9uTG9va3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZGV2b3BzL2FjdGlvbnMvJHthY3Rpb25Mb29rdXB9L2NvbmZpZ3VyZWAsXHJcbiAgICAgIHt9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENyZWF0ZVJlcG9zaXRvcnkoXHJcbiAgICBvcmdhbml6YXRpb246IHN0cmluZyxcclxuICAgIHJlcG9OYW1lOiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9naXRodWIvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbn0vcmVwb3NpdG9yaWVzYCxcclxuICAgICAge1xyXG4gICAgICAgIE5hbWU6IHJlcG9OYW1lLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEVuc3VyZVVzZXJFbnRlcnByaXNlKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9lbnRlcnByaXNlL2Vuc3VyZWAsXHJcbiAgICAgIHt9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEVudGVycHJpc2VBc0NvZGVSZW1vdmFscyhcclxuICAgIHJlbW92YWxzOiBFbnRlcnByaXNlQXNDb2RlXHJcbiAgKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvcmVtb3ZhbHMvZWFjYCxcclxuICAgICAgcmVtb3ZhbHMsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0QWN0aXZlRW50ZXJwcmlzZSgpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9lbnRlcnByaXNlcy9hY3RpdmVgLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEhhc1ZhbGlkQ29ubmVjdGlvbigpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9jb25uZWN0aW9uL3ZhbGlkYCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMaXN0UHJvamVjdHMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9wcm9qZWN0c2AsIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdEJyYW5jaGVzKFxyXG4gICAgb3JnYW5pemF0aW9uOiBzdHJpbmcsXHJcbiAgICByZXBvc2l0b3J5OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9ufS9yZXBvc2l0b3JpZXMvJHtyZXBvc2l0b3J5fS9icmFuY2hlc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdEJ1aWxkUGF0aHMoXHJcbiAgICBvcmdhbml6YXRpb246IHN0cmluZyxcclxuICAgIHJlcG9zaXRvcnk6IHN0cmluZyxcclxuICAgIGJyYW5jaDogc3RyaW5nID0gJydcclxuICApOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9ufS9yZXBvc2l0b3JpZXMvJHtyZXBvc2l0b3J5fS9idWlsZC1wYXRocz9icmFuY2g9JHticmFuY2h9YCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMaXN0RW50ZXJwcmlzZXMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZW50ZXJwcmlzZXMvbGlzdGAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdE9yZ2FuaXphdGlvbnMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9naXRodWIvb3JnYW5pemF0aW9uc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdFJlcG9zaXRvcmllcyhvcmdhbml6YXRpb246IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvZ2l0aHViL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb259L3JlcG9zaXRvcmllc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTG9hZEVudGVycHJpc2VBc0NvZGUoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9lYWNgLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIExvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoXHJcbiAgLy8gICBvcmdhbml6YXRpb246IHN0cmluZyxcclxuICAvLyAgIHJlcG9zaXRvcnk6IHN0cmluZyxcclxuICAvLyAgIGJyYW5jaDogc3RyaW5nXHJcbiAgLy8gKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAvLyAgIGJyYW5jaCA9IGVuY29kZVVSSUNvbXBvbmVudChicmFuY2gpO1xyXG5cclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gIC8vICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvcHJvamVjdHMvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbn0vcmVwb3NpdG9yaWVzLyR7cmVwb3NpdG9yeX0vYnJhbmNoZXMvJHticmFuY2h9L2hvc3RpbmcvZGV0YWlsc2AsXHJcbiAgLy8gICAgIHtcclxuICAvLyAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgLy8gICAgIH1cclxuICAvLyAgICk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgTG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9wcm9qZWN0cy9ob3N0aW5nL2RldGFpbHNgLFxyXG5cclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkVXNlckZlZWQoXHJcbiAgICBwYWdlOiBudW1iZXIsXHJcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxyXG4gICAgcHJvamVjdDogc3RyaW5nLFxyXG4gICAgYXBwbGljYXRpb25zOiBzdHJpbmdbXVxyXG4gICk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICB2YXIgYXBwcyA9IEpTT04uc3RyaW5naWZ5KGFwcGxpY2F0aW9ucyB8fCBbXSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvdXNlcmZlZWQ/cGFnZT0ke3BhZ2V9JnBhZ2VTaXplPSR7cGFnZVNpemV9JnByb2plY3Q9JHtwcm9qZWN0fSZhcHBsaWNhdGlvbnM9JHthcHBzfWAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2F2ZUVudGVycHJpc2VBc0NvZGUoZWFjOiBFbnRlcnByaXNlQXNDb2RlKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZWFjYCwgZWFjLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldEFjdGl2ZUVudGVycHJpc2UoYWN0aXZlRW50TG9va3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZW50ZXJwcmlzZXMvYWN0aXZlYCxcclxuICAgICAge1xyXG4gICAgICAgIEFjdGl2ZUVudGVycHJpc2VMb29rdXA6IGFjdGl2ZUVudExvb2t1cCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTdWJtaXRGZWVkRW50cnkoZW50cnk6IEZlZWRFbnRyeSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L3VzZXJmZWVkL2VudHJ5YCxcclxuICAgICAgZW50cnksXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVW5wYWNrTG93Q29kZVVuaXQocmVxOiBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3QpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvcHJvamVjdHMvdW5wYWNrYCxcclxuICAgICAgcmVxLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gIEhlbHBlcnNcclxuICBwcm90ZWN0ZWQgbG9hZEhlYWRlcnMoKTogeyBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9IHtcclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -12,11 +12,6 @@ export class SaveApplicationAsCodeEventRequest {
|
|
|
12
12
|
// }
|
|
13
13
|
export class SaveDFSModifierEventRequest {
|
|
14
14
|
}
|
|
15
|
-
// export class SaveDFSModifierForAllEventRequest {
|
|
16
|
-
// public Modifier: EaCDFSModifier;
|
|
17
|
-
// public ModifierLookup: string;
|
|
18
|
-
// public ProjectLookups?: Array<string>;
|
|
19
|
-
// }
|
|
20
15
|
export class SaveEnvironmentAsCodeEventRequest {
|
|
21
16
|
}
|
|
22
17
|
export class SaveProjectAsCodeEventRequest {
|
|
@@ -41,22 +36,62 @@ export class EaCService {
|
|
|
41
36
|
}
|
|
42
37
|
async DeleteApplication(appLookup, appName) {
|
|
43
38
|
if (confirm(`Are you sure you want to delete application '${appName}'?`)) {
|
|
44
|
-
|
|
39
|
+
const eac = {
|
|
40
|
+
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
41
|
+
Applications: {},
|
|
42
|
+
};
|
|
43
|
+
eac.Applications[appLookup] = {
|
|
44
|
+
Application: {},
|
|
45
|
+
};
|
|
46
|
+
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async DeleteDevOpsAction(doaLookup, doaName) {
|
|
50
|
+
if (confirm(`Are you sure you want to delete Build Pipeline '${doaName}'?`)) {
|
|
51
|
+
const eac = {
|
|
52
|
+
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
53
|
+
Environments: {},
|
|
54
|
+
};
|
|
55
|
+
eac.Environments[this.State.EaC.Enterprise.PrimaryEnvironment] = {
|
|
56
|
+
DevOpsActions: {},
|
|
57
|
+
};
|
|
58
|
+
eac.Environments[this.State.EaC.Enterprise.PrimaryEnvironment].DevOpsActions[doaLookup] = {};
|
|
59
|
+
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
45
60
|
}
|
|
46
61
|
}
|
|
47
|
-
async
|
|
48
|
-
if (confirm(`Are you sure you want to delete
|
|
49
|
-
|
|
62
|
+
async DeleteModifier(modifierLookup, modifierName) {
|
|
63
|
+
if (confirm(`Are you sure you want to delete Modifier '${modifierName}'?`)) {
|
|
64
|
+
const eac = {
|
|
65
|
+
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
66
|
+
Modifiers: {},
|
|
67
|
+
};
|
|
68
|
+
eac.Modifiers[modifierLookup] = {};
|
|
69
|
+
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
50
70
|
}
|
|
51
71
|
}
|
|
52
|
-
async DeleteProject(projectLookup) {
|
|
53
|
-
if (confirm(`Are you sure you want to delete Project '${
|
|
54
|
-
|
|
72
|
+
async DeleteProject(projectLookup, projectName) {
|
|
73
|
+
if (confirm(`Are you sure you want to delete Project '${projectName}'?`)) {
|
|
74
|
+
const eac = {
|
|
75
|
+
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
76
|
+
Projects: {},
|
|
77
|
+
};
|
|
78
|
+
eac.Projects[projectLookup] = {
|
|
79
|
+
Project: {},
|
|
80
|
+
};
|
|
81
|
+
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
55
82
|
}
|
|
56
83
|
}
|
|
57
|
-
async DeleteSourceControl(
|
|
58
|
-
if (confirm(`Are you sure you want to delete Source Control '${
|
|
59
|
-
|
|
84
|
+
async DeleteSourceControl(srcLookup, srcName) {
|
|
85
|
+
if (confirm(`Are you sure you want to delete Source Control '${srcName}'?`)) {
|
|
86
|
+
const eac = {
|
|
87
|
+
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
88
|
+
Environments: {},
|
|
89
|
+
};
|
|
90
|
+
eac.Environments[this.State.EaC.Enterprise.PrimaryEnvironment] = {
|
|
91
|
+
Sources: {},
|
|
92
|
+
};
|
|
93
|
+
eac.Environments[this.State.EaC.Enterprise.PrimaryEnvironment].Sources[srcLookup] = {};
|
|
94
|
+
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
60
95
|
}
|
|
61
96
|
}
|
|
62
97
|
// this.appsFlowEventsSvc.EnsureUserEnterpriseEvent.subscribe(async () => {
|
|
@@ -66,7 +101,7 @@ export class EaCService {
|
|
|
66
101
|
await this.projectService.EnsureUserEnterprise(this.State);
|
|
67
102
|
}
|
|
68
103
|
async EnterpriseAsCodeRemovals(eac) {
|
|
69
|
-
return
|
|
104
|
+
return this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
70
105
|
}
|
|
71
106
|
async GetActiveEnterprise() {
|
|
72
107
|
await this.projectService.GetActiveEnterprise(this.State);
|
|
@@ -138,6 +173,9 @@ export class EaCService {
|
|
|
138
173
|
if (req.Application) {
|
|
139
174
|
saveEaC.Applications[req.ApplicationLookup] = req.Application;
|
|
140
175
|
}
|
|
176
|
+
if (req.DataToken) {
|
|
177
|
+
saveEaC.Applications[req.ApplicationLookup].DataTokens[req.DataTokenLookup] = req.DataToken;
|
|
178
|
+
}
|
|
141
179
|
return await this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
|
|
142
180
|
}
|
|
143
181
|
async handleSaveDFSModifier(req) {
|
|
@@ -145,18 +183,21 @@ export class EaCService {
|
|
|
145
183
|
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
146
184
|
Modifiers: {},
|
|
147
185
|
Projects: {},
|
|
186
|
+
Applications: {},
|
|
148
187
|
};
|
|
149
188
|
if (req.Modifier) {
|
|
150
189
|
saveEaC.Modifiers[req.ModifierLookups[0]] = req.Modifier;
|
|
151
190
|
}
|
|
152
191
|
if (req.ProjectLookups) {
|
|
153
|
-
req.ProjectLookups.forEach(lookup => {
|
|
192
|
+
req.ProjectLookups.forEach((lookup) => {
|
|
154
193
|
saveEaC.Projects[lookup] = {
|
|
155
194
|
ModifierLookups: req.ModifierLookups,
|
|
156
195
|
};
|
|
157
196
|
});
|
|
158
197
|
}
|
|
159
198
|
if (req.ApplicationLookup) {
|
|
199
|
+
console.log("APPLOokup: ", req.ApplicationLookup);
|
|
200
|
+
console.log("saveEAC: ", saveEaC);
|
|
160
201
|
saveEaC.Applications[req.ApplicationLookup] = {
|
|
161
202
|
ModifierLookups: req.ModifierLookups,
|
|
162
203
|
};
|
|
@@ -206,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
206
247
|
providedIn: 'root',
|
|
207
248
|
}]
|
|
208
249
|
}], ctorParameters: function () { return [{ type: i1.ProjectService }, { type: i2.HttpClient }]; } });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9lYWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQWUxQyxNQUFNLE9BQU8saUNBQWlDO0NBTTdDO0FBRUQsMkRBQTJEO0FBQzNELHFDQUFxQztBQUVyQyxtQ0FBbUM7QUFFbkMsdUNBQXVDO0FBQ3ZDLElBQUk7QUFFSixNQUFNLE9BQU8sMkJBQTJCO0NBZ0J2QztBQUVELG1EQUFtRDtBQUNuRCxxQ0FBcUM7QUFFckMsbUNBQW1DO0FBRW5DLDJDQUEyQztBQUMzQyxJQUFJO0FBRUosTUFBTSxPQUFPLGlDQUFpQztDQU03QztBQUVELE1BQU0sT0FBTyw2QkFBNkI7Q0FJekM7QUFLRCxNQUFNLE9BQU8sVUFBVTtJQVlyQixnQkFBZ0I7SUFDaEIsWUFBc0IsY0FBOEIsRUFDeEMsSUFBZ0I7UUFETixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBZkQsY0FBYztJQUNkLElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUM7SUFDN0MsQ0FBQztJQVVELGVBQWU7SUFDUixpQkFBaUIsQ0FBQyxRQUFrQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FB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QUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFM0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7dUdBclFVLFVBQVU7MkdBQVYsVUFBVSxjQUZULE1BQU07MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4vcHJvamVjdC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgVW5wYWNrTG93Q29kZVVuaXRSZXF1ZXN0LFxufSBmcm9tICcuLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5pbXBvcnQge1xuICBFYUNBcHBsaWNhdGlvbkFzQ29kZSxcbiAgRWFDRGF0YVRva2VuLFxuICBFYUNERlNNb2RpZmllcixcbiAgRWFDRW52aXJvbm1lbnRBc0NvZGUsXG4gIEVhQ0hvc3QsXG4gIEVhQ1Byb2plY3RBc0NvZGUsXG4gIEVudGVycHJpc2VBc0NvZGUsXG59IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5pbXBvcnQgeyBGZWVkRW50cnksIEZlZWRJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItZmVlZC5tb2RlbCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQmFzZU1vZGVsZWRSZXNwb25zZSwgU3RhdHVzIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0IHtcbiAgcHVibGljIEFwcGxpY2F0aW9uPzogRWFDQXBwbGljYXRpb25Bc0NvZGU7XG5cbiAgcHVibGljIEFwcGxpY2F0aW9uTG9va3VwPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBQcm9qZWN0TG9va3VwPzogc3RyaW5nO1xufVxuXG4vLyBleHBvcnQgY2xhc3MgU2F2ZURGU01vZGlmaWVyRm9yQXBwbGljYXRpb25FdmVudFJlcXVlc3Qge1xuLy8gICBwdWJsaWMgTW9kaWZpZXI6IEVhQ0RGU01vZGlmaWVyO1xuXG4vLyAgIHB1YmxpYyBNb2RpZmllckxvb2t1cDogc3RyaW5nO1xuXG4vLyAgIHB1YmxpYyBBcHBsaWNhdGlvbkxvb2t1cD86IHN0cmluZztcbi8vIH1cblxuZXhwb3J0IGNsYXNzIFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCB7XG5cbiAgcHVibGljIEFwcGxpY2F0aW9uTG9va3VwPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBNb2RpZmllcj86IEVhQ0RGU01vZGlmaWVyO1xuXG4gIHB1YmxpYyBNb2RpZmllckxvb2t1cHM/OiBBcnJheTxzdHJpbmc+O1xuXG4gIC8vIHB1YmxpYyBNb2RpZmllckxvb2t1cD86IHN0cmluZztcblxuICAvLyBwdWJsaWMgUHJvamVjdExvb2t1cD86IHN0cmluZztcblxuICBwdWJsaWMgUHJvamVjdExvb2t1cHM/OiBBcnJheTxzdHJpbmc+O1xuXG5cbiAgXG59XG5cbi8vIGV4cG9ydCBjbGFzcyBTYXZlREZTTW9kaWZpZXJGb3JBbGxFdmVudFJlcXVlc3Qge1xuLy8gICBwdWJsaWMgTW9kaWZpZXI6IEVhQ0RGU01vZGlmaWVyO1xuXG4vLyAgIHB1YmxpYyBNb2RpZmllckxvb2t1cDogc3RyaW5nO1xuXG4vLyAgIHB1YmxpYyBQcm9qZWN0TG9va3Vwcz86IEFycmF5PHN0cmluZz47XG4vLyB9XG5cbmV4cG9ydCBjbGFzcyBTYXZlRW52aXJvbm1lbnRBc0NvZGVFdmVudFJlcXVlc3Qge1xuICBwdWJsaWMgRW50ZXJwcmlzZURhdGFUb2tlbnM/OiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0RhdGFUb2tlbiB9O1xuXG4gIHB1YmxpYyBFbnZpcm9ubWVudD86IEVhQ0Vudmlyb25tZW50QXNDb2RlO1xuXG4gIHB1YmxpYyBFbnZpcm9ubWVudExvb2t1cD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFNhdmVQcm9qZWN0QXNDb2RlRXZlbnRSZXF1ZXN0IHtcbiAgcHVibGljIFByb2plY3Q/OiBFYUNQcm9qZWN0QXNDb2RlO1xuXG4gIHB1YmxpYyBQcm9qZWN0TG9va3VwPzogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWFDU2VydmljZSB7XG4gIC8vICBQcm9wZXJ0aWVzXG4gIHB1YmxpYyBnZXQgRWRpdGluZ1Byb2plY3RMb29rdXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0U2VydmljZS5FZGl0aW5nUHJvamVjdExvb2t1cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgQ3JlYXRpbmdQcm9qZWN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb2plY3RTZXJ2aWNlLkNyZWF0aW5nUHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBTdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlO1xuXG4gIC8vICBDb25zdHJ1Y3RvcnNcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHByb2plY3RTZXJ2aWNlOiBQcm9qZWN0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xuICAgIHRoaXMuU3RhdGUgPSBuZXcgQXBwbGljYXRpb25zRmxvd1N0YXRlKCk7XG4gIH1cblxuICAvLyAgQVBJIE1ldGhvZHNcbiAgcHVibGljIENoZWNrVXNlckZlZWRJdGVtKGZlZWRJdGVtOiBGZWVkSXRlbSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoZmVlZEl0ZW0uUmVmcmVzaExpbmspO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIERlbGV0ZUFwcGxpY2F0aW9uKFxuICAgIGFwcExvb2t1cDogc3RyaW5nLFxuICAgIGFwcE5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoY29uZmlybShgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBhcHBsaWNhdGlvbiAnJHthcHBOYW1lfSc/YCkpIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRGVsZXRlQXBwbGljYXRpb24odGhpcy5TdGF0ZSwgYXBwTG9va3VwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgRGVsZXRlRGV2T3BzQWN0aW9uKGRvYUxvb2t1cDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKFxuICAgICAgY29uZmlybShgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBEZXZPcHMgYWN0aW9uICcke2RvYUxvb2t1cH0nP2ApXG4gICAgKSB7XG4gICAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkRlbGV0ZURldk9wc0FjdGlvbih0aGlzLlN0YXRlLCBkb2FMb29rdXApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBEZWxldGVQcm9qZWN0KHByb2plY3RMb29rdXA6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChcbiAgICAgIGNvbmZpcm0oYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgUHJvamVjdCAnJHtwcm9qZWN0TG9va3VwfSc/YClcbiAgICApIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRGVsZXRlUHJvamVjdCh0aGlzLlN0YXRlLCBwcm9qZWN0TG9va3VwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgRGVsZXRlU291cmNlQ29udHJvbChzY0xvb2t1cDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKFxuICAgICAgY29uZmlybShgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBTb3VyY2UgQ29udHJvbCAnJHtzY0xvb2t1cH0nP2ApXG4gICAgKSB7XG4gICAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkRlbGV0ZVNvdXJjZUNvbnRyb2wodGhpcy5TdGF0ZSwgc2NMb29rdXApO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRoaXMuYXBwc0Zsb3dFdmVudHNTdmMuRW5zdXJlVXNlckVudGVycHJpc2VFdmVudC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAvLyAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRW5zdXJlVXNlckVudGVycHJpc2UodGhpcy5TdGF0ZSk7XG4gIC8vIH0pO1xuXG4gIHB1YmxpYyBhc3luYyBFbnN1cmVVc2VyRW50ZXJwcmlzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkVuc3VyZVVzZXJFbnRlcnByaXNlKHRoaXMuU3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIEVudGVycHJpc2VBc0NvZGVSZW1vdmFscyhlYWM6IEVudGVycHJpc2VBc0NvZGUpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkVudGVycHJpc2VBc0NvZGVSZW1vdmFscyh0aGlzLlN0YXRlLCBlYWMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIEdldEFjdGl2ZUVudGVycHJpc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5HZXRBY3RpdmVFbnRlcnByaXNlKHRoaXMuU3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIExvYWRVc2VyRmVlZChwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkxvYWRVc2VyRmVlZChwYWdlLCBwYWdlU2l6ZSwgdGhpcy5TdGF0ZSk7XG4gIH1cbiAgXG4gIHB1YmxpYyBHZW5lcmF0ZVJvdXRlZEFwcGxpY2F0aW9ucyhhcHBsaWNhdGlvbnM6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDQXBwbGljYXRpb25Bc0NvZGUgfSk6IHtcbiAgICBbcm91dGU6IHN0cmluZ106IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDQXBwbGljYXRpb25Bc0NvZGUgfTtcbiAgfSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdFNlcnZpY2UuR2VuZXJhdGVSb3V0ZWRBcHBsaWNhdGlvbnMoYXBwbGljYXRpb25zLCB0aGlzLlN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBIYXNWYWxpZENvbm5lY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5IYXNWYWxpZENvbm5lY3Rpb24odGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgTGlzdEVudGVycHJpc2VzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTGlzdEVudGVycHJpc2VzKHRoaXMuU3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIExvYWRFbnRlcnByaXNlQXNDb2RlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTG9hZEVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZUFwcGxpY2F0aW9uQXNDb2RlKFxuICAgIHJlcTogU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZUFwcGxpY2F0aW9uKHJlcSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZURGU01vZGlmaWVyKFxuICAgIHJlcTogU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZURGU01vZGlmaWVyKHJlcSk7XG4gIH1cblxuXG4gIHB1YmxpYyBhc3luYyBTYXZlRW50ZXJwcmlzZUFzQ29kZShlYWM6IEVudGVycHJpc2VBc0NvZGUpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIGVhYyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZUVudmlyb25tZW50QXNDb2RlKFxuICAgIHJlcTogU2F2ZUVudmlyb25tZW50QXNDb2RlRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZUVudmlyb25tZW50KHJlcSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZVByb2plY3RBc0NvZGUoXG4gICAgcmVxOiBTYXZlUHJvamVjdEFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmhhbmRsZVNhdmVQcm9qZWN0KHJlcS5Qcm9qZWN0TG9va3VwLCByZXEuUHJvamVjdCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2V0QWN0aXZlRW50ZXJwcmlzZShlbnRMb29rdXA6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucHJvamVjdFNlcnZpY2UuU2V0QWN0aXZlRW50ZXJwcmlzZSh0aGlzLlN0YXRlLCBlbnRMb29rdXApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNldENyZWF0aW5nUHJvamVjdChjcmVhdGluZ1Byb2plY3Q6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnByb2plY3RTZXJ2aWNlLlNldENyZWF0aW5nUHJvamVjdChjcmVhdGluZ1Byb2plY3QpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNldEVkaXRQcm9qZWN0U2V0dGluZ3MocHJvamVjdExvb2t1cDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TZXRFZGl0UHJvamVjdFNldHRpbmdzKHRoaXMuU3RhdGUsIHByb2plY3RMb29rdXApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFN1Ym1pdEZlZWRFbnRyeShlbnRyeTogRmVlZEVudHJ5KTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TdWJtaXRGZWVkRW50cnkodGhpcy5TdGF0ZSwgZW50cnkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFVucGFja0xvd0NvZGVVbml0KHJlcTogVW5wYWNrTG93Q29kZVVuaXRSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKFxuICAgICAgY29uZmlybShcbiAgICAgICAgYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1bnBhY2sgYXBwbGljYXRpb24gJyR7cmVxLkFwcGxpY2F0aW9uTmFtZX0nIHdpdGggdmVyc2lvbiAnJHtyZXEuVmVyc2lvbn0nP2BcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuVW5wYWNrTG93Q29kZVVuaXQodGhpcy5TdGF0ZSwgcmVxKTtcbiAgICB9XG4gIH1cblxuICAvLyAgSGVscGVyc1xuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZUFwcGxpY2F0aW9uKFxuICAgIHJlcTogU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3Qgc2F2ZUVhQzogRW50ZXJwcmlzZUFzQ29kZSA9IHtcbiAgICAgIEVudGVycHJpc2VMb29rdXA6IHRoaXMuU3RhdGUuRWFDLkVudGVycHJpc2VMb29rdXAsXG4gICAgICBBcHBsaWNhdGlvbnM6IHt9LFxuICAgICAgUHJvamVjdHM6IHt9LFxuICAgIH07XG5cbiAgICBjb25zdCBleGlzdGluZ1Byb2ogPSB7XG4gICAgICAuLi50aGlzLlN0YXRlLkVhQy5Qcm9qZWN0c1tyZXEuUHJvamVjdExvb2t1cF0sXG4gICAgfTtcblxuICAgIGlmIChleGlzdGluZ1Byb2ouQXBwbGljYXRpb25Mb29rdXBzPy5pbmRleE9mKHJlcS5BcHBsaWNhdGlvbkxvb2t1cCkgPCAwKSB7XG4gICAgICBpZiAoIWV4aXN0aW5nUHJvai5BcHBsaWNhdGlvbkxvb2t1cHMpIHtcbiAgICAgICAgZXhpc3RpbmdQcm9qLkFwcGxpY2F0aW9uTG9va3VwcyA9IFtdO1xuICAgICAgfVxuXG4gICAgICBleGlzdGluZ1Byb2ouQXBwbGljYXRpb25Mb29rdXBzLnB1c2gocmVxLkFwcGxpY2F0aW9uTG9va3VwKTtcblxuICAgICAgc2F2ZUVhQy5Qcm9qZWN0c1tyZXEuUHJvamVjdExvb2t1cF0gPSBleGlzdGluZ1Byb2o7XG4gICAgfVxuXG4gICAgaWYgKHJlcS5BcHBsaWNhdGlvbikge1xuICAgICAgc2F2ZUVhQy5BcHBsaWNhdGlvbnNbcmVxLkFwcGxpY2F0aW9uTG9va3VwXSA9IHJlcS5BcHBsaWNhdGlvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBzYXZlRWFDKTtcbiAgfVxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVERlNNb2RpZmllcihcbiAgICByZXE6IFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzYXZlRWFDOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZUxvb2t1cCxcbiAgICAgIE1vZGlmaWVyczoge30sXG4gICAgICBQcm9qZWN0czoge30sXG4gICAgfTtcblxuICAgIGlmIChyZXEuTW9kaWZpZXIpIHtcbiAgICAgIHNhdmVFYUMuTW9kaWZpZXJzW3JlcS5Nb2RpZmllckxvb2t1cHNbMF1dID0gcmVxLk1vZGlmaWVyO1xuICAgIH1cblxuICAgIGlmIChyZXEuUHJvamVjdExvb2t1cHMpIHtcbiAgICAgIHJlcS5Qcm9qZWN0TG9va3Vwcy5mb3JFYWNoKGxvb2t1cCA9PntcbiAgICAgICAgc2F2ZUVhQy5Qcm9qZWN0c1tsb29rdXBdID0ge1xuICAgICAgICAgIE1vZGlmaWVyTG9va3VwczogcmVxLk1vZGlmaWVyTG9va3VwcyxcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgICBcbiAgICB9XG5cbiAgICBpZiAocmVxLkFwcGxpY2F0aW9uTG9va3VwKSB7XG4gICAgICBzYXZlRWFDLkFwcGxpY2F0aW9uc1tyZXEuQXBwbGljYXRpb25Mb29rdXBdID0ge1xuICAgICAgICBNb2RpZmllckxvb2t1cHM6IHJlcS5Nb2RpZmllckxvb2t1cHMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2F2ZUVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSwgc2F2ZUVhQyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZUVudmlyb25tZW50KFxuICAgIHJlcTogU2F2ZUVudmlyb25tZW50QXNDb2RlRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3Qgc2F2ZUVhQzogRW50ZXJwcmlzZUFzQ29kZSA9IHtcbiAgICAgIEVudGVycHJpc2VMb29rdXA6IHRoaXMuU3RhdGU/LkVhQz8uRW50ZXJwcmlzZUxvb2t1cCxcbiAgICAgIERhdGFUb2tlbnM6IHt9LFxuICAgICAgRW52aXJvbm1lbnRzOiB7fSxcbiAgICB9O1xuXG4gICAgaWYgKHJlcS5FbnZpcm9ubWVudCkge1xuICAgICAgc2F2ZUVhQy5FbnZpcm9ubWVudHNbcmVxLkVudmlyb25tZW50TG9va3VwXSA9IHJlcS5FbnZpcm9ubWVudDtcbiAgICB9XG5cbiAgICBpZiAocmVxLkVudGVycHJpc2VEYXRhVG9rZW5zKSB7XG4gICAgICBzYXZlRWFDLkRhdGFUb2tlbnMgPSByZXEuRW50ZXJwcmlzZURhdGFUb2tlbnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2F2ZUVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSwgc2F2ZUVhQyk7XG4gICAgXG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZVByb2plY3QoXG4gICAgcHJvamVjdExvb2t1cDogc3RyaW5nLFxuICAgIHByb2plY3Q6IEVhQ1Byb2plY3RBc0NvZGVcbiAgKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBjb25zdCBwcm9qSG9zdHM6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDSG9zdCB9ID0ge307XG5cbiAgICBwcm9qZWN0Py5Ib3N0cz8uZm9yRWFjaCgoaG9zdDogYW55KSA9PiB7XG4gICAgICBwcm9qSG9zdHNbaG9zdF0gPSB0aGlzLlN0YXRlLkVhQy5Ib3N0c1tob3N0XTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHNhdmVFYUM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgRW50ZXJwcmlzZToge1xuICAgICAgICAuLi50aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlLFxuICAgICAgICBQcmltYXJ5SG9zdDogcHJvamVjdC5Ib3N0c1swXSxcbiAgICAgIH0sXG4gICAgICBIb3N0czogcHJvakhvc3RzLFxuICAgICAgLy8gUHJvdmlkZXJzOiB0aGlzLlN0YXRlLkVhQy5Qcm92aWRlcnMsICAvLyAgVE9ETzogIFJlbW92ZSBhZnRlciBhbGwgcHJvdmlkZXJzIEFEQjJDJ3MgaGF2ZSBiZWVuIHVwZ3JhZGVkXG4gICAgICBQcm9qZWN0czoge30sXG4gICAgfTtcblxuICAgIHNhdmVFYUMuUHJvamVjdHNbcHJvamVjdExvb2t1cF0gPSBwcm9qZWN0O1xuXG4gICAgbGV0IHN0YXR1cyA9IGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2F2ZUVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSwgc2F2ZUVhQyk7XG5cbiAgICB0aGlzLlNldEVkaXRQcm9qZWN0U2V0dGluZ3MocHJvamVjdExvb2t1cCk7XG5cbiAgICByZXR1cm4gc3RhdHVzO1xuICB9XG59XG4iXX0=
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9lYWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQWUxQyxNQUFNLE9BQU8saUNBQWlDO0NBVzdDO0FBRUQsMkRBQTJEO0FBQzNELHFDQUFxQztBQUVyQyxtQ0FBbUM7QUFFbkMsdUNBQXVDO0FBQ3ZDLElBQUk7QUFFSixNQUFNLE9BQU8sMkJBQTJCO0NBUXZDO0FBR0QsTUFBTSxPQUFPLGlDQUFpQztDQU03QztBQUVELE1BQU0sT0FBTyw2QkFBNkI7Q0FJekM7QUFLRCxNQUFNLE9BQU8sVUFBVTtJQVlyQixnQkFBZ0I7SUFDaEIsWUFDWSxjQUE4QixFQUM5QixJQUFnQjtRQURoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUUxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBakJELGNBQWM7SUFDZCxJQUFXLG9CQUFvQjtRQUM3QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO0lBQzdDLENBQUM7SUFZRCxlQUFlO0lBQ1IsaUJBQWlCLENBQUMsUUFBa0I7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsU0FBaUIsRUFDakIsT0FBZTtRQUVmLElBQUksT0FBTyxDQUFDLGdEQUFnRCxPQUFPLElBQUksQ0FBQyxFQUFFO1lBQ3hFLE1BQU0sR0FBRyxHQUFxQjtnQkFDNUIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCO2dCQUNqRCxZQUFZLEVBQUUsRUFBRTthQUNqQixDQUFDO1lBRUYsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRztnQkFDNUIsV0FBVyxFQUFFLEVBQUU7YUFDaEIsQ0FBQztZQUVGLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUN2RCxJQUFJLENBQUMsS0FBSyxFQUNWLEdBQUcsQ0FDSixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLGtCQUFrQixDQUM3QixTQUFpQixFQUNqQixPQUFlO1FBRWYsSUFDRSxPQUFPLENBQUMsbURBQW1ELE9BQU8sSUFBSSxDQUFDLEVBQ3ZFO1lBQ0EsTUFBTSxHQUFHLEdBQXFCO2dCQUM1QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0I7Z0JBQ2pELFlBQVksRUFBRSxFQUFFO2FBQ2pCLENBQUM7WUFFRixHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHO2dCQUMvRCxhQUFhLEVBQUUsRUFBRTthQUNsQixDQUFDO1lBRUYsR0FBRyxDQUFDLFlBQVksQ0FDZCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQzdDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVoQyxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FDdkQsSUFBSSxDQUFDLEtBQUssRUFDVixHQUFHLENBQ0osQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQ3pCLGNBQXNCLEVBQ3RCLFlBQW9CO1FBRXBCLElBQ0UsT0FBTyxDQUFDLDZDQUE2QyxZQUFZLElBQUksQ0FBQyxFQUN0RTtZQUNBLE1BQU0sR0FBRyxHQUFxQjtnQkFDNUIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCO2dCQUNqRCxTQUFTLEVBQUUsRUFBRTthQUNkLENBQUM7WUFFRixHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVuQyxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FDdkQsSUFBSSxDQUFDLEtBQUssRUFDVixHQUFHLENBQ0osQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQ3hCLGFBQXFCLEVBQ3JCLFdBQW1CO1FBRW5CLElBQUksT0FBTyxDQUFDLDRDQUE0QyxXQUFXLElBQUksQ0FBQyxFQUFFO1lBQ3hFLE1BQU0sR0FBRyxHQUFxQjtnQkFDNUIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCO2dCQUNqRCxRQUFRLEVBQUUsRUFBRTthQUNiLENBQUM7WUFFRixHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHO2dCQUM1QixPQUFPLEVBQUUsRUFBRTthQUNaLENBQUM7WUFFRixPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FDdkQsSUFBSSxDQUFDLEtBQUssRUFDVixHQUFHLENBQ0osQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxtQkFBbUIsQ0FDOUIsU0FBaUIsRUFDakIsT0FBZTtRQUVmLElBQ0UsT0FBTyxDQUFDLG1EQUFtRCxPQUFPLElBQUksQ0FBQyxFQUN2RTtZQUNBLE1BQU0sR0FBRyxHQUFxQjtnQkFDNUIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCO2dCQUNqRCxZQUFZLEVBQUUsRUFBRTthQUNqQixDQUFDO1lBRUYsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsR0FBRztnQkFDL0QsT0FBTyxFQUFFLEVBQUU7YUFDWixDQUFDO1lBRUYsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQ3BFLFNBQVMsQ0FDVixHQUFHLEVBQUUsQ0FBQztZQUVQLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUN2RCxJQUFJLENBQUMsS0FBSyxFQUNWLEdBQUcsQ0FDSixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsMkVBQTJFO0lBQzNFLGdFQUFnRTtJQUNoRSxNQUFNO0lBRUMsS0FBSyxDQUFDLG9CQUFvQjtRQUMvQixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxLQUFLLENBQUMsd0JBQXdCLENBQ25DLEdBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxLQUFLLENBQUMsbUJBQW1CO1FBQzlCLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQ3RELE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVNLDBCQUEwQixDQUFDLFlBRWpDO1FBR0MsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDBCQUEwQixDQUNuRCxZQUFZLEVBQ1osSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxvQkFBb0I7UUFDL0IsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sS0FBSyxDQUFDLHFCQUFxQixDQUNoQyxHQUFzQztRQUV0QyxPQUFPLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUMxQixHQUFnQztRQUVoQyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQXFCO1FBQ3JELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLEtBQUssQ0FBQyxxQkFBcUIsQ0FDaEMsR0FBc0M7UUFFdEMsT0FBTyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sS0FBSyxDQUFDLGlCQUFpQixDQUM1QixHQUFrQztRQUVsQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLFNBQWM7UUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsZUFBd0I7UUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLGFBQXFCO1FBQ3ZELE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQWdCO1FBQzNDLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBNkI7UUFDMUQsSUFDRSxPQUFPLENBQ0wsZ0RBQWdELEdBQUcsQ0FBQyxlQUFlLG1CQUFtQixHQUFHLENBQUMsT0FBTyxJQUFJLENBQ3RHLEVBQ0Q7WUFDQSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRCxXQUFXO0lBQ0QsS0FBSyxDQUFDLHFCQUFxQixDQUNuQyxHQUFzQztRQUV0QyxNQUFNLE9BQU8sR0FBcUI7WUFDaEMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCO1lBQ2pELFlBQVksRUFBRSxFQUFFO1lBQ2hCLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHO1lBQ25CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7U0FDOUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRTtnQkFDcEMsWUFBWSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQzthQUN0QztZQUVELFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFFNUQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsWUFBWSxDQUFDO1NBQ3BEO1FBRUQsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztTQUMvRDtRQUVELElBQUksR0FBRyxDQUFDLFNBQVMsRUFBQztZQUNoQixPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztTQUM3RjtRQUVELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVTLEtBQUssQ0FBQyxxQkFBcUIsQ0FDbkMsR0FBZ0M7UUFFaEMsTUFBTSxPQUFPLEdBQXFCO1lBQ2hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQjtZQUNqRCxTQUFTLEVBQUUsRUFBRTtZQUNiLFFBQVEsRUFBRSxFQUFFO1lBQ1osWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQztRQUVGLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNoQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1NBQzFEO1FBRUQsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFO1lBQ3RCLEdBQUcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUc7b0JBQ3pCLGVBQWUsRUFBRSxHQUFHLENBQUMsZUFBZTtpQkFDckMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRTtZQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUNqQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHO2dCQUM1QyxlQUFlLEVBQUUsR0FBRyxDQUFDLGVBQWU7YUFDckMsQ0FBQztTQUNIO1FBRUQsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVTLEtBQUssQ0FBQyxxQkFBcUIsQ0FDbkMsR0FBc0M7UUFFdEMsTUFBTSxPQUFPLEdBQXFCO1lBQ2hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLGdCQUFnQjtZQUNuRCxVQUFVLEVBQUUsRUFBRTtZQUNkLFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7UUFFRixJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUU7WUFDbkIsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1NBQy9EO1FBRUQsSUFBSSxHQUFHLENBQUMsb0JBQW9CLEVBQUU7WUFDNUIsT0FBTyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsb0JBQW9CLENBQUM7U0FDL0M7UUFFRCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFUyxLQUFLLENBQUMsaUJBQWlCLENBQy9CLGFBQXFCLEVBQ3JCLE9BQXlCO1FBRXpCLE1BQU0sU0FBUyxHQUFrQyxFQUFFLENBQUM7UUFFcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNwQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQXFCO1lBQ2hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQjtZQUNqRCxVQUFVLEVBQUU7Z0JBQ1YsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVO2dCQUM1QixXQUFXLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDOUI7WUFDRCxLQUFLLEVBQUUsU0FBUztZQUNoQix5R0FBeUc7WUFDekcsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO1FBRUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUM7UUFFMUMsSUFBSSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUN6RCxJQUFJLENBQUMsS0FBSyxFQUNWLE9BQU8sQ0FDUixDQUFDO1FBRUYsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTNDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O3VHQXhXVSxVQUFVOzJHQUFWLFVBQVUsY0FGVCxNQUFNOzJGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvamVjdFNlcnZpY2UgfSBmcm9tICcuL3Byb2plY3Quc2VydmljZSc7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbnNGbG93U3RhdGUsXG4gIFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCxcbn0gZnJvbSAnLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xuaW1wb3J0IHtcbiAgRWFDQXBwbGljYXRpb25Bc0NvZGUsXG4gIEVhQ0RhdGFUb2tlbixcbiAgRWFDREZTTW9kaWZpZXIsXG4gIEVhQ0Vudmlyb25tZW50QXNDb2RlLFxuICBFYUNIb3N0LFxuICBFYUNQcm9qZWN0QXNDb2RlLFxuICBFbnRlcnByaXNlQXNDb2RlLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgRmVlZEVudHJ5LCBGZWVkSXRlbSB9IGZyb20gJy4uL21vZGVscy91c2VyLWZlZWQubW9kZWwnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdCB7XG4gIHB1YmxpYyBBcHBsaWNhdGlvbj86IEVhQ0FwcGxpY2F0aW9uQXNDb2RlO1xuXG4gIHB1YmxpYyBBcHBsaWNhdGlvbkxvb2t1cD86IHN0cmluZztcblxuICBwdWJsaWMgRGF0YVRva2VuPzogIEVhQ0RhdGFUb2tlbjtcblxuICBwdWJsaWMgRGF0YVRva2VuTG9va3VwPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBQcm9qZWN0TG9va3VwPzogc3RyaW5nO1xuXG59XG5cbi8vIGV4cG9ydCBjbGFzcyBTYXZlREZTTW9kaWZpZXJGb3JBcHBsaWNhdGlvbkV2ZW50UmVxdWVzdCB7XG4vLyAgIHB1YmxpYyBNb2RpZmllcjogRWFDREZTTW9kaWZpZXI7XG5cbi8vICAgcHVibGljIE1vZGlmaWVyTG9va3VwOiBzdHJpbmc7XG5cbi8vICAgcHVibGljIEFwcGxpY2F0aW9uTG9va3VwPzogc3RyaW5nO1xuLy8gfVxuXG5leHBvcnQgY2xhc3MgU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0IHtcbiAgcHVibGljIEFwcGxpY2F0aW9uTG9va3VwPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBNb2RpZmllcj86IEVhQ0RGU01vZGlmaWVyO1xuXG4gIHB1YmxpYyBNb2RpZmllckxvb2t1cHM/OiBBcnJheTxzdHJpbmc+O1xuXG4gIHB1YmxpYyBQcm9qZWN0TG9va3Vwcz86IEFycmF5PHN0cmluZz47XG59XG5cblxuZXhwb3J0IGNsYXNzIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCB7XG4gIHB1YmxpYyBFbnRlcnByaXNlRGF0YVRva2Vucz86IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDRGF0YVRva2VuIH07XG5cbiAgcHVibGljIEVudmlyb25tZW50PzogRWFDRW52aXJvbm1lbnRBc0NvZGU7XG5cbiAgcHVibGljIEVudmlyb25tZW50TG9va3VwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU2F2ZVByb2plY3RBc0NvZGVFdmVudFJlcXVlc3Qge1xuICBwdWJsaWMgUHJvamVjdD86IEVhQ1Byb2plY3RBc0NvZGU7XG5cbiAgcHVibGljIFByb2plY3RMb29rdXA/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFYUNTZXJ2aWNlIHtcbiAgLy8gIFByb3BlcnRpZXNcbiAgcHVibGljIGdldCBFZGl0aW5nUHJvamVjdExvb2t1cCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb2plY3RTZXJ2aWNlLkVkaXRpbmdQcm9qZWN0TG9va3VwO1xuICB9XG5cbiAgcHVibGljIGdldCBDcmVhdGluZ1Byb2plY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdFNlcnZpY2UuQ3JlYXRpbmdQcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIFN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGU7XG5cbiAgLy8gIENvbnN0cnVjdG9yc1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50XG4gICkge1xuICAgIHRoaXMuU3RhdGUgPSBuZXcgQXBwbGljYXRpb25zRmxvd1N0YXRlKCk7XG4gIH1cblxuICAvLyAgQVBJIE1ldGhvZHNcbiAgcHVibGljIENoZWNrVXNlckZlZWRJdGVtKGZlZWRJdGVtOiBGZWVkSXRlbSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoZmVlZEl0ZW0uUmVmcmVzaExpbmspO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIERlbGV0ZUFwcGxpY2F0aW9uKFxuICAgIGFwcExvb2t1cDogc3RyaW5nLFxuICAgIGFwcE5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGlmIChjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFwcGxpY2F0aW9uICcke2FwcE5hbWV9Jz9gKSkge1xuICAgICAgY29uc3QgZWFjOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgICBBcHBsaWNhdGlvbnM6IHt9LFxuICAgICAgfTtcblxuICAgICAgZWFjLkFwcGxpY2F0aW9uc1thcHBMb29rdXBdID0ge1xuICAgICAgICBBcHBsaWNhdGlvbjoge30sXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5FbnRlcnByaXNlQXNDb2RlUmVtb3ZhbHMoXG4gICAgICAgIHRoaXMuU3RhdGUsXG4gICAgICAgIGVhY1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgRGVsZXRlRGV2T3BzQWN0aW9uKFxuICAgIGRvYUxvb2t1cDogc3RyaW5nLFxuICAgIGRvYU5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGlmIChcbiAgICAgIGNvbmZpcm0oYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgQnVpbGQgUGlwZWxpbmUgJyR7ZG9hTmFtZX0nP2ApXG4gICAgKSB7XG4gICAgICBjb25zdCBlYWM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICAgIEVudGVycHJpc2VMb29rdXA6IHRoaXMuU3RhdGUuRWFDLkVudGVycHJpc2VMb29rdXAsXG4gICAgICAgIEVudmlyb25tZW50czoge30sXG4gICAgICB9O1xuXG4gICAgICBlYWMuRW52aXJvbm1lbnRzW3RoaXMuU3RhdGUuRWFDLkVudGVycHJpc2UuUHJpbWFyeUVudmlyb25tZW50XSA9IHtcbiAgICAgICAgRGV2T3BzQWN0aW9uczoge30sXG4gICAgICB9O1xuXG4gICAgICBlYWMuRW52aXJvbm1lbnRzW1xuICAgICAgICB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlLlByaW1hcnlFbnZpcm9ubWVudFxuICAgICAgXS5EZXZPcHNBY3Rpb25zW2RvYUxvb2t1cF0gPSB7fTtcblxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRW50ZXJwcmlzZUFzQ29kZVJlbW92YWxzKFxuICAgICAgICB0aGlzLlN0YXRlLFxuICAgICAgICBlYWNcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIERlbGV0ZU1vZGlmaWVyKFxuICAgIG1vZGlmaWVyTG9va3VwOiBzdHJpbmcsXG4gICAgbW9kaWZpZXJOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBpZiAoXG4gICAgICBjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIE1vZGlmaWVyICcke21vZGlmaWVyTmFtZX0nP2ApXG4gICAgKSB7XG4gICAgICBjb25zdCBlYWM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICAgIEVudGVycHJpc2VMb29rdXA6IHRoaXMuU3RhdGUuRWFDLkVudGVycHJpc2VMb29rdXAsXG4gICAgICAgIE1vZGlmaWVyczoge30sXG4gICAgICB9O1xuXG4gICAgICBlYWMuTW9kaWZpZXJzW21vZGlmaWVyTG9va3VwXSA9IHt9O1xuXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5FbnRlcnByaXNlQXNDb2RlUmVtb3ZhbHMoXG4gICAgICAgIHRoaXMuU3RhdGUsXG4gICAgICAgIGVhY1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgRGVsZXRlUHJvamVjdChcbiAgICBwcm9qZWN0TG9va3VwOiBzdHJpbmcsXG4gICAgcHJvamVjdE5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGlmIChjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIFByb2plY3QgJyR7cHJvamVjdE5hbWV9Jz9gKSkge1xuICAgICAgY29uc3QgZWFjOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgICBQcm9qZWN0czoge30sXG4gICAgICB9O1xuXG4gICAgICBlYWMuUHJvamVjdHNbcHJvamVjdExvb2t1cF0gPSB7XG4gICAgICAgIFByb2plY3Q6IHt9LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRW50ZXJwcmlzZUFzQ29kZVJlbW92YWxzKFxuICAgICAgICB0aGlzLlN0YXRlLFxuICAgICAgICBlYWNcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIERlbGV0ZVNvdXJjZUNvbnRyb2woXG4gICAgc3JjTG9va3VwOiBzdHJpbmcsXG4gICAgc3JjTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgaWYgKFxuICAgICAgY29uZmlybShgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBTb3VyY2UgQ29udHJvbCAnJHtzcmNOYW1lfSc/YClcbiAgICApIHtcbiAgICAgIGNvbnN0IGVhYzogRW50ZXJwcmlzZUFzQ29kZSA9IHtcbiAgICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZUxvb2t1cCxcbiAgICAgICAgRW52aXJvbm1lbnRzOiB7fSxcbiAgICAgIH07XG5cbiAgICAgIGVhYy5FbnZpcm9ubWVudHNbdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZS5QcmltYXJ5RW52aXJvbm1lbnRdID0ge1xuICAgICAgICBTb3VyY2VzOiB7fSxcbiAgICAgIH07XG5cbiAgICAgIGVhYy5FbnZpcm9ubWVudHNbdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZS5QcmltYXJ5RW52aXJvbm1lbnRdLlNvdXJjZXNbXG4gICAgICAgIHNyY0xvb2t1cFxuICAgICAgXSA9IHt9O1xuXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5FbnRlcnByaXNlQXNDb2RlUmVtb3ZhbHMoXG4gICAgICAgIHRoaXMuU3RhdGUsXG4gICAgICAgIGVhY1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLkVuc3VyZVVzZXJFbnRlcnByaXNlRXZlbnQuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgLy8gICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkVuc3VyZVVzZXJFbnRlcnByaXNlKHRoaXMuU3RhdGUpO1xuICAvLyB9KTtcblxuICBwdWJsaWMgYXN5bmMgRW5zdXJlVXNlckVudGVycHJpc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5FbnN1cmVVc2VyRW50ZXJwcmlzZSh0aGlzLlN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBFbnRlcnByaXNlQXNDb2RlUmVtb3ZhbHMoXG4gICAgZWFjOiBFbnRlcnByaXNlQXNDb2RlXG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdFNlcnZpY2UuRW50ZXJwcmlzZUFzQ29kZVJlbW92YWxzKHRoaXMuU3RhdGUsIGVhYyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgR2V0QWN0aXZlRW50ZXJwcmlzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkdldEFjdGl2ZUVudGVycHJpc2UodGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgTG9hZFVzZXJGZWVkKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTG9hZFVzZXJGZWVkKHBhZ2UsIHBhZ2VTaXplLCB0aGlzLlN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBHZW5lcmF0ZVJvdXRlZEFwcGxpY2F0aW9ucyhhcHBsaWNhdGlvbnM6IHtcbiAgICBbbG9va3VwOiBzdHJpbmddOiBFYUNBcHBsaWNhdGlvbkFzQ29kZTtcbiAgfSk6IHtcbiAgICBbcm91dGU6IHN0cmluZ106IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDQXBwbGljYXRpb25Bc0NvZGUgfTtcbiAgfSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdFNlcnZpY2UuR2VuZXJhdGVSb3V0ZWRBcHBsaWNhdGlvbnMoXG4gICAgICBhcHBsaWNhdGlvbnMsXG4gICAgICB0aGlzLlN0YXRlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBIYXNWYWxpZENvbm5lY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5IYXNWYWxpZENvbm5lY3Rpb24odGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgTGlzdEVudGVycHJpc2VzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTGlzdEVudGVycHJpc2VzKHRoaXMuU3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIExvYWRFbnRlcnByaXNlQXNDb2RlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTG9hZEVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZUFwcGxpY2F0aW9uQXNDb2RlKFxuICAgIHJlcTogU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZUFwcGxpY2F0aW9uKHJlcSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZURGU01vZGlmaWVyKFxuICAgIHJlcTogU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZURGU01vZGlmaWVyKHJlcSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZUVudGVycHJpc2VBc0NvZGUoZWFjOiBFbnRlcnByaXNlQXNDb2RlKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBlYWMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVFbnZpcm9ubWVudEFzQ29kZShcbiAgICByZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZVNhdmVFbnZpcm9ubWVudChyZXEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVQcm9qZWN0QXNDb2RlKFxuICAgIHJlcTogU2F2ZVByb2plY3RBc0NvZGVFdmVudFJlcXVlc3RcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5oYW5kbGVTYXZlUHJvamVjdChyZXEuUHJvamVjdExvb2t1cCwgcmVxLlByb2plY3QpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNldEFjdGl2ZUVudGVycHJpc2UoZW50TG9va3VwOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnByb2plY3RTZXJ2aWNlLlNldEFjdGl2ZUVudGVycHJpc2UodGhpcy5TdGF0ZSwgZW50TG9va3VwKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTZXRDcmVhdGluZ1Byb2plY3QoY3JlYXRpbmdQcm9qZWN0OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5TZXRDcmVhdGluZ1Byb2plY3QoY3JlYXRpbmdQcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTZXRFZGl0UHJvamVjdFNldHRpbmdzKHByb2plY3RMb29rdXA6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2V0RWRpdFByb2plY3RTZXR0aW5ncyh0aGlzLlN0YXRlLCBwcm9qZWN0TG9va3VwKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTdWJtaXRGZWVkRW50cnkoZW50cnk6IEZlZWRFbnRyeSk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU3VibWl0RmVlZEVudHJ5KHRoaXMuU3RhdGUsIGVudHJ5KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBVbnBhY2tMb3dDb2RlVW5pdChyZXE6IFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChcbiAgICAgIGNvbmZpcm0oXG4gICAgICAgIGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5wYWNrIGFwcGxpY2F0aW9uICcke3JlcS5BcHBsaWNhdGlvbk5hbWV9JyB3aXRoIHZlcnNpb24gJyR7cmVxLlZlcnNpb259Jz9gXG4gICAgICApXG4gICAgKSB7XG4gICAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlVucGFja0xvd0NvZGVVbml0KHRoaXMuU3RhdGUsIHJlcSk7XG4gICAgfVxuICB9XG5cbiAgLy8gIEhlbHBlcnNcbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVBcHBsaWNhdGlvbihcbiAgICByZXE6IFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGNvbnN0IHNhdmVFYUM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgQXBwbGljYXRpb25zOiB7fSxcbiAgICAgIFByb2plY3RzOiB7fSxcbiAgICB9O1xuXG4gICAgY29uc3QgZXhpc3RpbmdQcm9qID0ge1xuICAgICAgLi4udGhpcy5TdGF0ZS5FYUMuUHJvamVjdHNbcmVxLlByb2plY3RMb29rdXBdLFxuICAgIH07XG5cbiAgICBpZiAoZXhpc3RpbmdQcm9qLkFwcGxpY2F0aW9uTG9va3Vwcz8uaW5kZXhPZihyZXEuQXBwbGljYXRpb25Mb29rdXApIDwgMCkge1xuICAgICAgaWYgKCFleGlzdGluZ1Byb2ouQXBwbGljYXRpb25Mb29rdXBzKSB7XG4gICAgICAgIGV4aXN0aW5nUHJvai5BcHBsaWNhdGlvbkxvb2t1cHMgPSBbXTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdQcm9qLkFwcGxpY2F0aW9uTG9va3Vwcy5wdXNoKHJlcS5BcHBsaWNhdGlvbkxvb2t1cCk7XG5cbiAgICAgIHNhdmVFYUMuUHJvamVjdHNbcmVxLlByb2plY3RMb29rdXBdID0gZXhpc3RpbmdQcm9qO1xuICAgIH1cblxuICAgIGlmIChyZXEuQXBwbGljYXRpb24pIHtcbiAgICAgIHNhdmVFYUMuQXBwbGljYXRpb25zW3JlcS5BcHBsaWNhdGlvbkxvb2t1cF0gPSByZXEuQXBwbGljYXRpb247XG4gICAgfVxuXG4gICAgaWYgKHJlcS5EYXRhVG9rZW4pe1xuICAgICAgc2F2ZUVhQy5BcHBsaWNhdGlvbnNbcmVxLkFwcGxpY2F0aW9uTG9va3VwXS5EYXRhVG9rZW5zW3JlcS5EYXRhVG9rZW5Mb29rdXBdID0gcmVxLkRhdGFUb2tlbjtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBzYXZlRWFDKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTYXZlREZTTW9kaWZpZXIoXG4gICAgcmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3RcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2F2ZUVhQzogRW50ZXJwcmlzZUFzQ29kZSA9IHtcbiAgICAgIEVudGVycHJpc2VMb29rdXA6IHRoaXMuU3RhdGUuRWFDLkVudGVycHJpc2VMb29rdXAsXG4gICAgICBNb2RpZmllcnM6IHt9LFxuICAgICAgUHJvamVjdHM6IHt9LFxuICAgICAgQXBwbGljYXRpb25zOiB7fSxcbiAgICB9O1xuXG4gICAgaWYgKHJlcS5Nb2RpZmllcikge1xuICAgICAgc2F2ZUVhQy5Nb2RpZmllcnNbcmVxLk1vZGlmaWVyTG9va3Vwc1swXV0gPSByZXEuTW9kaWZpZXI7XG4gICAgfVxuXG4gICAgaWYgKHJlcS5Qcm9qZWN0TG9va3Vwcykge1xuICAgICAgcmVxLlByb2plY3RMb29rdXBzLmZvckVhY2goKGxvb2t1cCkgPT4ge1xuICAgICAgICBzYXZlRWFDLlByb2plY3RzW2xvb2t1cF0gPSB7XG4gICAgICAgICAgTW9kaWZpZXJMb29rdXBzOiByZXEuTW9kaWZpZXJMb29rdXBzLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHJlcS5BcHBsaWNhdGlvbkxvb2t1cCkge1xuICAgICAgY29uc29sZS5sb2coXCJBUFBMT29rdXA6IFwiLCByZXEuQXBwbGljYXRpb25Mb29rdXApO1xuICAgICAgY29uc29sZS5sb2coXCJzYXZlRUFDOiBcIiwgc2F2ZUVhQylcbiAgICAgIHNhdmVFYUMuQXBwbGljYXRpb25zW3JlcS5BcHBsaWNhdGlvbkxvb2t1cF0gPSB7XG4gICAgICAgIE1vZGlmaWVyTG9va3VwczogcmVxLk1vZGlmaWVyTG9va3VwcyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBzYXZlRWFDKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTYXZlRW52aXJvbm1lbnQoXG4gICAgcmVxOiBTYXZlRW52aXJvbm1lbnRBc0NvZGVFdmVudFJlcXVlc3RcbiAgKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBjb25zdCBzYXZlRWFDOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZT8uRWFDPy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgRGF0YVRva2Vuczoge30sXG4gICAgICBFbnZpcm9ubWVudHM6IHt9LFxuICAgIH07XG5cbiAgICBpZiAocmVxLkVudmlyb25tZW50KSB7XG4gICAgICBzYXZlRWFDLkVudmlyb25tZW50c1tyZXEuRW52aXJvbm1lbnRMb29rdXBdID0gcmVxLkVudmlyb25tZW50O1xuICAgIH1cblxuICAgIGlmIChyZXEuRW50ZXJwcmlzZURhdGFUb2tlbnMpIHtcbiAgICAgIHNhdmVFYUMuRGF0YVRva2VucyA9IHJlcS5FbnRlcnByaXNlRGF0YVRva2VucztcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBzYXZlRWFDKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTYXZlUHJvamVjdChcbiAgICBwcm9qZWN0TG9va3VwOiBzdHJpbmcsXG4gICAgcHJvamVjdDogRWFDUHJvamVjdEFzQ29kZVxuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGNvbnN0IHByb2pIb3N0czogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNIb3N0IH0gPSB7fTtcblxuICAgIHByb2plY3Q/Lkhvc3RzPy5mb3JFYWNoKChob3N0OiBhbnkpID0+IHtcbiAgICAgIHByb2pIb3N0c1tob3N0XSA9IHRoaXMuU3RhdGUuRWFDLkhvc3RzW2hvc3RdO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgc2F2ZUVhQzogRW50ZXJwcmlzZUFzQ29kZSA9IHtcbiAgICAgIEVudGVycHJpc2VMb29rdXA6IHRoaXMuU3RhdGUuRWFDLkVudGVycHJpc2VMb29rdXAsXG4gICAgICBFbnRlcnByaXNlOiB7XG4gICAgICAgIC4uLnRoaXMuU3RhdGUuRWFDLkVudGVycHJpc2UsXG4gICAgICAgIFByaW1hcnlIb3N0OiBwcm9qZWN0Lkhvc3RzWzBdLFxuICAgICAgfSxcbiAgICAgIEhvc3RzOiBwcm9qSG9zdHMsXG4gICAgICAvLyBQcm92aWRlcnM6IHRoaXMuU3RhdGUuRWFDLlByb3ZpZGVycywgIC8vICBUT0RPOiAgUmVtb3ZlIGFmdGVyIGFsbCBwcm92aWRlcnMgQURCMkMncyBoYXZlIGJlZW4gdXBncmFkZWRcbiAgICAgIFByb2plY3RzOiB7fSxcbiAgICB9O1xuXG4gICAgc2F2ZUVhQy5Qcm9qZWN0c1twcm9qZWN0TG9va3VwXSA9IHByb2plY3Q7XG5cbiAgICBsZXQgc3RhdHVzID0gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZShcbiAgICAgIHRoaXMuU3RhdGUsXG4gICAgICBzYXZlRWFDXG4gICAgKTtcblxuICAgIHRoaXMuU2V0RWRpdFByb2plY3RTZXR0aW5ncyhwcm9qZWN0TG9va3VwKTtcblxuICAgIHJldHVybiBzdGF0dXM7XG4gIH1cbn1cbiJdfQ==
|