simpo-component-library 3.6.843 → 3.6.845

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 (185) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/components/delete-hover-element/delete-hover-element.component.mjs +3 -3
  3. package/esm2022/lib/components/document/document.component.mjs +3 -3
  4. package/esm2022/lib/components/hover-elements/hover-elements.component.mjs +6 -17
  5. package/esm2022/lib/components/image-loading/image-loading.component.mjs +3 -3
  6. package/esm2022/lib/components/payment-details/payment-details.component.mjs +3 -3
  7. package/esm2022/lib/constants/business.constant.mjs +1 -1
  8. package/esm2022/lib/directive/alignment.directive.mjs +1 -1
  9. package/esm2022/lib/directive/background-directive.mjs +101 -136
  10. package/esm2022/lib/directive/blur-content.directive.mjs +1 -1
  11. package/esm2022/lib/directive/borderlessImage.directive.mjs +1 -1
  12. package/esm2022/lib/directive/button-editor.directive.mjs +1 -1
  13. package/esm2022/lib/directive/color.directive.mjs +1 -1
  14. package/esm2022/lib/directive/column-directive.directive.mjs +1 -1
  15. package/esm2022/lib/directive/container-alignment.directive.mjs +1 -1
  16. package/esm2022/lib/directive/container-fir.directive.mjs +1 -1
  17. package/esm2022/lib/directive/content-title-spacing.directive.mjs +1 -1
  18. package/esm2022/lib/directive/contenteditable.directive.mjs +83 -0
  19. package/esm2022/lib/directive/corner-directive.mjs +1 -1
  20. package/esm2022/lib/directive/height.directive.mjs +1 -1
  21. package/esm2022/lib/directive/hover-animation.directive.mjs +1 -1
  22. package/esm2022/lib/directive/hoverborder.directive.mjs +1 -1
  23. package/esm2022/lib/directive/icon-directive.directive.mjs +1 -1
  24. package/esm2022/lib/directive/image-container.directive.mjs +1 -1
  25. package/esm2022/lib/directive/letters-only.directive.mjs +1 -1
  26. package/esm2022/lib/directive/numbers-only.directive.mjs +1 -1
  27. package/esm2022/lib/directive/position-layout-directive.directive.mjs +1 -1
  28. package/esm2022/lib/directive/set-dynamic-background.directive.mjs +1 -1
  29. package/esm2022/lib/directive/spacing-horizontal.directive.mjs +1 -1
  30. package/esm2022/lib/directive/spacing.directive.mjs +1 -1
  31. package/esm2022/lib/directive/text-background-directive.directive.mjs +1 -1
  32. package/esm2022/lib/directive/text-size.directive.mjs +1 -1
  33. package/esm2022/lib/directive/translate-onhover.directive.mjs +1 -1
  34. package/esm2022/lib/directive/wrap-containers.directive.mjs +1 -1
  35. package/esm2022/lib/ecommerce/sections/address/address.component.mjs +1 -1
  36. package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +3 -3
  37. package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.component.mjs +6 -3
  38. package/esm2022/lib/ecommerce/sections/book-appointment/book-appointment.component.mjs +6 -6
  39. package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +4 -1
  40. package/esm2022/lib/ecommerce/sections/checkout/checkout.component.mjs +3 -3
  41. package/esm2022/lib/ecommerce/sections/checkout/checkout.modal.mjs +1 -1
  42. package/esm2022/lib/ecommerce/sections/customer-review/customer-review.component.mjs +3 -3
  43. package/esm2022/lib/ecommerce/sections/customer-review/customer-review.model.mjs +1 -1
  44. package/esm2022/lib/ecommerce/sections/enrollment-form/enrollment-form.component.mjs +3 -3
  45. package/esm2022/lib/ecommerce/sections/enrollment-form/enrollment-form.model.mjs +1 -1
  46. package/esm2022/lib/ecommerce/sections/item-varient/item-varient.component.mjs +3 -3
  47. package/esm2022/lib/ecommerce/sections/new-collection/new-collection.component.mjs +3 -3
  48. package/esm2022/lib/ecommerce/sections/new-collection/new-collection.modal.mjs +1 -1
  49. package/esm2022/lib/ecommerce/sections/pagnination/pagnination.component.mjs +3 -3
  50. package/esm2022/lib/ecommerce/sections/passbook-transactions/passbook-transactions.component.mjs +3 -3
  51. package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.component.mjs +3 -3
  52. package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.model.mjs +1 -1
  53. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +4 -3
  54. package/esm2022/lib/ecommerce/sections/product-list/product-list.modal.mjs +1 -1
  55. package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.component.mjs +3 -3
  56. package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.model.mjs +1 -1
  57. package/esm2022/lib/ecommerce/sections/scheme-details/scheme-details.component.mjs +3 -3
  58. package/esm2022/lib/ecommerce/sections/scheme-selection/scheme-selection.component.mjs +3 -3
  59. package/esm2022/lib/ecommerce/sections/schemes/schemes.component.mjs +3 -3
  60. package/esm2022/lib/ecommerce/sections/schemes/schemes.component.model.mjs +1 -1
  61. package/esm2022/lib/ecommerce/sections/store-list/store-list.component.mjs +3 -3
  62. package/esm2022/lib/ecommerce/sections/store-list/store-list.modal.mjs +1 -1
  63. package/esm2022/lib/ecommerce/sections/store-page/store-page.component.mjs +3 -3
  64. package/esm2022/lib/ecommerce/sections/store-page/store-page.model.mjs +1 -1
  65. package/esm2022/lib/ecommerce/sections/user-basic-info/user-basic-info.component.mjs +3 -3
  66. package/esm2022/lib/ecommerce/sections/user-profile/user-profile.modal.mjs +1 -1
  67. package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +3 -3
  68. package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.model.mjs +1 -1
  69. package/esm2022/lib/ecommerce/styles/BaseCollection.modal.mjs +1 -1
  70. package/esm2022/lib/ecommerce/styles/Collection.modal.mjs +1 -1
  71. package/esm2022/lib/ecommerce/styles/PincodeLocation.model.mjs +1 -1
  72. package/esm2022/lib/ecommerce/styles/PincodeLocationInter.model.mjs +1 -1
  73. package/esm2022/lib/ecommerce/styles/cart.modal.mjs +1 -1
  74. package/esm2022/lib/ecommerce/styles/category.modal.mjs +1 -1
  75. package/esm2022/lib/ecommerce/styles/order.modal.mjs +1 -1
  76. package/esm2022/lib/ecommerce/styles/review.modal.mjs +1 -1
  77. package/esm2022/lib/ecommerce/styles/user.modal.mjs +1 -1
  78. package/esm2022/lib/elements/address-list/address-list.component.mjs +3 -3
  79. package/esm2022/lib/elements/button/button.component.mjs +3 -3
  80. package/esm2022/lib/elements/button/button.model.mjs +1 -1
  81. package/esm2022/lib/elements/card-skeleton-loader/card-skeleton-loader.component.mjs +3 -3
  82. package/esm2022/lib/elements/editor-service.service.mjs +1 -1
  83. package/esm2022/lib/elements/heading-element/heading-element.component.mjs +3 -3
  84. package/esm2022/lib/elements/index.mjs +1 -1
  85. package/esm2022/lib/elements/list-home-appointment/list-home-appointment.component.mjs +3 -3
  86. package/esm2022/lib/elements/media-selector/media-selector.component.mjs +3 -3
  87. package/esm2022/lib/elements/portfolio/portfolio.component.mjs +3 -3
  88. package/esm2022/lib/elements/property/property.component.mjs +3 -3
  89. package/esm2022/lib/elements/svg-divider/svg-divider.component.mjs +3 -3
  90. package/esm2022/lib/elements/text/text.component.mjs +3 -3
  91. package/esm2022/lib/elements/text-editor/text-editor.component.mjs +504 -246
  92. package/esm2022/lib/pipes/amount.pipe.mjs +1 -1
  93. package/esm2022/lib/sections/add-new-section/add-new-section.component.mjs +3 -3
  94. package/esm2022/lib/sections/appointment-form/appointment-form.component.mjs +3 -3
  95. package/esm2022/lib/sections/appointment-form/appointment-form.model.mjs +1 -1
  96. package/esm2022/lib/sections/banner-carousel/banner-carousel.model.mjs +1 -1
  97. package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +3 -3
  98. package/esm2022/lib/sections/blog-list/blog-list.component.mjs +1 -1
  99. package/esm2022/lib/sections/blog-list/blog-list.model.mjs +1 -1
  100. package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +1 -1
  101. package/esm2022/lib/sections/choose-us-section/choose-us-section.model.mjs +1 -1
  102. package/esm2022/lib/sections/faq-section/faq-section.component.mjs +3 -3
  103. package/esm2022/lib/sections/faq-section/faq-section.modal.mjs +1 -1
  104. package/esm2022/lib/sections/features-section/features-section.model.mjs +1 -1
  105. package/esm2022/lib/sections/header-text/header-text.model.mjs +1 -1
  106. package/esm2022/lib/sections/image-carousel-section/image-carousel.model.mjs +1 -1
  107. package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +1 -1
  108. package/esm2022/lib/sections/image-section/image-section.component.mjs +1 -1
  109. package/esm2022/lib/sections/image-section/image-section.model.mjs +1 -1
  110. package/esm2022/lib/sections/location-section/location-section.component.mjs +3 -3
  111. package/esm2022/lib/sections/location-section/location-section.modal.mjs +1 -1
  112. package/esm2022/lib/sections/logo-showcase/logo-showcase.modal.mjs +1 -1
  113. package/esm2022/lib/sections/moving-text/moving-text.component.mjs +3 -3
  114. package/esm2022/lib/sections/moving-text/moving-text.modal.mjs +1 -1
  115. package/esm2022/lib/sections/new-services/new-services.component.mjs +3 -3
  116. package/esm2022/lib/sections/new-services/new-services.model.mjs +1 -1
  117. package/esm2022/lib/sections/new-testimonials/new-testimonials.model.mjs +1 -1
  118. package/esm2022/lib/sections/news-letter-component/news-letter-component.component.mjs +3 -3
  119. package/esm2022/lib/sections/news-letter-component/news-letter.modal.mjs +1 -1
  120. package/esm2022/lib/sections/pricing-section/pricing-section.modal.mjs +1 -1
  121. package/esm2022/lib/sections/process-modern/process-modern.component.mjs +3 -3
  122. package/esm2022/lib/sections/process-modern/process-modern.model.mjs +1 -1
  123. package/esm2022/lib/sections/process-section/process-section.component.mjs +3 -3
  124. package/esm2022/lib/sections/process-section/process-section.modal.mjs +1 -1
  125. package/esm2022/lib/sections/property-component/property-component.component.mjs +3 -3
  126. package/esm2022/lib/sections/property-component/property-component.modal.mjs +1 -1
  127. package/esm2022/lib/sections/property-list/property-list.component.mjs +3 -3
  128. package/esm2022/lib/sections/property-list/property-list.modal.mjs +1 -1
  129. package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +3 -3
  130. package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.model.mjs +1 -1
  131. package/esm2022/lib/sections/registration-form/registration-form.component.mjs +3 -3
  132. package/esm2022/lib/sections/registration-form/registrationForm.model.mjs +1 -1
  133. package/esm2022/lib/sections/scheme-detail/scheme-detail.component.mjs +3 -3
  134. package/esm2022/lib/sections/scheme-detail/scheme-detail.modal.mjs +1 -1
  135. package/esm2022/lib/sections/skeleton-loader-section/skeleton-loader-section.component.mjs +3 -3
  136. package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +3 -3
  137. package/esm2022/lib/sections/team-member-section/team-member-section.model.mjs +1 -1
  138. package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.model.mjs +1 -1
  139. package/esm2022/lib/sections/testimonial-section/testimonial-section.model.mjs +1 -1
  140. package/esm2022/lib/sections/testimonial-video/testimonial-video.component.mjs +3 -3
  141. package/esm2022/lib/sections/testimonial-video/testimonial-video.model.mjs +1 -1
  142. package/esm2022/lib/sections/text-section/text-section.model.mjs +1 -1
  143. package/esm2022/lib/sections/usp-video-section/usp-video-section.component.mjs +3 -3
  144. package/esm2022/lib/sections/usp-video-section/usp-video-section.model.mjs +1 -1
  145. package/esm2022/lib/sections/video-section/video-section.component.mjs +1 -1
  146. package/esm2022/lib/sections/video-section/video-section.model.mjs +1 -1
  147. package/esm2022/lib/sections/view-blog/view-blog.component.mjs +1 -1
  148. package/esm2022/lib/services/endUser.service.mjs +1 -1
  149. package/esm2022/lib/services/image-upload-service.service.mjs +1 -1
  150. package/esm2022/lib/services/rest.service.mjs +3 -3
  151. package/esm2022/public-api.mjs +1 -3
  152. package/fesm2022/simpo-component-library.mjs +838 -697
  153. package/fesm2022/simpo-component-library.mjs.map +1 -1
  154. package/lib/components/hover-elements/hover-elements.component.d.ts +0 -3
  155. package/lib/components/input-fields/input-fields.component.d.ts +1 -1
  156. package/lib/directive/background-directive.d.ts +11 -4
  157. package/lib/directive/contenteditable.directive.d.ts +22 -0
  158. package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +2 -1
  159. package/lib/ecommerce/sections/featured-category/featured-category.component.d.ts +1 -1
  160. package/lib/ecommerce/sections/featured-category/featured-collection.component.d.ts +1 -1
  161. package/lib/ecommerce/sections/new-collection/new-collection.component.d.ts +1 -1
  162. package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +1 -1
  163. package/lib/ecommerce/sections/schemes/schemes.component.d.ts +1 -1
  164. package/lib/elements/text-editor/text-editor.component.d.ts +49 -33
  165. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
  166. package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
  167. package/lib/sections/image-grid-hotspot/image-grid-hotspot.component.d.ts +1 -1
  168. package/lib/sections/image-grid-section/image-grid-section.component.d.ts +1 -1
  169. package/lib/sections/image-section/image-section.component.d.ts +2 -2
  170. package/lib/sections/logo-showcase/logo-showcase.component.d.ts +1 -1
  171. package/lib/sections/new-testimonials/new-testimonials.component.d.ts +1 -1
  172. package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
  173. package/package.json +1 -1
  174. package/public-api.d.ts +0 -2
  175. package/simpo-component-library-3.6.845.tgz +0 -0
  176. package/src/lib/styles/global-styles.css +1 -1
  177. package/esm2022/lib/sections/testimonial-masonry/testimonial-masonry.component.mjs +0 -110
  178. package/esm2022/lib/sections/testimonial-masonry/testimonial-masonry.model.mjs +0 -2
  179. package/esm2022/lib/styles/gradient-extension.mjs +0 -38
  180. package/esm2022/lib/styles/text-size.extension.mjs +0 -44
  181. package/lib/sections/testimonial-masonry/testimonial-masonry.component.d.ts +0 -30
  182. package/lib/sections/testimonial-masonry/testimonial-masonry.model.d.ts +0 -24
  183. package/lib/styles/gradient-extension.d.ts +0 -2
  184. package/lib/styles/text-size.extension.d.ts +0 -10
  185. package/simpo-component-library-3.6.843.tgz +0 -0
@@ -16,14 +16,14 @@ export class CardSkeletonLoaderComponent {
16
16
  this.getScreenSize();
17
17
  }
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardSkeletonLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardSkeletonLoaderComponent, isStandalone: true, selector: "simpo-card-skeleton-loader", inputs: { count: "count", showTitles: "showTitles" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, ngImport: i0, template: "<div class=\"d-flex flex-column\" style=\"margin-left: 20px;\" *ngIf=\"showTitles\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '10vw',\r\n 'border-radius': '0',\r\n height: '25px',\r\n 'margin-bottom': '20px'\r\n }\"></ngx-skeleton-loader>\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '16vw',\r\n 'border-radius': '0',\r\n height: '10px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n</div>\r\n<div class=\"skeleton-parent\">\r\n <div class=\"skeleton\" *ngFor=\"let _ of [].constructor(count)\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '25vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".skeleton-parent{display:flex;gap:15px;padding-left:20px;padding-right:20px;width:100%}.skeleton{padding:10px;border:1px solid #e5e7eb;width:24%;border-radius:10px}.wrapper{width:100%;flex:1}.second-section-wrapper{width:100%;height:auto;flex:1}@media screen and (max-width: 475px){.skeleton{width:50%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i2.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }] }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardSkeletonLoaderComponent, isStandalone: true, selector: "simpo-card-skeleton-loader", inputs: { count: "count", showTitles: "showTitles" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, ngImport: i0, template: "<div class=\"d-flex flex-column\" style=\"margin-left: 20px;\" *ngIf=\"showTitles\">\n <ngx-skeleton-loader [theme]=\"{\n width: '10vw',\n 'border-radius': '0',\n height: '25px',\n 'margin-bottom': '20px'\n }\"></ngx-skeleton-loader>\n <ngx-skeleton-loader [theme]=\"{\n width: '16vw',\n 'border-radius': '0',\n height: '10px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n</div>\n<div class=\"skeleton-parent\">\n <div class=\"skeleton\" *ngFor=\"let _ of [].constructor(count)\">\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\n width: '100%',\n height: '25vh',\n 'border-radius': '10px',\n 'position': 'relative',\n 'right': '5px'\n }\">\n </ngx-skeleton-loader>\n <div class=\"second-section-wrapper\">\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '80%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '90%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '60%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n </div>\n </div>\n </div>\n</div>", styles: [".skeleton-parent{display:flex;gap:15px;padding-left:20px;padding-right:20px;width:100%}.skeleton{padding:10px;border:1px solid #e5e7eb;width:24%;border-radius:10px}.wrapper{width:100%;flex:1}.second-section-wrapper{width:100%;height:auto;flex:1}@media screen and (max-width: 475px){.skeleton{width:50%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i2.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }] }); }
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardSkeletonLoaderComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'simpo-card-skeleton-loader', standalone: true, imports: [
24
24
  CommonModule,
25
25
  SimpoComponentModule
26
- ], template: "<div class=\"d-flex flex-column\" style=\"margin-left: 20px;\" *ngIf=\"showTitles\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '10vw',\r\n 'border-radius': '0',\r\n height: '25px',\r\n 'margin-bottom': '20px'\r\n }\"></ngx-skeleton-loader>\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '16vw',\r\n 'border-radius': '0',\r\n height: '10px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n</div>\r\n<div class=\"skeleton-parent\">\r\n <div class=\"skeleton\" *ngFor=\"let _ of [].constructor(count)\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '25vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".skeleton-parent{display:flex;gap:15px;padding-left:20px;padding-right:20px;width:100%}.skeleton{padding:10px;border:1px solid #e5e7eb;width:24%;border-radius:10px}.wrapper{width:100%;flex:1}.second-section-wrapper{width:100%;height:auto;flex:1}@media screen and (max-width: 475px){.skeleton{width:50%}}\n"] }]
26
+ ], template: "<div class=\"d-flex flex-column\" style=\"margin-left: 20px;\" *ngIf=\"showTitles\">\n <ngx-skeleton-loader [theme]=\"{\n width: '10vw',\n 'border-radius': '0',\n height: '25px',\n 'margin-bottom': '20px'\n }\"></ngx-skeleton-loader>\n <ngx-skeleton-loader [theme]=\"{\n width: '16vw',\n 'border-radius': '0',\n height: '10px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n</div>\n<div class=\"skeleton-parent\">\n <div class=\"skeleton\" *ngFor=\"let _ of [].constructor(count)\">\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\n width: '100%',\n height: '25vh',\n 'border-radius': '10px',\n 'position': 'relative',\n 'right': '5px'\n }\">\n </ngx-skeleton-loader>\n <div class=\"second-section-wrapper\">\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '80%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '90%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n </div>\n <div class=\"wrapper\">\n <ngx-skeleton-loader [theme]=\"{\n width: '60%',\n 'border-radius': '0',\n height: '15px',\n 'margin-bottom': '10px'\n }\"></ngx-skeleton-loader>\n </div>\n </div>\n </div>\n</div>", styles: [".skeleton-parent{display:flex;gap:15px;padding-left:20px;padding-right:20px;width:100%}.skeleton{padding:10px;border:1px solid #e5e7eb;width:24%;border-radius:10px}.wrapper{width:100%;flex:1}.second-section-wrapper{width:100%;height:auto;flex:1}@media screen and (max-width: 475px){.skeleton{width:50%}}\n"] }]
27
27
  }], propDecorators: { count: [{
28
28
  type: Input
29
29
  }], showTitles: [{
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32
32
  type: HostListener,
33
33
  args: ["window: resize", ["$event"]]
34
34
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1za2VsZXRvbi1sb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lbGVtZW50cy9jYXJkLXNrZWxldG9uLWxvYWRlci9jYXJkLXNrZWxldG9uLWxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2NhcmQtc2tlbGV0b24tbG9hZGVyL2NhcmQtc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFZL0MsTUFBTSxPQUFPLDJCQUEyQjtJQVZ4QztRQVlXLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsZUFBVSxHQUFZLEtBQUssQ0FBQztLQVV0QztJQVBDLGFBQWE7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0FaVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixnTkNkeEMsa3hEQW1ETSwwV0QzQ0YsWUFBWSwrUEFDWixvQkFBb0I7OzRGQUtYLDJCQUEyQjtrQkFWdkMsU0FBUzsrQkFDRSw0QkFBNEIsY0FDMUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3FCQUNyQjs4QkFNUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaW1wb0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1jYXJkLXNrZWxldG9uLWxvYWRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY2FyZC1za2VsZXRvbi1sb2FkZXIuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENhcmRTa2VsZXRvbkxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGNvdW50OiBudW1iZXIgPSA1O1xyXG4gIEBJbnB1dCgpIHNob3dUaXRsZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzogcmVzaXplXCIsIFtcIiRldmVudFwiXSlcclxuICBnZXRTY3JlZW5TaXplKCkge1xyXG4gICAgdGhpcy5jb3VudCA9IHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ID8gdGhpcy5jb3VudCA6IDI7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0U2NyZWVuU2l6ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIiAqbmdJZj1cInNob3dUaXRsZXNcIj5cclxuICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgd2lkdGg6ICcxMHZ3JyxcclxuICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcwJyxcclxuICAgICAgICBoZWlnaHQ6ICcyNXB4JyxcclxuICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcyMHB4J1xyXG4gICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgd2lkdGg6ICcxNnZ3JyxcclxuICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcwJyxcclxuICAgICAgICBoZWlnaHQ6ICcxMHB4JyxcclxuICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4J1xyXG4gICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJza2VsZXRvbi1wYXJlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvblwiICpuZ0Zvcj1cImxldCBfIG9mIFtdLmNvbnN0cnVjdG9yKGNvdW50KVwiPlxyXG4gICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY2lyY2xlXCIgW3RoZW1lXT1cIntcclxuICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgIGhlaWdodDogJzI1dmgnLFxyXG4gICAgICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxyXG4gICAgICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXHJcbiAgICAgICAgJ3JpZ2h0JzogJzVweCdcclxuICAgICAgfVwiPlxyXG4gICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWNvbmQtc2VjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgd2lkdGg6ICc4MCUnLFxyXG4gICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxyXG4gICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxyXG4gICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnXHJcbiAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgd2lkdGg6ICc5MCUnLFxyXG4gICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxyXG4gICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxyXG4gICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnXHJcbiAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgd2lkdGg6ICc2MCUnLFxyXG4gICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxyXG4gICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxyXG4gICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnXHJcbiAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1za2VsZXRvbi1sb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lbGVtZW50cy9jYXJkLXNrZWxldG9uLWxvYWRlci9jYXJkLXNrZWxldG9uLWxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2NhcmQtc2tlbGV0b24tbG9hZGVyL2NhcmQtc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFZL0MsTUFBTSxPQUFPLDJCQUEyQjtJQVZ4QztRQVlXLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsZUFBVSxHQUFZLEtBQUssQ0FBQztLQVV0QztJQVBDLGFBQWE7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0FaVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixnTkNkeEMsNHFEQW1ETSwwV0QzQ0YsWUFBWSwrUEFDWixvQkFBb0I7OzRGQUtYLDJCQUEyQjtrQkFWdkMsU0FBUzsrQkFDRSw0QkFBNEIsY0FDMUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3FCQUNyQjs4QkFNUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2luZGV4JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLWNhcmQtc2tlbGV0b24tbG9hZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1za2VsZXRvbi1sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FyZC1za2VsZXRvbi1sb2FkZXIuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZFNrZWxldG9uTG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBjb3VudDogbnVtYmVyID0gNTtcbiAgQElucHV0KCkgc2hvd1RpdGxlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6IHJlc2l6ZVwiLCBbXCIkZXZlbnRcIl0pXG4gIGdldFNjcmVlblNpemUoKSB7XG4gICAgdGhpcy5jb3VudCA9IHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ID8gdGhpcy5jb3VudCA6IDI7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldFNjcmVlblNpemUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtblwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcHg7XCIgKm5nSWY9XCJzaG93VGl0bGVzXCI+XG4gICAgPG5neC1za2VsZXRvbi1sb2FkZXIgW3RoZW1lXT1cIntcbiAgICAgICAgd2lkdGg6ICcxMHZ3JyxcbiAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXG4gICAgICAgIGhlaWdodDogJzI1cHgnLFxuICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcyMHB4J1xuICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XG4gICAgPG5neC1za2VsZXRvbi1sb2FkZXIgW3RoZW1lXT1cIntcbiAgICAgICAgd2lkdGg6ICcxNnZ3JyxcbiAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXG4gICAgICAgIGhlaWdodDogJzEwcHgnLFxuICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4J1xuICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJza2VsZXRvbi1wYXJlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2tlbGV0b25cIiAqbmdGb3I9XCJsZXQgXyBvZiBbXS5jb25zdHJ1Y3Rvcihjb3VudClcIj5cbiAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjaXJjbGVcIiBbdGhlbWVdPVwie1xuICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICBoZWlnaHQ6ICcyNXZoJyxcbiAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMTBweCcsXG4gICAgICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXG4gICAgICAgICdyaWdodCc6ICc1cHgnXG4gICAgICB9XCI+XG4gICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2Vjb25kLXNlY3Rpb24td3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XG4gICAgICAgICAgICAgIHdpZHRoOiAnODAlJyxcbiAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnMCcsXG4gICAgICAgICAgICAgIGhlaWdodDogJzE1cHgnLFxuICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4J1xuICAgICAgICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgW3RoZW1lXT1cIntcbiAgICAgICAgICAgICAgd2lkdGg6ICc5MCUnLFxuICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcwJyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiAnMTVweCcsXG4gICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnXG4gICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xuICAgICAgICAgICAgICB3aWR0aDogJzYwJScsXG4gICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxuICAgICAgICAgICAgICBoZWlnaHQ6ICcxNXB4JyxcbiAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnMTBweCdcbiAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
102
102
  type: Inject,
103
103
  args: [LOCAL_STORAGE]
104
104
  }] }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvZWRpdG9yLXNlcnZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSwyREFBMkQ7QUFDM0Qsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBTWhFLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsMERBQTBEO0lBRzFELFlBQW9CLElBQWdCLEVBQTJCLFFBQWdCLEVBQ25ELFFBQWdCLEVBQ1YsT0FBb0I7SUFDcEQsMkJBQTJCOztRQUhULFNBQUksR0FBSixJQUFJLENBQVk7UUFBMkIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNuRCxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQUVsRCxDQUFDO0lBRUwsZUFBZSxDQUFDLGFBQWtCLEVBQUUsTUFBVyxFQUFFLEtBQVUsRUFBRSxJQUFTO1FBQ3BFLDJDQUEyQztRQUMzQyxvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGVBQWU7UUFFZixNQUFNO0lBQ1IsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFzQztRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsMkNBQTJDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3JILENBQUM7SUFFRCxjQUFjLENBQUMsT0FBWTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLDZDQUE2QyxFQUFFLE9BQU8sQ0FDdkUsQ0FBQTtJQUNILENBQUM7SUFDRCxlQUFlO1FBQ2IsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNyRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLHFEQUFxRCxVQUFVLG1CQUFtQixDQUNuRyxDQUFBO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLFlBQWlCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsa0NBQWtDLEVBQ2xELFlBQVksQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVRLFNBQVMsQ0FBSSxHQUFrQjtRQUN4QyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU0sQ0FBQztRQUFDLENBQUM7UUFBQyxNQUFNLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQztRQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVDLFdBQVc7UUFDWCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUEwQixXQUFXLENBQUMsQ0FBQztRQUVyRSxrQkFBa0I7UUFDbEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBMEIsY0FBYyxDQUFDLENBQUM7UUFHNUUsMkVBQTJFO1FBQzNFLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxXQUFXLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXJGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsVUFBVSxhQUFhLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUMsa0JBQWtCLENBQUMsSUFBUztRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLHNCQUFzQixFQUFFLElBQUksQ0FDN0MsQ0FBQTtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUztRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLGtCQUFrQixFQUFFLElBQUksQ0FDekMsQ0FBQTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsR0FBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsR0FBRyxzQ0FBc0MsQ0FDdkUsQ0FBQTtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFXLEVBQUUsTUFBVztRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLHFCQUFxQixNQUFNLFlBQVksTUFBTSxFQUFFLENBQ2hFLENBQUE7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBRWQsTUFBTSxVQUFVLEdBQVcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRyxNQUFNLGFBQWEsR0FBVyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsMkNBQTJDLFVBQVUsVUFBVSxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuTixDQUFDO0lBQ0QsaUJBQWlCO1FBQ2YsTUFBTSxPQUFPLEdBQVE7WUFDbkIsTUFBTSxFQUFFLENBQUM7WUFDVCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDOUUsQ0FBQTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxvQ0FBb0MsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdMLENBQUM7K0dBckdVLHFCQUFxQiw0Q0FLYyxPQUFPLGFBQzNDLFFBQVEsYUFDUCxhQUFhO21IQVBiLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNd0MsTUFBTTsyQkFBQyxPQUFPOzswQkFDbEQsTUFBTTsyQkFBQyxRQUFROzswQkFDZCxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVBJX1VSTCwgQ01JU19VUkwgfSBmcm9tICcuLi90b2tlbnMvYXBpLXRva2VuJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnLi4vZWNvbW1lcmNlL3N0eWxlcy9jYXRlZ29yeS5tb2RhbCc7XHJcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL0NvbGxlY3Rpb24ubW9kYWwnO1xyXG4vLyBpbXBvcnQgeyBDYXRlZ29yeSwgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xyXG4vLyBpbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBMT0NBTF9TVE9SQUdFIH0gZnJvbSAnLi4vc2VydmljZXMvbG9jYWwtc3RvcmFnZS50b2tlbic7XHJcbmltcG9ydCB7IFN0b3JhZ2VMaWtlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RvcmFnZS1saWtlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVsZW1lbnRTZXJ2aWNlU2VydmljZSB7XHJcblxyXG4gIC8vIHByaXZhdGUgQkFTRV9VUkw6IHN0cmluZyA9IFwiaHR0cHM6Ly9kZXYtYXBpLnNpbXBvLmFpL1wiO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KEFQSV9VUkwpIHByaXZhdGUgQkFTRV9VUkw6IHN0cmluZyxcclxuICAgIEBJbmplY3QoQ01JU19VUkwpIHByaXZhdGUgQ01JU19VUkw6IHN0cmluZyxcclxuICAgICBASW5qZWN0KExPQ0FMX1NUT1JBR0UpIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZUxpa2VcclxuICAgIC8vIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZ1xyXG4gICkgeyB9XHJcblxyXG4gIG9wZW5Tb2NpYWxCcmFuZChjb21wb25lbnROYW1lOiBhbnksIGhlaWdodDogYW55LCB3aWR0aDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIC8vIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudE5hbWUsIHtcclxuICAgIC8vICAgaGVpZ2h0OiBoZWlnaHQsXHJcbiAgICAvLyAgIHdpZHRoOiB3aWR0aCxcclxuICAgIC8vICAgZGF0YTpkYXRhLFxyXG5cclxuICAgIC8vIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcG9uZW50QXBpKGJ1c2luZXNzVHlwZT86ICdTVEFUSUMnIHwgJ0VfQ09NTUVSQ0UnKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLkJBU0VfVVJMfWFkbWluL21hc3Rlci90ZW1wbGF0ZS9jYXRlZ29yeS9hbGw/dHlwZT0ke2J1c2luZXNzVHlwZSA/IGJ1c2luZXNzVHlwZSA6ICcnfWApXHJcbiAgfVxyXG5cclxuICByZWdlbmVyYXRlVGV4dChyZXF1ZXN0OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgdGhpcy5CQVNFX1VSTCArIGBhZG1pbi9jb250ZW50L3N1Z2dlc3QvdjIvd2Vic2l0ZS9pbmRpdmlkdWFsYCwgcmVxdWVzdFxyXG4gICAgKVxyXG4gIH1cclxuICBnZXRJbWFnZUxpYnJhcnkoKSB7XHJcbiAgICBjb25zdCBidXNpbmVzc0lkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2J1c2luZXNzSWQnKVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIHRoaXMuQkFTRV9VUkwgKyBgYWRtaW4vbGlicmFyeS9pbWFnZS9saWJyYXJ5L2xpc3QvcGFnZWQ/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9JnBhZ2VObz0wJnNpemU9MTBgXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzYXZlSW1hZ2VzVG9CdXNpbmVzc0xpYnJhcnkobWVkaWFSZXF1ZXN0OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgdGhpcy5CQVNFX1VSTCArIGBhZG1pbi9saWJyYXJ5L2ltYWdlL2xpYnJhcnkvc2F2ZWAsXHJcbiAgICAgIG1lZGlhUmVxdWVzdFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gICBwcml2YXRlIHNhZmVQYXJzZTxUPihyYXc6IHN0cmluZyB8IG51bGwpOiBUIHwgbnVsbCB7XHJcbiAgaWYgKCFyYXcpIHJldHVybiBudWxsO1xyXG4gIHRyeSB7IHJldHVybiBKU09OLnBhcnNlKHJhdykgYXMgVDsgfSBjYXRjaCB7IHJldHVybiBudWxsOyB9XHJcbn1cclxuXHJcbiAgZ2V0VGVtcGxhdGUoKSB7XHJcbiAgY29uc3QgYkRldGFpbHNSYXcgPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnYkRldGFpbHMnKTtcclxuICBjb25zdCBkZXRhaWxzID0gdGhpcy5zYWZlUGFyc2U8eyB0ZW1wbGF0ZUlkPzogc3RyaW5nIH0+KGJEZXRhaWxzUmF3KTtcclxuXHJcbiAgLy8gZmFsbGJhY2sgc291cmNlXHJcbiAgY29uc3Qgd2Vic2l0ZURhdGFSYXcgPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZURhdGEnKTtcclxuICBjb25zdCB3ZWJzaXRlRGF0YSA9IHRoaXMuc2FmZVBhcnNlPHsgaG9tZVBhZ2VJZD86IHN0cmluZyB9Pih3ZWJzaXRlRGF0YVJhdyk7XHJcblxyXG5cclxuICAvLyBwcmVmZXIgdGVtcGxhdGVJZCBmcm9tIGJEZXRhaWxzOyBlbHNlIGZhbGxiYWNrIHRvIHdlYnNpdGVEYXRhLmhvbWVQYWdlSWRcclxuICBjb25zdCB0ZW1wbGF0ZUlkID0gKGRldGFpbHM/LnRlbXBsYXRlSWQgPz8gd2Vic2l0ZURhdGE/LmhvbWVQYWdlSWQgPz8gJycpLnRvU3RyaW5nKCk7XHJcblxyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQkFTRV9VUkwgKyBgYnVzaW5lc3MvdjMvd2Vic2l0ZS8ke3RlbXBsYXRlSWR9L3BhZ2VzL2xpc3RgKTtcclxufVxyXG5cclxuICBnZXRBbGxWZWhpY2xlVHlwZXMoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChcclxuICAgICAgdGhpcy5DTUlTX1VSTCArIGBjcm0vZ2V0L3ZlaGljbGUtdHlwZWAsIGRhdGFcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldEFsbENvbWJvcyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxyXG4gICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS9jb21iby9maWx0ZXJgLCBkYXRhXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRBbGxTdG9wcyhiSWQ6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL3N0b3BzLyR7YklkfT9wYWdlTm89MCZzaXplPTEwJmlzUGFnaW5hdGlvbj1mYWxzZWBcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldFZlaGljbGVSb3V0ZXMoc3RvcElkOiBhbnksIHR5cGVJZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgdGhpcy5DTUlTX1VSTCArIGBjcm0vdmVoaWNsZS1yb3V0ZS8ke3N0b3BJZH0vdmVoaWNsZS8ke3R5cGVJZH1gXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRBbGxDYXRlZ29yaWVzKCkge1xyXG5cclxuICAgIGNvbnN0IGJ1c2luZXNzSWQ6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSA/PyBcIlwiO1xyXG4gICAgY29uc3Qgc3ViSW5kdXN0cnlJZDogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzdWJJbmR1c3RyeUlkXCIpID8/IFwiXCI7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9pbnZlbnRvcnkvZmVhdHVyZWQ/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9JnN1YklkPSR7c3ViSW5kdXN0cnlJZH1gKS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UuZGF0YT8ubWFwKChjYXRlZ29yeTogYW55KSA9PiBuZXcgQ2F0ZWdvcnkoY2F0ZWdvcnkpKSkpO1xyXG4gIH1cclxuICBnZXRBbGxDb2xsZWN0aW9ucygpIHtcclxuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcclxuICAgICAgcGFnZU5vOiAwLFxyXG4gICAgICBwYWdlU2l6ZTogMTAsXHJcbiAgICAgIHJlcXVlc3Q6IFwiVVNFUlwiLFxyXG4gICAgICBidXNpbmVzc0lkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIilcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyAnZWNvbW1lcmNlL2ludmVudG9yeS9nZXQvY29sbGVjdGlvbicsIHBheWxvYWQpLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZS5kYXRhLmRhdGE/Lm1hcCgoY29sbGVjdGlvbjogYW55KSA9PiBuZXcgQ29sbGVjdGlvbihjb2xsZWN0aW9uKSkpKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvZWRpdG9yLXNlcnZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSwyREFBMkQ7QUFDM0Qsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBTWhFLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsMERBQTBEO0lBRzFELFlBQW9CLElBQWdCLEVBQTJCLFFBQWdCLEVBQ25ELFFBQWdCLEVBQ1YsT0FBb0I7SUFDcEQsMkJBQTJCOztRQUhULFNBQUksR0FBSixJQUFJLENBQVk7UUFBMkIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNuRCxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQUVsRCxDQUFDO0lBRUwsZUFBZSxDQUFDLGFBQWtCLEVBQUUsTUFBVyxFQUFFLEtBQVUsRUFBRSxJQUFTO1FBQ3BFLDJDQUEyQztRQUMzQyxvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGVBQWU7UUFFZixNQUFNO0lBQ1IsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFzQztRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsMkNBQTJDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3JILENBQUM7SUFFRCxjQUFjLENBQUMsT0FBWTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLDZDQUE2QyxFQUFFLE9BQU8sQ0FDdkUsQ0FBQTtJQUNILENBQUM7SUFDRCxlQUFlO1FBQ2IsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNyRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLHFEQUFxRCxVQUFVLG1CQUFtQixDQUNuRyxDQUFBO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLFlBQWlCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsa0NBQWtDLEVBQ2xELFlBQVksQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVRLFNBQVMsQ0FBSSxHQUFrQjtRQUN4QyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU0sQ0FBQztRQUFDLENBQUM7UUFBQyxNQUFNLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQztRQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVDLFdBQVc7UUFDWCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUEwQixXQUFXLENBQUMsQ0FBQztRQUVyRSxrQkFBa0I7UUFDbEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBMEIsY0FBYyxDQUFDLENBQUM7UUFHNUUsMkVBQTJFO1FBQzNFLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxXQUFXLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXJGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsVUFBVSxhQUFhLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUMsa0JBQWtCLENBQUMsSUFBUztRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLHNCQUFzQixFQUFFLElBQUksQ0FDN0MsQ0FBQTtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUztRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLGtCQUFrQixFQUFFLElBQUksQ0FDekMsQ0FBQTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsR0FBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsR0FBRyxzQ0FBc0MsQ0FDdkUsQ0FBQTtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFXLEVBQUUsTUFBVztRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLHFCQUFxQixNQUFNLFlBQVksTUFBTSxFQUFFLENBQ2hFLENBQUE7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBRWQsTUFBTSxVQUFVLEdBQVcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRyxNQUFNLGFBQWEsR0FBVyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsMkNBQTJDLFVBQVUsVUFBVSxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuTixDQUFDO0lBQ0QsaUJBQWlCO1FBQ2YsTUFBTSxPQUFPLEdBQVE7WUFDbkIsTUFBTSxFQUFFLENBQUM7WUFDVCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDOUUsQ0FBQTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxvQ0FBb0MsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdMLENBQUM7K0dBckdVLHFCQUFxQiw0Q0FLYyxPQUFPLGFBQzNDLFFBQVEsYUFDUCxhQUFhO21IQVBiLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNd0MsTUFBTTsyQkFBQyxPQUFPOzswQkFDbEQsTUFBTTsyQkFBQyxRQUFROzswQkFDZCxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBUElfVVJMLCBDTUlTX1VSTCB9IGZyb20gJy4uL3Rva2Vucy9hcGktdG9rZW4nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvY2F0ZWdvcnkubW9kYWwnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvQ29sbGVjdGlvbi5tb2RhbCc7XG4vLyBpbXBvcnQgeyBDYXRlZ29yeSwgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuLy8gaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IExPQ0FMX1NUT1JBR0UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnRva2VuJztcbmltcG9ydCB7IFN0b3JhZ2VMaWtlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RvcmFnZS1saWtlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudFNlcnZpY2VTZXJ2aWNlIHtcblxuICAvLyBwcml2YXRlIEJBU0VfVVJMOiBzdHJpbmcgPSBcImh0dHBzOi8vZGV2LWFwaS5zaW1wby5haS9cIjtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChBUElfVVJMKSBwcml2YXRlIEJBU0VfVVJMOiBzdHJpbmcsXG4gICAgQEluamVjdChDTUlTX1VSTCkgcHJpdmF0ZSBDTUlTX1VSTDogc3RyaW5nLFxuICAgICBASW5qZWN0KExPQ0FMX1NUT1JBR0UpIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZUxpa2VcbiAgICAvLyBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2dcbiAgKSB7IH1cblxuICBvcGVuU29jaWFsQnJhbmQoY29tcG9uZW50TmFtZTogYW55LCBoZWlnaHQ6IGFueSwgd2lkdGg6IGFueSwgZGF0YTogYW55KSB7XG4gICAgLy8gcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50TmFtZSwge1xuICAgIC8vICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgLy8gICB3aWR0aDogd2lkdGgsXG4gICAgLy8gICBkYXRhOmRhdGEsXG5cbiAgICAvLyB9KTtcbiAgfVxuXG4gIGdldENvbXBvbmVudEFwaShidXNpbmVzc1R5cGU/OiAnU1RBVElDJyB8ICdFX0NPTU1FUkNFJykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuQkFTRV9VUkx9YWRtaW4vbWFzdGVyL3RlbXBsYXRlL2NhdGVnb3J5L2FsbD90eXBlPSR7YnVzaW5lc3NUeXBlID8gYnVzaW5lc3NUeXBlIDogJyd9YClcbiAgfVxuXG4gIHJlZ2VuZXJhdGVUZXh0KHJlcXVlc3Q6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIHRoaXMuQkFTRV9VUkwgKyBgYWRtaW4vY29udGVudC9zdWdnZXN0L3YyL3dlYnNpdGUvaW5kaXZpZHVhbGAsIHJlcXVlc3RcbiAgICApXG4gIH1cbiAgZ2V0SW1hZ2VMaWJyYXJ5KCkge1xuICAgIGNvbnN0IGJ1c2luZXNzSWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NJZCcpXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICB0aGlzLkJBU0VfVVJMICsgYGFkbWluL2xpYnJhcnkvaW1hZ2UvbGlicmFyeS9saXN0L3BhZ2VkP2J1c2luZXNzSWQ9JHtidXNpbmVzc0lkfSZwYWdlTm89MCZzaXplPTEwYFxuICAgIClcbiAgfVxuXG4gIHNhdmVJbWFnZXNUb0J1c2luZXNzTGlicmFyeShtZWRpYVJlcXVlc3Q6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIHRoaXMuQkFTRV9VUkwgKyBgYWRtaW4vbGlicmFyeS9pbWFnZS9saWJyYXJ5L3NhdmVgLFxuICAgICAgbWVkaWFSZXF1ZXN0XG4gICAgKTtcbiAgfVxuXG4gICBwcml2YXRlIHNhZmVQYXJzZTxUPihyYXc6IHN0cmluZyB8IG51bGwpOiBUIHwgbnVsbCB7XG4gIGlmICghcmF3KSByZXR1cm4gbnVsbDtcbiAgdHJ5IHsgcmV0dXJuIEpTT04ucGFyc2UocmF3KSBhcyBUOyB9IGNhdGNoIHsgcmV0dXJuIG51bGw7IH1cbn1cblxuICBnZXRUZW1wbGF0ZSgpIHtcbiAgY29uc3QgYkRldGFpbHNSYXcgPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnYkRldGFpbHMnKTtcbiAgY29uc3QgZGV0YWlscyA9IHRoaXMuc2FmZVBhcnNlPHsgdGVtcGxhdGVJZD86IHN0cmluZyB9PihiRGV0YWlsc1Jhdyk7XG5cbiAgLy8gZmFsbGJhY2sgc291cmNlXG4gIGNvbnN0IHdlYnNpdGVEYXRhUmF3ID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVEYXRhJyk7XG4gIGNvbnN0IHdlYnNpdGVEYXRhID0gdGhpcy5zYWZlUGFyc2U8eyBob21lUGFnZUlkPzogc3RyaW5nIH0+KHdlYnNpdGVEYXRhUmF3KTtcblxuXG4gIC8vIHByZWZlciB0ZW1wbGF0ZUlkIGZyb20gYkRldGFpbHM7IGVsc2UgZmFsbGJhY2sgdG8gd2Vic2l0ZURhdGEuaG9tZVBhZ2VJZFxuICBjb25zdCB0ZW1wbGF0ZUlkID0gKGRldGFpbHM/LnRlbXBsYXRlSWQgPz8gd2Vic2l0ZURhdGE/LmhvbWVQYWdlSWQgPz8gJycpLnRvU3RyaW5nKCk7XG5cbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBidXNpbmVzcy92My93ZWJzaXRlLyR7dGVtcGxhdGVJZH0vcGFnZXMvbGlzdGApO1xufVxuXG4gIGdldEFsbFZlaGljbGVUeXBlcyhkYXRhOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChcbiAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL2dldC92ZWhpY2xlLXR5cGVgLCBkYXRhXG4gICAgKVxuICB9XG5cbiAgZ2V0QWxsQ29tYm9zKGRhdGE6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxuICAgICAgdGhpcy5DTUlTX1VSTCArIGBjcm0vY29tYm8vZmlsdGVyYCwgZGF0YVxuICAgIClcbiAgfVxuXG4gIGdldEFsbFN0b3BzKGJJZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS9zdG9wcy8ke2JJZH0/cGFnZU5vPTAmc2l6ZT0xMCZpc1BhZ2luYXRpb249ZmFsc2VgXG4gICAgKVxuICB9XG5cbiAgZ2V0VmVoaWNsZVJvdXRlcyhzdG9wSWQ6IGFueSwgdHlwZUlkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL3ZlaGljbGUtcm91dGUvJHtzdG9wSWR9L3ZlaGljbGUvJHt0eXBlSWR9YFxuICAgIClcbiAgfVxuXG4gIGdldEFsbENhdGVnb3JpZXMoKSB7XG5cbiAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCJcIjtcbiAgICBjb25zdCBzdWJJbmR1c3RyeUlkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInN1YkluZHVzdHJ5SWRcIikgPz8gXCJcIjtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9pbnZlbnRvcnkvZmVhdHVyZWQ/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9JnN1YklkPSR7c3ViSW5kdXN0cnlJZH1gKS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UuZGF0YT8ubWFwKChjYXRlZ29yeTogYW55KSA9PiBuZXcgQ2F0ZWdvcnkoY2F0ZWdvcnkpKSkpO1xuICB9XG4gIGdldEFsbENvbGxlY3Rpb25zKCkge1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgIHBhZ2VObzogMCxcbiAgICAgIHBhZ2VTaXplOiAxMCxcbiAgICAgIHJlcXVlc3Q6IFwiVVNFUlwiLFxuICAgICAgYnVzaW5lc3NJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyAnZWNvbW1lcmNlL2ludmVudG9yeS9nZXQvY29sbGVjdGlvbicsIHBheWxvYWQpLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZS5kYXRhLmRhdGE/Lm1hcCgoY29sbGVjdGlvbjogYW55KSA9PiBuZXcgQ29sbGVjdGlvbihjb2xsZWN0aW9uKSkpKTtcbiAgfVxuXG59XG4iXX0=
@@ -6,12 +6,12 @@ export class HeadingElementComponent {
6
6
  this.data = '';
7
7
  }
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadingElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeadingElementComponent, isStandalone: true, selector: "simpo-heading-element", inputs: { data: "data" }, ngImport: i0, template: "<h2 class=\"heading-large\" [innerHtml]=\"(data || '') | sanitizeHtml\"></h2>\r\n", styles: [""], dependencies: [{ kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeadingElementComponent, isStandalone: true, selector: "simpo-heading-element", inputs: { data: "data" }, ngImport: i0, template: "<h2 class=\"heading-large\" [innerHtml]=\"(data || '') | sanitizeHtml\"></h2>\n", styles: [""], dependencies: [{ kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
10
10
  }
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadingElementComponent, decorators: [{
12
12
  type: Component,
13
- args: [{ selector: 'simpo-heading-element', standalone: true, imports: [SanitizeHtmlPipe], template: "<h2 class=\"heading-large\" [innerHtml]=\"(data || '') | sanitizeHtml\"></h2>\r\n" }]
13
+ args: [{ selector: 'simpo-heading-element', standalone: true, imports: [SanitizeHtmlPipe], template: "<h2 class=\"heading-large\" [innerHtml]=\"(data || '') | sanitizeHtml\"></h2>\n" }]
14
14
  }], propDecorators: { data: [{
15
15
  type: Input
16
16
  }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvaGVhZGluZy1lbGVtZW50L2hlYWRpbmctZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2hlYWRpbmctZWxlbWVudC9oZWFkaW5nLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBUy9ELE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRVyxTQUFJLEdBQVksRUFBRSxDQUFBO0tBQzVCOytHQUZZLHVCQUF1QjttR0FBdkIsdUJBQXVCLDJHQ1ZwQyxtRkFDQSxxRERLWSxnQkFBZ0I7OzRGQUlmLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUM7OEJBS2xCLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FuaXRpemVIdG1sUGlwZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Nhbml0aXplSHRtbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWhlYWRpbmctZWxlbWVudCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbU2FuaXRpemVIdG1sUGlwZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRpbmctZWxlbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2hlYWRpbmctZWxlbWVudC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGluZ0VsZW1lbnRDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGRhdGE/OiBzdHJpbmcgPSAnJ1xyXG59XHJcbiIsIjxoMiBjbGFzcz1cImhlYWRpbmctbGFyZ2VcIiBbaW5uZXJIdG1sXT1cIihkYXRhIHx8ICcnKSB8IHNhbml0aXplSHRtbFwiPjwvaDI+XHJcbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvaGVhZGluZy1lbGVtZW50L2hlYWRpbmctZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2hlYWRpbmctZWxlbWVudC9oZWFkaW5nLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBUy9ELE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRVyxTQUFJLEdBQVksRUFBRSxDQUFBO0tBQzVCOytHQUZZLHVCQUF1QjttR0FBdkIsdUJBQXVCLDJHQ1ZwQyxpRkFDQSxxRERLWSxnQkFBZ0I7OzRGQUlmLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUM7OEJBS2xCLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhbml0aXplSHRtbFBpcGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYW5pdGl6ZUh0bWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaW1wby1oZWFkaW5nLWVsZW1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2FuaXRpemVIdG1sUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkaW5nLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaGVhZGluZy1lbGVtZW50LmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRpbmdFbGVtZW50Q29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YT86IHN0cmluZyA9ICcnXG59XG4iLCI8aDIgY2xhc3M9XCJoZWFkaW5nLWxhcmdlXCIgW2lubmVySHRtbF09XCIoZGF0YSB8fCAnJykgfCBzYW5pdGl6ZUh0bWxcIj48L2gyPlxuIl19
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
24
24
  exports: [ButtonElementComponent, TextElementComponent, BelowImageCardComponent, TopOfImageCardComponent, CoveringImageCardComponent, HeadingElementComponent, SimpoButtonComponent, SociaIconsComponent, CardSkeletonLoaderComponent, SvgDividerComponent, PropertyComponent, PortfolioComponent],
25
25
  }]
26
26
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBTXJFLE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjtnSEFBbkIsbUJBQW1CLFlBSHBCLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFDLG9CQUFvQixFQUFDLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixhQUNuUixzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBQyxvQkFBb0IsRUFBQyxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxtQkFBbUIsRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0I7Z0hBRWxSLG1CQUFtQixZQUhwQixzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBMEIsb0JBQW9CLEVBQUMsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsbUJBQW1CLEVBQUMsaUJBQWlCLEVBQUMsa0JBQWtCOzs0RkFHbFIsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFDLG9CQUFvQixFQUFDLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixDQUFDO29CQUM5UixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBQyxvQkFBb0IsRUFBQyxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxtQkFBbUIsRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsQ0FBQztpQkFDL1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCdXR0b25FbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi90ZXh0L3RleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVsb3dJbWFnZUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2JlbG93LWltYWdlLWNhcmQvYmVsb3ctaW1hZ2UtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb3BPZkltYWdlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vdG9wLW9mLWltYWdlLWNhcmQvdG9wLW9mLWltYWdlLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ292ZXJpbmdJbWFnZUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvdmVyaW5nLWltYWdlLWNhcmQvY292ZXJpbmctaW1hZ2UtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIZWFkaW5nRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vaGVhZGluZy1lbGVtZW50L2hlYWRpbmctZWxlbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vc2ltcG8tYnV0dG9uL3NpbXBvLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb2NpYUljb25zQ29tcG9uZW50IH0gZnJvbSAnLi9zb2NpYS1pY29ucy9zb2NpYS1pY29ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkU2tlbGV0b25Mb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2NhcmQtc2tlbGV0b24tbG9hZGVyL2NhcmQtc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN2Z0RpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuL3N2Zy1kaXZpZGVyL3N2Zy1kaXZpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb3BlcnR5Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9wZXJ0eS9wcm9wZXJ0eS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3J0Zm9saW9Db21wb25lbnQgfSBmcm9tICcuL3BvcnRmb2xpby9wb3J0Zm9saW8uY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0J1dHRvbkVsZW1lbnRDb21wb25lbnQsIFRleHRFbGVtZW50Q29tcG9uZW50LCBCZWxvd0ltYWdlQ2FyZENvbXBvbmVudCwgVG9wT2ZJbWFnZUNhcmRDb21wb25lbnQsIENvdmVyaW5nSW1hZ2VDYXJkQ29tcG9uZW50LCBIZWFkaW5nRWxlbWVudENvbXBvbmVudCxTaW1wb0J1dHRvbkNvbXBvbmVudCxTb2NpYUljb25zQ29tcG9uZW50LCBDYXJkU2tlbGV0b25Mb2FkZXJDb21wb25lbnQsIFN2Z0RpdmlkZXJDb21wb25lbnQsUHJvcGVydHlDb21wb25lbnQsUG9ydGZvbGlvQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbQnV0dG9uRWxlbWVudENvbXBvbmVudCwgVGV4dEVsZW1lbnRDb21wb25lbnQsIEJlbG93SW1hZ2VDYXJkQ29tcG9uZW50LCBUb3BPZkltYWdlQ2FyZENvbXBvbmVudCwgQ292ZXJpbmdJbWFnZUNhcmRDb21wb25lbnQsIEhlYWRpbmdFbGVtZW50Q29tcG9uZW50LFNpbXBvQnV0dG9uQ29tcG9uZW50LFNvY2lhSWNvbnNDb21wb25lbnQsIENhcmRTa2VsZXRvbkxvYWRlckNvbXBvbmVudCwgU3ZnRGl2aWRlckNvbXBvbmVudCxQcm9wZXJ0eUNvbXBvbmVudCxQb3J0Zm9saW9Db21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2ltcG9FbGVtZW50c01vZHVsZSB7IH1cclxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBTXJFLE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjtnSEFBbkIsbUJBQW1CLFlBSHBCLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFDLG9CQUFvQixFQUFDLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixhQUNuUixzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBQyxvQkFBb0IsRUFBQyxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxtQkFBbUIsRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0I7Z0hBRWxSLG1CQUFtQixZQUhwQixzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBMEIsb0JBQW9CLEVBQUMsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsbUJBQW1CLEVBQUMsaUJBQWlCLEVBQUMsa0JBQWtCOzs0RkFHbFIsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFDLG9CQUFvQixFQUFDLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixDQUFDO29CQUM5UixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBQyxvQkFBb0IsRUFBQyxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxtQkFBbUIsRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsQ0FBQztpQkFDL1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmVsb3dJbWFnZUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2JlbG93LWltYWdlLWNhcmQvYmVsb3ctaW1hZ2UtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9wT2ZJbWFnZUNhcmRDb21wb25lbnQgfSBmcm9tICcuL3RvcC1vZi1pbWFnZS1jYXJkL3RvcC1vZi1pbWFnZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3ZlcmluZ0ltYWdlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY292ZXJpbmctaW1hZ2UtY2FyZC9jb3ZlcmluZy1pbWFnZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkaW5nRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vaGVhZGluZy1lbGVtZW50L2hlYWRpbmctZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2ltcG9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NpbXBvLWJ1dHRvbi9zaW1wby1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNvY2lhSWNvbnNDb21wb25lbnQgfSBmcm9tICcuL3NvY2lhLWljb25zL3NvY2lhLWljb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkU2tlbGV0b25Mb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2NhcmQtc2tlbGV0b24tbG9hZGVyL2NhcmQtc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdmdEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdmctZGl2aWRlci9zdmctZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlDb21wb25lbnQgfSBmcm9tICcuL3Byb3BlcnR5L3Byb3BlcnR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3J0Zm9saW9Db21wb25lbnQgfSBmcm9tICcuL3BvcnRmb2xpby9wb3J0Zm9saW8uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0J1dHRvbkVsZW1lbnRDb21wb25lbnQsIFRleHRFbGVtZW50Q29tcG9uZW50LCBCZWxvd0ltYWdlQ2FyZENvbXBvbmVudCwgVG9wT2ZJbWFnZUNhcmRDb21wb25lbnQsIENvdmVyaW5nSW1hZ2VDYXJkQ29tcG9uZW50LCBIZWFkaW5nRWxlbWVudENvbXBvbmVudCxTaW1wb0J1dHRvbkNvbXBvbmVudCxTb2NpYUljb25zQ29tcG9uZW50LCBDYXJkU2tlbGV0b25Mb2FkZXJDb21wb25lbnQsIFN2Z0RpdmlkZXJDb21wb25lbnQsUHJvcGVydHlDb21wb25lbnQsUG9ydGZvbGlvQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0J1dHRvbkVsZW1lbnRDb21wb25lbnQsIFRleHRFbGVtZW50Q29tcG9uZW50LCBCZWxvd0ltYWdlQ2FyZENvbXBvbmVudCwgVG9wT2ZJbWFnZUNhcmRDb21wb25lbnQsIENvdmVyaW5nSW1hZ2VDYXJkQ29tcG9uZW50LCBIZWFkaW5nRWxlbWVudENvbXBvbmVudCxTaW1wb0J1dHRvbkNvbXBvbmVudCxTb2NpYUljb25zQ29tcG9uZW50LCBDYXJkU2tlbGV0b25Mb2FkZXJDb21wb25lbnQsIFN2Z0RpdmlkZXJDb21wb25lbnQsUHJvcGVydHlDb21wb25lbnQsUG9ydGZvbGlvQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2ltcG9FbGVtZW50c01vZHVsZSB7IH1cbiJdfQ==
@@ -85,10 +85,10 @@ export class ListHomeAppointmentComponent {
85
85
  this.appointmentDetails = null;
86
86
  }
87
87
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListHomeAppointmentComponent, deps: [{ token: i1.RestService }, { token: i2.StorageServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListHomeAppointmentComponent, isStandalone: true, selector: "simpo-list-home-appointment", ngImport: i0, template: "<section>\r\n <div class=\"row\" *ngIf=\"currentTab === 'BOOKING_LIST'\">\r\n <div *ngIf=\"homeAppointmentList.length == 0\">\r\n <ng-container *ngTemplateOutlet=\"showEmptyScreen\"></ng-container>\r\n </div>\r\n <div *ngFor=\"let appointment of homeAppointmentList\" class=\"col-md-4 col-12\">\r\n <ng-container *ngTemplateOutlet=\"appointmentCard;context:{data: appointment}\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"currentTab === 'BOOKING_DETAIL'\">\r\n <ng-container *ngTemplateOutlet=\"BookingDetail\"></ng-container>\r\n </div>\r\n</section>\r\n<ng-template #appointmentCard let-appointment=\"data\">\r\n <div class=\"card shadow-sm border-0 mb-2 cursor-pointer order-card\" (click)=\"viewBookingDetail(appointment)\">\r\n <div class=\"card-body p-3\">\r\n <!-- Header Section -->\r\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\r\n <div class=\"order-number\">\r\n <h4 class=\"mb-0 fw-semibold\">{{appointment.appointmentDisplayId}}</h4>\r\n </div>\r\n <div class=\"arrow-icon\">\r\n <mat-icon class=\"text-muted\">arrow_forward_ios</mat-icon>\r\n </div>\r\n </div>\r\n <!-- Middle Section -->\r\n <div class=\"order-details\">\r\n <div class=\"d-flex flex-column flex-sm-row justify-content-between align-items-start mb-3\">\r\n <span class=\"text-muted small mb-3 mb-sm-0\">\r\n {{appointment.time}} {{appointment.date}}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <!-- <div class=\"amount-section\">\r\n <span class=\"h5 mb-0 text-success fw-bold\">\r\n <span [innerHTML]=\"currency\"></span>\r\n 123\r\n </span>\r\n </div> -->\r\n <div class=\"status-section\">\r\n <span [attr.class]=\"appointment.status + ' order-status'\">\r\n {{appointment.status.replaceAll('_', ' ')}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #BookingDetail>\r\n <ng-container>\r\n <div class=\"container-fluid\">\r\n\r\n <!-- Header Section -->\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <mat-icon (click)=\"backToAppointmentList()\" class=\"cursor-pointer\">keyboard_backspace</mat-icon>\r\n <h3 class=\"fw-bold text-dark mb-0\">{{appointmentDetails.appointmentDisplayId}}</h3>\r\n </div>\r\n <div class=\"d-flex flex-wrap gap-2 mb-2\">\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-start\">schedule</mat-icon>\r\n <small>{{appointmentDetails.time}} {{appointmentDetails.date}}</small>\r\n </span>\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-center\">shopping_bag</mat-icon>\r\n <small>{{appointmentDetails?.items?.length ?? 0}}\r\n items</small>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Mobile Header -->\r\n <!-- <div class=\"card border-0 shadow-sm mb-3\" *ngIf=\"isMobile\">\r\n <div class=\"card-body d-flex justify-content-between align-items-center py-3\">\r\n <h2 class=\"h4 mb-0 fw-semibold\">{{appointmentDetails.appointmentDisplayId}}</h2>\r\n <div></div>\r\n </div>\r\n </div> -->\r\n\r\n <div class=\"row g-4\">\r\n <!-- Left Column -->\r\n <div class=\"col-12\" [ngClass]=\"{'col-lg-8': !isMobile}\">\r\n\r\n <!-- Timeline for Desktop -->\r\n\r\n <!-- Items Section -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2 f-16\">\r\n <mat-icon>shopping_cart</mat-icon>\r\n Items\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4 scroll-45\">\r\n <div class=\"row g-3\">\r\n <div class=\"col-12\" *ngFor=\"let item of appointmentDetails?.items ?? []\">\r\n <div class=\"item\">\r\n <div class=\"item-image\" *ngIf=\"!item.imgUrl\">\r\n NO IMAGE<br>AVAILABLE\r\n </div>\r\n <img class=\"item-image\" [src]=\"item.imgUrl\" alt=\"\" *ngIf=\"item.imgUrl\">\r\n <div class=\"item-details\">\r\n <div class=\"item-name\">{{item.itemName}}</div>\r\n <!-- <div class=\"item-description\">High-quality test item with advanced features and premium materials</div> -->\r\n <!-- <div class=\"item-meta\">\r\n <span>SKU: TST-001</span>\r\n <span>Qty: 1</span>\r\n <span>Weight: 2.5 lbs</span>\r\n </div> -->\r\n </div>\r\n <div class=\"item-price\">\r\n <div class=\"current-price\">\u20B9{{item.discountedPrice}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline for Mobile -->\r\n <!-- <ng-container *ngIf=\"isMobile\">\r\n <ng-container *ngTemplateOutlet=\"timelineContainer\"></ng-container>\r\n </ng-container> -->\r\n </div>\r\n\r\n <!-- Right Column -->\r\n <div class=\"col-12 scroll-60\" [ngClass]=\"{'col-lg-4': !isMobile}\">\r\n\r\n <!-- Bill Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('billDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>receipt</mat-icon>\r\n Bill Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.billDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.billDetails\">\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Free Trial\r\n </span>\r\n <span class=\"fw-semibold text-success h6 mb-0\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Service Charge\r\n </span>\r\n <span class=\"fw-bold text-success h6 mb-0\">FREE</span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-3 rounded\">\r\n <span class=\"fw-bold h5 mb-0 text-dark fs-1\">Grand Total</span>\r\n <span class=\"fw-bold h4 mb-0 fs-1\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Customer Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('deliveryDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>person</mat-icon>\r\n Customer Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.deliveryDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.deliveryDetails\">\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Name</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Phone</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverPhone}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-start gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Address</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.addressLine1}}\r\n {{appointmentDetails.addressDetails.zipCode}} {{appointmentDetails.addressDetails.cityName}}\r\n {{appointmentDetails.addressDetails.stateName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline Section for Desktop -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('timeline')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\r\n\r\n \">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.timeline\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.timeline\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") |\r\n titlecase }} {{event.status.replaceAll('_', ' ')}}</h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Timeline Template -->\r\n <ng-template #timelineContainer>\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header bg-warning text-dark py-2 f-16\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"bg-primary rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"text-white fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") | titlecase }}\r\n </h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") | titlecase }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Loading Skeleton -->\r\n <div class=\"container-fluid py-4\" *ngIf=\"false\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '60vh',\r\n 'border-radius': '12px',\r\n 'margin': '20px 0'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #showEmptyScreen>\r\n <section class=\"empty-cart m-auto\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img loading=\"lazy\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\"\r\n >\r\n </div>\r\n <div class=\"cart-text \">\r\n <!-- <ng-container *ngFor=\"let text of content?.inputText\"> -->\r\n <div class=\"heading-medium d-flex justify-content-center content-side\">\r\n <div class=\"heading-medium\">No Booked Appointment</div>\r\n </div>\r\n <!-- </ng-container> -->\r\n </div>\r\n </div>\r\n </section>\r\n</ng-template>\r\n", styles: [".order-card{transition:all .3s ease;border-radius:12px!important;background:linear-gradient(135deg,#fff,#f8f9fa)}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a!important;border-color:#007bff!important}.order-card .card-body{position:relative;overflow:hidden}.order-card:before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--background-color);border-radius:0 4px 4px 0}.arrow-icon mat-icon{font-size:16px;transition:transform .3s ease}.order-card:hover .arrow-icon mat-icon{transform:translate(3px)}@media (max-width: 576px){.order-card .card-body{padding:1rem!important}.order-details .d-flex{flex-direction:column!important}.amount-section,.status-section{text-align:center}}.right{height:250px;padding:15px;background-color:#f8f8f8;border-radius:8px;color:#000}*{font-family:var(--website-font-family)}hr{border-top-width:2px;margin:15px 0}.f-13{font-size:13px}.f-16{font-size:16px}.fw-800{font-weight:800}.br-6{border-radius:6px}textarea{resize:unset}.action-btn>button{font-size:14px!important;border:none;width:fit-content!important;margin-top:5px;border-radius:3px;padding:5px 10px;background-color:tomato;color:#fff}.mat-icon{height:30px;width:30px;font-size:30px}.timeline{margin:25px 0}.onlyMobile{display:none}.track-order{background-color:#000;color:#fff;border:1px solid black;width:auto;border-radius:3px;padding:5px}@media only screen and (max-width: 475px){.onlyDesktop{display:none!important}.onlyMobile{display:block}.mat-icon{width:46px}.time-line{padding-bottom:6px}.right{width:98%!important;margin-bottom:4px!important;height:auto!important;padding:15px!important;margin-top:5%}.main-section{width:100%!important;flex-direction:column!important}.left{width:100%!important;padding:3%}.orderNum{margin-bottom:25px}}@media (min-width:768px) and (max-width:1024px){.left{padding:3%;width:70%}.right{width:28%!important;padding:2%;margin-top:10%;margin-right:3%}}.mt-25{margin-top:25px}.cp{cursor:pointer}.item-summary{box-shadow:0 0 4px #00000040;border-radius:12px}mat-icon{font-family:Material Icons!important}::ng-deep .p-rating-icon{color:#ffc107!important;font-size:1.25rem!important}::ng-deep .p-timeline-event-content{padding:0!important}::ng-deep .p-timeline-event-connector{background:#000!important;width:3px!important;position:absolute;bottom:-20px;height:55px;left:18px}.sbt-btn{border-radius:8px}::ng-deep .p-timeline-event-marker{display:none!important}@media screen and (min-width: 1200px){.scroll-45{overflow-y:scroll;height:45vh}.scroll-60{overflow-y:scroll;height:60vh}}.f-16{font-size:16px!important}.f-13{font-size:13px!important}@media (max-width: 575.98px){.display-6{font-size:1.5rem}.h3{font-size:1.25rem}}.gap-3{gap:1rem!important}.shadow-sm{box-shadow:0 .125rem .5rem #0000001a!important}.card-header{border-bottom:unset!important}.btn:hover{transform:translateY(-1px);transition:all .2s ease}.card:hover{transform:translateY(-2px);transition:all .3s ease}.bg-opacity-10{background-color:rgba(var(--bs-primary-rgb),.1)!important}.cursor-pointer{cursor:pointer}.transition-transform{transition:transform .3s ease}.rotate-180{transform:rotate(180deg)}.card-header:hover{opacity:.9;transition:opacity .2s ease}.card-body{transition:all .3s ease}.item{padding:0 10px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:20px}.item:last-child{border-bottom:none}.item-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;text-align:center;border:2px dashed #cbd5e1}.item-details{flex:1}.item-name{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:4px}.item-description{color:#64748b;font-size:14px;margin-bottom:8px}.item-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.item-price{text-align:right}.current-price{font-size:18px;font-weight:700;color:#0f172a}.original-price{font-size:14px;color:#94a3b8;text-decoration:line-through;margin-bottom:4px}.fs-1{font-size:1rem!important}.PENDING{background-color:#fffce1;color:#bdad18}.CONFIRMED{background-color:#ffe5d1;color:#d97a3b}.NO_SHOW{background-color:#d1e7ff;color:#3b82d9}.COMPLETED{color:#097d5f;background-color:#edfffa}.CANCELLED{background-color:#ffdddb;color:#c11a0f}.order-status{border-radius:2px;padding:5px 10px;font-size:12px}.cart-image{display:flex;justify-content:center}.cart-image img{width:17%}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i5.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "ngmodule", type: TimelineModule }, { kind: "component", type: i6.Timeline, selector: "p-timeline", inputs: ["value", "style", "styleClass", "align", "layout"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
88
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListHomeAppointmentComponent, isStandalone: true, selector: "simpo-list-home-appointment", ngImport: i0, template: "<section>\n <div class=\"row\" *ngIf=\"currentTab === 'BOOKING_LIST'\">\n <div *ngIf=\"homeAppointmentList.length == 0\">\n <ng-container *ngTemplateOutlet=\"showEmptyScreen\"></ng-container>\n </div>\n <div *ngFor=\"let appointment of homeAppointmentList\" class=\"col-md-4 col-12\">\n <ng-container *ngTemplateOutlet=\"appointmentCard;context:{data: appointment}\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"currentTab === 'BOOKING_DETAIL'\">\n <ng-container *ngTemplateOutlet=\"BookingDetail\"></ng-container>\n </div>\n</section>\n<ng-template #appointmentCard let-appointment=\"data\">\n <div class=\"card shadow-sm border-0 mb-2 cursor-pointer order-card\" (click)=\"viewBookingDetail(appointment)\">\n <div class=\"card-body p-3\">\n <!-- Header Section -->\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\n <div class=\"order-number\">\n <h4 class=\"mb-0 fw-semibold\">{{appointment.appointmentDisplayId}}</h4>\n </div>\n <div class=\"arrow-icon\">\n <mat-icon class=\"text-muted\">arrow_forward_ios</mat-icon>\n </div>\n </div>\n <!-- Middle Section -->\n <div class=\"order-details\">\n <div class=\"d-flex flex-column flex-sm-row justify-content-between align-items-start mb-3\">\n <span class=\"text-muted small mb-3 mb-sm-0\">\n {{appointment.time}} {{appointment.date}}\n </span>\n </div>\n </div>\n <div class=\"d-flex justify-content-between align-items-center\">\n <!-- <div class=\"amount-section\">\n <span class=\"h5 mb-0 text-success fw-bold\">\n <span [innerHTML]=\"currency\"></span>\n 123\n </span>\n </div> -->\n <div class=\"status-section\">\n <span [attr.class]=\"appointment.status + ' order-status'\">\n {{appointment.status.replaceAll('_', ' ')}}\n </span>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #BookingDetail>\n <ng-container>\n <div class=\"container-fluid\">\n\n <!-- Header Section -->\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"d-flex align-items-center gap-3\">\n <mat-icon (click)=\"backToAppointmentList()\" class=\"cursor-pointer\">keyboard_backspace</mat-icon>\n <h3 class=\"fw-bold text-dark mb-0\">{{appointmentDetails.appointmentDisplayId}}</h3>\n </div>\n <div class=\"d-flex flex-wrap gap-2 mb-2\">\n <span class=\"d-flex align-items-center text-muted\">\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-start\">schedule</mat-icon>\n <small>{{appointmentDetails.time}} {{appointmentDetails.date}}</small>\n </span>\n <span class=\"d-flex align-items-center text-muted\">\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-center\">shopping_bag</mat-icon>\n <small>{{appointmentDetails?.items?.length ?? 0}}\n items</small>\n </span>\n </div>\n </div>\n </div>\n\n <!-- Mobile Header -->\n <!-- <div class=\"card border-0 shadow-sm mb-3\" *ngIf=\"isMobile\">\n <div class=\"card-body d-flex justify-content-between align-items-center py-3\">\n <h2 class=\"h4 mb-0 fw-semibold\">{{appointmentDetails.appointmentDisplayId}}</h2>\n <div></div>\n </div>\n </div> -->\n\n <div class=\"row g-4\">\n <!-- Left Column -->\n <div class=\"col-12\" [ngClass]=\"{'col-lg-8': !isMobile}\">\n\n <!-- Timeline for Desktop -->\n\n <!-- Items Section -->\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header py-3\">\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2 f-16\">\n <mat-icon>shopping_cart</mat-icon>\n Items\n </h4>\n </div>\n <div class=\"card-body p-4 scroll-45\">\n <div class=\"row g-3\">\n <div class=\"col-12\" *ngFor=\"let item of appointmentDetails?.items ?? []\">\n <div class=\"item\">\n <div class=\"item-image\" *ngIf=\"!item.imgUrl\">\n NO IMAGE<br>AVAILABLE\n </div>\n <img class=\"item-image\" [src]=\"item.imgUrl\" alt=\"\" *ngIf=\"item.imgUrl\">\n <div class=\"item-details\">\n <div class=\"item-name\">{{item.itemName}}</div>\n <!-- <div class=\"item-description\">High-quality test item with advanced features and premium materials</div> -->\n <!-- <div class=\"item-meta\">\n <span>SKU: TST-001</span>\n <span>Qty: 1</span>\n <span>Weight: 2.5 lbs</span>\n </div> -->\n </div>\n <div class=\"item-price\">\n <div class=\"current-price\">\u20B9{{item.discountedPrice}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Timeline for Mobile -->\n <!-- <ng-container *ngIf=\"isMobile\">\n <ng-container *ngTemplateOutlet=\"timelineContainer\"></ng-container>\n </ng-container> -->\n </div>\n\n <!-- Right Column -->\n <div class=\"col-12 scroll-60\" [ngClass]=\"{'col-lg-4': !isMobile}\">\n\n <!-- Bill Details -->\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('billDetails')\">\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\n <div class=\"d-flex align-items-center gap-2\">\n <mat-icon>receipt</mat-icon>\n Bill Details\n </div>\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.billDetails\">\n expand_more\n </mat-icon>\n </h4>\n </div>\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.billDetails\">\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\n <span class=\"d-flex align-items-center gap-2 text-muted\">\n Free Trial\n </span>\n <span class=\"fw-semibold text-success h6 mb-0\">\n <span [innerHTML]=\"currency\"></span>0\n </span>\n </div>\n\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\n <span class=\"d-flex align-items-center gap-2 text-muted\">\n Service Charge\n </span>\n <span class=\"fw-bold text-success h6 mb-0\">FREE</span>\n </div>\n\n <div class=\"d-flex justify-content-between align-items-center py-3 rounded\">\n <span class=\"fw-bold h5 mb-0 text-dark fs-1\">Grand Total</span>\n <span class=\"fw-bold h4 mb-0 fs-1\">\n <span [innerHTML]=\"currency\"></span>0\n </span>\n </div>\n </div>\n </div>\n\n <!-- Customer Details -->\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('deliveryDetails')\">\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\n <div class=\"d-flex align-items-center gap-2\">\n <mat-icon>person</mat-icon>\n Customer Details\n </div>\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.deliveryDetails\">\n expand_more\n </mat-icon>\n </h4>\n </div>\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.deliveryDetails\">\n <div class=\"mb-3\">\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\n <div>\n <small class=\"text-muted d-block\">Name</small>\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverName}}</span>\n </div>\n </div>\n </div>\n\n <div class=\"mb-3\">\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\n <div>\n <small class=\"text-muted d-block\">Phone</small>\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverPhone}}</span>\n </div>\n </div>\n </div>\n\n <div class=\"mb-3\">\n <div class=\"d-flex align-items-start gap-3 p-2 bg-light rounded\">\n <div>\n <small class=\"text-muted d-block\">Address</small>\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.addressLine1}}\n {{appointmentDetails.addressDetails.zipCode}} {{appointmentDetails.addressDetails.cityName}}\n {{appointmentDetails.addressDetails.stateName}}</span>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <!-- Timeline Section for Desktop -->\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('timeline')\">\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\n\n \">\n <div class=\"d-flex align-items-center gap-2\">\n <mat-icon>timeline</mat-icon>\n Order Timeline\n </div>\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.timeline\">\n expand_more\n </mat-icon>\n </h4>\n </div>\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.timeline\">\n <p-timeline [value]=\"orderTimiline\">\n <ng-template pTemplate=\"content\" let-event>\n <div class=\"d-flex align-items-start gap-3 py-3\">\n <div class=\"rounded-circle p-2 d-flex align-items-center justify-content-center\"\n style=\"width: 40px; height: 40px;\">\n <mat-icon class=\"fs-6 d-flex align-items-center justify-content-center\">{{\n event.icon }}</mat-icon>\n </div>\n <div class=\"flex-grow-1\">\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") |\n titlecase }} {{event.status.replaceAll('_', ' ')}}</h6>\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") }}</p>\n </div>\n </div>\n </ng-template>\n </p-timeline>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </ng-container>\n\n <!-- Timeline Template -->\n <ng-template #timelineContainer>\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header bg-warning text-dark py-2 f-16\">\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2\">\n <mat-icon>timeline</mat-icon>\n Order Timeline\n </h4>\n </div>\n <div class=\"card-body p-4\">\n <p-timeline [value]=\"orderTimiline\">\n <ng-template pTemplate=\"content\" let-event>\n <div class=\"d-flex align-items-start gap-3 py-3\">\n <div class=\"bg-primary rounded-circle p-2 d-flex align-items-center justify-content-center\"\n style=\"width: 40px; height: 40px;\">\n <mat-icon class=\"text-white fs-6 d-flex align-items-center justify-content-center\">{{\n event.icon }}</mat-icon>\n </div>\n <div class=\"flex-grow-1\">\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") | titlecase }}\n </h6>\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") | titlecase }}</p>\n </div>\n </div>\n </ng-template>\n </p-timeline>\n </div>\n </div>\n </ng-template>\n\n <!-- Loading Skeleton -->\n <div class=\"container-fluid py-4\" *ngIf=\"false\">\n <div class=\"row\">\n <div class=\"col-12\">\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\n width: '100%',\n height: '60vh',\n 'border-radius': '12px',\n 'margin': '20px 0'\n }\"></ngx-skeleton-loader>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #showEmptyScreen>\n <section class=\"empty-cart m-auto\">\n <div>\n <div class=\"cart-image\">\n <img loading=\"lazy\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\"\n >\n </div>\n <div class=\"cart-text \">\n <!-- <ng-container *ngFor=\"let text of content?.inputText\"> -->\n <div class=\"heading-medium d-flex justify-content-center content-side\">\n <div class=\"heading-medium\">No Booked Appointment</div>\n </div>\n <!-- </ng-container> -->\n </div>\n </div>\n </section>\n</ng-template>\n", styles: [".order-card{transition:all .3s ease;border-radius:12px!important;background:linear-gradient(135deg,#fff,#f8f9fa)}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a!important;border-color:#007bff!important}.order-card .card-body{position:relative;overflow:hidden}.order-card:before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--background-color);border-radius:0 4px 4px 0}.arrow-icon mat-icon{font-size:16px;transition:transform .3s ease}.order-card:hover .arrow-icon mat-icon{transform:translate(3px)}@media (max-width: 576px){.order-card .card-body{padding:1rem!important}.order-details .d-flex{flex-direction:column!important}.amount-section,.status-section{text-align:center}}.right{height:250px;padding:15px;background-color:#f8f8f8;border-radius:8px;color:#000}*{font-family:var(--website-font-family)}hr{border-top-width:2px;margin:15px 0}.f-13{font-size:13px}.f-16{font-size:16px}.fw-800{font-weight:800}.br-6{border-radius:6px}textarea{resize:unset}.action-btn>button{font-size:14px!important;border:none;width:fit-content!important;margin-top:5px;border-radius:3px;padding:5px 10px;background-color:tomato;color:#fff}.mat-icon{height:30px;width:30px;font-size:30px}.timeline{margin:25px 0}.onlyMobile{display:none}.track-order{background-color:#000;color:#fff;border:1px solid black;width:auto;border-radius:3px;padding:5px}@media only screen and (max-width: 475px){.onlyDesktop{display:none!important}.onlyMobile{display:block}.mat-icon{width:46px}.time-line{padding-bottom:6px}.right{width:98%!important;margin-bottom:4px!important;height:auto!important;padding:15px!important;margin-top:5%}.main-section{width:100%!important;flex-direction:column!important}.left{width:100%!important;padding:3%}.orderNum{margin-bottom:25px}}@media (min-width:768px) and (max-width:1024px){.left{padding:3%;width:70%}.right{width:28%!important;padding:2%;margin-top:10%;margin-right:3%}}.mt-25{margin-top:25px}.cp{cursor:pointer}.item-summary{box-shadow:0 0 4px #00000040;border-radius:12px}mat-icon{font-family:Material Icons!important}::ng-deep .p-rating-icon{color:#ffc107!important;font-size:1.25rem!important}::ng-deep .p-timeline-event-content{padding:0!important}::ng-deep .p-timeline-event-connector{background:#000!important;width:3px!important;position:absolute;bottom:-20px;height:55px;left:18px}.sbt-btn{border-radius:8px}::ng-deep .p-timeline-event-marker{display:none!important}@media screen and (min-width: 1200px){.scroll-45{overflow-y:scroll;height:45vh}.scroll-60{overflow-y:scroll;height:60vh}}.f-16{font-size:16px!important}.f-13{font-size:13px!important}@media (max-width: 575.98px){.display-6{font-size:1.5rem}.h3{font-size:1.25rem}}.gap-3{gap:1rem!important}.shadow-sm{box-shadow:0 .125rem .5rem #0000001a!important}.card-header{border-bottom:unset!important}.btn:hover{transform:translateY(-1px);transition:all .2s ease}.card:hover{transform:translateY(-2px);transition:all .3s ease}.bg-opacity-10{background-color:rgba(var(--bs-primary-rgb),.1)!important}.cursor-pointer{cursor:pointer}.transition-transform{transition:transform .3s ease}.rotate-180{transform:rotate(180deg)}.card-header:hover{opacity:.9;transition:opacity .2s ease}.card-body{transition:all .3s ease}.item{padding:0 10px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:20px}.item:last-child{border-bottom:none}.item-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;text-align:center;border:2px dashed #cbd5e1}.item-details{flex:1}.item-name{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:4px}.item-description{color:#64748b;font-size:14px;margin-bottom:8px}.item-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.item-price{text-align:right}.current-price{font-size:18px;font-weight:700;color:#0f172a}.original-price{font-size:14px;color:#94a3b8;text-decoration:line-through;margin-bottom:4px}.fs-1{font-size:1rem!important}.PENDING{background-color:#fffce1;color:#bdad18}.CONFIRMED{background-color:#ffe5d1;color:#d97a3b}.NO_SHOW{background-color:#d1e7ff;color:#3b82d9}.COMPLETED{color:#097d5f;background-color:#edfffa}.CANCELLED{background-color:#ffdddb;color:#c11a0f}.order-status{border-radius:2px;padding:5px 10px;font-size:12px}.cart-image{display:flex;justify-content:center}.cart-image img{width:17%}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i5.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "ngmodule", type: TimelineModule }, { kind: "component", type: i6.Timeline, selector: "p-timeline", inputs: ["value", "style", "styleClass", "align", "layout"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
89
89
  }
90
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListHomeAppointmentComponent, decorators: [{
91
91
  type: Component,
92
- args: [{ selector: 'simpo-list-home-appointment', standalone: true, imports: [MatIconModule, CommonModule, SimpoComponentModule, TimelineModule], template: "<section>\r\n <div class=\"row\" *ngIf=\"currentTab === 'BOOKING_LIST'\">\r\n <div *ngIf=\"homeAppointmentList.length == 0\">\r\n <ng-container *ngTemplateOutlet=\"showEmptyScreen\"></ng-container>\r\n </div>\r\n <div *ngFor=\"let appointment of homeAppointmentList\" class=\"col-md-4 col-12\">\r\n <ng-container *ngTemplateOutlet=\"appointmentCard;context:{data: appointment}\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"currentTab === 'BOOKING_DETAIL'\">\r\n <ng-container *ngTemplateOutlet=\"BookingDetail\"></ng-container>\r\n </div>\r\n</section>\r\n<ng-template #appointmentCard let-appointment=\"data\">\r\n <div class=\"card shadow-sm border-0 mb-2 cursor-pointer order-card\" (click)=\"viewBookingDetail(appointment)\">\r\n <div class=\"card-body p-3\">\r\n <!-- Header Section -->\r\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\r\n <div class=\"order-number\">\r\n <h4 class=\"mb-0 fw-semibold\">{{appointment.appointmentDisplayId}}</h4>\r\n </div>\r\n <div class=\"arrow-icon\">\r\n <mat-icon class=\"text-muted\">arrow_forward_ios</mat-icon>\r\n </div>\r\n </div>\r\n <!-- Middle Section -->\r\n <div class=\"order-details\">\r\n <div class=\"d-flex flex-column flex-sm-row justify-content-between align-items-start mb-3\">\r\n <span class=\"text-muted small mb-3 mb-sm-0\">\r\n {{appointment.time}} {{appointment.date}}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <!-- <div class=\"amount-section\">\r\n <span class=\"h5 mb-0 text-success fw-bold\">\r\n <span [innerHTML]=\"currency\"></span>\r\n 123\r\n </span>\r\n </div> -->\r\n <div class=\"status-section\">\r\n <span [attr.class]=\"appointment.status + ' order-status'\">\r\n {{appointment.status.replaceAll('_', ' ')}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #BookingDetail>\r\n <ng-container>\r\n <div class=\"container-fluid\">\r\n\r\n <!-- Header Section -->\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <mat-icon (click)=\"backToAppointmentList()\" class=\"cursor-pointer\">keyboard_backspace</mat-icon>\r\n <h3 class=\"fw-bold text-dark mb-0\">{{appointmentDetails.appointmentDisplayId}}</h3>\r\n </div>\r\n <div class=\"d-flex flex-wrap gap-2 mb-2\">\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-start\">schedule</mat-icon>\r\n <small>{{appointmentDetails.time}} {{appointmentDetails.date}}</small>\r\n </span>\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-center\">shopping_bag</mat-icon>\r\n <small>{{appointmentDetails?.items?.length ?? 0}}\r\n items</small>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Mobile Header -->\r\n <!-- <div class=\"card border-0 shadow-sm mb-3\" *ngIf=\"isMobile\">\r\n <div class=\"card-body d-flex justify-content-between align-items-center py-3\">\r\n <h2 class=\"h4 mb-0 fw-semibold\">{{appointmentDetails.appointmentDisplayId}}</h2>\r\n <div></div>\r\n </div>\r\n </div> -->\r\n\r\n <div class=\"row g-4\">\r\n <!-- Left Column -->\r\n <div class=\"col-12\" [ngClass]=\"{'col-lg-8': !isMobile}\">\r\n\r\n <!-- Timeline for Desktop -->\r\n\r\n <!-- Items Section -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2 f-16\">\r\n <mat-icon>shopping_cart</mat-icon>\r\n Items\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4 scroll-45\">\r\n <div class=\"row g-3\">\r\n <div class=\"col-12\" *ngFor=\"let item of appointmentDetails?.items ?? []\">\r\n <div class=\"item\">\r\n <div class=\"item-image\" *ngIf=\"!item.imgUrl\">\r\n NO IMAGE<br>AVAILABLE\r\n </div>\r\n <img class=\"item-image\" [src]=\"item.imgUrl\" alt=\"\" *ngIf=\"item.imgUrl\">\r\n <div class=\"item-details\">\r\n <div class=\"item-name\">{{item.itemName}}</div>\r\n <!-- <div class=\"item-description\">High-quality test item with advanced features and premium materials</div> -->\r\n <!-- <div class=\"item-meta\">\r\n <span>SKU: TST-001</span>\r\n <span>Qty: 1</span>\r\n <span>Weight: 2.5 lbs</span>\r\n </div> -->\r\n </div>\r\n <div class=\"item-price\">\r\n <div class=\"current-price\">\u20B9{{item.discountedPrice}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline for Mobile -->\r\n <!-- <ng-container *ngIf=\"isMobile\">\r\n <ng-container *ngTemplateOutlet=\"timelineContainer\"></ng-container>\r\n </ng-container> -->\r\n </div>\r\n\r\n <!-- Right Column -->\r\n <div class=\"col-12 scroll-60\" [ngClass]=\"{'col-lg-4': !isMobile}\">\r\n\r\n <!-- Bill Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('billDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>receipt</mat-icon>\r\n Bill Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.billDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.billDetails\">\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Free Trial\r\n </span>\r\n <span class=\"fw-semibold text-success h6 mb-0\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Service Charge\r\n </span>\r\n <span class=\"fw-bold text-success h6 mb-0\">FREE</span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-3 rounded\">\r\n <span class=\"fw-bold h5 mb-0 text-dark fs-1\">Grand Total</span>\r\n <span class=\"fw-bold h4 mb-0 fs-1\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Customer Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('deliveryDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>person</mat-icon>\r\n Customer Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.deliveryDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.deliveryDetails\">\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Name</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Phone</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverPhone}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-start gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Address</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.addressLine1}}\r\n {{appointmentDetails.addressDetails.zipCode}} {{appointmentDetails.addressDetails.cityName}}\r\n {{appointmentDetails.addressDetails.stateName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline Section for Desktop -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('timeline')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\r\n\r\n \">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.timeline\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.timeline\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") |\r\n titlecase }} {{event.status.replaceAll('_', ' ')}}</h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Timeline Template -->\r\n <ng-template #timelineContainer>\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header bg-warning text-dark py-2 f-16\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"bg-primary rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"text-white fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") | titlecase }}\r\n </h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") | titlecase }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Loading Skeleton -->\r\n <div class=\"container-fluid py-4\" *ngIf=\"false\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '60vh',\r\n 'border-radius': '12px',\r\n 'margin': '20px 0'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #showEmptyScreen>\r\n <section class=\"empty-cart m-auto\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img loading=\"lazy\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\"\r\n >\r\n </div>\r\n <div class=\"cart-text \">\r\n <!-- <ng-container *ngFor=\"let text of content?.inputText\"> -->\r\n <div class=\"heading-medium d-flex justify-content-center content-side\">\r\n <div class=\"heading-medium\">No Booked Appointment</div>\r\n </div>\r\n <!-- </ng-container> -->\r\n </div>\r\n </div>\r\n </section>\r\n</ng-template>\r\n", styles: [".order-card{transition:all .3s ease;border-radius:12px!important;background:linear-gradient(135deg,#fff,#f8f9fa)}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a!important;border-color:#007bff!important}.order-card .card-body{position:relative;overflow:hidden}.order-card:before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--background-color);border-radius:0 4px 4px 0}.arrow-icon mat-icon{font-size:16px;transition:transform .3s ease}.order-card:hover .arrow-icon mat-icon{transform:translate(3px)}@media (max-width: 576px){.order-card .card-body{padding:1rem!important}.order-details .d-flex{flex-direction:column!important}.amount-section,.status-section{text-align:center}}.right{height:250px;padding:15px;background-color:#f8f8f8;border-radius:8px;color:#000}*{font-family:var(--website-font-family)}hr{border-top-width:2px;margin:15px 0}.f-13{font-size:13px}.f-16{font-size:16px}.fw-800{font-weight:800}.br-6{border-radius:6px}textarea{resize:unset}.action-btn>button{font-size:14px!important;border:none;width:fit-content!important;margin-top:5px;border-radius:3px;padding:5px 10px;background-color:tomato;color:#fff}.mat-icon{height:30px;width:30px;font-size:30px}.timeline{margin:25px 0}.onlyMobile{display:none}.track-order{background-color:#000;color:#fff;border:1px solid black;width:auto;border-radius:3px;padding:5px}@media only screen and (max-width: 475px){.onlyDesktop{display:none!important}.onlyMobile{display:block}.mat-icon{width:46px}.time-line{padding-bottom:6px}.right{width:98%!important;margin-bottom:4px!important;height:auto!important;padding:15px!important;margin-top:5%}.main-section{width:100%!important;flex-direction:column!important}.left{width:100%!important;padding:3%}.orderNum{margin-bottom:25px}}@media (min-width:768px) and (max-width:1024px){.left{padding:3%;width:70%}.right{width:28%!important;padding:2%;margin-top:10%;margin-right:3%}}.mt-25{margin-top:25px}.cp{cursor:pointer}.item-summary{box-shadow:0 0 4px #00000040;border-radius:12px}mat-icon{font-family:Material Icons!important}::ng-deep .p-rating-icon{color:#ffc107!important;font-size:1.25rem!important}::ng-deep .p-timeline-event-content{padding:0!important}::ng-deep .p-timeline-event-connector{background:#000!important;width:3px!important;position:absolute;bottom:-20px;height:55px;left:18px}.sbt-btn{border-radius:8px}::ng-deep .p-timeline-event-marker{display:none!important}@media screen and (min-width: 1200px){.scroll-45{overflow-y:scroll;height:45vh}.scroll-60{overflow-y:scroll;height:60vh}}.f-16{font-size:16px!important}.f-13{font-size:13px!important}@media (max-width: 575.98px){.display-6{font-size:1.5rem}.h3{font-size:1.25rem}}.gap-3{gap:1rem!important}.shadow-sm{box-shadow:0 .125rem .5rem #0000001a!important}.card-header{border-bottom:unset!important}.btn:hover{transform:translateY(-1px);transition:all .2s ease}.card:hover{transform:translateY(-2px);transition:all .3s ease}.bg-opacity-10{background-color:rgba(var(--bs-primary-rgb),.1)!important}.cursor-pointer{cursor:pointer}.transition-transform{transition:transform .3s ease}.rotate-180{transform:rotate(180deg)}.card-header:hover{opacity:.9;transition:opacity .2s ease}.card-body{transition:all .3s ease}.item{padding:0 10px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:20px}.item:last-child{border-bottom:none}.item-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;text-align:center;border:2px dashed #cbd5e1}.item-details{flex:1}.item-name{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:4px}.item-description{color:#64748b;font-size:14px;margin-bottom:8px}.item-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.item-price{text-align:right}.current-price{font-size:18px;font-weight:700;color:#0f172a}.original-price{font-size:14px;color:#94a3b8;text-decoration:line-through;margin-bottom:4px}.fs-1{font-size:1rem!important}.PENDING{background-color:#fffce1;color:#bdad18}.CONFIRMED{background-color:#ffe5d1;color:#d97a3b}.NO_SHOW{background-color:#d1e7ff;color:#3b82d9}.COMPLETED{color:#097d5f;background-color:#edfffa}.CANCELLED{background-color:#ffdddb;color:#c11a0f}.order-status{border-radius:2px;padding:5px 10px;font-size:12px}.cart-image{display:flex;justify-content:center}.cart-image img{width:17%}\n"] }]
92
+ args: [{ selector: 'simpo-list-home-appointment', standalone: true, imports: [MatIconModule, CommonModule, SimpoComponentModule, TimelineModule], template: "<section>\n <div class=\"row\" *ngIf=\"currentTab === 'BOOKING_LIST'\">\n <div *ngIf=\"homeAppointmentList.length == 0\">\n <ng-container *ngTemplateOutlet=\"showEmptyScreen\"></ng-container>\n </div>\n <div *ngFor=\"let appointment of homeAppointmentList\" class=\"col-md-4 col-12\">\n <ng-container *ngTemplateOutlet=\"appointmentCard;context:{data: appointment}\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"currentTab === 'BOOKING_DETAIL'\">\n <ng-container *ngTemplateOutlet=\"BookingDetail\"></ng-container>\n </div>\n</section>\n<ng-template #appointmentCard let-appointment=\"data\">\n <div class=\"card shadow-sm border-0 mb-2 cursor-pointer order-card\" (click)=\"viewBookingDetail(appointment)\">\n <div class=\"card-body p-3\">\n <!-- Header Section -->\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\n <div class=\"order-number\">\n <h4 class=\"mb-0 fw-semibold\">{{appointment.appointmentDisplayId}}</h4>\n </div>\n <div class=\"arrow-icon\">\n <mat-icon class=\"text-muted\">arrow_forward_ios</mat-icon>\n </div>\n </div>\n <!-- Middle Section -->\n <div class=\"order-details\">\n <div class=\"d-flex flex-column flex-sm-row justify-content-between align-items-start mb-3\">\n <span class=\"text-muted small mb-3 mb-sm-0\">\n {{appointment.time}} {{appointment.date}}\n </span>\n </div>\n </div>\n <div class=\"d-flex justify-content-between align-items-center\">\n <!-- <div class=\"amount-section\">\n <span class=\"h5 mb-0 text-success fw-bold\">\n <span [innerHTML]=\"currency\"></span>\n 123\n </span>\n </div> -->\n <div class=\"status-section\">\n <span [attr.class]=\"appointment.status + ' order-status'\">\n {{appointment.status.replaceAll('_', ' ')}}\n </span>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #BookingDetail>\n <ng-container>\n <div class=\"container-fluid\">\n\n <!-- Header Section -->\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"d-flex align-items-center gap-3\">\n <mat-icon (click)=\"backToAppointmentList()\" class=\"cursor-pointer\">keyboard_backspace</mat-icon>\n <h3 class=\"fw-bold text-dark mb-0\">{{appointmentDetails.appointmentDisplayId}}</h3>\n </div>\n <div class=\"d-flex flex-wrap gap-2 mb-2\">\n <span class=\"d-flex align-items-center text-muted\">\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-start\">schedule</mat-icon>\n <small>{{appointmentDetails.time}} {{appointmentDetails.date}}</small>\n </span>\n <span class=\"d-flex align-items-center text-muted\">\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-center\">shopping_bag</mat-icon>\n <small>{{appointmentDetails?.items?.length ?? 0}}\n items</small>\n </span>\n </div>\n </div>\n </div>\n\n <!-- Mobile Header -->\n <!-- <div class=\"card border-0 shadow-sm mb-3\" *ngIf=\"isMobile\">\n <div class=\"card-body d-flex justify-content-between align-items-center py-3\">\n <h2 class=\"h4 mb-0 fw-semibold\">{{appointmentDetails.appointmentDisplayId}}</h2>\n <div></div>\n </div>\n </div> -->\n\n <div class=\"row g-4\">\n <!-- Left Column -->\n <div class=\"col-12\" [ngClass]=\"{'col-lg-8': !isMobile}\">\n\n <!-- Timeline for Desktop -->\n\n <!-- Items Section -->\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header py-3\">\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2 f-16\">\n <mat-icon>shopping_cart</mat-icon>\n Items\n </h4>\n </div>\n <div class=\"card-body p-4 scroll-45\">\n <div class=\"row g-3\">\n <div class=\"col-12\" *ngFor=\"let item of appointmentDetails?.items ?? []\">\n <div class=\"item\">\n <div class=\"item-image\" *ngIf=\"!item.imgUrl\">\n NO IMAGE<br>AVAILABLE\n </div>\n <img class=\"item-image\" [src]=\"item.imgUrl\" alt=\"\" *ngIf=\"item.imgUrl\">\n <div class=\"item-details\">\n <div class=\"item-name\">{{item.itemName}}</div>\n <!-- <div class=\"item-description\">High-quality test item with advanced features and premium materials</div> -->\n <!-- <div class=\"item-meta\">\n <span>SKU: TST-001</span>\n <span>Qty: 1</span>\n <span>Weight: 2.5 lbs</span>\n </div> -->\n </div>\n <div class=\"item-price\">\n <div class=\"current-price\">\u20B9{{item.discountedPrice}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Timeline for Mobile -->\n <!-- <ng-container *ngIf=\"isMobile\">\n <ng-container *ngTemplateOutlet=\"timelineContainer\"></ng-container>\n </ng-container> -->\n </div>\n\n <!-- Right Column -->\n <div class=\"col-12 scroll-60\" [ngClass]=\"{'col-lg-4': !isMobile}\">\n\n <!-- Bill Details -->\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('billDetails')\">\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\n <div class=\"d-flex align-items-center gap-2\">\n <mat-icon>receipt</mat-icon>\n Bill Details\n </div>\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.billDetails\">\n expand_more\n </mat-icon>\n </h4>\n </div>\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.billDetails\">\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\n <span class=\"d-flex align-items-center gap-2 text-muted\">\n Free Trial\n </span>\n <span class=\"fw-semibold text-success h6 mb-0\">\n <span [innerHTML]=\"currency\"></span>0\n </span>\n </div>\n\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\n <span class=\"d-flex align-items-center gap-2 text-muted\">\n Service Charge\n </span>\n <span class=\"fw-bold text-success h6 mb-0\">FREE</span>\n </div>\n\n <div class=\"d-flex justify-content-between align-items-center py-3 rounded\">\n <span class=\"fw-bold h5 mb-0 text-dark fs-1\">Grand Total</span>\n <span class=\"fw-bold h4 mb-0 fs-1\">\n <span [innerHTML]=\"currency\"></span>0\n </span>\n </div>\n </div>\n </div>\n\n <!-- Customer Details -->\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('deliveryDetails')\">\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\n <div class=\"d-flex align-items-center gap-2\">\n <mat-icon>person</mat-icon>\n Customer Details\n </div>\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.deliveryDetails\">\n expand_more\n </mat-icon>\n </h4>\n </div>\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.deliveryDetails\">\n <div class=\"mb-3\">\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\n <div>\n <small class=\"text-muted d-block\">Name</small>\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverName}}</span>\n </div>\n </div>\n </div>\n\n <div class=\"mb-3\">\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\n <div>\n <small class=\"text-muted d-block\">Phone</small>\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverPhone}}</span>\n </div>\n </div>\n </div>\n\n <div class=\"mb-3\">\n <div class=\"d-flex align-items-start gap-3 p-2 bg-light rounded\">\n <div>\n <small class=\"text-muted d-block\">Address</small>\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.addressLine1}}\n {{appointmentDetails.addressDetails.zipCode}} {{appointmentDetails.addressDetails.cityName}}\n {{appointmentDetails.addressDetails.stateName}}</span>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <!-- Timeline Section for Desktop -->\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('timeline')\">\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\n\n \">\n <div class=\"d-flex align-items-center gap-2\">\n <mat-icon>timeline</mat-icon>\n Order Timeline\n </div>\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.timeline\">\n expand_more\n </mat-icon>\n </h4>\n </div>\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.timeline\">\n <p-timeline [value]=\"orderTimiline\">\n <ng-template pTemplate=\"content\" let-event>\n <div class=\"d-flex align-items-start gap-3 py-3\">\n <div class=\"rounded-circle p-2 d-flex align-items-center justify-content-center\"\n style=\"width: 40px; height: 40px;\">\n <mat-icon class=\"fs-6 d-flex align-items-center justify-content-center\">{{\n event.icon }}</mat-icon>\n </div>\n <div class=\"flex-grow-1\">\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") |\n titlecase }} {{event.status.replaceAll('_', ' ')}}</h6>\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") }}</p>\n </div>\n </div>\n </ng-template>\n </p-timeline>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </ng-container>\n\n <!-- Timeline Template -->\n <ng-template #timelineContainer>\n <div class=\"card border-0 shadow-sm mb-4\">\n <div class=\"card-header bg-warning text-dark py-2 f-16\">\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2\">\n <mat-icon>timeline</mat-icon>\n Order Timeline\n </h4>\n </div>\n <div class=\"card-body p-4\">\n <p-timeline [value]=\"orderTimiline\">\n <ng-template pTemplate=\"content\" let-event>\n <div class=\"d-flex align-items-start gap-3 py-3\">\n <div class=\"bg-primary rounded-circle p-2 d-flex align-items-center justify-content-center\"\n style=\"width: 40px; height: 40px;\">\n <mat-icon class=\"text-white fs-6 d-flex align-items-center justify-content-center\">{{\n event.icon }}</mat-icon>\n </div>\n <div class=\"flex-grow-1\">\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") | titlecase }}\n </h6>\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") | titlecase }}</p>\n </div>\n </div>\n </ng-template>\n </p-timeline>\n </div>\n </div>\n </ng-template>\n\n <!-- Loading Skeleton -->\n <div class=\"container-fluid py-4\" *ngIf=\"false\">\n <div class=\"row\">\n <div class=\"col-12\">\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\n width: '100%',\n height: '60vh',\n 'border-radius': '12px',\n 'margin': '20px 0'\n }\"></ngx-skeleton-loader>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #showEmptyScreen>\n <section class=\"empty-cart m-auto\">\n <div>\n <div class=\"cart-image\">\n <img loading=\"lazy\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\"\n >\n </div>\n <div class=\"cart-text \">\n <!-- <ng-container *ngFor=\"let text of content?.inputText\"> -->\n <div class=\"heading-medium d-flex justify-content-center content-side\">\n <div class=\"heading-medium\">No Booked Appointment</div>\n </div>\n <!-- </ng-container> -->\n </div>\n </div>\n </section>\n</ng-template>\n", styles: [".order-card{transition:all .3s ease;border-radius:12px!important;background:linear-gradient(135deg,#fff,#f8f9fa)}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a!important;border-color:#007bff!important}.order-card .card-body{position:relative;overflow:hidden}.order-card:before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--background-color);border-radius:0 4px 4px 0}.arrow-icon mat-icon{font-size:16px;transition:transform .3s ease}.order-card:hover .arrow-icon mat-icon{transform:translate(3px)}@media (max-width: 576px){.order-card .card-body{padding:1rem!important}.order-details .d-flex{flex-direction:column!important}.amount-section,.status-section{text-align:center}}.right{height:250px;padding:15px;background-color:#f8f8f8;border-radius:8px;color:#000}*{font-family:var(--website-font-family)}hr{border-top-width:2px;margin:15px 0}.f-13{font-size:13px}.f-16{font-size:16px}.fw-800{font-weight:800}.br-6{border-radius:6px}textarea{resize:unset}.action-btn>button{font-size:14px!important;border:none;width:fit-content!important;margin-top:5px;border-radius:3px;padding:5px 10px;background-color:tomato;color:#fff}.mat-icon{height:30px;width:30px;font-size:30px}.timeline{margin:25px 0}.onlyMobile{display:none}.track-order{background-color:#000;color:#fff;border:1px solid black;width:auto;border-radius:3px;padding:5px}@media only screen and (max-width: 475px){.onlyDesktop{display:none!important}.onlyMobile{display:block}.mat-icon{width:46px}.time-line{padding-bottom:6px}.right{width:98%!important;margin-bottom:4px!important;height:auto!important;padding:15px!important;margin-top:5%}.main-section{width:100%!important;flex-direction:column!important}.left{width:100%!important;padding:3%}.orderNum{margin-bottom:25px}}@media (min-width:768px) and (max-width:1024px){.left{padding:3%;width:70%}.right{width:28%!important;padding:2%;margin-top:10%;margin-right:3%}}.mt-25{margin-top:25px}.cp{cursor:pointer}.item-summary{box-shadow:0 0 4px #00000040;border-radius:12px}mat-icon{font-family:Material Icons!important}::ng-deep .p-rating-icon{color:#ffc107!important;font-size:1.25rem!important}::ng-deep .p-timeline-event-content{padding:0!important}::ng-deep .p-timeline-event-connector{background:#000!important;width:3px!important;position:absolute;bottom:-20px;height:55px;left:18px}.sbt-btn{border-radius:8px}::ng-deep .p-timeline-event-marker{display:none!important}@media screen and (min-width: 1200px){.scroll-45{overflow-y:scroll;height:45vh}.scroll-60{overflow-y:scroll;height:60vh}}.f-16{font-size:16px!important}.f-13{font-size:13px!important}@media (max-width: 575.98px){.display-6{font-size:1.5rem}.h3{font-size:1.25rem}}.gap-3{gap:1rem!important}.shadow-sm{box-shadow:0 .125rem .5rem #0000001a!important}.card-header{border-bottom:unset!important}.btn:hover{transform:translateY(-1px);transition:all .2s ease}.card:hover{transform:translateY(-2px);transition:all .3s ease}.bg-opacity-10{background-color:rgba(var(--bs-primary-rgb),.1)!important}.cursor-pointer{cursor:pointer}.transition-transform{transition:transform .3s ease}.rotate-180{transform:rotate(180deg)}.card-header:hover{opacity:.9;transition:opacity .2s ease}.card-body{transition:all .3s ease}.item{padding:0 10px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:20px}.item:last-child{border-bottom:none}.item-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;text-align:center;border:2px dashed #cbd5e1}.item-details{flex:1}.item-name{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:4px}.item-description{color:#64748b;font-size:14px;margin-bottom:8px}.item-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.item-price{text-align:right}.current-price{font-size:18px;font-weight:700;color:#0f172a}.original-price{font-size:14px;color:#94a3b8;text-decoration:line-through;margin-bottom:4px}.fs-1{font-size:1rem!important}.PENDING{background-color:#fffce1;color:#bdad18}.CONFIRMED{background-color:#ffe5d1;color:#d97a3b}.NO_SHOW{background-color:#d1e7ff;color:#3b82d9}.COMPLETED{color:#097d5f;background-color:#edfffa}.CANCELLED{background-color:#ffdddb;color:#c11a0f}.order-status{border-radius:2px;padding:5px 10px;font-size:12px}.cart-image{display:flex;justify-content:center}.cart-image img{width:17%}\n"] }]
93
93
  }], ctorParameters: () => [{ type: i1.RestService }, { type: i2.StorageServiceService }] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvbGlzdC1ob21lLWFwcG9pbnRtZW50L2xpc3QtaG9tZS1hcHBvaW50bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2xpc3QtaG9tZS1hcHBvaW50bWVudC9saXN0LWhvbWUtYXBwb2ludG1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBWWxELE1BQU0sT0FBTyw0QkFBNEI7SUFzQnZDLFlBQW9CLFdBQXdCLEVBQVUsY0FBcUM7UUFBdkUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFyQjNGLG9CQUFlLEdBQUc7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztRQUNGLGVBQVUsR0FBc0MsY0FBYyxDQUFBO1FBQ3ZELGtCQUFhLEdBQVE7WUFDMUI7Z0JBQ0UsY0FBYyxFQUFFLHNDQUFzQztnQkFDdEQsYUFBYSxFQUFFLHNDQUFzQztnQkFDckQsWUFBWSxFQUFFLHNDQUFzQztnQkFDcEQsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE1BQU0sRUFBRSxxQ0FBcUM7Z0JBQzdDLE1BQU0sRUFBRSwrQkFBK0I7Z0JBQ3ZDLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixhQUFhLEVBQUUsT0FBTzthQUN2QjtTQUNGLENBQUM7UUFDRix3QkFBbUIsR0FBVSxFQUFFLENBQUE7SUFHK0QsQ0FBQztJQUUvRixRQUFRO1FBRU4sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzFDLGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDakYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUE7UUFDckMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sT0FBTyxDQUFDLElBQXFFO1FBQ25GLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssV0FBVztnQkFDZCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxPQUFPLENBQUM7WUFDakIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQTBDO1FBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsaUJBQXNCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUE7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBRTVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNoRixPQUFPO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNwQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0JBQ25CLE1BQU0sRUFBRSxRQUFRLENBQUMsaUJBQWlCO2FBQ25DLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUE7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQTtJQUNoQyxDQUFDOytHQWhGVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qix1RkNqQnpDLG8wY0ErVEEsMDJJRGxUWSxhQUFhLG1MQUFFLFlBQVksaWtCQUFFLG9CQUFvQiw4TUFBRSxjQUFjOzs0RkFJaEUsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNFLDZCQUE2QixjQUMzQixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJVU0lORVNTX0NPTlNUQU5UUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9idXNpbmVzcy5jb25zdGFudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XHJcbmltcG9ydCB7IFRpbWVsaW5lTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90aW1lbGluZSc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdGltZSB9IGZyb20gJ2NvbnNvbGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1saXN0LWhvbWUtYXBwb2ludG1lbnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdEljb25Nb2R1bGUsIENvbW1vbk1vZHVsZSwgU2ltcG9Db21wb25lbnRNb2R1bGUsIFRpbWVsaW5lTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SG9tZUFwcG9pbnRtZW50Q29tcG9uZW50IHtcclxuICBzZWN0aW9uc1Zpc2libGUgPSB7XHJcbiAgICBiaWxsRGV0YWlsczogdHJ1ZSxcclxuICAgIGRlbGl2ZXJ5RGV0YWlsczogZmFsc2UsXHJcbiAgICB0aW1lbGluZTogZmFsc2VcclxuICB9O1xyXG4gIGN1cnJlbnRUYWI6ICdCT09LSU5HX0xJU1QnIHwgJ0JPT0tJTkdfREVUQUlMJyA9ICdCT09LSU5HX0xJU1QnXHJcbiAgcHVibGljIG9yZGVyVGltaWxpbmU6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgXCJicmFuZE9yZGVySWRcIjogXCIxZjA2OTJiNS1iYzM3LTZhZWYtOTc5Ny0zMzcxOGNhOTAzNGRcIixcclxuICAgICAgXCJ1c2VyT3JkZXJJZFwiOiBcIjFmMDY5MmI1LWJjMjQtNjI2ZS05Nzk3LTIxZGZhYWMzYzQ1MlwiLFxyXG4gICAgICBcImJ1c2luZXNzSWRcIjogXCIxZjA1ZjA4NS1kODY1LTZiYzUtODJiNC0wNTcwNjY3ZDZmNWVcIixcclxuICAgICAgXCJ0aXRsZVwiOiBcIk9yZGVyIENyZWF0ZWRcIixcclxuICAgICAgXCJib2R5XCI6IFwiT3JkZXIgI0NBUjAwOSBDcmVhdGVkIG9uIDI1LTA3LTIwMjVcIixcclxuICAgICAgXCJkYXRlXCI6IFwiMjAyNS0wNy0yNVQwNzo0NTozOS4yNTYrMDA6MDBcIixcclxuICAgICAgXCJvcmRlclN0YXR1c1wiOiBcIk9SREVSX1BMQUNFRFwiLFxyXG4gICAgICBcInRpbWVsaW5lRm9yXCI6IFwiT1JERVJcIlxyXG4gICAgfVxyXG4gIF07XHJcbiAgaG9tZUFwcG9pbnRtZW50TGlzdDogYW55W10gPSBbXVxyXG4gIGFwcG9pbnRtZW50RGV0YWlsczogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSwgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmdldEhvbWVBcHBvaW50bWVudExpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldEhvbWVBcHBvaW50bWVudExpc3QoKSB7XHJcbiAgICBjb25zdCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKClcclxuICAgIC8vIGNvbnN0IHVzZXIgPSB7dXNlcklkOiAnNWFkNDBkZjUtNjAwNS00MDFkLTkyMjMtMjRkMzM2YWNmZGRmJ31cclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0SG9tZUFwcG9pbnRtZW50TGlzdCh1c2VyPy51c2VySWQgPz8gJycpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5ob21lQXBwb2ludG1lbnRMaXN0ID0gcmVzLmRhdGFcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEljb24odHlwZTogXCJQRU5ESU5HXCIgfCBcIkNPTkZJUk1FRFwiIHwgXCJOT19TSE9XXCIgfCBcIkNPTVBMRVRFRFwiIHwgXCJDQU5DRUxMRURcIikge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgXCJQRU5ESU5HXCI6XHJcbiAgICAgIGNhc2UgXCJDT05GSVJNRURcIjpcclxuICAgICAgICByZXR1cm4gXCJ3aWRnZXRzXCI7XHJcbiAgICAgIGNhc2UgXCJOT19TSE9XXCI6XHJcbiAgICAgICAgcmV0dXJuIFwibG9jYWxfc2hpcHBpbmdcIjtcclxuICAgICAgY2FzZSBcIkNPTVBMRVRFRFwiOlxyXG4gICAgICAgIHJldHVybiBcImluYm94XCI7XHJcbiAgICAgIGNhc2UgXCJDQU5DRUxMRURcIjpcclxuICAgICAgICByZXR1cm4gXCJjYW5jZWxcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlY3Rpb24oc2VjdGlvbjoga2V5b2YgdHlwZW9mIHRoaXMuc2VjdGlvbnNWaXNpYmxlKSB7XHJcbiAgICB0aGlzLnNlY3Rpb25zVmlzaWJsZVtzZWN0aW9uXSA9ICF0aGlzLnNlY3Rpb25zVmlzaWJsZVtzZWN0aW9uXTtcclxuICB9XHJcblxyXG4gIGdldCBjdXJyZW5jeSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEJVU0lORVNTX0NPTlNUQU5UUy5DVVJSRU5DWTtcclxuICB9XHJcblxyXG4gIGdldCBpc01vYmlsZSgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XHJcbiAgfVxyXG5cclxuICB2aWV3Qm9va2luZ0RldGFpbChhcHBvaW50bWVudERldGFpbDogYW55KSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSAnQk9PS0lOR19ERVRBSUwnXHJcbiAgICB0aGlzLmFwcG9pbnRtZW50RGV0YWlscyA9IGFwcG9pbnRtZW50RGV0YWlsO1xyXG5cclxuICAgIHRoaXMub3JkZXJUaW1pbGluZSA9IHRoaXMuYXBwb2ludG1lbnREZXRhaWxzPy50aW1lTGluZUxpc3Q/Lm1hcCgodGltZWxpbmU6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGljb246IHRoaXMuZ2V0SWNvbih0aW1lbGluZS5hcHBvaW50bWVudFN0YXR1cyksXHJcbiAgICAgICAgbmFtZTogdGltZWxpbmUudGl0bGUsXHJcbiAgICAgICAgZGVzYzogdGltZWxpbmUuYm9keSxcclxuICAgICAgICBzdGF0dXM6IHRpbWVsaW5lLmFwcG9pbnRtZW50U3RhdHVzXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBiYWNrVG9BcHBvaW50bWVudExpc3QoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSAnQk9PS0lOR19MSVNUJ1xyXG4gICAgdGhpcy5hcHBvaW50bWVudERldGFpbHMgPSBudWxsXHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdCT09LSU5HX0xJU1QnXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaG9tZUFwcG9pbnRtZW50TGlzdC5sZW5ndGggPT0gMFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2hvd0VtcHR5U2NyZWVuXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGFwcG9pbnRtZW50IG9mIGhvbWVBcHBvaW50bWVudExpc3RcIiBjbGFzcz1cImNvbC1tZC00IGNvbC0xMlwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwb2ludG1lbnRDYXJkO2NvbnRleHQ6e2RhdGE6IGFwcG9pbnRtZW50fVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdCT09LSU5HX0RFVEFJTCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJCb29raW5nRGV0YWlsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPG5nLXRlbXBsYXRlICNhcHBvaW50bWVudENhcmQgbGV0LWFwcG9pbnRtZW50PVwiZGF0YVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIHNoYWRvdy1zbSBib3JkZXItMCBtYi0yIGN1cnNvci1wb2ludGVyIG9yZGVyLWNhcmRcIiAoY2xpY2spPVwidmlld0Jvb2tpbmdEZXRhaWwoYXBwb2ludG1lbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtM1wiPlxyXG4gICAgICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyLW51bWJlclwiPlxyXG4gICAgICAgICAgPGg0IGNsYXNzPVwibWItMCAgZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50LmFwcG9pbnRtZW50RGlzcGxheUlkfX08L2g0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJvdy1pY29uXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ZXh0LW11dGVkXCI+YXJyb3dfZm9yd2FyZF9pb3M8L21hdC1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSBNaWRkbGUgU2VjdGlvbiAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyLWRldGFpbHNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtc20tcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTNcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbCBtYi0zIG1iLXNtLTBcIj5cclxuICAgICAgICAgICAge3thcHBvaW50bWVudC50aW1lfX0ge3thcHBvaW50bWVudC5kYXRlfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiYW1vdW50LXNlY3Rpb25cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaDUgbWItMCB0ZXh0LXN1Y2Nlc3MgZnctYm9sZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAxMjNcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1zZWN0aW9uXCI+XHJcbiAgICAgICAgICA8c3BhbiBbYXR0ci5jbGFzc109XCJhcHBvaW50bWVudC5zdGF0dXMgKyAnIG9yZGVyLXN0YXR1cydcIj5cclxuICAgICAgICAgICAge3thcHBvaW50bWVudC5zdGF0dXMucmVwbGFjZUFsbCgnXycsICcgJyl9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNCb29raW5nRGV0YWlsPlxyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcblxyXG4gICAgICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJiYWNrVG9BcHBvaW50bWVudExpc3QoKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5rZXlib2FyZF9iYWNrc3BhY2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJmdy1ib2xkIHRleHQtZGFyayBtYi0wXCI+e3thcHBvaW50bWVudERldGFpbHMuYXBwb2ludG1lbnREaXNwbGF5SWR9fTwvaDM+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGdhcC0yIG1iLTJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmcy01IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXN0YXJ0XCI+c2NoZWR1bGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDxzbWFsbD57e2FwcG9pbnRtZW50RGV0YWlscy50aW1lfX0ge3thcHBvaW50bWVudERldGFpbHMuZGF0ZX19PC9zbWFsbD5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZzLTUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+c2hvcHBpbmdfYmFnPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8c21hbGw+e3thcHBvaW50bWVudERldGFpbHM/Lml0ZW1zPy5sZW5ndGggPz8gMH19XHJcbiAgICAgICAgICAgICAgICBpdGVtczwvc21hbGw+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gTW9iaWxlIEhlYWRlciAtLT5cclxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMCBzaGFkb3ctc20gbWItM1wiICpuZ0lmPVwiaXNNb2JpbGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgcHktM1wiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwiaDQgbWItMCBmdy1zZW1pYm9sZFwiPnt7YXBwb2ludG1lbnREZXRhaWxzLmFwcG9pbnRtZW50RGlzcGxheUlkfX08L2gyPlxyXG4gICAgICAgICAgPGRpdj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTRcIj5cclxuICAgICAgICA8IS0tIExlZnQgQ29sdW1uIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiBbbmdDbGFzc109XCJ7J2NvbC1sZy04JzogIWlzTW9iaWxlfVwiPlxyXG5cclxuICAgICAgICAgIDwhLS0gVGltZWxpbmUgZm9yIERlc2t0b3AgLS0+XHJcblxyXG4gICAgICAgICAgPCEtLSBJdGVtcyBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLTAgc2hhZG93LXNtIG1iLTRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHB5LTNcIj5cclxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJoNSBtYi0wIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgZi0xNlwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnNob3BwaW5nX2NhcnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgSXRlbXNcclxuICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTQgc2Nyb2xsLTQ1XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhcHBvaW50bWVudERldGFpbHM/Lml0ZW1zID8/IFtdXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0taW1hZ2VcIiAqbmdJZj1cIiFpdGVtLmltZ1VybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgTk8gSU1BR0U8YnI+QVZBSUxBQkxFXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIml0ZW0taW1hZ2VcIiBbc3JjXT1cIml0ZW0uaW1nVXJsXCIgYWx0PVwiXCIgKm5nSWY9XCJpdGVtLmltZ1VybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWVcIj57e2l0ZW0uaXRlbU5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiaXRlbS1kZXNjcmlwdGlvblwiPkhpZ2gtcXVhbGl0eSB0ZXN0IGl0ZW0gd2l0aCBhZHZhbmNlZCBmZWF0dXJlcyBhbmQgcHJlbWl1bSBtYXRlcmlhbHM8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpdGVtLW1ldGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlNLVTogVFNULTAwMTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlF0eTogMTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPldlaWdodDogMi41IGxiczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXByaWNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VycmVudC1wcmljZVwiPuKCuXt7aXRlbS5kaXNjb3VudGVkUHJpY2V9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gVGltZWxpbmUgZm9yIE1vYmlsZSAtLT5cclxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTW9iaWxlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aW1lbGluZUNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIFJpZ2h0IENvbHVtbiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHNjcm9sbC02MFwiIFtuZ0NsYXNzXT1cInsnY29sLWxnLTQnOiAhaXNNb2JpbGV9XCI+XHJcblxyXG4gICAgICAgICAgPCEtLSBCaWxsIERldGFpbHMgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMCBzaGFkb3ctc20gbWItNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcHktMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVTZWN0aW9uKCdiaWxsRGV0YWlscycpXCI+XHJcbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGYtMTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5yZWNlaXB0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgQmlsbCBEZXRhaWxzXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRyYW5zaXRpb24tdHJhbnNmb3JtXCIgW2NsYXNzLnJvdGF0ZS0xODBdPVwiIXNlY3Rpb25zVmlzaWJsZS5iaWxsRGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICBleHBhbmRfbW9yZVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTRcIiBbY2xhc3MuZC1ub25lXT1cIiFzZWN0aW9uc1Zpc2libGUuYmlsbERldGFpbHNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBweS0yIGJvcmRlci1ib3R0b21cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIEZyZWUgVHJpYWxcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGQgdGV4dC1zdWNjZXNzIGg2IG1iLTBcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJjdXJyZW5jeVwiPjwvc3Bhbj4wXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTIgYm9yZGVyLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgU2VydmljZSBDaGFyZ2VcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCB0ZXh0LXN1Y2Nlc3MgaDYgbWItMFwiPkZSRUU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTMgIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBoNSBtYi0wIHRleHQtZGFyayBmcy0xXCI+R3JhbmQgVG90YWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgaDQgbWItMCBmcy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+MFxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gQ3VzdG9tZXIgRGV0YWlscyAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBtYi00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweS0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ2RlbGl2ZXJ5RGV0YWlscycpXCI+XHJcbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGYtMTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICBDdXN0b21lciBEZXRhaWxzXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRyYW5zaXRpb24tdHJhbnNmb3JtXCIgW2NsYXNzLnJvdGF0ZS0xODBdPVwiIXNlY3Rpb25zVmlzaWJsZS5kZWxpdmVyeURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgZXhwYW5kX21vcmVcclxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00XCIgW2NsYXNzLmQtbm9uZV09XCIhc2VjdGlvbnNWaXNpYmxlLmRlbGl2ZXJ5RGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMyBwLTIgYmctbGlnaHQgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWQgZC1ibG9ja1wiPk5hbWU8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlck5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zIHAtMiBiZy1saWdodCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZCBkLWJsb2NrXCI+UGhvbmU8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlclBob25lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0zIHAtMiBiZy1saWdodCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZCBkLWJsb2NrXCI+QWRkcmVzczwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1zZW1pYm9sZFwiPnt7YXBwb2ludG1lbnREZXRhaWxzLmFkZHJlc3NEZXRhaWxzLmFkZHJlc3NMaW5lMX19XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy56aXBDb2RlfX0ge3thcHBvaW50bWVudERldGFpbHMuYWRkcmVzc0RldGFpbHMuY2l0eU5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAge3thcHBvaW50bWVudERldGFpbHMuYWRkcmVzc0RldGFpbHMuc3RhdGVOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gVGltZWxpbmUgU2VjdGlvbiBmb3IgRGVza3RvcCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBtYi00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweS0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ3RpbWVsaW5lJylcIj5cclxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJoNSBtYi0wIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZi0xNlxyXG5cclxuICAgIFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnRpbWVsaW5lPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgT3JkZXIgVGltZWxpbmVcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidHJhbnNpdGlvbi10cmFuc2Zvcm1cIiBbY2xhc3Mucm90YXRlLTE4MF09XCIhc2VjdGlvbnNWaXNpYmxlLnRpbWVsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgIGV4cGFuZF9tb3JlXHJcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvaDQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtNFwiIFtjbGFzcy5kLW5vbmVdPVwiIXNlY3Rpb25zVmlzaWJsZS50aW1lbGluZVwiPlxyXG4gICAgICAgICAgICAgIDxwLXRpbWVsaW5lIFt2YWx1ZV09XCJvcmRlclRpbWlsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiIGxldC1ldmVudD5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBnYXAtMyBweS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtY2lyY2xlIHAtMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZnMtNiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImZ3LXNlbWlib2xkIHRleHQtZGFyayBtYi0xXCI+e3sgZXZlbnQubmFtZT8ucmVwbGFjZUFsbChcIl9cIiwgXCIgXCIpIHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVjYXNlIH19IHt7ZXZlbnQuc3RhdHVzLnJlcGxhY2VBbGwoJ18nLCAnICcpfX08L2g2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW11dGVkIG1iLTAgc21hbGxcIj57eyBldmVudC5kZXNjPy5yZXBsYWNlQWxsKFwiX1wiLCBcIiBcIikgfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtdGltZWxpbmU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tIFRpbWVsaW5lIFRlbXBsYXRlIC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSAjdGltZWxpbmVDb250YWluZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMCBzaGFkb3ctc20gbWItNFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYmctd2FybmluZyB0ZXh0LWRhcmsgcHktMiBmLTE2XCI+XHJcbiAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+dGltZWxpbmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgT3JkZXIgVGltZWxpbmVcclxuICAgICAgICA8L2g0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTRcIj5cclxuICAgICAgICA8cC10aW1lbGluZSBbdmFsdWVdPVwib3JkZXJUaW1pbGluZVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiBsZXQtZXZlbnQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTMgcHktM1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1wcmltYXJ5IHJvdW5kZWQtY2lyY2xlIHAtMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGV4dC13aGl0ZSBmcy02IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIGV2ZW50Lmljb24gfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiZnctc2VtaWJvbGQgdGV4dC1kYXJrIG1iLTFcIj57eyBldmVudC5uYW1lPy5yZXBsYWNlQWxsKFwiX1wiLCBcIiBcIikgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICAgICAgICAgIDwvaDY+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtbXV0ZWQgbWItMCBzbWFsbFwiPnt7IGV2ZW50LmRlc2M/LnJlcGxhY2VBbGwoXCJfXCIsIFwiIFwiKSB8IHRpdGxlY2FzZSB9fTwvcD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvcC10aW1lbGluZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8IS0tIExvYWRpbmcgU2tlbGV0b24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBweS00XCIgKm5nSWY9XCJmYWxzZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMnB4JyxcclxuICAgICAgICAgICAgICAgICdtYXJnaW4nOiAnMjBweCAwJ1xyXG4gICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNzaG93RW1wdHlTY3JlZW4+XHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJlbXB0eS1jYXJ0IG0tYXV0b1wiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtaW1hZ2VcIj5cclxuICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xMDcyMTNjMTcxNjU0MzMzNDA0MGVtcHR5LWNhcnQucG5nXCJcclxuICAgICAgICAgID5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LXRleHQgXCI+XHJcbiAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGNvbnRlbnQ/LmlucHV0VGV4dFwiPiAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBjb250ZW50LXNpZGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+Tm8gQm9va2VkIEFwcG9pbnRtZW50PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L3NlY3Rpb24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvbGlzdC1ob21lLWFwcG9pbnRtZW50L2xpc3QtaG9tZS1hcHBvaW50bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2xpc3QtaG9tZS1hcHBvaW50bWVudC9saXN0LWhvbWUtYXBwb2ludG1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBWWxELE1BQU0sT0FBTyw0QkFBNEI7SUFzQnZDLFlBQW9CLFdBQXdCLEVBQVUsY0FBcUM7UUFBdkUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFyQjNGLG9CQUFlLEdBQUc7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztRQUNGLGVBQVUsR0FBc0MsY0FBYyxDQUFBO1FBQ3ZELGtCQUFhLEdBQVE7WUFDMUI7Z0JBQ0UsY0FBYyxFQUFFLHNDQUFzQztnQkFDdEQsYUFBYSxFQUFFLHNDQUFzQztnQkFDckQsWUFBWSxFQUFFLHNDQUFzQztnQkFDcEQsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE1BQU0sRUFBRSxxQ0FBcUM7Z0JBQzdDLE1BQU0sRUFBRSwrQkFBK0I7Z0JBQ3ZDLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixhQUFhLEVBQUUsT0FBTzthQUN2QjtTQUNGLENBQUM7UUFDRix3QkFBbUIsR0FBVSxFQUFFLENBQUE7SUFHK0QsQ0FBQztJQUUvRixRQUFRO1FBRU4sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzFDLGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDakYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUE7UUFDckMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sT0FBTyxDQUFDLElBQXFFO1FBQ25GLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssV0FBVztnQkFDZCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxPQUFPLENBQUM7WUFDakIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQTBDO1FBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsaUJBQXNCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUE7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBRTVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNoRixPQUFPO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNwQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0JBQ25CLE1BQU0sRUFBRSxRQUFRLENBQUMsaUJBQWlCO2FBQ25DLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUE7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQTtJQUNoQyxDQUFDOytHQWhGVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qix1RkNqQnpDLHNzYkErVEEsMDJJRGxUWSxhQUFhLG1MQUFFLFlBQVksaWtCQUFFLG9CQUFvQiw4TUFBRSxjQUFjOzs0RkFJaEUsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNFLDZCQUE2QixjQUMzQixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQlVTSU5FU1NfQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2J1c2luZXNzLmNvbnN0YW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTaW1wb0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xuaW1wb3J0IHsgVGltZWxpbmVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RpbWVsaW5lJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyB0aW1lIH0gZnJvbSAnY29uc29sZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLWxpc3QtaG9tZS1hcHBvaW50bWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJY29uTW9kdWxlLCBDb21tb25Nb2R1bGUsIFNpbXBvQ29tcG9uZW50TW9kdWxlLCBUaW1lbGluZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWhvbWUtYXBwb2ludG1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIExpc3RIb21lQXBwb2ludG1lbnRDb21wb25lbnQge1xuICBzZWN0aW9uc1Zpc2libGUgPSB7XG4gICAgYmlsbERldGFpbHM6IHRydWUsXG4gICAgZGVsaXZlcnlEZXRhaWxzOiBmYWxzZSxcbiAgICB0aW1lbGluZTogZmFsc2VcbiAgfTtcbiAgY3VycmVudFRhYjogJ0JPT0tJTkdfTElTVCcgfCAnQk9PS0lOR19ERVRBSUwnID0gJ0JPT0tJTkdfTElTVCdcbiAgcHVibGljIG9yZGVyVGltaWxpbmU6IGFueSA9IFtcbiAgICB7XG4gICAgICBcImJyYW5kT3JkZXJJZFwiOiBcIjFmMDY5MmI1LWJjMzctNmFlZi05Nzk3LTMzNzE4Y2E5MDM0ZFwiLFxuICAgICAgXCJ1c2VyT3JkZXJJZFwiOiBcIjFmMDY5MmI1LWJjMjQtNjI2ZS05Nzk3LTIxZGZhYWMzYzQ1MlwiLFxuICAgICAgXCJidXNpbmVzc0lkXCI6IFwiMWYwNWYwODUtZDg2NS02YmM1LTgyYjQtMDU3MDY2N2Q2ZjVlXCIsXG4gICAgICBcInRpdGxlXCI6IFwiT3JkZXIgQ3JlYXRlZFwiLFxuICAgICAgXCJib2R5XCI6IFwiT3JkZXIgI0NBUjAwOSBDcmVhdGVkIG9uIDI1LTA3LTIwMjVcIixcbiAgICAgIFwiZGF0ZVwiOiBcIjIwMjUtMDctMjVUMDc6NDU6MzkuMjU2KzAwOjAwXCIsXG4gICAgICBcIm9yZGVyU3RhdHVzXCI6IFwiT1JERVJfUExBQ0VEXCIsXG4gICAgICBcInRpbWVsaW5lRm9yXCI6IFwiT1JERVJcIlxuICAgIH1cbiAgXTtcbiAgaG9tZUFwcG9pbnRtZW50TGlzdDogYW55W10gPSBbXVxuICBhcHBvaW50bWVudERldGFpbHM6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSwgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5nZXRIb21lQXBwb2ludG1lbnRMaXN0KCk7XG4gIH1cblxuICBnZXRIb21lQXBwb2ludG1lbnRMaXN0KCkge1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKVxuICAgIC8vIGNvbnN0IHVzZXIgPSB7dXNlcklkOiAnNWFkNDBkZjUtNjAwNS00MDFkLTkyMjMtMjRkMzM2YWNmZGRmJ31cbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldEhvbWVBcHBvaW50bWVudExpc3QodXNlcj8udXNlcklkID8/ICcnKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICB0aGlzLmhvbWVBcHBvaW50bWVudExpc3QgPSByZXMuZGF0YVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGdldEljb24odHlwZTogXCJQRU5ESU5HXCIgfCBcIkNPTkZJUk1FRFwiIHwgXCJOT19TSE9XXCIgfCBcIkNPTVBMRVRFRFwiIHwgXCJDQU5DRUxMRURcIikge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcIlBFTkRJTkdcIjpcbiAgICAgIGNhc2UgXCJDT05GSVJNRURcIjpcbiAgICAgICAgcmV0dXJuIFwid2lkZ2V0c1wiO1xuICAgICAgY2FzZSBcIk5PX1NIT1dcIjpcbiAgICAgICAgcmV0dXJuIFwibG9jYWxfc2hpcHBpbmdcIjtcbiAgICAgIGNhc2UgXCJDT01QTEVURURcIjpcbiAgICAgICAgcmV0dXJuIFwiaW5ib3hcIjtcbiAgICAgIGNhc2UgXCJDQU5DRUxMRURcIjpcbiAgICAgICAgcmV0dXJuIFwiY2FuY2VsXCI7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VjdGlvbihzZWN0aW9uOiBrZXlvZiB0eXBlb2YgdGhpcy5zZWN0aW9uc1Zpc2libGUpIHtcbiAgICB0aGlzLnNlY3Rpb25zVmlzaWJsZVtzZWN0aW9uXSA9ICF0aGlzLnNlY3Rpb25zVmlzaWJsZVtzZWN0aW9uXTtcbiAgfVxuXG4gIGdldCBjdXJyZW5jeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBCVVNJTkVTU19DT05TVEFOVFMuQ1VSUkVOQ1k7XG4gIH1cblxuICBnZXQgaXNNb2JpbGUoKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NTtcbiAgfVxuXG4gIHZpZXdCb29raW5nRGV0YWlsKGFwcG9pbnRtZW50RGV0YWlsOiBhbnkpIHtcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSAnQk9PS0lOR19ERVRBSUwnXG4gICAgdGhpcy5hcHBvaW50bWVudERldGFpbHMgPSBhcHBvaW50bWVudERldGFpbDtcblxuICAgIHRoaXMub3JkZXJUaW1pbGluZSA9IHRoaXMuYXBwb2ludG1lbnREZXRhaWxzPy50aW1lTGluZUxpc3Q/Lm1hcCgodGltZWxpbmU6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvbjogdGhpcy5nZXRJY29uKHRpbWVsaW5lLmFwcG9pbnRtZW50U3RhdHVzKSxcbiAgICAgICAgbmFtZTogdGltZWxpbmUudGl0bGUsXG4gICAgICAgIGRlc2M6IHRpbWVsaW5lLmJvZHksXG4gICAgICAgIHN0YXR1czogdGltZWxpbmUuYXBwb2ludG1lbnRTdGF0dXNcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgYmFja1RvQXBwb2ludG1lbnRMaXN0KCkge1xuICAgIHRoaXMuY3VycmVudFRhYiA9ICdCT09LSU5HX0xJU1QnXG4gICAgdGhpcy5hcHBvaW50bWVudERldGFpbHMgPSBudWxsXG4gIH1cbn1cbiIsIjxzZWN0aW9uPlxuICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCJjdXJyZW50VGFiID09PSAnQk9PS0lOR19MSVNUJ1wiPlxuICAgIDxkaXYgKm5nSWY9XCJob21lQXBwb2ludG1lbnRMaXN0Lmxlbmd0aCA9PSAwXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2hvd0VtcHR5U2NyZWVuXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgYXBwb2ludG1lbnQgb2YgaG9tZUFwcG9pbnRtZW50TGlzdFwiIGNsYXNzPVwiY29sLW1kLTQgY29sLTEyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwb2ludG1lbnRDYXJkO2NvbnRleHQ6e2RhdGE6IGFwcG9pbnRtZW50fVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdCT09LSU5HX0RFVEFJTCdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiQm9va2luZ0RldGFpbFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cbjxuZy10ZW1wbGF0ZSAjYXBwb2ludG1lbnRDYXJkIGxldC1hcHBvaW50bWVudD1cImRhdGFcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQgc2hhZG93LXNtIGJvcmRlci0wIG1iLTIgY3Vyc29yLXBvaW50ZXIgb3JkZXItY2FyZFwiIChjbGljayk9XCJ2aWV3Qm9va2luZ0RldGFpbChhcHBvaW50bWVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtM1wiPlxuICAgICAgPCEtLSBIZWFkZXIgU2VjdGlvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG1iLTNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyLW51bWJlclwiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cIm1iLTAgIGZ3LXNlbWlib2xkXCI+e3thcHBvaW50bWVudC5hcHBvaW50bWVudERpc3BsYXlJZH19PC9oND5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJvdy1pY29uXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGV4dC1tdXRlZFwiPmFycm93X2ZvcndhcmRfaW9zPC9tYXQtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gTWlkZGxlIFNlY3Rpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwib3JkZXItZGV0YWlsc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtc20tcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTNcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGwgbWItMyBtYi1zbS0wXCI+XG4gICAgICAgICAgICB7e2FwcG9pbnRtZW50LnRpbWV9fSB7e2FwcG9pbnRtZW50LmRhdGV9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImFtb3VudC1zZWN0aW9uXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoNSBtYi0wIHRleHQtc3VjY2VzcyBmdy1ib2xkXCI+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPlxuICAgICAgICAgICAgMTIzXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtc2VjdGlvblwiPlxuICAgICAgICAgIDxzcGFuIFthdHRyLmNsYXNzXT1cImFwcG9pbnRtZW50LnN0YXR1cyArICcgb3JkZXItc3RhdHVzJ1wiPlxuICAgICAgICAgICAge3thcHBvaW50bWVudC5zdGF0dXMucmVwbGFjZUFsbCgnXycsICcgJyl9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI0Jvb2tpbmdEZXRhaWw+XG4gIDxuZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuXG4gICAgICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiYmFja1RvQXBwb2ludG1lbnRMaXN0KClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+a2V5Ym9hcmRfYmFja3NwYWNlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxoMyBjbGFzcz1cImZ3LWJvbGQgdGV4dC1kYXJrIG1iLTBcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hcHBvaW50bWVudERpc3BsYXlJZH19PC9oMz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBnYXAtMiBtYi0yXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmcy01IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXN0YXJ0XCI+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8c21hbGw+e3thcHBvaW50bWVudERldGFpbHMudGltZX19IHt7YXBwb2ludG1lbnREZXRhaWxzLmRhdGV9fTwvc21hbGw+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmcy01IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPnNob3BwaW5nX2JhZzwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxzbWFsbD57e2FwcG9pbnRtZW50RGV0YWlscz8uaXRlbXM/Lmxlbmd0aCA/PyAwfX1cbiAgICAgICAgICAgICAgICBpdGVtczwvc21hbGw+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gTW9iaWxlIEhlYWRlciAtLT5cbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLTAgc2hhZG93LXNtIG1iLTNcIiAqbmdJZj1cImlzTW9iaWxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBweS0zXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiaDQgbWItMCBmdy1zZW1pYm9sZFwiPnt7YXBwb2ludG1lbnREZXRhaWxzLmFwcG9pbnRtZW50RGlzcGxheUlkfX08L2gyPlxuICAgICAgICAgIDxkaXY+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+IC0tPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGctNFwiPlxuICAgICAgICA8IS0tIExlZnQgQ29sdW1uIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCIgW25nQ2xhc3NdPVwieydjb2wtbGctOCc6ICFpc01vYmlsZX1cIj5cblxuICAgICAgICAgIDwhLS0gVGltZWxpbmUgZm9yIERlc2t0b3AgLS0+XG5cbiAgICAgICAgICA8IS0tIEl0ZW1zIFNlY3Rpb24gLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLTAgc2hhZG93LXNtIG1iLTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweS0zXCI+XG4gICAgICAgICAgICAgIDxoNCBjbGFzcz1cImg1IG1iLTAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBmLTE2XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnNob3BwaW5nX2NhcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIEl0ZW1zXG4gICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00IHNjcm9sbC00NVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctM1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhcHBvaW50bWVudERldGFpbHM/Lml0ZW1zID8/IFtdXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1pbWFnZVwiICpuZ0lmPVwiIWl0ZW0uaW1nVXJsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgTk8gSU1BR0U8YnI+QVZBSUxBQkxFXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaXRlbS1pbWFnZVwiIFtzcmNdPVwiaXRlbS5pbWdVcmxcIiBhbHQ9XCJcIiAqbmdJZj1cIml0ZW0uaW1nVXJsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWRldGFpbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1uYW1lXCI+e3tpdGVtLml0ZW1OYW1lfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpdGVtLWRlc2NyaXB0aW9uXCI+SGlnaC1xdWFsaXR5IHRlc3QgaXRlbSB3aXRoIGFkdmFuY2VkIGZlYXR1cmVzIGFuZCBwcmVtaXVtIG1hdGVyaWFsczwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpdGVtLW1ldGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TS1U6IFRTVC0wMDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+UXR5OiAxPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPldlaWdodDogMi41IGxiczwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXByaWNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1cnJlbnQtcHJpY2VcIj7igrl7e2l0ZW0uZGlzY291bnRlZFByaWNlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gVGltZWxpbmUgZm9yIE1vYmlsZSAtLT5cbiAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01vYmlsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpbWVsaW5lQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFJpZ2h0IENvbHVtbiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBzY3JvbGwtNjBcIiBbbmdDbGFzc109XCJ7J2NvbC1sZy00JzogIWlzTW9iaWxlfVwiPlxuXG4gICAgICAgICAgPCEtLSBCaWxsIERldGFpbHMgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLTAgc2hhZG93LXNtIG1iLTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweS0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ2JpbGxEZXRhaWxzJylcIj5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGYtMTZcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnJlY2VpcHQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgQmlsbCBEZXRhaWxzXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidHJhbnNpdGlvbi10cmFuc2Zvcm1cIiBbY2xhc3Mucm90YXRlLTE4MF09XCIhc2VjdGlvbnNWaXNpYmxlLmJpbGxEZXRhaWxzXCI+XG4gICAgICAgICAgICAgICAgICBleHBhbmRfbW9yZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00XCIgW2NsYXNzLmQtbm9uZV09XCIhc2VjdGlvbnNWaXNpYmxlLmJpbGxEZXRhaWxzXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTIgYm9yZGVyLWJvdHRvbVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgICAgICBGcmVlIFRyaWFsXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGQgdGV4dC1zdWNjZXNzIGg2IG1iLTBcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+MFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgcHktMiBib3JkZXItYm90dG9tXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbXV0ZWRcIj5cbiAgICAgICAgICAgICAgICAgIFNlcnZpY2UgQ2hhcmdlXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCB0ZXh0LXN1Y2Nlc3MgaDYgbWItMFwiPkZSRUU8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTMgIHJvdW5kZWRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgaDUgbWItMCB0ZXh0LWRhcmsgZnMtMVwiPkdyYW5kIFRvdGFsPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBoNCBtYi0wIGZzLTFcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+MFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gQ3VzdG9tZXIgRGV0YWlscyAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMCBzaGFkb3ctc20gbWItNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHB5LTMgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidG9nZ2xlU2VjdGlvbignZGVsaXZlcnlEZXRhaWxzJylcIj5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGYtMTZcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnBlcnNvbjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICBDdXN0b21lciBEZXRhaWxzXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidHJhbnNpdGlvbi10cmFuc2Zvcm1cIiBbY2xhc3Mucm90YXRlLTE4MF09XCIhc2VjdGlvbnNWaXNpYmxlLmRlbGl2ZXJ5RGV0YWlsc1wiPlxuICAgICAgICAgICAgICAgICAgZXhwYW5kX21vcmVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtNFwiIFtjbGFzcy5kLW5vbmVdPVwiIXNlY3Rpb25zVmlzaWJsZS5kZWxpdmVyeURldGFpbHNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMyBwLTIgYmctbGlnaHQgcm91bmRlZFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZCBkLWJsb2NrXCI+TmFtZTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlck5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zIHAtMiBiZy1saWdodCByb3VuZGVkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LW11dGVkIGQtYmxvY2tcIj5QaG9uZTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlclBob25lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0zIHAtMiBiZy1saWdodCByb3VuZGVkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LW11dGVkIGQtYmxvY2tcIj5BZGRyZXNzPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1zZW1pYm9sZFwiPnt7YXBwb2ludG1lbnREZXRhaWxzLmFkZHJlc3NEZXRhaWxzLmFkZHJlc3NMaW5lMX19XG4gICAgICAgICAgICAgICAgICAgICAge3thcHBvaW50bWVudERldGFpbHMuYWRkcmVzc0RldGFpbHMuemlwQ29kZX19IHt7YXBwb2ludG1lbnREZXRhaWxzLmFkZHJlc3NEZXRhaWxzLmNpdHlOYW1lfX1cbiAgICAgICAgICAgICAgICAgICAgICB7e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5zdGF0ZU5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIFRpbWVsaW5lIFNlY3Rpb24gZm9yIERlc2t0b3AgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLTAgc2hhZG93LXNtIG1iLTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweS0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ3RpbWVsaW5lJylcIj5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGYtMTZcblxuICAgIFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+dGltZWxpbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgT3JkZXIgVGltZWxpbmVcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0cmFuc2l0aW9uLXRyYW5zZm9ybVwiIFtjbGFzcy5yb3RhdGUtMTgwXT1cIiFzZWN0aW9uc1Zpc2libGUudGltZWxpbmVcIj5cbiAgICAgICAgICAgICAgICAgIGV4cGFuZF9tb3JlXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTRcIiBbY2xhc3MuZC1ub25lXT1cIiFzZWN0aW9uc1Zpc2libGUudGltZWxpbmVcIj5cbiAgICAgICAgICAgICAgPHAtdGltZWxpbmUgW3ZhbHVlXT1cIm9yZGVyVGltaWxpbmVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiIGxldC1ldmVudD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTMgcHktM1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC1jaXJjbGUgcC0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZzLTYgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50Lmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiZnctc2VtaWJvbGQgdGV4dC1kYXJrIG1iLTFcIj57eyBldmVudC5uYW1lPy5yZXBsYWNlQWxsKFwiX1wiLCBcIiBcIikgfFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVjYXNlIH19IHt7ZXZlbnQuc3RhdHVzLnJlcGxhY2VBbGwoJ18nLCAnICcpfX08L2g2PlxuICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1tdXRlZCBtYi0wIHNtYWxsXCI+e3sgZXZlbnQuZGVzYz8ucmVwbGFjZUFsbChcIl9cIiwgXCIgXCIpIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvcC10aW1lbGluZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gVGltZWxpbmUgVGVtcGxhdGUgLS0+XG4gIDxuZy10ZW1wbGF0ZSAjdGltZWxpbmVDb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLTAgc2hhZG93LXNtIG1iLTRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBiZy13YXJuaW5nIHRleHQtZGFyayBweS0yIGYtMTZcIj5cbiAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgPG1hdC1pY29uPnRpbWVsaW5lPC9tYXQtaWNvbj5cbiAgICAgICAgICBPcmRlciBUaW1lbGluZVxuICAgICAgICA8L2g0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtNFwiPlxuICAgICAgICA8cC10aW1lbGluZSBbdmFsdWVdPVwib3JkZXJUaW1pbGluZVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCIgbGV0LWV2ZW50PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBnYXAtMyBweS0zXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1wcmltYXJ5IHJvdW5kZWQtY2lyY2xlIHAtMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ZXh0LXdoaXRlIGZzLTYgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+e3tcbiAgICAgICAgICAgICAgICAgIGV2ZW50Lmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiZnctc2VtaWJvbGQgdGV4dC1kYXJrIG1iLTFcIj57eyBldmVudC5uYW1lPy5yZXBsYWNlQWxsKFwiX1wiLCBcIiBcIikgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICAgICAgICA8L2g2PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1tdXRlZCBtYi0wIHNtYWxsXCI+e3sgZXZlbnQuZGVzYz8ucmVwbGFjZUFsbChcIl9cIiwgXCIgXCIpIHwgdGl0bGVjYXNlIH19PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcC10aW1lbGluZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gTG9hZGluZyBTa2VsZXRvbiAtLT5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBweS00XCIgKm5nSWY9XCJmYWxzZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICc2MHZoJyxcbiAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICAnbWFyZ2luJzogJzIwcHggMCdcbiAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3Nob3dFbXB0eVNjcmVlbj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJlbXB0eS1jYXJ0IG0tYXV0b1wiPlxuICAgIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FydC1pbWFnZVwiPlxuICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xMDcyMTNjMTcxNjU0MzMzNDA0MGVtcHR5LWNhcnQucG5nXCJcbiAgICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LXRleHQgXCI+XG4gICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGV4dCBvZiBjb250ZW50Py5pbnB1dFRleHRcIj4gLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbWVkaXVtIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGNvbnRlbnQtc2lkZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+Tm8gQm9va2VkIEFwcG9pbnRtZW50PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gPC9uZy1jb250YWluZXI+IC0tPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=