@sarasanalytics-com/design-system 0.0.192 → 0.0.193
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2022/interfaces/avatar-interface.mjs +1 -1
- package/esm2022/interfaces/button-interface.mjs +1 -1
- package/esm2022/interfaces/card-carousel-interface.mjs +1 -1
- package/esm2022/interfaces/chip-interface.mjs +1 -1
- package/esm2022/interfaces/form-layout.interface.mjs +1 -1
- package/esm2022/interfaces/grid-interface.mjs +1 -1
- package/esm2022/interfaces/guide-card-interface.mjs +1 -1
- package/esm2022/interfaces/header-interface.mjs +1 -1
- package/esm2022/interfaces/icon-interface.mjs +1 -1
- package/esm2022/interfaces/layout-section-interface.mjs +1 -1
- package/esm2022/interfaces/left-nav-interface.mjs +1 -1
- package/esm2022/interfaces/menu.interface.mjs +1 -1
- package/esm2022/interfaces/message-banner.mjs +1 -1
- package/esm2022/interfaces/option-interface.mjs +1 -1
- package/esm2022/interfaces/scrolling-card-interface.mjs +1 -1
- package/esm2022/interfaces/select-interface.mjs +1 -1
- package/esm2022/interfaces/status-dot.interface.mjs +1 -1
- package/esm2022/interfaces/tab-interface.mjs +1 -1
- package/esm2022/interfaces/toast-interface.mjs +1 -1
- package/esm2022/interfaces/typography-animation-interface.mjs +1 -1
- package/esm2022/lib/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/button/button.component.mjs +3 -3
- package/esm2022/lib/calendar-header/calendar-header.component.mjs +3 -3
- package/esm2022/lib/card/card-body/card-body.component.mjs +1 -1
- package/esm2022/lib/card/card-custom-header/card-custom-header.component.mjs +1 -1
- package/esm2022/lib/card/card-footer-actions/card-footer-actions.component.mjs +3 -3
- package/esm2022/lib/card/card-icon/card-icon.component.mjs +1 -1
- package/esm2022/lib/card/card-title-actions/card-title-actions.component.mjs +1 -1
- package/esm2022/lib/card/card.component.mjs +3 -3
- package/esm2022/lib/card/checkbox-card/checkbox-card.component.mjs +3 -3
- package/esm2022/lib/card/guide-card/guide-card.component.mjs +3 -3
- package/esm2022/lib/card/menu-card/menu-card.component.mjs +3 -3
- package/esm2022/lib/card/thumbnail-card/thumbnail-card.component.mjs +3 -3
- package/esm2022/lib/card-carousel/card-carousel.component.mjs +3 -3
- package/esm2022/lib/categories-nav/categories-nav.component.mjs +3 -3
- package/esm2022/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/chips/chips.component.mjs +3 -3
- package/esm2022/lib/component-library.component.mjs +9 -9
- package/esm2022/lib/component-library.service.mjs +1 -1
- package/esm2022/lib/dashboard-loader/dashboard-loader.component.mjs +1 -1
- package/esm2022/lib/data-grid/data-grid.component.mjs +3 -3
- package/esm2022/lib/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/lib/dialog/dialog.component.mjs +3 -3
- package/esm2022/lib/dropdown/category-dropdown/category-dropdown.component.mjs +3 -3
- package/esm2022/lib/dropdown/ng-select/ng-select.component.mjs +13 -76
- package/esm2022/lib/dropdown-menu/dropdown-menu.component.mjs +3 -3
- package/esm2022/lib/filter/filter.component.mjs +3 -3
- package/esm2022/lib/form-input/form-input.component.mjs +3 -3
- package/esm2022/lib/form-select/form-select.component.mjs +7 -3
- package/esm2022/lib/grid-cell/grid-cell.component.mjs +10 -10
- package/esm2022/lib/grid-header/grid-header.component.mjs +3 -3
- package/esm2022/lib/header/header.component.mjs +3 -3
- package/esm2022/lib/icon/icon.component.mjs +3 -3
- package/esm2022/lib/icon/icon.service.mjs +1 -1
- package/esm2022/lib/layout-section/layout-section.component.mjs +3 -3
- package/esm2022/lib/left-nav/left-nav.component.mjs +3 -3
- package/esm2022/lib/list/list.component.mjs +3 -3
- package/esm2022/lib/menu/menu-list/menu-item.component.mjs +3 -3
- package/esm2022/lib/menu/menu.component.mjs +3 -3
- package/esm2022/lib/menu/menu.directive.mjs +1 -1
- package/esm2022/lib/message-banner/message-banner.component.mjs +3 -3
- package/esm2022/lib/message-banner-v2/message-banner-v2.component.mjs +3 -3
- package/esm2022/lib/mini-card/mini-card.component.mjs +3 -3
- package/esm2022/lib/page-layout/page-layout.component.mjs +3 -3
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/lib/query-builder/query-builder-demo.component.mjs +45 -45
- package/esm2022/lib/query-builder/query-builder.component.mjs +3 -3
- package/esm2022/lib/query-builder/query-builder.service.mjs +1 -1
- package/esm2022/lib/query-builder-formly/query-builder-formly.component.mjs +3 -3
- package/esm2022/lib/query-builder-textarea/query-builder-textarea-demo.component.mjs +39 -39
- package/esm2022/lib/query-builder-textarea/query-builder-textarea.component.mjs +3 -3
- package/esm2022/lib/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/lib/scrolling-cards/scrolling-cards.component.mjs +3 -3
- package/esm2022/lib/skeleton/skeleton-base.component.mjs +1 -1
- package/esm2022/lib/skeleton/skeleton-container.component.mjs +9 -9
- package/esm2022/lib/skeleton/skeleton-loader.component.mjs +217 -217
- package/esm2022/lib/skeleton/skeleton-presets.mjs +1 -1
- package/esm2022/lib/skeleton/skeleton-shapes.component.mjs +1 -1
- package/esm2022/lib/spinner/spinner.component.mjs +1 -1
- package/esm2022/lib/status-dot/status-dot.component.mjs +17 -17
- package/esm2022/lib/stepper/stepper.component.mjs +3 -3
- package/esm2022/lib/tabs/tabs.component.mjs +3 -3
- package/esm2022/lib/toast/toast.component.mjs +3 -3
- package/esm2022/lib/tool-tip/tool-tip.component.mjs +3 -3
- package/esm2022/lib/typography-animation/typography-animation.component.mjs +3 -3
- package/esm2022/utils/validators.mjs +1 -1
- package/fesm2022/sarasanalytics-com-design-system.mjs +446 -504
- package/fesm2022/sarasanalytics-com-design-system.mjs.map +1 -1
- package/lib/dropdown/ng-select/ng-select.component.d.ts +2 -27
- package/package.json +1 -1
- package/styles/styles.css +434 -435
|
@@ -60,11 +60,11 @@ export class MenuCardComponent extends FieldType {
|
|
|
60
60
|
this.onStepChanged(sourceType);
|
|
61
61
|
}
|
|
62
62
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MenuCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: MenuCardComponent, isStandalone: true, selector: "sa-menu-card", inputs: { title: "title", steps: "steps", footerDetails: "footerDetails" }, outputs: { onButtonClickEvent: "onButtonClickEvent", onCardClickEvent: "onCardClickEvent", onFooterClickEvent: "onFooterClickEvent", onStepChangeEvent: "onStepChangeEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"menu-card-container\">\n <div class=\"left-card-container\">\n <sa-guide-card [title]=\"'Categories:'\" [steps]=\"steps\" [selectable]=\"true\"\n (onStepClicked)=\"onStepChanged($event)\" [selectedStep]=\"selectedStep\"></sa-guide-card>\n <div class=\"card-footer-container\">\n <span class=\"horizontal-line\"></span>\n <ng-container *ngFor=\"let footerDetail of footerDetails\">\n <div (click)=\"showSources(footerDetail)\" class=\"footer\"\n [ngClass]=\"footerDetail === selectedStep ? 'selected-step' : 'other-step'\">\n <span class=\"footer-text\">\n {{footerDetail?.title}}\n <ng-container *ngIf=\"footerDetail?.count\">\n <span>({{footerDetail?.count}})</span>\n </ng-container>\n </span>\n <ng-container *ngIf=\"footerDetail?.chipData\">\n <span>\n <sa-chip [type]=\"footerDetail?.chipData.type\" [state]=\"footerDetail?.chipData.state\"\n [filling]=\"footerDetail?.chipData.filling\" [text]=\"footerDetail?.chipData.text\"\n [iconPosition]='footerDetail?.chipData.iconPosition'\n [iconPath]=\"footerDetail?.chipData.iconPath\">\n </sa-chip>\n </span>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"right-card-container\">\n @if(selectedStep?.messageContent || selectedStep?.messageBanner?.content){\n <div class=\"message-container\">\n <sa-message-banner [bannerIcon]=\"selectedStep?.messageBanner?.bannerIcon\"\n [bannerIconSize]=\"selectedStep?.messageBanner?.bannerIconSize\" \n [buttonIcon]=\"selectedStep?.messageBanner?.buttonIcon\"\n [buttonType]=\"selectedStep?.messageBanner?.buttonType\"\n [buttonSize]=\"selectedStep?.messageBanner?.buttonSize\"\n [buttonIconPosition]=\"selectedStep?.messageBanner?.buttonIconPosition\"\n [actionText]=\"selectedStep?.messageBanner?.buttonText\"\n [buttonIconSize]=\"selectedStep?.messageBanner?.buttonIconSize\"\n [type]=\"selectedStep?.messageBanner?.type || 'info'\">\n <div class=\"message-content\" [innerHtml]=\"selectedStep?.messageContent || selectedStep?.messageBanner?.content\">\n </div>\n </sa-message-banner>\n </div>\n }\n <div class=\"heading-container\">\n <span class=\"heading-style\">{{selectedStep?.sourcesHeading || 'Available Sources'}}:</span>\n </div>\n <div *ngIf=\"selectedStep?.sourcesList\" class=\"cards-container\">\n <ng-container *ngFor=\"let source of selectedStep.sourcesList\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\n </ng-container>\n </ng-container>\n </div>\n <!-- for advanced options -->\n <div *ngIf=\"selectedStep?.advancedSourcesList && selectedStep.advancedSourcesList.length > 0\"\n class=\"menu-card-advanced-features-section\">\n\n <mat-expansion-panel hideToggle [expanded]=\"selectedStep?.advancedFeaturesExpanded || false\"\n (opened)=\"onAdvancedFeaturesOpened()\" (closed)=\"onAdvancedFeaturesClosed()\"\n class=\"menuAdvancedAccordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(!selectedStep?.['advancedFeaturesExpanded']){\n <span class=\"d-flex align-center source-icon\">\n <sa-icon [icon]=\"props?.['advancedFeatureCollapsedIcon'] || 'sourcesOutlined'\" class=\"d-flex\"\n customClass=\"colored-icon\" size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['advancedFeatureExpandedIcon'] || 'downChevronOutlined'\" class=\"d-flex\"\n size=\"20\"></sa-icon>\n </span>\n }\n <span class=\"advanced-title\">{{ selectedStep?.['advancedFeaturesExpanded'] ?\n selectedStep?.['advancedFeatureToggleTitle'] :\n selectedStep?.['advancedFeatureTitle'] }}</span>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"expansion-container\">\n @if(selectedStep?.advancedFeatureDisclaimer){\n <div class=\"disclaimer-container\">\n <sa-message-banner [type]=\"'disclaimer'\">\n <div class=\"disclaimer-content\">\n @if(selectedStep?.advancedFeatureDisclaimerTooltip){\n <span class=\"tooltip-container\">\n <sa-icon icon=\"infoCircleOutlined\"\n [matTooltip]=\"selectedStep?.advancedFeatureDisclaimerTooltip\" customClass=\"info-icon\"\n class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n <span class=\"disclaimer-style\">{{selectedStep?.advancedFeatureDisclaimer}}</span>\n </div>\n @if(selectedStep?.advancedFeatureDisclaimerButtons) {\n <div class=\"disclaimer-buttons-container\">\n <ng-container *ngFor=\"let button of selectedStep.advancedFeatureDisclaimerButtons\">\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\n [buttonIconSize]=\"button.buttonIconSize\"\n (click)=\"actionHandler(button, $event)\"></sa-button>\n </ng-container>\n </div>\n }\n </sa-message-banner>\n </div>\n }\n <div class=\"cards-container\">\n <ng-container *ngFor=\"let source of selectedStep?.advancedSourcesList\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\n </ng-container>\n </ng-container>\n </div>\n </div>\n </mat-expansion-panel>\n </div>\n @if(selectedStep?.connectedSourcesList && selectedStep.connectedSourcesList.length > 0) {\n <div class=\"heading-container\">\n <span class=\"heading-style\">{{selectedStep?.sourcesHeading || 'Connected Sources'}}:</span>\n </div>\n <div class=\"cards-container\">\n <ng-container *ngFor=\"let source of selectedStep.connectedSourcesList\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\n </ng-container>\n </ng-container>\n </div>\n }\n </div>\n</div>\n\n<ng-template #cardTemplate let-source=\"source\" let-selectedStep=\"selectedStep\" let-actionButton=\"actionButton\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"selectedStep.sourcesCardWidth || '471px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"selectedStep.customWrapperClass || customClassWrapper\"\n class=\"{{source.disabled ? 'disabled-card': 'enabled-card'}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n <div class=\"sa-menu-card-title-icon-container\">\n <div class=\"sa-menu-card-custom-title\">\n <ng-container *ngIf=\"source.logoUrl\">\n <sa-icon [img]=\"source.logoUrl\" [size]=\"'20'\" class=\"d-flex\" [customClass]=\"'auto-dimensions'\"></sa-icon>\n </ng-container>\n <span [matTooltip]=\"source?.tooltip\">\n {{source?.name}}\n <ng-container *ngIf=\"source?.count\">\n <span>({{source.count}})</span>\n </ng-container>\n </span>\n <ng-container *ngIf=\"source?.chipData\">\n <span>\n <sa-chip [type]=\"source?.chipData.type\" [state]=\"source?.chipData.state\"\n [filling]=\"source?.chipData.filling\" [text]=\"source?.chipData.text\"\n [iconPosition]='source?.chipData.iconPosition'\n [iconPath]=\"source?.chipData.iconPath\">\n </sa-chip>\n </span>\n </ng-container>\n </div>\n </div>\n <ng-container\n *ngIf=\"!source.disabled && (selectedStep?.actionButton && (selectedStep?.showActionActionButton ? actionButton : null)) as button\">\n <div class=\"sa-card-titleIcon no-margin\">\n <sa-card-title-actions>\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\n [buttonIconSize]=\"button.buttonIconSize\" (click)=\"onCardClick(source, button, $event)\">\n </sa-button>\n </sa-card-title-actions>\n </div>\n </ng-container>\n </div>\n </sa-card-title-header>\n </sa-card>\n</ng-template>", styles: [".menu-card-container{display:flex;gap:var(--small-16px)}.left-card-container{display:flex;flex-direction:column;width:289px;gap:var(--small-16px);background-color:var(--structural-white);border-radius:var(--small-8px, 8px);border:1px solid var(--grey-100, #EAECF0);padding-bottom:1.875rem}.right-card-container{display:flex;padding:var(--medium-20px, 20px);flex-direction:column;align-items:flex-start;gap:var(--Small-16px, 16px);flex:1 0 0;border-radius:var(--Small-8px, 8px);border:1px solid var(--Grey-100, #EAECF0);background:var(--Structural-White, #FFF);height:calc(100vh - 25rem);overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.right-card-container::-webkit-scrollbar,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar{width:8px;background:transparent}.right-card-container:hover::-webkit-scrollbar,::ng-deep .menu-card-container .guide-container:hover::-webkit-scrollbar{width:8px}.right-card-container::-webkit-scrollbar-thumb,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.right-card-container::-webkit-scrollbar-thumb:hover,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.right-card-container:hover,::ng-deep .menu-card-container .guide-container:hover{scrollbar-width:thin}.step-title{display:flex;justify-content:space-between}.mandatory{width:101px;height:20px;gap:var(--Small8px);opacity:0px;display:inline-block;position:relative;top:3px;padding:0rem .3rem}.step-title .title{padding:.35rem;border-radius:.25rem;display:inline-flex}.step-content .selected-step{background:var(--primary-500);color:#fff;border-radius:.3rem}.step-content .other-step:hover{background:var(--primary-50);border-radius:.25rem}.step-content{width:-webkit-fill-available}.card-footer-container{display:flex;flex-direction:column;align-items:flex-start;gap:var(--small-12px, 12px);padding-left:1.75rem;padding-right:1.75rem}.horizontal-line{border:.025rem solid var(--grey-100, #eaecf0);width:-webkit-fill-available}.card-footer-container .footer-text{color:var(--text-mediumemphasis, #6D6979);font-family:var(--font, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:400;line-height:var(--small-20px, 20px);letter-spacing:.25px}.cards-container{display:grid;grid-template-columns:repeat(auto-fill,31rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.menu-card-advanced-features-section{width:-webkit-fill-available}.menu-card-advanced-features-section .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.expansion-container{display:flex;flex-direction:column;gap:var(--small-16px)}.menuAdvancedAccordion .disclaimer-content{display:flex;gap:var(--small-8px);align-items:center}.menuAdvancedAccordion .disclaimer-style{color:var(--text-mediumemphasis);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.menuAdvancedAccordion.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}.advanced-title{color:var(--primary-500);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:1.375rem;letter-spacing:.25px}.align-center{align-items:center}::ng-deep .menuAdvancedAccordion .mat-expansion-panel-header-title{color:var(--primary-500)}.menuAdvancedAccordion .panel-container .material-icons{font-size:1.375rem}.menuAdvancedAccordion .chip-container{margin-left:auto}.disclaimer-buttons-container{display:flex;margin-left:auto;align-items:center;gap:var(--small-12px)}.tooltip-icon{display:flex;align-items:center}.d-flex{display:flex}.sa-menu-card-custom-title,.sa-card-custom-title{display:flex;align-items:center;gap:var(--small-8px, 8px)}.panel-container{display:flex;padding:6px var(--small-12px, 12px);justify-content:center;align-items:center;gap:.656rem;align-self:stretch}::ng-deep .menu-card-container .mat-expansion-panel-header{padding:0}::ng-deep .menu-card-container .mat-expansion-panel-body{padding:0 0 16px}::ng-deep .enabled-card .sa-card-titleIcon{opacity:0;transition:opacity .3s ease}::ng-deep .enabled-card:hover .sa-card-titleIcon{opacity:1}::ng-deep .disabled-card .sa-card-titleIcon{opacity:0}::ng-deep .disabled-card .menuCardSourceContainer .sa-button{cursor:auto}::ng-deep .enabled-card{transition:border .3s ease,background .3s ease}.menuCardSourceContainer{align-items:center}::ng-deep .enabled-card .menuCardSourceContainer:hover{border:1px solid var(--grey-100);background:var(--structural-neutral3, #FAFAFA)}::ng-deep .disabled-card .menuCardSourceContainer.sa-card-wrapper{border:1px solid var(--grey-50);background:var(--structural-neutral3, #FAFAFA)}::ng-deep .menuCardSourceContainer .no-margin .sa-card-title-actions{margin:0}.heading-style{color:var(--text-highemphasis, #1C1B20);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:500;line-height:var(--medium-20px);letter-spacing:.1px}::ng-deep .menu-card-container .mat-expansion-panel-header{display:flex;height:var(--large-56px, 56px);flex-direction:column;align-items:flex-start;gap:var(--small-16px);flex-shrink:0}::ng-deep .menu-card-container .mat-expansion-panel-header.mat-expanded{height:var(--large-56px, 56px)}.menu-card-container .card-footer-container .footer.other-step:hover{background:var(--primary-50);border-radius:.25rem}.card-footer-container .footer{width:-webkit-fill-available;padding:var(--small-8px, 8px);cursor:pointer;display:flex;align-items:center}.menu-card-container .footer.selected-step{display:flex;padding:var(--small-8px, 8px);align-items:center;gap:var(--small-8px, 8px);align-self:stretch;background:var(--primary-500);border-radius:.3rem;border-radius:var(--small-4px, 4px)}.menu-card-container .footer.selected-step .footer-text{color:#fff}.menu-card-container .message-container{width:-webkit-fill-available}.menu-card-container .message-container .message-content{display:flex;justify-content:start;flex:1;align-items:center;color:var(--text-highemphasis, #1C1B20);gap:var(--small-12px);font-size:var(--small-14px);font-style:normal;font-weight:400}::ng-deep .menu-card-advanced-features-section .mat-expanded .panel-container{gap:var(--small-8px)}\n"], dependencies: [{ kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText", "tooltip", "className"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: GuideCardComponent, selector: "sa-guide-card", inputs: ["title", "steps", "selectable", "selectedStep"], outputs: ["onStepClicked"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: CardComponent, selector: "sa-card", inputs: ["title", "showCardHeader", "showCardBody", "showHeaderBodyDivider", "showCustomCardBody", "customWrapperClass", "chip", "body", "avatar", "image", "imageWidth", "avatarSize", "href", "hrefTarget", "icon", "iconSize", "subtitle", "logoIcon", "width", "height", "column"] }, { kind: "component", type: CardCustomHeaderComponent, selector: "sa-card-title-header" }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "imgWidth", "imgHeight", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget", "iconPosition"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "component", type: CardTitleActionsComponent, selector: "sa-card-title-actions" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MessageBannerComponent, selector: "sa-message-banner", inputs: ["type", "actionText", "content", "bannerIcon", "bannerIconSize", "buttonIcon", "buttonType", "buttonIconPosition", "buttonSize", "buttonIconSize", "button", "onAction"], outputs: ["actionClick"] }] }); }
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: MenuCardComponent, isStandalone: true, selector: "sa-menu-card", inputs: { title: "title", steps: "steps", footerDetails: "footerDetails" }, outputs: { onButtonClickEvent: "onButtonClickEvent", onCardClickEvent: "onCardClickEvent", onFooterClickEvent: "onFooterClickEvent", onStepChangeEvent: "onStepChangeEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"menu-card-container\">\r\n <div class=\"left-card-container\">\r\n <sa-guide-card [title]=\"'Categories:'\" [steps]=\"steps\" [selectable]=\"true\"\r\n (onStepClicked)=\"onStepChanged($event)\" [selectedStep]=\"selectedStep\"></sa-guide-card>\r\n <div class=\"card-footer-container\">\r\n <span class=\"horizontal-line\"></span>\r\n <ng-container *ngFor=\"let footerDetail of footerDetails\">\r\n <div (click)=\"showSources(footerDetail)\" class=\"footer\"\r\n [ngClass]=\"footerDetail === selectedStep ? 'selected-step' : 'other-step'\">\r\n <span class=\"footer-text\">\r\n {{footerDetail?.title}}\r\n <ng-container *ngIf=\"footerDetail?.count\">\r\n <span>({{footerDetail?.count}})</span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"footerDetail?.chipData\">\r\n <span>\r\n <sa-chip [type]=\"footerDetail?.chipData.type\" [state]=\"footerDetail?.chipData.state\"\r\n [filling]=\"footerDetail?.chipData.filling\" [text]=\"footerDetail?.chipData.text\"\r\n [iconPosition]='footerDetail?.chipData.iconPosition'\r\n [iconPath]=\"footerDetail?.chipData.iconPath\">\r\n </sa-chip>\r\n </span>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"right-card-container\">\r\n @if(selectedStep?.messageContent || selectedStep?.messageBanner?.content){\r\n <div class=\"message-container\">\r\n <sa-message-banner [bannerIcon]=\"selectedStep?.messageBanner?.bannerIcon\"\r\n [bannerIconSize]=\"selectedStep?.messageBanner?.bannerIconSize\" \r\n [buttonIcon]=\"selectedStep?.messageBanner?.buttonIcon\"\r\n [buttonType]=\"selectedStep?.messageBanner?.buttonType\"\r\n [buttonSize]=\"selectedStep?.messageBanner?.buttonSize\"\r\n [buttonIconPosition]=\"selectedStep?.messageBanner?.buttonIconPosition\"\r\n [actionText]=\"selectedStep?.messageBanner?.buttonText\"\r\n [buttonIconSize]=\"selectedStep?.messageBanner?.buttonIconSize\"\r\n [type]=\"selectedStep?.messageBanner?.type || 'info'\">\r\n <div class=\"message-content\" [innerHtml]=\"selectedStep?.messageContent || selectedStep?.messageBanner?.content\">\r\n </div>\r\n </sa-message-banner>\r\n </div>\r\n }\r\n <div class=\"heading-container\">\r\n <span class=\"heading-style\">{{selectedStep?.sourcesHeading || 'Available Sources'}}:</span>\r\n </div>\r\n <div *ngIf=\"selectedStep?.sourcesList\" class=\"cards-container\">\r\n <ng-container *ngFor=\"let source of selectedStep.sourcesList\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <!-- for advanced options -->\r\n <div *ngIf=\"selectedStep?.advancedSourcesList && selectedStep.advancedSourcesList.length > 0\"\r\n class=\"menu-card-advanced-features-section\">\r\n\r\n <mat-expansion-panel hideToggle [expanded]=\"selectedStep?.advancedFeaturesExpanded || false\"\r\n (opened)=\"onAdvancedFeaturesOpened()\" (closed)=\"onAdvancedFeaturesClosed()\"\r\n class=\"menuAdvancedAccordion\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"panel-container\">\r\n @if(!selectedStep?.['advancedFeaturesExpanded']){\r\n <span class=\"d-flex align-center source-icon\">\r\n <sa-icon [icon]=\"props?.['advancedFeatureCollapsedIcon'] || 'sourcesOutlined'\" class=\"d-flex\"\r\n customClass=\"colored-icon\" size=\"16\"></sa-icon>\r\n </span>\r\n }@else{\r\n <span class=\"d-flex align-center\">\r\n <sa-icon [icon]=\"props?.['advancedFeatureExpandedIcon'] || 'downChevronOutlined'\" class=\"d-flex\"\r\n size=\"20\"></sa-icon>\r\n </span>\r\n }\r\n <span class=\"advanced-title\">{{ selectedStep?.['advancedFeaturesExpanded'] ?\r\n selectedStep?.['advancedFeatureToggleTitle'] :\r\n selectedStep?.['advancedFeatureTitle'] }}</span>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div class=\"expansion-container\">\r\n @if(selectedStep?.advancedFeatureDisclaimer){\r\n <div class=\"disclaimer-container\">\r\n <sa-message-banner [type]=\"'disclaimer'\">\r\n <div class=\"disclaimer-content\">\r\n @if(selectedStep?.advancedFeatureDisclaimerTooltip){\r\n <span class=\"tooltip-container\">\r\n <sa-icon icon=\"infoCircleOutlined\"\r\n [matTooltip]=\"selectedStep?.advancedFeatureDisclaimerTooltip\" customClass=\"info-icon\"\r\n class=\"tooltip-icon\"></sa-icon>\r\n </span>\r\n }\r\n <span class=\"disclaimer-style\">{{selectedStep?.advancedFeatureDisclaimer}}</span>\r\n </div>\r\n @if(selectedStep?.advancedFeatureDisclaimerButtons) {\r\n <div class=\"disclaimer-buttons-container\">\r\n <ng-container *ngFor=\"let button of selectedStep.advancedFeatureDisclaimerButtons\">\r\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\r\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\r\n [buttonIconSize]=\"button.buttonIconSize\"\r\n (click)=\"actionHandler(button, $event)\"></sa-button>\r\n </ng-container>\r\n </div>\r\n }\r\n </sa-message-banner>\r\n </div>\r\n }\r\n <div class=\"cards-container\">\r\n <ng-container *ngFor=\"let source of selectedStep?.advancedSourcesList\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n @if(selectedStep?.connectedSourcesList && selectedStep.connectedSourcesList.length > 0) {\r\n <div class=\"heading-container\">\r\n <span class=\"heading-style\">{{selectedStep?.sourcesHeading || 'Connected Sources'}}:</span>\r\n </div>\r\n <div class=\"cards-container\">\r\n <ng-container *ngFor=\"let source of selectedStep.connectedSourcesList\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #cardTemplate let-source=\"source\" let-selectedStep=\"selectedStep\" let-actionButton=\"actionButton\">\r\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\r\n [width]=\"selectedStep.sourcesCardWidth || '471px'\" [showHeaderBodyDivider]=\"false\"\r\n [customWrapperClass]=\"selectedStep.customWrapperClass || customClassWrapper\"\r\n class=\"{{source.disabled ? 'disabled-card': 'enabled-card'}}\">\r\n <sa-card-title-header>\r\n <div class=\"sa-card-accordion-title-container\">\r\n <div class=\"sa-menu-card-title-icon-container\">\r\n <div class=\"sa-menu-card-custom-title\">\r\n <ng-container *ngIf=\"source.logoUrl\">\r\n <sa-icon [img]=\"source.logoUrl\" [size]=\"'20'\" class=\"d-flex\" [customClass]=\"'auto-dimensions'\"></sa-icon>\r\n </ng-container>\r\n <span [matTooltip]=\"source?.tooltip\">\r\n {{source?.name}}\r\n <ng-container *ngIf=\"source?.count\">\r\n <span>({{source.count}})</span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"source?.chipData\">\r\n <span>\r\n <sa-chip [type]=\"source?.chipData.type\" [state]=\"source?.chipData.state\"\r\n [filling]=\"source?.chipData.filling\" [text]=\"source?.chipData.text\"\r\n [iconPosition]='source?.chipData.iconPosition'\r\n [iconPath]=\"source?.chipData.iconPath\">\r\n </sa-chip>\r\n </span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <ng-container\r\n *ngIf=\"!source.disabled && (selectedStep?.actionButton && (selectedStep?.showActionActionButton ? actionButton : null)) as button\">\r\n <div class=\"sa-card-titleIcon no-margin\">\r\n <sa-card-title-actions>\r\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\r\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\r\n [buttonIconSize]=\"button.buttonIconSize\" (click)=\"onCardClick(source, button, $event)\">\r\n </sa-button>\r\n </sa-card-title-actions>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </sa-card-title-header>\r\n </sa-card>\r\n</ng-template>", styles: [".menu-card-container{display:flex;gap:var(--small-16px)}.left-card-container{display:flex;flex-direction:column;width:289px;gap:var(--small-16px);background-color:var(--structural-white);border-radius:var(--small-8px, 8px);border:1px solid var(--grey-100, #EAECF0);padding-bottom:1.875rem}.right-card-container{display:flex;padding:var(--medium-20px, 20px);flex-direction:column;align-items:flex-start;gap:var(--Small-16px, 16px);flex:1 0 0;border-radius:var(--Small-8px, 8px);border:1px solid var(--Grey-100, #EAECF0);background:var(--Structural-White, #FFF);height:calc(100vh - 25rem);overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.right-card-container::-webkit-scrollbar,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar{width:8px;background:transparent}.right-card-container:hover::-webkit-scrollbar,::ng-deep .menu-card-container .guide-container:hover::-webkit-scrollbar{width:8px}.right-card-container::-webkit-scrollbar-thumb,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.right-card-container::-webkit-scrollbar-thumb:hover,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.right-card-container:hover,::ng-deep .menu-card-container .guide-container:hover{scrollbar-width:thin}.step-title{display:flex;justify-content:space-between}.mandatory{width:101px;height:20px;gap:var(--Small8px);opacity:0px;display:inline-block;position:relative;top:3px;padding:0rem .3rem}.step-title .title{padding:.35rem;border-radius:.25rem;display:inline-flex}.step-content .selected-step{background:var(--primary-500);color:#fff;border-radius:.3rem}.step-content .other-step:hover{background:var(--primary-50);border-radius:.25rem}.step-content{width:-webkit-fill-available}.card-footer-container{display:flex;flex-direction:column;align-items:flex-start;gap:var(--small-12px, 12px);padding-left:1.75rem;padding-right:1.75rem}.horizontal-line{border:.025rem solid var(--grey-100, #eaecf0);width:-webkit-fill-available}.card-footer-container .footer-text{color:var(--text-mediumemphasis, #6D6979);font-family:var(--font, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:400;line-height:var(--small-20px, 20px);letter-spacing:.25px}.cards-container{display:grid;grid-template-columns:repeat(auto-fill,31rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.menu-card-advanced-features-section{width:-webkit-fill-available}.menu-card-advanced-features-section .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.expansion-container{display:flex;flex-direction:column;gap:var(--small-16px)}.menuAdvancedAccordion .disclaimer-content{display:flex;gap:var(--small-8px);align-items:center}.menuAdvancedAccordion .disclaimer-style{color:var(--text-mediumemphasis);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.menuAdvancedAccordion.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}.advanced-title{color:var(--primary-500);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:1.375rem;letter-spacing:.25px}.align-center{align-items:center}::ng-deep .menuAdvancedAccordion .mat-expansion-panel-header-title{color:var(--primary-500)}.menuAdvancedAccordion .panel-container .material-icons{font-size:1.375rem}.menuAdvancedAccordion .chip-container{margin-left:auto}.disclaimer-buttons-container{display:flex;margin-left:auto;align-items:center;gap:var(--small-12px)}.tooltip-icon{display:flex;align-items:center}.d-flex{display:flex}.sa-menu-card-custom-title,.sa-card-custom-title{display:flex;align-items:center;gap:var(--small-8px, 8px)}.panel-container{display:flex;padding:6px var(--small-12px, 12px);justify-content:center;align-items:center;gap:.656rem;align-self:stretch}::ng-deep .menu-card-container .mat-expansion-panel-header{padding:0}::ng-deep .menu-card-container .mat-expansion-panel-body{padding:0 0 16px}::ng-deep .enabled-card .sa-card-titleIcon{opacity:0;transition:opacity .3s ease}::ng-deep .enabled-card:hover .sa-card-titleIcon{opacity:1}::ng-deep .disabled-card .sa-card-titleIcon{opacity:0}::ng-deep .disabled-card .menuCardSourceContainer .sa-button{cursor:auto}::ng-deep .enabled-card{transition:border .3s ease,background .3s ease}.menuCardSourceContainer{align-items:center}::ng-deep .enabled-card .menuCardSourceContainer:hover{border:1px solid var(--grey-100);background:var(--structural-neutral3, #FAFAFA)}::ng-deep .disabled-card .menuCardSourceContainer.sa-card-wrapper{border:1px solid var(--grey-50);background:var(--structural-neutral3, #FAFAFA)}::ng-deep .menuCardSourceContainer .no-margin .sa-card-title-actions{margin:0}.heading-style{color:var(--text-highemphasis, #1C1B20);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:500;line-height:var(--medium-20px);letter-spacing:.1px}::ng-deep .menu-card-container .mat-expansion-panel-header{display:flex;height:var(--large-56px, 56px);flex-direction:column;align-items:flex-start;gap:var(--small-16px);flex-shrink:0}::ng-deep .menu-card-container .mat-expansion-panel-header.mat-expanded{height:var(--large-56px, 56px)}.menu-card-container .card-footer-container .footer.other-step:hover{background:var(--primary-50);border-radius:.25rem}.card-footer-container .footer{width:-webkit-fill-available;padding:var(--small-8px, 8px);cursor:pointer;display:flex;align-items:center}.menu-card-container .footer.selected-step{display:flex;padding:var(--small-8px, 8px);align-items:center;gap:var(--small-8px, 8px);align-self:stretch;background:var(--primary-500);border-radius:.3rem;border-radius:var(--small-4px, 4px)}.menu-card-container .footer.selected-step .footer-text{color:#fff}.menu-card-container .message-container{width:-webkit-fill-available}.menu-card-container .message-container .message-content{display:flex;justify-content:start;flex:1;align-items:center;color:var(--text-highemphasis, #1C1B20);gap:var(--small-12px);font-size:var(--small-14px);font-style:normal;font-weight:400}::ng-deep .menu-card-advanced-features-section .mat-expanded .panel-container{gap:var(--small-8px)}\n"], dependencies: [{ kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText", "tooltip", "className"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: GuideCardComponent, selector: "sa-guide-card", inputs: ["title", "steps", "selectable", "selectedStep"], outputs: ["onStepClicked"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: CardComponent, selector: "sa-card", inputs: ["title", "showCardHeader", "showCardBody", "showHeaderBodyDivider", "showCustomCardBody", "customWrapperClass", "chip", "body", "avatar", "image", "imageWidth", "avatarSize", "href", "hrefTarget", "icon", "iconSize", "subtitle", "logoIcon", "width", "height", "column"] }, { kind: "component", type: CardCustomHeaderComponent, selector: "sa-card-title-header" }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "imgWidth", "imgHeight", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget", "iconPosition"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "component", type: CardTitleActionsComponent, selector: "sa-card-title-actions" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MessageBannerComponent, selector: "sa-message-banner", inputs: ["type", "actionText", "content", "bannerIcon", "bannerIconSize", "buttonIcon", "buttonType", "buttonIconPosition", "buttonSize", "buttonIconSize", "button", "onAction"], outputs: ["actionClick"] }] }); }
|
|
64
64
|
}
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MenuCardComponent, decorators: [{
|
|
66
66
|
type: Component,
|
|
67
|
-
args: [{ selector: 'sa-menu-card', standalone: true, imports: [ChipsComponent, CommonModule, GuideCardComponent, FormsModule, ReactiveFormsModule, FormlyModule, CardComponent, CardCustomHeaderComponent, IconComponent, MatExpansionModule, ButtonComponent, CardTitleActionsComponent, MatTooltipModule, MessageBannerComponent], template: "<div class=\"menu-card-container\">\n <div class=\"left-card-container\">\n <sa-guide-card [title]=\"'Categories:'\" [steps]=\"steps\" [selectable]=\"true\"\n (onStepClicked)=\"onStepChanged($event)\" [selectedStep]=\"selectedStep\"></sa-guide-card>\n <div class=\"card-footer-container\">\n <span class=\"horizontal-line\"></span>\n <ng-container *ngFor=\"let footerDetail of footerDetails\">\n <div (click)=\"showSources(footerDetail)\" class=\"footer\"\n [ngClass]=\"footerDetail === selectedStep ? 'selected-step' : 'other-step'\">\n <span class=\"footer-text\">\n {{footerDetail?.title}}\n <ng-container *ngIf=\"footerDetail?.count\">\n <span>({{footerDetail?.count}})</span>\n </ng-container>\n </span>\n <ng-container *ngIf=\"footerDetail?.chipData\">\n <span>\n <sa-chip [type]=\"footerDetail?.chipData.type\" [state]=\"footerDetail?.chipData.state\"\n [filling]=\"footerDetail?.chipData.filling\" [text]=\"footerDetail?.chipData.text\"\n [iconPosition]='footerDetail?.chipData.iconPosition'\n [iconPath]=\"footerDetail?.chipData.iconPath\">\n </sa-chip>\n </span>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"right-card-container\">\n @if(selectedStep?.messageContent || selectedStep?.messageBanner?.content){\n <div class=\"message-container\">\n <sa-message-banner [bannerIcon]=\"selectedStep?.messageBanner?.bannerIcon\"\n [bannerIconSize]=\"selectedStep?.messageBanner?.bannerIconSize\" \n [buttonIcon]=\"selectedStep?.messageBanner?.buttonIcon\"\n [buttonType]=\"selectedStep?.messageBanner?.buttonType\"\n [buttonSize]=\"selectedStep?.messageBanner?.buttonSize\"\n [buttonIconPosition]=\"selectedStep?.messageBanner?.buttonIconPosition\"\n [actionText]=\"selectedStep?.messageBanner?.buttonText\"\n [buttonIconSize]=\"selectedStep?.messageBanner?.buttonIconSize\"\n [type]=\"selectedStep?.messageBanner?.type || 'info'\">\n <div class=\"message-content\" [innerHtml]=\"selectedStep?.messageContent || selectedStep?.messageBanner?.content\">\n </div>\n </sa-message-banner>\n </div>\n }\n <div class=\"heading-container\">\n <span class=\"heading-style\">{{selectedStep?.sourcesHeading || 'Available Sources'}}:</span>\n </div>\n <div *ngIf=\"selectedStep?.sourcesList\" class=\"cards-container\">\n <ng-container *ngFor=\"let source of selectedStep.sourcesList\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\n </ng-container>\n </ng-container>\n </div>\n <!-- for advanced options -->\n <div *ngIf=\"selectedStep?.advancedSourcesList && selectedStep.advancedSourcesList.length > 0\"\n class=\"menu-card-advanced-features-section\">\n\n <mat-expansion-panel hideToggle [expanded]=\"selectedStep?.advancedFeaturesExpanded || false\"\n (opened)=\"onAdvancedFeaturesOpened()\" (closed)=\"onAdvancedFeaturesClosed()\"\n class=\"menuAdvancedAccordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(!selectedStep?.['advancedFeaturesExpanded']){\n <span class=\"d-flex align-center source-icon\">\n <sa-icon [icon]=\"props?.['advancedFeatureCollapsedIcon'] || 'sourcesOutlined'\" class=\"d-flex\"\n customClass=\"colored-icon\" size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['advancedFeatureExpandedIcon'] || 'downChevronOutlined'\" class=\"d-flex\"\n size=\"20\"></sa-icon>\n </span>\n }\n <span class=\"advanced-title\">{{ selectedStep?.['advancedFeaturesExpanded'] ?\n selectedStep?.['advancedFeatureToggleTitle'] :\n selectedStep?.['advancedFeatureTitle'] }}</span>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"expansion-container\">\n @if(selectedStep?.advancedFeatureDisclaimer){\n <div class=\"disclaimer-container\">\n <sa-message-banner [type]=\"'disclaimer'\">\n <div class=\"disclaimer-content\">\n @if(selectedStep?.advancedFeatureDisclaimerTooltip){\n <span class=\"tooltip-container\">\n <sa-icon icon=\"infoCircleOutlined\"\n [matTooltip]=\"selectedStep?.advancedFeatureDisclaimerTooltip\" customClass=\"info-icon\"\n class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n <span class=\"disclaimer-style\">{{selectedStep?.advancedFeatureDisclaimer}}</span>\n </div>\n @if(selectedStep?.advancedFeatureDisclaimerButtons) {\n <div class=\"disclaimer-buttons-container\">\n <ng-container *ngFor=\"let button of selectedStep.advancedFeatureDisclaimerButtons\">\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\n [buttonIconSize]=\"button.buttonIconSize\"\n (click)=\"actionHandler(button, $event)\"></sa-button>\n </ng-container>\n </div>\n }\n </sa-message-banner>\n </div>\n }\n <div class=\"cards-container\">\n <ng-container *ngFor=\"let source of selectedStep?.advancedSourcesList\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\n </ng-container>\n </ng-container>\n </div>\n </div>\n </mat-expansion-panel>\n </div>\n @if(selectedStep?.connectedSourcesList && selectedStep.connectedSourcesList.length > 0) {\n <div class=\"heading-container\">\n <span class=\"heading-style\">{{selectedStep?.sourcesHeading || 'Connected Sources'}}:</span>\n </div>\n <div class=\"cards-container\">\n <ng-container *ngFor=\"let source of selectedStep.connectedSourcesList\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\n </ng-container>\n </ng-container>\n </div>\n }\n </div>\n</div>\n\n<ng-template #cardTemplate let-source=\"source\" let-selectedStep=\"selectedStep\" let-actionButton=\"actionButton\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"selectedStep.sourcesCardWidth || '471px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"selectedStep.customWrapperClass || customClassWrapper\"\n class=\"{{source.disabled ? 'disabled-card': 'enabled-card'}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n <div class=\"sa-menu-card-title-icon-container\">\n <div class=\"sa-menu-card-custom-title\">\n <ng-container *ngIf=\"source.logoUrl\">\n <sa-icon [img]=\"source.logoUrl\" [size]=\"'20'\" class=\"d-flex\" [customClass]=\"'auto-dimensions'\"></sa-icon>\n </ng-container>\n <span [matTooltip]=\"source?.tooltip\">\n {{source?.name}}\n <ng-container *ngIf=\"source?.count\">\n <span>({{source.count}})</span>\n </ng-container>\n </span>\n <ng-container *ngIf=\"source?.chipData\">\n <span>\n <sa-chip [type]=\"source?.chipData.type\" [state]=\"source?.chipData.state\"\n [filling]=\"source?.chipData.filling\" [text]=\"source?.chipData.text\"\n [iconPosition]='source?.chipData.iconPosition'\n [iconPath]=\"source?.chipData.iconPath\">\n </sa-chip>\n </span>\n </ng-container>\n </div>\n </div>\n <ng-container\n *ngIf=\"!source.disabled && (selectedStep?.actionButton && (selectedStep?.showActionActionButton ? actionButton : null)) as button\">\n <div class=\"sa-card-titleIcon no-margin\">\n <sa-card-title-actions>\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\n [buttonIconSize]=\"button.buttonIconSize\" (click)=\"onCardClick(source, button, $event)\">\n </sa-button>\n </sa-card-title-actions>\n </div>\n </ng-container>\n </div>\n </sa-card-title-header>\n </sa-card>\n</ng-template>", styles: [".menu-card-container{display:flex;gap:var(--small-16px)}.left-card-container{display:flex;flex-direction:column;width:289px;gap:var(--small-16px);background-color:var(--structural-white);border-radius:var(--small-8px, 8px);border:1px solid var(--grey-100, #EAECF0);padding-bottom:1.875rem}.right-card-container{display:flex;padding:var(--medium-20px, 20px);flex-direction:column;align-items:flex-start;gap:var(--Small-16px, 16px);flex:1 0 0;border-radius:var(--Small-8px, 8px);border:1px solid var(--Grey-100, #EAECF0);background:var(--Structural-White, #FFF);height:calc(100vh - 25rem);overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.right-card-container::-webkit-scrollbar,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar{width:8px;background:transparent}.right-card-container:hover::-webkit-scrollbar,::ng-deep .menu-card-container .guide-container:hover::-webkit-scrollbar{width:8px}.right-card-container::-webkit-scrollbar-thumb,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.right-card-container::-webkit-scrollbar-thumb:hover,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.right-card-container:hover,::ng-deep .menu-card-container .guide-container:hover{scrollbar-width:thin}.step-title{display:flex;justify-content:space-between}.mandatory{width:101px;height:20px;gap:var(--Small8px);opacity:0px;display:inline-block;position:relative;top:3px;padding:0rem .3rem}.step-title .title{padding:.35rem;border-radius:.25rem;display:inline-flex}.step-content .selected-step{background:var(--primary-500);color:#fff;border-radius:.3rem}.step-content .other-step:hover{background:var(--primary-50);border-radius:.25rem}.step-content{width:-webkit-fill-available}.card-footer-container{display:flex;flex-direction:column;align-items:flex-start;gap:var(--small-12px, 12px);padding-left:1.75rem;padding-right:1.75rem}.horizontal-line{border:.025rem solid var(--grey-100, #eaecf0);width:-webkit-fill-available}.card-footer-container .footer-text{color:var(--text-mediumemphasis, #6D6979);font-family:var(--font, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:400;line-height:var(--small-20px, 20px);letter-spacing:.25px}.cards-container{display:grid;grid-template-columns:repeat(auto-fill,31rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.menu-card-advanced-features-section{width:-webkit-fill-available}.menu-card-advanced-features-section .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.expansion-container{display:flex;flex-direction:column;gap:var(--small-16px)}.menuAdvancedAccordion .disclaimer-content{display:flex;gap:var(--small-8px);align-items:center}.menuAdvancedAccordion .disclaimer-style{color:var(--text-mediumemphasis);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.menuAdvancedAccordion.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}.advanced-title{color:var(--primary-500);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:1.375rem;letter-spacing:.25px}.align-center{align-items:center}::ng-deep .menuAdvancedAccordion .mat-expansion-panel-header-title{color:var(--primary-500)}.menuAdvancedAccordion .panel-container .material-icons{font-size:1.375rem}.menuAdvancedAccordion .chip-container{margin-left:auto}.disclaimer-buttons-container{display:flex;margin-left:auto;align-items:center;gap:var(--small-12px)}.tooltip-icon{display:flex;align-items:center}.d-flex{display:flex}.sa-menu-card-custom-title,.sa-card-custom-title{display:flex;align-items:center;gap:var(--small-8px, 8px)}.panel-container{display:flex;padding:6px var(--small-12px, 12px);justify-content:center;align-items:center;gap:.656rem;align-self:stretch}::ng-deep .menu-card-container .mat-expansion-panel-header{padding:0}::ng-deep .menu-card-container .mat-expansion-panel-body{padding:0 0 16px}::ng-deep .enabled-card .sa-card-titleIcon{opacity:0;transition:opacity .3s ease}::ng-deep .enabled-card:hover .sa-card-titleIcon{opacity:1}::ng-deep .disabled-card .sa-card-titleIcon{opacity:0}::ng-deep .disabled-card .menuCardSourceContainer .sa-button{cursor:auto}::ng-deep .enabled-card{transition:border .3s ease,background .3s ease}.menuCardSourceContainer{align-items:center}::ng-deep .enabled-card .menuCardSourceContainer:hover{border:1px solid var(--grey-100);background:var(--structural-neutral3, #FAFAFA)}::ng-deep .disabled-card .menuCardSourceContainer.sa-card-wrapper{border:1px solid var(--grey-50);background:var(--structural-neutral3, #FAFAFA)}::ng-deep .menuCardSourceContainer .no-margin .sa-card-title-actions{margin:0}.heading-style{color:var(--text-highemphasis, #1C1B20);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:500;line-height:var(--medium-20px);letter-spacing:.1px}::ng-deep .menu-card-container .mat-expansion-panel-header{display:flex;height:var(--large-56px, 56px);flex-direction:column;align-items:flex-start;gap:var(--small-16px);flex-shrink:0}::ng-deep .menu-card-container .mat-expansion-panel-header.mat-expanded{height:var(--large-56px, 56px)}.menu-card-container .card-footer-container .footer.other-step:hover{background:var(--primary-50);border-radius:.25rem}.card-footer-container .footer{width:-webkit-fill-available;padding:var(--small-8px, 8px);cursor:pointer;display:flex;align-items:center}.menu-card-container .footer.selected-step{display:flex;padding:var(--small-8px, 8px);align-items:center;gap:var(--small-8px, 8px);align-self:stretch;background:var(--primary-500);border-radius:.3rem;border-radius:var(--small-4px, 4px)}.menu-card-container .footer.selected-step .footer-text{color:#fff}.menu-card-container .message-container{width:-webkit-fill-available}.menu-card-container .message-container .message-content{display:flex;justify-content:start;flex:1;align-items:center;color:var(--text-highemphasis, #1C1B20);gap:var(--small-12px);font-size:var(--small-14px);font-style:normal;font-weight:400}::ng-deep .menu-card-advanced-features-section .mat-expanded .panel-container{gap:var(--small-8px)}\n"] }]
|
|
67
|
+
args: [{ selector: 'sa-menu-card', standalone: true, imports: [ChipsComponent, CommonModule, GuideCardComponent, FormsModule, ReactiveFormsModule, FormlyModule, CardComponent, CardCustomHeaderComponent, IconComponent, MatExpansionModule, ButtonComponent, CardTitleActionsComponent, MatTooltipModule, MessageBannerComponent], template: "<div class=\"menu-card-container\">\r\n <div class=\"left-card-container\">\r\n <sa-guide-card [title]=\"'Categories:'\" [steps]=\"steps\" [selectable]=\"true\"\r\n (onStepClicked)=\"onStepChanged($event)\" [selectedStep]=\"selectedStep\"></sa-guide-card>\r\n <div class=\"card-footer-container\">\r\n <span class=\"horizontal-line\"></span>\r\n <ng-container *ngFor=\"let footerDetail of footerDetails\">\r\n <div (click)=\"showSources(footerDetail)\" class=\"footer\"\r\n [ngClass]=\"footerDetail === selectedStep ? 'selected-step' : 'other-step'\">\r\n <span class=\"footer-text\">\r\n {{footerDetail?.title}}\r\n <ng-container *ngIf=\"footerDetail?.count\">\r\n <span>({{footerDetail?.count}})</span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"footerDetail?.chipData\">\r\n <span>\r\n <sa-chip [type]=\"footerDetail?.chipData.type\" [state]=\"footerDetail?.chipData.state\"\r\n [filling]=\"footerDetail?.chipData.filling\" [text]=\"footerDetail?.chipData.text\"\r\n [iconPosition]='footerDetail?.chipData.iconPosition'\r\n [iconPath]=\"footerDetail?.chipData.iconPath\">\r\n </sa-chip>\r\n </span>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"right-card-container\">\r\n @if(selectedStep?.messageContent || selectedStep?.messageBanner?.content){\r\n <div class=\"message-container\">\r\n <sa-message-banner [bannerIcon]=\"selectedStep?.messageBanner?.bannerIcon\"\r\n [bannerIconSize]=\"selectedStep?.messageBanner?.bannerIconSize\" \r\n [buttonIcon]=\"selectedStep?.messageBanner?.buttonIcon\"\r\n [buttonType]=\"selectedStep?.messageBanner?.buttonType\"\r\n [buttonSize]=\"selectedStep?.messageBanner?.buttonSize\"\r\n [buttonIconPosition]=\"selectedStep?.messageBanner?.buttonIconPosition\"\r\n [actionText]=\"selectedStep?.messageBanner?.buttonText\"\r\n [buttonIconSize]=\"selectedStep?.messageBanner?.buttonIconSize\"\r\n [type]=\"selectedStep?.messageBanner?.type || 'info'\">\r\n <div class=\"message-content\" [innerHtml]=\"selectedStep?.messageContent || selectedStep?.messageBanner?.content\">\r\n </div>\r\n </sa-message-banner>\r\n </div>\r\n }\r\n <div class=\"heading-container\">\r\n <span class=\"heading-style\">{{selectedStep?.sourcesHeading || 'Available Sources'}}:</span>\r\n </div>\r\n <div *ngIf=\"selectedStep?.sourcesList\" class=\"cards-container\">\r\n <ng-container *ngFor=\"let source of selectedStep.sourcesList\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <!-- for advanced options -->\r\n <div *ngIf=\"selectedStep?.advancedSourcesList && selectedStep.advancedSourcesList.length > 0\"\r\n class=\"menu-card-advanced-features-section\">\r\n\r\n <mat-expansion-panel hideToggle [expanded]=\"selectedStep?.advancedFeaturesExpanded || false\"\r\n (opened)=\"onAdvancedFeaturesOpened()\" (closed)=\"onAdvancedFeaturesClosed()\"\r\n class=\"menuAdvancedAccordion\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"panel-container\">\r\n @if(!selectedStep?.['advancedFeaturesExpanded']){\r\n <span class=\"d-flex align-center source-icon\">\r\n <sa-icon [icon]=\"props?.['advancedFeatureCollapsedIcon'] || 'sourcesOutlined'\" class=\"d-flex\"\r\n customClass=\"colored-icon\" size=\"16\"></sa-icon>\r\n </span>\r\n }@else{\r\n <span class=\"d-flex align-center\">\r\n <sa-icon [icon]=\"props?.['advancedFeatureExpandedIcon'] || 'downChevronOutlined'\" class=\"d-flex\"\r\n size=\"20\"></sa-icon>\r\n </span>\r\n }\r\n <span class=\"advanced-title\">{{ selectedStep?.['advancedFeaturesExpanded'] ?\r\n selectedStep?.['advancedFeatureToggleTitle'] :\r\n selectedStep?.['advancedFeatureTitle'] }}</span>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div class=\"expansion-container\">\r\n @if(selectedStep?.advancedFeatureDisclaimer){\r\n <div class=\"disclaimer-container\">\r\n <sa-message-banner [type]=\"'disclaimer'\">\r\n <div class=\"disclaimer-content\">\r\n @if(selectedStep?.advancedFeatureDisclaimerTooltip){\r\n <span class=\"tooltip-container\">\r\n <sa-icon icon=\"infoCircleOutlined\"\r\n [matTooltip]=\"selectedStep?.advancedFeatureDisclaimerTooltip\" customClass=\"info-icon\"\r\n class=\"tooltip-icon\"></sa-icon>\r\n </span>\r\n }\r\n <span class=\"disclaimer-style\">{{selectedStep?.advancedFeatureDisclaimer}}</span>\r\n </div>\r\n @if(selectedStep?.advancedFeatureDisclaimerButtons) {\r\n <div class=\"disclaimer-buttons-container\">\r\n <ng-container *ngFor=\"let button of selectedStep.advancedFeatureDisclaimerButtons\">\r\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\r\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\r\n [buttonIconSize]=\"button.buttonIconSize\"\r\n (click)=\"actionHandler(button, $event)\"></sa-button>\r\n </ng-container>\r\n </div>\r\n }\r\n </sa-message-banner>\r\n </div>\r\n }\r\n <div class=\"cards-container\">\r\n <ng-container *ngFor=\"let source of selectedStep?.advancedSourcesList\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n @if(selectedStep?.connectedSourcesList && selectedStep.connectedSourcesList.length > 0) {\r\n <div class=\"heading-container\">\r\n <span class=\"heading-style\">{{selectedStep?.sourcesHeading || 'Connected Sources'}}:</span>\r\n </div>\r\n <div class=\"cards-container\">\r\n <ng-container *ngFor=\"let source of selectedStep.connectedSourcesList\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { source: source, selectedStep: selectedStep, actionButton: selectedStep?.actionButton }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #cardTemplate let-source=\"source\" let-selectedStep=\"selectedStep\" let-actionButton=\"actionButton\">\r\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\r\n [width]=\"selectedStep.sourcesCardWidth || '471px'\" [showHeaderBodyDivider]=\"false\"\r\n [customWrapperClass]=\"selectedStep.customWrapperClass || customClassWrapper\"\r\n class=\"{{source.disabled ? 'disabled-card': 'enabled-card'}}\">\r\n <sa-card-title-header>\r\n <div class=\"sa-card-accordion-title-container\">\r\n <div class=\"sa-menu-card-title-icon-container\">\r\n <div class=\"sa-menu-card-custom-title\">\r\n <ng-container *ngIf=\"source.logoUrl\">\r\n <sa-icon [img]=\"source.logoUrl\" [size]=\"'20'\" class=\"d-flex\" [customClass]=\"'auto-dimensions'\"></sa-icon>\r\n </ng-container>\r\n <span [matTooltip]=\"source?.tooltip\">\r\n {{source?.name}}\r\n <ng-container *ngIf=\"source?.count\">\r\n <span>({{source.count}})</span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"source?.chipData\">\r\n <span>\r\n <sa-chip [type]=\"source?.chipData.type\" [state]=\"source?.chipData.state\"\r\n [filling]=\"source?.chipData.filling\" [text]=\"source?.chipData.text\"\r\n [iconPosition]='source?.chipData.iconPosition'\r\n [iconPath]=\"source?.chipData.iconPath\">\r\n </sa-chip>\r\n </span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <ng-container\r\n *ngIf=\"!source.disabled && (selectedStep?.actionButton && (selectedStep?.showActionActionButton ? actionButton : null)) as button\">\r\n <div class=\"sa-card-titleIcon no-margin\">\r\n <sa-card-title-actions>\r\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\r\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\r\n [buttonIconSize]=\"button.buttonIconSize\" (click)=\"onCardClick(source, button, $event)\">\r\n </sa-button>\r\n </sa-card-title-actions>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </sa-card-title-header>\r\n </sa-card>\r\n</ng-template>", styles: [".menu-card-container{display:flex;gap:var(--small-16px)}.left-card-container{display:flex;flex-direction:column;width:289px;gap:var(--small-16px);background-color:var(--structural-white);border-radius:var(--small-8px, 8px);border:1px solid var(--grey-100, #EAECF0);padding-bottom:1.875rem}.right-card-container{display:flex;padding:var(--medium-20px, 20px);flex-direction:column;align-items:flex-start;gap:var(--Small-16px, 16px);flex:1 0 0;border-radius:var(--Small-8px, 8px);border:1px solid var(--Grey-100, #EAECF0);background:var(--Structural-White, #FFF);height:calc(100vh - 25rem);overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.right-card-container::-webkit-scrollbar,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar{width:8px;background:transparent}.right-card-container:hover::-webkit-scrollbar,::ng-deep .menu-card-container .guide-container:hover::-webkit-scrollbar{width:8px}.right-card-container::-webkit-scrollbar-thumb,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.right-card-container::-webkit-scrollbar-thumb:hover,::ng-deep .menu-card-container .guide-container::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.right-card-container:hover,::ng-deep .menu-card-container .guide-container:hover{scrollbar-width:thin}.step-title{display:flex;justify-content:space-between}.mandatory{width:101px;height:20px;gap:var(--Small8px);opacity:0px;display:inline-block;position:relative;top:3px;padding:0rem .3rem}.step-title .title{padding:.35rem;border-radius:.25rem;display:inline-flex}.step-content .selected-step{background:var(--primary-500);color:#fff;border-radius:.3rem}.step-content .other-step:hover{background:var(--primary-50);border-radius:.25rem}.step-content{width:-webkit-fill-available}.card-footer-container{display:flex;flex-direction:column;align-items:flex-start;gap:var(--small-12px, 12px);padding-left:1.75rem;padding-right:1.75rem}.horizontal-line{border:.025rem solid var(--grey-100, #eaecf0);width:-webkit-fill-available}.card-footer-container .footer-text{color:var(--text-mediumemphasis, #6D6979);font-family:var(--font, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:400;line-height:var(--small-20px, 20px);letter-spacing:.25px}.cards-container{display:grid;grid-template-columns:repeat(auto-fill,31rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.menu-card-advanced-features-section{width:-webkit-fill-available}.menu-card-advanced-features-section .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.expansion-container{display:flex;flex-direction:column;gap:var(--small-16px)}.menuAdvancedAccordion .disclaimer-content{display:flex;gap:var(--small-8px);align-items:center}.menuAdvancedAccordion .disclaimer-style{color:var(--text-mediumemphasis);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.menuAdvancedAccordion.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}.advanced-title{color:var(--primary-500);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:1.375rem;letter-spacing:.25px}.align-center{align-items:center}::ng-deep .menuAdvancedAccordion .mat-expansion-panel-header-title{color:var(--primary-500)}.menuAdvancedAccordion .panel-container .material-icons{font-size:1.375rem}.menuAdvancedAccordion .chip-container{margin-left:auto}.disclaimer-buttons-container{display:flex;margin-left:auto;align-items:center;gap:var(--small-12px)}.tooltip-icon{display:flex;align-items:center}.d-flex{display:flex}.sa-menu-card-custom-title,.sa-card-custom-title{display:flex;align-items:center;gap:var(--small-8px, 8px)}.panel-container{display:flex;padding:6px var(--small-12px, 12px);justify-content:center;align-items:center;gap:.656rem;align-self:stretch}::ng-deep .menu-card-container .mat-expansion-panel-header{padding:0}::ng-deep .menu-card-container .mat-expansion-panel-body{padding:0 0 16px}::ng-deep .enabled-card .sa-card-titleIcon{opacity:0;transition:opacity .3s ease}::ng-deep .enabled-card:hover .sa-card-titleIcon{opacity:1}::ng-deep .disabled-card .sa-card-titleIcon{opacity:0}::ng-deep .disabled-card .menuCardSourceContainer .sa-button{cursor:auto}::ng-deep .enabled-card{transition:border .3s ease,background .3s ease}.menuCardSourceContainer{align-items:center}::ng-deep .enabled-card .menuCardSourceContainer:hover{border:1px solid var(--grey-100);background:var(--structural-neutral3, #FAFAFA)}::ng-deep .disabled-card .menuCardSourceContainer.sa-card-wrapper{border:1px solid var(--grey-50);background:var(--structural-neutral3, #FAFAFA)}::ng-deep .menuCardSourceContainer .no-margin .sa-card-title-actions{margin:0}.heading-style{color:var(--text-highemphasis, #1C1B20);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:500;line-height:var(--medium-20px);letter-spacing:.1px}::ng-deep .menu-card-container .mat-expansion-panel-header{display:flex;height:var(--large-56px, 56px);flex-direction:column;align-items:flex-start;gap:var(--small-16px);flex-shrink:0}::ng-deep .menu-card-container .mat-expansion-panel-header.mat-expanded{height:var(--large-56px, 56px)}.menu-card-container .card-footer-container .footer.other-step:hover{background:var(--primary-50);border-radius:.25rem}.card-footer-container .footer{width:-webkit-fill-available;padding:var(--small-8px, 8px);cursor:pointer;display:flex;align-items:center}.menu-card-container .footer.selected-step{display:flex;padding:var(--small-8px, 8px);align-items:center;gap:var(--small-8px, 8px);align-self:stretch;background:var(--primary-500);border-radius:.3rem;border-radius:var(--small-4px, 4px)}.menu-card-container .footer.selected-step .footer-text{color:#fff}.menu-card-container .message-container{width:-webkit-fill-available}.menu-card-container .message-container .message-content{display:flex;justify-content:start;flex:1;align-items:center;color:var(--text-highemphasis, #1C1B20);gap:var(--small-12px);font-size:var(--small-14px);font-style:normal;font-weight:400}::ng-deep .menu-card-advanced-features-section .mat-expanded .panel-container{gap:var(--small-8px)}\n"] }]
|
|
68
68
|
}], propDecorators: { title: [{
|
|
69
69
|
type: Input
|
|
70
70
|
}], steps: [{
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
80
80
|
}], onStepChangeEvent: [{
|
|
81
81
|
type: Output
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvY2FyZC9tZW51LWNhcmQvbWVudS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvY2FyZC9tZW51LWNhcmQvbWVudS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FB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QUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQzs4QkFLclEsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgR3VpZGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3VpZGUtY2FyZC9ndWlkZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRDdXN0b21IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkLWN1c3RvbS1oZWFkZXIvY2FyZC1jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZFRpdGxlQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL2NhcmQtdGl0bGUtYWN0aW9ucy9jYXJkLXRpdGxlLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IGZpbmQgYXMgX2ZpbmQgfSBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyBNZXNzYWdlQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbWVzc2FnZS1iYW5uZXIvbWVzc2FnZS1iYW5uZXIuY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLW1lbnUtY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGlwc0NvbXBvbmVudCwgQ29tbW9uTW9kdWxlLCBHdWlkZUNhcmRDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtbHlNb2R1bGUsIENhcmRDb21wb25lbnQsIENhcmRDdXN0b21IZWFkZXJDb21wb25lbnQsIEljb25Db21wb25lbnQsIE1hdEV4cGFuc2lvbk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBDYXJkVGl0bGVBY3Rpb25zQ29tcG9uZW50LCBNYXRUb29sdGlwTW9kdWxlLCBNZXNzYWdlQmFubmVyQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW51LWNhcmQuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgTWVudUNhcmRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJ0NhdGVnb3JpZXM6JztcbiAgQElucHV0KCkgc3RlcHM6IGFueVtdO1xuICBASW5wdXQoKSBmb290ZXJEZXRhaWxzOiBhbnk7XG4gIEBPdXRwdXQoKSBvbkJ1dHRvbkNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uQ2FyZENsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uRm9vdGVyQ2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25TdGVwQ2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgc2VsZWN0ZWRTdGVwOiBhbnk7XG4gIHNlbGVjdGVkR3VpZGVTdGVwOiBhbnkgfCBudWxsID0gbnVsbDtcbiAgY3VzdG9tQ2xhc3NXcmFwcGVyID0gJ21lbnVDYXJkU291cmNlQ29udGFpbmVyJztcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3N0ZXBzJ10pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gX2ZpbmQodGhpcy5zdGVwcywgeyBpc1NlbGVjdGVkOiB0cnVlIH0pXG4gICAgfVxuICB9XG5cbiAgb25TdGVwQ2hhbmdlZChldmVudCkge1xuICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gZXZlbnQ7XG4gICAgdGhpcy5vblN0ZXBDaGFuZ2VFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQ2FyZENsaWNrKHNvdXJjZTogYW55LCBidXR0b246IGFueSwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLm9uQ2FyZENsaWNrRXZlbnQuZW1pdCh7IGNhdGVnb3J5OiB0aGlzLnNlbGVjdGVkU3RlcCwgc291cmNlOiBzb3VyY2UsIGJ1dHRvbjogYnV0dG9uIH0pXG4gIH1cblxuICBvbkFkdmFuY2VkRmVhdHVyZXNPcGVuZWQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFN0ZXAuYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQWR2YW5jZWRGZWF0dXJlc0Nsb3NlZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkU3RlcC5hZHZhbmNlZEZlYXR1cmVzRXhwYW5kZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGFjdGlvbkhhbmRsZXIoYnV0dG9uOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5vbkJ1dHRvbkNsaWNrRXZlbnQubmV4dCh7IGNhdGVnb3J5OiB0aGlzLnNlbGVjdGVkU3RlcCwgYnV0dG9uOiBidXR0b24gfSk7XG4gIH1cblxuICBzaG93U291cmNlcyhzb3VyY2VUeXBlOiBhbnkpIHtcbiAgICB0aGlzLm9uRm9vdGVyQ2xpY2tFdmVudC5lbWl0KHNvdXJjZVR5cGUpO1xuICAgIC8vY29uc29sZS5sb2coc291cmNlVHlwZSlcbiAgICB0aGlzLm9uU3RlcENoYW5nZWQoc291cmNlVHlwZSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1lbnUtY2FyZC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvbnRhaW5lclwiPlxuICAgICAgICA8c2EtZ3VpZGUtY2FyZCBbdGl0bGVdPVwiJ0NhdGVnb3JpZXM6J1wiIFtzdGVwc109XCJzdGVwc1wiIFtzZWxlY3RhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgKG9uU3RlcENsaWNrZWQpPVwib25TdGVwQ2hhbmdlZCgkZXZlbnQpXCIgW3NlbGVjdGVkU3RlcF09XCJzZWxlY3RlZFN0ZXBcIj48L3NhLWd1aWRlLWNhcmQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3Rlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaG9yaXpvbnRhbC1saW5lXCI+PC9zcGFuPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZm9vdGVyRGV0YWlsIG9mIGZvb3RlckRldGFpbHNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJzaG93U291cmNlcyhmb290ZXJEZXRhaWwpXCIgY2xhc3M9XCJmb290ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJmb290ZXJEZXRhaWwgPT09IHNlbGVjdGVkU3RlcCA/ICdzZWxlY3RlZC1zdGVwJyA6ICdvdGhlci1zdGVwJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvb3Rlci10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3RlckRldGFpbD8udGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvb3RlckRldGFpbD8uY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4oe3tmb290ZXJEZXRhaWw/LmNvdW50fX0pPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvb3RlckRldGFpbD8uY2hpcERhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1jaGlwIFt0eXBlXT1cImZvb3RlckRldGFpbD8uY2hpcERhdGEudHlwZVwiIFtzdGF0ZV09XCJmb290ZXJEZXRhaWw/LmNoaXBEYXRhLnN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGxpbmddPVwiZm9vdGVyRGV0YWlsPy5jaGlwRGF0YS5maWxsaW5nXCIgW3RleHRdPVwiZm9vdGVyRGV0YWlsPy5jaGlwRGF0YS50ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25Qb3NpdGlvbl09J2Zvb3RlckRldGFpbD8uY2hpcERhdGEuaWNvblBvc2l0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblBhdGhdPVwiZm9vdGVyRGV0YWlsPy5jaGlwRGF0YS5pY29uUGF0aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2EtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwicmlnaHQtY2FyZC1jb250YWluZXJcIj5cbiAgICAgICAgQGlmKHNlbGVjdGVkU3RlcD8ubWVzc2FnZUNvbnRlbnQgfHwgc2VsZWN0ZWRTdGVwPy5tZXNzYWdlQmFubmVyPy5jb250ZW50KXtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c2EtbWVzc2FnZS1iYW5uZXIgW2Jhbm5lckljb25dPVwic2VsZWN0ZWRTdGVwPy5tZXNzYWdlQmFubmVyPy5iYW5uZXJJY29uXCJcbiAgICAgICAgICAgICBbYmFubmVySWNvblNpemVdPVwic2VsZWN0ZWRTdGVwPy5tZXNzYWdlQmFubmVyPy5iYW5uZXJJY29uU2l6ZVwiIFxuICAgICAgICAgICAgIFtidXR0b25JY29uXT1cInNlbGVjdGVkU3RlcD8ubWVzc2FnZUJhbm5lcj8uYnV0dG9uSWNvblwiXG4gICAgICAgICAgICAgW2J1dHRvblR5cGVdPVwic2VsZWN0ZWRTdGVwPy5tZXNzYWdlQmFubmVyPy5idXR0b25UeXBlXCJcbiAgICAgICAgICAgICBbYnV0dG9uU2l6ZV09XCJzZWxlY3RlZFN0ZXA/Lm1lc3NhZ2VCYW5uZXI/LmJ1dHRvblNpemVcIlxuICAgICAgICAgICAgIFtidXR0b25JY29uUG9zaXRpb25dPVwic2VsZWN0ZWRTdGVwPy5tZXNzYWdlQmFubmVyPy5idXR0b25JY29uUG9zaXRpb25cIlxuICAgICAgICAgICAgIFthY3Rpb25UZXh0XT1cInNlbGVjdGVkU3RlcD8ubWVzc2FnZUJhbm5lcj8uYnV0dG9uVGV4dFwiXG4gICAgICAgICAgICAgW2J1dHRvbkljb25TaXplXT1cInNlbGVjdGVkU3RlcD8ubWVzc2FnZUJhbm5lcj8uYnV0dG9uSWNvblNpemVcIlxuICAgICAgICAgICAgIFt0eXBlXT1cInNlbGVjdGVkU3RlcD8ubWVzc2FnZUJhbm5lcj8udHlwZSB8fCAnaW5mbydcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1jb250ZW50XCIgW2lubmVySHRtbF09XCJzZWxlY3RlZFN0ZXA/Lm1lc3NhZ2VDb250ZW50IHx8IHNlbGVjdGVkU3RlcD8ubWVzc2FnZUJhbm5lcj8uY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9zYS1tZXNzYWdlLWJhbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmctc3R5bGVcIj57e3NlbGVjdGVkU3RlcD8uc291cmNlc0hlYWRpbmcgfHwgJ0F2YWlsYWJsZSBTb3VyY2VzJ319Ojwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFN0ZXA/LnNvdXJjZXNMaXN0XCIgY2xhc3M9XCJjYXJkcy1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNvdXJjZSBvZiBzZWxlY3RlZFN0ZXAuc291cmNlc0xpc3RcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FyZFRlbXBsYXRlOyBjb250ZXh0OiB7IHNvdXJjZTogc291cmNlLCBzZWxlY3RlZFN0ZXA6IHNlbGVjdGVkU3RlcCwgYWN0aW9uQnV0dG9uOiBzZWxlY3RlZFN0ZXA/LmFjdGlvbkJ1dHRvbiB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gZm9yIGFkdmFuY2VkIG9wdGlvbnMgLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFN0ZXA/LmFkdmFuY2VkU291cmNlc0xpc3QgJiYgc2VsZWN0ZWRTdGVwLmFkdmFuY2VkU291cmNlc0xpc3QubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICBjbGFzcz1cIm1lbnUtY2FyZC1hZHZhbmNlZC1mZWF0dXJlcy1zZWN0aW9uXCI+XG5cbiAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGhpZGVUb2dnbGUgW2V4cGFuZGVkXT1cInNlbGVjdGVkU3RlcD8uYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAob3BlbmVkKT1cIm9uQWR2YW5jZWRGZWF0dXJlc09wZW5lZCgpXCIgKGNsb3NlZCk9XCJvbkFkdmFuY2VkRmVhdHVyZXNDbG9zZWQoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtZW51QWR2YW5jZWRBY2NvcmRpb25cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKCFzZWxlY3RlZFN0ZXA/LlsnYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkJ10pe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlciBzb3VyY2UtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBbaWNvbl09XCJwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVDb2xsYXBzZWRJY29uJ10gfHwgJ3NvdXJjZXNPdXRsaW5lZCdcIiBjbGFzcz1cImQtZmxleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21DbGFzcz1cImNvbG9yZWQtaWNvblwiIHNpemU9XCIxNlwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfUBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBbaWNvbl09XCJwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVFeHBhbmRlZEljb24nXSB8fCAnZG93bkNoZXZyb25PdXRsaW5lZCdcIiBjbGFzcz1cImQtZmxleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIj48L3NhLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmFuY2VkLXRpdGxlXCI+e3sgc2VsZWN0ZWRTdGVwPy5bJ2FkdmFuY2VkRmVhdHVyZXNFeHBhbmRlZCddID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRTdGVwPy5bJ2FkdmFuY2VkRmVhdHVyZVRvZ2dsZVRpdGxlJ10gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFN0ZXA/LlsnYWR2YW5jZWRGZWF0dXJlVGl0bGUnXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleHBhbnNpb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZihzZWxlY3RlZFN0ZXA/LmFkdmFuY2VkRmVhdHVyZURpc2NsYWltZXIpe1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzY2xhaW1lci1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1tZXNzYWdlLWJhbm5lciBbdHlwZV09XCInZGlzY2xhaW1lcidcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzY2xhaW1lci1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZihzZWxlY3RlZFN0ZXA/LmFkdmFuY2VkRmVhdHVyZURpc2NsYWltZXJUb29sdGlwKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gaWNvbj1cImluZm9DaXJjbGVPdXRsaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwic2VsZWN0ZWRTdGVwPy5hZHZhbmNlZEZlYXR1cmVEaXNjbGFpbWVyVG9vbHRpcFwiIGN1c3RvbUNsYXNzPVwiaW5mby1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRvb2x0aXAtaWNvblwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGlzY2xhaW1lci1zdHlsZVwiPnt7c2VsZWN0ZWRTdGVwPy5hZHZhbmNlZEZlYXR1cmVEaXNjbGFpbWVyfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHNlbGVjdGVkU3RlcD8uYWR2YW5jZWRGZWF0dXJlRGlzY2xhaW1lckJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzY2xhaW1lci1idXR0b25zLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBidXR0b24gb2Ygc2VsZWN0ZWRTdGVwLmFkdmFuY2VkRmVhdHVyZURpc2NsYWltZXJCdXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtYnV0dG9uIFt0ZXh0XT1cImJ1dHRvbi50ZXh0XCIgW3R5cGVdPVwiYnV0dG9uLnR5cGVcIiBbc2l6ZV09XCJidXR0b24uc2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cImJ1dHRvbi5zdGF0ZVwiIFtpY29uUG9zaXRpb25dPVwiYnV0dG9uLmljb25Qb3NpdGlvblwiIFtpY29uXT1cImJ1dHRvbi5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uSWNvblNpemVdPVwiYnV0dG9uLmJ1dHRvbkljb25TaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uSGFuZGxlcihidXR0b24sICRldmVudClcIj48L3NhLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zYS1tZXNzYWdlLWJhbm5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc291cmNlIG9mIHNlbGVjdGVkU3RlcD8uYWR2YW5jZWRTb3VyY2VzTGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXJkVGVtcGxhdGU7IGNvbnRleHQ6IHsgc291cmNlOiBzb3VyY2UsIHNlbGVjdGVkU3RlcDogc2VsZWN0ZWRTdGVwLCBhY3Rpb25CdXR0b246IHNlbGVjdGVkU3RlcD8uYWN0aW9uQnV0dG9uIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZihzZWxlY3RlZFN0ZXA/LmNvbm5lY3RlZFNvdXJjZXNMaXN0ICYmIHNlbGVjdGVkU3RlcC5jb25uZWN0ZWRTb3VyY2VzTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmctc3R5bGVcIj57e3NlbGVjdGVkU3RlcD8uc291cmNlc0hlYWRpbmcgfHwgJ0Nvbm5lY3RlZCBTb3VyY2VzJ319Ojwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNvdXJjZSBvZiBzZWxlY3RlZFN0ZXAuY29ubmVjdGVkU291cmNlc0xpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXJkVGVtcGxhdGU7IGNvbnRleHQ6IHsgc291cmNlOiBzb3VyY2UsIHNlbGVjdGVkU3RlcDogc2VsZWN0ZWRTdGVwLCBhY3Rpb25CdXR0b246IHNlbGVjdGVkU3RlcD8uYWN0aW9uQnV0dG9uIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY2FyZFRlbXBsYXRlIGxldC1zb3VyY2U9XCJzb3VyY2VcIiBsZXQtc2VsZWN0ZWRTdGVwPVwic2VsZWN0ZWRTdGVwXCIgbGV0LWFjdGlvbkJ1dHRvbj1cImFjdGlvbkJ1dHRvblwiPlxuICAgIDxzYS1jYXJkIFtjb2x1bW5dPVwiZmFsc2VcIiBbc2hvd0NhcmRIZWFkZXJdPVwidHJ1ZVwiIFtzaG93Q2FyZEJvZHldPVwiZmFsc2VcIlxuICAgICAgICBbd2lkdGhdPVwic2VsZWN0ZWRTdGVwLnNvdXJjZXNDYXJkV2lkdGggfHwgJzQ3MXB4J1wiIFtzaG93SGVhZGVyQm9keURpdmlkZXJdPVwiZmFsc2VcIlxuICAgICAgICBbY3VzdG9tV3JhcHBlckNsYXNzXT1cInNlbGVjdGVkU3RlcC5jdXN0b21XcmFwcGVyQ2xhc3MgfHwgY3VzdG9tQ2xhc3NXcmFwcGVyXCJcbiAgICAgICAgY2xhc3M9XCJ7e3NvdXJjZS5kaXNhYmxlZCA/ICdkaXNhYmxlZC1jYXJkJzogJ2VuYWJsZWQtY2FyZCd9fVwiPlxuICAgICAgICA8c2EtY2FyZC10aXRsZS1oZWFkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtY2FyZC1hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtY2FyZC10aXRsZS1pY29uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1jYXJkLWN1c3RvbS10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNvdXJjZS5sb2dvVXJsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gW2ltZ109XCJzb3VyY2UubG9nb1VybFwiIFtzaXplXT1cIicyMCdcIiBjbGFzcz1cImQtZmxleFwiIFtjdXN0b21DbGFzc109XCInYXV0by1kaW1lbnNpb25zJ1wiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW21hdFRvb2x0aXBdPVwic291cmNlPy50b29sdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzb3VyY2U/Lm5hbWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3VyY2U/LmNvdW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPih7e3NvdXJjZS5jb3VudH19KTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3VyY2U/LmNoaXBEYXRhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1jaGlwIFt0eXBlXT1cInNvdXJjZT8uY2hpcERhdGEudHlwZVwiIFtzdGF0ZV09XCJzb3VyY2U/LmNoaXBEYXRhLnN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsaW5nXT1cInNvdXJjZT8uY2hpcERhdGEuZmlsbGluZ1wiIFt0ZXh0XT1cInNvdXJjZT8uY2hpcERhdGEudGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblBvc2l0aW9uXT0nc291cmNlPy5jaGlwRGF0YS5pY29uUG9zaXRpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblBhdGhdPVwic291cmNlPy5jaGlwRGF0YS5pY29uUGF0aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NhLWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhc291cmNlLmRpc2FibGVkICYmIChzZWxlY3RlZFN0ZXA/LmFjdGlvbkJ1dHRvbiAmJiAoc2VsZWN0ZWRTdGVwPy5zaG93QWN0aW9uQWN0aW9uQnV0dG9uID8gYWN0aW9uQnV0dG9uIDogbnVsbCkpIGFzIGJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtY2FyZC10aXRsZUljb24gbm8tbWFyZ2luXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtY2FyZC10aXRsZS1hY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1idXR0b24gW3RleHRdPVwiYnV0dG9uLnRleHRcIiBbdHlwZV09XCJidXR0b24udHlwZVwiIFtzaXplXT1cImJ1dHRvbi5zaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cImJ1dHRvbi5zdGF0ZVwiIFtpY29uUG9zaXRpb25dPVwiYnV0dG9uLmljb25Qb3NpdGlvblwiIFtpY29uXT1cImJ1dHRvbi5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2J1dHRvbkljb25TaXplXT1cImJ1dHRvbi5idXR0b25JY29uU2l6ZVwiIChjbGljayk9XCJvbkNhcmRDbGljayhzb3VyY2UsIGJ1dHRvbiwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2EtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zYS1jYXJkLXRpdGxlLWFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2EtY2FyZC10aXRsZS1oZWFkZXI+XG4gICAgPC9zYS1jYXJkPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvY2FyZC9tZW51LWNhcmQvbWVudS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvY2FyZC9tZW51LWNhcmQvbWVudS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FB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QUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQzs4QkFLclEsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEd1aWRlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2d1aWRlLWNhcmQvZ3VpZGUtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUsIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcclxuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZEN1c3RvbUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NhcmQtY3VzdG9tLWhlYWRlci9jYXJkLWN1c3RvbS1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZFRpdGxlQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL2NhcmQtdGl0bGUtYWN0aW9ucy9jYXJkLXRpdGxlLWFjdGlvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBmaW5kIGFzIF9maW5kIH0gZnJvbSAnbG9kYXNoJ1xyXG5pbXBvcnQgeyBNZXNzYWdlQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbWVzc2FnZS1iYW5uZXIvbWVzc2FnZS1iYW5uZXIuY29tcG9uZW50JztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYS1tZW51LWNhcmQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NoaXBzQ29tcG9uZW50LCBDb21tb25Nb2R1bGUsIEd1aWRlQ2FyZENvbXBvbmVudCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1seU1vZHVsZSwgQ2FyZENvbXBvbmVudCwgQ2FyZEN1c3RvbUhlYWRlckNvbXBvbmVudCwgSWNvbkNvbXBvbmVudCwgTWF0RXhwYW5zaW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIENhcmRUaXRsZUFjdGlvbnNDb21wb25lbnQsIE1hdFRvb2x0aXBNb2R1bGUsIE1lc3NhZ2VCYW5uZXJDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9tZW51LWNhcmQuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVDYXJkQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlIHtcclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJ0NhdGVnb3JpZXM6JztcclxuICBASW5wdXQoKSBzdGVwczogYW55W107XHJcbiAgQElucHV0KCkgZm9vdGVyRGV0YWlsczogYW55O1xyXG4gIEBPdXRwdXQoKSBvbkJ1dHRvbkNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25DYXJkQ2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkZvb3RlckNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25TdGVwQ2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBzZWxlY3RlZFN0ZXA6IGFueTtcclxuICBzZWxlY3RlZEd1aWRlU3RlcDogYW55IHwgbnVsbCA9IG51bGw7XHJcbiAgY3VzdG9tQ2xhc3NXcmFwcGVyID0gJ21lbnVDYXJkU291cmNlQ29udGFpbmVyJztcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3N0ZXBzJ10pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFN0ZXAgPSBfZmluZCh0aGlzLnN0ZXBzLCB7IGlzU2VsZWN0ZWQ6IHRydWUgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU3RlcENoYW5nZWQoZXZlbnQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gZXZlbnQ7XHJcbiAgICB0aGlzLm9uU3RlcENoYW5nZUV2ZW50LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgb25DYXJkQ2xpY2soc291cmNlOiBhbnksIGJ1dHRvbjogYW55LCBldmVudDogRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMub25DYXJkQ2xpY2tFdmVudC5lbWl0KHsgY2F0ZWdvcnk6IHRoaXMuc2VsZWN0ZWRTdGVwLCBzb3VyY2U6IHNvdXJjZSwgYnV0dG9uOiBidXR0b24gfSlcclxuICB9XHJcblxyXG4gIG9uQWR2YW5jZWRGZWF0dXJlc09wZW5lZCgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdGVwLmFkdmFuY2VkRmVhdHVyZXNFeHBhbmRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvbkFkdmFuY2VkRmVhdHVyZXNDbG9zZWQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3RlcC5hZHZhbmNlZEZlYXR1cmVzRXhwYW5kZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGFjdGlvbkhhbmRsZXIoYnV0dG9uOiBhbnksIGV2ZW50OiBFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5vbkJ1dHRvbkNsaWNrRXZlbnQubmV4dCh7IGNhdGVnb3J5OiB0aGlzLnNlbGVjdGVkU3RlcCwgYnV0dG9uOiBidXR0b24gfSk7XHJcbiAgfVxyXG5cclxuICBzaG93U291cmNlcyhzb3VyY2VUeXBlOiBhbnkpIHtcclxuICAgIHRoaXMub25Gb290ZXJDbGlja0V2ZW50LmVtaXQoc291cmNlVHlwZSk7XHJcbiAgICAvL2NvbnNvbGUubG9nKHNvdXJjZVR5cGUpXHJcbiAgICB0aGlzLm9uU3RlcENoYW5nZWQoc291cmNlVHlwZSlcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1lbnUtY2FyZC1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPHNhLWd1aWRlLWNhcmQgW3RpdGxlXT1cIidDYXRlZ29yaWVzOidcIiBbc3RlcHNdPVwic3RlcHNcIiBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgKG9uU3RlcENsaWNrZWQpPVwib25TdGVwQ2hhbmdlZCgkZXZlbnQpXCIgW3NlbGVjdGVkU3RlcF09XCJzZWxlY3RlZFN0ZXBcIj48L3NhLWd1aWRlLWNhcmQ+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhvcml6b250YWwtbGluZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZm9vdGVyRGV0YWlsIG9mIGZvb3RlckRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInNob3dTb3VyY2VzKGZvb3RlckRldGFpbClcIiBjbGFzcz1cImZvb3RlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZm9vdGVyRGV0YWlsID09PSBzZWxlY3RlZFN0ZXAgPyAnc2VsZWN0ZWQtc3RlcCcgOiAnb3RoZXItc3RlcCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvb3Rlci10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7Zm9vdGVyRGV0YWlsPy50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb290ZXJEZXRhaWw/LmNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4oe3tmb290ZXJEZXRhaWw/LmNvdW50fX0pPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvb3RlckRldGFpbD8uY2hpcERhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtY2hpcCBbdHlwZV09XCJmb290ZXJEZXRhaWw/LmNoaXBEYXRhLnR5cGVcIiBbc3RhdGVdPVwiZm9vdGVyRGV0YWlsPy5jaGlwRGF0YS5zdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGxpbmddPVwiZm9vdGVyRGV0YWlsPy5jaGlwRGF0YS5maWxsaW5nXCIgW3RleHRdPVwiZm9vdGVyRGV0YWlsPy5jaGlwRGF0YS50ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblBvc2l0aW9uXT0nZm9vdGVyRGV0YWlsPy5jaGlwRGF0YS5pY29uUG9zaXRpb24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25QYXRoXT1cImZvb3RlckRldGFpbD8uY2hpcERhdGEuaWNvblBhdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2EtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNhcmQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgQGlmKHNlbGVjdGVkU3RlcD8ubWVzc2FnZUNvbnRlbnQgfHwgc2VsZWN0ZWRTdGVwPy5tZXNzYWdlQmFubmVyPy5jb250ZW50KXtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPHNhLW1lc3NhZ2UtYmFubmVyIFtiYW5uZXJJY29uXT1cInNlbGVjdGVkU3RlcD8ubWVzc2FnZUJhbm5lcj8uYmFubmVySWNvblwiXHJcbiAgICAgICAgICAgICBbYmFubmVySWNvblNpemVdPVwic2VsZWN0ZWRTdGVwPy5tZXNzYWdlQmFubmVyPy5iYW5uZXJJY29uU2l6ZVwiIFxyXG4gICAgICAgICAgICAgW2J1dHRvbkljb25dPVwic2VsZWN0ZWRTdGVwPy5tZXNzYWdlQmFubmVyPy5idXR0b25JY29uXCJcclxuICAgICAgICAgICAgIFtidXR0b25UeXBlXT1cInNlbGVjdGVkU3RlcD8ubWVzc2FnZUJhbm5lcj8uYnV0dG9uVHlwZVwiXHJcbiAgICAgICAgICAgICBbYnV0dG9uU2l6ZV09XCJzZWxlY3RlZFN0ZXA/Lm1lc3NhZ2VCYW5uZXI/LmJ1dHRvblNpemVcIlxyXG4gICAgICAgICAgICAgW2J1dHRvbkljb25Qb3NpdGlvbl09XCJzZWxlY3RlZFN0ZXA/Lm1lc3NhZ2VCYW5uZXI/LmJ1dHRvbkljb25Qb3NpdGlvblwiXHJcbiAgICAgICAgICAgICBbYWN0aW9uVGV4dF09XCJzZWxlY3RlZFN0ZXA/Lm1lc3NhZ2VCYW5uZXI/LmJ1dHRvblRleHRcIlxyXG4gICAgICAgICAgICAgW2J1dHRvbkljb25TaXplXT1cInNlbGVjdGVkU3RlcD8ubWVzc2FnZUJhbm5lcj8uYnV0dG9uSWNvblNpemVcIlxyXG4gICAgICAgICAgICAgW3R5cGVdPVwic2VsZWN0ZWRTdGVwPy5tZXNzYWdlQmFubmVyPy50eXBlIHx8ICdpbmZvJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGVudFwiIFtpbm5lckh0bWxdPVwic2VsZWN0ZWRTdGVwPy5tZXNzYWdlQ29udGVudCB8fCBzZWxlY3RlZFN0ZXA/Lm1lc3NhZ2VCYW5uZXI/LmNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NhLW1lc3NhZ2UtYmFubmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkaW5nLXN0eWxlXCI+e3tzZWxlY3RlZFN0ZXA/LnNvdXJjZXNIZWFkaW5nIHx8ICdBdmFpbGFibGUgU291cmNlcyd9fTo8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkU3RlcD8uc291cmNlc0xpc3RcIiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzb3VyY2Ugb2Ygc2VsZWN0ZWRTdGVwLnNvdXJjZXNMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXJkVGVtcGxhdGU7IGNvbnRleHQ6IHsgc291cmNlOiBzb3VyY2UsIHNlbGVjdGVkU3RlcDogc2VsZWN0ZWRTdGVwLCBhY3Rpb25CdXR0b246IHNlbGVjdGVkU3RlcD8uYWN0aW9uQnV0dG9uIH1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIGZvciBhZHZhbmNlZCBvcHRpb25zIC0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFN0ZXA/LmFkdmFuY2VkU291cmNlc0xpc3QgJiYgc2VsZWN0ZWRTdGVwLmFkdmFuY2VkU291cmNlc0xpc3QubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWVudS1jYXJkLWFkdmFuY2VkLWZlYXR1cmVzLXNlY3Rpb25cIj5cclxuXHJcbiAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGhpZGVUb2dnbGUgW2V4cGFuZGVkXT1cInNlbGVjdGVkU3RlcD8uYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkIHx8IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgIChvcGVuZWQpPVwib25BZHZhbmNlZEZlYXR1cmVzT3BlbmVkKClcIiAoY2xvc2VkKT1cIm9uQWR2YW5jZWRGZWF0dXJlc0Nsb3NlZCgpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudUFkdmFuY2VkQWNjb3JkaW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKCFzZWxlY3RlZFN0ZXA/LlsnYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkJ10pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24tY2VudGVyIHNvdXJjZS1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gW2ljb25dPVwicHJvcHM/LlsnYWR2YW5jZWRGZWF0dXJlQ29sbGFwc2VkSWNvbiddIHx8ICdzb3VyY2VzT3V0bGluZWQnXCIgY2xhc3M9XCJkLWZsZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21DbGFzcz1cImNvbG9yZWQtaWNvblwiIHNpemU9XCIxNlwiPjwvc2EtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1AZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIFtpY29uXT1cInByb3BzPy5bJ2FkdmFuY2VkRmVhdHVyZUV4cGFuZGVkSWNvbiddIHx8ICdkb3duQ2hldnJvbk91dGxpbmVkJ1wiIGNsYXNzPVwiZC1mbGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIjIwXCI+PC9zYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZHZhbmNlZC10aXRsZVwiPnt7IHNlbGVjdGVkU3RlcD8uWydhZHZhbmNlZEZlYXR1cmVzRXhwYW5kZWQnXSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRTdGVwPy5bJ2FkdmFuY2VkRmVhdHVyZVRvZ2dsZVRpdGxlJ10gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkU3RlcD8uWydhZHZhbmNlZEZlYXR1cmVUaXRsZSddIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhwYW5zaW9uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZihzZWxlY3RlZFN0ZXA/LmFkdmFuY2VkRmVhdHVyZURpc2NsYWltZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXNjbGFpbWVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtbWVzc2FnZS1iYW5uZXIgW3R5cGVdPVwiJ2Rpc2NsYWltZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzY2xhaW1lci1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHNlbGVjdGVkU3RlcD8uYWR2YW5jZWRGZWF0dXJlRGlzY2xhaW1lclRvb2x0aXApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidG9vbHRpcC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gaWNvbj1cImluZm9DaXJjbGVPdXRsaW5lZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJzZWxlY3RlZFN0ZXA/LmFkdmFuY2VkRmVhdHVyZURpc2NsYWltZXJUb29sdGlwXCIgY3VzdG9tQ2xhc3M9XCJpbmZvLWljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0b29sdGlwLWljb25cIj48L3NhLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpc2NsYWltZXItc3R5bGVcIj57e3NlbGVjdGVkU3RlcD8uYWR2YW5jZWRGZWF0dXJlRGlzY2xhaW1lcn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoc2VsZWN0ZWRTdGVwPy5hZHZhbmNlZEZlYXR1cmVEaXNjbGFpbWVyQnV0dG9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpc2NsYWltZXItYnV0dG9ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBidXR0b24gb2Ygc2VsZWN0ZWRTdGVwLmFkdmFuY2VkRmVhdHVyZURpc2NsYWltZXJCdXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1idXR0b24gW3RleHRdPVwiYnV0dG9uLnRleHRcIiBbdHlwZV09XCJidXR0b24udHlwZVwiIFtzaXplXT1cImJ1dHRvbi5zaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJidXR0b24uc3RhdGVcIiBbaWNvblBvc2l0aW9uXT1cImJ1dHRvbi5pY29uUG9zaXRpb25cIiBbaWNvbl09XCJidXR0b24uaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uSWNvblNpemVdPVwiYnV0dG9uLmJ1dHRvbkljb25TaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25IYW5kbGVyKGJ1dHRvbiwgJGV2ZW50KVwiPjwvc2EtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2EtbWVzc2FnZS1iYW5uZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkcy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc291cmNlIG9mIHNlbGVjdGVkU3RlcD8uYWR2YW5jZWRTb3VyY2VzTGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FyZFRlbXBsYXRlOyBjb250ZXh0OiB7IHNvdXJjZTogc291cmNlLCBzZWxlY3RlZFN0ZXA6IHNlbGVjdGVkU3RlcCwgYWN0aW9uQnV0dG9uOiBzZWxlY3RlZFN0ZXA/LmFjdGlvbkJ1dHRvbiB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZihzZWxlY3RlZFN0ZXA/LmNvbm5lY3RlZFNvdXJjZXNMaXN0ICYmIHNlbGVjdGVkU3RlcC5jb25uZWN0ZWRTb3VyY2VzTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkaW5nLXN0eWxlXCI+e3tzZWxlY3RlZFN0ZXA/LnNvdXJjZXNIZWFkaW5nIHx8ICdDb25uZWN0ZWQgU291cmNlcyd9fTo8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZHMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzb3VyY2Ugb2Ygc2VsZWN0ZWRTdGVwLmNvbm5lY3RlZFNvdXJjZXNMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNhcmRUZW1wbGF0ZTsgY29udGV4dDogeyBzb3VyY2U6IHNvdXJjZSwgc2VsZWN0ZWRTdGVwOiBzZWxlY3RlZFN0ZXAsIGFjdGlvbkJ1dHRvbjogc2VsZWN0ZWRTdGVwPy5hY3Rpb25CdXR0b24gfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2FyZFRlbXBsYXRlIGxldC1zb3VyY2U9XCJzb3VyY2VcIiBsZXQtc2VsZWN0ZWRTdGVwPVwic2VsZWN0ZWRTdGVwXCIgbGV0LWFjdGlvbkJ1dHRvbj1cImFjdGlvbkJ1dHRvblwiPlxyXG4gICAgPHNhLWNhcmQgW2NvbHVtbl09XCJmYWxzZVwiIFtzaG93Q2FyZEhlYWRlcl09XCJ0cnVlXCIgW3Nob3dDYXJkQm9keV09XCJmYWxzZVwiXHJcbiAgICAgICAgW3dpZHRoXT1cInNlbGVjdGVkU3RlcC5zb3VyY2VzQ2FyZFdpZHRoIHx8ICc0NzFweCdcIiBbc2hvd0hlYWRlckJvZHlEaXZpZGVyXT1cImZhbHNlXCJcclxuICAgICAgICBbY3VzdG9tV3JhcHBlckNsYXNzXT1cInNlbGVjdGVkU3RlcC5jdXN0b21XcmFwcGVyQ2xhc3MgfHwgY3VzdG9tQ2xhc3NXcmFwcGVyXCJcclxuICAgICAgICBjbGFzcz1cInt7c291cmNlLmRpc2FibGVkID8gJ2Rpc2FibGVkLWNhcmQnOiAnZW5hYmxlZC1jYXJkJ319XCI+XHJcbiAgICAgICAgPHNhLWNhcmQtdGl0bGUtaGVhZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtY2FyZC1hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS1jYXJkLXRpdGxlLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtY2FyZC1jdXN0b20tdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNvdXJjZS5sb2dvVXJsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBbaW1nXT1cInNvdXJjZS5sb2dvVXJsXCIgW3NpemVdPVwiJzIwJ1wiIGNsYXNzPVwiZC1mbGV4XCIgW2N1c3RvbUNsYXNzXT1cIidhdXRvLWRpbWVuc2lvbnMnXCI+PC9zYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW21hdFRvb2x0aXBdPVwic291cmNlPy50b29sdGlwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NvdXJjZT8ubmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic291cmNlPy5jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPih7e3NvdXJjZS5jb3VudH19KTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3VyY2U/LmNoaXBEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtY2hpcCBbdHlwZV09XCJzb3VyY2U/LmNoaXBEYXRhLnR5cGVcIiBbc3RhdGVdPVwic291cmNlPy5jaGlwRGF0YS5zdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsaW5nXT1cInNvdXJjZT8uY2hpcERhdGEuZmlsbGluZ1wiIFt0ZXh0XT1cInNvdXJjZT8uY2hpcERhdGEudGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uUG9zaXRpb25dPSdzb3VyY2U/LmNoaXBEYXRhLmljb25Qb3NpdGlvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25QYXRoXT1cInNvdXJjZT8uY2hpcERhdGEuaWNvblBhdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NhLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhc291cmNlLmRpc2FibGVkICYmIChzZWxlY3RlZFN0ZXA/LmFjdGlvbkJ1dHRvbiAmJiAoc2VsZWN0ZWRTdGVwPy5zaG93QWN0aW9uQWN0aW9uQnV0dG9uID8gYWN0aW9uQnV0dG9uIDogbnVsbCkpIGFzIGJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1jYXJkLXRpdGxlSWNvbiBuby1tYXJnaW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWNhcmQtdGl0bGUtYWN0aW9ucz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1idXR0b24gW3RleHRdPVwiYnV0dG9uLnRleHRcIiBbdHlwZV09XCJidXR0b24udHlwZVwiIFtzaXplXT1cImJ1dHRvbi5zaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiYnV0dG9uLnN0YXRlXCIgW2ljb25Qb3NpdGlvbl09XCJidXR0b24uaWNvblBvc2l0aW9uXCIgW2ljb25dPVwiYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtidXR0b25JY29uU2l6ZV09XCJidXR0b24uYnV0dG9uSWNvblNpemVcIiAoY2xpY2spPVwib25DYXJkQ2xpY2soc291cmNlLCBidXR0b24sICRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2EtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NhLWNhcmQtdGl0bGUtYWN0aW9ucz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NhLWNhcmQtdGl0bGUtaGVhZGVyPlxyXG4gICAgPC9zYS1jYXJkPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -83,7 +83,7 @@ export class ThumbnailCardComponent {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ThumbnailCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ThumbnailCardComponent, isStandalone: true, selector: "sa-thumbnail-card", inputs: { data: "data", size: "size" }, outputs: { cardClick: "cardClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"thumbnail-card\" [class.small]=\"size === 'small'\" [class.medium]=\"size === 'medium'\"\n [class.large]=\"size === 'large'\" (click)=\"onCardClick()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"onCardClick()\">\n <sa-card [showCustomCardBody]=\"true\" [customWrapperClass]=\"'sa-card-custom-wrapper'\">\n <sa-card-custom-body>\n <div class=\"thumbnail-content\">\n <div class=\"thumbnail-container\">\n <img [src]=\"data?.thumbnailUrl\" [alt]=\"data?.title\" class=\"thumbnail\">\n </div>\n <div class=\"thumbnail-info\">\n <div class=\"thumbnail-header\">\n <h3 class=\"thumbnail-title\">{{ data?.title }}</h3>\n <div class=\"status-chips\">\n @for (status of data?.statuses; track status.text) {\n <sa-chip [text]=\"status.text\" [type]=\"'small'\" [state]=\"status.state\" [filling]=\"status.filling\"\n [iconPath]=\"status.iconPath\" [iconPosition]=\"status.iconPosition\"\n [largeStateIcon]=\"status.largeStateIcon\" [largeStateText]=\"status.largeStateText\" [matTooltip]=\"status?.tooltip\" matTooltipClass=\"custom-status-tooltip\">\n </sa-chip>\n }\n </div>\n </div>\n <div class=\"thumbnail-metadata\">\n <span class=\"thumbnail-description\" [matTooltip]=\"data?.descriptionTooltip\" matTooltipClass=\"custom-description-tooltip\">{{ data?.description }}</span>\n <span class=\"separator\"></span>\n <span class=\"thumbnail-subtitle\">{{ data?.subtitle }}</span>\n </div>\n </div>\n </div>\n </sa-card-custom-body>\n </sa-card>\n</div>\n", styles: [".thumbnail-card{display:block;cursor:pointer;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.thumbnail-card:hover{transform:translateY(-.2px);background-color:var(--structural-neutral3, #fafafa)}.thumbnail-card:focus{outline-offset:2px}.thumbnail-content{display:flex;flex-direction:column}.thumbnail-container{width:100%;position:relative;overflow:hidden}.thumbnail{width:100%;display:block}.thumbnail-info{padding:var(--small-16px, 16px) var(--small-16px, 16px) var(--small-16px, 16px);display:flex;flex-direction:column;gap:var(--small-8px, 8px);border-top:1px solid var(--grey-100, #EAECF0)}.thumbnail-header{display:flex;justify-content:space-between;align-items:center}.thumbnail-title{color:var(--text-highemphasis, #1C1B20);font-family:var(--font-roboto, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:500;line-height:var(--small-20px, 20px);letter-spacing:.1px;margin:0}.status-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto}.thumbnail-metadata{display:flex;align-items:center;gap:var(--small-8px, 8px)}.thumbnail-description,.thumbnail-subtitle{font-size:var(--small-12px, 12px);color:var(--text-mediumemphasis, #6D6979);line-height:var(--small-16px, 16px);font-style:normal;font-weight:400}.separator{border-radius:var(--small-3px, 3px);background:var(--grey-100, #EAECF0);width:1px;align-self:stretch}::ng-deep .thumbnail-card .sa-card-wrapper.sa-card-custom-wrapper{border-radius:var(--small-4px, 4px);border:1px solid var(--grey-100, #EAECF0);background:var(--structural-white, #FFF);padding:0;overflow:hidden}::ng-deep .custom-description-tooltip .mdc-tooltip__surface.mdc-tooltip__surface-animation{white-space:pre-line;text-align:left}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText", "tooltip", "className"], outputs: ["onClickEvent"] }, { kind: "component", type: CardComponent, selector: "sa-card", inputs: ["title", "showCardHeader", "showCardBody", "showHeaderBodyDivider", "showCustomCardBody", "customWrapperClass", "chip", "body", "avatar", "image", "imageWidth", "avatarSize", "href", "hrefTarget", "icon", "iconSize", "subtitle", "logoIcon", "width", "height", "column"] }, { kind: "component", type: CardBodyComponent, selector: "sa-card-custom-body" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
|
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ThumbnailCardComponent, isStandalone: true, selector: "sa-thumbnail-card", inputs: { data: "data", size: "size" }, outputs: { cardClick: "cardClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"thumbnail-card\" [class.small]=\"size === 'small'\" [class.medium]=\"size === 'medium'\"\r\n [class.large]=\"size === 'large'\" (click)=\"onCardClick()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"onCardClick()\">\r\n <sa-card [showCustomCardBody]=\"true\" [customWrapperClass]=\"'sa-card-custom-wrapper'\">\r\n <sa-card-custom-body>\r\n <div class=\"thumbnail-content\">\r\n <div class=\"thumbnail-container\">\r\n <img [src]=\"data?.thumbnailUrl\" [alt]=\"data?.title\" class=\"thumbnail\">\r\n </div>\r\n <div class=\"thumbnail-info\">\r\n <div class=\"thumbnail-header\">\r\n <h3 class=\"thumbnail-title\">{{ data?.title }}</h3>\r\n <div class=\"status-chips\">\r\n @for (status of data?.statuses; track status.text) {\r\n <sa-chip [text]=\"status.text\" [type]=\"'small'\" [state]=\"status.state\" [filling]=\"status.filling\"\r\n [iconPath]=\"status.iconPath\" [iconPosition]=\"status.iconPosition\"\r\n [largeStateIcon]=\"status.largeStateIcon\" [largeStateText]=\"status.largeStateText\" [matTooltip]=\"status?.tooltip\" matTooltipClass=\"custom-status-tooltip\">\r\n </sa-chip>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"thumbnail-metadata\">\r\n <span class=\"thumbnail-description\" [matTooltip]=\"data?.descriptionTooltip\" matTooltipClass=\"custom-description-tooltip\">{{ data?.description }}</span>\r\n <span class=\"separator\"></span>\r\n <span class=\"thumbnail-subtitle\">{{ data?.subtitle }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </sa-card-custom-body>\r\n </sa-card>\r\n</div>\r\n", styles: [".thumbnail-card{display:block;cursor:pointer;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.thumbnail-card:hover{transform:translateY(-.2px);background-color:var(--structural-neutral3, #fafafa)}.thumbnail-card:focus{outline-offset:2px}.thumbnail-content{display:flex;flex-direction:column}.thumbnail-container{width:100%;position:relative;overflow:hidden}.thumbnail{width:100%;display:block}.thumbnail-info{padding:var(--small-16px, 16px) var(--small-16px, 16px) var(--small-16px, 16px);display:flex;flex-direction:column;gap:var(--small-8px, 8px);border-top:1px solid var(--grey-100, #EAECF0)}.thumbnail-header{display:flex;justify-content:space-between;align-items:center}.thumbnail-title{color:var(--text-highemphasis, #1C1B20);font-family:var(--font-roboto, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:500;line-height:var(--small-20px, 20px);letter-spacing:.1px;margin:0}.status-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto}.thumbnail-metadata{display:flex;align-items:center;gap:var(--small-8px, 8px)}.thumbnail-description,.thumbnail-subtitle{font-size:var(--small-12px, 12px);color:var(--text-mediumemphasis, #6D6979);line-height:var(--small-16px, 16px);font-style:normal;font-weight:400}.separator{border-radius:var(--small-3px, 3px);background:var(--grey-100, #EAECF0);width:1px;align-self:stretch}::ng-deep .thumbnail-card .sa-card-wrapper.sa-card-custom-wrapper{border-radius:var(--small-4px, 4px);border:1px solid var(--grey-100, #EAECF0);background:var(--structural-white, #FFF);padding:0;overflow:hidden}::ng-deep .custom-description-tooltip .mdc-tooltip__surface.mdc-tooltip__surface-animation{white-space:pre-line;text-align:left}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText", "tooltip", "className"], outputs: ["onClickEvent"] }, { kind: "component", type: CardComponent, selector: "sa-card", inputs: ["title", "showCardHeader", "showCardBody", "showHeaderBodyDivider", "showCustomCardBody", "customWrapperClass", "chip", "body", "avatar", "image", "imageWidth", "avatarSize", "href", "hrefTarget", "icon", "iconSize", "subtitle", "logoIcon", "width", "height", "column"] }, { kind: "component", type: CardBodyComponent, selector: "sa-card-custom-body" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
|
|
87
87
|
}
|
|
88
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ThumbnailCardComponent, decorators: [{
|
|
89
89
|
type: Component,
|
|
@@ -95,7 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
95
95
|
CardBodyComponent,
|
|
96
96
|
CardCustomHeaderComponent,
|
|
97
97
|
MatTooltipModule,
|
|
98
|
-
], template: "<div class=\"thumbnail-card\" [class.small]=\"size === 'small'\" [class.medium]=\"size === 'medium'\"\n [class.large]=\"size === 'large'\" (click)=\"onCardClick()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"onCardClick()\">\n <sa-card [showCustomCardBody]=\"true\" [customWrapperClass]=\"'sa-card-custom-wrapper'\">\n <sa-card-custom-body>\n <div class=\"thumbnail-content\">\n <div class=\"thumbnail-container\">\n <img [src]=\"data?.thumbnailUrl\" [alt]=\"data?.title\" class=\"thumbnail\">\n </div>\n <div class=\"thumbnail-info\">\n <div class=\"thumbnail-header\">\n <h3 class=\"thumbnail-title\">{{ data?.title }}</h3>\n <div class=\"status-chips\">\n @for (status of data?.statuses; track status.text) {\n <sa-chip [text]=\"status.text\" [type]=\"'small'\" [state]=\"status.state\" [filling]=\"status.filling\"\n [iconPath]=\"status.iconPath\" [iconPosition]=\"status.iconPosition\"\n [largeStateIcon]=\"status.largeStateIcon\" [largeStateText]=\"status.largeStateText\" [matTooltip]=\"status?.tooltip\" matTooltipClass=\"custom-status-tooltip\">\n </sa-chip>\n }\n </div>\n </div>\n <div class=\"thumbnail-metadata\">\n <span class=\"thumbnail-description\" [matTooltip]=\"data?.descriptionTooltip\" matTooltipClass=\"custom-description-tooltip\">{{ data?.description }}</span>\n <span class=\"separator\"></span>\n <span class=\"thumbnail-subtitle\">{{ data?.subtitle }}</span>\n </div>\n </div>\n </div>\n </sa-card-custom-body>\n </sa-card>\n</div>\n", styles: [".thumbnail-card{display:block;cursor:pointer;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.thumbnail-card:hover{transform:translateY(-.2px);background-color:var(--structural-neutral3, #fafafa)}.thumbnail-card:focus{outline-offset:2px}.thumbnail-content{display:flex;flex-direction:column}.thumbnail-container{width:100%;position:relative;overflow:hidden}.thumbnail{width:100%;display:block}.thumbnail-info{padding:var(--small-16px, 16px) var(--small-16px, 16px) var(--small-16px, 16px);display:flex;flex-direction:column;gap:var(--small-8px, 8px);border-top:1px solid var(--grey-100, #EAECF0)}.thumbnail-header{display:flex;justify-content:space-between;align-items:center}.thumbnail-title{color:var(--text-highemphasis, #1C1B20);font-family:var(--font-roboto, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:500;line-height:var(--small-20px, 20px);letter-spacing:.1px;margin:0}.status-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto}.thumbnail-metadata{display:flex;align-items:center;gap:var(--small-8px, 8px)}.thumbnail-description,.thumbnail-subtitle{font-size:var(--small-12px, 12px);color:var(--text-mediumemphasis, #6D6979);line-height:var(--small-16px, 16px);font-style:normal;font-weight:400}.separator{border-radius:var(--small-3px, 3px);background:var(--grey-100, #EAECF0);width:1px;align-self:stretch}::ng-deep .thumbnail-card .sa-card-wrapper.sa-card-custom-wrapper{border-radius:var(--small-4px, 4px);border:1px solid var(--grey-100, #EAECF0);background:var(--structural-white, #FFF);padding:0;overflow:hidden}::ng-deep .custom-description-tooltip .mdc-tooltip__surface.mdc-tooltip__surface-animation{white-space:pre-line;text-align:left}\n"] }]
|
|
98
|
+
], template: "<div class=\"thumbnail-card\" [class.small]=\"size === 'small'\" [class.medium]=\"size === 'medium'\"\r\n [class.large]=\"size === 'large'\" (click)=\"onCardClick()\" role=\"button\" tabindex=\"0\" (keydown.enter)=\"onCardClick()\">\r\n <sa-card [showCustomCardBody]=\"true\" [customWrapperClass]=\"'sa-card-custom-wrapper'\">\r\n <sa-card-custom-body>\r\n <div class=\"thumbnail-content\">\r\n <div class=\"thumbnail-container\">\r\n <img [src]=\"data?.thumbnailUrl\" [alt]=\"data?.title\" class=\"thumbnail\">\r\n </div>\r\n <div class=\"thumbnail-info\">\r\n <div class=\"thumbnail-header\">\r\n <h3 class=\"thumbnail-title\">{{ data?.title }}</h3>\r\n <div class=\"status-chips\">\r\n @for (status of data?.statuses; track status.text) {\r\n <sa-chip [text]=\"status.text\" [type]=\"'small'\" [state]=\"status.state\" [filling]=\"status.filling\"\r\n [iconPath]=\"status.iconPath\" [iconPosition]=\"status.iconPosition\"\r\n [largeStateIcon]=\"status.largeStateIcon\" [largeStateText]=\"status.largeStateText\" [matTooltip]=\"status?.tooltip\" matTooltipClass=\"custom-status-tooltip\">\r\n </sa-chip>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"thumbnail-metadata\">\r\n <span class=\"thumbnail-description\" [matTooltip]=\"data?.descriptionTooltip\" matTooltipClass=\"custom-description-tooltip\">{{ data?.description }}</span>\r\n <span class=\"separator\"></span>\r\n <span class=\"thumbnail-subtitle\">{{ data?.subtitle }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </sa-card-custom-body>\r\n </sa-card>\r\n</div>\r\n", styles: [".thumbnail-card{display:block;cursor:pointer;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.thumbnail-card:hover{transform:translateY(-.2px);background-color:var(--structural-neutral3, #fafafa)}.thumbnail-card:focus{outline-offset:2px}.thumbnail-content{display:flex;flex-direction:column}.thumbnail-container{width:100%;position:relative;overflow:hidden}.thumbnail{width:100%;display:block}.thumbnail-info{padding:var(--small-16px, 16px) var(--small-16px, 16px) var(--small-16px, 16px);display:flex;flex-direction:column;gap:var(--small-8px, 8px);border-top:1px solid var(--grey-100, #EAECF0)}.thumbnail-header{display:flex;justify-content:space-between;align-items:center}.thumbnail-title{color:var(--text-highemphasis, #1C1B20);font-family:var(--font-roboto, Roboto);font-size:var(--small-14px, 14px);font-style:normal;font-weight:500;line-height:var(--small-20px, 20px);letter-spacing:.1px;margin:0}.status-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto}.thumbnail-metadata{display:flex;align-items:center;gap:var(--small-8px, 8px)}.thumbnail-description,.thumbnail-subtitle{font-size:var(--small-12px, 12px);color:var(--text-mediumemphasis, #6D6979);line-height:var(--small-16px, 16px);font-style:normal;font-weight:400}.separator{border-radius:var(--small-3px, 3px);background:var(--grey-100, #EAECF0);width:1px;align-self:stretch}::ng-deep .thumbnail-card .sa-card-wrapper.sa-card-custom-wrapper{border-radius:var(--small-4px, 4px);border:1px solid var(--grey-100, #EAECF0);background:var(--structural-white, #FFF);padding:0;overflow:hidden}::ng-deep .custom-description-tooltip .mdc-tooltip__surface.mdc-tooltip__surface-animation{white-space:pre-line;text-align:left}\n"] }]
|
|
99
99
|
}], propDecorators: { data: [{
|
|
100
100
|
type: Input
|
|
101
101
|
}], size: [{
|
|
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
103
103
|
}], cardClick: [{
|
|
104
104
|
type: Output
|
|
105
105
|
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9jYXJkL3RodW1ibmFpbC1jYXJkL3RodW1ibmFpbC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvY2FyZC90aHVtYm5haWwtY2FyZC90aHVtYm5haWwtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQXVDekYsTUFBTSxPQUFPLHNCQUFzQjtJQWZuQztRQWlCVyxTQUFJLEdBQWlDLFFBQVEsQ0FBQztRQUM3QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7S0E2RXpE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QUFnQjs7MkZBS1Asc0JBQXNCO2tCQWZsQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLHlCQUF5Qjt3QkFDekIsZ0JBQWdCO3FCQUNqQjs4QkFLUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkQm9keUNvbXBvbmVudCB9IGZyb20gJy4uL2NhcmQtYm9keS9jYXJkLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRDdXN0b21IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkLWN1c3RvbS1oZWFkZXIvY2FyZC1jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBpc0FycmF5LCBpc1N0cmluZywgbWFwLCBqb2luLCBldmVyeSwgZ2V0LCBpc1VuZGVmaW5lZCwgaW5jbHVkZXMgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRodW1ibmFpbFN0YXR1cyB7XG4gIHRleHQ6IHN0cmluZztcbiAgdHlwZTogJ3JlZ3VsYXInIHwgJ3NtYWxsJyB8ICdsYXJnZSc7XG4gIHN0YXRlOiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICduZXV0cmFsJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnc3VjY2Vzcyc7XG4gIGZpbGxpbmc6ICdvdXRsaW5lJyB8ICdmaWxsZWQnO1xuICBpY29uUGF0aD86IHN0cmluZztcbiAgaWNvblBvc2l0aW9uPzogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdib3RoJyB8ICcnO1xuICBsYXJnZVN0YXRlSWNvbj86IHN0cmluZztcbiAgbGFyZ2VTdGF0ZVRleHQ/OiBzdHJpbmc7XG4gIHRvb2x0aXA/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGh1bWJuYWlsRGF0YSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uVG9vbHRpcD86IHN0cmluZztcbiAgdGh1bWJuYWlsVXJsOiBzdHJpbmc7XG4gIHN0YXR1c2VzOiBUaHVtYm5haWxTdGF0dXNbXTtcbiAgW2tleTogc3RyaW5nXTogYW55XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLXRodW1ibmFpbC1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDaGlwc0NvbXBvbmVudCxcbiAgICBDYXJkQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgQ2FyZEJvZHlDb21wb25lbnQsXG4gICAgQ2FyZEN1c3RvbUhlYWRlckNvbXBvbmVudCxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGh1bWJuYWlsLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aHVtYm5haWwtY2FyZC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGh1bWJuYWlsQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGE6IFRodW1ibmFpbERhdGE7XG4gIEBJbnB1dCgpIHNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJztcbiAgQE91dHB1dCgpIGNhcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VGh1bWJuYWlsRGF0YT4oKTtcblxuICAvKipcbiAgICogSGFuZGxlcyBjaGFuZ2VzIHRvIGNvbXBvbmVudCBpbnB1dHNcbiAgICogQHBhcmFtIGNoYW5nZXMgU2ltcGxlQ2hhbmdlcyBvYmplY3QgY29udGFpbmluZyBjaGFuZ2VkIHByb3BlcnRpZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGF0YSddKSB7XG4gICAgICB0aGlzLmRhdGEgPSBjaGFuZ2VzWydkYXRhJ10uY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy51cGRhdGVEZXNjcmlwdGlvblRvb2x0aXAoKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBkZXNjcmlwdGlvbiB0b29sdGlwIGlmIGl0IGV4aXN0c1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVEZXNjcmlwdGlvblRvb2x0aXAoKTogdm9pZCB7XG4gICAgY29uc3QgdG9vbHRpcCA9IGdldCh0aGlzLmRhdGEsICdkZXNjcmlwdGlvblRvb2x0aXAnKTtcbiAgICBpZiAoIWlzVW5kZWZpbmVkKHRvb2x0aXApKSB7XG4gICAgICB0aGlzLmRhdGEuZGVzY3JpcHRpb25Ub29sdGlwID0gdGhpcy5mb3JtYXR0ZWRUb29sdGlwKHRvb2x0aXApO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FyZENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2FyZENsaWNrLmVtaXQodGhpcy5kYXRhKTtcbiAgfVxuXG4gIGdldENoaXBDb25maWcoc3RhdHVzOiBzdHJpbmcpOiBQYXJ0aWFsPFRodW1ibmFpbFN0YXR1cz4ge1xuICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICBjYXNlICdhY3RpdmUnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHR5cGU6ICdzbWFsbCcsXG4gICAgICAgICAgc3RhdGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICBmaWxsaW5nOiAnZmlsbGVkJ1xuICAgICAgICB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiAnc21hbGwnLFxuICAgICAgICAgIHN0YXRlOiAnbmV1dHJhbCcsXG4gICAgICAgICAgZmlsbGluZzogJ291dGxpbmUnXG4gICAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0dGVkVG9vbHRpcCh0b29sdGlwOiBhbnkpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICAvLyBQYXJzZSB0aGUgSlNPTiBzdHJpbmdcbiAgICAgIGNvbnN0IHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKHRvb2x0aXApO1xuICAgICAgLy8gQ2hlY2sgaWYgcGFyc2VkRGF0YSBpcyBhbiBhcnJheVxuICAgICAgaWYgKGlzQXJyYXkocGFyc2VkRGF0YSkpIHtcbiAgICAgICAgLy8gSGFuZGxlIGNhc2Ugd2hlcmUgaXQncyBhbiBhcnJheSBvZiBvYmplY3RzXG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVyeShcbiAgICAgICAgICAgIHBhcnNlZERhdGEsXG4gICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSAmJiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgJ25hbWUnIGluIGl0ZW0sXG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gam9pbihtYXAocGFyc2VkRGF0YSwgKGl0ZW06IGFueSkgPT4gaXRlbS5uYW1lKSwgJ1xcbicpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZXJlIGl0J3MgYW4gYXJyYXkgb2Ygc3RyaW5nc1xuICAgICAgICBpZiAoZXZlcnkocGFyc2VkRGF0YSwgKGl0ZW0pID0+IGlzU3RyaW5nKGl0ZW0pKSkge1xuICAgICAgICAgIHJldHVybiBqb2luKHBhcnNlZERhdGEsICdcXG4nKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYXJyYXkgc3RydWN0dXJlJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcnNlZCBkYXRhIGlzIG5vdCBhbiBhcnJheScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoaW5jbHVkZXModG9vbHRpcCwgJ1xcbicpKSB7XG4gICAgICAgIHJldHVybiB0b29sdGlwOyAvLyBBc3N1bWluZyBpdCdzIGFscmVhZHkgZm9ybWF0dGVkIGNvcnJlY3RseVxuICAgICAgfVxuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcGFyc2luZyB0b29sdGlwIGRhdGE6JywgZXJyb3IpO1xuICAgICAgLy8gUmV0dXJuIGEgZmFsbGJhY2sgbWVzc2FnZSBpbiBjYXNlIG9mIGFuIGVycm9yXG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh1bWJuYWlsLWNhcmRcIiBbY2xhc3Muc21hbGxdPVwic2l6ZSA9PT0gJ3NtYWxsJ1wiIFtjbGFzcy5tZWRpdW1dPVwic2l6ZSA9PT0gJ21lZGl1bSdcIlxuICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiIChjbGljayk9XCJvbkNhcmRDbGljaygpXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIChrZXlkb3duLmVudGVyKT1cIm9uQ2FyZENsaWNrKClcIj5cbiAgPHNhLWNhcmQgW3Nob3dDdXN0b21DYXJkQm9keV09XCJ0cnVlXCIgW2N1c3RvbVdyYXBwZXJDbGFzc109XCInc2EtY2FyZC1jdXN0b20td3JhcHBlcidcIj5cbiAgICA8c2EtY2FyZC1jdXN0b20tYm9keT5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHVtYm5haWwtY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGh1bWJuYWlsLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJkYXRhPy50aHVtYm5haWxVcmxcIiBbYWx0XT1cImRhdGE/LnRpdGxlXCIgY2xhc3M9XCJ0aHVtYm5haWxcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aHVtYm5haWwtaW5mb1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aHVtYm5haWwtaGVhZGVyXCI+XG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJ0aHVtYm5haWwtdGl0bGVcIj57eyBkYXRhPy50aXRsZSB9fTwvaDM+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWNoaXBzXCI+XG4gICAgICAgICAgICAgIEBmb3IgKHN0YXR1cyBvZiBkYXRhPy5zdGF0dXNlczsgdHJhY2sgc3RhdHVzLnRleHQpIHtcbiAgICAgICAgICAgICAgPHNhLWNoaXAgW3RleHRdPVwic3RhdHVzLnRleHRcIiBbdHlwZV09XCInc21hbGwnXCIgW3N0YXRlXT1cInN0YXR1cy5zdGF0ZVwiIFtmaWxsaW5nXT1cInN0YXR1cy5maWxsaW5nXCJcbiAgICAgICAgICAgICAgICBbaWNvblBhdGhdPVwic3RhdHVzLmljb25QYXRoXCIgW2ljb25Qb3NpdGlvbl09XCJzdGF0dXMuaWNvblBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICBbbGFyZ2VTdGF0ZUljb25dPVwic3RhdHVzLmxhcmdlU3RhdGVJY29uXCIgW2xhcmdlU3RhdGVUZXh0XT1cInN0YXR1cy5sYXJnZVN0YXRlVGV4dFwiIFttYXRUb29sdGlwXT1cInN0YXR1cz8udG9vbHRpcFwiIG1hdFRvb2x0aXBDbGFzcz1cImN1c3RvbS1zdGF0dXMtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICA8L3NhLWNoaXA+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aHVtYm5haWwtbWV0YWRhdGFcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGh1bWJuYWlsLWRlc2NyaXB0aW9uXCIgW21hdFRvb2x0aXBdPVwiZGF0YT8uZGVzY3JpcHRpb25Ub29sdGlwXCIgbWF0VG9vbHRpcENsYXNzPVwiY3VzdG9tLWRlc2NyaXB0aW9uLXRvb2x0aXBcIj57eyBkYXRhPy5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aHVtYm5haWwtc3VidGl0bGVcIj57eyBkYXRhPy5zdWJ0aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NhLWNhcmQtY3VzdG9tLWJvZHk+XG4gIDwvc2EtY2FyZD5cbjwvZGl2PlxuIl19
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9jYXJkL3RodW1ibmFpbC1jYXJkL3RodW1ibmFpbC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvY2FyZC90aHVtYm5haWwtY2FyZC90aHVtYm5haWwtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQXVDekYsTUFBTSxPQUFPLHNCQUFzQjtJQWZuQztRQWlCVyxTQUFJLEdBQWlDLFFBQVEsQ0FBQztRQUM3QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7S0E2RXpE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QUFnQjs7MkZBS1Asc0JBQXNCO2tCQWZsQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLHlCQUF5Qjt3QkFDekIsZ0JBQWdCO3FCQUNqQjs4QkFLUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uL2ljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZEJvZHlDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkLWJvZHkvY2FyZC1ib2R5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRDdXN0b21IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkLWN1c3RvbS1oZWFkZXIvY2FyZC1jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcsIG1hcCwgam9pbiwgZXZlcnksIGdldCwgaXNVbmRlZmluZWQsIGluY2x1ZGVzIH0gZnJvbSAnbG9kYXNoJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGh1bWJuYWlsU3RhdHVzIHtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgdHlwZTogJ3JlZ3VsYXInIHwgJ3NtYWxsJyB8ICdsYXJnZSc7XHJcbiAgc3RhdGU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ25ldXRyYWwnIHwgJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJztcclxuICBmaWxsaW5nOiAnb3V0bGluZScgfCAnZmlsbGVkJztcclxuICBpY29uUGF0aD86IHN0cmluZztcclxuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnIHwgJ2JvdGgnIHwgJyc7XHJcbiAgbGFyZ2VTdGF0ZUljb24/OiBzdHJpbmc7XHJcbiAgbGFyZ2VTdGF0ZVRleHQ/OiBzdHJpbmc7XHJcbiAgdG9vbHRpcD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaHVtYm5haWxEYXRhIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHN1YnRpdGxlOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBkZXNjcmlwdGlvblRvb2x0aXA/OiBzdHJpbmc7XHJcbiAgdGh1bWJuYWlsVXJsOiBzdHJpbmc7XHJcbiAgc3RhdHVzZXM6IFRodW1ibmFpbFN0YXR1c1tdO1xyXG4gIFtrZXk6IHN0cmluZ106IGFueVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhLXRodW1ibmFpbC1jYXJkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENoaXBzQ29tcG9uZW50LFxyXG4gICAgQ2FyZENvbXBvbmVudCxcclxuICAgIEljb25Db21wb25lbnQsXHJcbiAgICBDYXJkQm9keUNvbXBvbmVudCxcclxuICAgIENhcmRDdXN0b21IZWFkZXJDb21wb25lbnQsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RodW1ibmFpbC1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aHVtYm5haWwtY2FyZC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRodW1ibmFpbENhcmRDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGRhdGE6IFRodW1ibmFpbERhdGE7XHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nO1xyXG4gIEBPdXRwdXQoKSBjYXJkQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFRodW1ibmFpbERhdGE+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgY2hhbmdlcyB0byBjb21wb25lbnQgaW5wdXRzXHJcbiAgICogQHBhcmFtIGNoYW5nZXMgU2ltcGxlQ2hhbmdlcyBvYmplY3QgY29udGFpbmluZyBjaGFuZ2VkIHByb3BlcnRpZXNcclxuICAgKi9cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZGF0YSddKSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IGNoYW5nZXNbJ2RhdGEnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlRGVzY3JpcHRpb25Ub29sdGlwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIGRlc2NyaXB0aW9uIHRvb2x0aXAgaWYgaXQgZXhpc3RzXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHVwZGF0ZURlc2NyaXB0aW9uVG9vbHRpcCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRvb2x0aXAgPSBnZXQodGhpcy5kYXRhLCAnZGVzY3JpcHRpb25Ub29sdGlwJyk7XHJcbiAgICBpZiAoIWlzVW5kZWZpbmVkKHRvb2x0aXApKSB7XHJcbiAgICAgIHRoaXMuZGF0YS5kZXNjcmlwdGlvblRvb2x0aXAgPSB0aGlzLmZvcm1hdHRlZFRvb2x0aXAodG9vbHRpcCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNhcmRDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FyZENsaWNrLmVtaXQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG4gIGdldENoaXBDb25maWcoc3RhdHVzOiBzdHJpbmcpOiBQYXJ0aWFsPFRodW1ibmFpbFN0YXR1cz4ge1xyXG4gICAgc3dpdGNoIChzdGF0dXMpIHtcclxuICAgICAgY2FzZSAnYWN0aXZlJzpcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgdHlwZTogJ3NtYWxsJyxcclxuICAgICAgICAgIHN0YXRlOiAnc3VjY2VzcycsXHJcbiAgICAgICAgICBmaWxsaW5nOiAnZmlsbGVkJ1xyXG4gICAgICAgIH07XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHR5cGU6ICdzbWFsbCcsXHJcbiAgICAgICAgICBzdGF0ZTogJ25ldXRyYWwnLFxyXG4gICAgICAgICAgZmlsbGluZzogJ291dGxpbmUnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdHRlZFRvb2x0aXAodG9vbHRpcDogYW55KTogc3RyaW5nIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIFBhcnNlIHRoZSBKU09OIHN0cmluZ1xyXG4gICAgICBjb25zdCBwYXJzZWREYXRhID0gSlNPTi5wYXJzZSh0b29sdGlwKTtcclxuICAgICAgLy8gQ2hlY2sgaWYgcGFyc2VkRGF0YSBpcyBhbiBhcnJheVxyXG4gICAgICBpZiAoaXNBcnJheShwYXJzZWREYXRhKSkge1xyXG4gICAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZXJlIGl0J3MgYW4gYXJyYXkgb2Ygb2JqZWN0c1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGV2ZXJ5KFxyXG4gICAgICAgICAgICBwYXJzZWREYXRhLFxyXG4gICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSAmJiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgJ25hbWUnIGluIGl0ZW0sXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICByZXR1cm4gam9pbihtYXAocGFyc2VkRGF0YSwgKGl0ZW06IGFueSkgPT4gaXRlbS5uYW1lKSwgJ1xcbicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIYW5kbGUgY2FzZSB3aGVyZSBpdCdzIGFuIGFycmF5IG9mIHN0cmluZ3NcclxuICAgICAgICBpZiAoZXZlcnkocGFyc2VkRGF0YSwgKGl0ZW0pID0+IGlzU3RyaW5nKGl0ZW0pKSkge1xyXG4gICAgICAgICAgcmV0dXJuIGpvaW4ocGFyc2VkRGF0YSwgJ1xcbicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYXJyYXkgc3RydWN0dXJlJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQYXJzZWQgZGF0YSBpcyBub3QgYW4gYXJyYXknKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgaWYgKGluY2x1ZGVzKHRvb2x0aXAsICdcXG4nKSkge1xyXG4gICAgICAgIHJldHVybiB0b29sdGlwOyAvLyBBc3N1bWluZyBpdCdzIGFscmVhZHkgZm9ybWF0dGVkIGNvcnJlY3RseVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgdG9vbHRpcCBkYXRhOicsIGVycm9yKTtcclxuICAgICAgLy8gUmV0dXJuIGEgZmFsbGJhY2sgbWVzc2FnZSBpbiBjYXNlIG9mIGFuIGVycm9yXHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRodW1ibmFpbC1jYXJkXCIgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbWFsbCdcIiBbY2xhc3MubWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcclxuICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiIChjbGljayk9XCJvbkNhcmRDbGljaygpXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIChrZXlkb3duLmVudGVyKT1cIm9uQ2FyZENsaWNrKClcIj5cclxuICA8c2EtY2FyZCBbc2hvd0N1c3RvbUNhcmRCb2R5XT1cInRydWVcIiBbY3VzdG9tV3JhcHBlckNsYXNzXT1cIidzYS1jYXJkLWN1c3RvbS13cmFwcGVyJ1wiPlxyXG4gICAgPHNhLWNhcmQtY3VzdG9tLWJvZHk+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHVtYm5haWwtY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aHVtYm5haWwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiZGF0YT8udGh1bWJuYWlsVXJsXCIgW2FsdF09XCJkYXRhPy50aXRsZVwiIGNsYXNzPVwidGh1bWJuYWlsXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRodW1ibmFpbC1pbmZvXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGh1bWJuYWlsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJ0aHVtYm5haWwtdGl0bGVcIj57eyBkYXRhPy50aXRsZSB9fTwvaDM+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtY2hpcHNcIj5cclxuICAgICAgICAgICAgICBAZm9yIChzdGF0dXMgb2YgZGF0YT8uc3RhdHVzZXM7IHRyYWNrIHN0YXR1cy50ZXh0KSB7XHJcbiAgICAgICAgICAgICAgPHNhLWNoaXAgW3RleHRdPVwic3RhdHVzLnRleHRcIiBbdHlwZV09XCInc21hbGwnXCIgW3N0YXRlXT1cInN0YXR1cy5zdGF0ZVwiIFtmaWxsaW5nXT1cInN0YXR1cy5maWxsaW5nXCJcclxuICAgICAgICAgICAgICAgIFtpY29uUGF0aF09XCJzdGF0dXMuaWNvblBhdGhcIiBbaWNvblBvc2l0aW9uXT1cInN0YXR1cy5pY29uUG9zaXRpb25cIlxyXG4gICAgICAgICAgICAgICAgW2xhcmdlU3RhdGVJY29uXT1cInN0YXR1cy5sYXJnZVN0YXRlSWNvblwiIFtsYXJnZVN0YXRlVGV4dF09XCJzdGF0dXMubGFyZ2VTdGF0ZVRleHRcIiBbbWF0VG9vbHRpcF09XCJzdGF0dXM/LnRvb2x0aXBcIiBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tc3RhdHVzLXRvb2x0aXBcIj5cclxuICAgICAgICAgICAgICA8L3NhLWNoaXA+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRodW1ibmFpbC1tZXRhZGF0YVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRodW1ibmFpbC1kZXNjcmlwdGlvblwiIFttYXRUb29sdGlwXT1cImRhdGE/LmRlc2NyaXB0aW9uVG9vbHRpcFwiIG1hdFRvb2x0aXBDbGFzcz1cImN1c3RvbS1kZXNjcmlwdGlvbi10b29sdGlwXCI+e3sgZGF0YT8uZGVzY3JpcHRpb24gfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRodW1ibmFpbC1zdWJ0aXRsZVwiPnt7IGRhdGE/LnN1YnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zYS1jYXJkLWN1c3RvbS1ib2R5PlxyXG4gIDwvc2EtY2FyZD5cclxuPC9kaXY+XHJcbiJdfQ==
|