bpm-core 0.0.26 → 0.0.28

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 (49) hide show
  1. package/esm2022/lib/app/app.component.mjs +9 -10
  2. package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +3 -3
  3. package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +2 -2
  4. package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +4 -40
  5. package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +3 -3
  6. package/esm2022/lib/components/shared-components/action-buttons/action-buttons.component.mjs +6 -4
  7. package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +2 -2
  8. package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +42 -31
  9. package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +63 -14
  10. package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +70 -137
  11. package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +42 -78
  12. package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +5 -19
  13. package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +23 -115
  14. package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +20 -72
  15. package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +20 -74
  16. package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +20 -104
  17. package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +20 -39
  18. package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +27 -59
  19. package/esm2022/lib/components/shared-components/form-field/validation-errors/validation-errors.component.mjs +3 -6
  20. package/esm2022/lib/environments/environment.local.mjs +2 -2
  21. package/esm2022/lib/services/core.service.ts.mjs +7 -8
  22. package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +2 -2
  23. package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +37 -23
  24. package/fesm2022/bpm-core.mjs +538 -958
  25. package/fesm2022/bpm-core.mjs.map +1 -1
  26. package/lib/app/app.component.d.ts +1 -2
  27. package/lib/components/app-component-sections/activities/activities.component.d.ts +2 -2
  28. package/lib/components/app-component-sections/approvals-workflow/approvals-workflow.component.d.ts +1 -1
  29. package/lib/components/app-component-sections/form-section/form-section.component.d.ts +3 -4
  30. package/lib/components/app-component-sections/service-header/service-header.component.d.ts +1 -1
  31. package/lib/components/shared-components/action-buttons/action-buttons.component.d.ts +3 -1
  32. package/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.d.ts +1 -1
  33. package/lib/components/shared-components/form-field/checkbox/checkbox.component.d.ts +10 -7
  34. package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +15 -5
  35. package/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.d.ts +15 -15
  36. package/lib/components/shared-components/form-field/date-picker/date-picker.component.d.ts +6 -13
  37. package/lib/components/shared-components/form-field/input/input.component.d.ts +2 -6
  38. package/lib/components/shared-components/form-field/input-currency/input-currency.component.d.ts +6 -23
  39. package/lib/components/shared-components/form-field/input-email/input-email.component.d.ts +4 -18
  40. package/lib/components/shared-components/form-field/input-mask/input-mask.component.d.ts +4 -18
  41. package/lib/components/shared-components/form-field/input-number/input-number.component.d.ts +5 -20
  42. package/lib/components/shared-components/form-field/input-telephone/input-telephone.component.d.ts +4 -15
  43. package/lib/components/shared-components/form-field/textarea/textarea.component.d.ts +5 -14
  44. package/lib/components/shared-components/form-field/validation-errors/validation-errors.component.d.ts +1 -2
  45. package/lib/services/core.service.ts.d.ts +1 -1
  46. package/lib/testComponent/request-details-section/request-details-section.component.d.ts +5 -7
  47. package/package.json +3 -2
  48. package/esm2022/lib/testComponent/services/state-machine.service.mjs +0 -148
  49. package/lib/testComponent/services/state-machine.service.d.ts +0 -29
@@ -1,10 +1,9 @@
1
1
  import { Component, Inject } from '@angular/core';
2
- import { LayoutComponent } from "../components/app-component-sections";
2
+ import { LayoutComponent, ServiceHeaderComponent, WorkflowSectionComponent } from "../components/app-component-sections";
3
3
  import { DOCUMENT } from "@angular/common";
4
- import { Form, Messages } from "../interfaces";
4
+ import { Form } from "../interfaces";
5
5
  import * as constants from "../constants";
6
6
  import loadFormHooks from "../hooks/load-form";
7
- import { ServiceHeaderComponent, WorkflowSectionComponent } from "../components/app-component-sections";
8
7
  import { RequestDetailsSectionComponent } from "../testComponent/request-details-section/request-details-section.component";
9
8
  import { DynamicComponentInjectorToken } from "ng-dynamic-component";
10
9
  import * as i0 from "@angular/core";
@@ -29,14 +28,14 @@ export class CoreAppComponent {
29
28
  this.sidenavService = sidenavService;
30
29
  this.coreService = coreService;
31
30
  this.loading['form'] = true;
32
- this.coreService.loadForm().then((form) => {
33
- if (form instanceof Form) {
31
+ this.coreService.loadForm().subscribe({
32
+ next: (form) => {
34
33
  this.form = form;
34
+ this.loading['form'] = false;
35
+ },
36
+ error: (err) => {
37
+ this.errorResponse(err);
35
38
  }
36
- else if (form instanceof Messages) {
37
- this.errorResponse(form);
38
- }
39
- this.loading['form'] = false;
40
39
  });
41
40
  }
42
41
  errorResponse(form) {
@@ -71,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
71
70
  type: Inject,
72
71
  args: [DOCUMENT]
73
72
  }] }, { type: i2.Router }, { type: i3.SidenavService }, { type: i3.CoreService }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvYXBwL2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2FwcC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUl6QyxPQUFPLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEtBQUssU0FBUyxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLGFBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSw0RUFBNEUsQ0FBQztBQUUxSCxPQUFPLEVBQUMsNkJBQTZCLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBbUJsRixNQUFNLE9BQU8sZ0JBQWdCO0lBUWxCO0lBQzRCO0lBQ2xCO0lBQ0E7SUFDVDtJQVhWLE9BQU8sR0FBRztRQUNSLElBQUksRUFBRSxLQUFLO0tBQ1osQ0FBQTtJQUNELElBQUksQ0FBTTtJQUNWLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFFM0IsWUFDUyxvQkFBaUQsRUFDckIsUUFBa0IsRUFDcEMsTUFBYyxFQUNkLGNBQThCLEVBQ3ZDLFdBQXdCO1FBSnpCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBNkI7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ3ZDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRWhDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ25CLENBQUM7aUJBQU0sSUFBSSxJQUFJLFlBQVksUUFBUSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDMUIsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFBO1FBQzlCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFTO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixJQUFJLENBQ0wsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQzt1R0ExQ1UsZ0JBQWdCLDZEQVNqQixRQUFROzJGQVRQLGdCQUFnQixzREFMaEI7WUFDVCxFQUFDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxFQUFDO1NBQzdFLDBCQzVCSCwreEJBcUJBO2dCRERJLGlCQUFpQjtnQkFDakIsZUFBZSxvSEFDZixzQkFBc0IsZ05BQ3RCLHdCQUF3QixxUUFDeEIsOEJBQThCOzsyRkFPckIsZ0JBQWdCO2tCQWpCNUIsU0FBUzsrQkFDRSxTQUFTLGNBQ1AsSUFBSSxXQUdQO3dCQUNQLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3FCQUMvQixhQUNVO3dCQUNULEVBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxFQUFFLHFCQUFxQixDQUFDLEVBQUM7cUJBQzdFOzswQkFZRSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMYXlvdXRDb21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnNcIjtcclxuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge1NpZGVuYXZTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHtDb3JlU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7Rm9ybSwgTWVzc2FnZXN9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCBsb2FkRm9ybUhvb2tzIGZyb20gXCIuLi9ob29rcy9sb2FkLWZvcm1cIjtcclxuaW1wb3J0IHtTZXJ2aWNlSGVhZGVyQ29tcG9uZW50LCBXb3JrZmxvd1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnNcIjtcclxuaW1wb3J0IHtSZXF1ZXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi90ZXN0Q29tcG9uZW50L3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZX0gZnJvbSBcIi4uL3Rlc3RDb21wb25lbnQvc2VydmljZXMvc2VnbWVudC1keW5hbWljLWxvYWRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RHluYW1pY0NvbXBvbmVudEluamVjdG9yVG9rZW4sIER5bmFtaWNNb2R1bGV9IGZyb20gXCJuZy1keW5hbWljLWNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYXBwJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hcHAuY29tcG9uZW50LmNzcycsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgLy8gRHluYW1pY01vZHVsZSxcclxuICAgIExheW91dENvbXBvbmVudCxcclxuICAgIFNlcnZpY2VIZWFkZXJDb21wb25lbnQsXHJcbiAgICBXb3JrZmxvd1NlY3Rpb25Db21wb25lbnQsXHJcbiAgICBSZXF1ZXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IER5bmFtaWNDb21wb25lbnRJbmplY3RvclRva2VuLCB1c2VWYWx1ZTogeyAvKiB5b3VyIHZhbHVlIGhlcmUgKi99fVxyXG4gIF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlQXBwQ29tcG9uZW50IHtcclxuICBsb2FkaW5nID0ge1xyXG4gICAgZm9ybTogZmFsc2VcclxuICB9XHJcbiAgZm9ybTogRm9ybVxyXG4gIGZvcm1UaXRsZTogc3RyaW5nID0gJ1Rlc3QnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWdtZW50RHluYW1pY0xvYWRlcjogU2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvcmVTZXJ2aWNlOiBDb3JlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5sb2FkaW5nWydmb3JtJ10gPSB0cnVlXHJcbiAgICB0aGlzLmNvcmVTZXJ2aWNlLmxvYWRGb3JtKCkudGhlbigoZm9ybTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGZvcm0gaW5zdGFuY2VvZiBGb3JtKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZm9ybSBpbnN0YW5jZW9mIE1lc3NhZ2VzKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yUmVzcG9uc2UoZm9ybSlcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nWydmb3JtJ10gPSBmYWxzZVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZXJyb3JSZXNwb25zZShmb3JtOiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5mb3JtKSB7XHJcbiAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtKFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGZvcm1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybS5tZXNzYWdlcyA9IGZvcm07XHJcbiAgICAgIHRoaXMuZm9ybSA9IGxvYWRGb3JtSG9va3MuYWZ0ZXJUcmFuc3BpbGVQYXlsb2FkKHRoaXMuZm9ybSk7XHJcbiAgICB9XHJcbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxjb3JlLWxheW91dD5cclxuICBAaWYgKCFsb2FkaW5nWydmb3JtJ10pIHtcclxuICAgIDxjb3JlLXNlcnZpY2UtaGVhZGVyXHJcbiAgICAgIFtpc0xvYWRpbmddPVwiZmFsc2VcIlxyXG4gICAgICBbZm9ybVRpdGxlXT1cImZvcm1UaXRsZVwiXHJcbiAgICAgIFtmb3JtXT1cImZvcm1cIj5cclxuICAgIDwvY29yZS1zZXJ2aWNlLWhlYWRlcj5cclxuICA8YXBwLXdvcmtmbG93LXNlY3Rpb25cclxuICAgICAgd29ya2Zsb3dcclxuICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICBbc2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlXT1cInNlZ21lbnREeW5hbWljTG9hZGVyXCJcclxuICAgICAgW3NlY3Rpb25zXT1cImZvcm0/LnNlY3Rpb25zXCI+XHJcblxyXG4gICAgICA8YXBwLXJlcXVlc3QtZGV0YWlscy1zZWN0aW9uIFtmb3JtXT1cImZvcm1cIiBbc2VjdGlvbl09XCJmb3JtPy5zZWN0aW9uc1swXVwiIFtsb3ZdPVwiZm9ybT8ubG92c1wiIGNsYXNzTmFtZT1cImZvcm0tc2VjdGlvblwiPjwvYXBwLXJlcXVlc3QtZGV0YWlscy1zZWN0aW9uPlxyXG4gICAgICA8IS0tICAgICAgW2lzUmVhZE9ubHldPVwiZm9ybS5zZWN0aW9uc1swXS5oZWFkZXIucmVhZE9ubHlcIi0tPlxyXG4gICAgPC9hcHAtd29ya2Zsb3ctc2VjdGlvbj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxjb3JlLXNlcnZpY2UtaGVhZGVyIGhlYWRlciBbZm9ybVRpdGxlXT1cImZvcm1UaXRsZVwiIFtpc0xvYWRpbmddPVwidHJ1ZVwiPlxyXG4gICAgPC9jb3JlLXNlcnZpY2UtaGVhZGVyPlxyXG4gIH1cclxuPC9jb3JlLWxheW91dD5cclxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvYXBwL2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2FwcC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QyxPQUFPLEVBQUMsSUFBSSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sYUFBYSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDRFQUE0RSxDQUFDO0FBRTFILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7OztBQW1CbkUsTUFBTSxPQUFPLGdCQUFnQjtJQVFsQjtJQUM0QjtJQUNsQjtJQUNBO0lBQ1Q7SUFYVixPQUFPLEdBQUc7UUFDUixJQUFJLEVBQUUsS0FBSztLQUNaLENBQUE7SUFDRCxJQUFJLENBQU07SUFDVixTQUFTLEdBQVcsTUFBTSxDQUFDO0lBRTNCLFlBQ1Msb0JBQWlELEVBQ3JCLFFBQWtCLEVBQ3BDLE1BQWMsRUFDZCxjQUE4QixFQUN2QyxXQUF3QjtRQUp6Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTZCO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUVoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUNwQyxJQUFJLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBQzlCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3pCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVM7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQ2xCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLElBQUksQ0FDTCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO3VHQTFDVSxnQkFBZ0IsNkRBU2pCLFFBQVE7MkZBVFAsZ0JBQWdCLHNEQUxoQjtZQUNULEVBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxFQUFFLHFCQUFxQixDQUFDLEVBQUM7U0FDN0UsMEJDMUJILCt4QkFxQkE7Z0JESEksaUJBQWlCO2dCQUNqQixlQUFlLG9IQUNmLHNCQUFzQixnTkFDdEIsd0JBQXdCLHFRQUN4Qiw4QkFBOEI7OzJGQU9yQixnQkFBZ0I7a0JBakI1QixTQUFTOytCQUNFLFNBQVMsY0FDUCxJQUFJLFdBR1A7d0JBQ1AsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4Qiw4QkFBOEI7cUJBQy9CLGFBQ1U7d0JBQ1QsRUFBQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLEVBQUUscUJBQXFCLENBQUMsRUFBQztxQkFDN0U7OzBCQVlFLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xheW91dENvbXBvbmVudCwgU2VydmljZUhlYWRlckNvbXBvbmVudCwgV29ya2Zsb3dTZWN0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi4vY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zXCI7XHJcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtDb3JlU2VydmljZSwgU2lkZW5hdlNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge0Zvcm0sIE1lc3NhZ2VzfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgbG9hZEZvcm1Ib29rcyBmcm9tIFwiLi4vaG9va3MvbG9hZC1mb3JtXCI7XHJcbmltcG9ydCB7UmVxdWVzdERldGFpbHNTZWN0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi4vdGVzdENvbXBvbmVudC9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2V9IGZyb20gXCIuLi90ZXN0Q29tcG9uZW50L3NlcnZpY2VzL3NlZ21lbnQtZHluYW1pYy1sb2FkZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0R5bmFtaWNDb21wb25lbnRJbmplY3RvclRva2VufSBmcm9tIFwibmctZHluYW1pYy1jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFwcCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYXBwLmNvbXBvbmVudC5jc3MnLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIC8vIER5bmFtaWNNb2R1bGUsXHJcbiAgICBMYXlvdXRDb21wb25lbnQsXHJcbiAgICBTZXJ2aWNlSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgV29ya2Zsb3dTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgUmVxdWVzdERldGFpbHNTZWN0aW9uQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtwcm92aWRlOiBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3JUb2tlbiwgdXNlVmFsdWU6IHsgLyogeW91ciB2YWx1ZSBoZXJlICovfX1cclxuICBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZUFwcENvbXBvbmVudCB7XHJcbiAgbG9hZGluZyA9IHtcclxuICAgIGZvcm06IGZhbHNlXHJcbiAgfVxyXG4gIGZvcm06IEZvcm1cclxuICBmb3JtVGl0bGU6IHN0cmluZyA9ICdUZXN0JztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VnbWVudER5bmFtaWNMb2FkZXI6IFNlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZSxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb3JlU2VydmljZTogQ29yZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMubG9hZGluZ1snZm9ybSddID0gdHJ1ZVxyXG4gICAgdGhpcy5jb3JlU2VydmljZS5sb2FkRm9ybSgpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChmb3JtOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1snZm9ybSddID0gZmFsc2VcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLmVycm9yUmVzcG9uc2UoZXJyKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGVycm9yUmVzcG9uc2UoZm9ybTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybShcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBmb3JtXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm0ubWVzc2FnZXMgPSBmb3JtO1xyXG4gICAgICB0aGlzLmZvcm0gPSBsb2FkRm9ybUhvb2tzLmFmdGVyVHJhbnNwaWxlUGF5bG9hZCh0aGlzLmZvcm0pO1xyXG4gICAgfVxyXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xyXG4gIH1cclxufVxyXG4iLCI8Y29yZS1sYXlvdXQ+XHJcbiAgQGlmICghbG9hZGluZ1snZm9ybSddKSB7XHJcbiAgICA8Y29yZS1zZXJ2aWNlLWhlYWRlclxyXG4gICAgICBbaXNMb2FkaW5nXT1cImZhbHNlXCJcclxuICAgICAgW2Zvcm1UaXRsZV09XCJmb3JtVGl0bGVcIlxyXG4gICAgICBbZm9ybV09XCJmb3JtXCI+XHJcbiAgICA8L2NvcmUtc2VydmljZS1oZWFkZXI+XHJcbiAgPGFwcC13b3JrZmxvdy1zZWN0aW9uXHJcbiAgICAgIHdvcmtmbG93XHJcbiAgICAgIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgW3NlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZV09XCJzZWdtZW50RHluYW1pY0xvYWRlclwiXHJcbiAgICAgIFtzZWN0aW9uc109XCJmb3JtPy5zZWN0aW9uc1wiPlxyXG5cclxuICAgICAgPGFwcC1yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbiBbZm9ybV09XCJmb3JtXCIgW3NlY3Rpb25dPVwiZm9ybT8uc2VjdGlvbnNbMF1cIiBbbG92XT1cImZvcm0/LmxvdnNcIiBjbGFzc05hbWU9XCJmb3JtLXNlY3Rpb25cIj48L2FwcC1yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbj5cclxuICAgICAgPCEtLSAgICAgIFtpc1JlYWRPbmx5XT1cImZvcm0uc2VjdGlvbnNbMF0uaGVhZGVyLnJlYWRPbmx5XCItLT5cclxuICAgIDwvYXBwLXdvcmtmbG93LXNlY3Rpb24+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8Y29yZS1zZXJ2aWNlLWhlYWRlciBoZWFkZXIgW2Zvcm1UaXRsZV09XCJmb3JtVGl0bGVcIiBbaXNMb2FkaW5nXT1cInRydWVcIj5cclxuICAgIDwvY29yZS1zZXJ2aWNlLWhlYWRlcj5cclxuICB9XHJcbjwvY29yZS1sYXlvdXQ+XHJcbiJdfQ==
@@ -28,10 +28,10 @@ export class ActivitiesComponent {
28
28
  this.sidenavService.publish('close', null);
29
29
  }
30
30
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActivitiesComponent, deps: [{ token: i1.SidenavService }, { token: i1.CoreI18nService }, { token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ActivitiesComponent, isStandalone: true, selector: "app-activities", ngImport: i0, template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('commentHistory') }}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n\r\n </div>\r\n <div class=\"sidenav-body\">\r\n @if (coreService.activities) {\r\n <ds-activity-log activitiesData=\"{{parsedData}}\" readOnly (downloadEvent)=\"downloadFile($event)\">\r\n </ds-activity-log>\r\n } @else {\r\n <ds-message *ngIf=\"!coreService.activities\" label=\"{{i18n.translate('NoData1')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n", styles: [""] });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ActivitiesComponent, isStandalone: true, selector: "app-activities", ngImport: i0, template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('commentHistory') }}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n\r\n </div>\r\n <div class=\"sidenav-body\">\r\n @if (coreService.activities) {\r\n <ds-activity-log activitiesData=\"{{parsedData}}\" readOnly (downloadEvent)=\"downloadFile($event)\">\r\n </ds-activity-log>\r\n } @else {\r\n <ds-message label=\"{{i18n.translate('NoData1')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n", styles: [""] });
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActivitiesComponent, decorators: [{
34
34
  type: Component,
35
- args: [{ selector: 'app-activities', standalone: true, imports: [], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('commentHistory') }}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n\r\n </div>\r\n <div class=\"sidenav-body\">\r\n @if (coreService.activities) {\r\n <ds-activity-log activitiesData=\"{{parsedData}}\" readOnly (downloadEvent)=\"downloadFile($event)\">\r\n </ds-activity-log>\r\n } @else {\r\n <ds-message *ngIf=\"!coreService.activities\" label=\"{{i18n.translate('NoData1')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n" }]
35
+ args: [{ selector: 'app-activities', standalone: true, imports: [], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('commentHistory') }}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n\r\n </div>\r\n <div class=\"sidenav-body\">\r\n @if (coreService.activities) {\r\n <ds-activity-log activitiesData=\"{{parsedData}}\" readOnly (downloadEvent)=\"downloadFile($event)\">\r\n </ds-activity-log>\r\n } @else {\r\n <ds-message label=\"{{i18n.translate('NoData1')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n" }]
36
36
  }], ctorParameters: () => [{ type: i1.SidenavService }, { type: i1.CoreI18nService }, { type: i1.CoreService }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9hY3Rpdml0aWVzL2FjdGl2aXRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYWN0aXZpdGllcy9hY3Rpdml0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQVdoRSxNQUFNLE9BQU8sbUJBQW1CO0lBSXBCO0lBQ0Q7SUFDQTtJQUxULFVBQVUsQ0FBSztJQUVmLFlBQ1UsY0FBOEIsRUFDL0IsSUFBcUIsRUFDckIsV0FBd0I7UUFGdkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRS9CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDL0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUU7WUFDdkYsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztZQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO1lBQzlGLFdBQVcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDakMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFlBQVk7UUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzt1R0EzQlUsbUJBQW1COzJGQUFuQixtQkFBbUIsMEVDWGhDLG9wQkFrQkE7OzJGRFBhLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsRUFBRyxXQUNILENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZUkxOG5TZXJ2aWNlLCBDb3JlU2VydmljZSwgU2lkZW5hdlNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFjdGl2aXRpZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpdml0aWVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hY3Rpdml0aWVzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpdml0aWVzQ29tcG9uZW50IHtcclxuICBwYXJzZWREYXRhOiBhbnlcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY29yZVNlcnZpY2U6IENvcmVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnBhcnNlZERhdGEgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmNvcmVTZXJ2aWNlLmFjdGl2aXRpZXMpXHJcbiAgfVxyXG5cclxuICBkb3dubG9hZEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coZXZlbnQuZGV0YWlsLnZhbHVlKVxyXG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPSBldmVudC50YXJnZXQubmV4dEVsZW1lbnRTaWJsaW5nO1xyXG4gICAgdGhpcy5jb3JlU2VydmljZS5sb2FkRmlsZShldmVudC5kZXRhaWwudmFsdWUuaWQpLnRoZW4oKHJlc3BvbnNlT2JqZWN0OiB7IGJvZHk6IGFueTsgfSkgPT4ge1xyXG4gICAgICBjb25zdCBmaWxlSW5mb3JtYXRpb24gPSByZXNwb25zZU9iamVjdC5ib2R5O1xyXG4gICAgICBjb25zdCBmaWxlQmxvYiA9IHRoaXMuY29yZVNlcnZpY2UuZGF0YVVSSXRvQmxvYihmaWxlSW5mb3JtYXRpb24uZmlsZUNvbnRlbnRzKTtcclxuICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtmaWxlQmxvYl0sIGZpbGVJbmZvcm1hdGlvbi5maWxlTmFtZSwge3R5cGU6IGZpbGVJbmZvcm1hdGlvbi5taW1lVHlwZX0pO1xyXG4gICAgICBwbGFjZWhvbGRlci5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcclxuICAgICAgcGxhY2Vob2xkZXIuZG93bmxvYWQgPSBmaWxlLm5hbWU7XHJcbiAgICAgIHBsYWNlaG9sZGVyLmNsaWNrKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBjbG9zZVNpZGVuYXYoKSB7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ2Nsb3NlJywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwibWFpbi1zaWRlbmF2XCI+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGVuYXYtdGl0bGVcIj5cclxuICAgIDxoMz57eyBpMThuLnRyYW5zbGF0ZSgnY29tbWVudEhpc3RvcnknKSB9fTwvaDM+XHJcblxyXG4gICAgPGRzLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VTaWRlbmF2KClcIiBpY29uPlxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiY2xvc2VcIiBjbGFzcz1cImZzLTIwIGZjLWJsYWNrXCI+PC9kcy1pY29uPlxyXG4gICAgPC9kcy1idXR0b24+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaWRlbmF2LWJvZHlcIj5cclxuICAgIEBpZiAoY29yZVNlcnZpY2UuYWN0aXZpdGllcykge1xyXG4gICAgICA8ZHMtYWN0aXZpdHktbG9nIGFjdGl2aXRpZXNEYXRhPVwie3twYXJzZWREYXRhfX1cIiByZWFkT25seSAoZG93bmxvYWRFdmVudCk9XCJkb3dubG9hZEZpbGUoJGV2ZW50KVwiPlxyXG4gICAgICA8L2RzLWFjdGl2aXR5LWxvZz5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZHMtbWVzc2FnZSAqbmdJZj1cIiFjb3JlU2VydmljZS5hY3Rpdml0aWVzXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdOb0RhdGExJyl9fVwiPjwvZHMtbWVzc2FnZT5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9hY3Rpdml0aWVzL2FjdGl2aXRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYWN0aXZpdGllcy9hY3Rpdml0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQVdoRSxNQUFNLE9BQU8sbUJBQW1CO0lBSVg7SUFDVjtJQUNBO0lBTFQsVUFBVSxDQUFRO0lBRWxCLFlBQ21CLGNBQThCLEVBQ3hDLElBQXFCLEVBQ3JCLFdBQXdCO1FBRmQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRS9CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDL0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUU7WUFDdkYsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztZQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO1lBQzlGLFdBQVcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDakMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFlBQVk7UUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzt1R0EzQlUsbUJBQW1COzJGQUFuQixtQkFBbUIsMEVDWGhDLGtuQkFrQkE7OzJGRFBhLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsRUFBRyxXQUNILENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZUkxOG5TZXJ2aWNlLCBDb3JlU2VydmljZSwgU2lkZW5hdlNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFjdGl2aXRpZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpdml0aWVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hY3Rpdml0aWVzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpdml0aWVzQ29tcG9uZW50IHtcclxuICBwYXJzZWREYXRhOiBzdHJpbmdcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY29yZVNlcnZpY2U6IENvcmVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnBhcnNlZERhdGEgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmNvcmVTZXJ2aWNlLmFjdGl2aXRpZXMpXHJcbiAgfVxyXG5cclxuICBkb3dubG9hZEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coZXZlbnQuZGV0YWlsLnZhbHVlKVxyXG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPSBldmVudC50YXJnZXQubmV4dEVsZW1lbnRTaWJsaW5nO1xyXG4gICAgdGhpcy5jb3JlU2VydmljZS5sb2FkRmlsZShldmVudC5kZXRhaWwudmFsdWUuaWQpLnRoZW4oKHJlc3BvbnNlT2JqZWN0OiB7IGJvZHk6IGFueTsgfSkgPT4ge1xyXG4gICAgICBjb25zdCBmaWxlSW5mb3JtYXRpb24gPSByZXNwb25zZU9iamVjdC5ib2R5O1xyXG4gICAgICBjb25zdCBmaWxlQmxvYiA9IHRoaXMuY29yZVNlcnZpY2UuZGF0YVVSSXRvQmxvYihmaWxlSW5mb3JtYXRpb24uZmlsZUNvbnRlbnRzKTtcclxuICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtmaWxlQmxvYl0sIGZpbGVJbmZvcm1hdGlvbi5maWxlTmFtZSwge3R5cGU6IGZpbGVJbmZvcm1hdGlvbi5taW1lVHlwZX0pO1xyXG4gICAgICBwbGFjZWhvbGRlci5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcclxuICAgICAgcGxhY2Vob2xkZXIuZG93bmxvYWQgPSBmaWxlLm5hbWU7XHJcbiAgICAgIHBsYWNlaG9sZGVyLmNsaWNrKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBjbG9zZVNpZGVuYXYoKSB7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ2Nsb3NlJywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwibWFpbi1zaWRlbmF2XCI+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGVuYXYtdGl0bGVcIj5cclxuICAgIDxoMz57eyBpMThuLnRyYW5zbGF0ZSgnY29tbWVudEhpc3RvcnknKSB9fTwvaDM+XHJcblxyXG4gICAgPGRzLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VTaWRlbmF2KClcIiBpY29uPlxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiY2xvc2VcIiBjbGFzcz1cImZzLTIwIGZjLWJsYWNrXCI+PC9kcy1pY29uPlxyXG4gICAgPC9kcy1idXR0b24+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaWRlbmF2LWJvZHlcIj5cclxuICAgIEBpZiAoY29yZVNlcnZpY2UuYWN0aXZpdGllcykge1xyXG4gICAgICA8ZHMtYWN0aXZpdHktbG9nIGFjdGl2aXRpZXNEYXRhPVwie3twYXJzZWREYXRhfX1cIiByZWFkT25seSAoZG93bmxvYWRFdmVudCk9XCJkb3dubG9hZEZpbGUoJGV2ZW50KVwiPlxyXG4gICAgICA8L2RzLWFjdGl2aXR5LWxvZz5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZHMtbWVzc2FnZSBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ05vRGF0YTEnKX19XCI+PC9kcy1tZXNzYWdlPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
@@ -212,7 +212,7 @@ export class FeedbackSectionComponent {
212
212
  }
213
213
  }
214
214
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeedbackSectionComponent, deps: [{ token: i1.FeedBackService }, { token: i2.CoreI18nService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
215
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FeedbackSectionComponent, isStandalone: true, selector: "app-feedback-section", inputs: { inboxItem: "inboxItem", profile: "profile" }, ngImport: i0, template: "<div class=\"popup-container\">\r\n <div class=\"d-flex align-items-center justify-content-between\" mat-dialog-title>\r\n <h3>{{i18n.translate('requestFeedback')}}</h3>\r\n <ds-button square icon matDialogClose>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <mat-dialog-content>\r\n <div class=\"d-flex flex-column align-items-center justify-content-center py-4\" *ngIf=\"submitted\">\r\n <div class=\"text-center mb-4\">\r\n <svg width=\"79\" height=\"76\" viewBox=\"0 0 79 76\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M59.9804 0.0998676L1.39239 19.2479C1.02223 19.3692 0.69498 19.5948 0.44999 19.8976C0.205 20.2005 0.0526985 20.5676 0.0113985 20.955C-0.0299016 21.3423 0.0415576 21.7333 0.217184 22.081C0.39281 22.4287 0.665128 22.7183 1.00139 22.9149L23.1454 35.7899C23.487 35.9886 23.8794 36.0828 24.274 36.0608C24.6686 36.0388 25.0481 35.9014 25.3654 35.6659L31.5894 31.0439L26.9674 37.2679C26.7318 37.5852 26.5944 37.9646 26.5722 38.3591C26.5499 38.7537 26.6439 39.1461 26.8424 39.4879L39.7174 61.6289C39.9138 61.9652 40.2031 62.2377 40.5506 62.4135C40.8981 62.5894 41.289 62.6611 41.6763 62.6201C42.0636 62.5791 42.4308 62.4272 42.7338 62.1825C43.0369 61.9378 43.2628 61.6108 43.3844 61.2409L62.5294 2.65187C62.6458 2.29686 62.6615 1.91654 62.5749 1.55313C62.4883 1.18971 62.3026 0.857401 62.0386 0.593071C61.7746 0.328741 61.4425 0.142726 61.0792 0.0556665C60.7159 -0.0313933 60.3355 -0.0160937 59.9804 0.0998676ZM40.9434 55.6999L31.0014 38.6069L42.9894 22.4689C43.2797 22.0798 43.4202 21.5993 43.3852 21.1152C43.3502 20.631 43.142 20.1757 42.7988 19.8325C42.4556 19.4893 42.0002 19.2811 41.5161 19.2461C41.032 19.2111 40.5514 19.3516 40.1624 19.6419L24.0254 31.6279L6.93339 21.6889L57.4514 5.18087L40.9434 55.6999ZM21.2134 44.2759L7.80139 57.6909C7.42253 58.0701 6.90853 58.2833 6.37246 58.2836C5.83638 58.2839 5.32215 58.0712 4.94289 57.6924C4.56363 57.3135 4.35041 56.7995 4.35013 56.2634C4.34985 55.7274 4.56253 55.2131 4.94139 54.8339L18.3564 41.4189C18.7353 41.04 19.2491 40.8272 19.7849 40.8272C20.3207 40.8272 20.8345 41.04 21.2134 41.4189C21.5923 41.7977 21.8051 42.3116 21.8051 42.8474C21.8051 43.3832 21.5923 43.897 21.2134 44.2759ZM3.49139 44.7839C3.30378 44.5963 3.15495 44.3736 3.05341 44.1285C2.95187 43.8834 2.89961 43.6207 2.89961 43.3554C2.89961 43.0901 2.95187 42.8274 3.05341 42.5823C3.15495 42.3371 3.30378 42.1144 3.49139 41.9269L8.78439 36.6339C9.16326 36.255 9.6771 36.0422 10.2129 36.0422C10.7487 36.0422 11.2625 36.255 11.6414 36.6339C12.0203 37.0127 12.2331 37.5266 12.2331 38.0624C12.2331 38.5982 12.0203 39.112 11.6414 39.4909L6.34939 44.7839C6.1618 44.9716 5.93903 45.1206 5.69384 45.2222C5.44864 45.3238 5.18582 45.3762 4.92039 45.3762C4.65497 45.3762 4.39215 45.3238 4.14695 45.2222C3.90176 45.1206 3.67899 44.9716 3.49139 44.7839ZM26.0014 50.9899C26.189 51.1774 26.3378 51.4001 26.4394 51.6453C26.5409 51.8904 26.5932 52.1531 26.5932 52.4184C26.5932 52.6837 26.5409 52.9464 26.4394 53.1915C26.3378 53.4366 26.189 53.6593 26.0014 53.8469L20.7014 59.1409C20.3225 59.5197 19.8087 59.7326 19.2729 59.7326C18.7371 59.7326 18.2233 59.5197 17.8444 59.1409C17.4655 58.762 17.2527 58.2482 17.2527 57.7124C17.2527 57.1766 17.4655 56.6627 17.8444 56.2839L23.1374 50.9909C23.325 50.8032 23.5477 50.6544 23.7928 50.5529C24.0379 50.4513 24.3006 50.3991 24.5659 50.3991C24.8312 50.3991 25.0939 50.4513 25.339 50.5529C25.5841 50.6544 25.8068 50.8032 25.9944 50.9909L26.0014 50.9899Z\"\r\n fill=\"#8E9AA0\" />\r\n <path\r\n d=\"M58.0015 75.3119C69.0472 75.3119 78.0015 66.3576 78.0015 55.3119C78.0015 44.2662 69.0472 35.3119 58.0015 35.3119C46.9558 35.3119 38.0015 44.2662 38.0015 55.3119C38.0015 66.3576 46.9558 75.3119 58.0015 75.3119Z\"\r\n fill=\"#00C48C\" />\r\n <path\r\n d=\"M56.8804 57.3183L54.0346 54.4725L52.9743 55.5336L56.8774 59.4367L65.8354 50.5267L65.4927 50.0138C63.8557 47.5812 61.1134 46.002 58.0015 46.002C53.0313 46.002 49.0015 50.031 49.0015 55.002C49.0015 59.9729 53.0305 64.002 58.0015 64.002C62.9716 64.002 67.0007 59.9729 67.0015 55.0035H65.5017C65.5017 55.005 65.5017 55.0072 65.5017 55.0095C65.5017 59.1503 62.1453 62.5067 58.0045 62.5067C53.8637 62.5067 50.5072 59.1503 50.5072 55.0095C50.5072 50.8686 53.8637 47.5122 58.0045 47.5122C60.3793 47.5122 62.4962 48.6168 63.87 50.3392L63.882 50.3542L56.8804 57.3183Z\"\r\n fill=\"white\" />\r\n </svg>\r\n\r\n </div>\r\n <h2 class=\"fs-16 fw-medium fc-black mb-4 text-center\">\r\n {{i18n.translate('submittedSuccessfully')}}\r\n </h2>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!submitted\">\r\n <div class=\"mb-3\" *ngIf=\"feedBackService.feedbackForm \">\r\n <app-search-employee #employee label=\"{{i18n.translate('requestTo')}}\" [field]=\"searchEmp\"\r\n [labelTextReadMode]=\"i18n.translate('requestTo')\" [labelTextWriteMode]=\"i18n.translate('requestTo')\"\r\n [name]=\"'searchEmp'\" (emitedValue)=\"handleUserSelected($event)\">\r\n </app-search-employee>\r\n <app-textarea #request [field]=\"employeeInput\" name=\"employeeInput\" label=\"{{i18n.translate('feedback')}}\"\r\n [required]=\"true\" [minLength]='1' (emitedValue)=\"handleFeedbackQuestion($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </div>\r\n\r\n <div class=\"info-section\" *ngIf=\"!feedBackService.feedbackForm\">\r\n <ng-container *ngIf=\"feedBackService.responderForm\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n <app-textarea #request class=\"full mx-3 mt-3 section-item\" [field]=\"employeeInput\" name=\"employeeInput\"\r\n label=\"{{i18n.translate('feedback')}}\" [required]=\"true\" [minLength]='1'\r\n (emitedValue)=\"handleFeedbackResponse($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"feedBackService.pendingForm\" id=\"responce_form\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center justify-content-center w-100 gap-3\" *ngIf=\"!submitted\">\r\n <ds-button shape=\"outline\" matDialogClose>\r\n {{i18n.translate('Cancel')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"feedBackService.feedbackForm\" (click)=\"addFeedback()\"\r\n disabled=\"{{!(isFeedbackValidated)}}\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"!feedBackService.feedbackForm && feedBackService.responderForm\"\r\n disabled=\"{{!(isResponseValidated)}}\" (click)=\"addResponse()\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n </div>\r\n </ng-container>\r\n\r\n </mat-dialog-content>\r\n\r\n</div>\r\n", styles: ["::ng-deep .main-popup{--popup-max-width: 700px !important;--popup-width: 100% !important}\n"], dependencies: [{ kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SearchEmployeeComponent, selector: "app-search-employee", inputs: ["valueName", "label", "tooltip", "className", "showLabel", "optional", "data", "floatLabel", "error", "showEdit", "arrayList", "isUniqueUsers"], outputs: ["selectedEmp", "onInputChange", "editDirectManger", "deleteDirectManger", "emitedDeletedValue"] }, { kind: "component", type: TextareaComponent, selector: "app-textarea", inputs: ["label", "tooltip", "className", "preventSpecailChar"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
215
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FeedbackSectionComponent, isStandalone: true, selector: "app-feedback-section", inputs: { inboxItem: "inboxItem", profile: "profile" }, ngImport: i0, template: "<div class=\"popup-container\">\r\n <div class=\"d-flex align-items-center justify-content-between\" mat-dialog-title>\r\n <h3>{{i18n.translate('requestFeedback')}}</h3>\r\n <ds-button square icon matDialogClose>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <mat-dialog-content>\r\n <div class=\"d-flex flex-column align-items-center justify-content-center py-4\" *ngIf=\"submitted\">\r\n <div class=\"text-center mb-4\">\r\n <svg width=\"79\" height=\"76\" viewBox=\"0 0 79 76\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M59.9804 0.0998676L1.39239 19.2479C1.02223 19.3692 0.69498 19.5948 0.44999 19.8976C0.205 20.2005 0.0526985 20.5676 0.0113985 20.955C-0.0299016 21.3423 0.0415576 21.7333 0.217184 22.081C0.39281 22.4287 0.665128 22.7183 1.00139 22.9149L23.1454 35.7899C23.487 35.9886 23.8794 36.0828 24.274 36.0608C24.6686 36.0388 25.0481 35.9014 25.3654 35.6659L31.5894 31.0439L26.9674 37.2679C26.7318 37.5852 26.5944 37.9646 26.5722 38.3591C26.5499 38.7537 26.6439 39.1461 26.8424 39.4879L39.7174 61.6289C39.9138 61.9652 40.2031 62.2377 40.5506 62.4135C40.8981 62.5894 41.289 62.6611 41.6763 62.6201C42.0636 62.5791 42.4308 62.4272 42.7338 62.1825C43.0369 61.9378 43.2628 61.6108 43.3844 61.2409L62.5294 2.65187C62.6458 2.29686 62.6615 1.91654 62.5749 1.55313C62.4883 1.18971 62.3026 0.857401 62.0386 0.593071C61.7746 0.328741 61.4425 0.142726 61.0792 0.0556665C60.7159 -0.0313933 60.3355 -0.0160937 59.9804 0.0998676ZM40.9434 55.6999L31.0014 38.6069L42.9894 22.4689C43.2797 22.0798 43.4202 21.5993 43.3852 21.1152C43.3502 20.631 43.142 20.1757 42.7988 19.8325C42.4556 19.4893 42.0002 19.2811 41.5161 19.2461C41.032 19.2111 40.5514 19.3516 40.1624 19.6419L24.0254 31.6279L6.93339 21.6889L57.4514 5.18087L40.9434 55.6999ZM21.2134 44.2759L7.80139 57.6909C7.42253 58.0701 6.90853 58.2833 6.37246 58.2836C5.83638 58.2839 5.32215 58.0712 4.94289 57.6924C4.56363 57.3135 4.35041 56.7995 4.35013 56.2634C4.34985 55.7274 4.56253 55.2131 4.94139 54.8339L18.3564 41.4189C18.7353 41.04 19.2491 40.8272 19.7849 40.8272C20.3207 40.8272 20.8345 41.04 21.2134 41.4189C21.5923 41.7977 21.8051 42.3116 21.8051 42.8474C21.8051 43.3832 21.5923 43.897 21.2134 44.2759ZM3.49139 44.7839C3.30378 44.5963 3.15495 44.3736 3.05341 44.1285C2.95187 43.8834 2.89961 43.6207 2.89961 43.3554C2.89961 43.0901 2.95187 42.8274 3.05341 42.5823C3.15495 42.3371 3.30378 42.1144 3.49139 41.9269L8.78439 36.6339C9.16326 36.255 9.6771 36.0422 10.2129 36.0422C10.7487 36.0422 11.2625 36.255 11.6414 36.6339C12.0203 37.0127 12.2331 37.5266 12.2331 38.0624C12.2331 38.5982 12.0203 39.112 11.6414 39.4909L6.34939 44.7839C6.1618 44.9716 5.93903 45.1206 5.69384 45.2222C5.44864 45.3238 5.18582 45.3762 4.92039 45.3762C4.65497 45.3762 4.39215 45.3238 4.14695 45.2222C3.90176 45.1206 3.67899 44.9716 3.49139 44.7839ZM26.0014 50.9899C26.189 51.1774 26.3378 51.4001 26.4394 51.6453C26.5409 51.8904 26.5932 52.1531 26.5932 52.4184C26.5932 52.6837 26.5409 52.9464 26.4394 53.1915C26.3378 53.4366 26.189 53.6593 26.0014 53.8469L20.7014 59.1409C20.3225 59.5197 19.8087 59.7326 19.2729 59.7326C18.7371 59.7326 18.2233 59.5197 17.8444 59.1409C17.4655 58.762 17.2527 58.2482 17.2527 57.7124C17.2527 57.1766 17.4655 56.6627 17.8444 56.2839L23.1374 50.9909C23.325 50.8032 23.5477 50.6544 23.7928 50.5529C24.0379 50.4513 24.3006 50.3991 24.5659 50.3991C24.8312 50.3991 25.0939 50.4513 25.339 50.5529C25.5841 50.6544 25.8068 50.8032 25.9944 50.9909L26.0014 50.9899Z\"\r\n fill=\"#8E9AA0\" />\r\n <path\r\n d=\"M58.0015 75.3119C69.0472 75.3119 78.0015 66.3576 78.0015 55.3119C78.0015 44.2662 69.0472 35.3119 58.0015 35.3119C46.9558 35.3119 38.0015 44.2662 38.0015 55.3119C38.0015 66.3576 46.9558 75.3119 58.0015 75.3119Z\"\r\n fill=\"#00C48C\" />\r\n <path\r\n d=\"M56.8804 57.3183L54.0346 54.4725L52.9743 55.5336L56.8774 59.4367L65.8354 50.5267L65.4927 50.0138C63.8557 47.5812 61.1134 46.002 58.0015 46.002C53.0313 46.002 49.0015 50.031 49.0015 55.002C49.0015 59.9729 53.0305 64.002 58.0015 64.002C62.9716 64.002 67.0007 59.9729 67.0015 55.0035H65.5017C65.5017 55.005 65.5017 55.0072 65.5017 55.0095C65.5017 59.1503 62.1453 62.5067 58.0045 62.5067C53.8637 62.5067 50.5072 59.1503 50.5072 55.0095C50.5072 50.8686 53.8637 47.5122 58.0045 47.5122C60.3793 47.5122 62.4962 48.6168 63.87 50.3392L63.882 50.3542L56.8804 57.3183Z\"\r\n fill=\"white\" />\r\n </svg>\r\n\r\n </div>\r\n <h2 class=\"fs-16 fw-medium fc-black mb-4 text-center\">\r\n {{i18n.translate('submittedSuccessfully')}}\r\n </h2>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!submitted\">\r\n <div class=\"mb-3\" *ngIf=\"feedBackService.feedbackForm \">\r\n <app-search-employee #employee label=\"{{i18n.translate('requestTo')}}\" [field]=\"searchEmp\"\r\n [labelTextReadMode]=\"i18n.translate('requestTo')\" [labelTextWriteMode]=\"i18n.translate('requestTo')\"\r\n [name]=\"'searchEmp'\" (emitedValue)=\"handleUserSelected($event)\">\r\n </app-search-employee>\r\n <app-textarea #request [field]=\"employeeInput\" name=\"employeeInput\" label=\"{{i18n.translate('feedback')}}\"\r\n [required]=\"true\" [minLength]='1' (emitedValue)=\"handleFeedbackQuestion($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </div>\r\n\r\n <div class=\"info-section\" *ngIf=\"!feedBackService.feedbackForm\">\r\n <ng-container *ngIf=\"feedBackService.responderForm\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n <app-textarea #request class=\"full mx-3 mt-3 section-item\" [field]=\"employeeInput\" name=\"employeeInput\"\r\n label=\"{{i18n.translate('feedback')}}\" [required]=\"true\" [minLength]='1'\r\n (emitedValue)=\"handleFeedbackResponse($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"feedBackService.pendingForm\" id=\"responce_form\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center justify-content-center w-100 gap-3\" *ngIf=\"!submitted\">\r\n <ds-button shape=\"outline\" matDialogClose>\r\n {{i18n.translate('Cancel')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"feedBackService.feedbackForm\" (click)=\"addFeedback()\"\r\n disabled=\"{{!(isFeedbackValidated)}}\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"!feedBackService.feedbackForm && feedBackService.responderForm\"\r\n disabled=\"{{!(isResponseValidated)}}\" (click)=\"addResponse()\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n </div>\r\n </ng-container>\r\n\r\n </mat-dialog-content>\r\n\r\n</div>\r\n", styles: ["::ng-deep .main-popup{--popup-max-width: 700px !important;--popup-width: 100% !important}\n"], dependencies: [{ kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SearchEmployeeComponent, selector: "app-search-employee", inputs: ["valueName", "label", "tooltip", "className", "showLabel", "optional", "data", "floatLabel", "error", "showEdit", "arrayList", "isUniqueUsers"], outputs: ["selectedEmp", "onInputChange", "editDirectManger", "deleteDirectManger", "emitedDeletedValue"] }, { kind: "component", type: TextareaComponent, selector: "app-textarea", inputs: ["className", "preventSpecailChar"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
216
216
  }
217
217
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeedbackSectionComponent, decorators: [{
218
218
  type: Component,
@@ -233,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
233
233
  }], profile: [{
234
234
  type: Input
235
235
  }] } });
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2stc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9mZWVkYmFjay1zZWN0aW9uL2ZlZWRiYWNrLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZmVlZGJhY2stc2VjdGlvbi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNHLE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUUvRixPQUFPLEVBQUMsSUFBSSxFQUFhLFFBQVEsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEtBQUssU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQTRCdEcsTUFBTSxPQUFPLHdCQUF3QjtJQWUxQjtJQUNBO0lBQ3lCO0lBaEJ6QixTQUFTLENBQVk7SUFDckIsT0FBTyxDQUFrQjtJQUNsQyxJQUFJLENBQU87SUFDWCxTQUFTLENBQU07SUFDZixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLGNBQWMsR0FBVyxJQUFJLENBQUM7SUFDOUIsZ0JBQWdCLEdBQVcsSUFBSSxD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RyxLQUFLLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsSUFDRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxHQUFHO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUMxQixDQUFDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7dUdBdE9VLHdCQUF3QixnRkFpQnpCLGVBQWU7MkZBakJkLHdCQUF3Qix3SUNsQ3JDLDZ6UUF3RkEscUpEdkVJLGdCQUFnQix5R0FDaEIsSUFBSSw2RkFDSix1QkFBdUIscVVBQ3ZCLGlCQUFpQiwwSEFDakIsaUJBQWlCLGdNQUNqQixjQUFjLCtIQUNkLGNBQWM7OzJGQVdMLHdCQUF3QjtrQkF2QnBDLFNBQVM7K0JBQ0Usc0JBQXNCLFdBR3ZCLENBQUMsc0JBQXNCLENBQUMsV0FDeEI7d0JBQ1AsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsY0FBYztxQkFDZixjQUNXLElBQUk7OzBCQTBCYixNQUFNOzJCQUFDLGVBQWU7eUNBaEJoQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dDbG9zZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nVGl0bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBlZmZlY3QsIEluamVjdCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZUkxOG5TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7Rm9ybSwgSW5ib3hJdGVtLCBNZXNzYWdlcywgUHJvZmlsZUluZm9Ecm9wfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7SW5mb0l0ZW1Db21wb25lbnQsIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LCBUZXh0YXJlYUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3NoYXJlZC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7RmVlZEJhY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvZmVlZEJhY2suc2VydmljZVwiO1xyXG5pbXBvcnQge01ZX0xJQl9DT05GSUdfVE9LRU59IGZyb20gXCIuLi8uLi8uLi8uLi9wdWJsaWMtYXBpXCI7XHJcbmltcG9ydCB7ZW52aXJvbm1lbnR9IGZyb20gXCIuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQubG9jYWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZlZWRiYWNrLXNlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBOZ0lmLFxyXG4gICAgU2VhcmNoRW1wbG95ZWVDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIEluZm9JdGVtQ29tcG9uZW50LFxyXG4gICAgTWF0RGlhbG9nVGl0bGUsXHJcbiAgICBNYXREaWFsb2dDbG9zZVxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuLyogIHByb3ZpZGVyczogW1xyXG4gICAgRmVlZEJhY2tTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNWV9MSUJfQ09ORklHX1RPS0VOLFxyXG4gICAgICB1c2VWYWx1ZTogZW52aXJvbm1lbnRcclxuICAgIH1cclxuICBdKi9cclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZWRiYWNrU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaW5ib3hJdGVtOiBJbmJveEl0ZW07XHJcbiAgQElucHV0KCkgcHJvZmlsZTogUHJvZmlsZUluZm9Ecm9wO1xyXG4gIGZvcm06IEZvcm07XHJcbiAgc2VhcmNoRW1wOiBhbnk7XHJcbiAgc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgZmVlZGJhY2tTdGF0dXM6IHN0cmluZyA9IG51bGw7XHJcbiAgZmVlZEJhY2tRdWVzdGlvbjogc3RyaW5nID0gbnVsbDtcclxuICBmZWVkQmFja1Jlc3BvbnNlOiBzdHJpbmcgPSBudWxsO1xyXG4gIGlzRmVlZGJhY2tWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICBpc1Jlc3BvbnNlVmFsaWRhdGVkID0gZmFsc2U7XHJcbiAgZW1wbG95ZWVJbnB1dDogc3RyaW5nID0gbnVsbDtcclxuICBmZWVkYmFja0lkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBmZWVkQmFja1NlcnZpY2U6IEZlZWRCYWNrU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5wcm9maWxlID0gZGF0YS5wcm9maWxlO1xyXG4gICAgdGhpcy5pbmJveEl0ZW0gPSBkYXRhLmluYm94SXRlbTtcclxuICAgIHRoaXMuZm9ybSA9IGRhdGEuZm9ybTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkQmFja1NlbnQpIHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaW5ib3hJdGVtO1xyXG4gICAgICBpZiAoaXRlbT8uY2FuUmVxdWVzdEZlZWRiYWNrID09PSAndHJ1ZScpIHtcclxuICAgICAgICB0aGlzLmZlZWRiYWNrU3RhdHVzID0gQ29uc3RhbnRzLkZFRURCQUNLX1NUQVRVU19SRVFVRVNUO1xyXG4gICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRiYWNrRm9ybSA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChcclxuICAgICAgICBpdGVtLmlzUmVxdWVzdGVkID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmhhc0ZlZWRiYWNrID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmlzUGVuZGluZyA9PT0gJ2ZhbHNlJyAmJlxyXG4gICAgICAgIGl0ZW0uaXNSZXNwb25kZWQgPT09ICdmYWxzZSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5mZWVkYmFja1N0YXR1cyA9IENvbnN0YW50cy5GRUVEQkFDS19TVEFUVVNfV0FJVElORztcclxuICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5wZW5kaW5nRm9ybSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5nZXRGZWVkQmFjaygpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5pc1JlcXVlc3RlZCA9PT0gJ2ZhbHNlJyAmJlxyXG4gICAgICAgIGl0ZW0uaGFzRmVlZGJhY2sgPT09ICd0cnVlJyAmJlxyXG4gICAgICAgIGl0ZW0uaXNQZW5kaW5nID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmlzUmVzcG9uZGVkID09PSAnZmFsc2UnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1JFU1BPTkQ7XHJcbiAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UucmVzcG9uZGVyRm9ybSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5nZXRGZWVkQmFjaygpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5pc1JlcXVlc3RlZCA9PT0gJ3RydWUnICYmXHJcbiAgICAgICAgaXRlbS5oYXNGZWVkYmFjayA9PT0gJ3RydWUnICYmXHJcbiAgICAgICAgaXRlbS5pc1BlbmRpbmcgPT09ICdmYWxzZScgJiZcclxuICAgICAgICBpdGVtLmlzUmVzcG9uZGVkID09PSAndHJ1ZSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5mZWVkYmFja1N0YXR1cyA9IENvbnN0YW50cy5GRUVEQkFDS19TVEFUVVNfUkVTUE9OREVEO1xyXG4gICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnBlbmRpbmdGb3JtID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmdldEZlZWRCYWNrKCk7XHJcbiAgICAgIH1cclxuICAgICAgLyogICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2NoYW5nZUZlZWRiYWNrU3RhdHVzJyxcclxuICAgICAgICAgICAgICBkYXRhOiB0aGlzLmZlZWRiYWNrU3RhdHVzIVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5lclNlcnZpY2UuZmlsdGVyKG9iaik7Ki9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZlZWRCYWNrKCkge1xyXG4gICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZ2V0RmVlZGJhY2sodGhpcy5wcm9maWxlLmVtcGxveWVlRW1haWwpLnN1YnNjcmliZSgoUmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoUmVzcG9uc2UpIHtcclxuICAgICAgICBpZiAoUmVzcG9uc2UgaW5zdGFuY2VvZiBNZXNzYWdlcykge1xyXG4gICAgICAgICAgdGhpcy5zaG93RXJyb3IoUmVzcG9uc2UpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCByZXNwID0gUmVzcG9uc2VbJ2l0ZW1zJ11bMF07XHJcbiAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGcm9tID1cclxuICAgICAgICAgICAgcmVzcC5mcm9tWydmaXJzdE5hbWUnXSArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIHJlc3AuZnJvbVsnbWlkZGxlTmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC5mcm9tWydmYW1pbHlOYW1lJ107XHJcbiAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RUbyA9XHJcbiAgICAgICAgICAgIHJlc3AudG9bJ2ZpcnN0TmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC50b1snbWlkZGxlTmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC50b1snZmFtaWx5TmFtZSddO1xyXG4gICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXF1ZXN0RmVlZGJhY2sgPVxyXG4gICAgICAgICAgICByZXNwLnF1ZXJ5O1xyXG4gICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXNwb25zZUZlZWRiYWNrID1cclxuICAgICAgICAgICAgcmVzcC5yZXNwb25zZTtcclxuICAgICAgICAgIHRoaXMuZmVlZGJhY2tJZCA9IHJlc3AuaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYWRkRmVlZGJhY2soKSB7XHJcbiAgICBpZiAodGhpcy5pc0ZlZWRiYWNrVmFsaWRhdGVkKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsID0gdGhpcy5zZWFyY2hFbXAucGVyc29uRW1haWwsXHJcbiAgICAgICAgcXVlc3Rpb24gPSB0aGlzLmZlZWRCYWNrUXVlc3Rpb247XHJcbiAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnN1Ym1pdEZlZWRiYWNrKHtlbWFpbCwgcXVlc3Rpb259KS5zdWJzY3JpYmUoKFJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoUmVzcG9uc2UpIHtcclxuICAgICAgICAgIGlmIChSZXNwb25zZSBpbnN0YW5jZW9mIE1lc3NhZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKFJlc3BvbnNlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1dBSVRJTkc7XHJcbiAgICAgICAgICAgIC8vIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICAgICAgLy8gICBuYW1lOiAnY2hhbmdlRmVlZGJhY2tTdGF0dXMnLFxyXG4gICAgICAgICAgICAvLyAgIGRhdGE6IHRoaXMuZmVlZGJhY2tTdGF0dXNcclxuICAgICAgICAgICAgLy8gfTtcclxuICAgICAgICAgICAgLy8gdGhpcy5fbGlzdGVuZXJTZXJ2aWNlLmZpbHRlcihvYmopO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja0Zvcm0gPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UucGVuZGluZ0Zvcm0gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkQmFja1NlbnQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGcm9tID1cclxuICAgICAgICAgICAgICB0aGlzLnByb2ZpbGUuZnVsbE5hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRiYWNrUmVzcG9uc2UucmVxdWVzdFRvID1cclxuICAgICAgICAgICAgICB0aGlzLnNlYXJjaEVtcC5wZXJzb25OYW1lO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGZWVkYmFjayA9XHJcbiAgICAgICAgICAgICAgdGhpcy5mZWVkQmFja1F1ZXN0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGFkZFJlc3BvbnNlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNGZWVkYmFja1ZhbGlkYXRlZCkge1xyXG4gICAgICBjb25zdCBmZWVkYmFja0lkID0gdGhpcy5mZWVkYmFja0lkLFxyXG4gICAgICAgIGZlZWRiYWNrUmVzcG9uc2UgPSB0aGlzLmZlZWRCYWNrUmVzcG9uc2U7XHJcbiAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmFkZFJlc3BvbnNlKHtmZWVkYmFja0lkLCBmZWVkYmFja1Jlc3BvbnNlfSkuc3Vic2NyaWJlKChSZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBpZiAoUmVzcG9uc2UgaW5zdGFuY2VvZiBNZXNzYWdlcykge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvcihSZXNwb25zZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1JFU1BPTkRFRDtcclxuICAgICAgICAgICAgLypjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2NoYW5nZUZlZWRiYWNrU3RhdHVzJyxcclxuICAgICAgICAgICAgICBkYXRhOiB0aGlzLmZlZWRiYWNrU3RhdHVzXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuX2xpc3RlbmVyU2VydmljZS5maWx0ZXIob2JqKTsqL1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRCYWNrU2VudCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnBlbmRpbmdGb3JtID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXNwb25zZUZlZWRiYWNrID1cclxuICAgICAgICAgICAgICB0aGlzLmZlZWRCYWNrUmVzcG9uc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlcnJvck9jY3VyZWQgPSBmYWxzZTtcclxuICBpc1N1Ym1pdGluZyA9IGZhbHNlO1xyXG4gIGVycm9yTXNnID0gJyc7XHJcblxyXG4gIHNob3dFcnJvcihSZXNwb25zZTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybShcclxuICAgICAgICBDb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgQ29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIENvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBDb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgQ29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIENvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBSZXNwb25zZVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lcnJvck9jY3VyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmVycm9yTXNnID0gUmVzcG9uc2U/LmVycm9yWzBdO1xyXG4gICAgICAvLyB0aGlzLmZvcm0ubWVzc2FnZXMgPSBSZXNwb25zZTtcclxuICAgIH1cclxuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZlZWRiYWNrUXVlc3Rpb24oZXZlbnQpIHtcclxuICAgIHRoaXMuZmVlZEJhY2tRdWVzdGlvbiA9IGV2ZW50O1xyXG4gICAgdGhpcy5oYW5kbGVGZWVkYmFja1ZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZlZWRiYWNrUmVzcG9uc2UoZXZlbnQpIHtcclxuICAgIHRoaXMuZmVlZEJhY2tSZXNwb25zZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5oYW5kbGVSZXNwb25zZVZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVVzZXJTZWxlY3RlZChldmVudCkge1xyXG4gICAgdGhpcy5zZWFyY2hFbXAgPSB7XHJcbiAgICAgIHBlcnNvbkVtYWlsOiBldmVudC5wZXJzb25FbWFpbCxcclxuICAgICAgcGVyc29uTmFtZTogZXZlbnQucGVyc29uTmFtZVxyXG4gICAgfTtcclxuICAgIGlmICghdGhpcy5mZWVkQmFja1F1ZXN0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaGFuZGxlRmVlZGJhY2tWYWxpZGF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSZXNwb25zZVZhbGlkYXRpb24oKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZmVlZEJhY2tSZXNwb25zZS5sZW5ndGggPj0gMSAmJlxyXG4gICAgICB0aGlzLmZlZWRCYWNrUmVzcG9uc2UubGVuZ3RoIDwgNTAwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5pc1Jlc3BvbnNlVmFsaWRhdGVkID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNSZXNwb25zZVZhbGlkYXRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRmVlZGJhY2tWYWxpZGF0aW9uKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZlZWRCYWNrUXVlc3Rpb24ubGVuZ3RoID49IDEgJiZcclxuICAgICAgdGhpcy5mZWVkQmFja1F1ZXN0aW9uLmxlbmd0aCA8IDUwMCAmJlxyXG4gICAgICB0aGlzLnNlYXJjaEVtcC5wZXJzb25FbWFpbFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXNGZWVkYmFja1ZhbGlkYXRlZCA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzRmVlZGJhY2tWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgbWF0LWRpYWxvZy10aXRsZT5cclxuICAgIDxoMz57e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0RmVlZGJhY2snKX19PC9oMz5cclxuICAgIDxkcy1idXR0b24gc3F1YXJlIGljb24gbWF0RGlhbG9nQ2xvc2U+XHJcbiAgICAgIDxkcy1pY29uIGljb249XCJjbG9zZVwiIGNsYXNzPVwiZnMtMjAgZmMtYmxhY2tcIj48L2RzLWljb24+XHJcbiAgICA8L2RzLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBweS00XCIgKm5nSWY9XCJzdWJtaXR0ZWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTRcIj5cclxuICAgICAgICA8c3ZnIHdpZHRoPVwiNzlcIiBoZWlnaHQ9XCI3NlwiIHZpZXdCb3g9XCIwIDAgNzkgNzZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNNTkuOTgwNCAwLjA5OTg2NzZMMS4zOTIzOSAxOS4yNDc5QzEuMDIyMjMgMTkuMzY5MiAwLjY5NDk4IDE5LjU5NDggMC40NDk5OSAxOS44OTc2QzAuMjA1IDIwLjIwMDUgMC4wNTI2OTg1IDIwLjU2NzYgMC4wMTEzOTg1IDIwLjk1NUMtMC4wMjk5MDE2IDIxLjM0MjMgMC4wNDE1NTc2IDIxLjczMzMgMC4yMTcxODQgMjIuMDgxQzAuMzkyODEgMjIuNDI4NyAwLjY2NTEyOCAyMi43MTgzIDEuMDAxMzkgMjIuOTE0OUwyMy4xNDU0IDM1Ljc4OTlDMjMuNDg3IDM1Ljk4ODYgMjMuODc5NCAzNi4wODI4IDI0LjI3NCAzNi4wNjA4QzI0LjY2ODYgMzYuMDM4OCAyNS4wNDgxIDM1LjkwMTQgMjUuMzY1NCAzNS42NjU5TDMxLjU4OTQgMzEuMDQzOUwyNi45Njc0IDM3LjI2NzlDMjYuNzMxOCAzNy41ODUyIDI2LjU5NDQgMzcuOTY0NiAyNi41NzIyIDM4LjM1OTFDMjYuNTQ5OSAzOC43NTM3IDI2LjY0MzkgMzkuMTQ2MSAyNi44NDI0IDM5LjQ4NzlMMzkuNzE3NCA2MS42Mjg5QzM5LjkxMzggNjEuOTY1MiA0MC4yMDMxIDYyLjIzNzcgNDAuNTUwNiA2Mi40MTM1QzQwLjg5ODEgNjIuNTg5NCA0MS4yODkgNjIuNjYxMSA0MS42NzYzIDYyLjYyMDFDNDIuMDYzNiA2Mi41NzkxIDQyLjQzMDggNjIuNDI3MiA0Mi43MzM4IDYyLjE4MjVDNDMuMDM2OSA2MS45Mzc4IDQzLjI2MjggNjEuNjEwOCA0My4zODQ0IDYxLjI0MDlMNjIuNTI5NCAyLjY1MTg3QzYyLjY0NTggMi4yOTY4NiA2Mi42NjE1IDEuOTE2NTQgNjIuNTc0OSAxLjU1MzEzQzYyLjQ4ODMgMS4xODk3MSA2Mi4zMDI2IDAuODU3NDAxIDYyLjAzODYgMC41OTMwNzFDNjEuNzc0NiAwLjMyODc0MSA2MS40NDI1IDAuMTQyNzI2IDYxLjA3OTIgMC4wNTU2NjY1QzYwLjcxNTkgLTAuMDMxMzkzMyA2MC4zMzU1IC0wLjAxNjA5MzcgNTkuOTgwNCAwLjA5OTg2NzZaTTQwLjk0MzQgNTUuNjk5OUwzMS4wMDE0IDM4LjYwNjlMNDIuOTg5NCAyMi40Njg5QzQzLjI3OTcgMjIuMDc5OCA0My40MjAyIDIxLjU5OTMgNDMuMzg1MiAyMS4xMTUyQzQzLjM1MDIgMjAuNjMxIDQzLjE0MiAyMC4xNzU3IDQyLjc5ODggMTkuODMyNUM0Mi40NTU2IDE5LjQ4OTMgNDIuMDAwMiAxOS4yODExIDQxLjUxNjEgMTkuMjQ2MUM0MS4wMzIgMTkuMjExMSA0MC41NTE0IDE5LjM1MTYgNDAuMTYyNCAxOS42NDE5TDI0LjAyNTQgMzEuNjI3OUw2LjkzMzM5IDIxLjY4ODlMNTcuNDUxNCA1LjE4MDg3TDQwLjk0MzQgNTUuNjk5OVpNMjEuMjEzNCA0NC4yNzU5TDcuODAxMzkgNTcuNjkwOUM3LjQyMjUzIDU4LjA3MDEgNi45MDg1MyA1OC4yODMzIDYuMzcyNDYgNTguMjgzNkM1LjgzNjM4IDU4LjI4MzkgNS4zMjIxNSA1OC4wNzEyIDQuOTQyODkgNTcuNjkyNEM0LjU2MzYzIDU3LjMxMzUgNC4zNTA0MSA1Ni43OTk1IDQuMzUwMTMgNTYuMjYzNEM0LjM0OTg1IDU1LjcyNzQgNC41NjI1MyA1NS4yMTMxIDQuOTQxMzkgNTQuODMzOUwxOC4zNTY0IDQxLjQxODlDMTguNzM1MyA0MS4wNCAxOS4yNDkxIDQwLjgyNzIgMTkuNzg0OSA0MC44MjcyQzIwLjMyMDcgNDAuODI3MiAyMC44MzQ1IDQxLjA0IDIxLjIxMzQgNDEuNDE4OUMyMS41OTIzIDQxLjc5NzcgMjEuODA1MSA0Mi4zMTE2IDIxLjgwNTEgNDIuODQ3NEMyMS44MDUxIDQzLjM4MzIgMjEuNTkyMyA0My44OTcgMjEuMjEzNCA0NC4yNzU5Wk0zLjQ5MTM5IDQ0Ljc4MzlDMy4zMDM3OCA0NC41OTYzIDMuMTU0OTUgNDQuMzczNiAzLjA1MzQxIDQ0LjEyODVDMi45NTE4NyA0My44ODM0IDIuODk5NjEgNDMuNjIwNyAyLjg5OTYxIDQzLjM1NTRDMi44OTk2MSA0My4wOTAxIDIuOTUxODcgNDIuODI3NCAzLjA1MzQxIDQyLjU4MjNDMy4xNTQ5NSA0Mi4zMzcxIDMuMzAzNzggNDIuMTE0NCAzLjQ5MTM5IDQxLjkyNjlMOC43ODQzOSAzNi42MzM5QzkuMTYzMjYgMzYuMjU1IDkuNjc3MSAzNi4wNDIyIDEwLjIxMjkgMzYuMDQyMkMxMC43NDg3IDM2LjA0MjIgMTEuMjYyNSAzNi4yNTUgMTEuNjQxNCAzNi42MzM5QzEyLjAyMDMgMzcuMDEyNyAxMi4yMzMxIDM3LjUyNjYgMTIuMjMzMSAzOC4wNjI0QzEyLjIzMzEgMzguNTk4MiAxMi4wMjAzIDM5LjExMiAxMS42NDE0IDM5LjQ5MDlMNi4zNDkzOSA0NC43ODM5QzYuMTYxOCA0NC45NzE2IDUuOTM5MDMgNDUuMTIwNiA1LjY5Mzg0IDQ1LjIyMjJDNS40NDg2NCA0NS4zMjM4IDUuMTg1ODIgNDUuMzc2MiA0LjkyMDM5IDQ1LjM3NjJDNC42NTQ5NyA0NS4zNzYyIDQuMzkyMTUgNDUuMzIzOCA0LjE0Njk1IDQ1LjIyMjJDMy45MDE3NiA0NS4xMjA2IDMuNjc4OTkgNDQuOTcxNiAzLjQ5MTM5IDQ0Ljc4MzlaTTI2LjAwMTQgNTAuOTg5OUMyNi4xODkgNTEuMTc3NCAyNi4zMzc4IDUxLjQwMDEgMjYuNDM5NCA1MS42NDUzQzI2LjU0MDkgNTEuODkwNCAyNi41OTMyIDUyLjE1MzEgMjYuNTkzMiA1Mi40MTg0QzI2LjU5MzIgNTIuNjgzNyAyNi41NDA5IDUyLjk0NjQgMjYuNDM5NCA1My4xOTE1QzI2LjMzNzggNTMuNDM2NiAyNi4xODkgNTMuNjU5MyAyNi4wMDE0IDUzLjg0NjlMMjAuNzAxNCA1OS4xNDA5QzIwLjMyMjUgNTkuNTE5NyAxOS44MDg3IDU5LjczMjYgMTkuMjcyOSA1OS43MzI2QzE4LjczNzEgNTkuNzMyNiAxOC4yMjMzIDU5LjUxOTcgMTcuODQ0NCA1OS4xNDA5QzE3LjQ2NTUgNTguNzYyIDE3LjI1MjcgNTguMjQ4MiAxNy4yNTI3IDU3LjcxMjRDMTcuMjUyNyA1Ny4xNzY2IDE3LjQ2NTUgNTYuNjYyNyAxNy44NDQ0IDU2LjI4MzlMMjMuMTM3NCA1MC45OTA5QzIzLjMyNSA1MC44MDMyIDIzLjU0NzcgNTAuNjU0NCAyMy43OTI4IDUwLjU1MjlDMjQuMDM3OSA1MC40NTEzIDI0LjMwMDYgNTAuMzk5MSAyNC41NjU5IDUwLjM5OTFDMjQuODMxMiA1MC4zOTkxIDI1LjA5MzkgNTAuNDUxMyAyNS4zMzkgNTAuNTUyOUMyNS41ODQxIDUwLjY1NDQgMjUuODA2OCA1MC44MDMyIDI1Ljk5NDQgNTAuOTkwOUwyNi4wMDE0IDUwLjk4OTlaXCJcclxuICAgICAgICAgICAgZmlsbD1cIiM4RTlBQTBcIiAvPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk01OC4wMDE1IDc1LjMxMTlDNjkuMDQ3MiA3NS4zMTE5IDc4LjAwMTUgNjYuMzU3NiA3OC4wMDE1IDU1LjMxMTlDNzguMDAxNSA0NC4yNjYyIDY5LjA0NzIgMzUuMzExOSA1OC4wMDE1IDM1LjMxMTlDNDYuOTU1OCAzNS4zMTE5IDM4LjAwMTUgNDQuMjY2MiAzOC4wMDE1IDU1LjMxMTlDMzguMDAxNSA2Ni4zNTc2IDQ2Ljk1NTggNzUuMzExOSA1OC4wMDE1IDc1LjMxMTlaXCJcclxuICAgICAgICAgICAgZmlsbD1cIiMwMEM0OENcIiAvPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk01Ni44ODA0IDU3LjMxODNMNTQuMDM0NiA1NC40NzI1TDUyLjk3NDMgNTUuNTMzNkw1Ni44Nzc0IDU5LjQzNjdMNjUuODM1NCA1MC41MjY3TDY1LjQ5MjcgNTAuMDEzOEM2My44NTU3IDQ3LjU4MTIgNjEuMTEzNCA0Ni4wMDIgNTguMDAxNSA0Ni4wMDJDNTMuMDMxMyA0Ni4wMDIgNDkuMDAxNSA1MC4wMzEgNDkuMDAxNSA1NS4wMDJDNDkuMDAxNSA1OS45NzI5IDUzLjAzMDUgNjQuMDAyIDU4LjAwMTUgNjQuMDAyQzYyLjk3MTYgNjQuMDAyIDY3LjAwMDcgNTkuOTcyOSA2Ny4wMDE1IDU1LjAwMzVINjUuNTAxN0M2NS41MDE3IDU1LjAwNSA2NS41MDE3IDU1LjAwNzIgNjUuNTAxNyA1NS4wMDk1QzY1LjUwMTcgNTkuMTUwMyA2Mi4xNDUzIDYyLjUwNjcgNTguMDA0NSA2Mi41MDY3QzUzLjg2MzcgNjIuNTA2NyA1MC41MDcyIDU5LjE1MDMgNTAuNTA3MiA1NS4wMDk1QzUwLjUwNzIgNTAuODY4NiA1My44NjM3IDQ3LjUxMjIgNTguMDA0NSA0Ny41MTIyQzYwLjM3OTMgNDcuNTEyMiA2Mi40OTYyIDQ4LjYxNjggNjMuODcgNTAuMzM5Mkw2My44ODIgNTAuMzU0Mkw1Ni44ODA0IDU3LjMxODNaXCJcclxuICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aDIgY2xhc3M9XCJmcy0xNiBmdy1tZWRpdW0gZmMtYmxhY2sgbWItNCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIHt7aTE4bi50cmFuc2xhdGUoJ3N1Ym1pdHRlZFN1Y2Nlc3NmdWxseScpfX1cclxuICAgICAgPC9oMj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3VibWl0dGVkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCIgKm5nSWY9XCJmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtIFwiPlxyXG4gICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVlICNlbXBsb3llZSBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ3JlcXVlc3RUbycpfX1cIiBbZmllbGRdPVwic2VhcmNoRW1wXCJcclxuICAgICAgICAgIFtsYWJlbFRleHRSZWFkTW9kZV09XCJpMThuLnRyYW5zbGF0ZSgncmVxdWVzdFRvJylcIiBbbGFiZWxUZXh0V3JpdGVNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdyZXF1ZXN0VG8nKVwiXHJcbiAgICAgICAgICBbbmFtZV09XCInc2VhcmNoRW1wJ1wiIChlbWl0ZWRWYWx1ZSk9XCJoYW5kbGVVc2VyU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXNlYXJjaC1lbXBsb3llZT5cclxuICAgICAgICA8YXBwLXRleHRhcmVhICNyZXF1ZXN0IFtmaWVsZF09XCJlbXBsb3llZUlucHV0XCIgbmFtZT1cImVtcGxveWVlSW5wdXRcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ2ZlZWRiYWNrJyl9fVwiXHJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiIFttaW5MZW5ndGhdPScxJyAoZW1pdGVkVmFsdWUpPVwiaGFuZGxlRmVlZGJhY2tRdWVzdGlvbigkZXZlbnQpXCIgW21heExlbmd0aF09JzUwMCdcclxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICAgIDwvYXBwLXRleHRhcmVhPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLXNlY3Rpb25cIiAqbmdJZj1cIiFmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtXCI+XHJcbiAgICAgICAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgncmVxdWVzdEZyb20nKX19XCJcclxuICAgICAgICAgICAgdmFsdWU9XCJ7e2ZlZWRCYWNrU2VydmljZT8uZmVlZGJhY2tSZXNwb25zZT8ucmVxdWVzdEZyb219fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0VG8nKX19XCJcclxuICAgICAgICAgICAgdmFsdWU9XCJ7e2ZlZWRCYWNrU2VydmljZT8uZmVlZGJhY2tSZXNwb25zZT8ucmVxdWVzdFRvfX1cIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgICAgICAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgnZmVlZGJhY2tRdWVzdGlvbicpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0RmVlZGJhY2t9fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdmZWVkYmFjaycpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXNwb25zZUZlZWRiYWNrfX1cIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgICAgICAgICA8YXBwLXRleHRhcmVhICNyZXF1ZXN0IGNsYXNzPVwiZnVsbCBteC0zIG10LTMgc2VjdGlvbi1pdGVtXCIgW2ZpZWxkXT1cImVtcGxveWVlSW5wdXRcIiBuYW1lPVwiZW1wbG95ZWVJbnB1dFwiXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgnZmVlZGJhY2snKX19XCIgW3JlcXVpcmVkXT1cInRydWVcIiBbbWluTGVuZ3RoXT0nMSdcclxuICAgICAgICAgICAgKGVtaXRlZFZhbHVlKT1cImhhbmRsZUZlZWRiYWNrUmVzcG9uc2UoJGV2ZW50KVwiIFttYXhMZW5ndGhdPSc1MDAnXHJcbiAgICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICAgICAgPC9hcHAtdGV4dGFyZWE+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWVkQmFja1NlcnZpY2UucGVuZGluZ0Zvcm1cIiBpZD1cInJlc3BvbmNlX2Zvcm1cIj5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0RnJvbScpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0RnJvbX19XCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gICAgICAgICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ3JlcXVlc3RUbycpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0VG99fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdmZWVkYmFja1F1ZXN0aW9uJyl9fVwiXHJcbiAgICAgICAgICAgIHZhbHVlPVwie3tmZWVkQmFja1NlcnZpY2U/LmZlZWRiYWNrUmVzcG9uc2U/LnJlcXVlc3RGZWVkYmFja319XCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gICAgICAgICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ2ZlZWRiYWNrJyl9fVwiXHJcbiAgICAgICAgICAgIHZhbHVlPVwie3tmZWVkQmFja1NlcnZpY2U/LmZlZWRiYWNrUmVzcG9uc2U/LnJlc3BvbnNlRmVlZGJhY2t9fVwiPjwvYXBwLWluZm8taXRlbT5cclxuXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTEwMCBnYXAtM1wiICpuZ0lmPVwiIXN1Ym1pdHRlZFwiPlxyXG4gICAgICAgIDxkcy1idXR0b24gc2hhcGU9XCJvdXRsaW5lXCIgbWF0RGlhbG9nQ2xvc2U+XHJcbiAgICAgICAgICB7e2kxOG4udHJhbnNsYXRlKCdDYW5jZWwnKX19XHJcbiAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgPGRzLWJ1dHRvbiAqbmdJZj1cImZlZWRCYWNrU2VydmljZS5mZWVkYmFja0Zvcm1cIiAoY2xpY2spPVwiYWRkRmVlZGJhY2soKVwiXHJcbiAgICAgICAgICBkaXNhYmxlZD1cInt7IShpc0ZlZWRiYWNrVmFsaWRhdGVkKX19XCI+XHJcbiAgICAgICAgICB7e2kxOG4udHJhbnNsYXRlKCdzdWJtaXQnKX19XHJcbiAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgPGRzLWJ1dHRvbiAqbmdJZj1cIiFmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtICYmIGZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtXCJcclxuICAgICAgICAgIGRpc2FibGVkPVwie3shKGlzUmVzcG9uc2VWYWxpZGF0ZWQpfX1cIiAoY2xpY2spPVwiYWRkUmVzcG9uc2UoKVwiPlxyXG4gICAgICAgICAge3tpMThuLnRyYW5zbGF0ZSgnc3VibWl0Jyl9fVxyXG4gICAgICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2stc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9mZWVkYmFjay1zZWN0aW9uL2ZlZWRiYWNrLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZmVlZGJhY2stc2VjdGlvbi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNHLE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUUvRixPQUFPLEVBQUMsSUFBSSxFQUFhLFFBQVEsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEtBQUssU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQTRCdEcsTUFBTSxPQUFPLHdCQUF3QjtJQWUxQjtJQUNBO0lBQ3lCO0lBaEJ6QixTQUFTLENBQVk7SUFDckIsT0FBTyxDQUFrQjtJQUNsQyxJQUFJLENBQU87SUFDWCxTQUFTLENBQU07SUFDZixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLGNBQWMsR0FBVyxJQUFJLENBQUM7SUFDOUIsZ0JBQWdCLEdBQVcsSUFBSSxDQUFDO0lBQ2hDLGdCQUFnQixHQUFXLElBQUksQ0FBQztJQUNoQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDNUIsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQzVCLGFBQWEsR0FBVyxJQUFJLENBQUM7SUFDN0IsVUFBVSxHQUFXLElBQUksQ0FBQztJQUUxQixZQUNTLGVBQWdDLEVBQ2hDLElBQXFCLEVBQ0ksSUFBUztRQUZsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFDSSxTQUFJLEdBQUosSUFBSSxDQUFLO1FBRXpDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUM1QixJQUFJLElBQUksRUFBRSxrQkFBa0IsS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsdUJBQXVCLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUMzQyxDQUFDO1lBRUQsSUFDRSxJQUFJLENBQUMsV0FBVyxLQUFLLE1BQU07Z0JBQzNCLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTTtnQkFDM0IsSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPO2dCQUMxQixJQUFJLENBQUMsV0FBVyxLQUFLLE9BQU8sRUFDNUIsQ0FBQztnQkFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsQ0FBQztZQUVELElBQ0UsSUFBSSxDQUFDLFdBQVcsS0FBSyxPQUFPO2dCQUM1QixJQUFJLENBQUMsV0FBVyxLQUFLLE1BQU07Z0JBQzNCLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTTtnQkFDekIsSUFBSSxDQUFDLFdBQVcsS0FBSyxPQUFPLEVBQzVCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsdUJBQXVCLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLENBQUM7WUFFRCxJQUNFLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTTtnQkFDM0IsSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFNO2dCQUMzQixJQUFJLENBQUMsU0FBUyxLQUFLLE9BQU87Z0JBQzFCLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTSxFQUMzQixDQUFDO2dCQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLHlCQUF5QixDQUFDO2dCQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDO1lBQ0Q7Ozs7c0RBSTBDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDdkYsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixJQUFJLFFBQVEsWUFBWSxRQUFRLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXO3dCQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzs0QkFDdEIsR0FBRzs0QkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzs0QkFDdkIsR0FBRzs0QkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLFNBQVM7d0JBQzdDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDOzRCQUNwQixHQUFHOzRCQUNILElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDOzRCQUNyQixHQUFHOzRCQUNILElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsZUFBZTt3QkFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQztvQkFDYixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQjt3QkFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM1QixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUN0QyxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ2pGLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ2IsSUFBSSxRQUFRLFlBQVksUUFBUSxFQUFFLENBQUM7d0JBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQzNCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzt3QkFFdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsdUJBQXVCLENBQUM7d0JBQ3hELGdCQUFnQjt3QkFDaEIsa0NBQWtDO3dCQUNsQyw4QkFBOEI7d0JBQzlCLEtBQUs7d0JBQ0wscUNBQXFDO3dCQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7d0JBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzt3QkFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO3dCQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLFdBQVc7NEJBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO3dCQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLFNBQVM7NEJBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO3dCQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLGVBQWU7NEJBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDMUIsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0lBR0QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFDaEMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtnQkFDM0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDYixJQUFJLFFBQVEsWUFBWSxRQUFRLEVBQUUsQ0FBQzt3QkFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDM0IsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO3dCQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQzt3QkFDMUQ7Ozs7NERBSW9DO3dCQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7d0JBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzt3QkFDekMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO3dCQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQjs0QkFDcEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDO29CQUMxQixDQUFDO2dCQUNILENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDeEIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUVkLFNBQVMsQ0FBQyxRQUFhO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixRQUFRLENBQ1QsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLGlDQUFpQztRQUNuQyxDQUFDO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQUs7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBSztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzdCLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQ0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsSUFDRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxHQUFHO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUMxQixDQUFDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7dUdBdE9VLHdCQUF3QixnRkFpQnpCLGVBQWU7MkZBakJkLHdCQUF3Qix3SUNsQ3JDLDZ6UUF3RkEscUpEdkVJLGdCQUFnQix5R0FDaEIsSUFBSSw2RkFDSix1QkFBdUIscVVBQ3ZCLGlCQUFpQixzR0FDakIsaUJBQWlCLGdNQUNqQixjQUFjLCtIQUNkLGNBQWM7OzJGQVdMLHdCQUF3QjtrQkF2QnBDLFNBQVM7K0JBQ0Usc0JBQXNCLFdBR3ZCLENBQUMsc0JBQXNCLENBQUMsV0FDeEI7d0JBQ1AsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsY0FBYztxQkFDZixjQUNXLElBQUk7OzBCQTBCYixNQUFNOzJCQUFDLGVBQWU7eUNBaEJoQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dDbG9zZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nVGl0bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBlZmZlY3QsIEluamVjdCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZUkxOG5TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7Rm9ybSwgSW5ib3hJdGVtLCBNZXNzYWdlcywgUHJvZmlsZUluZm9Ecm9wfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7SW5mb0l0ZW1Db21wb25lbnQsIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LCBUZXh0YXJlYUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3NoYXJlZC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7RmVlZEJhY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvZmVlZEJhY2suc2VydmljZVwiO1xyXG5pbXBvcnQge01ZX0xJQl9DT05GSUdfVE9LRU59IGZyb20gXCIuLi8uLi8uLi8uLi9wdWJsaWMtYXBpXCI7XHJcbmltcG9ydCB7ZW52aXJvbm1lbnR9IGZyb20gXCIuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQubG9jYWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZlZWRiYWNrLXNlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBOZ0lmLFxyXG4gICAgU2VhcmNoRW1wbG95ZWVDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIEluZm9JdGVtQ29tcG9uZW50LFxyXG4gICAgTWF0RGlhbG9nVGl0bGUsXHJcbiAgICBNYXREaWFsb2dDbG9zZVxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuLyogIHByb3ZpZGVyczogW1xyXG4gICAgRmVlZEJhY2tTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNWV9MSUJfQ09ORklHX1RPS0VOLFxyXG4gICAgICB1c2VWYWx1ZTogZW52aXJvbm1lbnRcclxuICAgIH1cclxuICBdKi9cclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZWRiYWNrU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaW5ib3hJdGVtOiBJbmJveEl0ZW07XHJcbiAgQElucHV0KCkgcHJvZmlsZTogUHJvZmlsZUluZm9Ecm9wO1xyXG4gIGZvcm06IEZvcm07XHJcbiAgc2VhcmNoRW1wOiBhbnk7XHJcbiAgc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgZmVlZGJhY2tTdGF0dXM6IHN0cmluZyA9IG51bGw7XHJcbiAgZmVlZEJhY2tRdWVzdGlvbjogc3RyaW5nID0gbnVsbDtcclxuICBmZWVkQmFja1Jlc3BvbnNlOiBzdHJpbmcgPSBudWxsO1xyXG4gIGlzRmVlZGJhY2tWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICBpc1Jlc3BvbnNlVmFsaWRhdGVkID0gZmFsc2U7XHJcbiAgZW1wbG95ZWVJbnB1dDogc3RyaW5nID0gbnVsbDtcclxuICBmZWVkYmFja0lkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBmZWVkQmFja1NlcnZpY2U6IEZlZWRCYWNrU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5wcm9maWxlID0gZGF0YS5wcm9maWxlO1xyXG4gICAgdGhpcy5pbmJveEl0ZW0gPSBkYXRhLmluYm94SXRlbTtcclxuICAgIHRoaXMuZm9ybSA9IGRhdGEuZm9ybTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkQmFja1NlbnQpIHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaW5ib3hJdGVtO1xyXG4gICAgICBpZiAoaXRlbT8uY2FuUmVxdWVzdEZlZWRiYWNrID09PSAndHJ1ZScpIHtcclxuICAgICAgICB0aGlzLmZlZWRiYWNrU3RhdHVzID0gQ29uc3RhbnRzLkZFRURCQUNLX1NUQVRVU19SRVFVRVNUO1xyXG4gICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRiYWNrRm9ybSA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChcclxuICAgICAgICBpdGVtLmlzUmVxdWVzdGVkID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmhhc0ZlZWRiYWNrID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmlzUGVuZGluZyA9PT0gJ2ZhbHNlJyAmJlxyXG4gICAgICAgIGl0ZW0uaXNSZXNwb25kZWQgPT09ICdmYWxzZSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5mZWVkYmFja1N0YXR1cyA9IENvbnN0YW50cy5GRUVEQkFDS19TVEFUVVNfV0FJVElORztcclxuICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5wZW5kaW5nRm9ybSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5nZXRGZWVkQmFjaygpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5pc1JlcXVlc3RlZCA9PT0gJ2ZhbHNlJyAmJlxyXG4gICAgICAgIGl0ZW0uaGFzRmVlZGJhY2sgPT09ICd0cnVlJyAmJlxyXG4gICAgICAgIGl0ZW0uaXNQZW5kaW5nID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmlzUmVzcG9uZGVkID09PSAnZmFsc2UnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1JFU1BPTkQ7XHJcbiAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UucmVzcG9uZGVyRm9ybSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5nZXRGZWVkQmFjaygpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5pc1JlcXVlc3RlZCA9PT0gJ3RydWUnICYmXHJcbiAgICAgICAgaXRlbS5oYXNGZWVkYmFjayA9PT0gJ3RydWUnICYmXHJcbiAgICAgICAgaXRlbS5pc1BlbmRpbmcgPT09ICdmYWxzZScgJiZcclxuICAgICAgICBpdGVtLmlzUmVzcG9uZGVkID09PSAndHJ1ZSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5mZWVkYmFja1N0YXR1cyA9IENvbnN0YW50cy5GRUVEQkFDS19TVEFUVVNfUkVTUE9OREVEO1xyXG4gICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnBlbmRpbmdGb3JtID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmdldEZlZWRCYWNrKCk7XHJcbiAgICAgIH1cclxuICAgICAgLyogICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2NoYW5nZUZlZWRiYWNrU3RhdHVzJyxcclxuICAgICAgICAgICAgICBkYXRhOiB0aGlzLmZlZWRiYWNrU3RhdHVzIVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5lclNlcnZpY2UuZmlsdGVyKG9iaik7Ki9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZlZWRCYWNrKCkge1xyXG4gICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZ2V0RmVlZGJhY2sodGhpcy5wcm9maWxlLmVtcGxveWVlRW1haWwpLnN1YnNjcmliZSgoUmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoUmVzcG9uc2UpIHtcclxuICAgICAgICBpZiAoUmVzcG9uc2UgaW5zdGFuY2VvZiBNZXNzYWdlcykge1xyXG4gICAgICAgICAgdGhpcy5zaG93RXJyb3IoUmVzcG9uc2UpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCByZXNwID0gUmVzcG9uc2VbJ2l0ZW1zJ11bMF07XHJcbiAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGcm9tID1cclxuICAgICAgICAgICAgcmVzcC5mcm9tWydmaXJzdE5hbWUnXSArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIHJlc3AuZnJvbVsnbWlkZGxlTmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC5mcm9tWydmYW1pbHlOYW1lJ107XHJcbiAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RUbyA9XHJcbiAgICAgICAgICAgIHJlc3AudG9bJ2ZpcnN0TmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC50b1snbWlkZGxlTmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC50b1snZmFtaWx5TmFtZSddO1xyXG4gICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXF1ZXN0RmVlZGJhY2sgPVxyXG4gICAgICAgICAgICByZXNwLnF1ZXJ5O1xyXG4gICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXNwb25zZUZlZWRiYWNrID1cclxuICAgICAgICAgICAgcmVzcC5yZXNwb25zZTtcclxuICAgICAgICAgIHRoaXMuZmVlZGJhY2tJZCA9IHJlc3AuaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYWRkRmVlZGJhY2soKSB7XHJcbiAgICBpZiAodGhpcy5pc0ZlZWRiYWNrVmFsaWRhdGVkKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsID0gdGhpcy5zZWFyY2hFbXAucGVyc29uRW1haWwsXHJcbiAgICAgICAgcXVlc3Rpb24gPSB0aGlzLmZlZWRCYWNrUXVlc3Rpb247XHJcbiAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnN1Ym1pdEZlZWRiYWNrKHtlbWFpbCwgcXVlc3Rpb259KS5zdWJzY3JpYmUoKFJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoUmVzcG9uc2UpIHtcclxuICAgICAgICAgIGlmIChSZXNwb25zZSBpbnN0YW5jZW9mIE1lc3NhZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKFJlc3BvbnNlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1dBSVRJTkc7XHJcbiAgICAgICAgICAgIC8vIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICAgICAgLy8gICBuYW1lOiAnY2hhbmdlRmVlZGJhY2tTdGF0dXMnLFxyXG4gICAgICAgICAgICAvLyAgIGRhdGE6IHRoaXMuZmVlZGJhY2tTdGF0dXNcclxuICAgICAgICAgICAgLy8gfTtcclxuICAgICAgICAgICAgLy8gdGhpcy5fbGlzdGVuZXJTZXJ2aWNlLmZpbHRlcihvYmopO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja0Zvcm0gPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UucGVuZGluZ0Zvcm0gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkQmFja1NlbnQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGcm9tID1cclxuICAgICAgICAgICAgICB0aGlzLnByb2ZpbGUuZnVsbE5hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRiYWNrUmVzcG9uc2UucmVxdWVzdFRvID1cclxuICAgICAgICAgICAgICB0aGlzLnNlYXJjaEVtcC5wZXJzb25OYW1lO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGZWVkYmFjayA9XHJcbiAgICAgICAgICAgICAgdGhpcy5mZWVkQmFja1F1ZXN0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGFkZFJlc3BvbnNlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNGZWVkYmFja1ZhbGlkYXRlZCkge1xyXG4gICAgICBjb25zdCBmZWVkYmFja0lkID0gdGhpcy5mZWVkYmFja0lkLFxyXG4gICAgICAgIGZlZWRiYWNrUmVzcG9uc2UgPSB0aGlzLmZlZWRCYWNrUmVzcG9uc2U7XHJcbiAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmFkZFJlc3BvbnNlKHtmZWVkYmFja0lkLCBmZWVkYmFja1Jlc3BvbnNlfSkuc3Vic2NyaWJlKChSZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBpZiAoUmVzcG9uc2UgaW5zdGFuY2VvZiBNZXNzYWdlcykge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvcihSZXNwb25zZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1JFU1BPTkRFRDtcclxuICAgICAgICAgICAgLypjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2NoYW5nZUZlZWRiYWNrU3RhdHVzJyxcclxuICAgICAgICAgICAgICBkYXRhOiB0aGlzLmZlZWRiYWNrU3RhdHVzXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuX2xpc3RlbmVyU2VydmljZS5maWx0ZXIob2JqKTsqL1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRCYWNrU2VudCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnBlbmRpbmdGb3JtID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXNwb25zZUZlZWRiYWNrID1cclxuICAgICAgICAgICAgICB0aGlzLmZlZWRCYWNrUmVzcG9uc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlcnJvck9jY3VyZWQgPSBmYWxzZTtcclxuICBpc1N1Ym1pdGluZyA9IGZhbHNlO1xyXG4gIGVycm9yTXNnID0gJyc7XHJcblxyXG4gIHNob3dFcnJvcihSZXNwb25zZTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybShcclxuICAgICAgICBDb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgQ29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIENvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBDb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgQ29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIENvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBSZXNwb25zZVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lcnJvck9jY3VyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmVycm9yTXNnID0gUmVzcG9uc2U/LmVycm9yWzBdO1xyXG4gICAgICAvLyB0aGlzLmZvcm0ubWVzc2FnZXMgPSBSZXNwb25zZTtcclxuICAgIH1cclxuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZlZWRiYWNrUXVlc3Rpb24oZXZlbnQpIHtcclxuICAgIHRoaXMuZmVlZEJhY2tRdWVzdGlvbiA9IGV2ZW50O1xyXG4gICAgdGhpcy5oYW5kbGVGZWVkYmFja1ZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZlZWRiYWNrUmVzcG9uc2UoZXZlbnQpIHtcclxuICAgIHRoaXMuZmVlZEJhY2tSZXNwb25zZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5oYW5kbGVSZXNwb25zZVZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVVzZXJTZWxlY3RlZChldmVudCkge1xyXG4gICAgdGhpcy5zZWFyY2hFbXAgPSB7XHJcbiAgICAgIHBlcnNvbkVtYWlsOiBldmVudC5wZXJzb25FbWFpbCxcclxuICAgICAgcGVyc29uTmFtZTogZXZlbnQucGVyc29uTmFtZVxyXG4gICAgfTtcclxuICAgIGlmICghdGhpcy5mZWVkQmFja1F1ZXN0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaGFuZGxlRmVlZGJhY2tWYWxpZGF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSZXNwb25zZVZhbGlkYXRpb24oKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZmVlZEJhY2tSZXNwb25zZS5sZW5ndGggPj0gMSAmJlxyXG4gICAgICB0aGlzLmZlZWRCYWNrUmVzcG9uc2UubGVuZ3RoIDwgNTAwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5pc1Jlc3BvbnNlVmFsaWRhdGVkID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNSZXNwb25zZVZhbGlkYXRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRmVlZGJhY2tWYWxpZGF0aW9uKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZlZWRCYWNrUXVlc3Rpb24ubGVuZ3RoID49IDEgJiZcclxuICAgICAgdGhpcy5mZWVkQmFja1F1ZXN0aW9uLmxlbmd0aCA8IDUwMCAmJlxyXG4gICAgICB0aGlzLnNlYXJjaEVtcC5wZXJzb25FbWFpbFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXNGZWVkYmFja1ZhbGlkYXRlZCA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzRmVlZGJhY2tWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgbWF0LWRpYWxvZy10aXRsZT5cclxuICAgIDxoMz57e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0RmVlZGJhY2snKX19PC9oMz5cclxuICAgIDxkcy1idXR0b24gc3F1YXJlIGljb24gbWF0RGlhbG9nQ2xvc2U+XHJcbiAgICAgIDxkcy1pY29uIGljb249XCJjbG9zZVwiIGNsYXNzPVwiZnMtMjAgZmMtYmxhY2tcIj48L2RzLWljb24+XHJcbiAgICA8L2RzLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBweS00XCIgKm5nSWY9XCJzdWJtaXR0ZWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTRcIj5cclxuICAgICAgICA8c3ZnIHdpZHRoPVwiNzlcIiBoZWlnaHQ9XCI3NlwiIHZpZXdCb3g9XCIwIDAgNzkgNzZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNNTkuOTgwNCAwLjA5OTg2NzZMMS4zOTIzOSAxOS4yNDc5QzEuMDIyMjMgMTkuMzY5MiAwLjY5NDk4IDE5LjU5NDggMC40NDk5OSAxOS44OTc2QzAuMjA1IDIwLjIwMDUgMC4wNTI2OTg1IDIwLjU2NzYgMC4wMTEzOTg1IDIwLjk1NUMtMC4wMjk5MDE2IDIxLjM0MjMgMC4wNDE1NTc2IDIxLjczMzMgMC4yMTcxODQgMjIuMDgxQzAuMzkyODEgMjIuNDI4NyAwLjY2NTEyOCAyMi43MTgzIDEuMDAxMzkgMjIuOTE0OUwyMy4xNDU0IDM1Ljc4OTlDMjMuNDg3IDM1Ljk4ODYgMjMuODc5NCAzNi4wODI4IDI0LjI3NCAzNi4wNjA4QzI0LjY2ODYgMzYuMDM4OCAyNS4wNDgxIDM1LjkwMTQgMjUuMzY1NCAzNS42NjU5TDMxLjU4OTQgMzEuMDQzOUwyNi45Njc0IDM3LjI2NzlDMjYuNzMxOCAzNy41ODUyIDI2LjU5NDQgMzcuOTY0NiAyNi41NzIyIDM4LjM1OTFDMjYuNTQ5OSAzOC43NTM3IDI2LjY0MzkgMzkuMTQ2MSAyNi44NDI0IDM5LjQ4NzlMMzkuNzE3NCA2MS42Mjg5QzM5LjkxMzggNjEuOTY1MiA0MC4yMDMxIDYyLjIzNzcgNDAuNTUwNiA2Mi40MTM1QzQwLjg5ODEgNjIuNTg5NCA0MS4yODkgNjIuNjYxMSA0MS42NzYzIDYyLjYyMDFDNDIuMDYzNiA2Mi41NzkxIDQyLjQzMDggNjIuNDI3MiA0Mi43MzM4IDYyLjE4MjVDNDMuMDM2OSA2MS45Mzc4IDQzLjI2MjggNjEuNjEwOCA0My4zODQ0IDYxLjI0MDlMNjIuNTI5NCAyLjY1MTg3QzYyLjY0NTggMi4yOTY4NiA2Mi42NjE1IDEuOTE2NTQgNjIuNTc0OSAxLjU1MzEzQzYyLjQ4ODMgMS4xODk3MSA2Mi4zMDI2IDAuODU3NDAxIDYyLjAzODYgMC41OTMwNzFDNjEuNzc0NiAwLjMyODc0MSA2MS40NDI1IDAuMTQyNzI2IDYxLjA3OTIgMC4wNTU2NjY1QzYwLjcxNTkgLTAuMDMxMzkzMyA2MC4zMzU1IC0wLjAxNjA5MzcgNTkuOTgwNCAwLjA5OTg2NzZaTTQwLjk0MzQgNTUuNjk5OUwzMS4wMDE0IDM4LjYwNjlMNDIuOTg5NCAyMi40Njg5QzQzLjI3OTcgMjIuMDc5OCA0My40MjAyIDIxLjU5OTMgNDMuMzg1MiAyMS4xMTUyQzQzLjM1MDIgMjAuNjMxIDQzLjE0MiAyMC4xNzU3IDQyLjc5ODggMTkuODMyNUM0Mi40NTU2IDE5LjQ4OTMgNDIuMDAwMiAxOS4yODExIDQxLjUxNjEgMTkuMjQ2MUM0MS4wMzIgMTkuMjExMSA0MC41NTE0IDE5LjM1MTYgNDAuMTYyNCAxOS42NDE5TDI0LjAyNTQgMzEuNjI3OUw2LjkzMzM5IDIxLjY4ODlMNTcuNDUxNCA1LjE4MDg3TDQwLjk0MzQgNTUuNjk5OVpNMjEuMjEzNCA0NC4yNzU5TDcuODAxMzkgNTcuNjkwOUM3LjQyMjUzIDU4LjA3MDEgNi45MDg1MyA1OC4yODMzIDYuMzcyNDYgNTguMjgzNkM1LjgzNjM4IDU4LjI4MzkgNS4zMjIxNSA1OC4wNzEyIDQuOTQyODkgNTcuNjkyNEM0LjU2MzYzIDU3LjMxMzUgNC4zNTA0MSA1Ni43OTk1IDQuMzUwMTMgNTYuMjYzNEM0LjM0OTg1IDU1LjcyNzQgNC41NjI1MyA1NS4yMTMxIDQuOTQxMzkgNTQuODMzOUwxOC4zNTY0IDQxLjQxODlDMTguNzM1MyA0MS4wNCAxOS4yNDkxIDQwLjgyNzIgMTkuNzg0OSA0MC44MjcyQzIwLjMyMDcgNDAuODI3MiAyMC44MzQ1IDQxLjA0IDIxLjIxMzQgNDEuNDE4OUMyMS41OTIzIDQxLjc5NzcgMjEuODA1MSA0Mi4zMTE2IDIxLjgwNTEgNDIuODQ3NEMyMS44MDUxIDQzLjM4MzIgMjEuNTkyMyA0My44OTcgMjEuMjEzNCA0NC4yNzU5Wk0zLjQ5MTM5IDQ0Ljc4MzlDMy4zMDM3OCA0NC41OTYzIDMuMTU0OTUgNDQuMzczNiAzLjA1MzQxIDQ0LjEyODVDMi45NTE4NyA0My44ODM0IDIuODk5NjEgNDMuNjIwNyAyLjg5OTYxIDQzLjM1NTRDMi44OTk2MSA0My4wOTAxIDIuOTUxODcgNDIuODI3NCAzLjA1MzQxIDQyLjU4MjNDMy4xNTQ5NSA0Mi4zMzcxIDMuMzAzNzggNDIuMTE0NCAzLjQ5MTM5IDQxLjkyNjlMOC43ODQzOSAzNi42MzM5QzkuMTYzMjYgMzYuMjU1IDkuNjc3MSAzNi4wNDIyIDEwLjIxMjkgMzYuMDQyMkMxMC43NDg3IDM2LjA0MjIgMTEuMjYyNSAzNi4yNTUgMTEuNjQxNCAzNi42MzM5QzEyLjAyMDMgMzcuMDEyNyAxMi4yMzMxIDM3LjUyNjYgMTIuMjMzMSAzOC4wNjI0QzEyLjIzMzEgMzguNTk4MiAxMi4wMjAzIDM5LjExMiAxMS42NDE0IDM5LjQ5MDlMNi4zNDkzOSA0NC43ODM5QzYuMTYxOCA0NC45NzE2IDUuOTM5MDMgNDUuMTIwNiA1LjY5Mzg0IDQ1LjIyMjJDNS40NDg2NCA0NS4zMjM4IDUuMTg1ODIgNDUuMzc2MiA0LjkyMDM5IDQ1LjM3NjJDNC42NTQ5NyA0NS4zNzYyIDQuMzkyMTUgNDUuMzIzOCA0LjE0Njk1IDQ1LjIyMjJDMy45MDE3NiA0NS4xMjA2IDMuNjc4OTkgNDQuOTcxNiAzLjQ5MTM5IDQ0Ljc4MzlaTTI2LjAwMTQgNTAuOTg5OUMyNi4xODkgNTEuMTc3NCAyNi4zMzc4IDUxLjQwMDEgMjYuNDM5NCA1MS42NDUzQzI2LjU0MDkgNTEuODkwNCAyNi41OTMyIDUyLjE1MzEgMjYuNTkzMiA1Mi40MTg0QzI2LjU5MzIgNTIuNjgzNyAyNi41NDA5IDUyLjk0NjQgMjYuNDM5NCA1My4xOTE1QzI2LjMzNzggNTMuNDM2NiAyNi4xODkgNTMuNjU5MyAyNi4wMDE0IDUzLjg0NjlMMjAuNzAxNCA1OS4xNDA5QzIwLjMyMjUgNTkuNTE5NyAxOS44MDg3IDU5LjczMjYgMTkuMjcyOSA1OS43MzI2QzE4LjczNzEgNTkuNzMyNiAxOC4yMjMzIDU5LjUxOTcgMTcuODQ0NCA1OS4xNDA5QzE3LjQ2NTUgNTguNzYyIDE3LjI1MjcgNTguMjQ4MiAxNy4yNTI3IDU3LjcxMjRDMTcuMjUyNyA1Ny4xNzY2IDE3LjQ2NTUgNTYuNjYyNyAxNy44NDQ0IDU2LjI4MzlMMjMuMTM3NCA1MC45OTA5QzIzLjMyNSA1MC44MDMyIDIzLjU0NzcgNTAuNjU0NCAyMy43OTI4IDUwLjU1MjlDMjQuMDM3OSA1MC40NTEzIDI0LjMwMDYgNTAuMzk5MSAyNC41NjU5IDUwLjM5OTFDMjQuODMxMiA1MC4zOTkxIDI1LjA5MzkgNTAuNDUxMyAyNS4zMzkgNTAuNTUyOUMyNS41ODQxIDUwLjY1NDQgMjUuODA2OCA1MC44MDMyIDI1Ljk5NDQgNTAuOTkwOUwyNi4wMDE0IDUwLjk4OTlaXCJcclxuICAgICAgICAgICAgZmlsbD1cIiM4RTlBQTBcIiAvPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk01OC4wMDE1IDc1LjMxMTlDNjkuMDQ3MiA3NS4zMTE5IDc4LjAwMTUgNjYuMzU3NiA3OC4wMDE1IDU1LjMxMTlDNzguMDAxNSA0NC4yNjYyIDY5LjA0NzIgMzUuMzExOSA1OC4wMDE1IDM1LjMxMTlDNDYuOTU1OCAzNS4zMTE5IDM4LjAwMTUgNDQuMjY2MiAzOC4wMDE1IDU1LjMxMTlDMzguMDAxNSA2Ni4zNTc2IDQ2Ljk1NTggNzUuMzExOSA1OC4wMDE1IDc1LjMxMTlaXCJcclxuICAgICAgICAgICAgZmlsbD1cIiMwMEM0OENcIiAvPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk01Ni44ODA0IDU3LjMxODNMNTQuMDM0NiA1NC40NzI1TDUyLjk3NDMgNTUuNTMzNkw1Ni44Nzc0IDU5LjQzNjdMNjUuODM1NCA1MC41MjY3TDY1LjQ5MjcgNTAuMDEzOEM2My44NTU3IDQ3LjU4MTIgNjEuMTEzNCA0Ni4wMDIgNTguMDAxNSA0Ni4wMDJDNTMuMDMxMyA0Ni4wMDIgNDkuMDAxNSA1MC4wMzEgNDkuMDAxNSA1NS4wMDJDNDkuMDAxNSA1OS45NzI5IDUzLjAzMDUgNjQuMDAyIDU4LjAwMTUgNjQuMDAyQzYyLjk3MTYgNjQuMDAyIDY3LjAwMDcgNTkuOTcyOSA2Ny4wMDE1IDU1LjAwMzVINjUuNTAxN0M2NS41MDE3IDU1LjAwNSA2NS41MDE3IDU1LjAwNzIgNjUuNTAxNyA1NS4wMDk1QzY1LjUwMTcgNTkuMTUwMyA2Mi4xNDUzIDYyLjUwNjcgNTguMDA0NSA2Mi41MDY3QzUzLjg2MzcgNjIuNTA2NyA1MC41MDcyIDU5LjE1MDMgNTAuNTA3MiA1NS4wMDk1QzUwLjUwNzIgNTAuODY4NiA1My44NjM3IDQ3LjUxMjIgNTguMDA0NSA0Ny41MTIyQzYwLjM3OTMgNDcuNTEyMiA2Mi40OTYyIDQ4LjYxNjggNjMuODcgNTAuMzM5Mkw2My44ODIgNTAuMzU0Mkw1Ni44ODA0IDU3LjMxODNaXCJcclxuICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aDIgY2xhc3M9XCJmcy0xNiBmdy1tZWRpdW0gZmMtYmxhY2sgbWItNCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIHt7aTE4bi50cmFuc2xhdGUoJ3N1Ym1pdHRlZFN1Y2Nlc3NmdWxseScpfX1cclxuICAgICAgPC9oMj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3VibWl0dGVkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCIgKm5nSWY9XCJmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtIFwiPlxyXG4gICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVlICNlbXBsb3llZSBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ3JlcXVlc3RUbycpfX1cIiBbZmllbGRdPVwic2VhcmNoRW1wXCJcclxuICAgICAgICAgIFtsYWJlbFRleHRSZWFkTW9kZV09XCJpMThuLnRyYW5zbGF0ZSgncmVxdWVzdFRvJylcIiBbbGFiZWxUZXh0V3JpdGVNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdyZXF1ZXN0VG8nKVwiXHJcbiAgICAgICAgICBbbmFtZV09XCInc2VhcmNoRW1wJ1wiIChlbWl0ZWRWYWx1ZSk9XCJoYW5kbGVVc2VyU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXNlYXJjaC1lbXBsb3llZT5cclxuICAgICAgICA8YXBwLXRleHRhcmVhICNyZXF1ZXN0IFtmaWVsZF09XCJlbXBsb3llZUlucHV0XCIgbmFtZT1cImVtcGxveWVlSW5wdXRcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ2ZlZWRiYWNrJyl9fVwiXHJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiIFttaW5MZW5ndGhdPScxJyAoZW1pdGVkVmFsdWUpPVwiaGFuZGxlRmVlZGJhY2tRdWVzdGlvbigkZXZlbnQpXCIgW21heExlbmd0aF09JzUwMCdcclxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICAgIDwvYXBwLXRleHRhcmVhPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLXNlY3Rpb25cIiAqbmdJZj1cIiFmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtXCI+XHJcbiAgICAgICAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgncmVxdWVzdEZyb20nKX19XCJcclxuICAgICAgICAgICAgdmFsdWU9XCJ7e2ZlZWRCYWNrU2VydmljZT8uZmVlZGJhY2tSZXNwb25zZT8ucmVxdWVzdEZyb219fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0VG8nKX19XCJcclxuICAgICAgICAgICAgdmFsdWU9XCJ7e2ZlZWRCYWNrU2VydmljZT8uZmVlZGJhY2tSZXNwb25zZT8ucmVxdWVzdFRvfX1cIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgICAgICAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgnZmVlZGJhY2tRdWVzdGlvbicpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0RmVlZGJhY2t9fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdmZWVkYmFjaycpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXNwb25zZUZlZWRiYWNrfX1cIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgICAgICAgICA8YXBwLXRleHRhcmVhICNyZXF1ZXN0IGNsYXNzPVwiZnVsbCBteC0zIG10LTMgc2VjdGlvbi1pdGVtXCIgW2ZpZWxkXT1cImVtcGxveWVlSW5wdXRcIiBuYW1lPVwiZW1wbG95ZWVJbnB1dFwiXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgnZmVlZGJhY2snKX19XCIgW3JlcXVpcmVkXT1cInRydWVcIiBbbWluTGVuZ3RoXT0nMSdcclxuICAgICAgICAgICAgKGVtaXRlZFZhbHVlKT1cImhhbmRsZUZlZWRiYWNrUmVzcG9uc2UoJGV2ZW50KVwiIFttYXhMZW5ndGhdPSc1MDAnXHJcbiAgICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICAgICAgPC9hcHAtdGV4dGFyZWE+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWVkQmFja1NlcnZpY2UucGVuZGluZ0Zvcm1cIiBpZD1cInJlc3BvbmNlX2Zvcm1cIj5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0RnJvbScpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0RnJvbX19XCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gICAgICAgICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ3JlcXVlc3RUbycpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0VG99fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdmZWVkYmFja1F1ZXN0aW9uJyl9fVwiXHJcbiAgICAgICAgICAgIHZhbHVlPVwie3tmZWVkQmFja1NlcnZpY2U/LmZlZWRiYWNrUmVzcG9uc2U/LnJlcXVlc3RGZWVkYmFja319XCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gICAgICAgICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ2ZlZWRiYWNrJyl9fVwiXHJcbiAgICAgICAgICAgIHZhbHVlPVwie3tmZWVkQmFja1NlcnZpY2U/LmZlZWRiYWNrUmVzcG9uc2U/LnJlc3BvbnNlRmVlZGJhY2t9fVwiPjwvYXBwLWluZm8taXRlbT5cclxuXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTEwMCBnYXAtM1wiICpuZ0lmPVwiIXN1Ym1pdHRlZFwiPlxyXG4gICAgICAgIDxkcy1idXR0b24gc2hhcGU9XCJvdXRsaW5lXCIgbWF0RGlhbG9nQ2xvc2U+XHJcbiAgICAgICAgICB7e2kxOG4udHJhbnNsYXRlKCdDYW5jZWwnKX19XHJcbiAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgPGRzLWJ1dHRvbiAqbmdJZj1cImZlZWRCYWNrU2VydmljZS5mZWVkYmFja0Zvcm1cIiAoY2xpY2spPVwiYWRkRmVlZGJhY2soKVwiXHJcbiAgICAgICAgICBkaXNhYmxlZD1cInt7IShpc0ZlZWRiYWNrVmFsaWRhdGVkKX19XCI+XHJcbiAgICAgICAgICB7e2kxOG4udHJhbnNsYXRlKCdzdWJtaXQnKX19XHJcbiAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgPGRzLWJ1dHRvbiAqbmdJZj1cIiFmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtICYmIGZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtXCJcclxuICAgICAgICAgIGRpc2FibGVkPVwie3shKGlzUmVzcG9uc2VWYWxpZGF0ZWQpfX1cIiAoY2xpY2spPVwiYWRkUmVzcG9uc2UoKVwiPlxyXG4gICAgICAgICAge3tpMThuLnRyYW5zbGF0ZSgnc3VibWl0Jyl9fVxyXG4gICAgICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
@@ -63,8 +63,9 @@ export class FormSectionComponent {
63
63
  isReadOnly: this.isReadOnly,
64
64
  lov: this.lov,
65
65
  section: this.section,
66
- controllers: this.controllers,
67
- requestDetails: this.requestDetails
66
+ // controllers: this.controllers,
67
+ // requestDetails: this.requestDetails,
68
+ form: this.form
68
69
  };
69
70
  if (this.section.header && this.section.header.processingDate) {
70
71
  this.processingDate = moment(this.section.header.processingDate)
@@ -77,49 +78,12 @@ export class FormSectionComponent {
77
78
  this.sectionNumber = x.length;
78
79
  }
79
80
  }
80
- /* ngOnChanges() {
81
- if (
82
- this.section.id !== 'requestDetails' &&
83
- this.section.id !== 'hrRequestDetails' &&
84
- !this.sectionStatusKey &&
85
- this.section.body.details.decision &&
86
- this.section.body.details.decision.key
87
- ) {
88
- this.sectionStatusKey = this.section.body.details.decision.key;
89
- }
90
- if (
91
- this.section.id !== 'requestDetails' &&
92
- this.section.id !== 'hrRequestDetails' &&
93
- !this.sectionStatusValue &&
94
- this.section.body.details.decision &&
95
- this.section.body.details.decision.value
96
- ) {
97
- this.sectionStatusValue = this.section.body.details.decision.value;
98
- }
99
- }*/
100
- /* ngAfterViewInit() {
101
- this.ServicesSubScriptions();
102
- }*/
103
81
  get isExpanded() {
104
82
  const isExpandableFromBackend = this.form?.sections?.length && this.form.sections.some(section => 'expandStage' in section?.body?.details);
105
83
  if (!isExpandableFromBackend)
106
84
  return true;
107
85
  return this.section?.body?.details?.expandStage === 'true';
108
86
  }
109
- /* public ServicesSubScriptions() {
110
- /!* this.profileRequestorService.getForm().subscribe((data) => {
111
- this.form = data;
112
- });*!/
113
- }*/
114
- ngAfterViewChecked() {
115
- this.input = {
116
- isReadOnly: this.isReadOnly,
117
- lov: this.lov,
118
- section: this.section,
119
- controllers: this.controllers,
120
- sectionId: this.section
121
- };
122
- }
123
87
  sectionId() {
124
88
  return this.section.id.split(' ').join('') + this.randomID;
125
89
  }
@@ -218,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
218
182
  }], sectionName: [{
219
183
  type: Input
220
184
  }] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2Zvcm0tc2VjdGlvbi9mb3JtLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTNILE9BQU8sRUFBQywwQkFBMEIsRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBTyxlQUFlLEVBQVUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFBO0FBQ2hDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDOzs7OztBQW1CckYsTUFBTSxPQUFPLG9CQUFvQjtJQW9DdEI7SUFDVTtJQUNBO0lBcENuQixRQUFRLEdBQUcsV0FBVyxDQUFDO0lBQ3ZCLHVDQUF1QztJQUN2QyxXQUFXLEdBQUcsV0FBVyxD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QkFBa0IscVlBRWxCLElBQUksNkZBQ0osaUJBQWlCLG9QQUNqQiwwQkFBMEIscU9BQzFCLGdCQUFnQiwrQkFDaEIsT0FBTyxtRkFDUCxhQUFhOzsyRkFJSixvQkFBb0I7a0JBakJoQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLElBQUk7d0JBQ0osaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsT0FBTzt3QkFDUCxhQUFhO3FCQUNkLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQzsySUFPeEIsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdDaGVja2VkLCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZUkxOG5TZXJ2aWNlLCBDb3JlU2VydmljZSwgU2lkZW5hdlNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHtDb21wb25lbnRPdXRsZXRJb0RpcmVjdGl2ZSwgRHluYW1pY01vZHVsZX0gZnJvbSAnbmctZHluYW1pYy1jb21wb25lbnQnO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nQ29tcG9uZW50T3V0bGV0LCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge01hdEV4cGFuc2lvbk1vZHVsZSwgTWF0RXhwYW5zaW9uUGFuZWx9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSAnQG5jc3RhdGUvc2F0LXBvcG92ZXInO1xyXG5pbXBvcnQge0Zvcm0sIFByb2ZpbGVJbmZvRHJvcCwgU2VjdGlvbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50J1xyXG5pbXBvcnQge1Byb2ZpbGVTZWN0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi4vcHJvZmlsZS1zZWN0aW9uL3Byb2ZpbGUtc2VjdGlvbi5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZvcm0tc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbCxcclxuICAgIE5nSWYsXHJcbiAgICBOZ0NvbXBvbmVudE91dGxldCxcclxuICAgIENvbXBvbmVudE91dGxldElvRGlyZWN0aXZlLFxyXG4gICAgU2F0UG9wb3Zlck1vZHVsZSxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBEeW5hbWljTW9kdWxlXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1TZWN0aW9uQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQge1xyXG4gIHVzZXJUeXBlID0gJ3JlY2lwaWVudCc7XHJcbiAgLy8gQFZpZXdDaGlsZCgncG9wb3ZlcicpIHBvcG92ZXI/OiBhbnk7XHJcbiAgcG9wb3ZlclR5cGUgPSAncmVjaXBpZW50JztcclxuICBASW5wdXQoKSByZXF1ZXN0RGV0YWlsczogU2VjdGlvbjtcclxuICB1c2VyUG9wb3ZlckluZm86IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpIHNlY3Rpb246IFNlY3Rpb247XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSBsb3Y6IGFueTtcclxuICBASW5wdXQoKSBpc1JlYWRPbmx5OiBib29sZWFuO1xyXG4gIC8vIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbjtcclxuICAvLyBASW5wdXQoKSBpc0ZpbmFsQXBwcm92YWw6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY29udHJvbGxlcnM6IGFueTtcclxuICBASW5wdXQoKSBzZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2U6IGFueTtcclxuICBASW5wdXQoKSBzZWN0aW9uRm9ybUNvbXBvbmVudDogYW55ID0gbnVsbDtcclxuICBASW5wdXQoKSBzZWN0aW9uTmFtZSA9ICdTRUNUSU9OX05BTUUucmVxdWVzdERldGFpbHMnO1xyXG4gIHNlY3Rpb25OdW1iZXI6IG51bWJlcjtcclxuICBzZWN0aW9uU3RhdHVzVmFsdWU6IHN0cmluZztcclxuICBzZWN0aW9uU3RhdHVzS2V5OiBzdHJpbmc7XHJcbiAgcmVjaXBpZW50ID0ge1xyXG4gICAgaXNTaG93aW5nOiBmYWxzZSxcclxuICAgIHByb2ZpbGU6IG51bGxcclxuICB9O1xyXG4gIGRlbGVnYXRlID0ge1xyXG4gICAgaXNTaG93aW5nOiBmYWxzZSxcclxuICAgIHByb2ZpbGU6IG51bGxcclxuICB9O1xyXG4gIHB1YmxpYyBpbnB1dDtcclxuICAvLyBoaWdobGlnaHRGbGFnOiBib29sZWFuO1xyXG5cclxuICBwcm9jZXNzaW5nRGF0ZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByYW5kb21JRDogbnVtYmVyID1cclxuICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg5OTk5OTkgLSAxMDAwMDApKSArIDEwMDAwMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3JlU2VydmljZTogQ29yZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZVxyXG4gICkge1xyXG4gICAgLy8gdGhpcy5oaWdobGlnaHRGbGFnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VjdGlvbkZvcm1Db21wb25lbnQgPSB0aGlzLnNlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZS5nZXRDb21wb25lbnQoXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZFxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLnN0YWdlTmFtZSkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25OYW1lID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5zdGFnZU5hbWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlY3Rpb25OYW1lID0gdGhpcy5zZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2UuZ2V0U2VjdGlvbk5hbWUodGhpcy5zZWN0aW9uLmlkKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlucHV0ID0ge1xyXG4gICAgICBpc1JlYWRPbmx5OiB0aGlzLmlzUmVhZE9ubHksXHJcbiAgICAgIGxvdjogdGhpcy5sb3YsXHJcbiAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbixcclxuICAgICAgY29udHJvbGxlcnM6IHRoaXMuY29udHJvbGxlcnMsXHJcbiAgICAgIHJlcXVlc3REZXRhaWxzOiB0aGlzLnJlcXVlc3REZXRhaWxzXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMuc2VjdGlvbi5oZWFkZXIgJiYgdGhpcy5zZWN0aW9uLmhlYWRlci5wcm9jZXNzaW5nRGF0ZSkge1xyXG4gICAgICB0aGlzLnByb2Nlc3NpbmdEYXRlID0gbW9tZW50KHRoaXMuc2VjdGlvbi5oZWFkZXIucHJvY2Vzc2luZ0RhdGUpXHJcbiAgICAgICAgLmxvY2FsZSgnZW4tVVMnKVxyXG4gICAgICAgIC5mb3JtYXQoJ0REL01NL1lZWVkgSEg6bW06c3MnKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzLmhpZ2hsaWdodEZsYWcgPSB0aGlzLmlzT3BlbjtcclxuICAgIGNvbnN0IHggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjY29sbGFwc2UnICsgdGhpcy5zZWN0aW9uSWQoKSk7XHJcbiAgICBpZiAoeC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2VjdGlvbk51bWJlciA9IHgubGVuZ3RoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5zZWN0aW9uLmlkICE9PSAncmVxdWVzdERldGFpbHMnICYmXHJcbiAgICAgICAgdGhpcy5zZWN0aW9uLmlkICE9PSAnaHJSZXF1ZXN0RGV0YWlscycgJiZcclxuICAgICAgICAhdGhpcy5zZWN0aW9uU3RhdHVzS2V5ICYmXHJcbiAgICAgICAgdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5kZWNpc2lvbiAmJlxyXG4gICAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24ua2V5XHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2VjdGlvblN0YXR1c0tleSA9IHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24ua2V5O1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLnNlY3Rpb24uaWQgIT09ICdyZXF1ZXN0RGV0YWlscycgJiZcclxuICAgICAgICB0aGlzLnNlY3Rpb24uaWQgIT09ICdoclJlcXVlc3REZXRhaWxzJyAmJlxyXG4gICAgICAgICF0aGlzLnNlY3Rpb25TdGF0dXNWYWx1ZSAmJlxyXG4gICAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24gJiZcclxuICAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uLnZhbHVlXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2VjdGlvblN0YXR1c1ZhbHVlID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5kZWNpc2lvbi52YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSovXHJcblxyXG4gIC8qIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICB0aGlzLlNlcnZpY2VzU3ViU2NyaXB0aW9ucygpO1xyXG4gICB9Ki9cclxuXHJcbiAgZ2V0IGlzRXhwYW5kZWQoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBpc0V4cGFuZGFibGVGcm9tQmFja2VuZCA9IHRoaXMuZm9ybT8uc2VjdGlvbnM/Lmxlbmd0aCAmJiB0aGlzLmZvcm0uc2VjdGlvbnMuc29tZShzZWN0aW9uID0+ICdleHBhbmRTdGFnZScgaW4gc2VjdGlvbj8uYm9keT8uZGV0YWlscyk7XHJcbiAgICBpZiAoIWlzRXhwYW5kYWJsZUZyb21CYWNrZW5kKSByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLnNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LmV4cGFuZFN0YWdlID09PSAndHJ1ZSc7XHJcbiAgfVxyXG5cclxuICAvKiBwdWJsaWMgU2VydmljZXNTdWJTY3JpcHRpb25zKCkge1xyXG4gICAgIC8hKiAgdGhpcy5wcm9maWxlUmVxdWVzdG9yU2VydmljZS5nZXRGb3JtKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgIHRoaXMuZm9ybSA9IGRhdGE7XHJcbiAgICAgICB9KTsqIS9cclxuICAgfSovXHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgIHRoaXMuaW5wdXQgPSB7XHJcbiAgICAgIGlzUmVhZE9ubHk6IHRoaXMuaXNSZWFkT25seSxcclxuICAgICAgbG92OiB0aGlzLmxvdixcclxuICAgICAgc2VjdGlvbjogdGhpcy5zZWN0aW9uLFxyXG4gICAgICBjb250cm9sbGVyczogdGhpcy5jb250cm9sbGVycyxcclxuICAgICAgc2VjdGlvbklkOiB0aGlzLnNlY3Rpb25cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzZWN0aW9uSWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9uLmlkLnNwbGl0KCcgJykuam9pbignJykgKyB0aGlzLnJhbmRvbUlEO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVVc2VyUHJvZmlsZUZyb21SZXNwb25zZShyZXNwb25zZTogYW55KTogUHJvZmlsZUluZm9Ecm9wIHtcclxuICAgIHJldHVybiBuZXcgUHJvZmlsZUluZm9Ecm9wKFxyXG4gICAgICBmYWxzZSxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5lbXBsb3llZU51bWJlcixcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5lbWFpbCxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5uYW1lLFxyXG4gICAgICByZXNwb25zZT8uW1wiVXNlcnNcIl1bMF0/LmdlbmVyYWxEZXBhcnRtZW50Py5uYW1lLFxyXG4gICAgICByZXNwb25zZT8uW1wiVXNlcnNcIl1bMF0/LnBvc2l0aW9uPy5uYW1lLFxyXG4gICAgICByZXNwb25zZT8uW1wiVXNlcnNcIl1bMF0/LnNlY3Rvcj8ubmFtZSxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5kZXBhcnRtZW50Py5uYW1lLFxyXG4gICAgICByZXNwb25zZT8uW1wiVXNlcnNcIl1bMF0/LmdlbmVyYWxEZXBhcnRtZW50Py5jb2RlLFxyXG4gICAgICByZXNwb25zZT8uW1wiVXNlcnNcIl1bMF0/LmxvY2F0aW9uLFxyXG4gICAgICByZXNwb25zZT8uW1wiVXNlcnNcIl1bMF0/Lm5hdGlvbmFsaXR5Py5kZXNjLFxyXG4gICAgICByZXNwb25zZT8uW1wiVXNlcnNcIl1bMF0/LmNvbnRhY3Q/Lm1vYmlsZSxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5tYW5hZ2VyPy5uYW1lLFxyXG4gICAgICByZXNwb25zZT8uW1wiVXNlcnNcIl1bMF0/LnNlbmlvclNlY3Rvck5hbWU/Lm5hbWVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9wZW5PckNyZWF0ZVVzZXJQcm9maWxlKHVzZXJEYXRhOiBQcm9maWxlSW5mb0Ryb3AsIHBlcnNvblR5cGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5kYXRhID0gdXNlckRhdGE7XHJcbiAgICB0aGlzLnVzZXJQb3BvdmVySW5mbyA9IHVzZXJEYXRhO1xyXG4gICAgdGhpc1twZXJzb25UeXBlXS5wcm9maWxlID0gdXNlckRhdGE7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ29wZW4nLCBQcm9maWxlU2VjdGlvbkNvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVTbWFsbFByb2ZpbGVJbmZvKGV2ZW50LCBwZXJzb25UeXBlKSB7XHJcbiAgICB0aGlzLnVzZXJUeXBlID0gcGVyc29uVHlwZTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgbGV0IHVzZXJJbmZvID0gdGhpc1twZXJzb25UeXBlXTtcclxuICAgIGlmICh1c2VySW5mby5wcm9maWxlID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlclR5cGUgPSBwZXJzb25UeXBlO1xyXG4gICAgICBsZXQgdXNlckVtYWlsID0gKHBlcnNvblR5cGUgPT09ICdyZWNpcGllbnQnID8gdGhpcy5zZWN0aW9uLmhlYWRlci5wZXJzb25Ub1RodW1ibmFpbC5zcGxpdCgnPScpWzFdIDogdGhpcz8uc2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUb1RodW1ibmFpbC5zcGxpdCgnPScpWzFdKTtcclxuICAgICAgdGhpcy5jb3JlU2VydmljZS5lbXBsb3llZVByb2ZpbGUodXNlckVtYWlsKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgICAgIGxldCB1c2VyRGF0YSA9IHRoaXMuY3JlYXRlVXNlclByb2ZpbGVGcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICAgICAgdGhpcy5vcGVuT3JDcmVhdGVVc2VyUHJvZmlsZSh1c2VyRGF0YSwgcGVyc29uVHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub3Blbk9yQ3JlYXRlVXNlclByb2ZpbGUodGhpc1twZXJzb25UeXBlXS5wcm9maWxlLCBwZXJzb25UeXBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXR1c0NsYXNzKHN0YXR1czogc3RyaW5nKSB7XHJcbiAgICBpZiAoc3RhdHVzKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19SRUpFQ1RFRCB8fCBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19DQU5DRUxMRURcclxuICAgICAgICB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3JlamVjdCcgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICd1bnNhdGlzZmllZCcgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWwnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiAnZGFuZ2VyJztcclxuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19QRU5ESU5HIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncGVuZGluZycpIHtcclxuICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0dXNJY29uKHN0YXR1czogc3RyaW5nKSB7XHJcbiAgICBpZiAoc3RhdHVzKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19SRUpFQ1RFRCB8fCBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19DQU5DRUxMRURcclxuICAgICAgICB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3JlamVjdCcgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICd1bnNhdGlzZmllZCcgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWwnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiAnY2xvc2UnO1xyXG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1BFTkRJTkcgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdwZW5kaW5nJykge1xyXG4gICAgICAgIHJldHVybiAnY2xvY2snO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnY2hlY2snO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2NoZWNrJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG1hdC1leHBhbnNpb24tcGFuZWxcclxuICBjbGFzcz1cIm1iLTRcIiBbZXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiICpuZ0lmPVwiZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gIT09ICdORVcnIFwiIGhpZGVUb2dnbGVcclxuICAjYXBwcm92YWxQYW5lbD1cIm1hdEV4cGFuc2lvblBhbmVsXCI+XHJcbiAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC1wYW5lbC1jb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBmbGV4LWdyb3ctMSBhcHByb3ZhbC1wYW5lbC10aXRsZVwiPlxyXG4gICAgICAgIDxkcy1zdGF0dXNcclxuICAgICAgICAgIHN0YXR1cz1cInt7c3RhdHVzQ2xhc3Moc2VjdGlvblN0YXR1c0tleSl9fVwiIG5vLW9wYWNpdHkgaWNvblxyXG4gICAgICAgICAgY2xhc3M9XCJjaXJjbGUtc3RhdHVzIGQtbm9uZSBkLXNtLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgPGRzLWljb24gaWNvbj1cInt7c3RhdHVzSWNvbihzZWN0aW9uU3RhdHVzS2V5KX19XCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDwvZHMtc3RhdHVzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTYgZnctbWVkaXVtIG0tMFwiPiB7eyBzZWN0aW9uTmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxiZGkgY2xhc3M9XCJmcy0xMiBmYy1kYXJrLWdyYXkgZnctbm9ybWFsIGxpbmUtaGVpZ2h0LTEgZC1ibG9jayBtdC0xXCIgKm5nSWY9XCJzZWN0aW9uLmhlYWRlcj8ucHJvY2Vzc2VkQnlcIj5cclxuICAgICAgICAgICAge3sgcHJvY2Vzc2luZ0RhdGUgfX1cclxuICAgICAgICAgIDwvYmRpPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXBhbmVsLWRldGFpbHMgZ2FwLTFcIj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIighc2VjdGlvbj8uYm9keT8uZGV0YWlscz8uWydzdGFnZTAnXT8uWydpc1N0YWdlMCddIHx8IHNlY3Rpb24/LmJvZHk/LmRldGFpbHM/Llsnc3RhZ2UwJ10/LlsnaXNTdGFnZTAnXSA9PT0gJ2ZhbHNlJylcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCIgKm5nSWY9XCJzZWN0aW9uPy5oZWFkZXI/LnBlcnNvblRvO1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU21hbGxQcm9maWxlSW5mbygkZXZlbnQsICdyZWNpcGllbnQnKVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHJhZGl1cy0zIGgtNDBcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndXNlci1hdmF0YXItbmFtZSBweC0wIHB4LW1kLTInOiAhc2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUbywgJ3AtMCc6IHNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG99XCI+XHJcbiAgICAgICAgICAgICAgPGRzLWF2YXRhciBpbWFnZT1cInt7c2VjdGlvbj8uaGVhZGVyPy5wZXJzb25Ub1RodW1ibmFpbH19XCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJ1c2VyLWF2YXRhclwiPjwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZzLTE0IGZ3LW1lZGl1bSBkLWlubGluZS1ibG9jayBwYW5lbC11c2VyLW5hbWUgdGV4dC10cnVuY2F0ZVwiIFtuZ0NsYXNzXT1cInsncGFuZWwtdXNlci1vbmx5JzogIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG99XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9cIj57eyBzZWN0aW9uPy5oZWFkZXI/LnBlcnNvblRvIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAqbmdJZj1cInNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9cIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTbWFsbFByb2ZpbGVJbmZvKCRldmVudCwgJ2RlbGVnYXRlJylcIj5cclxuICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJvdGF0ZS1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TVNJZ2FHVnBaMmgwUFNJeE15SWdkbWxsZDBKdmVEMGlNQ0F3SURJeElERXpJajQ4Y0dGMGFDQmtQU0pOTWpFc055NDNOak5oTVM0Mk1qRXNNUzQyTWpFc01Dd3dMREV0TGpRME55NDFPVE1zTVM0ek1EWXNNUzR6TURZc01Dd3dMREV0TGpjMUxqRTVOR010Tnk0eU9EUXNNQzA0TGpVMk9Dd3dMVEUxTGpnMU15d3dTRE11TmpZNVRETXVOak1zT0M0Mll5NHdOemN1TURZMExqRTFPQzR4TWpRdU1qSTVMakU1TkhFeExqY3hMREV1Tmprc015NDBNaXd6TGpNNE1XRXhMakF5TXl3eExqQXlNeXd3TERBc01Td3VNamt4TERFdU1EYzVMams1TWk0NU9USXNNQ3d3TERFdExqZ3VOekU1TERFdU1EVXpMREV1TURVekxEQXNNQ3d4TFRFdExqTXpNVkV6TGpnek1Td3hNUzQzTVRrc01TNDRPRFlzT1M0NFl5MHVORFF5TFM0ME16Y3RMamczT1MwdU9EZ3hMVEV1TXpNdE1TNHpNRGxCTkM0MU56SXNOQzQxTnpJc01Dd3dMREVzTUN3M0xqZ3hORlkzTGpFNE5VRXpNQzQzT0RNc016QXVOemd6TERBc01Dd3hMREl1TnpNc05DNHpOekZqTVMweExqQXlOeXd5TGpBek9DMHlMakF5TlN3ekxqQTJNeTB6TGpBek1rRXhMakEwT1N3eExqQTBPU3d3TERFc01TdzNMakkzTnl3eUxqZ3lRell1TkN3ekxqY3NOUzQxTURrc05DNDFOeXcwTGpZeU5TdzFMalEwTm1NdExqTXlNeTR6TWpFdExqWTBOQzQyTkRVdExqazNNeTQ1TnpZdU1EZzBMakExT1M0eE9ERXVNREkzTGpJM0xqQXlOeXczTGpJMU9Dd3dMRGd1TlRFMkxEQXNNVFV1TnpjMUxEQkJNUzR4TWprc01TNHhNamtzTUN3d0xERXNNakVzTnk0eU9YWXVORGN5V2lJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9NQ0F0TUM0NU9Ua3BJaUJtYVd4c1BTSWpZVFUwWldVeElpOCtQQzl6ZG1jK1wiLz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBweC0wIHB4LW1kLTIgcmFkaXVzLTMgdXNlci1hdmF0YXItbmFtZSBoLTQwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZHMtYXZhdGFyIGltYWdlPVwie3tzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvVGh1bWJuYWlsfX1cIiBzaXplPVwic21hbGxcIiBjbGFzcz1cInVzZXItYXZhdGFyXCI+PC9kcy1hdmF0YXI+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZzLTE0IGZ3LW1lZGl1bSBkLWlubGluZS1ibG9jayBwYW5lbC11c2VyLW5hbWUgdGV4dC10cnVuY2F0ZVwiPnt7IHNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG8gfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkcy1zdGF0dXNcclxuICAgICAgICAgIGNsYXNzPVwibWFpbi1zdGF0dXNcIiAqbmdJZj1cInNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LlsnZGVjaXNpb24nXT8ua2V5O1wiXHJcbiAgICAgICAgICBzdGF0dXM9XCJ7e3N0YXR1c0NsYXNzKHNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LlsnZGVjaXNpb24nXT8ua2V5KX19XCI+e3sgc2VjdGlvbj8uYm9keT8uZGV0YWlscz8uWydkZWNpc2lvbiddPy52YWx1ZSB9fVxyXG4gICAgICAgIDwvZHMtc3RhdHVzPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC1wYW5lbC10b2dnbGVcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwicGx1cy0xXCIgY2xhc3M9XCJmcy0yMCBmYy1jb3JhbFwiICpuZ0lmPVwiIWFwcHJvdmFsUGFuZWwuZXhwYW5kZWRcIj48L2RzLWljb24+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cIm1pbnVzXCIgY2xhc3M9XCJmcy0yMCBmYy1kYXJrLWdyYXlcIiAqbmdJZj1cImFwcHJvdmFsUGFuZWwuZXhwYW5kZWRcIj48L2RzLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJib3JkZXItdG9wIHB0LTRcIj5cclxuICAgIDxuZy1jb250YWluZXIgICpuZ0NvbXBvbmVudE91dGxldD1cInNlY3Rpb25Gb3JtQ29tcG9uZW50OyBuZGNEeW5hbWljSW5wdXRzOiBpbnB1dFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvc2VjdGlvbj5cclxuXHJcbjwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09ICdORVcnIFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic2VjdGlvbkZvcm1Db21wb25lbnQ7IG5kY0R5bmFtaWNJbnB1dHM6IGlucHV0XCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2Zvcm0tc2VjdGlvbi9mb3JtLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTNILE9BQU8sRUFBQywwQkFBMEIsRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBTyxlQUFlLEVBQVUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFBO0FBQ2hDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDOzs7OztBQW1CckYsTUFBTSxPQUFPLG9CQUFvQjtJQW9DdEI7SUFDVTtJQUNBO0lBcENuQixRQUFRLEdBQUcsV0FBVyxDQUFDO0lBQ3ZCLHVDQUF1QztJQUN2QyxXQUFXLEdBQUcsV0FBVyxD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QU94QixjQUFjO3NCQUF0QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIENvcmVTZXJ2aWNlLCBTaWRlbmF2U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQge0NvbXBvbmVudE91dGxldElvRGlyZWN0aXZlLCBEeW5hbWljTW9kdWxlfSBmcm9tICduZy1keW5hbWljLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7TmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXQsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7TWF0RXhwYW5zaW9uTW9kdWxlLCBNYXRFeHBhbnNpb25QYW5lbH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHtTYXRQb3BvdmVyTW9kdWxlfSBmcm9tICdAbmNzdGF0ZS9zYXQtcG9wb3Zlcic7XHJcbmltcG9ydCB7Rm9ybSwgUHJvZmlsZUluZm9Ecm9wLCBTZWN0aW9ufSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnXHJcbmltcG9ydCB7UHJvZmlsZVNlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi9wcm9maWxlLXNlY3Rpb24vcHJvZmlsZS1zZWN0aW9uLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybS1zZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsLFxyXG4gICAgTmdJZixcclxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxyXG4gICAgQ29tcG9uZW50T3V0bGV0SW9EaXJlY3RpdmUsXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIER5bmFtaWNNb2R1bGVcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVNlY3Rpb25Db21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdXNlclR5cGUgPSAncmVjaXBpZW50JztcclxuICAvLyBAVmlld0NoaWxkKCdwb3BvdmVyJykgcG9wb3Zlcj86IGFueTtcclxuICBwb3BvdmVyVHlwZSA9ICdyZWNpcGllbnQnO1xyXG4gIEBJbnB1dCgpIHJlcXVlc3REZXRhaWxzOiBTZWN0aW9uO1xyXG4gIHVzZXJQb3BvdmVySW5mbzogYW55ID0ge307XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG4gIEBJbnB1dCgpIGxvdjogYW55O1xyXG4gIEBJbnB1dCgpIGlzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgLy8gQElucHV0KCkgaXNPcGVuOiBib29sZWFuO1xyXG4gIC8vIEBJbnB1dCgpIGlzRmluYWxBcHByb3ZhbDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb250cm9sbGVyczogYW55O1xyXG4gIEBJbnB1dCgpIHNlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZTogYW55O1xyXG4gIEBJbnB1dCgpIHNlY3Rpb25Gb3JtQ29tcG9uZW50OiBhbnkgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHNlY3Rpb25OYW1lID0gJ1NFQ1RJT05fTkFNRS5yZXF1ZXN0RGV0YWlscyc7XHJcbiAgc2VjdGlvbk51bWJlcjogbnVtYmVyO1xyXG4gIHNlY3Rpb25TdGF0dXNWYWx1ZTogc3RyaW5nO1xyXG4gIHNlY3Rpb25TdGF0dXNLZXk6IHN0cmluZztcclxuICByZWNpcGllbnQgPSB7XHJcbiAgICBpc1Nob3dpbmc6IGZhbHNlLFxyXG4gICAgcHJvZmlsZTogbnVsbFxyXG4gIH07XHJcbiAgZGVsZWdhdGUgPSB7XHJcbiAgICBpc1Nob3dpbmc6IGZhbHNlLFxyXG4gICAgcHJvZmlsZTogbnVsbFxyXG4gIH07XHJcbiAgcHVibGljIGlucHV0O1xyXG4gIC8vIGhpZ2hsaWdodEZsYWc6IGJvb2xlYW47XHJcblxyXG4gIHByb2Nlc3NpbmdEYXRlOiBzdHJpbmc7XHJcbiAgcHVibGljIHJhbmRvbUlEOiBudW1iZXIgPVxyXG4gICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDk5OTk5OSAtIDEwMDAwMCkpICsgMTAwMDAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcmVTZXJ2aWNlOiBDb3JlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICAvLyB0aGlzLmhpZ2hsaWdodEZsYWcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZWN0aW9uRm9ybUNvbXBvbmVudCA9IHRoaXMuc2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlLmdldENvbXBvbmVudChcclxuICAgICAgdGhpcy5zZWN0aW9uLmlkXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuc3RhZ2VOYW1lKSB7XHJcbiAgICAgIHRoaXMuc2VjdGlvbk5hbWUgPSB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLnN0YWdlTmFtZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VjdGlvbk5hbWUgPSB0aGlzLnNlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZS5nZXRTZWN0aW9uTmFtZSh0aGlzLnNlY3Rpb24uaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5wdXQgPSB7XHJcbiAgICAgIGlzUmVhZE9ubHk6IHRoaXMuaXNSZWFkT25seSxcclxuICAgICAgbG92OiB0aGlzLmxvdixcclxuICAgICAgc2VjdGlvbjogdGhpcy5zZWN0aW9uLFxyXG4gICAgICAvLyBjb250cm9sbGVyczogdGhpcy5jb250cm9sbGVycyxcclxuICAgICAgLy8gcmVxdWVzdERldGFpbHM6IHRoaXMucmVxdWVzdERldGFpbHMsXHJcbiAgICAgIGZvcm06dGhpcy5mb3JtXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMuc2VjdGlvbi5oZWFkZXIgJiYgdGhpcy5zZWN0aW9uLmhlYWRlci5wcm9jZXNzaW5nRGF0ZSkge1xyXG4gICAgICB0aGlzLnByb2Nlc3NpbmdEYXRlID0gbW9tZW50KHRoaXMuc2VjdGlvbi5oZWFkZXIucHJvY2Vzc2luZ0RhdGUpXHJcbiAgICAgICAgLmxvY2FsZSgnZW4tVVMnKVxyXG4gICAgICAgIC5mb3JtYXQoJ0REL01NL1lZWVkgSEg6bW06c3MnKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzLmhpZ2hsaWdodEZsYWcgPSB0aGlzLmlzT3BlbjtcclxuICAgIGNvbnN0IHggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjY29sbGFwc2UnICsgdGhpcy5zZWN0aW9uSWQoKSk7XHJcbiAgICBpZiAoeC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2VjdGlvbk51bWJlciA9IHgubGVuZ3RoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGdldCBpc0V4cGFuZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaXNFeHBhbmRhYmxlRnJvbUJhY2tlbmQgPSB0aGlzLmZvcm0/LnNlY3Rpb25zPy5sZW5ndGggJiYgdGhpcy5mb3JtLnNlY3Rpb25zLnNvbWUoc2VjdGlvbiA9PiAnZXhwYW5kU3RhZ2UnIGluIHNlY3Rpb24/LmJvZHk/LmRldGFpbHMpO1xyXG4gICAgaWYgKCFpc0V4cGFuZGFibGVGcm9tQmFja2VuZCkgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5leHBhbmRTdGFnZSA9PT0gJ3RydWUnO1xyXG4gIH1cclxuXHJcbiAgc2VjdGlvbklkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5pZC5zcGxpdCgnICcpLmpvaW4oJycpICsgdGhpcy5yYW5kb21JRDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVXNlclByb2ZpbGVGcm9tUmVzcG9uc2UocmVzcG9uc2U6IGFueSk6IFByb2ZpbGVJbmZvRHJvcCB7XHJcbiAgICByZXR1cm4gbmV3IFByb2ZpbGVJbmZvRHJvcChcclxuICAgICAgZmFsc2UsXHJcbiAgICAgIHJlc3BvbnNlPy5bXCJVc2Vyc1wiXVswXT8uZW1wbG95ZWVOdW1iZXIsXHJcbiAgICAgIHJlc3BvbnNlPy5bXCJVc2Vyc1wiXVswXT8uZW1haWwsXHJcbiAgICAgIHJlc3BvbnNlPy5bXCJVc2Vyc1wiXVswXT8ubmFtZSxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5nZW5lcmFsRGVwYXJ0bWVudD8ubmFtZSxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5wb3NpdGlvbj8ubmFtZSxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5zZWN0b3I/Lm5hbWUsXHJcbiAgICAgIHJlc3BvbnNlPy5bXCJVc2Vyc1wiXVswXT8uZGVwYXJ0bWVudD8ubmFtZSxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5nZW5lcmFsRGVwYXJ0bWVudD8uY29kZSxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5sb2NhdGlvbixcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5uYXRpb25hbGl0eT8uZGVzYyxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5jb250YWN0Py5tb2JpbGUsXHJcbiAgICAgIHJlc3BvbnNlPy5bXCJVc2Vyc1wiXVswXT8ubWFuYWdlcj8ubmFtZSxcclxuICAgICAgcmVzcG9uc2U/LltcIlVzZXJzXCJdWzBdPy5zZW5pb3JTZWN0b3JOYW1lPy5uYW1lXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvcGVuT3JDcmVhdGVVc2VyUHJvZmlsZSh1c2VyRGF0YTogUHJvZmlsZUluZm9Ecm9wLCBwZXJzb25UeXBlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UuZGF0YSA9IHVzZXJEYXRhO1xyXG4gICAgdGhpcy51c2VyUG9wb3ZlckluZm8gPSB1c2VyRGF0YTtcclxuICAgIHRoaXNbcGVyc29uVHlwZV0ucHJvZmlsZSA9IHVzZXJEYXRhO1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5wdWJsaXNoKCdvcGVuJywgUHJvZmlsZVNlY3Rpb25Db21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlU21hbGxQcm9maWxlSW5mbyhldmVudCwgcGVyc29uVHlwZSkge1xyXG4gICAgdGhpcy51c2VyVHlwZSA9IHBlcnNvblR5cGU7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGxldCB1c2VySW5mbyA9IHRoaXNbcGVyc29uVHlwZV07XHJcbiAgICBpZiAodXNlckluZm8ucHJvZmlsZSA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnBvcG92ZXJUeXBlID0gcGVyc29uVHlwZTtcclxuICAgICAgbGV0IHVzZXJFbWFpbCA9IChwZXJzb25UeXBlID09PSAncmVjaXBpZW50JyA/IHRoaXMuc2VjdGlvbi5oZWFkZXIucGVyc29uVG9UaHVtYm5haWwuc3BsaXQoJz0nKVsxXSA6IHRoaXM/LnNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9UaHVtYm5haWwuc3BsaXQoJz0nKVsxXSk7XHJcbiAgICAgIHRoaXMuY29yZVNlcnZpY2UuZW1wbG95ZWVQcm9maWxlKHVzZXJFbWFpbCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBsZXQgdXNlckRhdGEgPSB0aGlzLmNyZWF0ZVVzZXJQcm9maWxlRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgICAgIHRoaXMub3Blbk9yQ3JlYXRlVXNlclByb2ZpbGUodXNlckRhdGEsIHBlcnNvblR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wZW5PckNyZWF0ZVVzZXJQcm9maWxlKHRoaXNbcGVyc29uVHlwZV0ucHJvZmlsZSwgcGVyc29uVHlwZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0dXNDbGFzcyhzdGF0dXM6IHN0cmluZykge1xyXG4gICAgaWYgKHN0YXR1cykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNURUQgfHwgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAndW5zYXRpc2ZpZWQnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Rhbmdlcic7XHJcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3BlbmRpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdHVzSWNvbihzdGF0dXM6IHN0cmluZykge1xyXG4gICAgaWYgKHN0YXR1cykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNURUQgfHwgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAndW5zYXRpc2ZpZWQnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Nsb3NlJztcclxuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19QRU5ESU5HIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncGVuZGluZycpIHtcclxuICAgICAgICByZXR1cm4gJ2Nsb2NrJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ2NoZWNrJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdjaGVjayc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZXhwYW5zaW9uLXBhbmVsXHJcbiAgY2xhc3M9XCJtYi00XCIgW2V4cGFuZGVkXT1cImlzRXhwYW5kZWRcIiAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddICE9PSAnTkVXJyBcIiBoaWRlVG9nZ2xlXHJcbiAgI2FwcHJvdmFsUGFuZWw9XCJtYXRFeHBhbnNpb25QYW5lbFwiPlxyXG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWwtcGFuZWwtY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTIgZmxleC1ncm93LTEgYXBwcm92YWwtcGFuZWwtdGl0bGVcIj5cclxuICAgICAgICA8ZHMtc3RhdHVzXHJcbiAgICAgICAgICBzdGF0dXM9XCJ7e3N0YXR1c0NsYXNzKHNlY3Rpb25TdGF0dXNLZXkpfX1cIiBuby1vcGFjaXR5IGljb25cclxuICAgICAgICAgIGNsYXNzPVwiY2lyY2xlLXN0YXR1cyBkLW5vbmUgZC1zbS1pbmxpbmUtYmxvY2tcIj5cclxuICAgICAgICAgIDxkcy1pY29uIGljb249XCJ7e3N0YXR1c0ljb24oc2VjdGlvblN0YXR1c0tleSl9fVwiPjwvZHMtaWNvbj5cclxuICAgICAgICA8L2RzLXN0YXR1cz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTE2IGZ3LW1lZGl1bSBtLTBcIj4ge3sgc2VjdGlvbk5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8YmRpIGNsYXNzPVwiZnMtMTIgZmMtZGFyay1ncmF5IGZ3LW5vcm1hbCBsaW5lLWhlaWdodC0xIGQtYmxvY2sgbXQtMVwiICpuZ0lmPVwic2VjdGlvbi5oZWFkZXI/LnByb2Nlc3NlZEJ5XCI+XHJcbiAgICAgICAgICAgIHt7IHByb2Nlc3NpbmdEYXRlIH19XHJcbiAgICAgICAgICA8L2JkaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC1wYW5lbC1kZXRhaWxzIGdhcC0xXCI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoIXNlY3Rpb24/LmJvZHk/LmRldGFpbHM/Llsnc3RhZ2UwJ10/LlsnaXNTdGFnZTAnXSB8fCBzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5bJ3N0YWdlMCddPy5bJ2lzU3RhZ2UwJ10gPT09ICdmYWxzZScpXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiICpuZ0lmPVwic2VjdGlvbj8uaGVhZGVyPy5wZXJzb25UbztcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNtYWxsUHJvZmlsZUluZm8oJGV2ZW50LCAncmVjaXBpZW50JylcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiByYWRpdXMtMyBoLTQwXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3VzZXItYXZhdGFyLW5hbWUgcHgtMCBweC1tZC0yJzogIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG8sICdwLTAnOiBzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvfVwiPlxyXG4gICAgICAgICAgICAgIDxkcy1hdmF0YXIgaW1hZ2U9XCJ7e3NlY3Rpb24/LmhlYWRlcj8ucGVyc29uVG9UaHVtYm5haWx9fVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwidXNlci1hdmF0YXJcIj48L2RzLWF2YXRhcj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gZC1pbmxpbmUtYmxvY2sgcGFuZWwtdXNlci1uYW1lIHRleHQtdHJ1bmNhdGVcIiBbbmdDbGFzc109XCJ7J3BhbmVsLXVzZXItb25seSc6ICFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvfVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvXCI+e3sgc2VjdGlvbj8uaGVhZGVyPy5wZXJzb25UbyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU21hbGxQcm9maWxlSW5mbygkZXZlbnQsICdkZWxlZ2F0ZScpXCI+XHJcbiAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyb3RhdGUtYXJyb3dcIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgIHNyYz1cImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU1TSWdhR1ZwWjJoMFBTSXhNeUlnZG1sbGQwSnZlRDBpTUNBd0lESXhJREV6SWo0OGNHRjBhQ0JrUFNKTk1qRXNOeTQzTmpOaE1TNDJNakVzTVM0Mk1qRXNNQ3d3TERFdExqUTBOeTQxT1RNc01TNHpNRFlzTVM0ek1EWXNNQ3d3TERFdExqYzFMakU1TkdNdE55NHlPRFFzTUMwNExqVTJPQ3d3TFRFMUxqZzFNeXd3U0RNdU5qWTVURE11TmpNc09DNDJZeTR3TnpjdU1EWTBMakUxT0M0eE1qUXVNakk1TGpFNU5IRXhMamN4TERFdU5qa3NNeTQwTWl3ekxqTTRNV0V4TGpBeU15d3hMakF5TXl3d0xEQXNNU3d1TWpreExERXVNRGM1TGprNU1pNDVPVElzTUN3d0xERXRMamd1TnpFNUxERXVNRFV6TERFdU1EVXpMREFzTUN3eExURXRMak16TVZFekxqZ3pNU3d4TVM0M01Ua3NNUzQ0T0RZc09TNDRZeTB1TkRReUxTNDBNemN0TGpnM09TMHVPRGd4TFRFdU16TXRNUzR6TURsQk5DNDFOeklzTkM0MU56SXNNQ3d3TERFc01DdzNMamd4TkZZM0xqRTROVUV6TUM0M09ETXNNekF1TnpnekxEQXNNQ3d4TERJdU56TXNOQzR6TnpGak1TMHhMakF5Tnl3eUxqQXpPQzB5TGpBeU5Td3pMakEyTXkwekxqQXpNa0V4TGpBME9Td3hMakEwT1N3d0xERXNNU3czTGpJM055d3lMamd5UXpZdU5Dd3pMamNzTlM0MU1Ea3NOQzQxTnl3MExqWXlOU3cxTGpRME5tTXRMak15TXk0ek1qRXRMalkwTkM0Mk5EVXRMamszTXk0NU56WXVNRGcwTGpBMU9TNHhPREV1TURJM0xqSTNMakF5Tnl3M0xqSTFPQ3d3TERndU5URTJMREFzTVRVdU56YzFMREJCTVM0eE1qa3NNUzR4TWprc01Dd3dMREVzTWpFc055NHlPWFl1TkRjeVdpSWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTUNBdE1DNDVPVGtwSWlCbWFXeHNQU0lqWVRVMFpXVXhJaTgrUEM5emRtYytcIi8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcHgtMCBweC1tZC0yIHJhZGl1cy0zIHVzZXItYXZhdGFyLW5hbWUgaC00MFwiPlxyXG4gICAgICAgICAgICAgICAgPGRzLWF2YXRhciBpbWFnZT1cInt7c2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUb1RodW1ibmFpbH19XCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJ1c2VyLWF2YXRhclwiPjwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gZC1pbmxpbmUtYmxvY2sgcGFuZWwtdXNlci1uYW1lIHRleHQtdHJ1bmNhdGVcIj57eyBzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZHMtc3RhdHVzXHJcbiAgICAgICAgICBjbGFzcz1cIm1haW4tc3RhdHVzXCIgKm5nSWY9XCJzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5bJ2RlY2lzaW9uJ10/LmtleTtcIlxyXG4gICAgICAgICAgc3RhdHVzPVwie3tzdGF0dXNDbGFzcyhzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5bJ2RlY2lzaW9uJ10/LmtleSl9fVwiPnt7IHNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LlsnZGVjaXNpb24nXT8udmFsdWUgfX1cclxuICAgICAgICA8L2RzLXN0YXR1cz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWwtcGFuZWwtdG9nZ2xlXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cInBsdXMtMVwiIGNsYXNzPVwiZnMtMjAgZmMtY29yYWxcIiAqbmdJZj1cIiFhcHByb3ZhbFBhbmVsLmV4cGFuZGVkXCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJtaW51c1wiIGNsYXNzPVwiZnMtMjAgZmMtZGFyay1ncmF5XCIgKm5nSWY9XCJhcHByb3ZhbFBhbmVsLmV4cGFuZGVkXCI+PC9kcy1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gIDxzZWN0aW9uIGNsYXNzPVwiYm9yZGVyLXRvcCBwdC00XCI+XHJcbiAgICA8bmctY29udGFpbmVyICAqbmdDb21wb25lbnRPdXRsZXQ9XCJzZWN0aW9uRm9ybUNvbXBvbmVudDsgbmRjRHluYW1pY0lucHV0czogaW5wdXRcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L3NlY3Rpb24+XHJcblxyXG48L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSA9PSAnTkVXJyBcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInNlY3Rpb25Gb3JtQ29tcG9uZW50OyBuZGNEeW5hbWljSW5wdXRzOiBpbnB1dFwiPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19