@sachin9822/reports-lib 0.0.149 → 0.0.150
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/esm2020/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.mjs +22 -8
- package/esm2020/lib/components/accounting-report/accounting-report.component.mjs +254 -0
- package/esm2020/lib/components/branch-activity-receive-report/branch-activity-receive-report.component.mjs +463 -0
- package/esm2020/lib/components/branch-activity-send-report/branch-activity-send-report.component.mjs +33 -53
- package/esm2020/lib/components/cancellation-transaction-report/cancellation-transaction-report.component.mjs +348 -0
- package/esm2020/lib/components/transaction-enquiry-report/transaction-enquiry-report.component.mjs +28 -77
- package/esm2020/lib/models/accounting-report/accounting-report-entry-model.mjs +2 -0
- package/esm2020/lib/models/accounting-report/accounting-report-model.mjs +2 -0
- package/esm2020/lib/models/branch-activity-receive-report/branch-activity-receive.model.mjs +2 -0
- package/esm2020/lib/models/cancellation-transaction-report/cancellation-transaction.model.mjs +2 -0
- package/esm2020/lib/reports-lib.module.mjs +18 -5
- package/esm2020/lib/services/report.service.mjs +91 -1
- package/esm2020/lib/shared/export-generic.service.mjs +324 -0
- package/esm2020/lib/shared/export.service.mjs +2 -2
- package/esm2020/lib/shared/metadata/metadata.component.mjs +50 -0
- package/esm2020/lib/shared/page-size-selector/page-size-selector.component.mjs +2 -2
- package/esm2020/lib/shared/search-filter/search-filter.component.mjs +402 -23
- package/esm2020/lib/shared/shared.module.mjs +8 -6
- package/esm2020/public-api.mjs +7 -1
- package/fesm2015/sachin9822-reports-lib.mjs +2117 -293
- package/fesm2015/sachin9822-reports-lib.mjs.map +1 -1
- package/fesm2020/sachin9822-reports-lib.mjs +2082 -269
- package/fesm2020/sachin9822-reports-lib.mjs.map +1 -1
- package/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.d.ts +5 -2
- package/lib/components/accounting-report/accounting-report.component.d.ts +56 -0
- package/lib/components/branch-activity-receive-report/branch-activity-receive-report.component.d.ts +52 -0
- package/lib/components/branch-activity-send-report/branch-activity-send-report.component.d.ts +4 -31
- package/lib/components/cancellation-transaction-report/cancellation-transaction-report.component.d.ts +99 -0
- package/lib/components/transaction-enquiry-report/transaction-enquiry-report.component.d.ts +4 -32
- package/lib/models/accounting-report/accounting-report-entry-model.d.ts +24 -0
- package/lib/models/accounting-report/accounting-report-model.d.ts +8 -0
- package/lib/models/branch-activity-receive-report/branch-activity-receive.model.d.ts +18 -0
- package/lib/models/cancellation-transaction-report/cancellation-transaction.model.d.ts +44 -0
- package/lib/reports-lib.module.d.ts +13 -10
- package/lib/services/report.service.d.ts +18 -0
- package/lib/shared/export-generic.service.d.ts +47 -0
- package/lib/shared/metadata/metadata.component.d.ts +24 -0
- package/lib/shared/search-filter/search-filter.component.d.ts +3 -0
- package/lib/shared/shared.module.d.ts +5 -3
- package/package.json +1 -1
- package/public-api.d.ts +6 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudGluZy1yZXBvcnQtZW50cnktbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL21vZGVscy9hY2NvdW50aW5nLXJlcG9ydC9hY2NvdW50aW5nLXJlcG9ydC1lbnRyeS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBY2NvdW50aW5nUmVwb3J0RW50cnlNb2RlbFxyXG57XHJcbiAgYnVzaW5lc3NEYXRlOiBzdHJpbmc7IC8vIERhdGVPbmx5IGluIEMjIOKGkiBzdHJpbmcgKElTTyBkYXRlIGZyb20gQVBJKVxyXG4gIHRyYW5zYWN0aW9uRGF0ZUFuZFRpbWU6IHN0cmluZzsgLy8gRGF0ZVRpbWUg4oaSIHN0cmluZyAoSVNPIGRhdGUtdGltZSlcclxuICB0cmFuc2FjdGlvbk51bWJlcjogc3RyaW5nO1xyXG4gIHNlbmRDbGllbnQ6IHN0cmluZztcclxuICBwcmluY2lwbGVTZW5kQ2xpZW50OiBzdHJpbmc7XHJcbiAgcmVjZWl2ZUNsaWVudDogc3RyaW5nO1xyXG4gIHByaW5jaXBsZVJlY2VpdmVDbGllbnQ6IHN0cmluZztcclxuICByZWNlaXZlQ3VycmVuY3k6IHN0cmluZztcclxuICBhbW91bnRQYWlkOiBzdHJpbmc7XHJcbiAgc2VuZEN1cnJlbmN5OiBzdHJpbmc7XHJcbiAgc2VydmljZUZlZTogc3RyaW5nO1xyXG4gIHRheDogc3RyaW5nO1xyXG4gIHByaW5jaXBsZVNlbmRBbW91bnQ6IHN0cmluZztcclxuICB0cmFuc2FjdGlvblN0YXR1czogc3RyaW5nO1xyXG4gIHNldHRsZW1lbnRDdXJyZW5jeTogc3RyaW5nO1xyXG4gIGNsaWVudFNldHRsZW1lbnRJblNDY3k6IHN0cmluZztcclxuICBjbGllbnRTZXR0bGVtZW50SW5VU0Q6IHN0cmluZztcclxuICBzaGFyZVR5cGU6IHN0cmluZztcclxuICBzaGFyZVZhbHVlOiBzdHJpbmc7XHJcbiAgc2VuZFJlY2VpdmVGZWVDY3k6IHN0cmluZztcclxuICBzaGFyZUFtb3VudEluVVNEOiBzdHJpbmc7XHJcbiAgc2V0dGxlbWVudFJhdGU6IHN0cmluZztcclxufSJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudGluZy1yZXBvcnQtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL21vZGVscy9hY2NvdW50aW5nLXJlcG9ydC9hY2NvdW50aW5nLXJlcG9ydC1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjb3VudGluZ1JlcG9ydEVudHJ5TW9kZWwgfSBmcm9tIFwiLi4vYWNjb3VudGluZy1yZXBvcnQvYWNjb3VudGluZy1yZXBvcnQtZW50cnktbW9kZWxcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWNjb3VudGluZ1JlcG9ydE1vZGVsXHJcbntcclxuICByZXBvcnRVc2VyOiBzdHJpbmc7XHJcbiAgcmVwb3J0VGltZTogc3RyaW5nO1xyXG4gIGJyYW5jaE5hbWVBbmRDb2RlOiBzdHJpbmc7XHJcbiAgc3ViR3JvdXBDb2x1bW46IHN0cmluZztcclxuICBhY2NvdW50aW5nUmVwb3J0RW50cmllc0xpc3Q6IEFjY291bnRpbmdSZXBvcnRFbnRyeU1vZGVsW107XHJcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmNoLWFjdGl2aXR5LXJlY2VpdmUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL21vZGVscy9icmFuY2gtYWN0aXZpdHktcmVjZWl2ZS1yZXBvcnQvYnJhbmNoLWFjdGl2aXR5LXJlY2VpdmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQnJhbmNoQWN0aXZpdHlSZWNlaXZlUmVwb3J0TW9kZWwge1xyXG4gIExhc3RNb2RpZmllZEJ5SWQ6IHN0cmluZztcclxuICBTZW5kZXJOYW1lOiBzdHJpbmc7XHJcbiAgUmVjZWl2ZXJOYW1lOiBzdHJpbmc7XHJcbiAgU2VuZEFnZW50TmFtZTogc3RyaW5nO1xyXG4gIFJlY2VpdmVBZ2VudE5hbWU6IHN0cmluZztcclxuICBQYXlPdXRDdXJyZW5jeTogc3RyaW5nO1xyXG4gIEJ1c2luZXNzRGF0ZVRpbWU6IHN0cmluZztcclxuICBUcmFuc2FjdGlvbkRhdGVBbmRUaW1lOiBzdHJpbmc7XHJcbiAgVHJhbnNhY3Rpb25OdW1iZXI6IHN0cmluZztcclxuICBQcm9kdWN0OiBzdHJpbmc7XHJcbiAgU2VuZEFnZW50Q29kZTogc3RyaW5nO1xyXG4gIFJlY2VpdmVBZ2VudEJyYW5jaE5hbWU6IHN0cmluZztcclxuICBSZWNlaXZlQWdlbnRCcmFuY2hDb2RlOiBzdHJpbmc7XHJcbiAgUmVjZWl2ZVByaW5jaXBhbEFnZW50Q29kZTogc3RyaW5nO1xyXG4gIEFtb3VudFBhaWQ6IG51bWJlcjtcclxuICBTdGF0dXM6IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsbGF0aW9uLXRyYW5zYWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9tb2RlbHMvY2FuY2VsbGF0aW9uLXRyYW5zYWN0aW9uLXJlcG9ydC9jYW5jZWxsYXRpb24tdHJhbnNhY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeSB7XHJcbiAgbnVtYmVyOiBzdHJpbmc7XHJcbiAgY291bnRyeUNvZGU6IHN0cmluZztcclxuICBjb3VudHJ5OiBzdHJpbmc7XHJcbiAgZXpSZW1pdENvdW50cnk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXlJbkFnZW50IHtcclxuICBjb3JyZWxhdGlvbklkOiBzdHJpbmc7XHJcbiAgY29kZTogc3RyaW5nO1xyXG4gIGFnZW50OiBzdHJpbmc7XHJcbiAgbnVtYmVyOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFR5cGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBwcm9kdWN0Q29kZTogc3RyaW5nO1xyXG59XHJcblxyXG4vLyBleHBvcnQgaW50ZXJmYWNlIEN1cnJlbmN5IHtcclxuLy8gICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuLy8gICBudW1iZXI6IHN0cmluZztcclxuLy8gICBjdXJyZW5jeTogc3RyaW5nO1xyXG4vLyAgIG9kOiBudW1iZXI7XHJcbi8vIH1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2FuY2VsbGF0aW9uVHJhbnNhY3Rpb25QYWdlTG9hZERhdGEge1xyXG4gIGNvdW50cmllczogQ291bnRyeVtdO1xyXG4gIHBheUluQWdlbnRzOiBQYXlJbkFnZW50W107XHJcbiAgcHJvZHVjdFR5cGVzOiBQcm9kdWN0VHlwZVtdO1xyXG4gIC8vIGN1cnJlbmNpZXM6IEN1cnJlbmN5W107XHJcbn1cclxuXHJcbi8vIGV4cG9ydCBpbnRlcmZhY2UgQnJhbmNoIHtcclxuLy8gICBidXNpbmVzc1BhcnRuZXJCcmFuY2g6IHN0cmluZztcclxuLy8gICBidXNpbmVzc1BhcnRuZXJCcmFuY2hfQ29ycmVsYXRpb25JZDogc3RyaW5nO1xyXG4vLyAgIGJyYW5jaENvZGU6IHN0cmluZztcclxuLy8gICBiYW5rOiBzdHJpbmc7XHJcbi8vICAgbnVtYmVyOiBzdHJpbmc7XHJcbi8vIH1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2FuY2VsbGF0aW9uVHJhbnNhY3Rpb24ge1xyXG4gIHNlbmRBZ2VudEJyYW5jaE5hbWVBbmRDb2RlOiBzdHJpbmc7XHJcbiAgYnVzaW5lc3NEYXRlVGltZTogc3RyaW5nO1xyXG4gIHR4bkRhdGVBbmRUaW1lOiBzdHJpbmc7XHJcbiAgdHJhbnNhY3Rpb25OdW1iZXI6IHN0cmluZztcclxuICBwcm9kdWN0OiBzdHJpbmc7XHJcbiAgc2VuZEFnZW50QnJhbmNoQ29kZTogc3RyaW5nO1xyXG4gIHNlbmRQcmluY2lwYWxBZ2VudENvZGU6IHN0cmluZztcclxuICByZWN2QUdUY29kZTogc3RyaW5nO1xyXG4gIHBheW91dENDY29kZTogc3RyaW5nO1xyXG4gIHBheU91dEFtb3VudDogbnVtYmVyO1xyXG4gIHBheWluQ0Njb2RlOiBzdHJpbmc7XHJcbiAgcGF5SW5BbW91bnQ6IG51bWJlcjtcclxuICB0eG5Db21taXNzaW9uOiBudW1iZXI7XHJcbiAgdGF4OiBudW1iZXI7XHJcbiAgdG90YWxQYXlpbkFtb3VudDogbnVtYmVyO1xyXG4gIHN0YXR1czogc3RyaW5nO1xyXG4gIGNhbmNlbGxhdGlvbkJyYW5jaERhdGVUaW1lOiBzdHJpbmc7XHJcbiAgY2FuY2VsbGF0aW9uQnVzaW5lc3NEYXRlOiBzdHJpbmc7XHJcbiAgY2FuY2VsbGF0aW9uTG9jYXRpb25Db2RlOiBzdHJpbmc7XHJcbiAgc3RhdHVzQ2hhbmdlZEJ5OiBzdHJpbmc7XHJcbiAgY2FuY2VsbGF0aW9uUmVhc29uOiBzdHJpbmc7XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -16,6 +16,9 @@ import { SharedModule } from './shared/shared.module';
|
|
|
16
16
|
import { TransactionEnquiryComponent } from './components/transaction-enquiry-report/transaction-enquiry-report.component';
|
|
17
17
|
import { SearchFilterComponent } from './shared/search-filter/search-filter.component';
|
|
18
18
|
import { ReportsLibComponent } from './reports-lib.component';
|
|
19
|
+
import { BranchActivityReceiveReportComponent } from './components/branch-activity-receive-report/branch-activity-receive-report.component';
|
|
20
|
+
import { CancellationTransactionReportComponent } from './components/cancellation-transaction-report/cancellation-transaction-report.component';
|
|
21
|
+
import { AccountingReportComponent } from './components/accounting-report/accounting-report.component';
|
|
19
22
|
import * as i0 from "@angular/core";
|
|
20
23
|
export function initializeApp(config) {
|
|
21
24
|
const configFile = '/assets/config/app-config.json';
|
|
@@ -30,7 +33,10 @@ ReportsLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
|
30
33
|
LoaderComponent,
|
|
31
34
|
TransactionEnquiryComponent,
|
|
32
35
|
LoaderComponent,
|
|
33
|
-
SearchFilterComponent
|
|
36
|
+
SearchFilterComponent,
|
|
37
|
+
BranchActivityReceiveReportComponent,
|
|
38
|
+
CancellationTransactionReportComponent,
|
|
39
|
+
AccountingReportComponent], imports: [AgGridModule,
|
|
34
40
|
ReportsLibRoutingModule,
|
|
35
41
|
CommonModule,
|
|
36
42
|
RouterModule,
|
|
@@ -49,7 +55,9 @@ ReportsLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
|
49
55
|
NgSelectModule], exports: [ReportsLibComponent,
|
|
50
56
|
AccGlDetailsEnquiryReportComponent,
|
|
51
57
|
BranchActivitySendReportComponent,
|
|
52
|
-
TransactionEnquiryComponent
|
|
58
|
+
TransactionEnquiryComponent,
|
|
59
|
+
CancellationTransactionReportComponent,
|
|
60
|
+
AccountingReportComponent] });
|
|
53
61
|
ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, providers: [
|
|
54
62
|
ConfigService,
|
|
55
63
|
{
|
|
@@ -85,7 +93,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
85
93
|
LoaderComponent,
|
|
86
94
|
TransactionEnquiryComponent,
|
|
87
95
|
LoaderComponent,
|
|
88
|
-
SearchFilterComponent
|
|
96
|
+
SearchFilterComponent,
|
|
97
|
+
BranchActivityReceiveReportComponent,
|
|
98
|
+
CancellationTransactionReportComponent,
|
|
99
|
+
AccountingReportComponent
|
|
89
100
|
],
|
|
90
101
|
imports: [
|
|
91
102
|
AgGridModule,
|
|
@@ -119,8 +130,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
119
130
|
ReportsLibComponent,
|
|
120
131
|
AccGlDetailsEnquiryReportComponent,
|
|
121
132
|
BranchActivitySendReportComponent,
|
|
122
|
-
TransactionEnquiryComponent
|
|
133
|
+
TransactionEnquiryComponent,
|
|
134
|
+
CancellationTransactionReportComponent,
|
|
135
|
+
AccountingReportComponent
|
|
123
136
|
]
|
|
124
137
|
}]
|
|
125
138
|
}] });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1saWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9yZXBvcnRzLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDeEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFDbkksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhFQUE4RSxDQUFDO0FBQzNILE9BQU8sRUFBRSxxQkFBcUIs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Q29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWdHcmlkTW9kdWxlIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcclxuaW1wb3J0IHsgUmVwb3J0c0xpYlJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3JlcG9ydHMtbGliLXJvdXRpbmcubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJyYW5jaEFjdGl2aXR5U2VuZFJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmFuY2gtYWN0aXZpdHktc2VuZC1yZXBvcnQvYnJhbmNoLWFjdGl2aXR5LXNlbmQtcmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2xvYWRlci9sb2FkZXIuY29tcG9uZW50J1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vbGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdiRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uRW5xdWlyeUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmFuc2FjdGlvbi1lbnF1aXJ5LXJlcG9ydC90cmFuc2FjdGlvbi1lbnF1aXJ5LXJlcG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9zZWFyY2gtZmlsdGVyL3NlYXJjaC1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVwb3J0c0xpYkNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy1saWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJhbmNoQWN0aXZpdHlSZWNlaXZlUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyYW5jaC1hY3Rpdml0eS1yZWNlaXZlLXJlcG9ydC9icmFuY2gtYWN0aXZpdHktcmVjZWl2ZS1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FuY2VsbGF0aW9uVHJhbnNhY3Rpb25SZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FuY2VsbGF0aW9uLXRyYW5zYWN0aW9uLXJlcG9ydC9jYW5jZWxsYXRpb24tdHJhbnNhY3Rpb24tcmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY291bnRpbmdSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3VudGluZy1yZXBvcnQvYWNjb3VudGluZy1yZXBvcnQuY29tcG9uZW50JztcclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVBcHAoY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgY29uc3QgY29uZmlnRmlsZSA9ICcvYXNzZXRzL2NvbmZpZy9hcHAtY29uZmlnLmpzb24nO1xyXG5cclxuICByZXR1cm4gKCkgPT4gY29uZmlnLmxvYWQoY29uZmlnRmlsZSkudG9Qcm9taXNlKCk7XHJcbn1cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUmVwb3J0c0xpYkNvbXBvbmVudCxcclxuICAgIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnQsXHJcbiAgICBCcmFuY2hBY3Rpdml0eVNlbmRSZXBvcnRDb21wb25lbnQsXHJcbiAgICBMb2FkZXJDb21wb25lbnQsXHJcbiAgICBUcmFuc2FjdGlvbkVucXVpcnlDb21wb25lbnQsXHJcbiAgICBMb2FkZXJDb21wb25lbnQsXHJcbiAgICBTZWFyY2hGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBCcmFuY2hBY3Rpdml0eVJlY2VpdmVSZXBvcnRDb21wb25lbnQsXHJcbiAgICBDYW5jZWxsYXRpb25UcmFuc2FjdGlvblJlcG9ydENvbXBvbmVudCxcclxuICAgIEFjY291bnRpbmdSZXBvcnRDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEFnR3JpZE1vZHVsZSxcclxuICAgIFJlcG9ydHNMaWJSb3V0aW5nTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTmdiRGF0ZXBpY2tlck1vZHVsZSxcclxuICAgIFNoYXJlZE1vZHVsZSxcclxuICAgICAgICBCcm93c2VyTW9kdWxlLFxyXG4gICAgICAgIEFnR3JpZE1vZHVsZSxcclxuICAgICAgICBSZXBvcnRzTGliUm91dGluZ01vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBBZ0dyaWRNb2R1bGUsXHJcbiAgICAgICAgTmdiTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgTmdTZWxlY3RNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTmdiTW9kdWxlLFxyXG4gICAgTmdTZWxlY3RNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQ29uZmlnU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICB1c2VGYWN0b3J5OiBpbml0aWFsaXplQXBwLFxyXG4gICAgICBkZXBzOiBbQ29uZmlnU2VydmljZV0sXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBSZXBvcnRzTGliQ29tcG9uZW50LFxyXG4gICAgQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydENvbXBvbmVudCxcclxuICAgIEJyYW5jaEFjdGl2aXR5U2VuZFJlcG9ydENvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uRW5xdWlyeUNvbXBvbmVudCxcclxuICAgIENhbmNlbGxhdGlvblRyYW5zYWN0aW9uUmVwb3J0Q29tcG9uZW50LFxyXG4gICAgQWNjb3VudGluZ1JlcG9ydENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydHNMaWJNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -88,6 +88,96 @@ export class ReportService {
|
|
|
88
88
|
const url = `${this.reportServiceUrl}/api/v1/Report/TransactionEnquiry/search-transactions`;
|
|
89
89
|
return this.http.post(url, request).pipe(map(response => response));
|
|
90
90
|
}
|
|
91
|
+
// Branch Activity Receive Report API
|
|
92
|
+
getAllPayOutAgents(sysUserID) {
|
|
93
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/BranchActivityReceive/GetAllPayoutAgents/${sysUserID}`;
|
|
94
|
+
return this.http.get(apiPath).pipe(map(response => {
|
|
95
|
+
return response;
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
getBranchActivityReceiveParams() {
|
|
99
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/BranchActivityReceive/GetBranchActivityReceiveReportParams`;
|
|
100
|
+
return this.http.get(apiPath).pipe(map(response => {
|
|
101
|
+
return response;
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
getBranchActivityReceivePayoutAgentBranch(sysUserId, code) {
|
|
105
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/BranchActivityReceive/GetBranchByPayoutAgent/${code}/${sysUserId}/BH`;
|
|
106
|
+
return this.http.get(apiPath).pipe(map(response => {
|
|
107
|
+
retry(2),
|
|
108
|
+
map(response => response);
|
|
109
|
+
return response;
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
getBranchActivityReceiveReport(data) {
|
|
113
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/BranchActivityReceive/GetBranchActivityReceiveReport`;
|
|
114
|
+
return this.http.post(apiPath, data).pipe(map(response => {
|
|
115
|
+
return response;
|
|
116
|
+
}));
|
|
117
|
+
}
|
|
118
|
+
//Cancellation Transaction Report apis
|
|
119
|
+
//Api 1
|
|
120
|
+
loadDataforCancallation(sysUserId) {
|
|
121
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/CancellationTransactionReport/pageLoadData/${sysUserId}`;
|
|
122
|
+
return this.http.get(apiPath);
|
|
123
|
+
}
|
|
124
|
+
/** Api 2 - Get list of branches for an agent */
|
|
125
|
+
getBranches(agentCode, sysUserId) {
|
|
126
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/CancellationTransactionReport/branches/${agentCode}/${sysUserId}`;
|
|
127
|
+
return this.http.get(apiPath).pipe(map(response => response || []));
|
|
128
|
+
}
|
|
129
|
+
getCancellationReport(criteria) {
|
|
130
|
+
const url = `${this.reportServiceUrl}/api/v1/Report/CancellationTransactionReport/viewReport`;
|
|
131
|
+
return this.http.post(url, criteria).pipe(map(response => response || []));
|
|
132
|
+
}
|
|
133
|
+
// Accounting Report
|
|
134
|
+
// Api 1 - get accounting report
|
|
135
|
+
getAccountingReport(object) {
|
|
136
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/AccountingReport/GetAccountingReport`;
|
|
137
|
+
return this.http.post(apiPath, object).pipe(map(response => response || undefined));
|
|
138
|
+
}
|
|
139
|
+
// Api 2 - get All clients
|
|
140
|
+
getClientsForAccountingReport(sysUserID) {
|
|
141
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/AccountingReport/GetAllPayInAgents/${sysUserID}`;
|
|
142
|
+
return this.http.get(apiPath).pipe(map(response => {
|
|
143
|
+
return response;
|
|
144
|
+
}));
|
|
145
|
+
}
|
|
146
|
+
// Api 3 - get branch by agent or client
|
|
147
|
+
getBranchByAgentForAccountingReport(sysUserId, code) {
|
|
148
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/AccountingReport/GetBranchByAgent/${code}/${sysUserId}/BH`;
|
|
149
|
+
return this.http.get(apiPath).pipe(map(response => {
|
|
150
|
+
retry(2),
|
|
151
|
+
map(response => response);
|
|
152
|
+
return response;
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
// Api 4 - get All transaction types ( products )
|
|
156
|
+
getTransactionTypesForAccountingReport() {
|
|
157
|
+
const url = `${this.reportServiceUrl}/api/v1/Report/AccountingReport/getTransactionTypes`;
|
|
158
|
+
return this.http.get(url).pipe(map(response => response));
|
|
159
|
+
}
|
|
160
|
+
// Api 5 - get All currencies
|
|
161
|
+
getAllCurrenciesForAccountingReport() {
|
|
162
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/AccountingReport/getAllCurrencies`;
|
|
163
|
+
return this.http.get(apiPath).pipe(map(response => {
|
|
164
|
+
return response;
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
// Api 6 - get All Transaction Status
|
|
168
|
+
getAllTransactionStatusForAccountingReport() {
|
|
169
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/AccountingReport/GetAllTransactionStatus`;
|
|
170
|
+
return this.http.get(apiPath).pipe(map(response => {
|
|
171
|
+
return response;
|
|
172
|
+
}));
|
|
173
|
+
}
|
|
174
|
+
// Api 7 - get All Countries
|
|
175
|
+
getAllCountriesForAccountingReport() {
|
|
176
|
+
const apiPath = `${this.reportServiceUrl}/api/v1/Report/AccountingReport/GetAllCountries`;
|
|
177
|
+
return this.http.get(apiPath).pipe(map(response => {
|
|
178
|
+
return response;
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
91
181
|
}
|
|
92
182
|
ReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
93
183
|
ReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportService, providedIn: 'root' });
|
|
@@ -97,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
97
187
|
providedIn: 'root'
|
|
98
188
|
}]
|
|
99
189
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVc1QyxNQUFNLE9BQU8sYUFBYTtJQUd4Qix3Q0FBd0M7SUFDeEMsMEVBQTBFO0lBRTFFLFlBQW9CLElBQWdCLEVBQVUsTUFBcUI7UUFBL0MsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEZBQTBGLENBQUMsQ0FBQztTQUM3RztRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztJQUMzRCxDQUFDO0lBRU0scUJBQXFCLENBQUMsYUFBaUMsRUFBRSxRQUFnQjtRQUM5RSxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IseUVBQXlFLGFBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUM3SSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLDhDQUE4QyxDQUFDO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNo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QkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC9hY2NnbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0bW9kZWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJyYW5jaEFjdGl2aXR5U2VuZFJlcG9ydFJlcXVlc3REb21haW5Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9icmFuY2gtYWN0aXZpdHktcmVwb3J0L2JyYW5jaC1hY3Rpdml0eS1zZW5kLXJlcG9ydC1yZXF1ZXN0LWRvbWFpbi1tb2RlbCc7XHJcbmltcG9ydCB7IEJyYW5jaEFjdGl2aXR5UmVwb3J0IH0gZnJvbSAnLi4vbW9kZWxzL2JyYW5jaC1hY3Rpdml0eS1yZXBvcnQvYnJhbmNoLWFjdGl2aXR5LXNlbmQtcmVwb3J0JztcclxuaW1wb3J0IHsgUHJvZHVjdCwgVXNlciwgQnJhbmNoLCBUcmFuc2FjdGlvbkRhdGEsIFBhZ2VMb2FkRGF0YVJlc3BvbnNlLCBTZWFyY2hDcml0ZXJpYSB9IGZyb20gJy4uL21vZGVscy90cmFuc2FjdGlvbi1lbnF1aXJ5LXJlcG9ydC90cmFuc2FjdGlvbi1lbnF1aXJ5Lm1vZGVsJztcclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSByZXBvcnRTZXJ2aWNlVXJsOiBzdHJpbmc7XHJcbiAgLy8gcHJpdmF0ZSByZXBvcnRVcmwgPSAnL2FwaS92MS9SZXBvcnQnO1xyXG4gIC8vIHByaXZhdGUgc3lzdGVtUmVwb3J0VXJsID0gJy9hcGkvdjEvQ29tcGFueUNvbmZpZ3VyYXRpb24vU3lzdGVtUmVwb3J0cyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIGlmICghdGhpcy5jb25maWcuZ2V0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29uZmlnU2VydmljZSBpcyBub3QgaW5pdGlhbGl6ZWQuIEVuc3VyZSBBUFBfSU5JVElBTElaRVIgcmFuIGJlZm9yZSB1c2luZyBSZXBvcnRTZXJ2aWNlLicpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXBvcnRTZXJ2aWNlVXJsID0gdGhpcy5jb25maWcuZ2V0LnJlcG9ydFNlcnZpY2VVcmw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWNjR0xEZXRhaWxzUmVwb3J0KGZvcm1hdHRlZERhdGU6IHN0cmluZyB8IHVuZGVmaW5lZCwgZGF0ZVR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8QWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsPiB7XHJcbiAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0FjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnQvR2V0QWNjR0xEZXRhaWxzRW5xdWlyeVJlcG9ydC8ke2Zvcm1hdHRlZERhdGV9LyR7ZGF0ZVR5cGV9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbD4oYXBpUGF0aCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21wYW55Q29uZmlnKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGNvbnN0IGFwaVBhdGggPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvR2V0Q29tcGFueVJlcG9ydENvbmZpZ3VyYXRpb25gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXBpUGF0aCkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICByZXR1cm4gPGFueVtdPnJlc3BvbnNlO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGF5SW5BZ2VudHMoc3lzVXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0dldEFsbFBheUluQWdlbnRzLyR7c3lzVXNlcklkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChhcGlQYXRoKS5waXBlKG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgIHJldHVybiA8YW55W10+cmVzcG9uc2U7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBnZXRCcmFuY2hCeUFnZW50KHN5c1VzZXJJZDogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0dldEJyYW5jaEJ5QWdlbnQvJHtjb2RlfS8ke3N5c1VzZXJJZH0vQkhgO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXBpUGF0aCkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICByZXRyeSgyKSxcclxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpXHJcbiAgICAgIHJldHVybiA8YW55W10+cmVzcG9uc2U7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBnZXRQYXJhbXMoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgY29uc3QgYXBpUGF0aCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9HZXRCcmFuY2hBY3Rpdml0eVNlbmRSZXBvcnRQYXJhbXNgO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXBpUGF0aCkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICByZXRyeSgyKSxcclxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpXHJcbiAgICAgIHJldHVybiA8YW55W10+cmVzcG9uc2U7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBnZXRCcmFuY2hBY3Rpdml0eVJlcG9ydChkYXRhOiBCcmFuY2hBY3Rpdml0eVNlbmRSZXBvcnRSZXF1ZXN0RG9tYWluTW9kZWwgfCBhbnkpOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIEJyYW5jaEFjdGl2aXR5UmVwb3J0W10+PiB7XHJcbiAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0dldEJyYW5jaEFjdGl2aXR5U2VuZFJlcG9ydGA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCwgZGF0YSkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICByZXR1cm4gPFJlY29yZDxzdHJpbmcsIEJyYW5jaEFjdGl2aXR5UmVwb3J0W10+PnJlc3BvbnNlO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFVzZXJOYW1lRnJvbVNlc3Npb25TdG9yYWdlKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgZm9zc2lsVXNlck5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdmb3NzaWx1c2VybmFtZScpO1xyXG4gICAgbGV0IGV6cmVtaXR1c2VybmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2V6cmVtaXR1c2VybmFtZScpO1xyXG4gICAgaWYgKGZvc3NpbFVzZXJOYW1lKSB7XHJcbiAgICAgIHJldHVybiBmb3NzaWxVc2VyTmFtZS5yZXBsYWNlKC9eXCIoLiopXCIkLywgJyQxJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZXpyZW1pdHVzZXJuYW1lLnJlcGxhY2UoL15cIiguKilcIiQvLCAnJDEnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vVHJhc2FjdGlvbiBFbnF1aXJ5IFJlcG9ydCBBcGlzXHJcbiAgLy8gQVBJIDE6IEdldCBpbml0aWFsIHBhZ2UgbG9hZCBkYXRhXHJcbiAgZ2V0UGFnZUxvYWREYXRhKHN5c1VzZXJJRDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYWdlTG9hZERhdGFSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L1RyYW5zYWN0aW9uRW5xdWlyeS9wYWdlTG9hZERhdGEvJHtzeXNVc2VySUR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IDxQYWdlTG9hZERhdGFSZXNwb25zZT5yZXNwb25zZSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBBUEkgMjogR2V0IGJyYW5jaGVzIGJ5IGFnZW50XHJcbiAgZ2V0QnJhbmNoZXNCeUFnZW50KGFnZW50Q29kZTogc3RyaW5nLCBzeXNVc2VySUQ6IHN0cmluZyk6IE9ic2VydmFibGU8QnJhbmNoW10+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9UcmFuc2FjdGlvbkVucXVpcnkvYnJhbmNoZXMvJHthZ2VudENvZGV9LyR7c3lzVXNlcklEfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiA8QnJhbmNoW10+cmVzcG9uc2UpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gQVBJIDM6IEdldCBwcm9kdWN0cyBieSBhZ2VudFxyXG4gIGdldFByb2R1Y3RzQnlBZ2VudChhZ2VudENvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdFtdPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvVHJhbnNhY3Rpb25FbnF1aXJ5L3Byb2R1Y3RzLyR7YWdlbnRDb2RlfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiA8UHJvZHVjdFtdPnJlc3BvbnNlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIEFQSSA0OiBHZXQgdXNlcnMgYnkgYnJhbmNoXHJcbiAgZ2V0VXNlcnNCeUJyYW5jaChidXNpbmVzc1BhcnRuZXJDb2RlOiBzdHJpbmcsIGJyYW5jaENvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcltdPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvVHJhbnNhY3Rpb25FbnF1aXJ5L3VzZXJzLyR7YnVzaW5lc3NQYXJ0bmVyQ29kZX0vJHticmFuY2hDb2RlfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiA8VXNlcltdPnJlc3BvbnNlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIEFQSSA1OiBTZWFyY2ggdHJhbnNhY3Rpb25zXHJcbiAgc2VhcmNoVHJhbnNhY3Rpb25zKHJlcXVlc3Q6IFNlYXJjaENyaXRlcmlhKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbkRhdGFbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L1RyYW5zYWN0aW9uRW5xdWlyeS9zZWFyY2gtdHJhbnNhY3Rpb25zYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHJlcXVlc3QpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiA8VHJhbnNhY3Rpb25EYXRhW10+cmVzcG9uc2UpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWE1QyxNQUFNLE9BQU8sYUFBYTtJQUd4Qix3Q0FBd0M7SUFDeEMsMEVBQTBFO0lBRTFFLFlBQW9CLElBQWdCLEVBQVUsTUFBcUI7UUFBL0MsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEZBQTBGLENBQUMsQ0FBQztTQUM3RztRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztJQUMzRCxDQUFDO0lBRU0scUJBQXFCLENBQUMsYUFBaUMsRUFBRSxRQUFnQjtRQUM5RSxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IseUVBQXlFLGFBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUM3SSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLDhDQUE4QyxDQUFDO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNo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Qy9CLG1DQUFtQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0Isa0RBQWtELENBQUM7UUFDM0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hELE9BQWMsUUFBUSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBRUMscUNBQXFDO0lBQ3JDLDBDQUEwQztRQUMxQyxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IseURBQXlELENBQUM7UUFDbEcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hELE9BQWMsUUFBUSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBRUMsNEJBQTRCO0lBQzVCLGtDQUFrQztRQUNsQyxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsaURBQWlELENBQUM7UUFDMUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hELE9BQWMsUUFBUSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDOzswR0E1TlEsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2FjYy1nbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0L2FjY2dsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnRtb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQnJhbmNoQWN0aXZpdHlTZW5kUmVwb3J0UmVxdWVzdERvbWFpbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2JyYW5jaC1hY3Rpdml0eS1yZXBvcnQvYnJhbmNoLWFjdGl2aXR5LXNlbmQtcmVwb3J0LXJlcXVlc3QtZG9tYWluLW1vZGVsJztcclxuaW1wb3J0IHsgQnJhbmNoQWN0aXZpdHlSZXBvcnQgfSBmcm9tICcuLi9tb2RlbHMvYnJhbmNoLWFjdGl2aXR5LXJlcG9ydC9icmFuY2gtYWN0aXZpdHktc2VuZC1yZXBvcnQnO1xyXG5pbXBvcnQgeyBQcm9kdWN0LCBVc2VyLCBCcmFuY2gsIFRyYW5zYWN0aW9uRGF0YSwgUGFnZUxvYWREYXRhUmVzcG9uc2UsIFNlYXJjaENyaXRlcmlhIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zYWN0aW9uLWVucXVpcnktcmVwb3J0L3RyYW5zYWN0aW9uLWVucXVpcnkubW9kZWwnO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IEJyYW5jaEFjdGl2aXR5UmVjZWl2ZVJlcG9ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2JyYW5jaC1hY3Rpdml0eS1yZWNlaXZlLXJlcG9ydC9icmFuY2gtYWN0aXZpdHktcmVjZWl2ZS5tb2RlbCc7XHJcbmltcG9ydCB7IENhbmNlbGxhdGlvblRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NhbmNlbGxhdGlvbi10cmFuc2FjdGlvbi1yZXBvcnQvY2FuY2VsbGF0aW9uLXRyYW5zYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgQWNjb3VudGluZ1JlcG9ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2FjY291bnRpbmctcmVwb3J0L2FjY291bnRpbmctcmVwb3J0LW1vZGVsJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSByZXBvcnRTZXJ2aWNlVXJsOiBzdHJpbmc7XHJcbiAgLy8gcHJpdmF0ZSByZXBvcnRVcmwgPSAnL2FwaS92MS9SZXBvcnQnO1xyXG4gIC8vIHByaXZhdGUgc3lzdGVtUmVwb3J0VXJsID0gJy9hcGkvdjEvQ29tcGFueUNvbmZpZ3VyYXRpb24vU3lzdGVtUmVwb3J0cyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIGlmICghdGhpcy5jb25maWcuZ2V0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29uZmlnU2VydmljZSBpcyBub3QgaW5pdGlhbGl6ZWQuIEVuc3VyZSBBUFBfSU5JVElBTElaRVIgcmFuIGJlZm9yZSB1c2luZyBSZXBvcnRTZXJ2aWNlLicpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXBvcnRTZXJ2aWNlVXJsID0gdGhpcy5jb25maWcuZ2V0LnJlcG9ydFNlcnZpY2VVcmw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWNjR0xEZXRhaWxzUmVwb3J0KGZvcm1hdHRlZERhdGU6IHN0cmluZyB8IHVuZGVmaW5lZCwgZGF0ZVR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8QWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsPiB7XHJcbiAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0FjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnQvR2V0QWNjR0xEZXRhaWxzRW5xdWlyeVJlcG9ydC8ke2Zvcm1hdHRlZERhdGV9LyR7ZGF0ZVR5cGV9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbD4oYXBpUGF0aCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21wYW55Q29uZmlnKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGNvbnN0IGFwaVBhdGggPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvR2V0Q29tcGFueVJlcG9ydENvbmZpZ3VyYXRpb25gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXBpUGF0aCkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICByZXR1cm4gPGFueVtdPnJlc3BvbnNlO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGF5SW5BZ2VudHMoc3lzVXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0dldEFsbFBheUluQWdlbnRzLyR7c3lzVXNlcklkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChhcGlQYXRoKS5waXBlKG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgIHJldHVybiA8YW55W10+cmVzcG9uc2U7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBnZXRCcmFuY2hCeUFnZW50KHN5c1VzZXJJZDogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0dldEJyYW5jaEJ5QWdlbnQvJHtjb2RlfS8ke3N5c1VzZXJJZH0vQkhgO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXBpUGF0aCkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICByZXRyeSgyKSxcclxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpXHJcbiAgICAgIHJldHVybiA8YW55W10+cmVzcG9uc2U7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBnZXRQYXJhbXMoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgY29uc3QgYXBpUGF0aCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9HZXRCcmFuY2hBY3Rpdml0eVNlbmRSZXBvcnRQYXJhbXNgO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXBpUGF0aCkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICByZXRyeSgyKSxcclxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpXHJcbiAgICAgIHJldHVybiA8YW55W10+cmVzcG9uc2U7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBnZXRCcmFuY2hBY3Rpdml0eVJlcG9ydChkYXRhOiBCcmFuY2hBY3Rpdml0eVNlbmRSZXBvcnRSZXF1ZXN0RG9tYWluTW9kZWwgfCBhbnkpOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIEJyYW5jaEFjdGl2aXR5UmVwb3J0W10+PiB7XHJcbiAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0dldEJyYW5jaEFjdGl2aXR5U2VuZFJlcG9ydGA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCwgZGF0YSkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICByZXR1cm4gPFJlY29yZDxzdHJpbmcsIEJyYW5jaEFjdGl2aXR5UmVwb3J0W10+PnJlc3BvbnNlO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFVzZXJOYW1lRnJvbVNlc3Npb25TdG9yYWdlKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgZm9zc2lsVXNlck5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdmb3NzaWx1c2VybmFtZScpO1xyXG4gICAgbGV0IGV6cmVtaXR1c2VybmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2V6cmVtaXR1c2VybmFtZScpO1xyXG4gICAgaWYgKGZvc3NpbFVzZXJOYW1lKSB7XHJcbiAgICAgIHJldHVybiBmb3NzaWxVc2VyTmFtZS5yZXBsYWNlKC9eXCIoLiopXCIkLywgJyQxJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZXpyZW1pdHVzZXJuYW1lLnJlcGxhY2UoL15cIiguKilcIiQvLCAnJDEnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vVHJhc2FjdGlvbiBFbnF1aXJ5IFJlcG9ydCBBcGlzXHJcbiAgLy8gQVBJIDE6IEdldCBpbml0aWFsIHBhZ2UgbG9hZCBkYXRhXHJcbiAgZ2V0UGFnZUxvYWREYXRhKHN5c1VzZXJJRDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYWdlTG9hZERhdGFSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L1RyYW5zYWN0aW9uRW5xdWlyeS9wYWdlTG9hZERhdGEvJHtzeXNVc2VySUR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IDxQYWdlTG9hZERhdGFSZXNwb25zZT5yZXNwb25zZSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBBUEkgMjogR2V0IGJyYW5jaGVzIGJ5IGFnZW50XHJcbiAgZ2V0QnJhbmNoZXNCeUFnZW50KGFnZW50Q29kZTogc3RyaW5nLCBzeXNVc2VySUQ6IHN0cmluZyk6IE9ic2VydmFibGU8QnJhbmNoW10+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9UcmFuc2FjdGlvbkVucXVpcnkvYnJhbmNoZXMvJHthZ2VudENvZGV9LyR7c3lzVXNlcklEfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiA8QnJhbmNoW10+cmVzcG9uc2UpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gQVBJIDM6IEdldCBwcm9kdWN0cyBieSBhZ2VudFxyXG4gIGdldFByb2R1Y3RzQnlBZ2VudChhZ2VudENvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdFtdPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvVHJhbnNhY3Rpb25FbnF1aXJ5L3Byb2R1Y3RzLyR7YWdlbnRDb2RlfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiA8UHJvZHVjdFtdPnJlc3BvbnNlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIEFQSSA0OiBHZXQgdXNlcnMgYnkgYnJhbmNoXHJcbiAgZ2V0VXNlcnNCeUJyYW5jaChidXNpbmVzc1BhcnRuZXJDb2RlOiBzdHJpbmcsIGJyYW5jaENvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcltdPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvVHJhbnNhY3Rpb25FbnF1aXJ5L3VzZXJzLyR7YnVzaW5lc3NQYXJ0bmVyQ29kZX0vJHticmFuY2hDb2RlfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiA8VXNlcltdPnJlc3BvbnNlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIEFQSSA1OiBTZWFyY2ggdHJhbnNhY3Rpb25zXHJcbiAgc2VhcmNoVHJhbnNhY3Rpb25zKHJlcXVlc3Q6IFNlYXJjaENyaXRlcmlhKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbkRhdGFbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L1RyYW5zYWN0aW9uRW5xdWlyeS9zZWFyY2gtdHJhbnNhY3Rpb25zYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHJlcXVlc3QpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiA8VHJhbnNhY3Rpb25EYXRhW10+cmVzcG9uc2UpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gQnJhbmNoIEFjdGl2aXR5IFJlY2VpdmUgUmVwb3J0IEFQSVxyXG4gICAgICBnZXRBbGxQYXlPdXRBZ2VudHMoc3lzVXNlcklEOnN0cmluZyk6T2JzZXJ2YWJsZTxhbnlbXT57XHJcbiAgICAgICAgY29uc3QgYXBpUGF0aCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9CcmFuY2hBY3Rpdml0eVJlY2VpdmUvR2V0QWxsUGF5b3V0QWdlbnRzLyR7c3lzVXNlcklEfWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXBpUGF0aCkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIDxhbnlbXT5yZXNwb25zZTtcclxuICAgICAgICB9KSlcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBnZXRCcmFuY2hBY3Rpdml0eVJlY2VpdmVQYXJhbXMoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0JyYW5jaEFjdGl2aXR5UmVjZWl2ZS9HZXRCcmFuY2hBY3Rpdml0eVJlY2VpdmVSZXBvcnRQYXJhbXNgO1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldChhcGlQYXRoKS5waXBlKG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIDxhbnlbXT5yZXNwb25zZTtcclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgZ2V0QnJhbmNoQWN0aXZpdHlSZWNlaXZlUGF5b3V0QWdlbnRCcmFuY2goc3lzVXNlcklkOiBzdHJpbmcsIGNvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgICAgY29uc3QgYXBpUGF0aCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9CcmFuY2hBY3Rpdml0eVJlY2VpdmUvR2V0QnJhbmNoQnlQYXlvdXRBZ2VudC8ke2NvZGV9LyR7c3lzVXNlcklkfS9CSGA7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGFwaVBhdGgpLnBpcGUobWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICByZXRyeSgyKSxcclxuICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZSlcclxuICAgICAgICByZXR1cm4gPGFueVtdPnJlc3BvbnNlO1xyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAgIGdldEJyYW5jaEFjdGl2aXR5UmVjZWl2ZVJlcG9ydChkYXRhOmFueSk6T2JzZXJ2YWJsZSA8IFJlY29yZCA8IHN0cmluZywgQnJhbmNoQWN0aXZpdHlSZWNlaXZlUmVwb3J0TW9kZWxbXSA+PntcclxuICAgICAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5yZXBvcnRTZXJ2aWNlVXJsfS9hcGkvdjEvUmVwb3J0L0JyYW5jaEFjdGl2aXR5UmVjZWl2ZS9HZXRCcmFuY2hBY3Rpdml0eVJlY2VpdmVSZXBvcnRgO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoLCBkYXRhKS5waXBlKG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gPFJlY29yZDxzdHJpbmcsIEJyYW5jaEFjdGl2aXR5UmVjZWl2ZVJlcG9ydE1vZGVsW10+PnJlc3BvbnNlO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gIC8vQ2FuY2VsbGF0aW9uIFRyYW5zYWN0aW9uIFJlcG9ydCBhcGlzXHJcbiAgLy9BcGkgMVxyXG4gIGxvYWREYXRhZm9yQ2FuY2FsbGF0aW9uKHN5c1VzZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IGFwaVBhdGggPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvQ2FuY2VsbGF0aW9uVHJhbnNhY3Rpb25SZXBvcnQvcGFnZUxvYWREYXRhLyR7c3lzVXNlcklkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGFwaVBhdGgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEFwaSAyIC0gR2V0IGxpc3Qgb2YgYnJhbmNoZXMgZm9yIGFuIGFnZW50ICovXHJcbiAgZ2V0QnJhbmNoZXMoYWdlbnRDb2RlOiBzdHJpbmcsIHN5c1VzZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxCcmFuY2hbXT4ge1xyXG4gICAgY29uc3QgYXBpUGF0aCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9DYW5jZWxsYXRpb25UcmFuc2FjdGlvblJlcG9ydC9icmFuY2hlcy8ke2FnZW50Q29kZX0vJHtzeXNVc2VySWR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEJyYW5jaFtdPihhcGlQYXRoKS5waXBlKFxyXG4gICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UgfHwgW10pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2FuY2VsbGF0aW9uUmVwb3J0KGNyaXRlcmlhOiBhbnkpOiBPYnNlcnZhYmxlPENhbmNlbGxhdGlvblRyYW5zYWN0aW9uW10+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9DYW5jZWxsYXRpb25UcmFuc2FjdGlvblJlcG9ydC92aWV3UmVwb3J0YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDYW5jZWxsYXRpb25UcmFuc2FjdGlvbltdPih1cmwsIGNyaXRlcmlhKS5waXBlKFxyXG4gICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UgfHwgW10pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIFxyXG4gICAgLy8gQWNjb3VudGluZyBSZXBvcnRcclxuICBcclxuICAgIC8vIEFwaSAxIC0gZ2V0IGFjY291bnRpbmcgcmVwb3J0XHJcbiAgICBnZXRBY2NvdW50aW5nUmVwb3J0KG9iamVjdDogYW55KTogT2JzZXJ2YWJsZTxBY2NvdW50aW5nUmVwb3J0TW9kZWw+IHtcclxuICAgICAgY29uc3QgYXBpUGF0aCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9BY2NvdW50aW5nUmVwb3J0L0dldEFjY291bnRpbmdSZXBvcnRgO1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QWNjb3VudGluZ1JlcG9ydE1vZGVsPihhcGlQYXRoLCBvYmplY3QpLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlIHx8IHVuZGVmaW5lZClcclxuICAgICAgKTtcclxuICAgIH1cclxuICBcclxuICAgIC8vIEFwaSAyIC0gZ2V0IEFsbCBjbGllbnRzXHJcbiAgICBnZXRDbGllbnRzRm9yQWNjb3VudGluZ1JlcG9ydChzeXNVc2VySUQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgICAgY29uc3QgYXBpUGF0aCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9BY2NvdW50aW5nUmVwb3J0L0dldEFsbFBheUluQWdlbnRzLyR7c3lzVXNlcklEfWA7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGFwaVBhdGgpLnBpcGUobWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICByZXR1cm4gPGFueVtdPnJlc3BvbnNlO1xyXG4gICAgICB9KSlcclxuICAgIH1cclxuICBcclxuICAgIC8vIEFwaSAzIC0gZ2V0IGJyYW5jaCBieSBhZ2VudCBvciBjbGllbnRcclxuICAgIGdldEJyYW5jaEJ5QWdlbnRGb3JBY2NvdW50aW5nUmVwb3J0KHN5c1VzZXJJZDogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICAgIGNvbnN0IGFwaVBhdGggPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvQWNjb3VudGluZ1JlcG9ydC9HZXRCcmFuY2hCeUFnZW50LyR7Y29kZX0vJHtzeXNVc2VySWR9L0JIYDtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXBpUGF0aCkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgIHJldHJ5KDIpLFxyXG4gICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlKVxyXG4gICAgICAgIHJldHVybiA8YW55W10+cmVzcG9uc2U7XHJcbiAgICAgIH0pKTtcclxuICAgIH1cclxuICBcclxuICAgIC8vIEFwaSA0IC0gZ2V0IEFsbCB0cmFuc2FjdGlvbiB0eXBlcyAoIHByb2R1Y3RzIClcclxuICAgIGdldFRyYW5zYWN0aW9uVHlwZXNGb3JBY2NvdW50aW5nUmVwb3J0KCk6IE9ic2VydmFibGU8UHJvZHVjdFtdPiB7XHJcbiAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9BY2NvdW50aW5nUmVwb3J0L2dldFRyYW5zYWN0aW9uVHlwZXNgO1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IDxQcm9kdWN0W10+cmVzcG9uc2UpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAgIC8vIEFwaSA1IC0gZ2V0IEFsbCBjdXJyZW5jaWVzXHJcbiAgICBnZXRBbGxDdXJyZW5jaWVzRm9yQWNjb3VudGluZ1JlcG9ydCgpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICAgIGNvbnN0IGFwaVBhdGggPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvQWNjb3VudGluZ1JlcG9ydC9nZXRBbGxDdXJyZW5jaWVzYDtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXBpUGF0aCkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgIHJldHVybiA8YW55W10+cmVzcG9uc2U7XHJcbiAgICAgIH0pKVxyXG4gICAgfVxyXG4gIFxyXG4gICAgICAvLyBBcGkgNiAtIGdldCBBbGwgVHJhbnNhY3Rpb24gU3RhdHVzXHJcbiAgICAgIGdldEFsbFRyYW5zYWN0aW9uU3RhdHVzRm9yQWNjb3VudGluZ1JlcG9ydCgpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICAgIGNvbnN0IGFwaVBhdGggPSBgJHt0aGlzLnJlcG9ydFNlcnZpY2VVcmx9L2FwaS92MS9SZXBvcnQvQWNjb3VudGluZ1JlcG9ydC9HZXRBbGxUcmFuc2FjdGlvblN0YXR1c2A7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGFwaVBhdGgpLnBpcGUobWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICByZXR1cm4gPGFueVtdPnJlc3BvbnNlO1xyXG4gICAgICB9KSlcclxuICAgIH1cclxuICBcclxuICAgICAgLy8gQXBpIDcgLSBnZXQgQWxsIENvdW50cmllc1xyXG4gICAgICBnZXRBbGxDb3VudHJpZXNGb3JBY2NvdW50aW5nUmVwb3J0KCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgICAgY29uc3QgYXBpUGF0aCA9IGAke3RoaXMucmVwb3J0U2VydmljZVVybH0vYXBpL3YxL1JlcG9ydC9BY2NvdW50aW5nUmVwb3J0L0dldEFsbENvdW50cmllc2A7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGFwaVBhdGgpLnBpcGUobWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICByZXR1cm4gPGFueVtdPnJlc3BvbnNlO1xyXG4gICAgICB9KSlcclxuICAgIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|