simpo-component-library 3.6.975 → 3.6.980

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.
@@ -141,7 +141,7 @@ export class RecentBlogPostSectionComponent extends BaseSection {
141
141
  }, 100);
142
142
  }
143
143
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecentBlogPostSectionComponent, deps: [{ token: i1.EventsService }, { token: i2.RestService }, { token: LOCAL_STORAGE }], target: i0.ɵɵFactoryTarget.Component }); }
144
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RecentBlogPostSectionComponent, isStandalone: true, selector: "simpo-recent-blog-post-section", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass", nextComponentColor: "nextComponentColor", responseData: "responseData", popular: "popular", businessId: "businessId", excludeBlogId: "excludeBlogId", size: "size" }, usesInheritance: true, ngImport: i0, template: "<section *ngIf=\"!popular || apiLoading || showCards\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [spacingHorizontal]=\"stylesLayout\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\" [ngStyle]=\"{'width' : (displayedPosts.length || 0) == 0 ? '100%' : ''}\">\r\n <div *ngFor=\"let text of data?.content?.inputText; let i = index\">\r\n <div class=\"heading-large content-side\" [simpoContentTitleSpace]=\"headingSpace\" >\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"i\" [isRTE]=\"text.isRTE\"></simpo-text-editor>\r\n\r\n </div>\r\n </div>\r\n <div class=\"heading-large content-side popular-heading\" *ngIf=\"popular && !data?.content?.inputText?.length\">\r\n You Might Also Like\r\n </div>\r\n <div class=\"row gap-2\" *ngIf=\"showCards\">\r\n <div (click)=\"goToBlog(content)\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\"\r\n class=\"individual-cards col-12\"\r\n *ngFor=\"let content of displayedPosts | slice:getSliceParameters()[0]:getSliceParameters()[1]\" [ngClass]=\"{'card-form': showCardStyle}\">\r\n <div class=\"image\">\r\n <img loading=\"lazy\" [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoCorner]=\"style?.corners\" class=\"d-block mx-lg-auto img-fluid\" alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10': showCardStyle}\">\r\n <img loading=\"lazy\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\"\r\n alt=\"\" *ngIf=\"!content.img\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10': showCardStyle}\">\r\n </div>\r\n <div class=\"heading-medium title mt-4\" [ngClass]=\"{'p-10': showCardStyle}\">\r\n {{(content?.postTitle?.length || 0) > 100 ? content.postTitle.substring(0,100)+'...\"' : content.postTitle}}\r\n </div>\r\n <div class=\"body-large mt-4 pb-15\" [ngClass]=\"{'p-10': showCardStyle}\">\r\n {{(content?.postSummary?.length || 0) > 250 ? content.postSummary.substring(0, 250) + '...' :\r\n content.postSummary}}\r\n </div>\r\n <!-- <div class=\"body-large adate mt-3\">\r\n {{content.createdTimeStamp | date:'EEEE, MMM, d, y'}}\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"apiLoading\" class=\"row\">\r\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n 'aspect-ratio': '16/9',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!showCards && !apiLoading\" class=\"row\">\r\n <div class=\"no-blog-post\">\r\n <mat-icon>info</mat-icon>This section won't be visible because you have no published blog posts.\r\n </div>\r\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n 'aspect-ratio': '16/9',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-section mt-3rem\" *ngIf=\"this.data?.action && this.data?.action?.display\">\r\n <button class=\"button p-2\" [buttonData]=\"buttonData?.content\" [buttonStyle]=\"buttonData?.styles\"\r\n simpoButtonDirective [id]=\"data?.id+(buttonData?.id || '')\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\r\n [backgroundInfo]=\"data?.styles?.background\" [appButtonEditor]=\"edit ?? false\" [buttonId]=\"buttonData?.id ?? ''\" (click)=\"openBlogList()\">{{buttonData?.content?.label}}</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\" [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</section>\r\n", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.total-container{position:relative;height:auto}.container-fluid{height:auto;padding:6rem 3rem;display:block!important}.individual-cards{padding-bottom:30px;cursor:pointer}.individual-cards img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.title{font-size:20px;font-weight:500}.popular-heading{font-size:2rem;line-height:1.25em;font-weight:700;margin-bottom:24px}@media only screen and (max-width: 475px){.popular-heading{font-size:1.5rem}}.mt-3rem{margin-top:3rem}@media only screen and (max-width: 475px){.cards{flex-direction:column}.individual-cards{width:100%}.title{font-size:26px}.col-12{flex:0 0 auto!important;width:100%!important}}.button{font-size:16px!important;padding:.5rem 1.5rem!important;display:inline-flex;align-items:center;justify-content:center;width:fit-content!important;margin-top:1rem}.skeleton-parent{display:flex;gap:15px}.skeleton{padding:10px;border-radius:10px}.second-section-wrapper{width:100%;height:auto;flex:1}.wrapper{width:100%;flex:1}.no-blog-post{color:#5185ad;text-align:left;display:flex;align-items:center;gap:15px;height:55px;background:#f6fbff;font-size:16px;font-weight:600}.card-form{background:#fff;color:#000!important;border-radius:15px;box-shadow:#0000001a 0 1px 3px,#0000000f 0 1px 2px;padding-left:unset;padding-right:unset}.br-10{border-radius:1rem 1rem 0 0!important}.p-10{padding:10px}.col-md-4{flex:0 0 auto;width:32.333333%}.pb-15{padding-bottom:15px}.row:before{content:unset!important;display:unset!important}\n"], dependencies: [{ kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i3.SlicePipe, name: "slice" }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: ContentTitleDirective, selector: "[simpoContentTitleSpace]", inputs: ["simpoContentTitleSpace"] }, { kind: "directive", type: ButtonDirectiveDirective, selector: "[simpoButtonDirective]", inputs: ["buttonStyle", "color", "scrollValue", "backgroundInfo"] }, { kind: "directive", type: ColumnDirectiveDirective, selector: "[simpoColumnDirective]", inputs: ["simpoColumnDirective"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i4.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "isRTE", "sectionId", "label", "type", "inputTextIndex", "itemIndex"], outputs: ["valueChange"] }, { kind: "directive", type: ButtonEditorDirective, selector: "button[appButtonEditor]", inputs: ["appButtonEditor", "buttonData", "buttonStyle", "backgroundInfo", "sectionId", "buttonId", "itemIndex"] }] }); }
144
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RecentBlogPostSectionComponent, isStandalone: true, selector: "simpo-recent-blog-post-section", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass", nextComponentColor: "nextComponentColor", responseData: "responseData", popular: "popular", businessId: "businessId", excludeBlogId: "excludeBlogId", size: "size" }, usesInheritance: true, ngImport: i0, template: "<section *ngIf=\"!popular || apiLoading || showCards\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [spacingHorizontal]=\"stylesLayout\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\"\r\n [ngStyle]=\"{'width' : (displayedPosts.length || 0) == 0 ? '100%' : ''}\">\r\n <div *ngFor=\"let text of data?.content?.inputText; let i = index\">\r\n <div class=\"heading-large content-side\" [simpoContentTitleSpace]=\"headingSpace\">\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\"\r\n [inputTextIndex]=\"i\" [isRTE]=\"text.isRTE\"></simpo-text-editor>\r\n\r\n </div>\r\n </div>\r\n <div class=\"heading-large content-side popular-heading\" *ngIf=\"popular && !data?.content?.inputText?.length\">\r\n You Might Also Like\r\n </div>\r\n <div class=\"row gap-2\" *ngIf=\"showCards\">\r\n <div (click)=\"goToBlog(content)\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\"\r\n class=\"individual-cards col-12\"\r\n *ngFor=\"let content of displayedPosts | slice:getSliceParameters()[0]:getSliceParameters()[1]\"\r\n [ngClass]=\"{'card-form': showCardStyle}\">\r\n <div class=\"image\">\r\n <img loading=\"lazy\" [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoCorner]=\"style?.corners\" class=\"d-block mx-lg-auto img-fluid\" alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10': showCardStyle}\">\r\n <img loading=\"lazy\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\"\r\n alt=\"\" *ngIf=\"!content.img\" loading=\"lazy\" [ngClass]=\"{'br-10': showCardStyle}\">\r\n </div>\r\n <div class=\"d-flex flex-wrap align-items-center gap-3 blog-meta-row mt-2\"\r\n [ngClass]=\"{'p-10': showCardStyle}\"\r\n *ngIf=\"content.publishedDate || content.blogScheduledDate || content.createdTimeStamp\">\r\n <span class=\"blog-meta-item\">\r\n <svg class=\"meta-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\r\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"></rect>\r\n <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line>\r\n <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line>\r\n <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line>\r\n </svg>\r\n {{(content.publishedDate || content.blogScheduledDate || content.createdTimeStamp) | date:'d MMM y'}}\r\n </span>\r\n <span class=\"blog-meta-item\">\r\n <svg class=\"meta-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\r\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path>\r\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\r\n </svg>\r\n {{content.totalVisits || 0}}\r\n </span>\r\n </div>\r\n <div class=\"heading-medium title mt-2\" [ngClass]=\"{'p-10': showCardStyle}\">\r\n {{(content?.postTitle?.length || 0) > 100 ? content.postTitle.substring(0,100)+'...\"' :\r\n content.postTitle}}\r\n </div>\r\n <div class=\"body-large mt-4 pb-15\" [ngClass]=\"{'p-10': showCardStyle}\" *ngIf=\"!popular\">\r\n {{(content?.postSummary?.length || 0) > 250 ? content.postSummary.substring(0, 250) + '...' :\r\n content.postSummary}}\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"apiLoading\" class=\"row\">\r\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n 'aspect-ratio': '16/9',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!showCards && !apiLoading\" class=\"row\">\r\n <div class=\"no-blog-post\">\r\n <mat-icon>info</mat-icon>This section won't be visible because you have no published blog posts.\r\n </div>\r\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n 'aspect-ratio': '16/9',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-section mt-3rem\" *ngIf=\"this.data?.action && this.data?.action?.display\">\r\n <button class=\"button p-2\" [buttonData]=\"buttonData?.content\" [buttonStyle]=\"buttonData?.styles\"\r\n simpoButtonDirective [id]=\"data?.id+(buttonData?.id || '')\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\" [backgroundInfo]=\"data?.styles?.background\"\r\n [appButtonEditor]=\"edit ?? false\" [buttonId]=\"buttonData?.id ?? ''\"\r\n (click)=\"openBlogList()\">{{buttonData?.content?.label}}</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</section>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.total-container{position:relative;height:auto}.container-fluid{height:auto;padding:6rem 3rem;display:block!important}.individual-cards{padding-bottom:30px;cursor:pointer}.individual-cards img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.title{font-size:20px;font-weight:500}.popular-heading{font-size:2rem;line-height:1.25em;font-weight:700;margin-bottom:24px}@media only screen and (max-width: 475px){.popular-heading{font-size:1.5rem}}.mt-3rem{margin-top:3rem}.blog-meta-row{font-size:13px;color:#6b6b6b}.blog-meta-item{display:inline-flex;align-items:center;gap:4px}.blog-meta-item .meta-icon{flex-shrink:0}@media only screen and (max-width: 475px){.cards{flex-direction:column}.individual-cards{width:100%}.title{font-size:26px}.col-12{flex:0 0 auto!important;width:100%!important}}.button{font-size:16px!important;padding:.5rem 1.5rem!important;display:inline-flex;align-items:center;justify-content:center;width:fit-content!important;margin-top:1rem}.skeleton-parent{display:flex;gap:15px}.skeleton{padding:10px;border-radius:10px}.second-section-wrapper{width:100%;height:auto;flex:1}.wrapper{width:100%;flex:1}.no-blog-post{color:#5185ad;text-align:left;display:flex;align-items:center;gap:15px;height:55px;background:#f6fbff;font-size:16px;font-weight:600}.card-form{background:#fff;color:#000!important;border-radius:15px;box-shadow:#0000001a 0 1px 3px,#0000000f 0 1px 2px;padding-left:unset;padding-right:unset}.br-10{border-radius:1rem 1rem 0 0!important}.p-10{padding:0 10px}.col-md-4{flex:0 0 auto;width:32.333333%}.pb-15{padding-bottom:15px}.row:before{content:unset!important;display:unset!important}\n"], dependencies: [{ kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i3.SlicePipe, name: "slice" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: ContentTitleDirective, selector: "[simpoContentTitleSpace]", inputs: ["simpoContentTitleSpace"] }, { kind: "directive", type: ButtonDirectiveDirective, selector: "[simpoButtonDirective]", inputs: ["buttonStyle", "color", "scrollValue", "backgroundInfo"] }, { kind: "directive", type: ColumnDirectiveDirective, selector: "[simpoColumnDirective]", inputs: ["simpoColumnDirective"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i4.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "isRTE", "sectionId", "label", "type", "inputTextIndex", "itemIndex"], outputs: ["valueChange"] }, { kind: "directive", type: ButtonEditorDirective, selector: "button[appButtonEditor]", inputs: ["appButtonEditor", "buttonData", "buttonStyle", "backgroundInfo", "sectionId", "buttonId", "itemIndex"] }] }); }
145
145
  }
146
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecentBlogPostSectionComponent, decorators: [{
147
147
  type: Component,
@@ -168,7 +168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
168
168
  SpacingHorizontalDirective,
169
169
  TextEditorComponent,
170
170
  ButtonEditorDirective
171
- ], template: "<section *ngIf=\"!popular || apiLoading || showCards\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [spacingHorizontal]=\"stylesLayout\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\" [ngStyle]=\"{'width' : (displayedPosts.length || 0) == 0 ? '100%' : ''}\">\r\n <div *ngFor=\"let text of data?.content?.inputText; let i = index\">\r\n <div class=\"heading-large content-side\" [simpoContentTitleSpace]=\"headingSpace\" >\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"i\" [isRTE]=\"text.isRTE\"></simpo-text-editor>\r\n\r\n </div>\r\n </div>\r\n <div class=\"heading-large content-side popular-heading\" *ngIf=\"popular && !data?.content?.inputText?.length\">\r\n You Might Also Like\r\n </div>\r\n <div class=\"row gap-2\" *ngIf=\"showCards\">\r\n <div (click)=\"goToBlog(content)\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\"\r\n class=\"individual-cards col-12\"\r\n *ngFor=\"let content of displayedPosts | slice:getSliceParameters()[0]:getSliceParameters()[1]\" [ngClass]=\"{'card-form': showCardStyle}\">\r\n <div class=\"image\">\r\n <img loading=\"lazy\" [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoCorner]=\"style?.corners\" class=\"d-block mx-lg-auto img-fluid\" alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10': showCardStyle}\">\r\n <img loading=\"lazy\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\"\r\n alt=\"\" *ngIf=\"!content.img\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10': showCardStyle}\">\r\n </div>\r\n <div class=\"heading-medium title mt-4\" [ngClass]=\"{'p-10': showCardStyle}\">\r\n {{(content?.postTitle?.length || 0) > 100 ? content.postTitle.substring(0,100)+'...\"' : content.postTitle}}\r\n </div>\r\n <div class=\"body-large mt-4 pb-15\" [ngClass]=\"{'p-10': showCardStyle}\">\r\n {{(content?.postSummary?.length || 0) > 250 ? content.postSummary.substring(0, 250) + '...' :\r\n content.postSummary}}\r\n </div>\r\n <!-- <div class=\"body-large adate mt-3\">\r\n {{content.createdTimeStamp | date:'EEEE, MMM, d, y'}}\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"apiLoading\" class=\"row\">\r\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n 'aspect-ratio': '16/9',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!showCards && !apiLoading\" class=\"row\">\r\n <div class=\"no-blog-post\">\r\n <mat-icon>info</mat-icon>This section won't be visible because you have no published blog posts.\r\n </div>\r\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n 'aspect-ratio': '16/9',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-section mt-3rem\" *ngIf=\"this.data?.action && this.data?.action?.display\">\r\n <button class=\"button p-2\" [buttonData]=\"buttonData?.content\" [buttonStyle]=\"buttonData?.styles\"\r\n simpoButtonDirective [id]=\"data?.id+(buttonData?.id || '')\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\r\n [backgroundInfo]=\"data?.styles?.background\" [appButtonEditor]=\"edit ?? false\" [buttonId]=\"buttonData?.id ?? ''\" (click)=\"openBlogList()\">{{buttonData?.content?.label}}</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\" [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</section>\r\n", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.total-container{position:relative;height:auto}.container-fluid{height:auto;padding:6rem 3rem;display:block!important}.individual-cards{padding-bottom:30px;cursor:pointer}.individual-cards img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.title{font-size:20px;font-weight:500}.popular-heading{font-size:2rem;line-height:1.25em;font-weight:700;margin-bottom:24px}@media only screen and (max-width: 475px){.popular-heading{font-size:1.5rem}}.mt-3rem{margin-top:3rem}@media only screen and (max-width: 475px){.cards{flex-direction:column}.individual-cards{width:100%}.title{font-size:26px}.col-12{flex:0 0 auto!important;width:100%!important}}.button{font-size:16px!important;padding:.5rem 1.5rem!important;display:inline-flex;align-items:center;justify-content:center;width:fit-content!important;margin-top:1rem}.skeleton-parent{display:flex;gap:15px}.skeleton{padding:10px;border-radius:10px}.second-section-wrapper{width:100%;height:auto;flex:1}.wrapper{width:100%;flex:1}.no-blog-post{color:#5185ad;text-align:left;display:flex;align-items:center;gap:15px;height:55px;background:#f6fbff;font-size:16px;font-weight:600}.card-form{background:#fff;color:#000!important;border-radius:15px;box-shadow:#0000001a 0 1px 3px,#0000000f 0 1px 2px;padding-left:unset;padding-right:unset}.br-10{border-radius:1rem 1rem 0 0!important}.p-10{padding:10px}.col-md-4{flex:0 0 auto;width:32.333333%}.pb-15{padding-bottom:15px}.row:before{content:unset!important;display:unset!important}\n"] }]
171
+ ], template: "<section *ngIf=\"!popular || apiLoading || showCards\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [spacingHorizontal]=\"stylesLayout\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\"\r\n [ngStyle]=\"{'width' : (displayedPosts.length || 0) == 0 ? '100%' : ''}\">\r\n <div *ngFor=\"let text of data?.content?.inputText; let i = index\">\r\n <div class=\"heading-large content-side\" [simpoContentTitleSpace]=\"headingSpace\">\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\"\r\n [inputTextIndex]=\"i\" [isRTE]=\"text.isRTE\"></simpo-text-editor>\r\n\r\n </div>\r\n </div>\r\n <div class=\"heading-large content-side popular-heading\" *ngIf=\"popular && !data?.content?.inputText?.length\">\r\n You Might Also Like\r\n </div>\r\n <div class=\"row gap-2\" *ngIf=\"showCards\">\r\n <div (click)=\"goToBlog(content)\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\"\r\n class=\"individual-cards col-12\"\r\n *ngFor=\"let content of displayedPosts | slice:getSliceParameters()[0]:getSliceParameters()[1]\"\r\n [ngClass]=\"{'card-form': showCardStyle}\">\r\n <div class=\"image\">\r\n <img loading=\"lazy\" [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoCorner]=\"style?.corners\" class=\"d-block mx-lg-auto img-fluid\" alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10': showCardStyle}\">\r\n <img loading=\"lazy\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\"\r\n alt=\"\" *ngIf=\"!content.img\" loading=\"lazy\" [ngClass]=\"{'br-10': showCardStyle}\">\r\n </div>\r\n <div class=\"d-flex flex-wrap align-items-center gap-3 blog-meta-row mt-2\"\r\n [ngClass]=\"{'p-10': showCardStyle}\"\r\n *ngIf=\"content.publishedDate || content.blogScheduledDate || content.createdTimeStamp\">\r\n <span class=\"blog-meta-item\">\r\n <svg class=\"meta-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\r\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"></rect>\r\n <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line>\r\n <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line>\r\n <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line>\r\n </svg>\r\n {{(content.publishedDate || content.blogScheduledDate || content.createdTimeStamp) | date:'d MMM y'}}\r\n </span>\r\n <span class=\"blog-meta-item\">\r\n <svg class=\"meta-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\r\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path>\r\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\r\n </svg>\r\n {{content.totalVisits || 0}}\r\n </span>\r\n </div>\r\n <div class=\"heading-medium title mt-2\" [ngClass]=\"{'p-10': showCardStyle}\">\r\n {{(content?.postTitle?.length || 0) > 100 ? content.postTitle.substring(0,100)+'...\"' :\r\n content.postTitle}}\r\n </div>\r\n <div class=\"body-large mt-4 pb-15\" [ngClass]=\"{'p-10': showCardStyle}\" *ngIf=\"!popular\">\r\n {{(content?.postSummary?.length || 0) > 250 ? content.postSummary.substring(0, 250) + '...' :\r\n content.postSummary}}\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"apiLoading\" class=\"row\">\r\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n 'aspect-ratio': '16/9',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!showCards && !apiLoading\" class=\"row\">\r\n <div class=\"no-blog-post\">\r\n <mat-icon>info</mat-icon>This section won't be visible because you have no published blog posts.\r\n </div>\r\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"columnSize\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n 'aspect-ratio': '16/9',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-section mt-3rem\" *ngIf=\"this.data?.action && this.data?.action?.display\">\r\n <button class=\"button p-2\" [buttonData]=\"buttonData?.content\" [buttonStyle]=\"buttonData?.styles\"\r\n simpoButtonDirective [id]=\"data?.id+(buttonData?.id || '')\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\" [backgroundInfo]=\"data?.styles?.background\"\r\n [appButtonEditor]=\"edit ?? false\" [buttonId]=\"buttonData?.id ?? ''\"\r\n (click)=\"openBlogList()\">{{buttonData?.content?.label}}</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</section>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.total-container{position:relative;height:auto}.container-fluid{height:auto;padding:6rem 3rem;display:block!important}.individual-cards{padding-bottom:30px;cursor:pointer}.individual-cards img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.title{font-size:20px;font-weight:500}.popular-heading{font-size:2rem;line-height:1.25em;font-weight:700;margin-bottom:24px}@media only screen and (max-width: 475px){.popular-heading{font-size:1.5rem}}.mt-3rem{margin-top:3rem}.blog-meta-row{font-size:13px;color:#6b6b6b}.blog-meta-item{display:inline-flex;align-items:center;gap:4px}.blog-meta-item .meta-icon{flex-shrink:0}@media only screen and (max-width: 475px){.cards{flex-direction:column}.individual-cards{width:100%}.title{font-size:26px}.col-12{flex:0 0 auto!important;width:100%!important}}.button{font-size:16px!important;padding:.5rem 1.5rem!important;display:inline-flex;align-items:center;justify-content:center;width:fit-content!important;margin-top:1rem}.skeleton-parent{display:flex;gap:15px}.skeleton{padding:10px;border-radius:10px}.second-section-wrapper{width:100%;height:auto;flex:1}.wrapper{width:100%;flex:1}.no-blog-post{color:#5185ad;text-align:left;display:flex;align-items:center;gap:15px;height:55px;background:#f6fbff;font-size:16px;font-weight:600}.card-form{background:#fff;color:#000!important;border-radius:15px;box-shadow:#0000001a 0 1px 3px,#0000000f 0 1px 2px;padding-left:unset;padding-right:unset}.br-10{border-radius:1rem 1rem 0 0!important}.p-10{padding:0 10px}.col-md-4{flex:0 0 auto;width:32.333333%}.pb-15{padding-bottom:15px}.row:before{content:unset!important;display:unset!important}\n"] }]
172
172
  }], ctorParameters: () => [{ type: i1.EventsService }, { type: i2.RestService }, { type: undefined, decorators: [{
173
173
  type: Inject,
174
174
  args: [LOCAL_STORAGE]
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
195
195
  }], size: [{
196
196
  type: Input
197
197
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi9yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRSxPQUFPLFdBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUs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QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMT0NBTF9TVE9SQUdFIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYWwtc3RvcmFnZS50b2tlbic7XHJcbmltcG9ydCB7IFN0b3JhZ2VMaWtlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS1saWtlJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgUmVjZW50QmxvZ1Bvc3RTZWN0aW9uTW9kZWwsIFJlY2VudEJsb2dQb3N0Q29udGVudE1vZGVsLCBCYW5uZXJHcmlkU3R5bGVzTW9kZWwgfSBmcm9tICcuL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEhvdmVyRWxlbWVudHNDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9ob3Zlci1lbGVtZW50cy9ob3Zlci1lbGVtZW50cy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGVsZXRlSG92ZXJFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvZGVsZXRlLWhvdmVyLWVsZW1lbnQvZGVsZXRlLWhvdmVyLWVsZW1lbnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvb3ZlcmxheS1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJvcmRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ib3JkZXItZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT2JqZWN0UG9zaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtcG9zaXRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29ybmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2Nvcm5lci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTaW1wb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9lbGVtZW50cy9zaW1wby1idXR0b24vc2ltcG8tYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb250ZW50VGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC10aXRsZS1zcGFjaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNQQUNJTkcgfSBmcm9tICcuLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIEJ1dHRvbk1vZGVsLCBMYXlPdXRNb2RlbCB9IGZyb20gJy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IENBUkRfU0laRSB9IGZyb20gJy4uLy4uL3N0eWxlcy90eXBlcyc7XHJcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbHVtbkRpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb2x1bW4tZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5neFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXNrZWxldG9uLWxvYWRlcic7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgU2FuaXRpemVIdG1sUGlwZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Nhbml0aXplSHRtbCc7XHJcbmltcG9ydCB7IFN2Z0RpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9zdmctZGl2aWRlci9zdmctZGl2aWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWhvcml6b250YWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZWRpdG9yLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXJlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIb3ZlckVsZW1lbnRzQ29tcG9uZW50LFxyXG4gICAgRGVsZXRlSG92ZXJFbGVtZW50Q29tcG9uZW50LFxyXG4gICAgT3ZlcmxheURpcmVjdGl2ZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIEJvcmRlckRpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlLFxyXG4gICAgQ29ybmVyRGlyZWN0aXZlLFxyXG4gICAgU2ltcG9CdXR0b25Db21wb25lbnQsXHJcbiAgICBDb250ZW50VGl0bGVEaXJlY3RpdmUsXHJcbiAgICBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUsXHJcbiAgICBDb2x1bW5EaXJlY3RpdmVEaXJlY3RpdmUsXHJcbiAgICBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSxcclxuICAgIE1hdEljb24sXHJcbiAgICBTYW5pdGl6ZUh0bWxQaXBlLFN2Z0RpdmlkZXJDb21wb25lbnQsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSxcclxuICAgIFRleHRFZGl0b3JDb21wb25lbnQsXHJcbiAgICBCdXR0b25FZGl0b3JEaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24uY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlY2VudEJsb2dQb3N0U2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhPzpSZWNlbnRCbG9nUG9zdFNlY3Rpb25Nb2RlbDtcclxuICBASW5wdXQoKSBpbmRleD8gOiBudW1iZXI7XHJcbiAgY29udGVudD86IFJlY2VudEJsb2dQb3N0Q29udGVudE1vZGVsO1xyXG4gIEBJbnB1dCgpIGVkaXQ/IDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkZWxldGU/IDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBASW5wdXQoKSBuZXh0Q29tcG9uZW50Q29sb3I/OiBCYWNrZ3JvdW5kTW9kZWw7XHJcblxyXG4gIEBJbnB1dCgpIHJlc3BvbnNlRGF0YTogYW55W10gPSBbXTtcclxuICBzdHlsZT86IEJhbm5lckdyaWRTdHlsZXNNb2RlbDtcclxuICBidXR0b25EYXRhPzogQnV0dG9uTW9kZWxcclxuXHJcbiAgQElucHV0KCkgcG9wdWxhcj86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBidXNpbmVzc0lkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGV4Y2x1ZGVCbG9nSWQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2l6ZT86IG51bWJlcjtcclxuXHJcbiAgcG9wdWxhckJsb2dzOiBhbnlbXSA9IFtdO1xyXG4gIGFwaUxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9ldmVudFNlcnZpY2UgOiBFdmVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBASW5qZWN0KExPQ0FMX1NUT1JBR0UpIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZTogU3RvcmFnZUxpa2VcclxuICApe1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWxldGVTZWxlY3RlZCA9IHRoaXMuZGVsZXRlXHJcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XHJcbiAgICB0aGlzLnN0eWxlID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICB0aGlzLmJ1dHRvbkRhdGEgPSB0aGlzLmRhdGE/LmFjdGlvbj8uYnV0dG9ucz8uWzBdO1xyXG5cclxuICAgIGlmICh0aGlzLnBvcHVsYXIpIHtcclxuICAgICAgY29uc29sZS5sb2coJ0xvYWRpbmcgcG9wdWxhciBibG9ncyBmb3IgYnVzaW5lc3NJZDonLCB0aGlzLmJ1c2luZXNzSWQsICdleGNsdWRpbmcgYmxvZ0lkOicsIHRoaXMuZXhjbHVkZUJsb2dJZCk7XHJcbiAgICAgIHRoaXMubG9hZFBvcHVsYXJCbG9ncygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9yKGxldCBibG9nIG9mIHRoaXMucmVzcG9uc2VEYXRhKSB7XHJcbiAgICAgICAgYmxvZ1snaW1nJ10gPSBibG9nLmJsb2Nrcy5maW5kKCh4OiBhbnkpID0+IHgudHlwZSA9PT0gJ2ltYWdlJyk/LmRhdGE/LmZpbGU/LnVybFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBoZWFkaW5nU3BhY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdHlsZT8ubGF5b3V0LmhlYWRpbmdTcGFjaW5nIGFzIFNQQUNJTkc7XHJcbiAgfVxyXG5cclxuICAgZ2V0IHN0eWxlc0xheW91dCgpIHtcclxuICAgICAgICByZXR1cm4geyAuLi50aGlzLnN0eWxlPy5sYXlvdXQgfSBhcyBMYXlPdXRNb2RlbDtcclxuICAgIH1cclxuXHJcbiAgZ2V0IGNvbHVtblNpemUoKTogQ0FSRF9TSVpFIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGE/LnN0eWxlcz8uc2l6ZSB8fCAnTWVkaXVtJztcclxuICB9XHJcblxyXG4gIGdldCBzaG93Q2FyZFN0eWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8uY29udGVudD8uZGlzcGxheT8uc2hvd0NhcmQgPz8gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGdldCByZXNvbHZlZEJ1c2luZXNzSWQoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmJ1c2luZXNzSWQgfHxcclxuICAgICAgdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2JJZCcpIHx8XHJcbiAgICAgIHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdidXNpbmVzc0lkJykgfHxcclxuICAgICAgbnVsbFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCBkaXNwbGF5ZWRQb3N0cygpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3B1bGFyID8gdGhpcy5wb3B1bGFyQmxvZ3MgOiB0aGlzLnJlc3BvbnNlRGF0YTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNFbm91Z2hQb3B1bGFyUG9zdHMoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMucG9wdWxhcikgcmV0dXJuIHRydWU7XHJcbiAgICBjb25zdCBtaW5SZXF1aXJlZCA9IHRoaXMuZXhjbHVkZUJsb2dJZCA/IDIgOiAzO1xyXG4gICAgcmV0dXJuIHRoaXMucG9wdWxhckJsb2dzLmxlbmd0aCA+PSBtaW5SZXF1aXJlZDtcclxuICB9XHJcblxyXG4gIGdldCBzaG93Q2FyZHMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuYXBpTG9hZGluZyAmJiB0aGlzLmRpc3BsYXllZFBvc3RzLmxlbmd0aCA+IDAgJiYgdGhpcy5oYXNFbm91Z2hQb3B1bGFyUG9zdHM7XHJcbiAgfVxyXG5cclxuICBsb2FkUG9wdWxhckJsb2dzKCkge1xyXG4gICAgY29uc3QgYklkID0gdGhpcy5yZXNvbHZlZEJ1c2luZXNzSWQ7XHJcbiAgICBpZiAoIWJJZCkge1xyXG4gICAgICAvLyBObyBidXNpbmVzcyBjb250ZXh0IChlLmcuIHN0YXRpYyBidWlsZGVyIHByZXZpZXcpIOKAlCBmYWxsIGJhY2sgdG8gd2hhdGV2ZXIgZGVtbyBkYXRhIHdhcyBwYXNzZWQgaW4uXHJcbiAgICAgIHRoaXMucG9wdWxhckJsb2dzID0gdGhpcy5yZXNwb25zZURhdGE7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlcXVlc3RTaXplID0gdGhpcy5zaXplIHx8ICh0aGlzLmV4Y2x1ZGVCbG9nSWQgPyA2IDogNSk7XHJcbiAgICB0aGlzLmFwaUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRQb3B1bGFyQmxvZ3MoYklkLCByZXF1ZXN0U2l6ZSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQVBJIHJlc3BvbnNlIGZvciBwb3B1bGFyIGJsb2dzOicsIHJlc3BvbnNlKTtcclxuICAgICAgICBsZXQgbGlzdCA9IHJlc3BvbnNlPy5kYXRhID8/IFtdO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdGZXRjaGVkIHBvcHVsYXIgYmxvZ3M6JywgbGlzdCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZXhjbHVkZUJsb2dJZCkge1xyXG4gICAgICAgICAgbGlzdCA9IGxpc3QuZmlsdGVyKChibG9nOiBhbnkpID0+IGJsb2cuaWQgIT09IHRoaXMuZXhjbHVkZUJsb2dJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAoY29uc3QgYmxvZyBvZiBsaXN0KSB7XHJcbiAgICAgICAgICBibG9nWydpbWcnXSA9IGJsb2cuYmxvY2tzPy5maW5kKCh4OiBhbnkpID0+IHgudHlwZSA9PT0gJ2ltYWdlJyk/LmRhdGE/LmZpbGU/LnVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5wb3B1bGFyQmxvZ3MgPSBsaXN0O1xyXG4gICAgICAgIHRoaXMuYXBpTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucG9wdWxhckJsb2dzID0gW107XHJcbiAgICAgICAgdGhpcy5hcGlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNsaWNlUGFyYW1ldGVycygpIHtcclxuICAgIC8vIEEgZGV0YWlscy1wYWdlIFwiWW91IE1pZ2h0IEFsc28gTGlrZVwiIHdpZGdldCAoZXhjbHVkZUJsb2dJZCBzZXQpIHNob3dzIGEgY2xlYW4gc2luZ2xlXHJcbiAgICAvLyByb3cgb2YgMzsgYSBwYWdlLWxldmVsIHBvcHVsYXIgc2VjdGlvbiB3aXRoIG5vIGJ1aWxkZXIgY29uZmlnIGZhbGxzIGJhY2sgdG8gNS5cclxuICAgIGNvbnN0IGZhbGxiYWNrQ2FwID0gdGhpcy5wb3B1bGFyID8gKHRoaXMuZXhjbHVkZUJsb2dJZCA/IDMgOiA1KSA6IDA7XHJcbiAgICByZXR1cm4gWzAsICh0aGlzLmNvbnRlbnQ/Lm5vT2ZQb3N0cyB8fCBmYWxsYmFja0NhcCldO1xyXG4gIH1cclxuXHJcbiAgZ2V0QmxvZ0J5SWQoYmxvZ0lkOiBhbnkpe1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmJsb2dCeUlkRXZlbnQuZW1pdChibG9nSWQpO1xyXG4gIH1cclxuXHJcbiAgZ29Ub0Jsb2coY29udGVudDogYW55KSB7XHJcbiAgICB0aGlzLmdldEJsb2dCeUlkKGNvbnRlbnQuYXJ0aWNsZVNsdWcpO1xyXG4gICAgLy8gcm91dGVyLm5hdmlnYXRlIG9ubHkgcmUtcmVuZGVycyBpZiB0aGUgY29uc3VtaW5nIGFwcCBoYXMgYSBtYXRjaGluZyByb3V0ZSArIDxyb3V0ZXItb3V0bGV0PixcclxuICAgIC8vIHdoaWNoIGlzbid0IGd1YXJhbnRlZWQgaGVyZSDigJQgYSBoYXJkIG5hdmlnYXRpb24gYWx3YXlzIGxhbmRzIG9uIHRoZSByaWdodCBVUkwgcmVnYXJkbGVzcy5cclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYC9ibG9nLyR7Y29udGVudC5hcnRpY2xlU2x1Z31gO1xyXG4gIH1cclxuXHJcbiAgb3BlbkJsb2dMaXN0KCl7XHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2Uub3BlbkJsb2dMaXN0RXZlbnQuZW1pdCgpO1xyXG4gIH1cclxuICBlZGl0U2VjdGlvbigpe1xyXG5cclxuICAgIGlmKHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgXHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2UudG9nZ2xlRWRpdG9yRXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpPT4ge1xyXG4gICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZWRpdFNlY3Rpb24uZW1pdCh7ZGF0YTp0aGlzLmRhdGF9KTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uICpuZ0lmPVwiIXBvcHVsYXIgfHwgYXBpTG9hZGluZyB8fCBzaG93Q2FyZHNcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlPy5iYWNrZ3JvdW5kXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIlxyXG4gIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgIFthdHRyLnN0eWxlXT1cImN1c3RvbUNsYXNzXCI+XHJcbiAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9PdmVybGF5XT1cInN0eWxlPy5iYWNrZ3JvdW5kXCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0JvcmRlcl09XCJzdHlsZT8uYm9yZGVyXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlPy5sYXlvdXRcIj5cclxuICAgICAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGU/LmFuaW1hdGlvblwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnIDogKGRpc3BsYXllZFBvc3RzLmxlbmd0aCB8fCAwKSA9PSAwID8gJzEwMCUnIDogJyd9XCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGV4dCBvZiBkYXRhPy5jb250ZW50Py5pbnB1dFRleHQ7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLWxhcmdlIGNvbnRlbnQtc2lkZVwiIFtzaW1wb0NvbnRlbnRUaXRsZVNwYWNlXT1cImhlYWRpbmdTcGFjZVwiID5cclxuICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cInRleHQudmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiIFtzZWN0aW9uSWRdPVwiZGF0YT8uaWRcIiBbaW5wdXRUZXh0SW5kZXhdPVwiaVwiIFtpc1JURV09XCJ0ZXh0LmlzUlRFXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1sYXJnZSBjb250ZW50LXNpZGUgcG9wdWxhci1oZWFkaW5nXCIgKm5nSWY9XCJwb3B1bGFyICYmICFkYXRhPy5jb250ZW50Py5pbnB1dFRleHQ/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgWW91IE1pZ2h0IEFsc28gTGlrZVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZ2FwLTJcIiAqbmdJZj1cInNob3dDYXJkc1wiPlxyXG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwiZ29Ub0Jsb2coY29udGVudClcIiBbc2ltcG9Db2x1bW5EaXJlY3RpdmVdPVwiY29sdW1uU2l6ZVwiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5kaXZpZHVhbC1jYXJkcyBjb2wtMTJcIlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBkaXNwbGF5ZWRQb3N0cyB8IHNsaWNlOmdldFNsaWNlUGFyYW1ldGVycygpWzBdOmdldFNsaWNlUGFyYW1ldGVycygpWzFdXCIgW25nQ2xhc3NdPVwieydjYXJkLWZvcm0nOiBzaG93Q2FyZFN0eWxlfVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIj5cclxuICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgIFtzcmNdPVwiY29udGVudC5pbWdcIiBbc2ltcG9JbWFnZURpcmVjdGl2ZV09XCJzdHlsZT8uaW1hZ2VcIiBbaWRdPVwiZGF0YT8uaWRcIlxyXG4gICAgICAgICAgICAgICAgW3NpbXBvQ29ybmVyXT1cInN0eWxlPy5jb3JuZXJzXCIgY2xhc3M9XCJkLWJsb2NrIG14LWxnLWF1dG8gaW1nLWZsdWlkXCIgYWx0PVwiXCIgKm5nSWY9XCJjb250ZW50LmltZ1wiXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiICBbbmdDbGFzc109XCJ7J2JyLTEwJzogc2hvd0NhcmRTdHlsZX1cIj5cclxuICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgIFtzaW1wb0ltYWdlRGlyZWN0aXZlXT1cInN0eWxlPy5pbWFnZVwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZT8uY29ybmVyc1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Rldi1iZWVvcy5zMy5hbWF6b25hd3MuY29tL2xpYnJhcnktbWVkaWEvNTQxMzI5YzE3MTkyMzY5NjMxOTlwZXhlbHMtcGl4YWJheS0yNjI1MDguanBnXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiICpuZ0lmPVwiIWNvbnRlbnQuaW1nXCJcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCIgW25nQ2xhc3NdPVwieydici0xMCc6IHNob3dDYXJkU3R5bGV9XCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1tZWRpdW0gdGl0bGUgbXQtNFwiICBbbmdDbGFzc109XCJ7J3AtMTAnOiBzaG93Q2FyZFN0eWxlfVwiPlxyXG4gICAgICAgICAgICAgIHt7KGNvbnRlbnQ/LnBvc3RUaXRsZT8ubGVuZ3RoIHx8IDApID4gIDEwMCA/IGNvbnRlbnQucG9zdFRpdGxlLnN1YnN0cmluZygwLDEwMCkrJy4uLlwiJyA6IGNvbnRlbnQucG9zdFRpdGxlfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib2R5LWxhcmdlIG10LTQgcGItMTVcIiBbbmdDbGFzc109XCJ7J3AtMTAnOiBzaG93Q2FyZFN0eWxlfVwiPlxyXG4gICAgICAgICAgICAgIHt7KGNvbnRlbnQ/LnBvc3RTdW1tYXJ5Py5sZW5ndGggfHwgMCkgPiAyNTAgPyBjb250ZW50LnBvc3RTdW1tYXJ5LnN1YnN0cmluZygwLCAyNTApICsgJy4uLicgOlxyXG4gICAgICAgICAgICAgIGNvbnRlbnQucG9zdFN1bW1hcnl9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiYm9keS1sYXJnZSBhZGF0ZSBtdC0zXCI+XHJcbiAgICAgICAgICAgICAge3tjb250ZW50LmNyZWF0ZWRUaW1lU3RhbXAgfCBkYXRlOidFRUVFLCBNTU0sIGQsIHknfX1cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImFwaUxvYWRpbmdcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uIGNvbC0xMlwiICBbc2ltcG9Db2x1bW5EaXJlY3RpdmVdPVwiY29sdW1uU2l6ZVwiIFtpZF09XCJkYXRhPy5pZFwiICpuZ0Zvcj1cImxldCBpIG9mIFsxLDIsM11cIj5cclxuICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJzogJzE2LzknLFxyXG4gICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXHJcbiAgICAgICAgICAgICAgJ3JpZ2h0JzogJzVweCdcclxuICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWNvbmQtc2VjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxNXB4JyxcclxuICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnXHJcbiAgICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6ICc5MCUnLFxyXG4gICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcwJyxcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTVweCcsXHJcbiAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICAgICAnZGlzcGxheScgOiAnZmxleCdcclxuICAgICAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNjAlJyxcclxuICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxyXG4gICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknIDogJ2ZsZXgnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd0NhcmRzICYmICFhcGlMb2FkaW5nXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuby1ibG9nLXBvc3RcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmluZm88L21hdC1pY29uPlRoaXMgc2VjdGlvbiB3b24ndCBiZSB2aXNpYmxlIGJlY2F1c2UgeW91IGhhdmUgbm8gcHVibGlzaGVkIGJsb2cgcG9zdHMuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbiBjb2wtMTJcIiAgW3NpbXBvQ29sdW1uRGlyZWN0aXZlXT1cImNvbHVtblNpemVcIiBbaWRdPVwiZGF0YT8uaWRcIiAqbmdGb3I9XCJsZXQgaSBvZiBbMSwyLDNdXCI+XHJcbiAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbyc6ICcxNi85JyxcclxuICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAncG9zaXRpb24nOiAncmVsYXRpdmUnLFxyXG4gICAgICAgICAgICAgICdyaWdodCc6ICc1cHgnXHJcbiAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vjb25kLXNlY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTVweCcsXHJcbiAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4J1xyXG4gICAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnOTAlJyxcclxuICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxyXG4gICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknIDogJ2ZsZXgnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICB3aWR0aDogJzYwJScsXHJcbiAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxNXB4JyxcclxuICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnMTBweCcsXHJcbiAgICAgICAgICAgICAgICAgICdkaXNwbGF5JyA6ICdmbGV4J1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXNlY3Rpb24gbXQtM3JlbVwiICpuZ0lmPVwidGhpcy5kYXRhPy5hY3Rpb24gJiYgdGhpcy5kYXRhPy5hY3Rpb24/LmRpc3BsYXlcIj5cclxuICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHAtMlwiIFtidXR0b25EYXRhXT1cImJ1dHRvbkRhdGE/LmNvbnRlbnRcIiBbYnV0dG9uU3R5bGVdPVwiYnV0dG9uRGF0YT8uc3R5bGVzXCJcclxuICAgICAgICAgICAgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImRhdGE/LmlkKyhidXR0b25EYXRhPy5pZCB8fCAnJylcIiAgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcclxuICAgICAgICAgICAgW2JhY2tncm91bmRJbmZvXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZFwiIFthcHBCdXR0b25FZGl0b3JdPVwiZWRpdCA/PyBmYWxzZVwiIFtidXR0b25JZF09XCJidXR0b25EYXRhPy5pZCA/PyAnJ1wiIChjbGljayk9XCJvcGVuQmxvZ0xpc3QoKVwiPnt7YnV0dG9uRGF0YT8uY29udGVudD8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGU/LmRldmlkZXI/LmRpc3BsYXlcIj5cclxuICAgIDxzaW1wby1zdmctZGl2aWRlciBbZGl2aWRlclR5cGVdPVwic3R5bGU/LmRldmlkZXI/LmRldmlkZXJUeXBlXCIgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuIl19
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi9yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRSxPQUFPLFdBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUs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bkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTE9DQUxfU1RPUkFHRSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2UudG9rZW4nO1xyXG5pbXBvcnQgeyBTdG9yYWdlTGlrZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2UtbGlrZSc7XHJcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi9CYXNlU2VjdGlvbic7XHJcbmltcG9ydCB7IFJlY2VudEJsb2dQb3N0U2VjdGlvbk1vZGVsLCBSZWNlbnRCbG9nUG9zdENvbnRlbnRNb2RlbCwgQmFubmVyR3JpZFN0eWxlc01vZGVsIH0gZnJvbSAnLi9yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIb3ZlckVsZW1lbnRzQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvaG92ZXItZWxlbWVudHMvaG92ZXItZWxlbWVudHMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2RlbGV0ZS1ob3Zlci1lbGVtZW50L2RlbGV0ZS1ob3Zlci1lbGVtZW50LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL292ZXJsYXktZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCb3JkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYm9yZGVyLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSW1hZ2VEaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2ltYWdlLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvcm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb3JuZXItZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2ltcG9CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHMvc2ltcG8tYnV0dG9uL3NpbXBvLWJ1dHRvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ29udGVudFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtdGl0bGUtc3BhY2luZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTUEFDSU5HIH0gZnJvbSAnLi4vLi4vc3R5bGVzL2luZGV4JztcclxuaW1wb3J0IHsgQmFja2dyb3VuZE1vZGVsLCBCdXR0b25Nb2RlbCwgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBDQVJEX1NJWkUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdHlwZXMnO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb2x1bW5EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29sdW1uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1za2VsZXRvbi1sb2FkZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFNhbml0aXplSHRtbFBpcGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYW5pdGl6ZUh0bWwnO1xyXG5pbXBvcnQgeyBTdmdEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvc3ZnLWRpdmlkZXIvc3ZnLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25FZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWVkaXRvci5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSG92ZXJFbGVtZW50c0NvbXBvbmVudCxcclxuICAgIERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCxcclxuICAgIE92ZXJsYXlEaXJlY3RpdmUsXHJcbiAgICBBbmltYXRpb25EaXJlY3RpdmUsXHJcbiAgICBCb3JkZXJEaXJlY3RpdmUsXHJcbiAgICBDb250ZW50Rml0RGlyZWN0aXZlLFxyXG4gICAgSW1hZ2VEaXJlY3RpdmVEaXJlY3RpdmUsXHJcbiAgICBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSxcclxuICAgIENvcm5lckRpcmVjdGl2ZSxcclxuICAgIFNpbXBvQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgQ29udGVudFRpdGxlRGlyZWN0aXZlLFxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQ29sdW1uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUsXHJcbiAgICBNYXRJY29uLFxyXG4gICAgU2FuaXRpemVIdG1sUGlwZSxTdmdEaXZpZGVyQ29tcG9uZW50LFxyXG4gICAgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUsXHJcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uRWRpdG9yRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNlbnRCbG9nUG9zdFNlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YT86UmVjZW50QmxvZ1Bvc3RTZWN0aW9uTW9kZWw7XHJcbiAgQElucHV0KCkgaW5kZXg/IDogbnVtYmVyO1xyXG4gIGNvbnRlbnQ/OiBSZWNlbnRCbG9nUG9zdENvbnRlbnRNb2RlbDtcclxuICBASW5wdXQoKSBlZGl0PyA6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVsZXRlPyA6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbmV4dENvbXBvbmVudENvbG9yPzogQmFja2dyb3VuZE1vZGVsO1xyXG5cclxuICBASW5wdXQoKSByZXNwb25zZURhdGE6IGFueVtdID0gW107XHJcbiAgc3R5bGU/OiBCYW5uZXJHcmlkU3R5bGVzTW9kZWw7XHJcbiAgYnV0dG9uRGF0YT86IEJ1dHRvbk1vZGVsXHJcblxyXG4gIEBJbnB1dCgpIHBvcHVsYXI/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYnVzaW5lc3NJZD86IHN0cmluZztcclxuICBASW5wdXQoKSBleGNsdWRlQmxvZ0lkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNpemU/OiBudW1iZXI7XHJcblxyXG4gIHBvcHVsYXJCbG9nczogYW55W10gPSBbXTtcclxuICBhcGlMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZXZlbnRTZXJ2aWNlIDogRXZlbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgQEluamVjdChMT0NBTF9TVE9SQUdFKSBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2U6IFN0b3JhZ2VMaWtlXHJcbiAgKXtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWQgPSB0aGlzLmRlbGV0ZVxyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdHlsZSA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG4gICAgdGhpcy5idXR0b25EYXRhID0gdGhpcy5kYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXTtcclxuXHJcbiAgICBpZiAodGhpcy5wb3B1bGFyKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdMb2FkaW5nIHBvcHVsYXIgYmxvZ3MgZm9yIGJ1c2luZXNzSWQ6JywgdGhpcy5idXNpbmVzc0lkLCAnZXhjbHVkaW5nIGJsb2dJZDonLCB0aGlzLmV4Y2x1ZGVCbG9nSWQpO1xyXG4gICAgICB0aGlzLmxvYWRQb3B1bGFyQmxvZ3MoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZvcihsZXQgYmxvZyBvZiB0aGlzLnJlc3BvbnNlRGF0YSkge1xyXG4gICAgICAgIGJsb2dbJ2ltZyddID0gYmxvZy5ibG9ja3MuZmluZCgoeDogYW55KSA9PiB4LnR5cGUgPT09ICdpbWFnZScpPy5kYXRhPy5maWxlPy51cmxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgaGVhZGluZ1NwYWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGU/LmxheW91dC5oZWFkaW5nU3BhY2luZyBhcyBTUEFDSU5HO1xyXG4gIH1cclxuXHJcbiAgIGdldCBzdHlsZXNMYXlvdXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZT8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XHJcbiAgICB9XHJcblxyXG4gIGdldCBjb2x1bW5TaXplKCk6IENBUkRfU0laRSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhPy5zdHlsZXM/LnNpemUgfHwgJ01lZGl1bSc7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd0NhcmRTdHlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGE/LmNvbnRlbnQ/LmRpc3BsYXk/LnNob3dDYXJkID8/IHRydWU7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVzb2x2ZWRCdXNpbmVzc0lkKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5idXNpbmVzc0lkIHx8XHJcbiAgICAgIHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdiSWQnKSB8fFxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NJZCcpIHx8XHJcbiAgICAgIG51bGxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgZGlzcGxheWVkUG9zdHMoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9wdWxhciA/IHRoaXMucG9wdWxhckJsb2dzIDogdGhpcy5yZXNwb25zZURhdGE7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzRW5vdWdoUG9wdWxhclBvc3RzKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLnBvcHVsYXIpIHJldHVybiB0cnVlO1xyXG4gICAgY29uc3QgbWluUmVxdWlyZWQgPSB0aGlzLmV4Y2x1ZGVCbG9nSWQgPyAyIDogMztcclxuICAgIHJldHVybiB0aGlzLnBvcHVsYXJCbG9ncy5sZW5ndGggPj0gbWluUmVxdWlyZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd0NhcmRzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICF0aGlzLmFwaUxvYWRpbmcgJiYgdGhpcy5kaXNwbGF5ZWRQb3N0cy5sZW5ndGggPiAwICYmIHRoaXMuaGFzRW5vdWdoUG9wdWxhclBvc3RzO1xyXG4gIH1cclxuXHJcbiAgbG9hZFBvcHVsYXJCbG9ncygpIHtcclxuICAgIGNvbnN0IGJJZCA9IHRoaXMucmVzb2x2ZWRCdXNpbmVzc0lkO1xyXG4gICAgaWYgKCFiSWQpIHtcclxuICAgICAgLy8gTm8gYnVzaW5lc3MgY29udGV4dCAoZS5nLiBzdGF0aWMgYnVpbGRlciBwcmV2aWV3KSDigJQgZmFsbCBiYWNrIHRvIHdoYXRldmVyIGRlbW8gZGF0YSB3YXMgcGFzc2VkIGluLlxyXG4gICAgICB0aGlzLnBvcHVsYXJCbG9ncyA9IHRoaXMucmVzcG9uc2VEYXRhO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXF1ZXN0U2l6ZSA9IHRoaXMuc2l6ZSB8fCAodGhpcy5leGNsdWRlQmxvZ0lkID8gNiA6IDUpO1xyXG4gICAgdGhpcy5hcGlMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0UG9wdWxhckJsb2dzKGJJZCwgcmVxdWVzdFNpemUpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FQSSByZXNwb25zZSBmb3IgcG9wdWxhciBibG9nczonLCByZXNwb25zZSk7XHJcbiAgICAgICAgbGV0IGxpc3QgPSByZXNwb25zZT8uZGF0YSA/PyBbXTtcclxuICAgICAgICBjb25zb2xlLmxvZygnRmV0Y2hlZCBwb3B1bGFyIGJsb2dzOicsIGxpc3QpO1xyXG4gICAgICAgIGlmICh0aGlzLmV4Y2x1ZGVCbG9nSWQpIHtcclxuICAgICAgICAgIGxpc3QgPSBsaXN0LmZpbHRlcigoYmxvZzogYW55KSA9PiBibG9nLmlkICE9PSB0aGlzLmV4Y2x1ZGVCbG9nSWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IGJsb2cgb2YgbGlzdCkge1xyXG4gICAgICAgICAgYmxvZ1snaW1nJ10gPSBibG9nLmJsb2Nrcz8uZmluZCgoeDogYW55KSA9PiB4LnR5cGUgPT09ICdpbWFnZScpPy5kYXRhPy5maWxlPy51cmw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucG9wdWxhckJsb2dzID0gbGlzdDtcclxuICAgICAgICB0aGlzLmFwaUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLnBvcHVsYXJCbG9ncyA9IFtdO1xyXG4gICAgICAgIHRoaXMuYXBpTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTbGljZVBhcmFtZXRlcnMoKSB7XHJcbiAgICAvLyBBIGRldGFpbHMtcGFnZSBcIllvdSBNaWdodCBBbHNvIExpa2VcIiB3aWRnZXQgKGV4Y2x1ZGVCbG9nSWQgc2V0KSBzaG93cyBhIGNsZWFuIHNpbmdsZVxyXG4gICAgLy8gcm93IG9mIDM7IGEgcGFnZS1sZXZlbCBwb3B1bGFyIHNlY3Rpb24gd2l0aCBubyBidWlsZGVyIGNvbmZpZyBmYWxscyBiYWNrIHRvIDUuXHJcbiAgICBjb25zdCBmYWxsYmFja0NhcCA9IHRoaXMucG9wdWxhciA/ICh0aGlzLmV4Y2x1ZGVCbG9nSWQgPyAzIDogNSkgOiAwO1xyXG4gICAgcmV0dXJuIFswLCAodGhpcy5jb250ZW50Py5ub09mUG9zdHMgfHwgZmFsbGJhY2tDYXApXTtcclxuICB9XHJcblxyXG4gIGdldEJsb2dCeUlkKGJsb2dJZDogYW55KXtcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS5ibG9nQnlJZEV2ZW50LmVtaXQoYmxvZ0lkKTtcclxuICB9XHJcblxyXG4gIGdvVG9CbG9nKGNvbnRlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5nZXRCbG9nQnlJZChjb250ZW50LmFydGljbGVTbHVnKTtcclxuICAgIC8vIHJvdXRlci5uYXZpZ2F0ZSBvbmx5IHJlLXJlbmRlcnMgaWYgdGhlIGNvbnN1bWluZyBhcHAgaGFzIGEgbWF0Y2hpbmcgcm91dGUgKyA8cm91dGVyLW91dGxldD4sXHJcbiAgICAvLyB3aGljaCBpc24ndCBndWFyYW50ZWVkIGhlcmUg4oCUIGEgaGFyZCBuYXZpZ2F0aW9uIGFsd2F5cyBsYW5kcyBvbiB0aGUgcmlnaHQgVVJMIHJlZ2FyZGxlc3MuXHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvYmxvZy8ke2NvbnRlbnQuYXJ0aWNsZVNsdWd9YDtcclxuICB9XHJcblxyXG4gIG9wZW5CbG9nTGlzdCgpe1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLm9wZW5CbG9nTGlzdEV2ZW50LmVtaXQoKTtcclxuICB9XHJcbiAgZWRpdFNlY3Rpb24oKXtcclxuXHJcbiAgICBpZih3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzUpXHJcbiAgICAgIHJldHVybjtcclxuICAgIFxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKT0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmVkaXRTZWN0aW9uLmVtaXQoe2RhdGE6dGhpcy5kYXRhfSk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiAqbmdJZj1cIiFwb3B1bGFyIHx8IGFwaUxvYWRpbmcgfHwgc2hvd0NhcmRzXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZT8uYmFja2dyb3VuZFwiIHNpbXBvSG92ZXJcclxuICAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lclwiIFthdHRyLnN0eWxlXT1cImN1c3RvbUNsYXNzXCI+XHJcbiAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9PdmVybGF5XT1cInN0eWxlPy5iYWNrZ3JvdW5kXCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0JvcmRlcl09XCJzdHlsZT8uYm9yZGVyXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlPy5sYXlvdXRcIj5cclxuICAgICAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGU/LmFuaW1hdGlvblwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwieyd3aWR0aCcgOiAoZGlzcGxheWVkUG9zdHMubGVuZ3RoIHx8IDApID09IDAgPyAnMTAwJScgOiAnJ31cIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGRhdGE/LmNvbnRlbnQ/LmlucHV0VGV4dDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbGFyZ2UgY29udGVudC1zaWRlXCIgW3NpbXBvQ29udGVudFRpdGxlU3BhY2VdPVwiaGVhZGluZ1NwYWNlXCI+XHJcbiAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJ0ZXh0LnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCJcclxuICAgICAgICAgICAgICBbaW5wdXRUZXh0SW5kZXhdPVwiaVwiIFtpc1JURV09XCJ0ZXh0LmlzUlRFXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1sYXJnZSBjb250ZW50LXNpZGUgcG9wdWxhci1oZWFkaW5nXCIgKm5nSWY9XCJwb3B1bGFyICYmICFkYXRhPy5jb250ZW50Py5pbnB1dFRleHQ/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgWW91IE1pZ2h0IEFsc28gTGlrZVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZ2FwLTJcIiAqbmdJZj1cInNob3dDYXJkc1wiPlxyXG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwiZ29Ub0Jsb2coY29udGVudClcIiBbc2ltcG9Db2x1bW5EaXJlY3RpdmVdPVwiY29sdW1uU2l6ZVwiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5kaXZpZHVhbC1jYXJkcyBjb2wtMTJcIlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBkaXNwbGF5ZWRQb3N0cyB8IHNsaWNlOmdldFNsaWNlUGFyYW1ldGVycygpWzBdOmdldFNsaWNlUGFyYW1ldGVycygpWzFdXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjYXJkLWZvcm0nOiBzaG93Q2FyZFN0eWxlfVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIj5cclxuICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJjb250ZW50LmltZ1wiIFtzaW1wb0ltYWdlRGlyZWN0aXZlXT1cInN0eWxlPy5pbWFnZVwiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgICAgICBbc2ltcG9Db3JuZXJdPVwic3R5bGU/LmNvcm5lcnNcIiBjbGFzcz1cImQtYmxvY2sgbXgtbGctYXV0byBpbWctZmx1aWRcIiBhbHQ9XCJcIiAqbmdJZj1cImNvbnRlbnQuaW1nXCJcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCIgW25nQ2xhc3NdPVwieydici0xMCc6IHNob3dDYXJkU3R5bGV9XCI+XHJcbiAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIFtzaW1wb0ltYWdlRGlyZWN0aXZlXT1cInN0eWxlPy5pbWFnZVwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZT8uY29ybmVyc1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Rldi1iZWVvcy5zMy5hbWF6b25hd3MuY29tL2xpYnJhcnktbWVkaWEvNTQxMzI5YzE3MTkyMzY5NjMxOTlwZXhlbHMtcGl4YWJheS0yNjI1MDguanBnXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiICpuZ0lmPVwiIWNvbnRlbnQuaW1nXCIgbG9hZGluZz1cImxhenlcIiBbbmdDbGFzc109XCJ7J2JyLTEwJzogc2hvd0NhcmRTdHlsZX1cIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMyBibG9nLW1ldGEtcm93IG10LTJcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncC0xMCc6IHNob3dDYXJkU3R5bGV9XCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImNvbnRlbnQucHVibGlzaGVkRGF0ZSB8fCBjb250ZW50LmJsb2dTY2hlZHVsZWREYXRlIHx8IGNvbnRlbnQuY3JlYXRlZFRpbWVTdGFtcFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvZy1tZXRhLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJtZXRhLWljb25cIiB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjRcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiByeD1cIjJcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTZcIiB5MT1cIjJcIiB4Mj1cIjE2XCIgeTI9XCI2XCI+PC9saW5lPlxyXG4gICAgICAgICAgICAgICAgICA8bGluZSB4MT1cIjhcIiB5MT1cIjJcIiB4Mj1cIjhcIiB5Mj1cIjZcIj48L2xpbmU+XHJcbiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPVwiM1wiIHkxPVwiMTBcIiB4Mj1cIjIxXCIgeTI9XCIxMFwiPjwvbGluZT5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAge3soY29udGVudC5wdWJsaXNoZWREYXRlIHx8IGNvbnRlbnQuYmxvZ1NjaGVkdWxlZERhdGUgfHwgY29udGVudC5jcmVhdGVkVGltZVN0YW1wKSB8IGRhdGU6J2QgTU1NIHknfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9nLW1ldGEtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cIm1ldGEtaWNvblwiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cclxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xIDEyczQtOCAxMS04IDExIDggMTEgOC00IDgtMTEgOC0xMS04LTExLTh6XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjNcIj48L2NpcmNsZT5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAge3tjb250ZW50LnRvdGFsVmlzaXRzIHx8IDB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSB0aXRsZSBtdC0yXCIgW25nQ2xhc3NdPVwieydwLTEwJzogc2hvd0NhcmRTdHlsZX1cIj5cclxuICAgICAgICAgICAgICB7eyhjb250ZW50Py5wb3N0VGl0bGU/Lmxlbmd0aCB8fCAwKSA+IDEwMCA/IGNvbnRlbnQucG9zdFRpdGxlLnN1YnN0cmluZygwLDEwMCkrJy4uLlwiJyA6XHJcbiAgICAgICAgICAgICAgY29udGVudC5wb3N0VGl0bGV9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvZHktbGFyZ2UgbXQtNCBwYi0xNVwiIFtuZ0NsYXNzXT1cInsncC0xMCc6IHNob3dDYXJkU3R5bGV9XCIgKm5nSWY9XCIhcG9wdWxhclwiPlxyXG4gICAgICAgICAgICAgIHt7KGNvbnRlbnQ/LnBvc3RTdW1tYXJ5Py5sZW5ndGggfHwgMCkgPiAyNTAgPyBjb250ZW50LnBvc3RTdW1tYXJ5LnN1YnN0cmluZygwLCAyNTApICsgJy4uLicgOlxyXG4gICAgICAgICAgICAgIGNvbnRlbnQucG9zdFN1bW1hcnl9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhcGlMb2FkaW5nXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbiBjb2wtMTJcIiBbc2ltcG9Db2x1bW5EaXJlY3RpdmVdPVwiY29sdW1uU2l6ZVwiIFtpZF09XCJkYXRhPy5pZFwiICpuZ0Zvcj1cImxldCBpIG9mIFsxLDIsM11cIj5cclxuICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJzogJzE2LzknLFxyXG4gICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXHJcbiAgICAgICAgICAgICAgJ3JpZ2h0JzogJzVweCdcclxuICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWNvbmQtc2VjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxNXB4JyxcclxuICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnXHJcbiAgICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6ICc5MCUnLFxyXG4gICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcwJyxcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTVweCcsXHJcbiAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICAgICAnZGlzcGxheScgOiAnZmxleCdcclxuICAgICAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNjAlJyxcclxuICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxyXG4gICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknIDogJ2ZsZXgnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd0NhcmRzICYmICFhcGlMb2FkaW5nXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuby1ibG9nLXBvc3RcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmluZm88L21hdC1pY29uPlRoaXMgc2VjdGlvbiB3b24ndCBiZSB2aXNpYmxlIGJlY2F1c2UgeW91IGhhdmUgbm8gcHVibGlzaGVkIGJsb2cgcG9zdHMuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbiBjb2wtMTJcIiBbc2ltcG9Db2x1bW5EaXJlY3RpdmVdPVwiY29sdW1uU2l6ZVwiIFtpZF09XCJkYXRhPy5pZFwiICpuZ0Zvcj1cImxldCBpIG9mIFsxLDIsM11cIj5cclxuICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJzogJzE2LzknLFxyXG4gICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXHJcbiAgICAgICAgICAgICAgJ3JpZ2h0JzogJzVweCdcclxuICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWNvbmQtc2VjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxNXB4JyxcclxuICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnXHJcbiAgICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6ICc5MCUnLFxyXG4gICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcwJyxcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTVweCcsXHJcbiAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnLFxyXG4gICAgICAgICAgICAgICAgICAnZGlzcGxheScgOiAnZmxleCdcclxuICAgICAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNjAlJyxcclxuICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxyXG4gICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknIDogJ2ZsZXgnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tc2VjdGlvbiBtdC0zcmVtXCIgKm5nSWY9XCJ0aGlzLmRhdGE/LmFjdGlvbiAmJiB0aGlzLmRhdGE/LmFjdGlvbj8uZGlzcGxheVwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBwLTJcIiBbYnV0dG9uRGF0YV09XCJidXR0b25EYXRhPy5jb250ZW50XCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvbkRhdGE/LnN0eWxlc1wiXHJcbiAgICAgICAgICAgIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCJkYXRhPy5pZCsoYnV0dG9uRGF0YT8uaWQgfHwgJycpXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgW2JhY2tncm91bmRJbmZvXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZFwiXHJcbiAgICAgICAgICAgIFthcHBCdXR0b25FZGl0b3JdPVwiZWRpdCA/PyBmYWxzZVwiIFtidXR0b25JZF09XCJidXR0b25EYXRhPy5pZCA/PyAnJ1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuQmxvZ0xpc3QoKVwiPnt7YnV0dG9uRGF0YT8uY29udGVudD8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGU/LmRldmlkZXI/LmRpc3BsYXlcIj5cclxuICAgIDxzaW1wby1zdmctZGl2aWRlciBbZGl2aWRlclR5cGVdPVwic3R5bGU/LmRldmlkZXI/LmRldmlkZXJUeXBlXCJcclxuICAgICAgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj4iXX0=