@colijnit/transaction 255.1.38 → 255.1.40
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/bundles/colijnit-transaction.umd.js +414 -91
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction-255.1.39.tgz +0 -0
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/lib/component/core/base/transaction-payment-base.component.js +12 -4
- package/esm2015/lib/component/delivery-planning/service/delivery-planning.service.js +18 -1
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.js +53 -33
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.js +21 -11
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.js +12 -2
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.js +53 -3
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +79 -24
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +2 -1
- package/esm2015/lib/component/transaction/transaction.component.js +4 -1
- package/esm2015/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.js +33 -4
- package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +7 -4
- package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +2 -1
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +2 -2
- package/esm2015/lib/component/transaction-line-side-panel-planning/transaction-line-side-panel-planning.component.js +2 -2
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.js +21 -8
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +3 -2
- package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.js +22 -7
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +2 -1
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/transaction-purchase-reservation-order-tile.component.js +4 -14
- package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.component.js +3 -3
- package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.module.js +4 -3
- package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +5 -3
- package/esm2015/lib/enum/icon.enum.js +7 -1
- package/esm2015/lib/enum/transaction-cfg-name.enum.js +3 -1
- package/esm2015/lib/model/icon-svg.js +7 -1
- package/esm2015/lib/service/transaction-create.service.js +12 -1
- package/esm2015/lib/service/transaction-payment.service.js +9 -3
- package/esm2015/lib/service/transaction.service.js +11 -4
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +368 -117
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/core/base/transaction-payment-base.component.d.ts +5 -2
- package/lib/component/delivery-planning/service/delivery-planning.service.d.ts +4 -0
- package/lib/component/delivery-planning/style/_layout.scss +22 -1
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.d.ts +9 -6
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.d.ts +3 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/style/_layout.scss +25 -10
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.d.ts +9 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/style/_layout.scss +13 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.d.ts +14 -3
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.d.ts +16 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/style/_layout.scss +9 -6
- package/lib/component/delivery-planning-main/style/_layout.scss +0 -1
- package/lib/component/transaction/transaction.component.d.ts +1 -0
- package/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.d.ts +19 -0
- package/lib/component/transaction-internal/style/_layout.scss +6 -0
- package/lib/component/transaction-internal/transaction-internal.component.d.ts +1 -0
- package/lib/component/transaction-line-side-panel-planning/style/_layout.scss +20 -17
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/style/_layout.scss +16 -4
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.d.ts +5 -1
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.d.ts +2 -1
- package/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/style/_layout.scss +26 -20
- package/lib/component/transaction-service-overview/transaction-service-overview.component.d.ts +2 -0
- package/lib/enum/icon.enum.d.ts +6 -0
- package/lib/enum/transaction-cfg-name.enum.d.ts +2 -1
- package/lib/service/transaction-create.service.d.ts +2 -0
- package/lib/service/transaction-payment.service.d.ts +3 -1
- package/lib/service/transaction.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ import { CreateServiceOrderWithSourceTransactionLineRequest } from "@colijnit/tr
|
|
|
4
4
|
import { CreateServiceOrderWithSourceGoodRequest } from "@colijnit/transactionapi/build/model/create-service-order-with-source-good-request";
|
|
5
5
|
import { CreateServiceOrderWithSLARequest } from "@colijnit/transactionapi/build/model/create-service-order-with-SLA-request";
|
|
6
6
|
import { CreateServiceOrderWithSourceOrderNrAndArticleDescriptionRequest } from "@colijnit/transactionapi/build/model/create-service-order-with-source-ordernr-and-article-description-request";
|
|
7
|
+
import { Injectable } from "@angular/core";
|
|
7
8
|
export class TransactionCreateService extends TransactionService {
|
|
8
9
|
createServiceOrderWithTransactionLine(transId, lineNr) {
|
|
9
10
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -63,5 +64,15 @@ export class TransactionCreateService extends TransactionService {
|
|
|
63
64
|
}));
|
|
64
65
|
});
|
|
65
66
|
}
|
|
67
|
+
//In this case we need information about a separate transaction to add info from it to the transaction we actually wish to create.
|
|
68
|
+
//As such we need to fetch a transaction but just return it. Not set it on the service.
|
|
69
|
+
getSeparateTransactionById(transactionId) {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
return yield this.connector.getTransactionById(transactionId);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
66
74
|
}
|
|
67
|
-
|
|
75
|
+
TransactionCreateService.decorators = [
|
|
76
|
+
{ type: Injectable }
|
|
77
|
+
];
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY3JlYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL3NlcnZpY2UvdHJhbnNhY3Rpb24tY3JlYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFDTCxrREFBa0QsRUFDbkQsTUFBTSxnR0FBZ0csQ0FBQztBQUN4RyxPQUFPLEVBQ0wsdUNBQXVDLEVBQ3hDLE1BQU0sb0ZBQW9GLENBQUM7QUFDNUYsT0FBTyxFQUNMLGdDQUFnQyxFQUNqQyxNQUFNLDRFQUE0RSxDQUFDO0FBQ3BGLE9BQU8sRUFDTCwrREFBK0QsRUFDaEUsTUFBTSwrR0FBK0csQ0FBQztBQUl2SCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUFDakQscUNBQXFDLENBQUMsT0FBZSxFQUFFLE1BQWM7O1lBQ2hGLE9BQU8sSUFBSSxPQUFPLENBQVUsQ0FBTyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDeEUsSUFBSSxPQUFPLEdBQXVELElBQUksa0RBQWtELEVBQUUsQ0FBQTtnQkFDMUgsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUN0QyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7Z0JBQ3RELE9BQU8sQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO2dCQUNoQyxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQTtnQkFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQywyQ0FBMkMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFpQyxFQUFFLEVBQUU7b0JBQzdH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LFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZVJlcXVlc3RcclxufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1zZXJ2aWNlLW9yZGVyLXdpdGgtc291cmNlLXRyYW5zYWN0aW9uLWxpbmUtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1xyXG4gIENyZWF0ZVNlcnZpY2VPcmRlcldpdGhTb3VyY2VHb29kUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXNlcnZpY2Utb3JkZXItd2l0aC1zb3VyY2UtZ29vZC1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlU2VydmljZU9yZGVyV2l0aFNMQVJlcXVlc3RcclxufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1zZXJ2aWNlLW9yZGVyLXdpdGgtU0xBLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtcclxuICBDcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlT3JkZXJOckFuZEFydGljbGVEZXNjcmlwdGlvblJlcXVlc3RcclxufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1zZXJ2aWNlLW9yZGVyLXdpdGgtc291cmNlLW9yZGVybnItYW5kLWFydGljbGUtZGVzY3JpcHRpb24tcmVxdWVzdFwiO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZVNlcnZpY2VIZWFkZXJSZXBvcnRNZXNzYWdlUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY2hhbmdlLXNlcnZpY2UtaGVhZGVyLXJlcG9ydC1tZXNzYWdlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DcmVhdGVTZXJ2aWNlIGV4dGVuZHMgVHJhbnNhY3Rpb25TZXJ2aWNlIHtcclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2VydmljZU9yZGVyV2l0aFRyYW5zYWN0aW9uTGluZSh0cmFuc0lkOiBudW1iZXIsIGxpbmVOcjogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oYXN5bmMgKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIGxldCByZXF1ZXN0OiBDcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlVHJhbnNhY3Rpb25MaW5lUmVxdWVzdCA9IG5ldyBDcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlVHJhbnNhY3Rpb25MaW5lUmVxdWVzdCgpXHJcbiAgICAgIHJlcXVlc3QuYnJhbmNoTnIgPSB0aGlzLmN1cnJlbnRCcmFuY2g7XHJcbiAgICAgIHJlcXVlc3QuY3VzdG9tZXJSZWxhdGlvbklkID0gdGhpcy5yZWxhdGlvbi5yZWxhdGlvbklkO1xyXG4gICAgICByZXF1ZXN0LnNvdXJjZVRyYW5zSWQgPSB0cmFuc0lkO1xyXG4gICAgICByZXF1ZXN0LnNvdXJjZUxpbmVOciA9IGxpbmVOclxyXG5cclxuICAgICAgdGhpcy5jb25uZWN0b3IuY3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZShyZXF1ZXN0KS50aGVuKChyZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLnJlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVNlcnZpY2VPcmRlcldpdGhTb3VyY2VHb29kKGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oYXN5bmMgKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIGxldCByZXF1ZXN0OiBDcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlR29vZFJlcXVlc3QgPSBuZXcgQ3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZUdvb2RSZXF1ZXN0KClcclxuICAgICAgcmVxdWVzdC5icmFuY2hOciA9IHRoaXMuY3VycmVudEJyYW5jaDtcclxuICAgICAgcmVxdWVzdC5jdXN0b21lclJlbGF0aW9uSWQgPSB0aGlzLnJlbGF0aW9uLnJlbGF0aW9uSWQ7XHJcbiAgICAgIHJlcXVlc3Quc291cmNlR29vZElkID0gZ29vZElkO1xyXG5cclxuICAgICAgdGhpcy5jb25uZWN0b3IuY3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZUdvb2QocmVxdWVzdCkudGhlbigocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW1lbWJlckN1cnJlbnRUcmFuc2FjdGlvbihyZXNwb25zZSk7XHJcbiAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU0xBKHByb2R1Y3ROYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPihhc3luYyAocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgbGV0IHJlcXVlc3Q6IENyZWF0ZVNlcnZpY2VPcmRlcldpdGhTTEFSZXF1ZXN0ID0gbmV3IENyZWF0ZVNlcnZpY2VPcmRlcldpdGhTTEFSZXF1ZXN0KClcclxuICAgICAgcmVxdWVzdC5icmFuY2hOciA9IHRoaXMuY3VycmVudEJyYW5jaDtcclxuICAgICAgcmVxdWVzdC5jdXN0b21lclJlbGF0aW9uSWQgPSB0aGlzLnJlbGF0aW9uLnJlbGF0aW9uSWQ7XHJcbiAgICAgIHJlcXVlc3QucHJvZHVjdE5hbWUgPSBwcm9kdWN0TmFtZTtcclxuXHJcbiAgICAgIHRoaXMuY29ubmVjdG9yLmNyZWF0ZVNlcnZpY2VPcmRlcldpdGhTTEEocmVxdWVzdCkudGhlbigocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW1lbWJlckN1cnJlbnRUcmFuc2FjdGlvbihyZXNwb25zZSk7XHJcbiAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlT3JkZXJOckFuZEFydGljbGVEZXNjcmlwdGlvbihvcmRlck5yOiBzdHJpbmcsIGFydGljbGVEZXNjcmlwdGlvbjogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oYXN5bmMgKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIGxldCByZXF1ZXN0OiBDcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlT3JkZXJOckFuZEFydGljbGVEZXNjcmlwdGlvblJlcXVlc3QgPSBuZXcgQ3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZU9yZGVyTnJBbmRBcnRpY2xlRGVzY3JpcHRpb25SZXF1ZXN0KClcclxuICAgICAgcmVxdWVzdC5icmFuY2hOciA9IHRoaXMuY3VycmVudEJyYW5jaDtcclxuICAgICAgcmVxdWVzdC5jdXN0b21lclJlbGF0aW9uSWQgPSB0aGlzLnJlbGF0aW9uLnJlbGF0aW9uSWQ7XHJcbiAgICAgIHJlcXVlc3Quc291cmNlT3JkZXJOdW1iZXIgPSBvcmRlck5yO1xyXG4gICAgICByZXF1ZXN0LnNvdXJjZUFydGljbGVEZXNjcmlwdGlvbiA9IGFydGljbGVEZXNjcmlwdGlvbjtcclxuXHJcbiAgICAgIHRoaXMuY29ubmVjdG9yLmNyZWF0ZVNlcnZpY2VPcmRlcldpdGhTb3VyY2VPcmRlck5yQW5kQXJ0aWNsZURlc2NyaXB0aW9uKHJlcXVlc3QpLnRoZW4oKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVtZW1iZXJDdXJyZW50VHJhbnNhY3Rpb24ocmVzcG9uc2UpO1xyXG4gICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0luIHRoaXMgY2FzZSB3ZSBuZWVkIGluZm9ybWF0aW9uIGFib3V0IGEgc2VwYXJhdGUgdHJhbnNhY3Rpb24gdG8gYWRkIGluZm8gZnJvbSBpdCB0byB0aGUgdHJhbnNhY3Rpb24gd2UgYWN0dWFsbHkgd2lzaCB0byBjcmVhdGUuXHJcbiAgLy9BcyBzdWNoIHdlIG5lZWQgdG8gZmV0Y2ggYSB0cmFuc2FjdGlvbiBidXQganVzdCByZXR1cm4gaXQuIE5vdCBzZXQgaXQgb24gdGhlIHNlcnZpY2UuXHJcbiAgcHVibGljIGFzeW5jIGdldFNlcGFyYXRlVHJhbnNhY3Rpb25CeUlkKHRyYW5zYWN0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRUcmFuc2FjdGlvbkJ5SWQodHJhbnNhY3Rpb25JZCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -42,11 +42,17 @@ export class TransactionPaymentService {
|
|
|
42
42
|
}
|
|
43
43
|
set cashRegisterDrawerNr(value) {
|
|
44
44
|
this._cashRegisterDrawerNr = value;
|
|
45
|
-
this.
|
|
45
|
+
this.setCashDrawerIdIfValidDrawer(this._cashRegisterDrawerNr);
|
|
46
46
|
}
|
|
47
47
|
get cashRegisterDrawerNr() {
|
|
48
48
|
return this._cashRegisterDrawerNr;
|
|
49
49
|
}
|
|
50
|
+
set cashRegisterDrawerId(value) {
|
|
51
|
+
this._cashRegisterDrawerId = value;
|
|
52
|
+
}
|
|
53
|
+
get cashRegisterDrawerId() {
|
|
54
|
+
return this._cashRegisterDrawerId;
|
|
55
|
+
}
|
|
50
56
|
ngOnDestroy() {
|
|
51
57
|
this._clearInterval();
|
|
52
58
|
}
|
|
@@ -230,7 +236,7 @@ export class TransactionPaymentService {
|
|
|
230
236
|
_dataUriToBase64(uri, mimeType) {
|
|
231
237
|
return uri ? "data:" + mimeType + ";base64," + uri : "";
|
|
232
238
|
}
|
|
233
|
-
|
|
239
|
+
setCashDrawerIdIfValidDrawer(drawerNr) {
|
|
234
240
|
return __awaiter(this, void 0, void 0, function* () {
|
|
235
241
|
this._cashRegisterDrawerId = NaN;
|
|
236
242
|
if (!drawerNr) {
|
|
@@ -262,4 +268,4 @@ TransactionPaymentService.ctorParameters = () => [
|
|
|
262
268
|
{ type: TransactionService },
|
|
263
269
|
{ type: DatePipe }
|
|
264
270
|
];
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXBheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUV6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUczRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUN4RyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR3BFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBSXpDLE1BQU0sT0FBTyx5QkFBeUI7SUFzRHBDLFlBQ1Usd0JBQWlELEVBQ2pELHdCQUE0RCxFQUM1RCxrQkFBcUMsRUFDckMsY0FBNkIsRUFDN0IsS0FBaUIsRUFDakIsbUJBQXVDLEVBQ3ZDLFNBQW1CO1FBTm5CLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFvQztRQUM1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dCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RG9QYXltZW50UmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RvLXBheW1lbnQtcmVxdWVzdCc7XHJcbmltcG9ydCB7UGF5bWVudE1ldGhvZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbWV0aG9kLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblBheW1lbnRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuL3RyYW5zYWN0aW9uLXBheW1lbnQtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NyZWF0ZVBheW1lbnRMaW5rUmVzdWx0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXBheW1lbnQtbGluay1yZXN1bHQuYm8nO1xyXG5pbXBvcnQge1BzcFRyYW5zYWN0aW9uU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHNwLXRyYW5zYWN0aW9uLXN0YXR1cy5ibyc7XHJcbmltcG9ydCB7SW9uZVBheW1lbnRTdGF0dXNDb2RlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9pb25lLXBheW1lbnQtc3RhdHVzLWNvZGUuZW51bSc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4vdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kZXBvc2l0LXBheW1lbnQtaW5mby5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWdpc3RlcmVkUGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1yZWdpc3RlcmVkLXBheW1lbnQtaW5mby5ibyc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4vZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm8nO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gXCIuL2RpYWxvZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q2FzaERyYXdlcnNSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtZHJhd2Vycy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtDYXNoRHJhd2VyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtZHJhd2VyLmJvXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblBheW1lbnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIGFtb3VudDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgYW1vdW50VG9QYXk6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHN0YXR1c01lc3NhZ2U6IHN0cmluZztcclxuICBwdWJsaWMgYnJhbmNoOiBzdHJpbmc7XHJcbiAgcHVibGljIHRyYW5zSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25VdWlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHNldCBjdXJyZW50UGF5bWVudE1ldGhvZCh2YWx1ZTogUGF5bWVudE1ldGhvZCkge1xyXG4gICAgdGhpcy5fY3VycmVudFBheW1lbnRNZXRob2QgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IFwiXCI7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgY3VycmVudFBheW1lbnRNZXRob2QoKTogUGF5bWVudE1ldGhvZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFBheW1lbnRNZXRob2Q7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGNhc2hSZWdpc3RlckRyYXdlck5yKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgdGhpcy5fY2FzaFJlZ2lzdGVyRHJhd2VyTnIgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5zZXRDYXNoRHJhd2VySWRJZlZhbGlmRHJhd2VyKHRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlck5yKTtcclxuICB9XHJcbiAgcHVibGljIGdldCBjYXNoUmVnaXN0ZXJEcmF3ZXJOcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlck5yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGN1cnJlbmN5SWQ6IG51bWJlcjtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVyTnI6IG51bWJlcjtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVyR3JvdXBJZDogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgcHJpbnRlck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcHJpbnRlckxheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQ7XHJcbiAgcHVibGljIGVtYWlsTGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbDtcclxuXHJcbiAgcHVibGljIHFyQ29kZUltYWdlOiBzdHJpbmc7XHJcbiAgcHVibGljIHFyQ29kZVVybDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93UHNwUXJDb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGdldERlcG9zaXRBbW91bnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBjYW5jZWxVcmw6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHBheWVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcGF5bWVudEZhaWxlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHVibGljIHBvbGxpbmdGb3JTdGF0dXNTdGFydGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcG9sbGluZ0ZvclN0YXR1c0VuZGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9jYXNoUmVnaXN0ZXJEcmF3ZXJOcjogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2Nhc2hSZWdpc3RlckRyYXdlcklkOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfY3VycmVudFBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2Q7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFJlc3VsdDogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQ7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c0ludGVydmFsOiBhbnk7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbE1zOiBudW1iZXIgPSA1MDAwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNNYXhQb2xsSW50ZXJ2YWw6IG51bWJlciA9IDYwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wYXltZW50Q29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVQYXltZW50KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuYW1vdW50VG9QYXkgPT09IDApIHtcclxuICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gXCJcIjtcclxuICAgIHRoaXMuY2FuY2VsVXJsID0gXCJcIjtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IERvUGF5bWVudFJlcXVlc3QgPSBuZXcgRG9QYXltZW50UmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc0lkO1xyXG4gICAgcmVxdWVzdC5wYXltZW50TWV0aG9kQ29kZSA9IHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuY29kZTtcclxuICAgIHJlcXVlc3QuYW1vdW50ID0gdGhpcy5hbW91bnRUb1BheTtcclxuICAgIHJlcXVlc3QuY3VycmVuY3lJZCA9IHRoaXMuY3VycmVuY3lJZDtcclxuICAgIHJlcXVlc3QuY2FzaFJlZ2lzdGVyTnIgPSB0aGlzLmNhc2hSZWdpc3Rlck5yO1xyXG4gICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJHcm91cElkID0gdGhpcy5jYXNoUmVnaXN0ZXJHcm91cElkO1xyXG4gICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJEcmF3ZXJJZCA9IHRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlcklkO1xyXG5cclxuICAgIC8vQWxsIHBheW1lbnRzIG5lZWQgYSB2YWxpZCwgY3VycmVudGx5IGF2YWlsYWJsZSBjYXNoIGRyYXdlci4gT3RoZXJ3aXNlIGZpbmFuY2lhbCByZXBvcnRzIHdpbGwgYmUgd3JvbmcuXHJcbiAgICBpZiAoIXRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlcklkKSB7XHJcbiAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0luZm9ybWF0aW9uKCdORUVEX1JFR0lTVEVSX0RSQVdFUl9NRVNTQUdFJywgdHJ1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZCAmJiB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmV4dGVybmFsU291cmNlSWQpIHsgLy8gcHNwIHBheW1lbnRcclxuICAgICAgbGV0IHBzcFRyYW5zYWN0aW9uVXVpZDogc3RyaW5nID0gXCJcIjtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFBheW1lbnRNZXRob2Qub3BlbkNhc2hEcmF3ZXIpIHtcclxuICAgICAgICBpZih0aGlzLnByaW50ZXJOYW1lKSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5vcGVuRHJhd2VyKHRoaXMucHJpbnRlck5hbWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dJbmZvcm1hdGlvbignT1BFTl9EUkFXRVJfTk9fUFJJTlRFUl9NRVNTQUdFJywgdHJ1ZSlcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QucGluVGVybWluYWwpIHtcclxuICAgICAgICBwc3BUcmFuc2FjdGlvblV1aWQgPSBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5kb1BheW1lbnQocmVxdWVzdCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fcGF5bWVudFJlc3VsdCA9IGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmNyZWF0ZUlvbmVQYXltZW50TGlua0FuZFFSQ29kZSh0aGlzLnRyYW5zYWN0aW9uVXVpZCwgdGhpcy5hbW91bnRUb1BheSwgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5jb2RlKTtcclxuICAgICAgICBpZiAodGhpcy5fcGF5bWVudFJlc3VsdCAmJiB0aGlzLl9wYXltZW50UmVzdWx0LmltYWdlQmFzZTY0KSB7XHJcbiAgICAgICAgICB0aGlzLnFyQ29kZUltYWdlID0gdGhpcy5fZGF0YVVyaVRvQmFzZTY0KHRoaXMuX3BheW1lbnRSZXN1bHQuaW1hZ2VCYXNlNjQsICdpbWFnZS9wbmcnKTtcclxuICAgICAgICAgIHRoaXMucXJDb2RlVXJsID0gdGhpcy5fcGF5bWVudFJlc3VsdC51cmw7XHJcbiAgICAgICAgICB0aGlzLnNob3dQc3BRckNvZGUgPSB0cnVlO1xyXG4gICAgICAgICAgcHNwVHJhbnNhY3Rpb25VdWlkID0gdGhpcy5fcGF5bWVudFJlc3VsdC5wc3BUcmFuc2FjdGlvblVVSUQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChwc3BUcmFuc2FjdGlvblV1aWQpIHtcclxuICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMuX3dhaXRGb3JQaW5QYXltZW50U3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLm9wZW5DYXNoRHJhd2VyKSB7XHJcbiAgICAgICAgaWYodGhpcy5wcmludGVyTmFtZSkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2Uub3BlbkRyYXdlcih0aGlzLnByaW50ZXJOYW1lKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93SW5mb3JtYXRpb24oJ09QRU5fRFJBV0VSX05PX1BSSU5URVJfTUVTU0FHRScsIHRydWUpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmRvUGF5bWVudChyZXF1ZXN0KS50aGVuKGFzeW5jICgpID0+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLnByZXBhcmVQYXltZW50SW5mbygpO1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoZmFsc2UpO1xyXG4gICAgICAgIGlmICh0aGlzLmFtb3VudFRvUGF5ID09PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWxQYXltZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2FuY2VsVXJsKSB7XHJcbiAgICAgIHRoaXMuX2h0dHAuZ2V0PGFueT4odGhpcy5jYW5jZWxVcmwpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gbmV4dDogZGF0YSA9PiB7XHJcbiAgICAgICAgLy8gICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAvLyB9LFxyXG4gICAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHJlcGFyZVBheW1lbnRJbmZvKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5nZXREZXBvc2l0QW1vdW50KSB7XHJcbiAgICAgIGNvbnN0IGluZm86IFRyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICB0aGlzLmFtb3VudFRvUGF5ID0gaW5mby5kZXBvc2l0UmVtYWluZGVyQW1vdW50O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nKXtcclxuICAgICAgdGhpcy5hbW91bnRUb1BheSA9IHRoaXMuYW1vdW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5mbzogVHJhbnNhY3Rpb25SZWdpc3RlcmVkUGF5bWVudEluZm8gPSBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRSZWdpc3RlcmVkUGF5bWVudEluZm8odGhpcy50cmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICBpZiAoaW5mbykge1xyXG4gICAgICAgIHRoaXMuYW1vdW50VG9QYXkgPSB0aGlzLmFtb3VudCAtIGluZm8udG90YWxBbW91bnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3dhaXRGb3JQaW5QYXltZW50U3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAocHNwVHJhbnNhY3Rpb25VdWlkKSB7XHJcbiAgICAgIHRoaXMucG9sbGluZ0ZvclN0YXR1c1N0YXJ0ZWQubmV4dCgpO1xyXG4gICAgICBjb25zdCBwaW5TdGF0dXM6IFBzcFRyYW5zYWN0aW9uU3RhdHVzID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UHNwVHJhbnNhY3Rpb25TdGF0dXMocHNwVHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzKSB7XHJcbiAgICAgICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gcGluU3RhdHVzLnN0YXR1cy5kZXNjcmlwdGlvbjtcclxuICAgICAgICBpZiAocGluU3RhdHVzLmNhbmNlbFVybCkge1xyXG4gICAgICAgICAgdGhpcy5jYW5jZWxVcmwgPSBwaW5TdGF0dXMuY2FuY2VsVXJsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAocGluU3RhdHVzICYmIHBpblN0YXR1cy5zdGF0dXNEYXRlICYmIHBpblN0YXR1cy5zdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cy5lbmRTdGF0dXMpIHtcclxuICAgICAgICBpZiAocGluU3RhdHVzLnN0YXR1cy5jb2RlID09PSBJb25lUGF5bWVudFN0YXR1c0NvZGUuUEFJRCkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5wcmVwYXJlUGF5bWVudEluZm8oKTtcclxuICAgICAgICAgIGlmICh0aGlzLmFtb3VudFRvUGF5ID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoKTtcclxuICAgICAgICAgICAgdGhpcy5wb2xsaW5nRm9yU3RhdHVzRW5kZWQubmV4dCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCsrO1xyXG4gICAgICB0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCA+PSB0aGlzLl9wYXltZW50U3RhdHVzTWF4UG9sbEludGVydmFsKSB7XHJcbiAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50RmFpbGVkKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHBpblN0YXR1czogUHNwVHJhbnNhY3Rpb25TdGF0dXMgPSBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRQc3BUcmFuc2FjdGlvblN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IHBpblN0YXR1cy5zdGF0dXMuZGVzY3JpcHRpb247XHJcbiAgICAgICAgICAgIGlmIChwaW5TdGF0dXMuY2FuY2VsVXJsKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jYW5jZWxVcmwgPSBwaW5TdGF0dXMuY2FuY2VsVXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocGluU3RhdHVzICYmIHBpblN0YXR1cy5zdGF0dXNEYXRlICYmIHBpblN0YXR1cy5zdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cy5lbmRTdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy5jYW5jZWxVcmwgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgICAgIGlmIChwaW5TdGF0dXMuc3RhdHVzLmNvZGUgPT09IElvbmVQYXltZW50U3RhdHVzQ29kZS5QQUlEKSB7XHJcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcmVwYXJlUGF5bWVudEluZm8oKTtcclxuICAgICAgICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50RmFpbGVkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbE1zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZVBheW1lbnQoZW1pdFBheWVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5wb2xsaW5nRm9yU3RhdHVzRW5kZWQubmV4dCgpO1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25QYXltZW50RG9uZS5uZXh0KCk7XHJcbiAgICBpZiAoZW1pdFBheWVkKSB7XHJcbiAgICAgIHRoaXMucGF5ZWQubmV4dCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYW5jZWxVcmwgPSBcIlwiO1xyXG4gICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gXCJcIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZVBheW1lbnRGYWlsZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1BBWU1FTlRfVElNRU9VVCcpO1xyXG4gICAgdGhpcy5wb2xsaW5nRm9yU3RhdHVzRW5kZWQubmV4dCgpO1xyXG4gICAgdGhpcy5wYXltZW50RmFpbGVkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NsZWFySW50ZXJ2YWwoKTogdm9pZCB7XHJcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3BheW1lbnRTdGF0dXNJbnRlcnZhbCk7XHJcbiAgICB0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kYXRhVXJpVG9CYXNlNjQodXJpOiBzdHJpbmcsIG1pbWVUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHVyaSA/IFwiZGF0YTpcIiArIG1pbWVUeXBlICsgXCI7YmFzZTY0LFwiICsgdXJpIDogXCJcIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2V0Q2FzaERyYXdlcklkSWZWYWxpZkRyYXdlcihkcmF3ZXJOcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9jYXNoUmVnaXN0ZXJEcmF3ZXJJZCA9IE5hTjtcclxuICAgIGlmICghZHJhd2VyTnIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXF1ZXN0OkNhc2hEcmF3ZXJzUmVxdWVzdCA9IG5ldyBDYXNoRHJhd2Vyc1JlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuZ3JvdXAgPSB0aGlzLmNhc2hSZWdpc3Rlckdyb3VwSWQ7XHJcbiAgICByZXF1ZXN0LmRhdGUgPSBcIj89J1wiICsgdGhpcy5fZGF0ZVBpcGUudHJhbnNmb3JtKG5ldyBEYXRlKCksIFwiZGQtTU0teXl5eVwiKSArIFwiJ1wiO1xyXG5cclxuICAgIGxldCBkcmF3ZXJzOiBDYXNoRHJhd2VyW10gPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q2FzaERyYXdlcnMocmVxdWVzdCk7XHJcbiAgICBpZiAoZHJhd2VycyAmJiBkcmF3ZXJzLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICBkcmF3ZXJzLmZvckVhY2goZCA9PiB7XHJcbiAgICAgICAgaWYoZC5uciA9PT0gZHJhd2VyTnIpIHtcclxuICAgICAgICAgIHRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlcklkID0gZC5pZFxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXBheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUV6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUczRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUN4RyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR3BFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBSXpDLE1BQU0sT0FBTyx5QkFBeUI7SUE0RHBDLFlBQ1Usd0JBQWlELEVBQ2pELHdCQUE0RCxFQUM1RCxrQkFBcUMsRUFDckMsY0FBNkIsRUFDN0IsS0FBaUIsRUFDakIsbUJBQXVDLEVBQ3ZDLFNBQW1CO1FBTm5CLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFvQztRQUM1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Q0FBQzthQUNKO1FBQ0gsQ0FBQztLQUFBOzs7WUE3UUYsVUFBVTs7O1lBYkgsdUJBQXVCO1lBTHZCLGtDQUFrQztZQVFsQyxpQkFBaUI7WUFJakIsYUFBYTtZQUhiLFVBQVU7WUFJVixrQkFBa0I7WUFFbEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEb1BheW1lbnRSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZG8tcGF5bWVudC1yZXF1ZXN0JztcclxuaW1wb3J0IHtQYXltZW50TWV0aG9kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1tZXRob2QuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUGF5bWVudENvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4vdHJhbnNhY3Rpb24tcGF5bWVudC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7Q3JlYXRlUGF5bWVudExpbmtSZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtcGF5bWVudC1saW5rLXJlc3VsdC5ibyc7XHJcbmltcG9ydCB7UHNwVHJhbnNhY3Rpb25TdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wc3AtdHJhbnNhY3Rpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtJb25lUGF5bWVudFN0YXR1c0NvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2lvbmUtcGF5bWVudC1zdGF0dXMtY29kZS5lbnVtJztcclxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblJlZ2lzdGVyZWRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXJlZ2lzdGVyZWQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSBcIi4vZGlhbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtDYXNoRHJhd2Vyc1JlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY2FzaC1kcmF3ZXJzLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0Nhc2hEcmF3ZXJ9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY2FzaC1kcmF3ZXIuYm9cIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uUGF5bWVudFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwdWJsaWMgYW1vdW50OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBhbW91bnRUb1BheTogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgc3RhdHVzTWVzc2FnZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBicmFuY2g6IHN0cmluZztcclxuICBwdWJsaWMgdHJhbnNJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcclxuICBwdWJsaWMgc2V0IGN1cnJlbnRQYXltZW50TWV0aG9kKHZhbHVlOiBQYXltZW50TWV0aG9kKSB7XHJcbiAgICB0aGlzLl9jdXJyZW50UGF5bWVudE1ldGhvZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gXCJcIjtcclxuICB9XHJcbiAgcHVibGljIGdldCBjdXJyZW50UGF5bWVudE1ldGhvZCgpOiBQYXltZW50TWV0aG9kIHtcclxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UGF5bWVudE1ldGhvZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgY2FzaFJlZ2lzdGVyRHJhd2VyTnIodmFsdWU6IHN0cmluZykge1xyXG4gICAgICB0aGlzLl9jYXNoUmVnaXN0ZXJEcmF3ZXJOciA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnNldENhc2hEcmF3ZXJJZElmVmFsaWREcmF3ZXIodGhpcy5fY2FzaFJlZ2lzdGVyRHJhd2VyTnIpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGNhc2hSZWdpc3RlckRyYXdlck5yKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FzaFJlZ2lzdGVyRHJhd2VyTnI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGNhc2hSZWdpc3RlckRyYXdlcklkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlcklkID0gdmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgY2FzaFJlZ2lzdGVyRHJhd2VySWQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYXNoUmVnaXN0ZXJEcmF3ZXJJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjdXJyZW5jeUlkOiBudW1iZXI7XHJcbiAgcHVibGljIGNhc2hSZWdpc3Rlck5yOiBudW1iZXI7XHJcbiAgcHVibGljIGNhc2hSZWdpc3Rlckdyb3VwSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgcHJpbnRlck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcHJpbnRlckxheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQ7XHJcbiAgcHVibGljIGVtYWlsTGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbDtcclxuXHJcbiAgcHVibGljIHFyQ29kZUltYWdlOiBzdHJpbmc7XHJcbiAgcHVibGljIHFyQ29kZVVybDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93UHNwUXJDb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGdldERlcG9zaXRBbW91bnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBjYW5jZWxVcmw6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHBheWVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcGF5bWVudEZhaWxlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHVibGljIHBvbGxpbmdGb3JTdGF0dXNTdGFydGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcG9sbGluZ0ZvclN0YXR1c0VuZGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGRvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9jYXNoUmVnaXN0ZXJEcmF3ZXJOcjogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2Nhc2hSZWdpc3RlckRyYXdlcklkOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfY3VycmVudFBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2Q7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFJlc3VsdDogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQ7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c0ludGVydmFsOiBhbnk7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbE1zOiBudW1iZXIgPSA1MDAwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNNYXhQb2xsSW50ZXJ2YWw6IG51bWJlciA9IDYwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wYXltZW50Q29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVQYXltZW50KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuYW1vdW50VG9QYXkgPT09IDApIHtcclxuICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gXCJcIjtcclxuICAgIHRoaXMuY2FuY2VsVXJsID0gXCJcIjtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IERvUGF5bWVudFJlcXVlc3QgPSBuZXcgRG9QYXltZW50UmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc0lkO1xyXG4gICAgcmVxdWVzdC5wYXltZW50TWV0aG9kQ29kZSA9IHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuY29kZTtcclxuICAgIHJlcXVlc3QuYW1vdW50ID0gdGhpcy5hbW91bnRUb1BheTtcclxuICAgIHJlcXVlc3QuY3VycmVuY3lJZCA9IHRoaXMuY3VycmVuY3lJZDtcclxuICAgIHJlcXVlc3QuY2FzaFJlZ2lzdGVyTnIgPSB0aGlzLmNhc2hSZWdpc3Rlck5yO1xyXG4gICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJHcm91cElkID0gdGhpcy5jYXNoUmVnaXN0ZXJHcm91cElkO1xyXG4gICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJEcmF3ZXJJZCA9IHRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlcklkO1xyXG5cclxuICAgIC8vQWxsIHBheW1lbnRzIG5lZWQgYSB2YWxpZCwgY3VycmVudGx5IGF2YWlsYWJsZSBjYXNoIGRyYXdlci4gT3RoZXJ3aXNlIGZpbmFuY2lhbCByZXBvcnRzIHdpbGwgYmUgd3JvbmcuXHJcbiAgICBpZiAoIXRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlcklkKSB7XHJcbiAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0luZm9ybWF0aW9uKCdORUVEX1JFR0lTVEVSX0RSQVdFUl9NRVNTQUdFJywgdHJ1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZCAmJiB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmV4dGVybmFsU291cmNlSWQpIHsgLy8gcHNwIHBheW1lbnRcclxuICAgICAgbGV0IHBzcFRyYW5zYWN0aW9uVXVpZDogc3RyaW5nID0gXCJcIjtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFBheW1lbnRNZXRob2Qub3BlbkNhc2hEcmF3ZXIpIHtcclxuICAgICAgICBpZih0aGlzLnByaW50ZXJOYW1lKSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5vcGVuRHJhd2VyKHRoaXMucHJpbnRlck5hbWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dJbmZvcm1hdGlvbignT1BFTl9EUkFXRVJfTk9fUFJJTlRFUl9NRVNTQUdFJywgdHJ1ZSlcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QucGluVGVybWluYWwpIHtcclxuICAgICAgICBwc3BUcmFuc2FjdGlvblV1aWQgPSBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5kb1BheW1lbnQocmVxdWVzdCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fcGF5bWVudFJlc3VsdCA9IGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmNyZWF0ZUlvbmVQYXltZW50TGlua0FuZFFSQ29kZSh0aGlzLnRyYW5zYWN0aW9uVXVpZCwgdGhpcy5hbW91bnRUb1BheSwgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5jb2RlKTtcclxuICAgICAgICBpZiAodGhpcy5fcGF5bWVudFJlc3VsdCAmJiB0aGlzLl9wYXltZW50UmVzdWx0LmltYWdlQmFzZTY0KSB7XHJcbiAgICAgICAgICB0aGlzLnFyQ29kZUltYWdlID0gdGhpcy5fZGF0YVVyaVRvQmFzZTY0KHRoaXMuX3BheW1lbnRSZXN1bHQuaW1hZ2VCYXNlNjQsICdpbWFnZS9wbmcnKTtcclxuICAgICAgICAgIHRoaXMucXJDb2RlVXJsID0gdGhpcy5fcGF5bWVudFJlc3VsdC51cmw7XHJcbiAgICAgICAgICB0aGlzLnNob3dQc3BRckNvZGUgPSB0cnVlO1xyXG4gICAgICAgICAgcHNwVHJhbnNhY3Rpb25VdWlkID0gdGhpcy5fcGF5bWVudFJlc3VsdC5wc3BUcmFuc2FjdGlvblVVSUQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChwc3BUcmFuc2FjdGlvblV1aWQpIHtcclxuICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMuX3dhaXRGb3JQaW5QYXltZW50U3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLm9wZW5DYXNoRHJhd2VyKSB7XHJcbiAgICAgICAgaWYodGhpcy5wcmludGVyTmFtZSkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2Uub3BlbkRyYXdlcih0aGlzLnByaW50ZXJOYW1lKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93SW5mb3JtYXRpb24oJ09QRU5fRFJBV0VSX05PX1BSSU5URVJfTUVTU0FHRScsIHRydWUpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmRvUGF5bWVudChyZXF1ZXN0KS50aGVuKGFzeW5jICgpID0+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLnByZXBhcmVQYXltZW50SW5mbygpO1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoZmFsc2UpO1xyXG4gICAgICAgIGlmICh0aGlzLmFtb3VudFRvUGF5ID09PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWxQYXltZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2FuY2VsVXJsKSB7XHJcbiAgICAgIHRoaXMuX2h0dHAuZ2V0PGFueT4odGhpcy5jYW5jZWxVcmwpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gbmV4dDogZGF0YSA9PiB7XHJcbiAgICAgICAgLy8gICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAvLyB9LFxyXG4gICAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHJlcGFyZVBheW1lbnRJbmZvKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5nZXREZXBvc2l0QW1vdW50KSB7XHJcbiAgICAgIGNvbnN0IGluZm86IFRyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICB0aGlzLmFtb3VudFRvUGF5ID0gaW5mby5kZXBvc2l0UmVtYWluZGVyQW1vdW50O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nKXtcclxuICAgICAgdGhpcy5hbW91bnRUb1BheSA9IHRoaXMuYW1vdW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5mbzogVHJhbnNhY3Rpb25SZWdpc3RlcmVkUGF5bWVudEluZm8gPSBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRSZWdpc3RlcmVkUGF5bWVudEluZm8odGhpcy50cmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICBpZiAoaW5mbykge1xyXG4gICAgICAgIHRoaXMuYW1vdW50VG9QYXkgPSB0aGlzLmFtb3VudCAtIGluZm8udG90YWxBbW91bnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3dhaXRGb3JQaW5QYXltZW50U3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAocHNwVHJhbnNhY3Rpb25VdWlkKSB7XHJcbiAgICAgIHRoaXMucG9sbGluZ0ZvclN0YXR1c1N0YXJ0ZWQubmV4dCgpO1xyXG4gICAgICBjb25zdCBwaW5TdGF0dXM6IFBzcFRyYW5zYWN0aW9uU3RhdHVzID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UHNwVHJhbnNhY3Rpb25TdGF0dXMocHNwVHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzKSB7XHJcbiAgICAgICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gcGluU3RhdHVzLnN0YXR1cy5kZXNjcmlwdGlvbjtcclxuICAgICAgICBpZiAocGluU3RhdHVzLmNhbmNlbFVybCkge1xyXG4gICAgICAgICAgdGhpcy5jYW5jZWxVcmwgPSBwaW5TdGF0dXMuY2FuY2VsVXJsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAocGluU3RhdHVzICYmIHBpblN0YXR1cy5zdGF0dXNEYXRlICYmIHBpblN0YXR1cy5zdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cy5lbmRTdGF0dXMpIHtcclxuICAgICAgICBpZiAocGluU3RhdHVzLnN0YXR1cy5jb2RlID09PSBJb25lUGF5bWVudFN0YXR1c0NvZGUuUEFJRCkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5wcmVwYXJlUGF5bWVudEluZm8oKTtcclxuICAgICAgICAgIGlmICh0aGlzLmFtb3VudFRvUGF5ID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoKTtcclxuICAgICAgICAgICAgdGhpcy5wb2xsaW5nRm9yU3RhdHVzRW5kZWQubmV4dCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCsrO1xyXG4gICAgICB0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCA+PSB0aGlzLl9wYXltZW50U3RhdHVzTWF4UG9sbEludGVydmFsKSB7XHJcbiAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50RmFpbGVkKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHBpblN0YXR1czogUHNwVHJhbnNhY3Rpb25TdGF0dXMgPSBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRQc3BUcmFuc2FjdGlvblN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IHBpblN0YXR1cy5zdGF0dXMuZGVzY3JpcHRpb247XHJcbiAgICAgICAgICAgIGlmIChwaW5TdGF0dXMuY2FuY2VsVXJsKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jYW5jZWxVcmwgPSBwaW5TdGF0dXMuY2FuY2VsVXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocGluU3RhdHVzICYmIHBpblN0YXR1cy5zdGF0dXNEYXRlICYmIHBpblN0YXR1cy5zdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cy5lbmRTdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy5jYW5jZWxVcmwgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgICAgIGlmIChwaW5TdGF0dXMuc3RhdHVzLmNvZGUgPT09IElvbmVQYXltZW50U3RhdHVzQ29kZS5QQUlEKSB7XHJcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcmVwYXJlUGF5bWVudEluZm8oKTtcclxuICAgICAgICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50RmFpbGVkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbE1zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZVBheW1lbnQoZW1pdFBheWVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5wb2xsaW5nRm9yU3RhdHVzRW5kZWQubmV4dCgpO1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25QYXltZW50RG9uZS5uZXh0KCk7XHJcbiAgICBpZiAoZW1pdFBheWVkKSB7XHJcbiAgICAgIHRoaXMucGF5ZWQubmV4dCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYW5jZWxVcmwgPSBcIlwiO1xyXG4gICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gXCJcIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZVBheW1lbnRGYWlsZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1BBWU1FTlRfVElNRU9VVCcpO1xyXG4gICAgdGhpcy5wb2xsaW5nRm9yU3RhdHVzRW5kZWQubmV4dCgpO1xyXG4gICAgdGhpcy5wYXltZW50RmFpbGVkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NsZWFySW50ZXJ2YWwoKTogdm9pZCB7XHJcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3BheW1lbnRTdGF0dXNJbnRlcnZhbCk7XHJcbiAgICB0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kYXRhVXJpVG9CYXNlNjQodXJpOiBzdHJpbmcsIG1pbWVUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHVyaSA/IFwiZGF0YTpcIiArIG1pbWVUeXBlICsgXCI7YmFzZTY0LFwiICsgdXJpIDogXCJcIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2V0Q2FzaERyYXdlcklkSWZWYWxpZERyYXdlcihkcmF3ZXJOcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9jYXNoUmVnaXN0ZXJEcmF3ZXJJZCA9IE5hTjtcclxuICAgIGlmICghZHJhd2VyTnIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXF1ZXN0OkNhc2hEcmF3ZXJzUmVxdWVzdCA9IG5ldyBDYXNoRHJhd2Vyc1JlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuZ3JvdXAgPSB0aGlzLmNhc2hSZWdpc3Rlckdyb3VwSWQ7XHJcbiAgICByZXF1ZXN0LmRhdGUgPSBcIj89J1wiICsgdGhpcy5fZGF0ZVBpcGUudHJhbnNmb3JtKG5ldyBEYXRlKCksIFwiZGQtTU0teXl5eVwiKSArIFwiJ1wiO1xyXG5cclxuICAgIGxldCBkcmF3ZXJzOiBDYXNoRHJhd2VyW10gPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q2FzaERyYXdlcnMocmVxdWVzdCk7XHJcbiAgICBpZiAoZHJhd2VycyAmJiBkcmF3ZXJzLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICBkcmF3ZXJzLmZvckVhY2goZCA9PiB7XHJcbiAgICAgICAgaWYoZC5uciA9PT0gZHJhd2VyTnIpIHtcclxuICAgICAgICAgIHRoaXMuX2Nhc2hSZWdpc3RlckRyYXdlcklkID0gZC5pZFxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|