@sebgroup/green-angular 4.4.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <div align="center">
2
- <img width="600" alt="green-angular" src="https://github.com/sebgroup/green/assets/11420341/c776109a-c980-4c33-92dd-109f1ff31ba2">
2
+ <img width="600" alt="green-angular" src="https://github.com/seb-oss/green/assets/11420341/c776109a-c980-4c33-92dd-109f1ff31ba2">
3
3
  <h1>@sebgroup/green-angular</h1>
4
4
  <p>
5
5
  Angular components with SEB's look and feel.
@@ -65,4 +65,4 @@ Once configured to use scss, it's just a matter of including the scss to your ma
65
65
 
66
66
  ### Have other needs?
67
67
 
68
- More examples and use cases coming soon! In the meantime create an [issue over at github](https://github.com/sebgroup/green/issues)
68
+ More examples and use cases coming soon! In the meantime create an [issue over at github](https://github.com/seb-oss/green/issues)
@@ -5,6 +5,9 @@ export class NggInPageWizardStepCardComponent {
5
5
  constructor() {
6
6
  this.handleNextClick = new EventEmitter();
7
7
  this.handleEditClick = new EventEmitter();
8
+ this.stepIsValid = () => {
9
+ return true;
10
+ };
8
11
  this.stepText = '';
9
12
  this.title = '';
10
13
  this.editBtnText = '';
@@ -20,12 +23,14 @@ export class NggInPageWizardStepCardComponent {
20
23
  this.handleEditClick.emit(event);
21
24
  }
22
25
  handleOnNextBtnClick(event) {
23
- this.isActive = false;
24
- this.isCompleted = true;
26
+ if (this.stepIsValid()) {
27
+ this.isActive = false;
28
+ this.isCompleted = true;
29
+ }
25
30
  this.handleNextClick.emit(event);
26
31
  }
27
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggInPageWizardStepCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggInPageWizardStepCardComponent, selector: "ngg-in-page-wizard-step-card", inputs: { stepText: "stepText", title: "title", editBtnText: "editBtnText", nextBtnText: "nextBtnText", showNextBtnIcon: "showNextBtnIcon", isCompleted: "isCompleted", disableNext: "disableNext", isActive: "isActive" }, outputs: { handleNextClick: "handleNextClick", handleEditClick: "handleEditClick" }, ngImport: i0, template: "<section\n class=\"gds-in-page-wizard-step-card card\"\n data-testid=\"in-page-wizard-step-card-root\"\n [class.active]=\"!!isActive\"\n [class.completed]=\"!!isCompleted\"\n>\n <header class=\"gds-in-page-wizard-step-card__header\">\n <div class=\"gds-in-page-wizard-step-card__header__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) -->\n <path\n d=\"M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z\"\n />\n </svg>\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__progress\"\n data-testid=\"in-page-wizard-step-card-step-text\"\n >\n {{ stepText }}\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__title\"\n data-testid=\"in-page-wizard-step-card-title\"\n >\n <h2 class=\"h4\">{{ title }}</h2>\n </div>\n\n <div\n class=\"gds-in-page-wizard-step-card__header__edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary small\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-edit-btn\"\n >\n <ng-template *ngTemplateOutlet=\"editIcon\"> </ng-template>\n {{ editBtnText }}\n </button>\n </div>\n </header>\n\n <div\n class=\"gds-in-page-wizard-step-card__content\"\n *ngIf=\"!!isActive || !!isCompleted\"\n data-testid=\"in-page-wizard-step-card-content\"\n >\n <ng-content></ng-content>\n </div>\n <footer\n class=\"gds-in-page-wizard-step-card__footer gds-in-page-wizard-step-card__footer--edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-footer-edit-btn\"\n >\n <ng-template *ngTemplateOutlet=\"editIcon\"> </ng-template>\n {{ editBtnText }}\n </button>\n </footer>\n\n <footer\n class=\"gds-in-page-wizard-step-card__footer gds-in-page-wizard-step-card__footer--next\"\n *ngIf=\"isActive\"\n >\n <button\n class=\"primary\"\n [disabled]=\"disableNext\"\n (click)=\"handleOnNextBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-next-btn\"\n >\n {{ nextBtnText }}\n <ng-container *ngIf=\"showNextBtnIcon\">\n <ng-template *ngTemplateOutlet=\"nextIcon\"> </ng-template>\n </ng-container>\n </button>\n </footer>\n</section>\n\n<ng-template #editIcon>\n <svg\n viewBox=\"0 0 576 512\"\n class=\"edit-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n fill=\"var(--color)\"\n d=\"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"\n ></path>\n </svg>\n</ng-template>\n\n<ng-template #nextIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1\"\n class=\"next-icon\"\n data-testid=\"in-page-wizard-step-card-next-icon\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 5l0 14\" />\n <path d=\"M18 13l-6 6\" />\n <path d=\"M6 13l6 6\" />\n </svg>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggInPageWizardStepCardComponent, selector: "ngg-in-page-wizard-step-card", inputs: { stepIsValid: "stepIsValid", stepText: "stepText", title: "title", editBtnText: "editBtnText", nextBtnText: "nextBtnText", showNextBtnIcon: "showNextBtnIcon", isCompleted: "isCompleted", disableNext: "disableNext", isActive: "isActive" }, outputs: { handleNextClick: "handleNextClick", handleEditClick: "handleEditClick" }, ngImport: i0, template: "<section\n class=\"gds-in-page-wizard-step-card card\"\n data-testid=\"in-page-wizard-step-card-root\"\n [class.active]=\"!!isActive\"\n [class.completed]=\"!!isCompleted\"\n>\n <header class=\"gds-in-page-wizard-step-card__header\">\n <div class=\"gds-in-page-wizard-step-card__header__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) -->\n <path\n d=\"M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z\"\n />\n </svg>\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__progress\"\n data-testid=\"in-page-wizard-step-card-step-text\"\n >\n {{ stepText }}\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__title\"\n data-testid=\"in-page-wizard-step-card-title\"\n >\n <h2 class=\"h4\">{{ title }}</h2>\n </div>\n\n <div\n class=\"gds-in-page-wizard-step-card__header__edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary small\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-edit-btn\"\n >\n <ng-template *ngTemplateOutlet=\"editIcon\"> </ng-template>\n {{ editBtnText }}\n </button>\n </div>\n </header>\n\n <div\n class=\"gds-in-page-wizard-step-card__content\"\n *ngIf=\"!!isActive || !!isCompleted\"\n data-testid=\"in-page-wizard-step-card-content\"\n >\n <ng-content></ng-content>\n </div>\n <footer\n class=\"gds-in-page-wizard-step-card__footer gds-in-page-wizard-step-card__footer--edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-footer-edit-btn\"\n >\n <ng-template *ngTemplateOutlet=\"editIcon\"> </ng-template>\n {{ editBtnText }}\n </button>\n </footer>\n\n <footer\n class=\"gds-in-page-wizard-step-card__footer gds-in-page-wizard-step-card__footer--next\"\n *ngIf=\"isActive\"\n >\n <button\n class=\"primary\"\n [disabled]=\"disableNext\"\n (click)=\"handleOnNextBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-next-btn\"\n >\n {{ nextBtnText }}\n <ng-container *ngIf=\"showNextBtnIcon\">\n <ng-template *ngTemplateOutlet=\"nextIcon\"> </ng-template>\n </ng-container>\n </button>\n </footer>\n</section>\n\n<ng-template #editIcon>\n <svg\n viewBox=\"0 0 576 512\"\n class=\"edit-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n fill=\"var(--color)\"\n d=\"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"\n ></path>\n </svg>\n</ng-template>\n\n<ng-template #nextIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1\"\n class=\"next-icon\"\n data-testid=\"in-page-wizard-step-card-next-icon\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 5l0 14\" />\n <path d=\"M18 13l-6 6\" />\n <path d=\"M6 13l6 6\" />\n </svg>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
29
34
  }
30
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggInPageWizardStepCardComponent, decorators: [{
31
36
  type: Component,
@@ -34,6 +39,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34
39
  type: Output
35
40
  }], handleEditClick: [{
36
41
  type: Output
42
+ }], stepIsValid: [{
43
+ type: Input
37
44
  }], stepText: [{
38
45
  type: Input
39
46
  }], title: [{
@@ -51,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
58
  }], isActive: [{
52
59
  type: Input
53
60
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2luLXBhZ2Utd2l6YXJkL2luLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9pbi1wYWdlLXdpemFyZC9pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBTXRFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFKN0M7UUFNVyxvQkFBZSxHQUN0QixJQUFJLFlBQVksRUFBYyxDQUFBO1FBR3ZCLG9CQUFlLEdBQ3RCLElBQUksWUFBWSxFQUFjLENBQUE7UUFFaEIsYUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUViLFVBQUssR0FBRyxFQUFFLENBQUE7UUFFVixnQkFBVyxHQUFHLEVBQUUsQ0FBQTtRQUVoQixnQkFBVyxHQUFHLEVBQUUsQ0FBQTtRQUVoQixvQkFBZSxHQUFHLElBQUksQ0FBQTtRQUV0QixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUVuQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUVuQixhQUFRLEdBQUcsS0FBSyxDQUFBO0tBWWpDO0lBVkMsb0JBQW9CLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUNELG9CQUFvQixDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7K0dBbENVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHFYQ043QywyOEhBZ0hBOzs0RkQxR2EsZ0NBQWdDO2tCQUo1QyxTQUFTOytCQUNFLDhCQUE4Qjs4QkFLL0IsZUFBZTtzQkFEdkIsTUFBTTtnQkFLRSxlQUFlO3NCQUR2QixNQUFNO2dCQUlTLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRVUsZUFBZTtzQkFBOUIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dJblBhZ2VXaXphcmRTdGVwQ2FyZENvbXBvbmVudCB7XG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBoYW5kbGVOZXh0Q2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpXG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGhhbmRsZUVkaXRDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KClcblxuICBASW5wdXQoKSBwdWJsaWMgc3RlcFRleHQgPSAnJ1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZSA9ICcnXG5cbiAgQElucHV0KCkgcHVibGljIGVkaXRCdG5UZXh0ID0gJydcblxuICBASW5wdXQoKSBwdWJsaWMgbmV4dEJ0blRleHQgPSAnJ1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93TmV4dEJ0bkljb24gPSB0cnVlXG5cbiAgQElucHV0KCkgcHVibGljIGlzQ29tcGxldGVkID0gZmFsc2VcblxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZU5leHQgPSBmYWxzZVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0FjdGl2ZSA9IGZhbHNlXG5cbiAgaGFuZGxlT25FZGl0QnRuQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gIXRoaXMuaXNBY3RpdmVcbiAgICB0aGlzLmlzQ29tcGxldGVkID0gZmFsc2VcbiAgICB0aGlzLmhhbmRsZUVkaXRDbGljay5lbWl0KGV2ZW50KVxuICB9XG4gIGhhbmRsZU9uTmV4dEJ0bkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlXG4gICAgdGhpcy5pc0NvbXBsZXRlZCA9IHRydWVcbiAgICB0aGlzLmhhbmRsZU5leHRDbGljay5lbWl0KGV2ZW50KVxuICB9XG59XG4iLCI8c2VjdGlvblxuICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQgY2FyZFwiXG4gIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLXJvb3RcIlxuICBbY2xhc3MuYWN0aXZlXT1cIiEhaXNBY3RpdmVcIlxuICBbY2xhc3MuY29tcGxldGVkXT1cIiEhaXNDb21wbGV0ZWRcIlxuPlxuICA8aGVhZGVyIGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9faGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9faWNvblwiPlxuICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+XG4gICAgICAgIDwhLS0gRm9udCBBd2Vzb21lIFBybyA1LjE1LjQgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgLS0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk00MzUuODQ4IDgzLjQ2NkwxNzIuODA0IDM0Ni41MWwtOTYuNjUyLTk2LjY1MmMtNC42ODYtNC42ODYtMTIuMjg0LTQuNjg2LTE2Ljk3MSAwbC0yOC4yODQgMjguMjg0Yy00LjY4NiA0LjY4Ni00LjY4NiAxMi4yODQgMCAxNi45NzFsMTMzLjQyMSAxMzMuNDIxYzQuNjg2IDQuNjg2IDEyLjI4NCA0LjY4NiAxNi45NzEgMGwyOTkuODEzLTI5OS44MTNjNC42ODYtNC42ODYgNC42ODYtMTIuMjg0IDAtMTYuOTcxbC0yOC4yODQtMjguMjg0Yy00LjY4Ni00LjY4Ni0xMi4yODQtNC42ODYtMTYuOTcgMHpcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19oZWFkZXJfX3Byb2dyZXNzXCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLXN0ZXAtdGV4dFwiXG4gICAgPlxuICAgICAge3sgc3RlcFRleHQgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9fdGl0bGVcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtdGl0bGVcIlxuICAgID5cbiAgICAgIDxoMiBjbGFzcz1cImg0XCI+e3sgdGl0bGUgfX08L2gyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19oZWFkZXJfX2VkaXRcIlxuICAgICAgKm5nSWY9XCJpc0NvbXBsZXRlZCAmJiAhaXNBY3RpdmVcIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJzZWNvbmRhcnkgc21hbGxcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlT25FZGl0QnRuQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLWVkaXQtYnRuXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiZWRpdEljb25cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAge3sgZWRpdEJ0blRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2hlYWRlcj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19jb250ZW50XCJcbiAgICAqbmdJZj1cIiEhaXNBY3RpdmUgfHwgISFpc0NvbXBsZXRlZFwiXG4gICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtY29udGVudFwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8Zm9vdGVyXG4gICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19mb290ZXIgZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9fZm9vdGVyLS1lZGl0XCJcbiAgICAqbmdJZj1cImlzQ29tcGxldGVkICYmICFpc0FjdGl2ZVwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNlY29uZGFyeVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlT25FZGl0QnRuQ2xpY2soJGV2ZW50KVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1mb290ZXItZWRpdC1idG5cIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImVkaXRJY29uXCI+IDwvbmctdGVtcGxhdGU+XG4gICAgICB7eyBlZGl0QnRuVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Zvb3Rlcj5cblxuICA8Zm9vdGVyXG4gICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19mb290ZXIgZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9fZm9vdGVyLS1uZXh0XCJcbiAgICAqbmdJZj1cImlzQWN0aXZlXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwicHJpbWFyeVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZU5leHRcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZU9uTmV4dEJ0bkNsaWNrKCRldmVudClcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtbmV4dC1idG5cIlxuICAgID5cbiAgICAgIHt7IG5leHRCdG5UZXh0IH19XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd05leHRCdG5JY29uXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm5leHRJY29uXCI+IDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9mb290ZXI+XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjZWRpdEljb24+XG4gIDxzdmdcbiAgICB2aWV3Qm94PVwiMCAwIDU3NiA1MTJcIlxuICAgIGNsYXNzPVwiZWRpdC1pY29uXCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gID5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cInZhcigtLWNvbG9yKVwiXG4gICAgICBkPVwiTTQwMi4zIDM0NC45bDMyLTMyYzUtNSAxMy43LTEuNSAxMy43IDUuN1Y0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjExMmMwLTI2LjUgMjEuNS00OCA0OC00OGgyNzMuNWM3LjEgMCAxMC43IDguNiA1LjcgMTMuN2wtMzIgMzJjLTEuNSAxLjUtMy41IDIuMy01LjcgMi4zSDQ4djM1MmgzNTJWMzUwLjVjMC0yLjEuOC00LjEgMi4zLTUuNnptMTU2LjYtMjAxLjhMMjk2LjMgNDA1LjdsLTkwLjQgMTBjLTI2LjIgMi45LTQ4LjUtMTkuMi00NS42LTQ1LjZsMTAtOTAuNEw0MzIuOSAxNy4xYzIyLjktMjIuOSA1OS45LTIyLjkgODIuNyAwbDQzLjIgNDMuMmMyMi45IDIyLjkgMjIuOSA2MCAuMSA4Mi44ek00NjAuMSAxNzRMNDAyIDExNS45IDIxNi4yIDMwMS44bC03LjMgNjUuMyA2NS4zLTcuM0w0NjAuMSAxNzR6bTY0LjgtNzkuN2wtNDMuMi00My4yYy00LjEtNC4xLTEwLjgtNC4xLTE0LjggMEw0MzYgODJsNTguMSA1OC4xIDMwLjktMzAuOWM0LTQuMiA0LTEwLjgtLjEtMTQuOXpcIlxuICAgID48L3BhdGg+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNuZXh0SWNvbj5cbiAgPHN2Z1xuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgIHN0cm9rZS13aWR0aD1cIjFcIlxuICAgIGNsYXNzPVwibmV4dC1pY29uXCJcbiAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1uZXh0LWljb25cIlxuICA+XG4gICAgPHBhdGggc3Ryb2tlPVwibm9uZVwiIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTIgNWwwIDE0XCIgLz5cbiAgICA8cGF0aCBkPVwiTTE4IDEzbC02IDZcIiAvPlxuICAgIDxwYXRoIGQ9XCJNNiAxM2w2IDZcIiAvPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2luLXBhZ2Utd2l6YXJkL2luLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9pbi1wYWdlLXdpemFyZC9pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBTXRFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFKN0M7UUFNVyxvQkFBZSxHQUN0QixJQUFJLFlBQVksRUFBYyxDQUFBO1FBR3ZCLG9CQUFlLEdBQ3RCLElBQUksWUFBWSxFQUFjLENBQUE7UUFFaEIsZ0JBQVcsR0FBRyxHQUFHLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUE7UUFFZSxhQUFRLEdBQUcsRUFBRSxDQUFBO1FBRWIsVUFBSyxHQUFHLEVBQUUsQ0FBQTtRQUVWLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBRWhCLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBRWhCLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBRXRCLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBRW5CLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUE7S0FlakM7SUFiQyxvQkFBb0IsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDOytHQXpDVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyxpWkNON0MsMjhIQWdIQTs7NEZEMUdhLGdDQUFnQztrQkFKNUMsU0FBUzsrQkFDRSw4QkFBOEI7OEJBSy9CLGVBQWU7c0JBRHZCLE1BQU07Z0JBS0UsZUFBZTtzQkFEdkIsTUFBTTtnQkFJUyxXQUFXO3NCQUExQixLQUFLO2dCQUlVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRVUsZUFBZTtzQkFBOUIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dJblBhZ2VXaXphcmRTdGVwQ2FyZENvbXBvbmVudCB7XG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBoYW5kbGVOZXh0Q2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpXG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGhhbmRsZUVkaXRDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KClcblxuICBASW5wdXQoKSBwdWJsaWMgc3RlcElzVmFsaWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc3RlcFRleHQgPSAnJ1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZSA9ICcnXG5cbiAgQElucHV0KCkgcHVibGljIGVkaXRCdG5UZXh0ID0gJydcblxuICBASW5wdXQoKSBwdWJsaWMgbmV4dEJ0blRleHQgPSAnJ1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93TmV4dEJ0bkljb24gPSB0cnVlXG5cbiAgQElucHV0KCkgcHVibGljIGlzQ29tcGxldGVkID0gZmFsc2VcblxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZU5leHQgPSBmYWxzZVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0FjdGl2ZSA9IGZhbHNlXG5cbiAgaGFuZGxlT25FZGl0QnRuQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gIXRoaXMuaXNBY3RpdmVcbiAgICB0aGlzLmlzQ29tcGxldGVkID0gZmFsc2VcbiAgICB0aGlzLmhhbmRsZUVkaXRDbGljay5lbWl0KGV2ZW50KVxuICB9XG4gIGhhbmRsZU9uTmV4dEJ0bkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuc3RlcElzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0NvbXBsZXRlZCA9IHRydWU7XG4gICAgfVxuICAgIFxuICAgIHRoaXMuaGFuZGxlTmV4dENsaWNrLmVtaXQoZXZlbnQpXG4gIH1cbn1cbiIsIjxzZWN0aW9uXG4gIGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZCBjYXJkXCJcbiAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtcm9vdFwiXG4gIFtjbGFzcy5hY3RpdmVdPVwiISFpc0FjdGl2ZVwiXG4gIFtjbGFzcy5jb21wbGV0ZWRdPVwiISFpc0NvbXBsZXRlZFwiXG4+XG4gIDxoZWFkZXIgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9faGVhZGVyX19pY29uXCI+XG4gICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj5cbiAgICAgICAgPCEtLSBGb250IEF3ZXNvbWUgUHJvIDUuMTUuNCBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbSBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZSAoQ29tbWVyY2lhbCBMaWNlbnNlKSAtLT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTQzNS44NDggODMuNDY2TDE3Mi44MDQgMzQ2LjUxbC05Ni42NTItOTYuNjUyYy00LjY4Ni00LjY4Ni0xMi4yODQtNC42ODYtMTYuOTcxIDBsLTI4LjI4NCAyOC4yODRjLTQuNjg2IDQuNjg2LTQuNjg2IDEyLjI4NCAwIDE2Ljk3MWwxMzMuNDIxIDEzMy40MjFjNC42ODYgNC42ODYgMTIuMjg0IDQuNjg2IDE2Ljk3MSAwbDI5OS44MTMtMjk5LjgxM2M0LjY4Ni00LjY4NiA0LjY4Ni0xMi4yODQgMC0xNi45NzFsLTI4LjI4NC0yOC4yODRjLTQuNjg2LTQuNjg2LTEyLjI4NC00LjY4Ni0xNi45NyAwelwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9fcHJvZ3Jlc3NcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtc3RlcC10ZXh0XCJcbiAgICA+XG4gICAgICB7eyBzdGVwVGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9faGVhZGVyX190aXRsZVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC10aXRsZVwiXG4gICAgPlxuICAgICAgPGgyIGNsYXNzPVwiaDRcIj57eyB0aXRsZSB9fTwvaDI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9fZWRpdFwiXG4gICAgICAqbmdJZj1cImlzQ29tcGxldGVkICYmICFpc0FjdGl2ZVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNlY29uZGFyeSBzbWFsbFwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVPbkVkaXRCdG5DbGljaygkZXZlbnQpXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtZWRpdC1idG5cIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlZGl0SWNvblwiPiA8L25nLXRlbXBsYXRlPlxuICAgICAgICB7eyBlZGl0QnRuVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2NvbnRlbnRcIlxuICAgICpuZ0lmPVwiISFpc0FjdGl2ZSB8fCAhIWlzQ29tcGxldGVkXCJcbiAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1jb250ZW50XCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxmb290ZXJcbiAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2Zvb3RlciBnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19mb290ZXItLWVkaXRcIlxuICAgICpuZ0lmPVwiaXNDb21wbGV0ZWQgJiYgIWlzQWN0aXZlXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2Vjb25kYXJ5XCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVPbkVkaXRCdG5DbGljaygkZXZlbnQpXCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLWZvb3Rlci1lZGl0LWJ0blwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiZWRpdEljb25cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgIHt7IGVkaXRCdG5UZXh0IH19XG4gICAgPC9idXR0b24+XG4gIDwvZm9vdGVyPlxuXG4gIDxmb290ZXJcbiAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2Zvb3RlciBnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19mb290ZXItLW5leHRcIlxuICAgICpuZ0lmPVwiaXNBY3RpdmVcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJwcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlTmV4dFwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlT25OZXh0QnRuQ2xpY2soJGV2ZW50KVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1uZXh0LWJ0blwiXG4gICAgPlxuICAgICAge3sgbmV4dEJ0blRleHQgfX1cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93TmV4dEJ0bkljb25cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibmV4dEljb25cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuICA8L2Zvb3Rlcj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICNlZGl0SWNvbj5cbiAgPHN2Z1xuICAgIHZpZXdCb3g9XCIwIDAgNTc2IDUxMlwiXG4gICAgY2xhc3M9XCJlZGl0LWljb25cIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwidmFyKC0tY29sb3IpXCJcbiAgICAgIGQ9XCJNNDAyLjMgMzQ0LjlsMzItMzJjNS01IDEzLjctMS41IDEzLjcgNS43VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDI3My41YzcuMSAwIDEwLjcgOC42IDUuNyAxMy43bC0zMiAzMmMtMS41IDEuNS0zLjUgMi4zLTUuNyAyLjNINDh2MzUyaDM1MlYzNTAuNWMwLTIuMS44LTQuMSAyLjMtNS42em0xNTYuNi0yMDEuOEwyOTYuMyA0MDUuN2wtOTAuNCAxMGMtMjYuMiAyLjktNDguNS0xOS4yLTQ1LjYtNDUuNmwxMC05MC40TDQzMi45IDE3LjFjMjIuOS0yMi45IDU5LjktMjIuOSA4Mi43IDBsNDMuMiA0My4yYzIyLjkgMjIuOSAyMi45IDYwIC4xIDgyLjh6TTQ2MC4xIDE3NEw0MDIgMTE1LjkgMjE2LjIgMzAxLjhsLTcuMyA2NS4zIDY1LjMtNy4zTDQ2MC4xIDE3NHptNjQuOC03OS43bC00My4yLTQzLjJjLTQuMS00LjEtMTAuOC00LjEtMTQuOCAwTDQzNiA4Mmw1OC4xIDU4LjEgMzAuOS0zMC45YzQtNC4yIDQtMTAuOC0uMS0xNC45elwiXG4gICAgPjwvcGF0aD5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25leHRJY29uPlxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgc3Ryb2tlLXdpZHRoPVwiMVwiXG4gICAgY2xhc3M9XCJuZXh0LWljb25cIlxuICAgIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLW5leHQtaWNvblwiXG4gID5cbiAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgPHBhdGggZD1cIk0xMiA1bDAgMTRcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTggMTNsLTYgNlwiIC8+XG4gICAgPHBhdGggZD1cIk02IDEzbDYgNlwiIC8+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -58,9 +58,11 @@ export class NggModalComponent {
58
58
  this.closed = new EventEmitter();
59
59
  this.confirm = new EventEmitter();
60
60
  this.dismiss = new EventEmitter();
61
+ this.guid = '';
61
62
  this.configurableFocusTrap = this.configurableFocusTrapFactory.create(this.ref.nativeElement);
62
63
  }
63
64
  ngOnInit() {
65
+ this.guid = globalThis.crypto.randomUUID();
64
66
  if (this._isOpen && this.trapFocus)
65
67
  this.enableFocusTrap();
66
68
  else
@@ -104,7 +106,7 @@ export class NggModalComponent {
104
106
  enableBodyScroll(this.ref.nativeElement);
105
107
  }
106
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }, { token: i1.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", hideHeader: "hideHeader", hideFooter: "hideFooter", disableBodyScroll: "disableBodyScroll", trapFocus: "trapFocus", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, queries: [{ propertyName: "modalHeaderContent", first: true, predicate: NggModalHeaderDirective, descendants: true }, { propertyName: "modalFooterContent", first: true, predicate: NggModalFooterDirective, descendants: true }], viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <div class=\"gds-dialog-wrapper\" [@modalAnimation]>\n <aside\n data-testid=\"modal\"\n *ngSwitchCase=\"'slideout'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main\n data-testid=\"modal\"\n *ngSwitchCase=\"'takeover'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.entered]=\"isOpen\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section\n data-testid=\"modal\"\n *ngSwitchDefault\n role=\"dialog\"\n aria-modal=\"true\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header\n *ngIf=\"!modalHeaderContent; else headerContentTemplate\"\n ngg-modal-header\n data-testid=\"modal-header\"\n [header]=\"header\"\n (closed)=\"this.handleCloseClick($event)\"\n ></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer\n *ngIf=\"!modalFooterContent; else footerContentTemplate\"\n ngg-modal-footer\n data-testid=\"modal-footer\"\n [dismissLabel]=\"dismissLabel\"\n [confirmLabel]=\"confirmLabel\"\n (dismiss)=\"this.handleDismiss($event)\"\n (confirm)=\"this.handleConfirm($event)\"\n ></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div\n #backdrop\n data-testid=\"modal-backdrop\"\n class=\"backdrop entered\"\n (click)=\"this.handleBackdropClick($event)\"\n [attr.aria-hidden]=\"true\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalHeaderComponent; }), selector: "[ngg-modal-header]", inputs: ["header"], outputs: ["closed"] }, { kind: "component", type: i0.forwardRef(function () { return NggModalBodyComponent; }), selector: "[ngg-modal-body]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalFooterComponent; }), selector: "[ngg-modal-footer]", inputs: ["dismissLabel", "confirmLabel"], outputs: ["dismiss", "confirm"] }], animations: [
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", hideHeader: "hideHeader", hideFooter: "hideFooter", disableBodyScroll: "disableBodyScroll", trapFocus: "trapFocus", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, queries: [{ propertyName: "modalHeaderContent", first: true, predicate: NggModalHeaderDirective, descendants: true }, { propertyName: "modalFooterContent", first: true, predicate: NggModalFooterDirective, descendants: true }], viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <div class=\"gds-dialog-wrapper\" [@modalAnimation]>\n <aside\n data-testid=\"modal\"\n *ngSwitchCase=\"'slideout'\"\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main\n data-testid=\"modal\"\n *ngSwitchCase=\"'takeover'\"\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.entered]=\"isOpen\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section\n data-testid=\"modal\"\n *ngSwitchDefault\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header\n *ngIf=\"!modalHeaderContent; else headerContentTemplate\"\n ngg-modal-header\n [attr.id]=\"'modal-header-' + guid\"\n data-testid=\"modal-header\"\n [header]=\"header\"\n (closed)=\"this.handleCloseClick($event)\"\n ></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer\n *ngIf=\"!modalFooterContent; else footerContentTemplate\"\n ngg-modal-footer\n data-testid=\"modal-footer\"\n [dismissLabel]=\"dismissLabel\"\n [confirmLabel]=\"confirmLabel\"\n (dismiss)=\"this.handleDismiss($event)\"\n (confirm)=\"this.handleConfirm($event)\"\n ></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\" [attr.id]=\"'modal-header-' + guid\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div\n #backdrop\n data-testid=\"modal-backdrop\"\n class=\"backdrop entered\"\n (click)=\"this.handleBackdropClick($event)\"\n [attr.aria-hidden]=\"true\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalHeaderComponent; }), selector: "[ngg-modal-header]", inputs: ["header"], outputs: ["closed"] }, { kind: "component", type: i0.forwardRef(function () { return NggModalBodyComponent; }), selector: "[ngg-modal-body]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalFooterComponent; }), selector: "[ngg-modal-footer]", inputs: ["dismissLabel", "confirmLabel"], outputs: ["dismiss", "confirm"] }], animations: [
108
110
  trigger('modalAnimation', [
109
111
  transition(':enter', [
110
112
  query('aside', style({ transform: 'translateX(100%)' }), {
@@ -156,7 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
156
158
  ]),
157
159
  ]),
158
160
  ]),
159
- ], template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <div class=\"gds-dialog-wrapper\" [@modalAnimation]>\n <aside\n data-testid=\"modal\"\n *ngSwitchCase=\"'slideout'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main\n data-testid=\"modal\"\n *ngSwitchCase=\"'takeover'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.entered]=\"isOpen\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section\n data-testid=\"modal\"\n *ngSwitchDefault\n role=\"dialog\"\n aria-modal=\"true\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header\n *ngIf=\"!modalHeaderContent; else headerContentTemplate\"\n ngg-modal-header\n data-testid=\"modal-header\"\n [header]=\"header\"\n (closed)=\"this.handleCloseClick($event)\"\n ></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer\n *ngIf=\"!modalFooterContent; else footerContentTemplate\"\n ngg-modal-footer\n data-testid=\"modal-footer\"\n [dismissLabel]=\"dismissLabel\"\n [confirmLabel]=\"confirmLabel\"\n (dismiss)=\"this.handleDismiss($event)\"\n (confirm)=\"this.handleConfirm($event)\"\n ></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div\n #backdrop\n data-testid=\"modal-backdrop\"\n class=\"backdrop entered\"\n (click)=\"this.handleBackdropClick($event)\"\n [attr.aria-hidden]=\"true\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
161
+ ], template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <div class=\"gds-dialog-wrapper\" [@modalAnimation]>\n <aside\n data-testid=\"modal\"\n *ngSwitchCase=\"'slideout'\"\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main\n data-testid=\"modal\"\n *ngSwitchCase=\"'takeover'\"\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.entered]=\"isOpen\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section\n data-testid=\"modal\"\n *ngSwitchDefault\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header\n *ngIf=\"!modalHeaderContent; else headerContentTemplate\"\n ngg-modal-header\n [attr.id]=\"'modal-header-' + guid\"\n data-testid=\"modal-header\"\n [header]=\"header\"\n (closed)=\"this.handleCloseClick($event)\"\n ></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer\n *ngIf=\"!modalFooterContent; else footerContentTemplate\"\n ngg-modal-footer\n data-testid=\"modal-footer\"\n [dismissLabel]=\"dismissLabel\"\n [confirmLabel]=\"confirmLabel\"\n (dismiss)=\"this.handleDismiss($event)\"\n (confirm)=\"this.handleConfirm($event)\"\n ></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\" [attr.id]=\"'modal-header-' + guid\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div\n #backdrop\n data-testid=\"modal-backdrop\"\n class=\"backdrop entered\"\n (click)=\"this.handleBackdropClick($event)\"\n [attr.aria-hidden]=\"true\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
160
162
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ConfigurableFocusTrapFactory }]; }, propDecorators: { modalType: [{
161
163
  type: Input
162
164
  }], header: [{
@@ -304,4 +306,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
304
306
  }], confirm: [{
305
307
  type: Output
306
308
  }] } });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLEtBQUssR0FDTixNQUFNLHFCQUFxQixDQUFBO0FBRTVCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztBQTZEbEUsTUFBTSxPQUFPLGlCQUFpQjtJQVM1QixJQUFvQixTQUFTO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsSUFBVyxTQUFTLENBQUMsS0FBMEI7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7UUFFdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTthQUN2QjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsZ0JB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R0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtLQVNqRTtJQVBDLGFBQWEsQ0FBQyxLQUFpQjtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlCO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFCLENBQUM7K0dBWlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsdUxBbkJ4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7OzRGQUVVLHVCQUF1QjtrQkF2Qm5DLFNBQVM7K0JBRUUsb0JBQW9CLFlBRXBCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDs4QkFHUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgdHJpZ2dlcixcbiAgcXVlcnksXG4gIHN0eWxlLFxuICBhbmltYXRlLFxuICB0cmFuc2l0aW9uLFxuICBncm91cCxcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucydcbmltcG9ydCB7IE1vZGFsVHlwZSwgU2l6ZSB9IGZyb20gJ0BzZWJncm91cC9leHRyYWN0J1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhYmxlRm9jdXNUcmFwLFxuICBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LFxufSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IGRpc2FibGVCb2R5U2Nyb2xsLCBlbmFibGVCb2R5U2Nyb2xsIH0gZnJvbSAnYm9keS1zY3JvbGwtbG9jaydcbmltcG9ydCB7IE5nZ01vZGFsSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC1oZWFkZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTmdnTW9kYWxGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL21vZGFsLWZvb3Rlci5kaXJlY3RpdmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZy1tb2RhbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignbW9kYWxBbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHF1ZXJ5KCdhc2lkZScsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksIHtcbiAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIHF1ZXJ5KCcuYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLCBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJ2FzaWRlJyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICczNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSknLFxuICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5iYWNrZHJvcCwgW3JvbGU9ZGlhbG9nXScsXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAnMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzMsIDEsIDAuNjgsIDEpJyxcbiAgICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMScgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICAgICksXG4gICAgICAgIF0pLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIHF1ZXJ5KCdhc2lkZScsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScgfSksIHtcbiAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwKFtcbiAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICdhc2lkZScsXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAnMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzMsIDEsIDAuNjgsIDEpJyxcbiAgICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgICAgKSxcbiAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICcuYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogJzAnIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIG1vZGFsVHlwZT86IE1vZGFsVHlwZVxuICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyPzogc3RyaW5nXG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maXJtTGFiZWw/OiBzdHJpbmdcbiAgQElucHV0KCkgcHVibGljIGRpc21pc3NMYWJlbD86IHN0cmluZ1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZT86IFNpemVcbiAgQElucHV0KCkgcHVibGljIGhpZGVIZWFkZXI/OiBib29sZWFuXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlRm9vdGVyPzogYm9vbGVhblxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZUJvZHlTY3JvbGw/OiBib29sZWFuID0gdHJ1ZVxuICBASW5wdXQoKSBwdWJsaWMgZ2V0IHRyYXBGb2N1cygpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhcEZvY3VzXG4gIH1cbiAgcHVibGljIHNldCB0cmFwRm9jdXModmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl90cmFwRm9jdXMgPSB2YWx1ZVxuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5faXNPcGVuKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlRm9jdXNUcmFwKClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNhYmxlRm9jdXNUcmFwKClcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5faXNPcGVuXG4gIH1cbiAgcHVibGljIHNldCBpc09wZW4odmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9pc09wZW4gPSB2YWx1ZVxuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodGhpcy50cmFwRm9jdXMpIHtcbiAgICAgICAgdGhpcy5lbmFibGVGb2N1c1RyYXAoKVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5kaXNhYmxlQm9keVNjcm9sbCkge1xuICAgICAgICBkaXNhYmxlQm9keVNjcm9sbCh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgYWxsb3dUb3VjaE1vdmU6IChlbCkgPT4ge1xuICAgICAgICAgICAgLy8gQWxsb3cgdG91Y2htb3ZlIGZvciBlbGVtZW50cyBpbnNpZGUgbW9kYWwsIGl0cyByZXF1aXJlZCBmb3Igc2Nyb2xsIHRvIHdvcmsgb24gaU9TIGRldmljZXNcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGVsKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzYWJsZUZvY3VzVHJhcCgpXG4gICAgICBpZiAodGhpcy5kaXNhYmxlQm9keVNjcm9sbCkge1xuICAgICAgICBlbmFibGVCb2R5U2Nyb2xsKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBpc09wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKVxuICBAT3V0cHV0KCkgcHVibGljIGNvbmZpcm06IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpXG4gIEBPdXRwdXQoKSBwdWJsaWMgZGlzbWlzczogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KClcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9wZW4nKSBnZXQgb3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5pc09wZW5cbiAgfVxuICBAVmlld0NoaWxkKCdiYWNrZHJvcCcpIHByaXZhdGUgYmFja2Ryb3BSZWY/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+XG4gIEBDb250ZW50Q2hpbGQoTmdnTW9kYWxIZWFkZXJEaXJlY3RpdmUpXG4gIHB1YmxpYyBtb2RhbEhlYWRlckNvbnRlbnQ/OiBOZ2dNb2RhbEhlYWRlckRpcmVjdGl2ZVxuICBAQ29udGVudENoaWxkKE5nZ01vZGFsRm9vdGVyRGlyZWN0aXZlKVxuICBwdWJsaWMgbW9kYWxGb290ZXJDb250ZW50PzogTmdnTW9kYWxGb290ZXJEaXJlY3RpdmVcbiAgcHJpdmF0ZSBfaXNPcGVuPzogYm9vbGVhblxuICBwcml2YXRlIF90cmFwRm9jdXM/OiBib29sZWFuXG4gIHByaXZhdGUgY29uZmlndXJhYmxlRm9jdXNUcmFwOiBDb25maWd1cmFibGVGb2N1c1RyYXBcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBjb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5OiBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LFxuICApIHtcbiAgICB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcCA9IHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwRmFjdG9yeS5jcmVhdGUoXG4gICAgICB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LFxuICAgIClcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc09wZW4gJiYgdGhpcy50cmFwRm9jdXMpIHRoaXMuZW5hYmxlRm9jdXNUcmFwKClcbiAgICBlbHNlIHRoaXMuZGlzYWJsZUZvY3VzVHJhcCgpXG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2xvc2VDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuY2xvc2VNb2RhbChldmVudClcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVCYWNrZHJvcENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldCA9PSB0aGlzLmJhY2tkcm9wUmVmPy5uYXRpdmVFbGVtZW50KSB0aGlzLmNsb3NlTW9kYWwoZXZlbnQpXG4gIH1cblxuICBwdWJsaWMgaGFuZGxlRGlzbWlzcyhldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KGV2ZW50KVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUNvbmZpcm0oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmNvbmZpcm0uZW1pdChldmVudClcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VNb2RhbChldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmNsb3NlZC5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jbG9zZWQuZW1pdChldmVudClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZVxuICAgICAgdGhpcy5pc09wZW5DaGFuZ2UuZW1pdCh0aGlzLmlzT3BlbilcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZUZvY3VzVHJhcCgpIHtcbiAgICBpZiAodGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXApIHtcbiAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwLmVuYWJsZWQgPSB0cnVlXG4gICAgICB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcC5mb2N1c0luaXRpYWxFbGVtZW50V2hlblJlYWR5KClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGVGb2N1c1RyYXAoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwKSB7XG4gICAgICB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcC5lbmFibGVkID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcD8uZGVzdHJveSgpXG4gICAgZW5hYmxlQm9keVNjcm9sbCh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KVxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tuZ2ctbW9kYWwtaGVhZGVyXScsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGgzIGRhdGEtdGVzdGlkPVwibW9kYWwtaGVhZGVyLXRleHRcIj57eyBoZWFkZXIgfX08L2gzPlxuICAgIDxidXR0b25cbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtY2xvc2UtYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgKGNsaWNrKT1cInRoaXMuaGFuZGxlQ2xvc2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICAgICAgPGk+PC9pPlxuICAgIDwvYnV0dG9uPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbEhlYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGhlYWRlcj86IHN0cmluZ1xuICBAT3V0cHV0KCkgY2xvc2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KClcblxuICBoYW5kbGVDbG9zZShldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoZXZlbnQpXG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW25nZy1tb2RhbC1ib2R5XScsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsQm9keUNvbXBvbmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbbmdnLW1vZGFsLWZvb3Rlcl0nLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtZGlzbWlzcy1idXR0b25cIlxuICAgICAgKm5nSWY9XCJkaXNtaXNzTGFiZWxcIlxuICAgICAgY2xhc3M9XCJzZWNvbmRhcnlcIlxuICAgICAgKGNsaWNrKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCJcbiAgICA+XG4gICAgICB7eyBkaXNtaXNzTGFiZWwgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWNvbmZpcm0tYnV0dG9uXCJcbiAgICAgICpuZ0lmPVwiY29uZmlybUxhYmVsXCJcbiAgICAgIGNsYXNzPVwicHJpbWFyeVwiXG4gICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIlxuICAgID5cbiAgICAgIHt7IGNvbmZpcm1MYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbEZvb3RlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRpc21pc3NMYWJlbD86IHN0cmluZ1xuICBASW5wdXQoKSBjb25maXJtTGFiZWw/OiBzdHJpbmdcbiAgQE91dHB1dCgpIGRpc21pc3M6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgY29uZmlybTogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgaGFuZGxlRGlzbWlzcyhldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KGV2ZW50KVxuICB9XG5cbiAgaGFuZGxlQ29uZmlybShldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuY29uZmlybS5lbWl0KGV2ZW50KVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcGVuXCIgW25nU3dpdGNoXT1cIm1vZGFsVHlwZVwiPlxuICA8ZGl2IGNsYXNzPVwiZ2RzLWRpYWxvZy13cmFwcGVyXCIgW0Btb2RhbEFuaW1hdGlvbl0+XG4gICAgPGFzaWRlXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInc2xpZGVvdXQnXCJcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbSdcIlxuICAgICAgW2NsYXNzLm1lZGl1bV09XCJzaXplID09PSAnbWQnXCJcbiAgICAgIFtjbGFzcy5sYXJnZV09XCJzaXplID09PSAnbGcnXCJcbiAgICAgIFtjbGFzcy5lbnRlcmVkXT1cImlzT3BlblwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYXNpZGU+XG4gICAgPG1haW5cbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWxcIlxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIid0YWtlb3ZlcidcIlxuICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICBbY2xhc3MuZW50ZXJlZF09XCJpc09wZW5cIlxuICAgICAgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbSdcIlxuICAgICAgW2NsYXNzLm1lZGl1bV09XCJzaXplID09PSAnbWQnXCJcbiAgICAgIFtjbGFzcy5sYXJnZV09XCJzaXplID09PSAnbGcnXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9tYWluPlxuICAgIDxzZWN0aW9uXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsXCJcbiAgICAgICpuZ1N3aXRjaERlZmF1bHRcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbSdcIlxuICAgICAgW2NsYXNzLm1lZGl1bV09XCJzaXplID09PSAnbWQnXCJcbiAgICAgIFtjbGFzcy5sYXJnZV09XCJzaXplID09PSAnbGcnXCJcbiAgICAgIFtjbGFzcy5lbnRlcmVkXT1cImlzT3BlblwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZUhlYWRlclwiPlxuICAgICAgICA8aGVhZGVyXG4gICAgICAgICAgKm5nSWY9XCIhbW9kYWxIZWFkZXJDb250ZW50OyBlbHNlIGhlYWRlckNvbnRlbnRUZW1wbGF0ZVwiXG4gICAgICAgICAgbmdnLW1vZGFsLWhlYWRlclxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtaGVhZGVyXCJcbiAgICAgICAgICBbaGVhZGVyXT1cImhlYWRlclwiXG4gICAgICAgICAgKGNsb3NlZCk9XCJ0aGlzLmhhbmRsZUNsb3NlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID48L2hlYWRlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiBuZ2ctbW9kYWwtYm9keSBkYXRhLXRlc3RpZD1cIm1vZGFsLWJvZHlcIiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlDb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoaWRlRm9vdGVyICYmIChkaXNtaXNzTGFiZWwgfHwgY29uZmlybUxhYmVsKVwiPlxuICAgICAgICA8Zm9vdGVyXG4gICAgICAgICAgKm5nSWY9XCIhbW9kYWxGb290ZXJDb250ZW50OyBlbHNlIGZvb3RlckNvbnRlbnRUZW1wbGF0ZVwiXG4gICAgICAgICAgbmdnLW1vZGFsLWZvb3RlclxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCJcbiAgICAgICAgICBbZGlzbWlzc0xhYmVsXT1cImRpc21pc3NMYWJlbFwiXG4gICAgICAgICAgW2NvbmZpcm1MYWJlbF09XCJjb25maXJtTGFiZWxcIlxuICAgICAgICAgIChkaXNtaXNzKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCJcbiAgICAgICAgICAoY29uZmlybSk9XCJ0aGlzLmhhbmRsZUNvbmZpcm0oJGV2ZW50KVwiXG4gICAgICAgID48L2Zvb3Rlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJDb250ZW50VGVtcGxhdGU+XG4gICAgICA8aGVhZGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltuZ2dNb2RhbEhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2hlYWRlcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjYm9keUNvbnRlbnRUZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyQ29udGVudFRlbXBsYXRlPlxuICAgICAgPGZvb3RlciBkYXRhLXRlc3RpZD1cIm1vZGFsLWZvb3RlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmdnTW9kYWxGb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9mb290ZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICAjYmFja2Ryb3BcbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtYmFja2Ryb3BcIlxuICAgICAgY2xhc3M9XCJiYWNrZHJvcCBlbnRlcmVkXCJcbiAgICAgIChjbGljayk9XCJ0aGlzLmhhbmRsZUJhY2tkcm9wQ2xpY2soJGV2ZW50KVwiXG4gICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCJcbiAgICA+PC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLEtBQUssR0FDTixNQUFNLHFCQUFxQixDQUFBO0FBRTVCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztBQTZEbEUsTUFBTSxPQUFPLGlCQUFpQjtJQVM1QixJQUFvQixTQUFTO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsSUFBVyxTQUFTLENBQUMsS0FBMEI7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7UUFFdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTthQUN2QjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtTQUN4QjtJQUNILENBQUM7SUFFRCxJQUNXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUNELElBQVcsTUFBTSxDQUFDLEtBQTBCO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1FBRXBCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7YUFDdkI7WUFFRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUU7b0JBQ3hDLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO3dCQUNyQiw0RkFBNEY7d0JBQzVGLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUM1QyxDQUFDO2lCQUNGLENBQUMsQ0FBQTthQUNIO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1lBQ3ZCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO2FBQ3pDO1NBQ0Y7SUFDSCxDQUFDO0lBV0QsSUFBK0IsSUFBSTtRQUNqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDcEIsQ0FBQztJQWFELFlBQ1UsR0FBNEIsRUFDNUIsNEJBQTBEO1FBRDFELFFBQUcsR0FBSCxHQUFHLENBQXlCO1FBQzVCLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUF0RXBELHNCQUFpQixHQUFhLElBQUksQ0FBQTtRQTRDakMsaUJBQVksR0FDM0IsSUFBSSxZQUFZLEVBQVcsQ0FBQTtRQUNaLFdBQU0sR0FDckIsSUFBSSxZQUFZLEVBQWMsQ0FBQTtRQUNmLFlBQU8sR0FDdEIsSUFBSSxZQUFZLEVBQWMsQ0FBQTtRQUNmLFlBQU8sR0FDdEIsSUFBSSxZQUFZLEVBQWMsQ0FBQTtRQVd6QixTQUFJLEdBQUcsRUFBRSxDQUFBO1FBVWQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQ25FLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUN2QixDQUFBO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFMUMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBOztZQUNyRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUM5QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBaUI7UUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN4QixDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBaUI7UUFDMUMsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYTtZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFCLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBaUI7UUFDbEMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQ3hCO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7U0FDcEM7SUFDSCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtZQUN6QyxJQUFJLENBQUMscUJBQXFCLENBQUMsNEJBQTRCLEVBQUUsQ0FBQTtTQUMxRDtJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7U0FDM0M7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsQ0FBQTtRQUNyQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzFDLENBQUM7K0dBcklVLGlCQUFpQjttR0FBakIsaUJBQWlCLGlnQkFpRWQsdUJBQXVCLHFGQUV2Qix1QkFBdUIseUpDNUp2Qyw0c0dBeUZBLHF0Q0R3SmEsdUJBQXVCLCtJQWV2QixxQkFBcUIsb0dBeUJyQix1QkFBdUIsZ0lBdFB0QjtZQUNWLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDeEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDbkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFO3dCQUN2RCxRQUFRLEVBQUUsSUFBSTtxQkFDZixDQUFDO29CQUNGLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTt3QkFDekQsUUFBUSxFQUFFLElBQUk7cUJBQ2YsQ0FBQztvQkFDRixLQUFLLENBQUM7d0JBQ0osS0FBSyxDQUNILE9BQU8sRUFDUCxPQUFPLENBQ0wsc0NBQXNDLEVBQ3RDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUN0QyxFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUNuQjt3QkFDRCxLQUFLLENBQ0gsMEJBQTBCLEVBQzFCLE9BQU8sQ0FDTCxzQ0FBc0MsRUFDdEMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ3hCLEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ25CO3FCQUNGLENBQUM7aUJBQ0gsQ0FBQztnQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNuQixLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFO3dCQUNwRCxRQUFRLEVBQUUsSUFBSTtxQkFDZixDQUFDO29CQUNGLEtBQUssQ0FBQzt3QkFDSixLQUFLLENBQ0gsT0FBTyxFQUNQLE9BQU8sQ0FDTCxzQ0FBc0MsRUFDdEMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FDekMsRUFDRCxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FDbkI7d0JBQ0QsS0FBSyxDQUNILDBCQUEwQixFQUMxQixPQUFPLENBQ0wsc0NBQXNDLEVBQ3RDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUN4QixFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUNuQjtxQkFDRixDQUFDO2lCQUNILENBQUM7YUFDSCxDQUFDO1NBQ0g7OzRGQUVVLGlCQUFpQjtrQkEzRDdCLFNBQVM7K0JBQ0UsV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDeEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFO29DQUN2RCxRQUFRLEVBQUUsSUFBSTtpQ0FDZixDQUFDO2dDQUNGLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtvQ0FDekQsUUFBUSxFQUFFLElBQUk7aUNBQ2YsQ0FBQztnQ0FDRixLQUFLLENBQUM7b0NBQ0osS0FBSyxDQUNILE9BQU8sRUFDUCxPQUFPLENBQ0wsc0NBQXNDLEVBQ3RDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUN0QyxFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUNuQjtvQ0FDRCxLQUFLLENBQ0gsMEJBQTBCLEVBQzFCLE9BQU8sQ0FDTCxzQ0FBc0MsRUFDdEMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ3hCLEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ25CO2lDQUNGLENBQUM7NkJBQ0gsQ0FBQzs0QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFO29DQUNwRCxRQUFRLEVBQUUsSUFBSTtpQ0FDZixDQUFDO2dDQUNGLEtBQUssQ0FBQztvQ0FDSixLQUFLLENBQ0gsT0FBTyxFQUNQLE9BQU8sQ0FDTCxzQ0FBc0MsRUFDdEMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FDekMsRUFDRCxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FDbkI7b0NBQ0QsS0FBSyxDQUNILDBCQUEwQixFQUMxQixPQUFPLENBQ0wsc0NBQXNDLEVBQ3RDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUN4QixFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUNuQjtpQ0FDRixDQUFDOzZCQUNILENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs0SUFHZSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDYyxTQUFTO3NCQUE1QixLQUFLO2dCQWdCSyxNQUFNO3NCQURoQixLQUFLO2dCQTRCVyxZQUFZO3NCQUE1QixNQUFNO2dCQUVVLE1BQU07c0JBQXRCLE1BQU07Z0JBRVUsT0FBTztzQkFBdkIsTUFBTTtnQkFFVSxPQUFPO3NCQUF2QixNQUFNO2dCQUd3QixJQUFJO3NCQUFsQyxXQUFXO3VCQUFDLFlBQVk7Z0JBR00sV0FBVztzQkFBekMsU0FBUzt1QkFBQyxVQUFVO2dCQUVkLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBRzlCLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQyx1QkFBdUI7O0FBcUZ2QyxNQUFNLE9BQU8sdUJBQXVCO0lBaEJwQztRQWtCWSxXQUFNLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUE7S0FLNUU7SUFIQyxXQUFXLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekIsQ0FBQzsrR0FOVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix1SEFaeEI7Ozs7Ozs7Ozs7R0FVVDs7NEZBRVUsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFFRSxvQkFBb0IsWUFFcEI7Ozs7Ozs7Ozs7R0FVVDs4QkFHUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNOztBQWFULE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjttR0FBckIscUJBQXFCLHdEQUZ0QiwyQkFBMkI7OzRGQUUxQixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBRUUsa0JBQWtCLFlBRWxCLDJCQUEyQjs7QUEyQnZDLE1BQU0sT0FBTyx1QkFBdUI7SUF2QnBDO1FBMEJZLFlBQU8sR0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUN0RCxZQUFPLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUE7S0FTakU7SUFQQyxhQUFhLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFpQjtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDOytHQVpVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHVMQW5CeEI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUOzs0RkFFVSx1QkFBdUI7a0JBdkJuQyxTQUFTOytCQUVFLG9CQUFvQixZQUVwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7OEJBR1EsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIHRyaWdnZXIsXG4gIHF1ZXJ5LFxuICBzdHlsZSxcbiAgYW5pbWF0ZSxcbiAgdHJhbnNpdGlvbixcbiAgZ3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBNb2RhbFR5cGUsIFNpemUgfSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCdcbmltcG9ydCB7XG4gIENvbmZpZ3VyYWJsZUZvY3VzVHJhcCxcbiAgQ29uZmlndXJhYmxlRm9jdXNUcmFwRmFjdG9yeSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBkaXNhYmxlQm9keVNjcm9sbCwgZW5hYmxlQm9keVNjcm9sbCB9IGZyb20gJ2JvZHktc2Nyb2xsLWxvY2snXG5pbXBvcnQgeyBOZ2dNb2RhbEhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwtaGVhZGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE5nZ01vZGFsRm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC1mb290ZXIuZGlyZWN0aXZlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctbW9kYWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ21vZGFsQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBxdWVyeSgnYXNpZGUnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pLCB7XG4gICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgICBxdWVyeSgnLmJhY2tkcm9wLCBbcm9sZT1kaWFsb2ddJywgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSksIHtcbiAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwKFtcbiAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICdhc2lkZScsXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAnMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzMsIDEsIDAuNjgsIDEpJyxcbiAgICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgICAgKSxcbiAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICcuYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogJzEnIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBxdWVyeSgnYXNpZGUnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pLCB7XG4gICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cChbXG4gICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAnYXNpZGUnLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICAgICksXG4gICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAnLmJhY2tkcm9wLCBbcm9sZT1kaWFsb2ddJyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICczNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSknLFxuICAgICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgICAgKSxcbiAgICAgICAgXSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdnTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RhbFR5cGU/OiBNb2RhbFR5cGVcbiAgQElucHV0KCkgcHVibGljIGhlYWRlcj86IHN0cmluZ1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlybUxhYmVsPzogc3RyaW5nXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNtaXNzTGFiZWw/OiBzdHJpbmdcbiAgQElucHV0KCkgcHVibGljIHNpemU/OiBTaXplXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlSGVhZGVyPzogYm9vbGVhblxuICBASW5wdXQoKSBwdWJsaWMgaGlkZUZvb3Rlcj86IGJvb2xlYW5cbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVCb2R5U2Nyb2xsPzogYm9vbGVhbiA9IHRydWVcbiAgQElucHV0KCkgcHVibGljIGdldCB0cmFwRm9jdXMoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYXBGb2N1c1xuICB9XG4gIHB1YmxpYyBzZXQgdHJhcEZvY3VzKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdHJhcEZvY3VzID0gdmFsdWVcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKHRoaXMuX2lzT3Blbikge1xuICAgICAgICB0aGlzLmVuYWJsZUZvY3VzVHJhcCgpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzYWJsZUZvY3VzVHJhcCgpXG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lzT3BlblxuICB9XG4gIHB1YmxpYyBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5faXNPcGVuID0gdmFsdWVcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKHRoaXMudHJhcEZvY3VzKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlRm9jdXNUcmFwKClcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZGlzYWJsZUJvZHlTY3JvbGwpIHtcbiAgICAgICAgZGlzYWJsZUJvZHlTY3JvbGwodGhpcy5yZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgIGFsbG93VG91Y2hNb3ZlOiAoZWwpID0+IHtcbiAgICAgICAgICAgIC8vIEFsbG93IHRvdWNobW92ZSBmb3IgZWxlbWVudHMgaW5zaWRlIG1vZGFsLCBpdHMgcmVxdWlyZWQgZm9yIHNjcm9sbCB0byB3b3JrIG9uIGlPUyBkZXZpY2VzXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhlbClcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc2FibGVGb2N1c1RyYXAoKVxuICAgICAgaWYgKHRoaXMuZGlzYWJsZUJvZHlTY3JvbGwpIHtcbiAgICAgICAgZW5hYmxlQm9keVNjcm9sbCh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBwdWJsaWMgaXNPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuICBAT3V0cHV0KCkgcHVibGljIGNsb3NlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KClcbiAgQE91dHB1dCgpIHB1YmxpYyBjb25maXJtOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKVxuICBAT3V0cHV0KCkgcHVibGljIGRpc21pc3M6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vcGVuJykgZ2V0IG9wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuXG4gIH1cbiAgQFZpZXdDaGlsZCgnYmFja2Ryb3AnKSBwcml2YXRlIGJhY2tkcm9wUmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuICBAQ29udGVudENoaWxkKE5nZ01vZGFsSGVhZGVyRGlyZWN0aXZlKVxuICBwdWJsaWMgbW9kYWxIZWFkZXJDb250ZW50PzogTmdnTW9kYWxIZWFkZXJEaXJlY3RpdmVcbiAgQENvbnRlbnRDaGlsZChOZ2dNb2RhbEZvb3RlckRpcmVjdGl2ZSlcbiAgcHVibGljIG1vZGFsRm9vdGVyQ29udGVudD86IE5nZ01vZGFsRm9vdGVyRGlyZWN0aXZlXG5cbiAgcHVibGljIGd1aWQgPSAnJ1xuXG4gIHByaXZhdGUgX2lzT3Blbj86IGJvb2xlYW5cbiAgcHJpdmF0ZSBfdHJhcEZvY3VzPzogYm9vbGVhblxuICBwcml2YXRlIGNvbmZpZ3VyYWJsZUZvY3VzVHJhcDogQ29uZmlndXJhYmxlRm9jdXNUcmFwXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgY29uZmlndXJhYmxlRm9jdXNUcmFwRmFjdG9yeTogQ29uZmlndXJhYmxlRm9jdXNUcmFwRmFjdG9yeSxcbiAgKSB7XG4gICAgdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXAgPSB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnkuY3JlYXRlKFxuICAgICAgdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcbiAgICApXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmd1aWQgPSBnbG9iYWxUaGlzLmNyeXB0by5yYW5kb21VVUlEKClcblxuICAgIGlmICh0aGlzLl9pc09wZW4gJiYgdGhpcy50cmFwRm9jdXMpIHRoaXMuZW5hYmxlRm9jdXNUcmFwKClcbiAgICBlbHNlIHRoaXMuZGlzYWJsZUZvY3VzVHJhcCgpXG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2xvc2VDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuY2xvc2VNb2RhbChldmVudClcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVCYWNrZHJvcENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldCA9PSB0aGlzLmJhY2tkcm9wUmVmPy5uYXRpdmVFbGVtZW50KSB0aGlzLmNsb3NlTW9kYWwoZXZlbnQpXG4gIH1cblxuICBwdWJsaWMgaGFuZGxlRGlzbWlzcyhldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KGV2ZW50KVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUNvbmZpcm0oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmNvbmZpcm0uZW1pdChldmVudClcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VNb2RhbChldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmNsb3NlZC5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jbG9zZWQuZW1pdChldmVudClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZVxuICAgICAgdGhpcy5pc09wZW5DaGFuZ2UuZW1pdCh0aGlzLmlzT3BlbilcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZUZvY3VzVHJhcCgpIHtcbiAgICBpZiAodGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXApIHtcbiAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwLmVuYWJsZWQgPSB0cnVlXG4gICAgICB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcC5mb2N1c0luaXRpYWxFbGVtZW50V2hlblJlYWR5KClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGVGb2N1c1RyYXAoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwKSB7XG4gICAgICB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcC5lbmFibGVkID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcD8uZGVzdHJveSgpXG4gICAgZW5hYmxlQm9keVNjcm9sbCh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KVxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tuZ2ctbW9kYWwtaGVhZGVyXScsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGgzIGRhdGEtdGVzdGlkPVwibW9kYWwtaGVhZGVyLXRleHRcIj57eyBoZWFkZXIgfX08L2gzPlxuICAgIDxidXR0b25cbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtY2xvc2UtYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgKGNsaWNrKT1cInRoaXMuaGFuZGxlQ2xvc2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICAgICAgPGk+PC9pPlxuICAgIDwvYnV0dG9uPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbEhlYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGhlYWRlcj86IHN0cmluZ1xuICBAT3V0cHV0KCkgY2xvc2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KClcblxuICBoYW5kbGVDbG9zZShldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoZXZlbnQpXG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW25nZy1tb2RhbC1ib2R5XScsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsQm9keUNvbXBvbmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbbmdnLW1vZGFsLWZvb3Rlcl0nLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtZGlzbWlzcy1idXR0b25cIlxuICAgICAgKm5nSWY9XCJkaXNtaXNzTGFiZWxcIlxuICAgICAgY2xhc3M9XCJzZWNvbmRhcnlcIlxuICAgICAgKGNsaWNrKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCJcbiAgICA+XG4gICAgICB7eyBkaXNtaXNzTGFiZWwgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWNvbmZpcm0tYnV0dG9uXCJcbiAgICAgICpuZ0lmPVwiY29uZmlybUxhYmVsXCJcbiAgICAgIGNsYXNzPVwicHJpbWFyeVwiXG4gICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIlxuICAgID5cbiAgICAgIHt7IGNvbmZpcm1MYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbEZvb3RlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRpc21pc3NMYWJlbD86IHN0cmluZ1xuICBASW5wdXQoKSBjb25maXJtTGFiZWw/OiBzdHJpbmdcbiAgQE91dHB1dCgpIGRpc21pc3M6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgY29uZmlybTogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgaGFuZGxlRGlzbWlzcyhldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KGV2ZW50KVxuICB9XG5cbiAgaGFuZGxlQ29uZmlybShldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuY29uZmlybS5lbWl0KGV2ZW50KVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcGVuXCIgW25nU3dpdGNoXT1cIm1vZGFsVHlwZVwiPlxuICA8ZGl2IGNsYXNzPVwiZ2RzLWRpYWxvZy13cmFwcGVyXCIgW0Btb2RhbEFuaW1hdGlvbl0+XG4gICAgPGFzaWRlXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInc2xpZGVvdXQnXCJcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgW2F0dHIuYXJpYS1tb2RhbF09XCJ0cmFwRm9jdXMgPyB0cnVlIDogZmFsc2VcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInbW9kYWwtaGVhZGVyLScgKyBndWlkXCJcbiAgICAgIFtjbGFzcy5zbWFsbF09XCJzaXplID09PSAnc20nXCJcbiAgICAgIFtjbGFzcy5tZWRpdW1dPVwic2l6ZSA9PT0gJ21kJ1wiXG4gICAgICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xnJ1wiXG4gICAgICBbY2xhc3MuZW50ZXJlZF09XCJpc09wZW5cIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2FzaWRlPlxuICAgIDxtYWluXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCIndGFrZW92ZXInXCJcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgW2F0dHIuYXJpYS1tb2RhbF09XCJ0cmFwRm9jdXMgPyB0cnVlIDogZmFsc2VcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInbW9kYWwtaGVhZGVyLScgKyBndWlkXCJcbiAgICAgIFtjbGFzcy5lbnRlcmVkXT1cImlzT3BlblwiXG4gICAgICBbY2xhc3Muc21hbGxdPVwic2l6ZSA9PT0gJ3NtJ1wiXG4gICAgICBbY2xhc3MubWVkaXVtXT1cInNpemUgPT09ICdtZCdcIlxuICAgICAgW2NsYXNzLmxhcmdlXT1cInNpemUgPT09ICdsZydcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L21haW4+XG4gICAgPHNlY3Rpb25cbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWxcIlxuICAgICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICBbYXR0ci5hcmlhLW1vZGFsXT1cInRyYXBGb2N1cyA/IHRydWUgOiBmYWxzZVwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidtb2RhbC1oZWFkZXItJyArIGd1aWRcIlxuICAgICAgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbSdcIlxuICAgICAgW2NsYXNzLm1lZGl1bV09XCJzaXplID09PSAnbWQnXCJcbiAgICAgIFtjbGFzcy5sYXJnZV09XCJzaXplID09PSAnbGcnXCJcbiAgICAgIFtjbGFzcy5lbnRlcmVkXT1cImlzT3BlblwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZUhlYWRlclwiPlxuICAgICAgICA8aGVhZGVyXG4gICAgICAgICAgKm5nSWY9XCIhbW9kYWxIZWFkZXJDb250ZW50OyBlbHNlIGhlYWRlckNvbnRlbnRUZW1wbGF0ZVwiXG4gICAgICAgICAgbmdnLW1vZGFsLWhlYWRlclxuICAgICAgICAgIFthdHRyLmlkXT1cIidtb2RhbC1oZWFkZXItJyArIGd1aWRcIlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtaGVhZGVyXCJcbiAgICAgICAgICBbaGVhZGVyXT1cImhlYWRlclwiXG4gICAgICAgICAgKGNsb3NlZCk9XCJ0aGlzLmhhbmRsZUNsb3NlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID48L2hlYWRlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiBuZ2ctbW9kYWwtYm9keSBkYXRhLXRlc3RpZD1cIm1vZGFsLWJvZHlcIiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlDb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoaWRlRm9vdGVyICYmIChkaXNtaXNzTGFiZWwgfHwgY29uZmlybUxhYmVsKVwiPlxuICAgICAgICA8Zm9vdGVyXG4gICAgICAgICAgKm5nSWY9XCIhbW9kYWxGb290ZXJDb250ZW50OyBlbHNlIGZvb3RlckNvbnRlbnRUZW1wbGF0ZVwiXG4gICAgICAgICAgbmdnLW1vZGFsLWZvb3RlclxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCJcbiAgICAgICAgICBbZGlzbWlzc0xhYmVsXT1cImRpc21pc3NMYWJlbFwiXG4gICAgICAgICAgW2NvbmZpcm1MYWJlbF09XCJjb25maXJtTGFiZWxcIlxuICAgICAgICAgIChkaXNtaXNzKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCJcbiAgICAgICAgICAoY29uZmlybSk9XCJ0aGlzLmhhbmRsZUNvbmZpcm0oJGV2ZW50KVwiXG4gICAgICAgID48L2Zvb3Rlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJDb250ZW50VGVtcGxhdGU+XG4gICAgICA8aGVhZGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtaGVhZGVyXCIgW2F0dHIuaWRdPVwiJ21vZGFsLWhlYWRlci0nICsgZ3VpZFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmdnTW9kYWxIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9oZWFkZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2JvZHlDb250ZW50VGVtcGxhdGU+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3RlckNvbnRlbnRUZW1wbGF0ZT5cbiAgICAgIDxmb290ZXIgZGF0YS10ZXN0aWQ9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25nZ01vZGFsRm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZm9vdGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdlxuICAgICAgI2JhY2tkcm9wXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWJhY2tkcm9wXCJcbiAgICAgIGNsYXNzPVwiYmFja2Ryb3AgZW50ZXJlZFwiXG4gICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVCYWNrZHJvcENsaWNrKCRldmVudClcIlxuICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiXG4gICAgPjwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -5,6 +5,9 @@ export class NggInPageWizardStepCardComponent {
5
5
  constructor() {
6
6
  this.handleNextClick = new EventEmitter();
7
7
  this.handleEditClick = new EventEmitter();
8
+ this.stepIsValid = () => {
9
+ return true;
10
+ };
8
11
  this.stepText = '';
9
12
  this.title = '';
10
13
  this.editBtnText = '';
@@ -20,12 +23,14 @@ export class NggInPageWizardStepCardComponent {
20
23
  this.handleEditClick.emit(event);
21
24
  }
22
25
  handleOnNextBtnClick(event) {
23
- this.isActive = false;
24
- this.isCompleted = true;
26
+ if (this.stepIsValid()) {
27
+ this.isActive = false;
28
+ this.isCompleted = true;
29
+ }
25
30
  this.handleNextClick.emit(event);
26
31
  }
27
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggInPageWizardStepCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggInPageWizardStepCardComponent, selector: "ngg-in-page-wizard-step-card", inputs: { stepText: "stepText", title: "title", editBtnText: "editBtnText", nextBtnText: "nextBtnText", showNextBtnIcon: "showNextBtnIcon", isCompleted: "isCompleted", disableNext: "disableNext", isActive: "isActive" }, outputs: { handleNextClick: "handleNextClick", handleEditClick: "handleEditClick" }, ngImport: i0, template: "<section\n class=\"gds-in-page-wizard-step-card card\"\n data-testid=\"in-page-wizard-step-card-root\"\n [class.active]=\"!!isActive\"\n [class.completed]=\"!!isCompleted\"\n>\n <header class=\"gds-in-page-wizard-step-card__header\">\n <div class=\"gds-in-page-wizard-step-card__header__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) -->\n <path\n d=\"M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z\"\n />\n </svg>\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__progress\"\n data-testid=\"in-page-wizard-step-card-step-text\"\n >\n {{ stepText }}\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__title\"\n data-testid=\"in-page-wizard-step-card-title\"\n >\n <h2 class=\"h4\">{{ title }}</h2>\n </div>\n\n <div\n class=\"gds-in-page-wizard-step-card__header__edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary small\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-edit-btn\"\n >\n <ng-template *ngTemplateOutlet=\"editIcon\"> </ng-template>\n {{ editBtnText }}\n </button>\n </div>\n </header>\n\n <div\n class=\"gds-in-page-wizard-step-card__content\"\n *ngIf=\"!!isActive || !!isCompleted\"\n data-testid=\"in-page-wizard-step-card-content\"\n >\n <ng-content></ng-content>\n </div>\n <footer\n class=\"gds-in-page-wizard-step-card__footer gds-in-page-wizard-step-card__footer--edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-footer-edit-btn\"\n >\n <ng-template *ngTemplateOutlet=\"editIcon\"> </ng-template>\n {{ editBtnText }}\n </button>\n </footer>\n\n <footer\n class=\"gds-in-page-wizard-step-card__footer gds-in-page-wizard-step-card__footer--next\"\n *ngIf=\"isActive\"\n >\n <button\n class=\"primary\"\n [disabled]=\"disableNext\"\n (click)=\"handleOnNextBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-next-btn\"\n >\n {{ nextBtnText }}\n <ng-container *ngIf=\"showNextBtnIcon\">\n <ng-template *ngTemplateOutlet=\"nextIcon\"> </ng-template>\n </ng-container>\n </button>\n </footer>\n</section>\n\n<ng-template #editIcon>\n <svg\n viewBox=\"0 0 576 512\"\n class=\"edit-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n fill=\"var(--color)\"\n d=\"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"\n ></path>\n </svg>\n</ng-template>\n\n<ng-template #nextIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1\"\n class=\"next-icon\"\n data-testid=\"in-page-wizard-step-card-next-icon\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 5l0 14\" />\n <path d=\"M18 13l-6 6\" />\n <path d=\"M6 13l6 6\" />\n </svg>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggInPageWizardStepCardComponent, selector: "ngg-in-page-wizard-step-card", inputs: { stepIsValid: "stepIsValid", stepText: "stepText", title: "title", editBtnText: "editBtnText", nextBtnText: "nextBtnText", showNextBtnIcon: "showNextBtnIcon", isCompleted: "isCompleted", disableNext: "disableNext", isActive: "isActive" }, outputs: { handleNextClick: "handleNextClick", handleEditClick: "handleEditClick" }, ngImport: i0, template: "<section\n class=\"gds-in-page-wizard-step-card card\"\n data-testid=\"in-page-wizard-step-card-root\"\n [class.active]=\"!!isActive\"\n [class.completed]=\"!!isCompleted\"\n>\n <header class=\"gds-in-page-wizard-step-card__header\">\n <div class=\"gds-in-page-wizard-step-card__header__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) -->\n <path\n d=\"M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z\"\n />\n </svg>\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__progress\"\n data-testid=\"in-page-wizard-step-card-step-text\"\n >\n {{ stepText }}\n </div>\n <div\n class=\"gds-in-page-wizard-step-card__header__title\"\n data-testid=\"in-page-wizard-step-card-title\"\n >\n <h2 class=\"h4\">{{ title }}</h2>\n </div>\n\n <div\n class=\"gds-in-page-wizard-step-card__header__edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary small\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-edit-btn\"\n >\n <ng-template *ngTemplateOutlet=\"editIcon\"> </ng-template>\n {{ editBtnText }}\n </button>\n </div>\n </header>\n\n <div\n class=\"gds-in-page-wizard-step-card__content\"\n *ngIf=\"!!isActive || !!isCompleted\"\n data-testid=\"in-page-wizard-step-card-content\"\n >\n <ng-content></ng-content>\n </div>\n <footer\n class=\"gds-in-page-wizard-step-card__footer gds-in-page-wizard-step-card__footer--edit\"\n *ngIf=\"isCompleted && !isActive\"\n >\n <button\n class=\"secondary\"\n (click)=\"handleOnEditBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-footer-edit-btn\"\n >\n <ng-template *ngTemplateOutlet=\"editIcon\"> </ng-template>\n {{ editBtnText }}\n </button>\n </footer>\n\n <footer\n class=\"gds-in-page-wizard-step-card__footer gds-in-page-wizard-step-card__footer--next\"\n *ngIf=\"isActive\"\n >\n <button\n class=\"primary\"\n [disabled]=\"disableNext\"\n (click)=\"handleOnNextBtnClick($event)\"\n data-testid=\"in-page-wizard-step-card-next-btn\"\n >\n {{ nextBtnText }}\n <ng-container *ngIf=\"showNextBtnIcon\">\n <ng-template *ngTemplateOutlet=\"nextIcon\"> </ng-template>\n </ng-container>\n </button>\n </footer>\n</section>\n\n<ng-template #editIcon>\n <svg\n viewBox=\"0 0 576 512\"\n class=\"edit-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n fill=\"var(--color)\"\n d=\"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"\n ></path>\n </svg>\n</ng-template>\n\n<ng-template #nextIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1\"\n class=\"next-icon\"\n data-testid=\"in-page-wizard-step-card-next-icon\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 5l0 14\" />\n <path d=\"M18 13l-6 6\" />\n <path d=\"M6 13l6 6\" />\n </svg>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
29
34
  }
30
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggInPageWizardStepCardComponent, decorators: [{
31
36
  type: Component,
@@ -34,6 +39,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34
39
  type: Output
35
40
  }], handleEditClick: [{
36
41
  type: Output
42
+ }], stepIsValid: [{
43
+ type: Input
37
44
  }], stepText: [{
38
45
  type: Input
39
46
  }], title: [{
@@ -51,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
58
  }], isActive: [{
52
59
  type: Input
53
60
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2luLXBhZ2Utd2l6YXJkL2luLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9pbi1wYWdlLXdpemFyZC9pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBTXRFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFKN0M7UUFNVyxvQkFBZSxHQUN0QixJQUFJLFlBQVksRUFBYyxDQUFBO1FBR3ZCLG9CQUFlLEdBQ3RCLElBQUksWUFBWSxFQUFjLENBQUE7UUFFaEIsYUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUViLFVBQUssR0FBRyxFQUFFLENBQUE7UUFFVixnQkFBVyxHQUFHLEVBQUUsQ0FBQTtRQUVoQixnQkFBVyxHQUFHLEVBQUUsQ0FBQTtRQUVoQixvQkFBZSxHQUFHLElBQUksQ0FBQTtRQUV0QixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUVuQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUVuQixhQUFRLEdBQUcsS0FBSyxDQUFBO0tBWWpDO0lBVkMsb0JBQW9CLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUNELG9CQUFvQixDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7K0dBbENVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHFYQ043QywyOEhBZ0hBOzs0RkQxR2EsZ0NBQWdDO2tCQUo1QyxTQUFTOytCQUNFLDhCQUE4Qjs4QkFLL0IsZUFBZTtzQkFEdkIsTUFBTTtnQkFLRSxlQUFlO3NCQUR2QixNQUFNO2dCQUlTLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRVUsZUFBZTtzQkFBOUIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dJblBhZ2VXaXphcmRTdGVwQ2FyZENvbXBvbmVudCB7XG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBoYW5kbGVOZXh0Q2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpXG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGhhbmRsZUVkaXRDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KClcblxuICBASW5wdXQoKSBwdWJsaWMgc3RlcFRleHQgPSAnJ1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZSA9ICcnXG5cbiAgQElucHV0KCkgcHVibGljIGVkaXRCdG5UZXh0ID0gJydcblxuICBASW5wdXQoKSBwdWJsaWMgbmV4dEJ0blRleHQgPSAnJ1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93TmV4dEJ0bkljb24gPSB0cnVlXG5cbiAgQElucHV0KCkgcHVibGljIGlzQ29tcGxldGVkID0gZmFsc2VcblxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZU5leHQgPSBmYWxzZVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0FjdGl2ZSA9IGZhbHNlXG5cbiAgaGFuZGxlT25FZGl0QnRuQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gIXRoaXMuaXNBY3RpdmVcbiAgICB0aGlzLmlzQ29tcGxldGVkID0gZmFsc2VcbiAgICB0aGlzLmhhbmRsZUVkaXRDbGljay5lbWl0KGV2ZW50KVxuICB9XG4gIGhhbmRsZU9uTmV4dEJ0bkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlXG4gICAgdGhpcy5pc0NvbXBsZXRlZCA9IHRydWVcbiAgICB0aGlzLmhhbmRsZU5leHRDbGljay5lbWl0KGV2ZW50KVxuICB9XG59XG4iLCI8c2VjdGlvblxuICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQgY2FyZFwiXG4gIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLXJvb3RcIlxuICBbY2xhc3MuYWN0aXZlXT1cIiEhaXNBY3RpdmVcIlxuICBbY2xhc3MuY29tcGxldGVkXT1cIiEhaXNDb21wbGV0ZWRcIlxuPlxuICA8aGVhZGVyIGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9faGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9faWNvblwiPlxuICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+XG4gICAgICAgIDwhLS0gRm9udCBBd2Vzb21lIFBybyA1LjE1LjQgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgLS0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk00MzUuODQ4IDgzLjQ2NkwxNzIuODA0IDM0Ni41MWwtOTYuNjUyLTk2LjY1MmMtNC42ODYtNC42ODYtMTIuMjg0LTQuNjg2LTE2Ljk3MSAwbC0yOC4yODQgMjguMjg0Yy00LjY4NiA0LjY4Ni00LjY4NiAxMi4yODQgMCAxNi45NzFsMTMzLjQyMSAxMzMuNDIxYzQuNjg2IDQuNjg2IDEyLjI4NCA0LjY4NiAxNi45NzEgMGwyOTkuODEzLTI5OS44MTNjNC42ODYtNC42ODYgNC42ODYtMTIuMjg0IDAtMTYuOTcxbC0yOC4yODQtMjguMjg0Yy00LjY4Ni00LjY4Ni0xMi4yODQtNC42ODYtMTYuOTcgMHpcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19oZWFkZXJfX3Byb2dyZXNzXCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLXN0ZXAtdGV4dFwiXG4gICAgPlxuICAgICAge3sgc3RlcFRleHQgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9fdGl0bGVcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtdGl0bGVcIlxuICAgID5cbiAgICAgIDxoMiBjbGFzcz1cImg0XCI+e3sgdGl0bGUgfX08L2gyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19oZWFkZXJfX2VkaXRcIlxuICAgICAgKm5nSWY9XCJpc0NvbXBsZXRlZCAmJiAhaXNBY3RpdmVcIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJzZWNvbmRhcnkgc21hbGxcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlT25FZGl0QnRuQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLWVkaXQtYnRuXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiZWRpdEljb25cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAge3sgZWRpdEJ0blRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2hlYWRlcj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19jb250ZW50XCJcbiAgICAqbmdJZj1cIiEhaXNBY3RpdmUgfHwgISFpc0NvbXBsZXRlZFwiXG4gICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtY29udGVudFwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8Zm9vdGVyXG4gICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19mb290ZXIgZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9fZm9vdGVyLS1lZGl0XCJcbiAgICAqbmdJZj1cImlzQ29tcGxldGVkICYmICFpc0FjdGl2ZVwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNlY29uZGFyeVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlT25FZGl0QnRuQ2xpY2soJGV2ZW50KVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1mb290ZXItZWRpdC1idG5cIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImVkaXRJY29uXCI+IDwvbmctdGVtcGxhdGU+XG4gICAgICB7eyBlZGl0QnRuVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Zvb3Rlcj5cblxuICA8Zm9vdGVyXG4gICAgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19mb290ZXIgZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9fZm9vdGVyLS1uZXh0XCJcbiAgICAqbmdJZj1cImlzQWN0aXZlXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwicHJpbWFyeVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZU5leHRcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZU9uTmV4dEJ0bkNsaWNrKCRldmVudClcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtbmV4dC1idG5cIlxuICAgID5cbiAgICAgIHt7IG5leHRCdG5UZXh0IH19XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd05leHRCdG5JY29uXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm5leHRJY29uXCI+IDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9mb290ZXI+XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjZWRpdEljb24+XG4gIDxzdmdcbiAgICB2aWV3Qm94PVwiMCAwIDU3NiA1MTJcIlxuICAgIGNsYXNzPVwiZWRpdC1pY29uXCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gID5cbiAgICA8cGF0aFxuICAgICAgZmlsbD1cInZhcigtLWNvbG9yKVwiXG4gICAgICBkPVwiTTQwMi4zIDM0NC45bDMyLTMyYzUtNSAxMy43LTEuNSAxMy43IDUuN1Y0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjExMmMwLTI2LjUgMjEuNS00OCA0OC00OGgyNzMuNWM3LjEgMCAxMC43IDguNiA1LjcgMTMuN2wtMzIgMzJjLTEuNSAxLjUtMy41IDIuMy01LjcgMi4zSDQ4djM1MmgzNTJWMzUwLjVjMC0yLjEuOC00LjEgMi4zLTUuNnptMTU2LjYtMjAxLjhMMjk2LjMgNDA1LjdsLTkwLjQgMTBjLTI2LjIgMi45LTQ4LjUtMTkuMi00NS42LTQ1LjZsMTAtOTAuNEw0MzIuOSAxNy4xYzIyLjktMjIuOSA1OS45LTIyLjkgODIuNyAwbDQzLjIgNDMuMmMyMi45IDIyLjkgMjIuOSA2MCAuMSA4Mi44ek00NjAuMSAxNzRMNDAyIDExNS45IDIxNi4yIDMwMS44bC03LjMgNjUuMyA2NS4zLTcuM0w0NjAuMSAxNzR6bTY0LjgtNzkuN2wtNDMuMi00My4yYy00LjEtNC4xLTEwLjgtNC4xLTE0LjggMEw0MzYgODJsNTguMSA1OC4xIDMwLjktMzAuOWM0LTQuMiA0LTEwLjgtLjEtMTQuOXpcIlxuICAgID48L3BhdGg+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNuZXh0SWNvbj5cbiAgPHN2Z1xuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgIHN0cm9rZS13aWR0aD1cIjFcIlxuICAgIGNsYXNzPVwibmV4dC1pY29uXCJcbiAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1uZXh0LWljb25cIlxuICA+XG4gICAgPHBhdGggc3Ryb2tlPVwibm9uZVwiIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTIgNWwwIDE0XCIgLz5cbiAgICA8cGF0aCBkPVwiTTE4IDEzbC02IDZcIiAvPlxuICAgIDxwYXRoIGQ9XCJNNiAxM2w2IDZcIiAvPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2luLXBhZ2Utd2l6YXJkL2luLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9pbi1wYWdlLXdpemFyZC9pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBTXRFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFKN0M7UUFNVyxvQkFBZSxHQUN0QixJQUFJLFlBQVksRUFBYyxDQUFBO1FBR3ZCLG9CQUFlLEdBQ3RCLElBQUksWUFBWSxFQUFjLENBQUE7UUFFaEIsZ0JBQVcsR0FBRyxHQUFHLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUE7UUFFZSxhQUFRLEdBQUcsRUFBRSxDQUFBO1FBRWIsVUFBSyxHQUFHLEVBQUUsQ0FBQTtRQUVWLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBRWhCLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBRWhCLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBRXRCLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBRW5CLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUE7S0FlakM7SUFiQyxvQkFBb0IsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDOytHQXpDVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyxpWkNON0MsMjhIQWdIQTs7NEZEMUdhLGdDQUFnQztrQkFKNUMsU0FBUzsrQkFDRSw4QkFBOEI7OEJBSy9CLGVBQWU7c0JBRHZCLE1BQU07Z0JBS0UsZUFBZTtzQkFEdkIsTUFBTTtnQkFJUyxXQUFXO3NCQUExQixLQUFLO2dCQUlVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRVUsZUFBZTtzQkFBOUIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dJblBhZ2VXaXphcmRTdGVwQ2FyZENvbXBvbmVudCB7XG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBoYW5kbGVOZXh0Q2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpXG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGhhbmRsZUVkaXRDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KClcblxuICBASW5wdXQoKSBwdWJsaWMgc3RlcElzVmFsaWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc3RlcFRleHQgPSAnJ1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZSA9ICcnXG5cbiAgQElucHV0KCkgcHVibGljIGVkaXRCdG5UZXh0ID0gJydcblxuICBASW5wdXQoKSBwdWJsaWMgbmV4dEJ0blRleHQgPSAnJ1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93TmV4dEJ0bkljb24gPSB0cnVlXG5cbiAgQElucHV0KCkgcHVibGljIGlzQ29tcGxldGVkID0gZmFsc2VcblxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZU5leHQgPSBmYWxzZVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0FjdGl2ZSA9IGZhbHNlXG5cbiAgaGFuZGxlT25FZGl0QnRuQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gIXRoaXMuaXNBY3RpdmVcbiAgICB0aGlzLmlzQ29tcGxldGVkID0gZmFsc2VcbiAgICB0aGlzLmhhbmRsZUVkaXRDbGljay5lbWl0KGV2ZW50KVxuICB9XG4gIGhhbmRsZU9uTmV4dEJ0bkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuc3RlcElzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0NvbXBsZXRlZCA9IHRydWU7XG4gICAgfVxuICAgIFxuICAgIHRoaXMuaGFuZGxlTmV4dENsaWNrLmVtaXQoZXZlbnQpXG4gIH1cbn1cbiIsIjxzZWN0aW9uXG4gIGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZCBjYXJkXCJcbiAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtcm9vdFwiXG4gIFtjbGFzcy5hY3RpdmVdPVwiISFpc0FjdGl2ZVwiXG4gIFtjbGFzcy5jb21wbGV0ZWRdPVwiISFpc0NvbXBsZXRlZFwiXG4+XG4gIDxoZWFkZXIgY2xhc3M9XCJnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9faGVhZGVyX19pY29uXCI+XG4gICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj5cbiAgICAgICAgPCEtLSBGb250IEF3ZXNvbWUgUHJvIDUuMTUuNCBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbSBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZSAoQ29tbWVyY2lhbCBMaWNlbnNlKSAtLT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTQzNS44NDggODMuNDY2TDE3Mi44MDQgMzQ2LjUxbC05Ni42NTItOTYuNjUyYy00LjY4Ni00LjY4Ni0xMi4yODQtNC42ODYtMTYuOTcxIDBsLTI4LjI4NCAyOC4yODRjLTQuNjg2IDQuNjg2LTQuNjg2IDEyLjI4NCAwIDE2Ljk3MWwxMzMuNDIxIDEzMy40MjFjNC42ODYgNC42ODYgMTIuMjg0IDQuNjg2IDE2Ljk3MSAwbDI5OS44MTMtMjk5LjgxM2M0LjY4Ni00LjY4NiA0LjY4Ni0xMi4yODQgMC0xNi45NzFsLTI4LjI4NC0yOC4yODRjLTQuNjg2LTQuNjg2LTEyLjI4NC00LjY4Ni0xNi45NyAwelwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9fcHJvZ3Jlc3NcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtc3RlcC10ZXh0XCJcbiAgICA+XG4gICAgICB7eyBzdGVwVGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZ2RzLWluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZF9faGVhZGVyX190aXRsZVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC10aXRsZVwiXG4gICAgPlxuICAgICAgPGgyIGNsYXNzPVwiaDRcIj57eyB0aXRsZSB9fTwvaDI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2hlYWRlcl9fZWRpdFwiXG4gICAgICAqbmdJZj1cImlzQ29tcGxldGVkICYmICFpc0FjdGl2ZVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNlY29uZGFyeSBzbWFsbFwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVPbkVkaXRCdG5DbGljaygkZXZlbnQpXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbi1wYWdlLXdpemFyZC1zdGVwLWNhcmQtZWRpdC1idG5cIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlZGl0SWNvblwiPiA8L25nLXRlbXBsYXRlPlxuICAgICAgICB7eyBlZGl0QnRuVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2NvbnRlbnRcIlxuICAgICpuZ0lmPVwiISFpc0FjdGl2ZSB8fCAhIWlzQ29tcGxldGVkXCJcbiAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1jb250ZW50XCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxmb290ZXJcbiAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2Zvb3RlciBnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19mb290ZXItLWVkaXRcIlxuICAgICpuZ0lmPVwiaXNDb21wbGV0ZWQgJiYgIWlzQWN0aXZlXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2Vjb25kYXJ5XCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVPbkVkaXRCdG5DbGljaygkZXZlbnQpXCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLWZvb3Rlci1lZGl0LWJ0blwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiZWRpdEljb25cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgIHt7IGVkaXRCdG5UZXh0IH19XG4gICAgPC9idXR0b24+XG4gIDwvZm9vdGVyPlxuXG4gIDxmb290ZXJcbiAgICBjbGFzcz1cImdkcy1pbi1wYWdlLXdpemFyZC1zdGVwLWNhcmRfX2Zvb3RlciBnZHMtaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkX19mb290ZXItLW5leHRcIlxuICAgICpuZ0lmPVwiaXNBY3RpdmVcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJwcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlTmV4dFwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlT25OZXh0QnRuQ2xpY2soJGV2ZW50KVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImluLXBhZ2Utd2l6YXJkLXN0ZXAtY2FyZC1uZXh0LWJ0blwiXG4gICAgPlxuICAgICAge3sgbmV4dEJ0blRleHQgfX1cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93TmV4dEJ0bkljb25cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibmV4dEljb25cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuICA8L2Zvb3Rlcj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICNlZGl0SWNvbj5cbiAgPHN2Z1xuICAgIHZpZXdCb3g9XCIwIDAgNTc2IDUxMlwiXG4gICAgY2xhc3M9XCJlZGl0LWljb25cIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwidmFyKC0tY29sb3IpXCJcbiAgICAgIGQ9XCJNNDAyLjMgMzQ0LjlsMzItMzJjNS01IDEzLjctMS41IDEzLjcgNS43VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDI3My41YzcuMSAwIDEwLjcgOC42IDUuNyAxMy43bC0zMiAzMmMtMS41IDEuNS0zLjUgMi4zLTUuNyAyLjNINDh2MzUyaDM1MlYzNTAuNWMwLTIuMS44LTQuMSAyLjMtNS42em0xNTYuNi0yMDEuOEwyOTYuMyA0MDUuN2wtOTAuNCAxMGMtMjYuMiAyLjktNDguNS0xOS4yLTQ1LjYtNDUuNmwxMC05MC40TDQzMi45IDE3LjFjMjIuOS0yMi45IDU5LjktMjIuOSA4Mi43IDBsNDMuMiA0My4yYzIyLjkgMjIuOSAyMi45IDYwIC4xIDgyLjh6TTQ2MC4xIDE3NEw0MDIgMTE1LjkgMjE2LjIgMzAxLjhsLTcuMyA2NS4zIDY1LjMtNy4zTDQ2MC4xIDE3NHptNjQuOC03OS43bC00My4yLTQzLjJjLTQuMS00LjEtMTAuOC00LjEtMTQuOCAwTDQzNiA4Mmw1OC4xIDU4LjEgMzAuOS0zMC45YzQtNC4yIDQtMTAuOC0uMS0xNC45elwiXG4gICAgPjwvcGF0aD5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25leHRJY29uPlxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgc3Ryb2tlLXdpZHRoPVwiMVwiXG4gICAgY2xhc3M9XCJuZXh0LWljb25cIlxuICAgIGRhdGEtdGVzdGlkPVwiaW4tcGFnZS13aXphcmQtc3RlcC1jYXJkLW5leHQtaWNvblwiXG4gID5cbiAgICA8cGF0aCBzdHJva2U9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgPHBhdGggZD1cIk0xMiA1bDAgMTRcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTggMTNsLTYgNlwiIC8+XG4gICAgPHBhdGggZD1cIk02IDEzbDYgNlwiIC8+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==