@lowcodeunit/applications-flow-common 1.33.286-lets-get-social-ish → 1.33.289-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/lib/controls/build-pipeline-form/build-pipeline-form.component.mjs +2 -2
- package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +2 -2
- package/esm2020/lib/controls/processor-details-form/processor-details-form.component.mjs +4 -3
- package/esm2020/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.mjs +2 -2
- package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +2 -2
- package/esm2020/lib/services/applications-flow.service.mjs +15 -8
- package/fesm2015/lowcodeunit-applications-flow-common.mjs +23 -16
- package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/fesm2020/lowcodeunit-applications-flow-common.mjs +21 -13
- package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/lib/services/applications-flow.service.d.ts +1 -2
- package/package.json +1 -1
|
@@ -214,7 +214,7 @@ export class BuildPipelineFormComponent {
|
|
|
214
214
|
}
|
|
215
215
|
loadProjectHostingDetails() {
|
|
216
216
|
this.HostingDetails.Loading = true;
|
|
217
|
-
this.appsFlowSvc.
|
|
217
|
+
this.appsFlowSvc.LoadProjectHostingDetails().subscribe((response) => {
|
|
218
218
|
this.HostingDetails = response.Model;
|
|
219
219
|
// console.log("response: ", response);
|
|
220
220
|
this.HostingDetails.Loading = false;
|
|
@@ -253,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
253
253
|
type: Output,
|
|
254
254
|
args: ['response-event']
|
|
255
255
|
}] } });
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcGlwZWxpbmUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9jb250cm9scy9idWlsZC1waXBlbGluZS1mb3JtL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvYnVpbGQtcGlwZWxpbmUtZm9ybS9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUlMLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBdUIsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBWXhELE9BQU8sRUFFTCxxQkFBcUIsR0FFdEIsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQU83QyxNQUFNLE9BQU8sMEJBQTBCO0lBZ0dyQyxZQUNZLE1BQWtCLEVBQ2xCLFdBQXdCLEVBQ3hCLFdBQW9DO1FBRnBDLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBRTlDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxZQUFZLENBQUM7SUFDeEMsQ0FBQztJQWhGRCxJQUFXLFFBQVE7UUFDakIsK0VBQStFO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWM7WUFDdkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFO1lBQ3hELENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDVCxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZTtZQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFVCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBVyx3QkFBd0I7UUFDakMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsa0JBQWtCO1lBQzlELENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFO1lBQy9ELENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDVCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLDJCQUEyQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsSUFBVyxxQkFBcUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQzlDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyx1Q0FBdUM7UUFHaEQsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM5RCxNQUFNLEdBQUcsR0FBRztnQkFDVixHQUFHLElBQUk7YUFDUixDQUFDO1lBRUYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFFekUsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBY00sUUFBUTtRQUNiLHNEQUFzRDtRQUV0RCw0REFBNEQ7UUFFNUQsNkNBQTZDO1FBQzdDLGlFQUFpRTtRQUNqRSxJQUFJO1FBRUosMENBQTBDO1FBQzFDLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDbkQsOERBQThEO1NBQy9ELENBQUMsQ0FBQztRQUNILEtBQUs7UUFFTCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQywrQkFBK0I7SUFDakMsQ0FBQztJQUVELGFBQWE7SUFFTixvQkFBb0I7UUFDekIscURBQXFEO1FBQ3JELDhFQUE4RTtRQUM5RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUM7UUFFMUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixpRkFBaUY7UUFDakYsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE1BQU0sVUFBVSxHQUFzQztZQUNwRCxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxJQUFJLENBQUMsV0FBVztnQkFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxJQUFJLEVBQUU7Z0JBQzNDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsSUFBSSxFQUFFO2dCQUNuRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksRUFBRTtnQkFDdkMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLEVBQUU7YUFDeEM7WUFDRCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ3pDLG9CQUFvQixFQUFFLEVBQUU7U0FDekIsQ0FBQztRQUVGLElBQUksY0FBc0IsQ0FBQztRQUUzQixJQUFJLFFBQVEsR0FBZ0I7WUFDMUIsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNoQixHQUFHLElBQUksQ0FBQyx1Q0FBdUM7U0FDaEQsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFbEMsUUFBUSxHQUFHO2dCQUNULEdBQUcsUUFBUTtnQkFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVk7Z0JBQzdDLElBQUksRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSTtnQkFDckMsV0FBVyxFQUFFLDZCQUE2QjthQUMzQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3RDO1FBRUQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTVELElBQUksa0JBQTBCLENBQUM7UUFFL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM1QixrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFdEMsTUFBTSxHQUFHLEdBQW9CO2dCQUMzQixHQUFHLElBQUksQ0FBQyxZQUFZO2dCQUNwQixlQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSztnQkFDNUMsSUFBSSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJO2dCQUNyQyxTQUFTLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVM7YUFDaEQsQ0FBQztZQUVGLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRTtnQkFDbkMsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7Z0JBRXhDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFFbkMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUc7b0JBQzdDLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLGVBQWUsRUFBRSxZQUFZO29CQUM3QixPQUFPLEVBQUUsV0FBVztpQkFDckIsQ0FBQztnQkFFRixVQUFVLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEdBQUc7b0JBQzlDLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJO29CQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSTtvQkFDOUQsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLO2lCQUN0QyxDQUFDO2FBQ0g7WUFFRCxVQUFVLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUNoRTthQUFNO1lBQ0wsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBRTdDLE1BQU0sR0FBRyxHQUFvQjtnQkFDM0IsR0FBRyxJQUFJLENBQUMsWUFBWTtnQkFDcEIsSUFBSSxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxLQUFLO2FBQzdDLENBQUM7WUFFRixVQUFVLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUNoRTtRQUdELElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELFdBQVc7SUFDRCxvQkFBb0I7UUFDNUIsdUJBQXVCO1FBQ3ZCLG9FQUFvRTtRQUNwRSw2REFBNkQ7UUFDN0Qsa0JBQWtCO1FBRWxCLHdEQUF3RDtRQUV4RCxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUU7WUFDM0QsNEJBQTRCO1lBQzVCLHlCQUF5QjtZQUN6QixJQUFJLFFBQVEsS0FBSyxlQUFlLElBQUksUUFBUSxLQUFLLGNBQWMsRUFBRTtnQkFDL0QsOENBQThDO2dCQUM5QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3JEO1NBQ0Y7UUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUNwQyxlQUFlLEVBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQ3RCLElBQUksQ0FBQyxhQUFhLElBQUksRUFBRSxFQUN4QixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FDQSxDQUFDO1FBRUosSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FDcEMsa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFDakUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQ0YsQ0FBQztRQUVGLGdGQUFnRjtRQUVoRixJQUFJLENBQUMscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFL0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FDcEMsS0FBSyxDQUFDLE1BQU0sRUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxFQUFFLEVBQ3ZELFVBQVUsQ0FDWCxDQUNGLENBQUM7WUFFRix1QkFBdUI7WUFDdkIscURBQXFEO1lBQ3JELElBQUk7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFLEtBQUssS0FBSyxhQUFhLEVBQUU7WUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7Z0JBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUE7Z0JBQzNCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQ3BDLFVBQVUsRUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDdEIsRUFBRSxFQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQzNDLENBQ0YsQ0FBQztnQkFFRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUN6RDthQUNGO1NBQ0Y7YUFBTSxJQUNMLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLEtBQUssMEJBQTBCLEVBQ25FO1lBQ0EsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtnQkFDbkQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN2RDtTQUNGO0lBQ0gsQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLFNBQVMsQ0FDdkQsQ0FBQyxRQUFvRCxFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ3JDLHVDQUF1QztZQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFFcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUMxRCxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0MsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxFQUFFLE1BQU0sQ0FBQztZQUV4Qyw0REFBNEQ7WUFFNUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdEMsQ0FBQyxDQUNGLENBQUM7UUFDRix5REFBeUQ7SUFDM0QsQ0FBQzs7dUhBdFVVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHFZQzlCdkMsdTBLQStKQTsyRkRqSWEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QjtpS0FXNUIsa0JBQWtCO3NCQUR4QixLQUFLO3VCQUFDLHNCQUFzQjtnQkFJdEIsUUFBUTtzQkFEZCxLQUFLO3VCQUFDLFVBQVU7Z0JBSVYsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxhQUFhO2dCQUliLGlCQUFpQjtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSXBCLGNBQWM7c0JBRHBCLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlqQixhQUFhO3NCQURuQixNQUFNO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZU1vZGVsZWRSZXNwb25zZSwgR3VpZCB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7XG4gIEVhQ0FydGlmYWN0LFxuICBFYUNEZXZPcHNBY3Rpb24sXG4gIEVhQ0Vudmlyb25tZW50QXNDb2RlLFxuICBFYUNTb3VyY2VDb250cm9sLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEVhQ1NlcnZpY2UsXG4gIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICBQcm9qZWN0SG9zdGluZ0RldGFpbHMsXG4gIFByb2plY3RIb3N0aW5nT3B0aW9uLFxufSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1idWlsZC1waXBlbGluZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1aWxkUGlwZWxpbmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy9QUk9QRVJUSUVTXG5cbiAgLy8gQElucHV0KCdidWlsZC1waXBlbGluZScpXG4gIHB1YmxpYyBCdWlsZFBpcGVsaW5lOiBzdHJpbmc7XG5cbiAgQElucHV0KCdkZXZvcHMtYWN0aW9uLWxvb2t1cCcpXG4gIHB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXA6IHN0cmluZztcblxuICBASW5wdXQoJ2Rpc2FibGVkJylcbiAgcHVibGljIERpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgnZW52aXJvbm1lbnQnKVxuICBwdWJsaWMgRW52aXJvbm1lbnQ6IEVhQ0Vudmlyb25tZW50QXNDb2RlO1xuXG4gIEBJbnB1dCgnZW52aXJvbm1lbnQtbG9va3VwJylcbiAgcHVibGljIEVudmlyb25tZW50TG9va3VwOiBzdHJpbmc7XG5cbiAgQElucHV0KCdob3N0aW5nLWRldGFpbHMnKVxuICBwdWJsaWMgSG9zdGluZ0RldGFpbHM6IFByb2plY3RIb3N0aW5nRGV0YWlscztcblxuICBAT3V0cHV0KCdyZXNwb25zZS1ldmVudCcpXG4gIHB1YmxpYyBSZXNwb25zZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICBwdWJsaWMgZ2V0IEFydGlmYWN0KCk6IEVhQ0FydGlmYWN0IHtcbiAgICAvLyBjb25zb2xlLmxvZyhcIkFSVElGQUNUOiBcIiwgdGhpcy5FbnZpcm9ubWVudD8uQXJ0aWZhY3RzW3RoaXMuQXJ0aWZhY3RMb29rdXBdKTtcbiAgICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudD8uQXJ0aWZhY3RzICYmIHRoaXMuQXJ0aWZhY3RMb29rdXBcbiAgICAgID8gdGhpcy5FbnZpcm9ubWVudD8uQXJ0aWZhY3RzW3RoaXMuQXJ0aWZhY3RMb29rdXBdIHx8IHt9XG4gICAgICA6IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBBcnRpZmFjdExvb2t1cCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFydExvb2t1cCA9IHRoaXMuRGV2T3BzQWN0aW9uPy5BcnRpZmFjdExvb2t1cHNcbiAgICAgID8gdGhpcy5EZXZPcHNBY3Rpb24/LkFydGlmYWN0TG9va3Vwc1swXVxuICAgICAgOiBudWxsO1xuXG4gICAgcmV0dXJuIGFydExvb2t1cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgQnVpbGRQaXBlbGluZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cD8uZ2V0KCdidWlsZFBpcGVsaW5lJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IERldk9wc0FjdGlvbigpOiBFYUNEZXZPcHNBY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50LkRldk9wc0FjdGlvbnMgJiYgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBcbiAgICAgID8gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW3RoaXMuRGV2T3BzQWN0aW9uTG9va3VwXSB8fCB7fVxuICAgICAgOiB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9ucygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0Rldk9wc0FjdGlvbiB9IHtcbiAgICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zIHx8IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBEZXZPcHNBY3Rpb25OYW1lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmdldCgnZGV2T3BzQWN0aW9uTmFtZScpO1xuICB9XG5cbiAgcHVibGljIGdldCBOUE1Ub2tlbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5nZXQoJ25wbVRva2VuJyk7XG4gIH1cblxuICAvLyAoaG8pID0+IGhvLkxvb2t1cCA9PT0gdGhpcy5CdWlsZFBpcGVsaW5lXG4gIHB1YmxpYyBnZXQgU2VsZWN0ZWRIb3N0aW5nT3B0aW9uKCk6IFByb2plY3RIb3N0aW5nT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5Ib3N0aW5nRGV0YWlscz8uSG9zdGluZ09wdGlvbnM/LmZpbmQoXG4gICAgICAoaG8pID0+IGhvLkxvb2t1cCA9PT0gdGhpcy5CdWlsZFBpcGVsaW5lXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2VsZWN0ZWRIb3N0aW5nT3B0aW9uSW5wdXRDb250cm9sVmFsdWVzKCk6IHtcbiAgICBbbG9va3VwOiBzdHJpbmddOiBhbnk7XG4gIH0ge1xuICAgIHJldHVybiB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbj8uSW5wdXRzPy5yZWR1Y2UoKHByZXYsIGN1cikgPT4ge1xuICAgICAgY29uc3QgcmVzID0ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgfTtcblxuICAgICAgcmVzW2N1ci5Mb29rdXBdID0gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzW2N1ci5Mb29rdXBdLnZhbHVlO1xuXG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU291cmNlQ29udHJvbExvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuU291cmNlQ29udHJvbHMgfHwge30pO1xuICB9XG5cbiAgcHVibGljIGdldCBTb3VyY2VDb250cm9scygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ1NvdXJjZUNvbnRyb2wgfSB7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQuU291cmNlcyB8fCB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRle1xuICAgIHJldHVybiB0aGlzLmVhY1N2Yy5TdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBCdWlsZFBpcGVsaW5lRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5EaXNhYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSBuZXcgUHJvamVjdEhvc3RpbmdEZXRhaWxzKCk7XG4gICAgdGhpcy5SZXNwb25zZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBjb25zb2xlLmxvZygnQnVpbGRQaXBlbGluZSA9ICcsIHRoaXMuQnVpbGRQaXBlbGluZSlcblxuICAgIC8vIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe30pO1xuXG4gICAgLy8gaWYgKHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cCAhPSBudWxsKSB7XG4gICAgLy8gICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnaG9zdGluZ0RldGFpbHMnKTtcbiAgICAvLyB9XG5cbiAgICAvLyB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAvLyAgICdob3N0aW5nRGV0YWlscycsXG4gICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAvLyBidWlsZFBpcGVsaW5lOiBbdGhpcy5CdWlsZFBpcGVsaW5lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgIH0pO1xuICAgIC8vICk7XG5cbiAgICB0aGlzLmxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTtcbiAgICAvLyB0aGlzLnNldHVwQ29udHJvbHNGb3JGb3JtKCk7XG4gIH1cblxuICAvL0FQSSBNRVRIT0RTXG5cbiAgcHVibGljIEJ1aWxkUGlwZWxpbmVDaGFuZ2VkKCk6IHZvaWQge1xuICAgIC8vZm9yIHNvbWUgcmVhc29uIHRoaXMgdmFsdWUgaXMgY29taW5nIGJhY2sgdW5kZWZpbmVkXG4gICAgLy8gY29uc29sZS5sb2coXCJidWlsZCBwaXBlbGluZSB2YWx1ZTogXCIsIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZSlcbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPSB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICB0aGlzLnNldHVwQ29udHJvbHNGb3JGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgU3VibWl0QnVpbGRQaXBlbGluZSgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhcInN1Ym1pdHRpbmcgYnVpbGQgcGlwZWxpbmU6IFwiLCB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAudmFsdWUpO1xuICAgIHRoaXMuU2F2ZUVudmlyb25tZW50KCk7XG4gIH1cblxuICBwdWJsaWMgU2F2ZUVudmlyb25tZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHNhdmVFbnZSZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgIEVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnRoaXMuRW52aXJvbm1lbnQsXG4gICAgICAgIEFydGlmYWN0czogdGhpcy5FbnZpcm9ubWVudC5BcnRpZmFjdHMgfHwge30sXG4gICAgICAgIERldk9wc0FjdGlvbnM6IHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucyB8fCB7fSxcbiAgICAgICAgU2VjcmV0czogdGhpcy5FbnZpcm9ubWVudC5TZWNyZXRzIHx8IHt9LFxuICAgICAgICBTb3VyY2VzOiB0aGlzLkVudmlyb25tZW50LlNvdXJjZXMgfHwge30sXG4gICAgICB9LFxuICAgICAgRW52aXJvbm1lbnRMb29rdXA6IHRoaXMuRW52aXJvbm1lbnRMb29rdXAsXG4gICAgICBFbnRlcnByaXNlRGF0YVRva2Vuczoge30sXG4gICAgfTtcblxuICAgIGxldCBhcnRpZmFjdExvb2t1cDogc3RyaW5nO1xuXG4gICAgbGV0IGFydGlmYWN0OiBFYUNBcnRpZmFjdCA9IHtcbiAgICAgIC4uLnRoaXMuQXJ0aWZhY3QsXG4gICAgICAuLi50aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbklucHV0Q29udHJvbFZhbHVlcyxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLkFydGlmYWN0TG9va3VwKSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IEd1aWQuQ3JlYXRlUmF3KCk7XG5cbiAgICAgIGFydGlmYWN0ID0ge1xuICAgICAgICAuLi5hcnRpZmFjdCxcbiAgICAgICAgVHlwZTogdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24uQXJ0aWZhY3RUeXBlLFxuICAgICAgICBOYW1lOiB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbi5OYW1lLFxuICAgICAgICBOUE1SZWdpc3RyeTogJ2h0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLycsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IHRoaXMuQXJ0aWZhY3RMb29rdXA7XG4gICAgfVxuXG4gICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5BcnRpZmFjdHNbYXJ0aWZhY3RMb29rdXBdID0gYXJ0aWZhY3Q7XG5cbiAgICBsZXQgZGV2T3BzQWN0aW9uTG9va3VwOiBzdHJpbmc7XG5cbiAgICBpZiAoIXRoaXMuRGV2T3BzQWN0aW9uTG9va3VwKSB7XG4gICAgICBkZXZPcHNBY3Rpb25Mb29rdXAgPSBHdWlkLkNyZWF0ZVJhdygpO1xuXG4gICAgICBjb25zdCBkb2E6IEVhQ0Rldk9wc0FjdGlvbiA9IHtcbiAgICAgICAgLi4udGhpcy5EZXZPcHNBY3Rpb24sXG4gICAgICAgIEFydGlmYWN0TG9va3VwczogW2FydGlmYWN0TG9va3VwXSxcbiAgICAgICAgTmFtZTogdGhpcy5EZXZPcHNBY3Rpb25OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIFBhdGg6IHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uLlBhdGgsXG4gICAgICAgIFRlbXBsYXRlczogdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24uVGVtcGxhdGVzLFxuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMuTlBNVG9rZW5Gb3JtQ29udHJvbD8udmFsdWUpIHtcbiAgICAgICAgY29uc3Qgc2VjcmV0TG9va3VwID0gJ25wbS1hY2Nlc3MtdG9rZW4nO1xuXG4gICAgICAgIGRvYS5TZWNyZXRMb29rdXBzID0gW3NlY3JldExvb2t1cF07XG5cbiAgICAgICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5TZWNyZXRzW3NlY3JldExvb2t1cF0gPSB7XG4gICAgICAgICAgTmFtZTogJ05QTSBBY2Nlc3MgVG9rZW4nLFxuICAgICAgICAgIERhdGFUb2tlbkxvb2t1cDogc2VjcmV0TG9va3VwLFxuICAgICAgICAgIEtub3duQXM6ICdOUE1fVE9LRU4nLFxuICAgICAgICB9O1xuXG4gICAgICAgIHNhdmVFbnZSZXEuRW50ZXJwcmlzZURhdGFUb2tlbnNbc2VjcmV0TG9va3VwXSA9IHtcbiAgICAgICAgICBOYW1lOiBzYXZlRW52UmVxLkVudmlyb25tZW50LlNlY3JldHNbc2VjcmV0TG9va3VwXS5OYW1lLFxuICAgICAgICAgIERlc2NyaXB0aW9uOiBzYXZlRW52UmVxLkVudmlyb25tZW50LlNlY3JldHNbc2VjcmV0TG9va3VwXS5OYW1lLFxuICAgICAgICAgIFZhbHVlOiB0aGlzLk5QTVRva2VuRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9uc1tkZXZPcHNBY3Rpb25Mb29rdXBdID0gZG9hO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZXZPcHNBY3Rpb25Mb29rdXAgPSB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cDtcblxuICAgICAgY29uc3QgZG9hOiBFYUNEZXZPcHNBY3Rpb24gPSB7XG4gICAgICAgIC4uLnRoaXMuRGV2T3BzQWN0aW9uLFxuICAgICAgICBOYW1lOiB0aGlzLkRldk9wc0FjdGlvbk5hbWVGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgIH07XG5cbiAgICAgIHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9uc1tkZXZPcHNBY3Rpb25Mb29rdXBdID0gZG9hO1xuICAgIH1cblxuICAgIFxuICAgIHRoaXMuZWFjU3ZjLlNhdmVFbnZpcm9ubWVudEFzQ29kZShzYXZlRW52UmVxKS50aGVuKHJlcyA9PntcbiAgICAgIHRoaXMuUmVzcG9uc2VFdmVudC5lbWl0KHJlcyk7XG4gICAgfSk7XG4gICAgXG4gIH1cblxuICAvLyAgSGVscGVyc1xuICBwcm90ZWN0ZWQgc2V0dXBDb250cm9sc0ZvckZvcm0oKTogdm9pZCB7XG4gICAgLy8gdGhpcy5CdWlsZFBpcGVsaW5lID1cbiAgICAvLyAgICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZSB8fCB0aGlzLkhvc3RpbmdEZXRhaWxzPy5Ib3N0aW5nT3B0aW9uc1xuICAgIC8vICAgICAgICAgICA/IHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zWzBdPy5Mb29rdXBcbiAgICAvLyAgICAgICAgICAgOiAnJztcblxuICAgIC8vIGNvbnNvbGUubG9nKFwiaG9zdGluZyBkZXRhaWxzOiBcIiwgdGhpcy5Ib3N0aW5nRGV0YWlscylcblxuICAgIGZvciAoY29uc3QgY3RybE5hbWUgaW4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzKSB7XG4gICAgICAvL2Rldk9wc0FjdGlvbiBkb2Vzbid0IGV4aXN0XG4gICAgICAvL3JlbW92ZXMgaG9zdGluZyBkZXRhaWxzXG4gICAgICBpZiAoY3RybE5hbWUgIT09ICdidWlsZFBpcGVsaW5lJyAmJiBjdHJsTmFtZSAhPT0gJ2Rldk9wc0FjdGlvbicpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJyZW1vdmluZyBjb250cm9sOiBcIiwgY3RybE5hbWUpXG4gICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5yZW1vdmVDb250cm9sKGN0cmxOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdidWlsZFBpcGVsaW5lJyxcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgdGhpcy5CdWlsZFBpcGVsaW5lIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICAgICk7XG5cbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdkZXZPcHNBY3Rpb25OYW1lJyxcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb24/Lk5hbWUgfHwgdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24/Lk5hbWUgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBjb25zb2xlLmxvZyhcInNlbGVjdGVkIGhvc3Rpbmcgb3B0aW9uczogXCIsIHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uLklucHV0cyk7XG5cbiAgICB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbj8uSW5wdXRzPy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IGlucHV0LlJlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW107XG5cbiAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICBpbnB1dC5Mb29rdXAsXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgICB0aGlzLkFydGlmYWN0W2lucHV0Lkxvb2t1cF0gfHwgaW5wdXQuRGVmYXVsdFZhbHVlIHx8ICcnLFxuICAgICAgICAgIHZhbGlkYXRvcnNcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgLy8gaWYgKHRoaXMuRGlzYWJsZWQpIHtcbiAgICAgIC8vICAgdGhpcy5Gb3JtR3JvdXAuY29udHJvbHNbaW5wdXQuTG9va3VwXS5kaXNhYmxlKCk7XG4gICAgICAvLyB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5CdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2w/LnZhbHVlID09PSAnbnBtLXJlbGVhc2UnKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIm5wbSByZWxlYXNlXCIpXG4gICAgICBpZiAoIXRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cD8uY29udHJvbHM/Lm5wbVRva2VuKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwibnBtIHRva2VuIGlmXCIpXG4gICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICducG1Ub2tlbicsXG4gICAgICAgICAgdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICB0aGlzLkRpc2FibGVkID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuRGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuY29udHJvbHMubnBtVG9rZW4uZGlzYWJsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZSA9PT0gJ2dpdGh1Yi1hcnRpZmFjdHMtcmVsZWFzZSdcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXA/LmNvbnRyb2xzPy5ucG1Ub2tlbikge1xuICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnbnBtVG9rZW4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpOiB2b2lkIHtcbiAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuYXBwc0Zsb3dTdmMuTmV3TG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpLnN1YnNjcmliZShcbiAgICAgIChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxQcm9qZWN0SG9zdGluZ0RldGFpbHM+KSA9PiB7XG4gICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSByZXNwb25zZS5Nb2RlbDtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJyZXNwb25zZTogXCIsIHJlc3BvbnNlKTtcbiAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgaG9zdE9wdGlvbiA9IHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zPy5maW5kKFxuICAgICAgICAgIChobykgPT4gaG8uUGF0aCA9PT0gdGhpcy5EZXZPcHNBY3Rpb24uUGF0aFxuICAgICAgICApO1xuICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPSBob3N0T3B0aW9uPy5Mb29rdXA7XG5cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJCdWlsZCBQaXBlbGluZSBIRVJFPSBcIiwgdGhpcy5CdWlsZFBpcGVsaW5lKTtcblxuICAgICAgICB0aGlzLnNldHVwQ29udHJvbHNGb3JGb3JtKCk7XG4gICAgICB9LFxuICAgICAgKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnRVJSOiAnLCBlcnIpO1xuICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuICAgIC8vIGNvbnNvbGUubG9nKCdIT1NUSU5HIERFVEFJTFM6ICcsIHRoaXMuSG9zdGluZ0RldGFpbHMpO1xuICB9XG59XG4iLCI8Zm9ybSBcbiAgY2xhc3M9XCJmb3JtLWNhcmRcIiBcbiAgW2Zvcm1Hcm91cF09XCJCdWlsZFBpcGVsaW5lRm9ybUdyb3VwXCIgXG4gIChuZ1N1Ym1pdCk9XCJTdWJtaXRCdWlsZFBpcGVsaW5lKClcIlxuPlxuICAgIDxtYXQtY2FyZFxuICAgICAgY2xhc3M9XCJzcHJlYWRcIiAgXG4gICAgPlxuICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlPiBCdWlsZCBQaXBlbGluZSA8L21hdC1jYXJkLXRpdGxlPlxuXG4gICAgICAgIDxtYXQtaGludD5cbiAgICAgICAgICBDaGFuZ2VzIG1hZGUgaGVyZSBhcmUgcmVmbGVjdGVkIGZvciBhbGwgc291cmNlcyB1c2luZyB0aGlzXG4gICAgICAgICAgRGV2T3BzQWN0aW9uXG4gICAgICAgIDwvbWF0LWhpbnQ+XG4gICAgICA8L21hdC1jYXJkLWhlYWRlcj5cblxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nIHx8IFN0YXRlPy5Mb2FkaW5nXCI+XG5cbiAgICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgICBjbGFzcz1cInMtYmxvY2tcIlxuICAgICAgICAgICAgZWZmZWN0PVwid2F2ZVwiIFxuICAgICAgICAgID48L3NrZWxldG9uLWJsb2NrPlxuXG4gICAgICAgICAgPHNrZWxldG9uLWJsb2NrIFxuICAgICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICAgIGVmZmVjdD1cIndhdmVcIiBcbiAgICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJTZWxlY3RlZEhvc3RpbmdPcHRpb24/LklucHV0c1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaG9zdE9wdGlvbiBvZiBIb3N0aW5nRGV0YWlscz8uSG9zdGluZ09wdGlvbnNcIj5cblxuICAgICAgICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICAgICAgICBlZmZlY3Q9XCJ3YXZlXCIgXG4gICAgICAgICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxza2VsZXRvbi1ibG9jayBcbiAgICAgICAgICAgICpuZ0lmPVwiXCJcbiAgICAgICAgICAgIGNsYXNzPVwicy1ibG9ja1wiXG4gICAgICAgICAgICBlZmZlY3Q9XCJ3YXZlXCIgXG4gICAgICAgICAgPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFIb3N0aW5nRGV0YWlscz8uTG9hZGluZyAmJiAhU3RhdGU/LkxvYWRpbmdcIj5cblxuICAgICAgICAgIDwhLS0gPGRpdiAgKm5nSWY9XCIhSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIj4gLS0+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImJ1aWxkUGlwZWxpbmVcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQnVpbGQgUGlwZWxpbmVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJCdWlsZFBpcGVsaW5lQ2hhbmdlZCgpXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGhvc3RPcHRpb24gb2YgSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaG9zdE9wdGlvbi5Mb29rdXBcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgaG9zdE9wdGlvbi5OYW1lIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICBcbiAgICAgICAgICAgICAgPG1hdC1oaW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGhvc3RPcHRpb24gb2YgSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIkJ1aWxkUGlwZWxpbmUgPT0gaG9zdE9wdGlvbj8uTG9va3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGhvc3RPcHRpb24uRGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRldk9wc0FjdGlvbk5hbWVcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZSBvZiBEZXZPcHMgQWN0aW9uXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZD1cInRydWVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICBcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGlucHV0IG9mIFNlbGVjdGVkSG9zdGluZ09wdGlvbj8uSW5wdXRzXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dC5Mb29rdXBcIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImlucHV0LlBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJpbnB1dC5SZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8bWF0LWhpbnQ+e3sgaW5wdXQuSGludCB9fTwvbWF0LWhpbnQ+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJCdWlsZFBpcGVsaW5lID09ICducG0tcmVsZWFzZSdcIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGggd2l0aC1oaW50IHBhZGRpbmctYm90dG9tLTRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0UHJlZml4PnNlY3VyaXR5PC9tYXQtaWNvbj5cbiAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGlkPVwibnBtLXRva2VuXCJcbiAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJucG1Ub2tlblwiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5QTSB0b2tlblwiXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiIURpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwiLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjO1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8bWF0LWhpbnQ+XG4gICAgICAgICAgICAgICAgICBTZWN1cmVseSBwdWJsaXNoIHRvIE5QTSwgcHJvdmlkZSBhbiBOUE0gUGVyc29uYWwgQWNjZXNzIFRva2VuIChQQVQpIHdpdGggcHVibGlzaCBhY2Nlc3MgdG8gdGhlIG9yZ2FuaXphdGlvbiB1c2VkIGZvciB5b3VyIE5QTSBwYWNrYWdlcy4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgTGVhcm4gaG93IHRvIGNyZWF0ZSBhbmQgdmlldyBhY2Nlc3MgdG9rZW5zIFxuICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vZG9jcy5ucG1qcy5jb20vY3JlYXRpbmctYW5kLXZpZXdpbmctYWNjZXNzLXRva2Vuc1wiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJpbWFyeS1saW5rXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgaGVyZS5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSA8L2Rpdj4gLS0+XG4gICAgICAgICAgXG4gICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj5cbiAgICAgICAgICAgICAgPGxjdS1sb2FkZXIgc3R5bGU9XCJtYXJnaW46IGF1dG9cIiBbbG9hZGluZ109XCJ0cnVlXCI+PC9sY3UtbG9hZGVyPlxuICAgICAgICAgIFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTNcIj5cbiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJtYXQtdGl0bGVcIj5Mb2FkaW5nIGhvc3RpbmcgZGV0YWlsczwvaDQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG5cbiAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAqbmdJZj1cIiFTdGF0ZT8uTG9hZGluZ1wiXG4gICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgICAgIGZ4RmxleD1cIjEwMCVcIiBcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIiBcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIUJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAudmFsaWQgfHwgIUJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuZGlydHlcIj5cbiAgICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICAgICAgU2F2ZSBCdWlsZCBQaXBlbGluZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGxjdS1sb2FkZXIgW2xvYWRpbmddPVwiU3RhdGU/LkxvYWRpbmdcIj48L2xjdS1sb2FkZXI+ICBcbiAgICAgICAgXG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICAgIDwvbWF0LWNhcmQ+XG48L2Zvcm0+XG4iXX0=
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcGlwZWxpbmUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9jb250cm9scy9idWlsZC1waXBlbGluZS1mb3JtL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvYnVpbGQtcGlwZWxpbmUtZm9ybS9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUlMLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBdUIsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBWXhELE9BQU8sRUFFTCxxQkFBcUIsR0FFdEIsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQU83QyxNQUFNLE9BQU8sMEJBQTBCO0lBZ0dyQyxZQUNZLE1BQWtCLEVBQ2xCLFdBQXdCLEVBQ3hCLFdBQW9DO1FBRnBDLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBRTlDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxZQUFZLENBQUM7SUFDeEMsQ0FBQztJQWhGRCxJQUFXLFFBQVE7UUFDakIsK0VBQStFO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLGNB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RyxFQUFFLEVBQUU7WUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdEMsQ0FBQyxDQUNGLENBQUM7UUFDRix5REFBeUQ7SUFDM0QsQ0FBQzs7dUhBdFVVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHFZQzlCdkMsdTBLQStKQTsyRkRqSWEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QjtpS0FXNUIsa0JBQWtCO3NCQUR4QixLQUFLO3VCQUFDLHNCQUFzQjtnQkFJdEIsUUFBUTtzQkFEZCxLQUFLO3VCQUFDLFVBQVU7Z0JBSVYsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxhQUFhO2dCQUliLGlCQUFpQjtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSXBCLGNBQWM7c0JBRHBCLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlqQixhQUFhO3NCQURuQixNQUFNO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZU1vZGVsZWRSZXNwb25zZSwgR3VpZCB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7XG4gIEVhQ0FydGlmYWN0LFxuICBFYUNEZXZPcHNBY3Rpb24sXG4gIEVhQ0Vudmlyb25tZW50QXNDb2RlLFxuICBFYUNTb3VyY2VDb250cm9sLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEVhQ1NlcnZpY2UsXG4gIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICBQcm9qZWN0SG9zdGluZ0RldGFpbHMsXG4gIFByb2plY3RIb3N0aW5nT3B0aW9uLFxufSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1idWlsZC1waXBlbGluZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1aWxkUGlwZWxpbmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy9QUk9QRVJUSUVTXG5cbiAgLy8gQElucHV0KCdidWlsZC1waXBlbGluZScpXG4gIHB1YmxpYyBCdWlsZFBpcGVsaW5lOiBzdHJpbmc7XG5cbiAgQElucHV0KCdkZXZvcHMtYWN0aW9uLWxvb2t1cCcpXG4gIHB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXA6IHN0cmluZztcblxuICBASW5wdXQoJ2Rpc2FibGVkJylcbiAgcHVibGljIERpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgnZW52aXJvbm1lbnQnKVxuICBwdWJsaWMgRW52aXJvbm1lbnQ6IEVhQ0Vudmlyb25tZW50QXNDb2RlO1xuXG4gIEBJbnB1dCgnZW52aXJvbm1lbnQtbG9va3VwJylcbiAgcHVibGljIEVudmlyb25tZW50TG9va3VwOiBzdHJpbmc7XG5cbiAgQElucHV0KCdob3N0aW5nLWRldGFpbHMnKVxuICBwdWJsaWMgSG9zdGluZ0RldGFpbHM6IFByb2plY3RIb3N0aW5nRGV0YWlscztcblxuICBAT3V0cHV0KCdyZXNwb25zZS1ldmVudCcpXG4gIHB1YmxpYyBSZXNwb25zZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICBwdWJsaWMgZ2V0IEFydGlmYWN0KCk6IEVhQ0FydGlmYWN0IHtcbiAgICAvLyBjb25zb2xlLmxvZyhcIkFSVElGQUNUOiBcIiwgdGhpcy5FbnZpcm9ubWVudD8uQXJ0aWZhY3RzW3RoaXMuQXJ0aWZhY3RMb29rdXBdKTtcbiAgICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudD8uQXJ0aWZhY3RzICYmIHRoaXMuQXJ0aWZhY3RMb29rdXBcbiAgICAgID8gdGhpcy5FbnZpcm9ubWVudD8uQXJ0aWZhY3RzW3RoaXMuQXJ0aWZhY3RMb29rdXBdIHx8IHt9XG4gICAgICA6IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBBcnRpZmFjdExvb2t1cCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFydExvb2t1cCA9IHRoaXMuRGV2T3BzQWN0aW9uPy5BcnRpZmFjdExvb2t1cHNcbiAgICAgID8gdGhpcy5EZXZPcHNBY3Rpb24/LkFydGlmYWN0TG9va3Vwc1swXVxuICAgICAgOiBudWxsO1xuXG4gICAgcmV0dXJuIGFydExvb2t1cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgQnVpbGRQaXBlbGluZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cD8uZ2V0KCdidWlsZFBpcGVsaW5lJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IERldk9wc0FjdGlvbigpOiBFYUNEZXZPcHNBY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50LkRldk9wc0FjdGlvbnMgJiYgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBcbiAgICAgID8gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW3RoaXMuRGV2T3BzQWN0aW9uTG9va3VwXSB8fCB7fVxuICAgICAgOiB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9ucygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0Rldk9wc0FjdGlvbiB9IHtcbiAgICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zIHx8IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBEZXZPcHNBY3Rpb25OYW1lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmdldCgnZGV2T3BzQWN0aW9uTmFtZScpO1xuICB9XG5cbiAgcHVibGljIGdldCBOUE1Ub2tlbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5nZXQoJ25wbVRva2VuJyk7XG4gIH1cblxuICAvLyAoaG8pID0+IGhvLkxvb2t1cCA9PT0gdGhpcy5CdWlsZFBpcGVsaW5lXG4gIHB1YmxpYyBnZXQgU2VsZWN0ZWRIb3N0aW5nT3B0aW9uKCk6IFByb2plY3RIb3N0aW5nT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5Ib3N0aW5nRGV0YWlscz8uSG9zdGluZ09wdGlvbnM/LmZpbmQoXG4gICAgICAoaG8pID0+IGhvLkxvb2t1cCA9PT0gdGhpcy5CdWlsZFBpcGVsaW5lXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2VsZWN0ZWRIb3N0aW5nT3B0aW9uSW5wdXRDb250cm9sVmFsdWVzKCk6IHtcbiAgICBbbG9va3VwOiBzdHJpbmddOiBhbnk7XG4gIH0ge1xuICAgIHJldHVybiB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbj8uSW5wdXRzPy5yZWR1Y2UoKHByZXYsIGN1cikgPT4ge1xuICAgICAgY29uc3QgcmVzID0ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgfTtcblxuICAgICAgcmVzW2N1ci5Mb29rdXBdID0gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzW2N1ci5Mb29rdXBdLnZhbHVlO1xuXG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU291cmNlQ29udHJvbExvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuU291cmNlQ29udHJvbHMgfHwge30pO1xuICB9XG5cbiAgcHVibGljIGdldCBTb3VyY2VDb250cm9scygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ1NvdXJjZUNvbnRyb2wgfSB7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQuU291cmNlcyB8fCB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRle1xuICAgIHJldHVybiB0aGlzLmVhY1N2Yy5TdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBCdWlsZFBpcGVsaW5lRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5EaXNhYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSBuZXcgUHJvamVjdEhvc3RpbmdEZXRhaWxzKCk7XG4gICAgdGhpcy5SZXNwb25zZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBjb25zb2xlLmxvZygnQnVpbGRQaXBlbGluZSA9ICcsIHRoaXMuQnVpbGRQaXBlbGluZSlcblxuICAgIC8vIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe30pO1xuXG4gICAgLy8gaWYgKHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cCAhPSBudWxsKSB7XG4gICAgLy8gICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnaG9zdGluZ0RldGFpbHMnKTtcbiAgICAvLyB9XG5cbiAgICAvLyB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAvLyAgICdob3N0aW5nRGV0YWlscycsXG4gICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAvLyBidWlsZFBpcGVsaW5lOiBbdGhpcy5CdWlsZFBpcGVsaW5lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgIH0pO1xuICAgIC8vICk7XG5cbiAgICB0aGlzLmxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTtcbiAgICAvLyB0aGlzLnNldHVwQ29udHJvbHNGb3JGb3JtKCk7XG4gIH1cblxuICAvL0FQSSBNRVRIT0RTXG5cbiAgcHVibGljIEJ1aWxkUGlwZWxpbmVDaGFuZ2VkKCk6IHZvaWQge1xuICAgIC8vZm9yIHNvbWUgcmVhc29uIHRoaXMgdmFsdWUgaXMgY29taW5nIGJhY2sgdW5kZWZpbmVkXG4gICAgLy8gY29uc29sZS5sb2coXCJidWlsZCBwaXBlbGluZSB2YWx1ZTogXCIsIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZSlcbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPSB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICB0aGlzLnNldHVwQ29udHJvbHNGb3JGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgU3VibWl0QnVpbGRQaXBlbGluZSgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhcInN1Ym1pdHRpbmcgYnVpbGQgcGlwZWxpbmU6IFwiLCB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAudmFsdWUpO1xuICAgIHRoaXMuU2F2ZUVudmlyb25tZW50KCk7XG4gIH1cblxuICBwdWJsaWMgU2F2ZUVudmlyb25tZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHNhdmVFbnZSZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgIEVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnRoaXMuRW52aXJvbm1lbnQsXG4gICAgICAgIEFydGlmYWN0czogdGhpcy5FbnZpcm9ubWVudC5BcnRpZmFjdHMgfHwge30sXG4gICAgICAgIERldk9wc0FjdGlvbnM6IHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucyB8fCB7fSxcbiAgICAgICAgU2VjcmV0czogdGhpcy5FbnZpcm9ubWVudC5TZWNyZXRzIHx8IHt9LFxuICAgICAgICBTb3VyY2VzOiB0aGlzLkVudmlyb25tZW50LlNvdXJjZXMgfHwge30sXG4gICAgICB9LFxuICAgICAgRW52aXJvbm1lbnRMb29rdXA6IHRoaXMuRW52aXJvbm1lbnRMb29rdXAsXG4gICAgICBFbnRlcnByaXNlRGF0YVRva2Vuczoge30sXG4gICAgfTtcblxuICAgIGxldCBhcnRpZmFjdExvb2t1cDogc3RyaW5nO1xuXG4gICAgbGV0IGFydGlmYWN0OiBFYUNBcnRpZmFjdCA9IHtcbiAgICAgIC4uLnRoaXMuQXJ0aWZhY3QsXG4gICAgICAuLi50aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbklucHV0Q29udHJvbFZhbHVlcyxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLkFydGlmYWN0TG9va3VwKSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IEd1aWQuQ3JlYXRlUmF3KCk7XG5cbiAgICAgIGFydGlmYWN0ID0ge1xuICAgICAgICAuLi5hcnRpZmFjdCxcbiAgICAgICAgVHlwZTogdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24uQXJ0aWZhY3RUeXBlLFxuICAgICAgICBOYW1lOiB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbi5OYW1lLFxuICAgICAgICBOUE1SZWdpc3RyeTogJ2h0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLycsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IHRoaXMuQXJ0aWZhY3RMb29rdXA7XG4gICAgfVxuXG4gICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5BcnRpZmFjdHNbYXJ0aWZhY3RMb29rdXBdID0gYXJ0aWZhY3Q7XG5cbiAgICBsZXQgZGV2T3BzQWN0aW9uTG9va3VwOiBzdHJpbmc7XG5cbiAgICBpZiAoIXRoaXMuRGV2T3BzQWN0aW9uTG9va3VwKSB7XG4gICAgICBkZXZPcHNBY3Rpb25Mb29rdXAgPSBHdWlkLkNyZWF0ZVJhdygpO1xuXG4gICAgICBjb25zdCBkb2E6IEVhQ0Rldk9wc0FjdGlvbiA9IHtcbiAgICAgICAgLi4udGhpcy5EZXZPcHNBY3Rpb24sXG4gICAgICAgIEFydGlmYWN0TG9va3VwczogW2FydGlmYWN0TG9va3VwXSxcbiAgICAgICAgTmFtZTogdGhpcy5EZXZPcHNBY3Rpb25OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIFBhdGg6IHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uLlBhdGgsXG4gICAgICAgIFRlbXBsYXRlczogdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24uVGVtcGxhdGVzLFxuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMuTlBNVG9rZW5Gb3JtQ29udHJvbD8udmFsdWUpIHtcbiAgICAgICAgY29uc3Qgc2VjcmV0TG9va3VwID0gJ25wbS1hY2Nlc3MtdG9rZW4nO1xuXG4gICAgICAgIGRvYS5TZWNyZXRMb29rdXBzID0gW3NlY3JldExvb2t1cF07XG5cbiAgICAgICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5TZWNyZXRzW3NlY3JldExvb2t1cF0gPSB7XG4gICAgICAgICAgTmFtZTogJ05QTSBBY2Nlc3MgVG9rZW4nLFxuICAgICAgICAgIERhdGFUb2tlbkxvb2t1cDogc2VjcmV0TG9va3VwLFxuICAgICAgICAgIEtub3duQXM6ICdOUE1fVE9LRU4nLFxuICAgICAgICB9O1xuXG4gICAgICAgIHNhdmVFbnZSZXEuRW50ZXJwcmlzZURhdGFUb2tlbnNbc2VjcmV0TG9va3VwXSA9IHtcbiAgICAgICAgICBOYW1lOiBzYXZlRW52UmVxLkVudmlyb25tZW50LlNlY3JldHNbc2VjcmV0TG9va3VwXS5OYW1lLFxuICAgICAgICAgIERlc2NyaXB0aW9uOiBzYXZlRW52UmVxLkVudmlyb25tZW50LlNlY3JldHNbc2VjcmV0TG9va3VwXS5OYW1lLFxuICAgICAgICAgIFZhbHVlOiB0aGlzLk5QTVRva2VuRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9uc1tkZXZPcHNBY3Rpb25Mb29rdXBdID0gZG9hO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZXZPcHNBY3Rpb25Mb29rdXAgPSB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cDtcblxuICAgICAgY29uc3QgZG9hOiBFYUNEZXZPcHNBY3Rpb24gPSB7XG4gICAgICAgIC4uLnRoaXMuRGV2T3BzQWN0aW9uLFxuICAgICAgICBOYW1lOiB0aGlzLkRldk9wc0FjdGlvbk5hbWVGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgIH07XG5cbiAgICAgIHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9uc1tkZXZPcHNBY3Rpb25Mb29rdXBdID0gZG9hO1xuICAgIH1cblxuICAgIFxuICAgIHRoaXMuZWFjU3ZjLlNhdmVFbnZpcm9ubWVudEFzQ29kZShzYXZlRW52UmVxKS50aGVuKHJlcyA9PntcbiAgICAgIHRoaXMuUmVzcG9uc2VFdmVudC5lbWl0KHJlcyk7XG4gICAgfSk7XG4gICAgXG4gIH1cblxuICAvLyAgSGVscGVyc1xuICBwcm90ZWN0ZWQgc2V0dXBDb250cm9sc0ZvckZvcm0oKTogdm9pZCB7XG4gICAgLy8gdGhpcy5CdWlsZFBpcGVsaW5lID1cbiAgICAvLyAgICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZSB8fCB0aGlzLkhvc3RpbmdEZXRhaWxzPy5Ib3N0aW5nT3B0aW9uc1xuICAgIC8vICAgICAgICAgICA/IHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zWzBdPy5Mb29rdXBcbiAgICAvLyAgICAgICAgICAgOiAnJztcblxuICAgIC8vIGNvbnNvbGUubG9nKFwiaG9zdGluZyBkZXRhaWxzOiBcIiwgdGhpcy5Ib3N0aW5nRGV0YWlscylcblxuICAgIGZvciAoY29uc3QgY3RybE5hbWUgaW4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzKSB7XG4gICAgICAvL2Rldk9wc0FjdGlvbiBkb2Vzbid0IGV4aXN0XG4gICAgICAvL3JlbW92ZXMgaG9zdGluZyBkZXRhaWxzXG4gICAgICBpZiAoY3RybE5hbWUgIT09ICdidWlsZFBpcGVsaW5lJyAmJiBjdHJsTmFtZSAhPT0gJ2Rldk9wc0FjdGlvbicpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJyZW1vdmluZyBjb250cm9sOiBcIiwgY3RybE5hbWUpXG4gICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5yZW1vdmVDb250cm9sKGN0cmxOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdidWlsZFBpcGVsaW5lJyxcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgdGhpcy5CdWlsZFBpcGVsaW5lIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICAgICk7XG5cbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdkZXZPcHNBY3Rpb25OYW1lJyxcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb24/Lk5hbWUgfHwgdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24/Lk5hbWUgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBjb25zb2xlLmxvZyhcInNlbGVjdGVkIGhvc3Rpbmcgb3B0aW9uczogXCIsIHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uLklucHV0cyk7XG5cbiAgICB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbj8uSW5wdXRzPy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IGlucHV0LlJlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW107XG5cbiAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICBpbnB1dC5Mb29rdXAsXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgICB0aGlzLkFydGlmYWN0W2lucHV0Lkxvb2t1cF0gfHwgaW5wdXQuRGVmYXVsdFZhbHVlIHx8ICcnLFxuICAgICAgICAgIHZhbGlkYXRvcnNcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgLy8gaWYgKHRoaXMuRGlzYWJsZWQpIHtcbiAgICAgIC8vICAgdGhpcy5Gb3JtR3JvdXAuY29udHJvbHNbaW5wdXQuTG9va3VwXS5kaXNhYmxlKCk7XG4gICAgICAvLyB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5CdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2w/LnZhbHVlID09PSAnbnBtLXJlbGVhc2UnKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIm5wbSByZWxlYXNlXCIpXG4gICAgICBpZiAoIXRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cD8uY29udHJvbHM/Lm5wbVRva2VuKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwibnBtIHRva2VuIGlmXCIpXG4gICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICducG1Ub2tlbicsXG4gICAgICAgICAgdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICB0aGlzLkRpc2FibGVkID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuRGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuY29udHJvbHMubnBtVG9rZW4uZGlzYWJsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZSA9PT0gJ2dpdGh1Yi1hcnRpZmFjdHMtcmVsZWFzZSdcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXA/LmNvbnRyb2xzPy5ucG1Ub2tlbikge1xuICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnbnBtVG9rZW4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpOiB2b2lkIHtcbiAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuYXBwc0Zsb3dTdmMuTG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpLnN1YnNjcmliZShcbiAgICAgIChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxQcm9qZWN0SG9zdGluZ0RldGFpbHM+KSA9PiB7XG4gICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSByZXNwb25zZS5Nb2RlbDtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJyZXNwb25zZTogXCIsIHJlc3BvbnNlKTtcbiAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgaG9zdE9wdGlvbiA9IHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zPy5maW5kKFxuICAgICAgICAgIChobykgPT4gaG8uUGF0aCA9PT0gdGhpcy5EZXZPcHNBY3Rpb24uUGF0aFxuICAgICAgICApO1xuICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPSBob3N0T3B0aW9uPy5Mb29rdXA7XG5cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJCdWlsZCBQaXBlbGluZSBIRVJFPSBcIiwgdGhpcy5CdWlsZFBpcGVsaW5lKTtcblxuICAgICAgICB0aGlzLnNldHVwQ29udHJvbHNGb3JGb3JtKCk7XG4gICAgICB9LFxuICAgICAgKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnRVJSOiAnLCBlcnIpO1xuICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuICAgIC8vIGNvbnNvbGUubG9nKCdIT1NUSU5HIERFVEFJTFM6ICcsIHRoaXMuSG9zdGluZ0RldGFpbHMpO1xuICB9XG59XG4iLCI8Zm9ybSBcbiAgY2xhc3M9XCJmb3JtLWNhcmRcIiBcbiAgW2Zvcm1Hcm91cF09XCJCdWlsZFBpcGVsaW5lRm9ybUdyb3VwXCIgXG4gIChuZ1N1Ym1pdCk9XCJTdWJtaXRCdWlsZFBpcGVsaW5lKClcIlxuPlxuICAgIDxtYXQtY2FyZFxuICAgICAgY2xhc3M9XCJzcHJlYWRcIiAgXG4gICAgPlxuICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlPiBCdWlsZCBQaXBlbGluZSA8L21hdC1jYXJkLXRpdGxlPlxuXG4gICAgICAgIDxtYXQtaGludD5cbiAgICAgICAgICBDaGFuZ2VzIG1hZGUgaGVyZSBhcmUgcmVmbGVjdGVkIGZvciBhbGwgc291cmNlcyB1c2luZyB0aGlzXG4gICAgICAgICAgRGV2T3BzQWN0aW9uXG4gICAgICAgIDwvbWF0LWhpbnQ+XG4gICAgICA8L21hdC1jYXJkLWhlYWRlcj5cblxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nIHx8IFN0YXRlPy5Mb2FkaW5nXCI+XG5cbiAgICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgICBjbGFzcz1cInMtYmxvY2tcIlxuICAgICAgICAgICAgZWZmZWN0PVwid2F2ZVwiIFxuICAgICAgICAgID48L3NrZWxldG9uLWJsb2NrPlxuXG4gICAgICAgICAgPHNrZWxldG9uLWJsb2NrIFxuICAgICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICAgIGVmZmVjdD1cIndhdmVcIiBcbiAgICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJTZWxlY3RlZEhvc3RpbmdPcHRpb24/LklucHV0c1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaG9zdE9wdGlvbiBvZiBIb3N0aW5nRGV0YWlscz8uSG9zdGluZ09wdGlvbnNcIj5cblxuICAgICAgICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICAgICAgICBlZmZlY3Q9XCJ3YXZlXCIgXG4gICAgICAgICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxza2VsZXRvbi1ibG9jayBcbiAgICAgICAgICAgICpuZ0lmPVwiXCJcbiAgICAgICAgICAgIGNsYXNzPVwicy1ibG9ja1wiXG4gICAgICAgICAgICBlZmZlY3Q9XCJ3YXZlXCIgXG4gICAgICAgICAgPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFIb3N0aW5nRGV0YWlscz8uTG9hZGluZyAmJiAhU3RhdGU/LkxvYWRpbmdcIj5cblxuICAgICAgICAgIDwhLS0gPGRpdiAgKm5nSWY9XCIhSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIj4gLS0+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImJ1aWxkUGlwZWxpbmVcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQnVpbGQgUGlwZWxpbmVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJCdWlsZFBpcGVsaW5lQ2hhbmdlZCgpXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGhvc3RPcHRpb24gb2YgSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaG9zdE9wdGlvbi5Mb29rdXBcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgaG9zdE9wdGlvbi5OYW1lIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICBcbiAgICAgICAgICAgICAgPG1hdC1oaW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGhvc3RPcHRpb24gb2YgSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIkJ1aWxkUGlwZWxpbmUgPT0gaG9zdE9wdGlvbj8uTG9va3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGhvc3RPcHRpb24uRGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRldk9wc0FjdGlvbk5hbWVcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZSBvZiBEZXZPcHMgQWN0aW9uXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZD1cInRydWVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICBcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGlucHV0IG9mIFNlbGVjdGVkSG9zdGluZ09wdGlvbj8uSW5wdXRzXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dC5Mb29rdXBcIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImlucHV0LlBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJpbnB1dC5SZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8bWF0LWhpbnQ+e3sgaW5wdXQuSGludCB9fTwvbWF0LWhpbnQ+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJCdWlsZFBpcGVsaW5lID09ICducG0tcmVsZWFzZSdcIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGggd2l0aC1oaW50IHBhZGRpbmctYm90dG9tLTRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0UHJlZml4PnNlY3VyaXR5PC9tYXQtaWNvbj5cbiAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGlkPVwibnBtLXRva2VuXCJcbiAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJucG1Ub2tlblwiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5QTSB0b2tlblwiXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiIURpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwiLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjO1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8bWF0LWhpbnQ+XG4gICAgICAgICAgICAgICAgICBTZWN1cmVseSBwdWJsaXNoIHRvIE5QTSwgcHJvdmlkZSBhbiBOUE0gUGVyc29uYWwgQWNjZXNzIFRva2VuIChQQVQpIHdpdGggcHVibGlzaCBhY2Nlc3MgdG8gdGhlIG9yZ2FuaXphdGlvbiB1c2VkIGZvciB5b3VyIE5QTSBwYWNrYWdlcy4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgTGVhcm4gaG93IHRvIGNyZWF0ZSBhbmQgdmlldyBhY2Nlc3MgdG9rZW5zIFxuICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vZG9jcy5ucG1qcy5jb20vY3JlYXRpbmctYW5kLXZpZXdpbmctYWNjZXNzLXRva2Vuc1wiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJpbWFyeS1saW5rXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgaGVyZS5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSA8L2Rpdj4gLS0+XG4gICAgICAgICAgXG4gICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj5cbiAgICAgICAgICAgICAgPGxjdS1sb2FkZXIgc3R5bGU9XCJtYXJnaW46IGF1dG9cIiBbbG9hZGluZ109XCJ0cnVlXCI+PC9sY3UtbG9hZGVyPlxuICAgICAgICAgIFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTNcIj5cbiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJtYXQtdGl0bGVcIj5Mb2FkaW5nIGhvc3RpbmcgZGV0YWlsczwvaDQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG5cbiAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAqbmdJZj1cIiFTdGF0ZT8uTG9hZGluZ1wiXG4gICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgICAgIGZ4RmxleD1cIjEwMCVcIiBcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIiBcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIUJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAudmFsaWQgfHwgIUJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuZGlydHlcIj5cbiAgICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICAgICAgU2F2ZSBCdWlsZCBQaXBlbGluZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGxjdS1sb2FkZXIgW2xvYWRpbmddPVwiU3RhdGU/LkxvYWRpbmdcIj48L2xjdS1sb2FkZXI+ICBcbiAgICAgICAgXG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICAgIDwvbWF0LWNhcmQ+XG48L2Zvcm0+XG4iXX0=
|
package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs
CHANGED
|
@@ -351,7 +351,7 @@ export class DevopsSourceControlFormComponent {
|
|
|
351
351
|
if (this.SelectedBranches?.length > 0) {
|
|
352
352
|
this.HostingDetails.Loading = true;
|
|
353
353
|
this.appsFlowSvc
|
|
354
|
-
.LoadProjectHostingDetails(
|
|
354
|
+
.LoadProjectHostingDetails()
|
|
355
355
|
.subscribe((response) => {
|
|
356
356
|
this.HostingDetails = response.Model;
|
|
357
357
|
this.HostingDetails.Loading = false;
|
|
@@ -398,4 +398,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
398
398
|
type: ViewChild,
|
|
399
399
|
args: ['branches']
|
|
400
400
|
}] } });
|
|
401
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsV0FBVyxFQUVYLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBcUMsSUFBSSxFQUFVLE1BQU0sYUFBYSxDQUFDO0FBWTlFLE9BQU8sRUFLTCxxQkFBcUIsR0FDdEIsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPN0MsTUFBTSxPQUFPLGdDQUFnQztJQTJKM0MsZ0JBQWdCO0lBQ2hCLFlBQ1ksV0FBb0MsRUFDcEMsTUFBa0IsRUFDbEIsV0FBd0I7UUFGeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFOcEIsdUJBQWtCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUM7UUFRM0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFD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QUFDLG9CQUFvQixFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQ3pDLFVBQVUsQ0FBQyxRQUFRLENBQ3BCLENBQ0YsQ0FBQztZQUVGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDO1lBRTVELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQzFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDL0MsSUFBSSxXQUFXLENBQ2IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQzFDLFVBQVUsQ0FBQyxRQUFRLENBQ3BCLENBQ0YsQ0FBQztTQUNIO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQzFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDOUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUMzRCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs2SEEvbEJVLGdDQUFnQztpSEFBaEMsZ0NBQWdDLDBiQy9DN0MsNndXQStSTzsyRkRoUE0sZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLGdDQUFnQztpS0FVbkMsMEJBQTBCO3NCQURoQyxLQUFLO3VCQUFDLCtCQUErQjtnQkFJL0IsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxhQUFhO2dCQUliLGlCQUFpQjtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSXBCLGVBQWU7c0JBRHJCLE1BQU07dUJBQUMsbUJBQW1CO2dCQUlwQixhQUFhO3NCQURuQixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDT01NQSwgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBCYXNlTW9kZWxlZFJlc3BvbnNlLCBCYXNlUmVzcG9uc2UsIEd1aWQsIFN0YXR1cyB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7XG4gIEVhQ0FydGlmYWN0LFxuICBFYUNEZXZPcHNBY3Rpb24sXG4gIEVhQ0Vudmlyb25tZW50QXNDb2RlLFxuICBFYUNTb3VyY2VDb250cm9sLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEVhQ1NlcnZpY2UsXG4gIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICBHaXRIdWJCcmFuY2gsXG4gIEdpdEh1Yk9yZ2FuaXphdGlvbixcbiAgR2l0SHViUmVwb3NpdG9yeSxcbiAgUHJvamVjdEhvc3RpbmdEZXRhaWxzLFxufSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rldm9wcy1zb3VyY2UtY29udHJvbC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERldm9wc1NvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXRcbntcbiAgLy8gIEZpZWxkc1xuXG4gIEBJbnB1dCgnZWRpdGluZy1zb3VyY2UtY29udHJvbC1sb29rdXAnKVxuICBwdWJsaWMgRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXA6IHN0cmluZztcblxuICBASW5wdXQoJ2Vudmlyb25tZW50JylcbiAgcHVibGljIEVudmlyb25tZW50OiBFYUNFbnZpcm9ubWVudEFzQ29kZTtcblxuICBASW5wdXQoJ2Vudmlyb25tZW50LWxvb2t1cCcpXG4gIHB1YmxpYyBFbnZpcm9ubWVudExvb2t1cDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ3NhdmUtc3RhdHVzLWV2ZW50JylcbiAgcHVibGljIFNhdmVTdGF0dXNFdmVudDogRXZlbnRFbWl0dGVyPFN0YXR1cz47XG5cbiAgQFZpZXdDaGlsZCgnYnJhbmNoZXMnKVxuICBwdWJsaWMgQnJhbmNoZXNJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAvL09wdGlvbmFsIGlucHV0IG5vdCBiZWluZyB1c2VkIHNldHRpbmcgdG9cbiAgLy8gQElucHV0KCdidWlsZC1wYXRoJylcbiAgcHVibGljIEJ1aWxkUGF0aDogc3RyaW5nO1xuXG4gIC8vT3B0aW9uYWwgbm90IGJlaW5nIHVzZWRcbiAgLy8gQElucHV0KCdidWlsZC1wYXRoLWRpc2FibGVkJylcbiAgcHVibGljIEJ1aWxkUGF0aERpc2FibGVkOiBib29sZWFuO1xuXG4gIC8vIHRoaXMgaW5wdXQgaXMgbm90IGJlaW5nIHVzZWQgYW55d2hlcmVcbiAgLy8gQElucHV0KCdzb3VyY2UtY29udHJvbC1yb290JylcbiAgcHVibGljIFNvdXJjZUNvbnRyb2xSb290OiBzdHJpbmc7XG5cbiAgLy9ub3QgYmVpbmcgdXNlZCBzZXQgdG8gdHJ1ZSBieSBkZWZhdWx0XG4gIC8vIEBJbnB1dCgndXNlLWJyYW5jaGVzJylcbiAgcHVibGljIFVzZUJyYW5jaGVzOiBib29sZWFuO1xuXG4gIC8vbm90IGJlaW5nIHVzZWQgc2V0IHRvIGZhbHNlIGJ5IGRlZmF1bHRcbiAgLy8gQElucHV0KCd1c2UtYnVpbGQtcGF0aCcpXG4gIHB1YmxpYyBVc2VCdWlsZFBhdGg6IGJvb2xlYW47XG5cbiAgLy8gIFByb3BlcnRpZXNcblxuICBwdWJsaWMgZ2V0IEFydGlmYWN0TG9va3VwcygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5EZXZPcHNBY3Rpb24/LkFydGlmYWN0TG9va3VwcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgQXJ0aWZhY3RMb29rdXAoKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcnRMb29rdXAgPSB0aGlzLkRldk9wc0FjdGlvbj8uQXJ0aWZhY3RMb29rdXBzXG4gICAgICA/IHRoaXMuRGV2T3BzQWN0aW9uPy5BcnRpZmFjdExvb2t1cHNbMF1cbiAgICAgIDogbnVsbDtcbiAgICByZXR1cm4gYXJ0TG9va3VwO1xuICB9XG5cbiAgcHVibGljIGdldCBBcnRpZmFjdCgpOiBFYUNBcnRpZmFjdCB7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0cyAmJiB0aGlzLkFydGlmYWN0TG9va3VwXG4gICAgICA/IHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0c1t0aGlzLkFydGlmYWN0TG9va3VwXSB8fCB7fVxuICAgICAgOiB7fTtcbiAgfVxuICBwdWJsaWMgZ2V0IEJyYW5jaGVzRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmdldChcbiAgICAgIHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnYnJhbmNoZXMnXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgQnVpbGRQYXRoRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmdldChcbiAgICAgIHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnYnVpbGRQYXRoJ1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IERldk9wc0FjdGlvbkxvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5EZXZPcHNBY3Rpb25zKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5EZXZPcHNBY3Rpb25zIHx8IHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucyAmJiB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cFxuICAgICAgPyB0aGlzLkVudmlyb25tZW50LkRldk9wc0FjdGlvbnNbdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBdIHx8IHt9XG4gICAgICA6IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBEZXZPcHNBY3Rpb25Mb29rdXAoKTogc3RyaW5nIHtcbiAgICBpZiAoISF0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwRm9ybUNvbnRyb2wudmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbD8uRGV2T3BzQWN0aW9uVHJpZ2dlckxvb2t1cHMpIHtcbiAgICAgIHJldHVybiB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sPy5EZXZPcHNBY3Rpb25UcmlnZ2VyTG9va3Vwc1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBEZXZPcHNBY3Rpb25Mb29rdXBGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuZ2V0KCdkZXZPcHNBY3Rpb25Mb29rdXAnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9ucygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0Rldk9wc0FjdGlvbiB9IHtcbiAgICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zIHx8IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBFZGl0aW5nU291cmNlQ29udHJvbCgpOiBFYUNTb3VyY2VDb250cm9sIHtcbiAgICBsZXQgc2MgPSB0aGlzLkVudmlyb25tZW50Py5Tb3VyY2VzXG4gICAgICA/IHRoaXMuRW52aXJvbm1lbnQ/LlNvdXJjZXNbdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbExvb2t1cF1cbiAgICAgIDogbnVsbDtcblxuICAgIGlmIChzYyA9PSBudWxsICYmIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXApIHtcbiAgICAgIHNjID0ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHNjO1xuICB9XG5cbiAgcHVibGljIGdldCBNYWluQnJhbmNoRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmdldChcbiAgICAgIHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnbWFpbkJyYW5jaCdcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBPcmdhbml6YXRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuZ2V0KFxuICAgICAgdGhpcy5Tb3VyY2VDb250cm9sUm9vdCArICdvcmdhbml6YXRpb24nXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUmVwb3NpdG9yeUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5nZXQoXG4gICAgICB0aGlzLlNvdXJjZUNvbnRyb2xSb290ICsgJ3JlcG9zaXRvcnknXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5lYWNTdmMuU3RhdGU7XG4gIH1cblxuICBwdWJsaWMgQnJhbmNoT3B0aW9uczogR2l0SHViQnJhbmNoW107XG5cbiAgcHVibGljIEJ1aWxkUGF0aE9wdGlvbnM6IHN0cmluZ1tdO1xuXG4gIHB1YmxpYyBDcmVhdGluZ1JlcG9zaXRvcnk6IGJvb2xlYW47XG5cbiAgcHVibGljIERldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgSG9zdGluZ0RldGFpbHM6IFByb2plY3RIb3N0aW5nRGV0YWlscztcblxuICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbjtcblxuICBwdWJsaWMgT3JnYW5pemF0aW9uT3B0aW9uczogR2l0SHViT3JnYW5pemF0aW9uW107XG5cbiAgcHVibGljIFJlcG9zaXRvcnlPcHRpb25zOiBHaXRIdWJSZXBvc2l0b3J5W107XG5cbiAgcHVibGljIFNlbGVjdGVkQnJhbmNoZXM6IHN0cmluZ1tdO1xuXG4gIHB1YmxpYyByZWFkb25seSBTZXBhcmF0b3JLZXlzQ29kZXMgPSBbRU5URVIsIENPTU1BXSBhcyBjb25zdDtcblxuICAvLyAgQ29uc3RydWN0b3JzXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyXG4gICkge1xuICAgIHRoaXMuU2F2ZVN0YXR1c0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgdGhpcy5CdWlsZFBhdGggPSBudWxsO1xuXG4gICAgdGhpcy5Ib3N0aW5nRGV0YWlscyA9IG5ldyBQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTtcblxuICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IFtdO1xuXG4gICAgdGhpcy5Tb3VyY2VDb250cm9sUm9vdCA9ICcnO1xuXG4gICAgdGhpcy5Vc2VCcmFuY2hlcyA9IHRydWU7XG5cbiAgICB0aGlzLlVzZUJ1aWxkUGF0aCA9IGZhbHNlO1xuICB9XG5cbiAgLy8gIExpZmUgQ3ljbGVcbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHt9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveUZvcm1Db250cm9scygpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgY29uc29sZS5sb2coXCJzb3VyY2UgY29udHJvbCBsb29rdXBcIiwgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbExvb2t1cClcblxuICAgIGlmICh0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sTG9va3VwID09PSBudWxsKSB7XG4gICAgICB0aGlzLkNyZWF0ZU5ld1NvdXJjZUNvbnRyb2woKTtcbiAgICB9XG4gICAgY29uc29sZS5sb2coXCJzb3VyY2UgY29udHJvbFwiLCB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sKTtcblxuICAgIGlmICh0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sICE9IG51bGwpIHtcbiAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe30pO1xuXG4gICAgICB0aGlzLnNldHVwRm9ybUNvbnRyb2xzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5SZWZyZXNoT3JnYW5pemF0aW9ucygpO1xuICB9XG5cbiAgLy8gIEFQSSBNZXRob2RzXG4gIHB1YmxpYyBBZGRCcmFuY2hPcHRpb24oZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5hZGRCcmFuY2hPcHRpb24oZXZlbnQudmFsdWUpO1xuXG4gICAgZXZlbnQuaW5wdXQudmFsdWUgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBCcmFuY2hPcHRpb25TZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYWRkQnJhbmNoT3B0aW9uKGV2ZW50Lm9wdGlvbi52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgQnJhbmNoZXNDaGFuZ2VkKGJyYW5jaGVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMubG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpO1xuICB9XG5cbiAgcHVibGljIEJ1aWxkUGF0aENoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgIC8vZG8gc29tZXRoaW5nPz9cbiAgfVxuXG4gIHB1YmxpYyBDcmVhdGVOZXdTb3VyY2VDb250cm9sKCk6IHZvaWQge1xuICAgIHRoaXMuU2V0RWRpdGluZ1NvdXJjZUNvbnRyb2woR3VpZC5DcmVhdGVSYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgQ3JlYXRlUmVwb3NpdG9yeSgpOiB2b2lkIHtcbiAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IHRydWU7XG5cbiAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC5yZXNldCgpO1xuICB9XG5cbiAgcHVibGljIENhbmNlbENyZWF0ZVJlcG9zaXRvcnkoKTogdm9pZCB7XG4gICAgdGhpcy5DcmVhdGluZ1JlcG9zaXRvcnkgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXBDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyZURldk9wc0FjdGlvbigpO1xuICB9XG5cbiAgcHVibGljIE1haW5CcmFuY2hDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBPcmdhbml6YXRpb25DaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBvcmcgPSB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sO1xuXG4gICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLkJyYW5jaGVzRm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG4gICAgfVxuXG4gICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKCk7XG4gIH1cblxuICBwdWJsaWMgUmVmcmVzaE9yZ2FuaXphdGlvbnMoKTogdm9pZCB7XG4gICAgLy8gdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxpc3RPcmdhbml6YXRpb25zKCk7XG5cbiAgICB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy5yZXNldCgpO1xuXG4gICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnJlc2V0KCk7XG5cbiAgICBpZiAodGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sPy5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBSZW1vdmVCcmFuY2hPcHRpb24ob3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5pbmRleE9mKG9wdGlvbik7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0QnJhbmNoZXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgUmVwb3NpdG9yeUNoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IHJlcG8gPSB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbDtcblxuICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLkJyYW5jaGVzRm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG5cbiAgICAgIHRoaXMubGlzdEJyYW5jaGVzKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLmxpc3RCdWlsZFBhdGhzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIFNhdmVSZXBvc2l0b3J5KCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICBjb25zdCBvcmcgPSB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgY29uc3QgcmVwb05hbWUgPSB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZTtcblxuICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgIC5DcmVhdGVSZXBvc2l0b3J5KG9yZywgcmVwb05hbWUpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgIHRoaXMubGlzdFJlcG9zaXRvcmllcyhyZXBvTmFtZSk7XG5cbiAgICAgICAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vICBUT0RPOiAgTmVlZCB0byBzdXJmYWNlIGFuIGVycm9yIHRvIHRoZSB1c2VyLi4uXG5cbiAgICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgU2V0RWRpdGluZ1NvdXJjZUNvbnRyb2woc2NMb29rdXA6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXAgPSBzY0xvb2t1cDtcbiAgfVxuXG4gIHB1YmxpYyBTdWJtaXRTb3VyY2VDb250cm9sKCkge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgJ3NvdXJjZSBjb250cm9sIHN1Ym1pdHRlZDogJyxcbiAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC52YWx1ZVxuICAgICk7XG4gICAgdGhpcy5TYXZlU291cmNlQ29udHJvbCgpO1xuICB9XG5cbiAgcHVibGljIFNhdmVTb3VyY2VDb250cm9sKCk6IHZvaWQge1xuICAgIGNvbnN0IHNhdmVFbnZSZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgIEVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnRoaXMuRW52aXJvbm1lbnQsXG4gICAgICAgIFNvdXJjZXM6IHRoaXMuRW52aXJvbm1lbnQuU291cmNlcyB8fCB7fSxcbiAgICAgIH0sXG4gICAgICBFbnZpcm9ubWVudExvb2t1cDogdGhpcy5FbnZpcm9ubWVudExvb2t1cCxcbiAgICAgIEVudGVycHJpc2VEYXRhVG9rZW5zOiB7fSxcbiAgICB9O1xuXG4gICAgbGV0IHNvdXJjZTogRWFDU291cmNlQ29udHJvbCA9IHtcbiAgICAgIC4uLnRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wsXG4gICAgICBCcmFuY2hlczogdGhpcy5TZWxlY3RlZEJyYW5jaGVzLFxuICAgICAgTWFpbkJyYW5jaDogdGhpcy5NYWluQnJhbmNoRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgfTtcblxuICAgIHNvdXJjZSA9IHtcbiAgICAgIC4uLnNvdXJjZSxcbiAgICAgIFR5cGU6ICdHaXRIdWInLFxuICAgICAgTmFtZTogYEAke3RoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2wudmFsdWV9LyR7dGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wudmFsdWV9YCxcbiAgICAgIERldk9wc0FjdGlvblRyaWdnZXJMb29rdXBzOiBbdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBdLFxuICAgICAgT3JnYW5pemF0aW9uOiB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgUmVwb3NpdG9yeTogdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wudmFsdWUsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjTG9va3VwID0gYGdpdGh1YjovLyR7c291cmNlLk9yZ2FuaXphdGlvbn0vJHtzb3VyY2UuUmVwb3NpdG9yeX1gO1xuXG4gICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5Tb3VyY2VzW3NjTG9va3VwXSA9IHNvdXJjZTtcblxuICAgIGNvbnNvbGUubG9nKCdzYXZlIFNDOiAnLCBzYXZlRW52UmVxKVxuXG4gICAgbGV0IHJlc3AgPSB0aGlzLmVhY1N2Yy5TYXZlRW52aXJvbm1lbnRBc0NvZGUoc2F2ZUVudlJlcSk7XG5cbiAgICByZXNwLnRoZW4oKHJlcykgPT4ge1xuICAgICAgdGhpcy5TYXZlU3RhdHVzRXZlbnQuZW1pdChyZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gIEhlbHBlcnNcblxuICBwcm90ZWN0ZWQgYWRkQnJhbmNoT3B0aW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB2YWx1ZSA9ICh2YWx1ZSB8fCAnJykudHJpbSgpO1xuXG4gICAgaWYgKHZhbHVlICYmIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5pbmRleE9mKHZhbHVlKSA8IDApIHtcbiAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5wdXNoKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLkJyYW5jaGVzSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG5cbiAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25maWd1cmVEZXZPcHNBY3Rpb24oKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95Rm9ybUNvbnRyb2xzKCk6IHZvaWQge1xuICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5yZW1vdmVDb250cm9sKFxuICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdtYWluQnJhbmNoJ10uam9pbignJylcbiAgICApO1xuXG4gICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5yZW1vdmVDb250cm9sKFxuICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdicmFuY2hlcyddLmpvaW4oJycpXG4gICAgKTtcblxuICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8ucmVtb3ZlQ29udHJvbChcbiAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnVpbGRQYXRoJ10uam9pbignJylcbiAgICApO1xuXG4gICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG5cbiAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA/LnJlbW92ZUNvbnRyb2woXG4gICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ29yZ2FuaXphdGlvbiddLmpvaW4oJycpXG4gICAgKTtcblxuICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8ucmVtb3ZlQ29udHJvbChcbiAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAncmVwb3NpdG9yeSddLmpvaW4oJycpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0QnJhbmNoZXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcz8ubGVuZ3RoID4gMCAmJlxuICAgICAgKCF0aGlzLk1haW5CcmFuY2hGb3JtQ29udHJvbC52YWx1ZSB8fFxuICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMuaW5kZXhPZih0aGlzLk1haW5CcmFuY2hGb3JtQ29udHJvbC52YWx1ZSkgPCAwKVxuICAgICkge1xuICAgICAgdGhpcy5NYWluQnJhbmNoRm9ybUNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5maW5kKFxuICAgICAgICAgIChicmFuY2gpID0+IGJyYW5jaCA9PT0gJ21haW4nIHx8IGJyYW5jaCA9PT0gJ21hc3RlcidcbiAgICAgICAgKSB8fCB0aGlzLlNlbGVjdGVkQnJhbmNoZXNbMF1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLlNlbGVjdGVkQnJhbmNoZXM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLk1haW5CcmFuY2hGb3JtQ29udHJvbC5yZXNldCgpO1xuICAgIH1cblxuICAgIHRoaXMuQnJhbmNoZXNGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLlNlbGVjdGVkQnJhbmNoZXMuam9pbignLCcpKTtcblxuICAgIHRoaXMuQnJhbmNoZXNDaGFuZ2VkKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyB8fCBbXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbGlzdEJyYW5jaGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAgIC5MaXN0QnJhbmNoZXMoXG4gICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEdpdEh1YkJyYW5jaFtdPikgPT4ge1xuICAgICAgICAgIHRoaXMuQnJhbmNoT3B0aW9ucyA9IHJlc3BvbnNlLk1vZGVsO1xuXG4gICAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAodGhpcy5FZGl0aW5nU291cmNlQ29udHJvbD8uQnJhbmNoZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wuQnJhbmNoZXM7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLkJyYW5jaE9wdGlvbnM/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuQnJhbmNoT3B0aW9uc1swXS5OYW1lKTtcblxuICAgICAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW3RoaXMuQnJhbmNoT3B0aW9uc1swXS5OYW1lXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcblxuICAgICAgICAgIHRoaXMubGlzdEJ1aWxkUGF0aHMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGxpc3RCdWlsZFBhdGhzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLlVzZUJ1aWxkUGF0aCkge1xuICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAuTGlzdEJ1aWxkUGF0aHMoXG4gICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPHN0cmluZ1tdPikgPT4ge1xuICAgICAgICAgIHRoaXMuQnVpbGRQYXRoT3B0aW9ucyA9IHJlc3BvbnNlLk1vZGVsO1xuXG4gICAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAodGhpcy5CdWlsZFBhdGhPcHRpb25zPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuQnVpbGRQYXRoRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5CdWlsZFBhdGhPcHRpb25zWzBdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBsaXN0T3JnYW5pemF0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgLkxpc3RPcmdhbml6YXRpb25zKClcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEdpdEh1Yk9yZ2FuaXphdGlvbltdPikgPT4ge1xuICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbk9wdGlvbnMgPSByZXNwb25zZS5Nb2RlbDtcbiAgICAgICAgY29uc29sZS5sb2coXCJPcmdhbml6YXRpb24gT3B0aW9uczogXCIsIHRoaXMuT3JnYW5pemF0aW9uT3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/Lk9yZ2FuaXphdGlvbikge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbC5Pcmdhbml6YXRpb25cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMubGlzdFJlcG9zaXRvcmllcyh0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sPy5SZXBvc2l0b3J5KTtcbiAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbGlzdFJlcG9zaXRvcmllcyhhY3RpdmVSZXBvOiBzdHJpbmcgPSBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgIC5MaXN0UmVwb3NpdG9yaWVzKHRoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2wudmFsdWUpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxHaXRIdWJSZXBvc2l0b3J5W10+KSA9PiB7XG4gICAgICAgIHRoaXMuUmVwb3NpdG9yeU9wdGlvbnMgPSByZXNwb25zZS5Nb2RlbDtcblxuICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICBpZiAoYWN0aXZlUmVwbykge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wuc2V0VmFsdWUoYWN0aXZlUmVwbyk7XG5cbiAgICAgICAgICAgIHRoaXMubGlzdEJyYW5jaGVzKCk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgICAgICAgICB0aGlzLmxpc3RCdWlsZFBhdGhzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5SZXBvc2l0b3J5T3B0aW9ucz8ubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAuTG9hZFByb2plY3RIb3N0aW5nRGV0YWlscyhcbiAgICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWx1ZSxcbiAgICAgICAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsdWUsXG4gICAgICAgICAgdGhpcy5NYWluQnJhbmNoRm9ybUNvbnRyb2w/LnZhbHVlXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8UHJvamVjdEhvc3RpbmdEZXRhaWxzPikgPT4ge1xuICAgICAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscyA9IHJlc3BvbnNlLk1vZGVsO1xuXG4gICAgICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmVEZXZPcHNBY3Rpb24oKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMuTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBGb3JtQ29udHJvbHMoKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95Rm9ybUNvbnRyb2xzKCk7XG5cbiAgICBjb25zb2xlLmxvZyhcIlNvdXJjZSBDb250cm9sOiBcIiwgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbCk7XG5cbiAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdkZXZPcHNBY3Rpb25Mb29rdXAnLFxuICAgICAgbmV3IEZvcm1Db250cm9sKHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwIHx8ICcnLCBbXSlcbiAgICApO1xuXG4gICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ29yZ2FuaXphdGlvbiddLmpvaW4oJycpLFxuICAgICAgbmV3IEZvcm1Db250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sLk9yZ2FuaXphdGlvbiA/PyAnJyxcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAncmVwb3NpdG9yeSddLmpvaW4oJycpLFxuICAgICAgbmV3IEZvcm1Db250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sLlJlcG9zaXRvcnkgPz8gJycsXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICAgIClcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuVXNlQnJhbmNoZXMpIHtcbiAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ2JyYW5jaGVzJ10uam9pbignJyksXG4gICAgICAgIG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sPy5CcmFuY2hlcyA/PyAnJyxcbiAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICAgIClcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/LkJyYW5jaGVzO1xuXG4gICAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdtYWluQnJhbmNoJ10uam9pbignJyksXG4gICAgICAgIG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sLk1haW5CcmFuY2ggPz8gJycsXG4gICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLlVzZUJ1aWxkUGF0aCkge1xuICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnVpbGRQYXRoJ10uam9pbignJyksXG4gICAgICAgIG5ldyBGb3JtQ29udHJvbCh0aGlzLkJ1aWxkUGF0aCA/PyAnJywgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8Zm9ybSBcbiAgY2xhc3M9XCJmb3JtLWNhcmRcIiBcbiAgW2Zvcm1Hcm91cF09XCJEZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwXCIgXG4gIChuZ1N1Ym1pdCk9XCJTdWJtaXRTb3VyY2VDb250cm9sKClcIlxuPlxuXG4gIDxtYXQtY2FyZCBjbGFzcz1cInNwcmVhZFwiIGNsYXNzPVwic2MtY2FyZFwiPlxuICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICA8bWF0LWNhcmQtdGl0bGU+IFNvdXJjZSBDb250cm9sIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4IG1hdFRvb2x0aXA9XCJDb25maWd1cmUgc291cmNlIGNvbnRyb2wsIERldk9wcyBDSS9DRCwgYW5kIGFydGlmYWN0cy5cIj5cbiAgICAgICAgaW5mb19vdXRsaW5lXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJTdGF0ZT8uTG9hZGluZ1wiPlxuXG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBcbiAgICAgICAgICBjbGFzcz1cInMtYmxvY2tcIlxuICAgICAgICAgIGVmZmVjdD1cIndhdmVcIiBcbiAgICAgICAgPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIFxuICAgICAgICAgIGNsYXNzPVwicy1ibG9ja1wiXG4gICAgICAgICAgZWZmZWN0PVwid2F2ZVwiIFxuICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICBlZmZlY3Q9XCJ3YXZlXCIgXG4gICAgICAgID48L3NrZWxldG9uLWJsb2NrPlxuXG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBcbiAgICAgICAgICBjbGFzcz1cInMtYmxvY2tcIlxuICAgICAgICAgIGVmZmVjdD1cIndhdmVcIiBcbiAgICAgICAgPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVN0YXRlPy5Mb2FkaW5nXCI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGV2T3BzQWN0aW9uTG9va3VwXCIgXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRGV2T3BzIEFjdGlvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJIb3N0aW5nRGV0YWlscz8uTG9hZGluZ1wiIFxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIkRldk9wc0FjdGlvbkxvb2t1cENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRldk9wc0FjdGlvbkxvb2t1cCBvZiBEZXZPcHNBY3Rpb25Mb29rdXBzXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGV2T3BzQWN0aW9uTG9va3VwXCIgXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIkRldk9wc0FjdGlvbnNbZGV2T3BzQWN0aW9uTG9va3VwXTsgbGV0IGRldk9wc0FjdGlvblwiPlxuICAgICAgICAgICAgICAgICAge3sgZGV2T3BzQWN0aW9uLk5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiXCI+LS0gQ3JlYXRlIE5ldyAtLTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIiAqbmdJZj1cIk9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCB8fCAhTG9hZGluZ1wiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGggd2l0aC1oaW50IG1hcmdpbi1ib3R0b21cIiBcbiAgICAgICAgICAgICpuZ0lmPVwiT3JnYW5pemF0aW9uT3B0aW9ucz8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwib3JnLWljb25cIiBtYXRQcmVmaXg+Y29ycG9yYXRlX2ZhcmU8L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdvcmdhbml6YXRpb24nXCIgXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiT3JnYW5pemF0aW9uXCJcbiAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJPcmdhbml6YXRpb25DaGFuZ2VkKCRldmVudClcIiBcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIkxvYWRpbmcgfHwgSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIiBcbiAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3JnT3B0IG9mIE9yZ2FuaXphdGlvbk9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3JnT3B0Lk5hbWVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IG9yZ09wdC5OYW1lIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cblxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeCAoY2xpY2spPVwiUmVmcmVzaE9yZ2FuaXphdGlvbnMoKVwiIG1hdFRvb2x0aXA9XCJSZWZyZXNoIE9yZ2FuaXphdGlvblwiIGNvbG9yPVwiYWNjZW50XCI+IHJlZnJlc2ggPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPGEgbWF0U3VmZml4IGhyZWY9XCIvLm9hdXRoL2dpdGh1Yj9vYXV0aC1mb3JjZS1lZGl0PXRydWVcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjb2xvcj1cImFjY2VudFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJhY2NlbnRcIiBtYXRUb29sdGlwPVwiUmUtYXV0aG9yaXplIE9yZ2FuaXphdGlvbnNcIj4gbGF1bmNoIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDxtYXQtaGludD5cbiAgICAgICAgICAgICAgSWYgeW91IGRvbid0IGhhdmUgYW4gb3JnYW5pemF0aW9uIG9yIHdvdWxkIGxpa2UgdG8gY3JlYXRlIGEgbmV3IG9uZSxcbiAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vZ2l0aHViLmNvbS9hY2NvdW50L29yZ2FuaXphdGlvbnMvbmV3XCIgY2xhc3M9XCJwcmltYXJ5LWxpbmtcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICAgICAgICBzdGFydCBoZXJlXG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbWF0LWhpbnQ+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIiAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZCB8fFxuICAgICAgICAgICAgICAgICAgKE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCAmJiAhTG9hZGluZylcbiAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwib3JnLWljb25cIiBtYXRQcmVmaXg+ZGVzY3JpcHRpb248L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cIlNvdXJjZUNvbnRyb2xSb290ICsgJ3JlcG9zaXRvcnknXCIgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnUmVwb3NpdG9yeSdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJ1JlcG9zaXRvcnkgKHNlbGVjdCBvcmdhbml6YXRpb24gZmlyc3QpJ1xuICAgICAgICAgICAgICAgICAgICBcIiBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgIU9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCB8fCBMb2FkaW5nIHx8IEhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgIFwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiUmVwb3NpdG9yeUNoYW5nZWQoJGV2ZW50KVwiICpuZ0lmPVwiIUNyZWF0aW5nUmVwb3NpdG9yeVwiIHJlcXVpcmVkPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZXBvT3B0IG9mIFJlcG9zaXRvcnlPcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInJlcG9PcHQuTmFtZVwiPlxuICAgICAgICAgICAgICAgICAge3sgcmVwb09wdC5OYW1lIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cblxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiUmVwb3NpdG9yeSAoY3JlYXRlcyBuZXcgaWYgZG9lcyBub3QgZXhpc3QpXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdyZXBvc2l0b3J5J1wiICpuZ0lmPVwiQ3JlYXRpbmdSZXBvc2l0b3J5XCJcbiAgICAgICAgICAgICAgW2Z4SGlkZV09XCJMb2FkaW5nIHx8IEhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXCIgcmVxdWlyZWQgLz5cblxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeCAoY2xpY2spPVwiQ3JlYXRlUmVwb3NpdG9yeSgpXCIgW2Z4SGlkZV09XCJMb2FkaW5nIHx8IEhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhQ3JlYXRpbmdSZXBvc2l0b3J5ICYmIE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZFwiPlxuICAgICAgICAgICAgICBhZGRfY2lyY2xlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJTYXZlUmVwb3NpdG9yeSgpXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJDcmVhdGluZ1JlcG9zaXRvcnkgJiYgUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZFwiPlxuXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgc2F2ZVxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIkNhbmNlbENyZWF0ZVJlcG9zaXRvcnkoKVwiICpuZ0lmPVwiQ3JlYXRpbmdSZXBvc2l0b3J5XCI+XG5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeD5cbiAgICAgICAgICAgICAgICBjYW5jZWxcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCIgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgIChCcmFuY2hlc0Zvcm1Db250cm9sPy52YWxpZCB8fFxuICAgICAgICAgICAgICAgICAgICAoT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkICYmXG4gICAgICAgICAgICAgICAgICAgICAgUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICFMb2FkaW5nKSkgJiZcbiAgICAgICAgICAgICAgICAgICFDcmVhdGluZ1JlcG9zaXRvcnkgJiZcbiAgICAgICAgICAgICAgICAgIFVzZUJyYW5jaGVzXG4gICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm9yZy1pY29uXCIgbWF0UHJlZml4PmFjY291bnRfdHJlZTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+U2VsZWN0ZWQgQnJhbmNoZXM8L21hdC1sYWJlbD5cblxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgKG9wdGlvblNlbGVjdGVkKT1cIkJyYW5jaE9wdGlvblNlbGVjdGVkKCRldmVudClcIiAjYnJhbmNoT3B0aW9ucz1cIm1hdEF1dG9jb21wbGV0ZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBicmFuY2hPcHQgb2YgQnJhbmNoT3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJicmFuY2hPcHQuTmFtZVwiPlxuICAgICAgICAgICAgICAgICAge3sgYnJhbmNoT3B0Lk5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuXG4gICAgICAgICAgICA8bWF0LWNoaXAtbGlzdCAjc2VsZWN0ZWRCcmFuY2hlcz5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwIFtyZW1vdmFibGVdPVwidHJ1ZVwiIChyZW1vdmVkKT1cIlJlbW92ZUJyYW5jaE9wdGlvbihzZWxCcmFuY2gpXCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VsQnJhbmNoIG9mIFNlbGVjdGVkQnJhbmNoZXNcIj5cbiAgICAgICAgICAgICAgICB7eyBzZWxCcmFuY2ggfX1cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuXG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIk5ldyBCcmFuY2guLi5cIiBbZm9ybUNvbnRyb2xOYW1lXT1cIlNvdXJjZUNvbnRyb2xSb290ICsgJ2JyYW5jaGVzJ1wiICNicmFuY2hlc1xuICAgICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYnJhbmNoT3B0aW9uc1wiIFttYXRDaGlwSW5wdXRGb3JdPVwic2VsZWN0ZWRCcmFuY2hlc1wiXG4gICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cIlNlcGFyYXRvcktleXNDb2Rlc1wiIFttYXRDaGlwSW5wdXRBZGRPbkJsdXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKG1hdENoaXBJbnB1dFRva2VuRW5kKT1cIkFkZEJyYW5jaE9wdGlvbigkZXZlbnQpXCIgW2Rpc2FibGVkXT1cIkxvYWRpbmcgfHwgSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkIC8+XG4gICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoIHdpdGgtaGludFwiIFtmeFNob3ddPVwiU2VsZWN0ZWRCcmFuY2hlcz8ubGVuZ3RoID4gMVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwib3JnLWljb25cIiBtYXRQcmVmaXg+YWNjb3VudF90cmVlPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdtYWluQnJhbmNoJ1wiIHBsYWNlaG9sZGVyPVwiTWFpbiBCcmFuY2hcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiTG9hZGluZyB8fCBIb3N0aW5nRGV0YWlscz8uTG9hZGluZ1wiIChzZWxlY3Rpb25DaGFuZ2UpPVwiTWFpbkJyYW5jaENoYW5nZWQoJGV2ZW50KVwiIHJlcXVpcmVkPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBicmFuY2ggb2YgU2VsZWN0ZWRCcmFuY2hlc1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJicmFuY2hcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGJyYW5jaCB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggKGNsaWNrKT1cIlJlZnJlc2hPcmdhbml6YXRpb25zKClcIiBjb2xvcj1cImFjY2VudFwiPiByZWZyZXNoIDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxhIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gaHJlZj1cIi8ub2F1dGgvZ2l0aHViP29hdXRoLWZvcmNlLWVkaXQ9dHJ1ZVwiIHRhcmdldD1cIl9ibGFua1wiIGNvbG9yPVwiYWNjZW50XCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRUb29sdGlwPVwiUmUtYXV0aG9yaXplIE9yZ2FuaXphdGlvbnNcIiBjb2xvcj1cImFjY2VudFwiPiBsYXVuY2ggPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPG1hdC1oaW50PlxuICAgICAgICAgICAgICBJZiB5b3UgZG9uJ3QgaGF2ZSBhbiBvcmdhbml6YXRpb24gb3Igd291bGQgbGlrZSB0byBjcmVhdGUgYSBuZXcgb25lLFxuICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL2FjY291bnQvb3JnYW5pemF0aW9ucy9uZXdcIiB0YXJnZXQ9XCJfYmxhbmtcImNsYXNzPVwicHJpbWFyeS1saW5rXCI+XG4gICAgICAgICAgICAgICAgc3RhcnQgaGVyZVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCIgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgIChCdWlsZFBhdGhGb3JtQ29udHJvbD8udmFsaWQgfHxcbiAgICAgICAgICAgICAgICAgICAgKE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgICAgICAgICAgICAgIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAhTG9hZGluZykpICYmXG4gICAgICAgICAgICAgICAgICAhQ3JlYXRpbmdSZXBvc2l0b3J5ICYmXG4gICAgICAgICAgICAgICAgICBVc2VCdWlsZFBhdGhcbiAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aCB3aXRoLWhpbnRcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm9yZy1pY29uXCIgbWF0UHJlZml4PmJ1aWxkPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdidWlsZFBhdGgnXCIgcGxhY2Vob2xkZXI9XCJCdWlsZCBQYXRoXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIkxvYWRpbmcgfHwgQnVpbGRQYXRoRGlzYWJsZWRcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIkJ1aWxkUGF0aENoYW5nZWQoJGV2ZW50KVwiIHJlcXVpcmVkPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBidWlsZFBhdGggb2YgQnVpbGRQYXRoT3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJidWlsZFBhdGhcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGJ1aWxkUGF0aCB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxtYXQtaGludD5cbiAgICAgICAgICAgICAgVGhlIGJ1aWxkIHBhdGggaWRlbnRpZmllcyB3aGljaCBidWlsZCBhY3Rpb24gdG8gdXNlIGZvciB5b3VyXG4gICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24uXG4gICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJMb2FkaW5nXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNwcmVhZFwiPlxuICAgICAgICAgICAgPGxjdS1sb2FkZXIgc3R5bGU9XCJtYXJnaW46IGF1dG9cIiBbbG9hZGluZ109XCJ0cnVlXCI+PC9sY3UtbG9hZGVyPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTNcIj5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWF0LXRpdGxlXCIgKm5nSWY9XCIhT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkXCI+XG4gICAgICAgICAgICAgICAgTG9hZGluZyBvcmdhbml6YXRpb25zXG4gICAgICAgICAgICAgIDwvaDQ+XG5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWF0LXRpdGxlXCIgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCAmJiAhUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZFxuICAgICAgICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgICAgIExvYWRpbmcgcmVwb3NpdG9yaWVzXG4gICAgICAgICAgICAgIDwvaDQ+XG5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWF0LXRpdGxlXCIgKm5nSWY9XCJSZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnZhbGlkICYmICFCcmFuY2hlc0Zvcm1Db250cm9sPy52YWxpZFwiPlxuICAgICAgICAgICAgICAgIExvYWRpbmcgYnJhbmNoZXNcbiAgICAgICAgICAgICAgPC9oND5cblxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJtYXQtdGl0bGVcIiAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgfHwgQnJhbmNoZXNGb3JtQ29udHJvbD8udmFsaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhQnVpbGRQYXRoRm9ybUNvbnRyb2w/LnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgTG9hZGluZyBidWlsZCBwYXRoc1xuICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8IS0tIDwvZGl2PiAtLT5cblxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8bWF0LWNhcmQtYWN0aW9ucyBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuXG4gICAgICA8YnV0dG9uIFxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbiBcbiAgICAgICAgKm5nSWY9XCIhU3RhdGU/LkxvYWRpbmdcIlxuICAgICAgICB0eXBlPVwic3VibWl0XCIgXG4gICAgICAgIGZ4RmxleD1cIjEwMCVcIiBcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCIgXG4gICAgICAgIFtkaXNhYmxlZF09XCIhRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC52YWxpZCB8fCAhRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5kaXJ0eVwiPlxuICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICAgIFNhdmUgU291cmNlIENvbnRyb2xcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGxjdS1sb2FkZXIgW2xvYWRpbmddPVwiU3RhdGU/LkxvYWRpbmdcIj48L2xjdS1sb2FkZXI+XG4gICAgICBcbiAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICA8L21hdC1jYXJkPlxuPC9mb3JtPiJdfQ==
|
|
401
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsV0FBVyxFQUVYLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBcUMsSUFBSSxFQUFVLE1BQU0sYUFBYSxDQUFDO0FBWTlFLE9BQU8sRUFLTCxxQkFBcUIsR0FDdEIsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPN0MsTUFBTSxPQUFPLGdDQUFnQztJQTJKM0MsZ0JBQWdCO0lBQ2hCLFlBQ1ksV0FBb0MsRUFDcEMsTUFBa0IsRUFDbEIsV0FBd0I7UUFGeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFOcEIsdUJBQWtCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUM7UUFRM0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFD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LENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDO1lBRTVELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQzFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDL0MsSUFBSSxXQUFXLENBQ2IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQzFDLFVBQVUsQ0FBQyxRQUFRLENBQ3BCLENBQ0YsQ0FBQztTQUNIO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQzFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDOUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUMzRCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs2SEEzbEJVLGdDQUFnQztpSEFBaEMsZ0NBQWdDLDBiQy9DN0MsNndXQStSTzsyRkRoUE0sZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLGdDQUFnQztpS0FVbkMsMEJBQTBCO3NCQURoQyxLQUFLO3VCQUFDLCtCQUErQjtnQkFJL0IsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxhQUFhO2dCQUliLGlCQUFpQjtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSXBCLGVBQWU7c0JBRHJCLE1BQU07dUJBQUMsbUJBQW1CO2dCQUlwQixhQUFhO3NCQURuQixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDT01NQSwgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBCYXNlTW9kZWxlZFJlc3BvbnNlLCBCYXNlUmVzcG9uc2UsIEd1aWQsIFN0YXR1cyB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7XG4gIEVhQ0FydGlmYWN0LFxuICBFYUNEZXZPcHNBY3Rpb24sXG4gIEVhQ0Vudmlyb25tZW50QXNDb2RlLFxuICBFYUNTb3VyY2VDb250cm9sLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEVhQ1NlcnZpY2UsXG4gIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICBHaXRIdWJCcmFuY2gsXG4gIEdpdEh1Yk9yZ2FuaXphdGlvbixcbiAgR2l0SHViUmVwb3NpdG9yeSxcbiAgUHJvamVjdEhvc3RpbmdEZXRhaWxzLFxufSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rldm9wcy1zb3VyY2UtY29udHJvbC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERldm9wc1NvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXRcbntcbiAgLy8gIEZpZWxkc1xuXG4gIEBJbnB1dCgnZWRpdGluZy1zb3VyY2UtY29udHJvbC1sb29rdXAnKVxuICBwdWJsaWMgRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXA6IHN0cmluZztcblxuICBASW5wdXQoJ2Vudmlyb25tZW50JylcbiAgcHVibGljIEVudmlyb25tZW50OiBFYUNFbnZpcm9ubWVudEFzQ29kZTtcblxuICBASW5wdXQoJ2Vudmlyb25tZW50LWxvb2t1cCcpXG4gIHB1YmxpYyBFbnZpcm9ubWVudExvb2t1cDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ3NhdmUtc3RhdHVzLWV2ZW50JylcbiAgcHVibGljIFNhdmVTdGF0dXNFdmVudDogRXZlbnRFbWl0dGVyPFN0YXR1cz47XG5cbiAgQFZpZXdDaGlsZCgnYnJhbmNoZXMnKVxuICBwdWJsaWMgQnJhbmNoZXNJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAvL09wdGlvbmFsIGlucHV0IG5vdCBiZWluZyB1c2VkIHNldHRpbmcgdG9cbiAgLy8gQElucHV0KCdidWlsZC1wYXRoJylcbiAgcHVibGljIEJ1aWxkUGF0aDogc3RyaW5nO1xuXG4gIC8vT3B0aW9uYWwgbm90IGJlaW5nIHVzZWRcbiAgLy8gQElucHV0KCdidWlsZC1wYXRoLWRpc2FibGVkJylcbiAgcHVibGljIEJ1aWxkUGF0aERpc2FibGVkOiBib29sZWFuO1xuXG4gIC8vIHRoaXMgaW5wdXQgaXMgbm90IGJlaW5nIHVzZWQgYW55d2hlcmVcbiAgLy8gQElucHV0KCdzb3VyY2UtY29udHJvbC1yb290JylcbiAgcHVibGljIFNvdXJjZUNvbnRyb2xSb290OiBzdHJpbmc7XG5cbiAgLy9ub3QgYmVpbmcgdXNlZCBzZXQgdG8gdHJ1ZSBieSBkZWZhdWx0XG4gIC8vIEBJbnB1dCgndXNlLWJyYW5jaGVzJylcbiAgcHVibGljIFVzZUJyYW5jaGVzOiBib29sZWFuO1xuXG4gIC8vbm90IGJlaW5nIHVzZWQgc2V0IHRvIGZhbHNlIGJ5IGRlZmF1bHRcbiAgLy8gQElucHV0KCd1c2UtYnVpbGQtcGF0aCcpXG4gIHB1YmxpYyBVc2VCdWlsZFBhdGg6IGJvb2xlYW47XG5cbiAgLy8gIFByb3BlcnRpZXNcblxuICBwdWJsaWMgZ2V0IEFydGlmYWN0TG9va3VwcygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5EZXZPcHNBY3Rpb24/LkFydGlmYWN0TG9va3VwcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgQXJ0aWZhY3RMb29rdXAoKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcnRMb29rdXAgPSB0aGlzLkRldk9wc0FjdGlvbj8uQXJ0aWZhY3RMb29rdXBzXG4gICAgICA/IHRoaXMuRGV2T3BzQWN0aW9uPy5BcnRpZmFjdExvb2t1cHNbMF1cbiAgICAgIDogbnVsbDtcbiAgICByZXR1cm4gYXJ0TG9va3VwO1xuICB9XG5cbiAgcHVibGljIGdldCBBcnRpZmFjdCgpOiBFYUNBcnRpZmFjdCB7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0cyAmJiB0aGlzLkFydGlmYWN0TG9va3VwXG4gICAgICA/IHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0c1t0aGlzLkFydGlmYWN0TG9va3VwXSB8fCB7fVxuICAgICAgOiB7fTtcbiAgfVxuICBwdWJsaWMgZ2V0IEJyYW5jaGVzRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmdldChcbiAgICAgIHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnYnJhbmNoZXMnXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgQnVpbGRQYXRoRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmdldChcbiAgICAgIHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnYnVpbGRQYXRoJ1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IERldk9wc0FjdGlvbkxvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5EZXZPcHNBY3Rpb25zKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5EZXZPcHNBY3Rpb25zIHx8IHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucyAmJiB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cFxuICAgICAgPyB0aGlzLkVudmlyb25tZW50LkRldk9wc0FjdGlvbnNbdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBdIHx8IHt9XG4gICAgICA6IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBEZXZPcHNBY3Rpb25Mb29rdXAoKTogc3RyaW5nIHtcbiAgICBpZiAoISF0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwRm9ybUNvbnRyb2wudmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbD8uRGV2T3BzQWN0aW9uVHJpZ2dlckxvb2t1cHMpIHtcbiAgICAgIHJldHVybiB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sPy5EZXZPcHNBY3Rpb25UcmlnZ2VyTG9va3Vwc1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBEZXZPcHNBY3Rpb25Mb29rdXBGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuZ2V0KCdkZXZPcHNBY3Rpb25Mb29rdXAnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9ucygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0Rldk9wc0FjdGlvbiB9IHtcbiAgICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zIHx8IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBFZGl0aW5nU291cmNlQ29udHJvbCgpOiBFYUNTb3VyY2VDb250cm9sIHtcbiAgICBsZXQgc2MgPSB0aGlzLkVudmlyb25tZW50Py5Tb3VyY2VzXG4gICAgICA/IHRoaXMuRW52aXJvbm1lbnQ/LlNvdXJjZXNbdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbExvb2t1cF1cbiAgICAgIDogbnVsbDtcblxuICAgIGlmIChzYyA9PSBudWxsICYmIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXApIHtcbiAgICAgIHNjID0ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHNjO1xuICB9XG5cbiAgcHVibGljIGdldCBNYWluQnJhbmNoRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmdldChcbiAgICAgIHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnbWFpbkJyYW5jaCdcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBPcmdhbml6YXRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuZ2V0KFxuICAgICAgdGhpcy5Tb3VyY2VDb250cm9sUm9vdCArICdvcmdhbml6YXRpb24nXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUmVwb3NpdG9yeUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5nZXQoXG4gICAgICB0aGlzLlNvdXJjZUNvbnRyb2xSb290ICsgJ3JlcG9zaXRvcnknXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5lYWNTdmMuU3RhdGU7XG4gIH1cblxuICBwdWJsaWMgQnJhbmNoT3B0aW9uczogR2l0SHViQnJhbmNoW107XG5cbiAgcHVibGljIEJ1aWxkUGF0aE9wdGlvbnM6IHN0cmluZ1tdO1xuXG4gIHB1YmxpYyBDcmVhdGluZ1JlcG9zaXRvcnk6IGJvb2xlYW47XG5cbiAgcHVibGljIERldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgSG9zdGluZ0RldGFpbHM6IFByb2plY3RIb3N0aW5nRGV0YWlscztcblxuICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbjtcblxuICBwdWJsaWMgT3JnYW5pemF0aW9uT3B0aW9uczogR2l0SHViT3JnYW5pemF0aW9uW107XG5cbiAgcHVibGljIFJlcG9zaXRvcnlPcHRpb25zOiBHaXRIdWJSZXBvc2l0b3J5W107XG5cbiAgcHVibGljIFNlbGVjdGVkQnJhbmNoZXM6IHN0cmluZ1tdO1xuXG4gIHB1YmxpYyByZWFkb25seSBTZXBhcmF0b3JLZXlzQ29kZXMgPSBbRU5URVIsIENPTU1BXSBhcyBjb25zdDtcblxuICAvLyAgQ29uc3RydWN0b3JzXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyXG4gICkge1xuICAgIHRoaXMuU2F2ZVN0YXR1c0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgdGhpcy5CdWlsZFBhdGggPSBudWxsO1xuXG4gICAgdGhpcy5Ib3N0aW5nRGV0YWlscyA9IG5ldyBQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTtcblxuICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IFtdO1xuXG4gICAgdGhpcy5Tb3VyY2VDb250cm9sUm9vdCA9ICcnO1xuXG4gICAgdGhpcy5Vc2VCcmFuY2hlcyA9IHRydWU7XG5cbiAgICB0aGlzLlVzZUJ1aWxkUGF0aCA9IGZhbHNlO1xuICB9XG5cbiAgLy8gIExpZmUgQ3ljbGVcbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHt9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveUZvcm1Db250cm9scygpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgY29uc29sZS5sb2coXCJzb3VyY2UgY29udHJvbCBsb29rdXBcIiwgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbExvb2t1cClcblxuICAgIGlmICh0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sTG9va3VwID09PSBudWxsKSB7XG4gICAgICB0aGlzLkNyZWF0ZU5ld1NvdXJjZUNvbnRyb2woKTtcbiAgICB9XG4gICAgY29uc29sZS5sb2coXCJzb3VyY2UgY29udHJvbFwiLCB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sKTtcblxuICAgIGlmICh0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sICE9IG51bGwpIHtcbiAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe30pO1xuXG4gICAgICB0aGlzLnNldHVwRm9ybUNvbnRyb2xzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5SZWZyZXNoT3JnYW5pemF0aW9ucygpO1xuICB9XG5cbiAgLy8gIEFQSSBNZXRob2RzXG4gIHB1YmxpYyBBZGRCcmFuY2hPcHRpb24oZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5hZGRCcmFuY2hPcHRpb24oZXZlbnQudmFsdWUpO1xuXG4gICAgZXZlbnQuaW5wdXQudmFsdWUgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBCcmFuY2hPcHRpb25TZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYWRkQnJhbmNoT3B0aW9uKGV2ZW50Lm9wdGlvbi52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgQnJhbmNoZXNDaGFuZ2VkKGJyYW5jaGVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMubG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpO1xuICB9XG5cbiAgcHVibGljIEJ1aWxkUGF0aENoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgIC8vZG8gc29tZXRoaW5nPz9cbiAgfVxuXG4gIHB1YmxpYyBDcmVhdGVOZXdTb3VyY2VDb250cm9sKCk6IHZvaWQge1xuICAgIHRoaXMuU2V0RWRpdGluZ1NvdXJjZUNvbnRyb2woR3VpZC5DcmVhdGVSYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgQ3JlYXRlUmVwb3NpdG9yeSgpOiB2b2lkIHtcbiAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IHRydWU7XG5cbiAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC5yZXNldCgpO1xuICB9XG5cbiAgcHVibGljIENhbmNlbENyZWF0ZVJlcG9zaXRvcnkoKTogdm9pZCB7XG4gICAgdGhpcy5DcmVhdGluZ1JlcG9zaXRvcnkgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXBDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyZURldk9wc0FjdGlvbigpO1xuICB9XG5cbiAgcHVibGljIE1haW5CcmFuY2hDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBPcmdhbml6YXRpb25DaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBvcmcgPSB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sO1xuXG4gICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLkJyYW5jaGVzRm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG4gICAgfVxuXG4gICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKCk7XG4gIH1cblxuICBwdWJsaWMgUmVmcmVzaE9yZ2FuaXphdGlvbnMoKTogdm9pZCB7XG4gICAgLy8gdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxpc3RPcmdhbml6YXRpb25zKCk7XG5cbiAgICB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy5yZXNldCgpO1xuXG4gICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnJlc2V0KCk7XG5cbiAgICBpZiAodGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sPy5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBSZW1vdmVCcmFuY2hPcHRpb24ob3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5pbmRleE9mKG9wdGlvbik7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0QnJhbmNoZXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgUmVwb3NpdG9yeUNoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IHJlcG8gPSB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbDtcblxuICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLkJyYW5jaGVzRm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG5cbiAgICAgIHRoaXMubGlzdEJyYW5jaGVzKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLmxpc3RCdWlsZFBhdGhzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIFNhdmVSZXBvc2l0b3J5KCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICBjb25zdCBvcmcgPSB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgY29uc3QgcmVwb05hbWUgPSB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZTtcblxuICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgIC5DcmVhdGVSZXBvc2l0b3J5KG9yZywgcmVwb05hbWUpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgIHRoaXMubGlzdFJlcG9zaXRvcmllcyhyZXBvTmFtZSk7XG5cbiAgICAgICAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vICBUT0RPOiAgTmVlZCB0byBzdXJmYWNlIGFuIGVycm9yIHRvIHRoZSB1c2VyLi4uXG5cbiAgICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgU2V0RWRpdGluZ1NvdXJjZUNvbnRyb2woc2NMb29rdXA6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXAgPSBzY0xvb2t1cDtcbiAgfVxuXG4gIHB1YmxpYyBTdWJtaXRTb3VyY2VDb250cm9sKCkge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgJ3NvdXJjZSBjb250cm9sIHN1Ym1pdHRlZDogJyxcbiAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC52YWx1ZVxuICAgICk7XG4gICAgdGhpcy5TYXZlU291cmNlQ29udHJvbCgpO1xuICB9XG5cbiAgcHVibGljIFNhdmVTb3VyY2VDb250cm9sKCk6IHZvaWQge1xuICAgIGNvbnN0IHNhdmVFbnZSZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgIEVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnRoaXMuRW52aXJvbm1lbnQsXG4gICAgICAgIFNvdXJjZXM6IHRoaXMuRW52aXJvbm1lbnQuU291cmNlcyB8fCB7fSxcbiAgICAgIH0sXG4gICAgICBFbnZpcm9ubWVudExvb2t1cDogdGhpcy5FbnZpcm9ubWVudExvb2t1cCxcbiAgICAgIEVudGVycHJpc2VEYXRhVG9rZW5zOiB7fSxcbiAgICB9O1xuXG4gICAgbGV0IHNvdXJjZTogRWFDU291cmNlQ29udHJvbCA9IHtcbiAgICAgIC4uLnRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wsXG4gICAgICBCcmFuY2hlczogdGhpcy5TZWxlY3RlZEJyYW5jaGVzLFxuICAgICAgTWFpbkJyYW5jaDogdGhpcy5NYWluQnJhbmNoRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgfTtcblxuICAgIHNvdXJjZSA9IHtcbiAgICAgIC4uLnNvdXJjZSxcbiAgICAgIFR5cGU6ICdHaXRIdWInLFxuICAgICAgTmFtZTogYEAke3RoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2wudmFsdWV9LyR7dGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wudmFsdWV9YCxcbiAgICAgIERldk9wc0FjdGlvblRyaWdnZXJMb29rdXBzOiBbdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBdLFxuICAgICAgT3JnYW5pemF0aW9uOiB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgUmVwb3NpdG9yeTogdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wudmFsdWUsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjTG9va3VwID0gYGdpdGh1YjovLyR7c291cmNlLk9yZ2FuaXphdGlvbn0vJHtzb3VyY2UuUmVwb3NpdG9yeX1gO1xuXG4gICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5Tb3VyY2VzW3NjTG9va3VwXSA9IHNvdXJjZTtcblxuICAgIGNvbnNvbGUubG9nKCdzYXZlIFNDOiAnLCBzYXZlRW52UmVxKVxuXG4gICAgbGV0IHJlc3AgPSB0aGlzLmVhY1N2Yy5TYXZlRW52aXJvbm1lbnRBc0NvZGUoc2F2ZUVudlJlcSk7XG5cbiAgICByZXNwLnRoZW4oKHJlcykgPT4ge1xuICAgICAgdGhpcy5TYXZlU3RhdHVzRXZlbnQuZW1pdChyZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gIEhlbHBlcnNcblxuICBwcm90ZWN0ZWQgYWRkQnJhbmNoT3B0aW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB2YWx1ZSA9ICh2YWx1ZSB8fCAnJykudHJpbSgpO1xuXG4gICAgaWYgKHZhbHVlICYmIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5pbmRleE9mKHZhbHVlKSA8IDApIHtcbiAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5wdXNoKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLkJyYW5jaGVzSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG5cbiAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25maWd1cmVEZXZPcHNBY3Rpb24oKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95Rm9ybUNvbnRyb2xzKCk6IHZvaWQge1xuICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5yZW1vdmVDb250cm9sKFxuICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdtYWluQnJhbmNoJ10uam9pbignJylcbiAgICApO1xuXG4gICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5yZW1vdmVDb250cm9sKFxuICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdicmFuY2hlcyddLmpvaW4oJycpXG4gICAgKTtcblxuICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8ucmVtb3ZlQ29udHJvbChcbiAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnVpbGRQYXRoJ10uam9pbignJylcbiAgICApO1xuXG4gICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG5cbiAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA/LnJlbW92ZUNvbnRyb2woXG4gICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ29yZ2FuaXphdGlvbiddLmpvaW4oJycpXG4gICAgKTtcblxuICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8ucmVtb3ZlQ29udHJvbChcbiAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAncmVwb3NpdG9yeSddLmpvaW4oJycpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0QnJhbmNoZXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcz8ubGVuZ3RoID4gMCAmJlxuICAgICAgKCF0aGlzLk1haW5CcmFuY2hGb3JtQ29udHJvbC52YWx1ZSB8fFxuICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMuaW5kZXhPZih0aGlzLk1haW5CcmFuY2hGb3JtQ29udHJvbC52YWx1ZSkgPCAwKVxuICAgICkge1xuICAgICAgdGhpcy5NYWluQnJhbmNoRm9ybUNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5maW5kKFxuICAgICAgICAgIChicmFuY2gpID0+IGJyYW5jaCA9PT0gJ21haW4nIHx8IGJyYW5jaCA9PT0gJ21hc3RlcidcbiAgICAgICAgKSB8fCB0aGlzLlNlbGVjdGVkQnJhbmNoZXNbMF1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLlNlbGVjdGVkQnJhbmNoZXM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLk1haW5CcmFuY2hGb3JtQ29udHJvbC5yZXNldCgpO1xuICAgIH1cblxuICAgIHRoaXMuQnJhbmNoZXNGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLlNlbGVjdGVkQnJhbmNoZXMuam9pbignLCcpKTtcblxuICAgIHRoaXMuQnJhbmNoZXNDaGFuZ2VkKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyB8fCBbXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbGlzdEJyYW5jaGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAgIC5MaXN0QnJhbmNoZXMoXG4gICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEdpdEh1YkJyYW5jaFtdPikgPT4ge1xuICAgICAgICAgIHRoaXMuQnJhbmNoT3B0aW9ucyA9IHJlc3BvbnNlLk1vZGVsO1xuXG4gICAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAodGhpcy5FZGl0aW5nU291cmNlQ29udHJvbD8uQnJhbmNoZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wuQnJhbmNoZXM7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLkJyYW5jaE9wdGlvbnM/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuQnJhbmNoT3B0aW9uc1swXS5OYW1lKTtcblxuICAgICAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW3RoaXMuQnJhbmNoT3B0aW9uc1swXS5OYW1lXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcblxuICAgICAgICAgIHRoaXMubGlzdEJ1aWxkUGF0aHMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGxpc3RCdWlsZFBhdGhzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLlVzZUJ1aWxkUGF0aCkge1xuICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAuTGlzdEJ1aWxkUGF0aHMoXG4gICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPHN0cmluZ1tdPikgPT4ge1xuICAgICAgICAgIHRoaXMuQnVpbGRQYXRoT3B0aW9ucyA9IHJlc3BvbnNlLk1vZGVsO1xuXG4gICAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAodGhpcy5CdWlsZFBhdGhPcHRpb25zPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuQnVpbGRQYXRoRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5CdWlsZFBhdGhPcHRpb25zWzBdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBsaXN0T3JnYW5pemF0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgLkxpc3RPcmdhbml6YXRpb25zKClcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEdpdEh1Yk9yZ2FuaXphdGlvbltdPikgPT4ge1xuICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbk9wdGlvbnMgPSByZXNwb25zZS5Nb2RlbDtcbiAgICAgICAgY29uc29sZS5sb2coXCJPcmdhbml6YXRpb24gT3B0aW9uczogXCIsIHRoaXMuT3JnYW5pemF0aW9uT3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/Lk9yZ2FuaXphdGlvbikge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbC5Pcmdhbml6YXRpb25cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMubGlzdFJlcG9zaXRvcmllcyh0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sPy5SZXBvc2l0b3J5KTtcbiAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbGlzdFJlcG9zaXRvcmllcyhhY3RpdmVSZXBvOiBzdHJpbmcgPSBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgIC5MaXN0UmVwb3NpdG9yaWVzKHRoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2wudmFsdWUpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxHaXRIdWJSZXBvc2l0b3J5W10+KSA9PiB7XG4gICAgICAgIHRoaXMuUmVwb3NpdG9yeU9wdGlvbnMgPSByZXNwb25zZS5Nb2RlbDtcblxuICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICBpZiAoYWN0aXZlUmVwbykge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wuc2V0VmFsdWUoYWN0aXZlUmVwbyk7XG5cbiAgICAgICAgICAgIHRoaXMubGlzdEJyYW5jaGVzKCk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgICAgICAgICB0aGlzLmxpc3RCdWlsZFBhdGhzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5SZXBvc2l0b3J5T3B0aW9ucz8ubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAuTG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPFByb2plY3RIb3N0aW5nRGV0YWlscz4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSByZXNwb25zZS5Nb2RlbDtcblxuICAgICAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJlRGV2T3BzQWN0aW9uKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwRm9ybUNvbnRyb2xzKCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveUZvcm1Db250cm9scygpO1xuXG4gICAgY29uc29sZS5sb2coXCJTb3VyY2UgQ29udHJvbDogXCIsIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wpO1xuXG4gICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnZGV2T3BzQWN0aW9uTG9va3VwJyxcbiAgICAgIG5ldyBGb3JtQ29udHJvbCh0aGlzLkRldk9wc0FjdGlvbkxvb2t1cCB8fCAnJywgW10pXG4gICAgKTtcblxuICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdvcmdhbml6YXRpb24nXS5qb2luKCcnKSxcbiAgICAgIG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbC5Pcmdhbml6YXRpb24gPz8gJycsXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ3JlcG9zaXRvcnknXS5qb2luKCcnKSxcbiAgICAgIG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbC5SZXBvc2l0b3J5ID8/ICcnLFxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICApXG4gICAgKTtcblxuICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdicmFuY2hlcyddLmpvaW4oJycpLFxuICAgICAgICBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbD8uQnJhbmNoZXMgPz8gJycsXG4gICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMgPSB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sPy5CcmFuY2hlcztcblxuICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnbWFpbkJyYW5jaCddLmpvaW4oJycpLFxuICAgICAgICBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbC5NYWluQnJhbmNoID8/ICcnLFxuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5Vc2VCdWlsZFBhdGgpIHtcbiAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ2J1aWxkUGF0aCddLmpvaW4oJycpLFxuICAgICAgICBuZXcgRm9ybUNvbnRyb2wodGhpcy5CdWlsZFBhdGggPz8gJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiPGZvcm0gXG4gIGNsYXNzPVwiZm9ybS1jYXJkXCIgXG4gIFtmb3JtR3JvdXBdPVwiRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cFwiIFxuICAobmdTdWJtaXQpPVwiU3VibWl0U291cmNlQ29udHJvbCgpXCJcbj5cblxuICA8bWF0LWNhcmQgY2xhc3M9XCJzcHJlYWRcIiBjbGFzcz1cInNjLWNhcmRcIj5cbiAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgPG1hdC1jYXJkLXRpdGxlPiBTb3VyY2UgQ29udHJvbCA8L21hdC1jYXJkLXRpdGxlPlxuXG4gICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeCBtYXRUb29sdGlwPVwiQ29uZmlndXJlIHNvdXJjZSBjb250cm9sLCBEZXZPcHMgQ0kvQ0QsIGFuZCBhcnRpZmFjdHMuXCI+XG4gICAgICAgIGluZm9fb3V0bGluZVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L21hdC1jYXJkLWhlYWRlcj5cblxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiU3RhdGU/LkxvYWRpbmdcIj5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICBlZmZlY3Q9XCJ3YXZlXCIgXG4gICAgICAgID48L3NrZWxldG9uLWJsb2NrPlxuXG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBcbiAgICAgICAgICBjbGFzcz1cInMtYmxvY2tcIlxuICAgICAgICAgIGVmZmVjdD1cIndhdmVcIiBcbiAgICAgICAgPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIFxuICAgICAgICAgIGNsYXNzPVwicy1ibG9ja1wiXG4gICAgICAgICAgZWZmZWN0PVwid2F2ZVwiIFxuICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICBlZmZlY3Q9XCJ3YXZlXCIgXG4gICAgICAgID48L3NrZWxldG9uLWJsb2NrPlxuXG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdGF0ZT8uTG9hZGluZ1wiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRldk9wc0FjdGlvbkxvb2t1cFwiIFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkRldk9wcyBBY3Rpb25cIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIiBcbiAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJEZXZPcHNBY3Rpb25Mb29rdXBDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkZXZPcHNBY3Rpb25Mb29rdXAgb2YgRGV2T3BzQWN0aW9uTG9va3Vwc1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImRldk9wc0FjdGlvbkxvb2t1cFwiIFxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJEZXZPcHNBY3Rpb25zW2Rldk9wc0FjdGlvbkxvb2t1cF07IGxldCBkZXZPcHNBY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgIHt7IGRldk9wc0FjdGlvbi5OYW1lIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlwiPi0tIENyZWF0ZSBOZXcgLS08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCIgKm5nSWY9XCJPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgfHwgIUxvYWRpbmdcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoIHdpdGgtaGludCBtYXJnaW4tYm90dG9tXCIgXG4gICAgICAgICAgICAqbmdJZj1cIk9yZ2FuaXphdGlvbk9wdGlvbnM/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm9yZy1pY29uXCIgbWF0UHJlZml4PmNvcnBvcmF0ZV9mYXJlPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAnb3JnYW5pemF0aW9uJ1wiIFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk9yZ2FuaXphdGlvblwiXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiT3JnYW5pemF0aW9uQ2hhbmdlZCgkZXZlbnQpXCIgXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJMb2FkaW5nIHx8IEhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXCIgXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9yZ09wdCBvZiBPcmdhbml6YXRpb25PcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9yZ09wdC5OYW1lXCI+XG4gICAgICAgICAgICAgICAgICB7eyBvcmdPcHQuTmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggKGNsaWNrKT1cIlJlZnJlc2hPcmdhbml6YXRpb25zKClcIiBtYXRUb29sdGlwPVwiUmVmcmVzaCBPcmdhbml6YXRpb25cIiBjb2xvcj1cImFjY2VudFwiPiByZWZyZXNoIDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxhIG1hdFN1ZmZpeCBocmVmPVwiLy5vYXV0aC9naXRodWI/b2F1dGgtZm9yY2UtZWRpdD10cnVlXCIgdGFyZ2V0PVwiX2JsYW5rXCIgY29sb3I9XCJhY2NlbnRcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwiYWNjZW50XCIgbWF0VG9vbHRpcD1cIlJlLWF1dGhvcml6ZSBPcmdhbml6YXRpb25zXCI+IGxhdW5jaCA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8bWF0LWhpbnQ+XG4gICAgICAgICAgICAgIElmIHlvdSBkb24ndCBoYXZlIGFuIG9yZ2FuaXphdGlvbiBvciB3b3VsZCBsaWtlIHRvIGNyZWF0ZSBhIG5ldyBvbmUsXG4gICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vYWNjb3VudC9vcmdhbml6YXRpb25zL25ld1wiIGNsYXNzPVwicHJpbWFyeS1saW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICAgICAgc3RhcnQgaGVyZVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCIgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgfHxcbiAgICAgICAgICAgICAgICAgIChPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgJiYgIUxvYWRpbmcpXG4gICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm9yZy1pY29uXCIgbWF0UHJlZml4PmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdyZXBvc2l0b3J5J1wiIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICAgICAgICAgICAgICBPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ1JlcG9zaXRvcnknXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdSZXBvc2l0b3J5IChzZWxlY3Qgb3JnYW5pemF0aW9uIGZpcnN0KSdcbiAgICAgICAgICAgICAgICAgICAgXCIgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICFPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgfHwgTG9hZGluZyB8fCBIb3N0aW5nRGV0YWlscz8uTG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICBcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIlJlcG9zaXRvcnlDaGFuZ2VkKCRldmVudClcIiAqbmdJZj1cIiFDcmVhdGluZ1JlcG9zaXRvcnlcIiByZXF1aXJlZD5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVwb09wdCBvZiBSZXBvc2l0b3J5T3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJyZXBvT3B0Lk5hbWVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHJlcG9PcHQuTmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIlJlcG9zaXRvcnkgKGNyZWF0ZXMgbmV3IGlmIGRvZXMgbm90IGV4aXN0KVwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAncmVwb3NpdG9yeSdcIiAqbmdJZj1cIkNyZWF0aW5nUmVwb3NpdG9yeVwiXG4gICAgICAgICAgICAgIFtmeEhpZGVdPVwiTG9hZGluZyB8fCBIb3N0aW5nRGV0YWlscz8uTG9hZGluZ1wiIHJlcXVpcmVkIC8+XG5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggKGNsaWNrKT1cIkNyZWF0ZVJlcG9zaXRvcnkoKVwiIFtmeEhpZGVdPVwiTG9hZGluZyB8fCBIb3N0aW5nRGV0YWlscz8uTG9hZGluZ1wiXG4gICAgICAgICAgICAgICpuZ0lmPVwiIUNyZWF0aW5nUmVwb3NpdG9yeSAmJiBPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWRcIj5cbiAgICAgICAgICAgICAgYWRkX2NpcmNsZVxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiU2F2ZVJlcG9zaXRvcnkoKVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiQ3JlYXRpbmdSZXBvc2l0b3J5ICYmIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWRcIj5cblxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4IGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgIHNhdmVcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJDYW5jZWxDcmVhdGVSZXBvc2l0b3J5KClcIiAqbmdJZj1cIkNyZWF0aW5nUmVwb3NpdG9yeVwiPlxuXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXg+XG4gICAgICAgICAgICAgICAgY2FuY2VsXG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAoQnJhbmNoZXNGb3JtQ29udHJvbD8udmFsaWQgfHxcbiAgICAgICAgICAgICAgICAgICAgKE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgICAgICAgICAgICAgIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAhTG9hZGluZykpICYmXG4gICAgICAgICAgICAgICAgICAhQ3JlYXRpbmdSZXBvc2l0b3J5ICYmXG4gICAgICAgICAgICAgICAgICBVc2VCcmFuY2hlc1xuICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5hY2NvdW50X3RyZWU8L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8bWF0LWxhYmVsPlNlbGVjdGVkIEJyYW5jaGVzPC9tYXQtbGFiZWw+XG5cbiAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlIChvcHRpb25TZWxlY3RlZCk9XCJCcmFuY2hPcHRpb25TZWxlY3RlZCgkZXZlbnQpXCIgI2JyYW5jaE9wdGlvbnM9XCJtYXRBdXRvY29tcGxldGVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnJhbmNoT3B0IG9mIEJyYW5jaE9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiYnJhbmNoT3B0Lk5hbWVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGJyYW5jaE9wdC5OYW1lIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cblxuICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3QgI3NlbGVjdGVkQnJhbmNoZXM+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcCBbcmVtb3ZhYmxlXT1cInRydWVcIiAocmVtb3ZlZCk9XCJSZW1vdmVCcmFuY2hPcHRpb24oc2VsQnJhbmNoKVwiXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlbEJyYW5jaCBvZiBTZWxlY3RlZEJyYW5jaGVzXCI+XG4gICAgICAgICAgICAgICAge3sgc2VsQnJhbmNoIH19XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cblxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJOZXcgQnJhbmNoLi4uXCIgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdicmFuY2hlcydcIiAjYnJhbmNoZXNcbiAgICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImJyYW5jaE9wdGlvbnNcIiBbbWF0Q2hpcElucHV0Rm9yXT1cInNlbGVjdGVkQnJhbmNoZXNcIlxuICAgICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJTZXBhcmF0b3JLZXlzQ29kZXNcIiBbbWF0Q2hpcElucHV0QWRkT25CbHVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJBZGRCcmFuY2hPcHRpb24oJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJMb2FkaW5nIHx8IEhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZCAvPlxuICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aCB3aXRoLWhpbnRcIiBbZnhTaG93XT1cIlNlbGVjdGVkQnJhbmNoZXM/Lmxlbmd0aCA+IDFcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm9yZy1pY29uXCIgbWF0UHJlZml4PmFjY291bnRfdHJlZTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAnbWFpbkJyYW5jaCdcIiBwbGFjZWhvbGRlcj1cIk1haW4gQnJhbmNoXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIkxvYWRpbmcgfHwgSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIk1haW5CcmFuY2hDaGFuZ2VkKCRldmVudClcIiByZXF1aXJlZD5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnJhbmNoIG9mIFNlbGVjdGVkQnJhbmNoZXNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiYnJhbmNoXCI+XG4gICAgICAgICAgICAgICAgICB7eyBicmFuY2ggfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuXG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4IChjbGljayk9XCJSZWZyZXNoT3JnYW5pemF0aW9ucygpXCIgY29sb3I9XCJhY2NlbnRcIj4gcmVmcmVzaCA8L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8YSBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIGhyZWY9XCIvLm9hdXRoL2dpdGh1Yj9vYXV0aC1mb3JjZS1lZGl0PXRydWVcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjb2xvcj1cImFjY2VudFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0VG9vbHRpcD1cIlJlLWF1dGhvcml6ZSBPcmdhbml6YXRpb25zXCIgY29sb3I9XCJhY2NlbnRcIj4gbGF1bmNoIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDxtYXQtaGludD5cbiAgICAgICAgICAgICAgSWYgeW91IGRvbid0IGhhdmUgYW4gb3JnYW5pemF0aW9uIG9yIHdvdWxkIGxpa2UgdG8gY3JlYXRlIGEgbmV3IG9uZSxcbiAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vZ2l0aHViLmNvbS9hY2NvdW50L29yZ2FuaXphdGlvbnMvbmV3XCIgdGFyZ2V0PVwiX2JsYW5rXCJjbGFzcz1cInByaW1hcnktbGlua1wiPlxuICAgICAgICAgICAgICAgIHN0YXJ0IGhlcmVcbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAoQnVpbGRQYXRoRm9ybUNvbnRyb2w/LnZhbGlkIHx8XG4gICAgICAgICAgICAgICAgICAgIChPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICBSZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnZhbGlkICYmXG4gICAgICAgICAgICAgICAgICAgICAgIUxvYWRpbmcpKSAmJlxuICAgICAgICAgICAgICAgICAgIUNyZWF0aW5nUmVwb3NpdG9yeSAmJlxuICAgICAgICAgICAgICAgICAgVXNlQnVpbGRQYXRoXG4gICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGggd2l0aC1oaW50XCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5idWlsZDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAnYnVpbGRQYXRoJ1wiIHBsYWNlaG9sZGVyPVwiQnVpbGQgUGF0aFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJMb2FkaW5nIHx8IEJ1aWxkUGF0aERpc2FibGVkXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJCdWlsZFBhdGhDaGFuZ2VkKCRldmVudClcIiByZXF1aXJlZD5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnVpbGRQYXRoIG9mIEJ1aWxkUGF0aE9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiYnVpbGRQYXRoXCI+XG4gICAgICAgICAgICAgICAgICB7eyBidWlsZFBhdGggfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuXG4gICAgICAgICAgICA8bWF0LWhpbnQ+XG4gICAgICAgICAgICAgIFRoZSBidWlsZCBwYXRoIGlkZW50aWZpZXMgd2hpY2ggYnVpbGQgYWN0aW9uIHRvIHVzZSBmb3IgeW91clxuICAgICAgICAgICAgICBjb25maWd1cmF0aW9uLlxuICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiTG9hZGluZ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj5cbiAgICAgICAgICAgIDxsY3UtbG9hZGVyIHN0eWxlPVwibWFyZ2luOiBhdXRvXCIgW2xvYWRpbmddPVwidHJ1ZVwiPjwvbGN1LWxvYWRlcj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0zXCI+XG4gICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1hdC10aXRsZVwiICpuZ0lmPVwiIU9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZFwiPlxuICAgICAgICAgICAgICAgIExvYWRpbmcgb3JnYW5pemF0aW9uc1xuICAgICAgICAgICAgICA8L2g0PlxuXG4gICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1hdC10aXRsZVwiICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgJiYgIVJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgICBMb2FkaW5nIHJlcG9zaXRvcmllc1xuICAgICAgICAgICAgICA8L2g0PlxuXG4gICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1hdC10aXRsZVwiICpuZ0lmPVwiUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZCAmJiAhQnJhbmNoZXNGb3JtQ29udHJvbD8udmFsaWRcIj5cbiAgICAgICAgICAgICAgICBMb2FkaW5nIGJyYW5jaGVzXG4gICAgICAgICAgICAgIDwvaDQ+XG5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWF0LXRpdGxlXCIgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChSZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnZhbGlkIHx8IEJyYW5jaGVzRm9ybUNvbnRyb2w/LnZhbGlkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIUJ1aWxkUGF0aEZvcm1Db250cm9sPy52YWxpZFxuICAgICAgICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgICAgIExvYWRpbmcgYnVpbGQgcGF0aHNcbiAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLSA8L2Rpdj4gLS0+XG5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPG1hdC1jYXJkLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cblxuICAgICAgPGJ1dHRvbiBcbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gXG4gICAgICAgICpuZ0lmPVwiIVN0YXRlPy5Mb2FkaW5nXCJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgICBmeEZsZXg9XCIxMDAlXCIgXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiIFxuICAgICAgICBbZGlzYWJsZWRdPVwiIURldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAudmFsaWQgfHwgIURldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuZGlydHlcIj5cbiAgICAgICAgPG1hdC1pY29uPnNhdmU8L21hdC1pY29uPlxuICAgICAgICBTYXZlIFNvdXJjZSBDb250cm9sXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxsY3UtbG9hZGVyIFtsb2FkaW5nXT1cIlN0YXRlPy5Mb2FkaW5nXCI+PC9sY3UtbG9hZGVyPlxuICAgICAgXG4gIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgPC9tYXQtY2FyZD5cbjwvZm9ybT4iXX0=
|