techlify-inventory-common 18.36.0 → 18.37.0
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.
- package/esm2022/lib/inventory-common/inventory-common-routing.module.mjs +2 -2
- package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +15 -17
- package/esm2022/lib/inventory-common/product/product-quick-search/product-quick-search.component.mjs +17 -36
- package/esm2022/lib/inventory-common/product/product-view-page/product-view-page.component.mjs +8 -8
- package/esm2022/lib/inventory-common/product/product.module.mjs +10 -10
- package/esm2022/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.mjs +3 -3
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-form/stock-issue-form.component.mjs +165 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-import-page/stock-issue-import-page.component.mjs +59 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-list/stock-issue-list.component.mjs +140 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.mjs +96 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.mjs +87 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.mjs +35 -0
- package/esm2022/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product-form/stock-issue-product-form.component.mjs +1 -1
- package/esm2022/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product.service.mjs +1 -1
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-products-list/stock-issue-products-list.component.mjs +138 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-routing.module.mjs +46 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-simple-form/stock-issue-form-button/stock-issue-form-button.component.mjs +48 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-simple-form/stock-issue-form.module.mjs +43 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-simple-form/stock-issue-simple-form/stock-issue-simple-form.component.mjs +201 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-view/stock-issue-view.component.mjs +66 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue.module.mjs +51 -0
- package/esm2022/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue.service.mjs +1 -1
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.component.mjs +221 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-list/stock-receipt-list.component.mjs +153 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-list/stock-receipt-product-list.component.mjs +146 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-form-button/stock-receipt-form-button.component.mjs +42 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form/stock-receipt-simple-form.component.mjs +180 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form.module.mjs +51 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.mjs +4 -5
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-page/stock-receipts-page.component.mjs +70 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-routing.module.mjs +8 -8
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts.module.mjs +20 -25
- package/esm2022/lib/inventory-common/supplier/supplier-view/supplier-view.component.mjs +4 -4
- package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +8 -9
- package/esm2022/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.mjs +3 -4
- package/esm2022/public-api.mjs +16 -17
- package/fesm2022/{techlify-inventory-common-category.module-CUqub2ML.mjs → techlify-inventory-common-category.module-CJbYoRGj.mjs} +4 -4
- package/fesm2022/{techlify-inventory-common-category.module-CUqub2ML.mjs.map → techlify-inventory-common-category.module-CJbYoRGj.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-measure.module-CIonhS7Z.mjs → techlify-inventory-common-measure.module-D8oqfZTV.mjs} +4 -4
- package/fesm2022/{techlify-inventory-common-measure.module-CIonhS7Z.mjs.map → techlify-inventory-common-measure.module-D8oqfZTV.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-purchase-order-view.component-5zmdBnE-.mjs → techlify-inventory-common-purchase-order-view.component-BDuk0Xek.mjs} +4 -4
- package/fesm2022/{techlify-inventory-common-purchase-order-view.component-5zmdBnE-.mjs.map → techlify-inventory-common-purchase-order-view.component-BDuk0Xek.mjs.map} +1 -1
- package/fesm2022/techlify-inventory-common-stock-issue-form.component-B0-TBlZL.mjs +164 -0
- package/fesm2022/techlify-inventory-common-stock-issue-form.component-B0-TBlZL.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-DJIQ6dVF.mjs +66 -0
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-DJIQ6dVF.mjs.map +1 -0
- package/fesm2022/{techlify-inventory-common-techlify-inventory-common-DVM9NowZ.mjs → techlify-inventory-common-techlify-inventory-common-CQSzjNhk.mjs} +1700 -1857
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-CQSzjNhk.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common.mjs +1 -1
- package/lib/inventory-common/product/product-view-page/product-view-page.component.d.ts +4 -4
- package/lib/inventory-common/product/product.module.d.ts +4 -4
- package/lib/inventory-common/{stock-issuances/stock-issue-batch-form/stock-issue-batch-form.component.d.ts → stock-issue/stock-issue-form/stock-issue-form.component.d.ts} +6 -4
- package/lib/inventory-common/{stock-issuances/grouped-stock-issue-list/grouped-stock-issue-list.component.d.ts → stock-issue/stock-issue-list/stock-issue-list.component.d.ts} +3 -3
- package/lib/inventory-common/{stock-issuances/stock-issue-list/stock-issue-list.component.d.ts → stock-issue/stock-issue-page/stock-issue-page.component.d.ts} +3 -3
- package/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.d.ts +20 -0
- package/lib/inventory-common/{stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component.d.ts → stock-issue/stock-issue-products-list/stock-issue-products-list.component.d.ts} +3 -3
- package/lib/inventory-common/{stock-issuances/stock-issue-form → stock-issue/stock-issue-simple-form}/stock-issue-form.module.d.ts +2 -2
- package/lib/inventory-common/{stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.d.ts → stock-issue/stock-issue-simple-form/stock-issue-simple-form/stock-issue-simple-form.component.d.ts} +3 -3
- package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-view/stock-issue-view.component.d.ts +1 -1
- package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue.module.d.ts +4 -4
- package/lib/inventory-common/stock-receipts/{stock-receipt-batch-form/stock-receipt-batch-form.component.d.ts → stock-receipt-form/stock-receipt-form.component.d.ts} +6 -4
- package/lib/inventory-common/stock-receipts/{grouped-stock-receipt-list/grouped-stock-receipt-list.component.d.ts → stock-receipt-list/stock-receipt-list.component.d.ts} +3 -3
- package/lib/inventory-common/stock-receipts/{itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component.d.ts → stock-receipt-product-list/stock-receipt-product-list.component.d.ts} +3 -3
- package/lib/inventory-common/stock-receipts/{stock-receipt-form/stock-receipt-form/stock-receipt-form.component.d.ts → stock-receipt-simple-form/stock-receipt-simple-form/stock-receipt-simple-form.component.d.ts} +1 -1
- package/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form.module.d.ts +15 -0
- package/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.d.ts +2 -2
- package/lib/inventory-common/stock-receipts/{stock-receipts-list-page/stock-receipts-list-page.component.d.ts → stock-receipts-page/stock-receipts-page.component.d.ts} +3 -3
- package/lib/inventory-common/stock-receipts/stock-receipts.module.d.ts +18 -19
- package/lib/inventory-common/supplier/supplier.module.d.ts +6 -7
- package/package.json +5 -2
- package/public-api.d.ts +15 -16
- package/esm2022/lib/inventory-common/stock-issuances/grouped-stock-issue-list/grouped-stock-issue-list.component.mjs +0 -139
- package/esm2022/lib/inventory-common/stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component.mjs +0 -138
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.mjs +0 -47
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.module.mjs +0 -19
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-batch-form/stock-issue-batch-form.component.mjs +0 -163
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.mjs +0 -201
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form-button/stock-issue-form-button.component.mjs +0 -48
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form.module.mjs +0 -43
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-import-page/stock-issue-import-page.component.mjs +0 -59
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.component.mjs +0 -96
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.mjs +0 -91
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.mjs +0 -35
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-routing.module.mjs +0 -46
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-view/stock-issue-view.component.mjs +0 -68
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue.module.mjs +0 -51
- package/esm2022/lib/inventory-common/stock-receipts/grouped-stock-receipt-list/grouped-stock-receipt-list.component.mjs +0 -151
- package/esm2022/lib/inventory-common/stock-receipts/itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component.mjs +0 -146
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-batch-form/stock-receipt-batch-form.component.mjs +0 -208
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-delete-button/stock-receipt-delete-button.component.mjs +0 -47
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form/stock-receipt-form.component.mjs +0 -180
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form-button/stock-receipt-form-button.component.mjs +0 -42
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.module.mjs +0 -51
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.mjs +0 -70
- package/esm2022/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.mjs +0 -64
- package/fesm2022/techlify-inventory-common-stock-issue-batch-form.component-CnRySjgj.mjs +0 -162
- package/fesm2022/techlify-inventory-common-stock-issue-batch-form.component-CnRySjgj.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-D1sTvEWD.mjs +0 -66
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-D1sTvEWD.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-DVM9NowZ.mjs.map +0 -1
- package/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.d.ts +0 -18
- package/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.module.d.ts +0 -9
- package/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.d.ts +0 -21
- package/lib/inventory-common/stock-receipts/stock-receipt-delete-button/stock-receipt-delete-button.component.d.ts +0 -18
- package/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.module.d.ts +0 -15
- package/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.d.ts +0 -18
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-import-page/stock-issue-import-page.component.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product-form/stock-issue-product-form.component.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product.service.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-routing.module.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances/stock-issue-form → stock-issue/stock-issue-simple-form}/stock-issue-form-button/stock-issue-form-button.component.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue.service.d.ts +0 -0
- /package/lib/inventory-common/stock-receipts/{stock-receipt-form → stock-receipt-simple-form}/stock-receipt-form-button/stock-receipt-form-button.component.d.ts +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/dialog";
|
|
4
|
+
import * as i2 from "ngx-techlify-core";
|
|
5
|
+
import * as i3 from "@angular/router";
|
|
6
|
+
import * as i4 from "../stock-receipt-simple-form/stock-receipt-simple-form.component";
|
|
7
|
+
export class StockReceiptFormButtonComponent {
|
|
8
|
+
matDialog;
|
|
9
|
+
product;
|
|
10
|
+
stockReceipt;
|
|
11
|
+
latestLocationId;
|
|
12
|
+
icon;
|
|
13
|
+
saved = new EventEmitter();
|
|
14
|
+
matDialogRef;
|
|
15
|
+
constructor(matDialog) {
|
|
16
|
+
this.matDialog = matDialog;
|
|
17
|
+
}
|
|
18
|
+
showStockReceiptForm(templateRef) {
|
|
19
|
+
this.matDialogRef = this.matDialog.open(templateRef, { width: '500px' });
|
|
20
|
+
}
|
|
21
|
+
onStockReceiptSaved(item) {
|
|
22
|
+
this.matDialogRef.close();
|
|
23
|
+
this.saved.emit(item);
|
|
24
|
+
}
|
|
25
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormButtonComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockReceiptFormButtonComponent, selector: "app-stock-receipt-form-button", inputs: { product: "product", stockReceipt: "stockReceipt", latestLocationId: "latestLocationId", icon: "icon" }, outputs: { saved: "saved" }, ngImport: i0, template: "<app-techlify-icon role='button' name='edit'\n [routerLink]=\"['/inventory/stock-receipts/form', stockReceipt?.id]\"></app-techlify-icon>\n\n<ng-template #stockReceiptFormTemplate>\n <app-stock-receipt-simple-form mat-dialog-content [latestLocationId]=\"latestLocationId\" [product]=\"product\"\n [stockReceipt]=\"stockReceipt\" (cancelled)=\"matDialogRef.close()\"\n (saved)=\"onStockReceiptSaved($event)\"></app-stock-receipt-simple-form>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i2.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.StockReceiptFormComponent, selector: "app-stock-receipt-simple-form", inputs: ["product", "stockReceipt", "stockReceiptProduct", "latestLocationId"], outputs: ["saved", "cancelled"] }], preserveWhitespaces: true });
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormButtonComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'app-stock-receipt-form-button', template: "<app-techlify-icon role='button' name='edit'\n [routerLink]=\"['/inventory/stock-receipts/form', stockReceipt?.id]\"></app-techlify-icon>\n\n<ng-template #stockReceiptFormTemplate>\n <app-stock-receipt-simple-form mat-dialog-content [latestLocationId]=\"latestLocationId\" [product]=\"product\"\n [stockReceipt]=\"stockReceipt\" (cancelled)=\"matDialogRef.close()\"\n (saved)=\"onStockReceiptSaved($event)\"></app-stock-receipt-simple-form>\n</ng-template>\n" }]
|
|
31
|
+
}], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { product: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], stockReceipt: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], latestLocationId: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], icon: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], saved: [{
|
|
40
|
+
type: Output
|
|
41
|
+
}] } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtL3N0b2NrLXJlY2VpcHQtZm9ybS1idXR0b24vc3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtL3N0b2NrLXJlY2VpcHQtZm9ybS1idXR0b24vc3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRcEYsTUFBTSxPQUFPLCtCQUErQjtJQVN0QjtJQVJYLE9BQU8sQ0FBTTtJQUNiLFlBQVksQ0FBTTtJQUNsQixnQkFBZ0IsQ0FBTTtJQUN0QixJQUFJLENBQWlCO0lBQ3BCLEtBQUssR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUU3RCxZQUFZLENBQXFCO0lBRWpDLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBRyxDQUFDO0lBRTVDLG9CQUFvQixDQUFDLFdBQTZCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO3dHQWxCVSwrQkFBK0I7NEZBQS9CLCtCQUErQixvTkNSNUMsb2RBUUE7OzRGREFhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSwrQkFBK0I7OEVBS2hDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zdG9jay1yZWNlaXB0LWZvcm0tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b2NrLXJlY2VpcHQtZm9ybS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdG9jay1yZWNlaXB0LWZvcm0tYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrUmVjZWlwdEZvcm1CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBwcm9kdWN0OiBhbnk7XG4gIEBJbnB1dCgpIHN0b2NrUmVjZWlwdDogYW55O1xuICBASW5wdXQoKSBsYXRlc3RMb2NhdGlvbklkOiBhbnk7XG4gIEBJbnB1dCgpIGljb24hOiBzdHJpbmcgfCBudWxsO1xuICBAT3V0cHV0KCkgc2F2ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgbWF0RGlhbG9nUmVmITogTWF0RGlhbG9nUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZykge31cblxuICBzaG93U3RvY2tSZWNlaXB0Rm9ybSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMubWF0RGlhbG9nUmVmID0gdGhpcy5tYXREaWFsb2cub3Blbih0ZW1wbGF0ZVJlZiwgeyB3aWR0aDogJzUwMHB4JyB9KTtcbiAgfVxuXG4gIG9uU3RvY2tSZWNlaXB0U2F2ZWQoaXRlbTogYW55KSB7XG4gICAgdGhpcy5tYXREaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB0aGlzLnNhdmVkLmVtaXQoaXRlbSk7XG4gIH1cbn1cbiIsIjxhcHAtdGVjaGxpZnktaWNvbiByb2xlPSdidXR0b24nIG5hbWU9J2VkaXQnXG4gIFtyb3V0ZXJMaW5rXT1cIlsnL2ludmVudG9yeS9zdG9jay1yZWNlaXB0cy9mb3JtJywgc3RvY2tSZWNlaXB0Py5pZF1cIj48L2FwcC10ZWNobGlmeS1pY29uPlxuXG48bmctdGVtcGxhdGUgI3N0b2NrUmVjZWlwdEZvcm1UZW1wbGF0ZT5cbiAgPGFwcC1zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtIG1hdC1kaWFsb2ctY29udGVudCBbbGF0ZXN0TG9jYXRpb25JZF09XCJsYXRlc3RMb2NhdGlvbklkXCIgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgW3N0b2NrUmVjZWlwdF09XCJzdG9ja1JlY2VpcHRcIiAoY2FuY2VsbGVkKT1cIm1hdERpYWxvZ1JlZi5jbG9zZSgpXCJcbiAgICAoc2F2ZWQpPVwib25TdG9ja1JlY2VpcHRTYXZlZCgkZXZlbnQpXCI+PC9hcHAtc3RvY2stcmVjZWlwdC1zaW1wbGUtZm9ybT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { TechlifyFormComponentInterface } from 'ngx-techlify-core';
|
|
3
|
+
import { Validators } from '@angular/forms';
|
|
4
|
+
import { debounceTime } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "ngx-techlify-core";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
import * as i3 from "../../stock-receipt.service";
|
|
9
|
+
import * as i4 from "../../../location/location.service";
|
|
10
|
+
import * as i5 from "@angular/common";
|
|
11
|
+
import * as i6 from "../../../supplier/payee-selector/payee-selector/payee-selector.component";
|
|
12
|
+
import * as i7 from "@angular/material/button";
|
|
13
|
+
import * as i8 from "@angular/material/datepicker";
|
|
14
|
+
import * as i9 from "@angular/material/form-field";
|
|
15
|
+
import * as i10 from "@angular/material/input";
|
|
16
|
+
import * as i11 from "../../../location/location-selector/location-selector.component";
|
|
17
|
+
export class StockReceiptFormComponent extends TechlifyFormComponentInterface {
|
|
18
|
+
formBuilder;
|
|
19
|
+
stockReceiptService;
|
|
20
|
+
dateUtils;
|
|
21
|
+
locationService;
|
|
22
|
+
product;
|
|
23
|
+
stockReceipt;
|
|
24
|
+
stockReceiptProduct;
|
|
25
|
+
latestLocationId;
|
|
26
|
+
saved = new EventEmitter();
|
|
27
|
+
cancelled = new EventEmitter();
|
|
28
|
+
locationsCountValue = 0;
|
|
29
|
+
constructor(formValidatorService, formBuilder, stockReceiptService, dateUtils, locationService) {
|
|
30
|
+
super(formValidatorService);
|
|
31
|
+
this.formBuilder = formBuilder;
|
|
32
|
+
this.stockReceiptService = stockReceiptService;
|
|
33
|
+
this.dateUtils = dateUtils;
|
|
34
|
+
this.locationService = locationService;
|
|
35
|
+
this.errorMessages = {
|
|
36
|
+
date: {
|
|
37
|
+
required: 'The date field is required.',
|
|
38
|
+
},
|
|
39
|
+
quantity: {
|
|
40
|
+
required: 'The quantity field is required.',
|
|
41
|
+
},
|
|
42
|
+
purchase_price: {
|
|
43
|
+
required: 'The purchase price field is required.',
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
this.form = this.formBuilder.group({
|
|
47
|
+
id: [''],
|
|
48
|
+
product_id: [''],
|
|
49
|
+
supplier_id: [''],
|
|
50
|
+
location_id: [''],
|
|
51
|
+
date: [new Date(), Validators.required],
|
|
52
|
+
quantity: [1, Validators.required],
|
|
53
|
+
purchase_price: [0, Validators.required],
|
|
54
|
+
amount: [0],
|
|
55
|
+
particulars: [''],
|
|
56
|
+
batch_number: [''],
|
|
57
|
+
expires_on: [''],
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
ngOnInit() {
|
|
61
|
+
this.locationService.count().subscribe((count) => {
|
|
62
|
+
this.locationsCountValue = count;
|
|
63
|
+
});
|
|
64
|
+
this.form
|
|
65
|
+
.get('quantity')
|
|
66
|
+
?.valueChanges.pipe(debounceTime(500))
|
|
67
|
+
.subscribe(() => this.updateTotalAmount());
|
|
68
|
+
this.form
|
|
69
|
+
.get('purchase_price')
|
|
70
|
+
?.valueChanges.pipe(debounceTime(500))
|
|
71
|
+
.subscribe(() => this.updateTotalAmount());
|
|
72
|
+
if (this.stockReceipt) {
|
|
73
|
+
let data = { ...this.stockReceipt };
|
|
74
|
+
if (data.date) {
|
|
75
|
+
data.date = new Date(data.date);
|
|
76
|
+
}
|
|
77
|
+
if (data?.batch) {
|
|
78
|
+
console.log('Batch found ', data?.batch);
|
|
79
|
+
data.batch_number = data?.batch?.batch_number;
|
|
80
|
+
data.expires_on = data?.batch?.expires_on ? new Date(data?.batch?.expires_on) : '';
|
|
81
|
+
}
|
|
82
|
+
this.form.patchValue(data);
|
|
83
|
+
console.log('this.form.value', this.form.value);
|
|
84
|
+
this.patchFormProducts(this.stockReceipt);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
// on create for set default quantity and purchase price from last record
|
|
88
|
+
if (this.product?.last_stock_receipt) {
|
|
89
|
+
const { quantity, purchase_price, location_id } = this.product.last_stock_receipt;
|
|
90
|
+
this.form.patchValue({
|
|
91
|
+
quantity,
|
|
92
|
+
purchase_price,
|
|
93
|
+
location_id,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
patchFormProducts(stockReceiptProduct) {
|
|
99
|
+
if (stockReceiptProduct.stock_receipt_products.length > 0) {
|
|
100
|
+
this.updateFormWithProductArray(stockReceiptProduct.stock_receipt_products[0]);
|
|
101
|
+
this.product = stockReceiptProduct.stock_receipt_products[0].product;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
updateFormWithProductArray(stockReceiptProduct) {
|
|
105
|
+
this.form.patchValue({
|
|
106
|
+
product_id: stockReceiptProduct.product_id,
|
|
107
|
+
quantity: stockReceiptProduct.quantity,
|
|
108
|
+
location_id: stockReceiptProduct.location_id,
|
|
109
|
+
supplier_id: stockReceiptProduct.supplier_id,
|
|
110
|
+
particulars: stockReceiptProduct.particulars,
|
|
111
|
+
purchase_price: stockReceiptProduct.purchase_price,
|
|
112
|
+
amount: stockReceiptProduct.amount,
|
|
113
|
+
receivable_type: stockReceiptProduct.issuable_type,
|
|
114
|
+
receivable_id: stockReceiptProduct.issuable_id
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
get locationsCount() {
|
|
118
|
+
return this.locationsCountValue;
|
|
119
|
+
}
|
|
120
|
+
save() {
|
|
121
|
+
if (this.form.invalid) {
|
|
122
|
+
this.alertService.addAlert('Please check the form for errors', 'error');
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const data = {
|
|
126
|
+
...this.form.value,
|
|
127
|
+
products: [
|
|
128
|
+
{
|
|
129
|
+
...this.form.value,
|
|
130
|
+
with: 'batch',
|
|
131
|
+
id: this.product.id,
|
|
132
|
+
product_id: this.product.id
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
};
|
|
136
|
+
if (data.date) {
|
|
137
|
+
data.date = this.dateUtils.getYYYYMMDDString(data.date);
|
|
138
|
+
}
|
|
139
|
+
if (data?.expires_on) {
|
|
140
|
+
data.expires_on = this.dateUtils.getYYYYMMDDString(data.expires_on);
|
|
141
|
+
}
|
|
142
|
+
this.isWorking = true;
|
|
143
|
+
let request = this.stockReceiptService.store(data);
|
|
144
|
+
if (this.stockReceipt?.id) {
|
|
145
|
+
request = this.stockReceiptService.update(data);
|
|
146
|
+
}
|
|
147
|
+
request.subscribe({
|
|
148
|
+
next: (response) => {
|
|
149
|
+
this.isWorking = false;
|
|
150
|
+
this.saved.emit(response?.item);
|
|
151
|
+
this.alertService.addAlert('Stock Receipt Saved Successfully!', 'success');
|
|
152
|
+
},
|
|
153
|
+
error: () => (this.isWorking = false),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
updateTotalAmount() {
|
|
157
|
+
const { purchase_price, quantity } = this.form.value;
|
|
158
|
+
const amount = parseFloat(purchase_price) * parseFloat(quantity) || 0;
|
|
159
|
+
this.form.get('amount')?.setValue(amount);
|
|
160
|
+
}
|
|
161
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormComponent, deps: [{ token: i1.FormValidatorService }, { token: i2.FormBuilder }, { token: i3.StockReceiptService }, { token: i1.DateUtils }, { token: i4.LocationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
162
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockReceiptFormComponent, selector: "app-stock-receipt-simple-form", inputs: { product: "product", stockReceipt: "stockReceipt", stockReceiptProduct: "stockReceiptProduct", latestLocationId: "latestLocationId" }, outputs: { saved: "saved", cancelled: "cancelled" }, usesInheritance: true, ngImport: i0, template: "<h3 class=\"text-center\">{{ stockReceipt?.id ? 'Edit' : 'Receive' }} Stock for {{ product?.name }}</h3>\n<form [formGroup]=\"form\" class=\"d-flex flex-column gap-1 justify-content-start\" (submit)=\"save()\">\n <app-payee-selector label=\"Supplier\" formControlName=\"supplier_id\" appearance=\"fill\"\n [showAddButton]=\"true\"></app-payee-selector>\n\n <app-location-selector *ngIf=\"locationsCount > 1\" formControlName=\"location_id\" appearance=\"fill\"></app-location-selector>\n\n <mat-form-field>\n <mat-label>Date</mat-label>\n <input matInput [matDatepicker]=\"datePicker\" formControlName=\"date\" (focus)=\"datePicker.open()\" />\n <mat-datepicker #datePicker></mat-datepicker>\n <mat-error *ngIf=\"isFieldValid('date')\">\n {{ getErrorMessage('date') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Quantity</mat-label>\n <input matInput formControlName=\"quantity\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('quantity')\">\n {{ getErrorMessage('quantity') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Purchase Price</mat-label>\n <input matInput formControlName=\"purchase_price\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('purchase_price')\">\n {{ getErrorMessage('purchase_price') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Total Value</mat-label>\n <input matInput formControlName=\"amount\" readonly type=\"number\" min=\"0\" />\n </mat-form-field>\n\n <div techlifyFeatureEnabled=\"product-batch-numbers\" class=\"d-flex flex-column gap-2 w-100\">\n <mat-form-field>\n <mat-label>Batch #</mat-label>\n <input type=\"text\" formControlName=\"batch_number\" matInput placeholder=\"Batch #\">\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Expires On</mat-label>\n <input matInput [matDatepicker]=\"expiresOnPicker\" formControlName=\"expires_on\" (focus)=\"expiresOnPicker.open()\" />\n <mat-datepicker #expiresOnPicker></mat-datepicker>\n </mat-form-field>\n </div>\n\n <mat-form-field>\n <mat-label>Particulars</mat-label>\n <textarea matInput formControlName=\"particulars\" rows=\"3\"></textarea>\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-2\">\n <button [disabled]=\"isWorking\" mat-raised-button color=\"primary\" type=\"submit\">Save</button>\n <button [disabled]=\"isWorking\" (click)=\"cancelled.emit()\" mat-flat-button type=\"button\">Cancel</button>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.PayeeSelectorComponent, selector: "app-payee-selector", inputs: ["label", "appearance", "required", "showAddButton", "multiple"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { 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: "directive", type: i1.TechlifyFeatureEnabledDirective, selector: "[techlifyFeatureEnabled]", inputs: ["techlifyFeatureEnabled"] }, { kind: "component", type: i11.LocationSelectorComponent, selector: "app-location-selector", inputs: ["appearance", "label", "placeholder", "includeNone"] }], preserveWhitespaces: true });
|
|
163
|
+
}
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormComponent, decorators: [{
|
|
165
|
+
type: Component,
|
|
166
|
+
args: [{ selector: 'app-stock-receipt-simple-form', template: "<h3 class=\"text-center\">{{ stockReceipt?.id ? 'Edit' : 'Receive' }} Stock for {{ product?.name }}</h3>\n<form [formGroup]=\"form\" class=\"d-flex flex-column gap-1 justify-content-start\" (submit)=\"save()\">\n <app-payee-selector label=\"Supplier\" formControlName=\"supplier_id\" appearance=\"fill\"\n [showAddButton]=\"true\"></app-payee-selector>\n\n <app-location-selector *ngIf=\"locationsCount > 1\" formControlName=\"location_id\" appearance=\"fill\"></app-location-selector>\n\n <mat-form-field>\n <mat-label>Date</mat-label>\n <input matInput [matDatepicker]=\"datePicker\" formControlName=\"date\" (focus)=\"datePicker.open()\" />\n <mat-datepicker #datePicker></mat-datepicker>\n <mat-error *ngIf=\"isFieldValid('date')\">\n {{ getErrorMessage('date') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Quantity</mat-label>\n <input matInput formControlName=\"quantity\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('quantity')\">\n {{ getErrorMessage('quantity') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Purchase Price</mat-label>\n <input matInput formControlName=\"purchase_price\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('purchase_price')\">\n {{ getErrorMessage('purchase_price') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Total Value</mat-label>\n <input matInput formControlName=\"amount\" readonly type=\"number\" min=\"0\" />\n </mat-form-field>\n\n <div techlifyFeatureEnabled=\"product-batch-numbers\" class=\"d-flex flex-column gap-2 w-100\">\n <mat-form-field>\n <mat-label>Batch #</mat-label>\n <input type=\"text\" formControlName=\"batch_number\" matInput placeholder=\"Batch #\">\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Expires On</mat-label>\n <input matInput [matDatepicker]=\"expiresOnPicker\" formControlName=\"expires_on\" (focus)=\"expiresOnPicker.open()\" />\n <mat-datepicker #expiresOnPicker></mat-datepicker>\n </mat-form-field>\n </div>\n\n <mat-form-field>\n <mat-label>Particulars</mat-label>\n <textarea matInput formControlName=\"particulars\" rows=\"3\"></textarea>\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-2\">\n <button [disabled]=\"isWorking\" mat-raised-button color=\"primary\" type=\"submit\">Save</button>\n <button [disabled]=\"isWorking\" (click)=\"cancelled.emit()\" mat-flat-button type=\"button\">Cancel</button>\n </div>\n</form>" }]
|
|
167
|
+
}], ctorParameters: () => [{ type: i1.FormValidatorService }, { type: i2.FormBuilder }, { type: i3.StockReceiptService }, { type: i1.DateUtils }, { type: i4.LocationService }], propDecorators: { product: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], stockReceipt: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], stockReceiptProduct: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], latestLocationId: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], saved: [{
|
|
176
|
+
type: Output
|
|
177
|
+
}], cancelled: [{
|
|
178
|
+
type: Output
|
|
179
|
+
}] } });
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC1zaW1wbGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtL3N0b2NrLXJlY2VpcHQtc2ltcGxlLWZvcm0vc3RvY2stcmVjZWlwdC1zaW1wbGUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtL3N0b2NrLXJlY2VpcHQtc2ltcGxlLWZvcm0vc3RvY2stcmVjZWlwdC1zaW1wbGUtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBbUMsOEJBQThCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRyxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7OztBQVFoRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsOEJBQThCO0lBYWpFO0lBQ0E7SUFDQTtJQUNBO0lBZkQsT0FBTyxDQUFNO0lBQ2IsWUFBWSxDQUFNO0lBQ2xCLG1CQUFtQixDQUFNO0lBRXpCLGdCQUFnQixDQUFNO0lBQ3JCLEtBQUssR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNuRCxTQUFTLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFekQsbUJBQW1C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RkQvQ00seUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLCtCQUErQjsyTUFLaEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVVdGlscywgRm9ybVZhbGlkYXRvclNlcnZpY2UsIFRlY2hsaWZ5Rm9ybUNvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3RvY2tSZWNlaXB0U2VydmljZSB9IGZyb20gJy4uLy4uL3N0b2NrLXJlY2VpcHQuc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2xvY2F0aW9uL2xvY2F0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3RvY2stcmVjZWlwdC1zaW1wbGUtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RvY2stcmVjZWlwdC1zaW1wbGUtZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja1JlY2VpcHRGb3JtQ29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlGb3JtQ29tcG9uZW50SW50ZXJmYWNlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvZHVjdDogYW55O1xuICBASW5wdXQoKSBzdG9ja1JlY2VpcHQ6IGFueTtcbiAgQElucHV0KCkgc3RvY2tSZWNlaXB0UHJvZHVjdDogYW55O1xuXG4gIEBJbnB1dCgpIGxhdGVzdExvY2F0aW9uSWQ6IGFueTtcbiAgQE91dHB1dCgpIHNhdmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2FuY2VsbGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHByaXZhdGUgbG9jYXRpb25zQ291bnRWYWx1ZTogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmb3JtVmFsaWRhdG9yU2VydmljZTogRm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9ja1JlY2VpcHRTZXJ2aWNlOiBTdG9ja1JlY2VpcHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0ZVV0aWxzOiBEYXRlVXRpbHMsXG4gICAgcHJpdmF0ZSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZVxuICApIHtcbiAgICBzdXBlcihmb3JtVmFsaWRhdG9yU2VydmljZSk7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0ge1xuICAgICAgZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogJ1RoZSBkYXRlIGZpZWxkIGlzIHJlcXVpcmVkLicsXG4gICAgICB9LFxuICAgICAgcXVhbnRpdHk6IHtcbiAgICAgICAgcmVxdWlyZWQ6ICdUaGUgcXVhbnRpdHkgZmllbGQgaXMgcmVxdWlyZWQuJyxcbiAgICAgIH0sXG4gICAgICBwdXJjaGFzZV9wcmljZToge1xuICAgICAgICByZXF1aXJlZDogJ1RoZSBwdXJjaGFzZSBwcmljZSBmaWVsZCBpcyByZXF1aXJlZC4nLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBpZDogWycnXSxcbiAgICAgIHByb2R1Y3RfaWQ6IFsnJ10sXG4gICAgICBzdXBwbGllcl9pZDogWycnXSxcbiAgICAgIGxvY2F0aW9uX2lkOiBbJyddLFxuICAgICAgZGF0ZTogW25ldyBEYXRlKCksIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcXVhbnRpdHk6IFsxLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHB1cmNoYXNlX3ByaWNlOiBbMCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBhbW91bnQ6IFswXSxcbiAgICAgIHBhcnRpY3VsYXJzOiBbJyddLFxuICAgICAgYmF0Y2hfbnVtYmVyOiBbJyddLFxuICAgICAgZXhwaXJlc19vbjogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9jYXRpb25TZXJ2aWNlLmNvdW50KCkuc3Vic2NyaWJlKChjb3VudDogbnVtYmVyKSA9PiB7XG4gICAgICB0aGlzLmxvY2F0aW9uc0NvdW50VmFsdWUgPSBjb3VudDtcbiAgICB9KTtcblxuICAgIHRoaXMuZm9ybVxuICAgICAgLmdldCgncXVhbnRpdHknKVxuICAgICAgPy52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVUb3RhbEFtb3VudCgpKTtcbiAgICB0aGlzLmZvcm1cbiAgICAgIC5nZXQoJ3B1cmNoYXNlX3ByaWNlJylcbiAgICAgID8udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlVG90YWxBbW91bnQoKSk7XG5cbiAgICBpZiAodGhpcy5zdG9ja1JlY2VpcHQpIHtcbiAgICAgIGxldCBkYXRhOiBhbnkgPSB7IC4uLnRoaXMuc3RvY2tSZWNlaXB0IH07XG4gICAgICBpZiAoZGF0YS5kYXRlKSB7XG4gICAgICAgIGRhdGEuZGF0ZSA9IG5ldyBEYXRlKGRhdGEuZGF0ZSk7XG4gICAgICB9XG4gICAgICBpZiAoZGF0YT8uYmF0Y2gpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0JhdGNoIGZvdW5kICcsIGRhdGE/LmJhdGNoKTtcbiAgICAgICAgZGF0YS5iYXRjaF9udW1iZXIgPSBkYXRhPy5iYXRjaD8uYmF0Y2hfbnVtYmVyO1xuICAgICAgICBkYXRhLmV4cGlyZXNfb24gPSBkYXRhPy5iYXRjaD8uZXhwaXJlc19vbiA/IG5ldyBEYXRlKGRhdGE/LmJhdGNoPy5leHBpcmVzX29uKSA6ICcnO1xuICAgICAgfVxuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoZGF0YSk7XG5cbiAgICAgIGNvbnNvbGUubG9nKCd0aGlzLmZvcm0udmFsdWUnLCB0aGlzLmZvcm0udmFsdWUpO1xuXG4gICAgICB0aGlzLnBhdGNoRm9ybVByb2R1Y3RzKHRoaXMuc3RvY2tSZWNlaXB0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gb24gY3JlYXRlIGZvciBzZXQgZGVmYXVsdCBxdWFudGl0eSBhbmQgcHVyY2hhc2UgcHJpY2UgZnJvbSBsYXN0IHJlY29yZFxuICAgICAgaWYgKHRoaXMucHJvZHVjdD8ubGFzdF9zdG9ja19yZWNlaXB0KSB7XG4gICAgICAgIGNvbnN0IHsgcXVhbnRpdHksIHB1cmNoYXNlX3ByaWNlLCBsb2NhdGlvbl9pZCB9ID0gdGhpcy5wcm9kdWN0Lmxhc3Rfc3RvY2tfcmVjZWlwdDtcbiAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIHF1YW50aXR5LFxuICAgICAgICAgIHB1cmNoYXNlX3ByaWNlLFxuICAgICAgICAgIGxvY2F0aW9uX2lkLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwYXRjaEZvcm1Qcm9kdWN0cyhzdG9ja1JlY2VpcHRQcm9kdWN0OiBhbnkpIHtcbiAgICBpZiAoc3RvY2tSZWNlaXB0UHJvZHVjdC5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVdpdGhQcm9kdWN0QXJyYXkoc3RvY2tSZWNlaXB0UHJvZHVjdC5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdKTtcblxuICAgICAgdGhpcy5wcm9kdWN0ID0gc3RvY2tSZWNlaXB0UHJvZHVjdC5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdLnByb2R1Y3Q7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRm9ybVdpdGhQcm9kdWN0QXJyYXkoc3RvY2tSZWNlaXB0UHJvZHVjdDogYW55KSB7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgcHJvZHVjdF9pZDogc3RvY2tSZWNlaXB0UHJvZHVjdC5wcm9kdWN0X2lkLFxuICAgICAgcXVhbnRpdHk6IHN0b2NrUmVjZWlwdFByb2R1Y3QucXVhbnRpdHksXG4gICAgICBsb2NhdGlvbl9pZDogc3RvY2tSZWNlaXB0UHJvZHVjdC5sb2NhdGlvbl9pZCxcbiAgICAgIHN1cHBsaWVyX2lkOiBzdG9ja1JlY2VpcHRQcm9kdWN0LnN1cHBsaWVyX2lkLFxuICAgICAgcGFydGljdWxhcnM6IHN0b2NrUmVjZWlwdFByb2R1Y3QucGFydGljdWxhcnMsXG4gICAgICBwdXJjaGFzZV9wcmljZTogc3RvY2tSZWNlaXB0UHJvZHVjdC5wdXJjaGFzZV9wcmljZSxcbiAgICAgIGFtb3VudDogc3RvY2tSZWNlaXB0UHJvZHVjdC5hbW91bnQsXG4gICAgICByZWNlaXZhYmxlX3R5cGU6IHN0b2NrUmVjZWlwdFByb2R1Y3QuaXNzdWFibGVfdHlwZSxcbiAgICAgIHJlY2VpdmFibGVfaWQ6IHN0b2NrUmVjZWlwdFByb2R1Y3QuaXNzdWFibGVfaWRcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBsb2NhdGlvbnNDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uc0NvdW50VmFsdWU7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ1BsZWFzZSBjaGVjayB0aGUgZm9ybSBmb3IgZXJyb3JzJywgJ2Vycm9yJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHtcbiAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgIHByb2R1Y3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgd2l0aDogJ2JhdGNoJyxcbiAgICAgICAgICBpZDogdGhpcy5wcm9kdWN0LmlkLFxuICAgICAgICAgIHByb2R1Y3RfaWQ6IHRoaXMucHJvZHVjdC5pZFxuICAgICAgICB9XG4gICAgICBdLFxuICAgIH07XG4gICAgaWYgKGRhdGEuZGF0ZSkge1xuICAgICAgZGF0YS5kYXRlID0gdGhpcy5kYXRlVXRpbHMuZ2V0WVlZWU1NRERTdHJpbmcoZGF0YS5kYXRlKTtcbiAgICB9XG4gICAgaWYgKGRhdGE/LmV4cGlyZXNfb24pIHtcbiAgICAgIGRhdGEuZXhwaXJlc19vbiA9IHRoaXMuZGF0ZVV0aWxzLmdldFlZWVlNTUREU3RyaW5nKGRhdGEuZXhwaXJlc19vbik7XG4gICAgfVxuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICBsZXQgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5zdG9ja1JlY2VpcHRTZXJ2aWNlLnN0b3JlKGRhdGEpO1xuICAgIGlmICh0aGlzLnN0b2NrUmVjZWlwdD8uaWQpIHtcbiAgICAgIHJlcXVlc3QgPSB0aGlzLnN0b2NrUmVjZWlwdFNlcnZpY2UudXBkYXRlKGRhdGEpO1xuICAgIH1cbiAgICByZXF1ZXN0LnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkLmVtaXQocmVzcG9uc2U/Lml0ZW0pO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnU3RvY2sgUmVjZWlwdCBTYXZlZCBTdWNjZXNzZnVsbHkhJywgJ3N1Y2Nlc3MnKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gKHRoaXMuaXNXb3JraW5nID0gZmFsc2UpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUb3RhbEFtb3VudCgpIHtcbiAgICBjb25zdCB7IHB1cmNoYXNlX3ByaWNlLCBxdWFudGl0eSB9ID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGNvbnN0IGFtb3VudDogYW55ID0gcGFyc2VGbG9hdChwdXJjaGFzZV9wcmljZSkgKiBwYXJzZUZsb2F0KHF1YW50aXR5KSB8fCAwO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2Ftb3VudCcpPy5zZXRWYWx1ZShhbW91bnQpO1xuICB9XG59XG4iLCI8aDMgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPnt7IHN0b2NrUmVjZWlwdD8uaWQgPyAnRWRpdCcgOiAnUmVjZWl2ZScgfX0gU3RvY2sgZm9yIHt7IHByb2R1Y3Q/Lm5hbWUgfX08L2gzPlxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTEganVzdGlmeS1jb250ZW50LXN0YXJ0XCIgKHN1Ym1pdCk9XCJzYXZlKClcIj5cbiAgPGFwcC1wYXllZS1zZWxlY3RvciBsYWJlbD1cIlN1cHBsaWVyXCIgZm9ybUNvbnRyb2xOYW1lPVwic3VwcGxpZXJfaWRcIiBhcHBlYXJhbmNlPVwiZmlsbFwiXG4gICAgW3Nob3dBZGRCdXR0b25dPVwidHJ1ZVwiPjwvYXBwLXBheWVlLXNlbGVjdG9yPlxuXG4gIDxhcHAtbG9jYXRpb24tc2VsZWN0b3IgKm5nSWY9XCJsb2NhdGlvbnNDb3VudCA+IDFcIiBmb3JtQ29udHJvbE5hbWU9XCJsb2NhdGlvbl9pZFwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+PC9hcHAtbG9jYXRpb24tc2VsZWN0b3I+XG5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+RGF0ZTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJkYXRlUGlja2VyXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVwiIChmb2N1cyk9XCJkYXRlUGlja2VyLm9wZW4oKVwiIC8+XG4gICAgPG1hdC1kYXRlcGlja2VyICNkYXRlUGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnZGF0ZScpXCI+XG4gICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ2RhdGUnKSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPlF1YW50aXR5PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInF1YW50aXR5XCIgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiAvPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3F1YW50aXR5JylcIj5cbiAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgncXVhbnRpdHknKSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPlB1cmNoYXNlIFByaWNlPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInB1cmNoYXNlX3ByaWNlXCIgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiAvPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3B1cmNoYXNlX3ByaWNlJylcIj5cbiAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgncHVyY2hhc2VfcHJpY2UnKSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPlRvdGFsIFZhbHVlPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImFtb3VudFwiIHJlYWRvbmx5IHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8ZGl2IHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMiB3LTEwMFwiPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+QmF0Y2ggIzwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwiYmF0Y2hfbnVtYmVyXCIgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJCYXRjaCAjXCI+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+RXhwaXJlcyBPbjwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cImV4cGlyZXNPblBpY2tlclwiIGZvcm1Db250cm9sTmFtZT1cImV4cGlyZXNfb25cIiAoZm9jdXMpPVwiZXhwaXJlc09uUGlja2VyLm9wZW4oKVwiIC8+XG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI2V4cGlyZXNPblBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuXG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPlBhcnRpY3VsYXJzPC9tYXQtbGFiZWw+XG4gICAgPHRleHRhcmVhIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInBhcnRpY3VsYXJzXCIgcm93cz1cIjNcIj48L3RleHRhcmVhPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwic3VibWl0XCI+U2F2ZTwvYnV0dG9uPlxuICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImlzV29ya2luZ1wiIChjbGljayk9XCJjYW5jZWxsZWQuZW1pdCgpXCIgbWF0LWZsYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIj5DYW5jZWw8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+Il19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { StockReceiptFormComponent } from './stock-receipt-simple-form/stock-receipt-simple-form.component';
|
|
4
|
+
import { StockReceiptFormButtonComponent } from './stock-receipt-form-button/stock-receipt-form-button.component';
|
|
5
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import { PayeeSelectorModule } from '../../supplier/payee-selector/payee-selector.module';
|
|
7
|
+
import { SearchableSelectorModule, TechlifyFeatureModule, TechlifyIconModule } from 'ngx-techlify-core';
|
|
8
|
+
import { MaterialModule } from '../../material.module';
|
|
9
|
+
import { LocationSelectorComponent } from '../../location/location-selector/location-selector.component';
|
|
10
|
+
import { RouterModule } from '@angular/router';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class StockReceiptSimpleFormModule {
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptSimpleFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptSimpleFormModule, declarations: [StockReceiptFormComponent, StockReceiptFormButtonComponent], imports: [CommonModule,
|
|
15
|
+
PayeeSelectorModule,
|
|
16
|
+
ReactiveFormsModule,
|
|
17
|
+
MaterialModule,
|
|
18
|
+
SearchableSelectorModule,
|
|
19
|
+
TechlifyFeatureModule,
|
|
20
|
+
LocationSelectorComponent,
|
|
21
|
+
TechlifyIconModule,
|
|
22
|
+
RouterModule], exports: [StockReceiptFormButtonComponent] });
|
|
23
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptSimpleFormModule, imports: [CommonModule,
|
|
24
|
+
PayeeSelectorModule,
|
|
25
|
+
ReactiveFormsModule,
|
|
26
|
+
MaterialModule,
|
|
27
|
+
SearchableSelectorModule,
|
|
28
|
+
TechlifyFeatureModule,
|
|
29
|
+
LocationSelectorComponent,
|
|
30
|
+
TechlifyIconModule,
|
|
31
|
+
RouterModule] });
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptSimpleFormModule, decorators: [{
|
|
34
|
+
type: NgModule,
|
|
35
|
+
args: [{
|
|
36
|
+
declarations: [StockReceiptFormComponent, StockReceiptFormButtonComponent],
|
|
37
|
+
exports: [StockReceiptFormButtonComponent],
|
|
38
|
+
imports: [
|
|
39
|
+
CommonModule,
|
|
40
|
+
PayeeSelectorModule,
|
|
41
|
+
ReactiveFormsModule,
|
|
42
|
+
MaterialModule,
|
|
43
|
+
SearchableSelectorModule,
|
|
44
|
+
TechlifyFeatureModule,
|
|
45
|
+
LocationSelectorComponent,
|
|
46
|
+
TechlifyIconModule,
|
|
47
|
+
RouterModule
|
|
48
|
+
],
|
|
49
|
+
}]
|
|
50
|
+
}] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC1zaW1wbGUtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtL3N0b2NrLXJlY2VpcHQtc2ltcGxlLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBa0MsTUFBTSxtQkFBbUIsQ0FBQztBQUN4SSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWlCL0MsTUFBTSxPQUFPLDRCQUE0Qjt3R0FBNUIsNEJBQTRCO3lHQUE1Qiw0QkFBNEIsaUJBZHhCLHlCQUF5QixFQUFFLCtCQUErQixhQUd2RSxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsa0JBQWtCO1lBQ2xCLFlBQVksYUFWSiwrQkFBK0I7eUdBYTlCLDRCQUE0QixZQVhyQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsa0JBQWtCO1lBQ2xCLFlBQVk7OzRGQUdILDRCQUE0QjtrQkFmeEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSwrQkFBK0IsQ0FBQztvQkFDMUUsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDVCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLGtCQUFrQjt3QkFDbEIsWUFBWTtxQkFDZjtpQkFDQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3RvY2tSZWNlaXB0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vc3RvY2stcmVjZWlwdC1zaW1wbGUtZm9ybS9zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdG9ja1JlY2VpcHRGb3JtQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zdG9jay1yZWNlaXB0LWZvcm0tYnV0dG9uL3N0b2NrLXJlY2VpcHQtZm9ybS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQYXllZVNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi4vLi4vc3VwcGxpZXIvcGF5ZWUtc2VsZWN0b3IvcGF5ZWUtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7IFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSwgVGVjaGxpZnlGZWF0dXJlTW9kdWxlLCBUZWNobGlmeUljb25Nb2R1bGUsIEF1ZGl0TG9nVmlld01vZGVsUm91dGluZ01vZHVsZSB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IExvY2F0aW9uU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sb2NhdGlvbi9sb2NhdGlvbi1zZWxlY3Rvci9sb2NhdGlvbi1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU3RvY2tSZWNlaXB0Rm9ybUNvbXBvbmVudCwgU3RvY2tSZWNlaXB0Rm9ybUJ1dHRvbkNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTdG9ja1JlY2VpcHRGb3JtQnV0dG9uQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBheWVlU2VsZWN0b3JNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gICAgVGVjaGxpZnlGZWF0dXJlTW9kdWxlLFxuICAgIExvY2F0aW9uU2VsZWN0b3JDb21wb25lbnQsXG4gICAgVGVjaGxpZnlJY29uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZVxuXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tSZWNlaXB0U2ltcGxlRm9ybU1vZHVsZSB7fVxuIl19
|
|
@@ -5,9 +5,8 @@ import * as i2 from "../stock-receipt.service";
|
|
|
5
5
|
import * as i3 from "@angular/common";
|
|
6
6
|
import * as i4 from "@angular/material/card";
|
|
7
7
|
import * as i5 from "@angular/material/progress-bar";
|
|
8
|
-
import * as i6 from "../stock-receipt-form/stock-receipt-form-button/stock-receipt-form-button.component";
|
|
8
|
+
import * as i6 from "../stock-receipt-simple-form/stock-receipt-form-button/stock-receipt-form-button.component";
|
|
9
9
|
import * as i7 from "ngx-techlify-core";
|
|
10
|
-
import * as i8 from "../stock-receipt-delete-button/stock-receipt-delete-button.component";
|
|
11
10
|
export class StockReceiptViewComponent {
|
|
12
11
|
activatedRoute;
|
|
13
12
|
service;
|
|
@@ -47,10 +46,10 @@ export class StockReceiptViewComponent {
|
|
|
47
46
|
this.location.back();
|
|
48
47
|
}
|
|
49
48
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptViewComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.StockReceiptService }, { token: i3.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockReceiptViewComponent, selector: "app-stock-receipt-view", ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"stockReceipt\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Receipt for {{ stockReceipt?.stock_receipt_products[0]?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> campaign </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <app-stock-receipt-form-button [stockReceipt]=\"stockReceipt\" [product]=\"stockReceipt?.product\"\n (saved)=\"loadData()\">\n </app-stock-receipt-form-button>\n <app-
|
|
49
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockReceiptViewComponent, selector: "app-stock-receipt-view", ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"stockReceipt\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Receipt for {{ stockReceipt?.stock_receipt_products[0]?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> campaign </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-stock-receipt-form-button [stockReceipt]=\"stockReceipt\" [product]=\"stockReceipt?.product\"\n (saved)=\"loadData()\">\n </app-stock-receipt-form-button>\n <app-techlify-delete-button [model]=\"stockReceipt\" [service]=\"service\"\n [data]=\"{ title: stockReceipt?.id, type: 'Stock Receipt' }\"\n (deleted)=\"redirectBack()\">\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', stockReceipt?.stock_receipt_products[0]?.product?.id, 'view']\">\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.product?.name }}</p>\n </a>\n <small *ngIf=\"stockReceipt?.stock_receipt_products[0]?.product?.sku\">{{\n stockReceipt?.stock_receipt_products[0]?.product?.sku }}</small>\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n <small *ngIf=\"stockReceipt?.date\">{{ stockReceipt?.date | date }}</small>\n <ng-container *ngIf=\"stockReceipt?.stock_receipt_products[0]?.batch?.expires_on\">\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on {{ stockReceipt?.stock_receipt_products[0]?.batch?.expires_on | date }}\n </small>\n </ng-container>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.purchase_price\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Purchase Price</small>\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.purchase_price | currency }}</p>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.supplier\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Supplier</small>\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/suppliers', stockReceipt?.stock_receipt_products[0]?.supplier?.id, 'view']\">\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.supplier?.company_name }}</p>\n </a>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.quantity\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.quantity }}</h3>\n <small class=\"text-secondary\">{{ stockReceipt?.stock_receipt_products[0]?.product?.measure?.title\n }}</small>\n </div>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.amount\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Total Value</small>\n <h3 class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.amount | currency }}</h3>\n </div>\n </div>\n </div>\n <div class=\"row\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.particulars\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.particulars }}</p>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.location\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Location</small>\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.location?.title }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"stockReceipt?.stock_receipt_products[0]?.batch\">\n <div class=\"col-6\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.batch?.batch_number }}</p>\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"row\" *ngIf=\"stockReceipt?.creator\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ stockReceipt?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ stockReceipt?.created_at | date }}\n </small>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockReceipt\"\n [relatedModelId]=\"stockReceipt?.id\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-entity-files-view-all title=\"Document\" [entityId]=\"stockReceipt?.id\" entityType=\"StockReceipt\">\n </app-entity-files-view-all>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.StockReceiptFormButtonComponent, selector: "app-stock-receipt-form-button", inputs: ["product", "stockReceipt", "latestLocationId", "icon"], outputs: ["saved"] }, { kind: "component", type: i7.EntityFilesViewAllComponent, selector: "app-entity-files-view-all", inputs: ["entityId", "entityType", "viewOnly", "removeSearch", "hideTitleAndDetails", "displayMode", "allowMultipleFiles", "allowBulkUpdate", "viewMode", "fileDropperHeight", "isShowDragDropSection", "useTechlifyTags", "techlifyTagCategories", "techlifyTagConfig", "title", "permission"] }, { kind: "directive", type: i7.TechlifyFeatureEnabledDirective, selector: "[techlifyFeatureEnabled]", inputs: ["techlifyFeatureEnabled"] }, { kind: "component", type: i7.NoteListComponent, selector: "app-note-list", inputs: ["relatedModelId", "modelType", "readonly", "labelText", "commentsView", "viewMode"] }, { kind: "component", type: i7.TechlifyDeleteButtonComponent, selector: "app-techlify-delete-button", inputs: ["data", "model", "message", "service"], outputs: ["deleted"] }, { kind: "pipe", type: i3.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i3.DatePipe, name: "date" }], preserveWhitespaces: true });
|
|
51
50
|
}
|
|
52
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptViewComponent, decorators: [{
|
|
53
52
|
type: Component,
|
|
54
|
-
args: [{ selector: 'app-stock-receipt-view', template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"stockReceipt\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Receipt for {{ stockReceipt?.stock_receipt_products[0]?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> campaign </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <app-stock-receipt-form-button [stockReceipt]=\"stockReceipt\" [product]=\"stockReceipt?.product\"\n (saved)=\"loadData()\">\n </app-stock-receipt-form-button>\n <app-
|
|
53
|
+
args: [{ selector: 'app-stock-receipt-view', template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"stockReceipt\" class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Receipt for {{ stockReceipt?.stock_receipt_products[0]?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> campaign </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-stock-receipt-form-button [stockReceipt]=\"stockReceipt\" [product]=\"stockReceipt?.product\"\n (saved)=\"loadData()\">\n </app-stock-receipt-form-button>\n <app-techlify-delete-button [model]=\"stockReceipt\" [service]=\"service\"\n [data]=\"{ title: stockReceipt?.id, type: 'Stock Receipt' }\"\n (deleted)=\"redirectBack()\">\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', stockReceipt?.stock_receipt_products[0]?.product?.id, 'view']\">\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.product?.name }}</p>\n </a>\n <small *ngIf=\"stockReceipt?.stock_receipt_products[0]?.product?.sku\">{{\n stockReceipt?.stock_receipt_products[0]?.product?.sku }}</small>\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n <small *ngIf=\"stockReceipt?.date\">{{ stockReceipt?.date | date }}</small>\n <ng-container *ngIf=\"stockReceipt?.stock_receipt_products[0]?.batch?.expires_on\">\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on {{ stockReceipt?.stock_receipt_products[0]?.batch?.expires_on | date }}\n </small>\n </ng-container>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.purchase_price\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Purchase Price</small>\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.purchase_price | currency }}</p>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.supplier\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Supplier</small>\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/suppliers', stockReceipt?.stock_receipt_products[0]?.supplier?.id, 'view']\">\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.supplier?.company_name }}</p>\n </a>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.quantity\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.quantity }}</h3>\n <small class=\"text-secondary\">{{ stockReceipt?.stock_receipt_products[0]?.product?.measure?.title\n }}</small>\n </div>\n </div>\n </div>\n\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.amount\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Total Value</small>\n <h3 class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.amount | currency }}</h3>\n </div>\n </div>\n </div>\n <div class=\"row\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.particulars\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.particulars }}</p>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-6\" *ngIf=\"stockReceipt?.stock_receipt_products[0]?.location\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Location</small>\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.location?.title }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"stockReceipt?.stock_receipt_products[0]?.batch\">\n <div class=\"col-6\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ stockReceipt?.stock_receipt_products[0]?.batch?.batch_number }}</p>\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"row\" *ngIf=\"stockReceipt?.creator\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ stockReceipt?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ stockReceipt?.created_at | date }}\n </small>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockReceipt\"\n [relatedModelId]=\"stockReceipt?.id\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-entity-files-view-all title=\"Document\" [entityId]=\"stockReceipt?.id\" entityType=\"StockReceipt\">\n </app-entity-files-view-all>\n </div>\n </div>\n</div>" }]
|
|
55
54
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.StockReceiptService }, { type: i3.Location }] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLXJlY2VpcHRzL3N0b2NrLXJlY2VpcHQtdmlldy9zdG9jay1yZWNlaXB0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2stcmVjZWlwdHMvc3RvY2stcmVjZWlwdC12aWV3L3N0b2NrLXJlY2VpcHQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBVWxELE1BQU0sT0FBTyx5QkFBeUI7SUFPMUI7SUFDQTtJQUNBO0lBUFYsRUFBRSxDQUFVO0lBQ1osU0FBUyxDQUFXO0lBQ3BCLFlBQVksQ0FBTztJQUVuQixZQUNVLGNBQThCLEVBQzlCLE9BQTRCLEVBQzVCLFFBQWtCO1FBRmxCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sTUFBTSxHQUFRO1lBQ2xCLElBQUksRUFBRSw0Q0FBNEM7U0FDbkQsQ0FBQTtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNDLElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzt3R0F2Q1UseUJBQXlCOzRGQUF6Qix5QkFBeUIsOERDVnRDLHlsTkE0SE07OzRGRGxITyx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgU3RvY2tSZWNlaXB0U2VydmljZSB9IGZyb20gXCIuLi9zdG9jay1yZWNlaXB0LnNlcnZpY2VcIjtcbmltcG9ydCB7TG9jYXRpb259IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXN0b2NrLXJlY2VpcHQtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9jay1yZWNlaXB0LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc3RvY2stcmVjZWlwdC12aWV3LmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrUmVjZWlwdFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGlkITogbnVtYmVyO1xuICBpc0xvYWRpbmchOiBib29sZWFuO1xuICBzdG9ja1JlY2VpcHQhOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBTdG9ja1JlY2VpcHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIHRoaXMuaWQgPSBwYXJzZUludChwYXJhbXNbJ2lkJ10pO1xuICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbG9hZERhdGEoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xuICAgICAgd2l0aDogJ2NyZWF0b3Isc3RvY2tSZWNlaXB0UHJvZHVjdHMucHJvZHVjdCxiYXRjaCdcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlLnNob3codGhpcy5pZCwgcGFyYW1zKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zdG9ja1JlY2VpcHQgPSByZXNwb25zZT8uaXRlbTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVkaXJlY3RCYWNrKCkge1xuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICB9XG59XG4iLCI8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG48ZGl2ICpuZ0lmPVwic3RvY2tSZWNlaXB0XCIgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LXN0YXJ0IGdhcC0yXCI+XG4gIDxtYXQtY2FyZD5cbiAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgIDxoMyBjbGFzcz1cIm1iLTBcIj5TdG9jayBSZWNlaXB0IGZvciB7eyBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnByb2R1Y3Q/Lm5hbWUgfX08L2gzPlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPC9tYXQtY2FyZD5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yXCIgc3R5bGU9XCJ3aWR0aDogMzUwcHhcIj5cbiAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj4gY2FtcGFpZ24gPC9zcGFuPlxuICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cIm1iLTAgdGV4dC1kYXJrXCI+SW5mb3JtYXRpb248L3N0cm9uZz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxhcHAtc3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbiBbc3RvY2tSZWNlaXB0XT1cInN0b2NrUmVjZWlwdFwiIFtwcm9kdWN0XT1cInN0b2NrUmVjZWlwdD8ucHJvZHVjdFwiXG4gICAgICAgICAgICAgIChzYXZlZCk9XCJsb2FkRGF0YSgpXCI+XG4gICAgICAgICAgICA8L2FwcC1zdG9jay1yZWNlaXB0LWZvcm0tYnV0dG9uPlxuICAgICAgICAgICAgPGFwcC1zdG9jay1yZWNlaXB0LWRlbGV0ZS1idXR0b24gW3N0b2NrUmVjZWlwdF09XCJzdG9ja1JlY2VpcHRcIiAoZGVsZXRlZCk9XCJyZWRpcmVjdEJhY2soKVwiPlxuICAgICAgICAgICAgPC9hcHAtc3RvY2stcmVjZWlwdC1kZWxldGUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1zdGFydCBnYXAtMiBtdC0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTBcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LWJsYWNrXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9pbnZlbnRvcnkvcHJvZHVjdHMnLCBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnByb2R1Y3Q/LmlkLCAndmlldyddXCI+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cInN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8ucHJvZHVjdD8uc2t1XCI+e3tcbiAgICAgICAgICAgICAgICBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnByb2R1Y3Q/LnNrdSB9fTwvc21hbGw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMFwiPlxuICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJzdG9ja1JlY2VpcHQ/LmRhdGVcIj57eyBzdG9ja1JlY2VpcHQ/LmRhdGUgfCBkYXRlIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8uYmF0Y2g/LmV4cGlyZXNfb25cIj5cbiAgICAgICAgICAgICAgICA8c21hbGwgdGVjaGxpZnlGZWF0dXJlRW5hYmxlZD1cInByb2R1Y3QtYmF0Y2gtbnVtYmVyc1wiPlxuICAgICAgICAgICAgICAgICAgRXhwaXJlcyBvbiB7eyBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LmJhdGNoPy5leHBpcmVzX29uIHwgZGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCIgKm5nSWY9XCJzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnB1cmNoYXNlX3ByaWNlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTBcIj5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlB1cmNoYXNlIFByaWNlPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj57eyBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnB1cmNoYXNlX3ByaWNlIHwgY3VycmVuY3kgfX08L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwic3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5zdXBwbGllclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5TdXBwbGllcjwvc21hbGw+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LWJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL2ludmVudG9yeS9zdXBwbGllcnMnLCBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnN1cHBsaWVyPy5pZCwgJ3ZpZXcnXVwiPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5zdXBwbGllcj8uY29tcGFueV9uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIiAqbmdJZj1cInN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8ucXVhbnRpdHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+UXVhbnRpdHk8L3NtYWxsPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTFcIj5cbiAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1iLTBcIj57eyBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnF1YW50aXR5IH19PC9oMz5cbiAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+e3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5tZWFzdXJlPy50aXRsZVxuICAgICAgICAgICAgICAgICAgICB9fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwic3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5hbW91bnRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+VG90YWwgVmFsdWU8L3NtYWxsPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1iLTBcIj57eyBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LmFtb3VudCB8IGN1cnJlbmN5IH19PC9oMz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCJzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnBhcnRpY3VsYXJzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTBcIj5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlBhcnRpY3VsYXJzPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj57eyBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnBhcnRpY3VsYXJzIH19PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwic3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5sb2NhdGlvblwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5Mb2NhdGlvbjwvc21hbGw+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5sb2NhdGlvbj8udGl0bGUgfX08L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5iYXRjaFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIiB0ZWNobGlmeUZlYXR1cmVFbmFibGVkPVwicHJvZHVjdC1iYXRjaC1udW1iZXJzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5CYXRjaDwvc21hbGw+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj57eyBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LmJhdGNoPy5iYXRjaF9udW1iZXIgfX08L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwic3RvY2tSZWNlaXB0Py5jcmVhdG9yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cIm1iLTBcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+Q3JlYXRlZCBCeTwvc3Bhbj4ge3sgc3RvY2tSZWNlaXB0Py5jcmVhdG9yPy5uYW1lIH19XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPk9uPC9zcGFuPiB7eyBzdG9ja1JlY2VpcHQ/LmNyZWF0ZWRfYXQgfCBkYXRlIH19XG4gICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgPC9tYXQtY2FyZD5cblxuICAgICAgPGFwcC1ub3RlLWxpc3QgbGFiZWxUZXh0PVwiTm90ZXNcIiB2aWV3TW9kZT1cInRpbWVsaW5lXCIgbW9kZWxUeXBlPVwiU3RvY2tSZWNlaXB0XCJcbiAgICAgICAgW3JlbGF0ZWRNb2RlbElkXT1cInN0b2NrUmVjZWlwdD8uaWRcIj48L2FwcC1ub3RlLWxpc3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4IC0gMC41cmVtKVwiPlxuICAgICAgPGFwcC1lbnRpdHktZmlsZXMtdmlldy1hbGwgdGl0bGU9XCJEb2N1bWVudFwiIFtlbnRpdHlJZF09XCJzdG9ja1JlY2VpcHQ/LmlkXCIgZW50aXR5VHlwZT1cIlN0b2NrUmVjZWlwdFwiPlxuICAgICAgPC9hcHAtZW50aXR5LWZpbGVzLXZpZXctYWxsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLXJlY2VpcHRzL3N0b2NrLXJlY2VpcHQtdmlldy9zdG9jay1yZWNlaXB0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2stcmVjZWlwdHMvc3RvY2stcmVjZWlwdC12aWV3L3N0b2NrLXJlY2VpcHQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFVbEQsTUFBTSxPQUFPLHlCQUF5QjtJQU8xQjtJQUNFO0lBQ0E7SUFQWixFQUFFLENBQVU7SUFDWixTQUFTLENBQVc7SUFDcEIsWUFBWSxDQUFPO0lBRW5CLFlBQ1UsY0FBOEIsRUFDNUIsT0FBNEIsRUFDNUIsUUFBa0I7UUFGcEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDM0IsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBTSxNQUFNLEdBQVE7WUFDbEIsSUFBSSxFQUFFLDRDQUE0QztTQUNuRCxDQUFBO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDM0MsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxFQUFFLElBQUksQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO3dHQXZDVSx5QkFBeUI7NEZBQXpCLHlCQUF5Qiw4RENWdEMseXNOQThITTs7NEZEcEhPLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBTdG9ja1JlY2VpcHRTZXJ2aWNlIH0gZnJvbSBcIi4uL3N0b2NrLXJlY2VpcHQuc2VydmljZVwiO1xuaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3RvY2stcmVjZWlwdC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b2NrLXJlY2VpcHQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zdG9jay1yZWNlaXB0LXZpZXcuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tSZWNlaXB0Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgaWQhOiBudW1iZXI7XG4gIGlzTG9hZGluZyE6IGJvb2xlYW47XG4gIHN0b2NrUmVjZWlwdCE6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcm90ZWN0ZWQgc2VydmljZTogU3RvY2tSZWNlaXB0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIHRoaXMuaWQgPSBwYXJzZUludChwYXJhbXNbJ2lkJ10pO1xuICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbG9hZERhdGEoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xuICAgICAgd2l0aDogJ2NyZWF0b3Isc3RvY2tSZWNlaXB0UHJvZHVjdHMucHJvZHVjdCxiYXRjaCdcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlLnNob3codGhpcy5pZCwgcGFyYW1zKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zdG9ja1JlY2VpcHQgPSByZXNwb25zZT8uaXRlbTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVkaXJlY3RCYWNrKCkge1xuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICB9XG59XG4iLCI8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG48ZGl2ICpuZ0lmPVwic3RvY2tSZWNlaXB0XCIgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LXN0YXJ0IGdhcC0yXCI+XG4gIDxtYXQtY2FyZD5cbiAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgIDxoMyBjbGFzcz1cIm1iLTBcIj5TdG9jayBSZWNlaXB0IGZvciB7eyBzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnByb2R1Y3Q/Lm5hbWUgfX08L2gzPlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPC9tYXQtY2FyZD5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yXCIgc3R5bGU9XCJ3aWR0aDogMzUwcHhcIj5cbiAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj4gY2FtcGFpZ24gPC9zcGFuPlxuICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cIm1iLTAgdGV4dC1kYXJrXCI+SW5mb3JtYXRpb248L3N0cm9uZz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgIDxhcHAtc3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbiBbc3RvY2tSZWNlaXB0XT1cInN0b2NrUmVjZWlwdFwiIFtwcm9kdWN0XT1cInN0b2NrUmVjZWlwdD8ucHJvZHVjdFwiXG4gICAgICAgICAgICAgIChzYXZlZCk9XCJsb2FkRGF0YSgpXCI+XG4gICAgICAgICAgICA8L2FwcC1zdG9jay1yZWNlaXB0LWZvcm0tYnV0dG9uPlxuICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1kZWxldGUtYnV0dG9uIFttb2RlbF09XCJzdG9ja1JlY2VpcHRcIiBbc2VydmljZV09XCJzZXJ2aWNlXCJcbiAgICAgICAgICAgICAgW2RhdGFdPVwieyB0aXRsZTogc3RvY2tSZWNlaXB0Py5pZCwgdHlwZTogJ1N0b2NrIFJlY2VpcHQnIH1cIlxuICAgICAgICAgICAgICAoZGVsZXRlZCk9XCJyZWRpcmVjdEJhY2soKVwiPlxuICAgICAgICAgICAgPC9hcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgZ2FwLTIgbXQtM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmUgdGV4dC1ibGFja1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvaW52ZW50b3J5L3Byb2R1Y3RzJywgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5pZCwgJ3ZpZXcnXVwiPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IHN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8ucHJvZHVjdD8ubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnByb2R1Y3Q/LnNrdVwiPnt7XG4gICAgICAgICAgICAgICAgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5wcm9kdWN0Py5za3UgfX08L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTBcIj5cbiAgICAgICAgICAgICAgPHNtYWxsICpuZ0lmPVwic3RvY2tSZWNlaXB0Py5kYXRlXCI+e3sgc3RvY2tSZWNlaXB0Py5kYXRlIHwgZGF0ZSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LmJhdGNoPy5leHBpcmVzX29uXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIHRlY2hsaWZ5RmVhdHVyZUVuYWJsZWQ9XCJwcm9kdWN0LWJhdGNoLW51bWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgIEV4cGlyZXMgb24ge3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5iYXRjaD8uZXhwaXJlc19vbiB8IGRhdGUgfX1cbiAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiICpuZ0lmPVwic3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5wdXJjaGFzZV9wcmljZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5QdXJjaGFzZSBQcmljZTwvc21hbGw+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5wdXJjaGFzZV9wcmljZSB8IGN1cnJlbmN5IH19PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIiAqbmdJZj1cInN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8uc3VwcGxpZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+U3VwcGxpZXI8L3NtYWxsPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmUgdGV4dC1ibGFja1wiXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9pbnZlbnRvcnkvc3VwcGxpZXJzJywgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5zdXBwbGllcj8uaWQsICd2aWV3J11cIj5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IHN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8uc3VwcGxpZXI/LmNvbXBhbnlfbmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCIgKm5nSWY9XCJzdG9ja1JlY2VpcHQ/LnN0b2NrX3JlY2VpcHRfcHJvZHVjdHNbMF0/LnF1YW50aXR5XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTBcIj5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlF1YW50aXR5PC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0xXCI+XG4gICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5xdWFudGl0eSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPnt7IHN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8ucHJvZHVjdD8ubWVhc3VyZT8udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIiAqbmdJZj1cInN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8uYW1vdW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTBcIj5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlRvdGFsIFZhbHVlPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5hbW91bnQgfCBjdXJyZW5jeSB9fTwvaDM+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwic3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5wYXJ0aWN1bGFyc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5QYXJ0aWN1bGFyczwvc21hbGw+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5wYXJ0aWN1bGFycyB9fTwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIiAqbmdJZj1cInN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8ubG9jYXRpb25cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+TG9jYXRpb248L3NtYWxsPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IHN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8ubG9jYXRpb24/LnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b2NrUmVjZWlwdD8uc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXT8uYmF0Y2hcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCIgdGVjaGxpZnlGZWF0dXJlRW5hYmxlZD1cInByb2R1Y3QtYmF0Y2gtbnVtYmVyc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTBcIj5cbiAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+QmF0Y2g8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgc3RvY2tSZWNlaXB0Py5zdG9ja19yZWNlaXB0X3Byb2R1Y3RzWzBdPy5iYXRjaD8uYmF0Y2hfbnVtYmVyIH19PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cInN0b2NrUmVjZWlwdD8uY3JlYXRvclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJtYi0wXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPkNyZWF0ZWQgQnk8L3NwYW4+IHt7IHN0b2NrUmVjZWlwdD8uY3JlYXRvcj8ubmFtZSB9fVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5Pbjwvc3Bhbj4ge3sgc3RvY2tSZWNlaXB0Py5jcmVhdGVkX2F0IHwgZGF0ZSB9fVxuICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgIDwvbWF0LWNhcmQ+XG5cbiAgICAgIDxhcHAtbm90ZS1saXN0IGxhYmVsVGV4dD1cIk5vdGVzXCIgdmlld01vZGU9XCJ0aW1lbGluZVwiIG1vZGVsVHlwZT1cIlN0b2NrUmVjZWlwdFwiXG4gICAgICAgIFtyZWxhdGVkTW9kZWxJZF09XCJzdG9ja1JlY2VpcHQ/LmlkXCI+PC9hcHAtbm90ZS1saXN0PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiBjYWxjKDEwMCUgLSAzNTBweCAtIDAuNXJlbSlcIj5cbiAgICAgIDxhcHAtZW50aXR5LWZpbGVzLXZpZXctYWxsIHRpdGxlPVwiRG9jdW1lbnRcIiBbZW50aXR5SWRdPVwic3RvY2tSZWNlaXB0Py5pZFwiIGVudGl0eVR5cGU9XCJTdG9ja1JlY2VpcHRcIj5cbiAgICAgIDwvYXBwLWVudGl0eS1maWxlcy12aWV3LWFsbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|