@impartner/design-components 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/esm2020/lib/avatar/avatar.component.mjs +4 -3
  2. package/esm2020/lib/avatar/avatar.module.mjs +6 -5
  3. package/esm2020/lib/badge/badge.component.mjs +4 -3
  4. package/esm2020/lib/badge/badge.module.mjs +6 -5
  5. package/esm2020/lib/data-card/data-card.component.mjs +4 -3
  6. package/esm2020/lib/data-card/data-card.module.mjs +6 -5
  7. package/esm2020/lib/file-upload/file-upload.component.mjs +6 -5
  8. package/esm2020/lib/file-upload/file-upload.module.mjs +7 -6
  9. package/esm2020/lib/form-field/controls/select/option/select-option.component.mjs +4 -3
  10. package/esm2020/lib/form-field/controls/select/select.module.mjs +15 -5
  11. package/esm2020/lib/icon/icon.component.mjs +6 -4
  12. package/esm2020/lib/pagination/pagination.component.mjs +6 -5
  13. package/esm2020/lib/pagination/pagination.module.mjs +20 -5
  14. package/esm2020/lib/scrollable/scrollable.component.mjs +3 -3
  15. package/esm2020/lib/select-icon/select-icon.component.mjs +7 -6
  16. package/fesm2015/impartner-design-components.mjs +68 -43
  17. package/fesm2015/impartner-design-components.mjs.map +1 -1
  18. package/fesm2020/impartner-design-components.mjs +68 -43
  19. package/fesm2020/impartner-design-components.mjs.map +1 -1
  20. package/lib/avatar/avatar.module.d.ts +2 -1
  21. package/lib/badge/badge.module.d.ts +2 -1
  22. package/lib/data-card/data-card.module.d.ts +2 -1
  23. package/lib/file-upload/file-upload.module.d.ts +2 -1
  24. package/lib/form-field/controls/select/select.module.d.ts +2 -1
  25. package/lib/icon/icon.component.d.ts +3 -1
  26. package/lib/pagination/pagination.module.d.ts +2 -1
  27. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { Component, Input } from '@angular/core';
2
2
  import { ComponentSize } from '../../types';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
+ import * as i2 from "../icon/icon.component";
5
6
  /**
6
7
  * The `AvatarComponent` (`<impdc-avatar`) is a rounded user avatar/icon with an optional status color.
7
8
  * For a horizontal container, see [AvatarGroupComponent](./?path=/docs/design-components-avatar--group).
@@ -31,10 +32,10 @@ export class AvatarComponent {
31
32
  }
32
33
  }
33
34
  AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
- AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AvatarComponent, selector: "impdc-avatar", inputs: { imgSrc: "imgSrc", initials: "initials", status: "status", size: "size" }, ngImport: i0, template: "<div class=\"avatar-container\">\n <span class=\"avatar-status\" *ngIf=\"status\" [ngClass]=\"[size, status]\"></span>\n\n <img\n class=\"avatar\"\n *ngIf=\"avatarHasImg\"\n [attr.src]=\"imgSrc\"\n [ngClass]=\"size\" />\n <div\n class=\"avatar initials\"\n *ngIf=\"!avatarHasImg && initials\"\n [ngClass]=\"size\">\n {{ initials.toUpperCase() }}\n </div>\n\n <div\n class=\"avatar fallback\"\n *ngIf=\"!avatarHasImg && !initials\"\n [ngClass]=\"size\">\n <span class=\"fas fa-user\"></span>\n </div>\n</div>\n", styles: [".avatar-container{display:flex;position:relative;align-items:center;justify-content:center}.avatar-right{margin-left:1.2rem}.avatar{border-radius:50%}.avatar.xs{height:2.4rem;width:2.4rem}.avatar.sm{height:3.2rem;width:3.2rem}.avatar.md{height:4rem;width:4rem}.avatar.lg{height:4.8rem;width:4.8rem}.avatar.xl{height:5.6rem;width:5.6rem}.avatar.xxl{height:6.4rem;width:6.4rem}.avatar.initials{background-color:var(--impd-color-gray-400);color:var(--impd-color-white)}.avatar.initials.xs{font-size:1.2rem}.avatar.initials.sm{font-size:1.4rem}.avatar.initials.md{font-size:1.6rem}.avatar.initials.lg{font-size:1.8rem}.avatar.initials.xl{font-size:2rem}.avatar.initials.xxl{font-size:2.2rem}.avatar.fallback{background:var(--impd-color-gray-100);color:var(--impd-color-gray-300)}.avatar.fallback.xs{font-size:1.2rem}.avatar.fallback.sm{font-size:1.7rem}.avatar.fallback.md{font-size:2.3rem}.avatar.fallback.lg{font-size:2.9rem}.avatar.fallback.xl{font-size:3.5rem}.avatar.fallback.xxl{font-size:3.9rem}.avatar.initials,.avatar.fallback{display:flex;align-items:center;justify-content:center}.avatar-status{border-radius:50%;border:.2rem solid var(--impd-color-white);position:absolute;top:0;right:0}.avatar-status.xs{height:.6rem;width:.6rem}.avatar-status.sm{height:.8rem;width:.8rem}.avatar-status.md{height:1rem;width:1rem}.avatar-status.lg{height:1.2rem;width:1.2rem}.avatar-status.xl{height:1.4rem;width:1.4rem}.avatar-status.xxl{height:1.6rem;width:1.6rem}.avatar-status.active{background-color:var(--impd-color-green-400)}.avatar-status.inactive{background-color:var(--impd-color-gray-300)}.avatar-status.busy{background-color:var(--impd-color-red-400)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
35
+ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AvatarComponent, selector: "impdc-avatar", inputs: { imgSrc: "imgSrc", initials: "initials", status: "status", size: "size" }, ngImport: i0, template: "<div class=\"avatar-container\">\n <span class=\"avatar-status\" *ngIf=\"status\" [ngClass]=\"[size, status]\"></span>\n\n <img\n class=\"avatar\"\n *ngIf=\"avatarHasImg\"\n [attr.src]=\"imgSrc\"\n [ngClass]=\"size\" />\n <div\n class=\"avatar initials\"\n *ngIf=\"!avatarHasImg && initials\"\n [ngClass]=\"size\">\n {{ initials.toUpperCase() }}\n </div>\n\n <div\n class=\"avatar fallback\"\n *ngIf=\"!avatarHasImg && !initials\"\n [ngClass]=\"size\">\n <span impdc-icon name=\"user\"></span>\n </div>\n</div>\n", styles: [".avatar-container{display:flex;position:relative;align-items:center;justify-content:center}.avatar-right{margin-left:1.2rem}.avatar{border-radius:50%}.avatar.xs{height:2.4rem;width:2.4rem}.avatar.sm{height:3.2rem;width:3.2rem}.avatar.md{height:4rem;width:4rem}.avatar.lg{height:4.8rem;width:4.8rem}.avatar.xl{height:5.6rem;width:5.6rem}.avatar.xxl{height:6.4rem;width:6.4rem}.avatar.initials{background-color:var(--impd-color-gray-400);color:var(--impd-color-white)}.avatar.initials.xs{font-size:1.2rem}.avatar.initials.sm{font-size:1.4rem}.avatar.initials.md{font-size:1.6rem}.avatar.initials.lg{font-size:1.8rem}.avatar.initials.xl{font-size:2rem}.avatar.initials.xxl{font-size:2.2rem}.avatar.fallback{background:var(--impd-color-gray-100);color:var(--impd-color-gray-300)}.avatar.fallback.xs{font-size:1.2rem}.avatar.fallback.sm{font-size:1.7rem}.avatar.fallback.md{font-size:2.3rem}.avatar.fallback.lg{font-size:2.9rem}.avatar.fallback.xl{font-size:3.5rem}.avatar.fallback.xxl{font-size:3.9rem}.avatar.initials,.avatar.fallback{display:flex;align-items:center;justify-content:center}.avatar-status{border-radius:50%;border:.2rem solid var(--impd-color-white);position:absolute;top:0;right:0}.avatar-status.xs{height:.6rem;width:.6rem}.avatar-status.sm{height:.8rem;width:.8rem}.avatar-status.md{height:1rem;width:1rem}.avatar-status.lg{height:1.2rem;width:1.2rem}.avatar-status.xl{height:1.4rem;width:1.4rem}.avatar-status.xxl{height:1.6rem;width:1.6rem}.avatar-status.active{background-color:var(--impd-color-green-400)}.avatar-status.inactive{background-color:var(--impd-color-gray-300)}.avatar-status.busy{background-color:var(--impd-color-red-400)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] });
35
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarComponent, decorators: [{
36
37
  type: Component,
37
- args: [{ selector: 'impdc-avatar', template: "<div class=\"avatar-container\">\n <span class=\"avatar-status\" *ngIf=\"status\" [ngClass]=\"[size, status]\"></span>\n\n <img\n class=\"avatar\"\n *ngIf=\"avatarHasImg\"\n [attr.src]=\"imgSrc\"\n [ngClass]=\"size\" />\n <div\n class=\"avatar initials\"\n *ngIf=\"!avatarHasImg && initials\"\n [ngClass]=\"size\">\n {{ initials.toUpperCase() }}\n </div>\n\n <div\n class=\"avatar fallback\"\n *ngIf=\"!avatarHasImg && !initials\"\n [ngClass]=\"size\">\n <span class=\"fas fa-user\"></span>\n </div>\n</div>\n", styles: [".avatar-container{display:flex;position:relative;align-items:center;justify-content:center}.avatar-right{margin-left:1.2rem}.avatar{border-radius:50%}.avatar.xs{height:2.4rem;width:2.4rem}.avatar.sm{height:3.2rem;width:3.2rem}.avatar.md{height:4rem;width:4rem}.avatar.lg{height:4.8rem;width:4.8rem}.avatar.xl{height:5.6rem;width:5.6rem}.avatar.xxl{height:6.4rem;width:6.4rem}.avatar.initials{background-color:var(--impd-color-gray-400);color:var(--impd-color-white)}.avatar.initials.xs{font-size:1.2rem}.avatar.initials.sm{font-size:1.4rem}.avatar.initials.md{font-size:1.6rem}.avatar.initials.lg{font-size:1.8rem}.avatar.initials.xl{font-size:2rem}.avatar.initials.xxl{font-size:2.2rem}.avatar.fallback{background:var(--impd-color-gray-100);color:var(--impd-color-gray-300)}.avatar.fallback.xs{font-size:1.2rem}.avatar.fallback.sm{font-size:1.7rem}.avatar.fallback.md{font-size:2.3rem}.avatar.fallback.lg{font-size:2.9rem}.avatar.fallback.xl{font-size:3.5rem}.avatar.fallback.xxl{font-size:3.9rem}.avatar.initials,.avatar.fallback{display:flex;align-items:center;justify-content:center}.avatar-status{border-radius:50%;border:.2rem solid var(--impd-color-white);position:absolute;top:0;right:0}.avatar-status.xs{height:.6rem;width:.6rem}.avatar-status.sm{height:.8rem;width:.8rem}.avatar-status.md{height:1rem;width:1rem}.avatar-status.lg{height:1.2rem;width:1.2rem}.avatar-status.xl{height:1.4rem;width:1.4rem}.avatar-status.xxl{height:1.6rem;width:1.6rem}.avatar-status.active{background-color:var(--impd-color-green-400)}.avatar-status.inactive{background-color:var(--impd-color-gray-300)}.avatar-status.busy{background-color:var(--impd-color-red-400)}\n"] }]
38
+ args: [{ selector: 'impdc-avatar', template: "<div class=\"avatar-container\">\n <span class=\"avatar-status\" *ngIf=\"status\" [ngClass]=\"[size, status]\"></span>\n\n <img\n class=\"avatar\"\n *ngIf=\"avatarHasImg\"\n [attr.src]=\"imgSrc\"\n [ngClass]=\"size\" />\n <div\n class=\"avatar initials\"\n *ngIf=\"!avatarHasImg && initials\"\n [ngClass]=\"size\">\n {{ initials.toUpperCase() }}\n </div>\n\n <div\n class=\"avatar fallback\"\n *ngIf=\"!avatarHasImg && !initials\"\n [ngClass]=\"size\">\n <span impdc-icon name=\"user\"></span>\n </div>\n</div>\n", styles: [".avatar-container{display:flex;position:relative;align-items:center;justify-content:center}.avatar-right{margin-left:1.2rem}.avatar{border-radius:50%}.avatar.xs{height:2.4rem;width:2.4rem}.avatar.sm{height:3.2rem;width:3.2rem}.avatar.md{height:4rem;width:4rem}.avatar.lg{height:4.8rem;width:4.8rem}.avatar.xl{height:5.6rem;width:5.6rem}.avatar.xxl{height:6.4rem;width:6.4rem}.avatar.initials{background-color:var(--impd-color-gray-400);color:var(--impd-color-white)}.avatar.initials.xs{font-size:1.2rem}.avatar.initials.sm{font-size:1.4rem}.avatar.initials.md{font-size:1.6rem}.avatar.initials.lg{font-size:1.8rem}.avatar.initials.xl{font-size:2rem}.avatar.initials.xxl{font-size:2.2rem}.avatar.fallback{background:var(--impd-color-gray-100);color:var(--impd-color-gray-300)}.avatar.fallback.xs{font-size:1.2rem}.avatar.fallback.sm{font-size:1.7rem}.avatar.fallback.md{font-size:2.3rem}.avatar.fallback.lg{font-size:2.9rem}.avatar.fallback.xl{font-size:3.5rem}.avatar.fallback.xxl{font-size:3.9rem}.avatar.initials,.avatar.fallback{display:flex;align-items:center;justify-content:center}.avatar-status{border-radius:50%;border:.2rem solid var(--impd-color-white);position:absolute;top:0;right:0}.avatar-status.xs{height:.6rem;width:.6rem}.avatar-status.sm{height:.8rem;width:.8rem}.avatar-status.md{height:1rem;width:1rem}.avatar-status.lg{height:1.2rem;width:1.2rem}.avatar-status.xl{height:1.4rem;width:1.4rem}.avatar-status.xxl{height:1.6rem;width:1.6rem}.avatar-status.active{background-color:var(--impd-color-green-400)}.avatar-status.inactive{background-color:var(--impd-color-gray-300)}.avatar-status.busy{background-color:var(--impd-color-red-400)}\n"] }]
38
39
  }], propDecorators: { imgSrc: [{
39
40
  type: Input
40
41
  }], initials: [{
@@ -44,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
44
45
  }], size: [{
45
46
  type: Input
46
47
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBeUIsTUFBTSxhQUFhLENBQUM7OztBQUVuRTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFNRTs7V0FFRztRQUNNLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFFckI7O1dBRUc7UUFDTSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRXZCOztXQUVHO1FBQ00sV0FBTSxHQUF3QyxFQUFFLENBQUM7UUFFMUQ7O1dBRUc7UUFDTSxTQUFJLEdBQTBCLGFBQWEsQ0FBQyxNQUFNLENBQUM7S0FLN0Q7SUFIQyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM5RCxDQUFDOzs2R0F2QlUsZUFBZTtpR0FBZixlQUFlLHdJQ2I1Qix5aUJBc0JBOzRGRFRhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsY0FBYzs4QkFRZixNQUFNO3NCQUFkLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSwgUHJpbWFyeUNvbXBvbmVudFNpemVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG4vKipcbiAqIFRoZSBgQXZhdGFyQ29tcG9uZW50YCAoYDxpbXBkYy1hdmF0YXJgKSBpcyBhIHJvdW5kZWQgdXNlciBhdmF0YXIvaWNvbiB3aXRoIGFuIG9wdGlvbmFsIHN0YXR1cyBjb2xvci5cbiAqIEZvciBhIGhvcml6b250YWwgY29udGFpbmVyLCBzZWUgW0F2YXRhckdyb3VwQ29tcG9uZW50XSguLz9wYXRoPS9kb2NzL2Rlc2lnbi1jb21wb25lbnRzLWF2YXRhci0tZ3JvdXApLlxuICogVG8gdXNlLCBpbXBvcnQgYEF2YXRhck1vZHVsZWAgb3IgYW5vdGhlciBtb2R1bGUgdGhhdCBpbXBvcnRzIGFuZCBleHBvcnRzIHRoYXQgbW9kdWxlIGZyb20gYEBpbXBhcnRuZXIvZGVzaWduLWNvbXBvbmVudHNgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbXBkYy1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBpbWFnZSBzb3VyY2UgdXJsIHRvIGRpc3BsYXkgYXMgdGhlIEF2YXRhcidzIGJhY2tncm91bmQuXG4gICAqL1xuICBASW5wdXQoKSBpbWdTcmMgPSAnJztcblxuICAvKipcbiAgICogSW5pdGlhbHMgdG8gZGlzcGxheSBpZiBhbiBgaW1nU3JjYCBpcyBub3QgYXZhaWxhYmxlLlxuICAgKi9cbiAgQElucHV0KCkgaW5pdGlhbHMgPSAnJztcblxuICAvKipcbiAgICogQSBzdGF0dXMgdG8gZGlzcGxheSBhcyBwYXJ0IG9mIHRoZSBBdmF0YXIuXG4gICAqL1xuICBASW5wdXQoKSBzdGF0dXM6ICcnIHwgJ2FjdGl2ZScgfCAnaW5hY3RpdmUnIHwgJ2J1c3knID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBBdmF0YXIuXG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBQcmltYXJ5Q29tcG9uZW50U2l6ZXMgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcblxuICBnZXQgYXZhdGFySGFzSW1nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmltZ1NyYyAmJiB0aGlzLmltZ1NyYy5sZW5ndGggPiAwID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXZhdGFyLWNvbnRhaW5lclwiPlxuICA8c3BhbiBjbGFzcz1cImF2YXRhci1zdGF0dXNcIiAqbmdJZj1cInN0YXR1c1wiIFtuZ0NsYXNzXT1cIltzaXplLCBzdGF0dXNdXCI+PC9zcGFuPlxuXG4gIDxpbWdcbiAgICBjbGFzcz1cImF2YXRhclwiXG4gICAgKm5nSWY9XCJhdmF0YXJIYXNJbWdcIlxuICAgIFthdHRyLnNyY109XCJpbWdTcmNcIlxuICAgIFtuZ0NsYXNzXT1cInNpemVcIiAvPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJhdmF0YXIgaW5pdGlhbHNcIlxuICAgICpuZ0lmPVwiIWF2YXRhckhhc0ltZyAmJiBpbml0aWFsc1wiXG4gICAgW25nQ2xhc3NdPVwic2l6ZVwiPlxuICAgIHt7IGluaXRpYWxzLnRvVXBwZXJDYXNlKCkgfX1cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXZhdGFyIGZhbGxiYWNrXCJcbiAgICAqbmdJZj1cIiFhdmF0YXJIYXNJbWcgJiYgIWluaXRpYWxzXCJcbiAgICBbbmdDbGFzc109XCJzaXplXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmYXMgZmEtdXNlclwiPjwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBeUIsTUFBTSxhQUFhLENBQUM7Ozs7QUFFbkU7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBTUU7O1dBRUc7UUFDTSxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRXJCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUV2Qjs7V0FFRztRQUNNLFdBQU0sR0FBd0MsRUFBRSxDQUFDO1FBRTFEOztXQUVHO1FBQ00sU0FBSSxHQUEwQixhQUFhLENBQUMsTUFBTSxDQUFDO0tBSzdEO0lBSEMsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDOUQsQ0FBQzs7NkdBdkJVLGVBQWU7aUdBQWYsZUFBZSx3SUNiNUIsNGlCQXNCQTs0RkRUYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGNBQWM7OEJBUWYsTUFBTTtzQkFBZCxLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFNpemUsIFByaW1hcnlDb21wb25lbnRTaXplcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuLyoqXG4gKiBUaGUgYEF2YXRhckNvbXBvbmVudGAgKGA8aW1wZGMtYXZhdGFyYCkgaXMgYSByb3VuZGVkIHVzZXIgYXZhdGFyL2ljb24gd2l0aCBhbiBvcHRpb25hbCBzdGF0dXMgY29sb3IuXG4gKiBGb3IgYSBob3Jpem9udGFsIGNvbnRhaW5lciwgc2VlIFtBdmF0YXJHcm91cENvbXBvbmVudF0oLi8/cGF0aD0vZG9jcy9kZXNpZ24tY29tcG9uZW50cy1hdmF0YXItLWdyb3VwKS5cbiAqIFRvIHVzZSwgaW1wb3J0IGBBdmF0YXJNb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtYXZhdGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgaW1hZ2Ugc291cmNlIHVybCB0byBkaXNwbGF5IGFzIHRoZSBBdmF0YXIncyBiYWNrZ3JvdW5kLlxuICAgKi9cbiAgQElucHV0KCkgaW1nU3JjID0gJyc7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxzIHRvIGRpc3BsYXkgaWYgYW4gYGltZ1NyY2AgaXMgbm90IGF2YWlsYWJsZS5cbiAgICovXG4gIEBJbnB1dCgpIGluaXRpYWxzID0gJyc7XG5cbiAgLyoqXG4gICAqIEEgc3RhdHVzIHRvIGRpc3BsYXkgYXMgcGFydCBvZiB0aGUgQXZhdGFyLlxuICAgKi9cbiAgQElucHV0KCkgc3RhdHVzOiAnJyB8ICdhY3RpdmUnIHwgJ2luYWN0aXZlJyB8ICdidXN5JyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyLlxuICAgKi9cbiAgQElucHV0KCkgc2l6ZTogUHJpbWFyeUNvbXBvbmVudFNpemVzID0gQ29tcG9uZW50U2l6ZS5NZWRpdW07XG5cbiAgZ2V0IGF2YXRhckhhc0ltZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbWdTcmMgJiYgdGhpcy5pbWdTcmMubGVuZ3RoID4gMCA/IHRydWUgOiBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF2YXRhci1jb250YWluZXJcIj5cbiAgPHNwYW4gY2xhc3M9XCJhdmF0YXItc3RhdHVzXCIgKm5nSWY9XCJzdGF0dXNcIiBbbmdDbGFzc109XCJbc2l6ZSwgc3RhdHVzXVwiPjwvc3Bhbj5cblxuICA8aW1nXG4gICAgY2xhc3M9XCJhdmF0YXJcIlxuICAgICpuZ0lmPVwiYXZhdGFySGFzSW1nXCJcbiAgICBbYXR0ci5zcmNdPVwiaW1nU3JjXCJcbiAgICBbbmdDbGFzc109XCJzaXplXCIgLz5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXZhdGFyIGluaXRpYWxzXCJcbiAgICAqbmdJZj1cIiFhdmF0YXJIYXNJbWcgJiYgaW5pdGlhbHNcIlxuICAgIFtuZ0NsYXNzXT1cInNpemVcIj5cbiAgICB7eyBpbml0aWFscy50b1VwcGVyQ2FzZSgpIH19XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImF2YXRhciBmYWxsYmFja1wiXG4gICAgKm5nSWY9XCIhYXZhdGFySGFzSW1nICYmICFpbml0aWFsc1wiXG4gICAgW25nQ2xhc3NdPVwic2l6ZVwiPlxuICAgIDxzcGFuIGltcGRjLWljb24gbmFtZT1cInVzZXJcIj48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,18 +1,19 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { IconModule } from '../icon';
3
4
  import { AvatarComponent } from './avatar.component';
4
5
  import * as i0 from "@angular/core";
5
6
  export class AvatarModule {
6
7
  }
7
8
  AvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- AvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, declarations: [AvatarComponent], imports: [CommonModule], exports: [AvatarComponent] });
9
- AvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, imports: [CommonModule] });
9
+ AvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, declarations: [AvatarComponent], imports: [CommonModule, IconModule], exports: [IconModule, AvatarComponent] });
10
+ AvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, imports: [CommonModule, IconModule, IconModule] });
10
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, decorators: [{
11
12
  type: NgModule,
12
13
  args: [{
14
+ imports: [CommonModule, IconModule],
13
15
  declarations: [AvatarComponent],
14
- imports: [CommonModule],
15
- exports: [AvatarComponent]
16
+ exports: [IconModule, AvatarComponent]
16
17
  }]
17
18
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9yRCxNQUFNLE9BQU8sWUFBWTs7MEdBQVosWUFBWTsyR0FBWixZQUFZLGlCQUpSLGVBQWUsYUFDcEIsWUFBWSxhQUNaLGVBQWU7MkdBRWQsWUFBWSxZQUhiLFlBQVk7NEZBR1gsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9hdmF0YXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQXZhdGFyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBdmF0YXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhck1vZHVsZSB7fVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBT3JELE1BQU0sT0FBTyxZQUFZOzswR0FBWixZQUFZOzJHQUFaLFlBQVksaUJBSFIsZUFBZSxhQURwQixZQUFZLEVBQUUsVUFBVSxhQUV4QixVQUFVLEVBQUUsZUFBZTsyR0FFMUIsWUFBWSxZQUpiLFlBQVksRUFBRSxVQUFVLEVBRXhCLFVBQVU7NEZBRVQsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO29CQUNuQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbic7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2F2YXRhci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQXZhdGFyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0ljb25Nb2R1bGUsIEF2YXRhckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyTW9kdWxlIHt9XG4iXX0=
@@ -3,6 +3,7 @@ import { ComponentTheme } from '../../types';
3
3
  import { BadgeSize } from './types';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
+ import * as i2 from "../icon/icon.component";
6
7
  /**
7
8
  * The `BadgeComponent` (`<impdc-badge` or `any impdc-badge`) displays [preferably short] text with a rounded background and themed colors.
8
9
  * To use, import `BadgeModule` or another module that imports and exports that module from `@impartner/design-components`.
@@ -65,10 +66,10 @@ export class BadgeComponent {
65
66
  }
66
67
  }
67
68
  BadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
- BadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BadgeComponent, selector: "impdc-badge, [impdc-badge]", inputs: { text: "text", icon: "icon", theme: "theme", size: "size", hideBg: "hideBg", rounded: "rounded", dismissable: "dismissable" }, outputs: { dismiss: "dismiss" }, host: { properties: { "class": "this.classBadge", "class.rounded-pill": "this.classBadgeRounded", "hidden": "this._dismissed" } }, ngImport: i0, template: "<span *ngIf=\"icon\" class=\"fas fa-{{ icon === 'dot' ? 'circle' : icon }}\"></span>\n{{ text }}\n<a *ngIf=\"dismissable\" (click)=\"handleDismiss($event)\">\n <span class=\"fas fa-times\"></span>\n</a>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
69
+ BadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BadgeComponent, selector: "impdc-badge, [impdc-badge]", inputs: { text: "text", icon: "icon", theme: "theme", size: "size", hideBg: "hideBg", rounded: "rounded", dismissable: "dismissable" }, outputs: { dismiss: "dismiss" }, host: { properties: { "class": "this.classBadge", "class.rounded-pill": "this.classBadgeRounded", "hidden": "this._dismissed" } }, ngImport: i0, template: "<span *ngIf=\"icon\" impdc-icon [name]=\"icon === 'dot' ? 'circle' : icon\"></span>\n{{ text }}\n<a *ngIf=\"dismissable\" (click)=\"handleDismiss($event)\">\n <span impdc-icon name=\"times\"></span>\n</a>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] });
69
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeComponent, decorators: [{
70
71
  type: Component,
71
- args: [{ selector: 'impdc-badge, [impdc-badge]', template: "<span *ngIf=\"icon\" class=\"fas fa-{{ icon === 'dot' ? 'circle' : icon }}\"></span>\n{{ text }}\n<a *ngIf=\"dismissable\" (click)=\"handleDismiss($event)\">\n <span class=\"fas fa-times\"></span>\n</a>\n" }]
72
+ args: [{ selector: 'impdc-badge, [impdc-badge]', template: "<span *ngIf=\"icon\" impdc-icon [name]=\"icon === 'dot' ? 'circle' : icon\"></span>\n{{ text }}\n<a *ngIf=\"dismissable\" (click)=\"handleDismiss($event)\">\n <span impdc-icon name=\"times\"></span>\n</a>\n" }]
72
73
  }], propDecorators: { text: [{
73
74
  type: Input
74
75
  }], icon: [{
@@ -95,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
95
96
  type: HostBinding,
96
97
  args: ['hidden']
97
98
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQW1CLE1BQU0sYUFBYSxDQUFDO0FBQzlELE9BQU8sRUFBYSxTQUFTLEVBQWMsTUFBTSxTQUFTLENBQUM7OztBQUUzRDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sY0FBYztJQUozQjtRQUtFOztXQUVHO1FBRUgsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVWOztXQUVHO1FBRUgsU0FBSSxHQUFjLEVBQUUsQ0FBQztRQUVyQjs7V0FFRztRQUVILFVBQUssR0FBb0IsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUVoRDs7V0FFRztRQUVILFNBQUksR0FBZSxTQUFTLENBQUMsT0FBTyxDQUFDO1FBRXJDOztXQUVHO1FBRUgsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmOztXQUVHO1FBRUgsWUFBTyxHQUFHLElBQUksQ0FBQztRQUVmOztXQUVHO1FBRUgsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEI7O1dBRUc7UUFFSCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFtQnpDLGVBQVUsR0FBRyxLQUFLLENBQUM7S0FTNUI7SUExQkMsSUFBa0MsVUFBVTtRQUMxQyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsT0FBTyxJQUFJLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUMzQixPQUFPLElBQUksVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbEM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFDWSxpQkFBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFLRCxhQUFhLENBQUMsS0FBeUI7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7NEdBMUVVLGNBQWM7Z0dBQWQsY0FBYyw4V0NsQjNCLCtNQUtBOzRGRGFhLGNBQWM7a0JBSjFCLFNBQVM7K0JBQ0UsNEJBQTRCOzhCQVF0QyxJQUFJO3NCQURILEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLEtBQUs7c0JBREosS0FBSztnQkFPTixJQUFJO3NCQURILEtBQUs7Z0JBT04sTUFBTTtzQkFETCxLQUFLO2dCQU9OLE9BQU87c0JBRE4sS0FBSztnQkFPTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sT0FBTztzQkFETixNQUFNO2dCQUcyQixVQUFVO3NCQUEzQyxXQUFXO3VCQUFDLE9BQU87Z0JBWVIsaUJBQWlCO3NCQUQ1QixXQUFXO3VCQUFDLG9CQUFvQjtnQkFNekIsVUFBVTtzQkFEakIsV0FBVzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50VGhlbWUsIENvbXBvbmVudFRoZW1lcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJhZGdlSWNvbiwgQmFkZ2VTaXplLCBCYWRnZVNpemVzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGBCYWRnZUNvbXBvbmVudGAgKGA8aW1wZGMtYmFkZ2VgIG9yIGBhbnkgaW1wZGMtYmFkZ2VgKSBkaXNwbGF5cyBbcHJlZmVyYWJseSBzaG9ydF0gdGV4dCB3aXRoIGEgcm91bmRlZCBiYWNrZ3JvdW5kIGFuZCB0aGVtZWQgY29sb3JzLlxuICogVG8gdXNlLCBpbXBvcnQgYEJhZGdlTW9kdWxlYCBvciBhbm90aGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgYW5kIGV4cG9ydHMgdGhhdCBtb2R1bGUgZnJvbSBgQGltcGFydG5lci9kZXNpZ24tY29tcG9uZW50c2AuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLWJhZGdlLCBbaW1wZGMtYmFkZ2VdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCYWRnZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCBkaXNwbGF5ZWQgaW4gdGhlIGNlbnRlciBvZiB0aGUgQmFkZ2UuXG4gICAqL1xuICBASW5wdXQoKVxuICB0ZXh0ID0gJyc7XG5cbiAgLyoqXG4gICAqIEFuIGljb24gZGlzcGxheWVkIGxlZnQgb2YgdGhlIEJhZGdlIHRleHQuXG4gICAqL1xuICBASW5wdXQoKVxuICBpY29uOiBCYWRnZUljb24gPSAnJztcblxuICAvKipcbiAgICogVGhlIGNvbG9yIHRoZW1lIG9mIHRoZSBCYWRnZS4gVGhpcyB3aWxsIGFmZmVjdCBib3RoIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3JzIGJhc2VkIG9uIGFsbG93ZWQgZGVzaWducy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHRoZW1lOiBDb21wb25lbnRUaGVtZXMgPSBDb21wb25lbnRUaGVtZS5QcmltYXJ5O1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgQmFkZ2UuXG4gICAqL1xuICBASW5wdXQoKVxuICBzaXplOiBCYWRnZVNpemVzID0gQmFkZ2VTaXplLkRlZmF1bHQ7XG5cbiAgLyoqXG4gICAqIEFsbG93cyB0aGUgYmFja2dyb3VuZCBvZiB0aGUgQmFkZ2UgdG8gYmUgcmVtb3ZlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGhpZGVCZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGlzIGNvbnRyb2xzIGFkZGluZyB0aGUgYHJvdW5kZWQtcGlsbGAgY2xhc3MgdG8gdGhlIEJhZGdlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcm91bmRlZCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBkaXNtaXNzIGljb24gdG8gdGhlIHJpZ2h0IG9mIHRoZSBCYWRnZSB0ZXh0LlxuICAgKi9cbiAgQElucHV0KClcbiAgZGlzbWlzc2FibGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogQW4gZXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGlzbWlzc2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBFdmVudD4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHJpdmF0ZSBnZXQgY2xhc3NCYWRnZSgpOiBzdHJpbmcge1xuICAgIGxldCBjbGFzc2VzID0gJ2JhZGdlJztcbiAgICBpZiAodGhpcy50aGVtZSkge1xuICAgICAgY2xhc3NlcyArPSBgIHRleHQtJHt0aGlzLmhpZGVCZyA/ICcnIDogJ2JnLSd9JHt0aGlzLnRoZW1lfWA7XG4gICAgfVxuICAgIGlmICh0aGlzLnNpemUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgY2xhc3NlcyArPSBgIGJhZGdlLSR7dGhpcy5zaXplfWA7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yb3VuZGVkLXBpbGwnKVxuICBwcml2YXRlIGdldCBjbGFzc0JhZGdlUm91bmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3VuZGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdoaWRkZW4nKVxuICBwcml2YXRlIF9kaXNtaXNzZWQgPSBmYWxzZTtcblxuICBoYW5kbGVEaXNtaXNzKGV2ZW50OiBNb3VzZUV2ZW50IHwgRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzbWlzc2FibGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZGlzbWlzc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc21pc3MuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxzcGFuICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwiZmFzIGZhLXt7IGljb24gPT09ICdkb3QnID8gJ2NpcmNsZScgOiBpY29uIH19XCI+PC9zcGFuPlxue3sgdGV4dCB9fVxuPGEgKm5nSWY9XCJkaXNtaXNzYWJsZVwiIChjbGljayk9XCJoYW5kbGVEaXNtaXNzKCRldmVudClcIj5cbiAgPHNwYW4gY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L3NwYW4+XG48L2E+XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQW1CLE1BQU0sYUFBYSxDQUFDO0FBQzlELE9BQU8sRUFBYSxTQUFTLEVBQWMsTUFBTSxTQUFTLENBQUM7Ozs7QUFFM0Q7OztHQUdHO0FBS0gsTUFBTSxPQUFPLGNBQWM7SUFKM0I7UUFLRTs7V0FFRztRQUVILFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVjs7V0FFRztRQUVILFNBQUksR0FBYyxFQUFFLENBQUM7UUFFckI7O1dBRUc7UUFFSCxVQUFLLEdBQW9CLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFFaEQ7O1dBRUc7UUFFSCxTQUFJLEdBQWUsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUVyQzs7V0FFRztRQUVILFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZjs7V0FFRztRQUVILFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZjs7V0FFRztRQUVILGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCOztXQUVHO1FBRUgsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBbUJ6QyxlQUFVLEdBQUcsS0FBSyxDQUFDO0tBUzVCO0lBMUJDLElBQWtDLFVBQVU7UUFDMUMsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE9BQU8sSUFBSSxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM3RDtRQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDM0IsT0FBTyxJQUFJLFVBQVUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELElBQ1ksaUJBQWlCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBS0QsYUFBYSxDQUFDLEtBQXlCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7OzRHQTFFVSxjQUFjO2dHQUFkLGNBQWMsOFdDbEIzQixpTkFLQTs0RkRhYSxjQUFjO2tCQUoxQixTQUFTOytCQUNFLDRCQUE0Qjs4QkFRdEMsSUFBSTtzQkFESCxLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLE1BQU07c0JBREwsS0FBSztnQkFPTixPQUFPO3NCQUROLEtBQUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO2dCQU9OLE9BQU87c0JBRE4sTUFBTTtnQkFHMkIsVUFBVTtzQkFBM0MsV0FBVzt1QkFBQyxPQUFPO2dCQVlSLGlCQUFpQjtzQkFENUIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTXpCLFVBQVU7c0JBRGpCLFdBQVc7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFRoZW1lLCBDb21wb25lbnRUaGVtZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCYWRnZUljb24sIEJhZGdlU2l6ZSwgQmFkZ2VTaXplcyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRoZSBgQmFkZ2VDb21wb25lbnRgIChgPGltcGRjLWJhZGdlYCBvciBgYW55IGltcGRjLWJhZGdlYCkgZGlzcGxheXMgW3ByZWZlcmFibHkgc2hvcnRdIHRleHQgd2l0aCBhIHJvdW5kZWQgYmFja2dyb3VuZCBhbmQgdGhlbWVkIGNvbG9ycy5cbiAqIFRvIHVzZSwgaW1wb3J0IGBCYWRnZU1vZHVsZWAgb3IgYW5vdGhlciBtb2R1bGUgdGhhdCBpbXBvcnRzIGFuZCBleHBvcnRzIHRoYXQgbW9kdWxlIGZyb20gYEBpbXBhcnRuZXIvZGVzaWduLWNvbXBvbmVudHNgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbXBkYy1iYWRnZSwgW2ltcGRjLWJhZGdlXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYWRnZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VDb21wb25lbnQge1xuICAvKipcbiAgICogVGhlIHRleHQgZGlzcGxheWVkIGluIHRoZSBjZW50ZXIgb2YgdGhlIEJhZGdlLlxuICAgKi9cbiAgQElucHV0KClcbiAgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBBbiBpY29uIGRpc3BsYXllZCBsZWZ0IG9mIHRoZSBCYWRnZSB0ZXh0LlxuICAgKi9cbiAgQElucHV0KClcbiAgaWNvbjogQmFkZ2VJY29uID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb2xvciB0aGVtZSBvZiB0aGUgQmFkZ2UuIFRoaXMgd2lsbCBhZmZlY3QgYm90aCB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9ycyBiYXNlZCBvbiBhbGxvd2VkIGRlc2lnbnMuXG4gICAqL1xuICBASW5wdXQoKVxuICB0aGVtZTogQ29tcG9uZW50VGhlbWVzID0gQ29tcG9uZW50VGhlbWUuUHJpbWFyeTtcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIEJhZGdlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2l6ZTogQmFkZ2VTaXplcyA9IEJhZGdlU2l6ZS5EZWZhdWx0O1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgdGhlIGJhY2tncm91bmQgb2YgdGhlIEJhZGdlIHRvIGJlIHJlbW92ZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBoaWRlQmcgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhpcyBjb250cm9scyBhZGRpbmcgdGhlIGByb3VuZGVkLXBpbGxgIGNsYXNzIHRvIHRoZSBCYWRnZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHJvdW5kZWQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgZGlzbWlzcyBpY29uIHRvIHRoZSByaWdodCBvZiB0aGUgQmFkZ2UgdGV4dC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRpc21pc3NhYmxlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRpc21pc3NlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50IHwgRXZlbnQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHByaXZhdGUgZ2V0IGNsYXNzQmFkZ2UoKTogc3RyaW5nIHtcbiAgICBsZXQgY2xhc3NlcyA9ICdiYWRnZSc7XG4gICAgaWYgKHRoaXMudGhlbWUpIHtcbiAgICAgIGNsYXNzZXMgKz0gYCB0ZXh0LSR7dGhpcy5oaWRlQmcgPyAnJyA6ICdiZy0nfSR7dGhpcy50aGVtZX1gO1xuICAgIH1cbiAgICBpZiAodGhpcy5zaXplICE9PSAnZGVmYXVsdCcpIHtcbiAgICAgIGNsYXNzZXMgKz0gYCBiYWRnZS0ke3RoaXMuc2l6ZX1gO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mucm91bmRlZC1waWxsJylcbiAgcHJpdmF0ZSBnZXQgY2xhc3NCYWRnZVJvdW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm91bmRlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnaGlkZGVuJylcbiAgcHJpdmF0ZSBfZGlzbWlzc2VkID0gZmFsc2U7XG5cbiAgaGFuZGxlRGlzbWlzcyhldmVudDogTW91c2VFdmVudCB8IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc21pc3NhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2Rpc21pc3NlZCA9IHRydWU7XG4gICAgdGhpcy5kaXNtaXNzLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8c3BhbiAqbmdJZj1cImljb25cIiBpbXBkYy1pY29uIFtuYW1lXT1cImljb24gPT09ICdkb3QnID8gJ2NpcmNsZScgOiBpY29uXCI+PC9zcGFuPlxue3sgdGV4dCB9fVxuPGEgKm5nSWY9XCJkaXNtaXNzYWJsZVwiIChjbGljayk9XCJoYW5kbGVEaXNtaXNzKCRldmVudClcIj5cbiAgPHNwYW4gaW1wZGMtaWNvbiBuYW1lPVwidGltZXNcIj48L3NwYW4+XG48L2E+XG4iXX0=
@@ -1,19 +1,20 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
+ import { IconModule } from '../icon';
3
4
  import { BadgeComponent } from './badge.component';
4
5
  import * as i0 from "@angular/core";
5
6
  export class BadgeModule {
6
7
  constructor() { }
7
8
  }
8
9
  BadgeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- BadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, declarations: [BadgeComponent], imports: [CommonModule], exports: [BadgeComponent] });
10
- BadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, imports: [CommonModule] });
10
+ BadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, declarations: [BadgeComponent], imports: [CommonModule, IconModule], exports: [IconModule, BadgeComponent] });
11
+ BadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, imports: [CommonModule, IconModule, IconModule] });
11
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, decorators: [{
12
13
  type: NgModule,
13
14
  args: [{
14
- imports: [CommonModule],
15
+ imports: [CommonModule, IconModule],
15
16
  declarations: [BadgeComponent],
16
- exports: [BadgeComponent]
17
+ exports: [IconModule, BadgeComponent]
17
18
  }]
18
19
  }], ctorParameters: function () { return []; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9iYWRnZS9iYWRnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU9uRCxNQUFNLE9BQU8sV0FBVztJQUN0QixnQkFBZSxDQUFDOzt5R0FETCxXQUFXOzBHQUFYLFdBQVcsaUJBSFAsY0FBYyxhQURuQixZQUFZLGFBRVosY0FBYzswR0FFYixXQUFXLFlBSlosWUFBWTs0RkFJWCxXQUFXO2tCQUx2QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFkZ2UuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0JhZGdlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0JhZGdlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZU1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9iYWRnZS9iYWRnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBT25ELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLGdCQUFlLENBQUM7O3lHQURMLFdBQVc7MEdBQVgsV0FBVyxpQkFIUCxjQUFjLGFBRG5CLFlBQVksRUFBRSxVQUFVLGFBRXhCLFVBQVUsRUFBRSxjQUFjOzBHQUV6QixXQUFXLFlBSlosWUFBWSxFQUFFLFVBQVUsRUFFeEIsVUFBVTs0RkFFVCxXQUFXO2tCQUx2QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7b0JBQ25DLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9iYWRnZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQmFkZ2VDb21wb25lbnRdLFxuICBleHBvcnRzOiBbSWNvbk1vZHVsZSwgQmFkZ2VDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEJhZGdlTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  import { Component, Input, Output, EventEmitter, ViewEncapsulation, HostBinding } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
+ import * as i2 from "../icon/icon.component";
4
5
  /**
5
6
  * The `CardHeadingComponent` (`<impdc-data-card` or `<any impdc-data-card`) is to display data snapshots with support for
6
7
  * previous values and differences.
@@ -89,10 +90,10 @@ export class DataCardComponent {
89
90
  }
90
91
  }
91
92
  DataCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
- DataCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DataCardComponent, selector: "impdc-data-card, [impdc-data-card]", inputs: { title: "title", current: "current", previous: "previous", difference: "difference", linkText: "linkText", sharedBorders: "sharedBorders", differencePill: "differencePill", currentColor: "currentColor", iconColor: "iconColor", iconBgColor: "iconBgColor" }, outputs: { linkClicked: "linkClicked", cornerClicked: "cornerClicked" }, host: { properties: { "class": "this.classDataCard", "class.impdc-data-card-shared-borders": "this.classDataCardSharedBorders" } }, ngImport: i0, template: "<div class=\"card-body impdc-data-card-body\">\n <div\n #iconContentEl\n class=\"impdc-data-card-icon\"\n [style.color]=\"iconColor ? iconColor : undefined\"\n [style.background-color]=\"iconBgColor ? iconBgColor : undefined\"\n [class.hide]=\"!iconContentEl.children.length\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n <div class=\"impdc-data-card-container\">\n <div class=\"impdc-data-card-title\" [class.title-attention]=\"titleAttention\">\n {{ title }}\n </div>\n <div class=\"impdc-data-card-data\">\n <ng-content></ng-content>\n <span\n *ngIf=\"current\"\n class=\"data-current\"\n [class.data-current-enlarged]=\"\n !iconContentEl.children.length && !previous && !difference\n \"\n [style.color]=\"currentColor ? currentColor : undefined\"\n [innerText]=\"current\"></span>\n <span class=\"data-other\">\n <span\n *ngIf=\"previous\"\n class=\"data-previous\"\n [innerText]=\"previous\"></span>\n <span\n *ngIf=\"difference\"\n class=\"data-difference\"\n [class.difference-negative]=\"differenceNegative\"\n [class.difference-positive]=\"differencePositive\"\n [class.badge]=\"differencePill\"\n [class.rounded-pill]=\"differencePill\">\n <span *ngIf=\"differenceNegative\" class=\"fas fa-arrow-down\"></span>\n <span *ngIf=\"differencePositive\" class=\"fas fa-arrow-up\"></span>\n <span class=\"difference-display\">{{ differenceDisplay }}</span>\n </span>\n </span>\n </div>\n </div>\n <div\n #cornerContentEl\n class=\"impdc-data-card-corner\"\n [class.hide]=\"!cornerContentEl.children.length\"\n (click)=\"handleCornerClick($event); $event.stopPropagation()\">\n <ng-content select=\"[corner]\"></ng-content>\n </div>\n</div>\n<div\n class=\"card-footer impdc-data-card-footer\"\n [class.hide]=\"!linkText && !footerContentEl.children.length\">\n <div #footerContentEl [class.hide]=\"!footerContentEl.children.length\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <a\n *ngIf=\"linkText\"\n class=\"footer-link\"\n (click)=\"handleLinkClick($event); $event.stopPropagation()\"\n >{{ linkText }}</a\n >\n</div>\n", styles: [".hide{display:none}.impdc-data-card{overflow-x:hidden;border:0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border-radius:8px}.impdc-data-card.impdc-data-card-shared-borders:first-child:not(:last-child){border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.impdc-data-card.impdc-data-card-shared-borders:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.impdc-data-card.impdc-data-card-shared-borders:not(:first-child):not(:last-child){border-right:0;border-radius:0}.impdc-data-card-body{position:relative;display:flex;align-items:center;gap:20px;padding:24px}.impdc-data-card-icon{display:flex;align-items:center;justify-content:center;padding:12px;background-color:#01606d;color:#fff;border-radius:6px}.impdc-data-card-icon .fa,.impdc-data-card-icon .fa-brands,.impdc-data-card-icon .fa-duotone,.impdc-data-card-icon .fa-light,.impdc-data-card-icon .fa-regular,.impdc-data-card-icon .fa-solid,.impdc-data-card-icon .fa-thin,.impdc-data-card-icon .fab,.impdc-data-card-icon .fad,.impdc-data-card-icon .fal,.impdc-data-card-icon .far,.impdc-data-card-icon .fas,.impdc-data-card-icon .fat,.impdc-data-card-icon svg{display:flex;align-items:center;justify-content:center;height:24px;width:24px;font-size:18px;line-height:24px}.impdc-data-card-icon.hide{display:none}.impdc-data-card-container{display:flex;flex-direction:column;min-width:50px}.impdc-data-card-title{color:#6b7280;font-size:14px;line-height:20px;font-weight:500;min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-title.title-attention{color:#161e2e;font-size:16px;line-height:24px;font-weight:400}.impdc-data-card-data{display:flex;flex-wrap:wrap;align-items:end;min-width:0}.impdc-data-card-data .data-current{color:#161e2e;font-size:24px;line-height:32px;font-weight:600;min-width:75px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.impdc-data-card-data .data-current.data-current-enlarged{font-size:30px;line-height:36px}.impdc-data-card-data .data-other{display:inline-flex;justify-content:space-between;align-items:end;min-width:50px}.impdc-data-card-data .data-previous{min-width:0;color:#6b7280;font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:13px}.impdc-data-card-data .data-difference{display:inline-flex;align-items:center;gap:5px;color:#6b7280;font-size:14px;line-height:20px;font-weight:500}.impdc-data-card-data .data-difference.difference-negative{color:#e02424}.impdc-data-card-data .data-difference.difference-negative.badge{background-color:#fde8e8}.impdc-data-card-data .data-difference.difference-positive{color:#057a55}.impdc-data-card-data .data-difference.difference-positive.badge{background-color:#def7ec}.impdc-data-card-data .data-difference.rounded-pill{padding:4px 10px;border-radius:12px!important}.impdc-data-card-corner{position:absolute;top:0;right:0;margin:1rem;line-height:14px;color:#374151}.impdc-data-card-corner .fa,.impdc-data-card-corner .fa-brands,.impdc-data-card-corner .fa-duotone,.impdc-data-card-corner .fa-light,.impdc-data-card-corner .fa-regular,.impdc-data-card-corner .fa-solid,.impdc-data-card-corner .fa-thin,.impdc-data-card-corner .fab,.impdc-data-card-corner .fad,.impdc-data-card-corner .fal,.impdc-data-card-corner .far,.impdc-data-card-corner .fas,.impdc-data-card-corner .fat,.impdc-data-card-corner svg{height:14px;line-height:14px}.impdc-data-card-corner.hide{display:none}.impdc-data-card-footer{display:flex;align-items:center;padding:16px;background-color:#f9fafb}.impdc-data-card-footer.card-footer{border-top:0}.impdc-data-card-footer.hide{display:none}.impdc-data-card-footer .footer-link{color:#01606d;font-weight:500;font-size:14px;line-height:20px}.impdc-data-card-footer .footer-link:hover{color:#19a8c1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
93
+ DataCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DataCardComponent, selector: "impdc-data-card, [impdc-data-card]", inputs: { title: "title", current: "current", previous: "previous", difference: "difference", linkText: "linkText", sharedBorders: "sharedBorders", differencePill: "differencePill", currentColor: "currentColor", iconColor: "iconColor", iconBgColor: "iconBgColor" }, outputs: { linkClicked: "linkClicked", cornerClicked: "cornerClicked" }, host: { properties: { "class": "this.classDataCard", "class.impdc-data-card-shared-borders": "this.classDataCardSharedBorders" } }, ngImport: i0, template: "<div class=\"card-body impdc-data-card-body\">\n <div\n #iconContentEl\n class=\"impdc-data-card-icon\"\n [style.color]=\"iconColor ? iconColor : undefined\"\n [style.background-color]=\"iconBgColor ? iconBgColor : undefined\"\n [class.hide]=\"!iconContentEl.children.length\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n <div class=\"impdc-data-card-container\">\n <div class=\"impdc-data-card-title\" [class.title-attention]=\"titleAttention\">\n {{ title }}\n </div>\n <div class=\"impdc-data-card-data\">\n <ng-content></ng-content>\n <span\n *ngIf=\"current\"\n class=\"data-current\"\n [class.data-current-enlarged]=\"\n !iconContentEl.children.length && !previous && !difference\n \"\n [style.color]=\"currentColor ? currentColor : undefined\"\n [innerText]=\"current\"></span>\n <span class=\"data-other\">\n <span\n *ngIf=\"previous\"\n class=\"data-previous\"\n [innerText]=\"previous\"></span>\n <span\n *ngIf=\"difference\"\n class=\"data-difference\"\n [class.difference-negative]=\"differenceNegative\"\n [class.difference-positive]=\"differencePositive\"\n [class.badge]=\"differencePill\"\n [class.rounded-pill]=\"differencePill\">\n <span *ngIf=\"differenceNegative\" impdc-icon name=\"arrow-down\"></span>\n <span *ngIf=\"differencePositive\" impdc-icon name=\"arrow-up\"></span>\n <span class=\"difference-display\">{{ differenceDisplay }}</span>\n </span>\n </span>\n </div>\n </div>\n <div\n #cornerContentEl\n class=\"impdc-data-card-corner\"\n [class.hide]=\"!cornerContentEl.children.length\"\n (click)=\"handleCornerClick($event); $event.stopPropagation()\">\n <ng-content select=\"[corner]\"></ng-content>\n </div>\n</div>\n<div\n class=\"card-footer impdc-data-card-footer\"\n [class.hide]=\"!linkText && !footerContentEl.children.length\">\n <div #footerContentEl [class.hide]=\"!footerContentEl.children.length\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <a\n *ngIf=\"linkText\"\n class=\"footer-link\"\n (click)=\"handleLinkClick($event); $event.stopPropagation()\"\n >{{ linkText }}</a\n >\n</div>\n", styles: [".hide{display:none}.impdc-data-card{overflow-x:hidden;border:0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border-radius:8px}.impdc-data-card.impdc-data-card-shared-borders:first-child:not(:last-child){border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.impdc-data-card.impdc-data-card-shared-borders:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.impdc-data-card.impdc-data-card-shared-borders:not(:first-child):not(:last-child){border-right:0;border-radius:0}.impdc-data-card-body{position:relative;display:flex;align-items:center;gap:20px;padding:24px}.impdc-data-card-icon{display:flex;align-items:center;justify-content:center;padding:12px;background-color:#01606d;color:#fff;border-radius:6px}.impdc-data-card-icon .fa,.impdc-data-card-icon .fa-brands,.impdc-data-card-icon .fa-duotone,.impdc-data-card-icon .fa-light,.impdc-data-card-icon .fa-regular,.impdc-data-card-icon .fa-solid,.impdc-data-card-icon .fa-thin,.impdc-data-card-icon .fab,.impdc-data-card-icon .fad,.impdc-data-card-icon .fal,.impdc-data-card-icon .far,.impdc-data-card-icon .fas,.impdc-data-card-icon .fat,.impdc-data-card-icon svg{display:flex;align-items:center;justify-content:center;height:24px;width:24px;font-size:18px;line-height:24px}.impdc-data-card-icon.hide{display:none}.impdc-data-card-container{display:flex;flex-direction:column;min-width:50px}.impdc-data-card-title{color:#6b7280;font-size:14px;line-height:20px;font-weight:500;min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-title.title-attention{color:#161e2e;font-size:16px;line-height:24px;font-weight:400}.impdc-data-card-data{display:flex;flex-wrap:wrap;align-items:end;min-width:0}.impdc-data-card-data .data-current{color:#161e2e;font-size:24px;line-height:32px;font-weight:600;min-width:75px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.impdc-data-card-data .data-current.data-current-enlarged{font-size:30px;line-height:36px}.impdc-data-card-data .data-other{display:inline-flex;justify-content:space-between;align-items:end;min-width:50px}.impdc-data-card-data .data-previous{min-width:0;color:#6b7280;font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:13px}.impdc-data-card-data .data-difference{display:inline-flex;align-items:center;gap:5px;color:#6b7280;font-size:14px;line-height:20px;font-weight:500}.impdc-data-card-data .data-difference.difference-negative{color:#e02424}.impdc-data-card-data .data-difference.difference-negative.badge{background-color:#fde8e8}.impdc-data-card-data .data-difference.difference-positive{color:#057a55}.impdc-data-card-data .data-difference.difference-positive.badge{background-color:#def7ec}.impdc-data-card-data .data-difference.rounded-pill{padding:4px 10px;border-radius:12px!important}.impdc-data-card-corner{position:absolute;top:0;right:0;margin:1rem;line-height:14px;color:#374151}.impdc-data-card-corner .fa,.impdc-data-card-corner .fa-brands,.impdc-data-card-corner .fa-duotone,.impdc-data-card-corner .fa-light,.impdc-data-card-corner .fa-regular,.impdc-data-card-corner .fa-solid,.impdc-data-card-corner .fa-thin,.impdc-data-card-corner .fab,.impdc-data-card-corner .fad,.impdc-data-card-corner .fal,.impdc-data-card-corner .far,.impdc-data-card-corner .fas,.impdc-data-card-corner .fat,.impdc-data-card-corner svg{height:14px;line-height:14px}.impdc-data-card-corner.hide{display:none}.impdc-data-card-footer{display:flex;align-items:center;padding:16px;background-color:#f9fafb}.impdc-data-card-footer.card-footer{border-top:0}.impdc-data-card-footer.hide{display:none}.impdc-data-card-footer .footer-link{color:#01606d;font-weight:500;font-size:14px;line-height:20px}.impdc-data-card-footer .footer-link:hover{color:#19a8c1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }], encapsulation: i0.ViewEncapsulation.None });
93
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardComponent, decorators: [{
94
95
  type: Component,
95
- args: [{ selector: 'impdc-data-card, [impdc-data-card]', encapsulation: ViewEncapsulation.None, template: "<div class=\"card-body impdc-data-card-body\">\n <div\n #iconContentEl\n class=\"impdc-data-card-icon\"\n [style.color]=\"iconColor ? iconColor : undefined\"\n [style.background-color]=\"iconBgColor ? iconBgColor : undefined\"\n [class.hide]=\"!iconContentEl.children.length\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n <div class=\"impdc-data-card-container\">\n <div class=\"impdc-data-card-title\" [class.title-attention]=\"titleAttention\">\n {{ title }}\n </div>\n <div class=\"impdc-data-card-data\">\n <ng-content></ng-content>\n <span\n *ngIf=\"current\"\n class=\"data-current\"\n [class.data-current-enlarged]=\"\n !iconContentEl.children.length && !previous && !difference\n \"\n [style.color]=\"currentColor ? currentColor : undefined\"\n [innerText]=\"current\"></span>\n <span class=\"data-other\">\n <span\n *ngIf=\"previous\"\n class=\"data-previous\"\n [innerText]=\"previous\"></span>\n <span\n *ngIf=\"difference\"\n class=\"data-difference\"\n [class.difference-negative]=\"differenceNegative\"\n [class.difference-positive]=\"differencePositive\"\n [class.badge]=\"differencePill\"\n [class.rounded-pill]=\"differencePill\">\n <span *ngIf=\"differenceNegative\" class=\"fas fa-arrow-down\"></span>\n <span *ngIf=\"differencePositive\" class=\"fas fa-arrow-up\"></span>\n <span class=\"difference-display\">{{ differenceDisplay }}</span>\n </span>\n </span>\n </div>\n </div>\n <div\n #cornerContentEl\n class=\"impdc-data-card-corner\"\n [class.hide]=\"!cornerContentEl.children.length\"\n (click)=\"handleCornerClick($event); $event.stopPropagation()\">\n <ng-content select=\"[corner]\"></ng-content>\n </div>\n</div>\n<div\n class=\"card-footer impdc-data-card-footer\"\n [class.hide]=\"!linkText && !footerContentEl.children.length\">\n <div #footerContentEl [class.hide]=\"!footerContentEl.children.length\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <a\n *ngIf=\"linkText\"\n class=\"footer-link\"\n (click)=\"handleLinkClick($event); $event.stopPropagation()\"\n >{{ linkText }}</a\n >\n</div>\n", styles: [".hide{display:none}.impdc-data-card{overflow-x:hidden;border:0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border-radius:8px}.impdc-data-card.impdc-data-card-shared-borders:first-child:not(:last-child){border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.impdc-data-card.impdc-data-card-shared-borders:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.impdc-data-card.impdc-data-card-shared-borders:not(:first-child):not(:last-child){border-right:0;border-radius:0}.impdc-data-card-body{position:relative;display:flex;align-items:center;gap:20px;padding:24px}.impdc-data-card-icon{display:flex;align-items:center;justify-content:center;padding:12px;background-color:#01606d;color:#fff;border-radius:6px}.impdc-data-card-icon .fa,.impdc-data-card-icon .fa-brands,.impdc-data-card-icon .fa-duotone,.impdc-data-card-icon .fa-light,.impdc-data-card-icon .fa-regular,.impdc-data-card-icon .fa-solid,.impdc-data-card-icon .fa-thin,.impdc-data-card-icon .fab,.impdc-data-card-icon .fad,.impdc-data-card-icon .fal,.impdc-data-card-icon .far,.impdc-data-card-icon .fas,.impdc-data-card-icon .fat,.impdc-data-card-icon svg{display:flex;align-items:center;justify-content:center;height:24px;width:24px;font-size:18px;line-height:24px}.impdc-data-card-icon.hide{display:none}.impdc-data-card-container{display:flex;flex-direction:column;min-width:50px}.impdc-data-card-title{color:#6b7280;font-size:14px;line-height:20px;font-weight:500;min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-title.title-attention{color:#161e2e;font-size:16px;line-height:24px;font-weight:400}.impdc-data-card-data{display:flex;flex-wrap:wrap;align-items:end;min-width:0}.impdc-data-card-data .data-current{color:#161e2e;font-size:24px;line-height:32px;font-weight:600;min-width:75px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.impdc-data-card-data .data-current.data-current-enlarged{font-size:30px;line-height:36px}.impdc-data-card-data .data-other{display:inline-flex;justify-content:space-between;align-items:end;min-width:50px}.impdc-data-card-data .data-previous{min-width:0;color:#6b7280;font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:13px}.impdc-data-card-data .data-difference{display:inline-flex;align-items:center;gap:5px;color:#6b7280;font-size:14px;line-height:20px;font-weight:500}.impdc-data-card-data .data-difference.difference-negative{color:#e02424}.impdc-data-card-data .data-difference.difference-negative.badge{background-color:#fde8e8}.impdc-data-card-data .data-difference.difference-positive{color:#057a55}.impdc-data-card-data .data-difference.difference-positive.badge{background-color:#def7ec}.impdc-data-card-data .data-difference.rounded-pill{padding:4px 10px;border-radius:12px!important}.impdc-data-card-corner{position:absolute;top:0;right:0;margin:1rem;line-height:14px;color:#374151}.impdc-data-card-corner .fa,.impdc-data-card-corner .fa-brands,.impdc-data-card-corner .fa-duotone,.impdc-data-card-corner .fa-light,.impdc-data-card-corner .fa-regular,.impdc-data-card-corner .fa-solid,.impdc-data-card-corner .fa-thin,.impdc-data-card-corner .fab,.impdc-data-card-corner .fad,.impdc-data-card-corner .fal,.impdc-data-card-corner .far,.impdc-data-card-corner .fas,.impdc-data-card-corner .fat,.impdc-data-card-corner svg{height:14px;line-height:14px}.impdc-data-card-corner.hide{display:none}.impdc-data-card-footer{display:flex;align-items:center;padding:16px;background-color:#f9fafb}.impdc-data-card-footer.card-footer{border-top:0}.impdc-data-card-footer.hide{display:none}.impdc-data-card-footer .footer-link{color:#01606d;font-weight:500;font-size:14px;line-height:20px}.impdc-data-card-footer .footer-link:hover{color:#19a8c1}\n"] }]
96
+ args: [{ selector: 'impdc-data-card, [impdc-data-card]', encapsulation: ViewEncapsulation.None, template: "<div class=\"card-body impdc-data-card-body\">\n <div\n #iconContentEl\n class=\"impdc-data-card-icon\"\n [style.color]=\"iconColor ? iconColor : undefined\"\n [style.background-color]=\"iconBgColor ? iconBgColor : undefined\"\n [class.hide]=\"!iconContentEl.children.length\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n <div class=\"impdc-data-card-container\">\n <div class=\"impdc-data-card-title\" [class.title-attention]=\"titleAttention\">\n {{ title }}\n </div>\n <div class=\"impdc-data-card-data\">\n <ng-content></ng-content>\n <span\n *ngIf=\"current\"\n class=\"data-current\"\n [class.data-current-enlarged]=\"\n !iconContentEl.children.length && !previous && !difference\n \"\n [style.color]=\"currentColor ? currentColor : undefined\"\n [innerText]=\"current\"></span>\n <span class=\"data-other\">\n <span\n *ngIf=\"previous\"\n class=\"data-previous\"\n [innerText]=\"previous\"></span>\n <span\n *ngIf=\"difference\"\n class=\"data-difference\"\n [class.difference-negative]=\"differenceNegative\"\n [class.difference-positive]=\"differencePositive\"\n [class.badge]=\"differencePill\"\n [class.rounded-pill]=\"differencePill\">\n <span *ngIf=\"differenceNegative\" impdc-icon name=\"arrow-down\"></span>\n <span *ngIf=\"differencePositive\" impdc-icon name=\"arrow-up\"></span>\n <span class=\"difference-display\">{{ differenceDisplay }}</span>\n </span>\n </span>\n </div>\n </div>\n <div\n #cornerContentEl\n class=\"impdc-data-card-corner\"\n [class.hide]=\"!cornerContentEl.children.length\"\n (click)=\"handleCornerClick($event); $event.stopPropagation()\">\n <ng-content select=\"[corner]\"></ng-content>\n </div>\n</div>\n<div\n class=\"card-footer impdc-data-card-footer\"\n [class.hide]=\"!linkText && !footerContentEl.children.length\">\n <div #footerContentEl [class.hide]=\"!footerContentEl.children.length\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <a\n *ngIf=\"linkText\"\n class=\"footer-link\"\n (click)=\"handleLinkClick($event); $event.stopPropagation()\"\n >{{ linkText }}</a\n >\n</div>\n", styles: [".hide{display:none}.impdc-data-card{overflow-x:hidden;border:0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border-radius:8px}.impdc-data-card.impdc-data-card-shared-borders:first-child:not(:last-child){border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.impdc-data-card.impdc-data-card-shared-borders:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.impdc-data-card.impdc-data-card-shared-borders:not(:first-child):not(:last-child){border-right:0;border-radius:0}.impdc-data-card-body{position:relative;display:flex;align-items:center;gap:20px;padding:24px}.impdc-data-card-icon{display:flex;align-items:center;justify-content:center;padding:12px;background-color:#01606d;color:#fff;border-radius:6px}.impdc-data-card-icon .fa,.impdc-data-card-icon .fa-brands,.impdc-data-card-icon .fa-duotone,.impdc-data-card-icon .fa-light,.impdc-data-card-icon .fa-regular,.impdc-data-card-icon .fa-solid,.impdc-data-card-icon .fa-thin,.impdc-data-card-icon .fab,.impdc-data-card-icon .fad,.impdc-data-card-icon .fal,.impdc-data-card-icon .far,.impdc-data-card-icon .fas,.impdc-data-card-icon .fat,.impdc-data-card-icon svg{display:flex;align-items:center;justify-content:center;height:24px;width:24px;font-size:18px;line-height:24px}.impdc-data-card-icon.hide{display:none}.impdc-data-card-container{display:flex;flex-direction:column;min-width:50px}.impdc-data-card-title{color:#6b7280;font-size:14px;line-height:20px;font-weight:500;min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-title.title-attention{color:#161e2e;font-size:16px;line-height:24px;font-weight:400}.impdc-data-card-data{display:flex;flex-wrap:wrap;align-items:end;min-width:0}.impdc-data-card-data .data-current{color:#161e2e;font-size:24px;line-height:32px;font-weight:600;min-width:75px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.impdc-data-card-data .data-current.data-current-enlarged{font-size:30px;line-height:36px}.impdc-data-card-data .data-other{display:inline-flex;justify-content:space-between;align-items:end;min-width:50px}.impdc-data-card-data .data-previous{min-width:0;color:#6b7280;font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:13px}.impdc-data-card-data .data-difference{display:inline-flex;align-items:center;gap:5px;color:#6b7280;font-size:14px;line-height:20px;font-weight:500}.impdc-data-card-data .data-difference.difference-negative{color:#e02424}.impdc-data-card-data .data-difference.difference-negative.badge{background-color:#fde8e8}.impdc-data-card-data .data-difference.difference-positive{color:#057a55}.impdc-data-card-data .data-difference.difference-positive.badge{background-color:#def7ec}.impdc-data-card-data .data-difference.rounded-pill{padding:4px 10px;border-radius:12px!important}.impdc-data-card-corner{position:absolute;top:0;right:0;margin:1rem;line-height:14px;color:#374151}.impdc-data-card-corner .fa,.impdc-data-card-corner .fa-brands,.impdc-data-card-corner .fa-duotone,.impdc-data-card-corner .fa-light,.impdc-data-card-corner .fa-regular,.impdc-data-card-corner .fa-solid,.impdc-data-card-corner .fa-thin,.impdc-data-card-corner .fab,.impdc-data-card-corner .fad,.impdc-data-card-corner .fal,.impdc-data-card-corner .far,.impdc-data-card-corner .fas,.impdc-data-card-corner .fat,.impdc-data-card-corner svg{height:14px;line-height:14px}.impdc-data-card-corner.hide{display:none}.impdc-data-card-footer{display:flex;align-items:center;padding:16px;background-color:#f9fafb}.impdc-data-card-footer.card-footer{border-top:0}.impdc-data-card-footer.hide{display:none}.impdc-data-card-footer .footer-link{color:#01606d;font-weight:500;font-size:14px;line-height:20px}.impdc-data-card-footer .footer-link:hover{color:#19a8c1}\n"] }]
96
97
  }], propDecorators: { title: [{
97
98
  type: Input
98
99
  }], current: [{
@@ -124,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
124
125
  type: HostBinding,
125
126
  args: ['class.impdc-data-card-shared-borders']
126
127
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1jYXJkL2RhdGEtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGEtY2FyZC9kYXRhLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFDakIsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkI7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxpQkFBaUI7SUFOOUI7UUFPRTs7V0FFRztRQUVILFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWDs7V0FFRztRQUVILFlBQU8sR0FBRyxHQUFHLENBQUM7UUFFZDs7V0FFRztRQUVILGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZDs7O1dBR0c7UUFFSCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCOztXQUVHO1FBRUgsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVkOztXQUVHO1FBRUgsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFckI7O1dBRUc7UUFDSCxXQUFXO1FBQ1gsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkI7O1dBRUc7UUFFSCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV2Qjs7V0FFRztRQUVILGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCOztXQUVHO1FBRUgsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmOztXQUVHO1FBRUgsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakI7O1dBRUc7UUFFSCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBRXJEOztXQUVHO1FBRUgsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztLQWtDeEQ7SUFoQ0MsSUFBa0MsYUFBYTtRQUM3QyxPQUFPLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNZLDBCQUEwQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUF5QjtRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBeUI7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7K0dBL0dVLGlCQUFpQjttR0FBakIsaUJBQWlCLGlpQkNwQjlCLDh4RUErREE7NEZEM0NhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxvQ0FBb0MsaUJBRy9CLGlCQUFpQixDQUFDLElBQUk7OEJBT3JDLEtBQUs7c0JBREosS0FBSztnQkFPTixPQUFPO3NCQUROLEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxLQUFLO2dCQVFOLFVBQVU7c0JBRFQsS0FBSztnQkFPTixRQUFRO3NCQURQLEtBQUs7Z0JBT04sYUFBYTtzQkFEWixLQUFLO2dCQWFOLGNBQWM7c0JBRGIsS0FBSztnQkFPTixZQUFZO3NCQURYLEtBQUs7Z0JBT04sU0FBUztzQkFEUixLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSztnQkFPTixXQUFXO3NCQURWLE1BQU07Z0JBT1AsYUFBYTtzQkFEWixNQUFNO2dCQUcyQixhQUFhO3NCQUE5QyxXQUFXO3VCQUFDLE9BQU87Z0JBS1IsMEJBQTBCO3NCQURyQyxXQUFXO3VCQUFDLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVGhlIGBDYXJkSGVhZGluZ0NvbXBvbmVudGAgKGA8aW1wZGMtZGF0YS1jYXJkYCBvciBgPGFueSBpbXBkYy1kYXRhLWNhcmRgKSBpcyB0byBkaXNwbGF5IGRhdGEgc25hcHNob3RzIHdpdGggc3VwcG9ydCBmb3JcbiAqIHByZXZpb3VzIHZhbHVlcyBhbmQgZGlmZmVyZW5jZXMuXG4gKiBUbyB1c2UsIGltcG9ydCBgRGF0YUNhcmRNb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtZGF0YS1jYXJkLCBbaW1wZGMtZGF0YS1jYXJkXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhQ2FyZENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgc3ViamVjdCB0ZXh0IGZvciB0aGUgRGF0YSBDYXJkLlxuICAgKi9cbiAgQElucHV0KClcbiAgdGl0bGUgPSAnJztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgZGF0YSB2YWx1ZS4gQW55IG51bWJlci9jdXJyZW5jeSBmb3JtYXQgaXMgc3VwcG9ydGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgY3VycmVudCA9ICcwJztcblxuICAvKipcbiAgICogVGhlIHByZXZpb3VzIGRhdGEgdmFsdWUuIEFueSBudW1iZXIvY3VycmVuY3kgZm9ybWF0IGlzIHN1cHBvcnRlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByZXZpb3VzID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGN1cnJlbnQgYW5kIHByZXZpb3VzIHZhbHVlcy4gQSBudW1lcmljYWwgb3IgcGVyY2VudGFnZSB2YWx1ZSBpcyBwcmVmZXJyZWQsXG4gICAqIGJ1dCBhbnkgbnVtYmVyL2N1cnJlbmN5IGZvcm1hdCBpcyBzdXBwb3J0ZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBkaWZmZXJlbmNlID0gJyc7XG5cbiAgLyoqXG4gICAqIFRleHQgZm9yIHRoZSBsaW5rIGF0IHRoZSBib3R0b20gb2YgdGhlIERhdGEgQ2FyZC4gSWYgcHJvdmlkZWQsIGVuYWJsZXMgdGhlIGBsaW5rQ2xpY2tlZGAgZXZlbnQgdG8gYmUgZW1pdHRlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGxpbmtUZXh0ID0gJyc7XG5cbiAgLyoqXG4gICAqIFdoZW4gc3RhY2tpbmcgbXVsdGlwbGUgRGF0YSBDYXJkIGVsZW1lbnRzIHRvZ2V0aGVyLCBpdCdzIGNvbW1vbiB0byBjb21iaW5lIHRoZWlyIGJvcmRlcnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBzaGFyZWRCb3JkZXJzID0gdHJ1ZTtcblxuICAvKipcbiAgICogTWFrZXMgdGhlIHRpdGxlIHN0YW5kIG91dCBtb3JlIHRoYW4gaXQgZG9lcyBieSBkZWZhdWx0LlxuICAgKi9cbiAgLy8gQElucHV0KClcbiAgdGl0bGVBdHRlbnRpb24gPSBmYWxzZTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgZGlmZmVyZW5jZSB2YWx1ZSB3aWxsIGJlIHdyYXBwZWQgaW4gYSBgcm91bmRlZC1waWxsYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRpZmZlcmVuY2VQaWxsID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIHRleHQgY29sb3IgZm9yIHRoZSBjdXJyZW50IHZhbHVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgY3VycmVudENvbG9yID0gJyc7XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIGNvbG9yIG9mIHRoZSBpY29uLlxuICAgKi9cbiAgQElucHV0KClcbiAgaWNvbkNvbG9yID0gJyc7XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIGNvbG9yIG9mIHRoZSBpY29uJ3MgYmFja2dyb3VuZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGljb25CZ0NvbG9yID0gJyc7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayB0ZXh0IGlzIGNsaWNrZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgbGlua0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBFdmVudD4oKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb3JuZXIgY29udGVudCBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGNvcm5lckNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBFdmVudD4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHJpdmF0ZSBnZXQgY2xhc3NEYXRhQ2FyZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2FyZCBpbXBkYy1kYXRhLWNhcmQnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pbXBkYy1kYXRhLWNhcmQtc2hhcmVkLWJvcmRlcnMnKVxuICBwcml2YXRlIGdldCBjbGFzc0RhdGFDYXJkU2hhcmVkQm9yZGVycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZWRCb3JkZXJzO1xuICB9XG5cbiAgZ2V0IGRpZmZlcmVuY2VOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuZGlmZmVyZW5jZS5yZXBsYWNlKC9bXjAtOVxcLi1dKy9nLCAnJykpO1xuICB9XG5cbiAgZ2V0IGRpZmZlcmVuY2VOZWdhdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaWZmZXJlbmNlTnVtYmVyIDwgMDtcbiAgfVxuXG4gIGdldCBkaWZmZXJlbmNlUG9zaXRpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlmZmVyZW5jZU51bWJlciA+IDA7XG4gIH1cblxuICBnZXQgZGlmZmVyZW5jZURpc3BsYXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kaWZmZXJlbmNlLnJlcGxhY2UoJy0nLCAnJyk7XG4gIH1cblxuICBoYW5kbGVMaW5rQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQgfCBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubGlua0NsaWNrZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBoYW5kbGVDb3JuZXJDbGljayhldmVudDogTW91c2VFdmVudCB8IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jb3JuZXJDbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGltcGRjLWRhdGEtY2FyZC1ib2R5XCI+XG4gIDxkaXZcbiAgICAjaWNvbkNvbnRlbnRFbFxuICAgIGNsYXNzPVwiaW1wZGMtZGF0YS1jYXJkLWljb25cIlxuICAgIFtzdHlsZS5jb2xvcl09XCJpY29uQ29sb3IgPyBpY29uQ29sb3IgOiB1bmRlZmluZWRcIlxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImljb25CZ0NvbG9yID8gaWNvbkJnQ29sb3IgOiB1bmRlZmluZWRcIlxuICAgIFtjbGFzcy5oaWRlXT1cIiFpY29uQ29udGVudEVsLmNoaWxkcmVuLmxlbmd0aFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbXBkYy1kYXRhLWNhcmQtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImltcGRjLWRhdGEtY2FyZC10aXRsZVwiIFtjbGFzcy50aXRsZS1hdHRlbnRpb25dPVwidGl0bGVBdHRlbnRpb25cIj5cbiAgICAgIHt7IHRpdGxlIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImltcGRjLWRhdGEtY2FyZC1kYXRhXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdJZj1cImN1cnJlbnRcIlxuICAgICAgICBjbGFzcz1cImRhdGEtY3VycmVudFwiXG4gICAgICAgIFtjbGFzcy5kYXRhLWN1cnJlbnQtZW5sYXJnZWRdPVwiXG4gICAgICAgICAgIWljb25Db250ZW50RWwuY2hpbGRyZW4ubGVuZ3RoICYmICFwcmV2aW91cyAmJiAhZGlmZmVyZW5jZVxuICAgICAgICBcIlxuICAgICAgICBbc3R5bGUuY29sb3JdPVwiY3VycmVudENvbG9yID8gY3VycmVudENvbG9yIDogdW5kZWZpbmVkXCJcbiAgICAgICAgW2lubmVyVGV4dF09XCJjdXJyZW50XCI+PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkYXRhLW90aGVyXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCJwcmV2aW91c1wiXG4gICAgICAgICAgY2xhc3M9XCJkYXRhLXByZXZpb3VzXCJcbiAgICAgICAgICBbaW5uZXJUZXh0XT1cInByZXZpb3VzXCI+PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiZGlmZmVyZW5jZVwiXG4gICAgICAgICAgY2xhc3M9XCJkYXRhLWRpZmZlcmVuY2VcIlxuICAgICAgICAgIFtjbGFzcy5kaWZmZXJlbmNlLW5lZ2F0aXZlXT1cImRpZmZlcmVuY2VOZWdhdGl2ZVwiXG4gICAgICAgICAgW2NsYXNzLmRpZmZlcmVuY2UtcG9zaXRpdmVdPVwiZGlmZmVyZW5jZVBvc2l0aXZlXCJcbiAgICAgICAgICBbY2xhc3MuYmFkZ2VdPVwiZGlmZmVyZW5jZVBpbGxcIlxuICAgICAgICAgIFtjbGFzcy5yb3VuZGVkLXBpbGxdPVwiZGlmZmVyZW5jZVBpbGxcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImRpZmZlcmVuY2VOZWdhdGl2ZVwiIGNsYXNzPVwiZmFzIGZhLWFycm93LWRvd25cIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaWZmZXJlbmNlUG9zaXRpdmVcIiBjbGFzcz1cImZhcyBmYS1hcnJvdy11cFwiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpZmZlcmVuY2UtZGlzcGxheVwiPnt7IGRpZmZlcmVuY2VEaXNwbGF5IH19PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgI2Nvcm5lckNvbnRlbnRFbFxuICAgIGNsYXNzPVwiaW1wZGMtZGF0YS1jYXJkLWNvcm5lclwiXG4gICAgW2NsYXNzLmhpZGVdPVwiIWNvcm5lckNvbnRlbnRFbC5jaGlsZHJlbi5sZW5ndGhcIlxuICAgIChjbGljayk9XCJoYW5kbGVDb3JuZXJDbGljaygkZXZlbnQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY29ybmVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJjYXJkLWZvb3RlciBpbXBkYy1kYXRhLWNhcmQtZm9vdGVyXCJcbiAgW2NsYXNzLmhpZGVdPVwiIWxpbmtUZXh0ICYmICFmb290ZXJDb250ZW50RWwuY2hpbGRyZW4ubGVuZ3RoXCI+XG4gIDxkaXYgI2Zvb3RlckNvbnRlbnRFbCBbY2xhc3MuaGlkZV09XCIhZm9vdGVyQ29udGVudEVsLmNoaWxkcmVuLmxlbmd0aFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGFcbiAgICAqbmdJZj1cImxpbmtUZXh0XCJcbiAgICBjbGFzcz1cImZvb3Rlci1saW5rXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlTGlua0NsaWNrKCRldmVudCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgPnt7IGxpbmtUZXh0IH19PC9hXG4gID5cbjwvZGl2PlxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1jYXJkL2RhdGEtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RhdGEtY2FyZC9kYXRhLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFDakIsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDOzs7O0FBRXZCOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBT0U7O1dBRUc7UUFFSCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVg7O1dBRUc7UUFFSCxZQUFPLEdBQUcsR0FBRyxDQUFDO1FBRWQ7O1dBRUc7UUFFSCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWQ7OztXQUdHO1FBRUgsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQjs7V0FFRztRQUVILGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZDs7V0FFRztRQUVILGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRXJCOztXQUVHO1FBQ0gsV0FBVztRQUNYLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCOztXQUVHO1FBRUgsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkI7O1dBRUc7UUFFSCxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUVsQjs7V0FFRztRQUVILGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZjs7V0FFRztRQUVILGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCOztXQUVHO1FBRUgsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUVyRDs7V0FFRztRQUVILGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7S0FrQ3hEO0lBaENDLElBQWtDLGFBQWE7UUFDN0MsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFDWSwwQkFBMEI7UUFDcEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBeUI7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQXlCO1FBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OytHQS9HVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixpaUJDcEI5QixveUVBK0RBOzRGRDNDYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0Usb0NBQW9DLGlCQUcvQixpQkFBaUIsQ0FBQyxJQUFJOzhCQU9yQyxLQUFLO3NCQURKLEtBQUs7Z0JBT04sT0FBTztzQkFETixLQUFLO2dCQU9OLFFBQVE7c0JBRFAsS0FBSztnQkFRTixVQUFVO3NCQURULEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxLQUFLO2dCQU9OLGFBQWE7c0JBRFosS0FBSztnQkFhTixjQUFjO3NCQURiLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFPTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sV0FBVztzQkFEVixNQUFNO2dCQU9QLGFBQWE7c0JBRFosTUFBTTtnQkFHMkIsYUFBYTtzQkFBOUMsV0FBVzt1QkFBQyxPQUFPO2dCQUtSLDBCQUEwQjtzQkFEckMsV0FBVzt1QkFBQyxzQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRoZSBgQ2FyZEhlYWRpbmdDb21wb25lbnRgIChgPGltcGRjLWRhdGEtY2FyZGAgb3IgYDxhbnkgaW1wZGMtZGF0YS1jYXJkYCkgaXMgdG8gZGlzcGxheSBkYXRhIHNuYXBzaG90cyB3aXRoIHN1cHBvcnQgZm9yXG4gKiBwcmV2aW91cyB2YWx1ZXMgYW5kIGRpZmZlcmVuY2VzLlxuICogVG8gdXNlLCBpbXBvcnQgYERhdGFDYXJkTW9kdWxlYCBvciBhbm90aGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgYW5kIGV4cG9ydHMgdGhhdCBtb2R1bGUgZnJvbSBgQGltcGFydG5lci9kZXNpZ24tY29tcG9uZW50c2AuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLWRhdGEtY2FyZCwgW2ltcGRjLWRhdGEtY2FyZF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUNhcmRDb21wb25lbnQge1xuICAvKipcbiAgICogVGhlIHN1YmplY3QgdGV4dCBmb3IgdGhlIERhdGEgQ2FyZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHRpdGxlID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGRhdGEgdmFsdWUuIEFueSBudW1iZXIvY3VycmVuY3kgZm9ybWF0IGlzIHN1cHBvcnRlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGN1cnJlbnQgPSAnMCc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmV2aW91cyBkYXRhIHZhbHVlLiBBbnkgbnVtYmVyL2N1cnJlbmN5IGZvcm1hdCBpcyBzdXBwb3J0ZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwcmV2aW91cyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBjdXJyZW50IGFuZCBwcmV2aW91cyB2YWx1ZXMuIEEgbnVtZXJpY2FsIG9yIHBlcmNlbnRhZ2UgdmFsdWUgaXMgcHJlZmVycmVkLFxuICAgKiBidXQgYW55IG51bWJlci9jdXJyZW5jeSBmb3JtYXQgaXMgc3VwcG9ydGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgZGlmZmVyZW5jZSA9ICcnO1xuXG4gIC8qKlxuICAgKiBUZXh0IGZvciB0aGUgbGluayBhdCB0aGUgYm90dG9tIG9mIHRoZSBEYXRhIENhcmQuIElmIHByb3ZpZGVkLCBlbmFibGVzIHRoZSBgbGlua0NsaWNrZWRgIGV2ZW50IHRvIGJlIGVtaXR0ZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBsaW5rVGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaGVuIHN0YWNraW5nIG11bHRpcGxlIERhdGEgQ2FyZCBlbGVtZW50cyB0b2dldGhlciwgaXQncyBjb21tb24gdG8gY29tYmluZSB0aGVpciBib3JkZXJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2hhcmVkQm9yZGVycyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIE1ha2VzIHRoZSB0aXRsZSBzdGFuZCBvdXQgbW9yZSB0aGFuIGl0IGRvZXMgYnkgZGVmYXVsdC5cbiAgICovXG4gIC8vIEBJbnB1dCgpXG4gIHRpdGxlQXR0ZW50aW9uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGRpZmZlcmVuY2UgdmFsdWUgd2lsbCBiZSB3cmFwcGVkIGluIGEgYHJvdW5kZWQtcGlsbGAuXG4gICAqL1xuICBASW5wdXQoKVxuICBkaWZmZXJlbmNlUGlsbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSB0ZXh0IGNvbG9yIGZvciB0aGUgY3VycmVudCB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGN1cnJlbnRDb2xvciA9ICcnO1xuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBjb2xvciBvZiB0aGUgaWNvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGljb25Db2xvciA9ICcnO1xuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBjb2xvciBvZiB0aGUgaWNvbidzIGJhY2tncm91bmQuXG4gICAqL1xuICBASW5wdXQoKVxuICBpY29uQmdDb2xvciA9ICcnO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGxpbmsgdGV4dCBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGxpbmtDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50IHwgRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29ybmVyIGNvbnRlbnQgaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBjb3JuZXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50IHwgRXZlbnQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHByaXZhdGUgZ2V0IGNsYXNzRGF0YUNhcmQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2NhcmQgaW1wZGMtZGF0YS1jYXJkJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaW1wZGMtZGF0YS1jYXJkLXNoYXJlZC1ib3JkZXJzJylcbiAgcHJpdmF0ZSBnZXQgY2xhc3NEYXRhQ2FyZFNoYXJlZEJvcmRlcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkQm9yZGVycztcbiAgfVxuXG4gIGdldCBkaWZmZXJlbmNlTnVtYmVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE51bWJlcih0aGlzLmRpZmZlcmVuY2UucmVwbGFjZSgvW14wLTlcXC4tXSsvZywgJycpKTtcbiAgfVxuXG4gIGdldCBkaWZmZXJlbmNlTmVnYXRpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlmZmVyZW5jZU51bWJlciA8IDA7XG4gIH1cblxuICBnZXQgZGlmZmVyZW5jZVBvc2l0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpZmZlcmVuY2VOdW1iZXIgPiAwO1xuICB9XG5cbiAgZ2V0IGRpZmZlcmVuY2VEaXNwbGF5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGlmZmVyZW5jZS5yZXBsYWNlKCctJywgJycpO1xuICB9XG5cbiAgaGFuZGxlTGlua0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50IHwgRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtDbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlQ29ybmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQgfCBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY29ybmVyQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmQtYm9keSBpbXBkYy1kYXRhLWNhcmQtYm9keVwiPlxuICA8ZGl2XG4gICAgI2ljb25Db250ZW50RWxcbiAgICBjbGFzcz1cImltcGRjLWRhdGEtY2FyZC1pY29uXCJcbiAgICBbc3R5bGUuY29sb3JdPVwiaWNvbkNvbG9yID8gaWNvbkNvbG9yIDogdW5kZWZpbmVkXCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJpY29uQmdDb2xvciA/IGljb25CZ0NvbG9yIDogdW5kZWZpbmVkXCJcbiAgICBbY2xhc3MuaGlkZV09XCIhaWNvbkNvbnRlbnRFbC5jaGlsZHJlbi5sZW5ndGhcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW1wZGMtZGF0YS1jYXJkLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbXBkYy1kYXRhLWNhcmQtdGl0bGVcIiBbY2xhc3MudGl0bGUtYXR0ZW50aW9uXT1cInRpdGxlQXR0ZW50aW9uXCI+XG4gICAgICB7eyB0aXRsZSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbXBkYy1kYXRhLWNhcmQtZGF0YVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJjdXJyZW50XCJcbiAgICAgICAgY2xhc3M9XCJkYXRhLWN1cnJlbnRcIlxuICAgICAgICBbY2xhc3MuZGF0YS1jdXJyZW50LWVubGFyZ2VkXT1cIlxuICAgICAgICAgICFpY29uQ29udGVudEVsLmNoaWxkcmVuLmxlbmd0aCAmJiAhcHJldmlvdXMgJiYgIWRpZmZlcmVuY2VcbiAgICAgICAgXCJcbiAgICAgICAgW3N0eWxlLmNvbG9yXT1cImN1cnJlbnRDb2xvciA/IGN1cnJlbnRDb2xvciA6IHVuZGVmaW5lZFwiXG4gICAgICAgIFtpbm5lclRleHRdPVwiY3VycmVudFwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZGF0YS1vdGhlclwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwicHJldmlvdXNcIlxuICAgICAgICAgIGNsYXNzPVwiZGF0YS1wcmV2aW91c1wiXG4gICAgICAgICAgW2lubmVyVGV4dF09XCJwcmV2aW91c1wiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImRpZmZlcmVuY2VcIlxuICAgICAgICAgIGNsYXNzPVwiZGF0YS1kaWZmZXJlbmNlXCJcbiAgICAgICAgICBbY2xhc3MuZGlmZmVyZW5jZS1uZWdhdGl2ZV09XCJkaWZmZXJlbmNlTmVnYXRpdmVcIlxuICAgICAgICAgIFtjbGFzcy5kaWZmZXJlbmNlLXBvc2l0aXZlXT1cImRpZmZlcmVuY2VQb3NpdGl2ZVwiXG4gICAgICAgICAgW2NsYXNzLmJhZGdlXT1cImRpZmZlcmVuY2VQaWxsXCJcbiAgICAgICAgICBbY2xhc3Mucm91bmRlZC1waWxsXT1cImRpZmZlcmVuY2VQaWxsXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaWZmZXJlbmNlTmVnYXRpdmVcIiBpbXBkYy1pY29uIG5hbWU9XCJhcnJvdy1kb3duXCI+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGlmZmVyZW5jZVBvc2l0aXZlXCIgaW1wZGMtaWNvbiBuYW1lPVwiYXJyb3ctdXBcIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaWZmZXJlbmNlLWRpc3BsYXlcIj57eyBkaWZmZXJlbmNlRGlzcGxheSB9fTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICNjb3JuZXJDb250ZW50RWxcbiAgICBjbGFzcz1cImltcGRjLWRhdGEtY2FyZC1jb3JuZXJcIlxuICAgIFtjbGFzcy5oaWRlXT1cIiFjb3JuZXJDb250ZW50RWwuY2hpbGRyZW4ubGVuZ3RoXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlQ29ybmVyQ2xpY2soJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Nvcm5lcl1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2XG4gIGNsYXNzPVwiY2FyZC1mb290ZXIgaW1wZGMtZGF0YS1jYXJkLWZvb3RlclwiXG4gIFtjbGFzcy5oaWRlXT1cIiFsaW5rVGV4dCAmJiAhZm9vdGVyQ29udGVudEVsLmNoaWxkcmVuLmxlbmd0aFwiPlxuICA8ZGl2ICNmb290ZXJDb250ZW50RWwgW2NsYXNzLmhpZGVdPVwiIWZvb3RlckNvbnRlbnRFbC5jaGlsZHJlbi5sZW5ndGhcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxhXG4gICAgKm5nSWY9XCJsaW5rVGV4dFwiXG4gICAgY2xhc3M9XCJmb290ZXItbGlua1wiXG4gICAgKGNsaWNrKT1cImhhbmRsZUxpbmtDbGljaygkZXZlbnQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgID57eyBsaW5rVGV4dCB9fTwvYVxuICA+XG48L2Rpdj5cbiJdfQ==
@@ -1,19 +1,20 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { DataCardComponent } from './data-card.component';
4
+ import { IconModule } from '../icon';
4
5
  import * as i0 from "@angular/core";
5
6
  export class DataCardModule {
6
7
  constructor() { }
7
8
  }
8
9
  DataCardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- DataCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, declarations: [DataCardComponent], imports: [CommonModule], exports: [DataCardComponent] });
10
- DataCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, imports: [CommonModule] });
10
+ DataCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, declarations: [DataCardComponent], imports: [CommonModule, IconModule], exports: [IconModule, DataCardComponent] });
11
+ DataCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, imports: [CommonModule, IconModule, IconModule] });
11
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, decorators: [{
12
13
  type: NgModule,
13
14
  args: [{
14
- imports: [CommonModule],
15
+ imports: [CommonModule, IconModule],
15
16
  declarations: [DataCardComponent],
16
- exports: [DataCardComponent]
17
+ exports: [IconModule, DataCardComponent]
17
18
  }]
18
19
  }], ctorParameters: function () { return []; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1jYXJkL2RhdGEtY2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTzFELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGdCQUFlLENBQUM7OzRHQURMLGNBQWM7NkdBQWQsY0FBYyxpQkFIVixpQkFBaUIsYUFEdEIsWUFBWSxhQUVaLGlCQUFpQjs2R0FFaEIsY0FBYyxZQUpmLFlBQVk7NEZBSVgsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLWNhcmQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0RhdGFDYXJkQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0RhdGFDYXJkQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhQ2FyZE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1jYXJkL2RhdGEtY2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFPckMsTUFBTSxPQUFPLGNBQWM7SUFDekIsZ0JBQWUsQ0FBQzs7NEdBREwsY0FBYzs2R0FBZCxjQUFjLGlCQUhWLGlCQUFpQixhQUR0QixZQUFZLEVBQUUsVUFBVSxhQUV4QixVQUFVLEVBQUUsaUJBQWlCOzZHQUU1QixjQUFjLFlBSmYsWUFBWSxFQUFFLFVBQVUsRUFFeEIsVUFBVTs0RkFFVCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7b0JBQ25DLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtEYXRhQ2FyZENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtJY29uTW9kdWxlLCBEYXRhQ2FyZENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YUNhcmRNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
@@ -10,8 +10,9 @@ import * as i1 from "../form-field";
10
10
  import * as i2 from "@angular/forms";
11
11
  import * as i3 from "@angular/common";
12
12
  import * as i4 from "../button/button.component";
13
- import * as i5 from "./directives/file-drop.directive";
14
- import * as i6 from "./pipes/human-readable-byte-size.pipe";
13
+ import * as i5 from "../icon/icon.component";
14
+ import * as i6 from "./directives/file-drop.directive";
15
+ import * as i7 from "./pipes/human-readable-byte-size.pipe";
15
16
  const _FileUploadComponentBase = mixinTabIndex(mixinDisabled(mixinErrorState(class {
16
17
  constructor(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
17
18
  this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
@@ -275,7 +276,7 @@ FileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
275
276
  provide: ImpdcFormFieldControl,
276
277
  useExisting: FileUploadComponent
277
278
  }
278
- ], viewQueries: [{ propertyName: "fileDropElementRef", first: true, predicate: FileDropDirective, descendants: true, read: ElementRef }, { propertyName: "fileUploadInputEltRef", first: true, predicate: ["fileUploadInputElt"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span class=\"fas fa-cloud-upload-alt upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label > button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "directive", type: i5.FileDropDirective, selector: "[impdcFileDrop]", outputs: ["filesDropped"] }, { kind: "pipe", type: i6.HumanReadableByteSizePipe, name: "humanReadableByteSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
279
+ ], viewQueries: [{ propertyName: "fileDropElementRef", first: true, predicate: FileDropDirective, descendants: true, read: ElementRef }, { propertyName: "fileUploadInputEltRef", first: true, predicate: ["fileUploadInputElt"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label > button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: i5.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i6.FileDropDirective, selector: "[impdcFileDrop]", outputs: ["filesDropped"] }, { kind: "pipe", type: i7.HumanReadableByteSizePipe, name: "humanReadableByteSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
279
280
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, decorators: [{
280
281
  type: Component,
281
282
  args: [{ selector: 'impdc-file-upload, [impdc-file-upload]', inputs: ['disabled', 'tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, host: {
@@ -296,7 +297,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
296
297
  provide: ImpdcFormFieldControl,
297
298
  useExisting: FileUploadComponent
298
299
  }
299
- ], template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span class=\"fas fa-cloud-upload-alt upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label > button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"] }]
300
+ ], template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label > button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"] }]
300
301
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ErrorStateMatcher }, { type: undefined, decorators: [{
301
302
  type: Optional
302
303
  }, {
@@ -331,4 +332,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
331
332
  }], required: [{
332
333
  type: Input
333
334
  }] } });
334
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFPTCxVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFnQiwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFJTCxxQkFBcUIsRUFFckIsZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2YsYUFBYSxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFFakQsTUFBTSx3QkFBd0IsR0FBRyxhQUFhLENBQzVDLGFBQWEsQ0FDWCxlQUFlLENBQ2I7SUFHRSxZQUNTLHlCQUE0QyxFQUM1QyxTQUF3QixFQUN4QixXQUFtQixFQUNuQixnQkFBb0MsRUFDcEMsU0FBMkI7UUFKM0IsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUFtQjtRQUM1QyxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQ3hCLGdCQUFXLEdBQVgsV0FB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QUM3QyxxQkFBcUIsRUFBRSxZQUFZO3dCQUNuQyxxQ0FBcUMsRUFBRSxVQUFVO3dCQUNqRCxxQ0FBcUMsRUFBRSxVQUFVO3dCQUNqRCxvQ0FBb0MsRUFBRSxZQUFZO3dCQUNsRCxxQ0FBcUMsRUFBRSxVQUFVO3dCQUNqRCxrQ0FBa0MsRUFBRSxPQUFPO3dCQUMzQyxTQUFTLEVBQUUscUJBQXFCO3FCQUNqQyxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcscUJBQXFCO3lCQUNqQztxQkFDRjs7MEJBdUVFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBQ2xDLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLElBQUk7OzBCQUFJLFFBQVE7NENBNURULGtCQUFrQjtzQkFEM0IsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSzNDLHFCQUFxQjtzQkFEM0IsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT2xELFFBQVE7c0JBRFAsS0FBSztnQkFPTixVQUFVO3NCQURULEtBQUs7Z0JBT04sTUFBTTtzQkFETCxLQUFLO2dCQUlVLGlCQUFpQjtzQkFEaEMsS0FBSztnQkE2R0ssS0FBSztzQkFEZixLQUFLO2dCQTBCSyxFQUFFO3NCQURaLEtBQUs7Z0JBaUJLLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgTmdDb250cm9sLFxuICBOZ0Zvcm0sXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICduYW5vaWQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcyc7XG5pbXBvcnQge1xuICBFcnJvclN0YXRlTWF0Y2hlcixcbiAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gIElIYXNFcnJvclN0YXRlLFxuICBJbXBkY0Zvcm1GaWVsZENvbnRyb2wsXG4gIEltcGRjRm9ybVJvb3QsXG4gIElNUERDX0ZPUk1fUk9PVCxcbiAgbWl4aW5EaXNhYmxlZCxcbiAgbWl4aW5FcnJvclN0YXRlLFxuICBtaXhpblRhYkluZGV4XG59IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgRmlsZURyb3BEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuXG5jb25zdCBfRmlsZVVwbG9hZENvbXBvbmVudEJhc2UgPSBtaXhpblRhYkluZGV4KFxuICBtaXhpbkRpc2FibGVkKFxuICAgIG1peGluRXJyb3JTdGF0ZShcbiAgICAgIGNsYXNzIHtcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgICAgcHVibGljIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICAgIHB1YmxpYyBfZm9ybVJvb3Q6IEltcGRjRm9ybVJvb3QsXG4gICAgICAgICAgcHVibGljIF9wYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgICAgICAgcHVibGljIF9wYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICAgICAgICBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsXG4gICAgICAgICkge31cbiAgICAgIH1cbiAgICApXG4gIClcbik7XG5cbi8qKlxuICogVGhlIGBGaWxlVXBsb2FkQ29tcG9uZW50YCAoYDxpbXBkYy1maWxlLXVwbG9hZGAgb3IgYDxhbnkgaW1wZGMtZmlsZS11cGxvYWRgKSBpcyBhIGZpbGUgc2VsZWN0b3IgdGhhdCBzdXBwb3J0cyBkcmFnIGFuZCBkcm9wLlxuICogVG8gdXNlLCBpbXBvcnQgYEZpbGVVcGxvYWRNb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtZmlsZS11cGxvYWQsIFtpbXBkYy1maWxlLXVwbG9hZF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdpbXBkYy1maWxlLXVwbG9hZCcsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgJ1thdHRyLnRhYmluZGV4XSc6ICd0YWJJbmRleCcsXG4gICAgJ1thdHRyLmFyaWEtcmVxdWlyZWRdJzogJ3JlcXVpcmVkLnRvU3RyaW5nKCknLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZC50b1N0cmluZygpJyxcbiAgICAnW2F0dHIuYXJpYS1pbnZhbGlkXSc6ICdlcnJvclN0YXRlJyxcbiAgICAnW2NsYXNzLmltcGRjLWZpbGUtdXBsb2FkLS1yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICdbY2xhc3MuaW1wZGMtZmlsZS11cGxvYWQtLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5pbXBkYy1maWxlLXVwbG9hZC0taW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1maWxlLXVwbG9hZC0tbXVsdGlwbGVdJzogJ211bHRpcGxlJyxcbiAgICAnW2NsYXNzLmltcGRjLWZpbGUtdXBsb2FkLS1lbXB0eV0nOiAnZW1wdHknLFxuICAgICcoZm9jdXMpJzogJ19vbkZvY3VzKCk7IGZvY3VzKCknXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEltcGRjRm9ybUZpZWxkQ29udHJvbCxcbiAgICAgIHVzZUV4aXN0aW5nOiBGaWxlVXBsb2FkQ29tcG9uZW50XG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnRcbiAgZXh0ZW5kcyBfRmlsZVVwbG9hZENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50c1xuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIFZhbGlkYXRvcixcbiAgICBJbXBkY0Zvcm1GaWVsZENvbnRyb2w8RmlsZSB8IEZpbGVbXT4sXG4gICAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gICAgSUhhc0Vycm9yU3RhdGUsXG4gICAgRG9DaGVjayxcbiAgICBPbkRlc3Ryb3lcbntcbiAgQFZpZXdDaGlsZChGaWxlRHJvcERpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByb3RlY3RlZCBmaWxlRHJvcEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdmaWxlVXBsb2FkSW5wdXRFbHQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIGZpbGVVcGxvYWRJbnB1dEVsdFJlZiE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvbnRyb2wgc3VwcG9ydHMgdXBsb2FkaW5nIG11bHRpcGxlIGZpbGVzLlxuICAgKi9cbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGluc3RydWN0aW9uYWwgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBmaWxlIHVwbG9hZCBkcm9wem9uZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHVwbG9hZFRleHQgPSAnRHJhZyBhbmQgZHJvcCBmaWxlcyBoZXJlIG9yIGNsaWNrIHRvIHVwbG9hZCc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21tYS1kZWxpbWl0ZWQgbGlzdCBvZiBmaWxlIHR5cGVzIHRoYXQgYXJlIGFjY2VwdGVkIGJ5IHRoZSBjb250cm9sLlxuICAgKi9cbiAgQElucHV0KClcbiAgYWNjZXB0ID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGVycm9yU3RhdGVNYXRjaGVyITogRXJyb3JTdGF0ZU1hdGNoZXI7XG5cbiAgcHVibGljIGdldCBjYW5VcGxvYWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgfHwgdGhpcy5fdmFsdWUubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYWNjZXB0VHlwZXMoKTogc3RyaW5nW10ge1xuICAgIGlmICghdGhpcy5hY2NlcHQgfHwgIXRoaXMuYWNjZXB0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFjY2VwdFxuICAgICAgLnNwbGl0KCcsJylcbiAgICAgIC5tYXAoYSA9PiBhLnRyaW0oKSlcbiAgICAgIC5maWx0ZXIoYSA9PiAhIWEpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBmaWxlc0ZvckRpc3BsYXkoKTogcmVhZG9ubHkgRmlsZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgfHwgW107XG4gIH1cblxuICBwcml2YXRlIF9jdmFPbkNoYW5nZTogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2N2YU9uVG91Y2hlZDogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX3VpZCA9IGBpbXBkYy1maWxlLXVwbG9hZC0ke25hbm9pZCgpfWA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSU1QRENfRk9STV9ST09UKSBfZm9ybVJvb3Q6IEltcGRjRm9ybVJvb3QsXG4gICAgQE9wdGlvbmFsKCkgX3BhcmVudEZvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKSBfcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGxcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgX2Zvcm1Sb290LFxuICAgICAgX3BhcmVudEZvcm0sXG4gICAgICBfcGFyZW50Rm9ybUdyb3VwLFxuICAgICAgbmdDb250cm9sXG4gICAgKTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5hZGRWYWxpZGF0b3JzKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIGhhbmRsZUNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgfCBudWxsID0gKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkgfHwge30pXG4gICAgICAuZmlsZXM7XG5cbiAgICBpZiAoIWZpbGVMaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbWVyZ2VOZXdGaWxlc1dpdGhFeGlzdGluZ0ZpbGVzKGZpbGVMaXN0KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBoYW5kbGVEcm9wKGV2ZW50OiBGaWxlTGlzdCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICFldmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX21lcmdlTmV3RmlsZXNXaXRoRXhpc3RpbmdGaWxlcyhldmVudCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVtb3ZlRmlsZShmaWxlSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IG5ld0ZpbGVzQXJyID0gWy4uLnRoaXMuX3ZhbHVlXTtcbiAgICBuZXdGaWxlc0Fyci5zcGxpY2UoZmlsZUluZGV4LCAxKTtcblxuICAgIHRoaXMuX3VwZGF0ZVZhbHVlRnJvbUludGVyYWN0aW9uKG5ld0ZpbGVzQXJyKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5maWxlRHJvcEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcbiAgfVxuXG4gIC8qIExpZmVjeWNsZSBIb29rcyAqL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVFcnJvclN0YXRlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qIEltcGRjRm9ybUZpZWxkQ29udHJvbCAqL1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZShzKSBjdXJyZW50bHkgdXBsb2FkZWQgaW50byB0aGUgY29udHJvbC4gUmV0dXJucyBgRmlsZSB8IG51bGxgIHdoZW4gYG11bHRpcGxlYCBpcyBgZmFsc2VgLFxuICAgKiBhbmQgYEZpbGVbXWAgd2hlbiBgbXVsdGlwbGVgIGlzIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogRmlsZSB8IEZpbGVbXSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm11bHRpcGxlID8gWy4uLnRoaXMuX3ZhbHVlXSA6IHRoaXMuX3ZhbHVlWzBdO1xuICB9XG4gIHB1YmxpYyBzZXQgdmFsdWUobmV3VmFsdWU6IEZpbGUgfCBGaWxlW10gfCBudWxsKSB7XG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobmV3VmFsdWUpKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWUgPyBbLi4ubmV3VmFsdWVdIDogW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlID8gW25ld1ZhbHVlXSA6IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGZpbGVMaXN0ID0gdGhpcy5fZ2V0RmlsZUxpc3QodGhpcy5fdmFsdWUpO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5maWxlVXBsb2FkSW5wdXRFbHRSZWYgJiZcbiAgICAgIHRoaXMuZmlsZVVwbG9hZElucHV0RWx0UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICApIHtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZElucHV0RWx0UmVmLm5hdGl2ZUVsZW1lbnQuZmlsZXMgPSBmaWxlTGlzdDtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHJlYWRvbmx5IEZpbGVbXSA9IFtdO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLl91aWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByaXZhdGUgX2lkITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHNldCByZXF1aXJlZG5lc3Mgb2YgY29udHJvbCBpbiBhIHRlbXBsYXRlLWJhc2VkIG1hbm5lcjtcbiAgICogbm90IG5lY2Vzc2FyeSB3aGVuIHVzaW5nIHRoZSBBbmd1bGFyIHJlYWN0aXZlIGZvcm1zIEFQSSBhbmQgYHJlcXVpcmVkYCB2YWxpZGF0b3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9yZXF1aXJlZCA/P1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/P1xuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG4gIHB1YmxpYyBzZXQgcmVxdWlyZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5VmFsdWUodmFsdWUpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZm9jdXNlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250cm9sVHlwZTogc3RyaW5nID0gJ2ltcGRjLWZpbGUtdXBsb2FkJztcbiAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRzQWZmaXhlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qIENvbnRyb2xWYWx1ZUFjY2Vzc29yICovXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IEZpbGVbXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX2N2YU9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fY3ZhT25Ub3VjaGVkID0gZm47XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyogVmFsaWRhdG9yICovXG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZSgpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMucmVxdWlyZWQgJiYgdGhpcy5fdmFsdWUubGVuZ3RoID09PSAwXG4gICAgICA/IHsgcmVxdWlyZWQ6IHRydWUgfVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyogSW50ZXJuYWxzICovXG5cbiAgcHJvdGVjdGVkIF9vbkZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9vbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNlZCA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9jdmFPblRvdWNoZWQgJiYgdGhpcy5fY3ZhT25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZUZyb21JbnRlcmFjdGlvbihuZXdWYWx1ZTogRmlsZVtdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuXG4gICAgdGhpcy5fY3ZhT25DaGFuZ2UgJiYgdGhpcy5fY3ZhT25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5fY3ZhT25Ub3VjaGVkICYmIHRoaXMuX2N2YU9uVG91Y2hlZCgpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX21lcmdlTmV3RmlsZXNXaXRoRXhpc3RpbmdGaWxlcyhmaWxlTGlzdDogRmlsZUxpc3QgfCBudWxsKSB7XG4gICAgaWYgKCFmaWxlTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl92YWx1ZSAmJiB0aGlzLl92YWx1ZS5sZW5ndGggPT0gMSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRlbXBGaWxlcyA9IFsuLi50aGlzLl92YWx1ZV07XG5cbiAgICBBcnJheS5mcm9tKGZpbGVMaXN0KS5mb3JFYWNoKG5ld0ZpbGUgPT4ge1xuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRlbXBGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGV4aXN0aW5nRmlsZSA9IHRlbXBGaWxlcy5maW5kKFxuICAgICAgICBleGlzdGluZyA9PlxuICAgICAgICAgIGV4aXN0aW5nLm5hbWUgPT09IG5ld0ZpbGUubmFtZSAmJlxuICAgICAgICAgIGV4aXN0aW5nLmxhc3RNb2RpZmllZCA9PT0gbmV3RmlsZS5sYXN0TW9kaWZpZWQgJiZcbiAgICAgICAgICBleGlzdGluZy5zaXplID09PSBuZXdGaWxlLnNpemVcbiAgICAgICk7XG5cbiAgICAgIGlmIChleGlzdGluZ0ZpbGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fYWNjZXB0ZWRGaWxlVHlwZShuZXdGaWxlLnR5cGUsIG5ld0ZpbGUubmFtZSkpIHtcbiAgICAgICAgdGVtcEZpbGVzLnB1c2gobmV3RmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl91cGRhdGVWYWx1ZUZyb21JbnRlcmFjdGlvbih0ZW1wRmlsZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RmlsZUxpc3QoZmlsZXM6IHJlYWRvbmx5IEZpbGVbXSk6IEZpbGVMaXN0IHtcbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XG5cbiAgICBmaWxlcy5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgZGF0YVRyYW5zZmVyLml0ZW1zLmFkZChmaWxlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkYXRhVHJhbnNmZXIuZmlsZXM7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFeHRlbnNpb25zKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgbmFtZVNlZ21lbnRzID0gZmlsZU5hbWUuc3BsaXQoJy4nKTtcbiAgICBsZXQgZXh0ZW5zaW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChuYW1lU2VnbWVudHMubGVuZ3RoIDwgMikge1xuICAgICAgcmV0dXJuIGV4dGVuc2lvbnM7XG4gICAgfVxuXG4gICAgY29uc3QgZXh0ZW5zaW9uID0gYC4ke25hbWVTZWdtZW50cy5zbGljZSgxKS5qb2luKCcuJyl9YDtcbiAgICBleHRlbnNpb25zLnB1c2goZXh0ZW5zaW9uKTtcblxuICAgIGlmIChuYW1lU2VnbWVudHMubGVuZ3RoID09PSAyKSB7XG4gICAgICByZXR1cm4gZXh0ZW5zaW9ucztcbiAgICB9XG5cbiAgICBjb25zdCBzdWIgPSBgLiR7bmFtZVNlZ21lbnRzLnNsaWNlKDIpLmpvaW4oJy4nKX1gO1xuICAgIGNvbnN0IHN1YkV4dGVuc2lvbnMgPSB0aGlzLl9nZXRFeHRlbnNpb25zKHN1Yik7XG4gICAgZXh0ZW5zaW9ucyA9IFsuLi5leHRlbnNpb25zLCAuLi5zdWJFeHRlbnNpb25zXTtcblxuICAgIHJldHVybiBleHRlbnNpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWNjZXB0ZWRGaWxlVHlwZSh0eXBlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuYWNjZXB0VHlwZXMgfHwgdGhpcy5hY2NlcHRUeXBlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFjY2VwdGVkQnlUeXBlID0gdGhpcy5hY2NlcHRUeXBlcy5pbmNsdWRlcyh0eXBlKTtcblxuICAgIGlmIChhY2NlcHRlZEJ5VHlwZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbnMgPSB0aGlzLl9nZXRFeHRlbnNpb25zKGZpbGVOYW1lKTtcblxuICAgIGlmICghZmlsZUV4dGVuc2lvbnMgfHwgZmlsZUV4dGVuc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgYWNjZXB0ZWRCeUV4dGVuc2lvbiA9IHRoaXMuYWNjZXB0VHlwZXMuc29tZSh0eXBlID0+XG4gICAgICBmaWxlRXh0ZW5zaW9ucy5pbmNsdWRlcyh0eXBlKVxuICAgICk7XG5cbiAgICByZXR1cm4gYWNjZXB0ZWRCeUV4dGVuc2lvbjtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImltcGRjLWZpbGUtdXBsb2FkLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJpbXBkYy1maWxlLXVwbG9hZC1kcm9wem9uZVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2hpZGUtdXBsb2FkJzogIWNhblVwbG9hZFxuICAgIH1cIlxuICAgIGltcGRjRmlsZURyb3BcbiAgICAoZmlsZXNEcm9wcGVkKT1cImhhbmRsZURyb3AoJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cImZpbGVVcGxvYWRJbnB1dEVsdC5jbGljaygpXCJcbiAgICAoZm9jdXMpPVwiX29uRm9jdXMoKVwiXG4gICAgKGJsdXIpPVwiX29uQmx1cigpXCJcbiAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQgPyAnLTEnIDogJzAnXCI+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImZpbGUtdXBsb2FkLWlucHV0XCJcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICNmaWxlVXBsb2FkSW5wdXRFbHRcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICB0YWJpbmRleD1cIi0xXCIgLz5cbiAgICA8c3BhbiBjbGFzcz1cImZhcyBmYS1jbG91ZC11cGxvYWQtYWx0IHVwbG9hZC1pY29uXCI+PC9zcGFuPlxuICAgIDxwIGNsYXNzPVwidXBsb2FkLXRleHRcIj57eyB1cGxvYWRUZXh0IH19PC9wPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImN1cnJlbnQtZmlsZXNcIiAqbmdJZj1cImZpbGVzRm9yRGlzcGxheS5sZW5ndGhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzRm9yRGlzcGxheTsgbGV0IGlkeCA9IGluZGV4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3VycmVudC1maWxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW50LWZpbGUtZGV0YWlsc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3sgZmlsZS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpemVcIj57eyBmaWxlLnNpemUgfCBodW1hblJlYWRhYmxlQnl0ZVNpemUgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhZGlzYWJsZWRcIiBjbGFzcz1cImN1cnJlbnQtZmlsZS1hY3Rpb25zXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgaW1wZGNCdXR0b25cbiAgICAgICAgICAgIHRoZW1lPVwiY2xvc2VcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJyZW1vdmVGaWxlKGlkeClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbGUoaWR4KVwiPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFPTCxVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFnQiwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFJTCxxQkFBcUIsRUFFckIsZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2YsYUFBYSxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7O0FBRWpELE1BQU0sd0JBQXdCLEdBQUcsYUFBYSxDQUM1QyxhQUFhLENBQ1gsZUFBZSxDQUNiO0lBR0UsWUFDUyx5QkFBNEMsRUFDNUMsU0FBd0IsRUFDeEIsV0FBbUIsRUFDbkIsZ0JBQW9DLEVBQ3BDLFNBQTJCO1FBSjNCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBbUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QixnQkFBVyxHQUFYLFdB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QkFDN0MscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMscUNBQXFDLEVBQUUsVUFBVTt3QkFDakQscUNBQXFDLEVBQUUsVUFBVTt3QkFDakQsb0NBQW9DLEVBQUUsWUFBWTt3QkFDbEQscUNBQXFDLEVBQUUsVUFBVTt3QkFDakQsa0NBQWtDLEVBQUUsT0FBTzt3QkFDM0MsU0FBUyxFQUFFLHFCQUFxQjtxQkFDakMsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixXQUFXLHFCQUFxQjt5QkFDakM7cUJBQ0Y7OzBCQXVFRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUNsQyxRQUFROzswQkFDUixRQUFROzswQkFDUixJQUFJOzswQkFBSSxRQUFROzRDQTVEVCxrQkFBa0I7c0JBRDNCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUszQyxxQkFBcUI7c0JBRDNCLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQU9sRCxRQUFRO3NCQURQLEtBQUs7Z0JBT04sVUFBVTtzQkFEVCxLQUFLO2dCQU9OLE1BQU07c0JBREwsS0FBSztnQkFJVSxpQkFBaUI7c0JBRGhDLEtBQUs7Z0JBNkdLLEtBQUs7c0JBRGYsS0FBSztnQkEwQkssRUFBRTtzQkFEWixLQUFLO2dCQWlCSyxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIE5nQ29udHJvbCxcbiAgTmdGb3JtLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnbmFub2lkJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5VmFsdWUgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMnO1xuaW1wb3J0IHtcbiAgRXJyb3JTdGF0ZU1hdGNoZXIsXG4gIElDYW5VcGRhdGVFcnJvclN0YXRlLFxuICBJSGFzRXJyb3JTdGF0ZSxcbiAgSW1wZGNGb3JtRmllbGRDb250cm9sLFxuICBJbXBkY0Zvcm1Sb290LFxuICBJTVBEQ19GT1JNX1JPT1QsXG4gIG1peGluRGlzYWJsZWQsXG4gIG1peGluRXJyb3JTdGF0ZSxcbiAgbWl4aW5UYWJJbmRleFxufSBmcm9tICcuLi9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEZpbGVEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuY29uc3QgX0ZpbGVVcGxvYWRDb21wb25lbnRCYXNlID0gbWl4aW5UYWJJbmRleChcbiAgbWl4aW5EaXNhYmxlZChcbiAgICBtaXhpbkVycm9yU3RhdGUoXG4gICAgICBjbGFzcyB7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAgIHB1YmxpYyBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICAgICAgICBwdWJsaWMgX2Zvcm1Sb290OiBJbXBkY0Zvcm1Sb290LFxuICAgICAgICAgIHB1YmxpYyBfcGFyZW50Rm9ybTogTmdGb3JtLFxuICAgICAgICAgIHB1YmxpYyBfcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgICAgICAgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbFxuICAgICAgICApIHt9XG4gICAgICB9XG4gICAgKVxuICApXG4pO1xuXG4vKipcbiAqIFRoZSBgRmlsZVVwbG9hZENvbXBvbmVudGAgKGA8aW1wZGMtZmlsZS11cGxvYWRgIG9yIGA8YW55IGltcGRjLWZpbGUtdXBsb2FkYCkgaXMgYSBmaWxlIHNlbGVjdG9yIHRoYXQgc3VwcG9ydHMgZHJhZyBhbmQgZHJvcC5cbiAqIFRvIHVzZSwgaW1wb3J0IGBGaWxlVXBsb2FkTW9kdWxlYCBvciBhbm90aGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgYW5kIGV4cG9ydHMgdGhhdCBtb2R1bGUgZnJvbSBgQGltcGFydG5lci9kZXNpZ24tY29tcG9uZW50c2AuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLWZpbGUtdXBsb2FkLCBbaW1wZGMtZmlsZS11cGxvYWRdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3RhYkluZGV4J10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnaW1wZGMtZmlsZS11cGxvYWQnLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICdbYXR0ci50YWJpbmRleF0nOiAndGFiSW5kZXgnLFxuICAgICdbYXR0ci5hcmlhLXJlcXVpcmVkXSc6ICdyZXF1aXJlZC50b1N0cmluZygpJyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQudG9TdHJpbmcoKScsXG4gICAgJ1thdHRyLmFyaWEtaW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1maWxlLXVwbG9hZC0tcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2NsYXNzLmltcGRjLWZpbGUtdXBsb2FkLS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuaW1wZGMtZmlsZS11cGxvYWQtLWludmFsaWRdJzogJ2Vycm9yU3RhdGUnLFxuICAgICdbY2xhc3MuaW1wZGMtZmlsZS11cGxvYWQtLW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1maWxlLXVwbG9hZC0tZW1wdHldJzogJ2VtcHR5JyxcbiAgICAnKGZvY3VzKSc6ICdfb25Gb2N1cygpOyBmb2N1cygpJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBJbXBkY0Zvcm1GaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogRmlsZVVwbG9hZENvbXBvbmVudFxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50XG4gIGV4dGVuZHMgX0ZpbGVVcGxvYWRDb21wb25lbnRCYXNlXG4gIGltcGxlbWVudHNcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBWYWxpZGF0b3IsXG4gICAgSW1wZGNGb3JtRmllbGRDb250cm9sPEZpbGUgfCBGaWxlW10+LFxuICAgIElDYW5VcGRhdGVFcnJvclN0YXRlLFxuICAgIElIYXNFcnJvclN0YXRlLFxuICAgIERvQ2hlY2ssXG4gICAgT25EZXN0cm95XG57XG4gIEBWaWV3Q2hpbGQoRmlsZURyb3BEaXJlY3RpdmUsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcm90ZWN0ZWQgZmlsZURyb3BFbGVtZW50UmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQFZpZXdDaGlsZCgnZmlsZVVwbG9hZElucHV0RWx0JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBmaWxlVXBsb2FkSW5wdXRFbHRSZWYhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb250cm9sIHN1cHBvcnRzIHVwbG9hZGluZyBtdWx0aXBsZSBmaWxlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIG11bHRpcGxlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0cnVjdGlvbmFsIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgZmlsZSB1cGxvYWQgZHJvcHpvbmUuXG4gICAqL1xuICBASW5wdXQoKVxuICB1cGxvYWRUZXh0ID0gJ0RyYWcgYW5kIGRyb3AgZmlsZXMgaGVyZSBvciBjbGljayB0byB1cGxvYWQnO1xuXG4gIC8qKlxuICAgKiBUaGUgY29tbWEtZGVsaW1pdGVkIGxpc3Qgb2YgZmlsZSB0eXBlcyB0aGF0IGFyZSBhY2NlcHRlZCBieSB0aGUgY29udHJvbC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGFjY2VwdCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBlcnJvclN0YXRlTWF0Y2hlciE6IEVycm9yU3RhdGVNYXRjaGVyO1xuXG4gIHB1YmxpYyBnZXQgY2FuVXBsb2FkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm11bHRpcGxlIHx8IHRoaXMuX3ZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGFjY2VwdFR5cGVzKCk6IHN0cmluZ1tdIHtcbiAgICBpZiAoIXRoaXMuYWNjZXB0IHx8ICF0aGlzLmFjY2VwdC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hY2NlcHRcbiAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAubWFwKGEgPT4gYS50cmltKCkpXG4gICAgICAuZmlsdGVyKGEgPT4gISFhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZmlsZXNGb3JEaXNwbGF5KCk6IHJlYWRvbmx5IEZpbGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3ZhT25DaGFuZ2U6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9jdmFPblRvdWNoZWQ6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF91aWQgPSBgaW1wZGMtZmlsZS11cGxvYWQtJHtuYW5vaWQoKX1gO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KElNUERDX0ZPUk1fUk9PVCkgX2Zvcm1Sb290OiBJbXBkY0Zvcm1Sb290LFxuICAgIEBPcHRpb25hbCgpIF9wYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgQE9wdGlvbmFsKCkgX3BhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcixcbiAgICAgIF9mb3JtUm9vdCxcbiAgICAgIF9wYXJlbnRGb3JtLFxuICAgICAgX3BhcmVudEZvcm1Hcm91cCxcbiAgICAgIG5nQ29udHJvbFxuICAgICk7XG5cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8uYWRkVmFsaWRhdG9ycygoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmlkID0gdGhpcy5pZDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBoYW5kbGVDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgZmlsZUxpc3Q6IEZpbGVMaXN0IHwgbnVsbCA9ICgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpIHx8IHt9KVxuICAgICAgLmZpbGVzO1xuXG4gICAgaWYgKCFmaWxlTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX21lcmdlTmV3RmlsZXNXaXRoRXhpc3RpbmdGaWxlcyhmaWxlTGlzdCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgaGFuZGxlRHJvcChldmVudDogRmlsZUxpc3QpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhZXZlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9tZXJnZU5ld0ZpbGVzV2l0aEV4aXN0aW5nRmlsZXMoZXZlbnQpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIHJlbW92ZUZpbGUoZmlsZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdGaWxlc0FyciA9IFsuLi50aGlzLl92YWx1ZV07XG4gICAgbmV3RmlsZXNBcnIuc3BsaWNlKGZpbGVJbmRleCwgMSk7XG5cbiAgICB0aGlzLl91cGRhdGVWYWx1ZUZyb21JbnRlcmFjdGlvbihuZXdGaWxlc0Fycik7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuZmlsZURyb3BFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gIH1cblxuICAvKiBMaWZlY3ljbGUgSG9va3MgKi9cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiBJbXBkY0Zvcm1GaWVsZENvbnRyb2wgKi9cblxuICAvKipcbiAgICogVGhlIGZpbGUocykgY3VycmVudGx5IHVwbG9hZGVkIGludG8gdGhlIGNvbnRyb2wuIFJldHVybnMgYEZpbGUgfCBudWxsYCB3aGVuIGBtdWx0aXBsZWAgaXMgYGZhbHNlYCxcbiAgICogYW5kIGBGaWxlW11gIHdoZW4gYG11bHRpcGxlYCBpcyBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IEZpbGUgfCBGaWxlW10gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5tdWx0aXBsZSA/IFsuLi50aGlzLl92YWx1ZV0gOiB0aGlzLl92YWx1ZVswXTtcbiAgfVxuICBwdWJsaWMgc2V0IHZhbHVlKG5ld1ZhbHVlOiBGaWxlIHwgRmlsZVtdIHwgbnVsbCkge1xuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG5ld1ZhbHVlKSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlID8gWy4uLm5ld1ZhbHVlXSA6IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZSA/IFtuZXdWYWx1ZV0gOiBbXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmaWxlTGlzdCA9IHRoaXMuX2dldEZpbGVMaXN0KHRoaXMuX3ZhbHVlKTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuZmlsZVVwbG9hZElucHV0RWx0UmVmICYmXG4gICAgICB0aGlzLmZpbGVVcGxvYWRJbnB1dEVsdFJlZi5uYXRpdmVFbGVtZW50XG4gICAgKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRJbnB1dEVsdFJlZi5uYXRpdmVFbGVtZW50LmZpbGVzID0gZmlsZUxpc3Q7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiByZWFkb25seSBGaWxlW10gPSBbXTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG4gIHB1YmxpYyBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy5fdWlkO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwcml2YXRlIF9pZCE6IHN0cmluZztcblxuICAvKipcbiAgICogVXNlZCB0byBzZXQgcmVxdWlyZWRuZXNzIG9mIGNvbnRyb2wgaW4gYSB0ZW1wbGF0ZS1iYXNlZCBtYW5uZXI7XG4gICAqIG5vdCBuZWNlc3Nhcnkgd2hlbiB1c2luZyB0aGUgQW5ndWxhciByZWFjdGl2ZSBmb3JtcyBBUEkgYW5kIGByZXF1aXJlZGAgdmFsaWRhdG9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fcmVxdWlyZWQgPz9cbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgPz9cbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c2VkO1xuICB9XG4gIHByaXZhdGUgX2ZvY3VzZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbFR5cGU6IHN0cmluZyA9ICdpbXBkYy1maWxlLXVwbG9hZCc7XG4gIHB1YmxpYyByZWFkb25seSBzdXBwb3J0c0FmZml4ZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiBDb250cm9sVmFsdWVBY2Nlc3NvciAqL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBGaWxlW10pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9jdmFPbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX2N2YU9uVG91Y2hlZCA9IGZuO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qIFZhbGlkYXRvciAqL1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLnJlcXVpcmVkICYmIHRoaXMuX3ZhbHVlLmxlbmd0aCA9PT0gMFxuICAgICAgPyB7IHJlcXVpcmVkOiB0cnVlIH1cbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIC8qIEludGVybmFscyAqL1xuXG4gIHByb3RlY3RlZCBfb25Gb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX2ZvY3VzZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzZWQgPSBmYWxzZTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fY3ZhT25Ub3VjaGVkICYmIHRoaXMuX2N2YU9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVmFsdWVGcm9tSW50ZXJhY3Rpb24obmV3VmFsdWU6IEZpbGVbXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcblxuICAgIHRoaXMuX2N2YU9uQ2hhbmdlICYmIHRoaXMuX2N2YU9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuX2N2YU9uVG91Y2hlZCAmJiB0aGlzLl9jdmFPblRvdWNoZWQoKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF9tZXJnZU5ld0ZpbGVzV2l0aEV4aXN0aW5nRmlsZXMoZmlsZUxpc3Q6IEZpbGVMaXN0IHwgbnVsbCkge1xuICAgIGlmICghZmlsZUxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fdmFsdWUgJiYgdGhpcy5fdmFsdWUubGVuZ3RoID09IDEgJiYgIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wRmlsZXMgPSBbLi4udGhpcy5fdmFsdWVdO1xuXG4gICAgQXJyYXkuZnJvbShmaWxlTGlzdCkuZm9yRWFjaChuZXdGaWxlID0+IHtcbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0ZW1wRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBleGlzdGluZ0ZpbGUgPSB0ZW1wRmlsZXMuZmluZChcbiAgICAgICAgZXhpc3RpbmcgPT5cbiAgICAgICAgICBleGlzdGluZy5uYW1lID09PSBuZXdGaWxlLm5hbWUgJiZcbiAgICAgICAgICBleGlzdGluZy5sYXN0TW9kaWZpZWQgPT09IG5ld0ZpbGUubGFzdE1vZGlmaWVkICYmXG4gICAgICAgICAgZXhpc3Rpbmcuc2l6ZSA9PT0gbmV3RmlsZS5zaXplXG4gICAgICApO1xuXG4gICAgICBpZiAoZXhpc3RpbmdGaWxlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2FjY2VwdGVkRmlsZVR5cGUobmV3RmlsZS50eXBlLCBuZXdGaWxlLm5hbWUpKSB7XG4gICAgICAgIHRlbXBGaWxlcy5wdXNoKG5ld0ZpbGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fdXBkYXRlVmFsdWVGcm9tSW50ZXJhY3Rpb24odGVtcEZpbGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEZpbGVMaXN0KGZpbGVzOiByZWFkb25seSBGaWxlW10pOiBGaWxlTGlzdCB7XG4gICAgY29uc3QgZGF0YVRyYW5zZmVyID0gbmV3IERhdGFUcmFuc2ZlcigpO1xuXG4gICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgIGRhdGFUcmFuc2Zlci5pdGVtcy5hZGQoZmlsZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGF0YVRyYW5zZmVyLmZpbGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXh0ZW5zaW9ucyhmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG5hbWVTZWdtZW50cyA9IGZpbGVOYW1lLnNwbGl0KCcuJyk7XG4gICAgbGV0IGV4dGVuc2lvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAobmFtZVNlZ21lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICAgIHJldHVybiBleHRlbnNpb25zO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGAuJHtuYW1lU2VnbWVudHMuc2xpY2UoMSkuam9pbignLicpfWA7XG4gICAgZXh0ZW5zaW9ucy5wdXNoKGV4dGVuc2lvbik7XG5cbiAgICBpZiAobmFtZVNlZ21lbnRzLmxlbmd0aCA9PT0gMikge1xuICAgICAgcmV0dXJuIGV4dGVuc2lvbnM7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ViID0gYC4ke25hbWVTZWdtZW50cy5zbGljZSgyKS5qb2luKCcuJyl9YDtcbiAgICBjb25zdCBzdWJFeHRlbnNpb25zID0gdGhpcy5fZ2V0RXh0ZW5zaW9ucyhzdWIpO1xuICAgIGV4dGVuc2lvbnMgPSBbLi4uZXh0ZW5zaW9ucywgLi4uc3ViRXh0ZW5zaW9uc107XG5cbiAgICByZXR1cm4gZXh0ZW5zaW9ucztcbiAgfVxuXG4gIHByaXZhdGUgX2FjY2VwdGVkRmlsZVR5cGUodHlwZTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmFjY2VwdFR5cGVzIHx8IHRoaXMuYWNjZXB0VHlwZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBhY2NlcHRlZEJ5VHlwZSA9IHRoaXMuYWNjZXB0VHlwZXMuaW5jbHVkZXModHlwZSk7XG5cbiAgICBpZiAoYWNjZXB0ZWRCeVR5cGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVFeHRlbnNpb25zID0gdGhpcy5fZ2V0RXh0ZW5zaW9ucyhmaWxlTmFtZSk7XG5cbiAgICBpZiAoIWZpbGVFeHRlbnNpb25zIHx8IGZpbGVFeHRlbnNpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGFjY2VwdGVkQnlFeHRlbnNpb24gPSB0aGlzLmFjY2VwdFR5cGVzLnNvbWUodHlwZSA9PlxuICAgICAgZmlsZUV4dGVuc2lvbnMuaW5jbHVkZXModHlwZSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGFjY2VwdGVkQnlFeHRlbnNpb247XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbXBkYy1maWxlLXVwbG9hZC1jb250YWluZXJcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiaW1wZGMtZmlsZS11cGxvYWQtZHJvcHpvbmVcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdoaWRlLXVwbG9hZCc6ICFjYW5VcGxvYWRcbiAgICB9XCJcbiAgICBpbXBkY0ZpbGVEcm9wXG4gICAgKGZpbGVzRHJvcHBlZCk9XCJoYW5kbGVEcm9wKCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJmaWxlVXBsb2FkSW5wdXRFbHQuY2xpY2soKVwiXG4gICAgKGZvY3VzKT1cIl9vbkZvY3VzKClcIlxuICAgIChibHVyKT1cIl9vbkJsdXIoKVwiXG4gICAgW3RhYmluZGV4XT1cImRpc2FibGVkID8gJy0xJyA6ICcwJ1wiPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmaWxlLXVwbG9hZC1pbnB1dFwiXG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAjZmlsZVVwbG9hZElucHV0RWx0XG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiIC8+XG4gICAgPHNwYW5cbiAgICAgIGltcGRjLWljb25cbiAgICAgIHRoZW1lPVwicmVndWxhclwiXG4gICAgICBuYW1lPVwiY2xvdWQtdXBsb2FkLWFsdFwiXG4gICAgICBjbGFzcz1cInVwbG9hZC1pY29uXCI+PC9zcGFuPlxuICAgIDxwIGNsYXNzPVwidXBsb2FkLXRleHRcIj57eyB1cGxvYWRUZXh0IH19PC9wPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImN1cnJlbnQtZmlsZXNcIiAqbmdJZj1cImZpbGVzRm9yRGlzcGxheS5sZW5ndGhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzRm9yRGlzcGxheTsgbGV0IGlkeCA9IGluZGV4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3VycmVudC1maWxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW50LWZpbGUtZGV0YWlsc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3sgZmlsZS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpemVcIj57eyBmaWxlLnNpemUgfCBodW1hblJlYWRhYmxlQnl0ZVNpemUgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhZGlzYWJsZWRcIiBjbGFzcz1cImN1cnJlbnQtZmlsZS1hY3Rpb25zXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgaW1wZGNCdXR0b25cbiAgICAgICAgICAgIHRoZW1lPVwiY2xvc2VcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJyZW1vdmVGaWxlKGlkeClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbGUoaWR4KVwiPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19