tango-app-ui-store-builder 1.0.47 → 1.0.49

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 (54) hide show
  1. package/esm2022/lib/components/collection-update-ai/find-replace-layout/prepare-template/prepare-template.component.mjs +39 -19
  2. package/esm2022/lib/components/create-fixture/create-fixture.component.mjs +233 -138
  3. package/esm2022/lib/components/fixture-template/template-assign-stores/preview-modal/preview-modal.component.mjs +4 -2
  4. package/esm2022/lib/components/fixture-template/template-assign-stores/template-assign-stores.component.mjs +4 -2
  5. package/esm2022/lib/components/fixture-template/template-basic-details/template-basic-details.component.mjs +40 -4
  6. package/esm2022/lib/components/fixture-template/template-products/template-products.component.mjs +3 -3
  7. package/esm2022/lib/components/fixture-template/template-summary/template-summary.component.mjs +3 -3
  8. package/esm2022/lib/components/fixture-template/template-vms/template-vms.component.mjs +108 -79
  9. package/esm2022/lib/components/fixture-template-tree/fixture-template-tree.component.mjs +7 -3
  10. package/esm2022/lib/components/manage-store-plano/manage-store-plano.component.mjs +4 -2
  11. package/esm2022/lib/components/manage-store-plano/template-basic-details/template-basic-details.component.mjs +27 -4
  12. package/esm2022/lib/components/manage-store-plano/template-products/template-products.component.mjs +3 -3
  13. package/esm2022/lib/components/manage-store-plano/template-vms/template-vms.component.mjs +10 -14
  14. package/esm2022/lib/components/manage-store-plano/verification-feedback/editable-fixture/editable-fixture.component.mjs +3 -3
  15. package/esm2022/lib/components/manage-store-plano/verification-feedback/verification-feedback.component.mjs +3 -3
  16. package/esm2022/lib/components/planogram/merch-compliance/merch-compliance.component.mjs +4 -2
  17. package/esm2022/lib/components/planogram/merch-compliance/product-locator/misplaced-product-fixture/misplaced-product-fixture.component.mjs +11 -5
  18. package/esm2022/lib/components/planogram/merch-compliance/product-locator/product-locator.component.mjs +14 -9
  19. package/esm2022/lib/components/planogram/merch-compliance/product-locator/product-zone-locator/product-zone-locator.component.mjs +39 -7
  20. package/esm2022/lib/components/planogram/merch-compliance/zone-products/zone-products.component.mjs +18 -5
  21. package/esm2022/lib/components/planogram/plano-analytics/analytics-popup/analytics-popup.component.mjs +68 -0
  22. package/esm2022/lib/components/planogram/plano-analytics/date-range-picker/date-range-picker.component.mjs +5 -5
  23. package/esm2022/lib/components/planogram/plano-analytics/fixture-analytics/fixture-analytics.component.mjs +649 -0
  24. package/esm2022/lib/components/planogram/plano-analytics/plano-analytics.component.mjs +1197 -25
  25. package/esm2022/lib/components/planogram/plano-details-parent/plano-details-parent.component.mjs +14 -7
  26. package/esm2022/lib/components/planogram/plano-overview/plano-comparison/plano-comparison.component.mjs +8 -4
  27. package/esm2022/lib/components/planogram/plano-overview/plano-overview.component.mjs +17 -9
  28. package/esm2022/lib/components/planogram/plano-table/plano-table.component.mjs +3 -3
  29. package/esm2022/lib/components/store-plano/store-plano-tree-view/store-plano-tree-view.component.mjs +3 -2
  30. package/esm2022/lib/components/store-plano/store-plano.component.mjs +4 -2
  31. package/esm2022/lib/interfaces/fixture-library.interface.mjs +1 -1
  32. package/esm2022/lib/services/store-builder.service.mjs +4 -1
  33. package/esm2022/lib/tango-store-builder.module.mjs +8 -2
  34. package/fesm2022/tango-app-ui-store-builder.mjs +2996 -834
  35. package/fesm2022/tango-app-ui-store-builder.mjs.map +1 -1
  36. package/lib/components/create-fixture/create-fixture.component.d.ts +15 -14
  37. package/lib/components/fixture-template/template-basic-details/template-basic-details.component.d.ts +2 -0
  38. package/lib/components/fixture-template/template-vms/template-vms.component.d.ts +12 -12
  39. package/lib/components/manage-plano/rollout-table/rollout-table.component.d.ts +2 -2
  40. package/lib/components/manage-plano/verification-table/verification-table.component.d.ts +4 -4
  41. package/lib/components/manage-store-plano/template-basic-details/template-basic-details.component.d.ts +2 -0
  42. package/lib/components/manage-store-plano/template-vms/template-vms.component.d.ts +0 -1
  43. package/lib/components/planogram/merch-compliance/product-locator/misplaced-product-fixture/misplaced-product-fixture.component.d.ts +4 -2
  44. package/lib/components/planogram/merch-compliance/product-locator/product-locator.component.d.ts +3 -2
  45. package/lib/components/planogram/merch-compliance/product-locator/product-zone-locator/product-zone-locator.component.d.ts +10 -3
  46. package/lib/components/planogram/merch-compliance/zone-products/zone-products.component.d.ts +4 -2
  47. package/lib/components/planogram/plano-analytics/analytics-popup/analytics-popup.component.d.ts +25 -0
  48. package/lib/components/planogram/plano-analytics/fixture-analytics/fixture-analytics.component.d.ts +94 -0
  49. package/lib/components/planogram/plano-analytics/plano-analytics.component.d.ts +76 -3
  50. package/lib/components/planogram/plano-details-parent/plano-details-parent.component.d.ts +3 -2
  51. package/lib/interfaces/fixture-library.interface.d.ts +1 -1
  52. package/lib/services/store-builder.service.d.ts +1 -0
  53. package/lib/tango-store-builder.module.d.ts +26 -24
  54. package/package.json +1 -1
@@ -1,20 +1,52 @@
1
- import { Component, Input } from "@angular/core";
1
+ import { Component, Input, } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  export class ProductZoneLocatorComponent {
5
+ targetProduct;
6
+ targetFixture;
5
7
  data;
6
- selectedProduct;
7
8
  allBrands;
8
9
  zoneCapacity = 0;
10
+ allProducts = [];
11
+ targetPID;
12
+ ngOnInit() { }
13
+ ngOnChanges(changes) {
14
+ if (this.targetFixture && this.targetProduct) {
15
+ this.data = {
16
+ zone: this.targetProduct.zone,
17
+ shelves: this.targetFixture?.shelfConfig.filter((s) => s.zone === this.targetProduct.zone),
18
+ };
19
+ this.data.shelves = this.data.shelves.map((s) => {
20
+ if (s.shelfType !== "shelf" && s.products?.length) {
21
+ s.distributedRows = this.distributeRoundRobin(s.products, s.trayRows);
22
+ }
23
+ return s;
24
+ });
25
+ this.allProducts = (this.data?.shelves ?? []).flatMap((s) => s.products ?? []);
26
+ this.allBrands = [
27
+ ...new Set(this.data.shelves.flatMap((s) => s.productBrandName)),
28
+ ];
29
+ this.zoneCapacity = this.allProducts.length;
30
+ this.targetPID = this.allProducts[0]._id;
31
+ }
32
+ }
33
+ distributeRoundRobin(products, trayRows) {
34
+ const result = Array.from({ length: trayRows }, () => []);
35
+ products.forEach((product, index) => {
36
+ const trayIndex = index % trayRows;
37
+ result[trayIndex].push(product);
38
+ });
39
+ return result;
40
+ }
9
41
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProductZoneLocatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ProductZoneLocatorComponent, selector: "product-zone-locator", inputs: { data: "data", selectedProduct: "selectedProduct" }, ngImport: i0, template: "<section id=\"product-zone-locator\">\r\n <div class=\"zone-details my-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"zone-info\">\r\n <span class=\"badge draft mb-3\">\r\n {{ data.zone }}\r\n </span>\r\n <h1>{{allBrands}}</h1>\r\n <h4>Capacity {{zoneCapacity}}</h4>\r\n </div>\r\n\r\n <div class=\"shelves\">\r\n <ng-container *ngFor=\"let s of data.shelves; let i = index\">\r\n @if(s.shelfType ==='shelf'){\r\n <div [id]=\"s.shelfType + (i + 1)\" class=\"block shelf\">\r\n @if(s.products.length){\r\n <div *ngFor=\"let p of s.products\" class=\"product\"\r\n [ngClass]=\"{'selected':selectedProduct?.productId === p.productId,'error':selectedProduct?.productId === p.productId}\">\r\n\r\n @if(p.status != 'missing'){\r\n <div class=\"product-img\">\r\n <img *ngIf=\"p?.productImageUrl; else placeholder\" [src]=\"p?.productImageUrl\"\r\n alt=\"Product Image\" />\r\n <ng-template #placeholder>\r\n <div></div>\r\n </ng-template>\r\n </div>\r\n <div class=\"product-details\">\r\n <span class=\"badge cluster\">\r\n {{ p.productId }}\r\n </span>\r\n <h6 class=\"ms-1\">{{p.productName}}</h6>\r\n <p class=\"ms-1\">{{p.productType}}</p>\r\n </div>\r\n }\r\n </div>\r\n }@else {\r\n <div *ngFor=\"let p of [].constructor(s.productPerShelf)\" class=\"product\"></div>\r\n }\r\n </div>\r\n }@else {\r\n <div [id]=\"s.shelfType! + (i + 1)\" class=\"block\">\r\n @if(s.products.length){\r\n <div *ngFor=\"let row of s.distributedRows\" class=\"tray mb-3\">\r\n <div *ngFor=\"let p of row\" class=\"product\"\r\n [ngClass]=\"{'selected':selectedProduct?.productId === p.productId,'error':p.status === 'missing' || p.status === 'misplaced'}\">\r\n @if(p.status != 'missing'){\r\n <div class=\"product-img\">\r\n <img *ngIf=\"p?.productImageUrl; else placeholder\"\r\n [src]=\"p?.productImageUrl\" alt=\"Product Image\" />\r\n <ng-template #placeholder>\r\n <div></div>\r\n </ng-template>\r\n </div>\r\n <div class=\"product-details\">\r\n <span class=\"badge cluster\">\r\n {{ p.productId }}\r\n </span>\r\n <h6 class=\"ms-1\">{{p.productName}}</h6>\r\n <p class=\"ms-1\">{{p.productType}}</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }@else{\r\n <div *ngFor=\"let row of [].constructor(s.trayRows)\" class=\"tray mb-3\">\r\n <div *ngFor=\"let p of [].constructor(s.productPerShelf)\" class=\"product\"></div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</section>", styles: ["#product-zone-locator .zone-details{padding:12px;border-radius:6px;border:1px solid #98a2b3;background-color:#fff}#product-zone-locator .zone-details .zone-info{max-width:200px;min-width:150px}#product-zone-locator .zone-details .zone-info h1{font-weight:600;font-size:14px;line-height:20px;color:#101828;margin-bottom:0}#product-zone-locator .zone-details .zone-info h4{font-weight:400;font-size:12px;line-height:18px;color:#101828}#product-zone-locator .zone-details .shelves{width:100%;overflow:auto}#product-zone-locator .zone-details .shelves .block{border:none;padding:10px;width:100%;max-width:100%;overflow-x:auto;min-height:52px}#product-zone-locator .zone-details .shelves .tray,#product-zone-locator .zone-details .shelves .shelf{display:flex;gap:24px}#product-zone-locator .zone-details .shelves .tray .product,#product-zone-locator .zone-details .shelves .shelf .product{border:2px solid #ffffff;padding:6px;border-radius:4px;min-width:96px;min-height:104px}#product-zone-locator .zone-details .shelves .tray .product.selected,#product-zone-locator .zone-details .shelves .shelf .product.selected{border:2px solid #12b76a;background-color:#e0fbe9}#product-zone-locator .zone-details .shelves .tray .product.error,#product-zone-locator .zone-details .shelves .shelf .product.error{border:2px solid rgb(253,162,155);background-color:#fef3f2}#product-zone-locator .zone-details .shelves .tray .product.error.selected,#product-zone-locator .zone-details .shelves .shelf .product.error.selected{border:2px solid rgb(255,172,168);background-color:#ffe7e5}#product-zone-locator .zone-details .shelves .tray .product .product-img,#product-zone-locator .zone-details .shelves .shelf .product .product-img{width:80px;height:40px;border:1.23px solid rgb(234,236,240);margin-bottom:8px;box-shadow:0 1.23px 2.47px #1018280d;border-radius:4px}#product-zone-locator .zone-details .shelves .tray .product .product-img img,#product-zone-locator .zone-details .shelves .shelf .product .product-img img{border-radius:4px;height:100%;width:100%;object-fit:cover}#product-zone-locator .zone-details .shelves .tray .product .product-details,#product-zone-locator .zone-details .shelves .shelf .product .product-details{display:flex;flex-direction:column;gap:2px;width:fit-content}#product-zone-locator .zone-details .shelves .tray .product .product-details .badge,#product-zone-locator .zone-details .shelves .shelf .product .product-details .badge{font-weight:500!important;font-size:8px!important;line-height:12px!important;text-align:center;padding:1px 6px!important;border-radius:16px!important}#product-zone-locator .zone-details .shelves .tray .product .product-details h6,#product-zone-locator .zone-details .shelves .tray .product .product-details p,#product-zone-locator .zone-details .shelves .shelf .product .product-details h6,#product-zone-locator .zone-details .shelves .shelf .product .product-details p{font-size:8px;font-weight:600;color:#101828;margin:0}#product-zone-locator .zone-details .shelves .tray .product .product-details p,#product-zone-locator .zone-details .shelves .shelf .product .product-details p{font-weight:500!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ProductZoneLocatorComponent, selector: "product-zone-locator", inputs: { targetProduct: "targetProduct", targetFixture: "targetFixture" }, usesOnChanges: true, ngImport: i0, template: "<section id=\"product-zone-locator\" *ngIf=\"targetFixture\">\r\n <div class=\"zone-details my-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"zone-info\">\r\n <span class=\"badge draft mb-3\">\r\n {{ data?.zone }}\r\n </span>\r\n <h1>{{allBrands}}</h1>\r\n <h4>Capacity {{zoneCapacity}}</h4>\r\n </div>\r\n\r\n <div class=\"shelves\">\r\n <ng-container *ngFor=\"let s of data?.shelves; let i = index\">\r\n @if(s.shelfType ==='tray'){\r\n <div [id]=\"s.shelfType + (i + 1)\" class=\"block\">\r\n @if(s?.products?.length){\r\n <div *ngFor=\"let row of s.distributedRows\" class=\"tray mb-3\">\r\n <div *ngFor=\"let p of row\" class=\"product\" [class.error]=\"targetPID === p._id\">\r\n @if(p.status != 'missing'){\r\n <div class=\"product-img\">\r\n <img *ngIf=\"p?.productImageUrl; else placeholder\"\r\n [src]=\"p?.productImageUrl\" alt=\"Product Image\" />\r\n <ng-template #placeholder>\r\n <div></div>\r\n </ng-template>\r\n </div>\r\n <div class=\"product-details\">\r\n <span class=\"badge cluster\">\r\n {{ p.productId }}\r\n </span>\r\n <h6 class=\"ms-1\">{{p.productName}}</h6>\r\n <p class=\"ms-1\">{{p.productType}}</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }@else{\r\n <div *ngFor=\"let row of [].constructor(s.trayRows)\" class=\"tray mb-3\">\r\n <div *ngFor=\"let p of [].constructor(s.productPerShelf)\" class=\"product\"></div>\r\n </div>\r\n }\r\n </div>\r\n }@else {\r\n <div [id]=\"s.shelfType! + (i + 1)\" class=\"block shelf\">\r\n @if(s?.products?.length){\r\n <div *ngFor=\"let p of s.products\" class=\"product\"\r\n [class.error]=\"targetPID === p._id\">\r\n\r\n @if(p.status != 'missing'){\r\n <div class=\"product-img\">\r\n <img *ngIf=\"p?.productImageUrl; else placeholder\" [src]=\"p?.productImageUrl\"\r\n alt=\"Product Image\" />\r\n <ng-template #placeholder>\r\n <div></div>\r\n </ng-template>\r\n </div>\r\n <div class=\"product-details\">\r\n <span class=\"badge cluster\">\r\n {{ p.productId }}\r\n </span>\r\n <h6 class=\"ms-1\">{{p.productName}}</h6>\r\n <p class=\"ms-1\">{{p.productType}}</p>\r\n </div>\r\n }\r\n </div>\r\n }@else {\r\n <div *ngFor=\"let p of [].constructor(s.productPerShelf)\" class=\"product\"></div>\r\n }\r\n </div>\r\n }\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</section>", styles: [".header{background:#fff;padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.btn{padding:.775rem 1.5rem!important;font-size:1.1rem!important}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;padding:2px 8px;border-radius:16px}.badge.inactive{background:#f2f4f7!important;color:#344054!important}.builder{height:75vh}.builder .cols{background:#fff;border-radius:12px;padding:24px 24px 12px;max-height:75vh;overflow-y:auto}.shelf-container{border-radius:8px;background:var(--Gray-50, #f9fafb);padding:8px 16px;margin-bottom:12px}.counter-container{display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:#fff;padding:10px;border:.49px solid #d0d5dd}.counter-container span{margin:0 18px;font-weight:500;font-size:14px;text-align:center;vertical-align:middle;width:18px}.disable-counter{color:var(--bs-gray-500)!important;background-color:var(--bs-gray-200)!important;border-color:var(--bs-gray-300)!important;pointer-events:none;opacity:1}.disabled-click{pointer-events:none;opacity:.85}.wall-viewport{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:30px;width:345px;text-align:center}.wall-viewport .wrapper{width:100%;max-width:345px}.wall-viewport .header-info,.wall-viewport .footer-info,.wall-viewport .body-info{width:100%;border:2px solid #f2f4f7;border-bottom:4px solid #ffffff;background:#f2f4f7;max-width:230px;display:flex;align-items:center;justify-content:center;justify-content:start;padding:12px;gap:4px}.wall-viewport .header-info p,.wall-viewport .footer-info p,.wall-viewport .body-info p{margin:0}.wall-viewport .header-info{margin-top:40px}.wall-viewport .sub-footer{border:1px solid #98a2b3;height:100%}.wall-viewport .header-block,.wall-viewport .footer-block{border:1px solid #98a2b3;height:95px;padding:8px;background-color:#f2f4f7;width:100%;display:flex;justify-content:center;align-items:center}.wall-viewport .header-block p,.wall-viewport .footer-block p{color:var(--Gray-600, #475467);font-size:18px;font-weight:600;white-space:normal;word-wrap:break-word;margin:0;background-color:#f2f4f7}.wall-viewport .body-block{width:100%}.wall-viewport .body-block .block{border:1px solid #98a2b3;padding:10px;width:100%;max-width:345px;overflow-x:auto;min-height:52px}.wall-viewport .body-block .tray,.wall-viewport .body-block .shelf{display:flex;gap:4px}.wall-viewport .body-block .tray .product,.wall-viewport .body-block .shelf .product{border:1px solid rgba(152,162,179,.2901960784);min-width:50px}.wall-viewport .body-block .tray .product{min-height:20px}.wall-viewport .body-block .shelf .product{min-height:30px}.wall-viewport .body-block .hide-product{border-color:transparent!important}.wall-viewport .body-block .hide-scroll{overflow-x:hidden!important}.horizontal-dimension{display:flex;align-items:center;justify-content:center;height:30px;position:relative}.horizontal-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.horizontal-dimension .arrow.left{transform:rotate(180deg);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .arrow.right{transform:rotate(0);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;height:1px}.horizontal-dimension .line span{position:absolute;top:-12px;color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:0 4px}.vertical-dimension{display:flex;flex-direction:column;align-items:center;width:30px;position:relative}.vertical-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.vertical-dimension .arrow.up{transform:rotate(-90deg);margin-top:20px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .arrow.down{transform:rotate(90deg);margin-bottom:26px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;width:1px}.vertical-dimension .line span{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:2px 4px}.info-card{padding:12px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.info-card h3{font-weight:600;font-size:18px;line-height:28px;vertical-align:middle}.info-card p{font-weight:500;font-size:14px;line-height:20px;color:#667085;margin:0}.checkbox input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #d0d5dd)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.checkbox input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00a3ff)!important;background-color:var(--primary-50, #eaf8ff)}.checkbox input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00a3ff;border-right:2px solid #00a3ff;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.nav-pills{display:inline-flex;gap:4px}.nav-pills .nav-item .nav-link{border-radius:0;color:#667085;font-size:14px;font-weight:500;padding:8px 16px;border:none}.nav-pills .nav-item .nav-link:hover{background-color:#00000005}.nav-pills .nav-item .nav-link.active{background-color:#eaf8ff;color:#009bf3;border-bottom:3px solid #009bf3}.content-wrapper{background:#fff;border-radius:12px;min-height:calc(100vh - 400px);height:100%;padding:16px 24px;display:flex;flex-direction:column}.loader .shimmer{height:150px}.filter-tab{border:1px solid rgb(234,236,240);background:#fff;box-shadow:0 1px 2px #1018280d;border-radius:8px;padding:18px;transition:all ease .2s}.filter-tab:hover{cursor:pointer}.filter-tab.selected{background:#f6fcff;border:1px solid rgb(107,202,255);box-shadow:0 1px 2px #1018280d}.filter-tab h3{color:#000;font-size:20px;font-weight:600;line-height:30px;margin:0}.filter-tab p{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;margin:0}.nodatamaintext{font-family:Inter;font-size:16px;font-weight:600;line-height:24px;text-align:center;color:#101828}.nodatasubtext[_ngcontent-ng-c2141490359]{font-family:Inter;font-size:14px;font-weight:400;line-height:20px;text-align:center;color:#667085}.table-responsive{min-height:calc(100vh - 495px)}.download-link{color:var(--Primary-800, #008edf);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;cursor:pointer}h3.card-title{color:#101828;font-size:18px;font-weight:600;line-height:28px}p.card-tagline{color:#101828;font-size:14px;font-weight:500;line-height:20px}p.card-description{color:#344054;font-size:14px;font-weight:400;line-height:20px}#list-view .thumbnail{height:40px;width:40px;background:#f2f4f7;margin-right:12px;border-radius:8px}#list-view td{vertical-align:middle}#grid-view .card{box-shadow:0 4px 10px #0000000d;border:1px solid rgb(223,225,231);background:#fff;border-radius:12px;padding:12px;height:100%;transition:all .2s ease}#grid-view .card:hover{cursor:pointer;box-shadow:0 10px 10px #0001;transition:all .2s ease}#grid-view .card-img{margin-bottom:12px;background:#d0d5dd;height:200px;border-radius:6px}#grid-view .card-action{position:absolute;top:20px;right:20px}#grid-view .card-tagline{color:#475467;font-weight:500;font-size:14px;line-height:20px}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;color:#027a48;background:#ecfdf3}.badge.active{color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7;color:#344054}.badge.draft{color:#009bf3;background:#eaf8ff}.badge.cluster{background:#f2f4f7;color:#344054}.badge.published{background:#ecfdf3;color:#027a48}.badge.yet-to-publish{background:#f8f9fc;color:#363f72}.indicator{border-radius:16px;padding:2px 8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;width:fit-content;text-align:center;font-size:14px;font-weight:500}.indicator.short{height:14px!important;width:14px!important;border-radius:50%!important;padding:0!important}.indicator.yetToComplete{background:#f2f4f7;color:#667085}.indicator.yetToComplete path{fill:#667085}.indicator.yetToAssign{background:#eaecf5;color:#344054}.indicator.yetToAssign path{fill:#344054}.indicator.taskAssigned{background:#e0eaff;color:#7a5af8}.indicator.taskAssigned path{fill:#7a5af8}.indicator.reviewPending{background:#fef0c7;color:#f79009}.indicator.reviewPending path{fill:#f79009}.indicator.flagged{background:var(--Error-50, #fef3f2);color:var(--Error-700, #b42318)}.indicator.completed{background:#d1fadf;color:#12b76a}.indicator.completed path{fill:#12b76a}.toggle-button{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:8px;background:#fff;border:.89px solid rgb(208,213,221);box-shadow:0 .89px 1.78px #1018280d;transition:all ease .3s}.toggle-button:hover{cursor:pointer}.toggle-button.selected{transition:all ease .3s;background:#eaf8ff;box-shadow:0 0 0 3.56px #d5effe!important;border:.89px solid rgb(234,248,255)}.disabled-click{pointer-events:none;cursor:not-allowed!important;opacity:.6}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;display:flex;align-items:center;height:1.5rem}.clear-search{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;height:1.5rem;width:1.5rem}#product-zone-locator .zone-details{padding:12px;border-radius:6px;border:1px solid #98a2b3;background-color:#fff}#product-zone-locator .zone-details .zone-info{max-width:200px;min-width:150px}#product-zone-locator .zone-details .zone-info h1{font-weight:600;font-size:14px;line-height:20px;color:#101828;margin-bottom:0}#product-zone-locator .zone-details .zone-info h4{font-weight:400;font-size:12px;line-height:18px;color:#101828}#product-zone-locator .zone-details .shelves{width:100%;overflow:auto}#product-zone-locator .zone-details .shelves .block{border:none;padding:10px;width:100%;max-width:100%;overflow-x:auto;min-height:52px}#product-zone-locator .zone-details .shelves .tray,#product-zone-locator .zone-details .shelves .shelf{display:flex;gap:24px}#product-zone-locator .zone-details .shelves .tray .product,#product-zone-locator .zone-details .shelves .shelf .product{border:2px solid #ffffff;padding:6px;border-radius:4px;min-width:96px;min-height:104px}#product-zone-locator .zone-details .shelves .tray .product.selected,#product-zone-locator .zone-details .shelves .shelf .product.selected{border:2px solid #12b76a;background-color:#e0fbe9}#product-zone-locator .zone-details .shelves .tray .product.error,#product-zone-locator .zone-details .shelves .shelf .product.error{border:2px solid rgb(253,162,155);background-color:#fef3f2}#product-zone-locator .zone-details .shelves .tray .product.error.selected,#product-zone-locator .zone-details .shelves .shelf .product.error.selected{border:2px solid rgb(255,172,168);background-color:#ffe7e5}#product-zone-locator .zone-details .shelves .tray .product .product-img,#product-zone-locator .zone-details .shelves .shelf .product .product-img{width:80px;height:40px;border:1.23px solid rgb(234,236,240);margin-bottom:8px;box-shadow:0 1.23px 2.47px #1018280d;border-radius:4px}#product-zone-locator .zone-details .shelves .tray .product .product-img img,#product-zone-locator .zone-details .shelves .shelf .product .product-img img{border-radius:4px;height:100%;width:100%;object-fit:cover}#product-zone-locator .zone-details .shelves .tray .product .product-details,#product-zone-locator .zone-details .shelves .shelf .product .product-details{display:flex;flex-direction:column;gap:2px;width:fit-content}#product-zone-locator .zone-details .shelves .tray .product .product-details .badge,#product-zone-locator .zone-details .shelves .shelf .product .product-details .badge{font-weight:500!important;font-size:8px!important;line-height:12px!important;text-align:center;padding:1px 6px!important;border-radius:16px!important}#product-zone-locator .zone-details .shelves .tray .product .product-details h6,#product-zone-locator .zone-details .shelves .tray .product .product-details p,#product-zone-locator .zone-details .shelves .shelf .product .product-details h6,#product-zone-locator .zone-details .shelves .shelf .product .product-details p{font-size:8px;font-weight:600;color:#101828;margin:0}#product-zone-locator .zone-details .shelves .tray .product .product-details p,#product-zone-locator .zone-details .shelves .shelf .product .product-details p{font-weight:500!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
11
43
  }
12
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProductZoneLocatorComponent, decorators: [{
13
45
  type: Component,
14
- args: [{ selector: "product-zone-locator", template: "<section id=\"product-zone-locator\">\r\n <div class=\"zone-details my-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"zone-info\">\r\n <span class=\"badge draft mb-3\">\r\n {{ data.zone }}\r\n </span>\r\n <h1>{{allBrands}}</h1>\r\n <h4>Capacity {{zoneCapacity}}</h4>\r\n </div>\r\n\r\n <div class=\"shelves\">\r\n <ng-container *ngFor=\"let s of data.shelves; let i = index\">\r\n @if(s.shelfType ==='shelf'){\r\n <div [id]=\"s.shelfType + (i + 1)\" class=\"block shelf\">\r\n @if(s.products.length){\r\n <div *ngFor=\"let p of s.products\" class=\"product\"\r\n [ngClass]=\"{'selected':selectedProduct?.productId === p.productId,'error':selectedProduct?.productId === p.productId}\">\r\n\r\n @if(p.status != 'missing'){\r\n <div class=\"product-img\">\r\n <img *ngIf=\"p?.productImageUrl; else placeholder\" [src]=\"p?.productImageUrl\"\r\n alt=\"Product Image\" />\r\n <ng-template #placeholder>\r\n <div></div>\r\n </ng-template>\r\n </div>\r\n <div class=\"product-details\">\r\n <span class=\"badge cluster\">\r\n {{ p.productId }}\r\n </span>\r\n <h6 class=\"ms-1\">{{p.productName}}</h6>\r\n <p class=\"ms-1\">{{p.productType}}</p>\r\n </div>\r\n }\r\n </div>\r\n }@else {\r\n <div *ngFor=\"let p of [].constructor(s.productPerShelf)\" class=\"product\"></div>\r\n }\r\n </div>\r\n }@else {\r\n <div [id]=\"s.shelfType! + (i + 1)\" class=\"block\">\r\n @if(s.products.length){\r\n <div *ngFor=\"let row of s.distributedRows\" class=\"tray mb-3\">\r\n <div *ngFor=\"let p of row\" class=\"product\"\r\n [ngClass]=\"{'selected':selectedProduct?.productId === p.productId,'error':p.status === 'missing' || p.status === 'misplaced'}\">\r\n @if(p.status != 'missing'){\r\n <div class=\"product-img\">\r\n <img *ngIf=\"p?.productImageUrl; else placeholder\"\r\n [src]=\"p?.productImageUrl\" alt=\"Product Image\" />\r\n <ng-template #placeholder>\r\n <div></div>\r\n </ng-template>\r\n </div>\r\n <div class=\"product-details\">\r\n <span class=\"badge cluster\">\r\n {{ p.productId }}\r\n </span>\r\n <h6 class=\"ms-1\">{{p.productName}}</h6>\r\n <p class=\"ms-1\">{{p.productType}}</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }@else{\r\n <div *ngFor=\"let row of [].constructor(s.trayRows)\" class=\"tray mb-3\">\r\n <div *ngFor=\"let p of [].constructor(s.productPerShelf)\" class=\"product\"></div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</section>", styles: ["#product-zone-locator .zone-details{padding:12px;border-radius:6px;border:1px solid #98a2b3;background-color:#fff}#product-zone-locator .zone-details .zone-info{max-width:200px;min-width:150px}#product-zone-locator .zone-details .zone-info h1{font-weight:600;font-size:14px;line-height:20px;color:#101828;margin-bottom:0}#product-zone-locator .zone-details .zone-info h4{font-weight:400;font-size:12px;line-height:18px;color:#101828}#product-zone-locator .zone-details .shelves{width:100%;overflow:auto}#product-zone-locator .zone-details .shelves .block{border:none;padding:10px;width:100%;max-width:100%;overflow-x:auto;min-height:52px}#product-zone-locator .zone-details .shelves .tray,#product-zone-locator .zone-details .shelves .shelf{display:flex;gap:24px}#product-zone-locator .zone-details .shelves .tray .product,#product-zone-locator .zone-details .shelves .shelf .product{border:2px solid #ffffff;padding:6px;border-radius:4px;min-width:96px;min-height:104px}#product-zone-locator .zone-details .shelves .tray .product.selected,#product-zone-locator .zone-details .shelves .shelf .product.selected{border:2px solid #12b76a;background-color:#e0fbe9}#product-zone-locator .zone-details .shelves .tray .product.error,#product-zone-locator .zone-details .shelves .shelf .product.error{border:2px solid rgb(253,162,155);background-color:#fef3f2}#product-zone-locator .zone-details .shelves .tray .product.error.selected,#product-zone-locator .zone-details .shelves .shelf .product.error.selected{border:2px solid rgb(255,172,168);background-color:#ffe7e5}#product-zone-locator .zone-details .shelves .tray .product .product-img,#product-zone-locator .zone-details .shelves .shelf .product .product-img{width:80px;height:40px;border:1.23px solid rgb(234,236,240);margin-bottom:8px;box-shadow:0 1.23px 2.47px #1018280d;border-radius:4px}#product-zone-locator .zone-details .shelves .tray .product .product-img img,#product-zone-locator .zone-details .shelves .shelf .product .product-img img{border-radius:4px;height:100%;width:100%;object-fit:cover}#product-zone-locator .zone-details .shelves .tray .product .product-details,#product-zone-locator .zone-details .shelves .shelf .product .product-details{display:flex;flex-direction:column;gap:2px;width:fit-content}#product-zone-locator .zone-details .shelves .tray .product .product-details .badge,#product-zone-locator .zone-details .shelves .shelf .product .product-details .badge{font-weight:500!important;font-size:8px!important;line-height:12px!important;text-align:center;padding:1px 6px!important;border-radius:16px!important}#product-zone-locator .zone-details .shelves .tray .product .product-details h6,#product-zone-locator .zone-details .shelves .tray .product .product-details p,#product-zone-locator .zone-details .shelves .shelf .product .product-details h6,#product-zone-locator .zone-details .shelves .shelf .product .product-details p{font-size:8px;font-weight:600;color:#101828;margin:0}#product-zone-locator .zone-details .shelves .tray .product .product-details p,#product-zone-locator .zone-details .shelves .shelf .product .product-details p{font-weight:500!important}\n"] }]
15
- }], propDecorators: { data: [{
46
+ args: [{ selector: "product-zone-locator", template: "<section id=\"product-zone-locator\" *ngIf=\"targetFixture\">\r\n <div class=\"zone-details my-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"zone-info\">\r\n <span class=\"badge draft mb-3\">\r\n {{ data?.zone }}\r\n </span>\r\n <h1>{{allBrands}}</h1>\r\n <h4>Capacity {{zoneCapacity}}</h4>\r\n </div>\r\n\r\n <div class=\"shelves\">\r\n <ng-container *ngFor=\"let s of data?.shelves; let i = index\">\r\n @if(s.shelfType ==='tray'){\r\n <div [id]=\"s.shelfType + (i + 1)\" class=\"block\">\r\n @if(s?.products?.length){\r\n <div *ngFor=\"let row of s.distributedRows\" class=\"tray mb-3\">\r\n <div *ngFor=\"let p of row\" class=\"product\" [class.error]=\"targetPID === p._id\">\r\n @if(p.status != 'missing'){\r\n <div class=\"product-img\">\r\n <img *ngIf=\"p?.productImageUrl; else placeholder\"\r\n [src]=\"p?.productImageUrl\" alt=\"Product Image\" />\r\n <ng-template #placeholder>\r\n <div></div>\r\n </ng-template>\r\n </div>\r\n <div class=\"product-details\">\r\n <span class=\"badge cluster\">\r\n {{ p.productId }}\r\n </span>\r\n <h6 class=\"ms-1\">{{p.productName}}</h6>\r\n <p class=\"ms-1\">{{p.productType}}</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }@else{\r\n <div *ngFor=\"let row of [].constructor(s.trayRows)\" class=\"tray mb-3\">\r\n <div *ngFor=\"let p of [].constructor(s.productPerShelf)\" class=\"product\"></div>\r\n </div>\r\n }\r\n </div>\r\n }@else {\r\n <div [id]=\"s.shelfType! + (i + 1)\" class=\"block shelf\">\r\n @if(s?.products?.length){\r\n <div *ngFor=\"let p of s.products\" class=\"product\"\r\n [class.error]=\"targetPID === p._id\">\r\n\r\n @if(p.status != 'missing'){\r\n <div class=\"product-img\">\r\n <img *ngIf=\"p?.productImageUrl; else placeholder\" [src]=\"p?.productImageUrl\"\r\n alt=\"Product Image\" />\r\n <ng-template #placeholder>\r\n <div></div>\r\n </ng-template>\r\n </div>\r\n <div class=\"product-details\">\r\n <span class=\"badge cluster\">\r\n {{ p.productId }}\r\n </span>\r\n <h6 class=\"ms-1\">{{p.productName}}</h6>\r\n <p class=\"ms-1\">{{p.productType}}</p>\r\n </div>\r\n }\r\n </div>\r\n }@else {\r\n <div *ngFor=\"let p of [].constructor(s.productPerShelf)\" class=\"product\"></div>\r\n }\r\n </div>\r\n }\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</section>", styles: [".header{background:#fff;padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.btn{padding:.775rem 1.5rem!important;font-size:1.1rem!important}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;padding:2px 8px;border-radius:16px}.badge.inactive{background:#f2f4f7!important;color:#344054!important}.builder{height:75vh}.builder .cols{background:#fff;border-radius:12px;padding:24px 24px 12px;max-height:75vh;overflow-y:auto}.shelf-container{border-radius:8px;background:var(--Gray-50, #f9fafb);padding:8px 16px;margin-bottom:12px}.counter-container{display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:#fff;padding:10px;border:.49px solid #d0d5dd}.counter-container span{margin:0 18px;font-weight:500;font-size:14px;text-align:center;vertical-align:middle;width:18px}.disable-counter{color:var(--bs-gray-500)!important;background-color:var(--bs-gray-200)!important;border-color:var(--bs-gray-300)!important;pointer-events:none;opacity:1}.disabled-click{pointer-events:none;opacity:.85}.wall-viewport{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:30px;width:345px;text-align:center}.wall-viewport .wrapper{width:100%;max-width:345px}.wall-viewport .header-info,.wall-viewport .footer-info,.wall-viewport .body-info{width:100%;border:2px solid #f2f4f7;border-bottom:4px solid #ffffff;background:#f2f4f7;max-width:230px;display:flex;align-items:center;justify-content:center;justify-content:start;padding:12px;gap:4px}.wall-viewport .header-info p,.wall-viewport .footer-info p,.wall-viewport .body-info p{margin:0}.wall-viewport .header-info{margin-top:40px}.wall-viewport .sub-footer{border:1px solid #98a2b3;height:100%}.wall-viewport .header-block,.wall-viewport .footer-block{border:1px solid #98a2b3;height:95px;padding:8px;background-color:#f2f4f7;width:100%;display:flex;justify-content:center;align-items:center}.wall-viewport .header-block p,.wall-viewport .footer-block p{color:var(--Gray-600, #475467);font-size:18px;font-weight:600;white-space:normal;word-wrap:break-word;margin:0;background-color:#f2f4f7}.wall-viewport .body-block{width:100%}.wall-viewport .body-block .block{border:1px solid #98a2b3;padding:10px;width:100%;max-width:345px;overflow-x:auto;min-height:52px}.wall-viewport .body-block .tray,.wall-viewport .body-block .shelf{display:flex;gap:4px}.wall-viewport .body-block .tray .product,.wall-viewport .body-block .shelf .product{border:1px solid rgba(152,162,179,.2901960784);min-width:50px}.wall-viewport .body-block .tray .product{min-height:20px}.wall-viewport .body-block .shelf .product{min-height:30px}.wall-viewport .body-block .hide-product{border-color:transparent!important}.wall-viewport .body-block .hide-scroll{overflow-x:hidden!important}.horizontal-dimension{display:flex;align-items:center;justify-content:center;height:30px;position:relative}.horizontal-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.horizontal-dimension .arrow.left{transform:rotate(180deg);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .arrow.right{transform:rotate(0);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;height:1px}.horizontal-dimension .line span{position:absolute;top:-12px;color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:0 4px}.vertical-dimension{display:flex;flex-direction:column;align-items:center;width:30px;position:relative}.vertical-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.vertical-dimension .arrow.up{transform:rotate(-90deg);margin-top:20px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .arrow.down{transform:rotate(90deg);margin-bottom:26px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;width:1px}.vertical-dimension .line span{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:2px 4px}.info-card{padding:12px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.info-card h3{font-weight:600;font-size:18px;line-height:28px;vertical-align:middle}.info-card p{font-weight:500;font-size:14px;line-height:20px;color:#667085;margin:0}.checkbox input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #d0d5dd)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.checkbox input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00a3ff)!important;background-color:var(--primary-50, #eaf8ff)}.checkbox input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00a3ff;border-right:2px solid #00a3ff;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.nav-pills{display:inline-flex;gap:4px}.nav-pills .nav-item .nav-link{border-radius:0;color:#667085;font-size:14px;font-weight:500;padding:8px 16px;border:none}.nav-pills .nav-item .nav-link:hover{background-color:#00000005}.nav-pills .nav-item .nav-link.active{background-color:#eaf8ff;color:#009bf3;border-bottom:3px solid #009bf3}.content-wrapper{background:#fff;border-radius:12px;min-height:calc(100vh - 400px);height:100%;padding:16px 24px;display:flex;flex-direction:column}.loader .shimmer{height:150px}.filter-tab{border:1px solid rgb(234,236,240);background:#fff;box-shadow:0 1px 2px #1018280d;border-radius:8px;padding:18px;transition:all ease .2s}.filter-tab:hover{cursor:pointer}.filter-tab.selected{background:#f6fcff;border:1px solid rgb(107,202,255);box-shadow:0 1px 2px #1018280d}.filter-tab h3{color:#000;font-size:20px;font-weight:600;line-height:30px;margin:0}.filter-tab p{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;margin:0}.nodatamaintext{font-family:Inter;font-size:16px;font-weight:600;line-height:24px;text-align:center;color:#101828}.nodatasubtext[_ngcontent-ng-c2141490359]{font-family:Inter;font-size:14px;font-weight:400;line-height:20px;text-align:center;color:#667085}.table-responsive{min-height:calc(100vh - 495px)}.download-link{color:var(--Primary-800, #008edf);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;cursor:pointer}h3.card-title{color:#101828;font-size:18px;font-weight:600;line-height:28px}p.card-tagline{color:#101828;font-size:14px;font-weight:500;line-height:20px}p.card-description{color:#344054;font-size:14px;font-weight:400;line-height:20px}#list-view .thumbnail{height:40px;width:40px;background:#f2f4f7;margin-right:12px;border-radius:8px}#list-view td{vertical-align:middle}#grid-view .card{box-shadow:0 4px 10px #0000000d;border:1px solid rgb(223,225,231);background:#fff;border-radius:12px;padding:12px;height:100%;transition:all .2s ease}#grid-view .card:hover{cursor:pointer;box-shadow:0 10px 10px #0001;transition:all .2s ease}#grid-view .card-img{margin-bottom:12px;background:#d0d5dd;height:200px;border-radius:6px}#grid-view .card-action{position:absolute;top:20px;right:20px}#grid-view .card-tagline{color:#475467;font-weight:500;font-size:14px;line-height:20px}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;color:#027a48;background:#ecfdf3}.badge.active{color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7;color:#344054}.badge.draft{color:#009bf3;background:#eaf8ff}.badge.cluster{background:#f2f4f7;color:#344054}.badge.published{background:#ecfdf3;color:#027a48}.badge.yet-to-publish{background:#f8f9fc;color:#363f72}.indicator{border-radius:16px;padding:2px 8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;width:fit-content;text-align:center;font-size:14px;font-weight:500}.indicator.short{height:14px!important;width:14px!important;border-radius:50%!important;padding:0!important}.indicator.yetToComplete{background:#f2f4f7;color:#667085}.indicator.yetToComplete path{fill:#667085}.indicator.yetToAssign{background:#eaecf5;color:#344054}.indicator.yetToAssign path{fill:#344054}.indicator.taskAssigned{background:#e0eaff;color:#7a5af8}.indicator.taskAssigned path{fill:#7a5af8}.indicator.reviewPending{background:#fef0c7;color:#f79009}.indicator.reviewPending path{fill:#f79009}.indicator.flagged{background:var(--Error-50, #fef3f2);color:var(--Error-700, #b42318)}.indicator.completed{background:#d1fadf;color:#12b76a}.indicator.completed path{fill:#12b76a}.toggle-button{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:8px;background:#fff;border:.89px solid rgb(208,213,221);box-shadow:0 .89px 1.78px #1018280d;transition:all ease .3s}.toggle-button:hover{cursor:pointer}.toggle-button.selected{transition:all ease .3s;background:#eaf8ff;box-shadow:0 0 0 3.56px #d5effe!important;border:.89px solid rgb(234,248,255)}.disabled-click{pointer-events:none;cursor:not-allowed!important;opacity:.6}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;display:flex;align-items:center;height:1.5rem}.clear-search{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;height:1.5rem;width:1.5rem}#product-zone-locator .zone-details{padding:12px;border-radius:6px;border:1px solid #98a2b3;background-color:#fff}#product-zone-locator .zone-details .zone-info{max-width:200px;min-width:150px}#product-zone-locator .zone-details .zone-info h1{font-weight:600;font-size:14px;line-height:20px;color:#101828;margin-bottom:0}#product-zone-locator .zone-details .zone-info h4{font-weight:400;font-size:12px;line-height:18px;color:#101828}#product-zone-locator .zone-details .shelves{width:100%;overflow:auto}#product-zone-locator .zone-details .shelves .block{border:none;padding:10px;width:100%;max-width:100%;overflow-x:auto;min-height:52px}#product-zone-locator .zone-details .shelves .tray,#product-zone-locator .zone-details .shelves .shelf{display:flex;gap:24px}#product-zone-locator .zone-details .shelves .tray .product,#product-zone-locator .zone-details .shelves .shelf .product{border:2px solid #ffffff;padding:6px;border-radius:4px;min-width:96px;min-height:104px}#product-zone-locator .zone-details .shelves .tray .product.selected,#product-zone-locator .zone-details .shelves .shelf .product.selected{border:2px solid #12b76a;background-color:#e0fbe9}#product-zone-locator .zone-details .shelves .tray .product.error,#product-zone-locator .zone-details .shelves .shelf .product.error{border:2px solid rgb(253,162,155);background-color:#fef3f2}#product-zone-locator .zone-details .shelves .tray .product.error.selected,#product-zone-locator .zone-details .shelves .shelf .product.error.selected{border:2px solid rgb(255,172,168);background-color:#ffe7e5}#product-zone-locator .zone-details .shelves .tray .product .product-img,#product-zone-locator .zone-details .shelves .shelf .product .product-img{width:80px;height:40px;border:1.23px solid rgb(234,236,240);margin-bottom:8px;box-shadow:0 1.23px 2.47px #1018280d;border-radius:4px}#product-zone-locator .zone-details .shelves .tray .product .product-img img,#product-zone-locator .zone-details .shelves .shelf .product .product-img img{border-radius:4px;height:100%;width:100%;object-fit:cover}#product-zone-locator .zone-details .shelves .tray .product .product-details,#product-zone-locator .zone-details .shelves .shelf .product .product-details{display:flex;flex-direction:column;gap:2px;width:fit-content}#product-zone-locator .zone-details .shelves .tray .product .product-details .badge,#product-zone-locator .zone-details .shelves .shelf .product .product-details .badge{font-weight:500!important;font-size:8px!important;line-height:12px!important;text-align:center;padding:1px 6px!important;border-radius:16px!important}#product-zone-locator .zone-details .shelves .tray .product .product-details h6,#product-zone-locator .zone-details .shelves .tray .product .product-details p,#product-zone-locator .zone-details .shelves .shelf .product .product-details h6,#product-zone-locator .zone-details .shelves .shelf .product .product-details p{font-size:8px;font-weight:600;color:#101828;margin:0}#product-zone-locator .zone-details .shelves .tray .product .product-details p,#product-zone-locator .zone-details .shelves .shelf .product .product-details p{font-weight:500!important}\n"] }]
47
+ }], propDecorators: { targetProduct: [{
16
48
  type: Input
17
- }], selectedProduct: [{
49
+ }], targetFixture: [{
18
50
  type: Input
19
51
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC16b25lLWxvY2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tc3RvcmUtYnVpbGRlci9zcmMvbGliL2NvbXBvbmVudHMvcGxhbm9ncmFtL21lcmNoLWNvbXBsaWFuY2UvcHJvZHVjdC1sb2NhdG9yL3Byb2R1Y3Qtem9uZS1sb2NhdG9yL3Byb2R1Y3Qtem9uZS1sb2NhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXN0b3JlLWJ1aWxkZXIvc3JjL2xpYi9jb21wb25lbnRzL3BsYW5vZ3JhbS9tZXJjaC1jb21wbGlhbmNlL3Byb2R1Y3QtbG9jYXRvci9wcm9kdWN0LXpvbmUtbG9jYXRvci9wcm9kdWN0LXpvbmUtbG9jYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTywyQkFBMkI7SUFDN0IsSUFBSSxDQUFNO0lBQ1YsZUFBZSxDQUFNO0lBRTlCLFNBQVMsQ0FBTTtJQUNmLFlBQVksR0FBVyxDQUFDLENBQUM7d0dBTGQsMkJBQTJCOzRGQUEzQiwyQkFBMkIsMEhDUHhDLGduSkE0RVU7OzRGRHJFRywyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUt2QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicHJvZHVjdC16b25lLWxvY2F0b3JcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3Byb2R1Y3Qtem9uZS1sb2NhdG9yLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9wcm9kdWN0LXpvbmUtbG9jYXRvci5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFpvbmVMb2NhdG9yQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBkYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRQcm9kdWN0OiBhbnk7XHJcblxyXG4gIGFsbEJyYW5kczogYW55O1xyXG4gIHpvbmVDYXBhY2l0eTogbnVtYmVyID0gMDtcclxufVxyXG4iLCI8c2VjdGlvbiBpZD1cInByb2R1Y3Qtem9uZS1sb2NhdG9yXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiem9uZS1kZXRhaWxzIG15LTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiem9uZS1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGRyYWZ0IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBkYXRhLnpvbmUgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxoMT57e2FsbEJyYW5kc319PC9oMT5cclxuICAgICAgICAgICAgICAgIDxoND5DYXBhY2l0eSB7e3pvbmVDYXBhY2l0eX19PC9oND5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbHZlc1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcyBvZiBkYXRhLnNoZWx2ZXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYocy5zaGVsZlR5cGUgPT09J3NoZWxmJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2lkXT1cInMuc2hlbGZUeXBlICsgKGkgKyAxKVwiIGNsYXNzPVwiYmxvY2sgc2hlbGZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZihzLnByb2R1Y3RzLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcCBvZiBzLnByb2R1Y3RzXCIgY2xhc3M9XCJwcm9kdWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6c2VsZWN0ZWRQcm9kdWN0Py5wcm9kdWN0SWQgPT09IHAucHJvZHVjdElkLCdlcnJvcic6c2VsZWN0ZWRQcm9kdWN0Py5wcm9kdWN0SWQgPT09IHAucHJvZHVjdElkfVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHAuc3RhdHVzICE9ICdtaXNzaW5nJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdC1pbWdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwicD8ucHJvZHVjdEltYWdlVXJsOyBlbHNlIHBsYWNlaG9sZGVyXCIgW3NyY109XCJwPy5wcm9kdWN0SW1hZ2VVcmxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJQcm9kdWN0IEltYWdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0LWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGNsdXN0ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcC5wcm9kdWN0SWQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwibXMtMVwiPnt7cC5wcm9kdWN0TmFtZX19PC9oNj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1zLTFcIj57e3AucHJvZHVjdFR5cGV9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9QGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHAgb2YgW10uY29uc3RydWN0b3Iocy5wcm9kdWN0UGVyU2hlbGYpXCIgY2xhc3M9XCJwcm9kdWN0XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH1AZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2lkXT1cInMuc2hlbGZUeXBlISArIChpICsgMSlcIiBjbGFzcz1cImJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYocy5wcm9kdWN0cy5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJvdyBvZiBzLmRpc3RyaWJ1dGVkUm93c1wiIGNsYXNzPVwidHJheSBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHAgb2Ygcm93XCIgY2xhc3M9XCJwcm9kdWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOnNlbGVjdGVkUHJvZHVjdD8ucHJvZHVjdElkID09PSBwLnByb2R1Y3RJZCwnZXJyb3InOnAuc3RhdHVzID09PSAnbWlzc2luZycgfHwgcC5zdGF0dXMgPT09ICdtaXNwbGFjZWQnfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHAuc3RhdHVzICE9ICdtaXNzaW5nJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtaW1nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJwPy5wcm9kdWN0SW1hZ2VVcmw7IGVsc2UgcGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJwPy5wcm9kdWN0SW1hZ2VVcmxcIiBhbHQ9XCJQcm9kdWN0IEltYWdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFjZWhvbGRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGNsdXN0ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHAucHJvZHVjdElkIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwibXMtMVwiPnt7cC5wcm9kdWN0TmFtZX19PC9oNj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtcy0xXCI+e3twLnByb2R1Y3RUeXBlfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfUBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJvdyBvZiBbXS5jb25zdHJ1Y3RvcihzLnRyYXlSb3dzKVwiIGNsYXNzPVwidHJheSBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHAgb2YgW10uY29uc3RydWN0b3Iocy5wcm9kdWN0UGVyU2hlbGYpXCIgY2xhc3M9XCJwcm9kdWN0XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zZWN0aW9uPiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC16b25lLWxvY2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tc3RvcmUtYnVpbGRlci9zcmMvbGliL2NvbXBvbmVudHMvcGxhbm9ncmFtL21lcmNoLWNvbXBsaWFuY2UvcHJvZHVjdC1sb2NhdG9yL3Byb2R1Y3Qtem9uZS1sb2NhdG9yL3Byb2R1Y3Qtem9uZS1sb2NhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXN0b3JlLWJ1aWxkZXIvc3JjL2xpYi9jb21wb25lbnRzL3BsYW5vZ3JhbS9tZXJjaC1jb21wbGlhbmNlL3Byb2R1Y3QtbG9jYXRvci9wcm9kdWN0LXpvbmUtbG9jYXRvci9wcm9kdWN0LXpvbmUtbG9jYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZCLE1BQU0sT0FBTywyQkFBMkI7SUFDN0IsYUFBYSxDQUFNO0lBQ25CLGFBQWEsQ0FBTTtJQUc1QixJQUFJLENBQU07SUFDVixTQUFTLENBQU07SUFDZixZQUFZLEdBQVcsQ0FBQyxDQUFDO0lBQ3pCLFdBQVcsR0FBVSxFQUFFLENBQUM7SUFDeEIsU0FBUyxDQUFLO0lBRWQsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVyxDQUFDLE9BQXNCO1FBR2hDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBRTVDLElBQUksQ0FBQyxJQUFJLEdBQUc7Z0JBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FDN0MsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQy9DO2FBQ0YsQ0FBQztZQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO2dCQUNuRCxJQUFJLENBQUMsQ0FBQyxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO29CQUNqRCxDQUFDLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDdkU7Z0JBQ0QsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQ25ELENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztZQUVGLElBQUksQ0FBQyxTQUFTLEdBQUc7Z0JBQ2YsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3RFLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsUUFBYSxFQUFFLFFBQWdCO1FBQ2xELE1BQU0sTUFBTSxHQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0QsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxLQUFhLEVBQUUsRUFBRTtZQUMvQyxNQUFNLFNBQVMsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO3dHQXJEVSwyQkFBMkI7NEZBQTNCLDJCQUEyQiw2SkNieEMsbzdJQTJFVTs7NEZEOURHLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSxzQkFBc0I7OEJBS3ZCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicHJvZHVjdC16b25lLWxvY2F0b3JcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3Byb2R1Y3Qtem9uZS1sb2NhdG9yLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9wcm9kdWN0LXpvbmUtbG9jYXRvci5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFpvbmVMb2NhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHRhcmdldFByb2R1Y3Q6IGFueTtcclxuICBASW5wdXQoKSB0YXJnZXRGaXh0dXJlOiBhbnk7XHJcbiAgXHJcbiAgXHJcbiAgZGF0YTogYW55O1xyXG4gIGFsbEJyYW5kczogYW55O1xyXG4gIHpvbmVDYXBhY2l0eTogbnVtYmVyID0gMDtcclxuICBhbGxQcm9kdWN0czogYW55W10gPSBbXTtcclxuICB0YXJnZXRQSUQ6YW55O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIFxyXG4gICAgXHJcbiAgICBpZiAodGhpcy50YXJnZXRGaXh0dXJlICYmIHRoaXMudGFyZ2V0UHJvZHVjdCkge1xyXG5cclxuICAgICAgdGhpcy5kYXRhID0ge1xyXG4gICAgICAgIHpvbmU6IHRoaXMudGFyZ2V0UHJvZHVjdC56b25lLFxyXG4gICAgICAgIHNoZWx2ZXM6IHRoaXMudGFyZ2V0Rml4dHVyZT8uc2hlbGZDb25maWcuZmlsdGVyKFxyXG4gICAgICAgICAgKHM6IGFueSkgPT4gcy56b25lID09PSB0aGlzLnRhcmdldFByb2R1Y3Quem9uZSxcclxuICAgICAgICApLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5kYXRhLnNoZWx2ZXMgPSB0aGlzLmRhdGEuc2hlbHZlcy5tYXAoKHM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChzLnNoZWxmVHlwZSAhPT0gXCJzaGVsZlwiICYmIHMucHJvZHVjdHM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgcy5kaXN0cmlidXRlZFJvd3MgPSB0aGlzLmRpc3RyaWJ1dGVSb3VuZFJvYmluKHMucHJvZHVjdHMsIHMudHJheVJvd3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcztcclxuICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLmFsbFByb2R1Y3RzID0gKHRoaXMuZGF0YT8uc2hlbHZlcyA/PyBbXSkuZmxhdE1hcChcclxuICAgICAgICAoczogYW55KSA9PiBzLnByb2R1Y3RzID8/IFtdLFxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5hbGxCcmFuZHMgPSBbXHJcbiAgICAgICAgLi4ubmV3IFNldCh0aGlzLmRhdGEuc2hlbHZlcy5mbGF0TWFwKChzOiBhbnkpID0+IHMucHJvZHVjdEJyYW5kTmFtZSkpLFxyXG4gICAgICBdO1xyXG4gICAgICB0aGlzLnpvbmVDYXBhY2l0eSA9IHRoaXMuYWxsUHJvZHVjdHMubGVuZ3RoO1xyXG4gICAgICB0aGlzLnRhcmdldFBJRCA9IHRoaXMuYWxsUHJvZHVjdHNbMF0uX2lkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzdHJpYnV0ZVJvdW5kUm9iaW4ocHJvZHVjdHM6IGFueSwgdHJheVJvd3M6IG51bWJlcikge1xyXG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0cmF5Um93cyB9LCAoKSA9PiBbXSk7XHJcblxyXG4gICAgcHJvZHVjdHMuZm9yRWFjaCgocHJvZHVjdDogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRyYXlJbmRleCA9IGluZGV4ICUgdHJheVJvd3M7XHJcbiAgICAgIHJlc3VsdFt0cmF5SW5kZXhdLnB1c2gocHJvZHVjdCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBpZD1cInByb2R1Y3Qtem9uZS1sb2NhdG9yXCIgKm5nSWY9XCJ0YXJnZXRGaXh0dXJlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiem9uZS1kZXRhaWxzIG15LTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiem9uZS1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGRyYWZ0IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBkYXRhPy56b25lIH19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aDE+e3thbGxCcmFuZHN9fTwvaDE+XHJcbiAgICAgICAgICAgICAgICA8aDQ+Q2FwYWNpdHkge3t6b25lQ2FwYWNpdHl9fTwvaDQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoZWx2ZXNcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHMgb2YgZGF0YT8uc2hlbHZlczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZihzLnNoZWxmVHlwZSA9PT0ndHJheScpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpZF09XCJzLnNoZWxmVHlwZSArIChpICsgMSlcIiBjbGFzcz1cImJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYocz8ucHJvZHVjdHM/Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcm93IG9mIHMuZGlzdHJpYnV0ZWRSb3dzXCIgY2xhc3M9XCJ0cmF5IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcCBvZiByb3dcIiBjbGFzcz1cInByb2R1Y3RcIiBbY2xhc3MuZXJyb3JdPVwidGFyZ2V0UElEID09PSBwLl9pZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHAuc3RhdHVzICE9ICdtaXNzaW5nJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtaW1nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJwPy5wcm9kdWN0SW1hZ2VVcmw7IGVsc2UgcGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJwPy5wcm9kdWN0SW1hZ2VVcmxcIiBhbHQ9XCJQcm9kdWN0IEltYWdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFjZWhvbGRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGNsdXN0ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHAucHJvZHVjdElkIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwibXMtMVwiPnt7cC5wcm9kdWN0TmFtZX19PC9oNj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtcy0xXCI+e3twLnByb2R1Y3RUeXBlfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfUBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJvdyBvZiBbXS5jb25zdHJ1Y3RvcihzLnRyYXlSb3dzKVwiIGNsYXNzPVwidHJheSBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHAgb2YgW10uY29uc3RydWN0b3Iocy5wcm9kdWN0UGVyU2hlbGYpXCIgY2xhc3M9XCJwcm9kdWN0XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH1AZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2lkXT1cInMuc2hlbGZUeXBlISArIChpICsgMSlcIiBjbGFzcz1cImJsb2NrIHNoZWxmXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYocz8ucHJvZHVjdHM/Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcCBvZiBzLnByb2R1Y3RzXCIgY2xhc3M9XCJwcm9kdWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmVycm9yXT1cInRhcmdldFBJRCA9PT0gcC5faWRcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZihwLnN0YXR1cyAhPSAnbWlzc2luZycpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtaW1nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInA/LnByb2R1Y3RJbWFnZVVybDsgZWxzZSBwbGFjZWhvbGRlclwiIFtzcmNdPVwicD8ucHJvZHVjdEltYWdlVXJsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiUHJvZHVjdCBJbWFnZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFjZWhvbGRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdC1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBjbHVzdGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHAucHJvZHVjdElkIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cIm1zLTFcIj57e3AucHJvZHVjdE5hbWV9fTwvaDY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtcy0xXCI+e3twLnByb2R1Y3RUeXBlfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfUBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwIG9mIFtdLmNvbnN0cnVjdG9yKHMucHJvZHVjdFBlclNoZWxmKVwiIGNsYXNzPVwicHJvZHVjdFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj4iXX0=