@colijnit/transaction 12.1.2 → 12.1.6
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/app/component/checkout/{retail-transaction-checkout/retail-transaction-checkout.component.d.ts → checkout-transaction/checkout-transaction.component.d.ts} +1 -1
- package/app/component/checkout/ione-checkout.component.d.ts +0 -2
- package/app/component/core/base/transaction-base.component.d.ts +10 -0
- package/app/component/{shopping-cart → core}/characteristic-answer/characteristic-answer.component.d.ts +0 -0
- package/app/component/{common → core}/icon/icon.component.d.ts +0 -0
- package/app/component/{common → core}/image-display/image-display.component.d.ts +0 -0
- package/app/component/{common → core}/no-image-display/no-image-display.component.d.ts +0 -0
- package/app/component/service-order/service-order.component.d.ts +13 -9
- package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +22 -13
- package/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +23 -0
- package/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.d.ts +19 -0
- package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +64 -0
- package/app/component/service-order/warehouse/warehouse.component.d.ts +35 -0
- package/app/component/shopping-cart/ione-shopping-cart.component.d.ts +1 -1
- package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +2 -2
- package/{enum → app/enum}/position-grid-row.enum.d.ts +0 -0
- package/app/model/standard-text.d.ts +5 -0
- package/app/model/transaction-add-text-line-request.d.ts +9 -0
- package/app/service/dictionary.service.d.ts +1 -0
- package/app/service/ione-connector-adapter.service.d.ts +3 -0
- package/app/service/transaction-event.service.d.ts +1 -1
- package/app/service/transaction.service.d.ts +18 -8
- package/bundles/colijnit-transaction.umd.js +1535 -533
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +45 -41
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +2 -2
- package/esm2015/app/component/checkout/checkout-transaction/checkout-transaction.component.js +53 -0
- package/esm2015/app/component/checkout/ione-checkout.component.js +2 -4
- package/esm2015/app/component/checkout/ione-checkout.module.js +5 -3
- package/esm2015/app/component/core/base/transaction-base.component.js +35 -12
- package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +100 -0
- package/esm2015/app/component/core/core.module.js +4 -4
- package/esm2015/app/component/{common → core}/icon/icon.component.js +1 -1
- package/esm2015/app/component/core/image-display/image-display.component.js +41 -0
- package/esm2015/app/component/core/no-image-display/no-image-display.component.js +26 -0
- package/esm2015/app/component/service-order/ione-service-order-module.js +15 -4
- package/esm2015/app/component/service-order/service-order.component.js +53 -20
- package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +107 -150
- package/esm2015/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.js +105 -0
- package/esm2015/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.js +73 -0
- package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +314 -0
- package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +2 -2
- package/esm2015/app/component/service-order/warehouse/warehouse.component.js +133 -0
- package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +2 -2
- package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +3 -3
- package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +3 -3
- package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +1 -1
- package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +3 -3
- package/esm2015/app/enum/position-grid-row.enum.js +6 -0
- package/esm2015/app/model/standard-text.js +3 -0
- package/esm2015/app/model/transaction-add-text-line-request.js +11 -0
- package/esm2015/app/service/dictionary.service.js +20 -9
- package/esm2015/app/service/ione-connector-adapter.service.js +30 -1
- package/esm2015/app/service/transaction-event.service.js +1 -1
- package/esm2015/app/service/transaction.service.js +98 -23
- package/esm2015/assets/dictionary/text.properties.js +13 -1
- package/esm2015/colijnit-transaction.js +46 -42
- package/fesm2015/colijnit-transaction.js +1512 -757
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/package.json +4 -3
- package/esm2015/app/component/checkout/retail-transaction-checkout/retail-transaction-checkout.component.js +0 -53
- package/esm2015/app/component/common/image-display/image-display.component.js +0 -41
- package/esm2015/app/component/common/no-image-display/no-image-display.component.js +0 -26
- package/esm2015/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +0 -99
- package/esm2015/enum/position-grid-row.enum.js +0 -6
package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js
ADDED
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
|
|
3
|
+
import { TransactionService } from "../../../service/transaction.service";
|
|
4
|
+
import { NumberUtils } from "@colijnit/transactionapi/build/utils/number-utils";
|
|
5
|
+
import { TransactionEventService } from "../../../service/transaction-event.service";
|
|
6
|
+
import { ResolvePendingLineReasonRequest } from "@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo";
|
|
7
|
+
import { TransactionLineType } from "@colijnit/transactionapi/build/enum/transaction-line-type.enum";
|
|
8
|
+
import { PendingReasonType } from "@colijnit/transactionapi/build/enum/pending-reason-type.enum";
|
|
9
|
+
import { DictionaryService } from "../../../service/dictionary.service";
|
|
10
|
+
import { PositionGridRow } from "../../../enum/position-grid-row.enum";
|
|
11
|
+
import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
|
|
12
|
+
import { PromptService } from "@colijnit/corecomponents_v12";
|
|
13
|
+
export class TransactionManagerComponent extends TransactionBaseComponent {
|
|
14
|
+
constructor(service, transactionEvents, promptService, _dictionaryService) {
|
|
15
|
+
super(service);
|
|
16
|
+
this.service = service;
|
|
17
|
+
this.transactionEvents = transactionEvents;
|
|
18
|
+
this.promptService = promptService;
|
|
19
|
+
this._dictionaryService = _dictionaryService;
|
|
20
|
+
this.linesChanged = new EventEmitter();
|
|
21
|
+
this.articleAdded = new EventEmitter();
|
|
22
|
+
this.columns = [];
|
|
23
|
+
this._inOutCollection = [];
|
|
24
|
+
this._showCharacteristic = false;
|
|
25
|
+
this._subs = [];
|
|
26
|
+
this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
|
|
27
|
+
if (transactionInfoResponse.isSuccess) {
|
|
28
|
+
this.transaction = transactionInfoResponse;
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
get amountOfLines() {
|
|
33
|
+
return NumberUtils.NrOrDefault(this.service.articleAmount, 0);
|
|
34
|
+
}
|
|
35
|
+
get showCharacteristicDialog() {
|
|
36
|
+
return this._showCharacteristic;
|
|
37
|
+
}
|
|
38
|
+
set showCharacteristicDialog(value) {
|
|
39
|
+
this._showCharacteristic = value;
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
this._subs.forEach(sub => sub.unsubscribe());
|
|
43
|
+
}
|
|
44
|
+
addArticleLine(transactionUuid, sku, amount, lineNr, beforeOrAfter) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const goodId = yield this.service.getGoodIdFromArticleNr(sku);
|
|
47
|
+
if (goodId) {
|
|
48
|
+
yield this._loadArticle(goodId);
|
|
49
|
+
yield this._handleAddArticleLineAt(amount, lineNr, beforeOrAfter);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.promptService.showError(this._dictionaryService.get("ARTICLE_UNKNOWN"));
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
changeLineSequence(fromIndex, toIndex) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
let fromLine = this._getTransactionLineInfoByIndex(fromIndex);
|
|
59
|
+
let toLine = this._getTransactionLineInfoByIndex(toIndex);
|
|
60
|
+
let aboveLineNr;
|
|
61
|
+
let belowLineNr;
|
|
62
|
+
if (fromIndex > toIndex) {
|
|
63
|
+
aboveLineNr = toLine.lineNr;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
belowLineNr = toLine.lineNr;
|
|
67
|
+
}
|
|
68
|
+
yield this.service.changeLineSequence(fromLine.uuid, aboveLineNr, belowLineNr, false)
|
|
69
|
+
.then((value) => {
|
|
70
|
+
this.handleLineOperationStatus(value);
|
|
71
|
+
}, (error) => this.promptService.showError(error));
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
showStockManager(line) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
this.warehouse.selectedWarehouseNr = line.warehouseNumber;
|
|
77
|
+
this.warehouse.amount = line.amount;
|
|
78
|
+
this.warehouse.commissionCode = line.commissionCode;
|
|
79
|
+
this.warehouse.message = this.currentOperationStatus.pendingReason;
|
|
80
|
+
this.warehouse.show(line.articleNumber);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
warehouseOkClick() {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
if (this.warehouse.commissionCode !== undefined) {
|
|
86
|
+
this.currentReason.commissionCode = this.warehouse.commissionCode;
|
|
87
|
+
}
|
|
88
|
+
if (this.warehouse.amount !== undefined) {
|
|
89
|
+
this.currentReason.quantity = this.warehouse.amount;
|
|
90
|
+
}
|
|
91
|
+
if (this.warehouse.selectedWarehouseNr !== undefined) {
|
|
92
|
+
this.currentReason.warehouseNr = this.warehouse.selectedWarehouseNr;
|
|
93
|
+
}
|
|
94
|
+
if (this.currentReason) {
|
|
95
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
96
|
+
.then((value) => {
|
|
97
|
+
this.handleLineOperationStatus(value);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
warehouseCancelClick() {
|
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
if (this.currentReason) {
|
|
105
|
+
yield this._cancelArticle(this.currentReason.lineUuid);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
handleCharacteristicAnswerOkClick(answer) {
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
112
|
+
this.currentReason.textualUserInput = answer;
|
|
113
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
114
|
+
.then((value) => {
|
|
115
|
+
this.handleLineOperationStatus(value);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
_handleAddArticle(amount = 1) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, 0, 0, false)
|
|
122
|
+
.then((value) => {
|
|
123
|
+
this.handleLineOperationStatus(value);
|
|
124
|
+
}, (error) => this.promptService.showError(error));
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
_handleAddArticleLineAt(amount, lineNr, beforeOrAfter) {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
yield this.service.addArticleToTransaction(this.transactionInfo.uuid, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
|
|
130
|
+
.then((value) => {
|
|
131
|
+
this.lineOperationStatuses = value.lineOperationStatuses;
|
|
132
|
+
this.handleLineOperationStatus(value);
|
|
133
|
+
}, (error) => this.promptService.showError(error));
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
_getWareHouseNoFromArticle() {
|
|
137
|
+
if (this.newArticle !== undefined && this.newArticle.stockLocations !== undefined && this.newArticle.stockLocations.length) {
|
|
138
|
+
return this.newArticle.stockLocations[0].warehouseNr;
|
|
139
|
+
}
|
|
140
|
+
return 0;
|
|
141
|
+
}
|
|
142
|
+
isLineOperationStatus(lineOperationStatuses) {
|
|
143
|
+
this.currentOperationStatus = this.service.pendingLineOperationStatus(lineOperationStatuses);
|
|
144
|
+
if (this.currentOperationStatus !== undefined) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
_confirmAction() {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
152
|
+
const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
|
|
153
|
+
this.currentReason.confirmation = yield this.promptService.showYesNo(pendingReasonText, " ");
|
|
154
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
155
|
+
.then((value) => {
|
|
156
|
+
this.handleLineOperationStatus(value);
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
_showInformation() {
|
|
161
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
163
|
+
const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
|
|
164
|
+
yield this.promptService.showOkModal(pendingReasonText, " ");
|
|
165
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
166
|
+
.then((value) => {
|
|
167
|
+
this.handleLineOperationStatus(value);
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
_getPendingReasonText(pendingReason) {
|
|
172
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
173
|
+
if (pendingReason === "ARTICLE_IS_DISCONTINUED_DO_YOU_WANT_TO_CONTINUE_PLEASE_CONFIRM") {
|
|
174
|
+
return this._dictionaryService.get("ARTICLE_IN_OUT_COLLECTION").replace("|~", yield this.getInOutCollectionOfArticle());
|
|
175
|
+
}
|
|
176
|
+
return this._dictionaryService.get(pendingReason);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
getInOutCollectionOfArticle() {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
if (!this._inOutCollection.length) {
|
|
182
|
+
this._inOutCollection = yield this.service.getInOutCollection("NL");
|
|
183
|
+
}
|
|
184
|
+
const domainValue = this._inOutCollection.find(element => element.code === this.newArticle.inOutCollection);
|
|
185
|
+
if (domainValue) {
|
|
186
|
+
return domainValue.description;
|
|
187
|
+
}
|
|
188
|
+
return "";
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
handleLineOperationStatus(lineOperationResponse) {
|
|
192
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
193
|
+
if (this.isLineOperationStatus(lineOperationResponse.lineOperationStatuses)) {
|
|
194
|
+
this.transaction = lineOperationResponse;
|
|
195
|
+
this.articleAdded.emit(this.transaction);
|
|
196
|
+
yield this._handlePendingLine(this.currentOperationStatus.uuid).then();
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
yield this._saveTransaction();
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
_handlePendingLine(lineUuid) {
|
|
204
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
205
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
206
|
+
this.currentPendingLine = this.transactionLines.find(l => l.uuid === lineUuid);
|
|
207
|
+
switch (this.currentOperationStatus.pendingReasonType) {
|
|
208
|
+
case PendingReasonType.ABORTED:
|
|
209
|
+
case PendingReasonType.CANCELLED:
|
|
210
|
+
yield this._cancelArticle(this.currentPendingLine.uuid);
|
|
211
|
+
break;
|
|
212
|
+
case PendingReasonType.CONFIRMATION_NEEDED:
|
|
213
|
+
yield this._confirmAction();
|
|
214
|
+
break;
|
|
215
|
+
case PendingReasonType.INVALID_LOGISTICS:
|
|
216
|
+
yield this.showStockManager(this.currentPendingLine);
|
|
217
|
+
break;
|
|
218
|
+
case PendingReasonType.NON_CRITICAL_DISCONTINUATION:
|
|
219
|
+
yield this._showInformation();
|
|
220
|
+
break;
|
|
221
|
+
case PendingReasonType.CHARACTERISTICS_ANSWER_NEEDED:
|
|
222
|
+
this.CharacteristicsAnswerNeeded();
|
|
223
|
+
break;
|
|
224
|
+
case PendingReasonType.NONE:
|
|
225
|
+
default:
|
|
226
|
+
this.currentReason = undefined;
|
|
227
|
+
this.currentPendingLine = undefined;
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
_saveTransaction() {
|
|
233
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
234
|
+
if (this.transactionInfo) {
|
|
235
|
+
const success = yield this.service.saveTransactionByUuid(this.transactionInfo.uuid);
|
|
236
|
+
if (!success) {
|
|
237
|
+
this.promptService.showError("Transaction could not be saved!");
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
_loadArticle(goodId) {
|
|
243
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
244
|
+
this.newArticle = yield this.service.getArticleFullObject(goodId);
|
|
245
|
+
this.newArticleNr = this.newArticle.articleNr;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
addEmailAddressToTransaction(emailAddress) {
|
|
249
|
+
this.service.emailAddress = emailAddress;
|
|
250
|
+
}
|
|
251
|
+
CharacteristicsAnswerNeeded() {
|
|
252
|
+
this.characteristicAnswer.question = this.currentOperationStatus.characteristic.question;
|
|
253
|
+
this.characteristicAnswer.title = this.newArticle.description;
|
|
254
|
+
this.characteristicAnswer.value = this.currentOperationStatus.characteristic.value;
|
|
255
|
+
this.characteristicAnswer.characteristics = this.currentOperationStatus.characteristic.transactionLineCharacteristicChoices;
|
|
256
|
+
setTimeout(() => {
|
|
257
|
+
this.characteristicAnswer.open();
|
|
258
|
+
// eslint-disable-next-line no-magic-numbers
|
|
259
|
+
}, 1000);
|
|
260
|
+
}
|
|
261
|
+
_getTransactionLineInfoByIndex(index) {
|
|
262
|
+
if (index >= 0 && index < this.transactionLines.length) {
|
|
263
|
+
return this.service.currentLines[index];
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
_cancelArticle(uuid) {
|
|
267
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
268
|
+
yield this.service.cancelAddTransactionLine(uuid, false)
|
|
269
|
+
.then((response) => {
|
|
270
|
+
this.transaction = response;
|
|
271
|
+
this.articleAdded.emit(response);
|
|
272
|
+
});
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
addTextLineToTransaction(transactionUuid, text, lineNr, beforeOrAfter) {
|
|
276
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
277
|
+
yield this.service.addTextLineToTransaction(transactionUuid, 0, text, 0, false, lineNr, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
|
|
278
|
+
.then((response) => {
|
|
279
|
+
this.transaction = response;
|
|
280
|
+
this.articleAdded.emit(response);
|
|
281
|
+
}, (error) => this.promptService.showError(error));
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
TransactionManagerComponent.decorators = [
|
|
286
|
+
{ type: Component, args: [{
|
|
287
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
288
|
+
selector: "transaction-manager",
|
|
289
|
+
template: `
|
|
290
|
+
<warehouse #warehouse
|
|
291
|
+
(okClick)="warehouseOkClick()"
|
|
292
|
+
(cancelClick)="warehouseCancelClick()"
|
|
293
|
+
></warehouse>
|
|
294
|
+
<characteristic-answer
|
|
295
|
+
#characteristicAnswer
|
|
296
|
+
(okClick)="handleCharacteristicAnswerOkClick($event)"
|
|
297
|
+
></characteristic-answer>
|
|
298
|
+
`,
|
|
299
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,.warehouse-line-container{display:flex}.flex-center,.warehouse-line-container{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field,.commission-fields{margin-left:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}::ng-deep #warehouseDialog{align-items:center;max-height:100%}::ng-deep #warehouseDialog ::ng-deep co-form{height:100%;width:500px}::ng-deep #warehouseDialog ::ng-deep .form-content{height:calc(100% - 80px);width:100%}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field{height:20px;word-wrap:break-word;white-space:normal}co-button:not(:last-child){margin-right:10px}.commission-fields{justify-content:space-between;margin:10px 0}.warehouse-description-item{width:15rem}.warehouse-nr-item{width:5rem}co-input-number-picker co-button{max-width:20px}\n"]
|
|
300
|
+
},] }
|
|
301
|
+
];
|
|
302
|
+
TransactionManagerComponent.ctorParameters = () => [
|
|
303
|
+
{ type: TransactionService },
|
|
304
|
+
{ type: TransactionEventService },
|
|
305
|
+
{ type: PromptService },
|
|
306
|
+
{ type: DictionaryService }
|
|
307
|
+
];
|
|
308
|
+
TransactionManagerComponent.propDecorators = {
|
|
309
|
+
warehouse: [{ type: ViewChild, args: ["warehouse",] }],
|
|
310
|
+
characteristicAnswer: [{ type: ViewChild, args: ["characteristicAnswer",] }],
|
|
311
|
+
linesChanged: [{ type: Output }],
|
|
312
|
+
articleAdded: [{ type: Output }]
|
|
313
|
+
};
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbWFuYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudC9zZXJ2aWNlLW9yZGVyL3RyYW5zYWN0aW9uLW1hbmFnZXIvdHJhbnNhY3Rpb24tbWFuYWdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBRTlFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRW5GLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBR25HLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBRS9GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUVyRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVwRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFrQjNELE1BQU0sT0FBTywyQkFBNEIsU0FBUSx3QkFBd0I7SUF3Q3ZFLFlBQ1MsT0FBMkIsRUFDM0IsaUJBQTBDLEVBQzFDLGFBQTRCLEVBQzVCLGtCQUFxQztRQUU1QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFMUixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBQzFDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFwQzlCLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFHbEUsaUJBQVksR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFtQjNHLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFNbkIscUJBQWdCLEdBQW9CLEVBQUUsQ0FBQztRQUN2Qyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFVakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyx1QkFBZ0QsRUFBRSxFQUFFO1lBQzVGLElBQUksdUJBQXVCLENBQUMsU0FBUyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLHVCQUF1QixDQUFDO2FBQzVDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUExQ0QsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBVyx3QkFBd0I7UUFDakMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsd0JBQXdCLENBQUMsS0FBYztRQUNoRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFrQ0QsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVZLGNBQWMsQ0FBQyxlQUF1QixFQUFFLEdBQVcsRUFBRSxNQUFjLEVBQUUsTUFBYyxFQUFFLGFBQThCOztZQUM5SCxNQUFNLE1BQU0sR0FBVyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEUsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ25FO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO2FBQzlFO1FBQ0gsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsU0FBaUIsRUFBRSxPQUFlOztZQUNoRSxJQUFJLFFBQVEsR0FBd0IsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ2xGLElBQUksTUFBTSxHQUF3QixJQUFJLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0UsSUFBSSxXQUFtQixDQUFDO1lBQ3hCLElBQUksV0FBbUIsQ0FBQztZQUV4QixJQUFJLFNBQVMsR0FBRyxPQUFPLEVBQUU7Z0JBQ3ZCLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO2FBQzdCO2lCQUFNO2dCQUNMLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO2FBQzdCO1lBRUQsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUM7aUJBQ2xGLElBQUksQ0FBQyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO0tBQUE7SUFFWSxnQkFBZ0IsQ0FBQyxJQUF5Qjs7WUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDO1lBQ25FLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyxDQUFDO0tBQUE7SUFFWSxnQkFBZ0I7O1lBQzNCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFO2dCQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQzthQUNuRTtZQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQzthQUNyRDtZQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsS0FBSyxTQUFTLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUM7YUFDckU7WUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQztxQkFDbkUsSUFBSSxDQUFDLENBQUMsS0FBNEIsRUFBRSxFQUFFO29CQUNyQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hDLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDSCxDQUFDO0tBQUE7SUFFWSxvQkFBb0I7O1lBQy9CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdEIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEQ7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQ0FBaUMsQ0FBQyxNQUFjOztZQUMzRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksK0JBQStCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3JMLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO1lBQzdDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQztpQkFDbkUsSUFBSSxDQUFDLENBQUMsS0FBNEIsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0tBQUE7SUFFYSxpQkFBaUIsQ0FBQyxTQUFpQixDQUFDOztZQUNoRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUNuRSxJQUFJLENBQUMsWUFBWSxFQUNqQixNQUFNLEVBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQzlCLEtBQUssRUFDTCxDQUFDLEVBQ0QsQ0FBQyxFQUNELEtBQUssQ0FBQztpQkFDTCxJQUFJLENBQUMsQ0FBQyxLQUE0QixFQUFFLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztLQUFBO0lBRWEsdUJBQXVCLENBQUMsTUFBYyxFQUFFLE1BQWMsRUFBRSxhQUE4Qjs7WUFDbEcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUNsRSxJQUFJLENBQUMsWUFBWSxFQUNqQixNQUFNLEVBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQzlCLEtBQUssRUFDTCxhQUFhLEtBQUssZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQzdELGFBQWEsS0FBSyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztpQkFDNUQsSUFBSSxDQUFDLENBQUMsS0FBNEIsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDO2dCQUN6RCxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7S0FBQTtJQUVPLDBCQUEwQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDMUgsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7U0FDdEQ7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxxQkFBNEM7UUFDdkUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3RixJQUFJLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxTQUFTLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVhLGNBQWM7O1lBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDckwsTUFBTSxpQkFBaUIsR0FBVyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDOUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM3RixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUM7aUJBQ25FLElBQUksQ0FBQyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUFBO0lBRWEsZ0JBQWdCOztZQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksK0JBQStCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3JMLE1BQU0saUJBQWlCLEdBQVcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDN0QsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDO2lCQUNuRSxJQUFJLENBQUMsQ0FBQyxLQUE0QixFQUFFLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7S0FBQTtJQUVhLHFCQUFxQixDQUFDLGFBQXFCOztZQUN2RCxJQUFJLGFBQWEsS0FBSyxnRUFBZ0UsRUFBRTtnQkFDdEYsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUM7YUFDekg7WUFDRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEQsQ0FBQztLQUFBO0lBRWEsMkJBQTJCOztZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtnQkFDakMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNyRTtZQUVELE1BQU0sV0FBVyxHQUFrQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzNILElBQUksV0FBVyxFQUFFO2dCQUNmLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQzthQUNoQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztLQUFBO0lBRVkseUJBQXlCLENBQUMscUJBQTRDOztZQUNqRixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO2dCQUMzRSxJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDO2dCQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN4RTtpQkFBTTtnQkFDTCxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQy9CO1FBQ0gsQ0FBQztLQUFBO0lBRWEsa0JBQWtCLENBQUMsUUFBZ0I7O1lBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDckwsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBRS9FLFFBQVEsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixFQUFFO2dCQUNyRCxLQUFLLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztnQkFDL0IsS0FBSyxpQkFBaUIsQ0FBQyxTQUFTO29CQUM5QixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4RCxNQUFNO2dCQUNSLEtBQUssaUJBQWlCLENBQUMsbUJBQW1CO29CQUN4QyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDNUIsTUFBTTtnQkFDUixLQUFLLGlCQUFpQixDQUFDLGlCQUFpQjtvQkFDdEMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7b0JBQ3JELE1BQU07Z0JBQ1IsS0FBSyxpQkFBaUIsQ0FBQyw0QkFBNEI7b0JBQ2pELE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQzlCLE1BQU07Z0JBQ1IsS0FBSyxpQkFBaUIsQ0FBQyw2QkFBNkI7b0JBQ2xELElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO29CQUNuQyxNQUFNO2dCQUNSLEtBQUssaUJBQWlCLENBQUMsSUFBSSxDQUFDO2dCQUM1QjtvQkFDRSxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztvQkFDcEMsTUFBTTthQUNUO1FBQ0gsQ0FBQztLQUFBO0lBRWEsZ0JBQWdCOztZQUM1QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwRixJQUFJLENBQUMsT0FBTyxFQUFFO29CQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7aUJBQ2pFO2FBQ0Y7UUFDSCxDQUFDO0tBQUE7SUFFYSxZQUFZLENBQUMsTUFBYzs7WUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUNoRCxDQUFDO0tBQUE7SUFFTyw0QkFBNEIsQ0FBQyxZQUFvQjtRQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDM0MsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ3pGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDOUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUNuRixJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsb0NBQW9DLENBQUM7UUFFNUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyw0Q0FBNEM7UUFDOUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRVgsQ0FBQztJQUVPLDhCQUE4QixDQUFDLEtBQWE7UUFDbEQsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO1lBQ3RELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDeEM7SUFDSCxDQUFDO0lBRWEsY0FBYyxDQUFDLElBQVk7O1lBQ3ZDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2lCQUNyRCxJQUFJLENBQUMsQ0FBQyxRQUFpQyxFQUFFLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO2dCQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUM7S0FBQTtJQUVZLHdCQUF3QixDQUFDLGVBQXVCLEVBQUUsSUFBWSxFQUFFLE1BQWMsRUFBRSxhQUE4Qjs7WUFDekgsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUNwRixhQUFhLEtBQUssZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQzdELGFBQWEsS0FBSyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztpQkFDNUQsSUFBSSxDQUFDLENBQUMsUUFBK0IsRUFBRSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7S0FBQTs7O1lBelVGLFNBQVMsU0FBQztnQkFDVCw4REFBOEQ7Z0JBQzlELFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7O2FBRUY7OztZQWxDTyxrQkFBa0I7WUFHbEIsdUJBQXVCO1lBY3ZCLGFBQWE7WUFOYixpQkFBaUI7Ozt3QkF5QnRCLFNBQVMsU0FBQyxXQUFXO21DQUdyQixTQUFTLFNBQUMsc0JBQXNCOzJCQUdoQyxNQUFNOzJCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7TnVtYmVyVXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvbnVtYmVyLXV0aWxzXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcbmltcG9ydCB7UmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZXNvbHZlLXBlbmRpbmctcmVhc29uLXJlcXVlc3QuYm9cIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWxpbmUtdHlwZS5lbnVtXCI7XG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XG5pbXBvcnQge0xpbmVPcGVyYXRpb25TdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvXCI7XG5pbXBvcnQge1BlbmRpbmdSZWFzb25UeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcGVuZGluZy1yZWFzb24tdHlwZS5lbnVtXCI7XG5pbXBvcnQge0FydGljbGVGdWxsT2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZnVsbC1vYmplY3RcIjtcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xuaW1wb3J0IHtMaW5lT3BlcmF0aW9uUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tcmVzcG9uc2UuYm9cIjtcbmltcG9ydCB7UG9zaXRpb25HcmlkUm93fSBmcm9tIFwiLi4vLi4vLi4vZW51bS9wb3NpdGlvbi1ncmlkLXJvdy5lbnVtXCI7XG5pbXBvcnQge0NoYXJhY3RlcmlzdGljQW5zd2VyQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vY29yZS9jaGFyYWN0ZXJpc3RpYy1hbnN3ZXIvY2hhcmFjdGVyaXN0aWMtYW5zd2VyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnRcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xuaW1wb3J0IHtQcm9tcHRTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xuaW1wb3J0IHtXYXJlaG91c2VDb21wb25lbnR9IGZyb20gXCIuLi93YXJlaG91c2Uvd2FyZWhvdXNlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6IFwidHJhbnNhY3Rpb24tbWFuYWdlclwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx3YXJlaG91c2UgI3dhcmVob3VzZVxuICAgICAgICAob2tDbGljayk9XCJ3YXJlaG91c2VPa0NsaWNrKClcIlxuICAgICAgICAoY2FuY2VsQ2xpY2spPVwid2FyZWhvdXNlQ2FuY2VsQ2xpY2soKVwiXG4gICAgPjwvd2FyZWhvdXNlPlxuICAgIDxjaGFyYWN0ZXJpc3RpYy1hbnN3ZXJcbiAgICAgICNjaGFyYWN0ZXJpc3RpY0Fuc3dlclxuICAgICAgKG9rQ2xpY2spPVwiaGFuZGxlQ2hhcmFjdGVyaXN0aWNBbnN3ZXJPa0NsaWNrKCRldmVudClcIlxuICAgID48L2NoYXJhY3RlcmlzdGljLWFuc3dlcj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbXCIuL3RyYW5zYWN0aW9uLW1hbmFnZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25NYW5hZ2VyQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZChcIndhcmVob3VzZVwiKVxuICBwdWJsaWMgd2FyZWhvdXNlOiBXYXJlaG91c2VDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChcImNoYXJhY3RlcmlzdGljQW5zd2VyXCIpXG4gIHB1YmxpYyBjaGFyYWN0ZXJpc3RpY0Fuc3dlcjogQ2hhcmFjdGVyaXN0aWNBbnN3ZXJDb21wb25lbnQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBsaW5lc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGFydGljbGVBZGRlZDogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+KCk7XG5cbiAgcHVibGljIGdldCBhbW91bnRPZkxpbmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE51bWJlclV0aWxzLk5yT3JEZWZhdWx0KHRoaXMuc2VydmljZS5hcnRpY2xlQW1vdW50LCAwKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd0NoYXJhY3RlcmlzdGljRGlhbG9nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93Q2hhcmFjdGVyaXN0aWM7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNob3dDaGFyYWN0ZXJpc3RpY0RpYWxvZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dDaGFyYWN0ZXJpc3RpYyA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5ld0FydGljbGVOcjogc3RyaW5nO1xuICBwdWJsaWMgbmV3QXJ0aWNsZTogQXJ0aWNsZUZ1bGxPYmplY3Q7XG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZU5yOiBudW1iZXI7XG4gIHB1YmxpYyBhbW91bnQ6IG51bWJlcjtcblxuICBwdWJsaWMgY29sdW1uczogYW55W10gPSBbXTtcblxuICBwdWJsaWMgY3VycmVudFBlbmRpbmdMaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvO1xuICBwdWJsaWMgY3VycmVudFJlYXNvbjogUmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdDtcblxuICBwcml2YXRlIGN1cnJlbnRPcGVyYXRpb25TdGF0dXM6IExpbmVPcGVyYXRpb25TdGF0dXM7XG4gIHByaXZhdGUgX2luT3V0Q29sbGVjdGlvbjogQ29Eb21haW5WYWx1ZVtdID0gW107XG4gIHByaXZhdGUgX3Nob3dDaGFyYWN0ZXJpc3RpYzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRzOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcbiAgICBwdWJsaWMgcHJvbXB0U2VydmljZTogUHJvbXB0U2VydmljZSxcbiAgICBwdWJsaWMgX2RpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZSk7XG5cbiAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICB0aGlzLnNlcnZpY2UudHJhbnNhY3Rpb25Mb2FkZWQuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbkluZm9SZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLmlzU3VjY2Vzcykge1xuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbkluZm9SZXNwb25zZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhZGRBcnRpY2xlTGluZSh0cmFuc2FjdGlvblV1aWQ6IHN0cmluZywgc2t1OiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBsaW5lTnI6IG51bWJlciwgYmVmb3JlT3JBZnRlcjogUG9zaXRpb25HcmlkUm93KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZ29vZElkOiBudW1iZXIgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0R29vZElkRnJvbUFydGljbGVOcihza3UpO1xuICAgIGlmIChnb29kSWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuX2xvYWRBcnRpY2xlKGdvb2RJZCk7XG4gICAgICBhd2FpdCB0aGlzLl9oYW5kbGVBZGRBcnRpY2xlTGluZUF0KGFtb3VudCwgbGluZU5yLCBiZWZvcmVPckFmdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9tcHRTZXJ2aWNlLnNob3dFcnJvcih0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJBUlRJQ0xFX1VOS05PV05cIikpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VMaW5lU2VxdWVuY2UoZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCBmcm9tTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyA9IHRoaXMuX2dldFRyYW5zYWN0aW9uTGluZUluZm9CeUluZGV4KGZyb21JbmRleClcbiAgICBsZXQgdG9MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvID0gdGhpcy5fZ2V0VHJhbnNhY3Rpb25MaW5lSW5mb0J5SW5kZXgodG9JbmRleCk7XG4gICAgbGV0IGFib3ZlTGluZU5yOiBudW1iZXI7XG4gICAgbGV0IGJlbG93TGluZU5yOiBudW1iZXI7XG5cbiAgICBpZiAoZnJvbUluZGV4ID4gdG9JbmRleCkge1xuICAgICAgYWJvdmVMaW5lTnIgPSB0b0xpbmUubGluZU5yO1xuICAgIH0gZWxzZSB7XG4gICAgICBiZWxvd0xpbmVOciA9IHRvTGluZS5saW5lTnI7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmNoYW5nZUxpbmVTZXF1ZW5jZShmcm9tTGluZS51dWlkLCBhYm92ZUxpbmVOciwgYmVsb3dMaW5lTnIsIGZhbHNlKVxuICAgICAgLnRoZW4oKHZhbHVlOiBMaW5lT3BlcmF0aW9uUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXModmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHRoaXMucHJvbXB0U2VydmljZS5zaG93RXJyb3IoZXJyb3IpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaG93U3RvY2tNYW5hZ2VyKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLndhcmVob3VzZS5zZWxlY3RlZFdhcmVob3VzZU5yID0gbGluZS53YXJlaG91c2VOdW1iZXI7XG4gICAgdGhpcy53YXJlaG91c2UuYW1vdW50ID0gbGluZS5hbW91bnQ7XG4gICAgdGhpcy53YXJlaG91c2UuY29tbWlzc2lvbkNvZGUgPSBsaW5lLmNvbW1pc3Npb25Db2RlO1xuICAgIHRoaXMud2FyZWhvdXNlLm1lc3NhZ2UgPSB0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbjtcbiAgICB0aGlzLndhcmVob3VzZS5zaG93KGxpbmUuYXJ0aWNsZU51bWJlcik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgd2FyZWhvdXNlT2tDbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy53YXJlaG91c2UuY29tbWlzc2lvbkNvZGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jdXJyZW50UmVhc29uLmNvbW1pc3Npb25Db2RlID0gdGhpcy53YXJlaG91c2UuY29tbWlzc2lvbkNvZGU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMud2FyZWhvdXNlLmFtb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRSZWFzb24ucXVhbnRpdHkgPSB0aGlzLndhcmVob3VzZS5hbW91bnQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMud2FyZWhvdXNlLnNlbGVjdGVkV2FyZWhvdXNlTnIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jdXJyZW50UmVhc29uLndhcmVob3VzZU5yID0gdGhpcy53YXJlaG91c2Uuc2VsZWN0ZWRXYXJlaG91c2VOcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jdXJyZW50UmVhc29uKSB7XG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHRoaXMuY3VycmVudFJlYXNvbiwgZmFsc2UpXG4gICAgICAgIC50aGVuKCh2YWx1ZTogTGluZU9wZXJhdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHdhcmVob3VzZUNhbmNlbENsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmN1cnJlbnRSZWFzb24pIHtcbiAgICAgIGF3YWl0IHRoaXMuX2NhbmNlbEFydGljbGUodGhpcy5jdXJyZW50UmVhc29uLmxpbmVVdWlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ2hhcmFjdGVyaXN0aWNBbnN3ZXJPa0NsaWNrKGFuc3dlcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jdXJyZW50UmVhc29uID0gbmV3IFJlc29sdmVQZW5kaW5nTGluZVJlYXNvblJlcXVlc3QodGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnV1aWQsIHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uLCB0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvblR5cGUpO1xuICAgIHRoaXMuY3VycmVudFJlYXNvbi50ZXh0dWFsVXNlcklucHV0ID0gYW5zd2VyO1xuICAgIGF3YWl0IHRoaXMuc2VydmljZS5yZXNvbHZlUGVuZGluZ0xpbmVSZWFzb24odGhpcy5jdXJyZW50UmVhc29uLCBmYWxzZSlcbiAgICAgIC50aGVuKCh2YWx1ZTogTGluZU9wZXJhdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyh2YWx1ZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUFkZEFydGljbGUoYW1vdW50OiBudW1iZXIgPSAxKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmFkZFRyYW5zYWN0aW9uTGluZShUcmFuc2FjdGlvbkxpbmVUeXBlLkFydGljbGVMaW5lLFxuICAgICAgdGhpcy5uZXdBcnRpY2xlTnIsXG4gICAgICBhbW91bnQsXG4gICAgICB0aGlzLm5ld0FydGljbGUuc3RhbmRhcmRXYXJlSG91c2UsXG4gICAgICB0aGlzLm5ld0FydGljbGUuY29tbWlzc2lvbkNvZGUsXG4gICAgICBmYWxzZSxcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgZmFsc2UpXG4gICAgICAudGhlbigodmFsdWU6IExpbmVPcGVyYXRpb25SZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyh2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4gdGhpcy5wcm9tcHRTZXJ2aWNlLnNob3dFcnJvcihlcnJvcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQWRkQXJ0aWNsZUxpbmVBdChhbW91bnQ6IG51bWJlciwgbGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2VydmljZS5hZGRBcnRpY2xlVG9UcmFuc2FjdGlvbih0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkLFxuICAgICAgdGhpcy5uZXdBcnRpY2xlTnIsXG4gICAgICBhbW91bnQsXG4gICAgICB0aGlzLm5ld0FydGljbGUuc3RhbmRhcmRXYXJlSG91c2UsXG4gICAgICB0aGlzLm5ld0FydGljbGUuY29tbWlzc2lvbkNvZGUsXG4gICAgICBmYWxzZSxcbiAgICAgIGJlZm9yZU9yQWZ0ZXIgPT09IFBvc2l0aW9uR3JpZFJvdy5CZWZvcmUgPyBsaW5lTnIgOiB1bmRlZmluZWQsXG4gICAgICBiZWZvcmVPckFmdGVyID09PSBQb3NpdGlvbkdyaWRSb3cuQWZ0ZXIgPyBsaW5lTnIgOiB1bmRlZmluZWQpXG4gICAgICAudGhlbigodmFsdWU6IExpbmVPcGVyYXRpb25SZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMubGluZU9wZXJhdGlvblN0YXR1c2VzID0gdmFsdWUubGluZU9wZXJhdGlvblN0YXR1c2VzO1xuICAgICAgICAgIHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyh2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4gdGhpcy5wcm9tcHRTZXJ2aWNlLnNob3dFcnJvcihlcnJvcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0V2FyZUhvdXNlTm9Gcm9tQXJ0aWNsZSgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLm5ld0FydGljbGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLm5ld0FydGljbGUuc3RvY2tMb2NhdGlvbnMgIT09IHVuZGVmaW5lZCAmJiB0aGlzLm5ld0FydGljbGUuc3RvY2tMb2NhdGlvbnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy5uZXdBcnRpY2xlLnN0b2NrTG9jYXRpb25zWzBdLndhcmVob3VzZU5yO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHB1YmxpYyBpc0xpbmVPcGVyYXRpb25TdGF0dXMobGluZU9wZXJhdGlvblN0YXR1c2VzOiBMaW5lT3BlcmF0aW9uU3RhdHVzW10pOiBib29sZWFuIHtcbiAgICB0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMgPSB0aGlzLnNlcnZpY2UucGVuZGluZ0xpbmVPcGVyYXRpb25TdGF0dXMobGluZU9wZXJhdGlvblN0YXR1c2VzKTtcbiAgICBpZiAodGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9jb25maXJtQWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY3VycmVudFJlYXNvbiA9IG5ldyBSZXNvbHZlUGVuZGluZ0xpbmVSZWFzb25SZXF1ZXN0KHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy51dWlkLCB0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbiwgdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKTtcbiAgICBjb25zdCBwZW5kaW5nUmVhc29uVGV4dDogc3RyaW5nID0gYXdhaXQgdGhpcy5fZ2V0UGVuZGluZ1JlYXNvblRleHQodGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb24pO1xuICAgIHRoaXMuY3VycmVudFJlYXNvbi5jb25maXJtYXRpb24gPSBhd2FpdCB0aGlzLnByb21wdFNlcnZpY2Uuc2hvd1llc05vKHBlbmRpbmdSZWFzb25UZXh0LCBcIiBcIik7XG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnJlc29sdmVQZW5kaW5nTGluZVJlYXNvbih0aGlzLmN1cnJlbnRSZWFzb24sIGZhbHNlKVxuICAgICAgLnRoZW4oKHZhbHVlOiBMaW5lT3BlcmF0aW9uUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzKHZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfc2hvd0luZm9ybWF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY3VycmVudFJlYXNvbiA9IG5ldyBSZXNvbHZlUGVuZGluZ0xpbmVSZWFzb25SZXF1ZXN0KHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy51dWlkLCB0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbiwgdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKTtcbiAgICBjb25zdCBwZW5kaW5nUmVhc29uVGV4dDogc3RyaW5nID0gYXdhaXQgdGhpcy5fZ2V0UGVuZGluZ1JlYXNvblRleHQodGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb24pO1xuICAgIGF3YWl0IHRoaXMucHJvbXB0U2VydmljZS5zaG93T2tNb2RhbChwZW5kaW5nUmVhc29uVGV4dCwgXCIgXCIpO1xuICAgIGF3YWl0IHRoaXMuc2VydmljZS5yZXNvbHZlUGVuZGluZ0xpbmVSZWFzb24odGhpcy5jdXJyZW50UmVhc29uLCBmYWxzZSlcbiAgICAgIC50aGVuKCh2YWx1ZTogTGluZU9wZXJhdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyh2YWx1ZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2dldFBlbmRpbmdSZWFzb25UZXh0KHBlbmRpbmdSZWFzb246IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKHBlbmRpbmdSZWFzb24gPT09IFwiQVJUSUNMRV9JU19ESVNDT05USU5VRURfRE9fWU9VX1dBTlRfVE9fQ09OVElOVUVfUExFQVNFX0NPTkZJUk1cIikge1xuICAgICAgcmV0dXJuIHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIkFSVElDTEVfSU5fT1VUX0NPTExFQ1RJT05cIikucmVwbGFjZShcInx+XCIsIGF3YWl0IHRoaXMuZ2V0SW5PdXRDb2xsZWN0aW9uT2ZBcnRpY2xlKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KHBlbmRpbmdSZWFzb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRJbk91dENvbGxlY3Rpb25PZkFydGljbGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRoaXMuX2luT3V0Q29sbGVjdGlvbi5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2luT3V0Q29sbGVjdGlvbiA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRJbk91dENvbGxlY3Rpb24oXCJOTFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBkb21haW5WYWx1ZTogQ29Eb21haW5WYWx1ZSA9IHRoaXMuX2luT3V0Q29sbGVjdGlvbi5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5jb2RlID09PSB0aGlzLm5ld0FydGljbGUuaW5PdXRDb2xsZWN0aW9uKTtcbiAgICBpZiAoZG9tYWluVmFsdWUpIHtcbiAgICAgIHJldHVybiBkb21haW5WYWx1ZS5kZXNjcmlwdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyhsaW5lT3BlcmF0aW9uUmVzcG9uc2U6IExpbmVPcGVyYXRpb25SZXNwb25zZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmlzTGluZU9wZXJhdGlvblN0YXR1cyhsaW5lT3BlcmF0aW9uUmVzcG9uc2UubGluZU9wZXJhdGlvblN0YXR1c2VzKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbiA9IGxpbmVPcGVyYXRpb25SZXNwb25zZTtcbiAgICAgIHRoaXMuYXJ0aWNsZUFkZGVkLmVtaXQodGhpcy50cmFuc2FjdGlvbik7XG4gICAgICBhd2FpdCB0aGlzLl9oYW5kbGVQZW5kaW5nTGluZSh0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMudXVpZCkudGhlbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLl9zYXZlVHJhbnNhY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVQZW5kaW5nTGluZShsaW5lVXVpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jdXJyZW50UmVhc29uID0gbmV3IFJlc29sdmVQZW5kaW5nTGluZVJlYXNvblJlcXVlc3QodGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnV1aWQsIHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uLCB0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvblR5cGUpO1xuICAgIHRoaXMuY3VycmVudFBlbmRpbmdMaW5lID0gdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbmQobCA9PiBsLnV1aWQgPT09IGxpbmVVdWlkKTtcblxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKSB7XG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLkFCT1JURUQ6XG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLkNBTkNFTExFRDpcbiAgICAgICAgYXdhaXQgdGhpcy5fY2FuY2VsQXJ0aWNsZSh0aGlzLmN1cnJlbnRQZW5kaW5nTGluZS51dWlkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLkNPTkZJUk1BVElPTl9ORUVERUQ6XG4gICAgICAgIGF3YWl0IHRoaXMuX2NvbmZpcm1BY3Rpb24oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLklOVkFMSURfTE9HSVNUSUNTOlxuICAgICAgICBhd2FpdCB0aGlzLnNob3dTdG9ja01hbmFnZXIodGhpcy5jdXJyZW50UGVuZGluZ0xpbmUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuTk9OX0NSSVRJQ0FMX0RJU0NPTlRJTlVBVElPTjpcbiAgICAgICAgYXdhaXQgdGhpcy5fc2hvd0luZm9ybWF0aW9uKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5DSEFSQUNURVJJU1RJQ1NfQU5TV0VSX05FRURFRDpcbiAgICAgICAgdGhpcy5DaGFyYWN0ZXJpc3RpY3NBbnN3ZXJOZWVkZWQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLk5PTkU6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmN1cnJlbnRSZWFzb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuY3VycmVudFBlbmRpbmdMaW5lID0gdW5kZWZpbmVkO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zYXZlVHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25JbmZvKSB7XG4gICAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnNhdmVUcmFuc2FjdGlvbkJ5VXVpZCh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcbiAgICAgIGlmICghc3VjY2Vzcykge1xuICAgICAgICB0aGlzLnByb21wdFNlcnZpY2Uuc2hvd0Vycm9yKFwiVHJhbnNhY3Rpb24gY291bGQgbm90IGJlIHNhdmVkIVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9sb2FkQXJ0aWNsZShnb29kSWQ6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubmV3QXJ0aWNsZSA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRBcnRpY2xlRnVsbE9iamVjdChnb29kSWQpO1xuICAgIHRoaXMubmV3QXJ0aWNsZU5yID0gdGhpcy5uZXdBcnRpY2xlLmFydGljbGVOcjtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRW1haWxBZGRyZXNzVG9UcmFuc2FjdGlvbihlbWFpbEFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5lbWFpbEFkZHJlc3MgPSBlbWFpbEFkZHJlc3M7XG4gIH1cblxuICBwcml2YXRlIENoYXJhY3RlcmlzdGljc0Fuc3dlck5lZWRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJhY3RlcmlzdGljQW5zd2VyLnF1ZXN0aW9uID0gdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLmNoYXJhY3RlcmlzdGljLnF1ZXN0aW9uO1xuICAgIHRoaXMuY2hhcmFjdGVyaXN0aWNBbnN3ZXIudGl0bGUgPSB0aGlzLm5ld0FydGljbGUuZGVzY3JpcHRpb247XG4gICAgdGhpcy5jaGFyYWN0ZXJpc3RpY0Fuc3dlci52YWx1ZSA9IHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5jaGFyYWN0ZXJpc3RpYy52YWx1ZTtcbiAgICB0aGlzLmNoYXJhY3RlcmlzdGljQW5zd2VyLmNoYXJhY3RlcmlzdGljcyA9IHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5jaGFyYWN0ZXJpc3RpYy50cmFuc2FjdGlvbkxpbmVDaGFyYWN0ZXJpc3RpY0Nob2ljZXM7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY2hhcmFjdGVyaXN0aWNBbnN3ZXIub3BlbigpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnNcbiAgICB9LCAxMDAwKTtcblxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VHJhbnNhY3Rpb25MaW5lSW5mb0J5SW5kZXgoaW5kZXg6IG51bWJlcik6IFRyYW5zYWN0aW9uTGluZUluZm8ge1xuICAgIGlmIChpbmRleCA+PSAwICYmIGluZGV4IDwgdGhpcy50cmFuc2FjdGlvbkxpbmVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS5jdXJyZW50TGluZXNbaW5kZXhdXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfY2FuY2VsQXJ0aWNsZSh1dWlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2UuY2FuY2VsQWRkVHJhbnNhY3Rpb25MaW5lKHV1aWQsIGZhbHNlKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb24gPSByZXNwb25zZTtcbiAgICAgICAgICB0aGlzLmFydGljbGVBZGRlZC5lbWl0KHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhZGRUZXh0TGluZVRvVHJhbnNhY3Rpb24odHJhbnNhY3Rpb25VdWlkOiBzdHJpbmcsIHRleHQ6IHN0cmluZywgbGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2VydmljZS5hZGRUZXh0TGluZVRvVHJhbnNhY3Rpb24odHJhbnNhY3Rpb25VdWlkLCAwLCB0ZXh0LCAwLCBmYWxzZSwgbGluZU5yLFxuICAgICAgYmVmb3JlT3JBZnRlciA9PT0gUG9zaXRpb25HcmlkUm93LkJlZm9yZSA/IGxpbmVOciA6IHVuZGVmaW5lZCxcbiAgICAgIGJlZm9yZU9yQWZ0ZXIgPT09IFBvc2l0aW9uR3JpZFJvdy5BZnRlciA/IGxpbmVOciA6IHVuZGVmaW5lZClcbiAgICAgIC50aGVuKChyZXNwb25zZTogTGluZU9wZXJhdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbiA9IHJlc3BvbnNlO1xuICAgICAgICAgIHRoaXMuYXJ0aWNsZUFkZGVkLmVtaXQocmVzcG9uc2UpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHRoaXMucHJvbXB0U2VydmljZS5zaG93RXJyb3IoZXJyb3IpKTtcbiAgfVxufVxuIl19
|
|
@@ -12,7 +12,7 @@ export class TransactionOrderLinesComponent extends TransactionBaseComponent {
|
|
|
12
12
|
this.createServiceClick = new EventEmitter();
|
|
13
13
|
this.nothingSelected = true;
|
|
14
14
|
this.columns = [];
|
|
15
|
-
this.columns.push({ field: "articleNumber", headerText: this._dictionaryService.get("ARTICLE_NR"), allowFiltering: false }, { field: "goodDescription", headerText: this._dictionaryService.get("DESCRIPTION") }, { field: "detailsAsString", headerText: this._dictionaryService.get("DETAILS") }, { field: "price", headerText: this._dictionaryService.get("PRICE") }, { field: "amount", headerText: this._dictionaryService.get("NUMBER") }, { field: "lineTotal", headerText: this._dictionaryService.get("SUBTOTAL") }, { field: "logisticState", headerText: this._dictionaryService.get("STATE") }, { field: "expectedDeliveryDate", headerText: this._dictionaryService.get("EXPECTED_DELIVERY_DATE") });
|
|
15
|
+
this.columns.push({ field: "articleNumber", headerText: this._dictionaryService.get("ARTICLE_NR"), allowFiltering: false }, { field: "goodDescription", headerText: this._dictionaryService.get("DESCRIPTION") }, { field: "text", headerText: this._dictionaryService.get("TEXT") }, { field: "detailsAsString", headerText: this._dictionaryService.get("DETAILS") }, { field: "price", headerText: this._dictionaryService.get("PRICE") }, { field: "amount", headerText: this._dictionaryService.get("NUMBER") }, { field: "lineTotal", headerText: this._dictionaryService.get("SUBTOTAL") }, { field: "logisticState", headerText: this._dictionaryService.get("STATE") }, { field: "expectedDeliveryDate", headerText: this._dictionaryService.get("EXPECTED_DELIVERY_DATE") });
|
|
16
16
|
}
|
|
17
17
|
get pagingEnabled() {
|
|
18
18
|
if (this.transactionLines) {
|
|
@@ -68,4 +68,4 @@ TransactionOrderLinesComponent.propDecorators = {
|
|
|
68
68
|
transactionGrid: [{ type: ViewChild, args: ["transactionGrid",] }],
|
|
69
69
|
createServiceClick: [{ type: Output }]
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3JkZXItbGluZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnQvc2VydmljZS1vcmRlci90cmFuc2FjdGlvbi1vcmRlci1saW5lcy90cmFuc2FjdGlvbi1vcmRlci1saW5lcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQVMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQWtCcEYsTUFBTSxPQUFPLDhCQUErQixTQUFRLHdCQUF3QjtJQStCeEUsWUFDVyxPQUEyQixFQUMxQixhQUFzQyxFQUN0QyxrQkFBcUM7UUFFN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSlIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUEzQjFDLHVCQUFrQixHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQVVoRyxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUNoQyxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBb0J2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDYixFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBQyxFQUN0RyxFQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBQyxFQUNsRixFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUMsRUFDaEUsRUFBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUMsRUFDOUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFDLEVBQ2xFLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBQyxFQUNwRSxFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUMsRUFDekUsRUFBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFDLEVBQzFFLEVBQUMsS0FBSyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUMsQ0FDckcsQ0FBQztJQUNOLENBQUM7SUF2Q0QsSUFBVyxhQUFhO1FBQ3BCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sSUFBSSw4QkFBOEIsQ0FBQyxxQkFBcUIsQ0FBQztTQUM3RjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFPRCxJQUFZLGlCQUFpQixDQUFDLEtBQTBCO1FBQ3BELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEtBQUssSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFZLGlCQUFpQjtRQUN6QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBc0JNLFVBQVUsQ0FBQyxHQUF3QjtRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrRUFBa0U7SUFDM0Qsc0JBQXNCO1FBQ3pCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzFELENBQUM7O0FBakVzQixvREFBcUIsR0FBRyxFQUFFLENBQUM7O1lBakJyRCxTQUFTLFNBQUM7Z0JBQ1QsOERBQThEO2dCQUM1RCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxRQUFRLEVBQUU7Ozs7Ozs7O0tBUVQ7O2FBSUo7OztZQWxCTyxrQkFBa0I7WUFEbEIsdUJBQXVCO1lBRHZCLGlCQUFpQjs7OzhCQXdCcEIsU0FBUyxTQUFDLGlCQUFpQjtpQ0FHM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb0dyaWRDb21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgICBzZWxlY3RvcjogXCJ0cmFuc2FjdGlvbi1vcmRlci1saW5lc1wiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28tZ3JpZCAjdHJhbnNhY3Rpb25HcmlkXHJcbiAgICAgICAgICAgICAgICAgW2RhdGFdPVwidHJhbnNhY3Rpb25MaW5lc1wiXHJcbiAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgICAgW3BhZ2luZ0VuYWJsZWRdPVwicGFnaW5nRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgW21heE51bWJlck9mUm93c109XCInMjAnXCJcclxuICAgICAgICAgICAgICAgICAocm93c1NlbGVjdGVkKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvY28tZ3JpZD5cclxuICAgIGAsXHJcbiAgICBzdHlsZVVybHM6IFtcclxuICAgICAgICBcIi4vdHJhbnNhY3Rpb24tb3JkZXItbGluZXMuY29tcG9uZW50LnNjc3NcIlxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25PcmRlckxpbmVzQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUFYX1RSQU5TQUNUSU9OX0xJTkVTID0gMjA7XHJcblxyXG4gICAgQFZpZXdDaGlsZChcInRyYW5zYWN0aW9uR3JpZFwiKVxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uR3JpZDogQ29HcmlkQ29tcG9uZW50PGFueT47XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgY3JlYXRlU2VydmljZUNsaWNrOiBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb25MaW5lSW5mbz4gPSBuZXcgRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uTGluZUluZm8+KCk7XHJcblxyXG5cclxuICAgIHB1YmxpYyBnZXQgcGFnaW5nRW5hYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmVzKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkxpbmVzLmxlbmd0aCA+PSBUcmFuc2FjdGlvbk9yZGVyTGluZXNDb21wb25lbnQuTUFYX1RSQU5TQUNUSU9OX0xJTkVTO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5vdGhpbmdTZWxlY3RlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBwdWJsaWMgY29sdW1uczogYW55W10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZFRyYW5zTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbztcclxuXHJcbiAgICBwcml2YXRlIHNldCBzZWxlY3RlZFRyYW5zTGluZSh2YWx1ZTogVHJhbnNhY3Rpb25MaW5lSW5mbykge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkVHJhbnNMaW5lID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5ub3RoaW5nU2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3RlZFRyYW5zTGluZSA9PT0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldCBzZWxlY3RlZFRyYW5zTGluZSgpOiBUcmFuc2FjdGlvbkxpbmVJbmZvIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRUcmFuc0xpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9ldmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKHNlcnZpY2UpO1xyXG5cclxuICAgICAgICB0aGlzLmNvbHVtbnMucHVzaChcclxuICAgICAgICAgICAge2ZpZWxkOiBcImFydGljbGVOdW1iZXJcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiQVJUSUNMRV9OUlwiKSwgYWxsb3dGaWx0ZXJpbmc6IGZhbHNlfSxcclxuICAgICAgICAgICAge2ZpZWxkOiBcImdvb2REZXNjcmlwdGlvblwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJERVNDUklQVElPTlwiKX0sXHJcbiAgICAgICAgICAgIHtmaWVsZDogXCJ0ZXh0XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlRFWFRcIil9LFxyXG4gICAgICAgICAgICB7ZmllbGQ6IFwiZGV0YWlsc0FzU3RyaW5nXCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIkRFVEFJTFNcIil9LFxyXG4gICAgICAgICAgICB7ZmllbGQ6IFwicHJpY2VcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiUFJJQ0VcIil9LFxyXG4gICAgICAgICAgICB7ZmllbGQ6IFwiYW1vdW50XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIk5VTUJFUlwiKX0sXHJcbiAgICAgICAgICAgIHtmaWVsZDogXCJsaW5lVG90YWxcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiU1VCVE9UQUxcIil9LFxyXG4gICAgICAgICAgICB7ZmllbGQ6IFwibG9naXN0aWNTdGF0ZVwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJTVEFURVwiKX0sXHJcbiAgICAgICAgICAgIHtmaWVsZDogXCJleHBlY3RlZERlbGl2ZXJ5RGF0ZVwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJFWFBFQ1RFRF9ERUxJVkVSWV9EQVRFXCIpfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblJvd0NsaWNrKHJvdzogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUcmFuc0xpbmUgPSByb3c7XHJcbiAgICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUNsaWNrZWQubmV4dCh0aGlzLnNlbGVjdGVkVHJhbnNMaW5lKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25Sb3dEZXNlbGVjdChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRyYW5zTGluZSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVE9ETzogbmF2cmFnZW4gd2F0IGRlIGJlZG9lbGluZyBpcywgemllIG9yaWdpbmVsZSBzb3VyY2UgaU9uZUpTXHJcbiAgICBwdWJsaWMgbmV3U2VydmljZVJlcXVlc3RDbGljaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5ub3RoaW5nU2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNyZWF0ZVNlcnZpY2VDbGljay5lbWl0KHRoaXMuX3NlbGVjdGVkVHJhbnNMaW5lKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from "@angular/core";
|
|
3
|
+
import { TransactionService } from "../../../service/transaction.service";
|
|
4
|
+
import { DictionaryService } from "../../../service/dictionary.service";
|
|
5
|
+
export class WarehouseComponent {
|
|
6
|
+
constructor(service, _dictionaryService) {
|
|
7
|
+
this.service = service;
|
|
8
|
+
this._dictionaryService = _dictionaryService;
|
|
9
|
+
this.message = "";
|
|
10
|
+
this.okClick = new EventEmitter();
|
|
11
|
+
this.cancelClick = new EventEmitter();
|
|
12
|
+
this.commissionCodes = [];
|
|
13
|
+
this.commissionFields = { text: "description", value: "code" };
|
|
14
|
+
this.transactionArticleWarehouses = [];
|
|
15
|
+
this.columns = [];
|
|
16
|
+
this._okOrCancelClick = false;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
this.commissionCodes = yield this.service.getCommissionCodes("NL");
|
|
21
|
+
this.columns.push({ field: "warehouseNr", headerText: this._dictionaryService.get("WAREHOUSE"), allowFiltering: false }, { field: "warehouseDesc", headerText: this._dictionaryService.get("DESCRIPTION") }, { field: "stockAmount", headerText: this._dictionaryService.get("STOCK") });
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
ngOnDestroy() {
|
|
25
|
+
this.warehouseDialog.close();
|
|
26
|
+
}
|
|
27
|
+
showStockManager(line) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
this.selectedWarehouseNr = line.warehouseNumber;
|
|
30
|
+
this.amount = line.amount;
|
|
31
|
+
this.commissionCode = line.commissionCode;
|
|
32
|
+
this.show(line.articleNumber);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
hide() {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
if (this._okOrCancelClick) {
|
|
38
|
+
this._okOrCancelClick = false;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
yield this.onStockManagerCancelClick();
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
show(articleNr) {
|
|
45
|
+
this._reloadDataCollections(articleNr).then();
|
|
46
|
+
this.warehouseGrid.selectRow(this.selectedWarehouseNr);
|
|
47
|
+
this.warehouseDialog.targetElement = null;
|
|
48
|
+
this.warehouseDialog.open();
|
|
49
|
+
}
|
|
50
|
+
handleRowsSelected(rows) {
|
|
51
|
+
this.selectedWarehouseNr = (rows.find(x => x !== undefined)).warehouseNr;
|
|
52
|
+
}
|
|
53
|
+
onStockManagerCancelClick() {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
this._okOrCancelClick = true;
|
|
56
|
+
this.warehouseDialog.close();
|
|
57
|
+
this.cancelClick.emit();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
onStockManagerOkClick() {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
this._okOrCancelClick = true;
|
|
63
|
+
this.warehouseDialog.close();
|
|
64
|
+
this.okClick.emit();
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
_reloadDataCollections(articleNr) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const goodId = yield this.service.getGoodIdFromArticleNr(articleNr);
|
|
70
|
+
this.transactionArticleWarehouses = yield this.service.getTransactionArticleWarehouses(goodId);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
WarehouseComponent.decorators = [
|
|
75
|
+
{ type: Component, args: [{
|
|
76
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
77
|
+
selector: "warehouse",
|
|
78
|
+
template: `
|
|
79
|
+
<co-dialog #warehouseDialog
|
|
80
|
+
(closeClick)="hide()"
|
|
81
|
+
(overlayClick)="onStockManagerCancelClick()"
|
|
82
|
+
>
|
|
83
|
+
<ng-container header>{{ 'STOCK_NOTIFICATION' | localize }}</ng-container>
|
|
84
|
+
|
|
85
|
+
<ng-container content>
|
|
86
|
+
<co-form>
|
|
87
|
+
<div class="form-content">
|
|
88
|
+
<span *ngIf="message" class="message-field" [textContent]="message | localize"></span>
|
|
89
|
+
<div class="commission-fields" fxLayout="row">
|
|
90
|
+
<co-input-number-picker class="horizontal" [(model)]="amount" [min]="0" decimals="3"></co-input-number-picker>
|
|
91
|
+
<co-input-combo-box [(model)]="commissionCode"
|
|
92
|
+
[source]="commissionCodes"
|
|
93
|
+
[fields]="commissionFields"
|
|
94
|
+
[placeholder]="'COMMISSION_CODE' | localize"
|
|
95
|
+
[required]="true"
|
|
96
|
+
></co-input-combo-box>
|
|
97
|
+
</div>
|
|
98
|
+
<div>
|
|
99
|
+
<co-grid #warehouseGrid
|
|
100
|
+
[data]="transactionArticleWarehouses"
|
|
101
|
+
[columns]="columns"
|
|
102
|
+
[pagingEnabled]="'true'"
|
|
103
|
+
[maxNumberOfRows]="'10'"
|
|
104
|
+
(rowsSelected)="handleRowsSelected($event)"
|
|
105
|
+
></co-grid>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</co-form>
|
|
109
|
+
</ng-container>
|
|
110
|
+
|
|
111
|
+
<ng-container footer>
|
|
112
|
+
<div class="flex-center">
|
|
113
|
+
<co-button [label]="'OK' | localize" (click)="onStockManagerOkClick()"></co-button>
|
|
114
|
+
<co-button [label]="'CANCEL' | localize" (click)="onStockManagerCancelClick()"></co-button>
|
|
115
|
+
</div>
|
|
116
|
+
</ng-container>
|
|
117
|
+
</co-dialog>
|
|
118
|
+
`,
|
|
119
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,.warehouse-line-container{display:flex}.flex-center,.warehouse-line-container{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field,.commission-fields{margin-left:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}::ng-deep #warehouseDialog{align-items:center;max-height:100%}::ng-deep #warehouseDialog ::ng-deep co-form{height:100%;width:500px}::ng-deep #warehouseDialog ::ng-deep .form-content{height:calc(100% - 80px);width:100%}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field{height:20px;word-wrap:break-word;white-space:normal}co-button:not(:last-child){margin-right:10px}.commission-fields{justify-content:space-between;margin:10px 0}.warehouse-description-item{width:15rem}.warehouse-nr-item{width:5rem}co-input-number-picker co-button{max-width:20px}\n"]
|
|
120
|
+
},] }
|
|
121
|
+
];
|
|
122
|
+
WarehouseComponent.ctorParameters = () => [
|
|
123
|
+
{ type: TransactionService },
|
|
124
|
+
{ type: DictionaryService }
|
|
125
|
+
];
|
|
126
|
+
WarehouseComponent.propDecorators = {
|
|
127
|
+
warehouseDialog: [{ type: ViewChild, args: ["warehouseDialog",] }],
|
|
128
|
+
warehouseGrid: [{ type: ViewChild, args: ["warehouseGrid",] }],
|
|
129
|
+
message: [{ type: Input }],
|
|
130
|
+
okClick: [{ type: Output }],
|
|
131
|
+
cancelClick: [{ type: Output }]
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FyZWhvdXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L3NlcnZpY2Utb3JkZXIvd2FyZWhvdXNlL3dhcmVob3VzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQU14RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQWdEdEUsTUFBTSxPQUFPLGtCQUFrQjtJQTZCN0IsWUFDUyxPQUEyQixFQUMzQixrQkFBcUM7UUFEckMsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQXZCdkMsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUdaLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd2RCxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBT3BFLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBVyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBRWxFLGlDQUE0QixHQUFrQyxFQUFFLENBQUM7UUFDakUsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQUVuQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFNMUMsQ0FBQztJQUVLLFFBQVE7O1lBQ1osSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFbkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsRUFBQyxLQUFLLEVBQUUsYUFB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ZUFBZTtzQkFHekIsS0FBSztzQkFHTCxNQUFNOzBCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29tbWlzc2lvbkNvZGVUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcmVmY29kZS9jb21taXNzaW9uLWNvZGUtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvLWRvbWFpbi12YWx1ZS5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQXJ0aWNsZVdhcmVob3VzZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1hcnRpY2xlLXdhcmVob3VzZS5ib1wiO1xyXG5pbXBvcnQge0NvRGlhbG9nQ29tcG9uZW50LCBDb0dyaWRDb21wb25lbnQsIFByb21wdFNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogXCJ3YXJlaG91c2VcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWRpYWxvZyAjd2FyZWhvdXNlRGlhbG9nXHJcbiAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImhpZGUoKVwiXHJcbiAgICAgICAgICAgICAgIChvdmVybGF5Q2xpY2spPVwib25TdG9ja01hbmFnZXJDYW5jZWxDbGljaygpXCJcclxuICAgICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyIGhlYWRlcj57eyAnU1RPQ0tfTk9USUZJQ0FUSU9OJyB8IGxvY2FsaXplIH19PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIGNvbnRlbnQ+XHJcbiAgICAgICAgPGNvLWZvcm0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWVzc2FnZVwiIGNsYXNzPVwibWVzc2FnZS1maWVsZFwiIFt0ZXh0Q29udGVudF09XCJtZXNzYWdlIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1pc3Npb24tZmllbGRzXCIgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyIGNsYXNzPVwiaG9yaXpvbnRhbFwiIFsobW9kZWwpXT1cImFtb3VudFwiIFttaW5dPVwiMFwiIGRlY2ltYWxzPVwiM1wiPjwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3ggWyhtb2RlbCldPVwiY29tbWlzc2lvbkNvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3VyY2VdPVwiY29tbWlzc2lvbkNvZGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cImNvbW1pc3Npb25GaWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09NTUlTU0lPTl9DT0RFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jb21iby1ib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxjby1ncmlkICN3YXJlaG91c2VHcmlkXHJcbiAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInRyYW5zYWN0aW9uQXJ0aWNsZVdhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICAgICAgICAgICAgW3BhZ2luZ0VuYWJsZWRdPVwiJ3RydWUnXCJcclxuICAgICAgICAgICAgICAgICAgW21heE51bWJlck9mUm93c109XCInMTAnXCJcclxuICAgICAgICAgICAgICAgICAgKHJvd3NTZWxlY3RlZCk9XCJoYW5kbGVSb3dzU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9jby1ncmlkPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgZm9vdGVyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidPSycgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJvblN0b2NrTWFuYWdlck9rQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInQ0FOQ0VMJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cIm9uU3RvY2tNYW5hZ2VyQ2FuY2VsQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFtcIi4vd2FyZWhvdXNlLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2FyZWhvdXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoXCJ3YXJlaG91c2VEaWFsb2dcIilcclxuICBwdWJsaWMgd2FyZWhvdXNlRGlhbG9nOiBDb0RpYWxvZ0NvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcIndhcmVob3VzZUdyaWRcIilcclxuICBwdWJsaWMgd2FyZWhvdXNlR3JpZDogQ29HcmlkQ29tcG9uZW50PGFueT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBva0NsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBjYW5jZWxDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuXHJcbiAgcHVibGljIHNlbGVjdGVkV2FyZWhvdXNlTnI6IG51bWJlcjtcclxuICBwdWJsaWMgYW1vdW50OiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZTogQ29tbWlzc2lvbkNvZGVUeXBlO1xyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZXM6IENvRG9tYWluVmFsdWVbXSA9IFtdO1xyXG4gIHB1YmxpYyBjb21taXNzaW9uRmllbGRzOiBPYmplY3QgPSB7IHRleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwiIH07XHJcblxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkFydGljbGVXYXJlaG91c2VzOiBUcmFuc2FjdGlvbkFydGljbGVXYXJlaG91c2VbXSA9IFtdO1xyXG4gIHB1YmxpYyBjb2x1bW5zOiBhbnlbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9va09yQ2FuY2VsQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIF9kaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuY29tbWlzc2lvbkNvZGVzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldENvbW1pc3Npb25Db2RlcyhcIk5MXCIpO1xyXG5cclxuICAgIHRoaXMuY29sdW1ucy5wdXNoKFxyXG4gICAgICB7ZmllbGQ6IFwid2FyZWhvdXNlTnJcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiV0FSRUhPVVNFXCIpLCBhbGxvd0ZpbHRlcmluZzogZmFsc2V9LFxyXG4gICAgICB7ZmllbGQ6IFwid2FyZWhvdXNlRGVzY1wiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJERVNDUklQVElPTlwiKX0sXHJcbiAgICAgIHtmaWVsZDogXCJzdG9ja0Ftb3VudFwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJTVE9DS1wiKX1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMud2FyZWhvdXNlRGlhbG9nLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2hvd1N0b2NrTWFuYWdlcihsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlTnIgPSBsaW5lLndhcmVob3VzZU51bWJlcjtcclxuICAgIHRoaXMuYW1vdW50ID0gbGluZS5hbW91bnQ7XHJcbiAgICB0aGlzLmNvbW1pc3Npb25Db2RlID0gbGluZS5jb21taXNzaW9uQ29kZTtcclxuICAgIHRoaXMuc2hvdyhsaW5lLmFydGljbGVOdW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhpZGUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5fb2tPckNhbmNlbENsaWNrKSB7XHJcbiAgICAgIHRoaXMuX29rT3JDYW5jZWxDbGljayA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLm9uU3RvY2tNYW5hZ2VyQ2FuY2VsQ2xpY2soKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93KGFydGljbGVOcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZWxvYWREYXRhQ29sbGVjdGlvbnMoYXJ0aWNsZU5yKS50aGVuKCk7XHJcblxyXG4gICAgdGhpcy53YXJlaG91c2VHcmlkLnNlbGVjdFJvdyh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlTnIpO1xyXG4gICAgdGhpcy53YXJlaG91c2VEaWFsb2cudGFyZ2V0RWxlbWVudCA9IG51bGw7XHJcbiAgICB0aGlzLndhcmVob3VzZURpYWxvZy5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUm93c1NlbGVjdGVkKHJvd3M6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZU5yID0gKHJvd3MuZmluZCh4ID0+IHggIT09IHVuZGVmaW5lZCkpLndhcmVob3VzZU5yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG9uU3RvY2tNYW5hZ2VyQ2FuY2VsQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9va09yQ2FuY2VsQ2xpY2sgPSB0cnVlO1xyXG4gICAgdGhpcy53YXJlaG91c2VEaWFsb2cuY2xvc2UoKTtcclxuICAgIHRoaXMuY2FuY2VsQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG9uU3RvY2tNYW5hZ2VyT2tDbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX29rT3JDYW5jZWxDbGljayA9IHRydWU7XHJcbiAgICB0aGlzLndhcmVob3VzZURpYWxvZy5jbG9zZSgpO1xyXG4gICAgdGhpcy5va0NsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3JlbG9hZERhdGFDb2xsZWN0aW9ucyhhcnRpY2xlTnI6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgZ29vZElkOiBudW1iZXIgID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldEdvb2RJZEZyb21BcnRpY2xlTnIoYXJ0aWNsZU5yKTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25BcnRpY2xlV2FyZWhvdXNlcyA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRUcmFuc2FjdGlvbkFydGljbGVXYXJlaG91c2VzKGdvb2RJZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|