simpo-component-library 3.6.929 → 3.6.931

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/esm2022/lib/directive/button-editor.directive.mjs +1 -1
  2. package/esm2022/lib/directive/image-directive.directive.mjs +1 -1
  3. package/esm2022/lib/directive/image-editor.directive.mjs +1 -1
  4. package/esm2022/lib/directive/image-position.directive.mjs +1 -1
  5. package/esm2022/lib/directive/merge-header.directive.mjs +1 -1
  6. package/esm2022/lib/directive/spacing-around.directive.mjs +1 -1
  7. package/esm2022/lib/directive/video-directive.directive.mjs +1 -1
  8. package/esm2022/lib/ecommerce/sections/address/address.component.mjs +3 -3
  9. package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +17 -13
  10. package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.component.mjs +22 -14
  11. package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.model.mjs +1 -1
  12. package/esm2022/lib/ecommerce/sections/book-appointment/book-appointment.component.mjs +3 -3
  13. package/esm2022/lib/ecommerce/sections/book-appointment/book-appointment.model.mjs +1 -1
  14. package/esm2022/lib/ecommerce/sections/cart/cart.modal.mjs +1 -1
  15. package/esm2022/lib/ecommerce/sections/categories-with-image-background-columns/categories-with-image-background-columns.component.mjs +3 -3
  16. package/esm2022/lib/ecommerce/sections/category-product/category-product.component.mjs +3 -3
  17. package/esm2022/lib/ecommerce/sections/category-product/category-product.model.mjs +1 -1
  18. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +1 -1
  19. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.modal.mjs +1 -1
  20. package/esm2022/lib/ecommerce/sections/featured-category/featured-collection.component.mjs +1 -1
  21. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +2 -2
  22. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.modal.mjs +1 -1
  23. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +10 -7
  24. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.modal.mjs +1 -1
  25. package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +16 -15
  26. package/esm2022/lib/ecommerce/sections/refer-earn/refer-earn.component.mjs +3 -3
  27. package/esm2022/lib/ecommerce/sections/refer-earn/refer-earn.modal.mjs +1 -1
  28. package/esm2022/lib/ecommerce/sections/scheme-details/scheme-details.component.mjs +1 -1
  29. package/esm2022/lib/ecommerce/sections/schemes/schemes.component.mjs +3 -3
  30. package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +3 -3
  31. package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +1 -1
  32. package/esm2022/lib/elements/add-section/add-section.component.mjs +3 -3
  33. package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +1 -1
  34. package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +1 -1
  35. package/esm2022/lib/elements/editor-service.service.mjs +1 -1
  36. package/esm2022/lib/elements/link-editor/link-editor.component.mjs +3 -3
  37. package/esm2022/lib/elements/media-selector/media-selector.component.mjs +3 -3
  38. package/esm2022/lib/elements/pricing-s1/pricing-s1.component.mjs +3 -3
  39. package/esm2022/lib/elements/schedule-video-call/schedule-video-call.component.mjs +3 -3
  40. package/esm2022/lib/elements/text-editor/text-editor.component.mjs +9 -9
  41. package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +1 -1
  42. package/esm2022/lib/pipes/gender.pipe.mjs +1 -1
  43. package/esm2022/lib/sections/BaseSection.mjs +1 -1
  44. package/esm2022/lib/sections/appointment-form/appointment-booking/appointment-booking/appointment-booking.component.mjs +3 -3
  45. package/esm2022/lib/sections/appointment-form/appointment-form.component.mjs +3 -3
  46. package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +3 -3
  47. package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +3 -3
  48. package/esm2022/lib/sections/blog-list/blog-list.component.mjs +3 -3
  49. package/esm2022/lib/sections/brand-story-section/brand-story-section.component.mjs +3 -3
  50. package/esm2022/lib/sections/brand-story-section/brand-story-section.modal.mjs +1 -1
  51. package/esm2022/lib/sections/button-grid-section/button-grid-section.component.mjs +3 -3
  52. package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +3 -3
  53. package/esm2022/lib/sections/condensed-and-gradient/condensed-and-gradient.component.mjs +3 -3
  54. package/esm2022/lib/sections/countdown-banner/countdown-banner.component.model.mjs +1 -1
  55. package/esm2022/lib/sections/faq-columns-cards/faq-columns-cards.component.mjs +3 -3
  56. package/esm2022/lib/sections/faq-columns-cards/faq-columns-cards.modal.mjs +1 -1
  57. package/esm2022/lib/sections/faq-section/faq-section.component.mjs +3 -3
  58. package/esm2022/lib/sections/feature-experience-section/feature-experience-section.component.mjs +3 -3
  59. package/esm2022/lib/sections/feature-experience-section/feature-experience-section.modal.mjs +1 -1
  60. package/esm2022/lib/sections/features-section/features-section.component.mjs +3 -3
  61. package/esm2022/lib/sections/footer/footer.modal.mjs +1 -1
  62. package/esm2022/lib/sections/four-features-centered-image/four-features-centered-image.component.mjs +3 -3
  63. package/esm2022/lib/sections/four-features-centered-image/four-features-centered-image.modal.mjs +1 -1
  64. package/esm2022/lib/sections/header-text/header-text.component.mjs +3 -3
  65. package/esm2022/lib/sections/image-background/image-background/image-background.component.mjs +3 -3
  66. package/esm2022/lib/sections/image-background/image-background/image-background.component.model.mjs +1 -1
  67. package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +3 -3
  68. package/esm2022/lib/sections/image-grid-hotspot/image-grid-hotspot.component.mjs +3 -3
  69. package/esm2022/lib/sections/image-grid-hotspot/image-grid-hotspot.model.mjs +1 -1
  70. package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +3 -3
  71. package/esm2022/lib/sections/image-grid-section/image-grid-section.model.mjs +1 -1
  72. package/esm2022/lib/sections/image-section/image-section.component.mjs +3 -3
  73. package/esm2022/lib/sections/location-section/location-section.component.mjs +3 -3
  74. package/esm2022/lib/sections/new-services/new-services.component.mjs +3 -3
  75. package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +3 -3
  76. package/esm2022/lib/sections/news-letter-component/news-letter-component.component.mjs +3 -3
  77. package/esm2022/lib/sections/overlapping-image/overlapping-image.component.mjs +3 -3
  78. package/esm2022/lib/sections/overlapping-image/overlapping-image.component.modal.mjs +1 -1
  79. package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +3 -3
  80. package/esm2022/lib/sections/process-modern/process-modern.component.mjs +3 -3
  81. package/esm2022/lib/sections/process-section/process-section.component.mjs +3 -3
  82. package/esm2022/lib/sections/product-info-section/product-info-section.component.mjs +3 -3
  83. package/esm2022/lib/sections/product-info-section/product-info-section.component.modal.mjs +1 -1
  84. package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +3 -3
  85. package/esm2022/lib/sections/scheme-detail/scheme-detail.component.mjs +3 -3
  86. package/esm2022/lib/sections/service-section/service-section.component.mjs +3 -3
  87. package/esm2022/lib/sections/service-section/service-section.model.mjs +1 -1
  88. package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +3 -3
  89. package/esm2022/lib/sections/team-member-section/team-member-section.model.mjs +1 -1
  90. package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +3 -3
  91. package/esm2022/lib/sections/testimonial-masonry/testimonial-masonry.component.mjs +3 -3
  92. package/esm2022/lib/sections/testimonial-masonry/testimonial-masonry.model.mjs +1 -1
  93. package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +3 -3
  94. package/esm2022/lib/sections/testimonial-slider/testimonial-slider.component.mjs +3 -3
  95. package/esm2022/lib/sections/testimonial-slider/testimonial-slider.model.mjs +1 -1
  96. package/esm2022/lib/sections/testimonial-video/testimonial-video.component.mjs +3 -3
  97. package/esm2022/lib/sections/video-carousel-section/video-carousel-section.component.mjs +3 -3
  98. package/esm2022/lib/sections/video-carousel-section/video-carousel.model.mjs +1 -1
  99. package/esm2022/lib/sections/video-grid-section/video-grid-section.component.mjs +2 -2
  100. package/esm2022/lib/sections/video-grid-section/video-grid-section.model.mjs +1 -1
  101. package/esm2022/lib/sections/video-showcase/video-showcase.component.mjs +4 -4
  102. package/esm2022/lib/sections/view-blog/view-blog.component.mjs +3 -3
  103. package/esm2022/lib/services/analytics.service.mjs +54 -6
  104. package/esm2022/lib/services/cart.service.mjs +28 -35
  105. package/esm2022/lib/services/sanitizeHtml.mjs +1 -1
  106. package/esm2022/lib/services/storage.service.mjs +15 -1
  107. package/esm2022/lib/styles/gradient-extension.mjs +1 -1
  108. package/esm2022/lib/styles/style.model.mjs +1 -1
  109. package/esm2022/lib/styles/text-size.extension.mjs +1 -1
  110. package/esm2022/lib/styles/types.mjs +1 -1
  111. package/esm2022/public-api.mjs +1 -1
  112. package/fesm2022/simpo-component-library.mjs +432 -362
  113. package/fesm2022/simpo-component-library.mjs.map +1 -1
  114. package/lib/components/input-fields/input-fields.component.d.ts +1 -1
  115. package/lib/ecommerce/sections/authenticate-user/authenticate-user.component.d.ts +4 -2
  116. package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +5 -3
  117. package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +1 -1
  118. package/lib/ecommerce/sections/product-list/product-list.component.d.ts +3 -1
  119. package/lib/ecommerce/sections/schemes/schemes.component.d.ts +1 -1
  120. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
  121. package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
  122. package/lib/sections/contact-us/contact-us.component.d.ts +1 -1
  123. package/lib/sections/faq-columns-cards/faq-columns-cards.component.d.ts +1 -1
  124. package/lib/sections/faq-section/faq-section.component.d.ts +1 -1
  125. package/lib/sections/image-section/image-section.component.d.ts +2 -2
  126. package/lib/sections/logo-showcase/logo-showcase.component.d.ts +2 -2
  127. package/lib/sections/new-testimonials/new-testimonials.component.d.ts +1 -1
  128. package/lib/sections/pricing-section/pricing-section.component.d.ts +2 -2
  129. package/lib/services/analytics.service.d.ts +13 -0
  130. package/lib/services/cart.service.d.ts +5 -7
  131. package/lib/services/storage.service.d.ts +6 -0
  132. package/package.json +1 -1
  133. package/simpo-component-library-3.6.931.tgz +0 -0
  134. package/simpo-component-library-3.6.929.tgz +0 -0
@@ -103,7 +103,7 @@ export class ProductInfoSectionComponent extends BaseSection {
103
103
  });
104
104
  }
105
105
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductInfoSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProductInfoSectionComponent, isStandalone: true, selector: "simpo-product-info-section", inputs: { data: "data", index: "index", edit: "edit", nextComponentColor: "nextComponentColor", delete: "delete", customClass: "customClass" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<section class=\"total-container\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" [attr.style]=\"customClass\">\r\n <div class=\"chemical-product-details\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\"\r\n [spacingHorizontal]=\"stylesLayout\" [simpoLayout]=\"styles?.layout\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"product-container d-flex gap-5 w-100 flex-lg-row\" [id]=\"data?.id\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [style.flexDirection]=\"styles?.revertImage ? 'column-reverse' : ''\">\r\n <!-- [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right'}\" -->\r\n\r\n <!-- Left: Structure Image -->\r\n <div class=\"w-50\" *ngIf=\"content?.image?.showImage\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block w-100 insideImg h-100\"\r\n loading=\"lazy\" />\r\n </div>\r\n <!-- Right: Details -->\r\n <div [ngClass]=\"{'w-50' :content?.image?.showImage,'w-100':!content?.image?.showImage }\" [id]=\"data?.id\"\r\n class=\"overflow-y-auto d-flex flex-column\" [simpoContainerAlignment]=\"stylesLayout\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div class=\"w-100 mb-3\">\r\n <simpo-text-editor [(value)]=\"content.inputText[0].value\"\r\n [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"0\" [isRTE]=\"content?.inputText[0]?.isRTE\"></simpo-text-editor>\r\n </div>\r\n <div class=\"table-container\">\r\n\r\n <!-- \u2705 HEADER (ONLY ONCE) -->\r\n <div class=\"d-flex table-header m-0 border-0 flex-nowrap\"\r\n [ngClass]=\"{'w-fit-content' : content?.image?.showImage , 'w-100': !content?.image?.showImage}\"\r\n [ngStyle]=\"{'background':accentBackground}\">\r\n <div class=\"d-flex align-items-center justify-content-center\"\r\n *ngFor=\"let col of content?.productTableDataList[0];let i = index\"\r\n [ngStyle]=\"{'border-right': content?.columnCellBorder && i != content?.productTableDataList[0].length - 1 ? '1px solid lightgrey' : 'none'}\"\r\n [ngClass]=\"{'cell' : !content?.image?.showImage,'image-cell': content?.image?.showImage}\"\r\n [style.color]=\"fontColor\">\r\n <simpo-text-editor [(value)]=\"col.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"i\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n\r\n <!-- \u2705 ALL ROWS (DYNAMIC) -->\r\n <div class=\"d-flex m-0 border-grey flex-nowrap\"\r\n [ngClass]=\"{'w-fit-content' : content?.image?.showImage , 'w-100': !content?.image?.showImage}\"\r\n *ngFor=\"let row of content?.productTableDataList; let rowIndex = index\">\r\n <ng-container *ngIf=\"rowIndex !== 0\">\r\n <div class=\"d-flex align-items-center justify-content-center\"\r\n *ngFor=\"let col of row; let colIndex = index\" contenteditable=\"true\"\r\n [ngStyle]=\"{'border-right': content?.columnCellBorder ? '1px solid lightgrey' : 'none'}\"\r\n [ngClass]=\"{'cell' : !content?.image?.showImage,'image-cell': content?.image?.showImage}\"\r\n [style.color]=\"fontColor\">\r\n <simpo-text-editor [(value)]=\"col.value\" [editable]=\"edit || false\"\r\n class=\"w-100\" [sectionId]=\"data?.id\" [inputTextIndex]=\"colIndex\" [itemIndex]=\"rowIndex\"></simpo-text-editor>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"mt-3 position-absolute button-container\"\r\n [style.width]=\"content?.image?.showImage ? '47%' : '97%'\" *ngIf=\"data?.action?.display\">\r\n <app-button-element [buttonContent]=\"data?.action?.buttons[0]?.content\"\r\n [buttonStyle]=\"data?.action?.buttons[0]?.styles\" [buttonId]=\"data?.action?.buttons[0]?.id\"\r\n [sectionId]=\"data?.id\" [edit]=\"edit\" [color]=\"data?.styles?.background?.accentColor\"\r\n [backgroundInfo]=\"data?.styles?.background\" [isFullWidth]=\"false\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.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: [".chemical-product-details{font-family:Arial,sans-serif;padding:20px}.chemical-product-details .container{display:flex;gap:40px;align-items:flex-start}.w-50{width:50%!important}.chemical-product-details .left{flex:1;display:flex;justify-content:center;align-items:center}.chemical-product-details .left img{max-width:100%;height:auto}.chemical-product-details .right{flex:1}.chemical-product-details .right h2{font-size:28px;color:#2c5aa0;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ddd;font-size:14px}.info-row span:first-child{color:#555}.info-row span:last-child{color:#000;font-weight:500}.total-container{height:auto;position:relative}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.table-container{display:flex;flex-direction:column;max-height:82%;height:fit-content;overflow-y:scroll}.button-container{bottom:4%}.border-grey{border-bottom:1px solid #eee;border-right:1px solid lightgrey;border-left:1px solid lightgrey}.image-cell{width:140px;padding:5px 0;outline:none}.row{display:flex}.w-fit-content{width:fit-content!important}.overflow-y-auto{overflow-y:auto!important}.cell{flex:1 1 0;min-width:117px;padding:10px 0;outline:none}.table-header{font-weight:700;border-top-right-radius:7px;border-top-left-radius:7px}\n"], dependencies: [{ kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: i1.SimpoButtonComponent, selector: "app-button-element", inputs: ["buttonContent", "buttonStyle", "buttonId", "color", "sectionId", "edit", "backgroundInfo", "disabled", "loading", "isFullWidth", "itemIndex"] }, { kind: "component", type: i2.SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i3.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i4.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "isRTE", "sectionId", "label", "type", "inputTextIndex", "itemIndex"], outputs: ["valueChange"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: ImageEditorDirective, selector: "[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId", "showIcon", "iconData", "itemIndex"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: SimpoContainerAligment, selector: "[simpoContainerAlignment]", inputs: ["simpoContainerAlignment"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }] }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProductInfoSectionComponent, isStandalone: true, selector: "simpo-product-info-section", inputs: { data: "data", index: "index", edit: "edit", nextComponentColor: "nextComponentColor", delete: "delete", customClass: "customClass" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<section class=\"total-container\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover\n (hovering)=\"showEditTabs($event)\" [attr.style]=\"customClass\">\n <div class=\"chemical-product-details\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\"\n [spacingHorizontal]=\"stylesLayout\" [simpoLayout]=\"styles?.layout\" [simpoAnimation]=\"styles?.animation\"\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\n <div class=\"product-container d-flex gap-5 w-100 flex-lg-row\" [id]=\"data?.id\"\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\n [style.flexDirection]=\"styles?.revertImage ? 'column-reverse' : ''\">\n <!-- [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right'}\" -->\n\n <!-- Left: Structure Image -->\n <div class=\"w-50\" *ngIf=\"content?.image?.showImage\">\n <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\"\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block w-100 insideImg h-100\"\n loading=\"lazy\" />\n </div>\n <!-- Right: Details -->\n <div [ngClass]=\"{'w-50' :content?.image?.showImage,'w-100':!content?.image?.showImage }\" [id]=\"data?.id\"\n class=\"overflow-y-auto d-flex flex-column\" [simpoContainerAlignment]=\"stylesLayout\"\n [simpoContentAlignment]=\"styles?.contentAlignment\">\n <div class=\"w-100 mb-3\">\n <simpo-text-editor [(value)]=\"content.inputText[0].value\"\n [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"0\" [isRTE]=\"content?.inputText[0]?.isRTE\"></simpo-text-editor>\n </div>\n <div class=\"table-container\">\n\n <!-- \u2705 HEADER (ONLY ONCE) -->\n <div class=\"d-flex table-header m-0 border-0 flex-nowrap\"\n [ngClass]=\"{'w-fit-content' : content?.image?.showImage , 'w-100': !content?.image?.showImage}\"\n [ngStyle]=\"{'background':accentBackground}\">\n <div class=\"d-flex align-items-center justify-content-center\"\n *ngFor=\"let col of content?.productTableDataList[0];let i = index\"\n [ngStyle]=\"{'border-right': content?.columnCellBorder && i != content?.productTableDataList[0].length - 1 ? '1px solid lightgrey' : 'none'}\"\n [ngClass]=\"{'cell' : !content?.image?.showImage,'image-cell': content?.image?.showImage}\"\n [style.color]=\"fontColor\">\n <simpo-text-editor [(value)]=\"col.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"i\"></simpo-text-editor>\n </div>\n </div>\n\n <!-- \u2705 ALL ROWS (DYNAMIC) -->\n <div class=\"d-flex m-0 border-grey flex-nowrap\"\n [ngClass]=\"{'w-fit-content' : content?.image?.showImage , 'w-100': !content?.image?.showImage}\"\n *ngFor=\"let row of content?.productTableDataList; let rowIndex = index\">\n <ng-container *ngIf=\"rowIndex !== 0\">\n <div class=\"d-flex align-items-center justify-content-center\"\n *ngFor=\"let col of row; let colIndex = index\" contenteditable=\"true\"\n [ngStyle]=\"{'border-right': content?.columnCellBorder ? '1px solid lightgrey' : 'none'}\"\n [ngClass]=\"{'cell' : !content?.image?.showImage,'image-cell': content?.image?.showImage}\"\n [style.color]=\"fontColor\">\n <simpo-text-editor [(value)]=\"col.value\" [editable]=\"edit || false\"\n class=\"w-100\" [sectionId]=\"data?.id\" [inputTextIndex]=\"colIndex\" [itemIndex]=\"rowIndex\"></simpo-text-editor>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"mt-3 position-absolute button-container\"\n [style.width]=\"content?.image?.showImage ? '47%' : '97%'\" *ngIf=\"data?.action?.display\">\n <app-button-element [buttonContent]=\"data?.action?.buttons[0]?.content\"\n [buttonStyle]=\"data?.action?.buttons[0]?.styles\" [buttonId]=\"data?.action?.buttons[0]?.id\"\n [sectionId]=\"data?.id\" [edit]=\"edit\" [color]=\"data?.styles?.background?.accentColor\"\n [backgroundInfo]=\"data?.styles?.background\" [isFullWidth]=\"false\"></app-button-element>\n </div>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"styles?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</section>", styles: [".chemical-product-details{font-family:Arial,sans-serif;padding:20px}.chemical-product-details .container{display:flex;gap:40px;align-items:flex-start}.w-50{width:50%!important}.chemical-product-details .left{flex:1;display:flex;justify-content:center;align-items:center}.chemical-product-details .left img{max-width:100%;height:auto}.chemical-product-details .right{flex:1}.chemical-product-details .right h2{font-size:28px;color:#2c5aa0;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ddd;font-size:14px}.info-row span:first-child{color:#555}.info-row span:last-child{color:#000;font-weight:500}.total-container{height:auto;position:relative}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.table-container{display:flex;flex-direction:column;max-height:82%;height:fit-content;overflow-y:scroll}.button-container{bottom:4%}.border-grey{border-bottom:1px solid #eee;border-right:1px solid lightgrey;border-left:1px solid lightgrey}.image-cell{width:140px;padding:5px 0;outline:none}.row{display:flex}.w-fit-content{width:fit-content!important}.overflow-y-auto{overflow-y:auto!important}.cell{flex:1 1 0;min-width:117px;padding:10px 0;outline:none}.table-header{font-weight:700;border-top-right-radius:7px;border-top-left-radius:7px}\n"], dependencies: [{ kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: i1.SimpoButtonComponent, selector: "app-button-element", inputs: ["buttonContent", "buttonStyle", "buttonId", "color", "sectionId", "edit", "backgroundInfo", "disabled", "loading", "isFullWidth", "itemIndex"] }, { kind: "component", type: i2.SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i3.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i4.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "isRTE", "sectionId", "label", "type", "inputTextIndex", "itemIndex"], outputs: ["valueChange"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: ImageEditorDirective, selector: "[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId", "showIcon", "iconData", "itemIndex"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: SimpoContainerAligment, selector: "[simpoContainerAlignment]", inputs: ["simpoContainerAlignment"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }] }); }
107
107
  }
108
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductInfoSectionComponent, decorators: [{
109
109
  type: Component,
@@ -126,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
126
126
  SimpoContainerAligment,
127
127
  simpoConetenAlignmentDirective,
128
128
  BorderDirective
129
- ], template: "<section class=\"total-container\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" [attr.style]=\"customClass\">\r\n <div class=\"chemical-product-details\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\"\r\n [spacingHorizontal]=\"stylesLayout\" [simpoLayout]=\"styles?.layout\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"product-container d-flex gap-5 w-100 flex-lg-row\" [id]=\"data?.id\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [style.flexDirection]=\"styles?.revertImage ? 'column-reverse' : ''\">\r\n <!-- [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right'}\" -->\r\n\r\n <!-- Left: Structure Image -->\r\n <div class=\"w-50\" *ngIf=\"content?.image?.showImage\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block w-100 insideImg h-100\"\r\n loading=\"lazy\" />\r\n </div>\r\n <!-- Right: Details -->\r\n <div [ngClass]=\"{'w-50' :content?.image?.showImage,'w-100':!content?.image?.showImage }\" [id]=\"data?.id\"\r\n class=\"overflow-y-auto d-flex flex-column\" [simpoContainerAlignment]=\"stylesLayout\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div class=\"w-100 mb-3\">\r\n <simpo-text-editor [(value)]=\"content.inputText[0].value\"\r\n [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"0\" [isRTE]=\"content?.inputText[0]?.isRTE\"></simpo-text-editor>\r\n </div>\r\n <div class=\"table-container\">\r\n\r\n <!-- \u2705 HEADER (ONLY ONCE) -->\r\n <div class=\"d-flex table-header m-0 border-0 flex-nowrap\"\r\n [ngClass]=\"{'w-fit-content' : content?.image?.showImage , 'w-100': !content?.image?.showImage}\"\r\n [ngStyle]=\"{'background':accentBackground}\">\r\n <div class=\"d-flex align-items-center justify-content-center\"\r\n *ngFor=\"let col of content?.productTableDataList[0];let i = index\"\r\n [ngStyle]=\"{'border-right': content?.columnCellBorder && i != content?.productTableDataList[0].length - 1 ? '1px solid lightgrey' : 'none'}\"\r\n [ngClass]=\"{'cell' : !content?.image?.showImage,'image-cell': content?.image?.showImage}\"\r\n [style.color]=\"fontColor\">\r\n <simpo-text-editor [(value)]=\"col.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"i\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n\r\n <!-- \u2705 ALL ROWS (DYNAMIC) -->\r\n <div class=\"d-flex m-0 border-grey flex-nowrap\"\r\n [ngClass]=\"{'w-fit-content' : content?.image?.showImage , 'w-100': !content?.image?.showImage}\"\r\n *ngFor=\"let row of content?.productTableDataList; let rowIndex = index\">\r\n <ng-container *ngIf=\"rowIndex !== 0\">\r\n <div class=\"d-flex align-items-center justify-content-center\"\r\n *ngFor=\"let col of row; let colIndex = index\" contenteditable=\"true\"\r\n [ngStyle]=\"{'border-right': content?.columnCellBorder ? '1px solid lightgrey' : 'none'}\"\r\n [ngClass]=\"{'cell' : !content?.image?.showImage,'image-cell': content?.image?.showImage}\"\r\n [style.color]=\"fontColor\">\r\n <simpo-text-editor [(value)]=\"col.value\" [editable]=\"edit || false\"\r\n class=\"w-100\" [sectionId]=\"data?.id\" [inputTextIndex]=\"colIndex\" [itemIndex]=\"rowIndex\"></simpo-text-editor>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"mt-3 position-absolute button-container\"\r\n [style.width]=\"content?.image?.showImage ? '47%' : '97%'\" *ngIf=\"data?.action?.display\">\r\n <app-button-element [buttonContent]=\"data?.action?.buttons[0]?.content\"\r\n [buttonStyle]=\"data?.action?.buttons[0]?.styles\" [buttonId]=\"data?.action?.buttons[0]?.id\"\r\n [sectionId]=\"data?.id\" [edit]=\"edit\" [color]=\"data?.styles?.background?.accentColor\"\r\n [backgroundInfo]=\"data?.styles?.background\" [isFullWidth]=\"false\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.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: [".chemical-product-details{font-family:Arial,sans-serif;padding:20px}.chemical-product-details .container{display:flex;gap:40px;align-items:flex-start}.w-50{width:50%!important}.chemical-product-details .left{flex:1;display:flex;justify-content:center;align-items:center}.chemical-product-details .left img{max-width:100%;height:auto}.chemical-product-details .right{flex:1}.chemical-product-details .right h2{font-size:28px;color:#2c5aa0;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ddd;font-size:14px}.info-row span:first-child{color:#555}.info-row span:last-child{color:#000;font-weight:500}.total-container{height:auto;position:relative}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.table-container{display:flex;flex-direction:column;max-height:82%;height:fit-content;overflow-y:scroll}.button-container{bottom:4%}.border-grey{border-bottom:1px solid #eee;border-right:1px solid lightgrey;border-left:1px solid lightgrey}.image-cell{width:140px;padding:5px 0;outline:none}.row{display:flex}.w-fit-content{width:fit-content!important}.overflow-y-auto{overflow-y:auto!important}.cell{flex:1 1 0;min-width:117px;padding:10px 0;outline:none}.table-header{font-weight:700;border-top-right-radius:7px;border-top-left-radius:7px}\n"] }]
129
+ ], template: "<section class=\"total-container\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover\n (hovering)=\"showEditTabs($event)\" [attr.style]=\"customClass\">\n <div class=\"chemical-product-details\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\"\n [spacingHorizontal]=\"stylesLayout\" [simpoLayout]=\"styles?.layout\" [simpoAnimation]=\"styles?.animation\"\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\n <div class=\"product-container d-flex gap-5 w-100 flex-lg-row\" [id]=\"data?.id\"\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\n [style.flexDirection]=\"styles?.revertImage ? 'column-reverse' : ''\">\n <!-- [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right'}\" -->\n\n <!-- Left: Structure Image -->\n <div class=\"w-50\" *ngIf=\"content?.image?.showImage\">\n <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\"\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block w-100 insideImg h-100\"\n loading=\"lazy\" />\n </div>\n <!-- Right: Details -->\n <div [ngClass]=\"{'w-50' :content?.image?.showImage,'w-100':!content?.image?.showImage }\" [id]=\"data?.id\"\n class=\"overflow-y-auto d-flex flex-column\" [simpoContainerAlignment]=\"stylesLayout\"\n [simpoContentAlignment]=\"styles?.contentAlignment\">\n <div class=\"w-100 mb-3\">\n <simpo-text-editor [(value)]=\"content.inputText[0].value\"\n [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"0\" [isRTE]=\"content?.inputText[0]?.isRTE\"></simpo-text-editor>\n </div>\n <div class=\"table-container\">\n\n <!-- \u2705 HEADER (ONLY ONCE) -->\n <div class=\"d-flex table-header m-0 border-0 flex-nowrap\"\n [ngClass]=\"{'w-fit-content' : content?.image?.showImage , 'w-100': !content?.image?.showImage}\"\n [ngStyle]=\"{'background':accentBackground}\">\n <div class=\"d-flex align-items-center justify-content-center\"\n *ngFor=\"let col of content?.productTableDataList[0];let i = index\"\n [ngStyle]=\"{'border-right': content?.columnCellBorder && i != content?.productTableDataList[0].length - 1 ? '1px solid lightgrey' : 'none'}\"\n [ngClass]=\"{'cell' : !content?.image?.showImage,'image-cell': content?.image?.showImage}\"\n [style.color]=\"fontColor\">\n <simpo-text-editor [(value)]=\"col.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"i\"></simpo-text-editor>\n </div>\n </div>\n\n <!-- \u2705 ALL ROWS (DYNAMIC) -->\n <div class=\"d-flex m-0 border-grey flex-nowrap\"\n [ngClass]=\"{'w-fit-content' : content?.image?.showImage , 'w-100': !content?.image?.showImage}\"\n *ngFor=\"let row of content?.productTableDataList; let rowIndex = index\">\n <ng-container *ngIf=\"rowIndex !== 0\">\n <div class=\"d-flex align-items-center justify-content-center\"\n *ngFor=\"let col of row; let colIndex = index\" contenteditable=\"true\"\n [ngStyle]=\"{'border-right': content?.columnCellBorder ? '1px solid lightgrey' : 'none'}\"\n [ngClass]=\"{'cell' : !content?.image?.showImage,'image-cell': content?.image?.showImage}\"\n [style.color]=\"fontColor\">\n <simpo-text-editor [(value)]=\"col.value\" [editable]=\"edit || false\"\n class=\"w-100\" [sectionId]=\"data?.id\" [inputTextIndex]=\"colIndex\" [itemIndex]=\"rowIndex\"></simpo-text-editor>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"mt-3 position-absolute button-container\"\n [style.width]=\"content?.image?.showImage ? '47%' : '97%'\" *ngIf=\"data?.action?.display\">\n <app-button-element [buttonContent]=\"data?.action?.buttons[0]?.content\"\n [buttonStyle]=\"data?.action?.buttons[0]?.styles\" [buttonId]=\"data?.action?.buttons[0]?.id\"\n [sectionId]=\"data?.id\" [edit]=\"edit\" [color]=\"data?.styles?.background?.accentColor\"\n [backgroundInfo]=\"data?.styles?.background\" [isFullWidth]=\"false\"></app-button-element>\n </div>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"styles?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</section>", styles: [".chemical-product-details{font-family:Arial,sans-serif;padding:20px}.chemical-product-details .container{display:flex;gap:40px;align-items:flex-start}.w-50{width:50%!important}.chemical-product-details .left{flex:1;display:flex;justify-content:center;align-items:center}.chemical-product-details .left img{max-width:100%;height:auto}.chemical-product-details .right{flex:1}.chemical-product-details .right h2{font-size:28px;color:#2c5aa0;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ddd;font-size:14px}.info-row span:first-child{color:#555}.info-row span:last-child{color:#000;font-weight:500}.total-container{height:auto;position:relative}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.table-container{display:flex;flex-direction:column;max-height:82%;height:fit-content;overflow-y:scroll}.button-container{bottom:4%}.border-grey{border-bottom:1px solid #eee;border-right:1px solid lightgrey;border-left:1px solid lightgrey}.image-cell{width:140px;padding:5px 0;outline:none}.row{display:flex}.w-fit-content{width:fit-content!important}.overflow-y-auto{overflow-y:auto!important}.cell{flex:1 1 0;min-width:117px;padding:10px 0;outline:none}.table-header{font-weight:700;border-top-right-radius:7px;border-top-left-radius:7px}\n"] }]
130
130
  }], ctorParameters: () => [], propDecorators: { data: [{
131
131
  type: Input
132
132
  }], index: [{
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
143
143
  type: HostListener,
144
144
  args: ["window: resize", ["$event"]]
145
145
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9wcm9kdWN0LWluZm8tc2VjdGlvbi9wcm9kdWN0LWluZm8tc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb2R1Y3QtaW5mby1zZWN0aW9uL3Byb2R1Y3QtaW5mby1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxr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aEI7d0RBS1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQWdFTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNpbXBvRWxlbWVudHNNb2R1bGUgfSBmcm9tICcuLi8uLi9lbGVtZW50cyc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3N0eWxlLm1vZGVsJztcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uL0Jhc2VTZWN0aW9uJztcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSW1hZ2VEaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vLi4vLi4vZGlyZWN0aXZlL2ltYWdlLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbWFnZUVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1lZGl0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvb3ZlcmxheS1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0SW5mb0NvbnRlbnRNb2RlbCwgUHJvZHVjdEluZm9TdHlsZXNNb2RlbCB9IGZyb20gJy4vcHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50Lm1vZGFsJztcbmltcG9ydCB7IFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9zaXRpb25MYXlvdXREaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvcG9zaXRpb24tbGF5b3V0LWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQm9yZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JvcmRlci1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2ltcG9Db250YWluZXJBbGlnbWVudCB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250YWluZXItYWxpZ25tZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBzaW1wb0NvbmV0ZW5BbGlnbm1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1hbGlnbm1lbnQtZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltcG8tcHJvZHVjdC1pbmZvLXNlY3Rpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgU2ltcG9FbGVtZW50c01vZHVsZSxcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxuICAgIEhvdmVyRGlyZWN0aXZlLFxuICAgIEltYWdlRGlyZWN0aXZlRGlyZWN0aXZlLFxuICAgIE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlLFxuICAgIENvcm5lckRpcmVjdGl2ZSxcbiAgICBJbWFnZUVkaXRvckRpcmVjdGl2ZSxcbiAgICBPdmVybGF5RGlyZWN0aXZlLFxuICAgIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlLFxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXG4gICAgUG9zaXRpb25MYXlvdXREaXJlY3RpdmVEaXJlY3RpdmUsXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxuICAgIFNpbXBvQ29udGFpbmVyQWxpZ21lbnQsXG4gICAgc2ltcG9Db25ldGVuQWxpZ25tZW50RGlyZWN0aXZlLFxuICAgIEJvcmRlckRpcmVjdGl2ZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdEluZm9TZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24ge1xuICBASW5wdXQoKSBkYXRhPzogYW55O1xuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XG4gIHN0eWxlczogUHJvZHVjdEluZm9TdHlsZXNNb2RlbCB8IGFueTtcbiAgY29udGVudDogUHJvZHVjdEluZm9Db250ZW50TW9kZWwgfCBhbnk7XG4gIEBJbnB1dCgpIG5leHRDb21wb25lbnRDb2xvcj86IEJhY2tncm91bmRNb2RlbDtcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5nZXRTY3JlZW5TaXplKClcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzIHx8IHt9O1xuICAgIHRoaXMuY29udGVudCA9IHRoaXMuZGF0YT8uY29udGVudCB8fCB7fTtcbiAgfVxuICBnZXQgYWNjZW50QmFja2dyb3VuZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJnID0gdGhpcy5zdHlsZXM/LmJhY2tncm91bmQ7XG5cbiAgICBpZiAoIWJnKSByZXR1cm4gJyc7XG5cbiAgICBpZiAoYmcuYWNjZW50QmFja2dyb3VuZFR5cGUgPT09ICdTb2xpZCcpIHtcbiAgICAgIHJldHVybiBiZy5hY2NlbnRDb2xvcjtcbiAgICB9XG5cbiAgICBjb25zdCBhbmdsZSA9IHRoaXMuZ2V0R3JhZGllbnREaXJlY3Rpb24oYmcuZ3JhZGllbnREaXJlY3Rpb24pO1xuXG4gICAgcmV0dXJuIGFuZ2xlXG4gICAgICA/IGBsaW5lYXItZ3JhZGllbnQoJHthbmdsZX0sICR7YmcuYWNjZW50Q29sb3J9LCAke2JnLnNlY29uZGFyeUFjY2VudENvbG9yfSlgXG4gICAgICA6IGBsaW5lYXItZ3JhZGllbnQoJHtiZy5hY2NlbnRDb2xvcn0sICR7Ymcuc2Vjb25kYXJ5QWNjZW50Q29sb3J9KWA7XG4gIH1cbiAgZ2V0IGZvbnRDb2xvcigpOiBzdHJpbmcge1xuICAgIGxldCBjb2xvciA9IHRoaXMuc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvcjtcbiAgICBpZiAoIWNvbG9yKSByZXR1cm4gJyMwMDAnO1xuXG4gICAgLy8gaWYgZ3JhZGllbnQsIGV4dHJhY3QgZmlyc3QgaGV4IGNvbG9yXG4gICAgY29uc3QgZ3JhZGllbnRNYXRjaCA9IGNvbG9yLm1hdGNoKC8jKFswLTlhLWZBLUZdezZ9KS8pO1xuICAgIGlmIChncmFkaWVudE1hdGNoKSB7XG4gICAgICBjb2xvciA9IGdyYWRpZW50TWF0Y2hbMF07XG4gICAgfVxuXG4gICAgY29sb3IgPSBjb2xvci5yZXBsYWNlKCcjJywgJycpO1xuXG4gICAgY29uc3QgciA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZygwLCAyKSwgMTYpO1xuICAgIGNvbnN0IGcgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoMiwgNCksIDE2KTtcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDQsIDYpLCAxNik7XG5cbiAgICBjb25zdCBicmlnaHRuZXNzID0gKHIgKiAyOTkgKyBnICogNTg3ICsgYiAqIDExNCkgLyAxMDAwO1xuXG4gICAgcmV0dXJuIGJyaWdodG5lc3MgPiAxMjggPyAnIzAwMCcgOiAnI2ZmZic7XG4gIH1cbiAgZ2V0R3JhZGllbnREaXJlY3Rpb24oZGlyZWN0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdET1dOJzpcbiAgICAgICAgcmV0dXJuICcnOyAvLyBkZWZhdWx0IHRvcCDihpIgYm90dG9tIChubyBhbmdsZSBuZWVkZWQpXG5cbiAgICAgIGNhc2UgJ1JJR0hUJzpcbiAgICAgICAgcmV0dXJuICc5MGRlZyc7XG5cbiAgICAgIGNhc2UgJ0RJQUdPTkFMX1JJR0hUJzpcbiAgICAgICAgcmV0dXJuICc0NWRlZyc7XG5cbiAgICAgIGNhc2UgJ0RJQUdPTkFMX0xFRlQnOlxuICAgICAgICByZXR1cm4gJzEzNWRlZyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJzsgLy8gZmFsbGJhY2tcbiAgICB9XG4gIH1cbiAgc2NyZWVuV2lkdGg6IGFueTtcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzogcmVzaXplXCIsIFtcIiRldmVudFwiXSlcbiAgZ2V0U2NyZWVuU2l6ZSgpIHtcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gIH1cbiAgZ2V0IHN0eWxlc0xheW91dCgpIHtcbiAgICByZXR1cm4geyAuLi50aGlzLnN0eWxlcz8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XG4gIH1cbiAgYWRkUm93KCkge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuY29udGVudC5wcm9kdWN0VGFibGVEYXRhTGlzdFswXTtcblxuICAgIGNvbnN0IG5ld1JvdyA9IGhlYWRlci5tYXAoKGNvbDogYW55KSA9PiAoe1xuICAgICAgY29sdW1uQ2VsbDogY29sLmNvbHVtbkNlbGwsXG4gICAgICB2YWx1ZTogJydcbiAgICB9KSk7XG5cbiAgICB0aGlzLmNvbnRlbnQucHJvZHVjdFRhYmxlRGF0YUxpc3QucHVzaChuZXdSb3cpO1xuICB9XG4gIGdldENvbHVtbldpZHRoKCkge1xuICAgIGNvbnN0IGNvbHVtbkNvdW50ID0gdGhpcy5jb250ZW50Py5wcm9kdWN0VGFibGVEYXRhTGlzdFswXT8ubGVuZ3RoIHx8IDE7XG4gICAgcmV0dXJuICgxMDAgLyBjb2x1bW5Db3VudCkgKyAnJSc7XG4gIH1cbiAgYWRkQ29sdW1uKCkge1xuICAgIGNvbnN0IG5ld0NvbHVtbkluZGV4ID0gdGhpcy5jb250ZW50LnByb2R1Y3RUYWJsZURhdGFMaXN0WzBdLmxlbmd0aCArIDE7XG4gICAgdGhpcy5jb250ZW50LnByb2R1Y3RUYWJsZURhdGFMaXN0LmZvckVhY2goKHJvdzogYW55LCByb3dJbmRleDogYW55KSA9PiB7XG4gICAgICByb3cucHVzaCh7XG4gICAgICAgIGNvbHVtbkNlbGw6IG5ld0NvbHVtbkluZGV4LFxuICAgICAgICB2YWx1ZTogcm93SW5kZXggPT09IDAgPyAnTmV3IENvbHVtbicgOiAnJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBzaW1wb0hvdmVyXHJcbiAgICAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNoZW1pY2FsLXByb2R1Y3QtZGV0YWlsc1wiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb092ZXJsYXldPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCJcclxuICAgICAgICBbc3BhY2luZ0hvcml6b250YWxdPVwic3R5bGVzTGF5b3V0XCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCJcclxuICAgICAgICBbc2ltcG9PdmVybGF5XT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtzaW1wb0JvcmRlcl09XCJzdHlsZXM/LmJvcmRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0LWNvbnRhaW5lciBkLWZsZXggZ2FwLTUgdy0xMDAgZmxleC1sZy1yb3dcIiBbaWRdPVwiZGF0YT8uaWRcIlxyXG4gICAgICAgICAgICBbc2ltcG9Qb3NpdGlvbkxheW91dERpcmVjdGl2ZV09XCJzdHlsZXM/LnBvc2l0aW9uTGF5b3V0XCJcclxuICAgICAgICAgICAgW3N0eWxlLmZsZXhEaXJlY3Rpb25dPVwic3R5bGVzPy5yZXZlcnRJbWFnZSA/ICdjb2x1bW4tcmV2ZXJzZScgOiAnJ1wiPlxyXG4gICAgICAgICAgICA8IS0tIFtuZ0NsYXNzXT1cInsgJ2FsaWduLWl0ZW1zLXN0cmV0Y2gnOiBzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ2xlZnQnIHx8IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAncmlnaHQnfVwiIC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBMZWZ0OiBTdHJ1Y3R1cmUgSW1hZ2UgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTUwXCIgKm5nSWY9XCJjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJjb250ZW50Py5pbWFnZT8udXJsXCIgW3NpbXBvSW1hZ2VEaXJlY3RpdmVdPVwic3R5bGVzPy5pbWFnZVwiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NpbXBvT2JqZWN0UG9zaXRpb25dPVwiY29udGVudD8uaW1hZ2U/LnBvc2l0aW9uXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FwcEltYWdlRWRpdG9yXT1cImVkaXQgfHwgZmFsc2VcIiBbaW1hZ2VEYXRhXT1cImNvbnRlbnQ/LmltYWdlXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImRhdGE/LmlkKyhjb250ZW50Py5pbWFnZT8uaWQgfHwgJycpXCIgY2xhc3M9XCJkLWJsb2NrIHctMTAwIGluc2lkZUltZyBoLTEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBSaWdodDogRGV0YWlscyAtLT5cclxuICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J3ctNTAnIDpjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlLCd3LTEwMCc6IWNvbnRlbnQ/LmltYWdlPy5zaG93SW1hZ2UgfVwiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJmbG93LXktYXV0byBkLWZsZXggZmxleC1jb2x1bW5cIiBbc2ltcG9Db250YWluZXJBbGlnbm1lbnRdPVwic3R5bGVzTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgIFtzaW1wb0NvbnRlbnRBbGlnbm1lbnRdPVwic3R5bGVzPy5jb250ZW50QWxpZ25tZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJjb250ZW50LmlucHV0VGV4dFswXS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtpbnB1dFRleHRJbmRleF09XCIwXCIgW2lzUlRFXT1cImNvbnRlbnQ/LmlucHV0VGV4dFswXT8uaXNSVEVcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29udGFpbmVyXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0g4pyFIEhFQURFUiAoT05MWSBPTkNFKSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHRhYmxlLWhlYWRlciBtLTAgYm9yZGVyLTAgZmxleC1ub3dyYXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3ctZml0LWNvbnRlbnQnIDogY29udGVudD8uaW1hZ2U/LnNob3dJbWFnZSAsICd3LTEwMCc6ICFjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZCc6YWNjZW50QmFja2dyb3VuZH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbnRlbnQ/LnByb2R1Y3RUYWJsZURhdGFMaXN0WzBdO2xldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydib3JkZXItcmlnaHQnOiBjb250ZW50Py5jb2x1bW5DZWxsQm9yZGVyICYmIGkgIT0gY29udGVudD8ucHJvZHVjdFRhYmxlRGF0YUxpc3RbMF0ubGVuZ3RoIC0gMSA/ICcxcHggc29saWQgbGlnaHRncmV5JyA6ICdub25lJ31cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjZWxsJyA6ICFjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlLCdpbWFnZS1jZWxsJzogY29udGVudD8uaW1hZ2U/LnNob3dJbWFnZX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImZvbnRDb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cImNvbC52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtpbnB1dFRleHRJbmRleF09XCJpXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0g4pyFIEFMTCBST1dTIChEWU5BTUlDKSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG0tMCBib3JkZXItZ3JleSBmbGV4LW5vd3JhcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndy1maXQtY29udGVudCcgOiBjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlICwgJ3ctMTAwJzogIWNvbnRlbnQ/LmltYWdlPy5zaG93SW1hZ2V9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHJvdyBvZiBjb250ZW50Py5wcm9kdWN0VGFibGVEYXRhTGlzdDsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd0luZGV4ICE9PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIHJvdzsgbGV0IGNvbEluZGV4ID0gaW5kZXhcIiBjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1yaWdodCc6IGNvbnRlbnQ/LmNvbHVtbkNlbGxCb3JkZXIgPyAnMXB4IHNvbGlkIGxpZ2h0Z3JleScgOiAnbm9uZSd9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NlbGwnIDogIWNvbnRlbnQ/LmltYWdlPy5zaG93SW1hZ2UsJ2ltYWdlLWNlbGwnOiBjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImZvbnRDb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJjb2wudmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDBcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2lucHV0VGV4dEluZGV4XT1cImNvbEluZGV4XCIgW2l0ZW1JbmRleF09XCJyb3dJbmRleFwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIHBvc2l0aW9uLWFic29sdXRlIGJ1dHRvbi1jb250YWluZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlID8gJzQ3JScgOiAnOTclJ1wiICpuZ0lmPVwiZGF0YT8uYWN0aW9uPy5kaXNwbGF5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1idXR0b24tZWxlbWVudCBbYnV0dG9uQ29udGVudF09XCJkYXRhPy5hY3Rpb24/LmJ1dHRvbnNbMF0/LmNvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uU3R5bGVdPVwiZGF0YT8uYWN0aW9uPy5idXR0b25zWzBdPy5zdHlsZXNcIiBbYnV0dG9uSWRdPVwiZGF0YT8uYWN0aW9uPy5idXR0b25zWzBdPy5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN0aW9uSWRdPVwiZGF0YT8uaWRcIiBbZWRpdF09XCJlZGl0XCIgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYmFja2dyb3VuZEluZm9dPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kXCIgW2lzRnVsbFdpZHRoXT1cImZhbHNlXCI+PC9hcHAtYnV0dG9uLWVsZW1lbnQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZXM/LmRldmlkZXI/LmRpc3BsYXlcIj5cclxuICAgICAgICA8c2ltcG8tc3ZnLWRpdmlkZXIgW2RpdmlkZXJUeXBlXT1cInN0eWxlcz8uZGV2aWRlcj8uZGV2aWRlclR5cGVcIlxyXG4gICAgICAgICAgICBbY29sb3JdPVwibmV4dENvbXBvbmVudENvbG9yPy5jb2xvclwiPjwvc2ltcG8tc3ZnLWRpdmlkZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgICAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgICAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XHJcbiAgICA8L2Rpdj5cclxuPC9zZWN0aW9uPiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9wcm9kdWN0LWluZm8tc2VjdGlvbi9wcm9kdWN0LWluZm8tc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb2R1Y3QtaW5mby1zZWN0aW9uL3Byb2R1Y3QtaW5mby1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxr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aEI7d0RBS1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQWdFTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNpbXBvRWxlbWVudHNNb2R1bGUgfSBmcm9tICcuLi8uLi9lbGVtZW50cyc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3N0eWxlLm1vZGVsJztcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uL0Jhc2VTZWN0aW9uJztcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSW1hZ2VEaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vLi4vLi4vZGlyZWN0aXZlL2ltYWdlLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbWFnZUVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1lZGl0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvb3ZlcmxheS1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0SW5mb0NvbnRlbnRNb2RlbCwgUHJvZHVjdEluZm9TdHlsZXNNb2RlbCB9IGZyb20gJy4vcHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50Lm1vZGFsJztcbmltcG9ydCB7IFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9zaXRpb25MYXlvdXREaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvcG9zaXRpb24tbGF5b3V0LWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQm9yZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JvcmRlci1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2ltcG9Db250YWluZXJBbGlnbWVudCB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250YWluZXItYWxpZ25tZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBzaW1wb0NvbmV0ZW5BbGlnbm1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1hbGlnbm1lbnQtZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltcG8tcHJvZHVjdC1pbmZvLXNlY3Rpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgU2ltcG9FbGVtZW50c01vZHVsZSxcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxuICAgIEhvdmVyRGlyZWN0aXZlLFxuICAgIEltYWdlRGlyZWN0aXZlRGlyZWN0aXZlLFxuICAgIE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlLFxuICAgIENvcm5lckRpcmVjdGl2ZSxcbiAgICBJbWFnZUVkaXRvckRpcmVjdGl2ZSxcbiAgICBPdmVybGF5RGlyZWN0aXZlLFxuICAgIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlLFxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXG4gICAgUG9zaXRpb25MYXlvdXREaXJlY3RpdmVEaXJlY3RpdmUsXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxuICAgIFNpbXBvQ29udGFpbmVyQWxpZ21lbnQsXG4gICAgc2ltcG9Db25ldGVuQWxpZ25tZW50RGlyZWN0aXZlLFxuICAgIEJvcmRlckRpcmVjdGl2ZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdEluZm9TZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24ge1xuICBASW5wdXQoKSBkYXRhPzogYW55O1xuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XG4gIHN0eWxlczogUHJvZHVjdEluZm9TdHlsZXNNb2RlbCB8IGFueTtcbiAgY29udGVudDogUHJvZHVjdEluZm9Db250ZW50TW9kZWwgfCBhbnk7XG4gIEBJbnB1dCgpIG5leHRDb21wb25lbnRDb2xvcj86IEJhY2tncm91bmRNb2RlbDtcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5nZXRTY3JlZW5TaXplKClcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzIHx8IHt9O1xuICAgIHRoaXMuY29udGVudCA9IHRoaXMuZGF0YT8uY29udGVudCB8fCB7fTtcbiAgfVxuICBnZXQgYWNjZW50QmFja2dyb3VuZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJnID0gdGhpcy5zdHlsZXM/LmJhY2tncm91bmQ7XG5cbiAgICBpZiAoIWJnKSByZXR1cm4gJyc7XG5cbiAgICBpZiAoYmcuYWNjZW50QmFja2dyb3VuZFR5cGUgPT09ICdTb2xpZCcpIHtcbiAgICAgIHJldHVybiBiZy5hY2NlbnRDb2xvcjtcbiAgICB9XG5cbiAgICBjb25zdCBhbmdsZSA9IHRoaXMuZ2V0R3JhZGllbnREaXJlY3Rpb24oYmcuZ3JhZGllbnREaXJlY3Rpb24pO1xuXG4gICAgcmV0dXJuIGFuZ2xlXG4gICAgICA/IGBsaW5lYXItZ3JhZGllbnQoJHthbmdsZX0sICR7YmcuYWNjZW50Q29sb3J9LCAke2JnLnNlY29uZGFyeUFjY2VudENvbG9yfSlgXG4gICAgICA6IGBsaW5lYXItZ3JhZGllbnQoJHtiZy5hY2NlbnRDb2xvcn0sICR7Ymcuc2Vjb25kYXJ5QWNjZW50Q29sb3J9KWA7XG4gIH1cbiAgZ2V0IGZvbnRDb2xvcigpOiBzdHJpbmcge1xuICAgIGxldCBjb2xvciA9IHRoaXMuc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvcjtcbiAgICBpZiAoIWNvbG9yKSByZXR1cm4gJyMwMDAnO1xuXG4gICAgLy8gaWYgZ3JhZGllbnQsIGV4dHJhY3QgZmlyc3QgaGV4IGNvbG9yXG4gICAgY29uc3QgZ3JhZGllbnRNYXRjaCA9IGNvbG9yLm1hdGNoKC8jKFswLTlhLWZBLUZdezZ9KS8pO1xuICAgIGlmIChncmFkaWVudE1hdGNoKSB7XG4gICAgICBjb2xvciA9IGdyYWRpZW50TWF0Y2hbMF07XG4gICAgfVxuXG4gICAgY29sb3IgPSBjb2xvci5yZXBsYWNlKCcjJywgJycpO1xuXG4gICAgY29uc3QgciA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZygwLCAyKSwgMTYpO1xuICAgIGNvbnN0IGcgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoMiwgNCksIDE2KTtcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDQsIDYpLCAxNik7XG5cbiAgICBjb25zdCBicmlnaHRuZXNzID0gKHIgKiAyOTkgKyBnICogNTg3ICsgYiAqIDExNCkgLyAxMDAwO1xuXG4gICAgcmV0dXJuIGJyaWdodG5lc3MgPiAxMjggPyAnIzAwMCcgOiAnI2ZmZic7XG4gIH1cbiAgZ2V0R3JhZGllbnREaXJlY3Rpb24oZGlyZWN0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdET1dOJzpcbiAgICAgICAgcmV0dXJuICcnOyAvLyBkZWZhdWx0IHRvcCDihpIgYm90dG9tIChubyBhbmdsZSBuZWVkZWQpXG5cbiAgICAgIGNhc2UgJ1JJR0hUJzpcbiAgICAgICAgcmV0dXJuICc5MGRlZyc7XG5cbiAgICAgIGNhc2UgJ0RJQUdPTkFMX1JJR0hUJzpcbiAgICAgICAgcmV0dXJuICc0NWRlZyc7XG5cbiAgICAgIGNhc2UgJ0RJQUdPTkFMX0xFRlQnOlxuICAgICAgICByZXR1cm4gJzEzNWRlZyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJzsgLy8gZmFsbGJhY2tcbiAgICB9XG4gIH1cbiAgc2NyZWVuV2lkdGg6IGFueTtcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzogcmVzaXplXCIsIFtcIiRldmVudFwiXSlcbiAgZ2V0U2NyZWVuU2l6ZSgpIHtcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gIH1cbiAgZ2V0IHN0eWxlc0xheW91dCgpIHtcbiAgICByZXR1cm4geyAuLi50aGlzLnN0eWxlcz8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XG4gIH1cbiAgYWRkUm93KCkge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuY29udGVudC5wcm9kdWN0VGFibGVEYXRhTGlzdFswXTtcblxuICAgIGNvbnN0IG5ld1JvdyA9IGhlYWRlci5tYXAoKGNvbDogYW55KSA9PiAoe1xuICAgICAgY29sdW1uQ2VsbDogY29sLmNvbHVtbkNlbGwsXG4gICAgICB2YWx1ZTogJydcbiAgICB9KSk7XG5cbiAgICB0aGlzLmNvbnRlbnQucHJvZHVjdFRhYmxlRGF0YUxpc3QucHVzaChuZXdSb3cpO1xuICB9XG4gIGdldENvbHVtbldpZHRoKCkge1xuICAgIGNvbnN0IGNvbHVtbkNvdW50ID0gdGhpcy5jb250ZW50Py5wcm9kdWN0VGFibGVEYXRhTGlzdFswXT8ubGVuZ3RoIHx8IDE7XG4gICAgcmV0dXJuICgxMDAgLyBjb2x1bW5Db3VudCkgKyAnJSc7XG4gIH1cbiAgYWRkQ29sdW1uKCkge1xuICAgIGNvbnN0IG5ld0NvbHVtbkluZGV4ID0gdGhpcy5jb250ZW50LnByb2R1Y3RUYWJsZURhdGFMaXN0WzBdLmxlbmd0aCArIDE7XG4gICAgdGhpcy5jb250ZW50LnByb2R1Y3RUYWJsZURhdGFMaXN0LmZvckVhY2goKHJvdzogYW55LCByb3dJbmRleDogYW55KSA9PiB7XG4gICAgICByb3cucHVzaCh7XG4gICAgICAgIGNvbHVtbkNlbGw6IG5ld0NvbHVtbkluZGV4LFxuICAgICAgICB2YWx1ZTogcm93SW5kZXggPT09IDAgPyAnTmV3IENvbHVtbicgOiAnJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBzaW1wb0hvdmVyXG4gICAgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hlbWljYWwtcHJvZHVjdC1kZXRhaWxzXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvT3ZlcmxheV09XCJzdHlsZXM/LmJhY2tncm91bmRcIlxuICAgICAgICBbc3BhY2luZ0hvcml6b250YWxdPVwic3R5bGVzTGF5b3V0XCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCJcbiAgICAgICAgW3NpbXBvT3ZlcmxheV09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBbc2ltcG9Cb3JkZXJdPVwic3R5bGVzPy5ib3JkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtY29udGFpbmVyIGQtZmxleCBnYXAtNSB3LTEwMCBmbGV4LWxnLXJvd1wiIFtpZF09XCJkYXRhPy5pZFwiXG4gICAgICAgICAgICBbc2ltcG9Qb3NpdGlvbkxheW91dERpcmVjdGl2ZV09XCJzdHlsZXM/LnBvc2l0aW9uTGF5b3V0XCJcbiAgICAgICAgICAgIFtzdHlsZS5mbGV4RGlyZWN0aW9uXT1cInN0eWxlcz8ucmV2ZXJ0SW1hZ2UgPyAnY29sdW1uLXJldmVyc2UnIDogJydcIj5cbiAgICAgICAgICAgIDwhLS0gW25nQ2xhc3NdPVwieyAnYWxpZ24taXRlbXMtc3RyZXRjaCc6IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnbGVmdCcgfHwgc3R5bGVzPy5wb3NpdGlvbkxheW91dD8udmFsdWUgPT09ICdyaWdodCd9XCIgLS0+XG5cbiAgICAgICAgICAgIDwhLS0gTGVmdDogU3RydWN0dXJlIEltYWdlIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctNTBcIiAqbmdJZj1cImNvbnRlbnQ/LmltYWdlPy5zaG93SW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJjb250ZW50Py5pbWFnZT8udXJsXCIgW3NpbXBvSW1hZ2VEaXJlY3RpdmVdPVwic3R5bGVzPy5pbWFnZVwiIFtpZF09XCJkYXRhPy5pZFwiXG4gICAgICAgICAgICAgICAgICAgIFtzaW1wb09iamVjdFBvc2l0aW9uXT1cImNvbnRlbnQ/LmltYWdlPy5wb3NpdGlvblwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZXM/LmNvcm5lcnNcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwSW1hZ2VFZGl0b3JdPVwiZWRpdCB8fCBmYWxzZVwiIFtpbWFnZURhdGFdPVwiY29udGVudD8uaW1hZ2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImRhdGE/LmlkKyhjb250ZW50Py5pbWFnZT8uaWQgfHwgJycpXCIgY2xhc3M9XCJkLWJsb2NrIHctMTAwIGluc2lkZUltZyBoLTEwMFwiXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSBSaWdodDogRGV0YWlscyAtLT5cbiAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyd3LTUwJyA6Y29udGVudD8uaW1hZ2U/LnNob3dJbWFnZSwndy0xMDAnOiFjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlIH1cIiBbaWRdPVwiZGF0YT8uaWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwib3ZlcmZsb3cteS1hdXRvIGQtZmxleCBmbGV4LWNvbHVtblwiIFtzaW1wb0NvbnRhaW5lckFsaWdubWVudF09XCJzdHlsZXNMYXlvdXRcIlxuICAgICAgICAgICAgICAgIFtzaW1wb0NvbnRlbnRBbGlnbm1lbnRdPVwic3R5bGVzPy5jb250ZW50QWxpZ25tZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIG1iLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cImNvbnRlbnQuaW5wdXRUZXh0WzBdLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtpbnB1dFRleHRJbmRleF09XCIwXCIgW2lzUlRFXT1cImNvbnRlbnQ/LmlucHV0VGV4dFswXT8uaXNSVEVcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb250YWluZXJcIj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIOKchSBIRUFERVIgKE9OTFkgT05DRSkgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggdGFibGUtaGVhZGVyIG0tMCBib3JkZXItMCBmbGV4LW5vd3JhcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3ctZml0LWNvbnRlbnQnIDogY29udGVudD8uaW1hZ2U/LnNob3dJbWFnZSAsICd3LTEwMCc6ICFjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQnOmFjY2VudEJhY2tncm91bmR9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbnRlbnQ/LnByb2R1Y3RUYWJsZURhdGFMaXN0WzBdO2xldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLXJpZ2h0JzogY29udGVudD8uY29sdW1uQ2VsbEJvcmRlciAmJiBpICE9IGNvbnRlbnQ/LnByb2R1Y3RUYWJsZURhdGFMaXN0WzBdLmxlbmd0aCAtIDEgPyAnMXB4IHNvbGlkIGxpZ2h0Z3JleScgOiAnbm9uZSd9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NlbGwnIDogIWNvbnRlbnQ/LmltYWdlPy5zaG93SW1hZ2UsJ2ltYWdlLWNlbGwnOiBjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImZvbnRDb2xvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJjb2wudmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiIFtzZWN0aW9uSWRdPVwiZGF0YT8uaWRcIiBbaW5wdXRUZXh0SW5kZXhdPVwiaVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSDinIUgQUxMIFJPV1MgKERZTkFNSUMpIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG0tMCBib3JkZXItZ3JleSBmbGV4LW5vd3JhcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3ctZml0LWNvbnRlbnQnIDogY29udGVudD8uaW1hZ2U/LnNob3dJbWFnZSAsICd3LTEwMCc6ICFjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcm93IG9mIGNvbnRlbnQ/LnByb2R1Y3RUYWJsZURhdGFMaXN0OyBsZXQgcm93SW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd0luZGV4ICE9PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2Ygcm93OyBsZXQgY29sSW5kZXggPSBpbmRleFwiIGNvbnRlbnRlZGl0YWJsZT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1yaWdodCc6IGNvbnRlbnQ/LmNvbHVtbkNlbGxCb3JkZXIgPyAnMXB4IHNvbGlkIGxpZ2h0Z3JleScgOiAnbm9uZSd9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjZWxsJyA6ICFjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlLCdpbWFnZS1jZWxsJzogY29udGVudD8uaW1hZ2U/LnNob3dJbWFnZX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZm9udENvbG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJjb2wudmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtpbnB1dFRleHRJbmRleF09XCJjb2xJbmRleFwiIFtpdGVtSW5kZXhdPVwicm93SW5kZXhcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIHBvc2l0aW9uLWFic29sdXRlIGJ1dHRvbi1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29udGVudD8uaW1hZ2U/LnNob3dJbWFnZSA/ICc0NyUnIDogJzk3JSdcIiAqbmdJZj1cImRhdGE/LmFjdGlvbj8uZGlzcGxheVwiPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWJ1dHRvbi1lbGVtZW50IFtidXR0b25Db250ZW50XT1cImRhdGE/LmFjdGlvbj8uYnV0dG9uc1swXT8uY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uU3R5bGVdPVwiZGF0YT8uYWN0aW9uPy5idXR0b25zWzBdPy5zdHlsZXNcIiBbYnV0dG9uSWRdPVwiZGF0YT8uYWN0aW9uPy5idXR0b25zWzBdPy5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2VkaXRdPVwiZWRpdFwiIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtiYWNrZ3JvdW5kSW5mb109XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmRcIiBbaXNGdWxsV2lkdGhdPVwiZmFsc2VcIj48L2FwcC1idXR0b24tZWxlbWVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGVzPy5kZXZpZGVyPy5kaXNwbGF5XCI+XG4gICAgICAgIDxzaW1wby1zdmctZGl2aWRlciBbZGl2aWRlclR5cGVdPVwic3R5bGVzPy5kZXZpZGVyPy5kZXZpZGVyVHlwZVwiXG4gICAgICAgICAgICBbY29sb3JdPVwibmV4dENvbXBvbmVudENvbG9yPy5jb2xvclwiPjwvc2ltcG8tc3ZnLWRpdmlkZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxuICAgICAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxuICAgICAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50Lm1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9wcm9kdWN0LWluZm8tc2VjdGlvbi9wcm9kdWN0LWluZm8tc2VjdGlvbi5jb21wb25lbnQubW9kYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0VGV4dE1vZGVsLCBJbWFnZSwgTGF5T3V0TW9kZWwsIFBvc2l0aW9uTGF5b3V0TW9kYWwsIEFsaWduQ29udGVudCwgQmFja2dyb3VuZE1vZGVsLCBBbmltYXRpb25Nb2RlbCwgQm9yZGVyTW9kZWwsIERldmlkZXJNb2RlbCwgSW1hZ2VTdHlsZSwgQWN0aW9uTW9kZWwgfSBmcm9tICcuLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IENvcm5lcnMgfSBmcm9tICcuLy4uLy4uL3N0eWxlcy9pbmRleCc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEluZm9TZWN0aW9uTW9kZWwge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHNlY3Rpb25UeXBlOiBzdHJpbmcsXHJcbiAgICBzZWN0aW9uTmFtZTogc3RyaW5nLFxyXG4gICAgY29udGVudDogUHJvZHVjdEluZm9Db250ZW50TW9kZWw7XHJcbiAgICBzdHlsZXM6IFByb2R1Y3RJbmZvU3R5bGVzTW9kZWw7XHJcbiAgICBhY3Rpb246IEFjdGlvbk1vZGVsO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEluZm9Db250ZW50TW9kZWwge1xyXG4gICAgaW5wdXRUZXh0OiBJbnB1dFRleHRNb2RlbFtdO1xyXG4gICAgaW1hZ2U6IEltYWdlO1xyXG4gICAgcHJvZHVjdFRhYmxlRGF0YUxpc3Q6IGFueVtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEluZm9TdHlsZXNNb2RlbCB7XHJcbiAgICBsYXlvdXQ6IExheU91dE1vZGVsO1xyXG4gICAgcG9zaXRpb25MYXlvdXQ6IFBvc2l0aW9uTGF5b3V0TW9kYWw7XHJcbiAgICBjb250ZW50QWxpZ25tZW50OiBBbGlnbkNvbnRlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kTW9kZWw7XHJcbiAgICBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsO1xyXG4gICAgYm9yZGVyOiBCb3JkZXJNb2RlbDtcclxuICAgIGRldmlkZXI6IERldmlkZXJNb2RlbDtcclxuICAgIGltYWdlOiBJbWFnZVN0eWxlO1xyXG4gICAgY29ybmVyczogQ29ybmVycztcclxuICAgIHNob3dJbWFnZTogYm9vbGVhbjtcclxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbmZvLXNlY3Rpb24uY29tcG9uZW50Lm1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9wcm9kdWN0LWluZm8tc2VjdGlvbi9wcm9kdWN0LWluZm8tc2VjdGlvbi5jb21wb25lbnQubW9kYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0VGV4dE1vZGVsLCBJbWFnZSwgTGF5T3V0TW9kZWwsIFBvc2l0aW9uTGF5b3V0TW9kYWwsIEFsaWduQ29udGVudCwgQmFja2dyb3VuZE1vZGVsLCBBbmltYXRpb25Nb2RlbCwgQm9yZGVyTW9kZWwsIERldmlkZXJNb2RlbCwgSW1hZ2VTdHlsZSwgQWN0aW9uTW9kZWwgfSBmcm9tICcuLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBDb3JuZXJzIH0gZnJvbSAnLi8uLi8uLi9zdHlsZXMvaW5kZXgnO1xuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0SW5mb1NlY3Rpb25Nb2RlbCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBzZWN0aW9uVHlwZTogc3RyaW5nLFxuICAgIHNlY3Rpb25OYW1lOiBzdHJpbmcsXG4gICAgY29udGVudDogUHJvZHVjdEluZm9Db250ZW50TW9kZWw7XG4gICAgc3R5bGVzOiBQcm9kdWN0SW5mb1N0eWxlc01vZGVsO1xuICAgIGFjdGlvbjogQWN0aW9uTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RJbmZvQ29udGVudE1vZGVsIHtcbiAgICBpbnB1dFRleHQ6IElucHV0VGV4dE1vZGVsW107XG4gICAgaW1hZ2U6IEltYWdlO1xuICAgIHByb2R1Y3RUYWJsZURhdGFMaXN0OiBhbnlbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEluZm9TdHlsZXNNb2RlbCB7XG4gICAgbGF5b3V0OiBMYXlPdXRNb2RlbDtcbiAgICBwb3NpdGlvbkxheW91dDogUG9zaXRpb25MYXlvdXRNb2RhbDtcbiAgICBjb250ZW50QWxpZ25tZW50OiBBbGlnbkNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZDogQmFja2dyb3VuZE1vZGVsO1xuICAgIGFuaW1hdGlvbjogQW5pbWF0aW9uTW9kZWw7XG4gICAgYm9yZGVyOiBCb3JkZXJNb2RlbDtcbiAgICBkZXZpZGVyOiBEZXZpZGVyTW9kZWw7XG4gICAgaW1hZ2U6IEltYWdlU3R5bGU7XG4gICAgY29ybmVyczogQ29ybmVycztcbiAgICBzaG93SW1hZ2U6IGJvb2xlYW47XG59Il19
@@ -66,7 +66,7 @@ export class RecentBlogPostSectionComponent extends BaseSection {
66
66
  }, 100);
67
67
  }
68
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecentBlogPostSectionComponent, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
69
- 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" }, usesInheritance: true, ngImport: i0, template: "<section [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' : (responseData.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=\"row\" [ngClass]=\"{'justify-content-between': data?.content?.display?.showCard}\">\r\n <div (click)=\"getBlogById(content.newPostTitle)\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\r\n class=\"individual-cards col-12\"\r\n *ngFor=\"let content of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]\" [ngClass]=\"{'card-form': data?.content?.display?.showCard}\">\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 h-100\" alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10 h-35': data?.content?.display?.showCard}\">\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\" class=\"h-35\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10': data?.content?.display?.showCard}\">\r\n </div>\r\n <div class=\"heading-medium title mt-4\" [ngClass]=\"{'p-10': data?.content?.display?.showCard}\">\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': data?.content?.display?.showCard}\">\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=\"responseData?.length == 0\" 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]=\"data?.styles?.size\" [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 height: '40vh',\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}.individual-cards img{width:100%;height:37vh}.title{font-size:20px;font-weight:500}.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}.h-35{height:35vh!important}.col-md-4{flex:0 0 auto;width:32.333333%}.pb-15{padding-bottom:15px}\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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i2.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: i3.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"] }] }); }
69
+ 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" }, usesInheritance: true, ngImport: i0, template: "<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\n class=\"total-container\" [attr.style]=\"customClass\">\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [spacingHorizontal]=\"stylesLayout\">\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\" [ngStyle]=\"{'width' : (responseData.length || 0) == 0 ? '100%' : ''}\">\n <div *ngFor=\"let text of data?.content?.inputText; let i = index\">\n <div class=\"heading-large content-side\" [simpoContentTitleSpace]=\"headingSpace\" >\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"i\" [isRTE]=\"text.isRTE\"></simpo-text-editor>\n\n </div>\n </div>\n <div class=\"row\" [ngClass]=\"{'justify-content-between': data?.content?.display?.showCard}\">\n <div (click)=\"getBlogById(content.newPostTitle)\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\n class=\"individual-cards col-12\"\n *ngFor=\"let content of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]\" [ngClass]=\"{'card-form': data?.content?.display?.showCard}\">\n <div class=\"image\">\n <img loading=\"lazy\" [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\n [simpoCorner]=\"style?.corners\" class=\"d-block mx-lg-auto img-fluid h-100\" alt=\"\" *ngIf=\"content.img\"\n loading=\"lazy\" [ngClass]=\"{'br-10 h-35': data?.content?.display?.showCard}\">\n <img loading=\"lazy\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\"\n alt=\"\" *ngIf=\"!content.img\" class=\"h-35\"\n loading=\"lazy\" [ngClass]=\"{'br-10': data?.content?.display?.showCard}\">\n </div>\n <div class=\"heading-medium title mt-4\" [ngClass]=\"{'p-10': data?.content?.display?.showCard}\">\n {{(content?.postTitle?.length || 0) > 100 ? content.postTitle.substring(0,100)+'...\"' : content.postTitle}}\n </div>\n <div class=\"body-large mt-4 pb-15\" [ngClass]=\"{'p-10': data?.content?.display?.showCard}\">\n {{(content?.postSummary?.length || 0) > 250 ? content.postSummary.substring(0, 250) + '...' :\n content.postSummary}}\n </div>\n <!-- <div class=\"body-large adate mt-3\">\n {{content.createdTimeStamp | date:'EEEE, MMM, d, y'}}\n </div> -->\n </div>\n </div>\n <div *ngIf=\"responseData?.length == 0\" class=\"row\">\n <div class=\"no-blog-post\">\n <mat-icon>info</mat-icon>This section won't be visible because you have no published blog posts.\n </div>\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\n width: '100%',\n height: '40vh',\n 'border-radius': '10px',\n 'position': 'relative',\n 'right': '5px'\n }\">\n </ngx-skeleton-loader>\n <div class=\"second-section-wrapper\">\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '100%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '90%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px',\n 'display' : 'flex'\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '60%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px',\n 'display' : 'flex'\n }\"></ngx-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n <div class=\"button-section mt-3rem\" *ngIf=\"this.data?.action && this.data?.action?.display\">\n <button class=\"button p-2\" [buttonData]=\"buttonData?.content\" [buttonStyle]=\"buttonData?.styles\"\n simpoButtonDirective [id]=\"data?.id+(buttonData?.id || '')\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\n [backgroundInfo]=\"data?.styles?.background\" [appButtonEditor]=\"edit ?? false\" [buttonId]=\"buttonData?.id ?? ''\" (click)=\"openBlogList()\">{{buttonData?.content?.label}}</button>\n </div>\n\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"style?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\" [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</section>\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}.individual-cards img{width:100%;height:37vh}.title{font-size:20px;font-weight:500}.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}.h-35{height:35vh!important}.col-md-4{flex:0 0 auto;width:32.333333%}.pb-15{padding-bottom:15px}\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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i2.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: i3.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"] }] }); }
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecentBlogPostSectionComponent, decorators: [{
72
72
  type: Component,
@@ -93,7 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
93
93
  SpacingHorizontalDirective,
94
94
  TextEditorComponent,
95
95
  ButtonEditorDirective
96
- ], template: "<section [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' : (responseData.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=\"row\" [ngClass]=\"{'justify-content-between': data?.content?.display?.showCard}\">\r\n <div (click)=\"getBlogById(content.newPostTitle)\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\r\n class=\"individual-cards col-12\"\r\n *ngFor=\"let content of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]\" [ngClass]=\"{'card-form': data?.content?.display?.showCard}\">\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 h-100\" alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10 h-35': data?.content?.display?.showCard}\">\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\" class=\"h-35\"\r\n loading=\"lazy\" [ngClass]=\"{'br-10': data?.content?.display?.showCard}\">\r\n </div>\r\n <div class=\"heading-medium title mt-4\" [ngClass]=\"{'p-10': data?.content?.display?.showCard}\">\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': data?.content?.display?.showCard}\">\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=\"responseData?.length == 0\" 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]=\"data?.styles?.size\" [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 height: '40vh',\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}.individual-cards img{width:100%;height:37vh}.title{font-size:20px;font-weight:500}.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}.h-35{height:35vh!important}.col-md-4{flex:0 0 auto;width:32.333333%}.pb-15{padding-bottom:15px}\n"] }]
96
+ ], template: "<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\n class=\"total-container\" [attr.style]=\"customClass\">\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [spacingHorizontal]=\"stylesLayout\">\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\" [ngStyle]=\"{'width' : (responseData.length || 0) == 0 ? '100%' : ''}\">\n <div *ngFor=\"let text of data?.content?.inputText; let i = index\">\n <div class=\"heading-large content-side\" [simpoContentTitleSpace]=\"headingSpace\" >\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"i\" [isRTE]=\"text.isRTE\"></simpo-text-editor>\n\n </div>\n </div>\n <div class=\"row\" [ngClass]=\"{'justify-content-between': data?.content?.display?.showCard}\">\n <div (click)=\"getBlogById(content.newPostTitle)\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\n class=\"individual-cards col-12\"\n *ngFor=\"let content of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]\" [ngClass]=\"{'card-form': data?.content?.display?.showCard}\">\n <div class=\"image\">\n <img loading=\"lazy\" [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\n [simpoCorner]=\"style?.corners\" class=\"d-block mx-lg-auto img-fluid h-100\" alt=\"\" *ngIf=\"content.img\"\n loading=\"lazy\" [ngClass]=\"{'br-10 h-35': data?.content?.display?.showCard}\">\n <img loading=\"lazy\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\"\n alt=\"\" *ngIf=\"!content.img\" class=\"h-35\"\n loading=\"lazy\" [ngClass]=\"{'br-10': data?.content?.display?.showCard}\">\n </div>\n <div class=\"heading-medium title mt-4\" [ngClass]=\"{'p-10': data?.content?.display?.showCard}\">\n {{(content?.postTitle?.length || 0) > 100 ? content.postTitle.substring(0,100)+'...\"' : content.postTitle}}\n </div>\n <div class=\"body-large mt-4 pb-15\" [ngClass]=\"{'p-10': data?.content?.display?.showCard}\">\n {{(content?.postSummary?.length || 0) > 250 ? content.postSummary.substring(0, 250) + '...' :\n content.postSummary}}\n </div>\n <!-- <div class=\"body-large adate mt-3\">\n {{content.createdTimeStamp | date:'EEEE, MMM, d, y'}}\n </div> -->\n </div>\n </div>\n <div *ngIf=\"responseData?.length == 0\" class=\"row\">\n <div class=\"no-blog-post\">\n <mat-icon>info</mat-icon>This section won't be visible because you have no published blog posts.\n </div>\n <div class=\"skeleton col-12\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\n width: '100%',\n height: '40vh',\n 'border-radius': '10px',\n 'position': 'relative',\n 'right': '5px'\n }\">\n </ngx-skeleton-loader>\n <div class=\"second-section-wrapper\">\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '100%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '90%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px',\n 'display' : 'flex'\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '60%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px',\n 'display' : 'flex'\n }\"></ngx-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n <div class=\"button-section mt-3rem\" *ngIf=\"this.data?.action && this.data?.action?.display\">\n <button class=\"button p-2\" [buttonData]=\"buttonData?.content\" [buttonStyle]=\"buttonData?.styles\"\n simpoButtonDirective [id]=\"data?.id+(buttonData?.id || '')\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\n [backgroundInfo]=\"data?.styles?.background\" [appButtonEditor]=\"edit ?? false\" [buttonId]=\"buttonData?.id ?? ''\" (click)=\"openBlogList()\">{{buttonData?.content?.label}}</button>\n </div>\n\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"style?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\" [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</section>\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}.individual-cards img{width:100%;height:37vh}.title{font-size:20px;font-weight:500}.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}.h-35{height:35vh!important}.col-md-4{flex:0 0 auto;width:32.333333%}.pb-15{padding-bottom:15px}\n"] }]
97
97
  }], ctorParameters: () => [{ type: i1.EventsService }], propDecorators: { data: [{
98
98
  type: Input
99
99
  }], index: [{
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
109
109
  }], responseData: [{
110
110
  type: Input
111
111
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi9yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixF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cEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi9CYXNlU2VjdGlvbic7XG5pbXBvcnQgeyBSZWNlbnRCbG9nUG9zdFNlY3Rpb25Nb2RlbCwgUmVjZW50QmxvZ1Bvc3RDb250ZW50TW9kZWwsIEJhbm5lckdyaWRTdHlsZXNNb2RlbCB9IGZyb20gJy4vcmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhvdmVyRWxlbWVudHNDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9ob3Zlci1lbGVtZW50cy9ob3Zlci1lbGVtZW50cy5jb21wb25lbnRcIjtcbmltcG9ydCB7IERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2RlbGV0ZS1ob3Zlci1lbGVtZW50L2RlbGV0ZS1ob3Zlci1lbGVtZW50LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCb3JkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYm9yZGVyLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb250ZW50Rml0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtZml0LWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1kaXJlY3RpdmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2ltYWdlLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaW1wb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9lbGVtZW50cy9zaW1wby1idXR0b24vc2ltcG8tYnV0dG9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29udGVudFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtdGl0bGUtc3BhY2luZy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU1BBQ0lORyB9IGZyb20gJy4uLy4uL3N0eWxlcy9pbmRleCc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIEJ1dHRvbk1vZGVsLCBMYXlPdXRNb2RlbCB9IGZyb20gJy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29sdW1uRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbHVtbi1kaXJlY3RpdmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5neFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXNrZWxldG9uLWxvYWRlcic7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FuaXRpemVIdG1sJztcbmltcG9ydCB7IFN2Z0RpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9zdmctZGl2aWRlci9zdmctZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZWRpdG9yLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLXJlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxuICAgIEhvdmVyRGlyZWN0aXZlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIb3ZlckVsZW1lbnRzQ29tcG9uZW50LFxuICAgIERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCxcbiAgICBPdmVybGF5RGlyZWN0aXZlLFxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcbiAgICBCb3JkZXJEaXJlY3RpdmUsXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcbiAgICBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSxcbiAgICBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSxcbiAgICBDb3JuZXJEaXJlY3RpdmUsXG4gICAgU2ltcG9CdXR0b25Db21wb25lbnQsXG4gICAgQ29udGVudFRpdGxlRGlyZWN0aXZlLFxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcbiAgICBDb2x1bW5EaXJlY3RpdmVEaXJlY3RpdmUsXG4gICAgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUsXG4gICAgTWF0SWNvbixcbiAgICBTYW5pdGl6ZUh0bWxQaXBlLFN2Z0RpdmlkZXJDb21wb25lbnQsXG4gICAgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUsXG4gICAgVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgICBCdXR0b25FZGl0b3JEaXJlY3RpdmVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24uY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgUmVjZW50QmxvZ1Bvc3RTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhPzpSZWNlbnRCbG9nUG9zdFNlY3Rpb25Nb2RlbDtcbiAgQElucHV0KCkgaW5kZXg/IDogbnVtYmVyO1xuICBjb250ZW50PzogUmVjZW50QmxvZ1Bvc3RDb250ZW50TW9kZWw7XG4gIEBJbnB1dCgpIGVkaXQ/IDogYm9vbGVhbjtcbiAgQElucHV0KCkgZGVsZXRlPyA6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xuICBASW5wdXQoKSBuZXh0Q29tcG9uZW50Q29sb3I/OiBCYWNrZ3JvdW5kTW9kZWw7XG5cbiAgQElucHV0KCkgcmVzcG9uc2VEYXRhOiBhbnlbXSA9IFtdO1xuICBzdHlsZT86IEJhbm5lckdyaWRTdHlsZXNNb2RlbDtcbiAgYnV0dG9uRGF0YT86IEJ1dHRvbk1vZGVsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZXZlbnRTZXJ2aWNlIDogRXZlbnRzU2VydmljZVxuICApe1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZVNlbGVjdGVkID0gdGhpcy5kZWxldGVcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XG4gICAgdGhpcy5zdHlsZSA9IHRoaXMuZGF0YT8uc3R5bGVzO1xuICAgIHRoaXMuYnV0dG9uRGF0YSA9IHRoaXMuZGF0YT8uYWN0aW9uLmJ1dHRvbnNbMF07XG5cbiAgICBmb3IobGV0IGJsb2cgb2YgdGhpcy5yZXNwb25zZURhdGEpIHtcbiAgICAgIGJsb2dbJ2ltZyddID0gYmxvZy5ibG9ja3MuZmluZCgoeDogYW55KSA9PiB4LnR5cGUgPT09ICdpbWFnZScpPy5kYXRhPy5maWxlPy51cmxcbiAgICB9XG4gIH1cbiAgZ2V0IGhlYWRpbmdTcGFjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZT8ubGF5b3V0LmhlYWRpbmdTcGFjaW5nIGFzIFNQQUNJTkc7XG4gIH1cblxuICAgZ2V0IHN0eWxlc0xheW91dCgpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZT8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XG4gICAgfVxuXG4gIGdldFNsaWNlUGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gWzAsICh0aGlzLmNvbnRlbnQ/Lm5vT2ZQb3N0cyB8fCAwKV07XG4gIH1cblxuICBnZXRCbG9nQnlJZChibG9nSWQ6IGFueSl7XG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmJsb2dCeUlkRXZlbnQuZW1pdChibG9nSWQpO1xuICB9XG5cbiAgb3BlbkJsb2dMaXN0KCl7XG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLm9wZW5CbG9nTGlzdEV2ZW50LmVtaXQoKTtcbiAgfVxuICBlZGl0U2VjdGlvbigpe1xuXG4gICAgaWYod2luZG93LmlubmVyV2lkdGggPD0gNDc1KVxuICAgICAgcmV0dXJuO1xuICAgIFxuICAgIHRoaXMuX2V2ZW50U2VydmljZS50b2dnbGVFZGl0b3JFdmVudC5lbWl0KGZhbHNlKTtcbiAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmVkaXRTZWN0aW9uLmVtaXQoe2RhdGE6dGhpcy5kYXRhfSk7XG4gICAgfSwgMTAwKTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZT8uYmFja2dyb3VuZFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCJcclxuICBjbGFzcz1cInRvdGFsLWNvbnRhaW5lclwiICBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gIDxkaXYgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvT3ZlcmxheV09XCJzdHlsZT8uYmFja2dyb3VuZFwiIFtzcGFjaW5nSG9yaXpvbnRhbF09XCJzdHlsZXNMYXlvdXRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9Cb3JkZXJdPVwic3R5bGU/LmJvcmRlclwiIFtzaW1wb0xheW91dF09XCJzdHlsZT8ubGF5b3V0XCI+XHJcbiAgICAgIDxkaXYgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlPy5hbmltYXRpb25cIiBbbmdTdHlsZV09XCJ7J3dpZHRoJyA6IChyZXNwb25zZURhdGEubGVuZ3RoIHx8IDApID09IDAgPyAnMTAwJScgOiAnJ31cIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGRhdGE/LmNvbnRlbnQ/LmlucHV0VGV4dDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbGFyZ2UgY29udGVudC1zaWRlXCIgW3NpbXBvQ29udGVudFRpdGxlU3BhY2VdPVwiaGVhZGluZ1NwYWNlXCIgPlxyXG4gICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwidGV4dC52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtpbnB1dFRleHRJbmRleF09XCJpXCIgW2lzUlRFXT1cInRleHQuaXNSVEVcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBbbmdDbGFzc109XCJ7J2p1c3RpZnktY29udGVudC1iZXR3ZWVuJzogZGF0YT8uY29udGVudD8uZGlzcGxheT8uc2hvd0NhcmR9XCI+XHJcbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJnZXRCbG9nQnlJZChjb250ZW50Lm5ld1Bvc3RUaXRsZSlcIiBbc2ltcG9Db2x1bW5EaXJlY3RpdmVdPVwiZGF0YT8uc3R5bGVzPy5zaXplXCIgW2lkXT1cImRhdGE/LmlkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJpbmRpdmlkdWFsLWNhcmRzIGNvbC0xMlwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb250ZW50IG9mIHJlc3BvbnNlRGF0YSB8IHNsaWNlOmdldFNsaWNlUGFyYW1ldGVycygpWzBdOmdldFNsaWNlUGFyYW1ldGVycygpWzFdXCIgW25nQ2xhc3NdPVwieydjYXJkLWZvcm0nOiBkYXRhPy5jb250ZW50Py5kaXNwbGF5Py5zaG93Q2FyZH1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XHJcbiAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiICBbc3JjXT1cImNvbnRlbnQuaW1nXCIgW3NpbXBvSW1hZ2VEaXJlY3RpdmVdPVwic3R5bGU/LmltYWdlXCIgW2lkXT1cImRhdGE/LmlkXCJcclxuICAgICAgICAgICAgICAgIFtzaW1wb0Nvcm5lcl09XCJzdHlsZT8uY29ybmVyc1wiIGNsYXNzPVwiZC1ibG9jayBteC1sZy1hdXRvIGltZy1mbHVpZCBoLTEwMFwiIGFsdD1cIlwiICpuZ0lmPVwiY29udGVudC5pbWdcIlxyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIiAgW25nQ2xhc3NdPVwieydici0xMCBoLTM1JzogZGF0YT8uY29udGVudD8uZGlzcGxheT8uc2hvd0NhcmR9XCI+XHJcbiAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiICBbc2ltcG9JbWFnZURpcmVjdGl2ZV09XCJzdHlsZT8uaW1hZ2VcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9Db3JuZXJdPVwic3R5bGU/LmNvcm5lcnNcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9kZXYtYmVlb3MuczMuYW1hem9uYXdzLmNvbS9saWJyYXJ5LW1lZGlhLzU0MTMyOWMxNzE5MjM2OTYzMTk5cGV4ZWxzLXBpeGFiYXktMjYyNTA4LmpwZ1wiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIiAqbmdJZj1cIiFjb250ZW50LmltZ1wiIGNsYXNzPVwiaC0zNVwiXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiIFtuZ0NsYXNzXT1cInsnYnItMTAnOiBkYXRhPy5jb250ZW50Py5kaXNwbGF5Py5zaG93Q2FyZH1cIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSB0aXRsZSBtdC00XCIgIFtuZ0NsYXNzXT1cInsncC0xMCc6IGRhdGE/LmNvbnRlbnQ/LmRpc3BsYXk/LnNob3dDYXJkfVwiPlxyXG4gICAgICAgICAgICAgIHt7KGNvbnRlbnQ/LnBvc3RUaXRsZT8ubGVuZ3RoIHx8IDApID4gIDEwMCA/IGNvbnRlbnQucG9zdFRpdGxlLnN1YnN0cmluZygwLDEwMCkrJy4uLlwiJyA6IGNvbnRlbnQucG9zdFRpdGxlfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib2R5LWxhcmdlIG10LTQgcGItMTVcIiBbbmdDbGFzc109XCJ7J3AtMTAnOiBkYXRhPy5jb250ZW50Py5kaXNwbGF5Py5zaG93Q2FyZH1cIj5cclxuICAgICAgICAgICAgICB7eyhjb250ZW50Py5wb3N0U3VtbWFyeT8ubGVuZ3RoIHx8IDApID4gMjUwID8gY29udGVudC5wb3N0U3VtbWFyeS5zdWJzdHJpbmcoMCwgMjUwKSArICcuLi4nIDpcclxuICAgICAgICAgICAgICBjb250ZW50LnBvc3RTdW1tYXJ5fX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImJvZHktbGFyZ2UgYWRhdGUgbXQtM1wiPlxyXG4gICAgICAgICAgICAgIHt7Y29udGVudC5jcmVhdGVkVGltZVN0YW1wIHwgZGF0ZTonRUVFRSwgTU1NLCBkLCB5J319XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJyZXNwb25zZURhdGE/Lmxlbmd0aCA9PSAwXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuby1ibG9nLXBvc3RcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmluZm88L21hdC1pY29uPlRoaXMgc2VjdGlvbiB3b24ndCBiZSB2aXNpYmxlIGJlY2F1c2UgeW91IGhhdmUgbm8gcHVibGlzaGVkIGJsb2cgcG9zdHMuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbiBjb2wtMTJcIiAgW3NpbXBvQ29sdW1uRGlyZWN0aXZlXT1cImRhdGE/LnN0eWxlcz8uc2l6ZVwiIFtpZF09XCJkYXRhPy5pZFwiICpuZ0Zvcj1cImxldCBpIG9mIFsxLDIsM11cIj5cclxuICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICBoZWlnaHQ6ICc0MHZoJyxcclxuICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAncG9zaXRpb24nOiAncmVsYXRpdmUnLFxyXG4gICAgICAgICAgICAgICdyaWdodCc6ICc1cHgnXHJcbiAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vjb25kLXNlY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTVweCcsXHJcbiAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4J1xyXG4gICAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnOTAlJyxcclxuICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxyXG4gICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknIDogJ2ZsZXgnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICB3aWR0aDogJzYwJScsXHJcbiAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxNXB4JyxcclxuICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnMTBweCcsXHJcbiAgICAgICAgICAgICAgICAgICdkaXNwbGF5JyA6ICdmbGV4J1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXNlY3Rpb24gbXQtM3JlbVwiICpuZ0lmPVwidGhpcy5kYXRhPy5hY3Rpb24gJiYgdGhpcy5kYXRhPy5hY3Rpb24/LmRpc3BsYXlcIj5cclxuICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHAtMlwiIFtidXR0b25EYXRhXT1cImJ1dHRvbkRhdGE/LmNvbnRlbnRcIiBbYnV0dG9uU3R5bGVdPVwiYnV0dG9uRGF0YT8uc3R5bGVzXCJcclxuICAgICAgICAgICAgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImRhdGE/LmlkKyhidXR0b25EYXRhPy5pZCB8fCAnJylcIiAgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcclxuICAgICAgICAgICAgW2JhY2tncm91bmRJbmZvXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZFwiIFthcHBCdXR0b25FZGl0b3JdPVwiZWRpdCA/PyBmYWxzZVwiIFtidXR0b25JZF09XCJidXR0b25EYXRhPy5pZCA/PyAnJ1wiIChjbGljayk9XCJvcGVuQmxvZ0xpc3QoKVwiPnt7YnV0dG9uRGF0YT8uY29udGVudD8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGU/LmRldmlkZXI/LmRpc3BsYXlcIj5cclxuICAgIDxzaW1wby1zdmctZGl2aWRlciBbZGl2aWRlclR5cGVdPVwic3R5bGU/LmRldmlkZXI/LmRldmlkZXJUeXBlXCIgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi9yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixF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cEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi9CYXNlU2VjdGlvbic7XG5pbXBvcnQgeyBSZWNlbnRCbG9nUG9zdFNlY3Rpb25Nb2RlbCwgUmVjZW50QmxvZ1Bvc3RDb250ZW50TW9kZWwsIEJhbm5lckdyaWRTdHlsZXNNb2RlbCB9IGZyb20gJy4vcmVjZW50LWJsb2ctcG9zdC1zZWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhvdmVyRWxlbWVudHNDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9ob3Zlci1lbGVtZW50cy9ob3Zlci1lbGVtZW50cy5jb21wb25lbnRcIjtcbmltcG9ydCB7IERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2RlbGV0ZS1ob3Zlci1lbGVtZW50L2RlbGV0ZS1ob3Zlci1lbGVtZW50LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCb3JkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYm9yZGVyLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb250ZW50Rml0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtZml0LWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1kaXJlY3RpdmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2ltYWdlLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaW1wb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9lbGVtZW50cy9zaW1wby1idXR0b24vc2ltcG8tYnV0dG9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29udGVudFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtdGl0bGUtc3BhY2luZy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU1BBQ0lORyB9IGZyb20gJy4uLy4uL3N0eWxlcy9pbmRleCc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIEJ1dHRvbk1vZGVsLCBMYXlPdXRNb2RlbCB9IGZyb20gJy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29sdW1uRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbHVtbi1kaXJlY3RpdmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5neFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXNrZWxldG9uLWxvYWRlcic7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FuaXRpemVIdG1sJztcbmltcG9ydCB7IFN2Z0RpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9zdmctZGl2aWRlci9zdmctZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZWRpdG9yLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLXJlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxuICAgIEhvdmVyRGlyZWN0aXZlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIb3ZlckVsZW1lbnRzQ29tcG9uZW50LFxuICAgIERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCxcbiAgICBPdmVybGF5RGlyZWN0aXZlLFxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcbiAgICBCb3JkZXJEaXJlY3RpdmUsXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcbiAgICBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSxcbiAgICBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSxcbiAgICBDb3JuZXJEaXJlY3RpdmUsXG4gICAgU2ltcG9CdXR0b25Db21wb25lbnQsXG4gICAgQ29udGVudFRpdGxlRGlyZWN0aXZlLFxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcbiAgICBDb2x1bW5EaXJlY3RpdmVEaXJlY3RpdmUsXG4gICAgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUsXG4gICAgTWF0SWNvbixcbiAgICBTYW5pdGl6ZUh0bWxQaXBlLFN2Z0RpdmlkZXJDb21wb25lbnQsXG4gICAgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUsXG4gICAgVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgICBCdXR0b25FZGl0b3JEaXJlY3RpdmVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2VudC1ibG9nLXBvc3Qtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZWNlbnQtYmxvZy1wb3N0LXNlY3Rpb24uY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgUmVjZW50QmxvZ1Bvc3RTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhPzpSZWNlbnRCbG9nUG9zdFNlY3Rpb25Nb2RlbDtcbiAgQElucHV0KCkgaW5kZXg/IDogbnVtYmVyO1xuICBjb250ZW50PzogUmVjZW50QmxvZ1Bvc3RDb250ZW50TW9kZWw7XG4gIEBJbnB1dCgpIGVkaXQ/IDogYm9vbGVhbjtcbiAgQElucHV0KCkgZGVsZXRlPyA6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xuICBASW5wdXQoKSBuZXh0Q29tcG9uZW50Q29sb3I/OiBCYWNrZ3JvdW5kTW9kZWw7XG5cbiAgQElucHV0KCkgcmVzcG9uc2VEYXRhOiBhbnlbXSA9IFtdO1xuICBzdHlsZT86IEJhbm5lckdyaWRTdHlsZXNNb2RlbDtcbiAgYnV0dG9uRGF0YT86IEJ1dHRvbk1vZGVsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZXZlbnRTZXJ2aWNlIDogRXZlbnRzU2VydmljZVxuICApe1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZVNlbGVjdGVkID0gdGhpcy5kZWxldGVcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XG4gICAgdGhpcy5zdHlsZSA9IHRoaXMuZGF0YT8uc3R5bGVzO1xuICAgIHRoaXMuYnV0dG9uRGF0YSA9IHRoaXMuZGF0YT8uYWN0aW9uLmJ1dHRvbnNbMF07XG5cbiAgICBmb3IobGV0IGJsb2cgb2YgdGhpcy5yZXNwb25zZURhdGEpIHtcbiAgICAgIGJsb2dbJ2ltZyddID0gYmxvZy5ibG9ja3MuZmluZCgoeDogYW55KSA9PiB4LnR5cGUgPT09ICdpbWFnZScpPy5kYXRhPy5maWxlPy51cmxcbiAgICB9XG4gIH1cbiAgZ2V0IGhlYWRpbmdTcGFjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZT8ubGF5b3V0LmhlYWRpbmdTcGFjaW5nIGFzIFNQQUNJTkc7XG4gIH1cblxuICAgZ2V0IHN0eWxlc0xheW91dCgpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZT8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XG4gICAgfVxuXG4gIGdldFNsaWNlUGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gWzAsICh0aGlzLmNvbnRlbnQ/Lm5vT2ZQb3N0cyB8fCAwKV07XG4gIH1cblxuICBnZXRCbG9nQnlJZChibG9nSWQ6IGFueSl7XG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmJsb2dCeUlkRXZlbnQuZW1pdChibG9nSWQpO1xuICB9XG5cbiAgb3BlbkJsb2dMaXN0KCl7XG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLm9wZW5CbG9nTGlzdEV2ZW50LmVtaXQoKTtcbiAgfVxuICBlZGl0U2VjdGlvbigpe1xuXG4gICAgaWYod2luZG93LmlubmVyV2lkdGggPD0gNDc1KVxuICAgICAgcmV0dXJuO1xuICAgIFxuICAgIHRoaXMuX2V2ZW50U2VydmljZS50b2dnbGVFZGl0b3JFdmVudC5lbWl0KGZhbHNlKTtcbiAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmVkaXRTZWN0aW9uLmVtaXQoe2RhdGE6dGhpcy5kYXRhfSk7XG4gICAgfSwgMTAwKTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZT8uYmFja2dyb3VuZFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCJcbiAgY2xhc3M9XCJ0b3RhbC1jb250YWluZXJcIiAgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cbiAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9PdmVybGF5XT1cInN0eWxlPy5iYWNrZ3JvdW5kXCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9Cb3JkZXJdPVwic3R5bGU/LmJvcmRlclwiIFtzaW1wb0xheW91dF09XCJzdHlsZT8ubGF5b3V0XCI+XG4gICAgICA8ZGl2IFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZT8uYW5pbWF0aW9uXCIgW25nU3R5bGVdPVwieyd3aWR0aCcgOiAocmVzcG9uc2VEYXRhLmxlbmd0aCB8fCAwKSA9PSAwID8gJzEwMCUnIDogJyd9XCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHRleHQgb2YgZGF0YT8uY29udGVudD8uaW5wdXRUZXh0OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbGFyZ2UgY29udGVudC1zaWRlXCIgW3NpbXBvQ29udGVudFRpdGxlU3BhY2VdPVwiaGVhZGluZ1NwYWNlXCIgPlxuICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cInRleHQudmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiIFtzZWN0aW9uSWRdPVwiZGF0YT8uaWRcIiBbaW5wdXRUZXh0SW5kZXhdPVwiaVwiIFtpc1JURV09XCJ0ZXh0LmlzUlRFXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cblxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIFtuZ0NsYXNzXT1cInsnanVzdGlmeS1jb250ZW50LWJldHdlZW4nOiBkYXRhPy5jb250ZW50Py5kaXNwbGF5Py5zaG93Q2FyZH1cIj5cbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJnZXRCbG9nQnlJZChjb250ZW50Lm5ld1Bvc3RUaXRsZSlcIiBbc2ltcG9Db2x1bW5EaXJlY3RpdmVdPVwiZGF0YT8uc3R5bGVzPy5zaXplXCIgW2lkXT1cImRhdGE/LmlkXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5kaXZpZHVhbC1jYXJkcyBjb2wtMTJcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbnRlbnQgb2YgcmVzcG9uc2VEYXRhIHwgc2xpY2U6Z2V0U2xpY2VQYXJhbWV0ZXJzKClbMF06Z2V0U2xpY2VQYXJhbWV0ZXJzKClbMV1cIiBbbmdDbGFzc109XCJ7J2NhcmQtZm9ybSc6IGRhdGE/LmNvbnRlbnQ/LmRpc3BsYXk/LnNob3dDYXJkfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XG4gICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiAgW3NyY109XCJjb250ZW50LmltZ1wiIFtzaW1wb0ltYWdlRGlyZWN0aXZlXT1cInN0eWxlPy5pbWFnZVwiIFtpZF09XCJkYXRhPy5pZFwiXG4gICAgICAgICAgICAgICAgW3NpbXBvQ29ybmVyXT1cInN0eWxlPy5jb3JuZXJzXCIgY2xhc3M9XCJkLWJsb2NrIG14LWxnLWF1dG8gaW1nLWZsdWlkIGgtMTAwXCIgYWx0PVwiXCIgKm5nSWY9XCJjb250ZW50LmltZ1wiXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIiAgW25nQ2xhc3NdPVwieydici0xMCBoLTM1JzogZGF0YT8uY29udGVudD8uZGlzcGxheT8uc2hvd0NhcmR9XCI+XG4gICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiAgW3NpbXBvSW1hZ2VEaXJlY3RpdmVdPVwic3R5bGU/LmltYWdlXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlPy5jb3JuZXJzXCJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Rldi1iZWVvcy5zMy5hbWF6b25hd3MuY29tL2xpYnJhcnktbWVkaWEvNTQxMzI5YzE3MTkyMzY5NjMxOTlwZXhlbHMtcGl4YWJheS0yNjI1MDguanBnXCJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIiAqbmdJZj1cIiFjb250ZW50LmltZ1wiIGNsYXNzPVwiaC0zNVwiXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIiBbbmdDbGFzc109XCJ7J2JyLTEwJzogZGF0YT8uY29udGVudD8uZGlzcGxheT8uc2hvd0NhcmR9XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSB0aXRsZSBtdC00XCIgIFtuZ0NsYXNzXT1cInsncC0xMCc6IGRhdGE/LmNvbnRlbnQ/LmRpc3BsYXk/LnNob3dDYXJkfVwiPlxuICAgICAgICAgICAgICB7eyhjb250ZW50Py5wb3N0VGl0bGU/Lmxlbmd0aCB8fCAwKSA+ICAxMDAgPyBjb250ZW50LnBvc3RUaXRsZS5zdWJzdHJpbmcoMCwxMDApKycuLi5cIicgOiBjb250ZW50LnBvc3RUaXRsZX19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib2R5LWxhcmdlIG10LTQgcGItMTVcIiBbbmdDbGFzc109XCJ7J3AtMTAnOiBkYXRhPy5jb250ZW50Py5kaXNwbGF5Py5zaG93Q2FyZH1cIj5cbiAgICAgICAgICAgICAge3soY29udGVudD8ucG9zdFN1bW1hcnk/Lmxlbmd0aCB8fCAwKSA+IDI1MCA/IGNvbnRlbnQucG9zdFN1bW1hcnkuc3Vic3RyaW5nKDAsIDI1MCkgKyAnLi4uJyA6XG4gICAgICAgICAgICAgIGNvbnRlbnQucG9zdFN1bW1hcnl9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJib2R5LWxhcmdlIGFkYXRlIG10LTNcIj5cbiAgICAgICAgICAgICAge3tjb250ZW50LmNyZWF0ZWRUaW1lU3RhbXAgfCBkYXRlOidFRUVFLCBNTU0sIGQsIHknfX1cbiAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJyZXNwb25zZURhdGE/Lmxlbmd0aCA9PSAwXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tYmxvZy1wb3N0XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+aW5mbzwvbWF0LWljb24+VGhpcyBzZWN0aW9uIHdvbid0IGJlIHZpc2libGUgYmVjYXVzZSB5b3UgaGF2ZSBubyBwdWJsaXNoZWQgYmxvZyBwb3N0cy5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbGV0b24gY29sLTEyXCIgIFtzaW1wb0NvbHVtbkRpcmVjdGl2ZV09XCJkYXRhPy5zdHlsZXM/LnNpemVcIiBbaWRdPVwiZGF0YT8uaWRcIiAqbmdGb3I9XCJsZXQgaSBvZiBbMSwyLDNdXCI+XG4gICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY2lyY2xlXCIgW3RoZW1lXT1cIntcbiAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiAnNDB2aCcsXG4gICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxuICAgICAgICAgICAgICAncG9zaXRpb24nOiAncmVsYXRpdmUnLFxuICAgICAgICAgICAgICAncmlnaHQnOiAnNXB4J1xuICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY29uZC1zZWN0aW9uLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTVweCcsXG4gICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnMTBweCdcbiAgICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgW3RoZW1lXT1cIntcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnOTAlJyxcbiAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTVweCcsXG4gICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4JyxcbiAgICAgICAgICAgICAgICAgICdkaXNwbGF5JyA6ICdmbGV4J1xuICAgICAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogJzYwJScsXG4gICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcwJyxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxuICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnMTBweCcsXG4gICAgICAgICAgICAgICAgICAnZGlzcGxheScgOiAnZmxleCdcbiAgICAgICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1zZWN0aW9uIG10LTNyZW1cIiAqbmdJZj1cInRoaXMuZGF0YT8uYWN0aW9uICYmIHRoaXMuZGF0YT8uYWN0aW9uPy5kaXNwbGF5XCI+XG4gICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gcC0yXCIgW2J1dHRvbkRhdGFdPVwiYnV0dG9uRGF0YT8uY29udGVudFwiIFtidXR0b25TdHlsZV09XCJidXR0b25EYXRhPy5zdHlsZXNcIlxuICAgICAgICAgICAgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImRhdGE/LmlkKyhidXR0b25EYXRhPy5pZCB8fCAnJylcIiAgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcbiAgICAgICAgICAgIFtiYWNrZ3JvdW5kSW5mb109XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmRcIiBbYXBwQnV0dG9uRWRpdG9yXT1cImVkaXQgPz8gZmFsc2VcIiBbYnV0dG9uSWRdPVwiYnV0dG9uRGF0YT8uaWQgPz8gJydcIiAoY2xpY2spPVwib3BlbkJsb2dMaXN0KClcIj57e2J1dHRvbkRhdGE/LmNvbnRlbnQ/LmxhYmVsfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0eWxlPy5kZXZpZGVyPy5kaXNwbGF5XCI+XG4gICAgPHNpbXBvLXN2Zy1kaXZpZGVyIFtkaXZpZGVyVHlwZV09XCJzdHlsZT8uZGV2aWRlcj8uZGV2aWRlclR5cGVcIiBbY29sb3JdPVwibmV4dENvbXBvbmVudENvbG9yPy5jb2xvclwiPjwvc2ltcG8tc3ZnLWRpdmlkZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XG4gICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=