buildingproduct-library 0.3.0 → 0.3.2

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 (63) hide show
  1. package/{buildingproduct-library-0.3.0.tgz → buildingproduct-library-0.3.2.tgz} +0 -0
  2. package/bundles/buildingproduct-library.umd.js +255 -157
  3. package/bundles/buildingproduct-library.umd.js.map +1 -1
  4. package/esm2015/lib/account-dropdown/account-dropdown.component.js +1 -1
  5. package/esm2015/lib/checkout/add-new-address/add-new-address.component.js +1 -1
  6. package/esm2015/lib/checkout/custom-checkout/custom-checkout.component.js +1 -1
  7. package/esm2015/lib/checkout/order-confirmation/order-confirmation.component.js +1 -1
  8. package/esm2015/lib/checkout/order-review/delivery-information/delivery-information.component.js +1 -1
  9. package/esm2015/lib/checkout/order-review/order-review-grid/order-review-grid.component.js +4 -4
  10. package/esm2015/lib/checkout/order-review/order-review-list/order-review-list.component.js +1 -1
  11. package/esm2015/lib/checkout/order-review/order-review.component.js +1 -1
  12. package/esm2015/lib/contact-us/contact-us.component.js +1 -1
  13. package/esm2015/lib/custom-cart/addto-saved-carts/addto-saved-carts.component.js +1 -1
  14. package/esm2015/lib/custom-cart/custom-cart.component.js +1 -1
  15. package/esm2015/lib/custom-mini-cart/custom-mini-cart.component.js +2 -2
  16. package/esm2015/lib/custom-navigation/custom-navigation.component.js +1 -1
  17. package/esm2015/lib/custom-order-details/custom-order-details.component.js +1 -1
  18. package/esm2015/lib/custom-order-details/download-popup/download-popup.component.js +1 -1
  19. package/esm2015/lib/custom-order-details/order-detail-grid/order-detail-grid.component.js +1 -1
  20. package/esm2015/lib/custom-order-details/order-detail-list/order-detail-list.component.js +1 -1
  21. package/esm2015/lib/custom-order-history/custom-order-history.component.js +1 -1
  22. package/esm2015/lib/custom-order-history/slider-progress/slider-progress.component.js +1 -1
  23. package/esm2015/lib/custom-saved-cart/custom-saved-cart-details/custom-save-cart-dtl/custom-save-cart-dtl.component.js +1 -1
  24. package/esm2015/lib/custom-saved-cart/custom-saved-cart-details/saved-cart-details-action/saved-cart-details-action.component.js +1 -1
  25. package/esm2015/lib/custom-saved-cart/custom-saved-cart-details/saved-cart-details-overview/saved-cart-details-overview.component.js +1 -1
  26. package/esm2015/lib/custom-saved-cart/custom-saved-cart.component.js +1 -1
  27. package/esm2015/lib/custom-search/custom-search.component.js +1 -1
  28. package/esm2015/lib/custom-user-account/custom-user-account.component.js +1 -1
  29. package/esm2015/lib/delivery-details/delivery-details-grid/delivery-details-grid.component.js +1 -1
  30. package/esm2015/lib/delivery-details/delivery-details-list/delivery-details-list.component.js +1 -1
  31. package/esm2015/lib/delivery-details/delivery-details.component.js +1 -1
  32. package/esm2015/lib/find-store/find-store.component.js +1 -1
  33. package/esm2015/lib/help-support/help-support.component.js +1 -1
  34. package/esm2015/lib/my-account/account-dashboard/account-dashboard.component.js +1 -1
  35. package/esm2015/lib/my-account/account-statements/account-statements.component.js +2 -2
  36. package/esm2015/lib/my-account/invoice-credit/invoice-credit.component.js +1 -1
  37. package/esm2015/lib/my-account/my-account.component.js +1 -1
  38. package/esm2015/lib/my-deliveries/delivery-grid/delivery-grid.component.js +1 -1
  39. package/esm2015/lib/my-deliveries/delivery-list/delivery-list.component.js +1 -1
  40. package/esm2015/lib/my-deliveries/my-deliveries.component.js +1 -1
  41. package/esm2015/lib/my-reports/my-reports.component.js +36 -0
  42. package/esm2015/lib/my-reports/my-reports.module.js +70 -0
  43. package/esm2015/lib/my-team/my-team.component.js +1 -1
  44. package/esm2015/lib/shared/active-saved-cart/active-saved-cart.component.js +1 -1
  45. package/esm2015/lib/shared/custom-breadcrum/custom-breadcrum.component.js +1 -1
  46. package/esm2015/lib/shared/custom-cart-detail/bundlepopup/bundlepopup.component.js +1 -1
  47. package/esm2015/lib/shared/custom-cart-detail/custom-cart-detail.component.js +1 -1
  48. package/esm2015/lib/shared/custom-cart-detail/custom-cart-grid/custom-cart-grid.component.js +2 -2
  49. package/esm2015/lib/shared/custom-cart-detail/custom-cart-list/custom-cart-list.component.js +2 -2
  50. package/esm2015/lib/shared/custom-cart-detail/custom-product-quantity-form/custom-product-quantity-form.component.js +1 -1
  51. package/esm2015/lib/shared/custom-flashing-image-details/custom-flashing-image-details.component.js +1 -1
  52. package/esm2015/lib/shared/date-range-picker/date-range-picker.component.js +1 -1
  53. package/esm2015/lib/shared/pod-download-popup/pod-download-popup.component.js +1 -1
  54. package/esm2015/lib/shared/saved-cart-popup/saved-cart-popup.component.js +1 -1
  55. package/esm2015/lib/shared/shared-download-order/shared-download-order.component.js +1 -1
  56. package/esm2015/public-api.js +2 -1
  57. package/fesm2015/buildingproduct-library.js +251 -159
  58. package/fesm2015/buildingproduct-library.js.map +1 -1
  59. package/lib/checkout/order-review/order-review-grid/order-review-grid.component.d.ts +1 -1
  60. package/lib/my-reports/my-reports.component.d.ts +14 -0
  61. package/lib/my-reports/my-reports.module.d.ts +13 -0
  62. package/package.json +1 -1
  63. package/public-api.d.ts +1 -0
@@ -20,7 +20,7 @@ export class DeliveryInformationComponent {
20
20
  }
21
21
  }
22
22
  DeliveryInformationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DeliveryInformationComponent, deps: [{ token: i1.OrderReviewService }], target: i0.ɵɵFactoryTarget.Component });
23
- DeliveryInformationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DeliveryInformationComponent, selector: "app-delivery-information", ngImport: i0, template: "<div class=\"loading \" *ngIf=\"showWaitCursor | async \">Loading&#8230;</div>\r\n<div class=\"row\">\r\n <div class=\"col-sm-12 pl-md-0\">\r\n <h3 class=\"revieworder-heading\">Delivery Information <span class=\"review-edit-icon\"><a title=\"Delivery Information\" href=\"/checkout\"><img src=\"../../../assets/images/icon-feather-edit.svg\"></a></span></h3>\r\n </div>\r\n</div>\r\n<div class=\"row revieworder-header\">\r\n <div class=\"col-lg-4 col-sm-6 review-header-box text-center\">\r\n <p class=\"font-weight-bold\">Delivery Method</p>\r\n <ng-container *ngIf=\"orderReviewData?.deliveryMode?.code=='standard_delivery'; else pickupdelivery\">\r\n <p class=\"pickupdelivery\">\r\n <img class=\"pickupdelivery-image\" src=\"../../../../../assets/images/delivery.svg\" alt=\"Delivery\" title=\"Delivery\">\r\n </p>\r\n </ng-container>\r\n <ng-template #pickupdelivery>\r\n <p class=\"pickupdelivery\">\r\n <img class=\"pickupdelivery-image\" src=\"../../../../assets/images/pickup.svg\" alt=\"Click & Collect\" title=\"Click & Collect\">\r\n </p>\r\n </ng-template>\r\n <p class=\"font-weight-bold mb-0\">{{orderReviewData?.deliveryMode?.name}}</p>\r\n <p>{{orderReviewData?.deliveryMode?.description}}</p>\r\n </div>\r\n <div class=\"col-lg-4 col-sm-6 review-header-box\">\r\n <p class=\"font-weight-bold mb-0\">Purchase Order Number</p>\r\n <p>{{orderReviewData?.purchaseOrderNumber}}</p>\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-6\">\r\n <p class=\"font-weight-bold mb-0\"> {{orderReviewData?.deliveryMode?.code=='standard_delivery' ? 'Delivery Date' : 'Pickup Date'}}</p>\r\n <p>{{orderReviewData?.expectedFromDate.split(' ')[0] }}</p>\r\n </div>\r\n <div class=\"col-6 col-sm-6\">\r\n <p class=\"font-weight-bold mb-0\">{{orderReviewData?.deliveryMode?.code=='standard_delivery' ? 'Delivery Time' : 'Pickup Time'}}</p>\r\n <p>{{orderReviewData?.expectedFromDate.split(' ')[1] + ' ' + orderReviewData?.expectedFromDate.split(' ')[2]}} to {{ orderReviewData?.expectedToDate.split(' ')[1] + ' ' + orderReviewData?.expectedToDate.split(' ')[2] }}</p>\r\n </div>\r\n </div>\r\n <p class=\"font-weight-bold mb-0\">{{orderReviewData?.deliveryMode?.code=='standard_delivery' ? 'Delivery Address' : 'Pickup Location'}}</p>\r\n <p>{{orderReviewData?.deliveryAddress?.formattedAddress}}</p>\r\n </div>\r\n <div class=\"col-lg-4 col-sm-12 review-header-box\">\r\n <p class=\"font-weight-bold mb-0\">{{orderReviewData?.deliveryMode?.code=='standard_delivery' ? 'Site Delivery Requirements' : 'Comments'}}</p>\r\n <p>{{orderReviewData?.deliveryNotes}}</p>\r\n </div>\r\n</div>", styles: ["@charset \"UTF-8\";@media screen and (min-width: 1366px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: 1.063rem;--fontsize17-5: 1.1rem;--fontsize18: 1.125rem;--fontsize18-4: 1.5rem;--fontsize20: 1.25rem;--fontsize21: 1.313rem;--fontsize22: 1.375rem;--fontsize23: 1.438rem;--fontsize24: 1.5rem;--fontsize26: 1.625rem;--fontsize28: 1.75rem;--fontsize30: 1.625rem;--fontsize32: 2rem;--fontsize34: 2.125rem;--fontsize36: 2rem;--fontsize40: 2.25rem;--fontsize46: 2.875rem;--fontsize80: 5rem}}@media screen and (max-width: 1365px) and (min-width: 768px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2.875rem;--fontsize80: 3.5rem}}@media screen and (max-width: 767px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize16-5: .77rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize19: .938rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize26: 1.25rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2rem;--fontsize80: 2.5rem}}@font-face{font-family:icomoon;font-weight:400;src:url(../assets/fonts/icomoon.ttf) format(\"ttf\"),url(../assets/fonts/icomoon.woff) format(\"woff\");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:\"Arial Regular\";src:url(../assets/fonts/arial-webfont.woff) format(\"woff\"),url(../assets/fonts/arial-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Bold\";src:url(../assets/fonts/arialbold-webfont.woff) format(\"woff\"),url(../assets/fonts/arialbold-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Black\";src:url(../assets/fonts/arialblack-webfont.woff) format(\"woff\"),url(../assets/fonts/arialblack-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Reqular\";src:url(../assets/fonts/helveticaneue.woff) format(\"woff\"),url(../assets/fonts/helveticaneue.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Thin\";src:url(../assets/fonts/helveticaneuethin-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuethin-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Medium\";src:url(../assets/fonts/helveticaneuemedium-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuemedium-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;font-feature-settings:normal;font-variant:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;text-transform:none;font-display:swap}.icon-right:before{content:\"\\e902\"}.icon-materials:before{content:\"\\e900\"}.icon-natural-lighting:before{content:\"\\e90a\"}.icon-rainwater:before{content:\"\\e901\"}.icon-roofing:before{content:\"\\e90b\"}.icon-flashing{position:relative;display:inline-block;height:32px;text-align:center;width:32px}.icon-flashing:before,.mainnav-link-level-2.show .navTagChild .icon-flashing:before{content:url(../assets/images/icon-flashing-white.svg);height:20px;width:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:15px}li.megamenuSubChild:hover .icon-flashing:before{content:url(../assets/images/icon-flashing-black.svg)}.icon-structural:before{content:\"\\e90c\"}.icon-accessories-old .path1:before{content:\"\\e903\"}.icon-accessories-old .path2:before{margin-left:-1em;content:\"\\e904\"}.icon-accessories-old .path3:before{margin-left:-1em;content:\"\\e905\"}.icon-cladding-old .path1:before{content:\"\\e90d\"}.icon-cladding-old .path2:before{margin-left:-1em;content:\"\\e90e\"}.icon-close:before{content:\"\\e90f\"}.icon-message:before{content:\"\\e910\"}.icon-search .path1:before{content:\"\\e906\"}.icon-search .path2:before{content:\"\\e907\"}.icon-search .path3:before{margin-left:-1.0156em;content:\"\\e908\"}.icon-summary:before{content:\"\\e911\"}.icon-branch:before{content:\"\\e912\"}.icon-delivery:before{content:\"\\e913\"}.icon-downloads:before{content:\"\\e909\"}.icon-drawings:before{content:\"\\e914\"}.icon-full:before{content:\"\\e915\"}.icon-manual:before{content:\"\\e916\"}.icon-payment:before{content:\"\\e917\"}.icon-empty .path1:before{content:\"\\e918\"}.icon-empty .path2:before{margin-left:-1em;content:\"\\e919\"}.icon-empty .path3:before{margin-left:-1em;content:\"\\e91a\"}.icon-product-overview:before{content:\"\\e91b\"}.icon-arrows:before{content:\"\\e91c\"}.icon-selected:before{content:\"\\e91d\"}.icon-accessories:before{content:\"\\e91b\"}.icon-cladding:before{content:\"\\e91e\"}.icon-Triangle:before{content:\"\\e91f\"}.icon-home:before{content:\"\\e920\"}.icon-faq:before{content:\"\\e921\"}.icon-temperature:before{content:\"\\e922\"}body header{font-family:\"Arial Regular\",sans-serif}header{background-color:#1d1d1b;position:sticky;top:0;background-size:100% 25%!important;background-repeat:no-repeat;z-index:10}header .header{max-width:100%;padding:0}header cx-banner cx-media img{margin-top:.7rem;margin-bottom:0}header label{display:inline-flex}header .SiteLinks{height:52px;display:flex;align-items:center;justify-content:space-between;padding-top:5px;padding-bottom:5px}header .SiteLinks cx-paragraph p{color:#fff;font-size:var(--fontsize16);line-height:var(--fontsize16);margin-bottom:0}header .SiteLinks cx-paragraph{font-size:var(--fontsize16)}header .SiteLinks app-account-dropdown,header .SiteLinks app-find-store{width:calc(25% - 25px);max-width:328px;margin-right:25px}header .SiteLinks app-contact-us{width:calc(20% - 25px);max-width:100px;margin-left:auto}header .SiteLinks app-custom-mini-cart{width:10%}header .SiteLinks .preferenceLink{margin-left:auto}header .SiteLinks .preferenceLink cx-generic-link{margin:0}header .SiteLinks .preferenceLink cx-generic-link cx-media img{height:22px;margin:0}header .SiteLogo .storeLogo{position:absolute;z-index:99;left:40px;bottom:10px}header .SiteLogo .homeLogo{max-width:28px;height:28px;position:absolute;z-index:99;bottom:47px}header .NavigationBar{flex:70%;background-color:#b61828;min-height:40px;display:flex;align-items:center;position:relative}header .logoutMenu{margin-top:0!important}header .logoutMenu li{cursor:pointer;background-color:#4c4c4c;color:#fff}header .logoutMenu li:hover{text-decoration:underline;background-color:#4c4c4c}header .MarketingContext{width:100%;margin:auto}.customer-service-icon{cursor:pointer}.helpSupport{width:20rem;border:0;margin-top:.5rem!important;transform:translate(-42%,36px)!important;padding:1rem 1rem 0;background-color:#393939;color:#fff;top:0}.helpSupport .arrow-up{position:absolute;top:-8px;right:44%;width:0;height:0;border-left:15px solid rgba(0,0,0,0);border-right:15px solid rgba(0,0,0,0);border-bottom:15px solid #393939}.helpSupport .contact-us-info .heading{font-family:\"Arial Bold\",sans-serif}.helpSupport .contact-us-info .detail{font-size:var(--fontsize14);line-height:2rem}.helpSupport .contact-us-info .detail .service-icon{height:20px;width:20px;margin-right:10px}.helpSupport .contact-us-info .contactLink a{font-size:var(--fontsize14);text-decoration:underline;text-transform:uppercase}.helpSupport .contact-us-info a{color:#fff;text-decoration:none}.helpSupport .contact-us-info a:hover{text-decoration:underline}.pageTitle{font-family:\"Helvetica Neue Regular\",sans-serif;font-size:var(--fontsize54)}#visualization-container{text-align:center;margin:0 auto}#cds-viewer-container-3d{width:320px;height:200px}#cds-viewer-container-2d{width:320px;height:200px}[aria-label=Close]{cursor:pointer}cx-media.is-missing{background:url(./assets/images/search-noimage.svg);background-size:cover;background-position:center;background-repeat:no-repeat}cx-global-message{position:fixed;top:9rem;width:100%;z-index:13}@media screen and (max-width: 991px){cx-global-message{top:3.75rem}cx-storefront header{background-color:#b61828}cx-storefront header cx-banner cx-media img{margin:auto}cx-storefront header .SiteLogo{width:100%;max-width:211px;margin:auto;padding-left:30px;box-sizing:border-box}cx-storefront header .SiteLogo .storeLogo{position:unset}cx-storefront header .SearchBox{margin:14px 0 10px;width:30px}cx-storefront header .SiteLinks{background-color:transparent;width:110px;margin:auto 25px auto 0}cx-storefront header .SiteLinks app-account-dropdown,cx-storefront header .SiteLinks app-find-store,cx-storefront header .SiteLinks app-contact-us,cx-storefront header .SiteLinks cx-paragraph,cx-storefront header .SiteLinks .preferenceLink{display:none}cx-storefront header .SiteLinks app-custom-mini-cart,cx-storefront header .SiteLinks app-custom-user-account{width:35px}cx-storefront header.is-expanded{overflow-y:auto;position:fixed;bottom:0;top:0;width:calc(100% - 99px)}cx-storefront header.is-expanded .header{background-color:#b61828;margin-left:0;position:relative}cx-storefront header.is-expanded .PreHeader{position:absolute;right:-5px;top:5px}cx-storefront header.is-expanded .SearchBox{display:none}cx-storefront header.is-expanded .SiteLogo{position:absolute;bottom:110px;z-index:9}cx-storefront header.is-expanded .SiteLinks{background-color:#1d1d1b;width:100%;margin:15px auto 15px 0;height:unset;padding:15px;max-width:100%;position:relative;z-index:9;top:60px}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-account-dropdown{width:100%;max-width:100%}cx-storefront header.is-expanded .SiteLinks app-find-store{width:50%;max-width:328px;min-width:328px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-right:15px;margin-left:auto;width:115px;max-width:unset}cx-storefront header.is-expanded .navigation{position:relative;top:45px}cx-storefront header.is-expanded:before{background-color:#0000004d;right:0;content:\"\";position:fixed;z-index:2;top:0;bottom:0;height:100vh;width:99px}cx-storefront header.is-expanded:after{background-color:transparent}}@media screen and (max-width: 576px){cx-storefront header .SiteLogo{max-width:80px}cx-storefront header .SiteLogo .storeLogo{display:none}cx-storefront header .searchBox{height:45px}cx-storefront header.is-expanded{width:100%}cx-storefront header.is-expanded .header,cx-storefront header.is-expanded .navigation{width:100%}cx-storefront header.is-expanded .SiteLogo{bottom:160px;max-width:211px!important}cx-storefront header.is-expanded .SiteLogo .storeLogo{display:block}cx-storefront header.is-expanded .SiteLinks{max-width:100%;width:100%}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-find-store{width:100%;max-width:100%;margin-bottom:10px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-left:0}cx-storefront header.is-expanded .SiteLinks cx-paragraph{margin-left:auto}cx-storefront header.is-expanded:before{display:none}.pageTitle{font-size:28px}}.revieworder-header{background:#ffffff;border:1px solid #E0E0E0;margin-top:2rem;margin-bottom:2rem}.review-header-box{border-right:1px solid #E0E0E0;padding:2rem}.review-header-box:last-child{border-right:0}.review-header-box .pickupdelivery .pickupdelivery-image{padding:2rem;border:1px solid #A6A6A5;background:rgba(224,224,224,.2);border-radius:1rem}.revieworder-heading{font-size:var(--fontsize28)}@media screen and (max-width: 991px){.review-header-box{padding:15px;border-right:0;border-bottom:1px solid #E0E0E0}.review-header-box:first-child{border-right:1px solid #E0E0E0}.review-header-box:last-child{border-bottom:0}.revieworder-header{margin:15px 0}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
23
+ DeliveryInformationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DeliveryInformationComponent, selector: "app-delivery-information", ngImport: i0, template: "<div class=\"loading \" *ngIf=\"showWaitCursor | async \">Loading&#8230;</div>\r\n<div class=\"row\">\r\n <div class=\"col-sm-12 pl-md-0\">\r\n <h3 class=\"revieworder-heading\">Delivery Information <span class=\"review-edit-icon\"><a title=\"Delivery Information\" href=\"/checkout\"><img src=\"../../../assets/images/icon-feather-edit.svg\"></a></span></h3>\r\n </div>\r\n</div>\r\n<div class=\"row revieworder-header\">\r\n <div class=\"col-lg-4 col-sm-6 review-header-box text-center\">\r\n <p class=\"font-weight-bold\">Delivery Method</p>\r\n <ng-container *ngIf=\"orderReviewData?.deliveryMode?.code=='standard_delivery'; else pickupdelivery\">\r\n <p class=\"pickupdelivery\">\r\n <img class=\"pickupdelivery-image\" src=\"../../../../../assets/images/delivery.svg\" alt=\"Delivery\" title=\"Delivery\">\r\n </p>\r\n </ng-container>\r\n <ng-template #pickupdelivery>\r\n <p class=\"pickupdelivery\">\r\n <img class=\"pickupdelivery-image\" src=\"../../../../assets/images/pickup.svg\" alt=\"Click & Collect\" title=\"Click & Collect\">\r\n </p>\r\n </ng-template>\r\n <p class=\"font-weight-bold mb-0\">{{orderReviewData?.deliveryMode?.name}}</p>\r\n <p>{{orderReviewData?.deliveryMode?.description}}</p>\r\n </div>\r\n <div class=\"col-lg-4 col-sm-6 review-header-box\">\r\n <p class=\"font-weight-bold mb-0\">Purchase Order Number</p>\r\n <p>{{orderReviewData?.purchaseOrderNumber}}</p>\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-6\">\r\n <p class=\"font-weight-bold mb-0\"> {{orderReviewData?.deliveryMode?.code=='standard_delivery' ? 'Delivery Date' : 'Pickup Date'}}</p>\r\n <p>{{orderReviewData?.expectedFromDate.split(' ')[0] }}</p>\r\n </div>\r\n <div class=\"col-6 col-sm-6\">\r\n <p class=\"font-weight-bold mb-0\">{{orderReviewData?.deliveryMode?.code=='standard_delivery' ? 'Delivery Time' : 'Pickup Time'}}</p>\r\n <p>{{orderReviewData?.expectedFromDate.split(' ')[1] + ' ' + orderReviewData?.expectedFromDate.split(' ')[2]}} to {{ orderReviewData?.expectedToDate.split(' ')[1] + ' ' + orderReviewData?.expectedToDate.split(' ')[2] }}</p>\r\n </div>\r\n </div>\r\n <p class=\"font-weight-bold mb-0\">{{orderReviewData?.deliveryMode?.code=='standard_delivery' ? 'Delivery Address' : 'Pickup Location'}}</p>\r\n <p>{{orderReviewData?.deliveryAddress?.formattedAddress}}</p>\r\n </div>\r\n <div class=\"col-lg-4 col-sm-12 review-header-box\">\r\n <p class=\"font-weight-bold mb-0\">{{orderReviewData?.deliveryMode?.code=='standard_delivery' ? 'Site Delivery Requirements' : 'Comments'}}</p>\r\n <p>{{orderReviewData?.deliveryNotes}}</p>\r\n </div>\r\n</div>", styles: ["@charset \"UTF-8\";@media screen and (min-width: 1366px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: 1.063rem;--fontsize17-5: 1.1rem;--fontsize18: 1.125rem;--fontsize18-4: 1.5rem;--fontsize20: 1.25rem;--fontsize21: 1.313rem;--fontsize22: 1.375rem;--fontsize23: 1.438rem;--fontsize24: 1.5rem;--fontsize26: 1.625rem;--fontsize28: 1.75rem;--fontsize30: 1.625rem;--fontsize32: 2rem;--fontsize34: 2.125rem;--fontsize36: 2rem;--fontsize40: 2.25rem;--fontsize46: 2.875rem;--fontsize80: 5rem}}@media screen and (max-width: 1365px) and (min-width: 768px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2.875rem;--fontsize80: 3.5rem}}@media screen and (max-width: 767px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize16-5: .77rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize19: .938rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize26: 1.25rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2rem;--fontsize80: 2.5rem}}@font-face{font-family:icomoon;font-weight:400;src:url(../assets/fonts/icomoon.ttf) format(\"ttf\"),url(../assets/fonts/icomoon.woff) format(\"woff\");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:\"Arial Regular\";src:url(../assets/fonts/arial-webfont.woff) format(\"woff\"),url(../assets/fonts/arial-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Bold\";src:url(../assets/fonts/arialbold-webfont.woff) format(\"woff\"),url(../assets/fonts/arialbold-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Black\";src:url(../assets/fonts/arialblack-webfont.woff) format(\"woff\"),url(../assets/fonts/arialblack-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Reqular\";src:url(../assets/fonts/helveticaneue.woff) format(\"woff\"),url(../assets/fonts/helveticaneue.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Thin\";src:url(../assets/fonts/helveticaneuethin-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuethin-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Medium\";src:url(../assets/fonts/helveticaneuemedium-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuemedium-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;font-feature-settings:normal;font-variant:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;text-transform:none;font-display:swap}.icon-right:before{content:\"\\e902\"}.icon-materials:before{content:\"\\e900\"}.icon-natural-lighting:before{content:\"\\e90a\"}.icon-rainwater:before{content:\"\\e901\"}.icon-roofing:before{content:\"\\e90b\"}.icon-flashing{position:relative;display:inline-block;height:32px;text-align:center;width:32px}.icon-flashing:before,.mainnav-link-level-2.show .navTagChild .icon-flashing:before{content:url(../assets/images/icon-flashing-white.svg);height:20px;width:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:15px}li.megamenuSubChild:hover .icon-flashing:before{content:url(../assets/images/icon-flashing-black.svg)}.icon-structural:before{content:\"\\e90c\"}.icon-accessories-old .path1:before{content:\"\\e903\"}.icon-accessories-old .path2:before{margin-left:-1em;content:\"\\e904\"}.icon-accessories-old .path3:before{margin-left:-1em;content:\"\\e905\"}.icon-cladding-old .path1:before{content:\"\\e90d\"}.icon-cladding-old .path2:before{margin-left:-1em;content:\"\\e90e\"}.icon-close:before{content:\"\\e90f\"}.icon-message:before{content:\"\\e910\"}.icon-search .path1:before{content:\"\\e906\"}.icon-search .path2:before{content:\"\\e907\"}.icon-search .path3:before{margin-left:-1.0156em;content:\"\\e908\"}.icon-summary:before{content:\"\\e911\"}.icon-branch:before{content:\"\\e912\"}.icon-delivery:before{content:\"\\e913\"}.icon-downloads:before{content:\"\\e909\"}.icon-drawings:before{content:\"\\e914\"}.icon-full:before{content:\"\\e915\"}.icon-manual:before{content:\"\\e916\"}.icon-payment:before{content:\"\\e917\"}.icon-empty .path1:before{content:\"\\e918\"}.icon-empty .path2:before{margin-left:-1em;content:\"\\e919\"}.icon-empty .path3:before{margin-left:-1em;content:\"\\e91a\"}.icon-product-overview:before{content:\"\\e91b\"}.icon-arrows:before{content:\"\\e91c\"}.icon-selected:before{content:\"\\e91d\"}.icon-accessories:before{content:\"\\e91b\"}.icon-cladding:before{content:\"\\e91e\"}.icon-Triangle:before{content:\"\\e91f\"}.icon-home:before{content:\"\\e920\"}.icon-faq:before{content:\"\\e921\"}.icon-temperature:before{content:\"\\e922\"}body header{font-family:\"Arial Regular\",sans-serif}header{background-color:#1d1d1b;position:sticky;top:0;background-size:100% 25%!important;background-repeat:no-repeat;z-index:10}header .header{max-width:100%;padding:0}header cx-banner cx-media img{margin-top:.7rem;margin-bottom:0}header label{display:inline-flex}header .SiteLinks{height:52px;display:flex;align-items:center;justify-content:space-between;padding-top:5px;padding-bottom:5px}header .SiteLinks cx-paragraph p{color:#fff;font-size:var(--fontsize16);line-height:var(--fontsize16);margin-bottom:0}header .SiteLinks cx-paragraph{font-size:var(--fontsize16)}header .SiteLinks app-account-dropdown,header .SiteLinks app-find-store{width:calc(25% - 25px);max-width:328px;margin-right:25px}header .SiteLinks app-contact-us{width:calc(20% - 25px);max-width:100px;margin-left:auto}header .SiteLinks app-custom-mini-cart{width:10%}header .SiteLinks .preferenceLink{margin-left:auto}header .SiteLinks .preferenceLink cx-generic-link{margin:0}header .SiteLinks .preferenceLink cx-generic-link cx-media img{height:22px;margin:0}header .SiteLogo .storeLogo{position:absolute;z-index:99;left:40px;bottom:10px}header .SiteLogo .homeLogo{max-width:28px;height:28px;position:absolute;z-index:99;bottom:47px}header .NavigationBar{flex:70%;background-color:#b61828;min-height:40px;display:flex;align-items:center;position:relative}header .logoutMenu{margin-top:0!important}header .logoutMenu li{cursor:pointer;background-color:#4c4c4c;color:#fff}header .logoutMenu li:hover{text-decoration:underline;background-color:#4c4c4c}header .MarketingContext{width:100%;margin:auto}.customer-service-icon{cursor:pointer}.helpSupport{width:20rem;border:0;margin-top:.5rem!important;transform:translate(-42%,36px)!important;padding:1rem 1rem 0;background-color:#393939;color:#fff;top:0}.helpSupport .arrow-up{position:absolute;top:-8px;right:44%;width:0;height:0;border-left:15px solid rgba(0,0,0,0);border-right:15px solid rgba(0,0,0,0);border-bottom:15px solid #393939}.helpSupport .contact-us-info .heading{font-family:\"Arial Bold\",sans-serif}.helpSupport .contact-us-info .detail{font-size:var(--fontsize14);line-height:2rem}.helpSupport .contact-us-info .detail .service-icon{height:20px;width:20px;margin-right:10px}.helpSupport .contact-us-info .contactLink a{font-size:var(--fontsize14);text-decoration:underline;text-transform:uppercase}.helpSupport .contact-us-info a{color:#fff;text-decoration:none}.helpSupport .contact-us-info a:hover{text-decoration:underline}.pageTitle{font-family:\"Helvetica Neue Regular\",sans-serif;font-size:var(--fontsize54)}[aria-label=Close]{cursor:pointer}cx-media.is-missing{background:url(./assets/images/search-noimage.svg);background-size:cover;background-position:center;background-repeat:no-repeat}cx-global-message{position:fixed;top:9rem;width:100%;z-index:13}@media screen and (max-width: 991px){cx-global-message{top:3.75rem}cx-storefront header{background-color:#b61828}cx-storefront header cx-banner cx-media img{margin:auto}cx-storefront header .SiteLogo{width:100%;max-width:211px;margin:auto;padding-left:30px;box-sizing:border-box}cx-storefront header .SiteLogo .storeLogo{position:unset}cx-storefront header .SearchBox{margin:14px 0 10px;width:30px}cx-storefront header .SiteLinks{background-color:transparent;width:110px;margin:auto 25px auto 0}cx-storefront header .SiteLinks app-account-dropdown,cx-storefront header .SiteLinks app-find-store,cx-storefront header .SiteLinks app-contact-us,cx-storefront header .SiteLinks cx-paragraph,cx-storefront header .SiteLinks .preferenceLink{display:none}cx-storefront header .SiteLinks app-custom-mini-cart,cx-storefront header .SiteLinks app-custom-user-account{width:35px}cx-storefront header.is-expanded{overflow-y:auto;position:fixed;bottom:0;top:0;width:calc(100% - 99px)}cx-storefront header.is-expanded .header{background-color:#b61828;margin-left:0;position:relative}cx-storefront header.is-expanded .PreHeader{position:absolute;right:-5px;top:5px}cx-storefront header.is-expanded .SearchBox{display:none}cx-storefront header.is-expanded .SiteLogo{position:absolute;bottom:110px;z-index:9}cx-storefront header.is-expanded .SiteLinks{background-color:#1d1d1b;width:100%;margin:15px auto 15px 0;height:unset;padding:15px;max-width:100%;position:relative;z-index:9;top:60px}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-account-dropdown{width:100%;max-width:100%}cx-storefront header.is-expanded .SiteLinks app-find-store{width:50%;max-width:328px;min-width:328px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-right:15px;margin-left:auto;width:115px;max-width:unset}cx-storefront header.is-expanded .navigation{position:relative;top:45px}cx-storefront header.is-expanded:before{background-color:#0000004d;right:0;content:\"\";position:fixed;z-index:2;top:0;bottom:0;height:100vh;width:99px}cx-storefront header.is-expanded:after{background-color:transparent}}@media screen and (max-width: 576px){cx-storefront header .SiteLogo{max-width:80px}cx-storefront header .SiteLogo .storeLogo{display:none}cx-storefront header .searchBox{height:45px}cx-storefront header.is-expanded{width:100%}cx-storefront header.is-expanded .header,cx-storefront header.is-expanded .navigation{width:100%}cx-storefront header.is-expanded .SiteLogo{bottom:160px;max-width:211px!important}cx-storefront header.is-expanded .SiteLogo .storeLogo{display:block}cx-storefront header.is-expanded .SiteLinks{max-width:100%;width:100%}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-find-store{width:100%;max-width:100%;margin-bottom:10px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-left:0}cx-storefront header.is-expanded .SiteLinks cx-paragraph{margin-left:auto}cx-storefront header.is-expanded:before{display:none}.pageTitle{font-size:28px}}.revieworder-header{background:#ffffff;border:1px solid #E0E0E0;margin-top:2rem;margin-bottom:2rem}.review-header-box{border-right:1px solid #E0E0E0;padding:2rem}.review-header-box:last-child{border-right:0}.review-header-box .pickupdelivery .pickupdelivery-image{padding:2rem;border:1px solid #A6A6A5;background:rgba(224,224,224,.2);border-radius:1rem}.revieworder-heading{font-size:var(--fontsize28)}@media screen and (max-width: 991px){.review-header-box{padding:15px;border-right:0;border-bottom:1px solid #E0E0E0}.review-header-box:first-child{border-right:1px solid #E0E0E0}.review-header-box:last-child{border-bottom:0}.revieworder-header{margin:15px 0}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DeliveryInformationComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{
@@ -16,8 +16,8 @@ export class OrderReviewGridComponent {
16
16
  this.arrowUpDown = [];
17
17
  this.showWaitCursor = new BehaviorSubject(false);
18
18
  this.updateCartEntry = new EventEmitter();
19
- this.environment = sessionStorage.getItem('env');
20
- this.env = JSON.parse(this.environment);
19
+ this.env = sessionStorage.getItem('env');
20
+ this.environment = JSON.parse(this.env);
21
21
  this.isFlashingModal = false;
22
22
  }
23
23
  ngOnInit() {
@@ -159,7 +159,7 @@ export class OrderReviewGridComponent {
159
159
  }
160
160
  }
161
161
  OrderReviewGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: OrderReviewGridComponent, deps: [{ token: i1.CartService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
162
- OrderReviewGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: OrderReviewGridComponent, selector: "app-order-review-grid", inputs: { cartDetails: "cartDetails", isCardData: "isCardData" }, outputs: { updateCartEntry: "updateCartEntry" }, viewQueries: [{ propertyName: "masonry", first: true, predicate: NgxMasonryComponent, descendants: true }], ngImport: i0, template: "<div class=\"loading\" *ngIf=\"showWaitCursor | async\">Loading&#8230;</div>\r\n<div class=\"py-3 mb-200\">\r\n <ngx-masonry class=\"row\">\r\n <div\r\n ngxMasonryItem\r\n class=\"col-lg-3 col-sm-6\"\r\n *ngFor=\"let cart of cartDetails; let i = index\"\r\n >\r\n <div class=\"cart-grid-tile\">\r\n <div class=\"grid-tile-top position-relative\">\r\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\r\n <span class=\"sku-code\">SKU:{{ cart?.product?.code }}</span>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-3 col-md-3\">\r\n <!-- <cx-media [container]=\"cart?.product?.images\" format=\"cartIcon\" role=\"presentation\"></cx-media> -->\r\n <ng-container\r\n *ngIf=\"\r\n cartDetails[i]?.product?.flashingProduct;\r\n else normalImage\r\n \"\r\n >\r\n <a\r\n data-toggle=\"modal\"\r\n class=\"flashing-expand\"\r\n (click)=\"viewImage($event, cartDetails[i])\"\r\n [attr.data-target]=\"'#imageModal'\"\r\n *ngIf=\"hasImage(cartDetails[i]); else hasPdf\"\r\n >\r\n <cx-media\r\n [container]=\"getImageDetails(cartDetails[i])\"\r\n format=\"cartIcon\"\r\n role=\"presentation\"\r\n ></cx-media>\r\n </a>\r\n <ng-template #hasPdf>\r\n <a\r\n class=\"flashing-expand flashing-open\"\r\n [href]=\"getPdfLink(cartDetails[i])\"\r\n target=\"_blank\"\r\n >\r\n <img\r\n class=\"pdf-icon\"\r\n src=\"../../../../../assets/images/pdf-icon.svg\"\r\n alt=\"Click to open PDF\"\r\n title=\"Click to open PDF\"\r\n />\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #normalImage>\r\n <cx-media\r\n [container]=\"getImageDetails(cartDetails[i])\"\r\n format=\"cartIcon\"\r\n role=\"presentation\"\r\n ></cx-media>\r\n </ng-template>\r\n </div>\r\n <div class=\"col-9 col-md-7\">\r\n <h4>{{ cart?.product?.name }}</h4>\r\n </div>\r\n </div>\r\n <span class=\"expandBtn\" (click)=\"arrowHideShow(i)\">\r\n <ng-container *ngIf=\"arrowUpDown[i] == true; else arrowUp\">\r\n <i class=\"fas fa-chevron-up\"></i>\r\n </ng-container>\r\n <ng-template #arrowUp>\r\n <i class=\"fas fa-chevron-down\"></i>\r\n </ng-template>\r\n </span>\r\n </div>\r\n <ng-container *ngIf=\"arrowUpDown[i]\">\r\n <div class=\"grid-tile-middle\">\r\n <ng-container *ngIf=\"cart?.product?.classifications\">\r\n <p class=\"mt-0 mb-0\">\r\n <span >\r\n {{\r\n getClassifications(cartDetails[i]?.product?.classifications)\r\n }}\r\n </span>\r\n </p>\r\n </ng-container>\r\n <p class=\"m-0\">{{ cart?.jobReference }}</p>\r\n <ng-container\r\n *ngIf=\"cart?.configurationInfos?.length; else accessoriesColor\"\r\n >\r\n <p\r\n class=\"colors-paragraph mb-0\"\r\n *ngIf=\"!cart?.product?.flashingProduct; else flashingColour\"\r\n >\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background:\r\n cart?.configurationInfos[0]?.configurationValue.split('|')\r\n | slice : 2\r\n }\"\r\n ></span>\r\n {{\r\n cart?.configurationInfos[0]?.configurationValue.split(\"|\")\r\n | slice : 1 : 2\r\n }}\r\n </p>\r\n <ng-template #flashingColour>\r\n <p class=\"colors-paragraph mb-0\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background: getColourDetails(\r\n cartDetails[i]?.configurationInfos,\r\n 'background'\r\n )\r\n }\"\r\n ></span>\r\n {{\r\n getColourDetails(cartDetails[i]?.configurationInfos, \"name\")\r\n }}\r\n </p>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #accessoriesColor>\r\n <p class=\"colors-paragraph mb-0\" *ngIf=\"hasColour(cart)\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background: cart?.colour?.hexadecimalCode\r\n }\"\r\n ></span>\r\n {{ cart?.colour?.name }}\r\n </p>\r\n </ng-template>\r\n <ng-container *ngIf=\"cart?.subLineConfigInfos.length > 0\">\r\n <a\r\n href=\"javascript:void(0)\"\r\n (click)=\"showHide(i)\"\r\n class=\"see-more-link\"\r\n >\r\n {{ showDetails[i] == true ? \"Hide\" : \"See\" }} more details\r\n </a>\r\n <div *ngIf=\"showDetails[i]\">\r\n <ng-container>\r\n <table class=\"no-border cart-details-table w-100\">\r\n <tr>\r\n <th>Quantity</th>\r\n <th>Length (LM)</th>\r\n <th *ngIf=\"cart?.subLineConfigInfos[0]?.bundleName\">\r\n Bundle\r\n </th>\r\n </tr>\r\n <tr *ngFor=\"let subLine of cart?.subLineConfigInfos\">\r\n <td>{{ subLine?.quantity ? subLine?.quantity : \"-\" }}</td>\r\n <td>{{ subLine?.length | number : \"0.3-3\" }}</td>\r\n <td *ngIf=\"subLine?.bundleName\">\r\n {{ subLine?.bundleName }}<br />{{ subLine?.reference }}\r\n </td>\r\n </tr>\r\n </table>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"grid-tile-bottom\">\r\n <div class=\"row\">\r\n <div class=\"col-6 border-right\">\r\n <div class=\"total-qty\">\r\n <span\r\n >Total Qty: {{ cart.quantityDouble\r\n }}{{ cart?.basePrice?.unitType }}</span\r\n ><br />\r\n <span\r\n >{{ cart.discountedBasePrice?.formattedValue? cart.discountedBasePrice?.formattedValue : cart.basePrice?.formattedValue }}/{{\r\n cart.discountedBasePrice?.unitType ? cart.discountedBasePrice?.unitType : cart.basePrice?.unitType\r\n }}</span\r\n >\r\n </div>\r\n </div>\r\n <div\r\n class=\"col-6 d-flex justify-content-end align-items-center text-right\"\r\n >\r\n <div class=\"total-amount text-right\">\r\n <h4>{{ cart?.totalPrice?.formattedValue }}</h4>\r\n <span>excl GST</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n cartDetails[i]?.product?.flashingProduct &&\r\n cartDetails[i]?.productConfiguredInfos &&\r\n cartDetails[i]?.productConfiguredInfos?.length > 0\r\n \"\r\n >\r\n <ng-container *ngFor=\"let data of cartDetails[i]?.productConfiguredInfos\">\r\n <div\r\n class=\"flashing-block\"\r\n *ngIf=\"data?.product?.name?.toLowerCase() == 'flashguard'\"\r\n >\r\n <div class=\"grid-tile-top\">\r\n <div>\r\n <h6 class=\"skuId\">SKU: {{ data?.product?.code }}</h6>\r\n <h3 class=\"flash-title\">{{ data?.product?.name }}</h3>\r\n <span *ngIf=\"data?.girth\">Girth: +{{ data?.girth }}mm</span>\r\n </div>\r\n </div>\r\n <div class=\"grid-tile-bottom\">\r\n <div class=\"row\">\r\n <div\r\n class=\"col-md-6 col-6 d-flex align-items-center border-right\"\r\n >\r\n <div class=\"total-qty\">\r\n <div>\r\n Total Qty: {{ data?.quantityDouble }}{{ data?.unitType }}\r\n </div>\r\n <span\r\n >@{{ data?.basePrice?.formattedValue }}/{{\r\n data?.unitType\r\n }}</span\r\n >\r\n </div>\r\n </div>\r\n <div\r\n class=\"col-md-6 col-6 d-flex justify-content-end align-items-center text-right\"\r\n >\r\n <div class=\"total-amount text-right\">\r\n <h4>{{ data?.totalPrice?.formattedValue }}</h4>\r\n <span>excl GST</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ngx-masonry>\r\n</div>\r\n\r\n<div\r\n class=\"modal fade\"\r\n id=\"imageModal\"\r\n role=\"dialog\"\r\n aria-labelledby=\"imageModal\"\r\n aria-hidden=\"true\"\r\n #imageModal\r\n>\r\n <div class=\"modal-dialog modal-lg\" role=\"document\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <i\r\n class=\"icon-close invite-pop-close\"\r\n #closeInviteModal\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n ></i>\r\n </div>\r\n <div class=\"modal-body\">\r\n <img [src]=\"imageModalSrc\" alt=\"alert\" />\r\n <div *ngIf=\"isFlashingModal\" class=\"flashing-details\">\r\n <app-custom-flashing-image-details [cartDetails]=\"flashingImageDetails\"></app-custom-flashing-image-details>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@media screen and (min-width: 1366px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: 1.063rem;--fontsize17-5: 1.1rem;--fontsize18: 1.125rem;--fontsize18-4: 1.5rem;--fontsize20: 1.25rem;--fontsize21: 1.313rem;--fontsize22: 1.375rem;--fontsize23: 1.438rem;--fontsize24: 1.5rem;--fontsize26: 1.625rem;--fontsize28: 1.75rem;--fontsize30: 1.625rem;--fontsize32: 2rem;--fontsize34: 2.125rem;--fontsize36: 2rem;--fontsize40: 2.25rem;--fontsize46: 2.875rem;--fontsize80: 5rem}}@media screen and (max-width: 1365px) and (min-width: 768px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2.875rem;--fontsize80: 3.5rem}}@media screen and (max-width: 767px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize16-5: .77rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize19: .938rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize26: 1.25rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2rem;--fontsize80: 2.5rem}}@font-face{font-family:icomoon;font-weight:400;src:url(../assets/fonts/icomoon.ttf) format(\"ttf\"),url(../assets/fonts/icomoon.woff) format(\"woff\");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:\"Arial Regular\";src:url(../assets/fonts/arial-webfont.woff) format(\"woff\"),url(../assets/fonts/arial-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Bold\";src:url(../assets/fonts/arialbold-webfont.woff) format(\"woff\"),url(../assets/fonts/arialbold-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Black\";src:url(../assets/fonts/arialblack-webfont.woff) format(\"woff\"),url(../assets/fonts/arialblack-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Reqular\";src:url(../assets/fonts/helveticaneue.woff) format(\"woff\"),url(../assets/fonts/helveticaneue.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Thin\";src:url(../assets/fonts/helveticaneuethin-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuethin-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Medium\";src:url(../assets/fonts/helveticaneuemedium-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuemedium-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;font-feature-settings:normal;font-variant:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;text-transform:none;font-display:swap}.icon-right:before{content:\"\\e902\"}.icon-materials:before{content:\"\\e900\"}.icon-natural-lighting:before{content:\"\\e90a\"}.icon-rainwater:before{content:\"\\e901\"}.icon-roofing:before{content:\"\\e90b\"}.icon-flashing{position:relative;display:inline-block;height:32px;text-align:center;width:32px}.icon-flashing:before,.mainnav-link-level-2.show .navTagChild .icon-flashing:before{content:url(../assets/images/icon-flashing-white.svg);height:20px;width:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:15px}li.megamenuSubChild:hover .icon-flashing:before{content:url(../assets/images/icon-flashing-black.svg)}.icon-structural:before{content:\"\\e90c\"}.icon-accessories-old .path1:before{content:\"\\e903\"}.icon-accessories-old .path2:before{margin-left:-1em;content:\"\\e904\"}.icon-accessories-old .path3:before{margin-left:-1em;content:\"\\e905\"}.icon-cladding-old .path1:before{content:\"\\e90d\"}.icon-cladding-old .path2:before{margin-left:-1em;content:\"\\e90e\"}.icon-close:before{content:\"\\e90f\"}.icon-message:before{content:\"\\e910\"}.icon-search .path1:before{content:\"\\e906\"}.icon-search .path2:before{content:\"\\e907\"}.icon-search .path3:before{margin-left:-1.0156em;content:\"\\e908\"}.icon-summary:before{content:\"\\e911\"}.icon-branch:before{content:\"\\e912\"}.icon-delivery:before{content:\"\\e913\"}.icon-downloads:before{content:\"\\e909\"}.icon-drawings:before{content:\"\\e914\"}.icon-full:before{content:\"\\e915\"}.icon-manual:before{content:\"\\e916\"}.icon-payment:before{content:\"\\e917\"}.icon-empty .path1:before{content:\"\\e918\"}.icon-empty .path2:before{margin-left:-1em;content:\"\\e919\"}.icon-empty .path3:before{margin-left:-1em;content:\"\\e91a\"}.icon-product-overview:before{content:\"\\e91b\"}.icon-arrows:before{content:\"\\e91c\"}.icon-selected:before{content:\"\\e91d\"}.icon-accessories:before{content:\"\\e91b\"}.icon-cladding:before{content:\"\\e91e\"}.icon-Triangle:before{content:\"\\e91f\"}.icon-home:before{content:\"\\e920\"}.icon-faq:before{content:\"\\e921\"}.icon-temperature:before{content:\"\\e922\"}body header{font-family:\"Arial Regular\",sans-serif}header{background-color:#1d1d1b;position:sticky;top:0;background-size:100% 25%!important;background-repeat:no-repeat;z-index:10}header .header{max-width:100%;padding:0}header cx-banner cx-media img{margin-top:.7rem;margin-bottom:0}header label{display:inline-flex}header .SiteLinks{height:52px;display:flex;align-items:center;justify-content:space-between;padding-top:5px;padding-bottom:5px}header .SiteLinks cx-paragraph p{color:#fff;font-size:var(--fontsize16);line-height:var(--fontsize16);margin-bottom:0}header .SiteLinks cx-paragraph{font-size:var(--fontsize16)}header .SiteLinks app-account-dropdown,header .SiteLinks app-find-store{width:calc(25% - 25px);max-width:328px;margin-right:25px}header .SiteLinks app-contact-us{width:calc(20% - 25px);max-width:100px;margin-left:auto}header .SiteLinks app-custom-mini-cart{width:10%}header .SiteLinks .preferenceLink{margin-left:auto}header .SiteLinks .preferenceLink cx-generic-link{margin:0}header .SiteLinks .preferenceLink cx-generic-link cx-media img{height:22px;margin:0}header .SiteLogo .storeLogo{position:absolute;z-index:99;left:40px;bottom:10px}header .SiteLogo .homeLogo{max-width:28px;height:28px;position:absolute;z-index:99;bottom:47px}header .NavigationBar{flex:70%;background-color:#b61828;min-height:40px;display:flex;align-items:center;position:relative}header .logoutMenu{margin-top:0!important}header .logoutMenu li{cursor:pointer;background-color:#4c4c4c;color:#fff}header .logoutMenu li:hover{text-decoration:underline;background-color:#4c4c4c}header .MarketingContext{width:100%;margin:auto}.customer-service-icon{cursor:pointer}.helpSupport{width:20rem;border:0;margin-top:.5rem!important;transform:translate(-42%,36px)!important;padding:1rem 1rem 0;background-color:#393939;color:#fff;top:0}.helpSupport .arrow-up{position:absolute;top:-8px;right:44%;width:0;height:0;border-left:15px solid rgba(0,0,0,0);border-right:15px solid rgba(0,0,0,0);border-bottom:15px solid #393939}.helpSupport .contact-us-info .heading{font-family:\"Arial Bold\",sans-serif}.helpSupport .contact-us-info .detail{font-size:var(--fontsize14);line-height:2rem}.helpSupport .contact-us-info .detail .service-icon{height:20px;width:20px;margin-right:10px}.helpSupport .contact-us-info .contactLink a{font-size:var(--fontsize14);text-decoration:underline;text-transform:uppercase}.helpSupport .contact-us-info a{color:#fff;text-decoration:none}.helpSupport .contact-us-info a:hover{text-decoration:underline}.pageTitle{font-family:\"Helvetica Neue Regular\",sans-serif;font-size:var(--fontsize54)}#visualization-container{text-align:center;margin:0 auto}#cds-viewer-container-3d{width:320px;height:200px}#cds-viewer-container-2d{width:320px;height:200px}[aria-label=Close]{cursor:pointer}cx-media.is-missing{background:url(./assets/images/search-noimage.svg);background-size:cover;background-position:center;background-repeat:no-repeat}cx-global-message{position:fixed;top:9rem;width:100%;z-index:13}@media screen and (max-width: 991px){cx-global-message{top:3.75rem}cx-storefront header{background-color:#b61828}cx-storefront header cx-banner cx-media img{margin:auto}cx-storefront header .SiteLogo{width:100%;max-width:211px;margin:auto;padding-left:30px;box-sizing:border-box}cx-storefront header .SiteLogo .storeLogo{position:unset}cx-storefront header .SearchBox{margin:14px 0 10px;width:30px}cx-storefront header .SiteLinks{background-color:transparent;width:110px;margin:auto 25px auto 0}cx-storefront header .SiteLinks app-account-dropdown,cx-storefront header .SiteLinks app-find-store,cx-storefront header .SiteLinks app-contact-us,cx-storefront header .SiteLinks cx-paragraph,cx-storefront header .SiteLinks .preferenceLink{display:none}cx-storefront header .SiteLinks app-custom-mini-cart,cx-storefront header .SiteLinks app-custom-user-account{width:35px}cx-storefront header.is-expanded{overflow-y:auto;position:fixed;bottom:0;top:0;width:calc(100% - 99px)}cx-storefront header.is-expanded .header{background-color:#b61828;margin-left:0;position:relative}cx-storefront header.is-expanded .PreHeader{position:absolute;right:-5px;top:5px}cx-storefront header.is-expanded .SearchBox{display:none}cx-storefront header.is-expanded .SiteLogo{position:absolute;bottom:110px;z-index:9}cx-storefront header.is-expanded .SiteLinks{background-color:#1d1d1b;width:100%;margin:15px auto 15px 0;height:unset;padding:15px;max-width:100%;position:relative;z-index:9;top:60px}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-account-dropdown{width:100%;max-width:100%}cx-storefront header.is-expanded .SiteLinks app-find-store{width:50%;max-width:328px;min-width:328px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-right:15px;margin-left:auto;width:115px;max-width:unset}cx-storefront header.is-expanded .navigation{position:relative;top:45px}cx-storefront header.is-expanded:before{background-color:#0000004d;right:0;content:\"\";position:fixed;z-index:2;top:0;bottom:0;height:100vh;width:99px}cx-storefront header.is-expanded:after{background-color:transparent}}@media screen and (max-width: 576px){cx-storefront header .SiteLogo{max-width:80px}cx-storefront header .SiteLogo .storeLogo{display:none}cx-storefront header .searchBox{height:45px}cx-storefront header.is-expanded{width:100%}cx-storefront header.is-expanded .header,cx-storefront header.is-expanded .navigation{width:100%}cx-storefront header.is-expanded .SiteLogo{bottom:160px;max-width:211px!important}cx-storefront header.is-expanded .SiteLogo .storeLogo{display:block}cx-storefront header.is-expanded .SiteLinks{max-width:100%;width:100%}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-find-store{width:100%;max-width:100%;margin-bottom:10px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-left:0}cx-storefront header.is-expanded .SiteLinks cx-paragraph{margin-left:auto}cx-storefront header.is-expanded:before{display:none}.pageTitle{font-size:28px}}.mb-200{margin-bottom:200px}.cart-grid-tile{border:1px solid #E0E0E0;margin-bottom:20px}.cart-grid-tile .grid-tile-top{background-color:#e8e8e8;border:1px solid #E0E0E0;padding:15px}.cart-grid-tile .grid-tile-top .sku-code{font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif;color:#707070}.cart-grid-tile .grid-tile-top .prod-img{width:70px;height:70px;background-color:#fff}.cart-grid-tile .grid-tile-top .delete-icon{cursor:pointer}.cart-grid-tile .grid-tile-top h4{margin-left:6px;font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif}.cart-grid-tile .grid-tile-middle{background-color:#fff;padding:15px}.cart-grid-tile .grid-tile-middle .see-more-link{text-decoration:underline}.cart-grid-tile .grid-tile-middle .see-more-link:hover{color:#d51317}.cart-grid-tile .grid-tile-middle .custom-input-field{width:100%;border:1px solid #C6C6C6;height:40px;margin-bottom:15px;padding-left:15px}.cart-grid-tile .grid-tile-middle .color-block{width:20px;height:20px;border:1px solid #E0E0E0}.cart-grid-tile .grid-tile-middle .more-color{cursor:pointer;color:#b61828;margin-left:10px;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-underline-offset:4px;-webkit-text-decoration-style:dashed;text-decoration-style:dashed;position:relative}.cart-grid-tile .grid-tile-middle .more-detail{text-decoration:underline;cursor:pointer;margin-bottom:0}.cart-grid-tile .grid-tile-middle a{color:#262626;text-decoration:underline;cursor:pointer}.cart-grid-tile .grid-tile-middle a:hover{color:#262626}.cart-grid-tile .grid-tile-bottom{background-color:#fff;padding:0 15px;border-top:1px solid #E0E0E0}.cart-grid-tile .grid-tile-bottom .total-qty{font-size:var(--fontsize14);font-family:\"Arial Regular\",sans-serif;padding:15px 0}.cart-grid-tile .grid-tile-bottom .total-amount{padding:15px 0}.cart-grid-tile .grid-tile-bottom .total-amount h4{font-size:var(--fontsize20);margin-bottom:0}.cart-grid-tile .grid-tile-bottom .total-amount span{font-size:var(--fontsize14)}.bundling{text-align:right;top:20px;margin-bottom:15px}.bundling span.text{display:inline-block;position:relative;top:-12px;font-size:var(--fontsize14)}.switch{position:relative;display:inline-block;width:50px;margin-top:-4px;height:22px}.switch input{opacity:0;width:0;height:0}.switch input:not(:checked)+.slider:after{content:\"NO\";right:6px;position:absolute;color:#fff;top:3px;font-size:var(--fontsize12);font-family:\"Arial Bold\",sans-serif}.switch input:checked+.slider{background-color:#b61828}.switch input:checked+.slider:before{transform:translate(26px);left:5px}.switch input:checked+.slider:after{content:\"YES\";left:5px;position:absolute;color:#fff;top:3px;font-size:var(--fontsize12);font-family:\"Arial Bold\",sans-serif}.switch input:focus+.slider{box-shadow:0 0 1px #2196f3}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#a6a6a5;transition:.4s}.slider:before{position:absolute;content:\"\";height:16px;width:16px;top:3px;left:3px;bottom:3px;background-color:#fff;transition:.4s}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.cart-details-table th{font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif}.cart-details-table td{vertical-align:top}.add-more-btn{background:none;border:none}.add-more-btn .add-more{position:relative;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2219%22 height%3D%2219%22 viewBox%3D%220 0 19 19%22%3E%0D %3Cpath id%3D%22Icon_awesome-plus-circle%22 data-name%3D%22Icon awesome-plus-circle%22 d%3D%22M10.063.563a9.5%2C9.5%2C0%2C1%2C0%2C9.5%2C9.5A9.5%2C9.5%2C0%2C0%2C0%2C10.063.563Zm5.516%2C10.573a.461.461%2C0%2C0%2C1-.46.46H11.595v3.524a.461.461%2C0%2C0%2C1-.46.46H8.99a.461.461%2C0%2C0%2C1-.46-.46V11.595H5.006a.461.461%2C0%2C0%2C1-.46-.46V8.99a.461.461%2C0%2C0%2C1%2C.46-.46H8.53V5.006a.461.461%2C0%2C0%2C1%2C.46-.46h2.145a.461.461%2C0%2C0%2C1%2C.46.46V8.53h3.524a.461.461%2C0%2C0%2C1%2C.46.46Z%22 transform%3D%22translate(-0.563 -0.563)%22%2F%3E%0D%3C%2Fsvg%3E%0D\") no-repeat center;width:20px;height:20px;display:inline-block;top:4px}.colours .colour{padding:0 15px;position:relative}.colours .colour .checkbox{display:none}.colours .colour .colour-title{position:absolute;bottom:-48px;width:40px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:var(--fontsize14);text-align:center;cursor:grabbing}.colours .colour.selected{border:1px solid #000000}.colours .colour.selected .checkbox{position:absolute;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.186%22 height%3D%2217.186%22 viewBox%3D%220 0 17.186 17.186%22%3E%0D %3Cg id%3D%22Group_12857%22 data-name%3D%22Group 12857%22 transform%3D%22translate(0.25 0.25)%22%3E%0D %3Ccircle id%3D%22Ellipse_14%22 data-name%3D%22Ellipse 14%22 cx%3D%228.316%22 cy%3D%228.316%22 r%3D%228.316%22 transform%3D%22translate(0 0.039)%22%2F%3E%0D %3Cpath id%3D%22Icon_ionic-md-checkmark-circle%22 data-name%3D%22Icon ionic-md-checkmark-circle%22 d%3D%22M11.718%2C3.375a8.343%2C8.343%2C0%2C1%2C0%2C8.343%2C8.343A8.367%2C8.367%2C0%2C0%2C0%2C11.718%2C3.375ZM10.005%2C16.166%2C5.729%2C11.89l1.2-1.2%2C3.08%2C3.08%2C6.5-6.5%2C1.2%2C1.2Z%22 transform%3D%22translate(-3.375 -3.375)%22 fill%3D%22%23fff%22%2F%3E%0D %3Cpath id%3D%22Icon_ionic-md-checkmark-circle_-_Outline%22 data-name%3D%22Icon ionic-md-checkmark-circle - Outline%22 d%3D%22M11.718%2C3.125a8.583%2C8.583%2C0%2C0%2C1%2C6.069%2C14.662A8.583%2C8.583%2C0%2C1%2C1%2C5.649%2C5.649%2C8.532%2C8.532%2C0%2C0%2C1%2C11.718%2C3.125Zm0%2C16.686A8.117%2C8.117%2C0%2C1%2C0%2C6%2C17.433%2C8.035%2C8.035%2C0%2C0%2C0%2C11.718%2C19.811ZM16.511%2C6.916l1.553%2C1.553-8.059%2C8.05L5.376%2C11.89l1.553-1.553%2C3.08%2C3.08Zm.846%2C1.553-.846-.846-6.5%2C6.5-3.08-3.08-.846.846%2C3.922%2C3.922Z%22 transform%3D%22translate(-3.375 -3.375)%22%2F%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\") no-repeat center;width:20px;height:20px;display:inline-block;top:10px;left:10px}.colours .colour.main{box-sizing:border-box;width:40px;height:40px;display:inline-block;padding:0;border:1px solid #C6C6C6}.colours_container{width:320px;height:auto;position:absolute;z-index:1}.expandBtn{z-index:9;cursor:pointer;position:absolute;background-color:#fff;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;bottom:-24px;left:50%;transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);box-shadow:0 0 6px #00000026;-webkit-box-shadow:0px 0px 6px rgba(0,0,0,.15);-moz-box-shadow:0px 0px 6px rgba(0,0,0,.15)}.flashing-block{background-color:#e8e8e8}.flashing-block .flash-title{font-size:var(--fontsize16);font-family:\"Arial Bold\",sans-serif}.flashing-block .skuId{color:#707070;font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif}.flashing-block .gst-text{display:block;font-size:var(--fontsize16);font-family:\"Arial Regular\",sans-serif}@media screen and (max-width: 767px){.total-qty span,.total-amount span{font-size:1rem}.total-qty h4,.total-amount h4{font-size:1.25rem!important}.mb-200{margin-bottom:0}}\n"], components: [{ type: i2.NgxMasonryComponent, selector: "[ngx-masonry], ngx-masonry", inputs: ["updateLayout", "ordered", "options"], outputs: ["layoutComplete", "removeComplete", "itemsLoaded"] }, { type: i3.MediaComponent, selector: "cx-media", inputs: ["container", "format", "alt", "role", "loading"], outputs: ["loaded"] }, { type: i4.CustomFlashingImageDetailsComponent, selector: "app-custom-flashing-image-details", inputs: ["cartDetails", "forPdf", "appendixNo"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgxMasonryDirective, selector: "[ngxMasonryItem], ngxMasonryItem", inputs: ["prepend"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i5.AsyncPipe, "slice": i5.SlicePipe, "number": i5.DecimalPipe } });
162
+ OrderReviewGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: OrderReviewGridComponent, selector: "app-order-review-grid", inputs: { cartDetails: "cartDetails", isCardData: "isCardData" }, outputs: { updateCartEntry: "updateCartEntry" }, viewQueries: [{ propertyName: "masonry", first: true, predicate: NgxMasonryComponent, descendants: true }], ngImport: i0, template: "<div class=\"loading\" *ngIf=\"showWaitCursor | async\">Loading&#8230;</div>\r\n<div class=\"py-3 mb-200\">\r\n <ngx-masonry class=\"row\">\r\n <div\r\n ngxMasonryItem\r\n class=\"col-lg-3 col-sm-6\"\r\n *ngFor=\"let cart of cartDetails; let i = index\"\r\n >\r\n <div class=\"cart-grid-tile\">\r\n <div class=\"grid-tile-top position-relative\">\r\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\r\n <span class=\"sku-code\">SKU:{{ cart?.product?.code }}</span>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-3 col-md-3\">\r\n <!-- <cx-media [container]=\"cart?.product?.images\" format=\"cartIcon\" role=\"presentation\"></cx-media> -->\r\n <ng-container\r\n *ngIf=\"\r\n cartDetails[i]?.product?.flashingProduct;\r\n else normalImage\r\n \"\r\n >\r\n <a\r\n data-toggle=\"modal\"\r\n class=\"flashing-expand\"\r\n (click)=\"viewImage($event, cartDetails[i])\"\r\n [attr.data-target]=\"'#imageModal'\"\r\n *ngIf=\"hasImage(cartDetails[i]); else hasPdf\"\r\n >\r\n <cx-media\r\n [container]=\"getImageDetails(cartDetails[i])\"\r\n format=\"cartIcon\"\r\n role=\"presentation\"\r\n ></cx-media>\r\n </a>\r\n <ng-template #hasPdf>\r\n <a\r\n class=\"flashing-expand flashing-open\"\r\n [href]=\"getPdfLink(cartDetails[i])\"\r\n target=\"_blank\"\r\n >\r\n <img\r\n class=\"pdf-icon\"\r\n src=\"../../../../../assets/images/pdf-icon.svg\"\r\n alt=\"Click to open PDF\"\r\n title=\"Click to open PDF\"\r\n />\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #normalImage>\r\n <cx-media\r\n [container]=\"getImageDetails(cartDetails[i])\"\r\n format=\"cartIcon\"\r\n role=\"presentation\"\r\n ></cx-media>\r\n </ng-template>\r\n </div>\r\n <div class=\"col-9 col-md-7\">\r\n <h4>{{ cart?.product?.name }}</h4>\r\n </div>\r\n </div>\r\n <span class=\"expandBtn\" (click)=\"arrowHideShow(i)\">\r\n <ng-container *ngIf=\"arrowUpDown[i] == true; else arrowUp\">\r\n <i class=\"fas fa-chevron-up\"></i>\r\n </ng-container>\r\n <ng-template #arrowUp>\r\n <i class=\"fas fa-chevron-down\"></i>\r\n </ng-template>\r\n </span>\r\n </div>\r\n <ng-container *ngIf=\"arrowUpDown[i]\">\r\n <div class=\"grid-tile-middle\">\r\n <ng-container *ngIf=\"cart?.product?.classifications\">\r\n <p class=\"mt-0 mb-0\">\r\n <span >\r\n {{\r\n getClassifications(cartDetails[i]?.product?.classifications)\r\n }}\r\n </span>\r\n </p>\r\n </ng-container>\r\n <p class=\"m-0\">{{ cart?.jobReference }}</p>\r\n <ng-container\r\n *ngIf=\"cart?.configurationInfos?.length; else accessoriesColor\"\r\n >\r\n <p\r\n class=\"colors-paragraph mb-0\"\r\n *ngIf=\"!cart?.product?.flashingProduct; else flashingColour\"\r\n >\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background:\r\n cart?.configurationInfos[0]?.configurationValue.split('|')\r\n | slice : 2\r\n }\"\r\n ></span>\r\n {{\r\n cart?.configurationInfos[0]?.configurationValue.split(\"|\")\r\n | slice : 1 : 2\r\n }}\r\n </p>\r\n <ng-template #flashingColour>\r\n <p class=\"colors-paragraph mb-0\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background: getColourDetails(\r\n cartDetails[i]?.configurationInfos,\r\n 'background'\r\n )\r\n }\"\r\n ></span>\r\n {{\r\n getColourDetails(cartDetails[i]?.configurationInfos, \"name\")\r\n }}\r\n </p>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #accessoriesColor>\r\n <p class=\"colors-paragraph mb-0\" *ngIf=\"hasColour(cart)\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background: cart?.colour?.hexadecimalCode\r\n }\"\r\n ></span>\r\n {{ cart?.colour?.name }}\r\n </p>\r\n </ng-template>\r\n <ng-container *ngIf=\"cart?.subLineConfigInfos.length > 0\">\r\n <a\r\n href=\"javascript:void(0)\"\r\n (click)=\"showHide(i)\"\r\n class=\"see-more-link\"\r\n >\r\n {{ showDetails[i] == true ? \"Hide\" : \"See\" }} more details\r\n </a>\r\n <div *ngIf=\"showDetails[i]\">\r\n <ng-container>\r\n <table class=\"no-border cart-details-table w-100\">\r\n <tr>\r\n <th>Quantity</th>\r\n <th>Length (LM)</th>\r\n <th *ngIf=\"cart?.subLineConfigInfos[0]?.bundleName\">\r\n Bundle\r\n </th>\r\n </tr>\r\n <tr *ngFor=\"let subLine of cart?.subLineConfigInfos\">\r\n <td>{{ subLine?.quantity ? subLine?.quantity : \"-\" }}</td>\r\n <td>{{ subLine?.length | number : \"0.3-3\" }}</td>\r\n <td *ngIf=\"subLine?.bundleName\">\r\n {{ subLine?.bundleName }}<br />{{ subLine?.reference }}\r\n </td>\r\n </tr>\r\n </table>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"grid-tile-bottom\">\r\n <div class=\"row\">\r\n <div class=\"col-6 border-right\">\r\n <div class=\"total-qty\">\r\n <span\r\n >Total Qty: {{ cart.quantityDouble\r\n }}{{ cart?.basePrice?.unitType }}</span\r\n ><br />\r\n <span\r\n >{{ cart.discountedBasePrice?.formattedValue? cart.discountedBasePrice?.formattedValue : cart.basePrice?.formattedValue }}/{{\r\n cart.discountedBasePrice?.unitType ? cart.discountedBasePrice?.unitType : cart.basePrice?.unitType\r\n }}</span\r\n >\r\n </div>\r\n </div>\r\n <div\r\n class=\"col-6 d-flex justify-content-end align-items-center text-right\"\r\n >\r\n <div class=\"total-amount text-right\">\r\n <h4>{{ cart?.totalPrice?.formattedValue }}</h4>\r\n <span>excl GST</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n cartDetails[i]?.product?.flashingProduct &&\r\n cartDetails[i]?.productConfiguredInfos &&\r\n cartDetails[i]?.productConfiguredInfos?.length > 0\r\n \"\r\n >\r\n <ng-container *ngFor=\"let data of cartDetails[i]?.productConfiguredInfos\">\r\n <div\r\n class=\"flashing-block\"\r\n *ngIf=\"data?.product?.name?.toLowerCase() == 'flashguard'\"\r\n >\r\n <div class=\"grid-tile-top\">\r\n <div>\r\n <h6 class=\"skuId\">SKU: {{ data?.product?.code }}</h6>\r\n <h3 class=\"flash-title\">{{ data?.product?.name }}</h3>\r\n <span *ngIf=\"data?.girth\">Girth: +{{ data?.girth }}mm</span>\r\n </div>\r\n </div>\r\n <div class=\"grid-tile-bottom\">\r\n <div class=\"row\">\r\n <div\r\n class=\"col-md-6 col-6 d-flex align-items-center border-right\"\r\n >\r\n <div class=\"total-qty\">\r\n <div>\r\n Total Qty: {{ data?.quantityDouble }}{{ data?.unitType }}\r\n </div>\r\n <span\r\n >@{{ data?.basePrice?.formattedValue }}/{{\r\n data?.unitType\r\n }}</span\r\n >\r\n </div>\r\n </div>\r\n <div\r\n class=\"col-md-6 col-6 d-flex justify-content-end align-items-center text-right\"\r\n >\r\n <div class=\"total-amount text-right\">\r\n <h4>{{ data?.totalPrice?.formattedValue }}</h4>\r\n <span>excl GST</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ngx-masonry>\r\n</div>\r\n\r\n<div\r\n class=\"modal fade\"\r\n id=\"imageModal\"\r\n role=\"dialog\"\r\n aria-labelledby=\"imageModal\"\r\n aria-hidden=\"true\"\r\n #imageModal\r\n>\r\n <div class=\"modal-dialog modal-lg\" role=\"document\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <i\r\n class=\"icon-close invite-pop-close\"\r\n #closeInviteModal\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n ></i>\r\n </div>\r\n <div class=\"modal-body\">\r\n <img [src]=\"imageModalSrc\" alt=\"alert\" />\r\n <div *ngIf=\"isFlashingModal\" class=\"flashing-details\">\r\n <app-custom-flashing-image-details [cartDetails]=\"flashingImageDetails\"></app-custom-flashing-image-details>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@media screen and (min-width: 1366px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: 1.063rem;--fontsize17-5: 1.1rem;--fontsize18: 1.125rem;--fontsize18-4: 1.5rem;--fontsize20: 1.25rem;--fontsize21: 1.313rem;--fontsize22: 1.375rem;--fontsize23: 1.438rem;--fontsize24: 1.5rem;--fontsize26: 1.625rem;--fontsize28: 1.75rem;--fontsize30: 1.625rem;--fontsize32: 2rem;--fontsize34: 2.125rem;--fontsize36: 2rem;--fontsize40: 2.25rem;--fontsize46: 2.875rem;--fontsize80: 5rem}}@media screen and (max-width: 1365px) and (min-width: 768px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2.875rem;--fontsize80: 3.5rem}}@media screen and (max-width: 767px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize16-5: .77rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize19: .938rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize26: 1.25rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2rem;--fontsize80: 2.5rem}}@font-face{font-family:icomoon;font-weight:400;src:url(../assets/fonts/icomoon.ttf) format(\"ttf\"),url(../assets/fonts/icomoon.woff) format(\"woff\");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:\"Arial Regular\";src:url(../assets/fonts/arial-webfont.woff) format(\"woff\"),url(../assets/fonts/arial-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Bold\";src:url(../assets/fonts/arialbold-webfont.woff) format(\"woff\"),url(../assets/fonts/arialbold-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Black\";src:url(../assets/fonts/arialblack-webfont.woff) format(\"woff\"),url(../assets/fonts/arialblack-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Reqular\";src:url(../assets/fonts/helveticaneue.woff) format(\"woff\"),url(../assets/fonts/helveticaneue.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Thin\";src:url(../assets/fonts/helveticaneuethin-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuethin-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Medium\";src:url(../assets/fonts/helveticaneuemedium-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuemedium-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;font-feature-settings:normal;font-variant:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;text-transform:none;font-display:swap}.icon-right:before{content:\"\\e902\"}.icon-materials:before{content:\"\\e900\"}.icon-natural-lighting:before{content:\"\\e90a\"}.icon-rainwater:before{content:\"\\e901\"}.icon-roofing:before{content:\"\\e90b\"}.icon-flashing{position:relative;display:inline-block;height:32px;text-align:center;width:32px}.icon-flashing:before,.mainnav-link-level-2.show .navTagChild .icon-flashing:before{content:url(../assets/images/icon-flashing-white.svg);height:20px;width:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:15px}li.megamenuSubChild:hover .icon-flashing:before{content:url(../assets/images/icon-flashing-black.svg)}.icon-structural:before{content:\"\\e90c\"}.icon-accessories-old .path1:before{content:\"\\e903\"}.icon-accessories-old .path2:before{margin-left:-1em;content:\"\\e904\"}.icon-accessories-old .path3:before{margin-left:-1em;content:\"\\e905\"}.icon-cladding-old .path1:before{content:\"\\e90d\"}.icon-cladding-old .path2:before{margin-left:-1em;content:\"\\e90e\"}.icon-close:before{content:\"\\e90f\"}.icon-message:before{content:\"\\e910\"}.icon-search .path1:before{content:\"\\e906\"}.icon-search .path2:before{content:\"\\e907\"}.icon-search .path3:before{margin-left:-1.0156em;content:\"\\e908\"}.icon-summary:before{content:\"\\e911\"}.icon-branch:before{content:\"\\e912\"}.icon-delivery:before{content:\"\\e913\"}.icon-downloads:before{content:\"\\e909\"}.icon-drawings:before{content:\"\\e914\"}.icon-full:before{content:\"\\e915\"}.icon-manual:before{content:\"\\e916\"}.icon-payment:before{content:\"\\e917\"}.icon-empty .path1:before{content:\"\\e918\"}.icon-empty .path2:before{margin-left:-1em;content:\"\\e919\"}.icon-empty .path3:before{margin-left:-1em;content:\"\\e91a\"}.icon-product-overview:before{content:\"\\e91b\"}.icon-arrows:before{content:\"\\e91c\"}.icon-selected:before{content:\"\\e91d\"}.icon-accessories:before{content:\"\\e91b\"}.icon-cladding:before{content:\"\\e91e\"}.icon-Triangle:before{content:\"\\e91f\"}.icon-home:before{content:\"\\e920\"}.icon-faq:before{content:\"\\e921\"}.icon-temperature:before{content:\"\\e922\"}body header{font-family:\"Arial Regular\",sans-serif}header{background-color:#1d1d1b;position:sticky;top:0;background-size:100% 25%!important;background-repeat:no-repeat;z-index:10}header .header{max-width:100%;padding:0}header cx-banner cx-media img{margin-top:.7rem;margin-bottom:0}header label{display:inline-flex}header .SiteLinks{height:52px;display:flex;align-items:center;justify-content:space-between;padding-top:5px;padding-bottom:5px}header .SiteLinks cx-paragraph p{color:#fff;font-size:var(--fontsize16);line-height:var(--fontsize16);margin-bottom:0}header .SiteLinks cx-paragraph{font-size:var(--fontsize16)}header .SiteLinks app-account-dropdown,header .SiteLinks app-find-store{width:calc(25% - 25px);max-width:328px;margin-right:25px}header .SiteLinks app-contact-us{width:calc(20% - 25px);max-width:100px;margin-left:auto}header .SiteLinks app-custom-mini-cart{width:10%}header .SiteLinks .preferenceLink{margin-left:auto}header .SiteLinks .preferenceLink cx-generic-link{margin:0}header .SiteLinks .preferenceLink cx-generic-link cx-media img{height:22px;margin:0}header .SiteLogo .storeLogo{position:absolute;z-index:99;left:40px;bottom:10px}header .SiteLogo .homeLogo{max-width:28px;height:28px;position:absolute;z-index:99;bottom:47px}header .NavigationBar{flex:70%;background-color:#b61828;min-height:40px;display:flex;align-items:center;position:relative}header .logoutMenu{margin-top:0!important}header .logoutMenu li{cursor:pointer;background-color:#4c4c4c;color:#fff}header .logoutMenu li:hover{text-decoration:underline;background-color:#4c4c4c}header .MarketingContext{width:100%;margin:auto}.customer-service-icon{cursor:pointer}.helpSupport{width:20rem;border:0;margin-top:.5rem!important;transform:translate(-42%,36px)!important;padding:1rem 1rem 0;background-color:#393939;color:#fff;top:0}.helpSupport .arrow-up{position:absolute;top:-8px;right:44%;width:0;height:0;border-left:15px solid rgba(0,0,0,0);border-right:15px solid rgba(0,0,0,0);border-bottom:15px solid #393939}.helpSupport .contact-us-info .heading{font-family:\"Arial Bold\",sans-serif}.helpSupport .contact-us-info .detail{font-size:var(--fontsize14);line-height:2rem}.helpSupport .contact-us-info .detail .service-icon{height:20px;width:20px;margin-right:10px}.helpSupport .contact-us-info .contactLink a{font-size:var(--fontsize14);text-decoration:underline;text-transform:uppercase}.helpSupport .contact-us-info a{color:#fff;text-decoration:none}.helpSupport .contact-us-info a:hover{text-decoration:underline}.pageTitle{font-family:\"Helvetica Neue Regular\",sans-serif;font-size:var(--fontsize54)}[aria-label=Close]{cursor:pointer}cx-media.is-missing{background:url(./assets/images/search-noimage.svg);background-size:cover;background-position:center;background-repeat:no-repeat}cx-global-message{position:fixed;top:9rem;width:100%;z-index:13}@media screen and (max-width: 991px){cx-global-message{top:3.75rem}cx-storefront header{background-color:#b61828}cx-storefront header cx-banner cx-media img{margin:auto}cx-storefront header .SiteLogo{width:100%;max-width:211px;margin:auto;padding-left:30px;box-sizing:border-box}cx-storefront header .SiteLogo .storeLogo{position:unset}cx-storefront header .SearchBox{margin:14px 0 10px;width:30px}cx-storefront header .SiteLinks{background-color:transparent;width:110px;margin:auto 25px auto 0}cx-storefront header .SiteLinks app-account-dropdown,cx-storefront header .SiteLinks app-find-store,cx-storefront header .SiteLinks app-contact-us,cx-storefront header .SiteLinks cx-paragraph,cx-storefront header .SiteLinks .preferenceLink{display:none}cx-storefront header .SiteLinks app-custom-mini-cart,cx-storefront header .SiteLinks app-custom-user-account{width:35px}cx-storefront header.is-expanded{overflow-y:auto;position:fixed;bottom:0;top:0;width:calc(100% - 99px)}cx-storefront header.is-expanded .header{background-color:#b61828;margin-left:0;position:relative}cx-storefront header.is-expanded .PreHeader{position:absolute;right:-5px;top:5px}cx-storefront header.is-expanded .SearchBox{display:none}cx-storefront header.is-expanded .SiteLogo{position:absolute;bottom:110px;z-index:9}cx-storefront header.is-expanded .SiteLinks{background-color:#1d1d1b;width:100%;margin:15px auto 15px 0;height:unset;padding:15px;max-width:100%;position:relative;z-index:9;top:60px}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-account-dropdown{width:100%;max-width:100%}cx-storefront header.is-expanded .SiteLinks app-find-store{width:50%;max-width:328px;min-width:328px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-right:15px;margin-left:auto;width:115px;max-width:unset}cx-storefront header.is-expanded .navigation{position:relative;top:45px}cx-storefront header.is-expanded:before{background-color:#0000004d;right:0;content:\"\";position:fixed;z-index:2;top:0;bottom:0;height:100vh;width:99px}cx-storefront header.is-expanded:after{background-color:transparent}}@media screen and (max-width: 576px){cx-storefront header .SiteLogo{max-width:80px}cx-storefront header .SiteLogo .storeLogo{display:none}cx-storefront header .searchBox{height:45px}cx-storefront header.is-expanded{width:100%}cx-storefront header.is-expanded .header,cx-storefront header.is-expanded .navigation{width:100%}cx-storefront header.is-expanded .SiteLogo{bottom:160px;max-width:211px!important}cx-storefront header.is-expanded .SiteLogo .storeLogo{display:block}cx-storefront header.is-expanded .SiteLinks{max-width:100%;width:100%}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-find-store{width:100%;max-width:100%;margin-bottom:10px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-left:0}cx-storefront header.is-expanded .SiteLinks cx-paragraph{margin-left:auto}cx-storefront header.is-expanded:before{display:none}.pageTitle{font-size:28px}}.mb-200{margin-bottom:200px}.cart-grid-tile{border:1px solid #E0E0E0;margin-bottom:20px}.cart-grid-tile .grid-tile-top{background-color:#e8e8e8;border:1px solid #E0E0E0;padding:15px}.cart-grid-tile .grid-tile-top .sku-code{font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif;color:#707070}.cart-grid-tile .grid-tile-top .prod-img{width:70px;height:70px;background-color:#fff}.cart-grid-tile .grid-tile-top .delete-icon{cursor:pointer}.cart-grid-tile .grid-tile-top h4{margin-left:6px;font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif}.cart-grid-tile .grid-tile-middle{background-color:#fff;padding:15px}.cart-grid-tile .grid-tile-middle .see-more-link{text-decoration:underline}.cart-grid-tile .grid-tile-middle .see-more-link:hover{color:#d51317}.cart-grid-tile .grid-tile-middle .custom-input-field{width:100%;border:1px solid #C6C6C6;height:40px;margin-bottom:15px;padding-left:15px}.cart-grid-tile .grid-tile-middle .color-block{width:20px;height:20px;border:1px solid #E0E0E0}.cart-grid-tile .grid-tile-middle .more-color{cursor:pointer;color:#b61828;margin-left:10px;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-underline-offset:4px;-webkit-text-decoration-style:dashed;text-decoration-style:dashed;position:relative}.cart-grid-tile .grid-tile-middle .more-detail{text-decoration:underline;cursor:pointer;margin-bottom:0}.cart-grid-tile .grid-tile-middle a{color:#262626;text-decoration:underline;cursor:pointer}.cart-grid-tile .grid-tile-middle a:hover{color:#262626}.cart-grid-tile .grid-tile-bottom{background-color:#fff;padding:0 15px;border-top:1px solid #E0E0E0}.cart-grid-tile .grid-tile-bottom .total-qty{font-size:var(--fontsize14);font-family:\"Arial Regular\",sans-serif;padding:15px 0}.cart-grid-tile .grid-tile-bottom .total-amount{padding:15px 0}.cart-grid-tile .grid-tile-bottom .total-amount h4{font-size:var(--fontsize20);margin-bottom:0}.cart-grid-tile .grid-tile-bottom .total-amount span{font-size:var(--fontsize14)}.bundling{text-align:right;top:20px;margin-bottom:15px}.bundling span.text{display:inline-block;position:relative;top:-12px;font-size:var(--fontsize14)}.switch{position:relative;display:inline-block;width:50px;margin-top:-4px;height:22px}.switch input{opacity:0;width:0;height:0}.switch input:not(:checked)+.slider:after{content:\"NO\";right:6px;position:absolute;color:#fff;top:3px;font-size:var(--fontsize12);font-family:\"Arial Bold\",sans-serif}.switch input:checked+.slider{background-color:#b61828}.switch input:checked+.slider:before{transform:translate(26px);left:5px}.switch input:checked+.slider:after{content:\"YES\";left:5px;position:absolute;color:#fff;top:3px;font-size:var(--fontsize12);font-family:\"Arial Bold\",sans-serif}.switch input:focus+.slider{box-shadow:0 0 1px #2196f3}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#a6a6a5;transition:.4s}.slider:before{position:absolute;content:\"\";height:16px;width:16px;top:3px;left:3px;bottom:3px;background-color:#fff;transition:.4s}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.cart-details-table th{font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif}.cart-details-table td{vertical-align:top}.add-more-btn{background:none;border:none}.add-more-btn .add-more{position:relative;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2219%22 height%3D%2219%22 viewBox%3D%220 0 19 19%22%3E%0D %3Cpath id%3D%22Icon_awesome-plus-circle%22 data-name%3D%22Icon awesome-plus-circle%22 d%3D%22M10.063.563a9.5%2C9.5%2C0%2C1%2C0%2C9.5%2C9.5A9.5%2C9.5%2C0%2C0%2C0%2C10.063.563Zm5.516%2C10.573a.461.461%2C0%2C0%2C1-.46.46H11.595v3.524a.461.461%2C0%2C0%2C1-.46.46H8.99a.461.461%2C0%2C0%2C1-.46-.46V11.595H5.006a.461.461%2C0%2C0%2C1-.46-.46V8.99a.461.461%2C0%2C0%2C1%2C.46-.46H8.53V5.006a.461.461%2C0%2C0%2C1%2C.46-.46h2.145a.461.461%2C0%2C0%2C1%2C.46.46V8.53h3.524a.461.461%2C0%2C0%2C1%2C.46.46Z%22 transform%3D%22translate(-0.563 -0.563)%22%2F%3E%0D%3C%2Fsvg%3E%0D\") no-repeat center;width:20px;height:20px;display:inline-block;top:4px}.colours .colour{padding:0 15px;position:relative}.colours .colour .checkbox{display:none}.colours .colour .colour-title{position:absolute;bottom:-48px;width:40px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:var(--fontsize14);text-align:center;cursor:grabbing}.colours .colour.selected{border:1px solid #000000}.colours .colour.selected .checkbox{position:absolute;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.186%22 height%3D%2217.186%22 viewBox%3D%220 0 17.186 17.186%22%3E%0D %3Cg id%3D%22Group_12857%22 data-name%3D%22Group 12857%22 transform%3D%22translate(0.25 0.25)%22%3E%0D %3Ccircle id%3D%22Ellipse_14%22 data-name%3D%22Ellipse 14%22 cx%3D%228.316%22 cy%3D%228.316%22 r%3D%228.316%22 transform%3D%22translate(0 0.039)%22%2F%3E%0D %3Cpath id%3D%22Icon_ionic-md-checkmark-circle%22 data-name%3D%22Icon ionic-md-checkmark-circle%22 d%3D%22M11.718%2C3.375a8.343%2C8.343%2C0%2C1%2C0%2C8.343%2C8.343A8.367%2C8.367%2C0%2C0%2C0%2C11.718%2C3.375ZM10.005%2C16.166%2C5.729%2C11.89l1.2-1.2%2C3.08%2C3.08%2C6.5-6.5%2C1.2%2C1.2Z%22 transform%3D%22translate(-3.375 -3.375)%22 fill%3D%22%23fff%22%2F%3E%0D %3Cpath id%3D%22Icon_ionic-md-checkmark-circle_-_Outline%22 data-name%3D%22Icon ionic-md-checkmark-circle - Outline%22 d%3D%22M11.718%2C3.125a8.583%2C8.583%2C0%2C0%2C1%2C6.069%2C14.662A8.583%2C8.583%2C0%2C1%2C1%2C5.649%2C5.649%2C8.532%2C8.532%2C0%2C0%2C1%2C11.718%2C3.125Zm0%2C16.686A8.117%2C8.117%2C0%2C1%2C0%2C6%2C17.433%2C8.035%2C8.035%2C0%2C0%2C0%2C11.718%2C19.811ZM16.511%2C6.916l1.553%2C1.553-8.059%2C8.05L5.376%2C11.89l1.553-1.553%2C3.08%2C3.08Zm.846%2C1.553-.846-.846-6.5%2C6.5-3.08-3.08-.846.846%2C3.922%2C3.922Z%22 transform%3D%22translate(-3.375 -3.375)%22%2F%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\") no-repeat center;width:20px;height:20px;display:inline-block;top:10px;left:10px}.colours .colour.main{box-sizing:border-box;width:40px;height:40px;display:inline-block;padding:0;border:1px solid #C6C6C6}.colours_container{width:320px;height:auto;position:absolute;z-index:1}.expandBtn{z-index:9;cursor:pointer;position:absolute;background-color:#fff;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;bottom:-24px;left:50%;transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);box-shadow:0 0 6px #00000026;-webkit-box-shadow:0px 0px 6px rgba(0,0,0,.15);-moz-box-shadow:0px 0px 6px rgba(0,0,0,.15)}.flashing-block{background-color:#e8e8e8}.flashing-block .flash-title{font-size:var(--fontsize16);font-family:\"Arial Bold\",sans-serif}.flashing-block .skuId{color:#707070;font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif}.flashing-block .gst-text{display:block;font-size:var(--fontsize16);font-family:\"Arial Regular\",sans-serif}@media screen and (max-width: 767px){.total-qty span,.total-amount span{font-size:1rem}.total-qty h4,.total-amount h4{font-size:1.25rem!important}.mb-200{margin-bottom:0}}\n"], components: [{ type: i2.NgxMasonryComponent, selector: "[ngx-masonry], ngx-masonry", inputs: ["updateLayout", "ordered", "options"], outputs: ["layoutComplete", "removeComplete", "itemsLoaded"] }, { type: i3.MediaComponent, selector: "cx-media", inputs: ["container", "format", "alt", "role", "loading"], outputs: ["loaded"] }, { type: i4.CustomFlashingImageDetailsComponent, selector: "app-custom-flashing-image-details", inputs: ["cartDetails", "forPdf", "appendixNo"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgxMasonryDirective, selector: "[ngxMasonryItem], ngxMasonryItem", inputs: ["prepend"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i5.AsyncPipe, "slice": i5.SlicePipe, "number": i5.DecimalPipe } });
163
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: OrderReviewGridComponent, decorators: [{
164
164
  type: Component,
165
165
  args: [{
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
177
177
  type: ViewChild,
178
178
  args: [NgxMasonryComponent, { static: false }]
179
179
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcmV2aWV3LWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVpbGRpbmdwcm9kdWN0X2xpYnJhcnkvc3JjL2xpYi9jaGVja291dC9vcmRlci1yZXZpZXcvb3JkZXItcmV2aWV3LWdyaWQvb3JkZXItcmV2aWV3LWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVpbGRpbmdwcm9kdWN0X2xpYnJhcnkvc3JjL2xpYi9jaGVja291dC9vcmRlci1yZXZpZXcvb3JkZXItcmV2aWV3LWdyaWQvb3JkZXItcmV2aWV3LWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBTzdDLE1BQU0sT0FBTyx3QkFBd0I7SUFpQm5DLFlBQ1UsV0FBd0IsRUFDeEIsR0FBc0I7UUFEdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFsQmhDLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHM0Msb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXBELGdCQUFXLEdBQVEsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxRQUFHLEdB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TyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksSUFBRyxJQUFJLElBQUcsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQywwQ0FBRSxLQUFLLENBQUEsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDbEYsSUFBSTtZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFLLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFHO1lBQzNCLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFJLEtBQUssR0FBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQztTQUM3RDtRQUNELE9BQU8sWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOztzSEF2S1Usd0JBQXdCOzBHQUF4Qix3QkFBd0IseU5BZXhCLG1CQUFtQixnRENsQ2hDLDJ0VkEyUUE7NEZEeFBhLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsb0NBQW9DO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztpQkFDbEQ7a0lBTVUsV0FBVztzQkFBbkIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBU04sT0FBTztzQkFETixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ3hNYXNvbnJ5Q29tcG9uZW50IH0gZnJvbSBcIm5neC1tYXNvbnJ5XCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW9yZGVyLXJldmlldy1ncmlkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItcmV2aWV3LWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29yZGVyLXJldmlldy1ncmlkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVyUmV2aWV3R3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc2hvd0RldGFpbHM6IGFueSA9IFtdO1xyXG4gIGFycm93VXBEb3duOiBhbnkgPSBbXTtcclxuICBzaG93V2FpdEN1cnNvciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBASW5wdXQoKSBjYXJ0RGV0YWlsczogYW55O1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVDYXJ0RW50cnkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKSBpc0NhcmREYXRhOiBhbnk7XHJcbiAgZW52aXJvbm1lbnQ6IGFueSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2VudicpO1xyXG4gIGVudiA6IGFueSA9IEpTT04ucGFyc2UodGhpcy5lbnZpcm9ubWVudCk7XHJcblxyXG4gIGltYWdlTW9kYWxTcmM6IGFueTtcclxuICBpc0ZsYXNoaW5nTW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmbGFzaGluZ0ltYWdlRGV0YWlsczogYW55O1xyXG5cclxuICBAVmlld0NoaWxkKE5neE1hc29ucnlDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIG1hc29ucnk6IE5neE1hc29ucnlDb21wb25lbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2FydERldGFpbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5zaG93RGV0YWlscy5wdXNoKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2FydFNlcnZpY2UuZXhwYW5kQWxsLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2FydERldGFpbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLnNob3dEZXRhaWxzW2ldID0gZGF0YTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5tYXNvbnJ5KSB7XHJcbiAgICAgICAgdGhpcy5tYXNvbnJ5LnJlbG9hZEl0ZW1zKCk7XHJcbiAgICAgICAgdGhpcy5tYXNvbnJ5LmxheW91dCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNob3dIaWRlKGluZDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNob3dEZXRhaWxzW2luZF0gPSAhdGhpcy5zaG93RGV0YWlsc1tpbmRdO1xyXG4gICAgdGhpcy5tYXNvbnJ5LnJlbG9hZEl0ZW1zKCk7XHJcbiAgICB0aGlzLm1hc29ucnkubGF5b3V0KCk7XHJcbiAgfVxyXG4gIGFycm93SGlkZVNob3coaWQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5hcnJvd1VwRG93bltpZF0gPSAhdGhpcy5hcnJvd1VwRG93bltpZF07XHJcbiAgICB0aGlzLm1hc29ucnkucmVsb2FkSXRlbXMoKTtcclxuICAgIHRoaXMubWFzb25yeS5sYXlvdXQoKTtcclxuICB9XHJcblxyXG4gIC8vIENoZWNrIGlmIGFueSB2YWx1ZSBpcyBlbXB0eSBvciB1bmRlZmluZWRcclxuICBpc051bGxPckVtcHR5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PSBcIlwiO1xyXG4gIH1cclxuXHJcbiAgLy8gR2V0IHRoZSBJbWFnZSBEZXRhaWxzIGJhc2VkIG9uIFByb2R1Y3RzXHJcbiAgZ2V0SW1hZ2VEZXRhaWxzKGNhcnREZXRhaWxzOiBhbnksIHRodW1ibmFpbDogYW55ID0gdHJ1ZSk6IGFueSB7XHJcbiAgICBsZXQgaW1hZ2VVcmw6IGFueSA9IGNhcnREZXRhaWxzPy5wcm9kdWN0Py5pbWFnZXM7XHJcbiAgICBpZiAodGhpcy5pc0NhcmREYXRhKSB7XHJcbiAgICAgIGNvbnN0IGNvbG9yQ29kZSA9XHJcbiAgICAgICAgY2FydERldGFpbHM/LmNvbmZpZ3VyYXRpb25JbmZvcyB8fCBjYXJ0RGV0YWlscz8uY29uZmlndXJhdGlvbkluZm9zWzBdXHJcbiAgICAgICAgICA/IGNhcnREZXRhaWxzPy5jb25maWd1cmF0aW9uSW5mb3NbMF0/LmNvbmZpZ3VyYXRpb25WYWx1ZT8uc3BsaXQoXHJcbiAgICAgICAgICAgICAgXCJ8XCJcclxuICAgICAgICAgICAgKVswXVxyXG4gICAgICAgICAgOiBcIlwiO1xyXG4gICAgICBpbWFnZVVybCA9IGNhcnREZXRhaWxzPy5wcm9kdWN0Py5pbWFnZXM/LmZpbHRlcihcclxuICAgICAgICAoaW1nOiBhbnkpID0+XHJcbiAgICAgICAgICAoaW1nPy5mb3JtYXQgPT0gXCJjYXJ0SWNvblwiICYmIGltZz8uY29sb3JDb2RlID09IGNvbG9yQ29kZSkgfHxcclxuICAgICAgICAgIChpbWc/LmZvcm1hdCA9PSBcImNhcnRJY29uXCIgJiZcclxuICAgICAgICAgICAgdGhpcy5pc051bGxPckVtcHR5KGNvbG9yQ29kZSkgJiZcclxuICAgICAgICAgICAgY2FydERldGFpbHM/LnByb2R1Y3Q/LmltYWdlcz8ubGVuZ3RoIDw9IDQpXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpbWFnZVVybCA9IGNhcnREZXRhaWxzPy5wcm9kdWN0Py5pbWFnZXM/LkdBTExFUlk/LmNhcnRJY29uO1xyXG4gICAgfVxyXG4gICAgbGV0IHNyY1VybDogYW55O1xyXG4gICAgaWYgKFxyXG4gICAgICBjYXJ0RGV0YWlscz8uYXR0YWNobWVudHMgJiZcclxuICAgICAgY2FydERldGFpbHM/LmF0dGFjaG1lbnRzPy5sZW5ndGggJiZcclxuICAgICAgY2FydERldGFpbHM/LnByb2R1Y3Q/LmZsYXNoaW5nUHJvZHVjdFxyXG4gICAgKSB7XHJcbiAgICAgIHNyY1VybCA9XHJcbiAgICAgICAgdGh1bWJuYWlsICYmIGNhcnREZXRhaWxzPy5hdHRhY2htZW50cz8ubGVuZ3RoID4gMVxyXG4gICAgICAgICAgPyBjYXJ0RGV0YWlscz8uYXR0YWNobWVudHNbMV0/LmRvd25sb2FkVVJMXHJcbiAgICAgICAgICA6IENvbW1vblV0aWxzLmlzTW9iaWxlKCkgJiYgY2FydERldGFpbHM/LmF0dGFjaG1lbnRzPy5sZW5ndGggPiAyXHJcbiAgICAgICAgICA/IGNhcnREZXRhaWxzPy5hdHRhY2htZW50c1syXT8uZG93bmxvYWRVUkxcclxuICAgICAgICAgIDogY2FydERldGFpbHM/LmF0dGFjaG1lbnRzWzBdPy5kb3dubG9hZFVSTDtcclxuICAgICAgaW1hZ2VVcmwgPSB7XHJcbiAgICAgICAgdXJsOiAoXHJcbiAgICAgICAgICB0aGlzLmVudmlyb25tZW50Lm9jY0Jhc2VVcmwuc2xpY2UoMCwgdGhpcy5lbnZpcm9ubWVudC5vY2NCYXNlVXJsLmxlbmd0aCAtIDEpICtcclxuICAgICAgICAgIHNyY1VybFxyXG4gICAgICAgICk/LnJlcGxhY2UoXCImYXR0YWNobWVudD10cnVlXCIsIFwiXCIpLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGltYWdlVXJsO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3VyRGV0YWlscyhjb25maWdJbmZvOiBhbnksIHR5cGU6IGFueSkge1xyXG4gICAgbGV0IG5hbWU6IGFueTtcclxuICAgIGxldCBiYWNrZ3JvdW5kOiBhbnk7XHJcbiAgICBpZiAoY29uZmlnSW5mbyAmJiBjb25maWdJbmZvPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGNvbG91ciA9IGNvbmZpZ0luZm8/LmZpbHRlcigoY29sOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gY29sPy5jb25maWd1cmF0aW9uTGFiZWw/LnRvTG93ZXJDYXNlKCkgPT0gXCJjb2xvclwiXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoY29sb3VyICYmIGNvbG91cj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgbmFtZSA9IGNvbG91clswXT8uY29uZmlndXJhdGlvblZhbHVlPy5zcGxpdCgnfCcpWzFdO1xyXG4gICAgICAgIGJhY2tncm91bmQgPSBjb2xvdXJbMF0/LmNvbmZpZ3VyYXRpb25WYWx1ZT8uc3BsaXQoJ3wnKVsyXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuICh0eXBlID09IFwiYmFja2dyb3VuZFwiKSA/IGJhY2tncm91bmQgOiBuYW1lO1xyXG4gIH1cclxuXHJcbiAgdmlld0ltYWdlKGV2ZW50OiBhbnksIGNhcnREZXRhaWxzOiBhbnkpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmlzRmxhc2hpbmdNb2RhbCA9XHJcbiAgICAgIGNhcnREZXRhaWxzPy5wcm9kdWN0Py5mbGFzaGluZ1Byb2R1Y3QgJiZcclxuICAgICAgY2FydERldGFpbHM/LnByb2R1Y3Q/LmJ1bmRsZUVuYWJsZWQ7XHJcbiAgICB0aGlzLmZsYXNoaW5nSW1hZ2VEZXRhaWxzID0gY2FydERldGFpbHM7XHJcbiAgICB0aGlzLmltYWdlTW9kYWxTcmMgPSB0aGlzLmdldEltYWdlRGV0YWlscyhjYXJ0RGV0YWlscywgZmFsc2UpPy51cmw7XHJcbiAgfVxyXG5cclxuICBnZXRQZGZMaW5rKGNhcnREZXRhaWxzOiBhbnkpOiB2b2lkIHtcclxuICAgIHJldHVybiB0aGlzLmdldEltYWdlRGV0YWlscyhjYXJ0RGV0YWlscywgZmFsc2UpPy51cmw7XHJcbiAgfVxyXG5cclxuICBoYXNJbWFnZShjYXJ0RGV0YWlsczogYW55KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBtaW1lVHlwZSA9IGNhcnREZXRhaWxzPy5hdHRhY2htZW50c1swXT8ubWltZTtcclxuICAgIGNvbnN0IG1pbWVBcnJheSA9IFtcImltYWdlL3BuZ1wiLCBcImltYWdlL2pwZ1wiLCBcImltYWdlL2pwZWdcIl07XHJcbiAgICByZXR1cm4gbWltZUFycmF5LmluY2x1ZGVzKG1pbWVUeXBlKTtcclxuICB9XHJcblxyXG4gIGhhc0NvbG91cihjYXJ0RGV0YWlsczogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoY2FydERldGFpbHM/LnByb2R1Y3Q/LmZpbmlzaGVkUHJvZHVjdCkge1xyXG4gICAgICBjb25zdCBjb2RlID0gY2FydERldGFpbHM/LnByb2R1Y3Q/LmNvZGU7XHJcbiAgICAgIGNvbnN0IGNvbG91ciA9IGNhcnREZXRhaWxzPy5wcm9kdWN0Py52YXJpYW50T3B0aW9ucz8uZmlsdGVyKFxyXG4gICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uY29kZSA9PSBjb2RlXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChjb2xvdXIgJiYgY29sb3VyWzBdPy5jb2xvdXJzICYmIGNvbG91clswXT8uY29sb3Vycz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNhcnREZXRhaWxzLmNvbG91ciA9IGNvbG91clswXT8uY29sb3Vyc1swXTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gR2V0IFN1bW1hcnkgSGVhZGluZ1xyXG4gIGdldENsYXNzaWZpY2F0aW9ucyhkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgbGV0IHdpZHRoQXJyYXk6IGFueSA9IFtdO1xyXG4gICAgbGV0IGZlYXR1cmVBcnJheTogYW55ID0gW107XHJcbiAgICBkYXRhPy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgZWxlbWVudD8uZmVhdHVyZXMuZm9yRWFjaCgoZmVhdHVyZTogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHVuaXQgPSBmZWF0dXJlPy5mZWF0dXJlVW5pdCA/IGZlYXR1cmU/LmZlYXR1cmVVbml0Py5zeW1ib2wgOiAnICc7XHJcbiAgICAgICAgaWYgKGZlYXR1cmUgJiYgZmVhdHVyZT8uY29kZSAmJiB0eXBlb2YgZmVhdHVyZT8uY29kZSA9PT0gXCJzdHJpbmdcIiAmJiBmZWF0dXJlPy5jb2RlPy5zcGxpdCgnLicpLnBvcCgpID09ICd3aWR0aGZyb20nKSB7XHJcbiAgICAgICAgICB3aWR0aEFycmF5LnB1c2goZmVhdHVyZT8ubmFtZSAgKyAnOiAnICsgZmVhdHVyZT8uZmVhdHVyZVZhbHVlc1swXT8udmFsdWUpO1xyXG4gICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmZWF0dXJlICYmIGZlYXR1cmU/LmNvZGUgJiYgdHlwZW9mIGZlYXR1cmU/LmNvZGUgPT09IFwic3RyaW5nXCIgJiYgZmVhdHVyZT8uY29kZT8uc3BsaXQoJy4nKS5wb3AoKSA9PSAnd2lkdGh0bycpIHtcclxuICAgICAgICAgIHdpZHRoQXJyYXkucHVzaChmZWF0dXJlPy5mZWF0dXJlVmFsdWVzWzBdPy52YWx1ZSArIHVuaXQpO1xyXG4gICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZlYXR1cmVBcnJheS5wdXNoKGZlYXR1cmU/Lm5hbWUgKyAnOiAnICsgZmVhdHVyZT8uZmVhdHVyZVZhbHVlc1swXT8udmFsdWUgKyB1bml0KTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICBpZiAoIHdpZHRoQXJyYXkubGVuZ3RoID4gMCApIHtcclxuICAgICAgZmVhdHVyZUFycmF5LnB1c2god2lkdGhBcnJheVsxXSArICAnIC0gJyAgKyB3aWR0aEFycmF5WzBdICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmVhdHVyZUFycmF5Py5qb2luKFwiIHwgXCIpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxvYWRpbmdcIiAqbmdJZj1cInNob3dXYWl0Q3Vyc29yIHwgYXN5bmNcIj5Mb2FkaW5nJiM4MjMwOzwvZGl2PlxyXG48ZGl2IGNsYXNzPVwicHktMyBtYi0yMDBcIj5cclxuICA8bmd4LW1hc29ucnkgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXZcclxuICAgICAgbmd4TWFzb25yeUl0ZW1cclxuICAgICAgY2xhc3M9XCJjb2wtbGctMyBjb2wtc20tNlwiXHJcbiAgICAgICpuZ0Zvcj1cImxldCBjYXJ0IG9mIGNhcnREZXRhaWxzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtZ3JpZC10aWxlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtdGlsZS10b3AgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG1iLTNcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJza3UtY29kZVwiPlNLVTp7eyBjYXJ0Py5wcm9kdWN0Py5jb2RlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGN4LW1lZGlhIFtjb250YWluZXJdPVwiY2FydD8ucHJvZHVjdD8uaW1hZ2VzXCIgZm9ybWF0PVwiY2FydEljb25cIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PC9jeC1tZWRpYT4gLS0+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgY2FydERldGFpbHNbaV0/LnByb2R1Y3Q/LmZsYXNoaW5nUHJvZHVjdDtcclxuICAgICAgICAgICAgICAgICAgZWxzZSBub3JtYWxJbWFnZVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT1cIm1vZGFsXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGFzaGluZy1leHBhbmRcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmlld0ltYWdlKCRldmVudCwgY2FydERldGFpbHNbaV0pXCJcclxuICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10YXJnZXRdPVwiJyNpbWFnZU1vZGFsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzSW1hZ2UoY2FydERldGFpbHNbaV0pOyBlbHNlIGhhc1BkZlwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxjeC1tZWRpYVxyXG4gICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJdPVwiZ2V0SW1hZ2VEZXRhaWxzKGNhcnREZXRhaWxzW2ldKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0PVwiY2FydEljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jeC1tZWRpYT5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGFzUGRmPlxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxhc2hpbmctZXhwYW5kIGZsYXNoaW5nLW9wZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdldFBkZkxpbmsoY2FydERldGFpbHNbaV0pXCJcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwZGYtaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzcmM9XCIuLi8uLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3BkZi1pY29uLnN2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJDbGljayB0byBvcGVuIFBERlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkNsaWNrIHRvIG9wZW4gUERGXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9ybWFsSW1hZ2U+XHJcbiAgICAgICAgICAgICAgICA8Y3gtbWVkaWFcclxuICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lcl09XCJnZXRJbWFnZURldGFpbHMoY2FydERldGFpbHNbaV0pXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybWF0PVwiY2FydEljb25cIlxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcclxuICAgICAgICAgICAgICAgID48L2N4LW1lZGlhPlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTkgY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICA8aDQ+e3sgY2FydD8ucHJvZHVjdD8ubmFtZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImV4cGFuZEJ0blwiIChjbGljayk9XCJhcnJvd0hpZGVTaG93KGkpXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcnJvd1VwRG93bltpXSA9PSB0cnVlOyBlbHNlIGFycm93VXBcIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLXVwXCI+PC9pPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhcnJvd1VwPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tZG93blwiPjwvaT5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJyb3dVcERvd25baV1cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXRpbGUtbWlkZGxlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJ0Py5wcm9kdWN0Py5jbGFzc2lmaWNhdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8cCBjbGFzcz1cIm10LTAgbWItMFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gPlxyXG4gICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgIGdldENsYXNzaWZpY2F0aW9ucyhjYXJ0RGV0YWlsc1tpXT8ucHJvZHVjdD8uY2xhc3NpZmljYXRpb25zKVxyXG4gICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwibS0wXCI+e3sgY2FydD8uam9iUmVmZXJlbmNlIH19PC9wPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJjYXJ0Py5jb25maWd1cmF0aW9uSW5mb3M/Lmxlbmd0aDsgZWxzZSBhY2Nlc3Nvcmllc0NvbG9yXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxwXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbG9ycy1wYXJhZ3JhcGggbWItMFwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFjYXJ0Py5wcm9kdWN0Py5mbGFzaGluZ1Byb2R1Y3Q7IGVsc2UgZmxhc2hpbmdDb2xvdXJcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicmV2aWV3b3JkZXItY29sb3IgbXItM1wiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2FydD8uY29uZmlndXJhdGlvbkluZm9zWzBdPy5jb25maWd1cmF0aW9uVmFsdWUuc3BsaXQoJ3wnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgfCBzbGljZSA6IDJcclxuICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgY2FydD8uY29uZmlndXJhdGlvbkluZm9zWzBdPy5jb25maWd1cmF0aW9uVmFsdWUuc3BsaXQoXCJ8XCIpXHJcbiAgICAgICAgICAgICAgICAgICAgfCBzbGljZSA6IDEgOiAyXHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ZsYXNoaW5nQ29sb3VyPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJjb2xvcnMtcGFyYWdyYXBoIG1iLTBcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJldmlld29yZGVyLWNvbG9yIG1yLTNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGdldENvbG91ckRldGFpbHMoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhcnREZXRhaWxzW2ldPy5jb25maWd1cmF0aW9uSW5mb3MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgIGdldENvbG91ckRldGFpbHMoY2FydERldGFpbHNbaV0/LmNvbmZpZ3VyYXRpb25JbmZvcywgXCJuYW1lXCIpXHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYWNjZXNzb3JpZXNDb2xvcj5cclxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImNvbG9ycy1wYXJhZ3JhcGggbWItMFwiICpuZ0lmPVwiaGFzQ29sb3VyKGNhcnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInJldmlld29yZGVyLWNvbG9yIG1yLTNcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogY2FydD8uY29sb3VyPy5oZXhhZGVjaW1hbENvZGVcclxuICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge3sgY2FydD8uY29sb3VyPy5uYW1lIH19XHJcbiAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FydD8uc3ViTGluZUNvbmZpZ0luZm9zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0hpZGUoaSlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWUtbW9yZS1saW5rXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBzaG93RGV0YWlsc1tpXSA9PSB0cnVlID8gXCJIaWRlXCIgOiBcIlNlZVwiIH19IG1vcmUgZGV0YWlsc1xyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0RldGFpbHNbaV1cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cIm5vLWJvcmRlciBjYXJ0LWRldGFpbHMtdGFibGUgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGg+UXVhbnRpdHk8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRoPkxlbmd0aCAoTE0pPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImNhcnQ/LnN1YkxpbmVDb25maWdJbmZvc1swXT8uYnVuZGxlTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBCdW5kbGVcclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHN1YkxpbmUgb2YgY2FydD8uc3ViTGluZUNvbmZpZ0luZm9zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgc3ViTGluZT8ucXVhbnRpdHkgPyBzdWJMaW5lPy5xdWFudGl0eSA6IFwiLVwiIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBzdWJMaW5lPy5sZW5ndGggfCBudW1iZXIgOiBcIjAuMy0zXCIgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwic3ViTGluZT8uYnVuZGxlTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWJMaW5lPy5idW5kbGVOYW1lIH19PGJyIC8+e3sgc3ViTGluZT8ucmVmZXJlbmNlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC10aWxlLWJvdHRvbVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgYm9yZGVyLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvdGFsLXF0eVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgPlRvdGFsIFF0eToge3sgY2FydC5xdWFudGl0eURvdWJsZVxyXG4gICAgICAgICAgICAgICAgICB9fXt7IGNhcnQ/LmJhc2VQcmljZT8udW5pdFR5cGUgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgID48YnIgLz5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgID57eyAgY2FydC5kaXNjb3VudGVkQmFzZVByaWNlPy5mb3JtYXR0ZWRWYWx1ZT8gY2FydC5kaXNjb3VudGVkQmFzZVByaWNlPy5mb3JtYXR0ZWRWYWx1ZSA6IGNhcnQuYmFzZVByaWNlPy5mb3JtYXR0ZWRWYWx1ZSB9fS97e1xyXG4gICAgICAgICAgICAgICAgICAgIGNhcnQuZGlzY291bnRlZEJhc2VQcmljZT8udW5pdFR5cGUgPyBjYXJ0LmRpc2NvdW50ZWRCYXNlUHJpY2U/LnVuaXRUeXBlIDogY2FydC5iYXNlUHJpY2U/LnVuaXRUeXBlXHJcbiAgICAgICAgICAgICAgICAgIH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtNiBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1yaWdodFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWwtYW1vdW50IHRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxoND57eyBjYXJ0Py50b3RhbFByaWNlPy5mb3JtYXR0ZWRWYWx1ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj5leGNsIEdTVDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICBjYXJ0RGV0YWlsc1tpXT8ucHJvZHVjdD8uZmxhc2hpbmdQcm9kdWN0ICYmXHJcbiAgICAgICAgICAgIGNhcnREZXRhaWxzW2ldPy5wcm9kdWN0Q29uZmlndXJlZEluZm9zICYmXHJcbiAgICAgICAgICAgIGNhcnREZXRhaWxzW2ldPy5wcm9kdWN0Q29uZmlndXJlZEluZm9zPy5sZW5ndGggPiAwXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRhdGEgb2YgY2FydERldGFpbHNbaV0/LnByb2R1Y3RDb25maWd1cmVkSW5mb3NcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxhc2hpbmctYmxvY2tcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZGF0YT8ucHJvZHVjdD8ubmFtZT8udG9Mb3dlckNhc2UoKSA9PSAnZmxhc2hndWFyZCdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtdGlsZS10b3BcIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cInNrdUlkXCI+U0tVOiB7eyBkYXRhPy5wcm9kdWN0Py5jb2RlIH19PC9oNj5cclxuICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiZmxhc2gtdGl0bGVcIj57eyBkYXRhPy5wcm9kdWN0Py5uYW1lIH19PC9oMz5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkYXRhPy5naXJ0aFwiPkdpcnRoOiAre3sgZGF0YT8uZ2lydGggfX1tbTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXRpbGUtYm90dG9tXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC02IGNvbC02IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYm9yZGVyLXJpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbC1xdHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFRvdGFsIFF0eToge3sgZGF0YT8ucXVhbnRpdHlEb3VibGUgfX17eyBkYXRhPy51bml0VHlwZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+QHt7IGRhdGE/LmJhc2VQcmljZT8uZm9ybWF0dGVkVmFsdWUgfX0ve3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPy51bml0VHlwZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sLW1kLTYgY29sLTYgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyIHRleHQtcmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvdGFsLWFtb3VudCB0ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgZGF0YT8udG90YWxQcmljZT8uZm9ybWF0dGVkVmFsdWUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+ZXhjbCBHU1Q8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZ3gtbWFzb25yeT5cclxuPC9kaXY+XHJcblxyXG48ZGl2XHJcbiAgY2xhc3M9XCJtb2RhbCBmYWRlXCJcclxuICBpZD1cImltYWdlTW9kYWxcIlxyXG4gIHJvbGU9XCJkaWFsb2dcIlxyXG4gIGFyaWEtbGFiZWxsZWRieT1cImltYWdlTW9kYWxcIlxyXG4gIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgI2ltYWdlTW9kYWxcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtbGdcIiByb2xlPVwiZG9jdW1lbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICA8aVxyXG4gICAgICAgICAgY2xhc3M9XCJpY29uLWNsb3NlIGludml0ZS1wb3AtY2xvc2VcIlxyXG4gICAgICAgICAgI2Nsb3NlSW52aXRlTW9kYWxcclxuICAgICAgICAgIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCJcclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZVwiXHJcbiAgICAgICAgPjwvaT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cImltYWdlTW9kYWxTcmNcIiBhbHQ9XCJhbGVydFwiIC8+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImlzRmxhc2hpbmdNb2RhbFwiIGNsYXNzPVwiZmxhc2hpbmctZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGFwcC1jdXN0b20tZmxhc2hpbmctaW1hZ2UtZGV0YWlscyBbY2FydERldGFpbHNdPVwiZmxhc2hpbmdJbWFnZURldGFpbHNcIj48L2FwcC1jdXN0b20tZmxhc2hpbmctaW1hZ2UtZGV0YWlscz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcmV2aWV3LWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVpbGRpbmdwcm9kdWN0X2xpYnJhcnkvc3JjL2xpYi9jaGVja291dC9vcmRlci1yZXZpZXcvb3JkZXItcmV2aWV3LWdyaWQvb3JkZXItcmV2aWV3LWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVpbGRpbmdwcm9kdWN0X2xpYnJhcnkvc3JjL2xpYi9jaGVja291dC9vcmRlci1yZXZpZXcvb3JkZXItcmV2aWV3LWdyaWQvb3JkZXItcmV2aWV3LWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBTzdDLE1BQU0sT0FBTyx3QkFBd0I7SUFpQm5DLFlBQ1UsV0FBd0IsRUFDeEIsR0FBc0I7UUFEdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFsQmhDLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHM0Msb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXBELFFBQUcsR0FBUSxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLGdCQUFXLEdB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TyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksSUFBRyxJQUFJLElBQUcsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQywwQ0FBRSxLQUFLLENBQUEsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDbEYsSUFBSTtZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFLLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFHO1lBQzNCLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFJLEtBQUssR0FBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQztTQUM3RDtRQUNELE9BQU8sWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOztzSEF2S1Usd0JBQXdCOzBHQUF4Qix3QkFBd0IseU5BZXhCLG1CQUFtQixnRENsQ2hDLDJ0VkEyUUE7NEZEeFBhLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsb0NBQW9DO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztpQkFDbEQ7a0lBTVUsV0FBVztzQkFBbkIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBU04sT0FBTztzQkFETixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ3hNYXNvbnJ5Q29tcG9uZW50IH0gZnJvbSBcIm5neC1tYXNvbnJ5XCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW9yZGVyLXJldmlldy1ncmlkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItcmV2aWV3LWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29yZGVyLXJldmlldy1ncmlkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVyUmV2aWV3R3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc2hvd0RldGFpbHM6IGFueSA9IFtdO1xyXG4gIGFycm93VXBEb3duOiBhbnkgPSBbXTtcclxuICBzaG93V2FpdEN1cnNvciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBASW5wdXQoKSBjYXJ0RGV0YWlsczogYW55O1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVDYXJ0RW50cnkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKSBpc0NhcmREYXRhOiBhbnk7XHJcbiAgZW52OiBhbnkgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdlbnYnKTtcclxuICBlbnZpcm9ubWVudCA6IGFueSA9IEpTT04ucGFyc2UodGhpcy5lbnYpO1xyXG5cclxuICBpbWFnZU1vZGFsU3JjOiBhbnk7XHJcbiAgaXNGbGFzaGluZ01vZGFsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZmxhc2hpbmdJbWFnZURldGFpbHM6IGFueTtcclxuXHJcbiAgQFZpZXdDaGlsZChOZ3hNYXNvbnJ5Q29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBtYXNvbnJ5OiBOZ3hNYXNvbnJ5Q29tcG9uZW50O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNhcnREZXRhaWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHRoaXMuc2hvd0RldGFpbHMucHVzaChmYWxzZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNhcnRTZXJ2aWNlLmV4cGFuZEFsbC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNhcnREZXRhaWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhpcy5zaG93RGV0YWlsc1tpXSA9IGRhdGE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubWFzb25yeSkge1xyXG4gICAgICAgIHRoaXMubWFzb25yeS5yZWxvYWRJdGVtcygpO1xyXG4gICAgICAgIHRoaXMubWFzb25yeS5sYXlvdXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzaG93SGlkZShpbmQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5zaG93RGV0YWlsc1tpbmRdID0gIXRoaXMuc2hvd0RldGFpbHNbaW5kXTtcclxuICAgIHRoaXMubWFzb25yeS5yZWxvYWRJdGVtcygpO1xyXG4gICAgdGhpcy5tYXNvbnJ5LmxheW91dCgpO1xyXG4gIH1cclxuICBhcnJvd0hpZGVTaG93KGlkOiBudW1iZXIpIHtcclxuICAgIHRoaXMuYXJyb3dVcERvd25baWRdID0gIXRoaXMuYXJyb3dVcERvd25baWRdO1xyXG4gICAgdGhpcy5tYXNvbnJ5LnJlbG9hZEl0ZW1zKCk7XHJcbiAgICB0aGlzLm1hc29ucnkubGF5b3V0KCk7XHJcbiAgfVxyXG5cclxuICAvLyBDaGVjayBpZiBhbnkgdmFsdWUgaXMgZW1wdHkgb3IgdW5kZWZpbmVkXHJcbiAgaXNOdWxsT3JFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PSB1bmRlZmluZWQgfHwgdmFsdWUgPT0gXCJcIjtcclxuICB9XHJcblxyXG4gIC8vIEdldCB0aGUgSW1hZ2UgRGV0YWlscyBiYXNlZCBvbiBQcm9kdWN0c1xyXG4gIGdldEltYWdlRGV0YWlscyhjYXJ0RGV0YWlsczogYW55LCB0aHVtYm5haWw6IGFueSA9IHRydWUpOiBhbnkge1xyXG4gICAgbGV0IGltYWdlVXJsOiBhbnkgPSBjYXJ0RGV0YWlscz8ucHJvZHVjdD8uaW1hZ2VzO1xyXG4gICAgaWYgKHRoaXMuaXNDYXJkRGF0YSkge1xyXG4gICAgICBjb25zdCBjb2xvckNvZGUgPVxyXG4gICAgICAgIGNhcnREZXRhaWxzPy5jb25maWd1cmF0aW9uSW5mb3MgfHwgY2FydERldGFpbHM/LmNvbmZpZ3VyYXRpb25JbmZvc1swXVxyXG4gICAgICAgICAgPyBjYXJ0RGV0YWlscz8uY29uZmlndXJhdGlvbkluZm9zWzBdPy5jb25maWd1cmF0aW9uVmFsdWU/LnNwbGl0KFxyXG4gICAgICAgICAgICAgIFwifFwiXHJcbiAgICAgICAgICAgIClbMF1cclxuICAgICAgICAgIDogXCJcIjtcclxuICAgICAgaW1hZ2VVcmwgPSBjYXJ0RGV0YWlscz8ucHJvZHVjdD8uaW1hZ2VzPy5maWx0ZXIoXHJcbiAgICAgICAgKGltZzogYW55KSA9PlxyXG4gICAgICAgICAgKGltZz8uZm9ybWF0ID09IFwiY2FydEljb25cIiAmJiBpbWc/LmNvbG9yQ29kZSA9PSBjb2xvckNvZGUpIHx8XHJcbiAgICAgICAgICAoaW1nPy5mb3JtYXQgPT0gXCJjYXJ0SWNvblwiICYmXHJcbiAgICAgICAgICAgIHRoaXMuaXNOdWxsT3JFbXB0eShjb2xvckNvZGUpICYmXHJcbiAgICAgICAgICAgIGNhcnREZXRhaWxzPy5wcm9kdWN0Py5pbWFnZXM/Lmxlbmd0aCA8PSA0KVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaW1hZ2VVcmwgPSBjYXJ0RGV0YWlscz8ucHJvZHVjdD8uaW1hZ2VzPy5HQUxMRVJZPy5jYXJ0SWNvbjtcclxuICAgIH1cclxuICAgIGxldCBzcmNVcmw6IGFueTtcclxuICAgIGlmIChcclxuICAgICAgY2FydERldGFpbHM/LmF0dGFjaG1lbnRzICYmXHJcbiAgICAgIGNhcnREZXRhaWxzPy5hdHRhY2htZW50cz8ubGVuZ3RoICYmXHJcbiAgICAgIGNhcnREZXRhaWxzPy5wcm9kdWN0Py5mbGFzaGluZ1Byb2R1Y3RcclxuICAgICkge1xyXG4gICAgICBzcmNVcmwgPVxyXG4gICAgICAgIHRodW1ibmFpbCAmJiBjYXJ0RGV0YWlscz8uYXR0YWNobWVudHM/Lmxlbmd0aCA+IDFcclxuICAgICAgICAgID8gY2FydERldGFpbHM/LmF0dGFjaG1lbnRzWzFdPy5kb3dubG9hZFVSTFxyXG4gICAgICAgICAgOiBDb21tb25VdGlscy5pc01vYmlsZSgpICYmIGNhcnREZXRhaWxzPy5hdHRhY2htZW50cz8ubGVuZ3RoID4gMlxyXG4gICAgICAgICAgPyBjYXJ0RGV0YWlscz8uYXR0YWNobWVudHNbMl0/LmRvd25sb2FkVVJMXHJcbiAgICAgICAgICA6IGNhcnREZXRhaWxzPy5hdHRhY2htZW50c1swXT8uZG93bmxvYWRVUkw7XHJcbiAgICAgIGltYWdlVXJsID0ge1xyXG4gICAgICAgIHVybDogKFxyXG4gICAgICAgICAgdGhpcy5lbnZpcm9ubWVudC5vY2NCYXNlVXJsLnNsaWNlKDAsIHRoaXMuZW52aXJvbm1lbnQub2NjQmFzZVVybC5sZW5ndGggLSAxKSArXHJcbiAgICAgICAgICBzcmNVcmxcclxuICAgICAgICApPy5yZXBsYWNlKFwiJmF0dGFjaG1lbnQ9dHJ1ZVwiLCBcIlwiKSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBpbWFnZVVybDtcclxuICB9XHJcblxyXG4gIGdldENvbG91ckRldGFpbHMoY29uZmlnSW5mbzogYW55LCB0eXBlOiBhbnkpIHtcclxuICAgIGxldCBuYW1lOiBhbnk7XHJcbiAgICBsZXQgYmFja2dyb3VuZDogYW55O1xyXG4gICAgaWYgKGNvbmZpZ0luZm8gJiYgY29uZmlnSW5mbz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBjb2xvdXIgPSBjb25maWdJbmZvPy5maWx0ZXIoKGNvbDogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGNvbD8uY29uZmlndXJhdGlvbkxhYmVsPy50b0xvd2VyQ2FzZSgpID09IFwiY29sb3JcIlxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKGNvbG91ciAmJiBjb2xvdXI/Lmxlbmd0aCkge1xyXG4gICAgICAgIG5hbWUgPSBjb2xvdXJbMF0/LmNvbmZpZ3VyYXRpb25WYWx1ZT8uc3BsaXQoJ3wnKVsxXTtcclxuICAgICAgICBiYWNrZ3JvdW5kID0gY29sb3VyWzBdPy5jb25maWd1cmF0aW9uVmFsdWU/LnNwbGl0KCd8JylbMl07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAodHlwZSA9PSBcImJhY2tncm91bmRcIikgPyBiYWNrZ3JvdW5kIDogbmFtZTtcclxuICB9XHJcblxyXG4gIHZpZXdJbWFnZShldmVudDogYW55LCBjYXJ0RGV0YWlsczogYW55KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5pc0ZsYXNoaW5nTW9kYWwgPVxyXG4gICAgICBjYXJ0RGV0YWlscz8ucHJvZHVjdD8uZmxhc2hpbmdQcm9kdWN0ICYmXHJcbiAgICAgIGNhcnREZXRhaWxzPy5wcm9kdWN0Py5idW5kbGVFbmFibGVkO1xyXG4gICAgdGhpcy5mbGFzaGluZ0ltYWdlRGV0YWlscyA9IGNhcnREZXRhaWxzO1xyXG4gICAgdGhpcy5pbWFnZU1vZGFsU3JjID0gdGhpcy5nZXRJbWFnZURldGFpbHMoY2FydERldGFpbHMsIGZhbHNlKT8udXJsO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGRmTGluayhjYXJ0RGV0YWlsczogYW55KTogdm9pZCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRJbWFnZURldGFpbHMoY2FydERldGFpbHMsIGZhbHNlKT8udXJsO1xyXG4gIH1cclxuXHJcbiAgaGFzSW1hZ2UoY2FydERldGFpbHM6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgbWltZVR5cGUgPSBjYXJ0RGV0YWlscz8uYXR0YWNobWVudHNbMF0/Lm1pbWU7XHJcbiAgICBjb25zdCBtaW1lQXJyYXkgPSBbXCJpbWFnZS9wbmdcIiwgXCJpbWFnZS9qcGdcIiwgXCJpbWFnZS9qcGVnXCJdO1xyXG4gICAgcmV0dXJuIG1pbWVBcnJheS5pbmNsdWRlcyhtaW1lVHlwZSk7XHJcbiAgfVxyXG5cclxuICBoYXNDb2xvdXIoY2FydERldGFpbHM6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGNhcnREZXRhaWxzPy5wcm9kdWN0Py5maW5pc2hlZFByb2R1Y3QpIHtcclxuICAgICAgY29uc3QgY29kZSA9IGNhcnREZXRhaWxzPy5wcm9kdWN0Py5jb2RlO1xyXG4gICAgICBjb25zdCBjb2xvdXIgPSBjYXJ0RGV0YWlscz8ucHJvZHVjdD8udmFyaWFudE9wdGlvbnM/LmZpbHRlcihcclxuICAgICAgICAoaXRlbTogYW55KSA9PiBpdGVtLmNvZGUgPT0gY29kZVxyXG4gICAgICApO1xyXG4gICAgICBpZiAoY29sb3VyICYmIGNvbG91clswXT8uY29sb3VycyAmJiBjb2xvdXJbMF0/LmNvbG91cnM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjYXJ0RGV0YWlscy5jb2xvdXIgPSBjb2xvdXJbMF0/LmNvbG91cnNbMF07XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vIEdldCBTdW1tYXJ5IEhlYWRpbmdcclxuICBnZXRDbGFzc2lmaWNhdGlvbnMoZGF0YTogYW55KTogYW55IHtcclxuICAgIGxldCB3aWR0aEFycmF5OiBhbnkgPSBbXTtcclxuICAgIGxldCBmZWF0dXJlQXJyYXk6IGFueSA9IFtdO1xyXG4gICAgZGF0YT8uZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQ/LmZlYXR1cmVzLmZvckVhY2goKGZlYXR1cmU6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCB1bml0ID0gZmVhdHVyZT8uZmVhdHVyZVVuaXQgPyBmZWF0dXJlPy5mZWF0dXJlVW5pdD8uc3ltYm9sIDogJyAnO1xyXG4gICAgICAgIGlmIChmZWF0dXJlICYmIGZlYXR1cmU/LmNvZGUgJiYgdHlwZW9mIGZlYXR1cmU/LmNvZGUgPT09IFwic3RyaW5nXCIgJiYgZmVhdHVyZT8uY29kZT8uc3BsaXQoJy4nKS5wb3AoKSA9PSAnd2lkdGhmcm9tJykge1xyXG4gICAgICAgICAgd2lkdGhBcnJheS5wdXNoKGZlYXR1cmU/Lm5hbWUgICsgJzogJyArIGZlYXR1cmU/LmZlYXR1cmVWYWx1ZXNbMF0/LnZhbHVlKTtcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmVhdHVyZSAmJiBmZWF0dXJlPy5jb2RlICYmIHR5cGVvZiBmZWF0dXJlPy5jb2RlID09PSBcInN0cmluZ1wiICYmIGZlYXR1cmU/LmNvZGU/LnNwbGl0KCcuJykucG9wKCkgPT0gJ3dpZHRodG8nKSB7XHJcbiAgICAgICAgICB3aWR0aEFycmF5LnB1c2goZmVhdHVyZT8uZmVhdHVyZVZhbHVlc1swXT8udmFsdWUgKyB1bml0KTtcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuICAgICAgICBmZWF0dXJlQXJyYXkucHVzaChmZWF0dXJlPy5uYW1lICsgJzogJyArIGZlYXR1cmU/LmZlYXR1cmVWYWx1ZXNbMF0/LnZhbHVlICsgdW5pdCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgaWYgKCB3aWR0aEFycmF5Lmxlbmd0aCA+IDAgKSB7XHJcbiAgICAgIGZlYXR1cmVBcnJheS5wdXNoKHdpZHRoQXJyYXlbMV0gKyAgJyAtICcgICsgd2lkdGhBcnJheVswXSApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZlYXR1cmVBcnJheT8uam9pbihcIiB8IFwiKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsb2FkaW5nXCIgKm5nSWY9XCJzaG93V2FpdEN1cnNvciB8IGFzeW5jXCI+TG9hZGluZyYjODIzMDs8L2Rpdj5cclxuPGRpdiBjbGFzcz1cInB5LTMgbWItMjAwXCI+XHJcbiAgPG5neC1tYXNvbnJ5IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIG5neE1hc29ucnlJdGVtXHJcbiAgICAgIGNsYXNzPVwiY29sLWxnLTMgY29sLXNtLTZcIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgY2FydCBvZiBjYXJ0RGV0YWlsczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWdyaWQtdGlsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXRpbGUtdG9wIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2t1LWNvZGVcIj5TS1U6e3sgY2FydD8ucHJvZHVjdD8uY29kZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICA8IS0tIDxjeC1tZWRpYSBbY29udGFpbmVyXT1cImNhcnQ/LnByb2R1Y3Q/LmltYWdlc1wiIGZvcm1hdD1cImNhcnRJY29uXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjwvY3gtbWVkaWE+IC0tPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgIGNhcnREZXRhaWxzW2ldPy5wcm9kdWN0Py5mbGFzaGluZ1Byb2R1Y3Q7XHJcbiAgICAgICAgICAgICAgICAgIGVsc2Ugbm9ybWFsSW1hZ2VcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJtb2RhbFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxhc2hpbmctZXhwYW5kXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdJbWFnZSgkZXZlbnQsIGNhcnREZXRhaWxzW2ldKVwiXHJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGFyZ2V0XT1cIicjaW1hZ2VNb2RhbCdcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0ltYWdlKGNhcnREZXRhaWxzW2ldKTsgZWxzZSBoYXNQZGZcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8Y3gtbWVkaWFcclxuICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyXT1cImdldEltYWdlRGV0YWlscyhjYXJ0RGV0YWlsc1tpXSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdD1cImNhcnRJY29uXCJcclxuICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY3gtbWVkaWE+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hhc1BkZj5cclxuICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsYXNoaW5nLWV4cGFuZCBmbGFzaGluZy1vcGVuXCJcclxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJnZXRQZGZMaW5rKGNhcnREZXRhaWxzW2ldKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGRmLWljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3JjPVwiLi4vLi4vLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9wZGYtaWNvbi5zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgYWx0PVwiQ2xpY2sgdG8gb3BlbiBQREZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJDbGljayB0byBvcGVuIFBERlwiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vcm1hbEltYWdlPlxyXG4gICAgICAgICAgICAgICAgPGN4LW1lZGlhXHJcbiAgICAgICAgICAgICAgICAgIFtjb250YWluZXJdPVwiZ2V0SW1hZ2VEZXRhaWxzKGNhcnREZXRhaWxzW2ldKVwiXHJcbiAgICAgICAgICAgICAgICAgIGZvcm1hdD1cImNhcnRJY29uXCJcclxuICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXHJcbiAgICAgICAgICAgICAgICA+PC9jeC1tZWRpYT5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgPGg0Pnt7IGNhcnQ/LnByb2R1Y3Q/Lm5hbWUgfX08L2g0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJleHBhbmRCdG5cIiAoY2xpY2spPVwiYXJyb3dIaWRlU2hvdyhpKVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJyb3dVcERvd25baV0gPT0gdHJ1ZTsgZWxzZSBhcnJvd1VwXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2hldnJvbi11cFwiPjwvaT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYXJyb3dVcD5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLWRvd25cIj48L2k+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFycm93VXBEb3duW2ldXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC10aWxlLW1pZGRsZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FydD8ucHJvZHVjdD8uY2xhc3NpZmljYXRpb25zXCI+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtdC0wIG1iLTBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuID5cclxuICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICBnZXRDbGFzc2lmaWNhdGlvbnMoY2FydERldGFpbHNbaV0/LnByb2R1Y3Q/LmNsYXNzaWZpY2F0aW9ucylcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cIm0tMFwiPnt7IGNhcnQ/LmpvYlJlZmVyZW5jZSB9fTwvcD5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiY2FydD8uY29uZmlndXJhdGlvbkluZm9zPy5sZW5ndGg7IGVsc2UgYWNjZXNzb3JpZXNDb2xvclwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8cFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb2xvcnMtcGFyYWdyYXBoIG1iLTBcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhY2FydD8ucHJvZHVjdD8uZmxhc2hpbmdQcm9kdWN0OyBlbHNlIGZsYXNoaW5nQ29sb3VyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInJldmlld29yZGVyLWNvbG9yIG1yLTNcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDpcclxuICAgICAgICAgICAgICAgICAgICAgIGNhcnQ/LmNvbmZpZ3VyYXRpb25JbmZvc1swXT8uY29uZmlndXJhdGlvblZhbHVlLnNwbGl0KCd8JylcclxuICAgICAgICAgICAgICAgICAgICAgIHwgc2xpY2UgOiAyXHJcbiAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgIGNhcnQ/LmNvbmZpZ3VyYXRpb25JbmZvc1swXT8uY29uZmlndXJhdGlvblZhbHVlLnNwbGl0KFwifFwiKVxyXG4gICAgICAgICAgICAgICAgICAgIHwgc2xpY2UgOiAxIDogMlxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmbGFzaGluZ0NvbG91cj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiY29sb3JzLXBhcmFncmFwaCBtYi0wXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyZXZpZXdvcmRlci1jb2xvciBtci0zXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBnZXRDb2xvdXJEZXRhaWxzKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXJ0RGV0YWlsc1tpXT8uY29uZmlndXJhdGlvbkluZm9zLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZCdcclxuICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICBnZXRDb2xvdXJEZXRhaWxzKGNhcnREZXRhaWxzW2ldPy5jb25maWd1cmF0aW9uSW5mb3MsIFwibmFtZVwiKVxyXG4gICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2FjY2Vzc29yaWVzQ29sb3I+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJjb2xvcnMtcGFyYWdyYXBoIG1iLTBcIiAqbmdJZj1cImhhc0NvbG91cihjYXJ0KVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyZXZpZXdvcmRlci1jb2xvciBtci0zXCJcclxuICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGNhcnQ/LmNvbG91cj8uaGV4YWRlY2ltYWxDb2RlXHJcbiAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIHt7IGNhcnQ/LmNvbG91cj8ubmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcnQ/LnN1YkxpbmVDb25maWdJbmZvcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dIaWRlKGkpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VlLW1vcmUtbGlua1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgc2hvd0RldGFpbHNbaV0gPT0gdHJ1ZSA/IFwiSGlkZVwiIDogXCJTZWVcIiB9fSBtb3JlIGRldGFpbHNcclxuICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dEZXRhaWxzW2ldXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJuby1ib3JkZXIgY2FydC1kZXRhaWxzLXRhYmxlIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRoPlF1YW50aXR5PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0aD5MZW5ndGggKExNKTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJjYXJ0Py5zdWJMaW5lQ29uZmlnSW5mb3NbMF0/LmJ1bmRsZU5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQnVuZGxlXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBzdWJMaW5lIG9mIGNhcnQ/LnN1YkxpbmVDb25maWdJbmZvc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IHN1YkxpbmU/LnF1YW50aXR5ID8gc3ViTGluZT8ucXVhbnRpdHkgOiBcIi1cIiB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgc3ViTGluZT8ubGVuZ3RoIHwgbnVtYmVyIDogXCIwLjMtM1wiIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInN1YkxpbmU/LmJ1bmRsZU5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgc3ViTGluZT8uYnVuZGxlTmFtZSB9fTxiciAvPnt7IHN1YkxpbmU/LnJlZmVyZW5jZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtdGlsZS1ib3R0b21cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02IGJvcmRlci1yaWdodFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbC1xdHlcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgID5Ub3RhbCBRdHk6IHt7IGNhcnQucXVhbnRpdHlEb3VibGVcclxuICAgICAgICAgICAgICAgICAgfX17eyBjYXJ0Py5iYXNlUHJpY2U/LnVuaXRUeXBlIH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICA+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICA+e3sgIGNhcnQuZGlzY291bnRlZEJhc2VQcmljZT8uZm9ybWF0dGVkVmFsdWU/IGNhcnQuZGlzY291bnRlZEJhc2VQcmljZT8uZm9ybWF0dGVkVmFsdWUgOiBjYXJ0LmJhc2VQcmljZT8uZm9ybWF0dGVkVmFsdWUgfX0ve3tcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0LmRpc2NvdW50ZWRCYXNlUHJpY2U/LnVuaXRUeXBlID8gY2FydC5kaXNjb3VudGVkQmFzZVByaWNlPy51bml0VHlwZSA6IGNhcnQuYmFzZVByaWNlPy51bml0VHlwZVxyXG4gICAgICAgICAgICAgICAgICB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY29sLTYgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyIHRleHQtcmlnaHRcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvdGFsLWFtb3VudCB0ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8aDQ+e3sgY2FydD8udG90YWxQcmljZT8uZm9ybWF0dGVkVmFsdWUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+ZXhjbCBHU1Q8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgY2FydERldGFpbHNbaV0/LnByb2R1Y3Q/LmZsYXNoaW5nUHJvZHVjdCAmJlxyXG4gICAgICAgICAgICBjYXJ0RGV0YWlsc1tpXT8ucHJvZHVjdENvbmZpZ3VyZWRJbmZvcyAmJlxyXG4gICAgICAgICAgICBjYXJ0RGV0YWlsc1tpXT8ucHJvZHVjdENvbmZpZ3VyZWRJbmZvcz8ubGVuZ3RoID4gMFxyXG4gICAgICAgICAgXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkYXRhIG9mIGNhcnREZXRhaWxzW2ldPy5wcm9kdWN0Q29uZmlndXJlZEluZm9zXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImZsYXNoaW5nLWJsb2NrXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGE/LnByb2R1Y3Q/Lm5hbWU/LnRvTG93ZXJDYXNlKCkgPT0gJ2ZsYXNoZ3VhcmQnXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXRpbGUtdG9wXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJza3VJZFwiPlNLVToge3sgZGF0YT8ucHJvZHVjdD8uY29kZSB9fTwvaDY+XHJcbiAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImZsYXNoLXRpdGxlXCI+e3sgZGF0YT8ucHJvZHVjdD8ubmFtZSB9fTwvaDM+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YT8uZ2lydGhcIj5HaXJ0aDogK3t7IGRhdGE/LmdpcnRoIH19bW08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC10aWxlLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbWQtNiBjb2wtNiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGJvcmRlci1yaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWwtcXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBUb3RhbCBRdHk6IHt7IGRhdGE/LnF1YW50aXR5RG91YmxlIH19e3sgZGF0YT8udW5pdFR5cGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPkB7eyBkYXRhPy5iYXNlUHJpY2U/LmZvcm1hdHRlZFZhbHVlIH19L3t7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT8udW5pdFR5cGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC02IGNvbC02IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LXJpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbC1hbW91bnQgdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGg0Pnt7IGRhdGE/LnRvdGFsUHJpY2U/LmZvcm1hdHRlZFZhbHVlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPmV4Y2wgR1NUPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmd4LW1hc29ucnk+XHJcbjwvZGl2PlxyXG5cclxuPGRpdlxyXG4gIGNsYXNzPVwibW9kYWwgZmFkZVwiXHJcbiAgaWQ9XCJpbWFnZU1vZGFsXCJcclxuICByb2xlPVwiZGlhbG9nXCJcclxuICBhcmlhLWxhYmVsbGVkYnk9XCJpbWFnZU1vZGFsXCJcclxuICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICNpbWFnZU1vZGFsXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWxnXCIgcm9sZT1cImRvY3VtZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGlcclxuICAgICAgICAgIGNsYXNzPVwiaWNvbi1jbG9zZSBpbnZpdGUtcG9wLWNsb3NlXCJcclxuICAgICAgICAgICNjbG9zZUludml0ZU1vZGFsXHJcbiAgICAgICAgICBkYXRhLWRpc21pc3M9XCJtb2RhbFwiXHJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxyXG4gICAgICAgID48L2k+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJpbWFnZU1vZGFsU3JjXCIgYWx0PVwiYWxlcnRcIiAvPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJpc0ZsYXNoaW5nTW9kYWxcIiBjbGFzcz1cImZsYXNoaW5nLWRldGFpbHNcIj5cclxuICAgICAgICAgIDxhcHAtY3VzdG9tLWZsYXNoaW5nLWltYWdlLWRldGFpbHMgW2NhcnREZXRhaWxzXT1cImZsYXNoaW5nSW1hZ2VEZXRhaWxzXCI+PC9hcHAtY3VzdG9tLWZsYXNoaW5nLWltYWdlLWRldGFpbHM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -151,7 +151,7 @@ export class OrderReviewListComponent {
151
151
  }
152
152
  }
153
153
  OrderReviewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: OrderReviewListComponent, deps: [{ token: i1.CartService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
154
- OrderReviewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: OrderReviewListComponent, selector: "app-order-review-list", inputs: { cartDetails: "cartDetails", isCardData: "isCardData" }, outputs: { updateCartEntry: "updateCartEntry" }, ngImport: i0, template: "<div class=\"loading\" *ngIf=\"showWaitCursor | async\">Loading&#8230;</div>\r\n<div class=\"revieworder-table-container\">\r\n <div class=\"row revieworder-header-container\">\r\n <div class=\"col-sm-4 py-2\">ITEM</div>\r\n <div class=\"col-sm-2 py-2\">JOB REFERENCE</div>\r\n <div class=\"col-sm-2 py-2\">TOTAL QTY</div>\r\n <div class=\"col-sm-2 py-2\">UNIT PRICE</div>\r\n <div class=\"col-sm-2 py-2\">TOTAL PRICE</div>\r\n </div>\r\n <div *ngFor=\"let cart of cartDetails; let i = index\">\r\n <div class=\"row revieworder-body-container\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"row py-3 product-image-container\">\r\n <div class=\"col-sm-4 p-md-0 col-lg-2\">\r\n <!-- <cx-media [container]=\"cart?.product?.images\" format=\"cartIcon\" role=\"presentation\"></cx-media> -->\r\n <div class=\"product-img\">\r\n <ng-container\r\n *ngIf=\"\r\n cartDetails[i]?.product?.flashingProduct;\r\n else normalImage\r\n \"\r\n >\r\n <a\r\n data-toggle=\"modal\"\r\n class=\"flashing-expand\"\r\n (click)=\"viewImage($event, cartDetails[i])\"\r\n [attr.data-target]=\"'#imageModal'\"\r\n *ngIf=\"hasImage(cartDetails[i]); else hasPdf\"\r\n >\r\n <cx-media\r\n [container]=\"getImageDetails(cartDetails[i])\"\r\n format=\"cartIcon\"\r\n role=\"presentation\"\r\n ></cx-media>\r\n </a>\r\n <ng-template #hasPdf>\r\n <a\r\n class=\"flashing-expand flashing-open\"\r\n [href]=\"getPdfLink(cartDetails[i])\"\r\n target=\"_blank\"\r\n >\r\n <img\r\n class=\"pdf-icon\"\r\n src=\"../../../../../assets/images/pdf-icon.svg\"\r\n alt=\"Click to open PDF\"\r\n title=\"Click to open PDF\"\r\n />\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #normalImage>\r\n <cx-media\r\n [container]=\"getImageDetails(cartDetails[i])\"\r\n format=\"cartIcon\"\r\n role=\"presentation\"\r\n ></cx-media>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-8 col-lg-10\">\r\n <p class=\"reviewproduct-name mb-2\">{{ cart?.product?.name }}</p>\r\n <p class=\"sku-text m-0\">SKU: {{ cart?.product?.code }}</p>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"cart?.product?.classifications\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 pl-md-0 mb-2\">\r\n <span\r\n *ngIf=\"\r\n cart?.product &&\r\n cart?.product?.classifications &&\r\n cart?.product?.classifications[0] &&\r\n cart?.product?.classifications[0]?.features;\r\n \"\r\n >\r\n {{ getClassifications(cartDetails[i]?.product?.classifications) }}\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-sm-2 py-3\">\r\n {{ cart?.jobReference }}\r\n </div>\r\n <div class=\"col-sm-2 py-3\">\r\n {{ cart.quantityDouble }} {{ cart?.basePrice?.unitType }}\r\n </div>\r\n <div class=\"col-sm-2 py-3\">\r\n {{ cart.discountedBasePrice?.formattedValue? cart.discountedBasePrice?.formattedValue : cart.basePrice?.formattedValue }}/{{\r\n cart.discountedBasePrice?.unitType ? cart.discountedBasePrice?.unitType : cart.basePrice?.unitType\r\n }}\r\n </div>\r\n <div class=\"col-sm-2 py-3\">\r\n {{ cart?.totalPrice?.formattedValue }}\r\n <span class=\"d-block\">excl GST</span>\r\n </div>\r\n <div class=\"col-sm-12 pl-md-0\">\r\n <ng-container\r\n *ngIf=\"cart?.configurationInfos?.length; else accessoriesColor\"\r\n >\r\n <p class=\"colors-paragraph mb-0\" *ngIf=\"!cart?.product?.flashingProduct; else flashingColour\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background:\r\n cart?.configurationInfos[0]?.configurationValue.split('|')\r\n | slice : 2\r\n }\"\r\n ></span>\r\n {{\r\n cart?.configurationInfos[0]?.configurationValue.split(\"|\")\r\n | slice : 1 : 2\r\n }}\r\n </p>\r\n <ng-template #flashingColour>\r\n <p class=\"colors-paragraph mb-0\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background:\r\n getColourDetails(cartDetails[i]?.configurationInfos, 'background')\r\n }\"\r\n ></span>\r\n {{\r\n getColourDetails(cartDetails[i]?.configurationInfos, 'name')\r\n }}\r\n </p>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #accessoriesColor>\r\n <p class=\"colors-paragraph mb-0\" *ngIf=\"hasColour(cart)\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{ background: cart?.colour?.hexadecimalCode }\"\r\n ></span>\r\n {{ cart?.colour?.name }}\r\n </p>\r\n </ng-template>\r\n <ng-container *ngIf=\"cart?.subLineConfigInfos.length > 0\">\r\n <p class=\"m-0\">\r\n <!-- TODO: data-target,aria-controls and id should should come as dynamic -->\r\n <a\r\n href=\"javascript:void(0)\"\r\n (click)=\"showHide(i)\"\r\n class=\"see-more-link\"\r\n >\r\n {{ showDetails[i] == true ? \"Hide\" : \"See\" }} more details\r\n </a>\r\n </p>\r\n <div class=\"revieworder-collapse\" *ngIf=\"showDetails[i]\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-6 bundle-details\">\r\n <div class=\"row bundle-details-header\">\r\n <div class=\"col-3\">Quantity</div>\r\n <div class=\"col-3\">Length (LM)</div>\r\n <ng-container *ngIf=\"cart?.subLineConfigInfos[0]?.bundleName\">\r\n <div class=\"col-3\">Bundle</div>\r\n <div class=\"col-3\">Reference</div>\r\n </ng-container>\r\n </div>\r\n <div\r\n class=\"row\"\r\n *ngFor=\"let subLine of cart?.subLineConfigInfos\"\r\n >\r\n <div class=\"col-3\">{{ subLine?.quantity }}</div>\r\n <div class=\"col-3\">\r\n {{ subLine?.length | number : \"0.3-3\" }}\r\n </div>\r\n <ng-container *ngIf=\"subLine?.bundleName\">\r\n <div class=\"col-3\">{{ subLine?.bundleName }}</div>\r\n <div class=\"col-3\">{{ subLine?.reference }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n cartDetails[i]?.product?.flashingProduct &&\r\n cartDetails[i]?.productConfiguredInfos &&\r\n cartDetails[i]?.productConfiguredInfos?.length > 0\r\n \"\r\n >\r\n <ng-container *ngFor=\"let data of cartDetails[i]?.productConfiguredInfos\">\r\n <div\r\n class=\"flashing-block\"\r\n *ngIf=\"data?.product?.name?.toLowerCase() == 'flashguard'\"\r\n >\r\n <div class=\"row\">\r\n <div class=\"col-sm-3\">\r\n <h3 class=\"flash-title\">{{ data?.product?.name }}</h3>\r\n <h6 class=\"skuId\">SKU: {{ data?.product?.code }}</h6>\r\n <span *ngIf=\"data?.girth\">Girth: +{{ data.girth }}mm </span>\r\n </div>\r\n <div class=\"offset-sm-3 col-sm-2\">\r\n {{ data?.quantityDouble }}{{ data?.unitType }}\r\n </div>\r\n <div class=\"col-sm-2\">\r\n {{ data?.basePrice?.formattedValue }}/{{ data?.unitType }}\r\n </div>\r\n <div class=\"col-sm-2\">\r\n {{ data?.totalPrice?.formattedValue }}\r\n <span class=\"gst-text\">excl GST</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"modal fade\"\r\n id=\"imageModal\"\r\n role=\"dialog\"\r\n aria-labelledby=\"imageModal\"\r\n aria-hidden=\"true\"\r\n #imageModal\r\n>\r\n <div class=\"modal-dialog modal-lg\" role=\"document\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <i\r\n class=\"icon-close invite-pop-close\"\r\n #closeInviteModal\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n ></i>\r\n </div>\r\n <div class=\"modal-body\">\r\n <img [src]=\"imageModalSrc\" alt=\"alert\" />\r\n <div *ngIf=\"isFlashingModal\" class=\"flashing-details\">\r\n <app-custom-flashing-image-details [cartDetails]=\"flashingImageDetails\"></app-custom-flashing-image-details>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@media screen and (min-width: 1366px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: 1.063rem;--fontsize17-5: 1.1rem;--fontsize18: 1.125rem;--fontsize18-4: 1.5rem;--fontsize20: 1.25rem;--fontsize21: 1.313rem;--fontsize22: 1.375rem;--fontsize23: 1.438rem;--fontsize24: 1.5rem;--fontsize26: 1.625rem;--fontsize28: 1.75rem;--fontsize30: 1.625rem;--fontsize32: 2rem;--fontsize34: 2.125rem;--fontsize36: 2rem;--fontsize40: 2.25rem;--fontsize46: 2.875rem;--fontsize80: 5rem}}@media screen and (max-width: 1365px) and (min-width: 768px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2.875rem;--fontsize80: 3.5rem}}@media screen and (max-width: 767px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize16-5: .77rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize19: .938rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize26: 1.25rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2rem;--fontsize80: 2.5rem}}@font-face{font-family:icomoon;font-weight:400;src:url(../assets/fonts/icomoon.ttf) format(\"ttf\"),url(../assets/fonts/icomoon.woff) format(\"woff\");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:\"Arial Regular\";src:url(../assets/fonts/arial-webfont.woff) format(\"woff\"),url(../assets/fonts/arial-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Bold\";src:url(../assets/fonts/arialbold-webfont.woff) format(\"woff\"),url(../assets/fonts/arialbold-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Black\";src:url(../assets/fonts/arialblack-webfont.woff) format(\"woff\"),url(../assets/fonts/arialblack-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Reqular\";src:url(../assets/fonts/helveticaneue.woff) format(\"woff\"),url(../assets/fonts/helveticaneue.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Thin\";src:url(../assets/fonts/helveticaneuethin-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuethin-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Medium\";src:url(../assets/fonts/helveticaneuemedium-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuemedium-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;font-feature-settings:normal;font-variant:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;text-transform:none;font-display:swap}.icon-right:before{content:\"\\e902\"}.icon-materials:before{content:\"\\e900\"}.icon-natural-lighting:before{content:\"\\e90a\"}.icon-rainwater:before{content:\"\\e901\"}.icon-roofing:before{content:\"\\e90b\"}.icon-flashing{position:relative;display:inline-block;height:32px;text-align:center;width:32px}.icon-flashing:before,.mainnav-link-level-2.show .navTagChild .icon-flashing:before{content:url(../assets/images/icon-flashing-white.svg);height:20px;width:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:15px}li.megamenuSubChild:hover .icon-flashing:before{content:url(../assets/images/icon-flashing-black.svg)}.icon-structural:before{content:\"\\e90c\"}.icon-accessories-old .path1:before{content:\"\\e903\"}.icon-accessories-old .path2:before{margin-left:-1em;content:\"\\e904\"}.icon-accessories-old .path3:before{margin-left:-1em;content:\"\\e905\"}.icon-cladding-old .path1:before{content:\"\\e90d\"}.icon-cladding-old .path2:before{margin-left:-1em;content:\"\\e90e\"}.icon-close:before{content:\"\\e90f\"}.icon-message:before{content:\"\\e910\"}.icon-search .path1:before{content:\"\\e906\"}.icon-search .path2:before{content:\"\\e907\"}.icon-search .path3:before{margin-left:-1.0156em;content:\"\\e908\"}.icon-summary:before{content:\"\\e911\"}.icon-branch:before{content:\"\\e912\"}.icon-delivery:before{content:\"\\e913\"}.icon-downloads:before{content:\"\\e909\"}.icon-drawings:before{content:\"\\e914\"}.icon-full:before{content:\"\\e915\"}.icon-manual:before{content:\"\\e916\"}.icon-payment:before{content:\"\\e917\"}.icon-empty .path1:before{content:\"\\e918\"}.icon-empty .path2:before{margin-left:-1em;content:\"\\e919\"}.icon-empty .path3:before{margin-left:-1em;content:\"\\e91a\"}.icon-product-overview:before{content:\"\\e91b\"}.icon-arrows:before{content:\"\\e91c\"}.icon-selected:before{content:\"\\e91d\"}.icon-accessories:before{content:\"\\e91b\"}.icon-cladding:before{content:\"\\e91e\"}.icon-Triangle:before{content:\"\\e91f\"}.icon-home:before{content:\"\\e920\"}.icon-faq:before{content:\"\\e921\"}.icon-temperature:before{content:\"\\e922\"}body header{font-family:\"Arial Regular\",sans-serif}header{background-color:#1d1d1b;position:sticky;top:0;background-size:100% 25%!important;background-repeat:no-repeat;z-index:10}header .header{max-width:100%;padding:0}header cx-banner cx-media img{margin-top:.7rem;margin-bottom:0}header label{display:inline-flex}header .SiteLinks{height:52px;display:flex;align-items:center;justify-content:space-between;padding-top:5px;padding-bottom:5px}header .SiteLinks cx-paragraph p{color:#fff;font-size:var(--fontsize16);line-height:var(--fontsize16);margin-bottom:0}header .SiteLinks cx-paragraph{font-size:var(--fontsize16)}header .SiteLinks app-account-dropdown,header .SiteLinks app-find-store{width:calc(25% - 25px);max-width:328px;margin-right:25px}header .SiteLinks app-contact-us{width:calc(20% - 25px);max-width:100px;margin-left:auto}header .SiteLinks app-custom-mini-cart{width:10%}header .SiteLinks .preferenceLink{margin-left:auto}header .SiteLinks .preferenceLink cx-generic-link{margin:0}header .SiteLinks .preferenceLink cx-generic-link cx-media img{height:22px;margin:0}header .SiteLogo .storeLogo{position:absolute;z-index:99;left:40px;bottom:10px}header .SiteLogo .homeLogo{max-width:28px;height:28px;position:absolute;z-index:99;bottom:47px}header .NavigationBar{flex:70%;background-color:#b61828;min-height:40px;display:flex;align-items:center;position:relative}header .logoutMenu{margin-top:0!important}header .logoutMenu li{cursor:pointer;background-color:#4c4c4c;color:#fff}header .logoutMenu li:hover{text-decoration:underline;background-color:#4c4c4c}header .MarketingContext{width:100%;margin:auto}.customer-service-icon{cursor:pointer}.helpSupport{width:20rem;border:0;margin-top:.5rem!important;transform:translate(-42%,36px)!important;padding:1rem 1rem 0;background-color:#393939;color:#fff;top:0}.helpSupport .arrow-up{position:absolute;top:-8px;right:44%;width:0;height:0;border-left:15px solid rgba(0,0,0,0);border-right:15px solid rgba(0,0,0,0);border-bottom:15px solid #393939}.helpSupport .contact-us-info .heading{font-family:\"Arial Bold\",sans-serif}.helpSupport .contact-us-info .detail{font-size:var(--fontsize14);line-height:2rem}.helpSupport .contact-us-info .detail .service-icon{height:20px;width:20px;margin-right:10px}.helpSupport .contact-us-info .contactLink a{font-size:var(--fontsize14);text-decoration:underline;text-transform:uppercase}.helpSupport .contact-us-info a{color:#fff;text-decoration:none}.helpSupport .contact-us-info a:hover{text-decoration:underline}.pageTitle{font-family:\"Helvetica Neue Regular\",sans-serif;font-size:var(--fontsize54)}#visualization-container{text-align:center;margin:0 auto}#cds-viewer-container-3d{width:320px;height:200px}#cds-viewer-container-2d{width:320px;height:200px}[aria-label=Close]{cursor:pointer}cx-media.is-missing{background:url(./assets/images/search-noimage.svg);background-size:cover;background-position:center;background-repeat:no-repeat}cx-global-message{position:fixed;top:9rem;width:100%;z-index:13}@media screen and (max-width: 991px){cx-global-message{top:3.75rem}cx-storefront header{background-color:#b61828}cx-storefront header cx-banner cx-media img{margin:auto}cx-storefront header .SiteLogo{width:100%;max-width:211px;margin:auto;padding-left:30px;box-sizing:border-box}cx-storefront header .SiteLogo .storeLogo{position:unset}cx-storefront header .SearchBox{margin:14px 0 10px;width:30px}cx-storefront header .SiteLinks{background-color:transparent;width:110px;margin:auto 25px auto 0}cx-storefront header .SiteLinks app-account-dropdown,cx-storefront header .SiteLinks app-find-store,cx-storefront header .SiteLinks app-contact-us,cx-storefront header .SiteLinks cx-paragraph,cx-storefront header .SiteLinks .preferenceLink{display:none}cx-storefront header .SiteLinks app-custom-mini-cart,cx-storefront header .SiteLinks app-custom-user-account{width:35px}cx-storefront header.is-expanded{overflow-y:auto;position:fixed;bottom:0;top:0;width:calc(100% - 99px)}cx-storefront header.is-expanded .header{background-color:#b61828;margin-left:0;position:relative}cx-storefront header.is-expanded .PreHeader{position:absolute;right:-5px;top:5px}cx-storefront header.is-expanded .SearchBox{display:none}cx-storefront header.is-expanded .SiteLogo{position:absolute;bottom:110px;z-index:9}cx-storefront header.is-expanded .SiteLinks{background-color:#1d1d1b;width:100%;margin:15px auto 15px 0;height:unset;padding:15px;max-width:100%;position:relative;z-index:9;top:60px}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-account-dropdown{width:100%;max-width:100%}cx-storefront header.is-expanded .SiteLinks app-find-store{width:50%;max-width:328px;min-width:328px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-right:15px;margin-left:auto;width:115px;max-width:unset}cx-storefront header.is-expanded .navigation{position:relative;top:45px}cx-storefront header.is-expanded:before{background-color:#0000004d;right:0;content:\"\";position:fixed;z-index:2;top:0;bottom:0;height:100vh;width:99px}cx-storefront header.is-expanded:after{background-color:transparent}}@media screen and (max-width: 576px){cx-storefront header .SiteLogo{max-width:80px}cx-storefront header .SiteLogo .storeLogo{display:none}cx-storefront header .searchBox{height:45px}cx-storefront header.is-expanded{width:100%}cx-storefront header.is-expanded .header,cx-storefront header.is-expanded .navigation{width:100%}cx-storefront header.is-expanded .SiteLogo{bottom:160px;max-width:211px!important}cx-storefront header.is-expanded .SiteLogo .storeLogo{display:block}cx-storefront header.is-expanded .SiteLinks{max-width:100%;width:100%}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-find-store{width:100%;max-width:100%;margin-bottom:10px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-left:0}cx-storefront header.is-expanded .SiteLinks cx-paragraph{margin-left:auto}cx-storefront header.is-expanded:before{display:none}.pageTitle{font-size:28px}}.revieworder-table-container{padding-bottom:13rem}.revieworder-table-container .revieworder-header-container{background:#646363;color:#fff;font-family:\"Arial Bold\",sans-serif}.revieworder-table-container .revieworder-body-container{border-bottom:1px solid #E0E0E0;padding-bottom:1rem}.revieworder-table-container .revieworder-body-container .product-image-container{display:flex}.revieworder-table-container .revieworder-body-container .product-image-container .reviewproduct-image{width:71px;height:71px}.revieworder-table-container .revieworder-body-container .product-image-container .reviewproduct-name{font-family:\"Arial Bold\",sans-serif}.revieworder-table-container .revieworder-body-container .product-image-container .sku-text{font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif;color:#6f6f6f}.revieworder-table-container .revieworder-body-container .see-more-link{text-decoration:underline}.revieworder-table-container .revieworder-body-container .see-more-link:hover{color:#d51317}.revieworder-table-container .revieworder-body-container .seemoredetails-link{font-size:var(--fontsize16);font-family:\"Arial Regular\",sans-serif;text-decoration:underline;cursor:pointer}.revieworder-table-container .revieworder-body-container .seemoredetails-link:hover{color:#b61828}.revieworder-table-container .revieworder-body-container .revieworder-collapse .bundle-details{background:#F6F6F6;border:1px solid #E0E0E0;margin-left:15px;padding:1rem;line-height:2.5rem}.revieworder-table-container .revieworder-body-container .revieworder-collapse .bundle-details .bundle-details-header{font-family:\"Arial Bold\",sans-serif}.revieworder-table-container .colors-paragraph{display:flex;align-items:center}.revieworder-table-container .colors-paragraph .revieworder-color{width:20px;height:20px;border:1px solid #000000;display:inline-flex}.flashing-block{background-color:#e8e8e8;padding:12px;border-bottom:1px solid #C6C6C6;margin-right:-15px;margin-left:-15px}.flashing-block .flash-title{font-size:var(--fontsize16);font-family:\"Arial Bold\",sans-serif}.flashing-block .skuId{color:#707070;font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif}.flashing-block .gst-text{display:block;font-size:var(--fontsize16);font-family:\"Arial Regular\",sans-serif}\n"], components: [{ type: i2.MediaComponent, selector: "cx-media", inputs: ["container", "format", "alt", "role", "loading"], outputs: ["loaded"] }, { type: i3.CustomFlashingImageDetailsComponent, selector: "app-custom-flashing-image-details", inputs: ["cartDetails", "forPdf", "appendixNo"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i4.AsyncPipe, "slice": i4.SlicePipe, "number": i4.DecimalPipe } });
154
+ OrderReviewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: OrderReviewListComponent, selector: "app-order-review-list", inputs: { cartDetails: "cartDetails", isCardData: "isCardData" }, outputs: { updateCartEntry: "updateCartEntry" }, ngImport: i0, template: "<div class=\"loading\" *ngIf=\"showWaitCursor | async\">Loading&#8230;</div>\r\n<div class=\"revieworder-table-container\">\r\n <div class=\"row revieworder-header-container\">\r\n <div class=\"col-sm-4 py-2\">ITEM</div>\r\n <div class=\"col-sm-2 py-2\">JOB REFERENCE</div>\r\n <div class=\"col-sm-2 py-2\">TOTAL QTY</div>\r\n <div class=\"col-sm-2 py-2\">UNIT PRICE</div>\r\n <div class=\"col-sm-2 py-2\">TOTAL PRICE</div>\r\n </div>\r\n <div *ngFor=\"let cart of cartDetails; let i = index\">\r\n <div class=\"row revieworder-body-container\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"row py-3 product-image-container\">\r\n <div class=\"col-sm-4 p-md-0 col-lg-2\">\r\n <!-- <cx-media [container]=\"cart?.product?.images\" format=\"cartIcon\" role=\"presentation\"></cx-media> -->\r\n <div class=\"product-img\">\r\n <ng-container\r\n *ngIf=\"\r\n cartDetails[i]?.product?.flashingProduct;\r\n else normalImage\r\n \"\r\n >\r\n <a\r\n data-toggle=\"modal\"\r\n class=\"flashing-expand\"\r\n (click)=\"viewImage($event, cartDetails[i])\"\r\n [attr.data-target]=\"'#imageModal'\"\r\n *ngIf=\"hasImage(cartDetails[i]); else hasPdf\"\r\n >\r\n <cx-media\r\n [container]=\"getImageDetails(cartDetails[i])\"\r\n format=\"cartIcon\"\r\n role=\"presentation\"\r\n ></cx-media>\r\n </a>\r\n <ng-template #hasPdf>\r\n <a\r\n class=\"flashing-expand flashing-open\"\r\n [href]=\"getPdfLink(cartDetails[i])\"\r\n target=\"_blank\"\r\n >\r\n <img\r\n class=\"pdf-icon\"\r\n src=\"../../../../../assets/images/pdf-icon.svg\"\r\n alt=\"Click to open PDF\"\r\n title=\"Click to open PDF\"\r\n />\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #normalImage>\r\n <cx-media\r\n [container]=\"getImageDetails(cartDetails[i])\"\r\n format=\"cartIcon\"\r\n role=\"presentation\"\r\n ></cx-media>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-8 col-lg-10\">\r\n <p class=\"reviewproduct-name mb-2\">{{ cart?.product?.name }}</p>\r\n <p class=\"sku-text m-0\">SKU: {{ cart?.product?.code }}</p>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"cart?.product?.classifications\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 pl-md-0 mb-2\">\r\n <span\r\n *ngIf=\"\r\n cart?.product &&\r\n cart?.product?.classifications &&\r\n cart?.product?.classifications[0] &&\r\n cart?.product?.classifications[0]?.features;\r\n \"\r\n >\r\n {{ getClassifications(cartDetails[i]?.product?.classifications) }}\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-sm-2 py-3\">\r\n {{ cart?.jobReference }}\r\n </div>\r\n <div class=\"col-sm-2 py-3\">\r\n {{ cart.quantityDouble }} {{ cart?.basePrice?.unitType }}\r\n </div>\r\n <div class=\"col-sm-2 py-3\">\r\n {{ cart.discountedBasePrice?.formattedValue? cart.discountedBasePrice?.formattedValue : cart.basePrice?.formattedValue }}/{{\r\n cart.discountedBasePrice?.unitType ? cart.discountedBasePrice?.unitType : cart.basePrice?.unitType\r\n }}\r\n </div>\r\n <div class=\"col-sm-2 py-3\">\r\n {{ cart?.totalPrice?.formattedValue }}\r\n <span class=\"d-block\">excl GST</span>\r\n </div>\r\n <div class=\"col-sm-12 pl-md-0\">\r\n <ng-container\r\n *ngIf=\"cart?.configurationInfos?.length; else accessoriesColor\"\r\n >\r\n <p class=\"colors-paragraph mb-0\" *ngIf=\"!cart?.product?.flashingProduct; else flashingColour\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background:\r\n cart?.configurationInfos[0]?.configurationValue.split('|')\r\n | slice : 2\r\n }\"\r\n ></span>\r\n {{\r\n cart?.configurationInfos[0]?.configurationValue.split(\"|\")\r\n | slice : 1 : 2\r\n }}\r\n </p>\r\n <ng-template #flashingColour>\r\n <p class=\"colors-paragraph mb-0\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{\r\n background:\r\n getColourDetails(cartDetails[i]?.configurationInfos, 'background')\r\n }\"\r\n ></span>\r\n {{\r\n getColourDetails(cartDetails[i]?.configurationInfos, 'name')\r\n }}\r\n </p>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #accessoriesColor>\r\n <p class=\"colors-paragraph mb-0\" *ngIf=\"hasColour(cart)\">\r\n <span\r\n class=\"revieworder-color mr-3\"\r\n [ngStyle]=\"{ background: cart?.colour?.hexadecimalCode }\"\r\n ></span>\r\n {{ cart?.colour?.name }}\r\n </p>\r\n </ng-template>\r\n <ng-container *ngIf=\"cart?.subLineConfigInfos.length > 0\">\r\n <p class=\"m-0\">\r\n <!-- TODO: data-target,aria-controls and id should should come as dynamic -->\r\n <a\r\n href=\"javascript:void(0)\"\r\n (click)=\"showHide(i)\"\r\n class=\"see-more-link\"\r\n >\r\n {{ showDetails[i] == true ? \"Hide\" : \"See\" }} more details\r\n </a>\r\n </p>\r\n <div class=\"revieworder-collapse\" *ngIf=\"showDetails[i]\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-6 bundle-details\">\r\n <div class=\"row bundle-details-header\">\r\n <div class=\"col-3\">Quantity</div>\r\n <div class=\"col-3\">Length (LM)</div>\r\n <ng-container *ngIf=\"cart?.subLineConfigInfos[0]?.bundleName\">\r\n <div class=\"col-3\">Bundle</div>\r\n <div class=\"col-3\">Reference</div>\r\n </ng-container>\r\n </div>\r\n <div\r\n class=\"row\"\r\n *ngFor=\"let subLine of cart?.subLineConfigInfos\"\r\n >\r\n <div class=\"col-3\">{{ subLine?.quantity }}</div>\r\n <div class=\"col-3\">\r\n {{ subLine?.length | number : \"0.3-3\" }}\r\n </div>\r\n <ng-container *ngIf=\"subLine?.bundleName\">\r\n <div class=\"col-3\">{{ subLine?.bundleName }}</div>\r\n <div class=\"col-3\">{{ subLine?.reference }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n cartDetails[i]?.product?.flashingProduct &&\r\n cartDetails[i]?.productConfiguredInfos &&\r\n cartDetails[i]?.productConfiguredInfos?.length > 0\r\n \"\r\n >\r\n <ng-container *ngFor=\"let data of cartDetails[i]?.productConfiguredInfos\">\r\n <div\r\n class=\"flashing-block\"\r\n *ngIf=\"data?.product?.name?.toLowerCase() == 'flashguard'\"\r\n >\r\n <div class=\"row\">\r\n <div class=\"col-sm-3\">\r\n <h3 class=\"flash-title\">{{ data?.product?.name }}</h3>\r\n <h6 class=\"skuId\">SKU: {{ data?.product?.code }}</h6>\r\n <span *ngIf=\"data?.girth\">Girth: +{{ data.girth }}mm </span>\r\n </div>\r\n <div class=\"offset-sm-3 col-sm-2\">\r\n {{ data?.quantityDouble }}{{ data?.unitType }}\r\n </div>\r\n <div class=\"col-sm-2\">\r\n {{ data?.basePrice?.formattedValue }}/{{ data?.unitType }}\r\n </div>\r\n <div class=\"col-sm-2\">\r\n {{ data?.totalPrice?.formattedValue }}\r\n <span class=\"gst-text\">excl GST</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"modal fade\"\r\n id=\"imageModal\"\r\n role=\"dialog\"\r\n aria-labelledby=\"imageModal\"\r\n aria-hidden=\"true\"\r\n #imageModal\r\n>\r\n <div class=\"modal-dialog modal-lg\" role=\"document\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <i\r\n class=\"icon-close invite-pop-close\"\r\n #closeInviteModal\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n ></i>\r\n </div>\r\n <div class=\"modal-body\">\r\n <img [src]=\"imageModalSrc\" alt=\"alert\" />\r\n <div *ngIf=\"isFlashingModal\" class=\"flashing-details\">\r\n <app-custom-flashing-image-details [cartDetails]=\"flashingImageDetails\"></app-custom-flashing-image-details>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@media screen and (min-width: 1366px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: 1.063rem;--fontsize17-5: 1.1rem;--fontsize18: 1.125rem;--fontsize18-4: 1.5rem;--fontsize20: 1.25rem;--fontsize21: 1.313rem;--fontsize22: 1.375rem;--fontsize23: 1.438rem;--fontsize24: 1.5rem;--fontsize26: 1.625rem;--fontsize28: 1.75rem;--fontsize30: 1.625rem;--fontsize32: 2rem;--fontsize34: 2.125rem;--fontsize36: 2rem;--fontsize40: 2.25rem;--fontsize46: 2.875rem;--fontsize80: 5rem}}@media screen and (max-width: 1365px) and (min-width: 768px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2.875rem;--fontsize80: 3.5rem}}@media screen and (max-width: 767px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize16-5: .77rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize19: .938rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize26: 1.25rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2rem;--fontsize80: 2.5rem}}@font-face{font-family:icomoon;font-weight:400;src:url(../assets/fonts/icomoon.ttf) format(\"ttf\"),url(../assets/fonts/icomoon.woff) format(\"woff\");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:\"Arial Regular\";src:url(../assets/fonts/arial-webfont.woff) format(\"woff\"),url(../assets/fonts/arial-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Bold\";src:url(../assets/fonts/arialbold-webfont.woff) format(\"woff\"),url(../assets/fonts/arialbold-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Black\";src:url(../assets/fonts/arialblack-webfont.woff) format(\"woff\"),url(../assets/fonts/arialblack-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Reqular\";src:url(../assets/fonts/helveticaneue.woff) format(\"woff\"),url(../assets/fonts/helveticaneue.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Thin\";src:url(../assets/fonts/helveticaneuethin-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuethin-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Medium\";src:url(../assets/fonts/helveticaneuemedium-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuemedium-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;font-feature-settings:normal;font-variant:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;text-transform:none;font-display:swap}.icon-right:before{content:\"\\e902\"}.icon-materials:before{content:\"\\e900\"}.icon-natural-lighting:before{content:\"\\e90a\"}.icon-rainwater:before{content:\"\\e901\"}.icon-roofing:before{content:\"\\e90b\"}.icon-flashing{position:relative;display:inline-block;height:32px;text-align:center;width:32px}.icon-flashing:before,.mainnav-link-level-2.show .navTagChild .icon-flashing:before{content:url(../assets/images/icon-flashing-white.svg);height:20px;width:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:15px}li.megamenuSubChild:hover .icon-flashing:before{content:url(../assets/images/icon-flashing-black.svg)}.icon-structural:before{content:\"\\e90c\"}.icon-accessories-old .path1:before{content:\"\\e903\"}.icon-accessories-old .path2:before{margin-left:-1em;content:\"\\e904\"}.icon-accessories-old .path3:before{margin-left:-1em;content:\"\\e905\"}.icon-cladding-old .path1:before{content:\"\\e90d\"}.icon-cladding-old .path2:before{margin-left:-1em;content:\"\\e90e\"}.icon-close:before{content:\"\\e90f\"}.icon-message:before{content:\"\\e910\"}.icon-search .path1:before{content:\"\\e906\"}.icon-search .path2:before{content:\"\\e907\"}.icon-search .path3:before{margin-left:-1.0156em;content:\"\\e908\"}.icon-summary:before{content:\"\\e911\"}.icon-branch:before{content:\"\\e912\"}.icon-delivery:before{content:\"\\e913\"}.icon-downloads:before{content:\"\\e909\"}.icon-drawings:before{content:\"\\e914\"}.icon-full:before{content:\"\\e915\"}.icon-manual:before{content:\"\\e916\"}.icon-payment:before{content:\"\\e917\"}.icon-empty .path1:before{content:\"\\e918\"}.icon-empty .path2:before{margin-left:-1em;content:\"\\e919\"}.icon-empty .path3:before{margin-left:-1em;content:\"\\e91a\"}.icon-product-overview:before{content:\"\\e91b\"}.icon-arrows:before{content:\"\\e91c\"}.icon-selected:before{content:\"\\e91d\"}.icon-accessories:before{content:\"\\e91b\"}.icon-cladding:before{content:\"\\e91e\"}.icon-Triangle:before{content:\"\\e91f\"}.icon-home:before{content:\"\\e920\"}.icon-faq:before{content:\"\\e921\"}.icon-temperature:before{content:\"\\e922\"}body header{font-family:\"Arial Regular\",sans-serif}header{background-color:#1d1d1b;position:sticky;top:0;background-size:100% 25%!important;background-repeat:no-repeat;z-index:10}header .header{max-width:100%;padding:0}header cx-banner cx-media img{margin-top:.7rem;margin-bottom:0}header label{display:inline-flex}header .SiteLinks{height:52px;display:flex;align-items:center;justify-content:space-between;padding-top:5px;padding-bottom:5px}header .SiteLinks cx-paragraph p{color:#fff;font-size:var(--fontsize16);line-height:var(--fontsize16);margin-bottom:0}header .SiteLinks cx-paragraph{font-size:var(--fontsize16)}header .SiteLinks app-account-dropdown,header .SiteLinks app-find-store{width:calc(25% - 25px);max-width:328px;margin-right:25px}header .SiteLinks app-contact-us{width:calc(20% - 25px);max-width:100px;margin-left:auto}header .SiteLinks app-custom-mini-cart{width:10%}header .SiteLinks .preferenceLink{margin-left:auto}header .SiteLinks .preferenceLink cx-generic-link{margin:0}header .SiteLinks .preferenceLink cx-generic-link cx-media img{height:22px;margin:0}header .SiteLogo .storeLogo{position:absolute;z-index:99;left:40px;bottom:10px}header .SiteLogo .homeLogo{max-width:28px;height:28px;position:absolute;z-index:99;bottom:47px}header .NavigationBar{flex:70%;background-color:#b61828;min-height:40px;display:flex;align-items:center;position:relative}header .logoutMenu{margin-top:0!important}header .logoutMenu li{cursor:pointer;background-color:#4c4c4c;color:#fff}header .logoutMenu li:hover{text-decoration:underline;background-color:#4c4c4c}header .MarketingContext{width:100%;margin:auto}.customer-service-icon{cursor:pointer}.helpSupport{width:20rem;border:0;margin-top:.5rem!important;transform:translate(-42%,36px)!important;padding:1rem 1rem 0;background-color:#393939;color:#fff;top:0}.helpSupport .arrow-up{position:absolute;top:-8px;right:44%;width:0;height:0;border-left:15px solid rgba(0,0,0,0);border-right:15px solid rgba(0,0,0,0);border-bottom:15px solid #393939}.helpSupport .contact-us-info .heading{font-family:\"Arial Bold\",sans-serif}.helpSupport .contact-us-info .detail{font-size:var(--fontsize14);line-height:2rem}.helpSupport .contact-us-info .detail .service-icon{height:20px;width:20px;margin-right:10px}.helpSupport .contact-us-info .contactLink a{font-size:var(--fontsize14);text-decoration:underline;text-transform:uppercase}.helpSupport .contact-us-info a{color:#fff;text-decoration:none}.helpSupport .contact-us-info a:hover{text-decoration:underline}.pageTitle{font-family:\"Helvetica Neue Regular\",sans-serif;font-size:var(--fontsize54)}[aria-label=Close]{cursor:pointer}cx-media.is-missing{background:url(./assets/images/search-noimage.svg);background-size:cover;background-position:center;background-repeat:no-repeat}cx-global-message{position:fixed;top:9rem;width:100%;z-index:13}@media screen and (max-width: 991px){cx-global-message{top:3.75rem}cx-storefront header{background-color:#b61828}cx-storefront header cx-banner cx-media img{margin:auto}cx-storefront header .SiteLogo{width:100%;max-width:211px;margin:auto;padding-left:30px;box-sizing:border-box}cx-storefront header .SiteLogo .storeLogo{position:unset}cx-storefront header .SearchBox{margin:14px 0 10px;width:30px}cx-storefront header .SiteLinks{background-color:transparent;width:110px;margin:auto 25px auto 0}cx-storefront header .SiteLinks app-account-dropdown,cx-storefront header .SiteLinks app-find-store,cx-storefront header .SiteLinks app-contact-us,cx-storefront header .SiteLinks cx-paragraph,cx-storefront header .SiteLinks .preferenceLink{display:none}cx-storefront header .SiteLinks app-custom-mini-cart,cx-storefront header .SiteLinks app-custom-user-account{width:35px}cx-storefront header.is-expanded{overflow-y:auto;position:fixed;bottom:0;top:0;width:calc(100% - 99px)}cx-storefront header.is-expanded .header{background-color:#b61828;margin-left:0;position:relative}cx-storefront header.is-expanded .PreHeader{position:absolute;right:-5px;top:5px}cx-storefront header.is-expanded .SearchBox{display:none}cx-storefront header.is-expanded .SiteLogo{position:absolute;bottom:110px;z-index:9}cx-storefront header.is-expanded .SiteLinks{background-color:#1d1d1b;width:100%;margin:15px auto 15px 0;height:unset;padding:15px;max-width:100%;position:relative;z-index:9;top:60px}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-account-dropdown{width:100%;max-width:100%}cx-storefront header.is-expanded .SiteLinks app-find-store{width:50%;max-width:328px;min-width:328px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-right:15px;margin-left:auto;width:115px;max-width:unset}cx-storefront header.is-expanded .navigation{position:relative;top:45px}cx-storefront header.is-expanded:before{background-color:#0000004d;right:0;content:\"\";position:fixed;z-index:2;top:0;bottom:0;height:100vh;width:99px}cx-storefront header.is-expanded:after{background-color:transparent}}@media screen and (max-width: 576px){cx-storefront header .SiteLogo{max-width:80px}cx-storefront header .SiteLogo .storeLogo{display:none}cx-storefront header .searchBox{height:45px}cx-storefront header.is-expanded{width:100%}cx-storefront header.is-expanded .header,cx-storefront header.is-expanded .navigation{width:100%}cx-storefront header.is-expanded .SiteLogo{bottom:160px;max-width:211px!important}cx-storefront header.is-expanded .SiteLogo .storeLogo{display:block}cx-storefront header.is-expanded .SiteLinks{max-width:100%;width:100%}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-find-store{width:100%;max-width:100%;margin-bottom:10px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-left:0}cx-storefront header.is-expanded .SiteLinks cx-paragraph{margin-left:auto}cx-storefront header.is-expanded:before{display:none}.pageTitle{font-size:28px}}.revieworder-table-container{padding-bottom:13rem}.revieworder-table-container .revieworder-header-container{background:#646363;color:#fff;font-family:\"Arial Bold\",sans-serif}.revieworder-table-container .revieworder-body-container{border-bottom:1px solid #E0E0E0;padding-bottom:1rem}.revieworder-table-container .revieworder-body-container .product-image-container{display:flex}.revieworder-table-container .revieworder-body-container .product-image-container .reviewproduct-image{width:71px;height:71px}.revieworder-table-container .revieworder-body-container .product-image-container .reviewproduct-name{font-family:\"Arial Bold\",sans-serif}.revieworder-table-container .revieworder-body-container .product-image-container .sku-text{font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif;color:#6f6f6f}.revieworder-table-container .revieworder-body-container .see-more-link{text-decoration:underline}.revieworder-table-container .revieworder-body-container .see-more-link:hover{color:#d51317}.revieworder-table-container .revieworder-body-container .seemoredetails-link{font-size:var(--fontsize16);font-family:\"Arial Regular\",sans-serif;text-decoration:underline;cursor:pointer}.revieworder-table-container .revieworder-body-container .seemoredetails-link:hover{color:#b61828}.revieworder-table-container .revieworder-body-container .revieworder-collapse .bundle-details{background:#F6F6F6;border:1px solid #E0E0E0;margin-left:15px;padding:1rem;line-height:2.5rem}.revieworder-table-container .revieworder-body-container .revieworder-collapse .bundle-details .bundle-details-header{font-family:\"Arial Bold\",sans-serif}.revieworder-table-container .colors-paragraph{display:flex;align-items:center}.revieworder-table-container .colors-paragraph .revieworder-color{width:20px;height:20px;border:1px solid #000000;display:inline-flex}.flashing-block{background-color:#e8e8e8;padding:12px;border-bottom:1px solid #C6C6C6;margin-right:-15px;margin-left:-15px}.flashing-block .flash-title{font-size:var(--fontsize16);font-family:\"Arial Bold\",sans-serif}.flashing-block .skuId{color:#707070;font-size:var(--fontsize14);font-family:\"Arial Bold\",sans-serif}.flashing-block .gst-text{display:block;font-size:var(--fontsize16);font-family:\"Arial Regular\",sans-serif}\n"], components: [{ type: i2.MediaComponent, selector: "cx-media", inputs: ["container", "format", "alt", "role", "loading"], outputs: ["loaded"] }, { type: i3.CustomFlashingImageDetailsComponent, selector: "app-custom-flashing-image-details", inputs: ["cartDetails", "forPdf", "appendixNo"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i4.AsyncPipe, "slice": i4.SlicePipe, "number": i4.DecimalPipe } });
155
155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: OrderReviewListComponent, decorators: [{
156
156
  type: Component,
157
157
  args: [{