@bnsights/bbsf-admin-portal 1.0.67 → 1.0.69

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.
Files changed (39) hide show
  1. package/README.md +15 -5
  2. package/{bnsights-bbsf-admin-portal-1.0.67.tgz → bnsights-bbsf-admin-portal-1.0.69.tgz} +0 -0
  3. package/bundles/bnsights-bbsf-admin-portal.umd.js +57 -112
  4. package/bundles/bnsights-bbsf-admin-portal.umd.js.map +1 -1
  5. package/esm2015/lib/Pages/_layout/components/topbar/topbar.component.js +1 -1
  6. package/esm2015/lib/Pages/departments/department/department.component.js +1 -2
  7. package/esm2015/lib/Pages/helpCenter/help-center/help-center.component.js +1 -3
  8. package/esm2015/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.js +1 -1
  9. package/esm2015/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.js +2 -4
  10. package/esm2015/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.js +2 -4
  11. package/esm2015/lib/Pages/lookups/lookup-group/lookup-group.component.js +1 -2
  12. package/esm2015/lib/Pages/lookups/lookup-item/lookup-item.component.js +2 -3
  13. package/esm2015/lib/Pages/roles/permissions/permissions.component.js +1 -2
  14. package/esm2015/lib/Pages/roles/permissionsets/permissionsets.component.js +1 -2
  15. package/esm2015/lib/Pages/sectors/sector/sector.component.js +1 -2
  16. package/esm2015/lib/Pages/shared/components/external-url/external-url.component.js +3 -1
  17. package/esm2015/lib/Pages/shared/components/survey/add-survey/add-survey.component.js +3 -2
  18. package/esm2015/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.js +6 -7
  19. package/esm2015/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.js +3 -3
  20. package/esm2015/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.js +4 -2
  21. package/esm2015/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.js +4 -2
  22. package/esm2015/lib/Pages/shared/components/survey/survey-info/preview/preview.component.js +10 -3
  23. package/esm2015/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.js +2 -2
  24. package/esm2015/lib/Pages/shared/components/survey/survey-info/result-question/result.component.js +2 -2
  25. package/esm2015/lib/Pages/shared/components/survey/survey-info/survey-info.component.js +20 -63
  26. package/esm2015/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.js +2 -2
  27. package/esm2015/lib/Pages/shared/components/survey/survey.component.js +2 -2
  28. package/esm2015/lib/Pages/shared/components/survey-form/survey-form.component.js +3 -3
  29. package/esm2015/lib/Pages/shared/models/SurveyModels/add-survey-submissio.js +1 -1
  30. package/esm2015/lib/Pages/shared/modules/survey.module.js +3 -3
  31. package/fesm2015/bnsights-bbsf-admin-portal.js +57 -112
  32. package/fesm2015/bnsights-bbsf-admin-portal.js.map +1 -1
  33. package/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.d.ts +2 -1
  34. package/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.d.ts +2 -1
  35. package/lib/Pages/shared/components/survey/survey-info/preview/preview.component.d.ts +2 -1
  36. package/lib/Pages/shared/components/survey/survey-info/survey-info.component.d.ts +3 -0
  37. package/lib/Pages/shared/models/SurveyModels/add-survey-submissio.d.ts +1 -0
  38. package/package.json +2 -2
  39. package/src/lib/assets/sass/custom-styles.scss +29 -0
@@ -99,7 +99,7 @@ export class TakeSurveyComponent extends AppBaseComponent {
99
99
  }
100
100
  }
101
101
  TakeSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TakeSurveyComponent, deps: [{ token: i0.Injector }, { token: i1.SurveyService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
102
- TakeSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: TakeSurveyComponent, selector: "app-take-survey", viewQueries: [{ propertyName: "surveyQuestionModal", first: true, predicate: ["SurveyQuestionModal"], descendants: true }, { propertyName: "submitConfirmationModalControl", first: true, predicate: ["submitConfirmationModalControl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<bbsf-page-header-component [options]=\"pageHeaderOptions\" ></bbsf-page-header-component>\r\n<!--end toolbar-->\r\n<div class=\"container-xxl\">\r\n <div class=\"info-container\" *ngIf=\"isDateLoaded&&!surveyInfo.isSurveyTakenBefore&&surveyInfo.isSurveyAvailable\">\r\n <!--<h4 class=\"card-title\">\r\n {{EN?surveyInfo.title.english:surveyInfo.title.arabic}}\r\n </h4>-->\r\n <p class=\"card-description\">\r\n {{EN?surveyInfo.description.english:surveyInfo.description.arabic}}\r\n </p>\r\n <div class=\"section-margin-bottom\">\r\n <BBSF-Form [options]=\"surveySurveyOptions\">\r\n <survey-form #SurveyQuestionModal [options]=\"surveyFormField\" [group]=\"surveyForm\"></survey-form>\r\n <div class=\"survey-preview\" *ngIf=\"surveyInfo.declaration.english||surveyInfo.declaration.arabic\">\r\n <div class=\"survey-preview-data\">\r\n <span class=\"question-number\" ngbTooltip=\"Question Number\"></span>\r\n <div class=\"survey-preview-question\">\r\n <div class=\"survey-answer\">\r\n <BBSF-CheckBox [options]=\"declarationCheckBoxForm\" [group]=\"surveyForm\"></BBSF-CheckBox>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"survey-footer\">\r\n <button type=\"button\" class=\"btn btn-sm btn-light mx-3\" [routerLink]=\"['/']\">\r\n {{l(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" [disabled]=\"isSubmitted\" class=\"btn btn-sm btn-brand \">{{l(\"Submit\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n\r\n </div>\r\n\r\n </div>\r\n <div class=\"survey-message\" *ngIf=\"isDateLoaded&&!surveyInfo.isSurveyAvailable\">\r\n <p class=\"alert alert-danger\"> {{l(\"SurveyAvailableError\")}}</p>\r\n </div>\r\n <div class=\"survey-message\" *ngIf=\"isDateLoaded&&surveyInfo.isSurveyTakenBefore\">\r\n <p class=\"alert alert-danger\">{{l(\"SurveyTakenBeforeError\")}}</p>\r\n </div>\r\n <BBSF-ConfirmationModal [options]=\"submitConfirmationOptions\" #submitConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n\r\n</div>\r\n", components: [{ type: i3.PageHeaderComponentComponent, selector: "bbsf-page-header-component", inputs: ["group", "options"] }, { type: i3.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["OnChange"] }, { type: i4.SurveyFormComponent, selector: "survey-form", inputs: ["group", "options"] }, { type: i3.CheckBoxComponent, selector: "BBSF-CheckBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i3.ConfirmationModalComponent, selector: "BBSF-ConfirmationModal", inputs: ["options"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { type: i2.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["routerLink", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }] });
102
+ TakeSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: TakeSurveyComponent, selector: "app-take-survey", viewQueries: [{ propertyName: "surveyQuestionModal", first: true, predicate: ["SurveyQuestionModal"], descendants: true }, { propertyName: "submitConfirmationModalControl", first: true, predicate: ["submitConfirmationModalControl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<bbsf-page-header-component [options]=\"pageHeaderOptions\" ></bbsf-page-header-component>\r\n<!--end toolbar-->\r\n<div class=\"container-xxl\">\r\n <div class=\"info-container\" *ngIf=\"isDateLoaded&&!surveyInfo.isSurveyTakenBefore&&surveyInfo.isSurveyAvailable\">\r\n <p class=\"card-description\">\r\n {{EN?surveyInfo.description.english:surveyInfo.description.arabic}}\r\n </p>\r\n <div class=\"section-margin-bottom\">\r\n <BBSF-Form [options]=\"surveySurveyOptions\">\r\n <survey-form #SurveyQuestionModal [options]=\"surveyFormField\" [group]=\"surveyForm\"></survey-form>\r\n <div class=\"survey-preview\" *ngIf=\"surveyInfo.declaration.english||surveyInfo.declaration.arabic\">\r\n <div class=\"survey-preview-data\">\r\n <span class=\"question-number\" ngbTooltip=\"Question Number\"></span>\r\n <div class=\"survey-preview-question\">\r\n <div class=\"survey-answer\">\r\n <BBSF-CheckBox [options]=\"declarationCheckBoxForm\" [group]=\"surveyForm\"></BBSF-CheckBox>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"survey-footer\">\r\n <button type=\"button\" class=\"btn btn-sm btn-light mx-3\" [routerLink]=\"['/']\">\r\n {{l(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" [disabled]=\"isSubmitted\" class=\"btn btn-sm btn-brand \">{{l(\"Submit\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n\r\n </div>\r\n\r\n </div>\r\n <div class=\"survey-message\" *ngIf=\"isDateLoaded&&!surveyInfo.isSurveyAvailable\">\r\n <p class=\"alert alert-danger\"> {{l(\"SurveyAvailableError\")}}</p>\r\n </div>\r\n <div class=\"survey-message\" *ngIf=\"isDateLoaded&&surveyInfo.isSurveyTakenBefore\">\r\n <p class=\"alert alert-danger\">{{l(\"SurveyTakenBeforeError\")}}</p>\r\n </div>\r\n <BBSF-ConfirmationModal [options]=\"submitConfirmationOptions\" #submitConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n\r\n</div>\r\n", components: [{ type: i3.PageHeaderComponentComponent, selector: "bbsf-page-header-component", inputs: ["group", "options"] }, { type: i3.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["OnChange"] }, { type: i4.SurveyFormComponent, selector: "survey-form", inputs: ["group", "options"] }, { type: i3.CheckBoxComponent, selector: "BBSF-CheckBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i3.ConfirmationModalComponent, selector: "BBSF-ConfirmationModal", inputs: ["options"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { type: i2.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["routerLink", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }] });
103
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TakeSurveyComponent, decorators: [{
104
104
  type: Component,
105
105
  args: [{
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
113
113
  type: ViewChild,
114
114
  args: ['submitConfirmationModalControl', { static: false }]
115
115
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFrZS1zdXJ2ZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9zaGFyZWQvY29tcG9uZW50cy9zdXJ2ZXkvc3VydmV5LWluZm8vdGFrZS1zdXJ2ZXkvdGFrZS1zdXJ2ZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9zaGFyZWQvY29tcG9uZW50cy9zdXJ2ZXkvc3VydmV5LWluZm8vdGFrZS1zdXJ2ZXkvdGFrZS1zdXJ2ZXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQW9CLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQW1CLGVBQWUsRUFBOEIsd0JBQXdCLEVBQWtELFdBQVcsRUFBaUMscUJBQXFCLEVBQW1DLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRVLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBSXhGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7QUFNOUYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGdCQUFnQjtJQWlCdkQsWUFBb0IsUUFBa0IsRUFBVSxhQUE0QixFQUFVLGNBQThCLEVBQVUsTUFBYztRQUMxSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFERSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsa0JBQWEsR0FB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QUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2dCQUM3SCxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNoRDtZQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUE7WUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsR0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUhBbEVVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLDZVQ2ZoQyw2b0VBNENBOzRGRDdCYSxtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtpQkFDNUM7NktBUXNELG1CQUFtQjtzQkFBdkUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ2EsOEJBQThCO3NCQUE3RixTQUFTO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVjYXB0Y2hhT3B0aW9ucyxDaGVja0JveE9wdGlvbnMsIENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50LCBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnMsIENvbnRyb2xMYXlvdXQsIERyb3Bkb3duT3B0aW9ucywgRm9yY2VEaXJlY3Rpb24sIEZvcm1PcHRpb25zLCBJbnB1dFR5cGUsIFJhZGlvQnV0dG9uT3B0aW9ucywgU3R5bGVDb25maXJtYXRpb25Nb2RlLCBUZXh0QXJlYU9wdGlvbnMsIFRleHRCb3hPcHRpb25zLCBQYWdlSGVhZGVyT3B0aW9ucywgQXBwQmFzZUNvbXBvbmVudCwgQnJlYWRDcnVtYiB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlGb3JtT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9TdXJ2ZXlNb2RlbHMvc3VydmV5LWZvcm0tb3B0aW9ucyc7XHJcbmltcG9ydCB7IFN1cnZleUZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zdXJ2ZXktZm9ybS9zdXJ2ZXktZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vU2VydmljZXMvc3VydmV5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXVkaWVuY2VUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vRW51bXMvRW51bXMnO1xyXG5pbXBvcnQgeyBBZGRTdXJ2ZXlTdWJtaXNzaW9uRFRPIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL1N1cnZleU1vZGVscy9hZGQtc3VydmV5LXN1Ym1pc3Npbyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10YWtlLXN1cnZleScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rha2Utc3VydmV5LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFrZVN1cnZleUNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHBhZ2VIZWFkZXJPcHRpb25zOiBQYWdlSGVhZGVyT3B0aW9ucztcclxuICBicmVhZENydW1iOiBCcmVhZENydW1iW107XHJcbiAgc3VydmV5Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIHN1cnZleUlEOiBhbnk7XHJcbiAgc3VydmV5Rm9ybUZpZWxkOiBTdXJ2ZXlGb3JtT3B0aW9ucztcclxuICBpc0RhdGVMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKCdTdXJ2ZXlRdWVzdGlvbk1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIHN1cnZleVF1ZXN0aW9uTW9kYWw6IFN1cnZleUZvcm1Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnc3VibWl0Q29uZmlybWF0aW9uTW9kYWxDb250cm9sJywgeyBzdGF0aWM6IGZhbHNlIH0pIHN1Ym1pdENvbmZpcm1hdGlvbk1vZGFsQ29udHJvbDogQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ7XHJcbiAgc3VibWl0Q29uZmlybWF0aW9uT3B0aW9uczogQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zO1xyXG5cclxuICBzdXJ2ZXlTdXJ2ZXlPcHRpb25zOiBhbnk7XHJcbiAgc3VydmV5SW5mbzogYW55O1xyXG4gIEVOOiBib29sZWFuO1xyXG4gIGRlY2xhcmF0aW9uQ2hlY2tCb3hGb3JtOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgdG90YWxTY29yZTogbnVtYmVyO1xyXG4gIGlzU3VibWl0dGVkOiBib29sZWFuO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHN1cnZleVNlcnZpY2U6IFN1cnZleVNlcnZpY2UsIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB0aGlzLnN1cnZleUlEID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXNbXCJpZFwiXTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5icmVhZENydW1iID0gW107XHJcbiAgICB0aGlzLmJyZWFkQ3J1bWIucHVzaChuZXcgQnJlYWRDcnVtYih0aGlzLmwoXCJIb21lXCIpLCBmYWxzZSwgXCIvXCIpKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMgPSBuZXcgUGFnZUhlYWRlck9wdGlvbnMoKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuU2VhcmNoVGV4dEJveC5BY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuQnJlYWRDcnVtYi5BY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5CcmVhZENydW1iLkJyZWFkQ3J1bWJJdGVtcyA9IHRoaXMuYnJlYWRDcnVtYjtcclxuICAgIHRoaXMuRU4gPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmlzQ3VycmVudExhbmd1YWdlRW5nbGlzaCgpO1xyXG5cclxuICAgIHRoaXMuc3VydmV5U2VydmljZS5nZXRTdXJ2ZXlGb3JTdWJtaXNzaW9uKHRoaXMuc3VydmV5SUQsIEF1ZGllbmNlVHlwZS5JbnRlcm5hbCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHJcblxyXG4gICAgICB0aGlzLnN1cnZleUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgICAgIHRoaXMuc3VydmV5U3VydmV5T3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLnN1cnZleVN1cnZleU9wdGlvbnMuRm9ybUdyb3VwID0gdGhpcy5zdXJ2ZXlGb3JtO1xyXG4gICAgICB0aGlzLnN1cnZleVN1cnZleU9wdGlvbnMuR2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0U3VydmV5TW9kZWw7XHJcbiAgICAgIHRoaXMuc3VydmV5U3VydmV5T3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEFkZFN1cnZleUZ1bmN0aW9uO1xyXG4gICAgICB0aGlzLnN1cnZleVN1cnZleU9wdGlvbnMuT25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25TdWNjZXNzU3VibWl0SGFuZGxlcjtcclxuICAgICAgdGhpcy5zdXJ2ZXlTdXJ2ZXlPcHRpb25zLk9uRXJyb3JIYW5kbGVyID0gdGhpcy5vbkVycm9yU3VibWl0SGFuZGxlcjtcclxuICAgICAgdGhpcy5zdXJ2ZXlTdXJ2ZXlPcHRpb25zLkRpc2FibGVTdWNjZXNzTm90aWZpY2F0aW9uID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgICB0aGlzLnN1cnZleUluZm8gPSByZXMgYXMgYW55XHJcbiAgICBcclxuICAgICBcclxuXHJcbiAgICAgIHRoaXMuc3VydmV5Rm9ybUZpZWxkID0gbmV3IFN1cnZleUZvcm1PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuc3VydmV5Rm9ybUZpZWxkLk5hbWUgPSBcIlN1cnZleUZpZWxkc1wiO1xyXG4gICAgICB0aGlzLnN1cnZleUZvcm1GaWVsZC5RdWVzdGlvbkxpc3QgPSB0aGlzLnN1cnZleUluZm8ucXVlc3Rpb25zO1xyXG4gICAgICB0aGlzLnN1cnZleUZvcm1GaWVsZC5SZWFkb25seSA9IGZhbHNlO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc3VydmV5SW5mby5kZWNsYXJhdGlvbi5lbmdsaXNoIHx8IHRoaXMuc3VydmV5SW5mby5kZWNsYXJhdGlvbi5hcmFiaWMpIHtcclxuICAgICAgICB0aGlzLmRlY2xhcmF0aW9uQ2hlY2tCb3hGb3JtID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuZGVjbGFyYXRpb25DaGVja0JveEZvcm0uTmFtZSA9IFwiZGVjbGFyYXRpb25cIjtcclxuICAgICAgICB0aGlzLmRlY2xhcmF0aW9uQ2hlY2tCb3hGb3JtLkxhYmVsVmFsdWUgPSB0aGlzLkVOID8gdGhpcy5zdXJ2ZXlJbmZvLmRlY2xhcmF0aW9uLmVuZ2xpc2ggOiB0aGlzLnN1cnZleUluZm8uZGVjbGFyYXRpb24uYXJhYmljO1xyXG4gICAgICAgIHRoaXMuZGVjbGFyYXRpb25DaGVja0JveEZvcm0uSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuaXNEYXRlTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5wYWdlVGl0bGUgPSB0aGlzLnN1cnZleUluZm8udGl0bGUuY3VycmVudF9GYWlsT3ZlclxyXG4gICAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLlRpdGxlVmFsdWUgPXRoaXMucGFnZVRpdGxlO1xyXG4gICAgICB0aGlzLnVwZGF0ZVBhZ2VUaXRsZSh0aGlzLnBhZ2VUaXRsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFN1cnZleU1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgcmVzdWx0TW9kZWwgPSB0aGlzLnN1cnZleUZvcm0udmFsdWU7XHJcbiAgICBsZXQgbW9kZWwgPSBuZXcgQWRkU3VydmV5U3VibWlzc2lvbkRUTygpO1xyXG4gICAgbW9kZWwuU3VydmV5SUQgPSB0aGlzLnN1cnZleUlEO1xyXG4gICAgbW9kZWwuQXVkaWVuY2VUeXBlID0gQXVkaWVuY2VUeXBlLkludGVybmFsO1xyXG4gICAgbW9kZWwuUXVlc3Rpb25zID0gdGhpcy5zdXJ2ZXlJbmZvLnF1ZXN0aW9ucztcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLnN1cnZleUluZm8ucXVlc3Rpb25zLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBjb25zdCBxdWVzdGlvbiA9IHRoaXMuc3VydmV5SW5mby5xdWVzdGlvbnNbaW5kZXhdO1xyXG4gICAgICBpZiAocXVlc3Rpb24uaXNBbGxvd1Njb3JpbmcpXHJcbiAgICAgICAgbW9kZWwuQXZlcmFnZVNjb3JlID0gbW9kZWwuQXZlcmFnZVNjb3JlICsgcXVlc3Rpb24udmFsdWUuc2NvcmU7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRvdGFsU2NvcmUgPSBtb2RlbC5BdmVyYWdlU2NvcmVcclxuICAgIHBhcmFtQXJyYXkucHVzaChtb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcbiAgZ2V0QWRkU3VydmV5RnVuY3Rpb24gPSAobW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3VydmV5U2VydmljZS5hZGRTdXJ2ZXlTdWJtaXNzaW9uKG1vZGVsKTtcclxuICB9XHJcbiAgb25FcnJvclN1Ym1pdEhhbmRsZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgfVxyXG4gIG9uU3VjY2Vzc1N1Ym1pdEhhbmRsZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk9wdGlvbnMgPSBuZXcgQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zKCk7XHJcbiAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk9wdGlvbnMuU2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5jbG9zZU1vZGFsO1xyXG4gICAgdGhpcy5zdWJtaXRDb25maXJtYXRpb25PcHRpb25zLlN0eWxlQ29uZmlybWF0aW9uTW9kZSA9IFN0eWxlQ29uZmlybWF0aW9uTW9kZS5TdWNjZXNzXHJcbiAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk9wdGlvbnMuRGlzYWJsZVN1Y2Nlc3NOb3RpZmljYXRpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5zdWJtaXRDb25maXJtYXRpb25PcHRpb25zLkNvbmZpcm1hdGlvbkJvZHkgPSBcIiBcIlxyXG4gICAgaWYgKHRoaXMudG90YWxTY29yZSA+IDAgJiYgdGhpcy5zdXJ2ZXlJbmZvLmlzU2hvd1Njb3JlQWZ0ZXJTdWJtaXNzaW9uKVxyXG4gICAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk9wdGlvbnMuQ29uZmlybWF0aW9uQm9keSA9IHRoaXMubCgnU2NvcmUnKSArICcgOicgKyB0aGlzLnRvdGFsU2NvcmVcclxuICAgIHRoaXMuc3VibWl0Q29uZmlybWF0aW9uT3B0aW9ucy5Db25maXJtYXRpb25IZWFkZXIgPSB0aGlzLmwoJ1N1cnZleV9TdWJtaXRfQ29uZmlybWF0aW9uJylcclxuICAgIHRoaXMuc3VibWl0Q29uZmlybWF0aW9uT3B0aW9ucy5TdWJtaXRCdXR0b25UZXh0ID0gdGhpcy5sKCdPSycpXHJcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk1vZGFsQ29udHJvbC5zaG93TW9kYWwoKTtcclxuICAgICAgdGhpcy5zdG9wQmxvY2tVSSgpO1xyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcbiAgY2xvc2VNb2RhbCA9ICgpID0+IHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcclxuICB9XHJcbn1cclxuIiwiPGJic2YtcGFnZS1oZWFkZXItY29tcG9uZW50IFtvcHRpb25zXT1cInBhZ2VIZWFkZXJPcHRpb25zXCIgPjwvYmJzZi1wYWdlLWhlYWRlci1jb21wb25lbnQ+XHJcbjwhLS1lbmQgdG9vbGJhci0tPlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLXh4bFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbmZvLWNvbnRhaW5lclwiICpuZ0lmPVwiaXNEYXRlTG9hZGVkJiYhc3VydmV5SW5mby5pc1N1cnZleVRha2VuQmVmb3JlJiZzdXJ2ZXlJbmZvLmlzU3VydmV5QXZhaWxhYmxlXCI+XHJcbiAgICAgIDwhLS08aDQgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XHJcbiAgICAgICAge3tFTj9zdXJ2ZXlJbmZvLnRpdGxlLmVuZ2xpc2g6c3VydmV5SW5mby50aXRsZS5hcmFiaWN9fVxyXG4gICAgICA8L2g0Pi0tPlxyXG4gICAgICA8cCBjbGFzcz1cImNhcmQtZGVzY3JpcHRpb25cIj5cclxuICAgICAgICB7e0VOP3N1cnZleUluZm8uZGVzY3JpcHRpb24uZW5nbGlzaDpzdXJ2ZXlJbmZvLmRlc2NyaXB0aW9uLmFyYWJpY319XHJcbiAgICAgIDwvcD5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLW1hcmdpbi1ib3R0b21cIj5cclxuICAgICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJzdXJ2ZXlTdXJ2ZXlPcHRpb25zXCI+XHJcbiAgICAgICAgPHN1cnZleS1mb3JtICNTdXJ2ZXlRdWVzdGlvbk1vZGFsIFtvcHRpb25zXT1cInN1cnZleUZvcm1GaWVsZFwiIFtncm91cF09XCJzdXJ2ZXlGb3JtXCI+PC9zdXJ2ZXktZm9ybT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LXByZXZpZXdcIiAqbmdJZj1cInN1cnZleUluZm8uZGVjbGFyYXRpb24uZW5nbGlzaHx8c3VydmV5SW5mby5kZWNsYXJhdGlvbi5hcmFiaWNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktcHJldmlldy1kYXRhXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicXVlc3Rpb24tbnVtYmVyXCIgbmdiVG9vbHRpcD1cIlF1ZXN0aW9uIE51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1wcmV2aWV3LXF1ZXN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1hbnN3ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxCQlNGLUNoZWNrQm94IFtvcHRpb25zXT1cImRlY2xhcmF0aW9uQ2hlY2tCb3hGb3JtXCIgW2dyb3VwXT1cInN1cnZleUZvcm1cIj48L0JCU0YtQ2hlY2tCb3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1mb290ZXJcIj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tbGlnaHQgbXgtM1wiIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCI+XHJcbiAgICAgICAgICAgIHt7bChcIkNhbmNlbExhYmVsXCIpfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cImlzU3VibWl0dGVkXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1icmFuZCBcIj57e2woXCJTdWJtaXRcIil9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L0JCU0YtRm9ybT5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInN1cnZleS1tZXNzYWdlXCIgKm5nSWY9XCJpc0RhdGVMb2FkZWQmJiFzdXJ2ZXlJbmZvLmlzU3VydmV5QXZhaWxhYmxlXCI+XHJcbiAgICA8cCBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiPiB7e2woXCJTdXJ2ZXlBdmFpbGFibGVFcnJvclwiKX19PC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzdXJ2ZXktbWVzc2FnZVwiICpuZ0lmPVwiaXNEYXRlTG9hZGVkJiZzdXJ2ZXlJbmZvLmlzU3VydmV5VGFrZW5CZWZvcmVcIj5cclxuICAgIDxwIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCI+e3tsKFwiU3VydmV5VGFrZW5CZWZvcmVFcnJvclwiKX19PC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxCQlNGLUNvbmZpcm1hdGlvbk1vZGFsIFtvcHRpb25zXT1cInN1Ym1pdENvbmZpcm1hdGlvbk9wdGlvbnNcIiAjc3VibWl0Q29uZmlybWF0aW9uTW9kYWxDb250cm9sPjwvQkJTRi1Db25maXJtYXRpb25Nb2RhbD5cclxuXHJcblxyXG48L2Rpdj5cclxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFrZS1zdXJ2ZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9zaGFyZWQvY29tcG9uZW50cy9zdXJ2ZXkvc3VydmV5LWluZm8vdGFrZS1zdXJ2ZXkvdGFrZS1zdXJ2ZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9zaGFyZWQvY29tcG9uZW50cy9zdXJ2ZXkvc3VydmV5LWluZm8vdGFrZS1zdXJ2ZXkvdGFrZS1zdXJ2ZXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQW9CLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQW1CLGVBQWUsRUFBOEIsd0JBQXdCLEVBQWtELFdBQVcsRUFBaUMscUJBQXFCLEVBQW1DLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRVLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBSXhGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7QUFNOUYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGdCQUFnQjtJQWlCdkQsWUFBb0IsUUFBa0IsRUFBVSxhQUE0QixFQUFVLGNBQThCLEVBQVUsTUFBYztRQUMxSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFERSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsa0JBQWEsR0FB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QUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2dCQUM3SCxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNoRDtZQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUE7WUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsR0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUhBbEVVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLDZVQ2ZoQyxpaEVBeUNBOzRGRDFCYSxtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtpQkFDNUM7NktBUXNELG1CQUFtQjtzQkFBdkUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ2EsOEJBQThCO3NCQUE3RixTQUFTO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVjYXB0Y2hhT3B0aW9ucyxDaGVja0JveE9wdGlvbnMsIENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50LCBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnMsIENvbnRyb2xMYXlvdXQsIERyb3Bkb3duT3B0aW9ucywgRm9yY2VEaXJlY3Rpb24sIEZvcm1PcHRpb25zLCBJbnB1dFR5cGUsIFJhZGlvQnV0dG9uT3B0aW9ucywgU3R5bGVDb25maXJtYXRpb25Nb2RlLCBUZXh0QXJlYU9wdGlvbnMsIFRleHRCb3hPcHRpb25zLCBQYWdlSGVhZGVyT3B0aW9ucywgQXBwQmFzZUNvbXBvbmVudCwgQnJlYWRDcnVtYiB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlGb3JtT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9TdXJ2ZXlNb2RlbHMvc3VydmV5LWZvcm0tb3B0aW9ucyc7XHJcbmltcG9ydCB7IFN1cnZleUZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zdXJ2ZXktZm9ybS9zdXJ2ZXktZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vU2VydmljZXMvc3VydmV5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXVkaWVuY2VUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vRW51bXMvRW51bXMnO1xyXG5pbXBvcnQgeyBBZGRTdXJ2ZXlTdWJtaXNzaW9uRFRPIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL1N1cnZleU1vZGVscy9hZGQtc3VydmV5LXN1Ym1pc3Npbyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10YWtlLXN1cnZleScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rha2Utc3VydmV5LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFrZVN1cnZleUNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHBhZ2VIZWFkZXJPcHRpb25zOiBQYWdlSGVhZGVyT3B0aW9ucztcclxuICBicmVhZENydW1iOiBCcmVhZENydW1iW107XHJcbiAgc3VydmV5Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIHN1cnZleUlEOiBhbnk7XHJcbiAgc3VydmV5Rm9ybUZpZWxkOiBTdXJ2ZXlGb3JtT3B0aW9ucztcclxuICBpc0RhdGVMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKCdTdXJ2ZXlRdWVzdGlvbk1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIHN1cnZleVF1ZXN0aW9uTW9kYWw6IFN1cnZleUZvcm1Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnc3VibWl0Q29uZmlybWF0aW9uTW9kYWxDb250cm9sJywgeyBzdGF0aWM6IGZhbHNlIH0pIHN1Ym1pdENvbmZpcm1hdGlvbk1vZGFsQ29udHJvbDogQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ7XHJcbiAgc3VibWl0Q29uZmlybWF0aW9uT3B0aW9uczogQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zO1xyXG5cclxuICBzdXJ2ZXlTdXJ2ZXlPcHRpb25zOiBhbnk7XHJcbiAgc3VydmV5SW5mbzogYW55O1xyXG4gIEVOOiBib29sZWFuO1xyXG4gIGRlY2xhcmF0aW9uQ2hlY2tCb3hGb3JtOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgdG90YWxTY29yZTogbnVtYmVyO1xyXG4gIGlzU3VibWl0dGVkOiBib29sZWFuO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHN1cnZleVNlcnZpY2U6IFN1cnZleVNlcnZpY2UsIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB0aGlzLnN1cnZleUlEID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXNbXCJpZFwiXTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5icmVhZENydW1iID0gW107XHJcbiAgICB0aGlzLmJyZWFkQ3J1bWIucHVzaChuZXcgQnJlYWRDcnVtYih0aGlzLmwoXCJIb21lXCIpLCBmYWxzZSwgXCIvXCIpKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMgPSBuZXcgUGFnZUhlYWRlck9wdGlvbnMoKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuU2VhcmNoVGV4dEJveC5BY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuQnJlYWRDcnVtYi5BY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5CcmVhZENydW1iLkJyZWFkQ3J1bWJJdGVtcyA9IHRoaXMuYnJlYWRDcnVtYjtcclxuICAgIHRoaXMuRU4gPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmlzQ3VycmVudExhbmd1YWdlRW5nbGlzaCgpO1xyXG5cclxuICAgIHRoaXMuc3VydmV5U2VydmljZS5nZXRTdXJ2ZXlGb3JTdWJtaXNzaW9uKHRoaXMuc3VydmV5SUQsIEF1ZGllbmNlVHlwZS5JbnRlcm5hbCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHJcblxyXG4gICAgICB0aGlzLnN1cnZleUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgICAgIHRoaXMuc3VydmV5U3VydmV5T3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLnN1cnZleVN1cnZleU9wdGlvbnMuRm9ybUdyb3VwID0gdGhpcy5zdXJ2ZXlGb3JtO1xyXG4gICAgICB0aGlzLnN1cnZleVN1cnZleU9wdGlvbnMuR2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0U3VydmV5TW9kZWw7XHJcbiAgICAgIHRoaXMuc3VydmV5U3VydmV5T3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEFkZFN1cnZleUZ1bmN0aW9uO1xyXG4gICAgICB0aGlzLnN1cnZleVN1cnZleU9wdGlvbnMuT25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25TdWNjZXNzU3VibWl0SGFuZGxlcjtcclxuICAgICAgdGhpcy5zdXJ2ZXlTdXJ2ZXlPcHRpb25zLk9uRXJyb3JIYW5kbGVyID0gdGhpcy5vbkVycm9yU3VibWl0SGFuZGxlcjtcclxuICAgICAgdGhpcy5zdXJ2ZXlTdXJ2ZXlPcHRpb25zLkRpc2FibGVTdWNjZXNzTm90aWZpY2F0aW9uID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgICB0aGlzLnN1cnZleUluZm8gPSByZXMgYXMgYW55XHJcbiAgICBcclxuICAgICBcclxuXHJcbiAgICAgIHRoaXMuc3VydmV5Rm9ybUZpZWxkID0gbmV3IFN1cnZleUZvcm1PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuc3VydmV5Rm9ybUZpZWxkLk5hbWUgPSBcIlN1cnZleUZpZWxkc1wiO1xyXG4gICAgICB0aGlzLnN1cnZleUZvcm1GaWVsZC5RdWVzdGlvbkxpc3QgPSB0aGlzLnN1cnZleUluZm8ucXVlc3Rpb25zO1xyXG4gICAgICB0aGlzLnN1cnZleUZvcm1GaWVsZC5SZWFkb25seSA9IGZhbHNlO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc3VydmV5SW5mby5kZWNsYXJhdGlvbi5lbmdsaXNoIHx8IHRoaXMuc3VydmV5SW5mby5kZWNsYXJhdGlvbi5hcmFiaWMpIHtcclxuICAgICAgICB0aGlzLmRlY2xhcmF0aW9uQ2hlY2tCb3hGb3JtID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuZGVjbGFyYXRpb25DaGVja0JveEZvcm0uTmFtZSA9IFwiZGVjbGFyYXRpb25cIjtcclxuICAgICAgICB0aGlzLmRlY2xhcmF0aW9uQ2hlY2tCb3hGb3JtLkxhYmVsVmFsdWUgPSB0aGlzLkVOID8gdGhpcy5zdXJ2ZXlJbmZvLmRlY2xhcmF0aW9uLmVuZ2xpc2ggOiB0aGlzLnN1cnZleUluZm8uZGVjbGFyYXRpb24uYXJhYmljO1xyXG4gICAgICAgIHRoaXMuZGVjbGFyYXRpb25DaGVja0JveEZvcm0uSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuaXNEYXRlTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5wYWdlVGl0bGUgPSB0aGlzLnN1cnZleUluZm8udGl0bGUuY3VycmVudF9GYWlsT3ZlclxyXG4gICAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLlRpdGxlVmFsdWUgPXRoaXMucGFnZVRpdGxlO1xyXG4gICAgICB0aGlzLnVwZGF0ZVBhZ2VUaXRsZSh0aGlzLnBhZ2VUaXRsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFN1cnZleU1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgcmVzdWx0TW9kZWwgPSB0aGlzLnN1cnZleUZvcm0udmFsdWU7XHJcbiAgICBsZXQgbW9kZWwgPSBuZXcgQWRkU3VydmV5U3VibWlzc2lvbkRUTygpO1xyXG4gICAgbW9kZWwuU3VydmV5SUQgPSB0aGlzLnN1cnZleUlEO1xyXG4gICAgbW9kZWwuQXVkaWVuY2VUeXBlID0gQXVkaWVuY2VUeXBlLkludGVybmFsO1xyXG4gICAgbW9kZWwuUXVlc3Rpb25zID0gdGhpcy5zdXJ2ZXlJbmZvLnF1ZXN0aW9ucztcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLnN1cnZleUluZm8ucXVlc3Rpb25zLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBjb25zdCBxdWVzdGlvbiA9IHRoaXMuc3VydmV5SW5mby5xdWVzdGlvbnNbaW5kZXhdO1xyXG4gICAgICBpZiAocXVlc3Rpb24uaXNBbGxvd1Njb3JpbmcpXHJcbiAgICAgICAgbW9kZWwuQXZlcmFnZVNjb3JlID0gbW9kZWwuQXZlcmFnZVNjb3JlICsgcXVlc3Rpb24udmFsdWUuc2NvcmU7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRvdGFsU2NvcmUgPSBtb2RlbC5BdmVyYWdlU2NvcmVcclxuICAgIHBhcmFtQXJyYXkucHVzaChtb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcbiAgZ2V0QWRkU3VydmV5RnVuY3Rpb24gPSAobW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3VydmV5U2VydmljZS5hZGRTdXJ2ZXlTdWJtaXNzaW9uKG1vZGVsKTtcclxuICB9XHJcbiAgb25FcnJvclN1Ym1pdEhhbmRsZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgfVxyXG4gIG9uU3VjY2Vzc1N1Ym1pdEhhbmRsZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk9wdGlvbnMgPSBuZXcgQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zKCk7XHJcbiAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk9wdGlvbnMuU2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5jbG9zZU1vZGFsO1xyXG4gICAgdGhpcy5zdWJtaXRDb25maXJtYXRpb25PcHRpb25zLlN0eWxlQ29uZmlybWF0aW9uTW9kZSA9IFN0eWxlQ29uZmlybWF0aW9uTW9kZS5TdWNjZXNzXHJcbiAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk9wdGlvbnMuRGlzYWJsZVN1Y2Nlc3NOb3RpZmljYXRpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5zdWJtaXRDb25maXJtYXRpb25PcHRpb25zLkNvbmZpcm1hdGlvbkJvZHkgPSBcIiBcIlxyXG4gICAgaWYgKHRoaXMudG90YWxTY29yZSA+IDAgJiYgdGhpcy5zdXJ2ZXlJbmZvLmlzU2hvd1Njb3JlQWZ0ZXJTdWJtaXNzaW9uKVxyXG4gICAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk9wdGlvbnMuQ29uZmlybWF0aW9uQm9keSA9IHRoaXMubCgnU2NvcmUnKSArICcgOicgKyB0aGlzLnRvdGFsU2NvcmVcclxuICAgIHRoaXMuc3VibWl0Q29uZmlybWF0aW9uT3B0aW9ucy5Db25maXJtYXRpb25IZWFkZXIgPSB0aGlzLmwoJ1N1cnZleV9TdWJtaXRfQ29uZmlybWF0aW9uJylcclxuICAgIHRoaXMuc3VibWl0Q29uZmlybWF0aW9uT3B0aW9ucy5TdWJtaXRCdXR0b25UZXh0ID0gdGhpcy5sKCdPSycpXHJcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnN1Ym1pdENvbmZpcm1hdGlvbk1vZGFsQ29udHJvbC5zaG93TW9kYWwoKTtcclxuICAgICAgdGhpcy5zdG9wQmxvY2tVSSgpO1xyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcbiAgY2xvc2VNb2RhbCA9ICgpID0+IHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcclxuICB9XHJcbn1cclxuIiwiPGJic2YtcGFnZS1oZWFkZXItY29tcG9uZW50IFtvcHRpb25zXT1cInBhZ2VIZWFkZXJPcHRpb25zXCIgPjwvYmJzZi1wYWdlLWhlYWRlci1jb21wb25lbnQ+XHJcbjwhLS1lbmQgdG9vbGJhci0tPlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLXh4bFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbmZvLWNvbnRhaW5lclwiICpuZ0lmPVwiaXNEYXRlTG9hZGVkJiYhc3VydmV5SW5mby5pc1N1cnZleVRha2VuQmVmb3JlJiZzdXJ2ZXlJbmZvLmlzU3VydmV5QXZhaWxhYmxlXCI+XHJcbiAgICAgIDxwIGNsYXNzPVwiY2FyZC1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgIHt7RU4/c3VydmV5SW5mby5kZXNjcmlwdGlvbi5lbmdsaXNoOnN1cnZleUluZm8uZGVzY3JpcHRpb24uYXJhYmljfX1cclxuICAgICAgPC9wPlxyXG4gICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tbWFyZ2luLWJvdHRvbVwiPlxyXG4gICAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cInN1cnZleVN1cnZleU9wdGlvbnNcIj5cclxuICAgICAgICA8c3VydmV5LWZvcm0gI1N1cnZleVF1ZXN0aW9uTW9kYWwgW29wdGlvbnNdPVwic3VydmV5Rm9ybUZpZWxkXCIgW2dyb3VwXT1cInN1cnZleUZvcm1cIj48L3N1cnZleS1mb3JtPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktcHJldmlld1wiICpuZ0lmPVwic3VydmV5SW5mby5kZWNsYXJhdGlvbi5lbmdsaXNofHxzdXJ2ZXlJbmZvLmRlY2xhcmF0aW9uLmFyYWJpY1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1wcmV2aWV3LWRhdGFcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJxdWVzdGlvbi1udW1iZXJcIiBuZ2JUb29sdGlwPVwiUXVlc3Rpb24gTnVtYmVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LXByZXZpZXctcXVlc3Rpb25cIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LWFuc3dlclwiPlxyXG4gICAgICAgICAgICAgICAgPEJCU0YtQ2hlY2tCb3ggW29wdGlvbnNdPVwiZGVjbGFyYXRpb25DaGVja0JveEZvcm1cIiBbZ3JvdXBdPVwic3VydmV5Rm9ybVwiPjwvQkJTRi1DaGVja0JveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LWZvb3RlclwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saWdodCBteC0zXCIgW3JvdXRlckxpbmtdPVwiWycvJ11cIj5cclxuICAgICAgICAgICAge3tsKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBbZGlzYWJsZWRdPVwiaXNTdWJtaXR0ZWRcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWJyYW5kIFwiPnt7bChcIlN1Ym1pdFwiKX19PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvQkJTRi1Gb3JtPlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic3VydmV5LW1lc3NhZ2VcIiAqbmdJZj1cImlzRGF0ZUxvYWRlZCYmIXN1cnZleUluZm8uaXNTdXJ2ZXlBdmFpbGFibGVcIj5cclxuICAgIDxwIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCI+IHt7bChcIlN1cnZleUF2YWlsYWJsZUVycm9yXCIpfX08L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInN1cnZleS1tZXNzYWdlXCIgKm5nSWY9XCJpc0RhdGVMb2FkZWQmJnN1cnZleUluZm8uaXNTdXJ2ZXlUYWtlbkJlZm9yZVwiPlxyXG4gICAgPHAgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj57e2woXCJTdXJ2ZXlUYWtlbkJlZm9yZUVycm9yXCIpfX08L3A+XHJcbiAgPC9kaXY+XHJcbiAgPEJCU0YtQ29uZmlybWF0aW9uTW9kYWwgW29wdGlvbnNdPVwic3VibWl0Q29uZmlybWF0aW9uT3B0aW9uc1wiICNzdWJtaXRDb25maXJtYXRpb25Nb2RhbENvbnRyb2w+PC9CQlNGLUNvbmZpcm1hdGlvbk1vZGFsPlxyXG5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
@@ -216,7 +216,7 @@ export class SurveyComponent extends AppBaseComponent {
216
216
  }
217
217
  }
218
218
  SurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SurveyComponent, deps: [{ token: i0.Injector }, { token: i1.SurveyService }], target: i0.ɵɵFactoryTarget.Component });
219
- SurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SurveyComponent, selector: "app-survey", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["pagingViewElement"], descendants: true }, { propertyName: "addModal", first: true, predicate: ["addModal"], descendants: true }, { propertyName: "editModal", first: true, predicate: ["editModal"], descendants: true }, { propertyName: "deleteConfirmationModalControl", first: true, predicate: ["deleteConfirmationModalControl"], descendants: true }, { propertyName: "duplicateModal", first: true, predicate: ["duplicateModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--toolbar-->\r\n<bbsf-page-header-component [options]=\"pageHeaderOptions\" [group]=\"filtersForm\"></bbsf-page-header-component>\r\n<!--End toolbar-->\r\n<div class=\"container-xxl\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 col-xl-6 d-flex\" *ngFor=\"let item of pagingResult\">\r\n <div class=\"card card-listing w-icon-boxes survey-card\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title line-clamp\">\r\n <a [routerLink]=\"['../info', item.iD_GUID]\">\r\n {{item.localizedTitle}}\r\n </a>\r\n </div>\r\n <div class=\"card-toolbar d-flex flex-nowrap flex-stack\">\r\n <span class=\"badge badge-light bagde-xs me-2\" *ngIf=\"!item.visible\"> {{l(\"NotVisible\")}} </span>\r\n <span class=\"badge bagde-xs badge-light me-2\" [ngClass]=\"getStatus(item.statusItemID)\">{{item.localizedStatus}}</span>\r\n <div ngbDropdown container=\"body\" class=\"dropdown-custom\" [placement]=\"EN ? 'bottom-right' : 'bottom-left'\">\r\n <button type=\"button\" class=\"dropdown-toggle-custom btn btn-clear btn-sm\"\r\n ngbDropdownToggle>\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/card-dropdown.svg'\"></span>\r\n </button>\r\n <div ngbDropdownMenu class=\"dropdown-menu-custom\">\r\n <button (click)=\"showEditModal(item.iD_GUID)\" apppreventdoubleclick type=\"button\" ngbDropdownItem class=\"dropdown-button\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/Edit.svg'\">\r\n </span>\r\n {{l(\"Edit\")}}\r\n </button>\r\n <button (click)=\"showDuplicateModal(item.iD_GUID)\" apppreventdoubleclick type=\"button\" ngbDropdownItem class=\"dropdown-button\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/copy.svg'\">\r\n </span>\r\n {{l(\"Duplicate\")}}\r\n </button>\r\n <button type=\"button\" (click)=\"showDeleteModal(item.iD_GUID)\" apppreventdoubleclick ngbDropdownItem class=\"dropdown-button\">\r\n <span class=\"svg-icon svg-icon-3\"\r\n [inlineSVG]=\"'/assets/images/Trash.svg'\"></span> {{l(\"Delete\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\" *ngIf=\"item.localizedDesc\">\r\n <p class=\"line-clamp-2\">\r\n {{item.localizedDesc}}\r\n </p>\r\n </div>\r\n <!--footer type one-->\r\n <div class=\"card-footer\">\r\n <div>\r\n <div class=\"survey-counter\">\r\n <span class=\"survey-counter-title\">{{l('Question')}}</span>\r\n <span class=\"badge badge-light-brand badge-square \">{{item.totalQuestionCount}}</span>\r\n </div>\r\n <div class=\"survey-counter\">\r\n <span class=\"survey-counter-title\">{{l('Submissions')}}</span>\r\n <span class=\"badge badge-light-brand badge-square \">{{item.totalSubmissionsCount}}</span>\r\n </div>\r\n </div>\r\n <div class=\"survery-date\">\r\n <div class=\"icon-boxes align-items-baseline\">\r\n <div class=\"icon-box w-100\">\r\n <div class=\"symbol\">\r\n <span class=\"symbol-label\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/calendar.svg'\">\r\n </span>\r\n </span>\r\n </div>\r\n <span class=\"survey-counter-title\" *ngIf=\"item.startDate==null\">\r\n {{l('NotStartedYet')}}\r\n </span>\r\n <span class=\"survey-counter-title d-flex flex-stack w-100\" *ngIf=\"item.startDate!=null\">\r\n {{item.startDate |surveyDate}} - {{item.endDate!=null?(item.endDate|surveyDate):\"\"}}\r\n <span class=\"badge badge-light\" *ngIf=\"item.endDate==null\">{{l('HasNoEnd')}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<BBSF-Paging (Items)=\"setListingResult($event)\" *ngIf=\"loadingPage\" [options]=\"pagingOptions\" [group]=\"filtersForm\"\r\n #pagingViewElement></BBSF-Paging>\r\n\r\n<app-no-results *ngIf=\"pagingResult.length == 0 && showPageContent\"></app-no-results>\r\n<app-add-survey #addModal [pagingElement]=\"pagingElement\"></app-add-survey>\r\n<app-edit-survey #editModal [pagingElement]=\"pagingElement\"></app-edit-survey>\r\n<app-delete-survey #deleteConfirmationModalControl [pagingElement]=\"pagingElement\"></app-delete-survey>\r\n<app-duplicate-survey #duplicateModal [pagingElement]=\"pagingElement\"></app-duplicate-survey>\r\n", components: [{ type: i2.PageHeaderComponentComponent, selector: "bbsf-page-header-component", inputs: ["group", "options"] }, { type: i2.PagingComponent, selector: "BBSF-Paging", inputs: ["options", "group"], outputs: ["Items"] }, { type: i3.NoResultsComponent, selector: "app-no-results" }, { type: i4.AddSurveyComponent, selector: "app-add-survey", inputs: ["pagingElement"] }, { type: i5.EditSurveyComponent, selector: "app-edit-survey", inputs: ["pagingElement", "onSuccessHandler"] }, { type: i6.DeleteSurveyComponent, selector: "app-delete-survey", inputs: ["onSuccessHandler", "pagingElement"] }, { type: i7.DuplicateSurveyComponent, selector: "app-duplicate-survey", inputs: ["onSuccessHandler", "pagingElement"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i11.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }], pipes: { "surveyDate": i12.SurveyDatePipe } });
219
+ SurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SurveyComponent, selector: "app-survey", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["pagingViewElement"], descendants: true }, { propertyName: "addModal", first: true, predicate: ["addModal"], descendants: true }, { propertyName: "editModal", first: true, predicate: ["editModal"], descendants: true }, { propertyName: "deleteConfirmationModalControl", first: true, predicate: ["deleteConfirmationModalControl"], descendants: true }, { propertyName: "duplicateModal", first: true, predicate: ["duplicateModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--toolbar-->\r\n<bbsf-page-header-component [options]=\"pageHeaderOptions\" [group]=\"filtersForm\"></bbsf-page-header-component>\r\n<!--End toolbar-->\r\n<div class=\"container-xxl\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 col-xl-6 d-flex\" *ngFor=\"let item of pagingResult\">\r\n <div class=\"card card-listing w-icon-boxes survey-card\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title line-clamp\">\r\n <a [routerLink]=\"['../info', item.iD_GUID]\">\r\n {{item.localizedTitle}}\r\n </a>\r\n </div>\r\n <div class=\"card-toolbar d-flex flex-nowrap flex-stack\">\r\n <span class=\"badge badge-light bagde-xs me-2\" *ngIf=\"!item.visible\"> {{l(\"NotVisible\")}} </span>\r\n <span class=\"badge bagde-xs badge-light me-2\" [ngClass]=\"getStatus(item.statusItemID)\">{{item.localizedStatus}}</span>\r\n <div ngbDropdown container=\"body\" class=\"dropdown-custom\" [placement]=\"EN ? 'bottom-right' : 'bottom-left'\">\r\n <button type=\"button\" class=\"dropdown-toggle-custom btn btn-clear btn-sm\"\r\n ngbDropdownToggle>\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/card-dropdown.svg'\"></span>\r\n </button>\r\n <div ngbDropdownMenu class=\"dropdown-menu-custom\">\r\n <button (click)=\"showEditModal(item.iD_GUID)\" apppreventdoubleclick type=\"button\" ngbDropdownItem class=\"dropdown-button\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/Edit.svg'\">\r\n </span>\r\n {{l(\"Edit\")}}\r\n </button>\r\n <button (click)=\"showDuplicateModal(item.iD_GUID)\" apppreventdoubleclick type=\"button\" ngbDropdownItem class=\"dropdown-button\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/copy.svg'\">\r\n </span>\r\n {{l(\"Duplicate\")}}\r\n </button>\r\n <button type=\"button\" (click)=\"showDeleteModal(item.iD_GUID)\" apppreventdoubleclick ngbDropdownItem class=\"dropdown-button\">\r\n <span class=\"svg-icon svg-icon-3\"\r\n [inlineSVG]=\"'/assets/images/Trash.svg'\"></span> {{l(\"Delete\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body mb-4\">\r\n <p class=\"line-clamp-1\">\r\n {{item.localizedDesc}}\r\n </p>\r\n </div>\r\n <!--footer type one-->\r\n <div class=\"card-footer pt-0\">\r\n <div>\r\n <div class=\"survey-counter\">\r\n <span class=\"survey-counter-title\">{{l('Question')}}</span>\r\n <span class=\"badge badge-light-brand badge-square \">{{item.totalQuestionCount}}</span>\r\n </div>\r\n <div class=\"survey-counter\">\r\n <span class=\"survey-counter-title\">{{l('Submissions')}}</span>\r\n <span class=\"badge badge-light-brand badge-square \">{{item.totalSubmissionsCount}}</span>\r\n </div>\r\n </div>\r\n <div class=\"survery-date\">\r\n <div class=\"icon-boxes align-items-baseline\">\r\n <div class=\"icon-box w-100\">\r\n <div class=\"symbol\">\r\n <span class=\"symbol-label\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/calendar.svg'\">\r\n </span>\r\n </span>\r\n </div>\r\n <span class=\"survey-counter-title\" *ngIf=\"item.startDate==null\">\r\n {{l('NotStartedYet')}}\r\n </span>\r\n <div *ngIf=\"item.startDate!=null\" class=\"d-flex flex-stack w-100\">\r\n <span class=\"survey-counter-title\">\r\n {{item.startDate |surveyDate}}\r\n <span *ngIf=\"item.endDate!=null\"> - {{(item.endDate|surveyDate)}}</span>\r\n </span>\r\n <span class=\"badge badge-light\" *ngIf=\"item.endDate==null\">{{l('HasNoEnd')}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <BBSF-Paging (Items)=\"setListingResult($event)\" *ngIf=\"loadingPage\" [options]=\"pagingOptions\" [group]=\"filtersForm\"\r\n #pagingViewElement></BBSF-Paging>\r\n</div>\r\n\r\n\r\n\r\n<app-no-results *ngIf=\"pagingResult.length == 0 && showPageContent\"></app-no-results>\r\n<app-add-survey #addModal [pagingElement]=\"pagingElement\"></app-add-survey>\r\n<app-edit-survey #editModal [pagingElement]=\"pagingElement\"></app-edit-survey>\r\n<app-delete-survey #deleteConfirmationModalControl [pagingElement]=\"pagingElement\"></app-delete-survey>\r\n<app-duplicate-survey #duplicateModal [pagingElement]=\"pagingElement\"></app-duplicate-survey>\r\n", components: [{ type: i2.PageHeaderComponentComponent, selector: "bbsf-page-header-component", inputs: ["group", "options"] }, { type: i2.PagingComponent, selector: "BBSF-Paging", inputs: ["options", "group"], outputs: ["Items"] }, { type: i3.NoResultsComponent, selector: "app-no-results" }, { type: i4.AddSurveyComponent, selector: "app-add-survey", inputs: ["pagingElement"] }, { type: i5.EditSurveyComponent, selector: "app-edit-survey", inputs: ["pagingElement", "onSuccessHandler"] }, { type: i6.DeleteSurveyComponent, selector: "app-delete-survey", inputs: ["onSuccessHandler", "pagingElement"] }, { type: i7.DuplicateSurveyComponent, selector: "app-duplicate-survey", inputs: ["onSuccessHandler", "pagingElement"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i11.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }], pipes: { "surveyDate": i12.SurveyDatePipe } });
220
220
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SurveyComponent, decorators: [{
221
221
  type: Component,
222
222
  args: [{
@@ -239,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
239
239
  type: ViewChild,
240
240
  args: ['duplicateModal', { static: false }]
241
241
  }] } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvc2hhcmVkL2NvbXBvbmVudHMvc3VydmV5L3N1cnZleS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL3NoYXJlZC9jb21wb25lbnRzL3N1cnZleS9zdXJ2ZXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBMkIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQW1CLFNBQVMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdqUSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPckQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBdUNuRCxZQUFvQixRQUFrQixFQUFVLGFBQTJCO1FBQ3pFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXBDM0UsY0FBUyxHQUFFLEVBQUUsQ0FBQztRQUNkLGFBQVEsR0FBRSxFQUFFLENBQUM7UUFDYixlQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFHeEIs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QUFDLGlCQUFpQixFQUFFO2dCQUNuRSxRQUFRLEdBQUcsY0FBYyxDQUFDO2dCQUMxQixNQUFNO1lBQ1IsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3RFLFFBQVEsR0FBRyxlQUFlLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDckUsUUFBUSxHQUFHLGVBQWUsQ0FBQztnQkFDM0IsTUFBTTtZQUVSO2dCQUNFLE1BQU07U0FDVDtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OzZHQTdQVSxlQUFlO2lHQUFmLGVBQWUsbWxCQ2Y1Qiw4N0pBMEZBOzRGRDNFYSxlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUseUJBQXlCO2lCQUN2QzsySEFVb0QsYUFBYTtzQkFBL0QsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1AsUUFBUTtzQkFBakQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNHLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDdUIsOEJBQThCO3NCQUE3RixTQUFTO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDZCxjQUFjO3NCQUE3RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlbGV0ZVN1cnZleUNvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlLXN1cnZleS9kZWxldGUtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXRTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL2VkaXQtc3VydmV5L2VkaXQtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkZFN1cnZleUNvbXBvbmVudCB9IGZyb20gJy4vYWRkLXN1cnZleS9hZGQtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbnRyb2xMYXlvdXQsIERhdGFUeXBlLCBEYXRlUGlja2VyT3B0aW9ucywgRHJvcGRvd25PcHRpb25zLCBGaWx0ZXJJdGVtLCBGaWx0ZXJUeXBlLCBJbnB1dFR5cGUsIFBhZ2luZ0NvbXBvbmVudCwgU3RhcnRWaWV3LCBUZXh0Qm94T3B0aW9ucywgUGlja2VyVHlwZSwgU2VsZWN0TW9kZSwgUGFnaW5nT3B0aW9ucywgUGFnZUhlYWRlck9wdGlvbnMsIEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcblxyXG5pbXBvcnQgeyBEdXBsaWNhdGVTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL2R1cGxpY2F0ZS1zdXJ2ZXkvZHVwbGljYXRlLXN1cnZleS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvRW51bXMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vU2VydmljZXMvc3VydmV5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc3VydmV5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3VydmV5LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VydmV5Q29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuXHJcbiAgcGFnZUhlYWRlck9wdGlvbnM6IFBhZ2VIZWFkZXJPcHRpb25zO1xyXG4gIHBhZ2VUaXRsZSA9XCJcIjtcclxuICBzdWJUaXRsZT0gXCJcIjtcclxuICBzdXJ2ZXlGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgYnJlYWRDcnVtYjogYW55W107XHJcbiAgRU46IGJvb2xlYW47XHJcbiAgcHVibGljIFN1cnZleVN0YXR1c0VudW0gPSBTdXJ2ZXlTdGF0dXNFbnVtO1xyXG4gIEBWaWV3Q2hpbGQoJ3BhZ2luZ1ZpZXdFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHBhZ2luZ0VsZW1lbnQ6IFBhZ2luZ0NvbXBvbmVudDxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2FkZE1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIGFkZE1vZGFsOiBBZGRTdXJ2ZXlDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZWRpdE1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIGVkaXRNb2RhbDogRWRpdFN1cnZleUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkZWxldGVDb25maXJtYXRpb25Nb2RhbENvbnRyb2wnLCB7IHN0YXRpYzogZmFsc2UgfSkgZGVsZXRlQ29uZmlybWF0aW9uTW9kYWxDb250cm9sOiBEZWxldGVTdXJ2ZXlDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZHVwbGljYXRlTW9kYWwnLCB7IHN0YXRpYzogZmFsc2UgfSkgZHVwbGljYXRlTW9kYWw6IER1cGxpY2F0ZVN1cnZleUNvbXBvbmVudDtcclxuXHJcbiAgLy9MaXN0aW5nXHJcbiAgc2VhcmNoVGV4dEJveE9wdGlvbnM6IGFueTtcclxuICBzZWFyY2hUZXh0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIHN0YXR1c0Ryb3Bkb3duT3B0aW9uczogRHJvcGRvd25PcHRpb25zO1xyXG4gIHZpc2libGVEcm9wZG93bk9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICB2aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBzdGF0dXNEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBEYXRlUGlja2VyV2l0aFJhbmdlTW9kZTogRGF0ZVBpY2tlck9wdGlvbnM7XHJcbiAgRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlcjogRmlsdGVySXRlbTtcclxuICBzb3J0RHJvcGRvd25PcHRpb25zOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgc29ydFR5cGVEcm9wZG93bk9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICBzb3J0RHJvcGRvd25GaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgc29ydFR5cGVEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBwYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgcGFnaW5nT3B0aW9uczogUGFnaW5nT3B0aW9ucztcclxuICBmaWx0ZXJzRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIGFwaVVSTDogc3RyaW5nID0gdGhpcy5zdXJ2ZXlTZXJ2aWNlLmFwaVVSTDtcclxuICBsb2FkaW5nUGFnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dQYWdlQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzRmlsdGVyc0RhdGFMb2FkZWQ6IGJvb2xlYW47XHJcbiAgc2hvd0ZpbHRlcnM6IGJvb2xlYW47XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgZmxpcHBpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgc3VydmV5U2VydmljZTpTdXJ2ZXlTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZVRpdGxlID0gdGhpcy5sKFwiU3VydmV5c19IZWFkZXJcIik7XHJcbiAgICB0aGlzLnVwZGF0ZVBhZ2VUaXRsZSh0aGlzLnBhZ2VUaXRsZSk7XHJcbiAgICB0aGlzLmJyZWFkQ3J1bWIgPSBbXTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuTmFtZSA9IFwiU2VhcmNoVGV4dEJveFwiO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zLlBsYWNlaG9sZGVyID0gdGhpcy5sKFwiU2VhcmNoXCIpO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5FeHRyYUNsYXNzZXMgPSBcImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gZm9ybS1jb250cm9sLXNvbGlkIHNlYXJjaC1ib3hcIjtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuSWNvbiA9IFwiLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9zZWFyY2guc3ZnXCI7XHJcblxyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEZpbHRlci5Gb3JtQ29udHJvbE5hbWUgPSB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zLk5hbWU7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRGaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiU2VhcmNoVGV4dFwiO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlRleHRCb3g7XHJcblxyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zLk5hbWUgPSBcInZpc2libGVTdXJ2ZXlcIjtcclxuICAgIHRoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5MYWJlbEtleSA9IFwiVmlzaWJpbGl0eVwiO1xyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcblxyXG4gICAgdGhpcy52aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnZpc2libGVQYW5lbERyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5OYW1lO1xyXG4gICAgdGhpcy52aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJBY3RpdmVTdGF0dXNcIjtcclxuICAgIHRoaXMudmlzaWJsZVBhbmVsRHJvcGRvd25GaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLnZpc2libGVQYW5lbERyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duT3B0aW9ucyA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5hbWUgPSBcIlN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuTGFiZWxLZXkgPSBcIlN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5vdEZvdW5kVGV4dCA9IHRoaXMubChcIk5vUmVzdWx0Rm91bmRcIik7XHJcblxyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bkZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5hbWU7XHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duRmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSBcIlN1cnZleVN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bkZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25GaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuRHJvcGRvd25MaXN0O1xyXG5cclxuXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlID0gbmV3IERhdGVQaWNrZXJPcHRpb25zKCk7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlLk5hbWUgPSBcIkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlXCJcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTGFiZWxLZXkgPSBcIkRhdGVcIjtcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuVmlld1R5cGUgPSBDb250cm9sTGF5b3V0LlZlcnRpY2FsXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlLlN0YXJ0VmlldyA9IFN0YXJ0Vmlldy5Nb250aFxyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlTW9kZS5QaWNrZXJUeXBlID0gUGlja2VyVHlwZS5DYWxlbmRhclxyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlTW9kZS5TZWxlY3RNb2RlPVNlbGVjdE1vZGUuUmFuZ2VcclxuXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTmFtZTtcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJEYXRlXCI7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuRGF0ZVBpY2tlcjtcclxuXHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMuTmFtZSA9IFwiU29ydFwiO1xyXG4gICAgdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zLkxhYmVsS2V5ID0gXCJTb3J0XCI7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5Ob3RGb3VuZFRleHQgPSB0aGlzLmwoXCJOb1Jlc3VsdEZvdW5kXCIpO1xyXG5cclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5OYW1lO1xyXG4gICAgdGhpcy5zb3J0RHJvcGRvd25GaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiU29ydEJ5XCI7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bkZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25PcHRpb25zID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5OYW1lID0gXCJTb3J0VHlwZVwiO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5MYWJlbEtleSA9IFwiU29ydFR5cGVcIjtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuTm90Rm91bmRUZXh0ID0gdGhpcy5sKFwiTm9SZXN1bHRGb3VuZFwiKTtcclxuXHJcbiAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25GaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuTmFtZTtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bkZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJTb3J0VHlwZVwiO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcblxyXG5cclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMgPSBuZXcgUGFnZUhlYWRlck9wdGlvbnMoKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuVGl0bGVLZXkgPSB0aGlzLnBhZ2VUaXRsZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuU3ViVGl0bGVLZXkgPSB0aGlzLmwoXCJTdXJ2ZXlfU3ViSGVhZGVyXCIpO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5TZWFyY2hUZXh0Qm94LkFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLlNlYXJjaFRleHRCb3guVGV4dFNlYXJjaEJveE9wdGlvbnMgPSB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5CcmVhZENydW1iLkFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkJyZWFkQ3J1bWIuQnJlYWRDcnVtYkl0ZW1zID0gdGhpcy5icmVhZENydW1iO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5FZGl0QnV0dG9uLkFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5FeHBvcnRCdXR0b24uQWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkFkZEJ1dHRvbi5BY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5BZGRCdXR0b24uQnV0dG9uVGV4dEtleSA9IHRoaXMubChcIkFkZFwiKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuQWRkQnV0dG9uLkZ1bmN0aW9uID0gdGhpcy5zaG93QWRkTW9kYWw7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uQWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5CdXR0b25UZXh0S2V5ID0gdGhpcy5sKFwiRmlsdGVyc1wiKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5GdW5jdGlvbiA9IHRoaXMubG9hZEZpbHRlcnM7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnMuQXBwbHlGdW5jdGlvbiA9IHRoaXMuc2VhcmNoO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5GaWx0ZXJzLlJlc3RGdW5jdGlvbiA9IHRoaXMucmVzZXRGaWx0ZXJzO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5GaWx0ZXJzLkNvbnRyb2xzT3B0aW9ucy5wdXNoKHsga2V5OiBEYXRhVHlwZS5TaW5nbGVTZWxlY3QsIHZhbHVlOiB0aGlzLnZpc2libGVEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuU2luZ2xlU2VsZWN0LCB2YWx1ZTogdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuRGF0ZSwgdmFsdWU6IHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuU2luZ2xlU2VsZWN0LCB2YWx1ZTogdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zIH0pXHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnMuQ29udHJvbHNPcHRpb25zLnB1c2goeyBrZXk6IERhdGFUeXBlLlNpbmdsZVNlbGVjdCwgdmFsdWU6IHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuTGlzdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLkVOID0gdGhpcy51dGlsaXR5U2VydmljZS5pc0N1cnJlbnRMYW5ndWFnZUVuZ2xpc2goKTtcclxuXHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgdGhpcy5wYWdpbmdPcHRpb25zLlBhZ2VTaXplID0gOTtcclxuICAgIHRoaXMucGFnaW5nT3B0aW9ucy5EaXNhYmxlQmxvY2tVSSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMuQWN0aW9uUG9zdFVSTCA9IHRoaXMuYXBpVVJMICsgJ0dldEFsbCc7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkxpc3RpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdpbmdPcHRpb25zLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gW3RoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuTmFtZV07XHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMuRmlsdGVycyA9IFt0aGlzLnNlYXJjaFRleHRGaWx0ZXIsIHRoaXMudmlzaWJsZVBhbmVsRHJvcGRvd25GaWx0ZXIsIHRoaXMuc3RhdHVzRHJvcGRvd25GaWx0ZXIsIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlciwgdGhpcy5zb3J0RHJvcGRvd25GaWx0ZXIsIHRoaXMuc29ydFR5cGVEcm9wZG93bkZpbHRlcl07XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nUGFnZSA9IHRydWVcclxuICB9XHJcblxyXG4gIHNldExpc3RpbmdSZXN1bHQocmVzdWx0KSB7XHJcbiAgICBkZWJ1Z2dlcjtcclxuICAgIHRoaXMucGFnaW5nUmVzdWx0ID0gcmVzdWx0O1xyXG4gICAgdGhpcy5zaG93UGFnZUNvbnRlbnQgPSB0cnVlO1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZEZpbHRlcnMgPSAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuaXNGaWx0ZXJzRGF0YUxvYWRlZCAmJiAhdGhpcy5zaG93RmlsdGVycylcclxuICAgICAgdGhpcy5sb2FkRmlsdGVyc0RhdGEoKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gIXRoaXMuc2hvd0ZpbHRlcnM7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJzRGF0YUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uU2hvd0xvYWRpbmdJbkZpbHRlcnNCb3ggPSB0aGlzLmxvYWRpbmdcclxuICAgIH1cclxuICAgIHRoaXMuZmxpcHBpbmcgPSAhdGhpcy5mbGlwcGluZztcclxuICB9XHJcblxyXG4gIGxvYWRGaWx0ZXJzRGF0YSA9ICgpID0+IHtcclxuICAgIHRoaXMuc3VydmV5U2VydmljZS5sb2FkRmlsdGVyc0Ryb3Bkb3duKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gciBhcyBhbnlcclxuICAgICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuRGF0YVNvdXJjZSA9IHJlc3VsdC5zdGF0dXNlcztcclxuICAgICAgdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zLkRhdGFTb3VyY2UgPSByZXN1bHQuc3VydmV5U29ydGluZ1R5cGVzO1xyXG4gICAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25PcHRpb25zLkRhdGFTb3VyY2UgPSByZXN1bHQuc29ydFR5cGVzO1xyXG4gICAgICB0aGlzLnZpc2libGVEcm9wZG93bk9wdGlvbnMuRGF0YVNvdXJjZSA9IHJlc3VsdC52aXNpYmlsaXR5O1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pc0ZpbHRlcnNEYXRhTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5TaG93TG9hZGluZ0luRmlsdGVyc0JveCA9IHRoaXMubG9hZGluZ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXNldEZpbHRlcnMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uU2hvd0xvYWRpbmdJbkZpbHRlcnNCb3ggPSB0aGlzLmxvYWRpbmdcclxuICAgIHRoaXMucGFnaW5nRWxlbWVudC5SZWluaXRpYWxpemVQYWdpbmcoKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaCA9ICgpID0+IHtcclxuICAgIGlmICghdGhpcy5maWx0ZXJzRm9ybS52YWxpZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5TaG93TG9hZGluZ0luRmlsdGVyc0JveCA9IHRoaXMubG9hZGluZ1xyXG4gICAgdGhpcy5wYWdpbmdFbGVtZW50LlJlaW5pdGlhbGl6ZVBhZ2luZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHNob3dBZGRNb2RhbCA9ICgpID0+IHtcclxuICAgIHRoaXMuYWRkTW9kYWwuc2hvd01vZGFsKCk7XHJcblxyXG4gIH1cclxuICBzaG93RWRpdE1vZGFsKGlkKSB7XHJcbiAgICB0aGlzLmVkaXRNb2RhbC5zaG93RWRpdE1vZGFsKGlkKTtcclxuICB9XHJcbiAgc2hvd0R1cGxpY2F0ZU1vZGFsKGlkKSB7XHJcbiAgICB0aGlzLmR1cGxpY2F0ZU1vZGFsLnNob3dEdXBsaWNhdGVNb2RhbChpZCk7XHJcbiAgfVxyXG4gIHNob3dEZWxldGVNb2RhbChpZCkge1xyXG4gICAgdGhpcy5kZWxldGVDb25maXJtYXRpb25Nb2RhbENvbnRyb2wuc2hvd0RlbGV0ZU1vZGFsKGlkKTtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRTdGF0dXMoc3RhdHVzKSB7XHJcbiAgICB2YXIgU3RhdHVzZXMgPSAnJztcclxuICAgIHN3aXRjaCAoc3RhdHVzLnRvTG9jYWxlTG93ZXJDYXNlKCkpe1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fRHJhZnQudG9Mb2NhbGVMb3dlckNhc2UoKTpcclxuICAgICAgICBTdGF0dXNlcyA9ICdiYWRnZS1zZWNvbmRhcnknO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fQ2xvc2VkLnRvTG9jYWxlTG93ZXJDYXNlKCk6XHJcbiAgICAgICAgU3RhdHVzZXMgPSAnYmFkZ2UtZGFuZ2VyJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLlN1cnZleVN0YXR1c0VudW0uU2NvcmluZ1R5cGVFbnVtX1B1Ymxpc2hlZC50b0xvY2FsZUxvd2VyQ2FzZSgpOlxyXG4gICAgICAgIFN0YXR1c2VzID0gJ2JhZGdlLXN1Y2Nlc3MnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fVXBjb21pbmcudG9Mb2NhbGVMb3dlckNhc2UoKTpcclxuICAgICAgICBTdGF0dXNlcyA9ICdiYWRnZS1zdWNjZXNzJztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RhdHVzZXM7XHJcbiAgfVxyXG4gXHJcbn1cclxuIiwiPCEtLXRvb2xiYXItLT5cclxuPGJic2YtcGFnZS1oZWFkZXItY29tcG9uZW50IFtvcHRpb25zXT1cInBhZ2VIZWFkZXJPcHRpb25zXCIgW2dyb3VwXT1cImZpbHRlcnNGb3JtXCI+PC9iYnNmLXBhZ2UtaGVhZGVyLWNvbXBvbmVudD5cclxuPCEtLUVuZCB0b29sYmFyLS0+XHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXIteHhsXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC14bC02IGQtZmxleFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBhZ2luZ1Jlc3VsdFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWxpc3Rpbmcgdy1pY29uLWJveGVzIHN1cnZleS1jYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBsaW5lLWNsYW1wXCI+XHJcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLi4vaW5mbycsIGl0ZW0uaURfR1VJRF1cIj5cclxuICAgICAgICAgICAgICB7e2l0ZW0ubG9jYWxpemVkVGl0bGV9fVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXIgZC1mbGV4IGZsZXgtbm93cmFwIGZsZXgtc3RhY2tcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodCBiYWdkZS14cyBtZS0yXCIgKm5nSWY9XCIhaXRlbS52aXNpYmxlXCI+IHt7bChcIk5vdFZpc2libGVcIil9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFnZGUteHMgYmFkZ2UtbGlnaHQgbWUtMlwiIFtuZ0NsYXNzXT1cImdldFN0YXR1cyhpdGVtLnN0YXR1c0l0ZW1JRClcIj57e2l0ZW0ubG9jYWxpemVkU3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd24gY29udGFpbmVyPVwiYm9keVwiIGNsYXNzPVwiZHJvcGRvd24tY3VzdG9tXCIgW3BsYWNlbWVudF09XCJFTiA/ICdib3R0b20tcmlnaHQnIDogJ2JvdHRvbS1sZWZ0J1wiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlLWN1c3RvbSBidG4gYnRuLWNsZWFyIGJ0bi1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tM1wiIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL2NhcmQtZHJvcGRvd24uc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duTWVudSBjbGFzcz1cImRyb3Bkb3duLW1lbnUtY3VzdG9tXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzaG93RWRpdE1vZGFsKGl0ZW0uaURfR1VJRClcIiBhcHBwcmV2ZW50ZG91YmxlY2xpY2sgdHlwZT1cImJ1dHRvblwiIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3Bkb3duLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTNcIiBbaW5saW5lU1ZHXT1cIicvYXNzZXRzL2ltYWdlcy9FZGl0LnN2ZydcIj5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICB7e2woXCJFZGl0XCIpfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2hvd0R1cGxpY2F0ZU1vZGFsKGl0ZW0uaURfR1VJRClcIiBhcHBwcmV2ZW50ZG91YmxlY2xpY2sgdHlwZT1cImJ1dHRvblwiIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3Bkb3duLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTNcIiBbaW5saW5lU1ZHXT1cIicvYXNzZXRzL2ltYWdlcy9jb3B5LnN2ZydcIj5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICB7e2woXCJEdXBsaWNhdGVcIil9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2hvd0RlbGV0ZU1vZGFsKGl0ZW0uaURfR1VJRClcIiBhcHBwcmV2ZW50ZG91YmxlY2xpY2sgbmdiRHJvcGRvd25JdGVtIGNsYXNzPVwiZHJvcGRvd24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL1RyYXNoLnN2ZydcIj48L3NwYW4+ICB7e2woXCJEZWxldGVcIil9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiICpuZ0lmPVwiaXRlbS5sb2NhbGl6ZWREZXNjXCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImxpbmUtY2xhbXAtMlwiPlxyXG4gICAgICAgICAgICB7e2l0ZW0ubG9jYWxpemVkRGVzY319XHJcbiAgICAgICAgICA8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWZvb3RlciB0eXBlIG9uZS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlclwiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1jb3VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdXJ2ZXktY291bnRlci10aXRsZVwiPnt7bCgnUXVlc3Rpb24nKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtYnJhbmQgYmFkZ2Utc3F1YXJlIFwiPnt7aXRlbS50b3RhbFF1ZXN0aW9uQ291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktY291bnRlclwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VydmV5LWNvdW50ZXItdGl0bGVcIj57e2woJ1N1Ym1pc3Npb25zJyl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWJyYW5kIGJhZGdlLXNxdWFyZSBcIj57e2l0ZW0udG90YWxTdWJtaXNzaW9uc0NvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmVyeS1kYXRlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWJveGVzIGFsaWduLWl0ZW1zLWJhc2VsaW5lXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tYm94IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi00XCIgW2lubGluZVNWR109XCInL2Fzc2V0cy9pbWFnZXMvY2FsZW5kYXIuc3ZnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1cnZleS1jb3VudGVyLXRpdGxlXCIgKm5nSWY9XCJpdGVtLnN0YXJ0RGF0ZT09bnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICB7e2woJ05vdFN0YXJ0ZWRZZXQnKX19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1cnZleS1jb3VudGVyLXRpdGxlIGQtZmxleCBmbGV4LXN0YWNrIHctMTAwXCIgKm5nSWY9XCJpdGVtLnN0YXJ0RGF0ZSE9bnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICB7e2l0ZW0uc3RhcnREYXRlIHxzdXJ2ZXlEYXRlfX0gLSB7e2l0ZW0uZW5kRGF0ZSE9bnVsbD8oaXRlbS5lbmREYXRlfHN1cnZleURhdGUpOlwiXCJ9fVxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0XCIgKm5nSWY9XCJpdGVtLmVuZERhdGU9PW51bGxcIj57e2woJ0hhc05vRW5kJyl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48QkJTRi1QYWdpbmcgKEl0ZW1zKT1cInNldExpc3RpbmdSZXN1bHQoJGV2ZW50KVwiICpuZ0lmPVwibG9hZGluZ1BhZ2VcIiBbb3B0aW9uc109XCJwYWdpbmdPcHRpb25zXCIgW2dyb3VwXT1cImZpbHRlcnNGb3JtXCJcclxuICAjcGFnaW5nVmlld0VsZW1lbnQ+PC9CQlNGLVBhZ2luZz5cclxuXHJcbjxhcHAtbm8tcmVzdWx0cyAqbmdJZj1cInBhZ2luZ1Jlc3VsdC5sZW5ndGggPT0gMCAmJiBzaG93UGFnZUNvbnRlbnRcIj48L2FwcC1uby1yZXN1bHRzPlxyXG48YXBwLWFkZC1zdXJ2ZXkgI2FkZE1vZGFsIFtwYWdpbmdFbGVtZW50XT1cInBhZ2luZ0VsZW1lbnRcIj48L2FwcC1hZGQtc3VydmV5PlxyXG48YXBwLWVkaXQtc3VydmV5ICNlZGl0TW9kYWwgW3BhZ2luZ0VsZW1lbnRdPVwicGFnaW5nRWxlbWVudFwiPjwvYXBwLWVkaXQtc3VydmV5PlxyXG48YXBwLWRlbGV0ZS1zdXJ2ZXkgI2RlbGV0ZUNvbmZpcm1hdGlvbk1vZGFsQ29udHJvbCBbcGFnaW5nRWxlbWVudF09XCJwYWdpbmdFbGVtZW50XCI+PC9hcHAtZGVsZXRlLXN1cnZleT5cclxuPGFwcC1kdXBsaWNhdGUtc3VydmV5ICNkdXBsaWNhdGVNb2RhbCBbcGFnaW5nRWxlbWVudF09XCJwYWdpbmdFbGVtZW50XCI+PC9hcHAtZHVwbGljYXRlLXN1cnZleT5cclxuIl19
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvc2hhcmVkL2NvbXBvbmVudHMvc3VydmV5L3N1cnZleS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL3NoYXJlZC9jb21wb25lbnRzL3N1cnZleS9zdXJ2ZXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBMkIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQW1CLFNBQVMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdqUSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPckQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBdUNuRCxZQUFvQixRQUFrQixFQUFVLGFBQTJCO1FBQ3pFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXBDM0UsY0FBUyxHQUFFLEVBQUUsQ0FBQztRQUNkLGFBQVEsR0FBRSxFQUFFLENBQUM7UUFDYixlQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFHeEIs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QUFDLGlCQUFpQixFQUFFO2dCQUNuRSxRQUFRLEdBQUcsY0FBYyxDQUFDO2dCQUMxQixNQUFNO1lBQ1IsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3RFLFFBQVEsR0FBRyxlQUFlLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDckUsUUFBUSxHQUFHLGVBQWUsQ0FBQztnQkFDM0IsTUFBTTtZQUVSO2dCQUNFLE1BQU07U0FDVDtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OzZHQTdQVSxlQUFlO2lHQUFmLGVBQWUsbWxCQ2Y1Qiw0aUtBOEZBOzRGRC9FYSxlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUseUJBQXlCO2lCQUN2QzsySEFVb0QsYUFBYTtzQkFBL0QsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1AsUUFBUTtzQkFBakQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNHLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDdUIsOEJBQThCO3NCQUE3RixTQUFTO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDZCxjQUFjO3NCQUE3RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlbGV0ZVN1cnZleUNvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlLXN1cnZleS9kZWxldGUtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXRTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL2VkaXQtc3VydmV5L2VkaXQtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkZFN1cnZleUNvbXBvbmVudCB9IGZyb20gJy4vYWRkLXN1cnZleS9hZGQtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbnRyb2xMYXlvdXQsIERhdGFUeXBlLCBEYXRlUGlja2VyT3B0aW9ucywgRHJvcGRvd25PcHRpb25zLCBGaWx0ZXJJdGVtLCBGaWx0ZXJUeXBlLCBJbnB1dFR5cGUsIFBhZ2luZ0NvbXBvbmVudCwgU3RhcnRWaWV3LCBUZXh0Qm94T3B0aW9ucywgUGlja2VyVHlwZSwgU2VsZWN0TW9kZSwgUGFnaW5nT3B0aW9ucywgUGFnZUhlYWRlck9wdGlvbnMsIEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcblxyXG5pbXBvcnQgeyBEdXBsaWNhdGVTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL2R1cGxpY2F0ZS1zdXJ2ZXkvZHVwbGljYXRlLXN1cnZleS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvRW51bXMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vU2VydmljZXMvc3VydmV5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc3VydmV5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3VydmV5LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VydmV5Q29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuXHJcbiAgcGFnZUhlYWRlck9wdGlvbnM6IFBhZ2VIZWFkZXJPcHRpb25zO1xyXG4gIHBhZ2VUaXRsZSA9XCJcIjtcclxuICBzdWJUaXRsZT0gXCJcIjtcclxuICBzdXJ2ZXlGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgYnJlYWRDcnVtYjogYW55W107XHJcbiAgRU46IGJvb2xlYW47XHJcbiAgcHVibGljIFN1cnZleVN0YXR1c0VudW0gPSBTdXJ2ZXlTdGF0dXNFbnVtO1xyXG4gIEBWaWV3Q2hpbGQoJ3BhZ2luZ1ZpZXdFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHBhZ2luZ0VsZW1lbnQ6IFBhZ2luZ0NvbXBvbmVudDxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2FkZE1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIGFkZE1vZGFsOiBBZGRTdXJ2ZXlDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZWRpdE1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIGVkaXRNb2RhbDogRWRpdFN1cnZleUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkZWxldGVDb25maXJtYXRpb25Nb2RhbENvbnRyb2wnLCB7IHN0YXRpYzogZmFsc2UgfSkgZGVsZXRlQ29uZmlybWF0aW9uTW9kYWxDb250cm9sOiBEZWxldGVTdXJ2ZXlDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZHVwbGljYXRlTW9kYWwnLCB7IHN0YXRpYzogZmFsc2UgfSkgZHVwbGljYXRlTW9kYWw6IER1cGxpY2F0ZVN1cnZleUNvbXBvbmVudDtcclxuXHJcbiAgLy9MaXN0aW5nXHJcbiAgc2VhcmNoVGV4dEJveE9wdGlvbnM6IGFueTtcclxuICBzZWFyY2hUZXh0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIHN0YXR1c0Ryb3Bkb3duT3B0aW9uczogRHJvcGRvd25PcHRpb25zO1xyXG4gIHZpc2libGVEcm9wZG93bk9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICB2aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBzdGF0dXNEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBEYXRlUGlja2VyV2l0aFJhbmdlTW9kZTogRGF0ZVBpY2tlck9wdGlvbnM7XHJcbiAgRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlcjogRmlsdGVySXRlbTtcclxuICBzb3J0RHJvcGRvd25PcHRpb25zOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgc29ydFR5cGVEcm9wZG93bk9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICBzb3J0RHJvcGRvd25GaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgc29ydFR5cGVEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBwYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgcGFnaW5nT3B0aW9uczogUGFnaW5nT3B0aW9ucztcclxuICBmaWx0ZXJzRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIGFwaVVSTDogc3RyaW5nID0gdGhpcy5zdXJ2ZXlTZXJ2aWNlLmFwaVVSTDtcclxuICBsb2FkaW5nUGFnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dQYWdlQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzRmlsdGVyc0RhdGFMb2FkZWQ6IGJvb2xlYW47XHJcbiAgc2hvd0ZpbHRlcnM6IGJvb2xlYW47XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgZmxpcHBpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgc3VydmV5U2VydmljZTpTdXJ2ZXlTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZVRpdGxlID0gdGhpcy5sKFwiU3VydmV5c19IZWFkZXJcIik7XHJcbiAgICB0aGlzLnVwZGF0ZVBhZ2VUaXRsZSh0aGlzLnBhZ2VUaXRsZSk7XHJcbiAgICB0aGlzLmJyZWFkQ3J1bWIgPSBbXTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuTmFtZSA9IFwiU2VhcmNoVGV4dEJveFwiO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zLlBsYWNlaG9sZGVyID0gdGhpcy5sKFwiU2VhcmNoXCIpO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5FeHRyYUNsYXNzZXMgPSBcImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gZm9ybS1jb250cm9sLXNvbGlkIHNlYXJjaC1ib3hcIjtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuSWNvbiA9IFwiLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9zZWFyY2guc3ZnXCI7XHJcblxyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEZpbHRlci5Gb3JtQ29udHJvbE5hbWUgPSB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zLk5hbWU7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRGaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiU2VhcmNoVGV4dFwiO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlRleHRCb3g7XHJcblxyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zLk5hbWUgPSBcInZpc2libGVTdXJ2ZXlcIjtcclxuICAgIHRoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5MYWJlbEtleSA9IFwiVmlzaWJpbGl0eVwiO1xyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcblxyXG4gICAgdGhpcy52aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnZpc2libGVQYW5lbERyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5OYW1lO1xyXG4gICAgdGhpcy52aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJBY3RpdmVTdGF0dXNcIjtcclxuICAgIHRoaXMudmlzaWJsZVBhbmVsRHJvcGRvd25GaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLnZpc2libGVQYW5lbERyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duT3B0aW9ucyA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5hbWUgPSBcIlN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuTGFiZWxLZXkgPSBcIlN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5vdEZvdW5kVGV4dCA9IHRoaXMubChcIk5vUmVzdWx0Rm91bmRcIik7XHJcblxyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bkZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5hbWU7XHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duRmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSBcIlN1cnZleVN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bkZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25GaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuRHJvcGRvd25MaXN0O1xyXG5cclxuXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlID0gbmV3IERhdGVQaWNrZXJPcHRpb25zKCk7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlLk5hbWUgPSBcIkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlXCJcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTGFiZWxLZXkgPSBcIkRhdGVcIjtcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuVmlld1R5cGUgPSBDb250cm9sTGF5b3V0LlZlcnRpY2FsXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlLlN0YXJ0VmlldyA9IFN0YXJ0Vmlldy5Nb250aFxyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlTW9kZS5QaWNrZXJUeXBlID0gUGlja2VyVHlwZS5DYWxlbmRhclxyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlTW9kZS5TZWxlY3RNb2RlPVNlbGVjdE1vZGUuUmFuZ2VcclxuXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTmFtZTtcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJEYXRlXCI7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuRGF0ZVBpY2tlcjtcclxuXHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMuTmFtZSA9IFwiU29ydFwiO1xyXG4gICAgdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zLkxhYmVsS2V5ID0gXCJTb3J0XCI7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5Ob3RGb3VuZFRleHQgPSB0aGlzLmwoXCJOb1Jlc3VsdEZvdW5kXCIpO1xyXG5cclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5OYW1lO1xyXG4gICAgdGhpcy5zb3J0RHJvcGRvd25GaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiU29ydEJ5XCI7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bkZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25PcHRpb25zID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5OYW1lID0gXCJTb3J0VHlwZVwiO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5MYWJlbEtleSA9IFwiU29ydFR5cGVcIjtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuTm90Rm91bmRUZXh0ID0gdGhpcy5sKFwiTm9SZXN1bHRGb3VuZFwiKTtcclxuXHJcbiAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25GaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuTmFtZTtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bkZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJTb3J0VHlwZVwiO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcblxyXG5cclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMgPSBuZXcgUGFnZUhlYWRlck9wdGlvbnMoKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuVGl0bGVLZXkgPSB0aGlzLnBhZ2VUaXRsZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuU3ViVGl0bGVLZXkgPSB0aGlzLmwoXCJTdXJ2ZXlfU3ViSGVhZGVyXCIpO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5TZWFyY2hUZXh0Qm94LkFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLlNlYXJjaFRleHRCb3guVGV4dFNlYXJjaEJveE9wdGlvbnMgPSB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5CcmVhZENydW1iLkFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkJyZWFkQ3J1bWIuQnJlYWRDcnVtYkl0ZW1zID0gdGhpcy5icmVhZENydW1iO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5FZGl0QnV0dG9uLkFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5FeHBvcnRCdXR0b24uQWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkFkZEJ1dHRvbi5BY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5BZGRCdXR0b24uQnV0dG9uVGV4dEtleSA9IHRoaXMubChcIkFkZFwiKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuQWRkQnV0dG9uLkZ1bmN0aW9uID0gdGhpcy5zaG93QWRkTW9kYWw7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uQWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5CdXR0b25UZXh0S2V5ID0gdGhpcy5sKFwiRmlsdGVyc1wiKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5GdW5jdGlvbiA9IHRoaXMubG9hZEZpbHRlcnM7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnMuQXBwbHlGdW5jdGlvbiA9IHRoaXMuc2VhcmNoO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5GaWx0ZXJzLlJlc3RGdW5jdGlvbiA9IHRoaXMucmVzZXRGaWx0ZXJzO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5GaWx0ZXJzLkNvbnRyb2xzT3B0aW9ucy5wdXNoKHsga2V5OiBEYXRhVHlwZS5TaW5nbGVTZWxlY3QsIHZhbHVlOiB0aGlzLnZpc2libGVEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuU2luZ2xlU2VsZWN0LCB2YWx1ZTogdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuRGF0ZSwgdmFsdWU6IHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuU2luZ2xlU2VsZWN0LCB2YWx1ZTogdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zIH0pXHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnMuQ29udHJvbHNPcHRpb25zLnB1c2goeyBrZXk6IERhdGFUeXBlLlNpbmdsZVNlbGVjdCwgdmFsdWU6IHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuTGlzdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLkVOID0gdGhpcy51dGlsaXR5U2VydmljZS5pc0N1cnJlbnRMYW5ndWFnZUVuZ2xpc2goKTtcclxuXHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgdGhpcy5wYWdpbmdPcHRpb25zLlBhZ2VTaXplID0gOTtcclxuICAgIHRoaXMucGFnaW5nT3B0aW9ucy5EaXNhYmxlQmxvY2tVSSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMuQWN0aW9uUG9zdFVSTCA9IHRoaXMuYXBpVVJMICsgJ0dldEFsbCc7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkxpc3RpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdpbmdPcHRpb25zLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gW3RoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuTmFtZV07XHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMuRmlsdGVycyA9IFt0aGlzLnNlYXJjaFRleHRGaWx0ZXIsIHRoaXMudmlzaWJsZVBhbmVsRHJvcGRvd25GaWx0ZXIsIHRoaXMuc3RhdHVzRHJvcGRvd25GaWx0ZXIsIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlciwgdGhpcy5zb3J0RHJvcGRvd25GaWx0ZXIsIHRoaXMuc29ydFR5cGVEcm9wZG93bkZpbHRlcl07XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nUGFnZSA9IHRydWVcclxuICB9XHJcblxyXG4gIHNldExpc3RpbmdSZXN1bHQocmVzdWx0KSB7XHJcbiAgICBkZWJ1Z2dlcjtcclxuICAgIHRoaXMucGFnaW5nUmVzdWx0ID0gcmVzdWx0O1xyXG4gICAgdGhpcy5zaG93UGFnZUNvbnRlbnQgPSB0cnVlO1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZEZpbHRlcnMgPSAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuaXNGaWx0ZXJzRGF0YUxvYWRlZCAmJiAhdGhpcy5zaG93RmlsdGVycylcclxuICAgICAgdGhpcy5sb2FkRmlsdGVyc0RhdGEoKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gIXRoaXMuc2hvd0ZpbHRlcnM7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJzRGF0YUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uU2hvd0xvYWRpbmdJbkZpbHRlcnNCb3ggPSB0aGlzLmxvYWRpbmdcclxuICAgIH1cclxuICAgIHRoaXMuZmxpcHBpbmcgPSAhdGhpcy5mbGlwcGluZztcclxuICB9XHJcblxyXG4gIGxvYWRGaWx0ZXJzRGF0YSA9ICgpID0+IHtcclxuICAgIHRoaXMuc3VydmV5U2VydmljZS5sb2FkRmlsdGVyc0Ryb3Bkb3duKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gciBhcyBhbnlcclxuICAgICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuRGF0YVNvdXJjZSA9IHJlc3VsdC5zdGF0dXNlcztcclxuICAgICAgdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zLkRhdGFTb3VyY2UgPSByZXN1bHQuc3VydmV5U29ydGluZ1R5cGVzO1xyXG4gICAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25PcHRpb25zLkRhdGFTb3VyY2UgPSByZXN1bHQuc29ydFR5cGVzO1xyXG4gICAgICB0aGlzLnZpc2libGVEcm9wZG93bk9wdGlvbnMuRGF0YVNvdXJjZSA9IHJlc3VsdC52aXNpYmlsaXR5O1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pc0ZpbHRlcnNEYXRhTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5TaG93TG9hZGluZ0luRmlsdGVyc0JveCA9IHRoaXMubG9hZGluZ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXNldEZpbHRlcnMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uU2hvd0xvYWRpbmdJbkZpbHRlcnNCb3ggPSB0aGlzLmxvYWRpbmdcclxuICAgIHRoaXMucGFnaW5nRWxlbWVudC5SZWluaXRpYWxpemVQYWdpbmcoKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaCA9ICgpID0+IHtcclxuICAgIGlmICghdGhpcy5maWx0ZXJzRm9ybS52YWxpZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5TaG93TG9hZGluZ0luRmlsdGVyc0JveCA9IHRoaXMubG9hZGluZ1xyXG4gICAgdGhpcy5wYWdpbmdFbGVtZW50LlJlaW5pdGlhbGl6ZVBhZ2luZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHNob3dBZGRNb2RhbCA9ICgpID0+IHtcclxuICAgIHRoaXMuYWRkTW9kYWwuc2hvd01vZGFsKCk7XHJcblxyXG4gIH1cclxuICBzaG93RWRpdE1vZGFsKGlkKSB7XHJcbiAgICB0aGlzLmVkaXRNb2RhbC5zaG93RWRpdE1vZGFsKGlkKTtcclxuICB9XHJcbiAgc2hvd0R1cGxpY2F0ZU1vZGFsKGlkKSB7XHJcbiAgICB0aGlzLmR1cGxpY2F0ZU1vZGFsLnNob3dEdXBsaWNhdGVNb2RhbChpZCk7XHJcbiAgfVxyXG4gIHNob3dEZWxldGVNb2RhbChpZCkge1xyXG4gICAgdGhpcy5kZWxldGVDb25maXJtYXRpb25Nb2RhbENvbnRyb2wuc2hvd0RlbGV0ZU1vZGFsKGlkKTtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRTdGF0dXMoc3RhdHVzKSB7XHJcbiAgICB2YXIgU3RhdHVzZXMgPSAnJztcclxuICAgIHN3aXRjaCAoc3RhdHVzLnRvTG9jYWxlTG93ZXJDYXNlKCkpe1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fRHJhZnQudG9Mb2NhbGVMb3dlckNhc2UoKTpcclxuICAgICAgICBTdGF0dXNlcyA9ICdiYWRnZS1zZWNvbmRhcnknO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fQ2xvc2VkLnRvTG9jYWxlTG93ZXJDYXNlKCk6XHJcbiAgICAgICAgU3RhdHVzZXMgPSAnYmFkZ2UtZGFuZ2VyJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLlN1cnZleVN0YXR1c0VudW0uU2NvcmluZ1R5cGVFbnVtX1B1Ymxpc2hlZC50b0xvY2FsZUxvd2VyQ2FzZSgpOlxyXG4gICAgICAgIFN0YXR1c2VzID0gJ2JhZGdlLXN1Y2Nlc3MnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fVXBjb21pbmcudG9Mb2NhbGVMb3dlckNhc2UoKTpcclxuICAgICAgICBTdGF0dXNlcyA9ICdiYWRnZS1zdWNjZXNzJztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RhdHVzZXM7XHJcbiAgfVxyXG4gXHJcbn1cclxuIiwiPCEtLXRvb2xiYXItLT5cclxuPGJic2YtcGFnZS1oZWFkZXItY29tcG9uZW50IFtvcHRpb25zXT1cInBhZ2VIZWFkZXJPcHRpb25zXCIgW2dyb3VwXT1cImZpbHRlcnNGb3JtXCI+PC9iYnNmLXBhZ2UtaGVhZGVyLWNvbXBvbmVudD5cclxuPCEtLUVuZCB0b29sYmFyLS0+XHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXIteHhsXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC14bC02IGQtZmxleFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBhZ2luZ1Jlc3VsdFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWxpc3Rpbmcgdy1pY29uLWJveGVzIHN1cnZleS1jYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBsaW5lLWNsYW1wXCI+XHJcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLi4vaW5mbycsIGl0ZW0uaURfR1VJRF1cIj5cclxuICAgICAgICAgICAgICB7e2l0ZW0ubG9jYWxpemVkVGl0bGV9fVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXIgZC1mbGV4IGZsZXgtbm93cmFwIGZsZXgtc3RhY2tcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodCBiYWdkZS14cyBtZS0yXCIgKm5nSWY9XCIhaXRlbS52aXNpYmxlXCI+IHt7bChcIk5vdFZpc2libGVcIil9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFnZGUteHMgYmFkZ2UtbGlnaHQgbWUtMlwiIFtuZ0NsYXNzXT1cImdldFN0YXR1cyhpdGVtLnN0YXR1c0l0ZW1JRClcIj57e2l0ZW0ubG9jYWxpemVkU3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd24gY29udGFpbmVyPVwiYm9keVwiIGNsYXNzPVwiZHJvcGRvd24tY3VzdG9tXCIgW3BsYWNlbWVudF09XCJFTiA/ICdib3R0b20tcmlnaHQnIDogJ2JvdHRvbS1sZWZ0J1wiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlLWN1c3RvbSBidG4gYnRuLWNsZWFyIGJ0bi1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tM1wiIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL2NhcmQtZHJvcGRvd24uc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duTWVudSBjbGFzcz1cImRyb3Bkb3duLW1lbnUtY3VzdG9tXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzaG93RWRpdE1vZGFsKGl0ZW0uaURfR1VJRClcIiBhcHBwcmV2ZW50ZG91YmxlY2xpY2sgdHlwZT1cImJ1dHRvblwiIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3Bkb3duLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTNcIiBbaW5saW5lU1ZHXT1cIicvYXNzZXRzL2ltYWdlcy9FZGl0LnN2ZydcIj5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICB7e2woXCJFZGl0XCIpfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2hvd0R1cGxpY2F0ZU1vZGFsKGl0ZW0uaURfR1VJRClcIiBhcHBwcmV2ZW50ZG91YmxlY2xpY2sgdHlwZT1cImJ1dHRvblwiIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3Bkb3duLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTNcIiBbaW5saW5lU1ZHXT1cIicvYXNzZXRzL2ltYWdlcy9jb3B5LnN2ZydcIj5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICB7e2woXCJEdXBsaWNhdGVcIil9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2hvd0RlbGV0ZU1vZGFsKGl0ZW0uaURfR1VJRClcIiBhcHBwcmV2ZW50ZG91YmxlY2xpY2sgbmdiRHJvcGRvd25JdGVtIGNsYXNzPVwiZHJvcGRvd24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL1RyYXNoLnN2ZydcIj48L3NwYW4+ICB7e2woXCJEZWxldGVcIil9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBtYi00XCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImxpbmUtY2xhbXAtMVwiPlxyXG4gICAgICAgICAgICB7e2l0ZW0ubG9jYWxpemVkRGVzY319XHJcbiAgICAgICAgICA8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWZvb3RlciB0eXBlIG9uZS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBwdC0wXCI+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LWNvdW50ZXJcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1cnZleS1jb3VudGVyLXRpdGxlXCI+e3tsKCdRdWVzdGlvbicpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1icmFuZCBiYWRnZS1zcXVhcmUgXCI+e3tpdGVtLnRvdGFsUXVlc3Rpb25Db3VudH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1jb3VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdXJ2ZXktY291bnRlci10aXRsZVwiPnt7bCgnU3VibWlzc2lvbnMnKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtYnJhbmQgYmFkZ2Utc3F1YXJlIFwiPnt7aXRlbS50b3RhbFN1Ym1pc3Npb25zQ291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXJ5LWRhdGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tYm94ZXMgYWxpZ24taXRlbXMtYmFzZWxpbmVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1ib3ggdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2xcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzeW1ib2wtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTRcIiBbaW5saW5lU1ZHXT1cIicvYXNzZXRzL2ltYWdlcy9jYWxlbmRhci5zdmcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VydmV5LWNvdW50ZXItdGl0bGVcIiAqbmdJZj1cIml0ZW0uc3RhcnREYXRlPT1udWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7bCgnTm90U3RhcnRlZFlldCcpfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwiaXRlbS5zdGFydERhdGUhPW51bGxcIiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VydmV5LWNvdW50ZXItdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2l0ZW0uc3RhcnREYXRlIHxzdXJ2ZXlEYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uZW5kRGF0ZSE9bnVsbFwiPiAtIHt7KGl0ZW0uZW5kRGF0ZXxzdXJ2ZXlEYXRlKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHRcIiAqbmdJZj1cIml0ZW0uZW5kRGF0ZT09bnVsbFwiPnt7bCgnSGFzTm9FbmQnKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPEJCU0YtUGFnaW5nIChJdGVtcyk9XCJzZXRMaXN0aW5nUmVzdWx0KCRldmVudClcIiAqbmdJZj1cImxvYWRpbmdQYWdlXCIgW29wdGlvbnNdPVwicGFnaW5nT3B0aW9uc1wiIFtncm91cF09XCJmaWx0ZXJzRm9ybVwiXHJcbiAgICAgICAgICAgICAgICNwYWdpbmdWaWV3RWxlbWVudD48L0JCU0YtUGFnaW5nPlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuPGFwcC1uby1yZXN1bHRzICpuZ0lmPVwicGFnaW5nUmVzdWx0Lmxlbmd0aCA9PSAwICYmIHNob3dQYWdlQ29udGVudFwiPjwvYXBwLW5vLXJlc3VsdHM+XHJcbjxhcHAtYWRkLXN1cnZleSAjYWRkTW9kYWwgW3BhZ2luZ0VsZW1lbnRdPVwicGFnaW5nRWxlbWVudFwiPjwvYXBwLWFkZC1zdXJ2ZXk+XHJcbjxhcHAtZWRpdC1zdXJ2ZXkgI2VkaXRNb2RhbCBbcGFnaW5nRWxlbWVudF09XCJwYWdpbmdFbGVtZW50XCI+PC9hcHAtZWRpdC1zdXJ2ZXk+XHJcbjxhcHAtZGVsZXRlLXN1cnZleSAjZGVsZXRlQ29uZmlybWF0aW9uTW9kYWxDb250cm9sIFtwYWdpbmdFbGVtZW50XT1cInBhZ2luZ0VsZW1lbnRcIj48L2FwcC1kZWxldGUtc3VydmV5PlxyXG48YXBwLWR1cGxpY2F0ZS1zdXJ2ZXkgI2R1cGxpY2F0ZU1vZGFsIFtwYWdpbmdFbGVtZW50XT1cInBhZ2luZ0VsZW1lbnRcIj48L2FwcC1kdXBsaWNhdGUtc3VydmV5PlxyXG4iXX0=