@hmcts/ccpay-web-component 5.2.8-beta04 → 5.2.9-beta02
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/hmcts-ccpay-web-component.umd.js +54 -46
- package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
- package/esm2015/lib/components/case-transactions/case-transactions.component.js +1 -1
- package/esm2015/lib/components/service-request/service-request.component.js +3 -3
- package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +51 -42
- package/fesm2015/hmcts-ccpay-web-component.js +53 -45
- package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
- package/hmcts-ccpay-web-component.metadata.json +1 -1
- package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +2 -0
- package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ import { PaymentLibComponent } from '../../payment-lib.component';
|
|
|
4
4
|
import { Router } from '@angular/router';
|
|
5
5
|
import { PaymentViewService } from '../../services/payment-view/payment-view.service';
|
|
6
6
|
import { OrderslistService } from '../../services/orderslist.service';
|
|
7
|
+
import { switchMap } from 'rxjs/operators';
|
|
7
8
|
export class UnprocessedPaymentsComponent {
|
|
8
9
|
constructor(router, bulkScaningPaymentService, paymentLibComponent, paymentViewService, OrderslistService) {
|
|
9
10
|
this.router = router;
|
|
@@ -11,6 +12,7 @@ export class UnprocessedPaymentsComponent {
|
|
|
11
12
|
this.paymentLibComponent = paymentLibComponent;
|
|
12
13
|
this.paymentViewService = paymentViewService;
|
|
13
14
|
this.OrderslistService = OrderslistService;
|
|
15
|
+
this.FEE_RECORDS_EXISTS = false;
|
|
14
16
|
this.selectedUnprocessedFeeEvent = new EventEmitter();
|
|
15
17
|
this.getUnprocessedFeeCount = new EventEmitter();
|
|
16
18
|
this.viewStatus = 'main';
|
|
@@ -35,47 +37,60 @@ export class UnprocessedPaymentsComponent {
|
|
|
35
37
|
this.isBulkScanEnable = this.paymentLibComponent.ISBSENABLE;
|
|
36
38
|
this.isTurnOff = this.paymentLibComponent.ISTURNOFF;
|
|
37
39
|
this.isStFixEnable = this.paymentLibComponent.ISSFENABLE;
|
|
38
|
-
this.OrderslistService.getFeeExists().subscribe((data) => this.FEE_RECORDS_EXISTS = data);
|
|
39
40
|
this.getUnassignedPaymentlist();
|
|
40
41
|
}
|
|
41
42
|
getUnassignedPaymentlist() {
|
|
42
43
|
if (this.selectedOption === 'dcn') {
|
|
43
|
-
this.
|
|
44
|
-
// unassignedPayments['data'].map(data => data.expandable=false);
|
|
45
|
-
if (unassignedPayments['data'] && unassignedPayments['data'].payments) {
|
|
46
|
-
this.setValuesForUnassignedRecord(unassignedPayments['data']);
|
|
47
|
-
}
|
|
48
|
-
else if (unassignedPayments['payments']) {
|
|
49
|
-
this.setValuesForUnassignedRecord(unassignedPayments);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
this.upPaymentErrorMessage = 'error';
|
|
53
|
-
this.getUnprocessedFeeCount.emit('0');
|
|
54
|
-
}
|
|
55
|
-
}, (error) => {
|
|
56
|
-
this.upPaymentErrorMessage = error;
|
|
57
|
-
this.getUnprocessedFeeCount.emit('0');
|
|
58
|
-
});
|
|
44
|
+
this.getBSPaymentsByDCNandFee();
|
|
59
45
|
}
|
|
60
46
|
else {
|
|
61
|
-
this.
|
|
62
|
-
// unassignedPayments['data'].map(data => data.expandable=false);
|
|
63
|
-
if (unassignedPayments['data'] && unassignedPayments['data'].payments) {
|
|
64
|
-
this.setValuesForUnassignedRecord(unassignedPayments['data']);
|
|
65
|
-
}
|
|
66
|
-
else if (unassignedPayments['payments']) {
|
|
67
|
-
this.setValuesForUnassignedRecord(unassignedPayments);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
this.upPaymentErrorMessage = 'error';
|
|
71
|
-
this.getUnprocessedFeeCount.emit('0');
|
|
72
|
-
}
|
|
73
|
-
}, (error) => {
|
|
74
|
-
this.upPaymentErrorMessage = error;
|
|
75
|
-
this.getUnprocessedFeeCount.emit('0');
|
|
76
|
-
});
|
|
47
|
+
this.getBSPaymentsByCCDandFee();
|
|
77
48
|
}
|
|
78
49
|
}
|
|
50
|
+
getBSPaymentsByDCNandFee() {
|
|
51
|
+
this.bulkScaningPaymentService.getBSPaymentsByDCN(this.dcnNumber).pipe(switchMap((unassignedPayments) => {
|
|
52
|
+
if (unassignedPayments['data'] && unassignedPayments['data'].payments) {
|
|
53
|
+
this.setValuesForUnassignedRecord(unassignedPayments['data']);
|
|
54
|
+
}
|
|
55
|
+
else if (unassignedPayments['payments']) {
|
|
56
|
+
this.setValuesForUnassignedRecord(unassignedPayments);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.upPaymentErrorMessage = 'error';
|
|
60
|
+
this.getUnprocessedFeeCount.emit('0');
|
|
61
|
+
}
|
|
62
|
+
return this.OrderslistService.getFeeExists();
|
|
63
|
+
})).subscribe((data) => {
|
|
64
|
+
if (data !== null) {
|
|
65
|
+
this.FEE_RECORDS_EXISTS = data;
|
|
66
|
+
}
|
|
67
|
+
}, (error) => {
|
|
68
|
+
this.upPaymentErrorMessage = error;
|
|
69
|
+
this.getUnprocessedFeeCount.emit('0');
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
getBSPaymentsByCCDandFee() {
|
|
73
|
+
this.bulkScaningPaymentService.getBSPaymentsByCCD(this.ccdCaseNumber).pipe(switchMap((unassignedPayments) => {
|
|
74
|
+
if (unassignedPayments['data'] && unassignedPayments['data'].payments) {
|
|
75
|
+
this.setValuesForUnassignedRecord(unassignedPayments['data']);
|
|
76
|
+
}
|
|
77
|
+
else if (unassignedPayments['payments']) {
|
|
78
|
+
this.setValuesForUnassignedRecord(unassignedPayments);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.upPaymentErrorMessage = 'error';
|
|
82
|
+
this.getUnprocessedFeeCount.emit('0');
|
|
83
|
+
}
|
|
84
|
+
return this.OrderslistService.getFeeExists();
|
|
85
|
+
})).subscribe((data) => {
|
|
86
|
+
if (data !== null) {
|
|
87
|
+
this.FEE_RECORDS_EXISTS = data;
|
|
88
|
+
}
|
|
89
|
+
}, (error) => {
|
|
90
|
+
this.upPaymentErrorMessage = error;
|
|
91
|
+
this.getUnprocessedFeeCount.emit('0');
|
|
92
|
+
});
|
|
93
|
+
}
|
|
79
94
|
setValuesForUnassignedRecord(unassignedPayments) {
|
|
80
95
|
this.unassignedRecordList = unassignedPayments.payments;
|
|
81
96
|
if (this.unassignedRecordList) {
|
|
@@ -85,7 +100,6 @@ export class UnprocessedPaymentsComponent {
|
|
|
85
100
|
if (unassignedPayments['ccd_reference'] === undefined) {
|
|
86
101
|
this.isExceptionCase = true;
|
|
87
102
|
}
|
|
88
|
-
// this.isRecordExist = this.unassignedRecordList.length === 0;
|
|
89
103
|
this.getUnprocessedFeeCount.emit(this.unassignedRecordList.length);
|
|
90
104
|
this.unprocessedPaymentSelectEvent(this.unassignedRecordList);
|
|
91
105
|
}
|
|
@@ -138,15 +152,11 @@ export class UnprocessedPaymentsComponent {
|
|
|
138
152
|
if (this.isUnprocessedRecordSelected && this.isExceptionCase) {
|
|
139
153
|
this.isMarkAsUnidentifiedbtnEnabled = true;
|
|
140
154
|
}
|
|
141
|
-
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && !this.FEE_RECORDS_EXISTS) {
|
|
142
|
-
//SNI-3692 - WIP
|
|
143
|
-
//} else if ( this.isUnprocessedRecordSelected && !this.isExceptionCase && this.FEE_RECORDS_EXISTS!== null && !this.FEE_RECORDS_EXISTS) {
|
|
155
|
+
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && this.FEE_RECORDS_EXISTS !== null && !this.FEE_RECORDS_EXISTS) {
|
|
144
156
|
this.isAllocateToExistingFeebtnEnabled = false;
|
|
145
157
|
this.isAllocatedToNewFeebtnEnabled = true;
|
|
146
158
|
}
|
|
147
|
-
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && this.FEE_RECORDS_EXISTS) {
|
|
148
|
-
//SNI-3692 - WIP
|
|
149
|
-
//} else if( this.isUnprocessedRecordSelected && !this.isExceptionCase && (this.FEE_RECORDS_EXISTS === null || this.FEE_RECORDS_EXISTS) ) {
|
|
159
|
+
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && (this.FEE_RECORDS_EXISTS === null || this.FEE_RECORDS_EXISTS)) {
|
|
150
160
|
if (!this.ISTURNOFF) {
|
|
151
161
|
this.isAllocateToExistingFeebtnEnabled = true;
|
|
152
162
|
this.isAllocatedToNewFeebtnEnabled = false;
|
|
@@ -164,7 +174,6 @@ export class UnprocessedPaymentsComponent {
|
|
|
164
174
|
this.isAllocateToExistingFeebtnEnabled = false;
|
|
165
175
|
this.isAllocatedToNewFeebtnEnabled = false;
|
|
166
176
|
this.isMarkAsUnidentifiedbtnEnabled = false;
|
|
167
|
-
//this.validateButtons();
|
|
168
177
|
this.selectedUnprocessedFeeEvent.emit('');
|
|
169
178
|
}
|
|
170
179
|
showDetailRow(event, obj, i) {
|
|
@@ -198,4 +207,4 @@ UnprocessedPaymentsComponent.propDecorators = {
|
|
|
198
207
|
selectedUnprocessedFeeEvent: [{ type: Output }],
|
|
199
208
|
getUnprocessedFeeCount: [{ type: Output }]
|
|
200
209
|
};
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQU90RSxNQUFNLE9BQU8sNEJBQTRCO0lBbUN2QyxZQUFvQixNQUFjLEVBQ3hCLHlCQUFvRCxFQUNwRCxtQkFBd0MsRUFDeEMsa0JBQXNDLEVBQ3RDLGlCQUFvQztRQUoxQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3hCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFDcEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUE1QnBDLGdDQUEyQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZFLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTVFLGVBQVUsR0FBRyxNQUFNLENBQUM7UUFFcEIsMEJBQXFCLEdBQVcsSUFBSSxDQUFDO1FBRXJD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L01GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO2dCQUMxQyw2MWFBQW9EOzthQUVyRDs7O1lBUk8sTUFBTTtZQUhMLHlCQUF5QjtZQUN6QixtQkFBbUI7WUFHbkIsa0JBQWtCO1lBQ2xCLGlCQUFpQjs7O2lDQVN2QixLQUFLLFNBQUMsb0JBQW9CO3lCQUMxQixLQUFLLFNBQUMsWUFBWTt3QkFDbEIsS0FBSyxTQUFDLFdBQVc7K0JBQ2pCLEtBQUssU0FBQyxrQkFBa0I7a0NBQ3hCLEtBQUssU0FBQyxxQkFBcUI7eUJBQzNCLEtBQUssU0FBQyxZQUFZOzZCQUNsQixLQUFLLFNBQUMsZ0JBQWdCO29CQUN0QixLQUFLLFNBQUMsT0FBTzswQ0FFYixNQUFNO3FDQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LElucHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9idWxrLXNjYW5pbmctcGF5bWVudC9idWxrLXNjYW5pbmctcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUJTUGF5bWVudHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lCU1BheW1lbnRzJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktYXBwLXVucHJvY2Vzc2VkLXBheW1lbnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdW5wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBVbnByb2Nlc3NlZFBheW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoJ0ZFRV9SRUNPUkRTX0VYSVNUUycpIEZFRV9SRUNPUkRTX0VYSVNUUzogYm9vbGVhbjtcbiAgQElucHV0KCdQQVlNRU5UUkVGJykgUEFZTUVOVFJFRjogc3RyaW5nO1xuICBASW5wdXQoJ0lTVFVSTk9GRicpIElTVFVSTk9GRjogYm9vbGVhbjtcbiAgQElucHV0KCdJU19CVVRUT05fRU5BQkxFJykgSVNfQlVUVE9OX0VOQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdJU19PU19BTVRfQVZBSUxBQkxFJykgSVNfT1NfQU1UX0FWQUlMQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdJU1NGRU5BQkxFJykgSVNTRkVOQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdQQVlNRU5UU0xFTkdUSCcpIFBBWU1FTlRTTEVOR1RIOk51bWJlcjtcbiAgQElucHV0KCdMRVZFTCcpTEVWRUw6TnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFVucHJvY2Vzc2VkRmVlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZ2V0VW5wcm9jZXNzZWRGZWVDb3VudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdmlld1N0YXR1cyA9ICdtYWluJztcbiAgdW5hc3NpZ25lZFJlY29yZExpc3Q6IElCU1BheW1lbnRzO1xuICB1cFBheW1lbnRFcnJvck1lc3NhZ2U6IHN0cmluZyA9IG51bGw7XG4gIGNjZENhc2VOdW1iZXI6IHN0cmluZztcbiAgcmVjb3JkSWQ6IHN0cmluZyA9IG51bGw7XG4gIGlzUmVjb3JkRXhpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGNuTnVtYmVyOiBzdHJpbmcgPSBudWxsO1xuICBzZWxlY3RlZE9wdGlvbjogc3RyaW5nO1xuICBpc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRXhjZXB0aW9uQ2FzZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzZXJ2aWNlSWQ6IHN0cmluZyA9IG51bGw7XG4gIGlzQnVsa1NjYW5FbmFibGU7XG4gIGlzVHVybk9mZjogYm9vbGVhbiA9IHRydWU7XG4gIGlzU3RGaXhFbmFibGU7XG4gIHVuYXNzaWduZWRSZWNvcmRTZWxlY3RlZExpc3Q6IElCU1BheW1lbnRzO1xuICB1bmFzc2lnbmVkUmVjb3JkTGlzdExlbmd0aDogbnVtYmVyID0gMDtcbiAgc2hvd0NvbnRlbnQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2U6IEJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBPcmRlcnNsaXN0U2VydmljZTogT3JkZXJzbGlzdFNlcnZpY2VcbiAgICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIFRvZG8gLi4uXG4gICAgdGhpcy5jY2RDYXNlTnVtYmVyID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNDRF9DQVNFX05VTUJFUjtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlNFTEVDVEVEX09QVElPTi50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIHRoaXMuZGNuTnVtYmVyID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkRDTl9OVU1CRVI7XG4gICAgdGhpcy5pc0J1bGtTY2FuRW5hYmxlID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEU7XG4gICAgdGhpcy5pc1R1cm5PZmYgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNUVVJOT0ZGO1xuICAgIHRoaXMuaXNTdEZpeEVuYWJsZSA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1NGRU5BQkxFO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0RmVlRXhpc3RzKCkuc3Vic2NyaWJlKCAoZGF0YSkgPT4gdGhpcy5GRUVfUkVDT1JEU19FWElTVFMgPSBkYXRhKTtcbiAgICB0aGlzLmdldFVuYXNzaWduZWRQYXltZW50bGlzdCgpO1xuXG4gIH1cblxuICBnZXRVbmFzc2lnbmVkUGF5bWVudGxpc3QoKSB7XG4gICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uID09PSAnZGNuJykge1xuICAgICAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UuZ2V0QlNQYXltZW50c0J5RENOKHRoaXMuZGNuTnVtYmVyKS5zdWJzY3JpYmUoXG4gICAgICAgIHVuYXNzaWduZWRQYXltZW50cyA9PiB7XG4gICAgICAgICAvLyAgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ubWFwKGRhdGEgPT4gZGF0YS5leHBhbmRhYmxlPWZhbHNlKTtcbiAgICAgICAgaWYodW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10gJiYgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucGF5bWVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSk7XG4gICAgICAgICAgfSBlbHNlIGlmKHVuYXNzaWduZWRQYXltZW50c1sncGF5bWVudHMnXSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50cyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gJ2Vycm9yJztcbiAgICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoJzAnKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UuZ2V0QlNQYXltZW50c0J5Q0NEKHRoaXMuY2NkQ2FzZU51bWJlcikuc3Vic2NyaWJlKFxuICAgICAgICB1bmFzc2lnbmVkUGF5bWVudHMgPT4ge1xuICAgICAgICAgLy8gIHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddLm1hcChkYXRhID0+IGRhdGEuZXhwYW5kYWJsZT1mYWxzZSk7XG4gICAgICAgICAgaWYodW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10gJiYgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucGF5bWVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSk7XG4gICAgICAgICAgfSBlbHNlIGlmKHVuYXNzaWduZWRQYXltZW50c1sncGF5bWVudHMnXSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50cyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gJ2Vycm9yJztcbiAgICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoJzAnKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgfVxuXG4gIHNldFZhbHVlc0ZvclVuYXNzaWduZWRSZWNvcmQodW5hc3NpZ25lZFBheW1lbnRzKSB7XG5cbiAgICB0aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0ID0gdW5hc3NpZ25lZFBheW1lbnRzLnBheW1lbnRzO1xuICAgIGlmKHRoaXMudW5hc3NpZ25lZFJlY29yZExpc3Qpe1xuICAgICAgICAgIHRoaXMudW5hc3NpZ25lZFJlY29yZExpc3RMZW5ndGggPSB1bmFzc2lnbmVkUGF5bWVudHMucGF5bWVudHMubGVuZ3RoXG4gICAgfVxuICAgIHRoaXMuc2VydmljZUlkID0gdW5hc3NpZ25lZFBheW1lbnRzLnJlc3BvbnNpYmxlX3NlcnZpY2VfaWQ7XG4gICAgaWYgKHVuYXNzaWduZWRQYXltZW50c1snY2NkX3JlZmVyZW5jZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFeGNlcHRpb25DYXNlID0gdHJ1ZTtcbiAgICB9XG4gICAgLy8gdGhpcy5pc1JlY29yZEV4aXN0ID0gIHRoaXMudW5hc3NpZ25lZFJlY29yZExpc3QubGVuZ3RoID09PSAwO1xuICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KDxhbnk+dGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdC5sZW5ndGgpO1xuICAgIHRoaXMudW5wcm9jZXNzZWRQYXltZW50U2VsZWN0RXZlbnQodGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdCk7XG4gIH1cblxuICBmb3JtYXRVbmFzc2lnbmVkUmVjb3JkSWQoSUQ6IE51bWJlcikge1xuICAgIHJldHVybiBgdW5hc3NpZ25yZWNvcmQtJHtJRH1gO1xuICB9XG5cbiAgdHJpbVVuZGVyc2NvcmUobWV0aG9kOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UucmVtb3ZlVW53YW50ZWRTdHJpbmcobWV0aG9kLCcgJyk7XG4gIH1cblxuICByZWRpcmVjdFRvRmVlU2VhcmNoUGFnZShldmVudDogYW55LCBkY25fcmVmZXJlbmNlOmFueSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5yZWNvcmRJZCA9IGRjbl9yZWZlcmVuY2U7XG4gICAgbGV0IHVybCA9IHRoaXMuaXNCdWxrU2NhbkVuYWJsZSA/ICcmaXNCdWxrU2Nhbm5pbmc9RW5hYmxlJyA6ICcmaXNCdWxrU2Nhbm5pbmc9RGlzYWJsZSc7XG4gICAgdXJsICs9IHRoaXMuSVNUVVJOT0ZGID8gJyZpc1R1cm5PZmY9RW5hYmxlJyA6ICcmaXNUdXJuT2ZmPURpc2FibGUnO1xuICAgIHVybCArPSB0aGlzLmlzU3RGaXhFbmFibGUgPyAnJmlzU3RGaXhFbmFibGU9RW5hYmxlJyA6ICcmaXNTdEZpeEVuYWJsZT1EaXNhYmxlJztcbiAgICB1cmwgKz1gJmNhc2VUeXBlPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNBU0VUWVBFfWA7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvZmVlLXNlYXJjaD9zZWxlY3RlZE9wdGlvbj0ke3RoaXMuc2VsZWN0ZWRPcHRpb259JmNjZENhc2VOdW1iZXI9JHt0aGlzLmNjZENhc2VOdW1iZXJ9JmRjbj0ke3RoaXMucmVjb3JkSWR9JHt1cmx9YCk7XG4gIH1cblxuICBsb2FkVW5zb2xpY2l0ZWRQYWdlKHZpZXdOYW1lOiBzdHJpbmcsIGRjbl9yZWZlcmVuY2U6YW55KSB7XG4gICAgdGhpcy5yZWNvcmRJZCA9IGRjbl9yZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmJzcGF5bWVudGRjbiA9IHRoaXMucmVjb3JkSWQ7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gdmlld05hbWU7XG4gIH1cblxuICB1bnByb2Nlc3NlZFBheW1lbnRTZWxlY3RFdmVudChzZWxlY3RlZFJlY29yZFJlZmVyZW5jZTogYW55KSB7XG4gICB0aGlzLmlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA9IHRydWU7XG4gICB0aGlzLnZhbGlkYXRlQnV0dG9ucygpO1xuICAgdGhpcy5zZWxlY3RlZFVucHJvY2Vzc2VkRmVlRXZlbnQuZW1pdChzZWxlY3RlZFJlY29yZFJlZmVyZW5jZSk7XG4gIH1cblxuICByZXNldEJ1dHRvbnMoKSB7XG4gICAgdGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCAgPSBmYWxzZTtcbiAgICB0aGlzLmlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCAgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gIH1cblxuICBnb1RvQWxsb2NhdGVQYWdlKGRjbl9yZWZlcmVuY2U6YW55KSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmJzcGF5bWVudGRjbiA9IGRjbl9yZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnVuUHJvY2Vzc2VkUGF5bWVudFNlcnZpY2VJZCA9IHRoaXMuc2VydmljZUlkXG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzVHVybk9mZiA9IHRoaXMuSVNUVVJOT0ZGO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1NGRU5BQkxFID0gdGhpcy5pc1N0Rml4RW5hYmxlO1xuXG4gICAgaWYodGhpcy5JU1RVUk5PRkYpIHtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSB0aGlzLlBBWU1FTlRSRUY7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnZmVlLXN1bW1hcnknO1xuICAgIH1lbHNlIHtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSBudWxsO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ2FsbG9jYXRlLXBheW1lbnRzJztcbiAgICB9XG5cbiAgfVxuXG4gIHZhbGlkYXRlQnV0dG9ucygpIHtcbiAgaWYgKCB0aGlzLmlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCAgJiYgdGhpcy5pc0V4Y2VwdGlvbkNhc2UpIHtcbiAgICAgICAgdGhpcy5pc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkICAmJiAhdGhpcy5pc0V4Y2VwdGlvbkNhc2UgJiYgIXRoaXMuRkVFX1JFQ09SRFNfRVhJU1RTKSB7XG4gICAgLy9TTkktMzY5MiAtIFdJUFxuICAgIC8vfSBlbHNlIGlmICggdGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgICYmICF0aGlzLmlzRXhjZXB0aW9uQ2FzZSAmJiB0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUyE9PSBudWxsICYmICF0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUykge1xuICAgICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiggdGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgJiYgIXRoaXMuaXNFeGNlcHRpb25DYXNlICYmIHRoaXMuRkVFX1JFQ09SRFNfRVhJU1RTICkge1xuICAgIC8vU05JLTM2OTIgLSBXSVBcbiAgICAvL30gZWxzZSBpZiggdGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgJiYgIXRoaXMuaXNFeGNlcHRpb25DYXNlICYmICh0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUyA9PT0gbnVsbCB8fCB0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUykgKSB7XG4gICAgICBpZighdGhpcy5JU1RVUk5PRkYpIHtcbiAgICAgICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA9IHRoaXMuSVNfT1NfQU1UX0FWQUlMQUJMRTtcbiAgICAgICAgdGhpcy5pc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdW5wcm9jZXNzZWRQYXltZW50VW5TZWxlY3RFdmVudChldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnJlY29yZElkID0gbnVsbDtcbiAgICB0aGlzLmlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkID0gZmFsc2U7XG4gICAgLy90aGlzLnZhbGlkYXRlQnV0dG9ucygpO1xuICAgIHRoaXMuc2VsZWN0ZWRVbnByb2Nlc3NlZEZlZUV2ZW50LmVtaXQoJycpO1xuICB9XG5cbiAgc2hvd0RldGFpbFJvdyhldmVudDogYW55LG9iajogYW55LCBpOiBhbnkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkU2VsZWN0ZWRMaXN0ID0gb2JqO1xuXG4gIH1cbn1cbiJdfQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPM0MsTUFBTSxPQUFPLDRCQUE0QjtJQW1DdkMsWUFBb0IsTUFBYyxFQUN4Qix5QkFBb0QsRUFDcEQsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxpQkFBb0M7UUFKMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN4Qiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBckNqQix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFTdkQsZ0NBQTJCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkUsMkJBQXNCLEdBQXlCLElBQUksWUFB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QyxLQUFVO1FBQ3hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsMkJBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsS0FBSyxDQUFDO1FBRTVDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVLEVBQUMsR0FBUSxFQUFFLENBQU07UUFDdkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxHQUFHLENBQUM7SUFFMUMsQ0FBQzs7O1lBeE5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO2dCQUMxQyw2MWFBQW9EOzthQUVyRDs7O1lBVE8sTUFBTTtZQUhMLHlCQUF5QjtZQUN6QixtQkFBbUI7WUFHbkIsa0JBQWtCO1lBQ2xCLGlCQUFpQjs7O2lDQVV2QixLQUFLLFNBQUMsb0JBQW9CO3lCQUMxQixLQUFLLFNBQUMsWUFBWTt3QkFDbEIsS0FBSyxTQUFDLFdBQVc7K0JBQ2pCLEtBQUssU0FBQyxrQkFBa0I7a0NBQ3hCLEtBQUssU0FBQyxxQkFBcUI7eUJBQzNCLEtBQUssU0FBQyxZQUFZOzZCQUNsQixLQUFLLFNBQUMsZ0JBQWdCO29CQUN0QixLQUFLLFNBQUMsT0FBTzswQ0FFYixNQUFNO3FDQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBJbnB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYnVsay1zY2FuaW5nLXBheW1lbnQvYnVsay1zY2FuaW5nLXBheW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JQlNQYXltZW50cyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBheW1lbnRWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlcnNsaXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29yZGVyc2xpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWFwcC11bnByb2Nlc3NlZC1wYXltZW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi91bnByb2Nlc3NlZC1wYXltZW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVW5wcm9jZXNzZWRQYXltZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCdGRUVfUkVDT1JEU19FWElTVFMnKSBGRUVfUkVDT1JEU19FWElTVFM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdQQVlNRU5UUkVGJykgUEFZTUVOVFJFRjogc3RyaW5nO1xuICBASW5wdXQoJ0lTVFVSTk9GRicpIElTVFVSTk9GRjogYm9vbGVhbjtcbiAgQElucHV0KCdJU19CVVRUT05fRU5BQkxFJykgSVNfQlVUVE9OX0VOQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdJU19PU19BTVRfQVZBSUxBQkxFJykgSVNfT1NfQU1UX0FWQUlMQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdJU1NGRU5BQkxFJykgSVNTRkVOQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdQQVlNRU5UU0xFTkdUSCcpIFBBWU1FTlRTTEVOR1RIOk51bWJlcjtcbiAgQElucHV0KCdMRVZFTCcpTEVWRUw6TnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFVucHJvY2Vzc2VkRmVlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZ2V0VW5wcm9jZXNzZWRGZWVDb3VudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdmlld1N0YXR1cyA9ICdtYWluJztcbiAgdW5hc3NpZ25lZFJlY29yZExpc3Q6IElCU1BheW1lbnRzO1xuICB1cFBheW1lbnRFcnJvck1lc3NhZ2U6IHN0cmluZyA9IG51bGw7XG4gIGNjZENhc2VOdW1iZXI6IHN0cmluZztcbiAgcmVjb3JkSWQ6IHN0cmluZyA9IG51bGw7XG4gIGlzUmVjb3JkRXhpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGNuTnVtYmVyOiBzdHJpbmcgPSBudWxsO1xuICBzZWxlY3RlZE9wdGlvbjogc3RyaW5nO1xuICBpc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRXhjZXB0aW9uQ2FzZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzZXJ2aWNlSWQ6IHN0cmluZyA9IG51bGw7XG4gIGlzQnVsa1NjYW5FbmFibGU7XG4gIGlzVHVybk9mZjogYm9vbGVhbiA9IHRydWU7XG4gIGlzU3RGaXhFbmFibGU7XG4gIHVuYXNzaWduZWRSZWNvcmRTZWxlY3RlZExpc3Q6IElCU1BheW1lbnRzO1xuICB1bmFzc2lnbmVkUmVjb3JkTGlzdExlbmd0aDogbnVtYmVyID0gMDtcbiAgc2hvd0NvbnRlbnQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2U6IEJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBPcmRlcnNsaXN0U2VydmljZTogT3JkZXJzbGlzdFNlcnZpY2VcbiAgICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIFRvZG8gLi4uXG4gICAgdGhpcy5jY2RDYXNlTnVtYmVyID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNDRF9DQVNFX05VTUJFUjtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlNFTEVDVEVEX09QVElPTi50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIHRoaXMuZGNuTnVtYmVyID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkRDTl9OVU1CRVI7XG4gICAgdGhpcy5pc0J1bGtTY2FuRW5hYmxlID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEU7XG4gICAgdGhpcy5pc1R1cm5PZmYgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNUVVJOT0ZGO1xuICAgIHRoaXMuaXNTdEZpeEVuYWJsZSA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1NGRU5BQkxFO1xuICAgIHRoaXMuZ2V0VW5hc3NpZ25lZFBheW1lbnRsaXN0KCk7XG4gIH1cblxuICBnZXRVbmFzc2lnbmVkUGF5bWVudGxpc3QoKXtcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbiA9PT0gJ2RjbicpIHtcbiAgICAgICAgICB0aGlzLmdldEJTUGF5bWVudHNCeURDTmFuZEZlZSgpO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmdldEJTUGF5bWVudHNCeUNDRGFuZEZlZSgpO1xuICAgICAgICB9XG4gICAgIH1cblxuICBnZXRCU1BheW1lbnRzQnlEQ05hbmRGZWUoKXtcbiAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UuZ2V0QlNQYXltZW50c0J5RENOKHRoaXMuZGNuTnVtYmVyKS5waXBlKFxuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHVuYXNzaWduZWRQYXltZW50czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddICYmIHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddLnBheW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlc0ZvclVuYXNzaWduZWRSZWNvcmQodW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodW5hc3NpZ25lZFBheW1lbnRzWydwYXltZW50cyddKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlc0ZvclVuYXNzaWduZWRSZWNvcmQodW5hc3NpZ25lZFBheW1lbnRzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy51cFBheW1lbnRFcnJvck1lc3NhZ2UgPSAnZXJyb3InO1xuICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoJzAnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRGZWVFeGlzdHMoKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGRhdGEgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUyA9IGRhdGE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgICAgICB9KTtcbiAgIH1cblxuICBnZXRCU1BheW1lbnRzQnlDQ0RhbmRGZWUoKXtcbiAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UuZ2V0QlNQYXltZW50c0J5Q0NEKHRoaXMuY2NkQ2FzZU51bWJlcikucGlwZShcbiAgICAgICAgICAgc3dpdGNoTWFwKCh1bmFzc2lnbmVkUGF5bWVudHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgaWYgKHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddICYmIHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddLnBheW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSk7XG4gICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVuYXNzaWduZWRQYXltZW50c1sncGF5bWVudHMnXSkge1xuICAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlc0ZvclVuYXNzaWduZWRSZWNvcmQodW5hc3NpZ25lZFBheW1lbnRzKTtcbiAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gJ2Vycm9yJztcbiAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoJzAnKTtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0RmVlRXhpc3RzKCk7XG4gICAgICAgICAgICAgfSlcbiAgICAgICAgICAgKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgIGlmIChkYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICB0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUyA9IGRhdGE7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgICB9LCAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgICAgICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoJzAnKTtcbiAgICAgICAgICAgfSk7XG4gIH1cblxuXG4gIHNldFZhbHVlc0ZvclVuYXNzaWduZWRSZWNvcmQodW5hc3NpZ25lZFBheW1lbnRzKSB7XG5cbiAgICB0aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0ID0gdW5hc3NpZ25lZFBheW1lbnRzLnBheW1lbnRzO1xuICAgIGlmKHRoaXMudW5hc3NpZ25lZFJlY29yZExpc3Qpe1xuICAgICAgICAgIHRoaXMudW5hc3NpZ25lZFJlY29yZExpc3RMZW5ndGggPSB1bmFzc2lnbmVkUGF5bWVudHMucGF5bWVudHMubGVuZ3RoXG4gICAgfVxuICAgIHRoaXMuc2VydmljZUlkID0gdW5hc3NpZ25lZFBheW1lbnRzLnJlc3BvbnNpYmxlX3NlcnZpY2VfaWQ7XG4gICAgaWYgKHVuYXNzaWduZWRQYXltZW50c1snY2NkX3JlZmVyZW5jZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFeGNlcHRpb25DYXNlID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoPGFueT50aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0Lmxlbmd0aCk7XG4gICAgdGhpcy51bnByb2Nlc3NlZFBheW1lbnRTZWxlY3RFdmVudCh0aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0KTtcbiAgfVxuXG4gIGZvcm1hdFVuYXNzaWduZWRSZWNvcmRJZChJRDogTnVtYmVyKSB7XG4gICAgcmV0dXJuIGB1bmFzc2lnbnJlY29yZC0ke0lEfWA7XG4gIH1cblxuICB0cmltVW5kZXJzY29yZShtZXRob2Q6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5yZW1vdmVVbndhbnRlZFN0cmluZyhtZXRob2QsJyAnKTtcbiAgfVxuXG4gIHJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKGV2ZW50OiBhbnksIGRjbl9yZWZlcmVuY2U6YW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnJlY29yZElkID0gZGNuX3JlZmVyZW5jZTtcbiAgICBsZXQgdXJsID0gdGhpcy5pc0J1bGtTY2FuRW5hYmxlID8gJyZpc0J1bGtTY2FubmluZz1FbmFibGUnIDogJyZpc0J1bGtTY2FubmluZz1EaXNhYmxlJztcbiAgICB1cmwgKz0gdGhpcy5JU1RVUk5PRkYgPyAnJmlzVHVybk9mZj1FbmFibGUnIDogJyZpc1R1cm5PZmY9RGlzYWJsZSc7XG4gICAgdXJsICs9IHRoaXMuaXNTdEZpeEVuYWJsZSA/ICcmaXNTdEZpeEVuYWJsZT1FbmFibGUnIDogJyZpc1N0Rml4RW5hYmxlPURpc2FibGUnO1xuICAgIHVybCArPWAmY2FzZVR5cGU9JHt0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0FTRVRZUEV9YDtcblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9mZWUtc2VhcmNoP3NlbGVjdGVkT3B0aW9uPSR7dGhpcy5zZWxlY3RlZE9wdGlvbn0mY2NkQ2FzZU51bWJlcj0ke3RoaXMuY2NkQ2FzZU51bWJlcn0mZGNuPSR7dGhpcy5yZWNvcmRJZH0ke3VybH1gKTtcbiAgfVxuXG4gIGxvYWRVbnNvbGljaXRlZFBhZ2Uodmlld05hbWU6IHN0cmluZywgZGNuX3JlZmVyZW5jZTphbnkpIHtcbiAgICB0aGlzLnJlY29yZElkID0gZGNuX3JlZmVyZW5jZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuID0gdGhpcy5yZWNvcmRJZDtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSB2aWV3TmFtZTtcbiAgfVxuXG4gIHVucHJvY2Vzc2VkUGF5bWVudFNlbGVjdEV2ZW50KHNlbGVjdGVkUmVjb3JkUmVmZXJlbmNlOiBhbnkpIHtcbiAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gdHJ1ZTtcbiAgIHRoaXMudmFsaWRhdGVCdXR0b25zKCk7XG4gICB0aGlzLnNlbGVjdGVkVW5wcm9jZXNzZWRGZWVFdmVudC5lbWl0KHNlbGVjdGVkUmVjb3JkUmVmZXJlbmNlKTtcbiAgfVxuXG4gIHJlc2V0QnV0dG9ucygpIHtcbiAgICB0aGlzLmlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkICA9IGZhbHNlO1xuICAgIHRoaXMuaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkICA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGdvVG9BbGxvY2F0ZVBhZ2UoZGNuX3JlZmVyZW5jZTphbnkpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuID0gZGNuX3JlZmVyZW5jZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudW5Qcm9jZXNzZWRQYXltZW50U2VydmljZUlkID0gdGhpcy5zZXJ2aWNlSWRcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNUdXJuT2ZmID0gdGhpcy5JU1RVUk5PRkY7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTU0ZFTkFCTEUgPSB0aGlzLmlzU3RGaXhFbmFibGU7XG5cbiAgICBpZih0aGlzLklTVFVSTk9GRikge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRHcm91cFJlZmVyZW5jZSA9IHRoaXMuUEFZTUVOVFJFRjtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdmZWUtc3VtbWFyeSc7XG4gICAgfWVsc2Uge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRHcm91cFJlZmVyZW5jZSA9IG51bGw7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnYWxsb2NhdGUtcGF5bWVudHMnO1xuICAgIH1cblxuICB9XG5cbiAgdmFsaWRhdGVCdXR0b25zKCkge1xuICBpZiAoIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkICAmJiB0aGlzLmlzRXhjZXB0aW9uQ2FzZSkge1xuICAgICAgICB0aGlzLmlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA9IHRydWU7XG4gICAgfSBlbHNlIGlmICggdGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgICYmICF0aGlzLmlzRXhjZXB0aW9uQ2FzZSAmJiB0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUyE9PSBudWxsICYmICF0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUykge1xuICAgICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiggdGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgJiYgIXRoaXMuaXNFeGNlcHRpb25DYXNlICYmICh0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUyA9PT0gbnVsbCB8fCB0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUykgKSB7XG4gICAgICBpZighdGhpcy5JU1RVUk5PRkYpIHtcbiAgICAgICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA9IHRoaXMuSVNfT1NfQU1UX0FWQUlMQUJMRTtcbiAgICAgICAgdGhpcy5pc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdW5wcm9jZXNzZWRQYXltZW50VW5TZWxlY3RFdmVudChldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnJlY29yZElkID0gbnVsbDtcbiAgICB0aGlzLmlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkID0gZmFsc2U7XG5cbiAgICB0aGlzLnNlbGVjdGVkVW5wcm9jZXNzZWRGZWVFdmVudC5lbWl0KCcnKTtcbiAgfVxuXG4gIHNob3dEZXRhaWxSb3coZXZlbnQ6IGFueSxvYmo6IGFueSwgaTogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMudW5hc3NpZ25lZFJlY29yZFNlbGVjdGVkTGlzdCA9IG9iajtcblxuICB9XG59XG4iXX0=
|