@design-system-rte/angular 1.2.1-rc5 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/esm2022/lib/components/dropdown/dropdown-item/dropdown-item.component.mjs +157 -14
  2. package/esm2022/lib/components/dropdown/dropdown-menu/dropdown-menu.component.mjs +71 -6
  3. package/esm2022/lib/components/dropdown/dropdown.directive.mjs +48 -39
  4. package/esm2022/lib/components/dropdown/dropdown.types.mjs +2 -0
  5. package/esm2022/lib/components/dropdown/index.mjs +1 -3
  6. package/esm2022/lib/components/icon/icon-map.mjs +112 -112
  7. package/esm2022/lib/components/modal/modal.component.mjs +3 -3
  8. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +5 -3
  9. package/esm2022/lib/components/side-nav/side-nav.component.mjs +1 -1
  10. package/esm2022/lib/components/stepper/stepper.component.mjs +3 -3
  11. package/esm2022/lib/components/tab/tab-item/tab-item.component.mjs +3 -3
  12. package/esm2022/lib/components/tab/tab.component.mjs +1 -1
  13. package/esm2022/lib/components/tag/tag.component.mjs +4 -3
  14. package/esm2022/public-api.mjs +9 -1
  15. package/fesm2022/design-system-rte-angular.mjs +431 -219
  16. package/fesm2022/design-system-rte-angular.mjs.map +1 -1
  17. package/lib/components/assistive-text/assistive-text.component.d.ts +1 -1
  18. package/lib/components/chip/chip.component.d.ts +1 -1
  19. package/lib/components/dropdown/dropdown-item/dropdown-item.component.d.ts +28 -16
  20. package/lib/components/dropdown/dropdown-menu/dropdown-menu.component.d.ts +14 -3
  21. package/lib/components/dropdown/dropdown.directive.d.ts +8 -4
  22. package/lib/components/dropdown/dropdown.types.d.ts +30 -0
  23. package/lib/components/dropdown/index.d.ts +1 -0
  24. package/lib/components/segmented-control/segmented-control.component.d.ts +3 -1
  25. package/lib/components/side-nav/side-nav.component.d.ts +2 -2
  26. package/lib/components/tab/tab.component.d.ts +1 -1
  27. package/lib/components/tag/tag.component.d.ts +2 -1
  28. package/lib/components/text-input/base-text-input/base-text-input.component.d.ts +1 -1
  29. package/package.json +2 -2
  30. package/public-api.d.ts +8 -0
@@ -103,10 +103,10 @@ export class TabItemComponent {
103
103
  });
104
104
  }
105
105
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: TabItemComponent, isStandalone: true, selector: "rte-tab-item", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: false, transformFunction: null }, compactSpacing: { classPropertyName: "compactSpacing", publicName: "compactSpacing", isSignal: true, isRequired: false, transformFunction: null }, isSelected: { classPropertyName: "isSelected", publicName: "isSelected", isSignal: true, isRequired: false, transformFunction: null }, handleKeydown: { classPropertyName: "handleKeydown", publicName: "handleKeydown", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, viewQueries: [{ propertyName: "tabItemRef", first: true, predicate: ["tabItem"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\n #tabItem\n class=\"rte-tabitem\"\n role=\"tab\"\n [id]=\"option()?.id\"\n [attr.aria-selected]=\"isSelected()\"\n [attr.aria-controls]=\"option()?.panelId\"\n [tabIndex]=\"isSelected() ? 0 : -1\"\n [attr.data-selected]=\"isSelected()\"\n [attr.data-inverted]=\"inverted()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.data-disabled]=\"option()?.disabled\"\n [attr.data-hidden]=\"isHidden()\"\n (click)=\"onClickTabItem($event, option()?.id || '')\"\n (mouseover)=\"handleMouseHover()\"\n (mouseout)=\"handleMouseOut()\"\n (keydown)=\"handleKeydown()\"\n>\n <rte-icon *ngIf=\"option()?.icon\" [name]=\"option()?.icon || ''\" [appearance]=\"isSelected() ? 'filled' : 'outlined'\" />\n <span *ngIf=\"option()?.label\">{{ option()?.label }}</span>\n <rte-badge\n *ngIf=\"displayBadge(option()!)\"\n [simpleBadge]=\"true\"\n [badgeContent]=\"option()?.badgeContent || 'empty'\"\n [badgeType]=\"option()?.badgeType || 'neutral'\"\n [icon]=\"option()?.badgeIcon || ''\"\n [count]=\"option()?.badgeCount\"\n />\n</button>\n<span\n #hoverIndicator\n class=\"rte-tab-hover-indicator\"\n [attr.data-disabled]=\"option()?.disabled\"\n [id]=\"'tab-hover-indicator' + option()?.id\"\n [ngStyle]=\"{\n width: hoverIndicatorWidth(),\n height: hoverIndicatorHeight(),\n left: hoverIndicatorLeft(),\n top: hoverIndicatorTop(),\n opacity: hoverIndicatorOpacity(),\n }\"\n></span>\n", styles: [":host{pointer-events:none;display:flex}.rte-tabitem{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;display:flex;padding:12px;justify-content:center;align-items:center;gap:12px;background:transparent;color:var(--content-secondary);cursor:pointer;border:none;text-align:left;flex-shrink:0;margin-left:2px;height:100%;pointer-events:auto}.rte-tabitem[data-inverted=true]{color:var(--content-primary-inverse)}.rte-tabitem[data-direction=vertical]{flex-shrink:1;margin-left:0}.rte-tabitem[data-hidden=true]{visibility:hidden}.rte-tabitem[data-selected=true]:not([data-disabled=true]),.rte-tabitem:hover:not([data-disabled=true]){font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:14px;line-height:20px;letter-spacing:0px}.rte-tabitem[data-disabled=true]{color:var(--content-disabled);cursor:not-allowed}.rte-tabitem[data-compact-spacing=true]{padding:4px 12px}.rte-tabitem:focus-visible{z-index:1;outline:2px solid var(--border-brand-focused)}.rte-tab-hover-indicator{position:absolute;top:4px;height:2px;width:2px;background:var(--background-neutral-regular-hover);opacity:0;transition:left .2s ease,width .2s ease;z-index:10}.rte-tab-hover-indicator[data-disabled=true]{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: TabItemComponent, isStandalone: true, selector: "rte-tab-item", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: false, transformFunction: null }, compactSpacing: { classPropertyName: "compactSpacing", publicName: "compactSpacing", isSignal: true, isRequired: false, transformFunction: null }, isSelected: { classPropertyName: "isSelected", publicName: "isSelected", isSignal: true, isRequired: false, transformFunction: null }, handleKeydown: { classPropertyName: "handleKeydown", publicName: "handleKeydown", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, viewQueries: [{ propertyName: "tabItemRef", first: true, predicate: ["tabItem"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\n #tabItem\n class=\"rte-tabitem\"\n role=\"tab\"\n [id]=\"option()?.id\"\n [attr.aria-selected]=\"isSelected()\"\n [attr.aria-controls]=\"option()?.panelId\"\n [tabIndex]=\"isSelected() ? 0 : -1\"\n [attr.data-selected]=\"isSelected()\"\n [attr.data-inverted]=\"inverted()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.data-disabled]=\"option()?.disabled\"\n [attr.data-hidden]=\"isHidden()\"\n (click)=\"onClickTabItem($event, option()?.id || '')\"\n (mouseover)=\"handleMouseHover()\"\n (mouseout)=\"handleMouseOut()\"\n (keydown)=\"handleKeydown()\"\n>\n <rte-icon *ngIf=\"option()?.icon\" [name]=\"option()?.icon || ''\" [appearance]=\"isSelected() ? 'filled' : 'outlined'\" />\n <span *ngIf=\"option()?.label\">{{ option()?.label }}</span>\n <rte-badge\n *ngIf=\"displayBadge(option()!)\"\n [simpleBadge]=\"true\"\n [badgeContent]=\"option()?.badgeContent || 'empty'\"\n [badgeType]=\"option()?.badgeType || 'neutral'\"\n [icon]=\"option()?.badgeIcon || ''\"\n [count]=\"option()?.badgeCount\"\n />\n</button>\n<span\n #hoverIndicator\n class=\"rte-tab-hover-indicator\"\n [attr.data-disabled]=\"option()?.disabled\"\n [id]=\"'tab-hover-indicator' + option()?.id\"\n [ngStyle]=\"{\n width: hoverIndicatorWidth(),\n height: hoverIndicatorHeight(),\n left: hoverIndicatorLeft(),\n top: hoverIndicatorTop(),\n opacity: hoverIndicatorOpacity(),\n }\"\n></span>\n", styles: [":host{pointer-events:none;display:flex}.rte-tabitem{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;display:flex;padding:12px;justify-content:center;align-items:center;gap:12px;background:transparent;color:var(--content-tertiary);cursor:pointer;border:none;text-align:left;flex-shrink:0;margin-left:2px;height:100%;pointer-events:auto}.rte-tabitem[data-inverted=true],.rte-tabitem[data-inverted=true]:hover,.rte-tabitem[data-inverted=true][data-selected=true]{color:var(--content-primary-inverse)}.rte-tabitem[data-direction=vertical]{flex-shrink:1;margin-left:0}.rte-tabitem[data-hidden=true]{visibility:hidden}.rte-tabitem:hover{color:var(--content-secondary)}.rte-tabitem[data-selected=true]{color:var(--content-primary)}.rte-tabitem[data-disabled=true]{color:var(--content-disabled);cursor:not-allowed}.rte-tabitem[data-compact-spacing=true]{padding:4px 12px}.rte-tabitem:focus-visible{z-index:1;outline:2px solid var(--border-brand-focused)}.rte-tab-hover-indicator{position:absolute;top:4px;height:2px;width:2px;background:var(--background-neutral-regular-hover);opacity:0;transition:left .2s ease,width .2s ease;z-index:10}.rte-tab-hover-indicator[data-disabled=true]{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
107
107
  }
108
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemComponent, decorators: [{
109
109
  type: Component,
110
- args: [{ selector: "rte-tab-item", imports: [CommonModule, IconComponent, BadgeComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n #tabItem\n class=\"rte-tabitem\"\n role=\"tab\"\n [id]=\"option()?.id\"\n [attr.aria-selected]=\"isSelected()\"\n [attr.aria-controls]=\"option()?.panelId\"\n [tabIndex]=\"isSelected() ? 0 : -1\"\n [attr.data-selected]=\"isSelected()\"\n [attr.data-inverted]=\"inverted()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.data-disabled]=\"option()?.disabled\"\n [attr.data-hidden]=\"isHidden()\"\n (click)=\"onClickTabItem($event, option()?.id || '')\"\n (mouseover)=\"handleMouseHover()\"\n (mouseout)=\"handleMouseOut()\"\n (keydown)=\"handleKeydown()\"\n>\n <rte-icon *ngIf=\"option()?.icon\" [name]=\"option()?.icon || ''\" [appearance]=\"isSelected() ? 'filled' : 'outlined'\" />\n <span *ngIf=\"option()?.label\">{{ option()?.label }}</span>\n <rte-badge\n *ngIf=\"displayBadge(option()!)\"\n [simpleBadge]=\"true\"\n [badgeContent]=\"option()?.badgeContent || 'empty'\"\n [badgeType]=\"option()?.badgeType || 'neutral'\"\n [icon]=\"option()?.badgeIcon || ''\"\n [count]=\"option()?.badgeCount\"\n />\n</button>\n<span\n #hoverIndicator\n class=\"rte-tab-hover-indicator\"\n [attr.data-disabled]=\"option()?.disabled\"\n [id]=\"'tab-hover-indicator' + option()?.id\"\n [ngStyle]=\"{\n width: hoverIndicatorWidth(),\n height: hoverIndicatorHeight(),\n left: hoverIndicatorLeft(),\n top: hoverIndicatorTop(),\n opacity: hoverIndicatorOpacity(),\n }\"\n></span>\n", styles: [":host{pointer-events:none;display:flex}.rte-tabitem{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;display:flex;padding:12px;justify-content:center;align-items:center;gap:12px;background:transparent;color:var(--content-secondary);cursor:pointer;border:none;text-align:left;flex-shrink:0;margin-left:2px;height:100%;pointer-events:auto}.rte-tabitem[data-inverted=true]{color:var(--content-primary-inverse)}.rte-tabitem[data-direction=vertical]{flex-shrink:1;margin-left:0}.rte-tabitem[data-hidden=true]{visibility:hidden}.rte-tabitem[data-selected=true]:not([data-disabled=true]),.rte-tabitem:hover:not([data-disabled=true]){font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:14px;line-height:20px;letter-spacing:0px}.rte-tabitem[data-disabled=true]{color:var(--content-disabled);cursor:not-allowed}.rte-tabitem[data-compact-spacing=true]{padding:4px 12px}.rte-tabitem:focus-visible{z-index:1;outline:2px solid var(--border-brand-focused)}.rte-tab-hover-indicator{position:absolute;top:4px;height:2px;width:2px;background:var(--background-neutral-regular-hover);opacity:0;transition:left .2s ease,width .2s ease;z-index:10}.rte-tab-hover-indicator[data-disabled=true]{display:none}\n"] }]
110
+ args: [{ selector: "rte-tab-item", imports: [CommonModule, IconComponent, BadgeComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n #tabItem\n class=\"rte-tabitem\"\n role=\"tab\"\n [id]=\"option()?.id\"\n [attr.aria-selected]=\"isSelected()\"\n [attr.aria-controls]=\"option()?.panelId\"\n [tabIndex]=\"isSelected() ? 0 : -1\"\n [attr.data-selected]=\"isSelected()\"\n [attr.data-inverted]=\"inverted()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.data-disabled]=\"option()?.disabled\"\n [attr.data-hidden]=\"isHidden()\"\n (click)=\"onClickTabItem($event, option()?.id || '')\"\n (mouseover)=\"handleMouseHover()\"\n (mouseout)=\"handleMouseOut()\"\n (keydown)=\"handleKeydown()\"\n>\n <rte-icon *ngIf=\"option()?.icon\" [name]=\"option()?.icon || ''\" [appearance]=\"isSelected() ? 'filled' : 'outlined'\" />\n <span *ngIf=\"option()?.label\">{{ option()?.label }}</span>\n <rte-badge\n *ngIf=\"displayBadge(option()!)\"\n [simpleBadge]=\"true\"\n [badgeContent]=\"option()?.badgeContent || 'empty'\"\n [badgeType]=\"option()?.badgeType || 'neutral'\"\n [icon]=\"option()?.badgeIcon || ''\"\n [count]=\"option()?.badgeCount\"\n />\n</button>\n<span\n #hoverIndicator\n class=\"rte-tab-hover-indicator\"\n [attr.data-disabled]=\"option()?.disabled\"\n [id]=\"'tab-hover-indicator' + option()?.id\"\n [ngStyle]=\"{\n width: hoverIndicatorWidth(),\n height: hoverIndicatorHeight(),\n left: hoverIndicatorLeft(),\n top: hoverIndicatorTop(),\n opacity: hoverIndicatorOpacity(),\n }\"\n></span>\n", styles: [":host{pointer-events:none;display:flex}.rte-tabitem{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;display:flex;padding:12px;justify-content:center;align-items:center;gap:12px;background:transparent;color:var(--content-tertiary);cursor:pointer;border:none;text-align:left;flex-shrink:0;margin-left:2px;height:100%;pointer-events:auto}.rte-tabitem[data-inverted=true],.rte-tabitem[data-inverted=true]:hover,.rte-tabitem[data-inverted=true][data-selected=true]{color:var(--content-primary-inverse)}.rte-tabitem[data-direction=vertical]{flex-shrink:1;margin-left:0}.rte-tabitem[data-hidden=true]{visibility:hidden}.rte-tabitem:hover{color:var(--content-secondary)}.rte-tabitem[data-selected=true]{color:var(--content-primary)}.rte-tabitem[data-disabled=true]{color:var(--content-disabled);cursor:not-allowed}.rte-tabitem[data-compact-spacing=true]{padding:4px 12px}.rte-tabitem:focus-visible{z-index:1;outline:2px solid var(--border-brand-focused)}.rte-tab-hover-indicator{position:absolute;top:4px;height:2px;width:2px;background:var(--background-neutral-regular-hover);opacity:0;transition:left .2s ease,width .2s ease;z-index:10}.rte-tab-hover-indicator[data-disabled=true]{display:none}\n"] }]
111
111
  }] });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGFiL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RhYi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFHTixTQUFTLEVBQ1QsTUFBTSxFQUVOLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFVMUQsTUFBTSxPQUFPLGdCQUFnQjtJQVI3QjtRQVNXLGNBQVMsR0FBRyxLQUFLLENBQTRCLFlBQVksQ0FBQyxDQUFDO1FBQzNELFdBQU0sR0FBRyxLQUFLLEVBQWdCLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUNsQyxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25DLFVBQUssR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUN6QixrQkFBYSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDakMsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVqQyxlQUFVLEdBQUcsU0FBUyxDQUFnQyxTQUFTLENBQUMsQ0FBQztRQUVqRSx3QkFBbUIs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O2dCQUMzQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDN0IsT0FBTyxFQUFFLENBQUM7YUFDWCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO1lBQzNCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLE9BQU8sRUFBRSxDQUFDO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F0RlUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsbXBDQzFCN0IsdzZDQTBDQSwwM0NEdEJZLFlBQVksd05BQUUsYUFBYSxpSEFBRSxjQUFjOzs0RkFNMUMsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLGNBQWMsV0FDZixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLGNBQzFDLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIEVsZW1lbnRSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIHZpZXdDaGlsZCxcbiAgb3V0cHV0LFxuICBPbkRlc3Ryb3ksXG4gIGNvbXB1dGVkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVGFiSXRlbVByb3BzIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvdGFiL3RhYi5pbnRlcmZhY2VcIjtcblxuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS10YWItaXRlbVwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBCYWRnZUNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGFiLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi90YWItaXRlbS5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGFiSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGRpcmVjdGlvbiA9IGlucHV0PFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiPihcImhvcml6b250YWxcIik7XG4gIHJlYWRvbmx5IG9wdGlvbiA9IGlucHV0PFRhYkl0ZW1Qcm9wcz4oKTtcbiAgcmVhZG9ubHkgY29tcGFjdFNwYWNpbmcgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBpc1NlbGVjdGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBjbGljayA9IG91dHB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGhhbmRsZUtleWRvd24gPSBpbnB1dDwoKSA9PiB2b2lkPigpO1xuICByZWFkb25seSBpbnZlcnRlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgaXNIaWRkZW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgdGFiSXRlbVJlZiA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj4oXCJ0YWJJdGVtXCIpO1xuXG4gIHJlYWRvbmx5IGhvdmVySW5kaWNhdG9yU3R5bGUgPSBzaWduYWw8e1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGxlZnQ/OiBudW1iZXI7XG4gICAgdG9wPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBvcGFjaXR5PzogbnVtYmVyO1xuICB9IHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgZGlzcGxheUJhZGdlID0gKG9wdGlvbjogVGFiSXRlbVByb3BzKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuICEhKG9wdGlvbi5iYWRnZUNvbnRlbnQgfHwgb3B0aW9uLmJhZGdlVHlwZSB8fCBvcHRpb24uYmFkZ2VJY29uIHx8IG9wdGlvbi5iYWRnZUNvdW50KTtcbiAgfTtcblxuICByZWFkb25seSBob3ZlckluZGljYXRvcldpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBgJHt0aGlzLmhvdmVySW5kaWNhdG9yU3R5bGUoKT8ud2lkdGh9cHhgO1xuICB9KTtcbiAgcmVhZG9ubHkgaG92ZXJJbmRpY2F0b3JIZWlnaHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIGAke3RoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZSgpPy5oZWlnaHR9cHhgO1xuICB9KTtcbiAgcmVhZG9ubHkgaG92ZXJJbmRpY2F0b3JMZWZ0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBgJHt0aGlzLmhvdmVySW5kaWNhdG9yU3R5bGUoKT8ubGVmdH1weGA7XG4gIH0pO1xuICByZWFkb25seSBob3ZlckluZGljYXRvclRvcCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gYCR7dGhpcy5ob3ZlckluZGljYXRvclN0eWxlKCk/LnRvcH1weGA7XG4gIH0pO1xuICByZWFkb25seSBob3ZlckluZGljYXRvck9wYWNpdHkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZSgpPy5vcGFjaXR5ID8/IDA7XG4gIH0pO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNvbXB1dGVIb3ZlckluZGljYXRvclN0eWxlKCk7XG4gICAgaWYgKHRoaXMudGFiSXRlbVJlZiAmJiB0aGlzLnRhYkl0ZW1SZWYoKT8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9uKCk/LmRpc2FibGVkKSByZXR1cm47XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmNvbXB1dGVIb3ZlckluZGljYXRvclN0eWxlKTtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMudGFiSXRlbVJlZigpPy5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ7XG4gICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgIHBhcmVudC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuY29tcHV0ZUhvdmVySW5kaWNhdG9yU3R5bGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMudGFiSXRlbVJlZigpPy5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5jb21wdXRlSG92ZXJJbmRpY2F0b3JTdHlsZSk7XG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhpcy5jb21wdXRlSG92ZXJJbmRpY2F0b3JTdHlsZSk7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1RhYkl0ZW0oZXZlbnQ6IE1vdXNlRXZlbnQsIGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvdmVySW5kaWNhdG9yU3R5bGUuc2V0KHtcbiAgICAgIC4uLnRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZSgpLFxuICAgICAgb3BhY2l0eTogMCxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMub3B0aW9uKCk/LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsaWNrLmVtaXQoaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNb3VzZUhvdmVyKCkge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZS5zZXQoe1xuICAgICAgICAuLi50aGlzLmhvdmVySW5kaWNhdG9yU3R5bGUoKSxcbiAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU1vdXNlT3V0KCkge1xuICAgIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZS5zZXQoe1xuICAgICAgLi4udGhpcy5ob3ZlckluZGljYXRvclN0eWxlKCksXG4gICAgICBvcGFjaXR5OiAwLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlSG92ZXJJbmRpY2F0b3JTdHlsZSA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5kaXJlY3Rpb24oKSA9PT0gXCJob3Jpem9udGFsXCIpIHtcbiAgICAgIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZS5zZXQoe1xuICAgICAgICB3aWR0aDogdGhpcy50YWJJdGVtUmVmKCk/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgbGVmdDogdGhpcy50YWJJdGVtUmVmKCk/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgdG9wOiB0aGlzLnRhYkl0ZW1SZWYoKVxuICAgICAgICAgID8gdGhpcy50YWJJdGVtUmVmKCkhLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wICsgdGhpcy50YWJJdGVtUmVmKCkhLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XG4gICAgICAgICAgOiAwLFxuICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZS5zZXQoe1xuICAgICAgICB3aWR0aDogMixcbiAgICAgICAgaGVpZ2h0OiB0aGlzLnRhYkl0ZW1SZWYoKT8ubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQsXG4gICAgICAgIGxlZnQ6IHRoaXMudGFiSXRlbVJlZigpPy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgJiYgdGhpcy50YWJJdGVtUmVmKCkhLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIDQsXG4gICAgICAgIHRvcDogdGhpcy50YWJJdGVtUmVmKCkhLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wLFxuICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIiwiPGJ1dHRvblxuICAjdGFiSXRlbVxuICBjbGFzcz1cInJ0ZS10YWJpdGVtXCJcbiAgcm9sZT1cInRhYlwiXG4gIFtpZF09XCJvcHRpb24oKT8uaWRcIlxuICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQoKVwiXG4gIFthdHRyLmFyaWEtY29udHJvbHNdPVwib3B0aW9uKCk/LnBhbmVsSWRcIlxuICBbdGFiSW5kZXhdPVwiaXNTZWxlY3RlZCgpID8gMCA6IC0xXCJcbiAgW2F0dHIuZGF0YS1zZWxlY3RlZF09XCJpc1NlbGVjdGVkKClcIlxuICBbYXR0ci5kYXRhLWludmVydGVkXT1cImludmVydGVkKClcIlxuICBbYXR0ci5kYXRhLWNvbXBhY3Qtc3BhY2luZ109XCJjb21wYWN0U3BhY2luZygpXCJcbiAgW2F0dHIuZGF0YS1kaXNhYmxlZF09XCJvcHRpb24oKT8uZGlzYWJsZWRcIlxuICBbYXR0ci5kYXRhLWhpZGRlbl09XCJpc0hpZGRlbigpXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2tUYWJJdGVtKCRldmVudCwgb3B0aW9uKCk/LmlkIHx8ICcnKVwiXG4gIChtb3VzZW92ZXIpPVwiaGFuZGxlTW91c2VIb3ZlcigpXCJcbiAgKG1vdXNlb3V0KT1cImhhbmRsZU1vdXNlT3V0KClcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVLZXlkb3duKClcIlxuPlxuICA8cnRlLWljb24gKm5nSWY9XCJvcHRpb24oKT8uaWNvblwiIFtuYW1lXT1cIm9wdGlvbigpPy5pY29uIHx8ICcnXCIgW2FwcGVhcmFuY2VdPVwiaXNTZWxlY3RlZCgpID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnXCIgLz5cbiAgPHNwYW4gKm5nSWY9XCJvcHRpb24oKT8ubGFiZWxcIj57eyBvcHRpb24oKT8ubGFiZWwgfX08L3NwYW4+XG4gIDxydGUtYmFkZ2VcbiAgICAqbmdJZj1cImRpc3BsYXlCYWRnZShvcHRpb24oKSEpXCJcbiAgICBbc2ltcGxlQmFkZ2VdPVwidHJ1ZVwiXG4gICAgW2JhZGdlQ29udGVudF09XCJvcHRpb24oKT8uYmFkZ2VDb250ZW50IHx8ICdlbXB0eSdcIlxuICAgIFtiYWRnZVR5cGVdPVwib3B0aW9uKCk/LmJhZGdlVHlwZSB8fCAnbmV1dHJhbCdcIlxuICAgIFtpY29uXT1cIm9wdGlvbigpPy5iYWRnZUljb24gfHwgJydcIlxuICAgIFtjb3VudF09XCJvcHRpb24oKT8uYmFkZ2VDb3VudFwiXG4gIC8+XG48L2J1dHRvbj5cbjxzcGFuXG4gICNob3ZlckluZGljYXRvclxuICBjbGFzcz1cInJ0ZS10YWItaG92ZXItaW5kaWNhdG9yXCJcbiAgW2F0dHIuZGF0YS1kaXNhYmxlZF09XCJvcHRpb24oKT8uZGlzYWJsZWRcIlxuICBbaWRdPVwiJ3RhYi1ob3Zlci1pbmRpY2F0b3InICsgb3B0aW9uKCk/LmlkXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHdpZHRoOiBob3ZlckluZGljYXRvcldpZHRoKCksXG4gICAgaGVpZ2h0OiBob3ZlckluZGljYXRvckhlaWdodCgpLFxuICAgIGxlZnQ6IGhvdmVySW5kaWNhdG9yTGVmdCgpLFxuICAgIHRvcDogaG92ZXJJbmRpY2F0b3JUb3AoKSxcbiAgICBvcGFjaXR5OiBob3ZlckluZGljYXRvck9wYWNpdHkoKSxcbiAgfVwiXG4+PC9zcGFuPlxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGFiL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RhYi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFHTixTQUFTLEVBQ1QsTUFBTSxFQUVOLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFVMUQsTUFBTSxPQUFPLGdCQUFnQjtJQVI3QjtRQVNXLGNBQVMsR0FBRyxLQUFLLENBQTRCLFlBQVksQ0FBQyxDQUFDO1FBQzNELFdBQU0sR0FBRyxLQUFLLEVBQWdCLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUNsQyxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25DLFVBQUssR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUN6QixrQkFBYSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDakMsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVqQyxlQUFVLEdBQUcsU0FBUyxDQUFnQyxTQUFTLENBQUMsQ0FBQztRQUVqRSx3QkFBbUIsR0FBRyxNQUFNLENBTTNCLElBQUksQ0FBQyxDQUFDO1FBRVAsaUJBQVksR0FBRyxDQUFDLE1BQW9CLEVBQVcsRUFBRTtZQUN4RCxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUM7UUFFTyx3QkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNDLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUNNLHlCQUFvQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ00sdUJBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFDTSxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pDLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNNLDBCQUFxQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBa0RLLCtCQUEwQixHQUFHLEdBQUcsRUFBRTtZQUN4QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxZQUFZLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQztvQkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxhQUFhLENBQUMsV0FBVztvQkFDbkQsTUFBTSxFQUFFLENBQUM7b0JBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVTtvQkFDakQsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7d0JBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFHLENBQUMsYUFBYSxDQUFDLFlBQVk7d0JBQzVGLENBQUMsQ0FBQyxDQUFDO29CQUNMLE9BQU8sRUFBRSxDQUFDO2lCQUNYLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO29CQUMzQixLQUFLLEVBQUUsQ0FBQztvQkFDUixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLGFBQWEsQ0FBQyxZQUFZO29CQUNyRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLGFBQWEsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsQ0FBQztvQkFDcEcsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUcsQ0FBQyxhQUFhLENBQUMsU0FBUztvQkFDL0MsT0FBTyxFQUFFLENBQUM7aUJBQ1gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQztLQUNIO0lBckVDLGVBQWU7UUFDYixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDO1lBQ3hELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVE7Z0JBQUUsT0FBTztZQUNwQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxhQUFhLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQztZQUM3RSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7WUFDckUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxhQUFhLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQztRQUM3RSxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ3RFLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWlCLEVBQUUsRUFBVTtRQUMxQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO1lBQzNCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLE9BQU8sRUFBRSxDQUFDO1NBQ1gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO2dCQUMzQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDN0IsT0FBTyxFQUFFLENBQUM7YUFDWCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO1lBQzNCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLE9BQU8sRUFBRSxDQUFDO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F0RlUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsbXBDQzFCN0IsdzZDQTBDQSxzMENEdEJZLFlBQVksd05BQUUsYUFBYSxpSEFBRSxjQUFjOzs0RkFNMUMsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLGNBQWMsV0FDZixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLGNBQzFDLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIEVsZW1lbnRSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIHZpZXdDaGlsZCxcbiAgb3V0cHV0LFxuICBPbkRlc3Ryb3ksXG4gIGNvbXB1dGVkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVGFiSXRlbVByb3BzIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvdGFiL3RhYi5pbnRlcmZhY2VcIjtcblxuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS10YWItaXRlbVwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBCYWRnZUNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGFiLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi90YWItaXRlbS5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGFiSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGRpcmVjdGlvbiA9IGlucHV0PFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiPihcImhvcml6b250YWxcIik7XG4gIHJlYWRvbmx5IG9wdGlvbiA9IGlucHV0PFRhYkl0ZW1Qcm9wcz4oKTtcbiAgcmVhZG9ubHkgY29tcGFjdFNwYWNpbmcgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBpc1NlbGVjdGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBjbGljayA9IG91dHB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGhhbmRsZUtleWRvd24gPSBpbnB1dDwoKSA9PiB2b2lkPigpO1xuICByZWFkb25seSBpbnZlcnRlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgaXNIaWRkZW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgdGFiSXRlbVJlZiA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj4oXCJ0YWJJdGVtXCIpO1xuXG4gIHJlYWRvbmx5IGhvdmVySW5kaWNhdG9yU3R5bGUgPSBzaWduYWw8e1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGxlZnQ/OiBudW1iZXI7XG4gICAgdG9wPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBvcGFjaXR5PzogbnVtYmVyO1xuICB9IHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgZGlzcGxheUJhZGdlID0gKG9wdGlvbjogVGFiSXRlbVByb3BzKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuICEhKG9wdGlvbi5iYWRnZUNvbnRlbnQgfHwgb3B0aW9uLmJhZGdlVHlwZSB8fCBvcHRpb24uYmFkZ2VJY29uIHx8IG9wdGlvbi5iYWRnZUNvdW50KTtcbiAgfTtcblxuICByZWFkb25seSBob3ZlckluZGljYXRvcldpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBgJHt0aGlzLmhvdmVySW5kaWNhdG9yU3R5bGUoKT8ud2lkdGh9cHhgO1xuICB9KTtcbiAgcmVhZG9ubHkgaG92ZXJJbmRpY2F0b3JIZWlnaHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIGAke3RoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZSgpPy5oZWlnaHR9cHhgO1xuICB9KTtcbiAgcmVhZG9ubHkgaG92ZXJJbmRpY2F0b3JMZWZ0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBgJHt0aGlzLmhvdmVySW5kaWNhdG9yU3R5bGUoKT8ubGVmdH1weGA7XG4gIH0pO1xuICByZWFkb25seSBob3ZlckluZGljYXRvclRvcCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gYCR7dGhpcy5ob3ZlckluZGljYXRvclN0eWxlKCk/LnRvcH1weGA7XG4gIH0pO1xuICByZWFkb25seSBob3ZlckluZGljYXRvck9wYWNpdHkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZSgpPy5vcGFjaXR5ID8/IDA7XG4gIH0pO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNvbXB1dGVIb3ZlckluZGljYXRvclN0eWxlKCk7XG4gICAgaWYgKHRoaXMudGFiSXRlbVJlZiAmJiB0aGlzLnRhYkl0ZW1SZWYoKT8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9uKCk/LmRpc2FibGVkKSByZXR1cm47XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmNvbXB1dGVIb3ZlckluZGljYXRvclN0eWxlKTtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMudGFiSXRlbVJlZigpPy5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ7XG4gICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgIHBhcmVudC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuY29tcHV0ZUhvdmVySW5kaWNhdG9yU3R5bGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMudGFiSXRlbVJlZigpPy5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5jb21wdXRlSG92ZXJJbmRpY2F0b3JTdHlsZSk7XG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhpcy5jb21wdXRlSG92ZXJJbmRpY2F0b3JTdHlsZSk7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1RhYkl0ZW0oZXZlbnQ6IE1vdXNlRXZlbnQsIGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvdmVySW5kaWNhdG9yU3R5bGUuc2V0KHtcbiAgICAgIC4uLnRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZSgpLFxuICAgICAgb3BhY2l0eTogMCxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMub3B0aW9uKCk/LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsaWNrLmVtaXQoaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNb3VzZUhvdmVyKCkge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZS5zZXQoe1xuICAgICAgICAuLi50aGlzLmhvdmVySW5kaWNhdG9yU3R5bGUoKSxcbiAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU1vdXNlT3V0KCkge1xuICAgIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZS5zZXQoe1xuICAgICAgLi4udGhpcy5ob3ZlckluZGljYXRvclN0eWxlKCksXG4gICAgICBvcGFjaXR5OiAwLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlSG92ZXJJbmRpY2F0b3JTdHlsZSA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5kaXJlY3Rpb24oKSA9PT0gXCJob3Jpem9udGFsXCIpIHtcbiAgICAgIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZS5zZXQoe1xuICAgICAgICB3aWR0aDogdGhpcy50YWJJdGVtUmVmKCk/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgbGVmdDogdGhpcy50YWJJdGVtUmVmKCk/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgdG9wOiB0aGlzLnRhYkl0ZW1SZWYoKVxuICAgICAgICAgID8gdGhpcy50YWJJdGVtUmVmKCkhLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wICsgdGhpcy50YWJJdGVtUmVmKCkhLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XG4gICAgICAgICAgOiAwLFxuICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG92ZXJJbmRpY2F0b3JTdHlsZS5zZXQoe1xuICAgICAgICB3aWR0aDogMixcbiAgICAgICAgaGVpZ2h0OiB0aGlzLnRhYkl0ZW1SZWYoKT8ubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQsXG4gICAgICAgIGxlZnQ6IHRoaXMudGFiSXRlbVJlZigpPy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgJiYgdGhpcy50YWJJdGVtUmVmKCkhLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIDQsXG4gICAgICAgIHRvcDogdGhpcy50YWJJdGVtUmVmKCkhLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wLFxuICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIiwiPGJ1dHRvblxuICAjdGFiSXRlbVxuICBjbGFzcz1cInJ0ZS10YWJpdGVtXCJcbiAgcm9sZT1cInRhYlwiXG4gIFtpZF09XCJvcHRpb24oKT8uaWRcIlxuICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQoKVwiXG4gIFthdHRyLmFyaWEtY29udHJvbHNdPVwib3B0aW9uKCk/LnBhbmVsSWRcIlxuICBbdGFiSW5kZXhdPVwiaXNTZWxlY3RlZCgpID8gMCA6IC0xXCJcbiAgW2F0dHIuZGF0YS1zZWxlY3RlZF09XCJpc1NlbGVjdGVkKClcIlxuICBbYXR0ci5kYXRhLWludmVydGVkXT1cImludmVydGVkKClcIlxuICBbYXR0ci5kYXRhLWNvbXBhY3Qtc3BhY2luZ109XCJjb21wYWN0U3BhY2luZygpXCJcbiAgW2F0dHIuZGF0YS1kaXNhYmxlZF09XCJvcHRpb24oKT8uZGlzYWJsZWRcIlxuICBbYXR0ci5kYXRhLWhpZGRlbl09XCJpc0hpZGRlbigpXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2tUYWJJdGVtKCRldmVudCwgb3B0aW9uKCk/LmlkIHx8ICcnKVwiXG4gIChtb3VzZW92ZXIpPVwiaGFuZGxlTW91c2VIb3ZlcigpXCJcbiAgKG1vdXNlb3V0KT1cImhhbmRsZU1vdXNlT3V0KClcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVLZXlkb3duKClcIlxuPlxuICA8cnRlLWljb24gKm5nSWY9XCJvcHRpb24oKT8uaWNvblwiIFtuYW1lXT1cIm9wdGlvbigpPy5pY29uIHx8ICcnXCIgW2FwcGVhcmFuY2VdPVwiaXNTZWxlY3RlZCgpID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnXCIgLz5cbiAgPHNwYW4gKm5nSWY9XCJvcHRpb24oKT8ubGFiZWxcIj57eyBvcHRpb24oKT8ubGFiZWwgfX08L3NwYW4+XG4gIDxydGUtYmFkZ2VcbiAgICAqbmdJZj1cImRpc3BsYXlCYWRnZShvcHRpb24oKSEpXCJcbiAgICBbc2ltcGxlQmFkZ2VdPVwidHJ1ZVwiXG4gICAgW2JhZGdlQ29udGVudF09XCJvcHRpb24oKT8uYmFkZ2VDb250ZW50IHx8ICdlbXB0eSdcIlxuICAgIFtiYWRnZVR5cGVdPVwib3B0aW9uKCk/LmJhZGdlVHlwZSB8fCAnbmV1dHJhbCdcIlxuICAgIFtpY29uXT1cIm9wdGlvbigpPy5iYWRnZUljb24gfHwgJydcIlxuICAgIFtjb3VudF09XCJvcHRpb24oKT8uYmFkZ2VDb3VudFwiXG4gIC8+XG48L2J1dHRvbj5cbjxzcGFuXG4gICNob3ZlckluZGljYXRvclxuICBjbGFzcz1cInJ0ZS10YWItaG92ZXItaW5kaWNhdG9yXCJcbiAgW2F0dHIuZGF0YS1kaXNhYmxlZF09XCJvcHRpb24oKT8uZGlzYWJsZWRcIlxuICBbaWRdPVwiJ3RhYi1ob3Zlci1pbmRpY2F0b3InICsgb3B0aW9uKCk/LmlkXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHdpZHRoOiBob3ZlckluZGljYXRvcldpZHRoKCksXG4gICAgaGVpZ2h0OiBob3ZlckluZGljYXRvckhlaWdodCgpLFxuICAgIGxlZnQ6IGhvdmVySW5kaWNhdG9yTGVmdCgpLFxuICAgIHRvcDogaG92ZXJJbmRpY2F0b3JUb3AoKSxcbiAgICBvcGFjaXR5OiBob3ZlckluZGljYXRvck9wYWNpdHkoKSxcbiAgfVwiXG4+PC9zcGFuPlxuIl19
@@ -239,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
239
239
  type: Component,
240
240
  args: [{ selector: "rte-tab", imports: [CommonModule, TabItemComponent, IconButtonComponent, DropdownModule, IconComponent, BadgeComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"rte-tab-container\" [attr.data-direction]=\"direction()\">\n <div class=\"rte-tab-border-vertical\" aria-hidden=\"true\" role=\"presentation\" [attr.data-direction]=\"direction()\"></div>\n <div\n [ngStyle]=\"{\n position: 'relative',\n display: 'flex',\n 'align-items': 'center',\n 'flex-direction': direction() === 'horizontal' ? 'row' : 'column',\n }\"\n >\n <rte-icon-button\n *ngIf=\"isScrollable() && !shouldDisplayDropdown()\"\n aria-label=\"Previous tabs\"\n variant=\"transparent\"\n [name]=\"direction() === 'horizontal' ? 'arrow-chevron-left' : 'arrow-chevron-up'\"\n [ngStyle]=\"{\n opacity: canScrollBackward() ? '1' : '0',\n 'pointer-events': canScrollBackward() ? 'auto' : 'none',\n }\"\n (clickEvent)=\"scrollBackward()\"\n />\n <div\n #tabList\n role=\"tablist\"\n aria-label=\"Sample Tabs\"\n class=\"rte-tab\"\n [attr.data-alignment]=\"shouldDisplayDropdown() ? 'start' : alignment()\"\n [attr.data-direction]=\"direction()\"\n [attr.data-overflow-type]=\"overflowType()\"\n >\n <span class=\"rte-tab-selected-indicator\" [ngStyle]=\"tabItemSelectedIndicatorStyle()\"></span>\n <div\n *ngIf=\"shouldDisplayDropdown() && options().length\"\n rteDropdown\n [rteDropdownOffset]=\"10\"\n (menuEvent)=\"onClickTabItem($event.id)\"\n >\n <button\n rteDropdownTrigger\n class=\"rte-tab-dropdown-button\"\n [attr.data-inverted]=\"inverted()\"\n [attr.data-overflow-type]=\"overflowType()\"\n >\n <rte-icon *ngIf=\"selectedTab()?.icon\" appearance=\"filled\" [name]=\"selectedTab()?.icon!\"></rte-icon>\n <span *ngIf=\"selectedTab()?.label\">{{ selectedTab()?.label }}</span>\n <rte-badge\n *ngIf=\"selectedTab()?.badgeCount && selectedTab()?.badgeContent === 'number'\"\n [badgeType]=\"selectedTab()?.badgeType!\"\n [badgeContent]=\"selectedTab()?.badgeContent!\"\n [count]=\"selectedTab()?.badgeCount\"\n [simpleBadge]=\"true\"\n ></rte-badge>\n <rte-icon name=\"arrow-chevron-down\" appearance=\"outlined\"></rte-icon>\n </button>\n <rte-dropdown-menu [items]=\"dropdownFilteredOptions()\" />\n </div>\n <ng-container *ngFor=\"let option of options(); let idx = index\">\n <rte-tab-item\n #tabItem\n [option]=\"option\"\n [direction]=\"direction()\"\n [compactSpacing]=\"compactSpacing()\"\n [isSelected]=\"isSelected(option.id)\"\n [inverted]=\"inverted()\"\n [attr.data-hidden]=\"shouldDisplayDropdown()\"\n [isHidden]=\"shouldDisplayDropdown()\"\n (keydown)=\"onKeydownTabItem($event)\"\n (click)=\"onClickTabItem(option.id)\"\n ></rte-tab-item>\n </ng-container>\n </div>\n <rte-icon-button\n *ngIf=\"isScrollable() && !shouldDisplayDropdown()\"\n aria-label=\"Next tabs\"\n variant=\"transparent\"\n [name]=\"direction() === 'horizontal' ? 'arrow-chevron-right' : 'arrow-chevron-down'\"\n [ngStyle]=\"{\n opacity: canScrollForward() ? '1' : '0',\n 'pointer-events': canScrollForward() ? 'auto' : 'none',\n }\"\n (clickEvent)=\"scrollForward()\"\n />\n </div>\n <div\n class=\"rte-tab-border-horizontal\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.data-direction]=\"direction()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.data-scrollable]=\"isScrollable() && overflowType() === 'scrollable'\"\n ></div>\n</div>\n", styles: [".rte-tab-container{position:relative;display:flex;flex-direction:column}.rte-tab-container[data-direction=vertical]{flex-direction:row;height:100%}.rte-tab{position:relative;display:flex;height:100%;gap:24px;justify-content:flex-start;padding-bottom:2px;margin-bottom:-2px;margin-left:-2px;scrollbar-width:none;width:100%;padding-top:2px;padding-left:2px;align-items:center}.rte-tab[data-direction=horizontal]{overflow-x:scroll}.rte-tab[data-direction=horizontal][data-overflow-type=dropdown]{overflow:hidden;margin-left:0}.rte-tab[data-direction=vertical]{flex-direction:column;border-bottom:none;gap:4px;height:100%;padding-right:2px;margin-left:-2px;width:max-content;align-items:start;margin-bottom:0}.rte-tab[data-direction=vertical] .rte-tab-selected-indicator{width:2px;transition:top .2s ease,height .2s ease}.rte-tab[data-alignment=center]{justify-content:center}.rte-tab .rte-tab-selected-indicator{position:absolute;bottom:0;height:2px;background:var(--background-brand-selected-default);transition:left .2s ease,width .2s ease;pointer-events:none;z-index:1}.rte-tab .rte-tab-separator{width:24px;flex-shrink:0}.rte-tab-border-horizontal{background-color:var(--background-neutral-regular-default);position:relative;height:2px}.rte-tab-border-horizontal[data-compact-spacing=true][data-scrollable=true]{bottom:5px}.rte-tab-border-horizontal[data-direction=vertical]{display:none}.rte-tab-border-vertical{background-color:var(--background-neutral-regular-default);position:relative;width:2px}.rte-tab-border-vertical[data-direction=horizontal]{display:none}.rte-tab-dropdown-button{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-secondary);width:max-content;display:flex;align-items:center;gap:12px;background-color:transparent;border:none;cursor:pointer;padding:0;margin:12px}.rte-tab-dropdown-button:focus-visible{outline:2px solid var(--border-brand-focused);outline-offset:12px;z-index:1}.rte-tab-dropdown-button[data-inverted=true]{color:var(--content-primary-inverse)}\n"] }]
241
241
  }] });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RhYi90YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGFiL3RhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sWUFBWSxFQUdaLE1BQU0sRUFHTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFlBQVksR0FDYixNQUFNLCtEQUErRCxDQUFDO0FBRXZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBVWpFLE1BQU0sT0FBTyxZQUFZO0lBUnpCO1FBU1csY0FBUyxHQUFHLEtBQUssQ0FBZSxPQUFPLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQUcsS0FBSyxDQUFZLFlBQVksQ0FBQyxDQUFDO1FBQzNDLFlBQU8sR0FBRyxLQUFLLENBQXNCLEVBQUUsQ0FBQyxDQUFDO1FB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QkFBc0IsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLGdCQUFnQixDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7SUFDTywwQkFBMEI7UUFDaEMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsYUFBYSxDQUFDO1FBQ2xFLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUMzQixNQUFNLG1CQUFtQixHQUN2QixzQkFBc0IsQ0FBQyxZQUFZLEdBQUcsc0JBQXNCLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLFNBQVM7Z0JBQzVHLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLG1CQUFtQixDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNILENBQUM7K0dBMVFVLFlBQVk7bUdBQVosWUFBWSx5M0NDMUN6Qix1bkhBNEZBLHNuRUR4RFksWUFBWSxxVkFBRSxnQkFBZ0IsdUxBQUUsbUJBQW1CLG1SQUFFLGNBQWMsMjJCQUFFLGFBQWEsaUhBQUUsY0FBYzs7NEZBTWpHLFlBQVk7a0JBUnhCLFNBQVM7K0JBQ0UsU0FBUyxXQUNWLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLGNBQ2pHLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBjb21wdXRlZCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIG91dHB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25DaGFuZ2VzLFxuICB2aWV3Q2hpbGQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2NvbW1vbi9jb21tb24tdHlwZXNcIjtcbmltcG9ydCB7IFRhYkFsaWdubWVudCwgVGFiSXRlbVByb3BzLCBUYWJQcm9wcyB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL3RhYi90YWIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBzY3JvbGxUb1NlbGVjdGVkVGFiIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvdGFiL3RhYi51dGlsc1wiO1xuaW1wb3J0IHtcbiAgQVJST1dfRE9XTl9LRVksXG4gIEFSUk9XX0xFRlRfS0VZLFxuICBBUlJPV19SSUdIVF9LRVksXG4gIEFSUk9XX1VQX0tFWSxcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbnN0YW50cy9rZXlib2FyZC9rZXlib2FyZC5jb25zdGFudHNcIjtcblxuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tIFwiLi4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCIuLi9kcm9wZG93blwiO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtQ29uZmlnIH0gZnJvbSBcIi4uL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0vZHJvcGRvd24taXRlbS5jb21wb25lbnRcIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnRcIjtcblxuaW1wb3J0IHsgVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicnRlLXRhYlwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUYWJJdGVtQ29tcG9uZW50LCBJY29uQnV0dG9uQ29tcG9uZW50LCBEcm9wZG93bk1vZHVsZSwgSWNvbkNvbXBvbmVudCwgQmFkZ2VDb21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhYi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL3RhYi5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGFiQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBhbGlnbm1lbnQgPSBpbnB1dDxUYWJBbGlnbm1lbnQ+KFwic3RhcnRcIik7XG4gIHJlYWRvbmx5IGRpcmVjdGlvbiA9IGlucHV0PERpcmVjdGlvbj4oXCJob3Jpem9udGFsXCIpO1xuICByZWFkb25seSBvcHRpb25zID0gaW5wdXQ8VGFiUHJvcHNbXCJvcHRpb25zXCJdPihbXSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkVGFiSWQgPSBpbnB1dDxUYWJQcm9wc1tcInNlbGVjdGVkVGFiSWRcIl0+KCk7XG4gIHJlYWRvbmx5IGNvbXBhY3RTcGFjaW5nID0gaW5wdXQ8VGFiUHJvcHNbXCJjb21wYWN0U3BhY2luZ1wiXT4oZmFsc2UpO1xuICByZWFkb25seSBvdmVyZmxvd1R5cGUgPSBpbnB1dDxUYWJQcm9wc1tcIm92ZXJmbG93VHlwZVwiXT4oXCJzY3JvbGxhYmxlXCIpO1xuICByZWFkb25seSBpbnZlcnRlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBzbGlkZXJMZWZ0ID0gc2lnbmFsKDApO1xuICByZWFkb25seSBzbGlkZXJXaWR0aCA9IHNpZ25hbCgwKTtcbiAgcmVhZG9ubHkgc2xpZGVyVG9wID0gc2lnbmFsKDApO1xuICByZWFkb25seSBzbGlkZXJIZWlnaHQgPSBzaWduYWwoMCk7XG5cbiAgcmVhZG9ubHkgdGFiSXRlbVJlZnMgPSB2aWV3Q2hpbGRyZW48VGFiSXRlbUNvbXBvbmVudD4oXCJ0YWJJdGVtXCIpO1xuICByZWFkb25seSBjb250YWluZXJSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KFwidGFiTGlzdFwiKTtcbiAgcmVhZG9ubHkgaG92ZXJJbmRpY2F0b3JSZWZzID0gdmlld0NoaWxkcmVuPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PihcImhvdmVySW5kaWNhdG9yXCIpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkVGFiUmVmID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGlkeCA9IHRoaXMub3B0aW9ucygpLmZpbmRJbmRleCgob3B0KSA9PiBvcHQuaWQgPT09IHRoaXMuc2VsZWN0ZWRUYWJJZCgpKTtcbiAgICBjb25zdCB0YWJJdGVtID0gdGhpcy50YWJJdGVtUmVmcygpW2lkeF07XG4gICAgcmV0dXJuIHRhYkl0ZW07XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGhvdmVySW5kaWNhdG9yU3R5bGUgPSBzaWduYWw8e1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGxlZnQ/OiBudW1iZXI7XG4gICAgdG9wPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBvcGFjaXR5PzogbnVtYmVyO1xuICB9IHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgY2hhbmdlID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICByZWFkb25seSBpc1Njcm9sbGFibGUgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzT3ZlcmZsb3dpbmdMZWZ0ID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpc092ZXJmbG93aW5nUmlnaHQgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzT3ZlcmZsb3dpbmdUb3AgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzT3ZlcmZsb3dpbmdCb3R0b20gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGNhblNjcm9sbEJhY2t3YXJkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmlzT3ZlcmZsb3dpbmdMZWZ0KCkgfHwgdGhpcy5pc092ZXJmbG93aW5nVG9wKCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNhblNjcm9sbEZvcndhcmQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaXNPdmVyZmxvd2luZ1JpZ2h0KCkgfHwgdGhpcy5pc092ZXJmbG93aW5nQm90dG9tKCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGlzSG9yaXpvbnRhbCA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuZGlyZWN0aW9uKCkgPT09IFwiaG9yaXpvbnRhbFwiICYmICh0aGlzLmlzT3ZlcmZsb3dpbmdSaWdodCgpIHx8IHRoaXMuaXNPdmVyZmxvd2luZ0xlZnQoKSksXG4gICk7XG5cbiAgcmVhZG9ubHkgc2hvdWxkRGlzcGxheURyb3Bkb3duID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vdmVyZmxvd1R5cGUoKSA9PT0gXCJkcm9wZG93blwiICYmIHRoaXMuaXNIb3Jpem9udGFsKCkpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkVGFiID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMoKS5maW5kKChvcHRpb24pID0+IG9wdGlvbi5pZCA9PT0gdGhpcy5zZWxlY3RlZFRhYklkKCkpO1xuICB9KTtcbiAgcmVhZG9ubHkgZHJvcGRvd25GaWx0ZXJlZE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucygpLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uaWQgIT09IHRoaXMuc2VsZWN0ZWRUYWJJZCgpKSBhcyBEcm9wZG93bkl0ZW1Db25maWdbXTtcbiAgfSk7XG5cbiAgZGlzcGxheUJhZGdlID0gKG9wdGlvbjogVGFiSXRlbVByb3BzKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhb3B0aW9uLnNob3dCYWRnZSB8fFxuICAgICAgKG9wdGlvbi5iYWRnZUNvdW50ICE9PSB1bmRlZmluZWQgJiYgb3B0aW9uLmJhZGdlQ291bnQgPiAwICYmIG9wdGlvbi5iYWRnZUNvbnRlbnQgPT09IFwibnVtYmVyXCIpIHx8XG4gICAgICAob3B0aW9uLmJhZGdlQ29udGVudCA9PT0gXCJpY29uXCIgJiYgISFvcHRpb24uYmFkZ2VJY29uKVxuICAgICk7XG4gIH07XG5cbiAgaXNTZWxlY3RlZChpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRUYWJJZCgpID09PSBpZDtcbiAgfVxuXG4gIHJlYWRvbmx5IHRhYkl0ZW1TZWxlY3RlZEluZGljYXRvclN0eWxlID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICBsZWZ0OiBgJHt0aGlzLnNob3VsZERpc3BsYXlEcm9wZG93bigpID8gMCA6IHRoaXMuc2xpZGVyTGVmdCgpfXB4YCxcbiAgICB0b3A6IGAke3RoaXMuc2xpZGVyVG9wKCl9cHhgLFxuICAgIHdpZHRoOiBgJHt0aGlzLnNsaWRlcldpZHRoKCkgKyAodGhpcy5zaG91bGREaXNwbGF5RHJvcGRvd24oKSA/IDMyIDogMCl9cHhgLFxuICAgIGhlaWdodDogYCR7dGhpcy5zbGlkZXJIZWlnaHQoKX1weGAsXG4gIH0pKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZFRhYkl0ZW1JbmRpY2F0b3IoKTtcbiAgICB0aGlzLmNvbXB1dGVTY3JvbGxhYmxlU2lnbmFscygpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMudXBkYXRlU2VsZWN0ZWRUYWJJdGVtSW5kaWNhdG9yLmJpbmQodGhpcykpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuY29tcHV0ZVNjcm9sbGFibGVTaWduYWxzLmJpbmQodGhpcykpO1xuICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZigpKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhpcy5jb21wdXRlU2Nyb2xsYWJsZVNpZ25hbHMuYmluZCh0aGlzKSk7XG4gICAgfVxuICAgIHRoaXMuaG92ZXJJbmRpY2F0b3JSZWZzKCkuZm9yRWFjaCgoaG92ZXJJbmRpY2F0b3IpID0+IHtcbiAgICAgIGhvdmVySW5kaWNhdG9yLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3BhY2l0eSA9IFwiMFwiO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy51cGRhdGVTZWxlY3RlZFRhYkl0ZW1JbmRpY2F0b3IuYmluZCh0aGlzKSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5jb21wdXRlU2Nyb2xsYWJsZVNpZ25hbHMuYmluZCh0aGlzKSk7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyUmVmKCkpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyUmVmKCk/Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLmNvbXB1dGVTY3JvbGxhYmxlU2lnbmFscy5iaW5kKHRoaXMpKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbXCJzZWxlY3RlZFRhYklkXCJdKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkVGFiSXRlbUluZGljYXRvcigpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5ZG93blRhYkl0ZW0gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBjb25zdCBpc1ZlcnRpY2FsID0gdGhpcy5kaXJlY3Rpb24oKSA9PT0gXCJ2ZXJ0aWNhbFwiO1xuXG4gICAgY29uc3QgaXNEb3duS2V5UHJlc3NlZCA9IGlzVmVydGljYWwgJiYgZXZlbnQua2V5ID09PSBBUlJPV19ET1dOX0tFWTtcbiAgICBjb25zdCBpc1VwS2V5UHJlc3NlZCA9IGlzVmVydGljYWwgJiYgZXZlbnQua2V5ID09PSBBUlJPV19VUF9LRVk7XG4gICAgY29uc3QgaXNSaWdodEtleVByZXNzZWQgPSAhaXNWZXJ0aWNhbCAmJiBldmVudC5rZXkgPT09IEFSUk9XX1JJR0hUX0tFWTtcbiAgICBjb25zdCBpc0xlZnRLZXlQcmVzc2VkID0gIWlzVmVydGljYWwgJiYgZXZlbnQua2V5ID09PSBBUlJPV19MRUZUX0tFWTtcblxuICAgIGNvbnN0IGlzQXJyb3dOZXh0ID0gaXNEb3duS2V5UHJlc3NlZCB8fCBpc1JpZ2h0S2V5UHJlc3NlZDtcbiAgICBjb25zdCBpc0Fycm93UHJldiA9IGlzVXBLZXlQcmVzc2VkIHx8IGlzTGVmdEtleVByZXNzZWQ7XG5cbiAgICBpZiAoaXNBcnJvd05leHQgfHwgaXNBcnJvd1ByZXYpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSXRlbShpc0Fycm93TmV4dCA/IFwibmV4dFwiIDogXCJwcmV2aW91c1wiKTtcbiAgICB9XG4gIH07XG5cbiAgb25DbGlja1RhYkl0ZW0gPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIGlmIChpZCAhPT0gdGhpcy5zZWxlY3RlZFRhYklkKCkpIHtcbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQoaWQpO1xuICAgICAgaWYgKCF0aGlzLnNob3VsZERpc3BsYXlEcm9wZG93bigpKSB7XG4gICAgICAgIGNvbnN0IG5ld1RhYiA9IHRoaXMuZ2V0VGFiSXRlbShpZCk/LnRhYkl0ZW1SZWYoKT8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgaWYgKG5ld1RhYikge1xuICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyUmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICAgICAgc2Nyb2xsVG9TZWxlY3RlZFRhYihuZXdUYWIsIGNvbnRhaW5lciwgdGhpcy5kaXJlY3Rpb24oKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHNjcm9sbEJhY2t3YXJkKCkge1xuICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBjb25zdCBzY3JvbGxPYmplY3QgPSB0aGlzLmRpcmVjdGlvbigpID09PSBcImhvcml6b250YWxcIiA/IHsgbGVmdDogLTMwMCB9IDogeyB0b3A6IC0zMDAgfTtcbiAgICAgIHRoaXMuY29udGFpbmVyUmVmKCk/Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoeyAuLi5zY3JvbGxPYmplY3QsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbEZvcndhcmQoKSB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyUmVmKCkgJiYgdGhpcy5jb250YWluZXJSZWYoKT8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgY29uc3Qgc2Nyb2xsT2JqZWN0ID0gdGhpcy5kaXJlY3Rpb24oKSA9PT0gXCJob3Jpem9udGFsXCIgPyB7IGxlZnQ6IDMwMCB9IDogeyB0b3A6IDMwMCB9O1xuICAgICAgdGhpcy5jb250YWluZXJSZWYoKT8ubmF0aXZlRWxlbWVudC5zY3JvbGxCeSh7IC4uLnNjcm9sbE9iamVjdCwgYmVoYXZpb3I6IFwic21vb3RoXCIgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYWJJdGVtID0gKGlkOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gdGhpcy50YWJJdGVtUmVmcygpLmZpbmQoKHRhYikgPT4gdGFiLm9wdGlvbigpPy5pZCA9PT0gaWQpO1xuICB9O1xuXG4gIHByaXZhdGUgZm9jdXNJdGVtID0gKGRpcmVjdGlvbjogXCJuZXh0XCIgfCBcInByZXZpb3VzXCIpID0+IHtcbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLnRhYkl0ZW1SZWZzKCkuZmluZEluZGV4KCh0YWIpID0+IHRhYiA9PT0gdGhpcy5zZWxlY3RlZFRhYlJlZigpKTtcbiAgICBjb25zdCBtYXhJdGVyYXRpb25zID0gdGhpcy50YWJJdGVtUmVmcygpLmxlbmd0aDtcbiAgICBsZXQgbmV3SW5kZXggPSB0aGlzLmNvbXB1dGVOZXh0SXRlbUluZGV4KGN1cnJlbnRJbmRleCwgbWF4SXRlcmF0aW9ucywgZGlyZWN0aW9uKTtcbiAgICBsZXQgY291bnRlciA9IDA7XG4gICAgd2hpbGUgKFxuICAgICAgdGhpcy50YWJJdGVtUmVmcygpW25ld0luZGV4XS50YWJJdGVtUmVmKCk/Lm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1kaXNhYmxlZFwiKSA9PT0gXCJ0cnVlXCIgJiZcbiAgICAgIGNvdW50ZXIgPCBtYXhJdGVyYXRpb25zXG4gICAgKSB7XG4gICAgICBuZXdJbmRleCA9IHRoaXMuY29tcHV0ZU5leHRJdGVtSW5kZXgobmV3SW5kZXgsIG1heEl0ZXJhdGlvbnMsIGRpcmVjdGlvbik7XG4gICAgICBjb3VudGVyKys7XG4gICAgfVxuICAgIHRoaXMudGFiSXRlbVJlZnMoKVtuZXdJbmRleF0udGFiSXRlbVJlZigpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgdGhpcy50YWJJdGVtUmVmcygpW25ld0luZGV4XS50YWJJdGVtUmVmKCk/Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfTtcblxuICBwcml2YXRlIGNvbXB1dGVOZXh0SXRlbUluZGV4KGN1cnJlbnRJbmRleDogbnVtYmVyLCB0b3RhbEl0ZW1zOiBudW1iZXIsIGRpcmVjdGlvbjogXCJuZXh0XCIgfCBcInByZXZpb3VzXCIpIHtcbiAgICByZXR1cm4gZGlyZWN0aW9uID09PSBcIm5leHRcIiA/IChjdXJyZW50SW5kZXggKyAxKSAlIHRvdGFsSXRlbXMgOiAoY3VycmVudEluZGV4IC0gMSArIHRvdGFsSXRlbXMpICUgdG90YWxJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZUluZGljYXRvclN0eWxlKHRhYkl0ZW06IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKHRoaXMuZGlyZWN0aW9uKCkgPT09IFwiaG9yaXpvbnRhbFwiKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aDogdGFiSXRlbS5vZmZzZXRXaWR0aCxcbiAgICAgICAgbGVmdDogdGFiSXRlbS5vZmZzZXRMZWZ0LFxuICAgICAgICB0b3A6IHRhYkl0ZW0ub2Zmc2V0VG9wICsgdGFiSXRlbS5vZmZzZXRIZWlnaHQsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsZWZ0OiAwLFxuICAgICAgICB0b3A6IHRhYkl0ZW0ub2Zmc2V0VG9wLFxuICAgICAgICBoZWlnaHQ6IHRhYkl0ZW0ub2Zmc2V0SGVpZ2h0LFxuICAgICAgICB3aWR0aDogMixcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RlZFRhYkl0ZW1JbmRpY2F0b3IoKSB7XG4gICAgY29uc3QgaWR4ID0gdGhpcy5vcHRpb25zKCkuZmluZEluZGV4KChvcHQpID0+IG9wdC5pZCA9PT0gdGhpcy5zZWxlY3RlZFRhYklkKCkpO1xuICAgIGNvbnN0IHRhYkl0ZW0gPSB0aGlzLnRhYkl0ZW1SZWZzKClbaWR4XTtcbiAgICBpZiAodGFiSXRlbT8udGFiSXRlbVJlZikge1xuICAgICAgaWYgKHRhYkl0ZW0ub3B0aW9uKCk/LmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRhYkl0ZW1SZWYgPSB0YWJJdGVtLnRhYkl0ZW1SZWY/LigpO1xuICAgICAgaWYgKHRhYkl0ZW1SZWYgJiYgdGFiSXRlbVJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHRhYkl0ZW1FbGVtZW50ID0gdGFiSXRlbVJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBpbmRpY2F0b3JTdHlsZSA9IHRoaXMuY29tcHV0ZUluZGljYXRvclN0eWxlKHRhYkl0ZW1FbGVtZW50KTtcbiAgICAgICAgdGhpcy5zbGlkZXJIZWlnaHQuc2V0KGluZGljYXRvclN0eWxlLmhlaWdodCA/PyAyKTtcbiAgICAgICAgdGhpcy5zbGlkZXJUb3Auc2V0KGluZGljYXRvclN0eWxlLnRvcCk7XG4gICAgICAgIHRoaXMuc2xpZGVyV2lkdGguc2V0KGluZGljYXRvclN0eWxlLndpZHRoID8/IDIpO1xuICAgICAgICB0aGlzLnNsaWRlckxlZnQuc2V0KGluZGljYXRvclN0eWxlLmxlZnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZVNjcm9sbGFibGVTaWduYWxzID0gKCkgPT4ge1xuICAgIHRoaXMuY29tcHV0ZUlzU2Nyb2xsYWJsZSgpO1xuICAgIHRoaXMuY29tcHV0ZUlzT3ZlcmZsb3dpbmdMZWZ0KCk7XG4gICAgdGhpcy5jb21wdXRlSXNPdmVyZmxvd2luZ1JpZ2h0KCk7XG4gICAgdGhpcy5jb21wdXRlSXNPdmVyZmxvd2luZ1RvcCgpO1xuICAgIHRoaXMuY29tcHV0ZUlzT3ZlcmZsb3dpbmdCb3R0b20oKTtcbiAgfTtcblxuICBwcml2YXRlIGNvbXB1dGVJc1Njcm9sbGFibGUoKSB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyUmVmKCk/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgaWYgKGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5pc1Njcm9sbGFibGUuc2V0KFxuICAgICAgICAgIGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggPCBjb250YWluZXJOYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoIHx8XG4gICAgICAgICAgICBjb250YWluZXJOYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCA8IGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVJc092ZXJmbG93aW5nTGVmdCgpIHtcbiAgICBjb25zdCBjb250YWluZXJOYXRpdmVFbGVtZW50ID0gdGhpcy5jb250YWluZXJSZWYoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoY29udGFpbmVyTmF0aXZlRWxlbWVudCkge1xuICAgICAgY29uc3QgaXNPdmVyRmxvd2luZ0xlZnQgPSBjb250YWluZXJOYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPiAwO1xuICAgICAgdGhpcy5pc092ZXJmbG93aW5nTGVmdC5zZXQodGhpcy5pc1Njcm9sbGFibGUoKSAmJiBpc092ZXJGbG93aW5nTGVmdCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlSXNPdmVyZmxvd2luZ1JpZ2h0KCkge1xuICAgIGNvbnN0IGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChjb250YWluZXJOYXRpdmVFbGVtZW50KSB7XG4gICAgICBjb25zdCBpc092ZXJmbG93aW5nUmlnaHQgPVxuICAgICAgICBjb250YWluZXJOYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoIC0gY29udGFpbmVyTmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtIGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA+IDA7XG4gICAgICB0aGlzLmlzT3ZlcmZsb3dpbmdSaWdodC5zZXQodGhpcy5pc1Njcm9sbGFibGUoKSAmJiBpc092ZXJmbG93aW5nUmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZUlzT3ZlcmZsb3dpbmdUb3AoKSB7XG4gICAgY29uc3QgY29udGFpbmVyTmF0aXZlRWxlbWVudCA9IHRoaXMuY29udGFpbmVyUmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGlzT3ZlckZsb3dpbmdUb3AgPSBjb250YWluZXJOYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA+IDA7XG4gICAgICB0aGlzLmlzT3ZlcmZsb3dpbmdUb3Auc2V0KHRoaXMuaXNTY3JvbGxhYmxlKCkgJiYgaXNPdmVyRmxvd2luZ1RvcCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgY29tcHV0ZUlzT3ZlcmZsb3dpbmdCb3R0b20oKSB7XG4gICAgY29uc3QgY29udGFpbmVyTmF0aXZlRWxlbWVudCA9IHRoaXMuY29udGFpbmVyUmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGlzT3ZlcmZsb3dpbmdCb3R0b20gPVxuICAgICAgICBjb250YWluZXJOYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAtIGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gY29udGFpbmVyTmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPlxuICAgICAgICAwO1xuICAgICAgdGhpcy5pc092ZXJmbG93aW5nQm90dG9tLnNldCh0aGlzLmlzU2Nyb2xsYWJsZSgpICYmIGlzT3ZlcmZsb3dpbmdCb3R0b20pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJ0ZS10YWItY29udGFpbmVyXCIgW2F0dHIuZGF0YS1kaXJlY3Rpb25dPVwiZGlyZWN0aW9uKClcIj5cbiAgPGRpdiBjbGFzcz1cInJ0ZS10YWItYm9yZGVyLXZlcnRpY2FsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIFthdHRyLmRhdGEtZGlyZWN0aW9uXT1cImRpcmVjdGlvbigpXCI+PC9kaXY+XG4gIDxkaXZcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICdhbGlnbi1pdGVtcyc6ICdjZW50ZXInLFxuICAgICAgJ2ZsZXgtZGlyZWN0aW9uJzogZGlyZWN0aW9uKCkgPT09ICdob3Jpem9udGFsJyA/ICdyb3cnIDogJ2NvbHVtbicsXG4gICAgfVwiXG4gID5cbiAgICA8cnRlLWljb24tYnV0dG9uXG4gICAgICAqbmdJZj1cImlzU2Nyb2xsYWJsZSgpICYmICFzaG91bGREaXNwbGF5RHJvcGRvd24oKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiUHJldmlvdXMgdGFic1wiXG4gICAgICB2YXJpYW50PVwidHJhbnNwYXJlbnRcIlxuICAgICAgW25hbWVdPVwiZGlyZWN0aW9uKCkgPT09ICdob3Jpem9udGFsJyA/ICdhcnJvdy1jaGV2cm9uLWxlZnQnIDogJ2Fycm93LWNoZXZyb24tdXAnXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgb3BhY2l0eTogY2FuU2Nyb2xsQmFja3dhcmQoKSA/ICcxJyA6ICcwJyxcbiAgICAgICAgJ3BvaW50ZXItZXZlbnRzJzogY2FuU2Nyb2xsQmFja3dhcmQoKSA/ICdhdXRvJyA6ICdub25lJyxcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrRXZlbnQpPVwic2Nyb2xsQmFja3dhcmQoKVwiXG4gICAgLz5cbiAgICA8ZGl2XG4gICAgICAjdGFiTGlzdFxuICAgICAgcm9sZT1cInRhYmxpc3RcIlxuICAgICAgYXJpYS1sYWJlbD1cIlNhbXBsZSBUYWJzXCJcbiAgICAgIGNsYXNzPVwicnRlLXRhYlwiXG4gICAgICBbYXR0ci5kYXRhLWFsaWdubWVudF09XCJzaG91bGREaXNwbGF5RHJvcGRvd24oKSA/ICdzdGFydCcgOiBhbGlnbm1lbnQoKVwiXG4gICAgICBbYXR0ci5kYXRhLWRpcmVjdGlvbl09XCJkaXJlY3Rpb24oKVwiXG4gICAgICBbYXR0ci5kYXRhLW92ZXJmbG93LXR5cGVdPVwib3ZlcmZsb3dUeXBlKClcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwicnRlLXRhYi1zZWxlY3RlZC1pbmRpY2F0b3JcIiBbbmdTdHlsZV09XCJ0YWJJdGVtU2VsZWN0ZWRJbmRpY2F0b3JTdHlsZSgpXCI+PC9zcGFuPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNob3VsZERpc3BsYXlEcm9wZG93bigpICYmIG9wdGlvbnMoKS5sZW5ndGhcIlxuICAgICAgICBydGVEcm9wZG93blxuICAgICAgICBbcnRlRHJvcGRvd25PZmZzZXRdPVwiMTBcIlxuICAgICAgICAobWVudUV2ZW50KT1cIm9uQ2xpY2tUYWJJdGVtKCRldmVudC5pZClcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgcnRlRHJvcGRvd25UcmlnZ2VyXG4gICAgICAgICAgY2xhc3M9XCJydGUtdGFiLWRyb3Bkb3duLWJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1pbnZlcnRlZF09XCJpbnZlcnRlZCgpXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLW92ZXJmbG93LXR5cGVdPVwib3ZlcmZsb3dUeXBlKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHJ0ZS1pY29uICpuZ0lmPVwic2VsZWN0ZWRUYWIoKT8uaWNvblwiIGFwcGVhcmFuY2U9XCJmaWxsZWRcIiBbbmFtZV09XCJzZWxlY3RlZFRhYigpPy5pY29uIVwiPjwvcnRlLWljb24+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZFRhYigpPy5sYWJlbFwiPnt7IHNlbGVjdGVkVGFiKCk/LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgIDxydGUtYmFkZ2VcbiAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRUYWIoKT8uYmFkZ2VDb3VudCAmJiBzZWxlY3RlZFRhYigpPy5iYWRnZUNvbnRlbnQgPT09ICdudW1iZXInXCJcbiAgICAgICAgICAgIFtiYWRnZVR5cGVdPVwic2VsZWN0ZWRUYWIoKT8uYmFkZ2VUeXBlIVwiXG4gICAgICAgICAgICBbYmFkZ2VDb250ZW50XT1cInNlbGVjdGVkVGFiKCk/LmJhZGdlQ29udGVudCFcIlxuICAgICAgICAgICAgW2NvdW50XT1cInNlbGVjdGVkVGFiKCk/LmJhZGdlQ291bnRcIlxuICAgICAgICAgICAgW3NpbXBsZUJhZGdlXT1cInRydWVcIlxuICAgICAgICAgID48L3J0ZS1iYWRnZT5cbiAgICAgICAgICA8cnRlLWljb24gbmFtZT1cImFycm93LWNoZXZyb24tZG93blwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiPjwvcnRlLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8cnRlLWRyb3Bkb3duLW1lbnUgW2l0ZW1zXT1cImRyb3Bkb3duRmlsdGVyZWRPcHRpb25zKClcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9ucygpOyBsZXQgaWR4ID0gaW5kZXhcIj5cbiAgICAgICAgPHJ0ZS10YWItaXRlbVxuICAgICAgICAgICN0YWJJdGVtXG4gICAgICAgICAgW29wdGlvbl09XCJvcHRpb25cIlxuICAgICAgICAgIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uKClcIlxuICAgICAgICAgIFtjb21wYWN0U3BhY2luZ109XCJjb21wYWN0U3BhY2luZygpXCJcbiAgICAgICAgICBbaXNTZWxlY3RlZF09XCJpc1NlbGVjdGVkKG9wdGlvbi5pZClcIlxuICAgICAgICAgIFtpbnZlcnRlZF09XCJpbnZlcnRlZCgpXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLWhpZGRlbl09XCJzaG91bGREaXNwbGF5RHJvcGRvd24oKVwiXG4gICAgICAgICAgW2lzSGlkZGVuXT1cInNob3VsZERpc3BsYXlEcm9wZG93bigpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd25UYWJJdGVtKCRldmVudClcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrVGFiSXRlbShvcHRpb24uaWQpXCJcbiAgICAgICAgPjwvcnRlLXRhYi1pdGVtPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPHJ0ZS1pY29uLWJ1dHRvblxuICAgICAgKm5nSWY9XCJpc1Njcm9sbGFibGUoKSAmJiAhc2hvdWxkRGlzcGxheURyb3Bkb3duKClcIlxuICAgICAgYXJpYS1sYWJlbD1cIk5leHQgdGFic1wiXG4gICAgICB2YXJpYW50PVwidHJhbnNwYXJlbnRcIlxuICAgICAgW25hbWVdPVwiZGlyZWN0aW9uKCkgPT09ICdob3Jpem9udGFsJyA/ICdhcnJvdy1jaGV2cm9uLXJpZ2h0JyA6ICdhcnJvdy1jaGV2cm9uLWRvd24nXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgb3BhY2l0eTogY2FuU2Nyb2xsRm9yd2FyZCgpID8gJzEnIDogJzAnLFxuICAgICAgICAncG9pbnRlci1ldmVudHMnOiBjYW5TY3JvbGxGb3J3YXJkKCkgPyAnYXV0bycgOiAnbm9uZScsXG4gICAgICB9XCJcbiAgICAgIChjbGlja0V2ZW50KT1cInNjcm9sbEZvcndhcmQoKVwiXG4gICAgLz5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInJ0ZS10YWItYm9yZGVyLWhvcml6b250YWxcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgW2F0dHIuZGF0YS1kaXJlY3Rpb25dPVwiZGlyZWN0aW9uKClcIlxuICAgIFthdHRyLmRhdGEtY29tcGFjdC1zcGFjaW5nXT1cImNvbXBhY3RTcGFjaW5nKClcIlxuICAgIFthdHRyLmRhdGEtc2Nyb2xsYWJsZV09XCJpc1Njcm9sbGFibGUoKSAmJiBvdmVyZmxvd1R5cGUoKSA9PT0gJ3Njcm9sbGFibGUnXCJcbiAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RhYi90YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGFiL3RhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sWUFBWSxFQUdaLE1BQU0sRUFHTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFlBQVksR0FDYixNQUFNLCtEQUErRCxDQUFDO0FBRXZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBVWpFLE1BQU0sT0FBTyxZQUFZO0lBUnpCO1FBU1csY0FBUyxHQUFHLEtBQUssQ0FBZSxPQUFPLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQUcsS0FBSyxDQUFZLFlBQVksQ0FBQyxDQUFDO1FBQzNDLFlBQU8sR0FBRyxLQUFLLENBQXNCLEVBQUUsQ0FBQyxDQUFDO1FB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QkFBc0IsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLGdCQUFnQixDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7SUFDTywwQkFBMEI7UUFDaEMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsYUFBYSxDQUFDO1FBQ2xFLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUMzQixNQUFNLG1CQUFtQixHQUN2QixzQkFBc0IsQ0FBQyxZQUFZLEdBQUcsc0JBQXNCLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLFNBQVM7Z0JBQzVHLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLG1CQUFtQixDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNILENBQUM7K0dBMVFVLFlBQVk7bUdBQVosWUFBWSx5M0NDMUN6Qix1bkhBNEZBLHNuRUR4RFksWUFBWSxxVkFBRSxnQkFBZ0IsdUxBQUUsbUJBQW1CLG1SQUFFLGNBQWMsMjJCQUFFLGFBQWEsaUhBQUUsY0FBYzs7NEZBTWpHLFlBQVk7a0JBUnhCLFNBQVM7K0JBQ0UsU0FBUyxXQUNWLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLGNBQ2pHLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBjb21wdXRlZCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIG91dHB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25DaGFuZ2VzLFxuICB2aWV3Q2hpbGQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2NvbW1vbi9jb21tb24tdHlwZXNcIjtcbmltcG9ydCB7IFRhYkFsaWdubWVudCwgVGFiSXRlbVByb3BzLCBUYWJQcm9wcyB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL3RhYi90YWIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBzY3JvbGxUb1NlbGVjdGVkVGFiIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvdGFiL3RhYi51dGlsc1wiO1xuaW1wb3J0IHtcbiAgQVJST1dfRE9XTl9LRVksXG4gIEFSUk9XX0xFRlRfS0VZLFxuICBBUlJPV19SSUdIVF9LRVksXG4gIEFSUk9XX1VQX0tFWSxcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbnN0YW50cy9rZXlib2FyZC9rZXlib2FyZC5jb25zdGFudHNcIjtcblxuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tIFwiLi4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCIuLi9kcm9wZG93blwiO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtQ29uZmlnIH0gZnJvbSBcIi4uL2Ryb3Bkb3duL2Ryb3Bkb3duLnR5cGVzXCI7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50XCI7XG5cbmltcG9ydCB7IFRhYkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS10YWJcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGFiSXRlbUNvbXBvbmVudCwgSWNvbkJ1dHRvbkNvbXBvbmVudCwgRHJvcGRvd25Nb2R1bGUsIEljb25Db21wb25lbnQsIEJhZGdlQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi90YWIuY29tcG9uZW50LnNjc3NcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgYWxpZ25tZW50ID0gaW5wdXQ8VGFiQWxpZ25tZW50PihcInN0YXJ0XCIpO1xuICByZWFkb25seSBkaXJlY3Rpb24gPSBpbnB1dDxEaXJlY3Rpb24+KFwiaG9yaXpvbnRhbFwiKTtcbiAgcmVhZG9ubHkgb3B0aW9ucyA9IGlucHV0PFRhYlByb3BzW1wib3B0aW9uc1wiXT4oW10pO1xuICByZWFkb25seSBzZWxlY3RlZFRhYklkID0gaW5wdXQ8VGFiUHJvcHNbXCJzZWxlY3RlZFRhYklkXCJdPigpO1xuICByZWFkb25seSBjb21wYWN0U3BhY2luZyA9IGlucHV0PFRhYlByb3BzW1wiY29tcGFjdFNwYWNpbmdcIl0+KGZhbHNlKTtcbiAgcmVhZG9ubHkgb3ZlcmZsb3dUeXBlID0gaW5wdXQ8VGFiUHJvcHNbXCJvdmVyZmxvd1R5cGVcIl0+KFwic2Nyb2xsYWJsZVwiKTtcbiAgcmVhZG9ubHkgaW52ZXJ0ZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgc2xpZGVyTGVmdCA9IHNpZ25hbCgwKTtcbiAgcmVhZG9ubHkgc2xpZGVyV2lkdGggPSBzaWduYWwoMCk7XG4gIHJlYWRvbmx5IHNsaWRlclRvcCA9IHNpZ25hbCgwKTtcbiAgcmVhZG9ubHkgc2xpZGVySGVpZ2h0ID0gc2lnbmFsKDApO1xuXG4gIHJlYWRvbmx5IHRhYkl0ZW1SZWZzID0gdmlld0NoaWxkcmVuPFRhYkl0ZW1Db21wb25lbnQ+KFwidGFiSXRlbVwiKTtcbiAgcmVhZG9ubHkgY29udGFpbmVyUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PihcInRhYkxpc3RcIik7XG4gIHJlYWRvbmx5IGhvdmVySW5kaWNhdG9yUmVmcyA9IHZpZXdDaGlsZHJlbjxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oXCJob3ZlckluZGljYXRvclwiKTtcblxuICByZWFkb25seSBzZWxlY3RlZFRhYlJlZiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpZHggPSB0aGlzLm9wdGlvbnMoKS5maW5kSW5kZXgoKG9wdCkgPT4gb3B0LmlkID09PSB0aGlzLnNlbGVjdGVkVGFiSWQoKSk7XG4gICAgY29uc3QgdGFiSXRlbSA9IHRoaXMudGFiSXRlbVJlZnMoKVtpZHhdO1xuICAgIHJldHVybiB0YWJJdGVtO1xuICB9KTtcblxuICByZWFkb25seSBob3ZlckluZGljYXRvclN0eWxlID0gc2lnbmFsPHtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBsZWZ0PzogbnVtYmVyO1xuICAgIHRvcD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgb3BhY2l0eT86IG51bWJlcjtcbiAgfSB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IGNoYW5nZSA9IG91dHB1dDxzdHJpbmc+KCk7XG5cbiAgcmVhZG9ubHkgaXNTY3JvbGxhYmxlID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpc092ZXJmbG93aW5nTGVmdCA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaXNPdmVyZmxvd2luZ1JpZ2h0ID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpc092ZXJmbG93aW5nVG9wID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpc092ZXJmbG93aW5nQm90dG9tID0gc2lnbmFsKGZhbHNlKTtcblxuICByZWFkb25seSBjYW5TY3JvbGxCYWNrd2FyZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pc092ZXJmbG93aW5nTGVmdCgpIHx8IHRoaXMuaXNPdmVyZmxvd2luZ1RvcCgpO1xuICB9KTtcblxuICByZWFkb25seSBjYW5TY3JvbGxGb3J3YXJkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmlzT3ZlcmZsb3dpbmdSaWdodCgpIHx8IHRoaXMuaXNPdmVyZmxvd2luZ0JvdHRvbSgpO1xuICB9KTtcblxuICByZWFkb25seSBpc0hvcml6b250YWwgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmRpcmVjdGlvbigpID09PSBcImhvcml6b250YWxcIiAmJiAodGhpcy5pc092ZXJmbG93aW5nUmlnaHQoKSB8fCB0aGlzLmlzT3ZlcmZsb3dpbmdMZWZ0KCkpLFxuICApO1xuXG4gIHJlYWRvbmx5IHNob3VsZERpc3BsYXlEcm9wZG93biA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3ZlcmZsb3dUeXBlKCkgPT09IFwiZHJvcGRvd25cIiAmJiB0aGlzLmlzSG9yaXpvbnRhbCgpKTtcblxuICByZWFkb25seSBzZWxlY3RlZFRhYiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zKCkuZmluZCgob3B0aW9uKSA9PiBvcHRpb24uaWQgPT09IHRoaXMuc2VsZWN0ZWRUYWJJZCgpKTtcbiAgfSk7XG4gIHJlYWRvbmx5IGRyb3Bkb3duRmlsdGVyZWRPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMoKS5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmlkICE9PSB0aGlzLnNlbGVjdGVkVGFiSWQoKSkgYXMgRHJvcGRvd25JdGVtQ29uZmlnW107XG4gIH0pO1xuXG4gIGRpc3BsYXlCYWRnZSA9IChvcHRpb246IFRhYkl0ZW1Qcm9wcyk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIW9wdGlvbi5zaG93QmFkZ2UgfHxcbiAgICAgIChvcHRpb24uYmFkZ2VDb3VudCAhPT0gdW5kZWZpbmVkICYmIG9wdGlvbi5iYWRnZUNvdW50ID4gMCAmJiBvcHRpb24uYmFkZ2VDb250ZW50ID09PSBcIm51bWJlclwiKSB8fFxuICAgICAgKG9wdGlvbi5iYWRnZUNvbnRlbnQgPT09IFwiaWNvblwiICYmICEhb3B0aW9uLmJhZGdlSWNvbilcbiAgICApO1xuICB9O1xuXG4gIGlzU2VsZWN0ZWQoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVGFiSWQoKSA9PT0gaWQ7XG4gIH1cblxuICByZWFkb25seSB0YWJJdGVtU2VsZWN0ZWRJbmRpY2F0b3JTdHlsZSA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgbGVmdDogYCR7dGhpcy5zaG91bGREaXNwbGF5RHJvcGRvd24oKSA/IDAgOiB0aGlzLnNsaWRlckxlZnQoKX1weGAsXG4gICAgdG9wOiBgJHt0aGlzLnNsaWRlclRvcCgpfXB4YCxcbiAgICB3aWR0aDogYCR7dGhpcy5zbGlkZXJXaWR0aCgpICsgKHRoaXMuc2hvdWxkRGlzcGxheURyb3Bkb3duKCkgPyAzMiA6IDApfXB4YCxcbiAgICBoZWlnaHQ6IGAke3RoaXMuc2xpZGVySGVpZ2h0KCl9cHhgLFxuICB9KSk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRUYWJJdGVtSW5kaWNhdG9yKCk7XG4gICAgdGhpcy5jb21wdXRlU2Nyb2xsYWJsZVNpZ25hbHMoKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLnVwZGF0ZVNlbGVjdGVkVGFiSXRlbUluZGljYXRvci5iaW5kKHRoaXMpKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmNvbXB1dGVTY3JvbGxhYmxlU2lnbmFscy5iaW5kKHRoaXMpKTtcbiAgICBpZiAodGhpcy5jb250YWluZXJSZWYoKSkge1xuICAgICAgdGhpcy5jb250YWluZXJSZWYoKT8ubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuY29tcHV0ZVNjcm9sbGFibGVTaWduYWxzLmJpbmQodGhpcykpO1xuICAgIH1cbiAgICB0aGlzLmhvdmVySW5kaWNhdG9yUmVmcygpLmZvckVhY2goKGhvdmVySW5kaWNhdG9yKSA9PiB7XG4gICAgICBob3ZlckluZGljYXRvci5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSBcIjBcIjtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMudXBkYXRlU2VsZWN0ZWRUYWJJdGVtSW5kaWNhdG9yLmJpbmQodGhpcykpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuY29tcHV0ZVNjcm9sbGFibGVTaWduYWxzLmJpbmQodGhpcykpO1xuICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZigpKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhpcy5jb21wdXRlU2Nyb2xsYWJsZVNpZ25hbHMuYmluZCh0aGlzKSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzW1wic2VsZWN0ZWRUYWJJZFwiXSkge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFRhYkl0ZW1JbmRpY2F0b3IoKTtcbiAgICB9XG4gIH1cblxuICBvbktleWRvd25UYWJJdGVtID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgY29uc3QgaXNWZXJ0aWNhbCA9IHRoaXMuZGlyZWN0aW9uKCkgPT09IFwidmVydGljYWxcIjtcblxuICAgIGNvbnN0IGlzRG93bktleVByZXNzZWQgPSBpc1ZlcnRpY2FsICYmIGV2ZW50LmtleSA9PT0gQVJST1dfRE9XTl9LRVk7XG4gICAgY29uc3QgaXNVcEtleVByZXNzZWQgPSBpc1ZlcnRpY2FsICYmIGV2ZW50LmtleSA9PT0gQVJST1dfVVBfS0VZO1xuICAgIGNvbnN0IGlzUmlnaHRLZXlQcmVzc2VkID0gIWlzVmVydGljYWwgJiYgZXZlbnQua2V5ID09PSBBUlJPV19SSUdIVF9LRVk7XG4gICAgY29uc3QgaXNMZWZ0S2V5UHJlc3NlZCA9ICFpc1ZlcnRpY2FsICYmIGV2ZW50LmtleSA9PT0gQVJST1dfTEVGVF9LRVk7XG5cbiAgICBjb25zdCBpc0Fycm93TmV4dCA9IGlzRG93bktleVByZXNzZWQgfHwgaXNSaWdodEtleVByZXNzZWQ7XG4gICAgY29uc3QgaXNBcnJvd1ByZXYgPSBpc1VwS2V5UHJlc3NlZCB8fCBpc0xlZnRLZXlQcmVzc2VkO1xuXG4gICAgaWYgKGlzQXJyb3dOZXh0IHx8IGlzQXJyb3dQcmV2KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5mb2N1c0l0ZW0oaXNBcnJvd05leHQgPyBcIm5leHRcIiA6IFwicHJldmlvdXNcIik7XG4gICAgfVxuICB9O1xuXG4gIG9uQ2xpY2tUYWJJdGVtID0gKGlkOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoaWQgIT09IHRoaXMuc2VsZWN0ZWRUYWJJZCgpKSB7XG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KGlkKTtcbiAgICAgIGlmICghdGhpcy5zaG91bGREaXNwbGF5RHJvcGRvd24oKSkge1xuICAgICAgICBjb25zdCBuZXdUYWIgPSB0aGlzLmdldFRhYkl0ZW0oaWQpPy50YWJJdGVtUmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChuZXdUYWIpIHtcbiAgICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICAgIHNjcm9sbFRvU2VsZWN0ZWRUYWIobmV3VGFiLCBjb250YWluZXIsIHRoaXMuZGlyZWN0aW9uKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzY3JvbGxCYWNrd2FyZCgpIHtcbiAgICBpZiAodGhpcy5jb250YWluZXJSZWYoKT8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgY29uc3Qgc2Nyb2xsT2JqZWN0ID0gdGhpcy5kaXJlY3Rpb24oKSA9PT0gXCJob3Jpem9udGFsXCIgPyB7IGxlZnQ6IC0zMDAgfSA6IHsgdG9wOiAtMzAwIH07XG4gICAgICB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50LnNjcm9sbEJ5KHsgLi4uc2Nyb2xsT2JqZWN0LCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KTtcbiAgICB9XG4gIH1cblxuICBzY3JvbGxGb3J3YXJkKCkge1xuICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZigpICYmIHRoaXMuY29udGFpbmVyUmVmKCk/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHNjcm9sbE9iamVjdCA9IHRoaXMuZGlyZWN0aW9uKCkgPT09IFwiaG9yaXpvbnRhbFwiID8geyBsZWZ0OiAzMDAgfSA6IHsgdG9wOiAzMDAgfTtcbiAgICAgIHRoaXMuY29udGFpbmVyUmVmKCk/Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoeyAuLi5zY3JvbGxPYmplY3QsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFiSXRlbSA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMudGFiSXRlbVJlZnMoKS5maW5kKCh0YWIpID0+IHRhYi5vcHRpb24oKT8uaWQgPT09IGlkKTtcbiAgfTtcblxuICBwcml2YXRlIGZvY3VzSXRlbSA9IChkaXJlY3Rpb246IFwibmV4dFwiIHwgXCJwcmV2aW91c1wiKSA9PiB7XG4gICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy50YWJJdGVtUmVmcygpLmZpbmRJbmRleCgodGFiKSA9PiB0YWIgPT09IHRoaXMuc2VsZWN0ZWRUYWJSZWYoKSk7XG4gICAgY29uc3QgbWF4SXRlcmF0aW9ucyA9IHRoaXMudGFiSXRlbVJlZnMoKS5sZW5ndGg7XG4gICAgbGV0IG5ld0luZGV4ID0gdGhpcy5jb21wdXRlTmV4dEl0ZW1JbmRleChjdXJyZW50SW5kZXgsIG1heEl0ZXJhdGlvbnMsIGRpcmVjdGlvbik7XG4gICAgbGV0IGNvdW50ZXIgPSAwO1xuICAgIHdoaWxlIChcbiAgICAgIHRoaXMudGFiSXRlbVJlZnMoKVtuZXdJbmRleF0udGFiSXRlbVJlZigpPy5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZShcImRhdGEtZGlzYWJsZWRcIikgPT09IFwidHJ1ZVwiICYmXG4gICAgICBjb3VudGVyIDwgbWF4SXRlcmF0aW9uc1xuICAgICkge1xuICAgICAgbmV3SW5kZXggPSB0aGlzLmNvbXB1dGVOZXh0SXRlbUluZGV4KG5ld0luZGV4LCBtYXhJdGVyYXRpb25zLCBkaXJlY3Rpb24pO1xuICAgICAgY291bnRlcisrO1xuICAgIH1cbiAgICB0aGlzLnRhYkl0ZW1SZWZzKClbbmV3SW5kZXhdLnRhYkl0ZW1SZWYoKT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMudGFiSXRlbVJlZnMoKVtuZXdJbmRleF0udGFiSXRlbVJlZigpPy5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBjb21wdXRlTmV4dEl0ZW1JbmRleChjdXJyZW50SW5kZXg6IG51bWJlciwgdG90YWxJdGVtczogbnVtYmVyLCBkaXJlY3Rpb246IFwibmV4dFwiIHwgXCJwcmV2aW91c1wiKSB7XG4gICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJuZXh0XCIgPyAoY3VycmVudEluZGV4ICsgMSkgJSB0b3RhbEl0ZW1zIDogKGN1cnJlbnRJbmRleCAtIDEgKyB0b3RhbEl0ZW1zKSAlIHRvdGFsSXRlbXM7XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVJbmRpY2F0b3JTdHlsZSh0YWJJdGVtOiBIVE1MRWxlbWVudCkge1xuICAgIGlmICh0aGlzLmRpcmVjdGlvbigpID09PSBcImhvcml6b250YWxcIikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IHRhYkl0ZW0ub2Zmc2V0V2lkdGgsXG4gICAgICAgIGxlZnQ6IHRhYkl0ZW0ub2Zmc2V0TGVmdCxcbiAgICAgICAgdG9wOiB0YWJJdGVtLm9mZnNldFRvcCArIHRhYkl0ZW0ub2Zmc2V0SGVpZ2h0LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgdG9wOiB0YWJJdGVtLm9mZnNldFRvcCxcbiAgICAgICAgaGVpZ2h0OiB0YWJJdGVtLm9mZnNldEhlaWdodCxcbiAgICAgICAgd2lkdGg6IDIsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWRUYWJJdGVtSW5kaWNhdG9yKCkge1xuICAgIGNvbnN0IGlkeCA9IHRoaXMub3B0aW9ucygpLmZpbmRJbmRleCgob3B0KSA9PiBvcHQuaWQgPT09IHRoaXMuc2VsZWN0ZWRUYWJJZCgpKTtcbiAgICBjb25zdCB0YWJJdGVtID0gdGhpcy50YWJJdGVtUmVmcygpW2lkeF07XG4gICAgaWYgKHRhYkl0ZW0/LnRhYkl0ZW1SZWYpIHtcbiAgICAgIGlmICh0YWJJdGVtLm9wdGlvbigpPy5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCB0YWJJdGVtUmVmID0gdGFiSXRlbS50YWJJdGVtUmVmPy4oKTtcbiAgICAgIGlmICh0YWJJdGVtUmVmICYmIHRhYkl0ZW1SZWYubmF0aXZlRWxlbWVudCkge1xuICAgICAgICBjb25zdCB0YWJJdGVtRWxlbWVudCA9IHRhYkl0ZW1SZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaW5kaWNhdG9yU3R5bGUgPSB0aGlzLmNvbXB1dGVJbmRpY2F0b3JTdHlsZSh0YWJJdGVtRWxlbWVudCk7XG4gICAgICAgIHRoaXMuc2xpZGVySGVpZ2h0LnNldChpbmRpY2F0b3JTdHlsZS5oZWlnaHQgPz8gMik7XG4gICAgICAgIHRoaXMuc2xpZGVyVG9wLnNldChpbmRpY2F0b3JTdHlsZS50b3ApO1xuICAgICAgICB0aGlzLnNsaWRlcldpZHRoLnNldChpbmRpY2F0b3JTdHlsZS53aWR0aCA/PyAyKTtcbiAgICAgICAgdGhpcy5zbGlkZXJMZWZ0LnNldChpbmRpY2F0b3JTdHlsZS5sZWZ0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVTY3JvbGxhYmxlU2lnbmFscyA9ICgpID0+IHtcbiAgICB0aGlzLmNvbXB1dGVJc1Njcm9sbGFibGUoKTtcbiAgICB0aGlzLmNvbXB1dGVJc092ZXJmbG93aW5nTGVmdCgpO1xuICAgIHRoaXMuY29tcHV0ZUlzT3ZlcmZsb3dpbmdSaWdodCgpO1xuICAgIHRoaXMuY29tcHV0ZUlzT3ZlcmZsb3dpbmdUb3AoKTtcbiAgICB0aGlzLmNvbXB1dGVJc092ZXJmbG93aW5nQm90dG9tKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBjb21wdXRlSXNTY3JvbGxhYmxlKCkge1xuICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBjb25zdCBjb250YWluZXJOYXRpdmVFbGVtZW50ID0gdGhpcy5jb250YWluZXJSZWYoKT8ubmF0aXZlRWxlbWVudDtcbiAgICAgIGlmIChjb250YWluZXJOYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxhYmxlLnNldChcbiAgICAgICAgICBjb250YWluZXJOYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDwgY29udGFpbmVyTmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCB8fFxuICAgICAgICAgICAgY29udGFpbmVyTmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgPCBjb250YWluZXJOYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlSXNPdmVyZmxvd2luZ0xlZnQoKSB7XG4gICAgY29uc3QgY29udGFpbmVyTmF0aXZlRWxlbWVudCA9IHRoaXMuY29udGFpbmVyUmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGlzT3ZlckZsb3dpbmdMZWZ0ID0gY29udGFpbmVyTmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID4gMDtcbiAgICAgIHRoaXMuaXNPdmVyZmxvd2luZ0xlZnQuc2V0KHRoaXMuaXNTY3JvbGxhYmxlKCkgJiYgaXNPdmVyRmxvd2luZ0xlZnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZUlzT3ZlcmZsb3dpbmdSaWdodCgpIHtcbiAgICBjb25zdCBjb250YWluZXJOYXRpdmVFbGVtZW50ID0gdGhpcy5jb250YWluZXJSZWYoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoY29udGFpbmVyTmF0aXZlRWxlbWVudCkge1xuICAgICAgY29uc3QgaXNPdmVyZmxvd2luZ1JpZ2h0ID1cbiAgICAgICAgY29udGFpbmVyTmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCAtIGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLSBjb250YWluZXJOYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPiAwO1xuICAgICAgdGhpcy5pc092ZXJmbG93aW5nUmlnaHQuc2V0KHRoaXMuaXNTY3JvbGxhYmxlKCkgJiYgaXNPdmVyZmxvd2luZ1JpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVJc092ZXJmbG93aW5nVG9wKCkge1xuICAgIGNvbnN0IGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChjb250YWluZXJOYXRpdmVFbGVtZW50KSB7XG4gICAgICBjb25zdCBpc092ZXJGbG93aW5nVG9wID0gY29udGFpbmVyTmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPiAwO1xuICAgICAgdGhpcy5pc092ZXJmbG93aW5nVG9wLnNldCh0aGlzLmlzU2Nyb2xsYWJsZSgpICYmIGlzT3ZlckZsb3dpbmdUb3ApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGNvbXB1dGVJc092ZXJmbG93aW5nQm90dG9tKCkge1xuICAgIGNvbnN0IGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChjb250YWluZXJOYXRpdmVFbGVtZW50KSB7XG4gICAgICBjb25zdCBpc092ZXJmbG93aW5nQm90dG9tID1cbiAgICAgICAgY29udGFpbmVyTmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgLSBjb250YWluZXJOYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtIGNvbnRhaW5lck5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID5cbiAgICAgICAgMDtcbiAgICAgIHRoaXMuaXNPdmVyZmxvd2luZ0JvdHRvbS5zZXQodGhpcy5pc1Njcm9sbGFibGUoKSAmJiBpc092ZXJmbG93aW5nQm90dG9tKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydGUtdGFiLWNvbnRhaW5lclwiIFthdHRyLmRhdGEtZGlyZWN0aW9uXT1cImRpcmVjdGlvbigpXCI+XG4gIDxkaXYgY2xhc3M9XCJydGUtdGFiLWJvcmRlci12ZXJ0aWNhbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBbYXR0ci5kYXRhLWRpcmVjdGlvbl09XCJkaXJlY3Rpb24oKVwiPjwvZGl2PlxuICA8ZGl2XG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAnYWxpZ24taXRlbXMnOiAnY2VudGVyJyxcbiAgICAgICdmbGV4LWRpcmVjdGlvbic6IGRpcmVjdGlvbigpID09PSAnaG9yaXpvbnRhbCcgPyAncm93JyA6ICdjb2x1bW4nLFxuICAgIH1cIlxuICA+XG4gICAgPHJ0ZS1pY29uLWJ1dHRvblxuICAgICAgKm5nSWY9XCJpc1Njcm9sbGFibGUoKSAmJiAhc2hvdWxkRGlzcGxheURyb3Bkb3duKClcIlxuICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIHRhYnNcIlxuICAgICAgdmFyaWFudD1cInRyYW5zcGFyZW50XCJcbiAgICAgIFtuYW1lXT1cImRpcmVjdGlvbigpID09PSAnaG9yaXpvbnRhbCcgPyAnYXJyb3ctY2hldnJvbi1sZWZ0JyA6ICdhcnJvdy1jaGV2cm9uLXVwJ1wiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIG9wYWNpdHk6IGNhblNjcm9sbEJhY2t3YXJkKCkgPyAnMScgOiAnMCcsXG4gICAgICAgICdwb2ludGVyLWV2ZW50cyc6IGNhblNjcm9sbEJhY2t3YXJkKCkgPyAnYXV0bycgOiAnbm9uZScsXG4gICAgICB9XCJcbiAgICAgIChjbGlja0V2ZW50KT1cInNjcm9sbEJhY2t3YXJkKClcIlxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgI3RhYkxpc3RcbiAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgIGFyaWEtbGFiZWw9XCJTYW1wbGUgVGFic1wiXG4gICAgICBjbGFzcz1cInJ0ZS10YWJcIlxuICAgICAgW2F0dHIuZGF0YS1hbGlnbm1lbnRdPVwic2hvdWxkRGlzcGxheURyb3Bkb3duKCkgPyAnc3RhcnQnIDogYWxpZ25tZW50KClcIlxuICAgICAgW2F0dHIuZGF0YS1kaXJlY3Rpb25dPVwiZGlyZWN0aW9uKClcIlxuICAgICAgW2F0dHIuZGF0YS1vdmVyZmxvdy10eXBlXT1cIm92ZXJmbG93VHlwZSgpXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cInJ0ZS10YWItc2VsZWN0ZWQtaW5kaWNhdG9yXCIgW25nU3R5bGVdPVwidGFiSXRlbVNlbGVjdGVkSW5kaWNhdG9yU3R5bGUoKVwiPjwvc3Bhbj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJzaG91bGREaXNwbGF5RHJvcGRvd24oKSAmJiBvcHRpb25zKCkubGVuZ3RoXCJcbiAgICAgICAgcnRlRHJvcGRvd25cbiAgICAgICAgW3J0ZURyb3Bkb3duT2Zmc2V0XT1cIjEwXCJcbiAgICAgICAgKG1lbnVFdmVudCk9XCJvbkNsaWNrVGFiSXRlbSgkZXZlbnQuaWQpXCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHJ0ZURyb3Bkb3duVHJpZ2dlclxuICAgICAgICAgIGNsYXNzPVwicnRlLXRhYi1kcm9wZG93bi1idXR0b25cIlxuICAgICAgICAgIFthdHRyLmRhdGEtaW52ZXJ0ZWRdPVwiaW52ZXJ0ZWQoKVwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1vdmVyZmxvdy10eXBlXT1cIm92ZXJmbG93VHlwZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxydGUtaWNvbiAqbmdJZj1cInNlbGVjdGVkVGFiKCk/Lmljb25cIiBhcHBlYXJhbmNlPVwiZmlsbGVkXCIgW25hbWVdPVwic2VsZWN0ZWRUYWIoKT8uaWNvbiFcIj48L3J0ZS1pY29uPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRUYWIoKT8ubGFiZWxcIj57eyBzZWxlY3RlZFRhYigpPy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICA8cnRlLWJhZGdlXG4gICAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkVGFiKCk/LmJhZGdlQ291bnQgJiYgc2VsZWN0ZWRUYWIoKT8uYmFkZ2VDb250ZW50ID09PSAnbnVtYmVyJ1wiXG4gICAgICAgICAgICBbYmFkZ2VUeXBlXT1cInNlbGVjdGVkVGFiKCk/LmJhZGdlVHlwZSFcIlxuICAgICAgICAgICAgW2JhZGdlQ29udGVudF09XCJzZWxlY3RlZFRhYigpPy5iYWRnZUNvbnRlbnQhXCJcbiAgICAgICAgICAgIFtjb3VudF09XCJzZWxlY3RlZFRhYigpPy5iYWRnZUNvdW50XCJcbiAgICAgICAgICAgIFtzaW1wbGVCYWRnZV09XCJ0cnVlXCJcbiAgICAgICAgICA+PC9ydGUtYmFkZ2U+XG4gICAgICAgICAgPHJ0ZS1pY29uIG5hbWU9XCJhcnJvdy1jaGV2cm9uLWRvd25cIiBhcHBlYXJhbmNlPVwib3V0bGluZWRcIj48L3J0ZS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPHJ0ZS1kcm9wZG93bi1tZW51IFtpdGVtc109XCJkcm9wZG93bkZpbHRlcmVkT3B0aW9ucygpXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnMoKTsgbGV0IGlkeCA9IGluZGV4XCI+XG4gICAgICAgIDxydGUtdGFiLWl0ZW1cbiAgICAgICAgICAjdGFiSXRlbVxuICAgICAgICAgIFtvcHRpb25dPVwib3B0aW9uXCJcbiAgICAgICAgICBbZGlyZWN0aW9uXT1cImRpcmVjdGlvbigpXCJcbiAgICAgICAgICBbY29tcGFjdFNwYWNpbmddPVwiY29tcGFjdFNwYWNpbmcoKVwiXG4gICAgICAgICAgW2lzU2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChvcHRpb24uaWQpXCJcbiAgICAgICAgICBbaW52ZXJ0ZWRdPVwiaW52ZXJ0ZWQoKVwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1oaWRkZW5dPVwic2hvdWxkRGlzcGxheURyb3Bkb3duKClcIlxuICAgICAgICAgIFtpc0hpZGRlbl09XCJzaG91bGREaXNwbGF5RHJvcGRvd24oKVwiXG4gICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duVGFiSXRlbSgkZXZlbnQpXCJcbiAgICAgICAgICAoY2xpY2spPVwib25DbGlja1RhYkl0ZW0ob3B0aW9uLmlkKVwiXG4gICAgICAgID48L3J0ZS10YWItaXRlbT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxydGUtaWNvbi1idXR0b25cbiAgICAgICpuZ0lmPVwiaXNTY3JvbGxhYmxlKCkgJiYgIXNob3VsZERpc3BsYXlEcm9wZG93bigpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJOZXh0IHRhYnNcIlxuICAgICAgdmFyaWFudD1cInRyYW5zcGFyZW50XCJcbiAgICAgIFtuYW1lXT1cImRpcmVjdGlvbigpID09PSAnaG9yaXpvbnRhbCcgPyAnYXJyb3ctY2hldnJvbi1yaWdodCcgOiAnYXJyb3ctY2hldnJvbi1kb3duJ1wiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIG9wYWNpdHk6IGNhblNjcm9sbEZvcndhcmQoKSA/ICcxJyA6ICcwJyxcbiAgICAgICAgJ3BvaW50ZXItZXZlbnRzJzogY2FuU2Nyb2xsRm9yd2FyZCgpID8gJ2F1dG8nIDogJ25vbmUnLFxuICAgICAgfVwiXG4gICAgICAoY2xpY2tFdmVudCk9XCJzY3JvbGxGb3J3YXJkKClcIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJydGUtdGFiLWJvcmRlci1ob3Jpem9udGFsXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgIFthdHRyLmRhdGEtZGlyZWN0aW9uXT1cImRpcmVjdGlvbigpXCJcbiAgICBbYXR0ci5kYXRhLWNvbXBhY3Qtc3BhY2luZ109XCJjb21wYWN0U3BhY2luZygpXCJcbiAgICBbYXR0ci5kYXRhLXNjcm9sbGFibGVdPVwiaXNTY3JvbGxhYmxlKCkgJiYgb3ZlcmZsb3dUeXBlKCkgPT09ICdzY3JvbGxhYmxlJ1wiXG4gID48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -13,6 +13,7 @@ export class TagComponent {
13
13
  this.label = input("");
14
14
  this.showLeftIcon = input(false);
15
15
  this.iconName = input();
16
+ this.ariaLabel = input();
16
17
  this.computedIconName = computed(() => {
17
18
  if (this.tagType() === "status") {
18
19
  const statusIconMap = {
@@ -34,10 +35,10 @@ export class TagComponent {
34
35
  });
35
36
  }
36
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: TagComponent, isStandalone: true, selector: "rte-tag", inputs: { tagType: { classPropertyName: "tagType", publicName: "tagType", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, compactSpacing: { classPropertyName: "compactSpacing", publicName: "compactSpacing", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, showLeftIcon: { classPropertyName: "showLeftIcon", publicName: "showLeftIcon", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"rte-tag\"\n [attr.data-tag-type]=\"tagType()\"\n [attr.data-status]=\"status()\"\n [attr.data-color]=\"color()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n>\n <ng-container *ngIf=\"isValidIconName() && (tagType() === 'status' || showLeftIcon())\">\n <rte-icon [name]=\"computedIconName()\" [size]=\"16\"></rte-icon>\n </ng-container>\n <ng-container *ngIf=\"label\">\n <label class=\"tag-label\" [attr.data-compact-spacing]=\"compactSpacing()\">{{ label() }}</label>\n </ng-container>\n</div>\n", styles: [".rte-tag{height:32px;display:inline-flex;padding:4px 6px;justify-content:center;align-items:center;gap:0px;border-radius:4px;text-wrap:nowrap}.rte-tag[data-compact-spacing=true]{padding:0 6px;height:24px}.rte-tag .tag-label{padding:0 6px;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0px;color:var(--content-status)}.rte-tag .tag-label[data-compact-spacing=true]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px}.rte-tag[data-tag-type=status][data-status=success],.rte-tag[data-tag-type=status][data-status=information],.rte-tag[data-tag-type=status][data-status=alert]{color:var(--content-primary-inverse)}.rte-tag[data-tag-type=status][data-status=success]{background-color:var(--background-success-default)}.rte-tag[data-tag-type=status][data-status=information]{background-color:var(--background-info-default)}.rte-tag[data-tag-type=status][data-status=warning]{background-color:var(--background-warning-default)}.rte-tag[data-tag-type=status][data-status=alert]{background-color:var(--background-danger-default)}.rte-tag[data-tag-type=decorative][data-color=brand]{background-color:var(--background-brand-default)}.rte-tag[data-tag-type=decorative][data-color=neutral]{background-color:var(--decorative-neutral)}.rte-tag[data-tag-type=decorative][data-color=azur]{background-color:var(--decorative-bleu-iceberg)}.rte-tag[data-tag-type=decorative][data-color=jade]{background-color:var(--decorative-vert-foret)}.rte-tag[data-tag-type=decorative][data-color=lavande]{background-color:var(--decorative-violet)}.rte-tag[data-tag-type=decorative][data-color=ciel]{background-color:var(--decorative-bleu-rte)}.rte-tag[data-tag-type=decorative][data-color=nuage]{background-color:var(--decorative-bleu-digital)}.rte-tag[data-tag-type=decorative][data-color=givre]{background-color:var(--decorative-marine)}.rte-tag[data-tag-type=decorative][data-color=brume]{background-color:var(--decorative-bleu-petrole)}.rte-tag[data-tag-type=decorative][data-color=glacier]{background-color:var(--decorative-bleu-cyan)}.rte-tag[data-tag-type=decorative][data-color=turquoise]{background-color:var(--decorative-vert)}.rte-tag[data-tag-type=decorative][data-color=anis]{background-color:var(--decorative-vert-indications)}.rte-tag[data-tag-type=decorative][data-color=menthe]{background-color:var(--decorative-vert-digital)}.rte-tag[data-tag-type=decorative][data-color=citronnelle]{background-color:var(--decorative-jaune)}.rte-tag[data-tag-type=decorative][data-color=sable]{background-color:var(--decorative-jaune-ocre)}.rte-tag[data-tag-type=decorative][data-color=abricot]{background-color:var(--decorative-jaune-indications)}.rte-tag[data-tag-type=decorative][data-color=coral]{background-color:var(--decorative-saumon)}.rte-tag[data-tag-type=decorative][data-color=rose]{background-color:var(--decorative-rose-digital)}.rte-tag[data-tag-type=decorative][data-color=petale]{background-color:var(--decorative-fuschia)}.rte-tag[data-tag-type=decorative][data-color=quartz]{background-color:var(--decorative-rouge-indication)}.rte-tag[data-tag-type=decorative][data-color=cendre]{background-color:var(--decorative-taupe)}.rte-tag[data-tag-type=decorative][data-color=brand],.rte-tag[data-tag-type=decorative][data-color=brand] .tag-label{color:var(--content-primary-inverse)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: TagComponent, isStandalone: true, selector: "rte-tag", inputs: { tagType: { classPropertyName: "tagType", publicName: "tagType", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, compactSpacing: { classPropertyName: "compactSpacing", publicName: "compactSpacing", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, showLeftIcon: { classPropertyName: "showLeftIcon", publicName: "showLeftIcon", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"rte-tag\"\n [attr.data-tag-type]=\"tagType()\"\n [attr.data-status]=\"status()\"\n [attr.data-color]=\"color()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.aria-label]=\"ariaLabel()\"\n>\n <ng-container *ngIf=\"isValidIconName() && (tagType() === 'status' || showLeftIcon())\">\n <rte-icon [name]=\"computedIconName()\" [size]=\"16\"></rte-icon>\n </ng-container>\n <ng-container *ngIf=\"label\">\n <span class=\"tag-label\" [attr.data-compact-spacing]=\"compactSpacing()\">{{ label() }}</span>\n </ng-container>\n</div>\n", styles: [".rte-tag{height:32px;display:inline-flex;padding:4px 6px;justify-content:center;align-items:center;gap:0px;border-radius:4px;text-wrap:nowrap}.rte-tag[data-compact-spacing=true]{padding:0 6px;height:24px}.rte-tag .tag-label{padding:0 6px;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0px;color:var(--content-status)}.rte-tag .tag-label[data-compact-spacing=true]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px}.rte-tag[data-tag-type=status][data-status=success],.rte-tag[data-tag-type=status][data-status=information],.rte-tag[data-tag-type=status][data-status=alert]{color:var(--content-primary-inverse)}.rte-tag[data-tag-type=status][data-status=success]{background-color:var(--background-success-default)}.rte-tag[data-tag-type=status][data-status=information]{background-color:var(--background-info-default)}.rte-tag[data-tag-type=status][data-status=warning]{background-color:var(--background-warning-default)}.rte-tag[data-tag-type=status][data-status=alert]{background-color:var(--background-danger-default)}.rte-tag[data-tag-type=decorative][data-color=brand]{background-color:var(--background-brand-default)}.rte-tag[data-tag-type=decorative][data-color=neutral]{background-color:var(--decorative-neutral)}.rte-tag[data-tag-type=decorative][data-color=azur]{background-color:var(--decorative-bleu-iceberg)}.rte-tag[data-tag-type=decorative][data-color=jade]{background-color:var(--decorative-vert-foret)}.rte-tag[data-tag-type=decorative][data-color=lavande]{background-color:var(--decorative-violet)}.rte-tag[data-tag-type=decorative][data-color=ciel]{background-color:var(--decorative-bleu-rte)}.rte-tag[data-tag-type=decorative][data-color=nuage]{background-color:var(--decorative-bleu-digital)}.rte-tag[data-tag-type=decorative][data-color=givre]{background-color:var(--decorative-marine)}.rte-tag[data-tag-type=decorative][data-color=brume]{background-color:var(--decorative-bleu-petrole)}.rte-tag[data-tag-type=decorative][data-color=glacier]{background-color:var(--decorative-bleu-cyan)}.rte-tag[data-tag-type=decorative][data-color=turquoise]{background-color:var(--decorative-vert)}.rte-tag[data-tag-type=decorative][data-color=anis]{background-color:var(--decorative-vert-indications)}.rte-tag[data-tag-type=decorative][data-color=menthe]{background-color:var(--decorative-vert-digital)}.rte-tag[data-tag-type=decorative][data-color=citronnelle]{background-color:var(--decorative-jaune)}.rte-tag[data-tag-type=decorative][data-color=sable]{background-color:var(--decorative-jaune-ocre)}.rte-tag[data-tag-type=decorative][data-color=abricot]{background-color:var(--decorative-jaune-indications)}.rte-tag[data-tag-type=decorative][data-color=coral]{background-color:var(--decorative-saumon)}.rte-tag[data-tag-type=decorative][data-color=rose]{background-color:var(--decorative-rose-digital)}.rte-tag[data-tag-type=decorative][data-color=petale]{background-color:var(--decorative-fuschia)}.rte-tag[data-tag-type=decorative][data-color=quartz]{background-color:var(--decorative-rouge-indication)}.rte-tag[data-tag-type=decorative][data-color=cendre]{background-color:var(--decorative-taupe)}.rte-tag[data-tag-type=decorative][data-color=brand],.rte-tag[data-tag-type=decorative][data-color=brand] .tag-label{color:var(--content-primary-inverse)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
39
  }
39
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagComponent, decorators: [{
40
41
  type: Component,
41
- args: [{ selector: "rte-tag", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"rte-tag\"\n [attr.data-tag-type]=\"tagType()\"\n [attr.data-status]=\"status()\"\n [attr.data-color]=\"color()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n>\n <ng-container *ngIf=\"isValidIconName() && (tagType() === 'status' || showLeftIcon())\">\n <rte-icon [name]=\"computedIconName()\" [size]=\"16\"></rte-icon>\n </ng-container>\n <ng-container *ngIf=\"label\">\n <label class=\"tag-label\" [attr.data-compact-spacing]=\"compactSpacing()\">{{ label() }}</label>\n </ng-container>\n</div>\n", styles: [".rte-tag{height:32px;display:inline-flex;padding:4px 6px;justify-content:center;align-items:center;gap:0px;border-radius:4px;text-wrap:nowrap}.rte-tag[data-compact-spacing=true]{padding:0 6px;height:24px}.rte-tag .tag-label{padding:0 6px;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0px;color:var(--content-status)}.rte-tag .tag-label[data-compact-spacing=true]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px}.rte-tag[data-tag-type=status][data-status=success],.rte-tag[data-tag-type=status][data-status=information],.rte-tag[data-tag-type=status][data-status=alert]{color:var(--content-primary-inverse)}.rte-tag[data-tag-type=status][data-status=success]{background-color:var(--background-success-default)}.rte-tag[data-tag-type=status][data-status=information]{background-color:var(--background-info-default)}.rte-tag[data-tag-type=status][data-status=warning]{background-color:var(--background-warning-default)}.rte-tag[data-tag-type=status][data-status=alert]{background-color:var(--background-danger-default)}.rte-tag[data-tag-type=decorative][data-color=brand]{background-color:var(--background-brand-default)}.rte-tag[data-tag-type=decorative][data-color=neutral]{background-color:var(--decorative-neutral)}.rte-tag[data-tag-type=decorative][data-color=azur]{background-color:var(--decorative-bleu-iceberg)}.rte-tag[data-tag-type=decorative][data-color=jade]{background-color:var(--decorative-vert-foret)}.rte-tag[data-tag-type=decorative][data-color=lavande]{background-color:var(--decorative-violet)}.rte-tag[data-tag-type=decorative][data-color=ciel]{background-color:var(--decorative-bleu-rte)}.rte-tag[data-tag-type=decorative][data-color=nuage]{background-color:var(--decorative-bleu-digital)}.rte-tag[data-tag-type=decorative][data-color=givre]{background-color:var(--decorative-marine)}.rte-tag[data-tag-type=decorative][data-color=brume]{background-color:var(--decorative-bleu-petrole)}.rte-tag[data-tag-type=decorative][data-color=glacier]{background-color:var(--decorative-bleu-cyan)}.rte-tag[data-tag-type=decorative][data-color=turquoise]{background-color:var(--decorative-vert)}.rte-tag[data-tag-type=decorative][data-color=anis]{background-color:var(--decorative-vert-indications)}.rte-tag[data-tag-type=decorative][data-color=menthe]{background-color:var(--decorative-vert-digital)}.rte-tag[data-tag-type=decorative][data-color=citronnelle]{background-color:var(--decorative-jaune)}.rte-tag[data-tag-type=decorative][data-color=sable]{background-color:var(--decorative-jaune-ocre)}.rte-tag[data-tag-type=decorative][data-color=abricot]{background-color:var(--decorative-jaune-indications)}.rte-tag[data-tag-type=decorative][data-color=coral]{background-color:var(--decorative-saumon)}.rte-tag[data-tag-type=decorative][data-color=rose]{background-color:var(--decorative-rose-digital)}.rte-tag[data-tag-type=decorative][data-color=petale]{background-color:var(--decorative-fuschia)}.rte-tag[data-tag-type=decorative][data-color=quartz]{background-color:var(--decorative-rouge-indication)}.rte-tag[data-tag-type=decorative][data-color=cendre]{background-color:var(--decorative-taupe)}.rte-tag[data-tag-type=decorative][data-color=brand],.rte-tag[data-tag-type=decorative][data-color=brand] .tag-label{color:var(--content-primary-inverse)}\n"] }]
42
+ args: [{ selector: "rte-tag", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"rte-tag\"\n [attr.data-tag-type]=\"tagType()\"\n [attr.data-status]=\"status()\"\n [attr.data-color]=\"color()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.aria-label]=\"ariaLabel()\"\n>\n <ng-container *ngIf=\"isValidIconName() && (tagType() === 'status' || showLeftIcon())\">\n <rte-icon [name]=\"computedIconName()\" [size]=\"16\"></rte-icon>\n </ng-container>\n <ng-container *ngIf=\"label\">\n <span class=\"tag-label\" [attr.data-compact-spacing]=\"compactSpacing()\">{{ label() }}</span>\n </ng-container>\n</div>\n", styles: [".rte-tag{height:32px;display:inline-flex;padding:4px 6px;justify-content:center;align-items:center;gap:0px;border-radius:4px;text-wrap:nowrap}.rte-tag[data-compact-spacing=true]{padding:0 6px;height:24px}.rte-tag .tag-label{padding:0 6px;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0px;color:var(--content-status)}.rte-tag .tag-label[data-compact-spacing=true]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px}.rte-tag[data-tag-type=status][data-status=success],.rte-tag[data-tag-type=status][data-status=information],.rte-tag[data-tag-type=status][data-status=alert]{color:var(--content-primary-inverse)}.rte-tag[data-tag-type=status][data-status=success]{background-color:var(--background-success-default)}.rte-tag[data-tag-type=status][data-status=information]{background-color:var(--background-info-default)}.rte-tag[data-tag-type=status][data-status=warning]{background-color:var(--background-warning-default)}.rte-tag[data-tag-type=status][data-status=alert]{background-color:var(--background-danger-default)}.rte-tag[data-tag-type=decorative][data-color=brand]{background-color:var(--background-brand-default)}.rte-tag[data-tag-type=decorative][data-color=neutral]{background-color:var(--decorative-neutral)}.rte-tag[data-tag-type=decorative][data-color=azur]{background-color:var(--decorative-bleu-iceberg)}.rte-tag[data-tag-type=decorative][data-color=jade]{background-color:var(--decorative-vert-foret)}.rte-tag[data-tag-type=decorative][data-color=lavande]{background-color:var(--decorative-violet)}.rte-tag[data-tag-type=decorative][data-color=ciel]{background-color:var(--decorative-bleu-rte)}.rte-tag[data-tag-type=decorative][data-color=nuage]{background-color:var(--decorative-bleu-digital)}.rte-tag[data-tag-type=decorative][data-color=givre]{background-color:var(--decorative-marine)}.rte-tag[data-tag-type=decorative][data-color=brume]{background-color:var(--decorative-bleu-petrole)}.rte-tag[data-tag-type=decorative][data-color=glacier]{background-color:var(--decorative-bleu-cyan)}.rte-tag[data-tag-type=decorative][data-color=turquoise]{background-color:var(--decorative-vert)}.rte-tag[data-tag-type=decorative][data-color=anis]{background-color:var(--decorative-vert-indications)}.rte-tag[data-tag-type=decorative][data-color=menthe]{background-color:var(--decorative-vert-digital)}.rte-tag[data-tag-type=decorative][data-color=citronnelle]{background-color:var(--decorative-jaune)}.rte-tag[data-tag-type=decorative][data-color=sable]{background-color:var(--decorative-jaune-ocre)}.rte-tag[data-tag-type=decorative][data-color=abricot]{background-color:var(--decorative-jaune-indications)}.rte-tag[data-tag-type=decorative][data-color=coral]{background-color:var(--decorative-saumon)}.rte-tag[data-tag-type=decorative][data-color=rose]{background-color:var(--decorative-rose-digital)}.rte-tag[data-tag-type=decorative][data-color=petale]{background-color:var(--decorative-fuschia)}.rte-tag[data-tag-type=decorative][data-color=quartz]{background-color:var(--decorative-rouge-indication)}.rte-tag[data-tag-type=decorative][data-color=cendre]{background-color:var(--decorative-taupe)}.rte-tag[data-tag-type=decorative][data-color=brand],.rte-tag[data-tag-type=decorative][data-color=brand] .tag-label{color:var(--content-primary-inverse)}\n"] }]
42
43
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RhZy90YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGFnL3RhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQVd2RCxNQUFNLE9BQU8sWUFBWTtJQVJ6QjtRQVNXLFlBQU8sR0FBRyxLQUFLLENBQXNCLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLFdBQU0sR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLFVBQUssR0FBRyxLQUFLLENBQW9CLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLG1CQUFjLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUIsaUJBQVksR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDckMsYUFBUSxHQUFHLEtBQUssRUFBeUMsQ0FBQztRQUUxRCxxQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLGFBQWEsR0FBMEQ7b0JBQzNFLE9BQU8sRUFBRSxjQUFjO29CQUN2QixXQUFXLEVBQUUsTUFBTTtvQkFDbkIsT0FBTyxFQUFFLFNBQVM7b0JBQ2xCLEtBQUssRUFBRSxXQUFXO2lCQUNuQixDQUFDO2dCQUNGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxXQUFXLElBQUksYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQzlDLE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLE9BQU8sQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVNLG9CQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN6QyxPQUFPLENBQUMsQ0FBQyxRQUFRLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0tBQ0o7K0dBN0JZLFlBQVk7bUdBQVosWUFBWSx5OUJDaEJ6Qix3aEJBY0EsbzhHREpZLFlBQVksbUlBQUUsYUFBYTs7NEZBTTFCLFlBQVk7a0JBUnhCLFNBQVM7K0JBQ0UsU0FBUyxXQUNWLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxjQUMxQixJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgY29tcHV0ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVGFnUHJvcHMgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy90YWcvdGFnLmludGVyZmFjZVwiO1xuXG5pbXBvcnQgeyBpc1ZhbGlkSWNvbk5hbWUgfSBmcm9tIFwiLi4vaWNvbi9pY29uLW1hcFwiO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uL2ljb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWd1bGFySWNvbklkS2V5LCBUb2dnbGFibGVJY29uSWRLZXkgfSBmcm9tIFwiLi4vaWNvbi9pY29uLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS10YWdcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGFnLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsOiBcIi4vdGFnLmNvbXBvbmVudC5zY3NzXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWdDb21wb25lbnQge1xuICByZWFkb25seSB0YWdUeXBlID0gaW5wdXQ8VGFnUHJvcHNbXCJ0YWdUeXBlXCJdPihcInN0YXR1c1wiKTtcbiAgcmVhZG9ubHkgc3RhdHVzID0gaW5wdXQ8VGFnUHJvcHNbXCJzdGF0dXNcIl0+KFwic3VjY2Vzc1wiKTtcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxUYWdQcm9wc1tcImNvbG9yXCJdPihcImJyYW5kXCIpO1xuICByZWFkb25seSBjb21wYWN0U3BhY2luZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuICByZWFkb25seSBzaG93TGVmdEljb24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGljb25OYW1lID0gaW5wdXQ8UmVndWxhckljb25JZEtleSB8IFRvZ2dsYWJsZUljb25JZEtleT4oKTtcblxuICByZWFkb25seSBjb21wdXRlZEljb25OYW1lID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLnRhZ1R5cGUoKSA9PT0gXCJzdGF0dXNcIikge1xuICAgICAgY29uc3Qgc3RhdHVzSWNvbk1hcDogUmVjb3JkPHN0cmluZywgUmVndWxhckljb25JZEtleSB8IFRvZ2dsYWJsZUljb25JZEtleT4gPSB7XG4gICAgICAgIHN1Y2Nlc3M6IFwiY2hlY2stY2lyY2xlXCIsXG4gICAgICAgIGluZm9ybWF0aW9uOiBcImluZm9cIixcbiAgICAgICAgd2FybmluZzogXCJ3YXJuaW5nXCIsXG4gICAgICAgIGFsZXJ0OiBcImRhbmdlcm91c1wiLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHN0YXR1c1ZhbHVlID0gdGhpcy5zdGF0dXMoKTtcbiAgICAgIGlmIChzdGF0dXNWYWx1ZSAmJiBzdGF0dXNJY29uTWFwW3N0YXR1c1ZhbHVlXSkge1xuICAgICAgICByZXR1cm4gc3RhdHVzSWNvbk1hcFtzdGF0dXNWYWx1ZV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmljb25OYW1lKCkgPz8gXCJjaGVja1wiO1xuICB9KTtcblxuICByZWFkb25seSBpc1ZhbGlkSWNvbk5hbWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaWNvbk5hbWUgPSB0aGlzLmNvbXB1dGVkSWNvbk5hbWUoKTtcbiAgICByZXR1cm4gISFpY29uTmFtZSAmJiBpc1ZhbGlkSWNvbk5hbWUoaWNvbk5hbWUpO1xuICB9KTtcbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJydGUtdGFnXCJcbiAgW2F0dHIuZGF0YS10YWctdHlwZV09XCJ0YWdUeXBlKClcIlxuICBbYXR0ci5kYXRhLXN0YXR1c109XCJzdGF0dXMoKVwiXG4gIFthdHRyLmRhdGEtY29sb3JdPVwiY29sb3IoKVwiXG4gIFthdHRyLmRhdGEtY29tcGFjdC1zcGFjaW5nXT1cImNvbXBhY3RTcGFjaW5nKClcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNWYWxpZEljb25OYW1lKCkgJiYgKHRhZ1R5cGUoKSA9PT0gJ3N0YXR1cycgfHwgc2hvd0xlZnRJY29uKCkpXCI+XG4gICAgPHJ0ZS1pY29uIFtuYW1lXT1cImNvbXB1dGVkSWNvbk5hbWUoKVwiIFtzaXplXT1cIjE2XCI+PC9ydGUtaWNvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cInRhZy1sYWJlbFwiIFthdHRyLmRhdGEtY29tcGFjdC1zcGFjaW5nXT1cImNvbXBhY3RTcGFjaW5nKClcIj57eyBsYWJlbCgpIH19PC9sYWJlbD5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RhZy90YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGFnL3RhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQVd2RCxNQUFNLE9BQU8sWUFBWTtJQVJ6QjtRQVNXLFlBQU8sR0FBRyxLQUFLLENBQXNCLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLFdBQU0sR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLFVBQUssR0FBRyxLQUFLLENBQW9CLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLG1CQUFjLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUIsaUJBQVksR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDckMsYUFBUSxHQUFHLEtBQUssRUFBeUMsQ0FBQztRQUMxRCxjQUFTLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFNUIscUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxhQUFhLEdBQTBEO29CQUMzRSxPQUFPLEVBQUUsY0FBYztvQkFDdkIsV0FBVyxFQUFFLE1BQU07b0JBQ25CLE9BQU8sRUFBRSxTQUFTO29CQUNsQixLQUFLLEVBQUUsV0FBVztpQkFDbkIsQ0FBQztnQkFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2xDLElBQUksV0FBVyxJQUFJLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO29CQUM5QyxPQUFPLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxPQUFPLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFTSxvQkFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDekMsT0FBTyxDQUFDLENBQUMsUUFBUSxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztLQUNKOytHQTlCWSxZQUFZO21HQUFaLFlBQVksNmxDQ2hCekIsMmpCQWVBLG84R0RMWSxZQUFZLG1JQUFFLGFBQWE7OzRGQU0xQixZQUFZO2tCQVJ4QixTQUFTOytCQUNFLFNBQVMsV0FDVixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsY0FDMUIsSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIGNvbXB1dGVkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhZ1Byb3BzIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvdGFnL3RhZy5pbnRlcmZhY2VcIjtcblxuaW1wb3J0IHsgaXNWYWxpZEljb25OYW1lIH0gZnJvbSBcIi4uL2ljb24vaWNvbi1tYXBcIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVndWxhckljb25JZEtleSwgVG9nZ2xhYmxlSWNvbklkS2V5IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJydGUtdGFnXCIsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Db21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhZy5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL3RhZy5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGFnQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgdGFnVHlwZSA9IGlucHV0PFRhZ1Byb3BzW1widGFnVHlwZVwiXT4oXCJzdGF0dXNcIik7XG4gIHJlYWRvbmx5IHN0YXR1cyA9IGlucHV0PFRhZ1Byb3BzW1wic3RhdHVzXCJdPihcInN1Y2Nlc3NcIik7XG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8VGFnUHJvcHNbXCJjb2xvclwiXT4oXCJicmFuZFwiKTtcbiAgcmVhZG9ubHkgY29tcGFjdFNwYWNpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQ8c3RyaW5nPihcIlwiKTtcbiAgcmVhZG9ubHkgc2hvd0xlZnRJY29uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBpY29uTmFtZSA9IGlucHV0PFJlZ3VsYXJJY29uSWRLZXkgfCBUb2dnbGFibGVJY29uSWRLZXk+KCk7XG4gIHJlYWRvbmx5IGFyaWFMYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcblxuICByZWFkb25seSBjb21wdXRlZEljb25OYW1lID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLnRhZ1R5cGUoKSA9PT0gXCJzdGF0dXNcIikge1xuICAgICAgY29uc3Qgc3RhdHVzSWNvbk1hcDogUmVjb3JkPHN0cmluZywgUmVndWxhckljb25JZEtleSB8IFRvZ2dsYWJsZUljb25JZEtleT4gPSB7XG4gICAgICAgIHN1Y2Nlc3M6IFwiY2hlY2stY2lyY2xlXCIsXG4gICAgICAgIGluZm9ybWF0aW9uOiBcImluZm9cIixcbiAgICAgICAgd2FybmluZzogXCJ3YXJuaW5nXCIsXG4gICAgICAgIGFsZXJ0OiBcImRhbmdlcm91c1wiLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHN0YXR1c1ZhbHVlID0gdGhpcy5zdGF0dXMoKTtcbiAgICAgIGlmIChzdGF0dXNWYWx1ZSAmJiBzdGF0dXNJY29uTWFwW3N0YXR1c1ZhbHVlXSkge1xuICAgICAgICByZXR1cm4gc3RhdHVzSWNvbk1hcFtzdGF0dXNWYWx1ZV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmljb25OYW1lKCkgPz8gXCJjaGVja1wiO1xuICB9KTtcblxuICByZWFkb25seSBpc1ZhbGlkSWNvbk5hbWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaWNvbk5hbWUgPSB0aGlzLmNvbXB1dGVkSWNvbk5hbWUoKTtcbiAgICByZXR1cm4gISFpY29uTmFtZSAmJiBpc1ZhbGlkSWNvbk5hbWUoaWNvbk5hbWUpO1xuICB9KTtcbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJydGUtdGFnXCJcbiAgW2F0dHIuZGF0YS10YWctdHlwZV09XCJ0YWdUeXBlKClcIlxuICBbYXR0ci5kYXRhLXN0YXR1c109XCJzdGF0dXMoKVwiXG4gIFthdHRyLmRhdGEtY29sb3JdPVwiY29sb3IoKVwiXG4gIFthdHRyLmRhdGEtY29tcGFjdC1zcGFjaW5nXT1cImNvbXBhY3RTcGFjaW5nKClcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCgpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVmFsaWRJY29uTmFtZSgpICYmICh0YWdUeXBlKCkgPT09ICdzdGF0dXMnIHx8IHNob3dMZWZ0SWNvbigpKVwiPlxuICAgIDxydGUtaWNvbiBbbmFtZV09XCJjb21wdXRlZEljb25OYW1lKClcIiBbc2l6ZV09XCIxNlwiPjwvcnRlLWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cbiAgICA8c3BhbiBjbGFzcz1cInRhZy1sYWJlbFwiIFthdHRyLmRhdGEtY29tcGFjdC1zcGFjaW5nXT1cImNvbXBhY3RTcGFjaW5nKClcIj57eyBsYWJlbCgpIH19PC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -27,6 +27,7 @@ export * from "./lib/components/modal/modal-trigger/modal-trigger.directive";
27
27
  export * from "./lib/components/modal/modal.directive";
28
28
  export * from "./lib/components/modal/modal.module";
29
29
  export * from "./lib/components/searchbar/searchbar.component";
30
+ export * from "./lib/components/side-nav/base-side-nav/base-side-nav.component";
30
31
  export * from "./lib/components/side-nav/side-nav.component";
31
32
  export * from "./lib/components/stepper/stepper.component";
32
33
  export * from "./lib/components/toast/toast.component";
@@ -34,4 +35,11 @@ export * from "./lib/components/toast/toast.service";
34
35
  export * from "./lib/components/tag/tag.component";
35
36
  export * from "./lib/components/select/select.component";
36
37
  export * from "./lib/components/tab/tab.component";
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZ3JpZC9ncmlkLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZ3JpZC9jb2wvY29sLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvbGluay9saW5rLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3JhZGlvLWJ1dHRvbi1ncm91cC9yYWRpby1idXR0b24tZ3JvdXAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvc3BsaXQtYnV0dG9uL3NwbGl0LWJ1dHRvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvaWNvbi1idXR0b24tdG9nZ2xlL2ljb24tYnV0dG9uLXRvZ2dsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jaGlwL2NoaXAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NlZ21lbnRlZC1jb250cm9sL3NlZ21lbnRlZC1jb250cm9sLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtdHJpZ2dlci9tb2RhbC10cmlnZ2VyLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NlYXJjaGJhci9zZWFyY2hiYXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9zaWRlLW5hdi9zaWRlLW5hdi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3Quc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdGFnL3RhZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90YWIvdGFiLmNvbXBvbmVudFwiO1xuIl19
38
+ export * from "./lib/components/dropdown/dropdown.directive";
39
+ export * from "./lib/components/dropdown/dropdown-trigger/dropdown-trigger.directive";
40
+ export * from "./lib/components/dropdown/dropdown-menu/dropdown-menu.component";
41
+ export * from "./lib/components/dropdown/dropdown-item/dropdown-item.component";
42
+ export * from "./lib/components/dropdown/dropdown-menu/dropdown-menu-header.directive";
43
+ export * from "./lib/components/dropdown/dropdown-menu/dropdown-menu-footer.directive";
44
+ export * from "./lib/components/dropdown/dropdown.module";
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2dyaWQvZ3JpZC5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2dyaWQvY29sL2NvbC5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2xpbmsvbGluay5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9yYWRpby1idXR0b24tZ3JvdXAvcmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NwbGl0LWJ1dHRvbi9zcGxpdC1idXR0b24uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2ljb24tYnV0dG9uLXRvZ2dsZS9pY29uLWJ1dHRvbi10b2dnbGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9zZWdtZW50ZWQtY29udHJvbC9zZWdtZW50ZWQtY29udHJvbC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvYmFubmVyL2Jhbm5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLXRyaWdnZXIvbW9kYWwtdHJpZ2dlci5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvc2lkZS1uYXYvYmFzZS1zaWRlLW5hdi9iYXNlLXNpZGUtbmF2LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvc2lkZS1uYXYvc2lkZS1uYXYuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RhZy90YWcuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdGFiL3RhYi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tdHJpZ2dlci9kcm9wZG93bi10cmlnZ2VyLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24taXRlbS9kcm9wZG93bi1pdGVtLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LWhlYWRlci5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS1mb290ZXIuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5tb2R1bGVcIjtcbiJdfQ==