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
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24tcmVxdWlyZWQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9hdXRoZW50aWNhdGlvbi1yZXF1aXJlZC9hdXRoZW50aWNhdGlvbi1yZXF1aXJlZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ybmVycyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9pbmRleCc7XHJcbmltcG9ydCB7IEFjdGlvbk1vZGVsLCBBbmltYXRpb25Nb2RlbCwgQmFja2dyb3VuZE1vZGVsLCBCYW5uZXJTdHlsZXNNb2RlbCwgSW1hZ2UsIEltYWdlU3R5bGUsIElucHV0VGV4dE1vZGVsLCBMYXlPdXRNb2RlbCwgTGlzdEl0ZW1Nb2RhbCwgUG9zaXRpb25MYXlvdXRNb2RhbCB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhlbnRpY2F0aW9uTW9kZWwge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHNlY3Rpb25UeXBlOiBzdHJpbmcsXHJcbiAgICBzZWN0aW9uTmFtZTogc3RyaW5nLFxyXG4gICAgY29udGVudD86IEF1dGhlbnRpY2F0aW9uQ29udGVudE1vZGVsO1xyXG4gICAgc3R5bGVzOiBCYW5uZXJTdHlsZXNNb2RlbDtcclxuICAgIGFjdGlvbjogQWN0aW9uTW9kZWw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aGVudGljYXRpb25Db250ZW50TW9kZWwge1xyXG4gICAgaW1hZ2U/OiBBdXRoZW50aWNhdGlvbkltYWdlTW9kZWw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aGVudGljYXRpb25JbWFnZU1vZGVsIGV4dGVuZHMgSW1hZ2Uge1xyXG4gICAgc2hvd0ltYWdlOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhlbnRpY2F0aW9uU3R5bGVzTW9kZWwge1xyXG4gICAgbGF5b3V0OiBMYXlPdXRNb2RlbDtcclxuICAgIGJhY2tncm91bmQ6IEJhY2tncm91bmRNb2RlbDtcclxuICAgIGFuaW1hdGlvbjogQW5pbWF0aW9uTW9kZWw7XHJcbiAgICBpbWFnZT86IEltYWdlU3R5bGU7XHJcbiAgICBwb3NpdGlvbkxheW91dDogUG9zaXRpb25MYXlvdXRNb2RhbDtcclxuICAgIGNvcm5lcnM6IENvcm5lcnM7XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24tcmVxdWlyZWQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9hdXRoZW50aWNhdGlvbi1yZXF1aXJlZC9hdXRoZW50aWNhdGlvbi1yZXF1aXJlZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ybmVycyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9pbmRleCc7XG5pbXBvcnQgeyBBY3Rpb25Nb2RlbCwgQW5pbWF0aW9uTW9kZWwsIEJhY2tncm91bmRNb2RlbCwgQmFubmVyU3R5bGVzTW9kZWwsIEltYWdlLCBJbWFnZVN0eWxlLCBJbnB1dFRleHRNb2RlbCwgTGF5T3V0TW9kZWwsIExpc3RJdGVtTW9kYWwsIFBvc2l0aW9uTGF5b3V0TW9kYWwgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhlbnRpY2F0aW9uTW9kZWwge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgc2VjdGlvblR5cGU6IHN0cmluZyxcbiAgICBzZWN0aW9uTmFtZTogc3RyaW5nLFxuICAgIGNvbnRlbnQ/OiBBdXRoZW50aWNhdGlvbkNvbnRlbnRNb2RlbDtcbiAgICBzdHlsZXM6IEJhbm5lclN0eWxlc01vZGVsO1xuICAgIGFjdGlvbjogQWN0aW9uTW9kZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aGVudGljYXRpb25Db250ZW50TW9kZWwge1xuICAgIGltYWdlPzogQXV0aGVudGljYXRpb25JbWFnZU1vZGVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhlbnRpY2F0aW9uSW1hZ2VNb2RlbCBleHRlbmRzIEltYWdlIHtcbiAgICBzaG93SW1hZ2U6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aGVudGljYXRpb25TdHlsZXNNb2RlbCB7XG4gICAgbGF5b3V0OiBMYXlPdXRNb2RlbDtcbiAgICBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kTW9kZWw7XG4gICAgYW5pbWF0aW9uOiBBbmltYXRpb25Nb2RlbDtcbiAgICBpbWFnZT86IEltYWdlU3R5bGU7XG4gICAgcG9zaXRpb25MYXlvdXQ6IFBvc2l0aW9uTGF5b3V0TW9kYWw7XG4gICAgY29ybmVyczogQ29ybmVycztcbn1cbiJdfQ==
@@ -169,7 +169,7 @@ export class BookAppointmentComponent extends BaseSection {
169
169
  return window.innerWidth <= 475;
170
170
  }
171
171
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BookAppointmentComponent, deps: [{ token: i1.StorageServiceService }, { token: i2.RestService }, { token: i3.Router }, { token: i4.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
172
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BookAppointmentComponent, isStandalone: true, selector: "simpo-book-appointment", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass" }, providers: [MessageService], usesInheritance: true, ngImport: i0, template: "<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\r\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\r\n\r\n<main class=\"main-content\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div class=\"container\">\r\n <div class=\"content-grid\">\r\n <!-- Left Form Section -->\r\n <div class=\"form-section\">\r\n <!-- Service Description -->\r\n <div class=\"card service-description\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">\r\n <h2 class=\"section-title\">Try at Home Service</h2>\r\n <p>Our Try at Home consultant will visit your location to show you the designs at your convenience.</p>\r\n </div>\r\n\r\n <!-- Pincode Section -->\r\n <!-- <div class=\"card\">\r\n <h3 class=\"section-title\">\r\n <svg class=\"icon\" viewBox=\"0 0 24 24\">\r\n <path\r\n d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\" />\r\n </svg>\r\n Service Location\r\n </h3>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Enter your pincode</label>\r\n <input type=\"text\" class=\"form-input\" placeholder=\"Enter 6-digit pincode\"\r\n maxlength=\"6\" />\r\n <div class=\"pincode-success\" *ngIf=\"pincode.length === 6\">\r\n \u2713 Service available in your area\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Date Selection -->\r\n <div class=\"card\">\r\n <h3 class=\"section-title\">Select a Date</h3>\r\n <div class=\"date-grid\">\r\n <div class=\"single-date\" *ngFor=\"let day of weekDays\" (click)=\"checkAvailability(day)\"\r\n [style.border]=\"day.dateWithMonth === customerDetails.date ? '2px solid ' + styles?.background?.accentColor : 'none'\">\r\n <div class=\"time\">\r\n <div class=\"day\">{{day.day.substring(0,3)}}</div>\r\n <div class=\"date\">{{day.date}}</div>\r\n </div>\r\n <div class=\"design\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">{{trialCartItem?.length ?? 0}}\r\n Designs</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Time Selection -->\r\n <div class=\"card\" *ngIf=\"customerDetails.date\">\r\n <div class=\"section\">\r\n <h2 class=\"section-title\">Select a Time</h2>\r\n <div class=\"time-grid\">\r\n <div class=\"time-slot\" *ngFor=\"let time of timeSlots ?? []\" (click)=\"selectTime(time)\"\r\n [ngClass]=\"{'selected': time === customerDetails.time}\">\r\n <div class=\"more-slot-badge\">More Slot Left</div>\r\n <div class=\"time-text\">{{time}}</div>\r\n </div>\r\n <div *ngIf=\"timeSlots?.length == 0\">No slots available</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Customer Details -->\r\n <div class=\"card\">\r\n <h3 class=\"section-title\">Contact Details</h3>\r\n <div class=\"form-row\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Full Name *</label>\r\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverName\"\r\n placeholder=\"Enter your full name\" />\r\n </div>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Phone Number *</label>\r\n <input type=\"tel\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverPhone\"\r\n placeholder=\"Enter your phone number\" />\r\n </div>\r\n </div>\r\n <div class=\"form-row\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Email *</label>\r\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverEmail\"\r\n placeholder=\"Enter your valid mail\" />\r\n </div>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">City *</label>\r\n <input type=\"city\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.cityName\"\r\n placeholder=\"Enter your city\" />\r\n </div>\r\n </div>\r\n <div class=\"form-row\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">State *</label>\r\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.stateName\"\r\n placeholder=\"Enter your state\" />\r\n </div>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Pincode *</label>\r\n <input type=\"tel\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.zipCode\"\r\n placeholder=\"Enter your pincode\" />\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Complete Address *</label>\r\n <textarea class=\"form-input form-textarea\" [(ngModel)]=\"customerDetails.addressDetails.addressLine1\"\r\n placeholder=\"Enter your complete address\"></textarea>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Sidebar -->\r\n <div class=\"sidebar\">\r\n <div class=\"card\">\r\n <h3 class=\"designs-header\">Your Shortlisted Designs</h3>\r\n <!-- <div class=\"designs-count\">{{ getSelectedDesigns().length }}/4 SELECTED</div> -->\r\n\r\n <div class=\"design-parent\">\r\n <div class=\"design-item\" *ngFor=\"let item of trialCartItem\">\r\n <div class=\"design-content\">\r\n <img class=\"design-image\" [src]=\"item.imgUrl ?? 'https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\"\r\n alt=\"\">\r\n <!-- <div class=\"\">Design Image</div> -->\r\n\r\n <div class=\"design-info\">\r\n <h3 class=\"item-title\">{{item.itemName}}</h3>\r\n <div class=\"item-price\">\r\n <span class=\"current-price\">\u20B9{{item.discountedPrice | number: '1.0-2'}}</span>\r\n <span class=\"original-price\" *ngIf=\"item.sellingPrice > item.discountedPrice\">\u20B9{{item.sellingPrice |\r\n number:\r\n '1.0-2'}}</span>\r\n </div>\r\n <div class=\"item-options\" *ngIf=\"item.itemVariant\">\r\n <span *ngFor=\"let varient of getKeys(item.itemVariant.properties)\">{{ varient }}: {{\r\n item.itemVariant.properties[varient] | uppercase }}</span>\r\n </div>\r\n </div>\r\n <!-- <button class=\"design-select\" [class.selected]=\"design.selected\" (click)=\"toggleDesign(design.id)\">\r\n {{ design.selected ? 'Selected' : 'Select' }}\r\n </button> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button class=\"add-design\" (click)=\"addMoreDesign()\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\r\n <path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\" />\r\n </svg>\r\n Add More Designs\r\n </button>\r\n\r\n <div class=\"summary\">\r\n <!-- <div class=\"summary-row\">\r\n <span class=\"summary-label\">Selected Designs:</span>\r\n <span class=\"summary-value\">{{ getSelectedDesigns().length }}</span>\r\n </div> -->\r\n <div class=\"summary-row\">\r\n <span class=\"summary-label\">Service:</span>\r\n <span class=\"summary-value free-service\">FREE</span>\r\n </div>\r\n </div>\r\n\r\n <button class=\"book-button\" (click)=\"bookAppointment()\" simpoButtonDirective *ngIf=\"!loader\"\r\n [disabled]=\"isValid\" [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\"\r\n [color]=\"data?.styles?.background?.accentColor\" [backgroundInfo]=\"styles?.background\">\r\n {{data?.action?.buttons?.[1]?.content?.label ?? 'Book Try at Home Appointment'}}\r\n </button>\r\n <button class=\"book-button loader-btn\" simpoButtonDirective [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\"\r\n [color]=\"data?.styles?.background?.accentColor\" *ngIf=\"loader\"\r\n [backgroundInfo]=\"styles?.background\"><mat-spinner></mat-spinner> Booking</button>\r\n <p class=\"disclaimer\">Our consultant will contact you to confirm the appointment</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isEcommerce]=\"true\"></simpo-hover-elements>\r\n </div>\r\n</main>", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.main-content{padding:32px 0;position:relative}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px}.form-section{display:flex;flex-direction:column;gap:24px}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.section-title{font-size:18px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:12px}.icon{width:20px;height:20px;fill:#7c3aed}.service-description p{line-height:1.6}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.form-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.form-textarea{resize:vertical;height:80px}.pincode-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;padding:12px;border-radius:8px;font-size:14px;font-weight:500;margin-top:8px}.date-grid{display:flex;gap:12px}.date-button,.time-button{padding:16px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;text-align:center;transition:all .2s;font-size:14px}.date-button:hover,.time-button:hover{border-color:#7c3aed;background:#faf5ff}.date-button.selected,.time-button.selected{border-color:#7c3aed;background:#f3e8ff;color:#7c3aed;font-weight:600}.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sidebar{position:sticky;top:24px;height:fit-content}.designs-header{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:16px}.designs-count{font-size:14px;color:#64748b;margin-bottom:16px}.design-item{border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s}.design-item:hover{border-color:#7c3aed}.design-content{display:flex;gap:12px;align-items:flex-start}.design-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#64748b;flex-shrink:0}.design-info{flex:1}.design-name{font-weight:500;color:#1e293b;margin-bottom:4px;font-size:14px}.design-price{color:#7c3aed;font-weight:600;font-size:14px}.design-select{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid;background:#fff}.design-select.selected{background:#f3e8ff;color:#7c3aed;border-color:#7c3aed}.design-select:not(.selected){color:#64748b;border-color:#d1d5db}.add-design{width:100%;padding:5px 3px;border:2px dashed #d1d5db;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem!important}.add-design:hover{border-color:#7c3aed;color:#7c3aed}.summary{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.summary-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.summary-label{color:#64748b}.summary-value{font-weight:500}.free-service{color:#059669}.book-button{width:100%;padding:6px 10px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:24px;transition:all .2s;font-size:1rem!important}.book-button:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#db2777)}.book-button:disabled{opacity:.5;cursor:not-allowed}.disclaimer{font-size:12px;color:#64748b;text-align:center;margin-top:12px}.slide-in{animation:slideIn .3s ease-out}.time-grid{display:flex;gap:16px;flex-wrap:wrap}.time-slot{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:5px 4px;cursor:pointer;transition:all .2s ease;min-width:120px;text-align:center}.time-slot:hover{border-color:#d1d5db;transform:translateY(-2px)}.time-slot.selected{border-color:#8b5cf6;background:#f3f4f6}.time-slot .time-text{font-size:14px;font-weight:600;color:#374151}.time-slot.selected .time-text{color:#8b5cf6}.more-slot-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:#f97316;color:#fff;font-size:9px;font-weight:600;padding:1px 8px;border-radius:12px;white-space:nowrap}.single-date{text-align:center;width:9%;background:#f6f3f9;cursor:pointer;border-radius:15px}.single-date .time{padding:10px 6px}.single-date .day{font-size:.8rem}.single-date .date{font-size:1rem;font-weight:700}.single-date .design{font-size:.7rem;padding:5px 6px;font-weight:700;border-bottom-left-radius:15px;border-bottom-right-radius:15px}.item-title{font-size:.9rem;font-weight:500;color:#111827;margin-bottom:8px}.item-price{display:flex;align-items:center;gap:8px;margin-bottom:8px}.current-price{font-size:1rem;font-weight:600;color:#111827}.original-price{font-size:1rem;color:#9ca3af;text-decoration:line-through}.discount{background:#fef3c7;color:#d97706;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:500}.item-options{display:flex;gap:10px;font-size:14px;color:#6b7280;margin-bottom:12px}.design-parent{height:250px;overflow:scroll}.loader-btn{display:flex;align-items:center;justify-content:center;gap:15px}.loader-btn mat-spinner{height:20px!important;width:20px!important}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.content-grid,.form-row,.time-grid{grid-template-columns:1fr}}@media screen and (max-width: 475px){.date-grid{overflow-x:scroll;max-width:274px;width:100%}.single-date{width:50%}}\n"], dependencies: [{ 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: "pipe", type: i5.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i5.DecimalPipe, name: "number" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ButtonDirectiveDirective, selector: "[simpoButtonDirective]", inputs: ["buttonStyle", "color", "scrollValue", "backgroundInfo"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i7.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }] }); }
172
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BookAppointmentComponent, isStandalone: true, selector: "simpo-book-appointment", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass" }, providers: [MessageService], usesInheritance: true, ngImport: i0, template: "<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\n\n<main class=\"main-content\" simpoHover (hovering)=\"showEditTabs($event)\">\n <div class=\"container\">\n <div class=\"content-grid\">\n <!-- Left Form Section -->\n <div class=\"form-section\">\n <!-- Service Description -->\n <div class=\"card service-description\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">\n <h2 class=\"section-title\">Try at Home Service</h2>\n <p>Our Try at Home consultant will visit your location to show you the designs at your convenience.</p>\n </div>\n\n <!-- Pincode Section -->\n <!-- <div class=\"card\">\n <h3 class=\"section-title\">\n <svg class=\"icon\" viewBox=\"0 0 24 24\">\n <path\n d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\" />\n </svg>\n Service Location\n </h3>\n <div class=\"form-group\">\n <label class=\"form-label\">Enter your pincode</label>\n <input type=\"text\" class=\"form-input\" placeholder=\"Enter 6-digit pincode\"\n maxlength=\"6\" />\n <div class=\"pincode-success\" *ngIf=\"pincode.length === 6\">\n \u2713 Service available in your area\n </div>\n </div>\n </div> -->\n\n <!-- Date Selection -->\n <div class=\"card\">\n <h3 class=\"section-title\">Select a Date</h3>\n <div class=\"date-grid\">\n <div class=\"single-date\" *ngFor=\"let day of weekDays\" (click)=\"checkAvailability(day)\"\n [style.border]=\"day.dateWithMonth === customerDetails.date ? '2px solid ' + styles?.background?.accentColor : 'none'\">\n <div class=\"time\">\n <div class=\"day\">{{day.day.substring(0,3)}}</div>\n <div class=\"date\">{{day.date}}</div>\n </div>\n <div class=\"design\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">{{trialCartItem?.length ?? 0}}\n Designs</div>\n </div>\n </div>\n </div>\n\n <!-- Time Selection -->\n <div class=\"card\" *ngIf=\"customerDetails.date\">\n <div class=\"section\">\n <h2 class=\"section-title\">Select a Time</h2>\n <div class=\"time-grid\">\n <div class=\"time-slot\" *ngFor=\"let time of timeSlots ?? []\" (click)=\"selectTime(time)\"\n [ngClass]=\"{'selected': time === customerDetails.time}\">\n <div class=\"more-slot-badge\">More Slot Left</div>\n <div class=\"time-text\">{{time}}</div>\n </div>\n <div *ngIf=\"timeSlots?.length == 0\">No slots available</div>\n </div>\n </div>\n </div>\n\n <!-- Customer Details -->\n <div class=\"card\">\n <h3 class=\"section-title\">Contact Details</h3>\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">Full Name *</label>\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverName\"\n placeholder=\"Enter your full name\" />\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Phone Number *</label>\n <input type=\"tel\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverPhone\"\n placeholder=\"Enter your phone number\" />\n </div>\n </div>\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">Email *</label>\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverEmail\"\n placeholder=\"Enter your valid mail\" />\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">City *</label>\n <input type=\"city\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.cityName\"\n placeholder=\"Enter your city\" />\n </div>\n </div>\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">State *</label>\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.stateName\"\n placeholder=\"Enter your state\" />\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Pincode *</label>\n <input type=\"tel\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.zipCode\"\n placeholder=\"Enter your pincode\" />\n </div>\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Complete Address *</label>\n <textarea class=\"form-input form-textarea\" [(ngModel)]=\"customerDetails.addressDetails.addressLine1\"\n placeholder=\"Enter your complete address\"></textarea>\n </div>\n\n </div>\n </div>\n\n <!-- Sidebar -->\n <div class=\"sidebar\">\n <div class=\"card\">\n <h3 class=\"designs-header\">Your Shortlisted Designs</h3>\n <!-- <div class=\"designs-count\">{{ getSelectedDesigns().length }}/4 SELECTED</div> -->\n\n <div class=\"design-parent\">\n <div class=\"design-item\" *ngFor=\"let item of trialCartItem\">\n <div class=\"design-content\">\n <img class=\"design-image\" [src]=\"item.imgUrl ?? 'https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\"\n alt=\"\">\n <!-- <div class=\"\">Design Image</div> -->\n\n <div class=\"design-info\">\n <h3 class=\"item-title\">{{item.itemName}}</h3>\n <div class=\"item-price\">\n <span class=\"current-price\">\u20B9{{item.discountedPrice | number: '1.0-2'}}</span>\n <span class=\"original-price\" *ngIf=\"item.sellingPrice > item.discountedPrice\">\u20B9{{item.sellingPrice |\n number:\n '1.0-2'}}</span>\n </div>\n <div class=\"item-options\" *ngIf=\"item.itemVariant\">\n <span *ngFor=\"let varient of getKeys(item.itemVariant.properties)\">{{ varient }}: {{\n item.itemVariant.properties[varient] | uppercase }}</span>\n </div>\n </div>\n <!-- <button class=\"design-select\" [class.selected]=\"design.selected\" (click)=\"toggleDesign(design.id)\">\n {{ design.selected ? 'Selected' : 'Select' }}\n </button> -->\n </div>\n </div>\n </div>\n\n <button class=\"add-design\" (click)=\"addMoreDesign()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\" />\n </svg>\n Add More Designs\n </button>\n\n <div class=\"summary\">\n <!-- <div class=\"summary-row\">\n <span class=\"summary-label\">Selected Designs:</span>\n <span class=\"summary-value\">{{ getSelectedDesigns().length }}</span>\n </div> -->\n <div class=\"summary-row\">\n <span class=\"summary-label\">Service:</span>\n <span class=\"summary-value free-service\">FREE</span>\n </div>\n </div>\n\n <button class=\"book-button\" (click)=\"bookAppointment()\" simpoButtonDirective *ngIf=\"!loader\"\n [disabled]=\"isValid\" [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\"\n [color]=\"data?.styles?.background?.accentColor\" [backgroundInfo]=\"styles?.background\">\n {{data?.action?.buttons?.[1]?.content?.label ?? 'Book Try at Home Appointment'}}\n </button>\n <button class=\"book-button loader-btn\" simpoButtonDirective [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\"\n [color]=\"data?.styles?.background?.accentColor\" *ngIf=\"loader\"\n [backgroundInfo]=\"styles?.background\"><mat-spinner></mat-spinner> Booking</button>\n <p class=\"disclaimer\">Our consultant will contact you to confirm the appointment</p>\n </div>\n </div>\n </div>\n </div>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\n [isEcommerce]=\"true\"></simpo-hover-elements>\n </div>\n</main>", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.main-content{padding:32px 0;position:relative}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px}.form-section{display:flex;flex-direction:column;gap:24px}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.section-title{font-size:18px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:12px}.icon{width:20px;height:20px;fill:#7c3aed}.service-description p{line-height:1.6}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.form-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.form-textarea{resize:vertical;height:80px}.pincode-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;padding:12px;border-radius:8px;font-size:14px;font-weight:500;margin-top:8px}.date-grid{display:flex;gap:12px}.date-button,.time-button{padding:16px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;text-align:center;transition:all .2s;font-size:14px}.date-button:hover,.time-button:hover{border-color:#7c3aed;background:#faf5ff}.date-button.selected,.time-button.selected{border-color:#7c3aed;background:#f3e8ff;color:#7c3aed;font-weight:600}.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sidebar{position:sticky;top:24px;height:fit-content}.designs-header{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:16px}.designs-count{font-size:14px;color:#64748b;margin-bottom:16px}.design-item{border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s}.design-item:hover{border-color:#7c3aed}.design-content{display:flex;gap:12px;align-items:flex-start}.design-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#64748b;flex-shrink:0}.design-info{flex:1}.design-name{font-weight:500;color:#1e293b;margin-bottom:4px;font-size:14px}.design-price{color:#7c3aed;font-weight:600;font-size:14px}.design-select{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid;background:#fff}.design-select.selected{background:#f3e8ff;color:#7c3aed;border-color:#7c3aed}.design-select:not(.selected){color:#64748b;border-color:#d1d5db}.add-design{width:100%;padding:5px 3px;border:2px dashed #d1d5db;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem!important}.add-design:hover{border-color:#7c3aed;color:#7c3aed}.summary{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.summary-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.summary-label{color:#64748b}.summary-value{font-weight:500}.free-service{color:#059669}.book-button{width:100%;padding:6px 10px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:24px;transition:all .2s;font-size:1rem!important}.book-button:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#db2777)}.book-button:disabled{opacity:.5;cursor:not-allowed}.disclaimer{font-size:12px;color:#64748b;text-align:center;margin-top:12px}.slide-in{animation:slideIn .3s ease-out}.time-grid{display:flex;gap:16px;flex-wrap:wrap}.time-slot{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:5px 4px;cursor:pointer;transition:all .2s ease;min-width:120px;text-align:center}.time-slot:hover{border-color:#d1d5db;transform:translateY(-2px)}.time-slot.selected{border-color:#8b5cf6;background:#f3f4f6}.time-slot .time-text{font-size:14px;font-weight:600;color:#374151}.time-slot.selected .time-text{color:#8b5cf6}.more-slot-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:#f97316;color:#fff;font-size:9px;font-weight:600;padding:1px 8px;border-radius:12px;white-space:nowrap}.single-date{text-align:center;width:9%;background:#f6f3f9;cursor:pointer;border-radius:15px}.single-date .time{padding:10px 6px}.single-date .day{font-size:.8rem}.single-date .date{font-size:1rem;font-weight:700}.single-date .design{font-size:.7rem;padding:5px 6px;font-weight:700;border-bottom-left-radius:15px;border-bottom-right-radius:15px}.item-title{font-size:.9rem;font-weight:500;color:#111827;margin-bottom:8px}.item-price{display:flex;align-items:center;gap:8px;margin-bottom:8px}.current-price{font-size:1rem;font-weight:600;color:#111827}.original-price{font-size:1rem;color:#9ca3af;text-decoration:line-through}.discount{background:#fef3c7;color:#d97706;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:500}.item-options{display:flex;gap:10px;font-size:14px;color:#6b7280;margin-bottom:12px}.design-parent{height:250px;overflow:scroll}.loader-btn{display:flex;align-items:center;justify-content:center;gap:15px}.loader-btn mat-spinner{height:20px!important;width:20px!important}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.content-grid,.form-row,.time-grid{grid-template-columns:1fr}}@media screen and (max-width: 475px){.date-grid{overflow-x:scroll;max-width:274px;width:100%}.single-date{width:50%}}\n"], dependencies: [{ 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: "pipe", type: i5.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i5.DecimalPipe, name: "number" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ButtonDirectiveDirective, selector: "[simpoButtonDirective]", inputs: ["buttonStyle", "color", "scrollValue", "backgroundInfo"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i7.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }] }); }
173
173
  }
174
174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BookAppointmentComponent, decorators: [{
175
175
  type: Component,
@@ -184,7 +184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
184
184
  ToastModule,
185
185
  MatProgressSpinnerModule,
186
186
  HoverElementsComponent
187
- ], providers: [MessageService], template: "<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\r\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\r\n\r\n<main class=\"main-content\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div class=\"container\">\r\n <div class=\"content-grid\">\r\n <!-- Left Form Section -->\r\n <div class=\"form-section\">\r\n <!-- Service Description -->\r\n <div class=\"card service-description\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">\r\n <h2 class=\"section-title\">Try at Home Service</h2>\r\n <p>Our Try at Home consultant will visit your location to show you the designs at your convenience.</p>\r\n </div>\r\n\r\n <!-- Pincode Section -->\r\n <!-- <div class=\"card\">\r\n <h3 class=\"section-title\">\r\n <svg class=\"icon\" viewBox=\"0 0 24 24\">\r\n <path\r\n d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\" />\r\n </svg>\r\n Service Location\r\n </h3>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Enter your pincode</label>\r\n <input type=\"text\" class=\"form-input\" placeholder=\"Enter 6-digit pincode\"\r\n maxlength=\"6\" />\r\n <div class=\"pincode-success\" *ngIf=\"pincode.length === 6\">\r\n \u2713 Service available in your area\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Date Selection -->\r\n <div class=\"card\">\r\n <h3 class=\"section-title\">Select a Date</h3>\r\n <div class=\"date-grid\">\r\n <div class=\"single-date\" *ngFor=\"let day of weekDays\" (click)=\"checkAvailability(day)\"\r\n [style.border]=\"day.dateWithMonth === customerDetails.date ? '2px solid ' + styles?.background?.accentColor : 'none'\">\r\n <div class=\"time\">\r\n <div class=\"day\">{{day.day.substring(0,3)}}</div>\r\n <div class=\"date\">{{day.date}}</div>\r\n </div>\r\n <div class=\"design\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">{{trialCartItem?.length ?? 0}}\r\n Designs</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Time Selection -->\r\n <div class=\"card\" *ngIf=\"customerDetails.date\">\r\n <div class=\"section\">\r\n <h2 class=\"section-title\">Select a Time</h2>\r\n <div class=\"time-grid\">\r\n <div class=\"time-slot\" *ngFor=\"let time of timeSlots ?? []\" (click)=\"selectTime(time)\"\r\n [ngClass]=\"{'selected': time === customerDetails.time}\">\r\n <div class=\"more-slot-badge\">More Slot Left</div>\r\n <div class=\"time-text\">{{time}}</div>\r\n </div>\r\n <div *ngIf=\"timeSlots?.length == 0\">No slots available</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Customer Details -->\r\n <div class=\"card\">\r\n <h3 class=\"section-title\">Contact Details</h3>\r\n <div class=\"form-row\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Full Name *</label>\r\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverName\"\r\n placeholder=\"Enter your full name\" />\r\n </div>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Phone Number *</label>\r\n <input type=\"tel\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverPhone\"\r\n placeholder=\"Enter your phone number\" />\r\n </div>\r\n </div>\r\n <div class=\"form-row\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Email *</label>\r\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverEmail\"\r\n placeholder=\"Enter your valid mail\" />\r\n </div>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">City *</label>\r\n <input type=\"city\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.cityName\"\r\n placeholder=\"Enter your city\" />\r\n </div>\r\n </div>\r\n <div class=\"form-row\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">State *</label>\r\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.stateName\"\r\n placeholder=\"Enter your state\" />\r\n </div>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Pincode *</label>\r\n <input type=\"tel\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.zipCode\"\r\n placeholder=\"Enter your pincode\" />\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Complete Address *</label>\r\n <textarea class=\"form-input form-textarea\" [(ngModel)]=\"customerDetails.addressDetails.addressLine1\"\r\n placeholder=\"Enter your complete address\"></textarea>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Sidebar -->\r\n <div class=\"sidebar\">\r\n <div class=\"card\">\r\n <h3 class=\"designs-header\">Your Shortlisted Designs</h3>\r\n <!-- <div class=\"designs-count\">{{ getSelectedDesigns().length }}/4 SELECTED</div> -->\r\n\r\n <div class=\"design-parent\">\r\n <div class=\"design-item\" *ngFor=\"let item of trialCartItem\">\r\n <div class=\"design-content\">\r\n <img class=\"design-image\" [src]=\"item.imgUrl ?? 'https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\"\r\n alt=\"\">\r\n <!-- <div class=\"\">Design Image</div> -->\r\n\r\n <div class=\"design-info\">\r\n <h3 class=\"item-title\">{{item.itemName}}</h3>\r\n <div class=\"item-price\">\r\n <span class=\"current-price\">\u20B9{{item.discountedPrice | number: '1.0-2'}}</span>\r\n <span class=\"original-price\" *ngIf=\"item.sellingPrice > item.discountedPrice\">\u20B9{{item.sellingPrice |\r\n number:\r\n '1.0-2'}}</span>\r\n </div>\r\n <div class=\"item-options\" *ngIf=\"item.itemVariant\">\r\n <span *ngFor=\"let varient of getKeys(item.itemVariant.properties)\">{{ varient }}: {{\r\n item.itemVariant.properties[varient] | uppercase }}</span>\r\n </div>\r\n </div>\r\n <!-- <button class=\"design-select\" [class.selected]=\"design.selected\" (click)=\"toggleDesign(design.id)\">\r\n {{ design.selected ? 'Selected' : 'Select' }}\r\n </button> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button class=\"add-design\" (click)=\"addMoreDesign()\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\r\n <path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\" />\r\n </svg>\r\n Add More Designs\r\n </button>\r\n\r\n <div class=\"summary\">\r\n <!-- <div class=\"summary-row\">\r\n <span class=\"summary-label\">Selected Designs:</span>\r\n <span class=\"summary-value\">{{ getSelectedDesigns().length }}</span>\r\n </div> -->\r\n <div class=\"summary-row\">\r\n <span class=\"summary-label\">Service:</span>\r\n <span class=\"summary-value free-service\">FREE</span>\r\n </div>\r\n </div>\r\n\r\n <button class=\"book-button\" (click)=\"bookAppointment()\" simpoButtonDirective *ngIf=\"!loader\"\r\n [disabled]=\"isValid\" [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\"\r\n [color]=\"data?.styles?.background?.accentColor\" [backgroundInfo]=\"styles?.background\">\r\n {{data?.action?.buttons?.[1]?.content?.label ?? 'Book Try at Home Appointment'}}\r\n </button>\r\n <button class=\"book-button loader-btn\" simpoButtonDirective [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\"\r\n [color]=\"data?.styles?.background?.accentColor\" *ngIf=\"loader\"\r\n [backgroundInfo]=\"styles?.background\"><mat-spinner></mat-spinner> Booking</button>\r\n <p class=\"disclaimer\">Our consultant will contact you to confirm the appointment</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isEcommerce]=\"true\"></simpo-hover-elements>\r\n </div>\r\n</main>", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.main-content{padding:32px 0;position:relative}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px}.form-section{display:flex;flex-direction:column;gap:24px}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.section-title{font-size:18px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:12px}.icon{width:20px;height:20px;fill:#7c3aed}.service-description p{line-height:1.6}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.form-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.form-textarea{resize:vertical;height:80px}.pincode-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;padding:12px;border-radius:8px;font-size:14px;font-weight:500;margin-top:8px}.date-grid{display:flex;gap:12px}.date-button,.time-button{padding:16px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;text-align:center;transition:all .2s;font-size:14px}.date-button:hover,.time-button:hover{border-color:#7c3aed;background:#faf5ff}.date-button.selected,.time-button.selected{border-color:#7c3aed;background:#f3e8ff;color:#7c3aed;font-weight:600}.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sidebar{position:sticky;top:24px;height:fit-content}.designs-header{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:16px}.designs-count{font-size:14px;color:#64748b;margin-bottom:16px}.design-item{border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s}.design-item:hover{border-color:#7c3aed}.design-content{display:flex;gap:12px;align-items:flex-start}.design-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#64748b;flex-shrink:0}.design-info{flex:1}.design-name{font-weight:500;color:#1e293b;margin-bottom:4px;font-size:14px}.design-price{color:#7c3aed;font-weight:600;font-size:14px}.design-select{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid;background:#fff}.design-select.selected{background:#f3e8ff;color:#7c3aed;border-color:#7c3aed}.design-select:not(.selected){color:#64748b;border-color:#d1d5db}.add-design{width:100%;padding:5px 3px;border:2px dashed #d1d5db;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem!important}.add-design:hover{border-color:#7c3aed;color:#7c3aed}.summary{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.summary-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.summary-label{color:#64748b}.summary-value{font-weight:500}.free-service{color:#059669}.book-button{width:100%;padding:6px 10px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:24px;transition:all .2s;font-size:1rem!important}.book-button:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#db2777)}.book-button:disabled{opacity:.5;cursor:not-allowed}.disclaimer{font-size:12px;color:#64748b;text-align:center;margin-top:12px}.slide-in{animation:slideIn .3s ease-out}.time-grid{display:flex;gap:16px;flex-wrap:wrap}.time-slot{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:5px 4px;cursor:pointer;transition:all .2s ease;min-width:120px;text-align:center}.time-slot:hover{border-color:#d1d5db;transform:translateY(-2px)}.time-slot.selected{border-color:#8b5cf6;background:#f3f4f6}.time-slot .time-text{font-size:14px;font-weight:600;color:#374151}.time-slot.selected .time-text{color:#8b5cf6}.more-slot-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:#f97316;color:#fff;font-size:9px;font-weight:600;padding:1px 8px;border-radius:12px;white-space:nowrap}.single-date{text-align:center;width:9%;background:#f6f3f9;cursor:pointer;border-radius:15px}.single-date .time{padding:10px 6px}.single-date .day{font-size:.8rem}.single-date .date{font-size:1rem;font-weight:700}.single-date .design{font-size:.7rem;padding:5px 6px;font-weight:700;border-bottom-left-radius:15px;border-bottom-right-radius:15px}.item-title{font-size:.9rem;font-weight:500;color:#111827;margin-bottom:8px}.item-price{display:flex;align-items:center;gap:8px;margin-bottom:8px}.current-price{font-size:1rem;font-weight:600;color:#111827}.original-price{font-size:1rem;color:#9ca3af;text-decoration:line-through}.discount{background:#fef3c7;color:#d97706;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:500}.item-options{display:flex;gap:10px;font-size:14px;color:#6b7280;margin-bottom:12px}.design-parent{height:250px;overflow:scroll}.loader-btn{display:flex;align-items:center;justify-content:center;gap:15px}.loader-btn mat-spinner{height:20px!important;width:20px!important}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.content-grid,.form-row,.time-grid{grid-template-columns:1fr}}@media screen and (max-width: 475px){.date-grid{overflow-x:scroll;max-width:274px;width:100%}.single-date{width:50%}}\n"] }]
187
+ ], providers: [MessageService], template: "<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\n\n<main class=\"main-content\" simpoHover (hovering)=\"showEditTabs($event)\">\n <div class=\"container\">\n <div class=\"content-grid\">\n <!-- Left Form Section -->\n <div class=\"form-section\">\n <!-- Service Description -->\n <div class=\"card service-description\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">\n <h2 class=\"section-title\">Try at Home Service</h2>\n <p>Our Try at Home consultant will visit your location to show you the designs at your convenience.</p>\n </div>\n\n <!-- Pincode Section -->\n <!-- <div class=\"card\">\n <h3 class=\"section-title\">\n <svg class=\"icon\" viewBox=\"0 0 24 24\">\n <path\n d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\" />\n </svg>\n Service Location\n </h3>\n <div class=\"form-group\">\n <label class=\"form-label\">Enter your pincode</label>\n <input type=\"text\" class=\"form-input\" placeholder=\"Enter 6-digit pincode\"\n maxlength=\"6\" />\n <div class=\"pincode-success\" *ngIf=\"pincode.length === 6\">\n \u2713 Service available in your area\n </div>\n </div>\n </div> -->\n\n <!-- Date Selection -->\n <div class=\"card\">\n <h3 class=\"section-title\">Select a Date</h3>\n <div class=\"date-grid\">\n <div class=\"single-date\" *ngFor=\"let day of weekDays\" (click)=\"checkAvailability(day)\"\n [style.border]=\"day.dateWithMonth === customerDetails.date ? '2px solid ' + styles?.background?.accentColor : 'none'\">\n <div class=\"time\">\n <div class=\"day\">{{day.day.substring(0,3)}}</div>\n <div class=\"date\">{{day.date}}</div>\n </div>\n <div class=\"design\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">{{trialCartItem?.length ?? 0}}\n Designs</div>\n </div>\n </div>\n </div>\n\n <!-- Time Selection -->\n <div class=\"card\" *ngIf=\"customerDetails.date\">\n <div class=\"section\">\n <h2 class=\"section-title\">Select a Time</h2>\n <div class=\"time-grid\">\n <div class=\"time-slot\" *ngFor=\"let time of timeSlots ?? []\" (click)=\"selectTime(time)\"\n [ngClass]=\"{'selected': time === customerDetails.time}\">\n <div class=\"more-slot-badge\">More Slot Left</div>\n <div class=\"time-text\">{{time}}</div>\n </div>\n <div *ngIf=\"timeSlots?.length == 0\">No slots available</div>\n </div>\n </div>\n </div>\n\n <!-- Customer Details -->\n <div class=\"card\">\n <h3 class=\"section-title\">Contact Details</h3>\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">Full Name *</label>\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverName\"\n placeholder=\"Enter your full name\" />\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Phone Number *</label>\n <input type=\"tel\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverPhone\"\n placeholder=\"Enter your phone number\" />\n </div>\n </div>\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">Email *</label>\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.receiverEmail\"\n placeholder=\"Enter your valid mail\" />\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">City *</label>\n <input type=\"city\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.cityName\"\n placeholder=\"Enter your city\" />\n </div>\n </div>\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">State *</label>\n <input type=\"text\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.stateName\"\n placeholder=\"Enter your state\" />\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Pincode *</label>\n <input type=\"tel\" class=\"form-input\" [(ngModel)]=\"customerDetails.addressDetails.zipCode\"\n placeholder=\"Enter your pincode\" />\n </div>\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Complete Address *</label>\n <textarea class=\"form-input form-textarea\" [(ngModel)]=\"customerDetails.addressDetails.addressLine1\"\n placeholder=\"Enter your complete address\"></textarea>\n </div>\n\n </div>\n </div>\n\n <!-- Sidebar -->\n <div class=\"sidebar\">\n <div class=\"card\">\n <h3 class=\"designs-header\">Your Shortlisted Designs</h3>\n <!-- <div class=\"designs-count\">{{ getSelectedDesigns().length }}/4 SELECTED</div> -->\n\n <div class=\"design-parent\">\n <div class=\"design-item\" *ngFor=\"let item of trialCartItem\">\n <div class=\"design-content\">\n <img class=\"design-image\" [src]=\"item.imgUrl ?? 'https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\"\n alt=\"\">\n <!-- <div class=\"\">Design Image</div> -->\n\n <div class=\"design-info\">\n <h3 class=\"item-title\">{{item.itemName}}</h3>\n <div class=\"item-price\">\n <span class=\"current-price\">\u20B9{{item.discountedPrice | number: '1.0-2'}}</span>\n <span class=\"original-price\" *ngIf=\"item.sellingPrice > item.discountedPrice\">\u20B9{{item.sellingPrice |\n number:\n '1.0-2'}}</span>\n </div>\n <div class=\"item-options\" *ngIf=\"item.itemVariant\">\n <span *ngFor=\"let varient of getKeys(item.itemVariant.properties)\">{{ varient }}: {{\n item.itemVariant.properties[varient] | uppercase }}</span>\n </div>\n </div>\n <!-- <button class=\"design-select\" [class.selected]=\"design.selected\" (click)=\"toggleDesign(design.id)\">\n {{ design.selected ? 'Selected' : 'Select' }}\n </button> -->\n </div>\n </div>\n </div>\n\n <button class=\"add-design\" (click)=\"addMoreDesign()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\" />\n </svg>\n Add More Designs\n </button>\n\n <div class=\"summary\">\n <!-- <div class=\"summary-row\">\n <span class=\"summary-label\">Selected Designs:</span>\n <span class=\"summary-value\">{{ getSelectedDesigns().length }}</span>\n </div> -->\n <div class=\"summary-row\">\n <span class=\"summary-label\">Service:</span>\n <span class=\"summary-value free-service\">FREE</span>\n </div>\n </div>\n\n <button class=\"book-button\" (click)=\"bookAppointment()\" simpoButtonDirective *ngIf=\"!loader\"\n [disabled]=\"isValid\" [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\"\n [color]=\"data?.styles?.background?.accentColor\" [backgroundInfo]=\"styles?.background\">\n {{data?.action?.buttons?.[1]?.content?.label ?? 'Book Try at Home Appointment'}}\n </button>\n <button class=\"book-button loader-btn\" simpoButtonDirective [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\"\n [color]=\"data?.styles?.background?.accentColor\" *ngIf=\"loader\"\n [backgroundInfo]=\"styles?.background\"><mat-spinner></mat-spinner> Booking</button>\n <p class=\"disclaimer\">Our consultant will contact you to confirm the appointment</p>\n </div>\n </div>\n </div>\n </div>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\n [isEcommerce]=\"true\"></simpo-hover-elements>\n </div>\n</main>", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.main-content{padding:32px 0;position:relative}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px}.form-section{display:flex;flex-direction:column;gap:24px}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.section-title{font-size:18px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:12px}.icon{width:20px;height:20px;fill:#7c3aed}.service-description p{line-height:1.6}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.form-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.form-textarea{resize:vertical;height:80px}.pincode-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;padding:12px;border-radius:8px;font-size:14px;font-weight:500;margin-top:8px}.date-grid{display:flex;gap:12px}.date-button,.time-button{padding:16px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;text-align:center;transition:all .2s;font-size:14px}.date-button:hover,.time-button:hover{border-color:#7c3aed;background:#faf5ff}.date-button.selected,.time-button.selected{border-color:#7c3aed;background:#f3e8ff;color:#7c3aed;font-weight:600}.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sidebar{position:sticky;top:24px;height:fit-content}.designs-header{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:16px}.designs-count{font-size:14px;color:#64748b;margin-bottom:16px}.design-item{border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s}.design-item:hover{border-color:#7c3aed}.design-content{display:flex;gap:12px;align-items:flex-start}.design-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#64748b;flex-shrink:0}.design-info{flex:1}.design-name{font-weight:500;color:#1e293b;margin-bottom:4px;font-size:14px}.design-price{color:#7c3aed;font-weight:600;font-size:14px}.design-select{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid;background:#fff}.design-select.selected{background:#f3e8ff;color:#7c3aed;border-color:#7c3aed}.design-select:not(.selected){color:#64748b;border-color:#d1d5db}.add-design{width:100%;padding:5px 3px;border:2px dashed #d1d5db;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem!important}.add-design:hover{border-color:#7c3aed;color:#7c3aed}.summary{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.summary-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.summary-label{color:#64748b}.summary-value{font-weight:500}.free-service{color:#059669}.book-button{width:100%;padding:6px 10px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:24px;transition:all .2s;font-size:1rem!important}.book-button:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#db2777)}.book-button:disabled{opacity:.5;cursor:not-allowed}.disclaimer{font-size:12px;color:#64748b;text-align:center;margin-top:12px}.slide-in{animation:slideIn .3s ease-out}.time-grid{display:flex;gap:16px;flex-wrap:wrap}.time-slot{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:5px 4px;cursor:pointer;transition:all .2s ease;min-width:120px;text-align:center}.time-slot:hover{border-color:#d1d5db;transform:translateY(-2px)}.time-slot.selected{border-color:#8b5cf6;background:#f3f4f6}.time-slot .time-text{font-size:14px;font-weight:600;color:#374151}.time-slot.selected .time-text{color:#8b5cf6}.more-slot-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:#f97316;color:#fff;font-size:9px;font-weight:600;padding:1px 8px;border-radius:12px;white-space:nowrap}.single-date{text-align:center;width:9%;background:#f6f3f9;cursor:pointer;border-radius:15px}.single-date .time{padding:10px 6px}.single-date .day{font-size:.8rem}.single-date .date{font-size:1rem;font-weight:700}.single-date .design{font-size:.7rem;padding:5px 6px;font-weight:700;border-bottom-left-radius:15px;border-bottom-right-radius:15px}.item-title{font-size:.9rem;font-weight:500;color:#111827;margin-bottom:8px}.item-price{display:flex;align-items:center;gap:8px;margin-bottom:8px}.current-price{font-size:1rem;font-weight:600;color:#111827}.original-price{font-size:1rem;color:#9ca3af;text-decoration:line-through}.discount{background:#fef3c7;color:#d97706;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:500}.item-options{display:flex;gap:10px;font-size:14px;color:#6b7280;margin-bottom:12px}.design-parent{height:250px;overflow:scroll}.loader-btn{display:flex;align-items:center;justify-content:center;gap:15px}.loader-btn mat-spinner{height:20px!important;width:20px!important}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.content-grid,.form-row,.time-grid{grid-template-columns:1fr}}@media screen and (max-width: 475px){.date-grid{overflow-x:scroll;max-width:274px;width:100%}.single-date{width:50%}}\n"] }]
188
188
  }], ctorParameters: () => [{ type: i1.StorageServiceService }, { type: i2.RestService }, { type: i3.Router }, { type: i4.MessageService }], propDecorators: { data: [{
189
189
  type: Input
190
190
  }], index: [{
@@ -196,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
196
196
  }], customClass: [{
197
197
  type: Input
198
198
  }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vay1hcHBvaW50bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9ib29rLWFwcG9pbnRtZW50L2Jvb2stYXBwb2ludG1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvYm9vay1hcHBvaW50bWVudC9ib29rLWFwcG9pbnRtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTdDLE9BQU8sV0FBVyxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7Ozs7Ozs7Ozs7QUFxQnJHLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxXQUFXO0lBa0N2RCxZQUE2QixjQUFxQyxFQUMvQyxXQUF3QixFQUNqQyxNQUFjLEVBQ0wsY0FBOEI7UUFFL0MsS0FBSyxFQUFFLENBQUE7UUFMb0IsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQy9DLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDTCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUE3QmpELGNBQVMsR0FBYSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbkksb0JBQWUsR0FBRztZQUNoQixJQUFJLEVBQUUsRUFBRTtZQUNSLElBQUksRUFBRSxFQUFFO1lBQ1IsY0FBYyxFQUFFO2dCQUNkLFlBQVksRUFBRSxFQUFFO2dCQUNoQixhQUFhLEVBQUUsRUFBRTtnQkFDakIsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLFlBQVksRUFBRSxFQUFFO2dCQUNoQixTQUFTLEVBQUUsRUFBRTtnQkFDYixRQUFRLEVBQUUsRUFBRTtnQkFDWixPQUFPLEVBQUUsRUFBRTthQUNaO1lBQ0QsTUFBTSxFQUFFLEVBQUU7WUFDVixVQUFVLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztTQUM5RSxDQUFDO1FBRUYsWUFBTyxHQUFHO1lBQ1IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQzNELEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtTQUM1RCxDQUFDO1FBQ0YsYUFBUSxHQUEyRCxFQUFFLENBQUM7UUFDdEUsa0JBQWEsR0FBVSxFQUFFLENBQUE7UUFFekIsV0FBTSxHQUFZLEtBQUssQ0FBQztJQVF4QixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksSUFBSSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUMzSCxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxJQUFJLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQy9ILElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDOUgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsWUFBWSxHQUFHLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFBO1FBQ2xHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQTtRQUM1RixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUE7UUFDMUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsT0FBTyxHQUFHLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFBO1FBQ3hGLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxNQUFNLElBQUksRUFBRSxDQUFBO1FBRWhELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7UUFFaEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxHQUFRO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUN2RCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckMsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBRTFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzVDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFckQsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUNwQyxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUNqQixDQUFDO3FCQUFNLElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQzNDLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2YsQ0FBQztnQkFFRCxzQ0FBc0M7Z0JBQ3RDLE9BQU8sUUFBUSxHQUFHLFdBQVc7b0JBQzNCLENBQUMsUUFBUSxLQUFLLFdBQVcsSUFBSSxPQUFPLEdBQUcsY0FBYyxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLDJDQUEyQztZQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoSSxDQUFDO0lBQ0gsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLElBQUksR0FBZ0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNyRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDOUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQTtZQUN6RCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuRCxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMscUJBQTBCLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzNELENBQUMsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRWxDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhO1lBQ3JFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWU7WUFFdEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0YsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDO2dCQUFFLE9BQU87WUFDdEUsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWE7WUFDaEgsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxTQUFTO1lBQ3hHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsT0FBTztZQUNqRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUE7SUFDckgsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtRQUVsQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7WUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLGlDQUFpQyxFQUFFLENBQUMsQ0FBQztZQUNwSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RSxDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQztZQUN6RyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtRQUNyQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBUztRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDbEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFjO1FBQ3BCLElBQUksTUFBTTtZQUNSLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLE1BQU0sQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDO0lBQ2xDLENBQUM7K0dBM0tVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDJLQUp4QixDQUFDLGNBQWMsQ0FBQyxpRENwQzdCLGtzU0FvTE8sNC9LRDVKSyxZQUFZLGtkQUFFLFdBQVcsK21CQUNqQyx3QkFBd0Isc0lBRXhCLGNBQWMsZ0ZBSWQsbUJBQW1CLHlHQUNuQixXQUFXLHVXQUNYLHdCQUF3QixtT0FDeEIsc0JBQXNCOzs0RkFNYix3QkFBd0I7a0JBbkJwQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVzt3QkFDakMsd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3FCQUN2QixhQUNVLENBQUMsY0FBYyxDQUFDO3NLQU1sQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vZWNvbW1lcmNlL3N0eWxlcy91c2VyLm1vZGFsJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCb29rQXBwb2ludG1lbnRTZWN0aW9uTW9kYWwsIEJvb2tBcHBvaW50bWVudFN0eWxlc01vZGVsIH0gZnJvbSAnLi9ib29rLWFwcG9pbnRtZW50Lm1vZGVsJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEltYWdlRWRpdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2ltYWdlLWVkaXRvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWhvcml6b250YWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQnV0dG9uRWRpdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2J1dHRvbi1lZGl0b3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2J1dHRvbi1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgSG92ZXJFbGVtZW50c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaG92ZXItZWxlbWVudHMvaG92ZXItZWxlbWVudHMuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tYm9vay1hcHBvaW50bWVudCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSxcclxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgSW1hZ2VFZGl0b3JEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSxcclxuICAgIEJ1dHRvbkVkaXRvckRpcmVjdGl2ZSxcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBUb2FzdE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIEhvdmVyRWxlbWVudHNDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYm9vay1hcHBvaW50bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2Jvb2stYXBwb2ludG1lbnQuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEJvb2tBcHBvaW50bWVudENvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgZGF0YT86IEJvb2tBcHBvaW50bWVudFNlY3Rpb25Nb2RhbDtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG5cclxuICB0aW1lU2xvdHM6IHN0cmluZ1tdID0gWycxMDowMCBBTScsICcxMTowMCBBTScsICcxMjowMCBQTScsICcwMTowMCBQTScsICcwMjowMCBQTScsICcwMzowMCBQTScsICcwNDowMCBQTScsICcwNTowMCBQTScsICcwNjowMCBQTSddO1xyXG4gIGN1c3RvbWVyRGV0YWlscyA9IHtcclxuICAgIGRhdGU6ICcnLFxyXG4gICAgdGltZTogJycsXHJcbiAgICBhZGRyZXNzRGV0YWlsczoge1xyXG4gICAgICByZWNlaXZlck5hbWU6ICcnLFxyXG4gICAgICByZWNlaXZlclBob25lOiAnJyxcclxuICAgICAgcmVjZWl2ZXJFbWFpbDogJycsXHJcbiAgICAgIGFkZHJlc3NMaW5lMTogJycsXHJcbiAgICAgIHN0YXRlTmFtZTogJycsXHJcbiAgICAgIGNpdHlOYW1lOiAnJyxcclxuICAgICAgemlwQ29kZTogJydcclxuICAgIH0sXHJcbiAgICB1c2VySWQ6ICcnLFxyXG4gICAgYnVzaW5lc3NJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2JJZCcpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdidXNpbmVzc0lkJylcclxuICB9O1xyXG5cclxuICBkZXNpZ25zID0gW1xyXG4gICAgeyBpZDogMSwgbmFtZTogJ0Rlc2lnbiAxJywgcHJpY2U6ICckMTAwJywgc2VsZWN0ZWQ6IGZhbHNlIH0sXHJcbiAgICB7IGlkOiAyLCBuYW1lOiAnRGVzaWduIDInLCBwcmljZTogJyQxNTAnLCBzZWxlY3RlZDogZmFsc2UgfVxyXG4gIF07XHJcbiAgd2Vla0RheXM6IHsgZGF0ZVdpdGhNb250aDogc3RyaW5nOyBkYXk6IHN0cmluZzsgZGF0ZTogbnVtYmVyIH1bXSA9IFtdO1xyXG4gIHRyaWFsQ2FydEl0ZW06IGFueVtdID0gW11cclxuICBzdHlsZXM/OiBCb29rQXBwb2ludG1lbnRTdHlsZXNNb2RlbDtcclxuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKClcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgdXNlciA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgdGhpcy5jdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMucmVjZWl2ZXJOYW1lID0gKHVzZXI/LmFkZHJlc3NEZXRhaWxzTGlzdFswXT8ucmVjZWl2ZXJOYW1lIHx8IHVzZXI/LmNvbnRhY3Q/Lm5hbWUpID8/ICcnXHJcbiAgICB0aGlzLmN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlclBob25lID0gKHVzZXI/LmFkZHJlc3NEZXRhaWxzTGlzdFswXT8ucmVjZWl2ZXJQaG9uZSB8fCB1c2VyPy5jb250YWN0Py5tb2JpbGUpID8/ICcnXHJcbiAgICB0aGlzLmN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlckVtYWlsID0gKHVzZXI/LmFkZHJlc3NEZXRhaWxzTGlzdFswXT8ucmVjZWl2ZXJFbWFpbCB8fCB1c2VyPy5jb250YWN0Py5lbWFpbCkgPz8gJydcclxuICAgIHRoaXMuY3VzdG9tZXJEZXRhaWxzLmFkZHJlc3NEZXRhaWxzLmFkZHJlc3NMaW5lMSA9IHVzZXI/LmFkZHJlc3NEZXRhaWxzTGlzdFswXT8uYWRkcmVzc0xpbmUxID8/ICcnXHJcbiAgICB0aGlzLmN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy5zdGF0ZU5hbWUgPSB1c2VyPy5hZGRyZXNzRGV0YWlsc0xpc3RbMF0/LnN0YXRlTmFtZSA/PyAnJ1xyXG4gICAgdGhpcy5jdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMuY2l0eU5hbWUgPSB1c2VyPy5hZGRyZXNzRGV0YWlsc0xpc3RbMF0/LmNpdHlOYW1lID8/ICcnXHJcbiAgICB0aGlzLmN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy56aXBDb2RlID0gdXNlcj8uYWRkcmVzc0RldGFpbHNMaXN0WzBdPy56aXBDb2RlID8/ICcnXHJcbiAgICB0aGlzLmN1c3RvbWVyRGV0YWlscy51c2VySWQgPSB1c2VyPy51c2VySWQgPz8gJydcclxuXHJcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG5cclxuICAgIHRoaXMuZ2V0TmV4dFNldmVuRGF5cygpO1xyXG4gICAgdGhpcy5nZXRUcmlhbENhcnQoKVxyXG4gIH1cclxuICBjaGVja0F2YWlsYWJpbGl0eShkYXk6IGFueSkge1xyXG4gICAgdGhpcy5jdXN0b21lckRldGFpbHMuZGF0ZSA9IGRheS5kYXRlV2l0aE1vbnRoO1xyXG4gICAgbGV0IHNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHRoaXMuY3VzdG9tZXJEZXRhaWxzLmRhdGUpO1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgdGVtcFNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHNlbGVjdGVkRGF0ZSk7XHJcbiAgICBjb25zdCB0ZW1wVG9kYXkgPSBuZXcgRGF0ZSh0b2RheSk7XHJcbiAgICB0ZW1wU2VsZWN0ZWREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG4gICAgdGVtcFRvZGF5LnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG4gICAgaWYgKHRlbXBTZWxlY3RlZERhdGUuZ2V0VGltZSgpID09PSB0ZW1wVG9kYXkuZ2V0VGltZSgpKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRIb3VyID0gdG9kYXkuZ2V0SG91cnMoKTtcclxuICAgICAgY29uc3QgY3VycmVudE1pbnV0ZXMgPSB0b2RheS5nZXRNaW51dGVzKCk7XHJcblxyXG4gICAgICB0aGlzLnRpbWVTbG90cyA9IHRoaXMudGltZVNsb3RzLmZpbHRlcihzbG90ID0+IHtcclxuICAgICAgICBjb25zdCBbdGltZSwgcGVyaW9kXSA9IHNsb3Quc3BsaXQoJyAnKTtcclxuICAgICAgICBjb25zdCBbaG91cnMsIG1pbnV0ZXNdID0gdGltZS5zcGxpdCgnOicpLm1hcChOdW1iZXIpO1xyXG5cclxuICAgICAgICBsZXQgc2xvdEhvdXIgPSBob3VycztcclxuICAgICAgICBpZiAocGVyaW9kID09PSAnUE0nICYmIGhvdXJzICE9PSAxMikge1xyXG4gICAgICAgICAgc2xvdEhvdXIgKz0gMTI7XHJcbiAgICAgICAgfSBlbHNlIGlmIChwZXJpb2QgPT09ICdBTScgJiYgaG91cnMgPT09IDEyKSB7XHJcbiAgICAgICAgICBzbG90SG91ciA9IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDaGVjayBpZiBzbG90IHRpbWUgaXMgaW4gdGhlIGZ1dHVyZVxyXG4gICAgICAgIHJldHVybiBzbG90SG91ciA+IGN1cnJlbnRIb3VyIHx8XHJcbiAgICAgICAgICAoc2xvdEhvdXIgPT09IGN1cnJlbnRIb3VyICYmIG1pbnV0ZXMgPiBjdXJyZW50TWludXRlcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gUmVzZXQgdG8gYWxsIHRpbWUgc2xvdHMgZm9yIGZ1dHVyZSBkYXRlc1xyXG4gICAgICB0aGlzLnRpbWVTbG90cyA9IFsnMTA6MDAgQU0nLCAnMTE6MDAgQU0nLCAnMTI6MDAgUE0nLCAnMDE6MDAgUE0nLCAnMDI6MDAgUE0nLCAnMDM6MDAgUE0nLCAnMDQ6MDAgUE0nLCAnMDU6MDAgUE0nLCAnMDY6MDAgUE0nXTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VHJpYWxDYXJ0KCkge1xyXG4gICAgbGV0IHVzZXI6IFVzZXIgfCBudWxsID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKClcclxuICAgIGlmICh1c2VyKSB7XHJcbiAgICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0VXNlckl0ZW1zKHVzZXIudXNlcklkLCAnVFJJQUxfQ0FSVCcpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnRyaWFsQ2FydEl0ZW0gPSByZXM/LmRhdGE/LlswXT8ub3JkZXJlZEl0ZW1zID8/IFtdXHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdldFRyaWFsQ2FydEluZGV4REJEYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRUcmlhbENhcnRJbmRleERCRGF0YSgpIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VHJpYWxDYXJ0KCkudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgcmVzcG9uc2Uub25zdWNjZXNzID0gKHVzZXJUcmlhbENhcnRSZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmlhbENhcnRJdGVtID0gdXNlclRyaWFsQ2FydFJlc3BvbnNlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXROZXh0U2V2ZW5EYXlzKCkge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNzsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0b2RheSk7XHJcbiAgICAgIGRhdGUuc2V0RGF0ZSh0b2RheS5nZXREYXRlKCkgKyBpKTtcclxuXHJcbiAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTsgLy8gWVlZWS1NTS1ERFxyXG4gICAgICBjb25zdCBkYXlOYW1lID0gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLVVTJywgeyB3ZWVrZGF5OiAnbG9uZycgfSk7IC8vIGUuZy4sIE1vbmRheVxyXG5cclxuICAgICAgdGhpcy53ZWVrRGF5cy5wdXNoKHsgZGF0ZVdpdGhNb250aDogZm9ybWF0dGVkRGF0ZSwgZGF5OiBkYXlOYW1lLCBkYXRlOiBkYXRlLmdldERhdGUoKSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZURlc2lnbihpZDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBkZXNpZ24gPSB0aGlzLmRlc2lnbnMuZmluZChkID0+IGQuaWQgPT09IGlkKTtcclxuICAgIGlmIChkZXNpZ24pIHtcclxuICAgICAgaWYgKCFkZXNpZ24uc2VsZWN0ZWQgJiYgdGhpcy5nZXRTZWxlY3RlZERlc2lnbnMoKS5sZW5ndGggPj0gNCkgcmV0dXJuO1xyXG4gICAgICBkZXNpZ24uc2VsZWN0ZWQgPSAhZGVzaWduLnNlbGVjdGVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWREZXNpZ25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVzaWducy5maWx0ZXIoZCA9PiBkLnNlbGVjdGVkKTtcclxuICB9XHJcblxyXG4gIGdldCBpc1ZhbGlkKCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmN1c3RvbWVyRGV0YWlscz8uYWRkcmVzc0RldGFpbHM/LnJlY2VpdmVyTmFtZSB8fCAhdGhpcy5jdXN0b21lckRldGFpbHM/LmFkZHJlc3NEZXRhaWxzPy5yZWNlaXZlclBob25lIHx8XHJcbiAgICAgICF0aGlzLmN1c3RvbWVyRGV0YWlscz8uYWRkcmVzc0RldGFpbHM/LnJlY2VpdmVyRW1haWwgfHwgIXRoaXMuY3VzdG9tZXJEZXRhaWxzPy5hZGRyZXNzRGV0YWlscz8uc3RhdGVOYW1lIHx8XHJcbiAgICAgICF0aGlzLmN1c3RvbWVyRGV0YWlscz8uYWRkcmVzc0RldGFpbHM/LmNpdHlOYW1lIHx8ICF0aGlzLmN1c3RvbWVyRGV0YWlscz8uYWRkcmVzc0RldGFpbHM/LnppcENvZGUgfHxcclxuICAgICAgIXRoaXMuY3VzdG9tZXJEZXRhaWxzPy5hZGRyZXNzRGV0YWlscz8uYWRkcmVzc0xpbmUxIHx8ICF0aGlzLmN1c3RvbWVyRGV0YWlscz8uZGF0ZSB8fCAhdGhpcy5jdXN0b21lckRldGFpbHM/LnRpbWVcclxuICB9XHJcblxyXG4gIGJvb2tBcHBvaW50bWVudCgpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZVxyXG5cclxuICAgIHRoaXMucmVzdFNlcnZpY2UuYm9va0FwcG9pbnRtZW50KHRoaXMuY3VzdG9tZXJEZXRhaWxzKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2VcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnQXBwb2ludG1lbnQnLCBkZXRhaWw6ICdBcHBvaW50bWVudCBCb29rZWQgc3VjY2Vzc2Z1bGx5JyB9KTtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvcHJvZmlsZSddLCB7IHF1ZXJ5UGFyYW1zOiB7IHRhYjogJ3RyeV9hdF9ob21lJyB9IH0pO1xyXG4gICAgfSwgKCkgPT4ge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnQXBwb2ludG1lbnQnLCBkZXRhaWw6ICdBcHBvaW50bWVudCBub3QgYm9va2VkJyB9KTtcclxuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHNlbGVjdFRpbWUodGltZTogYW55KSB7XHJcbiAgICB0aGlzLmN1c3RvbWVyRGV0YWlscy50aW1lID0gdGltZVxyXG4gIH1cclxuXHJcbiAgZ2V0S2V5cyhvYmplY3Q6IE9iamVjdCk6IHN0cmluZ1tdIHtcclxuICAgIGlmIChvYmplY3QpXHJcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmplY3QpO1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuXHJcbiAgYWRkTW9yZURlc2lnbigpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xpc3QnXSlcclxuICB9XHJcblxyXG4gIGdldCBpc01vYmlsZSgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8cC10b2FzdCBwb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiIFtiYXNlWkluZGV4XT1cIjEwMDAwMDAwMDAwXCIgW2F1dG9aSW5kZXhdPVwidHJ1ZVwiXHJcbiAgW3Nob3dUcmFuc2Zvcm1PcHRpb25zXT1cImlzTW9iaWxlID8gJ3RyYW5zbGF0ZVkoLTEwMCUpJyA6ICcnXCI+PC9wLXRvYXN0PlxyXG5cclxuPG1haW4gY2xhc3M9XCJtYWluLWNvbnRlbnRcIiBzaW1wb0hvdmVyIChob3ZlcmluZyk9XCJzaG93RWRpdFRhYnMoJGV2ZW50KVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWdyaWRcIj5cclxuICAgICAgPCEtLSBMZWZ0IEZvcm0gU2VjdGlvbiAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tc2VjdGlvblwiPlxyXG4gICAgICAgIDwhLS0gU2VydmljZSBEZXNjcmlwdGlvbiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBzZXJ2aWNlLWRlc2NyaXB0aW9uXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZXM/LmJhY2tncm91bmRcIj5cclxuICAgICAgICAgIDxoMiBjbGFzcz1cInNlY3Rpb24tdGl0bGVcIj5UcnkgYXQgSG9tZSBTZXJ2aWNlPC9oMj5cclxuICAgICAgICAgIDxwPk91ciBUcnkgYXQgSG9tZSBjb25zdWx0YW50IHdpbGwgdmlzaXQgeW91ciBsb2NhdGlvbiB0byBzaG93IHlvdSB0aGUgZGVzaWducyBhdCB5b3VyIGNvbnZlbmllbmNlLjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSBQaW5jb2RlIFNlY3Rpb24gLS0+XHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgPGgzIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlxyXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cclxuICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgZD1cIk0xMiAyQzguMTMgMiA1IDUuMTMgNSA5YzAgNS4yNSA3IDEzIDcgMTNzNy03Ljc1IDctMTNjMC0zLjg3LTMuMTMtNy03LTd6bTAgOS41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNXpcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgU2VydmljZSBMb2NhdGlvblxyXG4gICAgICAgICAgPC9oMz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5FbnRlciB5b3VyIHBpbmNvZGU8L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0taW5wdXRcIiBwbGFjZWhvbGRlcj1cIkVudGVyIDYtZGlnaXQgcGluY29kZVwiXHJcbiAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNlwiIC8+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaW5jb2RlLXN1Y2Nlc3NcIiAqbmdJZj1cInBpbmNvZGUubGVuZ3RoID09PSA2XCI+XHJcbiAgICAgICAgICAgICAg4pyTIFNlcnZpY2UgYXZhaWxhYmxlIGluIHlvdXIgYXJlYVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgPCEtLSBEYXRlIFNlbGVjdGlvbiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgPGgzIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlNlbGVjdCBhIERhdGU8L2gzPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtZ3JpZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWRhdGVcIiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtEYXlzXCIgKGNsaWNrKT1cImNoZWNrQXZhaWxhYmlsaXR5KGRheSlcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5ib3JkZXJdPVwiZGF5LmRhdGVXaXRoTW9udGggPT09IGN1c3RvbWVyRGV0YWlscy5kYXRlID8gJzJweCBzb2xpZCAnICsgc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvciA6ICdub25lJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5XCI+e3tkYXkuZGF5LnN1YnN0cmluZygwLDMpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+e3tkYXkuZGF0ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2lnblwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCI+e3t0cmlhbENhcnRJdGVtPy5sZW5ndGggPz8gMH19XHJcbiAgICAgICAgICAgICAgICBEZXNpZ25zPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gVGltZSBTZWxlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIiAqbmdJZj1cImN1c3RvbWVyRGV0YWlscy5kYXRlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxyXG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+U2VsZWN0IGEgVGltZTwvaDI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWdyaWRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1zbG90XCIgKm5nRm9yPVwibGV0IHRpbWUgb2YgdGltZVNsb3RzID8/IFtdXCIgKGNsaWNrKT1cInNlbGVjdFRpbWUodGltZSlcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IHRpbWUgPT09IGN1c3RvbWVyRGV0YWlscy50aW1lfVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtc2xvdC1iYWRnZVwiPk1vcmUgU2xvdCBMZWZ0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS10ZXh0XCI+e3t0aW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZVNsb3RzPy5sZW5ndGggPT0gMFwiPk5vIHNsb3RzIGF2YWlsYWJsZTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIEN1c3RvbWVyIERldGFpbHMgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgIDxoMyBjbGFzcz1cInNlY3Rpb24tdGl0bGVcIj5Db250YWN0IERldGFpbHM8L2gzPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkZ1bGwgTmFtZSAqPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0taW5wdXRcIiBbKG5nTW9kZWwpXT1cImN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlck5hbWVcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciB5b3VyIGZ1bGwgbmFtZVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5QaG9uZSBOdW1iZXIgKjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZWxcIiBjbGFzcz1cImZvcm0taW5wdXRcIiBbKG5nTW9kZWwpXT1cImN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlclBob25lXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciBwaG9uZSBudW1iZXJcIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkVtYWlsICo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1pbnB1dFwiIFsobmdNb2RlbCldPVwiY3VzdG9tZXJEZXRhaWxzLmFkZHJlc3NEZXRhaWxzLnJlY2VpdmVyRW1haWxcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciB5b3VyIHZhbGlkIG1haWxcIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q2l0eSAqPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNpdHlcIiBjbGFzcz1cImZvcm0taW5wdXRcIiBbKG5nTW9kZWwpXT1cImN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy5jaXR5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIHlvdXIgY2l0eVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U3RhdGUgKjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWlucHV0XCIgWyhuZ01vZGVsKV09XCJjdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMuc3RhdGVOYW1lXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciBzdGF0ZVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5QaW5jb2RlICo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGVsXCIgY2xhc3M9XCJmb3JtLWlucHV0XCIgWyhuZ01vZGVsKV09XCJjdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMuemlwQ29kZVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIHlvdXIgcGluY29kZVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q29tcGxldGUgQWRkcmVzcyAqPC9sYWJlbD5cclxuICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZm9ybS1pbnB1dCBmb3JtLXRleHRhcmVhXCIgWyhuZ01vZGVsKV09XCJjdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMuYWRkcmVzc0xpbmUxXCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIHlvdXIgY29tcGxldGUgYWRkcmVzc1wiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLSBTaWRlYmFyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICA8aDMgY2xhc3M9XCJkZXNpZ25zLWhlYWRlclwiPllvdXIgU2hvcnRsaXN0ZWQgRGVzaWduczwvaDM+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkZXNpZ25zLWNvdW50XCI+e3sgZ2V0U2VsZWN0ZWREZXNpZ25zKCkubGVuZ3RoIH19LzQgU0VMRUNURUQ8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2lnbi1wYXJlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2lnbi1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdHJpYWxDYXJ0SXRlbVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNpZ24tY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImRlc2lnbi1pbWFnZVwiIFtzcmNdPVwiaXRlbS5pbWdVcmwgPz8gJ2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCJcclxuICAgICAgICAgICAgICAgICAgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJcIj5EZXNpZ24gSW1hZ2U8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2lnbi1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIml0ZW0tdGl0bGVcIj57e2l0ZW0uaXRlbU5hbWV9fTwvaDM+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXByaWNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJyZW50LXByaWNlXCI+4oK5e3tpdGVtLmRpc2NvdW50ZWRQcmljZSB8IG51bWJlcjogJzEuMC0yJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3JpZ2luYWwtcHJpY2VcIiAqbmdJZj1cIml0ZW0uc2VsbGluZ1ByaWNlID4gaXRlbS5kaXNjb3VudGVkUHJpY2VcIj7igrl7e2l0ZW0uc2VsbGluZ1ByaWNlIHxcclxuICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjpcclxuICAgICAgICAgICAgICAgICAgICAgICcxLjAtMid9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLW9wdGlvbnNcIiAqbmdJZj1cIml0ZW0uaXRlbVZhcmlhbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdmFyaWVudCBvZiBnZXRLZXlzKGl0ZW0uaXRlbVZhcmlhbnQucHJvcGVydGllcylcIj57eyB2YXJpZW50IH19OiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS5pdGVtVmFyaWFudC5wcm9wZXJ0aWVzW3ZhcmllbnRdIHwgdXBwZXJjYXNlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwiZGVzaWduLXNlbGVjdFwiIFtjbGFzcy5zZWxlY3RlZF09XCJkZXNpZ24uc2VsZWN0ZWRcIiAoY2xpY2spPVwidG9nZ2xlRGVzaWduKGRlc2lnbi5pZClcIj5cclxuICAgICAgICAgICAgICAgIHt7IGRlc2lnbi5zZWxlY3RlZCA/ICdTZWxlY3RlZCcgOiAnU2VsZWN0JyB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWRkLWRlc2lnblwiIChjbGljayk9XCJhZGRNb3JlRGVzaWduKClcIj5cclxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyelwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICBBZGQgTW9yZSBEZXNpZ25zXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPlxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzdW1tYXJ5LXJvd1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VtbWFyeS1sYWJlbFwiPlNlbGVjdGVkIERlc2lnbnM6PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VtbWFyeS12YWx1ZVwiPnt7IGdldFNlbGVjdGVkRGVzaWducygpLmxlbmd0aCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeS1yb3dcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1bW1hcnktbGFiZWxcIj5TZXJ2aWNlOjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1bW1hcnktdmFsdWUgZnJlZS1zZXJ2aWNlXCI+RlJFRTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYm9vay1idXR0b25cIiAoY2xpY2spPVwiYm9va0FwcG9pbnRtZW50KClcIiBzaW1wb0J1dHRvbkRpcmVjdGl2ZSAqbmdJZj1cIiFsb2FkZXJcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNWYWxpZFwiIFtidXR0b25TdHlsZV09XCJkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXT8uc3R5bGVzXCJcclxuICAgICAgICAgICAgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbYmFja2dyb3VuZEluZm9dPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCI+XHJcbiAgICAgICAgICAgIHt7ZGF0YT8uYWN0aW9uPy5idXR0b25zPy5bMV0/LmNvbnRlbnQ/LmxhYmVsID8/ICdCb29rIFRyeSBhdCBIb21lIEFwcG9pbnRtZW50J319XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJib29rLWJ1dHRvbiBsb2FkZXItYnRuXCIgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2J1dHRvblN0eWxlXT1cImRhdGE/LmFjdGlvbj8uYnV0dG9ucz8uWzBdPy5zdHlsZXNcIlxyXG4gICAgICAgICAgICBbY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiICpuZ0lmPVwibG9hZGVyXCJcclxuICAgICAgICAgICAgW2JhY2tncm91bmRJbmZvXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiPjxtYXQtc3Bpbm5lcj48L21hdC1zcGlubmVyPiBCb29raW5nPC9idXR0b24+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImRpc2NsYWltZXJcIj5PdXIgY29uc3VsdGFudCB3aWxsIGNvbnRhY3QgeW91IHRvIGNvbmZpcm0gdGhlIGFwcG9pbnRtZW50PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIlxyXG4gICAgICBbaXNFY29tbWVyY2VdPVwidHJ1ZVwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgPC9kaXY+XHJcbjwvbWFpbj4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vay1hcHBvaW50bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9ib29rLWFwcG9pbnRtZW50L2Jvb2stYXBwb2ludG1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvYm9vay1hcHBvaW50bWVudC9ib29rLWFwcG9pbnRtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTdDLE9BQU8sV0FBVyxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7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QU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLE1BQU0sQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDO0lBQ2xDLENBQUM7K0dBM0tVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDJLQUp4QixDQUFDLGNBQWMsQ0FBQyxpRENwQzdCLDAxUkFvTE8sNC9LRDVKSyxZQUFZLGtkQUFFLFdBQVcsK21CQUNqQyx3QkFBd0Isc0lBRXhCLGNBQWMsZ0ZBSWQsbUJBQW1CLHlHQUNuQixXQUFXLHVXQUNYLHdCQUF3QixtT0FDeEIsc0JBQXNCOzs0RkFNYix3QkFBd0I7a0JBbkJwQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVzt3QkFDakMsd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3FCQUN2QixhQUNVLENBQUMsY0FBYyxDQUFDO3NLQU1sQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vZWNvbW1lcmNlL3N0eWxlcy91c2VyLm1vZGFsJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQm9va0FwcG9pbnRtZW50U2VjdGlvbk1vZGFsLCBCb29rQXBwb2ludG1lbnRTdHlsZXNNb2RlbCB9IGZyb20gJy4vYm9vay1hcHBvaW50bWVudC5tb2RlbCc7XG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vLi4vLi4vc2VjdGlvbnMvQmFzZVNlY3Rpb24nO1xuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSW1hZ2VFZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvaW1hZ2UtZWRpdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWhvcml6b250YWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJ1dHRvbkVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZWRpdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IEhvdmVyRWxlbWVudHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2hvdmVyLWVsZW1lbnRzL2hvdmVyLWVsZW1lbnRzLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLWJvb2stYXBwb2ludG1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSxcbiAgICBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUsXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxuICAgIEhvdmVyRGlyZWN0aXZlLFxuICAgIEltYWdlRWRpdG9yRGlyZWN0aXZlLFxuICAgIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlLFxuICAgIEJ1dHRvbkVkaXRvckRpcmVjdGl2ZSxcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxuICAgIFRvYXN0TW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBIb3ZlckVsZW1lbnRzQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb2stYXBwb2ludG1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm9vay1hcHBvaW50bWVudC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBCb29rQXBwb2ludG1lbnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgZGF0YT86IEJvb2tBcHBvaW50bWVudFNlY3Rpb25Nb2RhbDtcbiAgQElucHV0KCkgaW5kZXg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGVkaXQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcblxuICB0aW1lU2xvdHM6IHN0cmluZ1tdID0gWycxMDowMCBBTScsICcxMTowMCBBTScsICcxMjowMCBQTScsICcwMTowMCBQTScsICcwMjowMCBQTScsICcwMzowMCBQTScsICcwNDowMCBQTScsICcwNTowMCBQTScsICcwNjowMCBQTSddO1xuICBjdXN0b21lckRldGFpbHMgPSB7XG4gICAgZGF0ZTogJycsXG4gICAgdGltZTogJycsXG4gICAgYWRkcmVzc0RldGFpbHM6IHtcbiAgICAgIHJlY2VpdmVyTmFtZTogJycsXG4gICAgICByZWNlaXZlclBob25lOiAnJyxcbiAgICAgIHJlY2VpdmVyRW1haWw6ICcnLFxuICAgICAgYWRkcmVzc0xpbmUxOiAnJyxcbiAgICAgIHN0YXRlTmFtZTogJycsXG4gICAgICBjaXR5TmFtZTogJycsXG4gICAgICB6aXBDb2RlOiAnJ1xuICAgIH0sXG4gICAgdXNlcklkOiAnJyxcbiAgICBidXNpbmVzc0lkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYklkJykgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2J1c2luZXNzSWQnKVxuICB9O1xuXG4gIGRlc2lnbnMgPSBbXG4gICAgeyBpZDogMSwgbmFtZTogJ0Rlc2lnbiAxJywgcHJpY2U6ICckMTAwJywgc2VsZWN0ZWQ6IGZhbHNlIH0sXG4gICAgeyBpZDogMiwgbmFtZTogJ0Rlc2lnbiAyJywgcHJpY2U6ICckMTUwJywgc2VsZWN0ZWQ6IGZhbHNlIH1cbiAgXTtcbiAgd2Vla0RheXM6IHsgZGF0ZVdpdGhNb250aDogc3RyaW5nOyBkYXk6IHN0cmluZzsgZGF0ZTogbnVtYmVyIH1bXSA9IFtdO1xuICB0cmlhbENhcnRJdGVtOiBhbnlbXSA9IFtdXG4gIHN0eWxlcz86IEJvb2tBcHBvaW50bWVudFN0eWxlc01vZGVsO1xuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCk7XG4gICAgdGhpcy5jdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMucmVjZWl2ZXJOYW1lID0gKHVzZXI/LmFkZHJlc3NEZXRhaWxzTGlzdFswXT8ucmVjZWl2ZXJOYW1lIHx8IHVzZXI/LmNvbnRhY3Q/Lm5hbWUpID8/ICcnXG4gICAgdGhpcy5jdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMucmVjZWl2ZXJQaG9uZSA9ICh1c2VyPy5hZGRyZXNzRGV0YWlsc0xpc3RbMF0/LnJlY2VpdmVyUGhvbmUgfHwgdXNlcj8uY29udGFjdD8ubW9iaWxlKSA/PyAnJ1xuICAgIHRoaXMuY3VzdG9tZXJEZXRhaWxzLmFkZHJlc3NEZXRhaWxzLnJlY2VpdmVyRW1haWwgPSAodXNlcj8uYWRkcmVzc0RldGFpbHNMaXN0WzBdPy5yZWNlaXZlckVtYWlsIHx8IHVzZXI/LmNvbnRhY3Q/LmVtYWlsKSA/PyAnJ1xuICAgIHRoaXMuY3VzdG9tZXJEZXRhaWxzLmFkZHJlc3NEZXRhaWxzLmFkZHJlc3NMaW5lMSA9IHVzZXI/LmFkZHJlc3NEZXRhaWxzTGlzdFswXT8uYWRkcmVzc0xpbmUxID8/ICcnXG4gICAgdGhpcy5jdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMuc3RhdGVOYW1lID0gdXNlcj8uYWRkcmVzc0RldGFpbHNMaXN0WzBdPy5zdGF0ZU5hbWUgPz8gJydcbiAgICB0aGlzLmN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy5jaXR5TmFtZSA9IHVzZXI/LmFkZHJlc3NEZXRhaWxzTGlzdFswXT8uY2l0eU5hbWUgPz8gJydcbiAgICB0aGlzLmN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy56aXBDb2RlID0gdXNlcj8uYWRkcmVzc0RldGFpbHNMaXN0WzBdPy56aXBDb2RlID8/ICcnXG4gICAgdGhpcy5jdXN0b21lckRldGFpbHMudXNlcklkID0gdXNlcj8udXNlcklkID8/ICcnXG5cbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xuXG4gICAgdGhpcy5nZXROZXh0U2V2ZW5EYXlzKCk7XG4gICAgdGhpcy5nZXRUcmlhbENhcnQoKVxuICB9XG4gIGNoZWNrQXZhaWxhYmlsaXR5KGRheTogYW55KSB7XG4gICAgdGhpcy5jdXN0b21lckRldGFpbHMuZGF0ZSA9IGRheS5kYXRlV2l0aE1vbnRoO1xuICAgIGxldCBzZWxlY3RlZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1c3RvbWVyRGV0YWlscy5kYXRlKTtcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgdGVtcFNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHNlbGVjdGVkRGF0ZSk7XG4gICAgY29uc3QgdGVtcFRvZGF5ID0gbmV3IERhdGUodG9kYXkpO1xuICAgIHRlbXBTZWxlY3RlZERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgdGVtcFRvZGF5LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgIGlmICh0ZW1wU2VsZWN0ZWREYXRlLmdldFRpbWUoKSA9PT0gdGVtcFRvZGF5LmdldFRpbWUoKSkge1xuICAgICAgY29uc3QgY3VycmVudEhvdXIgPSB0b2RheS5nZXRIb3VycygpO1xuICAgICAgY29uc3QgY3VycmVudE1pbnV0ZXMgPSB0b2RheS5nZXRNaW51dGVzKCk7XG5cbiAgICAgIHRoaXMudGltZVNsb3RzID0gdGhpcy50aW1lU2xvdHMuZmlsdGVyKHNsb3QgPT4ge1xuICAgICAgICBjb25zdCBbdGltZSwgcGVyaW9kXSA9IHNsb3Quc3BsaXQoJyAnKTtcbiAgICAgICAgY29uc3QgW2hvdXJzLCBtaW51dGVzXSA9IHRpbWUuc3BsaXQoJzonKS5tYXAoTnVtYmVyKTtcblxuICAgICAgICBsZXQgc2xvdEhvdXIgPSBob3VycztcbiAgICAgICAgaWYgKHBlcmlvZCA9PT0gJ1BNJyAmJiBob3VycyAhPT0gMTIpIHtcbiAgICAgICAgICBzbG90SG91ciArPSAxMjtcbiAgICAgICAgfSBlbHNlIGlmIChwZXJpb2QgPT09ICdBTScgJiYgaG91cnMgPT09IDEyKSB7XG4gICAgICAgICAgc2xvdEhvdXIgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgc2xvdCB0aW1lIGlzIGluIHRoZSBmdXR1cmVcbiAgICAgICAgcmV0dXJuIHNsb3RIb3VyID4gY3VycmVudEhvdXIgfHxcbiAgICAgICAgICAoc2xvdEhvdXIgPT09IGN1cnJlbnRIb3VyICYmIG1pbnV0ZXMgPiBjdXJyZW50TWludXRlcyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVzZXQgdG8gYWxsIHRpbWUgc2xvdHMgZm9yIGZ1dHVyZSBkYXRlc1xuICAgICAgdGhpcy50aW1lU2xvdHMgPSBbJzEwOjAwIEFNJywgJzExOjAwIEFNJywgJzEyOjAwIFBNJywgJzAxOjAwIFBNJywgJzAyOjAwIFBNJywgJzAzOjAwIFBNJywgJzA0OjAwIFBNJywgJzA1OjAwIFBNJywgJzA2OjAwIFBNJ107XG4gICAgfVxuICB9XG4gIGdldFRyaWFsQ2FydCgpIHtcbiAgICBsZXQgdXNlcjogVXNlciB8IG51bGwgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKVxuICAgIGlmICh1c2VyKSB7XG4gICAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFVzZXJJdGVtcyh1c2VyLnVzZXJJZCwgJ1RSSUFMX0NBUlQnKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudHJpYWxDYXJ0SXRlbSA9IHJlcz8uZGF0YT8uWzBdPy5vcmRlcmVkSXRlbXMgPz8gW11cbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ2V0VHJpYWxDYXJ0SW5kZXhEQkRhdGEoKTtcbiAgICB9XG4gIH1cblxuICBnZXRUcmlhbENhcnRJbmRleERCRGF0YSgpIHtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFRyaWFsQ2FydCgpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICByZXNwb25zZS5vbnN1Y2Nlc3MgPSAodXNlclRyaWFsQ2FydFJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy50cmlhbENhcnRJdGVtID0gdXNlclRyaWFsQ2FydFJlc3BvbnNlLnRhcmdldC5yZXN1bHQ7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldE5leHRTZXZlbkRheXMoKSB7XG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA3OyBpKyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0b2RheSk7XG4gICAgICBkYXRlLnNldERhdGUodG9kYXkuZ2V0RGF0ZSgpICsgaSk7XG5cbiAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTsgLy8gWVlZWS1NTS1ERFxuICAgICAgY29uc3QgZGF5TmFtZSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1VUycsIHsgd2Vla2RheTogJ2xvbmcnIH0pOyAvLyBlLmcuLCBNb25kYXlcblxuICAgICAgdGhpcy53ZWVrRGF5cy5wdXNoKHsgZGF0ZVdpdGhNb250aDogZm9ybWF0dGVkRGF0ZSwgZGF5OiBkYXlOYW1lLCBkYXRlOiBkYXRlLmdldERhdGUoKSB9KTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVEZXNpZ24oaWQ6IG51bWJlcikge1xuICAgIGNvbnN0IGRlc2lnbiA9IHRoaXMuZGVzaWducy5maW5kKGQgPT4gZC5pZCA9PT0gaWQpO1xuICAgIGlmIChkZXNpZ24pIHtcbiAgICAgIGlmICghZGVzaWduLnNlbGVjdGVkICYmIHRoaXMuZ2V0U2VsZWN0ZWREZXNpZ25zKCkubGVuZ3RoID49IDQpIHJldHVybjtcbiAgICAgIGRlc2lnbi5zZWxlY3RlZCA9ICFkZXNpZ24uc2VsZWN0ZWQ7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2VsZWN0ZWREZXNpZ25zKCkge1xuICAgIHJldHVybiB0aGlzLmRlc2lnbnMuZmlsdGVyKGQgPT4gZC5zZWxlY3RlZCk7XG4gIH1cblxuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuY3VzdG9tZXJEZXRhaWxzPy5hZGRyZXNzRGV0YWlscz8ucmVjZWl2ZXJOYW1lIHx8ICF0aGlzLmN1c3RvbWVyRGV0YWlscz8uYWRkcmVzc0RldGFpbHM/LnJlY2VpdmVyUGhvbmUgfHxcbiAgICAgICF0aGlzLmN1c3RvbWVyRGV0YWlscz8uYWRkcmVzc0RldGFpbHM/LnJlY2VpdmVyRW1haWwgfHwgIXRoaXMuY3VzdG9tZXJEZXRhaWxzPy5hZGRyZXNzRGV0YWlscz8uc3RhdGVOYW1lIHx8XG4gICAgICAhdGhpcy5jdXN0b21lckRldGFpbHM/LmFkZHJlc3NEZXRhaWxzPy5jaXR5TmFtZSB8fCAhdGhpcy5jdXN0b21lckRldGFpbHM/LmFkZHJlc3NEZXRhaWxzPy56aXBDb2RlIHx8XG4gICAgICAhdGhpcy5jdXN0b21lckRldGFpbHM/LmFkZHJlc3NEZXRhaWxzPy5hZGRyZXNzTGluZTEgfHwgIXRoaXMuY3VzdG9tZXJEZXRhaWxzPy5kYXRlIHx8ICF0aGlzLmN1c3RvbWVyRGV0YWlscz8udGltZVxuICB9XG5cbiAgYm9va0FwcG9pbnRtZW50KCkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZVxuXG4gICAgdGhpcy5yZXN0U2VydmljZS5ib29rQXBwb2ludG1lbnQodGhpcy5jdXN0b21lckRldGFpbHMpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2VcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ0FwcG9pbnRtZW50JywgZGV0YWlsOiAnQXBwb2ludG1lbnQgQm9va2VkIHN1Y2Nlc3NmdWxseScgfSk7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wcm9maWxlJ10sIHsgcXVlcnlQYXJhbXM6IHsgdGFiOiAndHJ5X2F0X2hvbWUnIH0gfSk7XG4gICAgfSwgKCkgPT4ge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ0FwcG9pbnRtZW50JywgZGV0YWlsOiAnQXBwb2ludG1lbnQgbm90IGJvb2tlZCcgfSk7XG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlXG4gICAgfSlcbiAgfVxuXG4gIHNlbGVjdFRpbWUodGltZTogYW55KSB7XG4gICAgdGhpcy5jdXN0b21lckRldGFpbHMudGltZSA9IHRpbWVcbiAgfVxuXG4gIGdldEtleXMob2JqZWN0OiBPYmplY3QpOiBzdHJpbmdbXSB7XG4gICAgaWYgKG9iamVjdClcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmplY3QpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGFkZE1vcmVEZXNpZ24oKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbGlzdCddKVxuICB9XG5cbiAgZ2V0IGlzTW9iaWxlKCkge1xuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XG4gIH1cblxufVxuIiwiPHAtdG9hc3QgcG9zaXRpb249XCJib3R0b20tcmlnaHRcIiBbYmFzZVpJbmRleF09XCIxMDAwMDAwMDAwMFwiIFthdXRvWkluZGV4XT1cInRydWVcIlxuICBbc2hvd1RyYW5zZm9ybU9wdGlvbnNdPVwiaXNNb2JpbGUgPyAndHJhbnNsYXRlWSgtMTAwJSknIDogJydcIj48L3AtdG9hc3Q+XG5cbjxtYWluIGNsYXNzPVwibWFpbi1jb250ZW50XCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWdyaWRcIj5cbiAgICAgIDwhLS0gTGVmdCBGb3JtIFNlY3Rpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1zZWN0aW9uXCI+XG4gICAgICAgIDwhLS0gU2VydmljZSBEZXNjcmlwdGlvbiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgc2VydmljZS1kZXNjcmlwdGlvblwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlRyeSBhdCBIb21lIFNlcnZpY2U8L2gyPlxuICAgICAgICAgIDxwPk91ciBUcnkgYXQgSG9tZSBjb25zdWx0YW50IHdpbGwgdmlzaXQgeW91ciBsb2NhdGlvbiB0byBzaG93IHlvdSB0aGUgZGVzaWducyBhdCB5b3VyIGNvbnZlbmllbmNlLjwvcD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBQaW5jb2RlIFNlY3Rpb24gLS0+XG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTEyIDJDOC4xMyAyIDUgNS4xMyA1IDljMCA1LjI1IDcgMTMgNyAxM3M3LTcuNzUgNy0xM2MwLTMuODctMy4xMy03LTctN3ptMCA5LjVjLTEuMzggMC0yLjUtMS4xMi0yLjUtMi41czEuMTItMi41IDIuNS0yLjUgMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41elwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIFNlcnZpY2UgTG9jYXRpb25cbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+RW50ZXIgeW91ciBwaW5jb2RlPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgNi1kaWdpdCBwaW5jb2RlXCJcbiAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNlwiIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGluY29kZS1zdWNjZXNzXCIgKm5nSWY9XCJwaW5jb2RlLmxlbmd0aCA9PT0gNlwiPlxuICAgICAgICAgICAgICDinJMgU2VydmljZSBhdmFpbGFibGUgaW4geW91ciBhcmVhXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+IC0tPlxuXG4gICAgICAgIDwhLS0gRGF0ZSBTZWxlY3Rpb24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlNlbGVjdCBhIERhdGU8L2gzPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWdyaWRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZGF0ZVwiICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla0RheXNcIiAoY2xpY2spPVwiY2hlY2tBdmFpbGFiaWxpdHkoZGF5KVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5ib3JkZXJdPVwiZGF5LmRhdGVXaXRoTW9udGggPT09IGN1c3RvbWVyRGV0YWlscy5kYXRlID8gJzJweCBzb2xpZCAnICsgc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvciA6ICdub25lJ1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXlcIj57e2RheS5kYXkuc3Vic3RyaW5nKDAsMyl9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+e3tkYXkuZGF0ZX19PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzaWduXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZXM/LmJhY2tncm91bmRcIj57e3RyaWFsQ2FydEl0ZW0/Lmxlbmd0aCA/PyAwfX1cbiAgICAgICAgICAgICAgICBEZXNpZ25zPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBUaW1lIFNlbGVjdGlvbiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIiAqbmdJZj1cImN1c3RvbWVyRGV0YWlscy5kYXRlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIj5cbiAgICAgICAgICAgIDxoMiBjbGFzcz1cInNlY3Rpb24tdGl0bGVcIj5TZWxlY3QgYSBUaW1lPC9oMj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWdyaWRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtc2xvdFwiICpuZ0Zvcj1cImxldCB0aW1lIG9mIHRpbWVTbG90cyA/PyBbXVwiIChjbGljayk9XCJzZWxlY3RUaW1lKHRpbWUpXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogdGltZSA9PT0gY3VzdG9tZXJEZXRhaWxzLnRpbWV9XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtc2xvdC1iYWRnZVwiPk1vcmUgU2xvdCBMZWZ0PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtdGV4dFwiPnt7dGltZX19PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZVNsb3RzPy5sZW5ndGggPT0gMFwiPk5vIHNsb3RzIGF2YWlsYWJsZTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQ3VzdG9tZXIgRGV0YWlscyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+Q29udGFjdCBEZXRhaWxzPC9oMz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5GdWxsIE5hbWUgKjwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1pbnB1dFwiIFsobmdNb2RlbCldPVwiY3VzdG9tZXJEZXRhaWxzLmFkZHJlc3NEZXRhaWxzLnJlY2VpdmVyTmFtZVwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciB5b3VyIGZ1bGwgbmFtZVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5QaG9uZSBOdW1iZXIgKjwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGVsXCIgY2xhc3M9XCJmb3JtLWlucHV0XCIgWyhuZ01vZGVsKV09XCJjdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMucmVjZWl2ZXJQaG9uZVwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciB5b3VyIHBob25lIG51bWJlclwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5FbWFpbCAqPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWlucHV0XCIgWyhuZ01vZGVsKV09XCJjdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMucmVjZWl2ZXJFbWFpbFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciB5b3VyIHZhbGlkIG1haWxcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q2l0eSAqPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaXR5XCIgY2xhc3M9XCJmb3JtLWlucHV0XCIgWyhuZ01vZGVsKV09XCJjdXN0b21lckRldGFpbHMuYWRkcmVzc0RldGFpbHMuY2l0eU5hbWVcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciBjaXR5XCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlN0YXRlICo8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0taW5wdXRcIiBbKG5nTW9kZWwpXT1cImN1c3RvbWVyRGV0YWlscy5hZGRyZXNzRGV0YWlscy5zdGF0ZU5hbWVcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciBzdGF0ZVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5QaW5jb2RlICo8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRlbFwiIGNsYXNzPVwiZm9ybS1pbnB1dFwiIFsobmdNb2RlbCldPVwiY3VzdG9tZXJEZXRhaWxzLmFkZHJlc3NEZXRhaWxzLnppcENvZGVcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciBwaW5jb2RlXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q29tcGxldGUgQWRkcmVzcyAqPC9sYWJlbD5cbiAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImZvcm0taW5wdXQgZm9ybS10ZXh0YXJlYVwiIFsobmdNb2RlbCldPVwiY3VzdG9tZXJEZXRhaWxzLmFkZHJlc3NEZXRhaWxzLmFkZHJlc3NMaW5lMVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciBjb21wbGV0ZSBhZGRyZXNzXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFNpZGViYXIgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgICAgICAgIDxoMyBjbGFzcz1cImRlc2lnbnMtaGVhZGVyXCI+WW91ciBTaG9ydGxpc3RlZCBEZXNpZ25zPC9oMz5cbiAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkZXNpZ25zLWNvdW50XCI+e3sgZ2V0U2VsZWN0ZWREZXNpZ25zKCkubGVuZ3RoIH19LzQgU0VMRUNURUQ8L2Rpdj4gLS0+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzaWduLXBhcmVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2lnbi1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdHJpYWxDYXJ0SXRlbVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzaWduLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiZGVzaWduLWltYWdlXCIgW3NyY109XCJpdGVtLmltZ1VybCA/PyAnaHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIlxuICAgICAgICAgICAgICAgICAgYWx0PVwiXCI+XG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiXCI+RGVzaWduIEltYWdlPC9kaXY+IC0tPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2lnbi1pbmZvXCI+XG4gICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJpdGVtLXRpdGxlXCI+e3tpdGVtLml0ZW1OYW1lfX08L2gzPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tcHJpY2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJyZW50LXByaWNlXCI+4oK5e3tpdGVtLmRpc2NvdW50ZWRQcmljZSB8IG51bWJlcjogJzEuMC0yJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9yaWdpbmFsLXByaWNlXCIgKm5nSWY9XCJpdGVtLnNlbGxpbmdQcmljZSA+IGl0ZW0uZGlzY291bnRlZFByaWNlXCI+4oK5e3tpdGVtLnNlbGxpbmdQcmljZSB8XG4gICAgICAgICAgICAgICAgICAgICAgbnVtYmVyOlxuICAgICAgICAgICAgICAgICAgICAgICcxLjAtMid9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tb3B0aW9uc1wiICpuZ0lmPVwiaXRlbS5pdGVtVmFyaWFudFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdmFyaWVudCBvZiBnZXRLZXlzKGl0ZW0uaXRlbVZhcmlhbnQucHJvcGVydGllcylcIj57eyB2YXJpZW50IH19OiB7e1xuICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaXRlbVZhcmlhbnQucHJvcGVydGllc1t2YXJpZW50XSB8IHVwcGVyY2FzZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImRlc2lnbi1zZWxlY3RcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiZGVzaWduLnNlbGVjdGVkXCIgKGNsaWNrKT1cInRvZ2dsZURlc2lnbihkZXNpZ24uaWQpXCI+XG4gICAgICAgICAgICAgICAge3sgZGVzaWduLnNlbGVjdGVkID8gJ1NlbGVjdGVkJyA6ICdTZWxlY3QnIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhZGQtZGVzaWduXCIgKGNsaWNrKT1cImFkZE1vcmVEZXNpZ24oKVwiPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPlxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnpcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICBBZGQgTW9yZSBEZXNpZ25zXG4gICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPlxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic3VtbWFyeS1yb3dcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdW1tYXJ5LWxhYmVsXCI+U2VsZWN0ZWQgRGVzaWduczo8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VtbWFyeS12YWx1ZVwiPnt7IGdldFNlbGVjdGVkRGVzaWducygpLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5LXJvd1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1bW1hcnktbGFiZWxcIj5TZXJ2aWNlOjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdW1tYXJ5LXZhbHVlIGZyZWUtc2VydmljZVwiPkZSRUU8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJib29rLWJ1dHRvblwiIChjbGljayk9XCJib29rQXBwb2ludG1lbnQoKVwiIHNpbXBvQnV0dG9uRGlyZWN0aXZlICpuZ0lmPVwiIWxvYWRlclwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNWYWxpZFwiIFtidXR0b25TdHlsZV09XCJkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXT8uc3R5bGVzXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgW2JhY2tncm91bmRJbmZvXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiPlxuICAgICAgICAgICAge3tkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlsxXT8uY29udGVudD8ubGFiZWwgPz8gJ0Jvb2sgVHJ5IGF0IEhvbWUgQXBwb2ludG1lbnQnfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYm9vay1idXR0b24gbG9hZGVyLWJ0blwiIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtidXR0b25TdHlsZV09XCJkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXT8uc3R5bGVzXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgKm5nSWY9XCJsb2FkZXJcIlxuICAgICAgICAgICAgW2JhY2tncm91bmRJbmZvXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiPjxtYXQtc3Bpbm5lcj48L21hdC1zcGlubmVyPiBCb29raW5nPC9idXR0b24+XG4gICAgICAgICAgPHAgY2xhc3M9XCJkaXNjbGFpbWVyXCI+T3VyIGNvbnN1bHRhbnQgd2lsbCBjb250YWN0IHlvdSB0byBjb25maXJtIHRoZSBhcHBvaW50bWVudDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCJcbiAgICAgIFtpc0Vjb21tZXJjZV09XCJ0cnVlXCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cbiAgPC9kaXY+XG48L21haW4+Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vay1hcHBvaW50bWVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL2Jvb2stYXBwb2ludG1lbnQvYm9vay1hcHBvaW50bWVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTElOS19UWVBFIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy90eXBlc1wiO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRNb2RlbCwgRGlzcGxheVNlY3Rpb24sIFN0eWxlc01vZGVsLCBJbWFnZVN0eWxlIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBDb3JuZXJzIH0gZnJvbSBcIi4uLy4uLy4uLy4vc3R5bGVzL2luZGV4XCI7XHJcbmltcG9ydCB7IEFuaW1hdGlvbk1vZGVsLCBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBY3Rpb25Nb2RlbCwgSW1hZ2UgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJvb2tBcHBvaW50bWVudFNlY3Rpb25Nb2RhbCB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBzZWN0aW9uVHlwZTogc3RyaW5nO1xyXG4gIHNlY3Rpb25OYW1lOiBzdHJpbmc7XHJcbiAgc3R5bGVzOiBCb29rQXBwb2ludG1lbnRTdHlsZXNNb2RlbDtcclxuICBhY3Rpb246IEFjdGlvbk1vZGVsXHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJvb2tBcHBvaW50bWVudFN0eWxlc01vZGVsIHtcclxuICBsYXlvdXQ6IExheU91dE1vZGVsO1xyXG4gIGJhY2tncm91bmQ6IEJhY2tncm91bmRNb2RlbDtcclxuICBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vay1hcHBvaW50bWVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL2Jvb2stYXBwb2ludG1lbnQvYm9vay1hcHBvaW50bWVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTElOS19UWVBFIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy90eXBlc1wiO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kZWwsIERpc3BsYXlTZWN0aW9uLCBTdHlsZXNNb2RlbCwgSW1hZ2VTdHlsZSB9IGZyb20gXCIuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWxcIjtcbmltcG9ydCB7IENvcm5lcnMgfSBmcm9tIFwiLi4vLi4vLi4vLi9zdHlsZXMvaW5kZXhcIjtcbmltcG9ydCB7IEFuaW1hdGlvbk1vZGVsLCBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbFwiO1xuaW1wb3J0IHsgQWN0aW9uTW9kZWwsIEltYWdlIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3N0eWxlLm1vZGVsJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEJvb2tBcHBvaW50bWVudFNlY3Rpb25Nb2RhbCB7XG4gIGlkOiBzdHJpbmc7XG4gIHNlY3Rpb25UeXBlOiBzdHJpbmc7XG4gIHNlY3Rpb25OYW1lOiBzdHJpbmc7XG4gIHN0eWxlczogQm9va0FwcG9pbnRtZW50U3R5bGVzTW9kZWw7XG4gIGFjdGlvbjogQWN0aW9uTW9kZWxcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb2tBcHBvaW50bWVudFN0eWxlc01vZGVsIHtcbiAgbGF5b3V0OiBMYXlPdXRNb2RlbDtcbiAgYmFja2dyb3VuZDogQmFja2dyb3VuZE1vZGVsO1xuICBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL2NhcnQvY2FydC5tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTElOS19UWVBFIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy90eXBlc1wiO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRNb2RlbCwgRGlzcGxheVNlY3Rpb24sIFN0eWxlc01vZGVsLCBJbWFnZVN0eWxlIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBDb3JuZXJzIH0gZnJvbSBcIi4uLy4uLy4uLy4vc3R5bGVzL2luZGV4XCI7XHJcbmltcG9ydCB7IEFuaW1hdGlvbk1vZGVsLCBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBY3Rpb25Nb2RlbCwgSW1hZ2UgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENhcnRTZWN0aW9uTW9kYWwge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgc2VjdGlvblR5cGU6IHN0cmluZztcclxuICBzZWN0aW9uTmFtZTogc3RyaW5nO1xyXG4gIHN0eWxlczogQ2FydFNlY3Rpb25TdHlsZXNNb2RlbDtcclxuICBjb250ZW50OiBDYXJ0Q29udGVudFNlY3Rpb25Nb2RlbDtcclxuICBhY3Rpb246IEFjdGlvbk1vZGVsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2FydENvbnRlbnRTZWN0aW9uTW9kZWwge1xyXG4gIGlucHV0VGV4dDogSW5wdXRUZXh0TW9kZWxbXSxcclxuICBpbWFnZTogSW1hZ2VNb2RlbFxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VNb2RlbCBleHRlbmRzIEltYWdlIHtcclxuICBzaG93SW1hZ2U6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDYXJ0U2VjdGlvblN0eWxlc01vZGVsIHtcclxuICBsYXlvdXQ6IExheU91dE1vZGVsO1xyXG4gIGJhY2tncm91bmQ6IEJhY2tncm91bmRNb2RlbDtcclxuICBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsO1xyXG4gIGNhcnRJdGVtc1N0eWxpbmc6IGJvb2xlYW5cclxufVxyXG5cclxuXHJcbi8vIG5lZWQgdG8gYmUgYW5vdGhlciBmaWxlXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzcyB7XHJcbiAgcmVjZWl2ZXJOYW1lOiBzdHJpbmcsXHJcbiAgcmVjZWl2ZXJQaG9uZTogc3RyaW5nLFxyXG4gIHJlY2VpdmVyRW1haWw6IHN0cmluZyxcclxuICBjb3VudHJ5TmFtZTogc3RyaW5nLFxyXG4gIHN0YXRlTmFtZTogc3RyaW5nLFxyXG4gIGNpdHlOYW1lOiBzdHJpbmcsXHJcbiAgbG9jYWxpdHlOYW1lOiBzdHJpbmcsXHJcbiAgYWRkcmVzc0xpbmUxOiBzdHJpbmcsXHJcbiAgbGFuZG1hcms6IHN0cmluZyxcclxuICB6aXBDb2RlOiBzdHJpbmcsXHJcbiAgc3RhdGVDb2RlOiBzdHJpbmcsXHJcbiAgYWRkcmVzc1R5cGU6IHN0cmluZyxcclxuICBnZW9sb2NhdGlvbjoge1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcixcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyXHJcbiAgfVxyXG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL2NhcnQvY2FydC5tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTElOS19UWVBFIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy90eXBlc1wiO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kZWwsIERpc3BsYXlTZWN0aW9uLCBTdHlsZXNNb2RlbCwgSW1hZ2VTdHlsZSB9IGZyb20gXCIuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWxcIjtcbmltcG9ydCB7IENvcm5lcnMgfSBmcm9tIFwiLi4vLi4vLi4vLi9zdHlsZXMvaW5kZXhcIjtcbmltcG9ydCB7IEFuaW1hdGlvbk1vZGVsLCBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbFwiO1xuaW1wb3J0IHsgQWN0aW9uTW9kZWwsIEltYWdlIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3N0eWxlLm1vZGVsJ1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcnRTZWN0aW9uTW9kYWwge1xuICBpZDogc3RyaW5nO1xuICBzZWN0aW9uVHlwZTogc3RyaW5nO1xuICBzZWN0aW9uTmFtZTogc3RyaW5nO1xuICBzdHlsZXM6IENhcnRTZWN0aW9uU3R5bGVzTW9kZWw7XG4gIGNvbnRlbnQ6IENhcnRDb250ZW50U2VjdGlvbk1vZGVsO1xuICBhY3Rpb246IEFjdGlvbk1vZGVsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FydENvbnRlbnRTZWN0aW9uTW9kZWwge1xuICBpbnB1dFRleHQ6IElucHV0VGV4dE1vZGVsW10sXG4gIGltYWdlOiBJbWFnZU1vZGVsXG59XG5leHBvcnQgaW50ZXJmYWNlIEltYWdlTW9kZWwgZXh0ZW5kcyBJbWFnZSB7XG4gIHNob3dJbWFnZTogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhcnRTZWN0aW9uU3R5bGVzTW9kZWwge1xuICBsYXlvdXQ6IExheU91dE1vZGVsO1xuICBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kTW9kZWw7XG4gIGFuaW1hdGlvbjogQW5pbWF0aW9uTW9kZWw7XG4gIGNhcnRJdGVtc1N0eWxpbmc6IGJvb2xlYW5cbn1cblxuXG4vLyBuZWVkIHRvIGJlIGFub3RoZXIgZmlsZVxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzIHtcbiAgcmVjZWl2ZXJOYW1lOiBzdHJpbmcsXG4gIHJlY2VpdmVyUGhvbmU6IHN0cmluZyxcbiAgcmVjZWl2ZXJFbWFpbDogc3RyaW5nLFxuICBjb3VudHJ5TmFtZTogc3RyaW5nLFxuICBzdGF0ZU5hbWU6IHN0cmluZyxcbiAgY2l0eU5hbWU6IHN0cmluZyxcbiAgbG9jYWxpdHlOYW1lOiBzdHJpbmcsXG4gIGFkZHJlc3NMaW5lMTogc3RyaW5nLFxuICBsYW5kbWFyazogc3RyaW5nLFxuICB6aXBDb2RlOiBzdHJpbmcsXG4gIHN0YXRlQ29kZTogc3RyaW5nLFxuICBhZGRyZXNzVHlwZTogc3RyaW5nLFxuICBnZW9sb2NhdGlvbjoge1xuICAgIGxhdGl0dWRlOiBudW1iZXIsXG4gICAgbG9uZ2l0dWRlOiBudW1iZXJcbiAgfVxufSJdfQ==
@@ -18,14 +18,14 @@ export class CategoriesWithImageBackgroundColumnsComponent {
18
18
  this.router.navigate(['/list'], { queryParams: { category: category, pageNo: 1 } });
19
19
  }
20
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CategoriesWithImageBackgroundColumnsComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CategoriesWithImageBackgroundColumnsComponent, isStandalone: true, selector: "simpo-categories-with-image-background-columns", inputs: { responseData: "responseData", styles: "styles", content: "content" }, ngImport: i0, template: "<div class=\"grid pb-3 mt-3\">\r\n\r\n <!-- Card 1: Winter Luxe -->\r\n <ng-container *ngFor=\"let category of responseData; let i = index\">\r\n <div class=\"card card--1 border-0\" [simpoCorner]=\"styles?.corners\" (click)=\"redirectToListPage(category)\"\r\n (mouseenter)=\"hoveredIndex = i\" (mouseleave)=\"hoveredIndex = null\">\r\n\r\n <img class=\"card__img\"\r\n [src]=\"category.imgUrl[0] ?category.imgUrl[0] : 'https://d2z9497xp8xb12.cloudfront.net/prod-images/856980c17752829234967351_- No Photos.jpg'\"\r\n [alt]=\"category.categoryName\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\"\r\n *ngIf=\"hoveredIndex !== i && content?.display?.showHeading\">{{category.categoryName}}</span>\r\n <div class=\"card__detail w-100 d-flex justify-content-start flex-column\" *ngIf=\"hoveredIndex === i\">\r\n <div class=\"card__title w-100 d-flex justify-content-start\">{{category.categoryName.length > 23 ?\r\n category.categoryName.slice(0, 23) + '...' : category.categoryName }}</div>\r\n <div class=\"card__desc w-100 d-flex justify-content-start\">{{category.description.length > 60 ?\r\n category.description.slice(0, 60) + '...' : category.description}}</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- <div class=\"card card--2\">\r\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1529139574466-a303027c1d8b?w=700&q=80\"\r\n alt=\"Bold Statements\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\">Bold Statements</span>\r\n <div class=\"card__detail\">\r\n <div class=\"card__title\">Bold Statements</div>\r\n <div class=\"card__desc\">Eye-catching pieces that demand attention</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card card--3\">\r\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1508214751196-bcfd4ca60f91?w=600&q=80\"\r\n alt=\"Alpine Layers\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\">Alpine Layers</span>\r\n <div class=\"card__detail\">\r\n <div class=\"card__title\">Alpine Layers</div>\r\n <div class=\"card__desc\">Cozy textures for mountain escapes</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card card--4\">\r\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?w=600&q=80\"\r\n alt=\"Resort Looks\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\">Resort Looks</span>\r\n <div class=\"card__detail\">\r\n <div class=\"card__title\">Resort Looks</div>\r\n <div class=\"card__desc\">Effortless style under the sun</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card card--5\">\r\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?w=600&q=80\"\r\n alt=\"Everyday Cool\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\">Everyday Cool</span>\r\n <div class=\"card__detail\">\r\n <div class=\"card__title\">Everyday Cool</div>\r\n <div class=\"card__desc\">Street-ready looks for daily life</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n</div>", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.grid{display:flex;gap:12px;align-items:stretch;width:100%;overflow-x:scroll}.card{position:relative;overflow:hidden;cursor:pointer;flex-shrink:0;width:180px;height:530px;transition:width .55s cubic-bezier(.4,0,.2,1),flex .55s cubic-bezier(.4,0,.2,1)}.card:hover{width:420px}.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .65s cubic-bezier(.4,0,.2,1)}.card:hover .card__img{transform:scale(1.05)}.card__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000 30%,#000000b8);transition:background .4s ease}.card:hover .card__overlay{background:linear-gradient(to bottom,#00000014,#000000c7)}.card__content{position:absolute;bottom:0;left:0;right:0;padding:28px 22px;display:flex;flex-direction:column;gap:8px}.card__label{font-size:17px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);align-self:flex-start;transition:opacity .35s ease,transform .45s cubic-bezier(.4,0,.2,1)}.card:hover .card__label{opacity:0;transform:rotate(180deg) translateY(10px)}.card__detail{opacity:0;transform:translateY(18px);transition:opacity .4s ease .15s,transform .45s cubic-bezier(.4,0,.2,1) .15s;pointer-events:none}.card:hover .card__detail{opacity:1;transform:translateY(0);pointer-events:auto}.card__title{font-size:26px;font-weight:700;color:#fff;line-height:1.2;white-space:nowrap}.card__desc{font-size:13.5px;font-weight:300;color:#ffffffc7;line-height:1.5;margin-top:4px;white-space:nowrap}.card__cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;font-weight:500;letter-spacing:.04em;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px;width:fit-content;transition:gap .25s ease,border-color .25s ease}.card__cta:hover{gap:14px;border-color:#fff}.card__cta .arrow{font-size:16px;transition:transform .25s ease}.card__cta:hover .arrow{transform:translate(4px)}.card--1 .card__img{filter:brightness(.95)}.card--2{width:320px}.card--2:hover{width:480px}.card--3 .card__img{filter:brightness(1.02)}@media (max-width: 900px){.grid{gap:8px}.card{width:140px;height:440px}.card:hover{width:320px}.card--2{width:240px}.card--2:hover{width:360px}.card__title{font-size:20px}}@media (max-width: 600px){.grid{flex-wrap:nowrap;overflow-x:auto;gap:8px}.card{width:110px;height:360px;flex-shrink:0}.card:hover{width:240px}.card--2{width:180px}.card--2:hover{width:280px}}\n"], dependencies: [{ kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CategoriesWithImageBackgroundColumnsComponent, isStandalone: true, selector: "simpo-categories-with-image-background-columns", inputs: { responseData: "responseData", styles: "styles", content: "content" }, ngImport: i0, template: "<div class=\"grid pb-3 mt-3\">\n\n <!-- Card 1: Winter Luxe -->\n <ng-container *ngFor=\"let category of responseData; let i = index\">\n <div class=\"card card--1 border-0\" [simpoCorner]=\"styles?.corners\" (click)=\"redirectToListPage(category)\"\n (mouseenter)=\"hoveredIndex = i\" (mouseleave)=\"hoveredIndex = null\">\n\n <img class=\"card__img\"\n [src]=\"category.imgUrl[0] ?category.imgUrl[0] : 'https://d2z9497xp8xb12.cloudfront.net/prod-images/856980c17752829234967351_- No Photos.jpg'\"\n [alt]=\"category.categoryName\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\"\n *ngIf=\"hoveredIndex !== i && content?.display?.showHeading\">{{category.categoryName}}</span>\n <div class=\"card__detail w-100 d-flex justify-content-start flex-column\" *ngIf=\"hoveredIndex === i\">\n <div class=\"card__title w-100 d-flex justify-content-start\">{{category.categoryName.length > 23 ?\n category.categoryName.slice(0, 23) + '...' : category.categoryName }}</div>\n <div class=\"card__desc w-100 d-flex justify-content-start\">{{category.description.length > 60 ?\n category.description.slice(0, 60) + '...' : category.description}}</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- <div class=\"card card--2\">\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1529139574466-a303027c1d8b?w=700&q=80\"\n alt=\"Bold Statements\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\">Bold Statements</span>\n <div class=\"card__detail\">\n <div class=\"card__title\">Bold Statements</div>\n <div class=\"card__desc\">Eye-catching pieces that demand attention</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div>\n\n <div class=\"card card--3\">\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1508214751196-bcfd4ca60f91?w=600&q=80\"\n alt=\"Alpine Layers\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\">Alpine Layers</span>\n <div class=\"card__detail\">\n <div class=\"card__title\">Alpine Layers</div>\n <div class=\"card__desc\">Cozy textures for mountain escapes</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div>\n\n <div class=\"card card--4\">\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?w=600&q=80\"\n alt=\"Resort Looks\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\">Resort Looks</span>\n <div class=\"card__detail\">\n <div class=\"card__title\">Resort Looks</div>\n <div class=\"card__desc\">Effortless style under the sun</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div>\n\n <div class=\"card card--5\">\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?w=600&q=80\"\n alt=\"Everyday Cool\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\">Everyday Cool</span>\n <div class=\"card__detail\">\n <div class=\"card__title\">Everyday Cool</div>\n <div class=\"card__desc\">Street-ready looks for daily life</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div> -->\n\n</div>", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.grid{display:flex;gap:12px;align-items:stretch;width:100%;overflow-x:scroll}.card{position:relative;overflow:hidden;cursor:pointer;flex-shrink:0;width:180px;height:530px;transition:width .55s cubic-bezier(.4,0,.2,1),flex .55s cubic-bezier(.4,0,.2,1)}.card:hover{width:420px}.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .65s cubic-bezier(.4,0,.2,1)}.card:hover .card__img{transform:scale(1.05)}.card__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000 30%,#000000b8);transition:background .4s ease}.card:hover .card__overlay{background:linear-gradient(to bottom,#00000014,#000000c7)}.card__content{position:absolute;bottom:0;left:0;right:0;padding:28px 22px;display:flex;flex-direction:column;gap:8px}.card__label{font-size:17px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);align-self:flex-start;transition:opacity .35s ease,transform .45s cubic-bezier(.4,0,.2,1)}.card:hover .card__label{opacity:0;transform:rotate(180deg) translateY(10px)}.card__detail{opacity:0;transform:translateY(18px);transition:opacity .4s ease .15s,transform .45s cubic-bezier(.4,0,.2,1) .15s;pointer-events:none}.card:hover .card__detail{opacity:1;transform:translateY(0);pointer-events:auto}.card__title{font-size:26px;font-weight:700;color:#fff;line-height:1.2;white-space:nowrap}.card__desc{font-size:13.5px;font-weight:300;color:#ffffffc7;line-height:1.5;margin-top:4px;white-space:nowrap}.card__cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;font-weight:500;letter-spacing:.04em;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px;width:fit-content;transition:gap .25s ease,border-color .25s ease}.card__cta:hover{gap:14px;border-color:#fff}.card__cta .arrow{font-size:16px;transition:transform .25s ease}.card__cta:hover .arrow{transform:translate(4px)}.card--1 .card__img{filter:brightness(.95)}.card--2{width:320px}.card--2:hover{width:480px}.card--3 .card__img{filter:brightness(1.02)}@media (max-width: 900px){.grid{gap:8px}.card{width:140px;height:440px}.card:hover{width:320px}.card--2{width:240px}.card--2:hover{width:360px}.card__title{font-size:20px}}@media (max-width: 600px){.grid{flex-wrap:nowrap;overflow-x:auto;gap:8px}.card{width:110px;height:360px;flex-shrink:0}.card:hover{width:240px}.card--2{width:180px}.card--2:hover{width:280px}}\n"], dependencies: [{ kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
22
22
  }
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CategoriesWithImageBackgroundColumnsComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{ selector: 'simpo-categories-with-image-background-columns', standalone: true, imports: [
26
26
  CornerDirective,
27
27
  CommonModule
28
- ], template: "<div class=\"grid pb-3 mt-3\">\r\n\r\n <!-- Card 1: Winter Luxe -->\r\n <ng-container *ngFor=\"let category of responseData; let i = index\">\r\n <div class=\"card card--1 border-0\" [simpoCorner]=\"styles?.corners\" (click)=\"redirectToListPage(category)\"\r\n (mouseenter)=\"hoveredIndex = i\" (mouseleave)=\"hoveredIndex = null\">\r\n\r\n <img class=\"card__img\"\r\n [src]=\"category.imgUrl[0] ?category.imgUrl[0] : 'https://d2z9497xp8xb12.cloudfront.net/prod-images/856980c17752829234967351_- No Photos.jpg'\"\r\n [alt]=\"category.categoryName\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\"\r\n *ngIf=\"hoveredIndex !== i && content?.display?.showHeading\">{{category.categoryName}}</span>\r\n <div class=\"card__detail w-100 d-flex justify-content-start flex-column\" *ngIf=\"hoveredIndex === i\">\r\n <div class=\"card__title w-100 d-flex justify-content-start\">{{category.categoryName.length > 23 ?\r\n category.categoryName.slice(0, 23) + '...' : category.categoryName }}</div>\r\n <div class=\"card__desc w-100 d-flex justify-content-start\">{{category.description.length > 60 ?\r\n category.description.slice(0, 60) + '...' : category.description}}</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- <div class=\"card card--2\">\r\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1529139574466-a303027c1d8b?w=700&q=80\"\r\n alt=\"Bold Statements\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\">Bold Statements</span>\r\n <div class=\"card__detail\">\r\n <div class=\"card__title\">Bold Statements</div>\r\n <div class=\"card__desc\">Eye-catching pieces that demand attention</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card card--3\">\r\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1508214751196-bcfd4ca60f91?w=600&q=80\"\r\n alt=\"Alpine Layers\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\">Alpine Layers</span>\r\n <div class=\"card__detail\">\r\n <div class=\"card__title\">Alpine Layers</div>\r\n <div class=\"card__desc\">Cozy textures for mountain escapes</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card card--4\">\r\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?w=600&q=80\"\r\n alt=\"Resort Looks\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\">Resort Looks</span>\r\n <div class=\"card__detail\">\r\n <div class=\"card__title\">Resort Looks</div>\r\n <div class=\"card__desc\">Effortless style under the sun</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card card--5\">\r\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?w=600&q=80\"\r\n alt=\"Everyday Cool\" />\r\n <div class=\"card__overlay\"></div>\r\n <div class=\"card__content\">\r\n <span class=\"card__label\">Everyday Cool</span>\r\n <div class=\"card__detail\">\r\n <div class=\"card__title\">Everyday Cool</div>\r\n <div class=\"card__desc\">Street-ready looks for daily life</div>\r\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n</div>", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.grid{display:flex;gap:12px;align-items:stretch;width:100%;overflow-x:scroll}.card{position:relative;overflow:hidden;cursor:pointer;flex-shrink:0;width:180px;height:530px;transition:width .55s cubic-bezier(.4,0,.2,1),flex .55s cubic-bezier(.4,0,.2,1)}.card:hover{width:420px}.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .65s cubic-bezier(.4,0,.2,1)}.card:hover .card__img{transform:scale(1.05)}.card__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000 30%,#000000b8);transition:background .4s ease}.card:hover .card__overlay{background:linear-gradient(to bottom,#00000014,#000000c7)}.card__content{position:absolute;bottom:0;left:0;right:0;padding:28px 22px;display:flex;flex-direction:column;gap:8px}.card__label{font-size:17px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);align-self:flex-start;transition:opacity .35s ease,transform .45s cubic-bezier(.4,0,.2,1)}.card:hover .card__label{opacity:0;transform:rotate(180deg) translateY(10px)}.card__detail{opacity:0;transform:translateY(18px);transition:opacity .4s ease .15s,transform .45s cubic-bezier(.4,0,.2,1) .15s;pointer-events:none}.card:hover .card__detail{opacity:1;transform:translateY(0);pointer-events:auto}.card__title{font-size:26px;font-weight:700;color:#fff;line-height:1.2;white-space:nowrap}.card__desc{font-size:13.5px;font-weight:300;color:#ffffffc7;line-height:1.5;margin-top:4px;white-space:nowrap}.card__cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;font-weight:500;letter-spacing:.04em;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px;width:fit-content;transition:gap .25s ease,border-color .25s ease}.card__cta:hover{gap:14px;border-color:#fff}.card__cta .arrow{font-size:16px;transition:transform .25s ease}.card__cta:hover .arrow{transform:translate(4px)}.card--1 .card__img{filter:brightness(.95)}.card--2{width:320px}.card--2:hover{width:480px}.card--3 .card__img{filter:brightness(1.02)}@media (max-width: 900px){.grid{gap:8px}.card{width:140px;height:440px}.card:hover{width:320px}.card--2{width:240px}.card--2:hover{width:360px}.card__title{font-size:20px}}@media (max-width: 600px){.grid{flex-wrap:nowrap;overflow-x:auto;gap:8px}.card{width:110px;height:360px;flex-shrink:0}.card:hover{width:240px}.card--2{width:180px}.card--2:hover{width:280px}}\n"] }]
28
+ ], template: "<div class=\"grid pb-3 mt-3\">\n\n <!-- Card 1: Winter Luxe -->\n <ng-container *ngFor=\"let category of responseData; let i = index\">\n <div class=\"card card--1 border-0\" [simpoCorner]=\"styles?.corners\" (click)=\"redirectToListPage(category)\"\n (mouseenter)=\"hoveredIndex = i\" (mouseleave)=\"hoveredIndex = null\">\n\n <img class=\"card__img\"\n [src]=\"category.imgUrl[0] ?category.imgUrl[0] : 'https://d2z9497xp8xb12.cloudfront.net/prod-images/856980c17752829234967351_- No Photos.jpg'\"\n [alt]=\"category.categoryName\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\"\n *ngIf=\"hoveredIndex !== i && content?.display?.showHeading\">{{category.categoryName}}</span>\n <div class=\"card__detail w-100 d-flex justify-content-start flex-column\" *ngIf=\"hoveredIndex === i\">\n <div class=\"card__title w-100 d-flex justify-content-start\">{{category.categoryName.length > 23 ?\n category.categoryName.slice(0, 23) + '...' : category.categoryName }}</div>\n <div class=\"card__desc w-100 d-flex justify-content-start\">{{category.description.length > 60 ?\n category.description.slice(0, 60) + '...' : category.description}}</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- <div class=\"card card--2\">\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1529139574466-a303027c1d8b?w=700&q=80\"\n alt=\"Bold Statements\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\">Bold Statements</span>\n <div class=\"card__detail\">\n <div class=\"card__title\">Bold Statements</div>\n <div class=\"card__desc\">Eye-catching pieces that demand attention</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div>\n\n <div class=\"card card--3\">\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1508214751196-bcfd4ca60f91?w=600&q=80\"\n alt=\"Alpine Layers\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\">Alpine Layers</span>\n <div class=\"card__detail\">\n <div class=\"card__title\">Alpine Layers</div>\n <div class=\"card__desc\">Cozy textures for mountain escapes</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div>\n\n <div class=\"card card--4\">\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?w=600&q=80\"\n alt=\"Resort Looks\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\">Resort Looks</span>\n <div class=\"card__detail\">\n <div class=\"card__title\">Resort Looks</div>\n <div class=\"card__desc\">Effortless style under the sun</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div>\n\n <div class=\"card card--5\">\n <img class=\"card__img\" src=\"https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?w=600&q=80\"\n alt=\"Everyday Cool\" />\n <div class=\"card__overlay\"></div>\n <div class=\"card__content\">\n <span class=\"card__label\">Everyday Cool</span>\n <div class=\"card__detail\">\n <div class=\"card__title\">Everyday Cool</div>\n <div class=\"card__desc\">Street-ready looks for daily life</div>\n <a href=\"#\" class=\"card__cta\">Shop Now <span class=\"arrow\">\u2192</span></a>\n </div>\n </div>\n </div> -->\n\n</div>", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.grid{display:flex;gap:12px;align-items:stretch;width:100%;overflow-x:scroll}.card{position:relative;overflow:hidden;cursor:pointer;flex-shrink:0;width:180px;height:530px;transition:width .55s cubic-bezier(.4,0,.2,1),flex .55s cubic-bezier(.4,0,.2,1)}.card:hover{width:420px}.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .65s cubic-bezier(.4,0,.2,1)}.card:hover .card__img{transform:scale(1.05)}.card__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000 30%,#000000b8);transition:background .4s ease}.card:hover .card__overlay{background:linear-gradient(to bottom,#00000014,#000000c7)}.card__content{position:absolute;bottom:0;left:0;right:0;padding:28px 22px;display:flex;flex-direction:column;gap:8px}.card__label{font-size:17px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);align-self:flex-start;transition:opacity .35s ease,transform .45s cubic-bezier(.4,0,.2,1)}.card:hover .card__label{opacity:0;transform:rotate(180deg) translateY(10px)}.card__detail{opacity:0;transform:translateY(18px);transition:opacity .4s ease .15s,transform .45s cubic-bezier(.4,0,.2,1) .15s;pointer-events:none}.card:hover .card__detail{opacity:1;transform:translateY(0);pointer-events:auto}.card__title{font-size:26px;font-weight:700;color:#fff;line-height:1.2;white-space:nowrap}.card__desc{font-size:13.5px;font-weight:300;color:#ffffffc7;line-height:1.5;margin-top:4px;white-space:nowrap}.card__cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;font-weight:500;letter-spacing:.04em;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px;width:fit-content;transition:gap .25s ease,border-color .25s ease}.card__cta:hover{gap:14px;border-color:#fff}.card__cta .arrow{font-size:16px;transition:transform .25s ease}.card__cta:hover .arrow{transform:translate(4px)}.card--1 .card__img{filter:brightness(.95)}.card--2{width:320px}.card--2:hover{width:480px}.card--3 .card__img{filter:brightness(1.02)}@media (max-width: 900px){.grid{gap:8px}.card{width:140px;height:440px}.card:hover{width:320px}.card--2{width:240px}.card--2:hover{width:360px}.card__title{font-size:20px}}@media (max-width: 600px){.grid{flex-wrap:nowrap;overflow-x:auto;gap:8px}.card{width:110px;height:360px;flex-shrink:0}.card:hover{width:240px}.card--2{width:180px}.card--2:hover{width:280px}}\n"] }]
29
29
  }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { responseData: [{
30
30
  type: Input
31
31
  }], styles: [{
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
33
33
  }], content: [{
34
34
  type: Input
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy13aXRoLWltYWdlLWJhY2tncm91bmQtY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9jYXRlZ29yaWVzLXdpdGgtaW1hZ2UtYmFja2dyb3VuZC1jb2x1bW5zL2NhdGVnb3JpZXMtd2l0aC1pbWFnZS1iYWNrZ3JvdW5kLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2F0ZWdvcmllcy13aXRoLWltYWdlLWJhY2tncm91bmQtY29sdW1ucy9jYXRlZ29yaWVzLXdpdGgtaW1hZ2UtYmFja2dyb3VuZC1jb2x1bW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFhdEUsTUFBTSxPQUFPLDZDQUE2QztJQUl4RCxZQUNtQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU1qQyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQWtCLElBQUksQ0FBQztJQUxuQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLGtDQUFrQztJQUNwQyxDQUFDO0lBR0Qsa0JBQWtCLENBQUMsUUFBYTtRQUM5QiwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDOytHQWhCVSw2Q0FBNkM7bUdBQTdDLDZDQUE2QywwTENqQjFELDIzSUFpRk0sd21GRHRFRixlQUFlLGtGQUNmLFlBQVk7OzRGQUtILDZDQUE2QztrQkFWekQsU0FBUzsrQkFDRSxnREFBZ0QsY0FDOUMsSUFBSSxXQUNQO3dCQUNQLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjsyRUFLUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnLi4vLi4vc3R5bGVzL2NhdGVnb3J5Lm1vZGFsJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRmVhdHVyZWRDYXRlZ29yeUNvbnRlbnRNb2RhbCwgRmVhdHVyZWRDYXRlZ29yeVN0eWxlc01vZGVsIH0gZnJvbSAnLi4vZmVhdHVyZWQtY2F0ZWdvcnkvZmVhdHVyZWQtY2F0ZWdvcnkubW9kYWwnO1xyXG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWNhdGVnb3JpZXMtd2l0aC1pbWFnZS1iYWNrZ3JvdW5kLWNvbHVtbnMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29ybmVyRGlyZWN0aXZlLFxyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2F0ZWdvcmllcy13aXRoLWltYWdlLWJhY2tncm91bmQtY29sdW1ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NhdGVnb3JpZXMtd2l0aC1pbWFnZS1iYWNrZ3JvdW5kLWNvbHVtbnMuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENhdGVnb3JpZXNXaXRoSW1hZ2VCYWNrZ3JvdW5kQ29sdW1uc0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcmVzcG9uc2VEYXRhPzogQ2F0ZWdvcnlbXTtcclxuICBASW5wdXQoKSBzdHlsZXM/OiBGZWF0dXJlZENhdGVnb3J5U3R5bGVzTW9kZWw7XHJcbiAgQElucHV0KCkgY29udGVudD86IEZlYXR1cmVkQ2F0ZWdvcnlDb250ZW50TW9kYWw7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICkge1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucmVzcG9uc2VEYXRhKTtcclxuICB9XHJcbiAgaG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBob3ZlcmVkSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHJlZGlyZWN0VG9MaXN0UGFnZShjYXRlZ29yeTogYW55KSB7XHJcbiAgICAvLyBjYXRlZ29yeSA9IGNhdGVnb3J5LmNhdGVnb3J5TmFtZT8ucmVwbGFjZUFsbChcIiBcIiwgXCJfXCIpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbGlzdCddLCB7IHF1ZXJ5UGFyYW1zOiB7IGNhdGVnb3J5OiBjYXRlZ29yeSwgcGFnZU5vOiAxIH0gfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJncmlkIHBiLTMgbXQtM1wiPlxyXG5cclxuICAgIDwhLS0gQ2FyZCAxOiBXaW50ZXIgTHV4ZSAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIHJlc3BvbnNlRGF0YTsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtLTEgYm9yZGVyLTBcIiBbc2ltcG9Db3JuZXJdPVwic3R5bGVzPy5jb3JuZXJzXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9MaXN0UGFnZShjYXRlZ29yeSlcIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlcmVkSW5kZXggPSBpXCIgKG1vdXNlbGVhdmUpPVwiaG92ZXJlZEluZGV4ID0gbnVsbFwiPlxyXG5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImNhcmRfX2ltZ1wiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImNhdGVnb3J5LmltZ1VybFswXSA/Y2F0ZWdvcnkuaW1nVXJsWzBdIDogJ2h0dHBzOi8vZDJ6OTQ5N3hwOHhiMTIuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvODU2OTgwYzE3NzUyODI5MjM0OTY3MzUxXy0gTm8gUGhvdG9zLmpwZydcIlxyXG4gICAgICAgICAgICAgICAgW2FsdF09XCJjYXRlZ29yeS5jYXRlZ29yeU5hbWVcIiAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkX19sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJob3ZlcmVkSW5kZXggIT09IGkgJiYgY29udGVudD8uZGlzcGxheT8uc2hvd0hlYWRpbmdcIj57e2NhdGVnb3J5LmNhdGVnb3J5TmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2RldGFpbCB3LTEwMCBkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGZsZXgtY29sdW1uXCIgKm5nSWY9XCJob3ZlcmVkSW5kZXggPT09IGlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fdGl0bGUgdy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydFwiPnt7Y2F0ZWdvcnkuY2F0ZWdvcnlOYW1lLmxlbmd0aCA+IDIzID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnkuY2F0ZWdvcnlOYW1lLnNsaWNlKDAsIDIzKSArICcuLi4nIDogY2F0ZWdvcnkuY2F0ZWdvcnlOYW1lIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2Rlc2Mgdy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydFwiPnt7Y2F0ZWdvcnkuZGVzY3JpcHRpb24ubGVuZ3RoID4gNjAgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeS5kZXNjcmlwdGlvbi5zbGljZSgwLCA2MCkgKyAnLi4uJyA6IGNhdGVnb3J5LmRlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiY2FyZF9fY3RhXCI+U2hvcCBOb3cgPHNwYW4gY2xhc3M9XCJhcnJvd1wiPuKGkjwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtLTJcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwiY2FyZF9faW1nXCIgc3JjPVwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1MjkxMzk1NzQ0NjYtYTMwMzAyN2MxZDhiP3c9NzAwJnE9ODBcIlxyXG4gICAgICAgICAgICBhbHQ9XCJCb2xkIFN0YXRlbWVudHNcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkX19sYWJlbFwiPkJvbGQgU3RhdGVtZW50czwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2RldGFpbFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX3RpdGxlXCI+Qm9sZCBTdGF0ZW1lbnRzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fZGVzY1wiPkV5ZS1jYXRjaGluZyBwaWVjZXMgdGhhdCBkZW1hbmQgYXR0ZW50aW9uPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiY2FyZF9fY3RhXCI+U2hvcCBOb3cgPHNwYW4gY2xhc3M9XCJhcnJvd1wiPuKGkjwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC0tM1wiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJjYXJkX19pbWdcIiBzcmM9XCJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUwODIxNDc1MTE5Ni1iY2ZkNGNhNjBmOTE/dz02MDAmcT04MFwiXHJcbiAgICAgICAgICAgIGFsdD1cIkFscGluZSBMYXllcnNcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkX19sYWJlbFwiPkFscGluZSBMYXllcnM8L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19kZXRhaWxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX190aXRsZVwiPkFscGluZSBMYXllcnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19kZXNjXCI+Q296eSB0ZXh0dXJlcyBmb3IgbW91bnRhaW4gZXNjYXBlczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImNhcmRfX2N0YVwiPlNob3AgTm93IDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtLTRcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwiY2FyZF9faW1nXCIgc3JjPVwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1MTU4ODY2NTc2MTMtOWYzNTE1YjBjNzhmP3c9NjAwJnE9ODBcIlxyXG4gICAgICAgICAgICBhbHQ9XCJSZXNvcnQgTG9va3NcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkX19sYWJlbFwiPlJlc29ydCBMb29rczwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2RldGFpbFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX3RpdGxlXCI+UmVzb3J0IExvb2tzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fZGVzY1wiPkVmZm9ydGxlc3Mgc3R5bGUgdW5kZXIgdGhlIHN1bjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImNhcmRfX2N0YVwiPlNob3AgTm93IDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtLTVcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwiY2FyZF9faW1nXCIgc3JjPVwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1MTkwODUzNjA3NTMtYWYwMTE5ZjdjYmU3P3c9NjAwJnE9ODBcIlxyXG4gICAgICAgICAgICBhbHQ9XCJFdmVyeWRheSBDb29sXCIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZF9fbGFiZWxcIj5FdmVyeWRheSBDb29sPC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fZGV0YWlsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fdGl0bGVcIj5FdmVyeWRheSBDb29sPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fZGVzY1wiPlN0cmVldC1yZWFkeSBsb29rcyBmb3IgZGFpbHkgbGlmZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImNhcmRfX2N0YVwiPlNob3AgTm93IDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PiAtLT5cclxuXHJcbjwvZGl2PiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy13aXRoLWltYWdlLWJhY2tncm91bmQtY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9jYXRlZ29yaWVzLXdpdGgtaW1hZ2UtYmFja2dyb3VuZC1jb2x1bW5zL2NhdGVnb3JpZXMtd2l0aC1pbWFnZS1iYWNrZ3JvdW5kLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY2F0ZWdvcmllcy13aXRoLWltYWdlLWJhY2tncm91bmQtY29sdW1ucy9jYXRlZ29yaWVzLXdpdGgtaW1hZ2UtYmFja2dyb3VuZC1jb2x1bW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFhdEUsTUFBTSxPQUFPLDZDQUE2QztJQUl4RCxZQUNtQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU1qQyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQWtCLElBQUksQ0FBQztJQUxuQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLGtDQUFrQztJQUNwQyxDQUFDO0lBR0Qsa0JBQWtCLENBQUMsUUFBYTtRQUM5QiwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDOytHQWhCVSw2Q0FBNkM7bUdBQTdDLDZDQUE2QywwTENqQjFELHl0SUFpRk0sd21GRHRFRixlQUFlLGtGQUNmLFlBQVk7OzRGQUtILDZDQUE2QztrQkFWekQsU0FBUzsrQkFDRSxnREFBZ0QsY0FDOUMsSUFBSSxXQUNQO3dCQUNQLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjsyRUFLUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4uLy4uL3N0eWxlcy9jYXRlZ29yeS5tb2RhbCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRmVhdHVyZWRDYXRlZ29yeUNvbnRlbnRNb2RhbCwgRmVhdHVyZWRDYXRlZ29yeVN0eWxlc01vZGVsIH0gZnJvbSAnLi4vZmVhdHVyZWQtY2F0ZWdvcnkvZmVhdHVyZWQtY2F0ZWdvcnkubW9kYWwnO1xuaW1wb3J0IHsgQ29ybmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2Nvcm5lci1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltcG8tY2F0ZWdvcmllcy13aXRoLWltYWdlLWJhY2tncm91bmQtY29sdW1ucycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb3JuZXJEaXJlY3RpdmUsXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yaWVzLXdpdGgtaW1hZ2UtYmFja2dyb3VuZC1jb2x1bW5zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhdGVnb3JpZXMtd2l0aC1pbWFnZS1iYWNrZ3JvdW5kLWNvbHVtbnMuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcmllc1dpdGhJbWFnZUJhY2tncm91bmRDb2x1bW5zQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVzcG9uc2VEYXRhPzogQ2F0ZWdvcnlbXTtcbiAgQElucHV0KCkgc3R5bGVzPzogRmVhdHVyZWRDYXRlZ29yeVN0eWxlc01vZGVsO1xuICBASW5wdXQoKSBjb250ZW50PzogRmVhdHVyZWRDYXRlZ29yeUNvbnRlbnRNb2RhbDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgKSB7XG4gIH1cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5yZXNwb25zZURhdGEpO1xuICB9XG4gIGhvdmVyOiBib29sZWFuID0gZmFsc2U7XG4gIGhvdmVyZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHJlZGlyZWN0VG9MaXN0UGFnZShjYXRlZ29yeTogYW55KSB7XG4gICAgLy8gY2F0ZWdvcnkgPSBjYXRlZ29yeS5jYXRlZ29yeU5hbWU/LnJlcGxhY2VBbGwoXCIgXCIsIFwiX1wiKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9saXN0J10sIHsgcXVlcnlQYXJhbXM6IHsgY2F0ZWdvcnk6IGNhdGVnb3J5LCBwYWdlTm86IDEgfSB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQgcGItMyBtdC0zXCI+XG5cbiAgICA8IS0tIENhcmQgMTogV2ludGVyIEx1eGUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgcmVzcG9uc2VEYXRhOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtLTEgYm9yZGVyLTBcIiBbc2ltcG9Db3JuZXJdPVwic3R5bGVzPy5jb3JuZXJzXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9MaXN0UGFnZShjYXRlZ29yeSlcIlxuICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZEluZGV4ID0gaVwiIChtb3VzZWxlYXZlKT1cImhvdmVyZWRJbmRleCA9IG51bGxcIj5cblxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImNhcmRfX2ltZ1wiXG4gICAgICAgICAgICAgICAgW3NyY109XCJjYXRlZ29yeS5pbWdVcmxbMF0gP2NhdGVnb3J5LmltZ1VybFswXSA6ICdodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzg1Njk4MGMxNzc1MjgyOTIzNDk2NzM1MV8tIE5vIFBob3Rvcy5qcGcnXCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGVnb3J5LmNhdGVnb3J5TmFtZVwiIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fb3ZlcmxheVwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmRfX2xhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJob3ZlcmVkSW5kZXggIT09IGkgJiYgY29udGVudD8uZGlzcGxheT8uc2hvd0hlYWRpbmdcIj57e2NhdGVnb3J5LmNhdGVnb3J5TmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19kZXRhaWwgdy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBmbGV4LWNvbHVtblwiICpuZ0lmPVwiaG92ZXJlZEluZGV4ID09PSBpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX190aXRsZSB3LTEwMCBkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0XCI+e3tjYXRlZ29yeS5jYXRlZ29yeU5hbWUubGVuZ3RoID4gMjMgP1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnkuY2F0ZWdvcnlOYW1lLnNsaWNlKDAsIDIzKSArICcuLi4nIDogY2F0ZWdvcnkuY2F0ZWdvcnlOYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19kZXNjIHctMTAwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIj57e2NhdGVnb3J5LmRlc2NyaXB0aW9uLmxlbmd0aCA+IDYwID9cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5LmRlc2NyaXB0aW9uLnNsaWNlKDAsIDYwKSArICcuLi4nIDogY2F0ZWdvcnkuZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiY2FyZF9fY3RhXCI+U2hvcCBOb3cgPHNwYW4gY2xhc3M9XCJhcnJvd1wiPuKGkjwvc3Bhbj48L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtLTJcIj5cbiAgICAgICAgPGltZyBjbGFzcz1cImNhcmRfX2ltZ1wiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTI5MTM5NTc0NDY2LWEzMDMwMjdjMWQ4Yj93PTcwMCZxPTgwXCJcbiAgICAgICAgICAgIGFsdD1cIkJvbGQgU3RhdGVtZW50c1wiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19vdmVybGF5XCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmRfX2xhYmVsXCI+Qm9sZCBTdGF0ZW1lbnRzPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2RldGFpbFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX190aXRsZVwiPkJvbGQgU3RhdGVtZW50czwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19kZXNjXCI+RXllLWNhdGNoaW5nIHBpZWNlcyB0aGF0IGRlbWFuZCBhdHRlbnRpb248L2Rpdj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiY2FyZF9fY3RhXCI+U2hvcCBOb3cgPHNwYW4gY2xhc3M9XCJhcnJvd1wiPuKGkjwvc3Bhbj48L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLS0zXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJjYXJkX19pbWdcIiBzcmM9XCJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUwODIxNDc1MTE5Ni1iY2ZkNGNhNjBmOTE/dz02MDAmcT04MFwiXG4gICAgICAgICAgICBhbHQ9XCJBbHBpbmUgTGF5ZXJzXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX292ZXJsYXlcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZF9fbGFiZWxcIj5BbHBpbmUgTGF5ZXJzPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2RldGFpbFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX190aXRsZVwiPkFscGluZSBMYXllcnM8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fZGVzY1wiPkNvenkgdGV4dHVyZXMgZm9yIG1vdW50YWluIGVzY2FwZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiY2FyZF9fY3RhXCI+U2hvcCBOb3cgPHNwYW4gY2xhc3M9XCJhcnJvd1wiPuKGkjwvc3Bhbj48L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLS00XCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJjYXJkX19pbWdcIiBzcmM9XCJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUxNTg4NjY1NzYxMy05ZjM1MTViMGM3OGY/dz02MDAmcT04MFwiXG4gICAgICAgICAgICBhbHQ9XCJSZXNvcnQgTG9va3NcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fb3ZlcmxheVwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkX19sYWJlbFwiPlJlc29ydCBMb29rczwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19kZXRhaWxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fdGl0bGVcIj5SZXNvcnQgTG9va3M8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fZGVzY1wiPkVmZm9ydGxlc3Mgc3R5bGUgdW5kZXIgdGhlIHN1bjwvZGl2PlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJjYXJkX19jdGFcIj5TaG9wIE5vdyA8c3BhbiBjbGFzcz1cImFycm93XCI+4oaSPC9zcGFuPjwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtLTVcIj5cbiAgICAgICAgPGltZyBjbGFzcz1cImNhcmRfX2ltZ1wiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTE5MDg1MzYwNzUzLWFmMDExOWY3Y2JlNz93PTYwMCZxPTgwXCJcbiAgICAgICAgICAgIGFsdD1cIkV2ZXJ5ZGF5IENvb2xcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fb3ZlcmxheVwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkX19sYWJlbFwiPkV2ZXJ5ZGF5IENvb2w8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fZGV0YWlsXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX3RpdGxlXCI+RXZlcnlkYXkgQ29vbDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19kZXNjXCI+U3RyZWV0LXJlYWR5IGxvb2tzIGZvciBkYWlseSBsaWZlPC9kaXY+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImNhcmRfX2N0YVwiPlNob3AgTm93IDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+PC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PiAtLT5cblxuPC9kaXY+Il19