@colijnit/transaction 256.1.71 → 256.1.73
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 +224 -112
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/lib/component/add-product/add-product.component.js +83 -42
- package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +3 -3
- package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +2 -2
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.js +12 -4
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +12 -4
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +117 -73
- package/esm2015/lib/component/transaction-reservation/service/transaction-sales-reservation.service.js +3 -3
- package/esm2015/lib/component/transaction-reservation/transaction-sales-reservation-popup/transaction-sales-reservation-popup.component.js +3 -2
- package/esm2015/lib/enum/icon.enum.js +3 -1
- package/esm2015/lib/model/icon-svg.js +3 -1
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +229 -128
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/add-product/add-product.component.d.ts +4 -2
- package/lib/component/quick-send-button/style/_layout.scss +8 -1
- package/lib/component/quick-send-button/style/_material-definition.scss +6 -6
- package/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.d.ts +1 -1
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +1 -1
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +24 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +1 -1
- package/lib/component/transaction-reservation/service/transaction-sales-reservation.service.d.ts +1 -1
- package/lib/component/transaction-reservation/transaction-sales-reservation-popup/transaction-sales-reservation-popup.component.d.ts +1 -0
- package/lib/enum/icon.enum.d.ts +2 -0
- package/lib/style/transaction-globals.scss +27 -0
- package/package.json +4 -4
|
@@ -25,10 +25,10 @@ export class AddProductComponent {
|
|
|
25
25
|
onlyThreeD: false
|
|
26
26
|
};
|
|
27
27
|
this.catalogParameters = {};
|
|
28
|
-
this.isSearchInputFocused = false;
|
|
29
28
|
this.showRelatedProductsPopup = false;
|
|
30
29
|
this.cartPlusIcon = this.iconService.getIcon(this.icons.CartPlusRegular);
|
|
31
30
|
this.cartMinIcon = this.iconService.getIcon(this.icons.CartMinusRegular);
|
|
31
|
+
this.pendingAddArticleAction = false;
|
|
32
32
|
this._showCatalog = false;
|
|
33
33
|
this._subs = [];
|
|
34
34
|
}
|
|
@@ -54,54 +54,63 @@ export class AddProductComponent {
|
|
|
54
54
|
}
|
|
55
55
|
handleSearch(text) {
|
|
56
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
57
|
+
console.log('searching: ' + text);
|
|
60
58
|
this.searchText = text;
|
|
61
59
|
this._prepareCatalogRequest();
|
|
62
|
-
this.searchText =
|
|
60
|
+
this.searchText = "";
|
|
61
|
+
this._changeDetector.detectChanges();
|
|
63
62
|
// first check if there's a single article found
|
|
64
63
|
// This is a two check step:
|
|
65
64
|
// Check if there is an exact match on barcode, ean or articlenumber
|
|
66
65
|
// if not: check with search like
|
|
67
66
|
// else open catalogus
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
if (
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
else {
|
|
75
|
-
yield this.handleAddArticle(article);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
const foundArticles = yield this.transactionService.getArticles(this.catalogParameters);
|
|
80
|
-
if (foundArticles && foundArticles.length === 1) {
|
|
81
|
-
const article = yield this.transactionService.getArticleExtended(foundArticles[0].articleNumber);
|
|
67
|
+
if (!this.pendingAddArticleAction) {
|
|
68
|
+
console.log('no Pending Action ' + text);
|
|
69
|
+
const fullMatchSearch = yield this.transactionService.getArticleListWithBarcodeArticleNrEanCode(text);
|
|
70
|
+
if (fullMatchSearch && fullMatchSearch.length === 1) {
|
|
71
|
+
console.log('Match' + text);
|
|
72
|
+
const article = yield this.transactionService.getArticleExtended(fullMatchSearch[0].articleNr);
|
|
82
73
|
if (article.goodType === "B") {
|
|
83
74
|
this.showCatalogDialog();
|
|
84
75
|
}
|
|
85
76
|
else {
|
|
77
|
+
this.pendingAddArticleAction = true;
|
|
86
78
|
yield this.handleAddArticle(article);
|
|
87
79
|
}
|
|
88
80
|
}
|
|
89
81
|
else {
|
|
90
|
-
|
|
82
|
+
console.log('No Match' + text);
|
|
83
|
+
const foundArticles = yield this.transactionService.getArticles(this.catalogParameters);
|
|
84
|
+
if (foundArticles && foundArticles.length === 1) {
|
|
85
|
+
console.log('Found Article ' + text);
|
|
86
|
+
const article = yield this.transactionService.getArticleExtended(foundArticles[0].articleNumber);
|
|
87
|
+
if (article.goodType === "B") {
|
|
88
|
+
this.showCatalogDialog();
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
this.pendingAddArticleAction = true;
|
|
92
|
+
yield this.handleAddArticle(article);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
console.log('No Found Article ' + text);
|
|
97
|
+
this.showCatalogDialog();
|
|
98
|
+
}
|
|
91
99
|
}
|
|
92
100
|
}
|
|
93
101
|
});
|
|
94
102
|
}
|
|
95
|
-
handleInputFocus(isFocused) {
|
|
96
|
-
this.isSearchInputFocused = isFocused;
|
|
97
|
-
}
|
|
98
103
|
handleAddArticle(article) {
|
|
99
104
|
return __awaiter(this, void 0, void 0, function* () {
|
|
100
105
|
if (this.handleAddArticleInternally) {
|
|
101
106
|
const success = yield this.transactionService.addArticle(article.articleNumber, this.return ? -1 : 1);
|
|
102
|
-
if (
|
|
107
|
+
if (success) {
|
|
108
|
+
this.searchText = "";
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
103
111
|
this.transactionService.rollback();
|
|
104
112
|
}
|
|
113
|
+
this.pendingAddArticleAction = false;
|
|
105
114
|
}
|
|
106
115
|
else {
|
|
107
116
|
this.addArticle.next({
|
|
@@ -111,6 +120,7 @@ export class AddProductComponent {
|
|
|
111
120
|
belowLineNr: 0,
|
|
112
121
|
lastArticle: true
|
|
113
122
|
});
|
|
123
|
+
this.pendingAddArticleAction = false;
|
|
114
124
|
}
|
|
115
125
|
});
|
|
116
126
|
}
|
|
@@ -121,20 +131,7 @@ export class AddProductComponent {
|
|
|
121
131
|
// }
|
|
122
132
|
this.showCatalog = false;
|
|
123
133
|
if (this.handleAddArticleInternally) {
|
|
124
|
-
|
|
125
|
-
if (typeof data.article === 'string') {
|
|
126
|
-
const article = JSON.parse(data.article);
|
|
127
|
-
if (article.selectorData && article.selectorData.compositions) { // configured (frozen) article
|
|
128
|
-
yield this.transactionService.addArticle(article.selectorData.compositions[0].compositionArticleNo, data.quantity, 0, 0, true, true);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
else { // flat (simple) article
|
|
132
|
-
const articleNr = data.article['articleNr'] || data.article['articleNumber'] || data.article['articleNo'];
|
|
133
|
-
if (articleNr) {
|
|
134
|
-
yield this.transactionService.addArticle(articleNr, data.quantity, 0, 0, true, true);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
134
|
+
yield this._handleArticleTypeOnAdd(data);
|
|
138
135
|
}
|
|
139
136
|
else {
|
|
140
137
|
if (data && data.article instanceof ArticleExtended) {
|
|
@@ -149,6 +146,46 @@ export class AddProductComponent {
|
|
|
149
146
|
}
|
|
150
147
|
});
|
|
151
148
|
}
|
|
149
|
+
_tryAddArticle(articleNr, quantity) {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
const success = yield this.transactionService.addArticle(articleNr, quantity, 0, 0, true, true);
|
|
152
|
+
console.log(success);
|
|
153
|
+
if (success) {
|
|
154
|
+
this.searchText = "";
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// keep the search text
|
|
158
|
+
this.searchText = this.inputSearchText.model;
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
_handleArticleTypeOnAdd(data) {
|
|
163
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
if (data && data.article) {
|
|
165
|
+
if (typeof data.article === 'string') {
|
|
166
|
+
const article = JSON.parse(data.article);
|
|
167
|
+
if (article.selectorData.compositions) { // configured (frozen) article
|
|
168
|
+
yield this._tryAddArticle(article.selectorData.compositions[0].compositionArticleNo, data.quantity);
|
|
169
|
+
}
|
|
170
|
+
else if (article.selectorData.articleNr) { // flat article
|
|
171
|
+
yield this._tryAddArticle(article.selectorData.articleNr, data.quantity);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else { // flat (simple) article
|
|
175
|
+
let articleNr;
|
|
176
|
+
if (data.article instanceof ArticleExtended) {
|
|
177
|
+
articleNr = data.article.articleNumber;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
articleNr = data.article.hasOwnProperty('articleNr') ? data.article['articleNr'] : data.article['articleNo'];
|
|
181
|
+
}
|
|
182
|
+
if (articleNr) {
|
|
183
|
+
yield this._tryAddArticle(articleNr, data.quantity);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}
|
|
152
189
|
getActualQuantity(quantityInput) {
|
|
153
190
|
let quantity = 0;
|
|
154
191
|
if (this.return && quantityInput > 0) {
|
|
@@ -167,6 +204,11 @@ export class AddProductComponent {
|
|
|
167
204
|
}
|
|
168
205
|
showCatalogDialog() {
|
|
169
206
|
this.showCatalog = true;
|
|
207
|
+
this.pendingAddArticleAction = false;
|
|
208
|
+
}
|
|
209
|
+
handleCloseCatalogueClick() {
|
|
210
|
+
this.showCatalog = false;
|
|
211
|
+
this.searchText = "";
|
|
170
212
|
}
|
|
171
213
|
handleCartIconClick(event) {
|
|
172
214
|
this.return = !this.return;
|
|
@@ -176,7 +218,7 @@ export class AddProductComponent {
|
|
|
176
218
|
this.searchText = this.inputSearchText.model;
|
|
177
219
|
}
|
|
178
220
|
this._prepareCatalogRequest();
|
|
179
|
-
this.searchText = undefined;
|
|
221
|
+
// this.searchText = undefined;
|
|
180
222
|
this.showCatalogDialog();
|
|
181
223
|
}
|
|
182
224
|
handleIFrameFeedback(iFrameFeedbackObject) {
|
|
@@ -228,7 +270,6 @@ AddProductComponent.decorators = [
|
|
|
228
270
|
(rightIconClick)="handleSearchIconClick()"
|
|
229
271
|
(barCodeScanned)="handleSearch($event)"
|
|
230
272
|
(search)="handleSearch($event)"
|
|
231
|
-
(isFocused)="handleInputFocus($event)"
|
|
232
273
|
></co-input-scanner>
|
|
233
274
|
<co-dialog-catalog *ngIf="showCatalog"
|
|
234
275
|
[options]="catalogOptions"
|
|
@@ -238,7 +279,7 @@ AddProductComponent.decorators = [
|
|
|
238
279
|
[isReturn]="return"
|
|
239
280
|
[showRelatedProductsPopup]="showRelatedProductsPopup"
|
|
240
281
|
[transaction]="transactionService.currentTransaction"
|
|
241
|
-
(closeClick)="
|
|
282
|
+
(closeClick)="handleCloseCatalogueClick()"
|
|
242
283
|
(articleClicked)="handleCatalogArticleClick($event)"
|
|
243
284
|
(addArticleClicked)="handleAddArticleClick($event)"
|
|
244
285
|
(addCatFarmArticleClicked)="handleAddCatFarmArticleClick($event)"
|
|
@@ -262,4 +303,4 @@ AddProductComponent.propDecorators = {
|
|
|
262
303
|
showClass: [{ type: HostBinding, args: ['class.co-add-product',] }],
|
|
263
304
|
return: [{ type: HostBinding, args: ['class.return',] }]
|
|
264
305
|
};
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXByb2R1Y3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvYWRkLXByb2R1Y3QvYWRkLXByb2R1Y3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBR3JFLE9BQU8sRUFDSCxnQ0FBZ0MsRUFDbkMsTUFBTSwyRUFBMkUsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUVyRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQStDaEYsTUFBTSxPQUFPLG1CQUFtQjtJQWlENUIsWUFDVyxXQUE2QixFQUM3QixrQkFBc0MsRUFDdEMsdUJBQWdELEVBQy9DLGVBQWtDO1FBSG5DLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDL0Msb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBcEQ5QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQywrQkFBMEIsR0FBWSxJQUFJLENBQUM7UUFHM0MsZUFBVSxHQUFzQyxJQUFJ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QWlCLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDLENBQUMsa0JBQWtCO1FBQy9ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNsRCxDQUFDOzs7WUF4UUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQStCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7O1lBdkRPLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFRbEIsdUJBQXVCO1lBckIzQixpQkFBaUI7Ozt5Q0F1RWhCLEtBQUs7eUJBR0wsTUFBTTs4QkFHTixTQUFTLFNBQUMsYUFBYTt3QkFHdkIsV0FBVyxTQUFDLHNCQUFzQjtxQkFLbEMsV0FBVyxTQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIElucHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FydGljbGVMaWdodH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saWdodC5ibyc7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge1xyXG4gICAgRXh0ZXJuYWxDYXRhbG9nQWRkQXJ0aWNsZVJlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtY2F0YWxvZy1hZGQtYXJ0aWNsZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtFeHRlcm5hbENhdGFsb2dUeXBlc30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vZXh0ZXJuYWwtY2F0YWxvZy10eXBlcy5lbnVtJztcclxuaW1wb3J0IHtJbnB1dFNjYW5uZXJDb21wb25lbnR9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBZGRBcnRpY2xlSW50ZXJmYWNlIHtcclxuICAgIGFydGljbGU6IEFydGljbGVFeHRlbmRlZDtcclxuICAgIHF1YW50aXR5OiBudW1iZXI7XHJcbiAgICBhYm92ZUxpbmVOcjogbnVtYmVyO1xyXG4gICAgYmVsb3dMaW5lTnI6IG51bWJlcjtcclxuICAgIGxhc3RBcnRpY2xlOiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY28tYWRkLXByb2R1Y3QnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28taW5wdXQtc2Nhbm5lclxyXG4gICAgICAgICAgICAjaW5wdXRTZWFyY2hcclxuICAgICAgICAgICAgW2N1c3RvbUNzc0NsYXNzXT1cIiduby1mb2N1cy1saW5lJ1wiXHJcbiAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFRleHRcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFQVJDSF9BRERfQVJUSUNMRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgIFtjZW50ZXJMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW3VzZUxlZnRJY29uXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbbGVmdEljb25EYXRhXT1cInJldHVybiA/IGNhcnRNaW5JY29uIDogY2FydFBsdXNJY29uXCJcclxuICAgICAgICAgICAgW3VzZVJpZ2h0SWNvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgKGxlZnRJY29uQ2xpY2spPVwiaGFuZGxlQ2FydEljb25DbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cImhhbmRsZVNlYXJjaEljb25DbGljaygpXCJcclxuICAgICAgICAgICAgKGJhckNvZGVTY2FubmVkKT1cImhhbmRsZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHNlYXJjaCk9XCJoYW5kbGVTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChpc0ZvY3VzZWQpPVwiaGFuZGxlSW5wdXRGb2N1cygkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1pbnB1dC1zY2FubmVyPlxyXG4gICAgICAgIDxjby1kaWFsb2ctY2F0YWxvZyAqbmdJZj1cInNob3dDYXRhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiY2F0YWxvZ09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyYW1ldGVyc109XCJjYXRhbG9nUGFyYW1ldGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseV09XCJoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzUmV0dXJuXT1cInJldHVyblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93UmVsYXRlZFByb2R1Y3RzUG9wdXBdPVwic2hvd1JlbGF0ZWRQcm9kdWN0c1BvcHVwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93Q2F0YWxvZyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFydGljbGVDbGlja2VkKT1cImhhbmRsZUNhdGFsb2dBcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChhZGRBcnRpY2xlQ2xpY2tlZCk9XCJoYW5kbGVBZGRBcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChhZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQpPVwiaGFuZGxlQWRkQ2F0RmFybUFydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlGcmFtZUZlZWRiYWNrKT1cImhhbmRsZUlGcmFtZUZlZWRiYWNrKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLWRpYWxvZy1jYXRhbG9nPlxyXG4gICAgYCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZFByb2R1Y3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYWRkQXJ0aWNsZTogRXZlbnRFbWl0dGVyPEFkZEFydGljbGVJbnRlcmZhY2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRBcnRpY2xlSW50ZXJmYWNlPigpO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0U2VhcmNoJylcclxuICAgIHB1YmxpYyBpbnB1dFNlYXJjaFRleHQ6IElucHV0U2Nhbm5lckNvbXBvbmVudDtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWFkZC1wcm9kdWN0JylcclxuICAgIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZXR1cm4nKVxyXG4gICAgcHVibGljIHJldHVybjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBjYXRhbG9nT3B0aW9uczogYW55ID0ge1xyXG4gICAgICAgIHNlYXJjaE9uU3RhcnQ6IHRydWUsXHJcbiAgICAgICAgc2hvd0FkZFRvQ2FydDogZmFsc2UsXHJcbiAgICAgICAgc2hvd0xvb2tBdEFydGljbGVCdXR0b246IGZhbHNlLFxyXG4gICAgICAgIHNob3dBZGRBcnRpY2xlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIG9ubHlUaHJlZUQ6IGZhbHNlXHJcbiAgICB9O1xyXG4gICAgcHVibGljIGNhdGFsb2dQYXJhbWV0ZXJzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBwdWJsaWMgaXNTZWFyY2hJbnB1dEZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIHNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBjYXJ0UGx1c0ljb246IFNhZmVIdG1sID0gdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuQ2FydFBsdXNSZWd1bGFyKTtcclxuICAgIHB1YmxpYyBjYXJ0TWluSWNvbjogU2FmZUh0bWwgPSB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5DYXJ0TWludXNSZWd1bGFyKTtcclxuXHJcbiAgICBwdWJsaWMgc2V0IHNob3dDYXRhbG9nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0NhdGFsb2cgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2hvd0NhdGFsb2coKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dDYXRhbG9nO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dDYXRhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5hZnRlckFkZFRyYW5zYWN0aW9uTGluZS5zdWJzY3JpYmUoKGJvb2wpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChib29sKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93UmVsYXRlZFByb2R1Y3RzUG9wdXAgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVTZWFyY2godGV4dDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzU2VhcmNoSW5wdXRGb2N1c2VkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gdGV4dDtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTtcclxuICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgLy8gZmlyc3QgY2hlY2sgaWYgdGhlcmUncyBhIHNpbmdsZSBhcnRpY2xlIGZvdW5kXHJcbiAgICAgICAgLy8gVGhpcyBpcyBhIHR3byBjaGVjayBzdGVwOlxyXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIGlzIGFuIGV4YWN0IG1hdGNoIG9uIGJhcmNvZGUsIGVhbiBvciBhcnRpY2xlbnVtYmVyXHJcbiAgICAgICAgLy8gaWYgbm90OiBjaGVjayB3aXRoIHNlYXJjaCBsaWtlXHJcbiAgICAgICAgLy8gZWxzZSBvcGVuIGNhdGFsb2d1c1xyXG5cclxuICAgICAgICBjb25zdCBmdWxsTWF0Y2hTZWFyY2g6IGFueVtdID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0QXJ0aWNsZUxpc3RXaXRoQmFyY29kZUFydGljbGVOckVhbkNvZGUodGV4dCk7XHJcbiAgICAgICAgaWYgKGZ1bGxNYXRjaFNlYXJjaCAmJiBmdWxsTWF0Y2hTZWFyY2gubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFydGljbGU6IEFydGljbGVFeHRlbmRlZCA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEFydGljbGVFeHRlbmRlZChmdWxsTWF0Y2hTZWFyY2hbMF0uYXJ0aWNsZU5yKTtcclxuICAgICAgICAgICAgaWYgKGFydGljbGUuZ29vZFR5cGUgPT09IFwiQlwiKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dDYXRhbG9nRGlhbG9nKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBmb3VuZEFydGljbGVzOiBBcnRpY2xlTGlnaHRbXSA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEFydGljbGVzKHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMpO1xyXG4gICAgICAgICAgICBpZiAoZm91bmRBcnRpY2xlcyAmJiBmb3VuZEFydGljbGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0QXJ0aWNsZUV4dGVuZGVkKGZvdW5kQXJ0aWNsZXNbMF0uYXJ0aWNsZU51bWJlcik7XHJcbiAgICAgICAgICAgICAgICBpZiAoYXJ0aWNsZS5nb29kVHlwZSA9PT0gXCJCXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dDYXRhbG9nRGlhbG9nKCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWRkQXJ0aWNsZShhcnRpY2xlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0NhdGFsb2dEaWFsb2coKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRGb2N1cyhpc0ZvY3VzZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLmlzU2VhcmNoSW5wdXRGb2N1c2VkID0gaXNGb2N1c2VkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRBcnRpY2xlKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3M6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hZGRBcnRpY2xlKGFydGljbGUuYXJ0aWNsZU51bWJlciwgdGhpcy5yZXR1cm4gPyAtMSA6IDEpO1xyXG4gICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnJvbGxiYWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEFydGljbGUubmV4dCh7XHJcbiAgICAgICAgICAgICAgICBhcnRpY2xlOiBhcnRpY2xlLFxyXG4gICAgICAgICAgICAgICAgcXVhbnRpdHk6IHRoaXMucmV0dXJuID8gLTEgOiAxLFxyXG4gICAgICAgICAgICAgICAgYWJvdmVMaW5lTnI6IDAsXHJcbiAgICAgICAgICAgICAgICBiZWxvd0xpbmVOcjogMCxcclxuICAgICAgICAgICAgICAgIGxhc3RBcnRpY2xlOiB0cnVlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkQXJ0aWNsZUNsaWNrKGRhdGE6IHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICAvLyBpZiAoIXRoaXMuc2hvd1JlbGF0ZWRQcm9kdWN0c1BvcHVwKSB7XHJcbiAgICAgICAgLy8gICAgIHRoaXMuc2hvd0NhdGFsb2cgPSBmYWxzZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGhpcy5zaG93Q2F0YWxvZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5KSB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhICYmIGRhdGEuYXJ0aWNsZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkYXRhLmFydGljbGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJ0aWNsZSA9IEpTT04ucGFyc2UoZGF0YS5hcnRpY2xlIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFydGljbGUuc2VsZWN0b3JEYXRhICYmIGFydGljbGUuc2VsZWN0b3JEYXRhLmNvbXBvc2l0aW9ucykgeyAvLyBjb25maWd1cmVkIChmcm96ZW4pIGFydGljbGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuYWRkQXJ0aWNsZShhcnRpY2xlLnNlbGVjdG9yRGF0YS5jb21wb3NpdGlvbnNbMF0uY29tcG9zaXRpb25BcnRpY2xlTm8sIGRhdGEucXVhbnRpdHksIDAsIDAsIHRydWUsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7IC8vIGZsYXQgKHNpbXBsZSkgYXJ0aWNsZVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFydGljbGVOcjogc3RyaW5nID0gZGF0YS5hcnRpY2xlWydhcnRpY2xlTnInXSB8fCBkYXRhLmFydGljbGVbJ2FydGljbGVOdW1iZXInXSB8fCBkYXRhLmFydGljbGVbJ2FydGljbGVObyddO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhcnRpY2xlTnIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuYWRkQXJ0aWNsZShhcnRpY2xlTnIsIGRhdGEucXVhbnRpdHksIDAsIDAsIHRydWUsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhICYmIGRhdGEuYXJ0aWNsZSBpbnN0YW5jZW9mIEFydGljbGVFeHRlbmRlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRBcnRpY2xlLm5leHQoe1xyXG4gICAgICAgICAgICAgICAgICAgIGFydGljbGU6IGRhdGEuYXJ0aWNsZSxcclxuICAgICAgICAgICAgICAgICAgICBxdWFudGl0eTogdGhpcy5nZXRBY3R1YWxRdWFudGl0eShkYXRhLnF1YW50aXR5KSxcclxuICAgICAgICAgICAgICAgICAgICBhYm92ZUxpbmVOcjogMCxcclxuICAgICAgICAgICAgICAgICAgICBiZWxvd0xpbmVOcjogMCxcclxuICAgICAgICAgICAgICAgICAgICBsYXN0QXJ0aWNsZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEFjdHVhbFF1YW50aXR5KHF1YW50aXR5SW5wdXQpOiBudW1iZXIge1xyXG4gICAgICAgIGxldCBxdWFudGl0eTogbnVtYmVyID0gMDtcclxuICAgICAgICBpZiAodGhpcy5yZXR1cm4gJiYgcXVhbnRpdHlJbnB1dCA+IDApIHtcclxuICAgICAgICAgICAgcXVhbnRpdHkgPSAtMTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBxdWFudGl0eSA9IHF1YW50aXR5SW5wdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBxdWFudGl0eTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlQ2F0YWxvZ0FydGljbGVDbGljayhhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZSk7XHJcbiAgICAgICAgdGhpcy5zaG93Q2F0YWxvZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzaG93Q2F0YWxvZ0RpYWxvZygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dDYXRhbG9nID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlQ2FydEljb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmV0dXJuID0gIXRoaXMucmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVTZWFyY2hJY29uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRTZWFyY2hUZXh0Lm1vZGVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IHRoaXMuaW5wdXRTZWFyY2hUZXh0Lm1vZGVsO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTtcclxuICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5zaG93Q2F0YWxvZ0RpYWxvZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVJRnJhbWVGZWVkYmFjayhpRnJhbWVGZWVkYmFja09iamVjdDoge1xyXG4gICAgICAgIGpzb25TdHJpbmc6IHN0cmluZyxcclxuICAgICAgICBjYXRhbG9nOiBudW1iZXIsXHJcbiAgICAgICAgc291cmNlVHlwZTogc3RyaW5nXHJcbiAgICB9KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5zaG93Q2F0YWxvZyA9IGZhbHNlO1xyXG4gICAgICAgIGxldCByZXF1ZXN0OiBFeHRlcm5hbENhdGFsb2dBZGRBcnRpY2xlUmVxdWVzdCA9IG5ldyBFeHRlcm5hbENhdGFsb2dBZGRBcnRpY2xlUmVxdWVzdCgpO1xyXG4gICAgICAgIHJlcXVlc3QuY2F0YWxvZ0lkID0gaUZyYW1lRmVlZGJhY2tPYmplY3QuY2F0YWxvZztcclxuICAgICAgICByZXF1ZXN0LmNhdGFsb2dUeXBlID0gaUZyYW1lRmVlZGJhY2tPYmplY3Quc291cmNlVHlwZTtcclxuICAgICAgICByZXF1ZXN0LmFydGljbGVKc29uID0gaUZyYW1lRmVlZGJhY2tPYmplY3QuanNvblN0cmluZztcclxuICAgICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hZGRFeHRlcm5hbENhdGFsb2dBcnRpY2xlKHJlcXVlc3QsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrKGRhdGE6IHtcclxuICAgICAgICBxdWFudGl0eTogbnVtYmVyLFxyXG4gICAgICAgIGpzb25TdHJpbmc6IHN0cmluZyxcclxuICAgICAgICBjYXRhbG9nOiBudW1iZXJcclxuICAgIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLnNob3dDYXRhbG9nID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0ID0gbmV3IEV4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0KCk7XHJcbiAgICAgICAgcmVxdWVzdC5jYXRhbG9nSWQgPSBkYXRhLmNhdGFsb2c7XHJcbiAgICAgICAgcmVxdWVzdC5jYXRhbG9nVHlwZSA9IEV4dGVybmFsQ2F0YWxvZ1R5cGVzLkNhdGFsb2dGYXJtO1xyXG4gICAgICAgIHJlcXVlc3QuYXJ0aWNsZUpzb24gPSBkYXRhLmpzb25TdHJpbmc7XHJcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuYWRkRXh0ZXJuYWxDYXRhbG9nQXJ0aWNsZShyZXF1ZXN0LCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5nZW5lcmFsID0gdGhpcy5zZWFyY2hUZXh0O1xyXG4gICAgICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMuc2hvd1JlZ3VsYXJBcnRpY2xlcyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5zaG93Q29uZmlndXJlZEFydGljbGVzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5zaG93Q29uZmlndXJhYmxlQXJ0aWNsZXMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMuc2hvd0NvbXBvc2l0aW9uQXJ0aWNsZXMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnNob3dDdXN0b21pemVkQXJ0aWNsZXMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnNob3dJbmFjdGl2ZUFydGljbGVzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5wdWJsaWNhdGlvbkNvZGUgPSA3MTsgLy8gdG9kbzogZml4IHRoaXM/XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5pc1JldHVybiA9IHRoaXMucmV0dXJuO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXByb2R1Y3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvYWRkLXByb2R1Y3QvYWRkLXByb2R1Y3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBR3JFLE9BQU8sRUFDSCxnQ0FBZ0MsRUFDbkMsTUFBTSwyRUFBMkUsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUVyRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQThDaEYsTUFBTSxPQUFPLG1CQUFtQjtJQWtENUIsWUFDVyxXQUE2QixFQUM3QixrQkFBc0MsRUFDdEMsdUJBQWdELEVBQy9DLGVBQWtDO1FBSG5DLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDL0Msb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBckQ5QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQywrQkFBMEIsR0FBWSxJQUFJLENBQUM7UUFHM0MsZUFBVSxHQUFzQyxJQUFJ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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ibyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpZ2h0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpZ2h0LmJvJztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7XHJcbiAgICBFeHRlcm5hbENhdGFsb2dBZGRBcnRpY2xlUmVxdWVzdFxyXG59IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1jYXRhbG9nLWFkZC1hcnRpY2xlLXJlcXVlc3QnO1xyXG5pbXBvcnQge0V4dGVybmFsQ2F0YWxvZ1R5cGVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9leHRlcm5hbC1jYXRhbG9nLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQge0lucHV0U2Nhbm5lckNvbXBvbmVudH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFkZEFydGljbGVJbnRlcmZhY2Uge1xyXG4gICAgYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkO1xyXG4gICAgcXVhbnRpdHk6IG51bWJlcjtcclxuICAgIGFib3ZlTGluZU5yOiBudW1iZXI7XHJcbiAgICBiZWxvd0xpbmVOcjogbnVtYmVyO1xyXG4gICAgbGFzdEFydGljbGU6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjby1hZGQtcHJvZHVjdCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxjby1pbnB1dC1zY2FubmVyXHJcbiAgICAgICAgICAgICNpbnB1dFNlYXJjaFxyXG4gICAgICAgICAgICBbY3VzdG9tQ3NzQ2xhc3NdPVwiJ25vLWZvY3VzLWxpbmUnXCJcclxuICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoVGV4dFwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VBUkNIX0FERF9BUlRJQ0xFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgW2NlbnRlckxhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbdXNlTGVmdEljb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtsZWZ0SWNvbkRhdGFdPVwicmV0dXJuID8gY2FydE1pbkljb24gOiBjYXJ0UGx1c0ljb25cIlxyXG4gICAgICAgICAgICBbdXNlUmlnaHRJY29uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAobGVmdEljb25DbGljayk9XCJoYW5kbGVDYXJ0SWNvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAocmlnaHRJY29uQ2xpY2spPVwiaGFuZGxlU2VhcmNoSWNvbkNsaWNrKClcIlxyXG4gICAgICAgICAgICAoYmFyQ29kZVNjYW5uZWQpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxyXG4gICAgICAgICAgICAoc2VhcmNoKT1cImhhbmRsZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1pbnB1dC1zY2FubmVyPlxyXG4gICAgICAgIDxjby1kaWFsb2ctY2F0YWxvZyAqbmdJZj1cInNob3dDYXRhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiY2F0YWxvZ09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyYW1ldGVyc109XCJjYXRhbG9nUGFyYW1ldGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseV09XCJoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzUmV0dXJuXT1cInJldHVyblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93UmVsYXRlZFByb2R1Y3RzUG9wdXBdPVwic2hvd1JlbGF0ZWRQcm9kdWN0c1BvcHVwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJoYW5kbGVDbG9zZUNhdGFsb2d1ZUNsaWNrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoYXJ0aWNsZUNsaWNrZWQpPVwiaGFuZGxlQ2F0YWxvZ0FydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZEFydGljbGVDbGlja2VkKT1cImhhbmRsZUFkZEFydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZENhdEZhcm1BcnRpY2xlQ2xpY2tlZCk9XCJoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoaUZyYW1lRmVlZGJhY2spPVwiaGFuZGxlSUZyYW1lRmVlZGJhY2soJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tZGlhbG9nLWNhdGFsb2c+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkUHJvZHVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhZGRBcnRpY2xlOiBFdmVudEVtaXR0ZXI8QWRkQXJ0aWNsZUludGVyZmFjZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFkZEFydGljbGVJbnRlcmZhY2U+KCk7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRTZWFyY2gnKVxyXG4gICAgcHVibGljIGlucHV0U2VhcmNoVGV4dDogSW5wdXRTY2FubmVyQ29tcG9uZW50O1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY28tYWRkLXByb2R1Y3QnKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJldHVybicpXHJcbiAgICBwdWJsaWMgcmV0dXJuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGNhdGFsb2dPcHRpb25zOiBhbnkgPSB7XHJcbiAgICAgICAgc2VhcmNoT25TdGFydDogdHJ1ZSxcclxuICAgICAgICBzaG93QWRkVG9DYXJ0OiBmYWxzZSxcclxuICAgICAgICBzaG93TG9va0F0QXJ0aWNsZUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgc2hvd0FkZEFydGljbGVCdXR0b246IHRydWUsXHJcbiAgICAgICAgb25seVRocmVlRDogZmFsc2VcclxuICAgIH07XHJcbiAgICBwdWJsaWMgY2F0YWxvZ1BhcmFtZXRlcnM6IGFueSA9IHt9O1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIHNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBjYXJ0UGx1c0ljb246IFNhZmVIdG1sID0gdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuQ2FydFBsdXNSZWd1bGFyKTtcclxuICAgIHB1YmxpYyBjYXJ0TWluSWNvbjogU2FmZUh0bWwgPSB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5DYXJ0TWludXNSZWd1bGFyKTtcclxuXHJcbiAgICBwdWJsaWMgcGVuZGluZ0FkZEFydGljbGVBY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgc2V0IHNob3dDYXRhbG9nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0NhdGFsb2cgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2hvd0NhdGFsb2coKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dDYXRhbG9nO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dDYXRhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5hZnRlckFkZFRyYW5zYWN0aW9uTGluZS5zdWJzY3JpYmUoKGJvb2wpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChib29sKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93UmVsYXRlZFByb2R1Y3RzUG9wdXAgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVTZWFyY2godGV4dDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3NlYXJjaGluZzogJyArIHRleHQpXHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gdGV4dDtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTtcclxuICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSBcIlwiO1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAvLyBmaXJzdCBjaGVjayBpZiB0aGVyZSdzIGEgc2luZ2xlIGFydGljbGUgZm91bmRcclxuICAgICAgICAvLyBUaGlzIGlzIGEgdHdvIGNoZWNrIHN0ZXA6XHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUgaXMgYW4gZXhhY3QgbWF0Y2ggb24gYmFyY29kZSwgZWFuIG9yIGFydGljbGVudW1iZXJcclxuICAgICAgICAvLyBpZiBub3Q6IGNoZWNrIHdpdGggc2VhcmNoIGxpa2VcclxuICAgICAgICAvLyBlbHNlIG9wZW4gY2F0YWxvZ3VzXHJcbiAgICAgICAgaWYgKCF0aGlzLnBlbmRpbmdBZGRBcnRpY2xlQWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdubyBQZW5kaW5nIEFjdGlvbiAnICsgdGV4dCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bGxNYXRjaFNlYXJjaDogYW55W10gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRBcnRpY2xlTGlzdFdpdGhCYXJjb2RlQXJ0aWNsZU5yRWFuQ29kZSh0ZXh0KTtcclxuICAgICAgICAgICAgaWYgKGZ1bGxNYXRjaFNlYXJjaCAmJiBmdWxsTWF0Y2hTZWFyY2gubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTWF0Y2gnICsgdGV4dCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRBcnRpY2xlRXh0ZW5kZWQoZnVsbE1hdGNoU2VhcmNoWzBdLmFydGljbGVOcik7XHJcbiAgICAgICAgICAgICAgICBpZiAoYXJ0aWNsZS5nb29kVHlwZSA9PT0gXCJCXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dDYXRhbG9nRGlhbG9nKCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ0FkZEFydGljbGVBY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWRkQXJ0aWNsZShhcnRpY2xlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdObyBNYXRjaCcgKyB0ZXh0KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZvdW5kQXJ0aWNsZXM6IEFydGljbGVMaWdodFtdID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0QXJ0aWNsZXModGhpcy5jYXRhbG9nUGFyYW1ldGVycyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmRBcnRpY2xlcyAmJiBmb3VuZEFydGljbGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGb3VuZCBBcnRpY2xlICcgKyB0ZXh0KTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRBcnRpY2xlRXh0ZW5kZWQoZm91bmRBcnRpY2xlc1swXS5hcnRpY2xlTnVtYmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYXJ0aWNsZS5nb29kVHlwZSA9PT0gXCJCXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93Q2F0YWxvZ0RpYWxvZygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ0FkZEFydGljbGVBY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTm8gRm91bmQgQXJ0aWNsZSAnICsgdGV4dCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93Q2F0YWxvZ0RpYWxvZygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRBcnRpY2xlKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3M6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hZGRBcnRpY2xlKGFydGljbGUuYXJ0aWNsZU51bWJlciwgdGhpcy5yZXR1cm4gPyAtMSA6IDEpXHJcblxyXG4gICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gXCJcIlxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2Uucm9sbGJhY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdBZGRBcnRpY2xlQWN0aW9uID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRBcnRpY2xlLm5leHQoe1xyXG4gICAgICAgICAgICAgICAgYXJ0aWNsZTogYXJ0aWNsZSxcclxuICAgICAgICAgICAgICAgIHF1YW50aXR5OiB0aGlzLnJldHVybiA/IC0xIDogMSxcclxuICAgICAgICAgICAgICAgIGFib3ZlTGluZU5yOiAwLFxyXG4gICAgICAgICAgICAgICAgYmVsb3dMaW5lTnI6IDAsXHJcbiAgICAgICAgICAgICAgICBsYXN0QXJ0aWNsZTogdHJ1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5wZW5kaW5nQWRkQXJ0aWNsZUFjdGlvbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkQXJ0aWNsZUNsaWNrKGRhdGE6IHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICAvLyBpZiAoIXRoaXMuc2hvd1JlbGF0ZWRQcm9kdWN0c1BvcHVwKSB7XHJcbiAgICAgICAgLy8gICAgIHRoaXMuc2hvd0NhdGFsb2cgPSBmYWxzZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGhpcy5zaG93Q2F0YWxvZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5KSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2hhbmRsZUFydGljbGVUeXBlT25BZGQoZGF0YSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5hcnRpY2xlIGluc3RhbmNlb2YgQXJ0aWNsZUV4dGVuZGVkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEFydGljbGUubmV4dCh7XHJcbiAgICAgICAgICAgICAgICAgICAgYXJ0aWNsZTogZGF0YS5hcnRpY2xlLFxyXG4gICAgICAgICAgICAgICAgICAgIHF1YW50aXR5OiB0aGlzLmdldEFjdHVhbFF1YW50aXR5KGRhdGEucXVhbnRpdHkpLFxyXG4gICAgICAgICAgICAgICAgICAgIGFib3ZlTGluZU5yOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGJlbG93TGluZU5yOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhc3RBcnRpY2xlOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF90cnlBZGRBcnRpY2xlKGFydGljbGVOcjogc3RyaW5nLCBxdWFudGl0eTogbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3Qgc3VjY2VzcyA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmFkZEFydGljbGUoYXJ0aWNsZU5yLCBxdWFudGl0eSwgMCwgMCwgdHJ1ZSwgdHJ1ZSk7XHJcbiAgICAgICAgY29uc29sZS5sb2coc3VjY2VzcylcclxuICAgICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSBcIlwiXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8ga2VlcCB0aGUgc2VhcmNoIHRleHRcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gdGhpcy5pbnB1dFNlYXJjaFRleHQubW9kZWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX2hhbmRsZUFydGljbGVUeXBlT25BZGQoZGF0YTogeyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlRXh0ZW5kZWQ7IHF1YW50aXR5OiBudW1iZXIgfSkge1xyXG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEuYXJ0aWNsZSkge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGRhdGEuYXJ0aWNsZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFydGljbGUgPSBKU09OLnBhcnNlKGRhdGEuYXJ0aWNsZSBhcyBzdHJpbmcpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFydGljbGUuc2VsZWN0b3JEYXRhLmNvbXBvc2l0aW9ucykgeyAgLy8gY29uZmlndXJlZCAoZnJvemVuKSBhcnRpY2xlXHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fdHJ5QWRkQXJ0aWNsZShhcnRpY2xlLnNlbGVjdG9yRGF0YS5jb21wb3NpdGlvbnNbMF0uY29tcG9zaXRpb25BcnRpY2xlTm8sIGRhdGEucXVhbnRpdHkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhcnRpY2xlLnNlbGVjdG9yRGF0YS5hcnRpY2xlTnIpIHsgLy8gZmxhdCBhcnRpY2xlXHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fdHJ5QWRkQXJ0aWNsZShhcnRpY2xlLnNlbGVjdG9yRGF0YS5hcnRpY2xlTnIsIGRhdGEucXVhbnRpdHkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7IC8vIGZsYXQgKHNpbXBsZSkgYXJ0aWNsZVxyXG4gICAgICAgICAgICAgICAgbGV0IGFydGljbGVOcjogc3RyaW5nO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmFydGljbGUgaW5zdGFuY2VvZiBBcnRpY2xlRXh0ZW5kZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBhcnRpY2xlTnIgPSBkYXRhLmFydGljbGUuYXJ0aWNsZU51bWJlcjtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXJ0aWNsZU5yID0gKGRhdGEuYXJ0aWNsZSBhcyBhbnkpLmhhc093blByb3BlcnR5KCdhcnRpY2xlTnInKSA/IGRhdGEuYXJ0aWNsZVsnYXJ0aWNsZU5yJ10gOiBkYXRhLmFydGljbGVbJ2FydGljbGVObyddO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGFydGljbGVOcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX3RyeUFkZEFydGljbGUoYXJ0aWNsZU5yLCBkYXRhLnF1YW50aXR5LClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QWN0dWFsUXVhbnRpdHkocXVhbnRpdHlJbnB1dCk6IG51bWJlciB7XHJcbiAgICAgICAgbGV0IHF1YW50aXR5OiBudW1iZXIgPSAwO1xyXG4gICAgICAgIGlmICh0aGlzLnJldHVybiAmJiBxdWFudGl0eUlucHV0ID4gMCkge1xyXG4gICAgICAgICAgICBxdWFudGl0eSA9IC0xO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHF1YW50aXR5ID0gcXVhbnRpdHlJbnB1dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHF1YW50aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVDYXRhbG9nQXJ0aWNsZUNsaWNrKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWRkQXJ0aWNsZShhcnRpY2xlKTtcclxuICAgICAgICB0aGlzLnNob3dDYXRhbG9nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNob3dDYXRhbG9nRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd0NhdGFsb2cgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMucGVuZGluZ0FkZEFydGljbGVBY3Rpb24gPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlQ2xvc2VDYXRhbG9ndWVDbGljaygpIHtcclxuICAgICAgICB0aGlzLnNob3dDYXRhbG9nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlQ2FydEljb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmV0dXJuID0gIXRoaXMucmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVTZWFyY2hJY29uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRTZWFyY2hUZXh0Lm1vZGVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IHRoaXMuaW5wdXRTZWFyY2hUZXh0Lm1vZGVsO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTtcclxuICAgICAgICAvLyB0aGlzLnNlYXJjaFRleHQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5zaG93Q2F0YWxvZ0RpYWxvZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVJRnJhbWVGZWVkYmFjayhpRnJhbWVGZWVkYmFja09iamVjdDoge1xyXG4gICAgICAgIGpzb25TdHJpbmc6IHN0cmluZyxcclxuICAgICAgICBjYXRhbG9nOiBudW1iZXIsXHJcbiAgICAgICAgc291cmNlVHlwZTogc3RyaW5nXHJcbiAgICB9KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5zaG93Q2F0YWxvZyA9IGZhbHNlO1xyXG4gICAgICAgIGxldCByZXF1ZXN0OiBFeHRlcm5hbENhdGFsb2dBZGRBcnRpY2xlUmVxdWVzdCA9IG5ldyBFeHRlcm5hbENhdGFsb2dBZGRBcnRpY2xlUmVxdWVzdCgpO1xyXG4gICAgICAgIHJlcXVlc3QuY2F0YWxvZ0lkID0gaUZyYW1lRmVlZGJhY2tPYmplY3QuY2F0YWxvZztcclxuICAgICAgICByZXF1ZXN0LmNhdGFsb2dUeXBlID0gaUZyYW1lRmVlZGJhY2tPYmplY3Quc291cmNlVHlwZTtcclxuICAgICAgICByZXF1ZXN0LmFydGljbGVKc29uID0gaUZyYW1lRmVlZGJhY2tPYmplY3QuanNvblN0cmluZztcclxuICAgICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hZGRFeHRlcm5hbENhdGFsb2dBcnRpY2xlKHJlcXVlc3QsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrKGRhdGE6IHtcclxuICAgICAgICBxdWFudGl0eTogbnVtYmVyLFxyXG4gICAgICAgIGpzb25TdHJpbmc6IHN0cmluZyxcclxuICAgICAgICBjYXRhbG9nOiBudW1iZXJcclxuICAgIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLnNob3dDYXRhbG9nID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0ID0gbmV3IEV4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0KCk7XHJcbiAgICAgICAgcmVxdWVzdC5jYXRhbG9nSWQgPSBkYXRhLmNhdGFsb2c7XHJcbiAgICAgICAgcmVxdWVzdC5jYXRhbG9nVHlwZSA9IEV4dGVybmFsQ2F0YWxvZ1R5cGVzLkNhdGFsb2dGYXJtO1xyXG4gICAgICAgIHJlcXVlc3QuYXJ0aWNsZUpzb24gPSBkYXRhLmpzb25TdHJpbmc7XHJcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuYWRkRXh0ZXJuYWxDYXRhbG9nQXJ0aWNsZShyZXF1ZXN0LCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5nZW5lcmFsID0gdGhpcy5zZWFyY2hUZXh0O1xyXG4gICAgICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMuc2hvd1JlZ3VsYXJBcnRpY2xlcyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5zaG93Q29uZmlndXJlZEFydGljbGVzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5zaG93Q29uZmlndXJhYmxlQXJ0aWNsZXMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMuc2hvd0NvbXBvc2l0aW9uQXJ0aWNsZXMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnNob3dDdXN0b21pemVkQXJ0aWNsZXMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnNob3dJbmFjdGl2ZUFydGljbGVzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5wdWJsaWNhdGlvbkNvZGUgPSA3MTsgLy8gdG9kbzogZml4IHRoaXM/XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5pc1JldHVybiA9IHRoaXMucmV0dXJuO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -6,7 +6,7 @@ export class QuickSendButtonComponent {
|
|
|
6
6
|
this.iconCacheService = iconCacheService;
|
|
7
7
|
this.icons = Icon;
|
|
8
8
|
this.title = 'SEND';
|
|
9
|
-
this.icon = Icon.
|
|
9
|
+
this.icon = Icon.ShareSharpRegular;
|
|
10
10
|
this.showSendMethodIcon = true;
|
|
11
11
|
this.showSendMethodDialogIcon = true;
|
|
12
12
|
this.showLoader = false;
|
|
@@ -36,7 +36,7 @@ QuickSendButtonComponent.decorators = [
|
|
|
36
36
|
</div>
|
|
37
37
|
<div class="icons-spacer" *ngIf="showSendMethodDialogIcon"></div>
|
|
38
38
|
<div class="icon-wrapper-flat-right" *ngIf="showSendMethodDialogIcon" (click)="openSendMethodDialog.emit($event)">
|
|
39
|
-
<co-icon [iconData]="iconCacheService.getIcon(icons.
|
|
39
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.EllipsisVerticalOpen)"></co-icon>
|
|
40
40
|
</div>
|
|
41
41
|
</div>
|
|
42
42
|
`,
|
|
@@ -59,4 +59,4 @@ QuickSendButtonComponent.propDecorators = {
|
|
|
59
59
|
openSendMethodDialog: [{ type: Output }],
|
|
60
60
|
sendIconClicked: [{ type: Output }]
|
|
61
61
|
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stc2VuZC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvcXVpY2stc2VuZC1idXR0b24vcXVpY2stc2VuZC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQTBCMUMsTUFBTSxPQUFPLHdCQUF3QjtJQW9DbkMsWUFDUyxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXBDM0IsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFHbkMsVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUd2QixTQUFJLEdBQVMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBTXBDLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUluQyw2QkFBd0IsR0FBWSxJQUFJLENBQUM7UUFHekMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUc1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBUTFCLHlCQUFvQixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR2hGLG9CQUFlLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7SUFLbEYsQ0FBQztJQWJNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OztZQXBERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQlQ7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUExQk8sZ0JBQWdCOzs7b0JBOEJyQixLQUFLO21CQUdMLEtBQUs7Z0NBR0wsS0FBSztpQ0FHTCxLQUFLO3VDQUdMLFdBQVcsU0FBQywrQkFBK0IsY0FDM0MsS0FBSzt5QkFHTCxLQUFLO3VCQUdMLEtBQUs7d0JBR0wsV0FBVyxTQUFDLDRCQUE0QjttQ0FLeEMsTUFBTTs4QkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXF1aWNrLXNlbmQtYnV0dG9uXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJxdWljay1zZW5kLWJ1dHRvbi13cmFwcGVyXCIgW2NsYXNzLmRpc2FibGVkXT1cInNob3dMb2FkZXIgfHwgZGlzYWJsZWRcIiBbY2xhc3Mubm8tZGlhbG9nXT1cIiFzaG93U2VuZE1ldGhvZERpYWxvZ0ljb25cIj5cclxuICAgICAgPGNvLWxvYWRlciAqbmdJZj1cInNob3dMb2FkZXJcIj48L2NvLWxvYWRlcj5cclxuICAgICAgPGRpdiBjbGFzcz1cImljb24td3JhcHBlci1mbGF0LWxlZnRcIiAoY2xpY2spPVwic2VuZEljb25DbGlja2VkLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29ucy1hbmQtdGl0bGUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImljb25zLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uKVwiIGNsYXNzPVwiaWNvbi1zZW5kXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dTZW5kTWV0aG9kSWNvblwiIGNsYXNzPVwiaWNvbi1tZXRob2RcIlxyXG4gICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oZGVmYXVsdE1ldGhvZEljb24gPyBkZWZhdWx0TWV0aG9kSWNvbiA6IGljb25zLkF0U29saWQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VuZC1idXR0b24tdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwidGl0bGUgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29ucy1zcGFjZXJcIiAqbmdJZj1cInNob3dTZW5kTWV0aG9kRGlhbG9nSWNvblwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbi13cmFwcGVyLWZsYXQtcmlnaHRcIiAqbmdJZj1cInNob3dTZW5kTWV0aG9kRGlhbG9nSWNvblwiIChjbGljayk9XCJvcGVuU2VuZE1ldGhvZERpYWxvZy5lbWl0KCRldmVudClcIj5cclxuICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkVsbGlwc2lzVmVydGljYWxPcGVuKVwiPjwvY28taWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWlja1NlbmRCdXR0b25Db21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJ1NFTkQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpY29uOiBJY29uID0gSWNvbi5TaGFyZVNoYXJwUmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVmYXVsdE1ldGhvZEljb246IEljb24gfCBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kSWNvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLndpdGgtbWV0aG9kLWRpYWxvZy1pY29uXCIpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1NlbmRNZXRob2REaWFsb2dJY29uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1xdWljay1zZW5kLWJ1dHRvblwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvcGVuU2VuZE1ldGhvZERpYWxvZzogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VuZEljb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcbn1cclxuIl19
|