techlify-inventory-common 18.4.0 → 18.4.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 (35) hide show
  1. package/esm2022/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.mjs +8 -8
  2. package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +2 -1
  3. package/esm2022/lib/inventory-common/product/product-measure-form/product-measure-form.component.mjs +9 -9
  4. package/esm2022/lib/inventory-common/product/product-measures-list/product-measures-list.component.mjs +8 -8
  5. package/esm2022/lib/inventory-common/product/product-summary-chart/product-summary-chart.component.mjs +8 -8
  6. package/esm2022/lib/inventory-common/product/product-summary.service.mjs +20 -0
  7. package/esm2022/lib/inventory-common/product/product.service.mjs +4 -33
  8. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-import-page/stock-issue-import-page.component.mjs +2 -2
  9. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-import-page/stock-receipt-import-page.component.mjs +74 -0
  10. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.mjs +7 -6
  11. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-routing.module.mjs +8 -1
  12. package/fesm2022/{techlify-inventory-common-category.module-_JKaLvuW.mjs → techlify-inventory-common-category.module-B9v8ocCM.mjs} +2 -2
  13. package/fesm2022/{techlify-inventory-common-category.module-_JKaLvuW.mjs.map → techlify-inventory-common-category.module-B9v8ocCM.mjs.map} +1 -1
  14. package/fesm2022/{techlify-inventory-common-location.module-CRNxXB2w.mjs → techlify-inventory-common-location.module-DW-rsXCW.mjs} +2 -2
  15. package/fesm2022/{techlify-inventory-common-location.module-CRNxXB2w.mjs.map → techlify-inventory-common-location.module-DW-rsXCW.mjs.map} +1 -1
  16. package/fesm2022/{techlify-inventory-common-measure.module-CSIT2OcZ.mjs → techlify-inventory-common-measure.module-SGEdmXgY.mjs} +4 -18
  17. package/fesm2022/techlify-inventory-common-measure.module-SGEdmXgY.mjs.map +1 -0
  18. package/fesm2022/{techlify-inventory-common-stock-issuances.module-Bb4lQY0y.mjs → techlify-inventory-common-stock-issuances.module-CGmQAuu8.mjs} +3 -3
  19. package/fesm2022/techlify-inventory-common-stock-issuances.module-CGmQAuu8.mjs.map +1 -0
  20. package/fesm2022/{techlify-inventory-common-supplier.module-B3nhDpg0.mjs → techlify-inventory-common-supplier.module-BesSBedb.mjs} +2 -2
  21. package/fesm2022/{techlify-inventory-common-supplier.module-B3nhDpg0.mjs.map → techlify-inventory-common-supplier.module-BesSBedb.mjs.map} +1 -1
  22. package/fesm2022/{techlify-inventory-common-techlify-inventory-common-BNjTAiEI.mjs → techlify-inventory-common-techlify-inventory-common-Dsfl8cl6.mjs} +142 -67
  23. package/fesm2022/techlify-inventory-common-techlify-inventory-common-Dsfl8cl6.mjs.map +1 -0
  24. package/fesm2022/techlify-inventory-common.mjs +1 -1
  25. package/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.d.ts +3 -3
  26. package/lib/inventory-common/product/product-measure-form/product-measure-form.component.d.ts +3 -3
  27. package/lib/inventory-common/product/product-measures-list/product-measures-list.component.d.ts +3 -3
  28. package/lib/inventory-common/product/product-summary-chart/product-summary-chart.component.d.ts +3 -3
  29. package/lib/inventory-common/product/product-summary.service.d.ts +8 -0
  30. package/lib/inventory-common/product/product.service.d.ts +2 -13
  31. package/lib/inventory-common/stock-receipts/stock-receipt-import-page/stock-receipt-import-page.component.d.ts +10 -0
  32. package/package.json +1 -1
  33. package/fesm2022/techlify-inventory-common-measure.module-CSIT2OcZ.mjs.map +0 -1
  34. package/fesm2022/techlify-inventory-common-stock-issuances.module-Bb4lQY0y.mjs.map +0 -1
  35. package/fesm2022/techlify-inventory-common-techlify-inventory-common-BNjTAiEI.mjs.map +0 -1
@@ -9,7 +9,7 @@ import * as i1 from "@angular/forms";
9
9
  import * as i2 from "@angular/material/dialog";
10
10
  import * as i3 from "ngx-techlify-core";
11
11
  import * as i4 from "@angular/router";
12
- import * as i5 from "../product.service";
12
+ import * as i5 from "../../measure/measure.service";
13
13
  import * as i6 from "@angular/common";
14
14
  import * as i7 from "@angular/material/button";
15
15
  import * as i8 from "@angular/material/form-field";
@@ -26,7 +26,7 @@ let ProductMeasuresListComponent = class ProductMeasuresListComponent {
26
26
  dialog;
27
27
  filterService;
28
28
  activatedRoute;
29
- productService;
29
+ measureService;
30
30
  filterFormGroup;
31
31
  lastPage;
32
32
  page = 1;
@@ -44,12 +44,12 @@ let ProductMeasuresListComponent = class ProductMeasuresListComponent {
44
44
  ];
45
45
  displayedColumns = ['#', 'Title', 'Description', 'Actions'];
46
46
  dataSource = new MatTableDataSource();
47
- constructor(fb, dialog, filterService, activatedRoute, productService) {
47
+ constructor(fb, dialog, filterService, activatedRoute, measureService) {
48
48
  this.fb = fb;
49
49
  this.dialog = dialog;
50
50
  this.filterService = filterService;
51
51
  this.activatedRoute = activatedRoute;
52
- this.productService = productService;
52
+ this.measureService = measureService;
53
53
  this.filterFormGroup = this.fb.group({
54
54
  num_items: [this.num_items + '|' + this.currentPage],
55
55
  search: [''],
@@ -81,7 +81,7 @@ let ProductMeasuresListComponent = class ProductMeasuresListComponent {
81
81
  filters.per_page = this.perPage;
82
82
  filters.type_ids = filters.type_ids.toString();
83
83
  filters.num_items = this.num_items + '|' + this.currentPage;
84
- let res = await this.productService.getProductMeasures(filters);
84
+ let res = await this.measureService.index(filters).toPromise();
85
85
  if (this.productMeasures.length < 1) {
86
86
  this.productMeasures = res.data;
87
87
  }
@@ -131,7 +131,7 @@ let ProductMeasuresListComponent = class ProductMeasuresListComponent {
131
131
  //Called once, before the instance is destroyed.
132
132
  //Add 'implements OnDestroy' to the class.
133
133
  }
134
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductMeasuresListComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MatDialog }, { token: i3.FilterService }, { token: i4.ActivatedRoute }, { token: i5.ProductService }], target: i0.ɵɵFactoryTarget.Component });
134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductMeasuresListComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MatDialog }, { token: i3.FilterService }, { token: i4.ActivatedRoute }, { token: i5.MeasureService }], target: i0.ɵɵFactoryTarget.Component });
135
135
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProductMeasuresListComponent, selector: "app-product-measure-list", ngImport: i0, template: "<div fxLayout=\"column\">\n <div class=\"text-center\" fxLayoutAlign=\"center center\">\n <h3 fxLayout>\n <span class=\"mt-1\"> Product Measures </span>\n <button mat-raised-button class=\"ml-2\" color=\"primary\" (click)=\"modifyProductMeasure()\">\n <mat-icon>add</mat-icon>\n Product Measure\n </button>\n </h3>\n </div>\n\n <div fxLayout>\n <form [formGroup]=\"filterFormGroup\" fxLayout fxLayoutGap=\"0.5rem\">\n <mat-form-field>\n <input matInput placeholder=\"Item Name, Description, etc.\" formControlName=\"search\" />\n </mat-form-field>\n </form>\n\n <mat-form-field class=\"ml-2\" fxFlex=\"0 1 calc(11.11% - 0.5rem)\">\n <mat-label>Columns</mat-label>\n <mat-select [(ngModel)]=\"displayedColumns\" multiple name=\"column\">\n <mat-option *ngFor=\"let column of columnDefinitions\" [value]=\"column.def\" [disabled]=\"!column.isShow\">\n {{ column?.def }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n </div>\n\n <table\n mat-table\n #table\n [dataSource]=\"dataSource\"\n class=\"mat-elevation-z8 w-100 mt-4 table-hover\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\"\n infiniteScrollContainer=\"mat-sidenav-content\"\n matSort\n (matSortChange)=\"sortColumn($event)\"\n matSortDisableClear=\"true\"\n >\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"Title\">\n <th mat-header-cell mat-sort-header *matHeaderCellDef>Title</th>\n <td mat-cell *matCellDef=\"let element\">{{ element.title }}</td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"Description\">\n <th mat-header-cell mat-sort-header *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let element\">{{ element.description }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"text-secondary\" fxLayoutGap=\"1rem\">\n <button mat-icon-button (click)=\"modifyProductMeasure(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n</div>\n", dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i12.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i13.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i13.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i14.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i14.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i14.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i14.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i14.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i14.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i14.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i14.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i14.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i14.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i15.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: i16.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i16.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i16.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i16.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], preserveWhitespaces: true });
136
136
  };
137
137
  ProductMeasuresListComponent = __decorate([
@@ -141,5 +141,5 @@ export { ProductMeasuresListComponent };
141
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductMeasuresListComponent, decorators: [{
142
142
  type: Component,
143
143
  args: [{ selector: 'app-product-measure-list', template: "<div fxLayout=\"column\">\n <div class=\"text-center\" fxLayoutAlign=\"center center\">\n <h3 fxLayout>\n <span class=\"mt-1\"> Product Measures </span>\n <button mat-raised-button class=\"ml-2\" color=\"primary\" (click)=\"modifyProductMeasure()\">\n <mat-icon>add</mat-icon>\n Product Measure\n </button>\n </h3>\n </div>\n\n <div fxLayout>\n <form [formGroup]=\"filterFormGroup\" fxLayout fxLayoutGap=\"0.5rem\">\n <mat-form-field>\n <input matInput placeholder=\"Item Name, Description, etc.\" formControlName=\"search\" />\n </mat-form-field>\n </form>\n\n <mat-form-field class=\"ml-2\" fxFlex=\"0 1 calc(11.11% - 0.5rem)\">\n <mat-label>Columns</mat-label>\n <mat-select [(ngModel)]=\"displayedColumns\" multiple name=\"column\">\n <mat-option *ngFor=\"let column of columnDefinitions\" [value]=\"column.def\" [disabled]=\"!column.isShow\">\n {{ column?.def }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n </div>\n\n <table\n mat-table\n #table\n [dataSource]=\"dataSource\"\n class=\"mat-elevation-z8 w-100 mt-4 table-hover\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\"\n infiniteScrollContainer=\"mat-sidenav-content\"\n matSort\n (matSortChange)=\"sortColumn($event)\"\n matSortDisableClear=\"true\"\n >\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"Title\">\n <th mat-header-cell mat-sort-header *matHeaderCellDef>Title</th>\n <td mat-cell *matCellDef=\"let element\">{{ element.title }}</td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"Description\">\n <th mat-header-cell mat-sort-header *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let element\">{{ element.description }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"text-secondary\" fxLayoutGap=\"1rem\">\n <button mat-icon-button (click)=\"modifyProductMeasure(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n</div>\n" }]
144
- }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.MatDialog }, { type: i3.FilterService }, { type: i4.ActivatedRoute }, { type: i5.ProductService }] });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tZWFzdXJlcy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3Byb2R1Y3QvcHJvZHVjdC1tZWFzdXJlcy1saXN0L3Byb2R1Y3QtbWVhc3VyZXMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3QtbWVhc3VyZXMtbGlzdC9wcm9kdWN0LW1lYXN1cmVzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXJHLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU85RCxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE0QjtJQXdCN0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTNCSCxlQUFlLENBQVk7SUFFM0IsUUFBUSxDQUFVO0lBQ2xCLElBQUksR0FBVyxDQUFDLENBQUM7SUFDakIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNoQixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2YsWUFBWSxDQUFNO0lBQ2xCLGVBQWUsR0FBVSxFQUFFLENBQUM7SUFF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bnQgfSBmcm9tICcuLi9wcm9kdWN0LW1lYXN1cmUtZm9ybS9wcm9kdWN0LW1lYXN1cmUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICcuLi9wcm9kdWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRmlsdGVyU2VydmljZSB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LW1lYXN1cmUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1lYXN1cmVzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWVhc3VyZXNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGZpbHRlckZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBsYXN0UGFnZSE6IG51bWJlcjtcbiAgcHVibGljIHBhZ2U6IG51bWJlciA9IDE7XG4gIHB1YmxpYyBwZXJQYWdlOiBudW1iZXIgPSAyNTtcbiAgcHVibGljIHRvdGFsSXRlbXMgPSAwO1xuICBwdWJsaWMgY3VycmVudFBhZ2UgPSAxO1xuICBwdWJsaWMgbnVtX2l0ZW1zID0gMjU7XG4gIHB1YmxpYyByb3V0ZUZpbHRlcnM6IGFueTtcbiAgcHVibGljIHByb2R1Y3RNZWFzdXJlczogYW55W10gPSBbXTtcblxuICBjb2x1bW5EZWZpbml0aW9ucyA9IFtcbiAgICB7IGRlZjogJyMnLCBpc1Nob3c6IHRydWUgfSxcbiAgICB7IGRlZjogJ1RpdGxlJywgaXNTaG93OiB0cnVlIH0sXG4gICAgeyBkZWY6ICdEZXNjcmlwdGlvbicsIGlzU2hvdzogdHJ1ZSB9LFxuICAgIHsgZGVmOiAnQWN0aW9ucycsIGlzU2hvdzogdHJ1ZSB9LFxuICBdO1xuXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gWycjJywgJ1RpdGxlJywgJ0Rlc2NyaXB0aW9uJywgJ0FjdGlvbnMnXTtcblxuICBwdWJsaWMgZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0U2VydmljZVxuICApIHtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbnVtX2l0ZW1zOiBbdGhpcy5udW1faXRlbXMgKyAnfCcgKyB0aGlzLmN1cnJlbnRQYWdlXSxcbiAgICAgIHNlYXJjaDogWycnXSxcbiAgICAgIHR5cGVfaWRzOiBbJyddLFxuICAgICAgc29ydF9ieTogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKCk7XG4gICAgdGhpcy5saXN0ZW5Gb3JDaGFuZ2VzKCk7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICB9XG5cbiAgbGlzdGVuRm9yQ2hhbmdlcygpIHtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoY2hhbmdlcykgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmFwcGx5RmlsdGVyVG9Sb3V0ZSh0aGlzLmFjdGl2YXRlZFJvdXRlLCB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICB0aGlzLnJlbG9hZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKCkge1xuICAgIHRoaXMucm91dGVGaWx0ZXJzID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbHRlcnNGcm9tUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSwgdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWUpO1xuICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMucm91dGVGaWx0ZXJzKTtcblxuICAgIGlmICh0aGlzLnJvdXRlRmlsdGVycy50eXBlX2lkcykge1xuICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KCd0eXBlX2lkcycpIS5zZXRWYWx1ZSh0aGlzLnJvdXRlRmlsdGVycy50eXBlX2lkcy5zcGxpdCgnLCcpLm1hcChOdW1iZXIpKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkRGF0YSgpIHtcbiAgICBsZXQgZmlsdGVycyA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLnZhbHVlO1xuICAgIGZpbHRlcnMucGFnZSA9IHRoaXMucGFnZTtcbiAgICBmaWx0ZXJzLnBlcl9wYWdlID0gdGhpcy5wZXJQYWdlO1xuICAgIGZpbHRlcnMudHlwZV9pZHMgPSBmaWx0ZXJzLnR5cGVfaWRzLnRvU3RyaW5nKCk7XG4gICAgZmlsdGVycy5udW1faXRlbXMgPSB0aGlzLm51bV9pdGVtcyArICd8JyArIHRoaXMuY3VycmVudFBhZ2U7XG5cbiAgICBsZXQgcmVzID0gYXdhaXQgdGhpcy5wcm9kdWN0U2VydmljZS5nZXRQcm9kdWN0TWVhc3VyZXMoZmlsdGVycyk7XG5cbiAgICBpZiAodGhpcy5wcm9kdWN0TWVhc3VyZXMubGVuZ3RoIDwgMSkge1xuICAgICAgdGhpcy5wcm9kdWN0TWVhc3VyZXMgPSByZXMuZGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzLmRhdGEuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB0aGlzLnByb2R1Y3RNZWFzdXJlcy5wdXNoKGl0ZW0pKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLnByb2R1Y3RNZWFzdXJlcyk7XG4gICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzLnRvdGFsO1xuICAgIHRoaXMubGFzdFBhZ2UgPSByZXMubGFzdF9wYWdlIHx8IHRoaXMucGFnZTtcbiAgfVxuXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLnByb2R1Y3RNZWFzdXJlcyA9IFtdO1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIG1vZGlmeVByb2R1Y3RNZWFzdXJlKG1vZGVsPzogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdWN0TWVhc3VyZUZvcm1Db21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNjAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICBkZXRhaWxzOiBtb2RlbCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25TY3JvbGwoKSB7XG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA+IHRoaXMucHJvZHVjdE1lYXN1cmVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSArPSAxO1xuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzc2lnbkZpbHRlcihjb2x1bW46IGFueSwgZGlyZWN0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoY29sdW1uKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KCdzb3J0X2J5Jyk/LnNldFZhbHVlKGNvbHVtbiArICd8JyArIGRpcmVjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgc29ydENvbHVtbihldmVudDogYW55KSB7XG4gICAgdmFyIGRpcmVjdGlvbiA9IGV2ZW50LmRpcmVjdGlvbi50b1N0cmluZygpLnRvVXBwZXJDYXNlKCk7XG4gICAgdGhpcy5hc3NpZ25GaWx0ZXIoZXZlbnQuYWN0aXZlLCBkaXJlY3Rpb24pO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtbGlmZWN5Y2xlLWludGVyZmFjZVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWVtcHR5LWxpZmVjeWNsZS1tZXRob2RcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy9DYWxsZWQgb25jZSwgYmVmb3JlIHRoZSBpbnN0YW5jZSBpcyBkZXN0cm95ZWQuXG4gICAgLy9BZGQgJ2ltcGxlbWVudHMgT25EZXN0cm95JyB0byB0aGUgY2xhc3MuXG4gIH1cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICA8aDMgZnhMYXlvdXQ+XG4gICAgICA8c3BhbiBjbGFzcz1cIm10LTFcIj4gUHJvZHVjdCBNZWFzdXJlcyA8L3NwYW4+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwibWwtMlwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJtb2RpZnlQcm9kdWN0TWVhc3VyZSgpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICBQcm9kdWN0IE1lYXN1cmVcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvaDM+XG4gIDwvZGl2PlxuXG4gIDxkaXYgZnhMYXlvdXQ+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtR3JvdXBcIiBmeExheW91dCBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJJdGVtIE5hbWUsIERlc2NyaXB0aW9uLCBldGMuXCIgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoXCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9mb3JtPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWwtMlwiIGZ4RmxleD1cIjAgMSBjYWxjKDExLjExJSAtIDAuNXJlbSlcIj5cbiAgICAgIDxtYXQtbGFiZWw+Q29sdW1uczwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJkaXNwbGF5ZWRDb2x1bW5zXCIgbXVsdGlwbGUgbmFtZT1cImNvbHVtblwiPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbkRlZmluaXRpb25zXCIgW3ZhbHVlXT1cImNvbHVtbi5kZWZcIiBbZGlzYWJsZWRdPVwiIWNvbHVtbi5pc1Nob3dcIj5cbiAgICAgICAgICB7eyBjb2x1bW4/LmRlZiB9fTwvbWF0LW9wdGlvblxuICAgICAgICA+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPHRhYmxlXG4gICAgbWF0LXRhYmxlXG4gICAgI3RhYmxlXG4gICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4IHctMTAwIG10LTQgdGFibGUtaG92ZXJcIlxuICAgIGluZmluaXRlU2Nyb2xsXG4gICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiXG4gICAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIlxuICAgIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCJcbiAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiXG4gICAgaW5maW5pdGVTY3JvbGxDb250YWluZXI9XCJtYXQtc2lkZW5hdi1jb250ZW50XCJcbiAgICBtYXRTb3J0XG4gICAgKG1hdFNvcnRDaGFuZ2UpPVwic29ydENvbHVtbigkZXZlbnQpXCJcbiAgICBtYXRTb3J0RGlzYWJsZUNsZWFyPVwidHJ1ZVwiXG4gID5cbiAgICA8IS0tICMgQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiI1wiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4jPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGluZGV4XCI+e3sgaSArIDEgfX08L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBUaXRsZSBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJUaXRsZVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCBtYXQtc29ydC1oZWFkZXIgKm1hdEhlYWRlckNlbGxEZWY+VGl0bGU8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50LnRpdGxlIH19PC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRGVzY3JpcHRpb24gQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiRGVzY3JpcHRpb25cIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgbWF0LXNvcnQtaGVhZGVyICptYXRIZWFkZXJDZWxsRGVmPkRlc2NyaXB0aW9uPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudC5kZXNjcmlwdGlvbiB9fTwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEFjdGlvbnMgQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiQWN0aW9uc1wiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5BY3Rpb25zPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiIGZ4TGF5b3V0R2FwPVwiMXJlbVwiPlxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJtb2RpZnlQcm9kdWN0TWVhc3VyZShlbGVtZW50KVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
144
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.MatDialog }, { type: i3.FilterService }, { type: i4.ActivatedRoute }, { type: i5.MeasureService }] });
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tZWFzdXJlcy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3Byb2R1Y3QvcHJvZHVjdC1tZWFzdXJlcy1saXN0L3Byb2R1Y3QtbWVhc3VyZXMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3QtbWVhc3VyZXMtbGlzdC9wcm9kdWN0LW1lYXN1cmVzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXJHLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVE5RCxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE0QjtJQXdCN0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTNCSCxlQUFlLENBQVk7SUFFM0IsUUFBUSxDQUFVO0lBQ2xCLElBQUksR0FBVyxDQUFDLENBQUM7SUFDakIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNoQixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2YsWUFBWSxDQUFNO0lBQ2xCLGVBQWUsR0FBVSxFQUFFLENBQUM7SUFF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cmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHVjdC1tZWFzdXJlLWZvcm0vcHJvZHVjdC1tZWFzdXJlLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnLi4vcHJvZHVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IE1lYXN1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVhc3VyZS9tZWFzdXJlLnNlcnZpY2UnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LW1lYXN1cmUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1lYXN1cmVzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWVhc3VyZXNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGZpbHRlckZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBsYXN0UGFnZSE6IG51bWJlcjtcbiAgcHVibGljIHBhZ2U6IG51bWJlciA9IDE7XG4gIHB1YmxpYyBwZXJQYWdlOiBudW1iZXIgPSAyNTtcbiAgcHVibGljIHRvdGFsSXRlbXMgPSAwO1xuICBwdWJsaWMgY3VycmVudFBhZ2UgPSAxO1xuICBwdWJsaWMgbnVtX2l0ZW1zID0gMjU7XG4gIHB1YmxpYyByb3V0ZUZpbHRlcnM6IGFueTtcbiAgcHVibGljIHByb2R1Y3RNZWFzdXJlczogYW55W10gPSBbXTtcblxuICBjb2x1bW5EZWZpbml0aW9ucyA9IFtcbiAgICB7IGRlZjogJyMnLCBpc1Nob3c6IHRydWUgfSxcbiAgICB7IGRlZjogJ1RpdGxlJywgaXNTaG93OiB0cnVlIH0sXG4gICAgeyBkZWY6ICdEZXNjcmlwdGlvbicsIGlzU2hvdzogdHJ1ZSB9LFxuICAgIHsgZGVmOiAnQWN0aW9ucycsIGlzU2hvdzogdHJ1ZSB9LFxuICBdO1xuXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gWycjJywgJ1RpdGxlJywgJ0Rlc2NyaXB0aW9uJywgJ0FjdGlvbnMnXTtcblxuICBwdWJsaWMgZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIG1lYXN1cmVTZXJ2aWNlOiBNZWFzdXJlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbnVtX2l0ZW1zOiBbdGhpcy5udW1faXRlbXMgKyAnfCcgKyB0aGlzLmN1cnJlbnRQYWdlXSxcbiAgICAgIHNlYXJjaDogWycnXSxcbiAgICAgIHR5cGVfaWRzOiBbJyddLFxuICAgICAgc29ydF9ieTogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKCk7XG4gICAgdGhpcy5saXN0ZW5Gb3JDaGFuZ2VzKCk7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICB9XG5cbiAgbGlzdGVuRm9yQ2hhbmdlcygpIHtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoY2hhbmdlcykgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmFwcGx5RmlsdGVyVG9Sb3V0ZSh0aGlzLmFjdGl2YXRlZFJvdXRlLCB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICB0aGlzLnJlbG9hZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKCkge1xuICAgIHRoaXMucm91dGVGaWx0ZXJzID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbHRlcnNGcm9tUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSwgdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWUpO1xuICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMucm91dGVGaWx0ZXJzKTtcblxuICAgIGlmICh0aGlzLnJvdXRlRmlsdGVycy50eXBlX2lkcykge1xuICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KCd0eXBlX2lkcycpIS5zZXRWYWx1ZSh0aGlzLnJvdXRlRmlsdGVycy50eXBlX2lkcy5zcGxpdCgnLCcpLm1hcChOdW1iZXIpKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkRGF0YSgpIHtcbiAgICBsZXQgZmlsdGVycyA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLnZhbHVlO1xuICAgIGZpbHRlcnMucGFnZSA9IHRoaXMucGFnZTtcbiAgICBmaWx0ZXJzLnBlcl9wYWdlID0gdGhpcy5wZXJQYWdlO1xuICAgIGZpbHRlcnMudHlwZV9pZHMgPSBmaWx0ZXJzLnR5cGVfaWRzLnRvU3RyaW5nKCk7XG4gICAgZmlsdGVycy5udW1faXRlbXMgPSB0aGlzLm51bV9pdGVtcyArICd8JyArIHRoaXMuY3VycmVudFBhZ2U7XG5cbiAgICBsZXQgcmVzID0gYXdhaXQgdGhpcy5tZWFzdXJlU2VydmljZS5pbmRleChmaWx0ZXJzKS50b1Byb21pc2UoKTtcblxuICAgIGlmICh0aGlzLnByb2R1Y3RNZWFzdXJlcy5sZW5ndGggPCAxKSB7XG4gICAgICB0aGlzLnByb2R1Y3RNZWFzdXJlcyA9IHJlcy5kYXRhO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXMuZGF0YS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHRoaXMucHJvZHVjdE1lYXN1cmVzLnB1c2goaXRlbSkpO1xuICAgIH1cbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMucHJvZHVjdE1lYXN1cmVzKTtcbiAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXMudG90YWw7XG4gICAgdGhpcy5sYXN0UGFnZSA9IHJlcy5sYXN0X3BhZ2UgfHwgdGhpcy5wYWdlO1xuICB9XG5cbiAgcmVsb2FkKCkge1xuICAgIHRoaXMucHJvZHVjdE1lYXN1cmVzID0gW107XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICB9XG5cbiAgbW9kaWZ5UHJvZHVjdE1lYXN1cmUobW9kZWw/OiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFByb2R1Y3RNZWFzdXJlRm9ybUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc2MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGRldGFpbHM6IG1vZGVsLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvblNjcm9sbCgpIHtcbiAgICBpZiAodGhpcy50b3RhbEl0ZW1zID4gdGhpcy5wcm9kdWN0TWVhc3VyZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlICs9IDE7XG4gICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgYXNzaWduRmlsdGVyKGNvbHVtbjogYW55LCBkaXJlY3Rpb246IHN0cmluZykge1xuICAgIGlmIChjb2x1bW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoJ3NvcnRfYnknKT8uc2V0VmFsdWUoY29sdW1uICsgJ3wnICsgZGlyZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBzb3J0Q29sdW1uKGV2ZW50OiBhbnkpIHtcbiAgICB2YXIgZGlyZWN0aW9uID0gZXZlbnQuZGlyZWN0aW9uLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKTtcbiAgICB0aGlzLmFzc2lnbkZpbHRlcihldmVudC5hY3RpdmUsIGRpcmVjdGlvbik7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1saWZlY3ljbGUtaW50ZXJmYWNlXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tZW1wdHktbGlmZWN5Y2xlLW1ldGhvZFxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvL0NhbGxlZCBvbmNlLCBiZWZvcmUgdGhlIGluc3RhbmNlIGlzIGRlc3Ryb3llZC5cbiAgICAvL0FkZCAnaW1wbGVtZW50cyBPbkRlc3Ryb3knIHRvIHRoZSBjbGFzcy5cbiAgfVxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxuICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgIDxoMyBmeExheW91dD5cbiAgICAgIDxzcGFuIGNsYXNzPVwibXQtMVwiPiBQcm9kdWN0IE1lYXN1cmVzIDwvc3Bhbj5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJtbC0yXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGlmeVByb2R1Y3RNZWFzdXJlKClcIj5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgIFByb2R1Y3QgTWVhc3VyZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9oMz5cbiAgPC9kaXY+XG5cbiAgPGRpdiBmeExheW91dD5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1Hcm91cFwiIGZ4TGF5b3V0IGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkl0ZW0gTmFtZSwgRGVzY3JpcHRpb24sIGV0Yy5cIiBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtbC0yXCIgZnhGbGV4PVwiMCAxIGNhbGMoMTEuMTElIC0gMC41cmVtKVwiPlxuICAgICAgPG1hdC1sYWJlbD5Db2x1bW5zPC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cImRpc3BsYXllZENvbHVtbnNcIiBtdWx0aXBsZSBuYW1lPVwiY29sdW1uXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uRGVmaW5pdGlvbnNcIiBbdmFsdWVdPVwiY29sdW1uLmRlZlwiIFtkaXNhYmxlZF09XCIhY29sdW1uLmlzU2hvd1wiPlxuICAgICAgICAgIHt7IGNvbHVtbj8uZGVmIH19PC9tYXQtb3B0aW9uXG4gICAgICAgID5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cblxuICA8dGFibGVcbiAgICBtYXQtdGFibGVcbiAgICAjdGFibGVcbiAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejggdy0xMDAgbXQtNCB0YWJsZS1ob3ZlclwiXG4gICAgaW5maW5pdGVTY3JvbGxcbiAgICBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIyXCJcbiAgICBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiXG4gICAgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIlxuICAgIFtmcm9tUm9vdF09XCJ0cnVlXCJcbiAgICBpbmZpbml0ZVNjcm9sbENvbnRhaW5lcj1cIm1hdC1zaWRlbmF2LWNvbnRlbnRcIlxuICAgIG1hdFNvcnRcbiAgICAobWF0U29ydENoYW5nZSk9XCJzb3J0Q29sdW1uKCRldmVudClcIlxuICAgIG1hdFNvcnREaXNhYmxlQ2xlYXI9XCJ0cnVlXCJcbiAgPlxuICAgIDwhLS0gIyBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCIjXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiM8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gaW5kZXhcIj57eyBpICsgMSB9fTwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIFRpdGxlIENvbHVtbiAtLT5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIlRpdGxlXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsIG1hdC1zb3J0LWhlYWRlciAqbWF0SGVhZGVyQ2VsbERlZj5UaXRsZTwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQudGl0bGUgfX08L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBEZXNjcmlwdGlvbiBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJEZXNjcmlwdGlvblwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCBtYXQtc29ydC1oZWFkZXIgKm1hdEhlYWRlckNlbGxEZWY+RGVzY3JpcHRpb248L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50LmRlc2NyaXB0aW9uIH19PC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJBY3Rpb25zXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkFjdGlvbnM8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCIgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm1vZGlmeVByb2R1Y3RNZWFzdXJlKGVsZW1lbnQpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cbiAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
@@ -4,14 +4,14 @@ import { ChartType, GoogleChartsModule } from 'angular-google-charts';
4
4
  import { MatProgressBar } from '@angular/material/progress-bar';
5
5
  import { NgIf } from '@angular/common';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../product.service";
7
+ import * as i1 from "../product-summary.service";
8
8
  import * as i2 from "angular-google-charts";
9
9
  export class ProductSummaryChartComponent {
10
- productService;
10
+ productSummaryService;
11
11
  height = 400;
12
12
  title = 'Product Summary';
13
- constructor(productService) {
14
- this.productService = productService;
13
+ constructor(productSummaryService) {
14
+ this.productSummaryService = productSummaryService;
15
15
  }
16
16
  chart = {
17
17
  title: 'Pie Chart',
@@ -31,7 +31,7 @@ export class ProductSummaryChartComponent {
31
31
  group_by: 'category_id',
32
32
  };
33
33
  this.isLoading = true;
34
- this.productService.summary(params).subscribe({
34
+ this.productSummaryService.index(params).subscribe({
35
35
  next: (response) => {
36
36
  let data = [];
37
37
  response?.products_aggregated?.forEach((item) => {
@@ -43,15 +43,15 @@ export class ProductSummaryChartComponent {
43
43
  error: () => (this.isLoading = false),
44
44
  });
45
45
  }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductSummaryChartComponent, deps: [{ token: i1.ProductService }], target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductSummaryChartComponent, deps: [{ token: i1.ProductSummaryService }], target: i0.ɵɵFactoryTarget.Component });
47
47
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProductSummaryChartComponent, isStandalone: true, selector: "app-product-summary-chart", inputs: { height: "height", title: "title" }, ngImport: i0, template: "<mat-card>\n <mat-card-content>\n <h3>{{ title }}</h3>\n </mat-card-content>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n <mat-card-content *ngIf=\"chart.data?.length > 0\">\n <google-chart\n class=\"w-100\"\n [height]=\"height\"\n [type]=\"chart.type\"\n [data]=\"chart.data\"\n [columns]=\"chart.columns\"\n [options]=\"chart.options\"\n >\n </google-chart>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: GoogleChartsModule }, { kind: "component", type: i2.GoogleChartComponent, selector: "google-chart", inputs: ["type", "data", "columns", "title", "width", "height", "options", "formatters", "dynamicResize"], outputs: ["ready", "error", "select", "mouseover", "mouseleave"], exportAs: ["googleChart"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], preserveWhitespaces: true });
48
48
  }
49
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductSummaryChartComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{ selector: 'app-product-summary-chart', standalone: true, imports: [MatCard, MatCardContent, GoogleChartsModule, MatProgressBar, NgIf], template: "<mat-card>\n <mat-card-content>\n <h3>{{ title }}</h3>\n </mat-card-content>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n <mat-card-content *ngIf=\"chart.data?.length > 0\">\n <google-chart\n class=\"w-100\"\n [height]=\"height\"\n [type]=\"chart.type\"\n [data]=\"chart.data\"\n [columns]=\"chart.columns\"\n [options]=\"chart.options\"\n >\n </google-chart>\n </mat-card-content>\n</mat-card>\n" }]
52
- }], ctorParameters: () => [{ type: i1.ProductService }], propDecorators: { height: [{
52
+ }], ctorParameters: () => [{ type: i1.ProductSummaryService }], propDecorators: { height: [{
53
53
  type: Input
54
54
  }], title: [{
55
55
  type: Input
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zdW1tYXJ5LWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3Byb2R1Y3QvcHJvZHVjdC1zdW1tYXJ5LWNoYXJ0L3Byb2R1Y3Qtc3VtbWFyeS1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3Qtc3VtbWFyeS1jaGFydC9wcm9kdWN0LXN1bW1hcnktY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVV2QyxNQUFNLE9BQU8sNEJBQTRCO0lBSW5CO0lBSFgsTUFBTSxHQUFXLEdBQUcsQ0FBQztJQUNyQixLQUFLLEdBQUcsaUJBQWlCLENBQUM7SUFFbkMsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQUcsQ0FBQztJQUV0RCxLQUFLLEdBQVE7UUFDWCxLQUFLLEVBQUUsV0FBVztRQUNsQixJQUFJLEVBQUUsU0FBUyxDQUFDLFFBQVE7UUFDeEIsSUFBSSxFQUFFLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDUCxZQUFZLEVBQUUsT0FBTztTQUN0QjtLQUNGLENBQUM7SUFDRixTQUFTLEdBQVksS0FBSyxDQUFDO0lBRTNCLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE1BQU0sR0FBUTtZQUNsQixPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsRUFBRSxhQUFhO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUMsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksSUFBSSxHQUFVLEVBQUUsQ0FBQztnQkFDckIsUUFBUSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO29CQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDaEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN6QixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7U0FDdEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FyQ1UsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsbUlDZHpDLHFlQWlCQSwwRERQWSxPQUFPLG9HQUFFLGNBQWMsNERBQUUsa0JBQWtCLHVUQUFFLGNBQWMseUtBQUUsSUFBSTs7NEZBSWhFLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSwyQkFBMkIsY0FDekIsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDO21GQUtuRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDYXJkLCBNYXRDYXJkQ29udGVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgQ2hhcnRUeXBlLCBHb29nbGVDaGFydHNNb2R1bGUgfSBmcm9tICdhbmd1bGFyLWdvb2dsZS1jaGFydHMnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQcm9kdWN0U2VydmljZSB9IGZyb20gJy4uL3Byb2R1Y3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LXN1bW1hcnktY2hhcnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0Q2FyZCwgTWF0Q2FyZENvbnRlbnQsIEdvb2dsZUNoYXJ0c01vZHVsZSwgTWF0UHJvZ3Jlc3NCYXIsIE5nSWZdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1zdW1tYXJ5LWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3Qtc3VtbWFyeS1jaGFydC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RTdW1tYXJ5Q2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlciA9IDQwMDtcbiAgQElucHV0KCkgdGl0bGUgPSAnUHJvZHVjdCBTdW1tYXJ5JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0U2VydmljZSkge31cblxuICBjaGFydDogYW55ID0ge1xuICAgIHRpdGxlOiAnUGllIENoYXJ0JyxcbiAgICB0eXBlOiBDaGFydFR5cGUuUGllQ2hhcnQsXG4gICAgZGF0YTogW10sXG4gICAgb3B0aW9uczoge1xuICAgICAgcGllU2xpY2VUZXh0OiAndmFsdWUnLFxuICAgIH0sXG4gIH07XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIGxvYWREYXRhKCkge1xuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xuICAgICAgaW5jbHVkZTogJ3Byb2R1Y3RzX2FnZ3JlZ2F0ZWQnLFxuICAgICAgZ3JvdXBfYnk6ICdjYXRlZ29yeV9pZCcsXG4gICAgfTtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5zdW1tYXJ5KHBhcmFtcykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGxldCBkYXRhOiBhbnlbXSA9IFtdO1xuICAgICAgICByZXNwb25zZT8ucHJvZHVjdHNfYWdncmVnYXRlZD8uZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgZGF0YS5wdXNoKFtpdGVtPy50aXRsZSwgaXRlbT8ucHJvZHVjdF9jb3VudF0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGFydC5kYXRhID0gZGF0YTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gKHRoaXMuaXNMb2FkaW5nID0gZmFsc2UpLFxuICAgIH0pO1xuICB9XG59XG4iLCI8bWF0LWNhcmQ+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxoMz57eyB0aXRsZSB9fTwvaDM+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzTG9hZGluZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgKm5nSWY9XCJjaGFydC5kYXRhPy5sZW5ndGggPiAwXCI+XG4gICAgPGdvb2dsZS1jaGFydFxuICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICBbaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgICBbdHlwZV09XCJjaGFydC50eXBlXCJcbiAgICAgIFtkYXRhXT1cImNoYXJ0LmRhdGFcIlxuICAgICAgW2NvbHVtbnNdPVwiY2hhcnQuY29sdW1uc1wiXG4gICAgICBbb3B0aW9uc109XCJjaGFydC5vcHRpb25zXCJcbiAgICA+XG4gICAgPC9nb29nbGUtY2hhcnQ+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zdW1tYXJ5LWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3Byb2R1Y3QvcHJvZHVjdC1zdW1tYXJ5LWNoYXJ0L3Byb2R1Y3Qtc3VtbWFyeS1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3Qtc3VtbWFyeS1jaGFydC9wcm9kdWN0LXN1bW1hcnktY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVV2QyxNQUFNLE9BQU8sNEJBQTRCO0lBSW5CO0lBSFgsTUFBTSxHQUFXLEdBQUcsQ0FBQztJQUNyQixLQUFLLEdBQUcsaUJBQWlCLENBQUM7SUFFbkMsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFBRyxDQUFDO0lBRXBFLEtBQUssR0FBUTtRQUNYLEtBQUssRUFBRSxXQUFXO1FBQ2xCLElBQUksRUFBRSxTQUFTLENBQUMsUUFBUTtRQUN4QixJQUFJLEVBQUUsRUFBRTtRQUNSLE9BQU8sRUFBRTtZQUNQLFlBQVksRUFBRSxPQUFPO1NBQ3RCO0tBQ0YsQ0FBQztJQUNGLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFFM0IsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sTUFBTSxHQUFRO1lBQ2xCLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsUUFBUSxFQUFFLGFBQWE7U0FDeEIsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2pELElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLElBQUksR0FBVSxFQUFFLENBQUM7Z0JBQ3JCLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQ3RDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBckNVLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLG1JQ2R6QyxxZUFpQkEsMEREUFksT0FBTyxvR0FBRSxjQUFjLDREQUFFLGtCQUFrQix1VEFBRSxjQUFjLHlLQUFFLElBQUk7OzRGQUloRSw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBQ3pCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQzswRkFLbkUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FyZCwgTWF0Q2FyZENvbnRlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IENoYXJ0VHlwZSwgR29vZ2xlQ2hhcnRzTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1nb29nbGUtY2hhcnRzJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUHJvZHVjdFN1bW1hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vcHJvZHVjdC1zdW1tYXJ5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1zdW1tYXJ5LWNoYXJ0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdENhcmQsIE1hdENhcmRDb250ZW50LCBHb29nbGVDaGFydHNNb2R1bGUsIE1hdFByb2dyZXNzQmFyLCBOZ0lmXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3Qtc3VtbWFyeS1jaGFydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LXN1bW1hcnktY2hhcnQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0U3VtbWFyeUNoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXIgPSA0MDA7XG4gIEBJbnB1dCgpIHRpdGxlID0gJ1Byb2R1Y3QgU3VtbWFyeSc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9kdWN0U3VtbWFyeVNlcnZpY2U6IFByb2R1Y3RTdW1tYXJ5U2VydmljZSkge31cblxuICBjaGFydDogYW55ID0ge1xuICAgIHRpdGxlOiAnUGllIENoYXJ0JyxcbiAgICB0eXBlOiBDaGFydFR5cGUuUGllQ2hhcnQsXG4gICAgZGF0YTogW10sXG4gICAgb3B0aW9uczoge1xuICAgICAgcGllU2xpY2VUZXh0OiAndmFsdWUnLFxuICAgIH0sXG4gIH07XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIGxvYWREYXRhKCkge1xuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xuICAgICAgaW5jbHVkZTogJ3Byb2R1Y3RzX2FnZ3JlZ2F0ZWQnLFxuICAgICAgZ3JvdXBfYnk6ICdjYXRlZ29yeV9pZCcsXG4gICAgfTtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5wcm9kdWN0U3VtbWFyeVNlcnZpY2UuaW5kZXgocGFyYW1zKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IGRhdGE6IGFueVtdID0gW107XG4gICAgICAgIHJlc3BvbnNlPy5wcm9kdWN0c19hZ2dyZWdhdGVkPy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICBkYXRhLnB1c2goW2l0ZW0/LnRpdGxlLCBpdGVtPy5wcm9kdWN0X2NvdW50XSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYXJ0LmRhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiAodGhpcy5pc0xvYWRpbmcgPSBmYWxzZSksXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZD5cbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPGgzPnt7IHRpdGxlIH19PC9oMz5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICA8bWF0LWNhcmQtY29udGVudCAqbmdJZj1cImNoYXJ0LmRhdGE/Lmxlbmd0aCA+IDBcIj5cbiAgICA8Z29vZ2xlLWNoYXJ0XG4gICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcbiAgICAgIFt0eXBlXT1cImNoYXJ0LnR5cGVcIlxuICAgICAgW2RhdGFdPVwiY2hhcnQuZGF0YVwiXG4gICAgICBbY29sdW1uc109XCJjaGFydC5jb2x1bW5zXCJcbiAgICAgIFtvcHRpb25zXT1cImNoYXJ0Lm9wdGlvbnNcIlxuICAgID5cbiAgICA8L2dvb2dsZS1jaGFydD5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TechlifyServiceBaseClass } from 'ngx-techlify-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ngx-techlify-core";
5
+ export class ProductSummaryService extends TechlifyServiceBaseClass {
6
+ httpService;
7
+ constructor(httpService) {
8
+ super(httpService, 'products-summary');
9
+ this.httpService = httpService;
10
+ }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductSummaryService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
12
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductSummaryService, providedIn: 'root' });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductSummaryService, decorators: [{
15
+ type: Injectable,
16
+ args: [{
17
+ providedIn: 'root'
18
+ }]
19
+ }], ctorParameters: () => [{ type: i1.HttpService }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zdW1tYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3Qtc3VtbWFyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFlLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUsxRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsd0JBQXdCO0lBRTlDO0lBQW5CLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUR0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUUzQyxDQUFDO3dHQUpVLHFCQUFxQjs0R0FBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSwgVGVjaGxpZnlTZXJ2aWNlQmFzZUNsYXNzIH0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0U3VtbWFyeVNlcnZpY2UgZXh0ZW5kcyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3Mge1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwU2VydmljZTogSHR0cFNlcnZpY2UpIHtcbiAgICBzdXBlcihodHRwU2VydmljZSwgJ3Byb2R1Y3RzLXN1bW1hcnknKTtcbiAgfVxufVxuIl19
@@ -3,41 +3,12 @@ import { TechlifyServiceBaseClass } from 'ngx-techlify-core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "ngx-techlify-core";
5
5
  export class ProductService extends TechlifyServiceBaseClass {
6
- dataManager;
7
6
  httpService;
8
- constructor(dataManager, httpService) {
7
+ constructor(httpService) {
9
8
  super(httpService, 'products');
10
- this.dataManager = dataManager;
11
9
  this.httpService = httpService;
12
10
  }
13
- getProducts(filters) {
14
- return this.dataManager.GET(`api/products`, filters);
15
- }
16
- getProduct(id) {
17
- return this.dataManager.GET(`api/products/${id}`);
18
- }
19
- createProduct(model) {
20
- return this.dataManager.POST(`api/products`, model);
21
- }
22
- updateProducts(model) {
23
- return this.dataManager.PUT(`api/products/${model.id}`, model);
24
- }
25
- deleteProduct(id) {
26
- return this.dataManager.DELETE(`api/products/${id}`);
27
- }
28
- getProductMeasures(filters) {
29
- return this.dataManager.GET(`api/product-measures`, filters);
30
- }
31
- createProductMeasure(model) {
32
- return this.dataManager.POST(`api/product-measures`, model);
33
- }
34
- updateProductMeasure(model) {
35
- return this.dataManager.PUT(`api/product-measures/${model.id}`, model);
36
- }
37
- summary(params) {
38
- return this.httpService.get('api/products-summary', { params });
39
- }
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductService, deps: [{ token: i1.DataManager }, { token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
41
12
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductService, providedIn: 'root' });
42
13
  }
43
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductService, decorators: [{
@@ -45,5 +16,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
45
16
  args: [{
46
17
  providedIn: 'root',
47
18
  }]
48
- }], ctorParameters: () => [{ type: i1.DataManager }, { type: i1.HttpService }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vcHJvZHVjdC9wcm9kdWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQTRCLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU12RixNQUFNLE9BQU8sY0FBZSxTQUFRLHdCQUF3QjtJQUN0QztJQUFpQztJQUFyRCxZQUFvQixXQUF3QixFQUFTLFdBQXdCO1FBQzNFLEtBQUssQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFEYixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRTdFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsYUFBYSxDQUFDLEVBQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBYTtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO3dHQXRDVSxjQUFjOzRHQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFNYW5hZ2VyLCBIdHRwU2VydmljZSwgVGVjaGxpZnlTZXJ2aWNlQmFzZUNsYXNzIH0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdFNlcnZpY2UgZXh0ZW5kcyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3Mge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFNYW5hZ2VyOiBEYXRhTWFuYWdlciwgcHVibGljIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSkge1xuICAgIHN1cGVyKGh0dHBTZXJ2aWNlLCAncHJvZHVjdHMnKTtcbiAgfVxuXG4gIGdldFByb2R1Y3RzKGZpbHRlcnM/OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhTWFuYWdlci5HRVQoYGFwaS9wcm9kdWN0c2AsIGZpbHRlcnMpO1xuICB9XG5cbiAgZ2V0UHJvZHVjdChpZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YU1hbmFnZXIuR0VUKGBhcGkvcHJvZHVjdHMvJHtpZH1gKTtcbiAgfVxuXG4gIGNyZWF0ZVByb2R1Y3QobW9kZWw6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmRhdGFNYW5hZ2VyLlBPU1QoYGFwaS9wcm9kdWN0c2AsIG1vZGVsKTtcbiAgfVxuXG4gIHVwZGF0ZVByb2R1Y3RzKG1vZGVsOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhTWFuYWdlci5QVVQoYGFwaS9wcm9kdWN0cy8ke21vZGVsLmlkfWAsIG1vZGVsKTtcbiAgfVxuICBkZWxldGVQcm9kdWN0KGlkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhTWFuYWdlci5ERUxFVEUoYGFwaS9wcm9kdWN0cy8ke2lkfWApO1xuICB9XG5cbiAgZ2V0UHJvZHVjdE1lYXN1cmVzKGZpbHRlcnM/OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhTWFuYWdlci5HRVQoYGFwaS9wcm9kdWN0LW1lYXN1cmVzYCwgZmlsdGVycyk7XG4gIH1cblxuICBjcmVhdGVQcm9kdWN0TWVhc3VyZShtb2RlbDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YU1hbmFnZXIuUE9TVChgYXBpL3Byb2R1Y3QtbWVhc3VyZXNgLCBtb2RlbCk7XG4gIH1cblxuICB1cGRhdGVQcm9kdWN0TWVhc3VyZShtb2RlbDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YU1hbmFnZXIuUFVUKGBhcGkvcHJvZHVjdC1tZWFzdXJlcy8ke21vZGVsLmlkfWAsIG1vZGVsKTtcbiAgfVxuXG4gIHN1bW1hcnkocGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQoJ2FwaS9wcm9kdWN0cy1zdW1tYXJ5JywgeyBwYXJhbXMgfSk7XG4gIH1cbn1cbiJdfQ==
19
+ }], ctorParameters: () => [{ type: i1.HttpService }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vcHJvZHVjdC9wcm9kdWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxjQUFlLFNBQVEsd0JBQXdCO0lBQ3ZDO0lBQW5CLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFEZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUUzQyxDQUFDO3dHQUhVLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UsIFRlY2hsaWZ5U2VydmljZUJhc2VDbGFzcyB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RTZXJ2aWNlIGV4dGVuZHMgVGVjaGxpZnlTZXJ2aWNlQmFzZUNsYXNzIHtcbiAgY29uc3RydWN0b3IocHVibGljIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSkge1xuICAgIHN1cGVyKGh0dHBTZXJ2aWNlLCAncHJvZHVjdHMnKTtcbiAgfVxufVxuIl19
@@ -40,7 +40,7 @@ export class StockIssueImportPageComponent {
40
40
  type: 'stock-issue',
41
41
  apiUrl: 'api/import-histories',
42
42
  },
43
- viewRouterLink: '/stock-issuances',
43
+ viewRouterLink: '/inventory/stock-issuances',
44
44
  };
45
45
  constructor() { }
46
46
  ngOnInit() {
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
56
56
  ImportCsvModule
57
57
  ], template: "<app-import-csv [config]=\"importConfig\"></app-import-csv>" }]
58
58
  }], ctorParameters: () => [] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWUtaW1wb3J0LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWFuY2VzL3N0b2NrLWlzc3VlLWltcG9ydC1wYWdlL3N0b2NrLWlzc3VlLWltcG9ydC1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLWlzc3VhbmNlcy9zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZS9zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBYXJFLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFBWSxHQUFvQjtRQUM5QixNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLEtBQUssRUFBRSxjQUFjO1FBQ3JCLFVBQVUsRUFBRSxhQUFhO1FBQ3pCLFVBQVUsRUFBRTtZQUNWO2dCQUNFLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsU0FBUztnQkFDaEIsSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNEO2dCQUNFLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxNQUFNO2dCQUNiLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsVUFBVTtnQkFDakIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsYUFBYTtnQkFDcEIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLElBQUksRUFBRSxNQUFNO2FBQ2I7U0FDRjtRQUNELFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsSUFBSSxFQUFFLDJDQUEyQztTQUNsRDtRQUNELGFBQWEsRUFBRTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsTUFBTSxFQUFFLHNCQUFzQjtTQUMvQjtRQUNELGNBQWMsRUFBRSxrQkFBa0I7S0FDbkMsQ0FBQztJQUVGLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO3dHQTNDVSw2QkFBNkI7NEZBQTdCLDZCQUE2Qix1RkNoQjFDLDZEQUF5RCx5RERXckQsWUFBWSw4QkFDWixjQUFjLDhCQUNkLGVBQWU7OzRGQUdOLDZCQUE2QjtrQkFYekMsU0FBUzsrQkFDRSw2QkFBNkIsY0FHM0IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgSW1wb3J0Q3N2Q29uZmlnLCBJbXBvcnRDc3ZNb2R1bGUgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0b2NrLWlzc3VlLWltcG9ydC1wYWdlLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBJbXBvcnRDc3ZNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0lzc3VlSW1wb3J0UGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgaW1wb3J0Q29uZmlnOiBJbXBvcnRDc3ZDb25maWcgPSB7XG4gICAgYXBpVXJsOiAnYXBpL3N0b2NrLWlzc3Vlcy1pbXBvcnQnLFxuICAgIHRpdGxlOiAnU3RvY2sgSXNzdWVzJyxcbiAgICBpbXBvcnRUeXBlOiAnc3RvY2staXNzdWUnLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdQcm9kdWN0JyxcbiAgICAgICAgdmFsdWU6ICdwcm9kdWN0JyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdEYXRlJyxcbiAgICAgICAgdmFsdWU6ICdkYXRlJyxcbiAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdRdWFudGl0eScsXG4gICAgICAgIHZhbHVlOiAncXVhbnRpdHknLFxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnUGFydGljdWxhcnMnLFxuICAgICAgICB2YWx1ZTogJ3BhcnRpY3VsYXJzJyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHNhbXBsZUZpbGU6IHtcbiAgICAgIG5hbWU6ICdTdG9jayBJc3N1ZSBTYW1wbGUnLFxuICAgICAgcGF0aDogJ2Fzc2V0cy9zdG9jay1pc3N1ZS9zdG9jay1pc3N1ZS1zYW1wbGUuY3N2JyxcbiAgICB9LFxuICAgIGltcG9ydEhpc3Rvcnk6IHtcbiAgICAgIGlzRW5hYmxlZDogdHJ1ZSxcbiAgICAgIHR5cGU6ICdzdG9jay1pc3N1ZScsXG4gICAgICBhcGlVcmw6ICdhcGkvaW1wb3J0LWhpc3RvcmllcycsXG4gICAgfSxcbiAgICB2aWV3Um91dGVyTGluazogJy9zdG9jay1pc3N1YW5jZXMnLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIiwiPGFwcC1pbXBvcnQtY3N2IFtjb25maWddPVwiaW1wb3J0Q29uZmlnXCI+PC9hcHAtaW1wb3J0LWNzdj4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWUtaW1wb3J0LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWFuY2VzL3N0b2NrLWlzc3VlLWltcG9ydC1wYWdlL3N0b2NrLWlzc3VlLWltcG9ydC1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLWlzc3VhbmNlcy9zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZS9zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBYXJFLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFBWSxHQUFvQjtRQUM5QixNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLEtBQUssRUFBRSxjQUFjO1FBQ3JCLFVBQVUsRUFBRSxhQUFhO1FBQ3pCLFVBQVUsRUFBRTtZQUNWO2dCQUNFLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsU0FBUztnQkFDaEIsSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNEO2dCQUNFLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxNQUFNO2dCQUNiLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsVUFBVTtnQkFDakIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsYUFBYTtnQkFDcEIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLElBQUksRUFBRSxNQUFNO2FBQ2I7U0FDRjtRQUNELFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsSUFBSSxFQUFFLDJDQUEyQztTQUNsRDtRQUNELGFBQWEsRUFBRTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsTUFBTSxFQUFFLHNCQUFzQjtTQUMvQjtRQUNELGNBQWMsRUFBRSw0QkFBNEI7S0FDN0MsQ0FBQztJQUVGLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO3dHQTNDVSw2QkFBNkI7NEZBQTdCLDZCQUE2Qix1RkNoQjFDLDZEQUF5RCx5RERXckQsWUFBWSw4QkFDWixjQUFjLDhCQUNkLGVBQWU7OzRGQUdOLDZCQUE2QjtrQkFYekMsU0FBUzsrQkFDRSw2QkFBNkIsY0FHM0IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgSW1wb3J0Q3N2Q29uZmlnLCBJbXBvcnRDc3ZNb2R1bGUgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0b2NrLWlzc3VlLWltcG9ydC1wYWdlLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBJbXBvcnRDc3ZNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0lzc3VlSW1wb3J0UGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgaW1wb3J0Q29uZmlnOiBJbXBvcnRDc3ZDb25maWcgPSB7XG4gICAgYXBpVXJsOiAnYXBpL3N0b2NrLWlzc3Vlcy1pbXBvcnQnLFxuICAgIHRpdGxlOiAnU3RvY2sgSXNzdWVzJyxcbiAgICBpbXBvcnRUeXBlOiAnc3RvY2staXNzdWUnLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdQcm9kdWN0JyxcbiAgICAgICAgdmFsdWU6ICdwcm9kdWN0JyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdEYXRlJyxcbiAgICAgICAgdmFsdWU6ICdkYXRlJyxcbiAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdRdWFudGl0eScsXG4gICAgICAgIHZhbHVlOiAncXVhbnRpdHknLFxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnUGFydGljdWxhcnMnLFxuICAgICAgICB2YWx1ZTogJ3BhcnRpY3VsYXJzJyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHNhbXBsZUZpbGU6IHtcbiAgICAgIG5hbWU6ICdTdG9jayBJc3N1ZSBTYW1wbGUnLFxuICAgICAgcGF0aDogJ2Fzc2V0cy9zdG9jay1pc3N1ZS9zdG9jay1pc3N1ZS1zYW1wbGUuY3N2JyxcbiAgICB9LFxuICAgIGltcG9ydEhpc3Rvcnk6IHtcbiAgICAgIGlzRW5hYmxlZDogdHJ1ZSxcbiAgICAgIHR5cGU6ICdzdG9jay1pc3N1ZScsXG4gICAgICBhcGlVcmw6ICdhcGkvaW1wb3J0LWhpc3RvcmllcycsXG4gICAgfSxcbiAgICB2aWV3Um91dGVyTGluazogJy9pbnZlbnRvcnkvc3RvY2staXNzdWFuY2VzJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbn1cbiIsIjxhcHAtaW1wb3J0LWNzdiBbY29uZmlnXT1cImltcG9ydENvbmZpZ1wiPjwvYXBwLWltcG9ydC1jc3Y+Il19
@@ -0,0 +1,74 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component } from '@angular/core';
3
+ import { MaterialModule } from '../../material.module';
4
+ import { ImportCsvModule } from 'ngx-techlify-core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "ngx-techlify-core";
7
+ export class StockReceiptImportPageComponent {
8
+ importConfig = {
9
+ apiUrl: 'api/stock-receipts-import',
10
+ title: 'Stock Receipts',
11
+ importType: 'stock-receipt',
12
+ properties: [
13
+ {
14
+ label: 'Product',
15
+ value: 'product',
16
+ type: 'text',
17
+ },
18
+ {
19
+ label: 'Supplier',
20
+ value: 'supplier',
21
+ type: 'text',
22
+ },
23
+ {
24
+ label: 'Date',
25
+ value: 'date',
26
+ type: 'date',
27
+ },
28
+ {
29
+ label: 'Quantity',
30
+ value: 'quantity',
31
+ type: 'number',
32
+ },
33
+ {
34
+ label: 'Purchase Price',
35
+ value: 'purchase_price',
36
+ type: 'number',
37
+ },
38
+ {
39
+ label: 'Amount',
40
+ value: 'amount',
41
+ type: 'number',
42
+ },
43
+ {
44
+ label: 'Particulars',
45
+ value: 'particulars',
46
+ type: 'text',
47
+ },
48
+ ],
49
+ sampleFile: {
50
+ name: 'Stock Receipt Sample',
51
+ path: 'assets/stock-receipt/stock-receipt-sample.csv',
52
+ },
53
+ importHistory: {
54
+ isEnabled: true,
55
+ type: 'stock-receipt',
56
+ apiUrl: 'api/import-histories',
57
+ },
58
+ viewRouterLink: '/inventory/stock-receipts',
59
+ };
60
+ constructor() { }
61
+ ngOnInit() {
62
+ }
63
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StockReceiptImportPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
64
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StockReceiptImportPageComponent, isStandalone: true, selector: "app-stock-receipt-import-page", ngImport: i0, template: "<app-import-csv [config]=\"importConfig\"></app-import-csv>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MaterialModule }, { kind: "ngmodule", type: ImportCsvModule }, { kind: "component", type: i1.ImportCsvComponent, selector: "app-import-csv", inputs: ["config"] }], preserveWhitespaces: true });
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StockReceiptImportPageComponent, decorators: [{
67
+ type: Component,
68
+ args: [{ selector: 'app-stock-receipt-import-page', standalone: true, imports: [
69
+ CommonModule,
70
+ MaterialModule,
71
+ ImportCsvModule
72
+ ], template: "<app-import-csv [config]=\"importConfig\"></app-import-csv>" }]
73
+ }], ctorParameters: () => [] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC1pbXBvcnQtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0LWltcG9ydC1wYWdlL3N0b2NrLXJlY2VpcHQtaW1wb3J0LXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2stcmVjZWlwdHMvc3RvY2stcmVjZWlwdC1pbXBvcnQtcGFnZS9zdG9jay1yZWNlaXB0LWltcG9ydC1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFhckUsTUFBTSxPQUFPLCtCQUErQjtJQUV4QyxZQUFZLEdBQW9CO1FBQzlCLE1BQU0sRUFBRSwyQkFBMkI7UUFDbkMsS0FBSyxFQUFFLGdCQUFnQjtRQUN2QixVQUFVLEVBQUUsZUFBZTtRQUMzQixVQUFVLEVBQUU7WUFDVjtnQkFDRSxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsVUFBVTtnQkFDakIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsTUFBTTtnQkFDYixLQUFLLEVBQUUsTUFBTTtnQkFDYixJQUFJLEVBQUUsTUFBTTthQUNiO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsSUFBSSxFQUFFLFFBQVE7YUFDZjtZQUNEO2dCQUNFLEtBQUssRUFBRSxRQUFRO2dCQUNmLEtBQUssRUFBRSxRQUFRO2dCQUNmLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsYUFBYTtnQkFDcEIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLElBQUksRUFBRSxNQUFNO2FBQ2I7U0FDRjtRQUNELFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxzQkFBc0I7WUFDNUIsSUFBSSxFQUFFLCtDQUErQztTQUN0RDtRQUNELGFBQWEsRUFBRTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGVBQWU7WUFDckIsTUFBTSxFQUFFLHNCQUFzQjtTQUMvQjtRQUNELGNBQWMsRUFBRSwyQkFBMkI7S0FDNUMsQ0FBQztJQUVKLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO3dHQTFEVSwrQkFBK0I7NEZBQS9CLCtCQUErQix5RkNoQjVDLDZEQUF5RCx5RERXckQsWUFBWSw4QkFDWixjQUFjLDhCQUNkLGVBQWU7OzRGQUdOLCtCQUErQjtrQkFYM0MsU0FBUzsrQkFDRSwrQkFBK0IsY0FHN0IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgSW1wb3J0Q3N2Q29uZmlnLCBJbXBvcnRDc3ZNb2R1bGUgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zdG9jay1yZWNlaXB0LWltcG9ydC1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b2NrLXJlY2VpcHQtaW1wb3J0LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdG9jay1yZWNlaXB0LWltcG9ydC1wYWdlLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBJbXBvcnRDc3ZNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja1JlY2VpcHRJbXBvcnRQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGltcG9ydENvbmZpZzogSW1wb3J0Q3N2Q29uZmlnID0ge1xuICAgICAgYXBpVXJsOiAnYXBpL3N0b2NrLXJlY2VpcHRzLWltcG9ydCcsXG4gICAgICB0aXRsZTogJ1N0b2NrIFJlY2VpcHRzJyxcbiAgICAgIGltcG9ydFR5cGU6ICdzdG9jay1yZWNlaXB0JyxcbiAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnUHJvZHVjdCcsXG4gICAgICAgICAgdmFsdWU6ICdwcm9kdWN0JyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ1N1cHBsaWVyJyxcbiAgICAgICAgICB2YWx1ZTogJ3N1cHBsaWVyJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0RhdGUnLFxuICAgICAgICAgIHZhbHVlOiAnZGF0ZScsXG4gICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdRdWFudGl0eScsXG4gICAgICAgICAgdmFsdWU6ICdxdWFudGl0eScsXG4gICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ1B1cmNoYXNlIFByaWNlJyxcbiAgICAgICAgICB2YWx1ZTogJ3B1cmNoYXNlX3ByaWNlJyxcbiAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnQW1vdW50JywgIFxuICAgICAgICAgIHZhbHVlOiAnYW1vdW50JyxcbiAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnUGFydGljdWxhcnMnLFxuICAgICAgICAgIHZhbHVlOiAncGFydGljdWxhcnMnLFxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBzYW1wbGVGaWxlOiB7XG4gICAgICAgIG5hbWU6ICdTdG9jayBSZWNlaXB0IFNhbXBsZScsXG4gICAgICAgIHBhdGg6ICdhc3NldHMvc3RvY2stcmVjZWlwdC9zdG9jay1yZWNlaXB0LXNhbXBsZS5jc3YnLFxuICAgICAgfSxcbiAgICAgIGltcG9ydEhpc3Rvcnk6IHtcbiAgICAgICAgaXNFbmFibGVkOiB0cnVlLFxuICAgICAgICB0eXBlOiAnc3RvY2stcmVjZWlwdCcsXG4gICAgICAgIGFwaVVybDogJ2FwaS9pbXBvcnQtaGlzdG9yaWVzJyxcbiAgICAgIH0sXG4gICAgICB2aWV3Um91dGVyTGluazogJy9pbnZlbnRvcnkvc3RvY2stcmVjZWlwdHMnLFxuICAgIH07XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iLCI8YXBwLWltcG9ydC1jc3YgW2NvbmZpZ109XCJpbXBvcnRDb25maWdcIj48L2FwcC1pbXBvcnQtY3N2PiJdfQ==