@energycap/energycap-billcapture-sdk-angular 1.0.2-internal-20240104-2210
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/api/api.d.ts +9 -0
- package/api/billCaptureAPI.service.d.ts +162 -0
- package/api/sample.service.d.ts +81 -0
- package/api/upload.service.d.ts +55 -0
- package/api/version.service.d.ts +48 -0
- package/api.module.d.ts +11 -0
- package/configuration.d.ts +21 -0
- package/esm2020/api/api.mjs +10 -0
- package/esm2020/api/billCaptureAPI.service.mjs +454 -0
- package/esm2020/api/sample.service.mjs +233 -0
- package/esm2020/api/upload.service.mjs +160 -0
- package/esm2020/api/version.service.mjs +143 -0
- package/esm2020/api.module.mjs +30 -0
- package/esm2020/configuration.mjs +23 -0
- package/esm2020/energycap-energycap-billcapture-sdk-angular.mjs +5 -0
- package/esm2020/model/aPIFilter.mjs +14 -0
- package/esm2020/model/aPIOrderBy.mjs +14 -0
- package/esm2020/model/clientChildDTO.mjs +14 -0
- package/esm2020/model/getClientsResponse.mjs +14 -0
- package/esm2020/model/models.mjs +6 -0
- package/esm2020/model/uploadResponseDTO.mjs +14 -0
- package/esm2020/public-api.mjs +6 -0
- package/esm2020/variables.mjs +9 -0
- package/fesm2015/energycap-energycap-billcapture-sdk-angular.mjs +1103 -0
- package/fesm2015/energycap-energycap-billcapture-sdk-angular.mjs.map +1 -0
- package/fesm2020/energycap-energycap-billcapture-sdk-angular.mjs +1095 -0
- package/fesm2020/energycap-energycap-billcapture-sdk-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/model/aPIFilter.d.ts +13 -0
- package/model/aPIOrderBy.d.ts +13 -0
- package/model/clientChildDTO.d.ts +33 -0
- package/model/getClientsResponse.d.ts +16 -0
- package/model/models.d.ts +5 -0
- package/model/uploadResponseDTO.d.ts +51 -0
- package/package.json +33 -0
- package/public-api.d.ts +5 -0
- package/variables.d.ts +8 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BillCapture.API
|
|
3
|
+
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
|
|
4
|
+
*
|
|
5
|
+
* OpenAPI spec version: 1.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by the swagger code generator program.
|
|
9
|
+
* https://github.com/swagger-api/swagger-codegen.git
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/* tslint:disable:no-unused-variable member-ordering */
|
|
13
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
14
|
+
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
15
|
+
import { map } from 'rxjs/operators';
|
|
16
|
+
import { BASE_PATH } from '../variables';
|
|
17
|
+
import { Configuration } from '../configuration';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@angular/common/http";
|
|
20
|
+
import * as i2 from "../configuration";
|
|
21
|
+
const RequestMethod = {
|
|
22
|
+
Get: 'get',
|
|
23
|
+
Post: 'post',
|
|
24
|
+
Put: 'put',
|
|
25
|
+
Delete: 'delete',
|
|
26
|
+
Options: 'options',
|
|
27
|
+
Head: 'head',
|
|
28
|
+
Patch: 'patch'
|
|
29
|
+
};
|
|
30
|
+
export class SampleService {
|
|
31
|
+
constructor(http, basePath, configuration) {
|
|
32
|
+
this.http = http;
|
|
33
|
+
this.basePath = 'https://localhost';
|
|
34
|
+
this.defaultHeaders = new HttpHeaders();
|
|
35
|
+
this.configuration = new Configuration();
|
|
36
|
+
if (basePath) {
|
|
37
|
+
this.basePath = basePath;
|
|
38
|
+
}
|
|
39
|
+
if (configuration) {
|
|
40
|
+
this.configuration = configuration;
|
|
41
|
+
this.basePath = basePath || configuration.basePath || this.basePath;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* Extends object by coping non-existing properties.
|
|
47
|
+
* @param objA object to be extended
|
|
48
|
+
* @param objB source object
|
|
49
|
+
*/
|
|
50
|
+
extendObj(objA, objB) {
|
|
51
|
+
for (let key in objB) {
|
|
52
|
+
if (objB.hasOwnProperty(key)) {
|
|
53
|
+
objA[key] = objB[key];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return objA;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @param consumes string[] mime-types
|
|
60
|
+
* @return true: consumes contains 'multipart/form-data', false: otherwise
|
|
61
|
+
*/
|
|
62
|
+
canConsumeForm(consumes) {
|
|
63
|
+
const form = 'multipart/form-data';
|
|
64
|
+
for (let consume of consumes) {
|
|
65
|
+
if (form === consume) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Sample controller endpoint that gets a client
|
|
73
|
+
*
|
|
74
|
+
* @param clientId The client identifier
|
|
75
|
+
*/
|
|
76
|
+
apiPublicSampleClientIdGet(clientId, extraHttpRequestParams, extraHttpRequestHeaders) {
|
|
77
|
+
return this.apiPublicSampleClientIdGetWithHttpInfo(clientId, extraHttpRequestParams, extraHttpRequestHeaders)
|
|
78
|
+
.pipe(map((response) => {
|
|
79
|
+
if (response.status === 204) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
return response.body;
|
|
84
|
+
}
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Sample controller endpoint that gets clients
|
|
89
|
+
*
|
|
90
|
+
* @param filter A filter <table id=\"api-filter\"><tr><th>Name</th><th>Description</th><th>Type</th><th>Operators</th></tr><tr><td>clientName</td><td>Client Name</td><td>Any Text</td><td>equals, not equals, one of, like, not like, not one of</td></tr><tr><td>clientID</td><td>Client Id</td><td>Whole Number</td><td>equals</td></tr></table>
|
|
91
|
+
* @param orderBy An order by <table id=\"api-filter\"><tr><th>Name</th><th>Description</th><th>Sort Operators</th></tr><tr><td>clientName</td><td>Client Name</td><td>ASC, DESC</td></tr></table>
|
|
92
|
+
* @param pageSize The number of elements to return in a page
|
|
93
|
+
* @param pageNumber The current page number
|
|
94
|
+
*/
|
|
95
|
+
apiPublicSampleGet(filter, orderBy, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders) {
|
|
96
|
+
return this.apiPublicSampleGetWithHttpInfo(filter, orderBy, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders)
|
|
97
|
+
.pipe(map((response) => {
|
|
98
|
+
if (response.status === 204) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return response.body;
|
|
103
|
+
}
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Sample controller endpoint that gets a client
|
|
108
|
+
*
|
|
109
|
+
* @param clientId The client identifier
|
|
110
|
+
*/
|
|
111
|
+
apiPublicSampleClientIdGetWithHttpInfo(clientId, extraHttpRequestParams, extraHttpRequestHeaders) {
|
|
112
|
+
const path = this.basePath + '/api/public/Sample/${clientId}'
|
|
113
|
+
.replace('${' + 'clientId' + '}', String(clientId));
|
|
114
|
+
let queryParameters;
|
|
115
|
+
if (extraHttpRequestParams) {
|
|
116
|
+
if (typeof extraHttpRequestParams.search === 'string') {
|
|
117
|
+
queryParameters = new HttpParams({ fromString: extraHttpRequestParams.search });
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
queryParameters = new HttpParams({ fromObject: extraHttpRequestParams.search });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
queryParameters = new HttpParams();
|
|
125
|
+
}
|
|
126
|
+
let headers = new HttpHeaders();
|
|
127
|
+
this.defaultHeaders.keys().forEach(key => {
|
|
128
|
+
headers = headers.set(key, this.defaultHeaders.getAll(key));
|
|
129
|
+
});
|
|
130
|
+
if (extraHttpRequestHeaders) {
|
|
131
|
+
Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {
|
|
132
|
+
headers = headers.set(key, value);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
// verify required parameter 'clientId' is not null or undefined
|
|
136
|
+
if (clientId === null || clientId === undefined) {
|
|
137
|
+
throw new Error('Required parameter clientId was null or undefined when calling apiPublicSampleClientIdGet.');
|
|
138
|
+
}
|
|
139
|
+
// to determine the Accept header
|
|
140
|
+
let produces = [
|
|
141
|
+
'application/json'
|
|
142
|
+
];
|
|
143
|
+
if (this.configuration.apiKeys["Authorization"]) {
|
|
144
|
+
headers = headers.set('Authorization', this.configuration.apiKeys["Authorization"]);
|
|
145
|
+
}
|
|
146
|
+
if (this.configuration.apiKeys["ECI-PUBLIC-DASHBOARD-KEY"]) {
|
|
147
|
+
headers = headers.set('ECI-PUBLIC-DASHBOARD-KEY', this.configuration.apiKeys["ECI-PUBLIC-DASHBOARD-KEY"]);
|
|
148
|
+
}
|
|
149
|
+
const consumes = [];
|
|
150
|
+
let requestOptions = {
|
|
151
|
+
headers: headers,
|
|
152
|
+
params: queryParameters,
|
|
153
|
+
withCredentials: this.configuration.withCredentials,
|
|
154
|
+
observe: 'response'
|
|
155
|
+
};
|
|
156
|
+
return this.http.request(RequestMethod.Get, path, requestOptions);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Sample controller endpoint that gets clients
|
|
160
|
+
*
|
|
161
|
+
* @param filter A filter <table id=\"api-filter\"><tr><th>Name</th><th>Description</th><th>Type</th><th>Operators</th></tr><tr><td>clientName</td><td>Client Name</td><td>Any Text</td><td>equals, not equals, one of, like, not like, not one of</td></tr><tr><td>clientID</td><td>Client Id</td><td>Whole Number</td><td>equals</td></tr></table>
|
|
162
|
+
* @param orderBy An order by <table id=\"api-filter\"><tr><th>Name</th><th>Description</th><th>Sort Operators</th></tr><tr><td>clientName</td><td>Client Name</td><td>ASC, DESC</td></tr></table>
|
|
163
|
+
* @param pageSize The number of elements to return in a page
|
|
164
|
+
* @param pageNumber The current page number
|
|
165
|
+
*/
|
|
166
|
+
apiPublicSampleGetWithHttpInfo(filter, orderBy, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders) {
|
|
167
|
+
const path = this.basePath + '/api/public/Sample';
|
|
168
|
+
let queryParameters;
|
|
169
|
+
if (extraHttpRequestParams) {
|
|
170
|
+
if (typeof extraHttpRequestParams.search === 'string') {
|
|
171
|
+
queryParameters = new HttpParams({ fromString: extraHttpRequestParams.search });
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
queryParameters = new HttpParams({ fromObject: extraHttpRequestParams.search });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
queryParameters = new HttpParams();
|
|
179
|
+
}
|
|
180
|
+
let headers = new HttpHeaders();
|
|
181
|
+
this.defaultHeaders.keys().forEach(key => {
|
|
182
|
+
headers = headers.set(key, this.defaultHeaders.getAll(key));
|
|
183
|
+
});
|
|
184
|
+
if (extraHttpRequestHeaders) {
|
|
185
|
+
Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {
|
|
186
|
+
headers = headers.set(key, value);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
if (filter !== undefined) {
|
|
190
|
+
queryParameters = queryParameters.set('filter', filter);
|
|
191
|
+
}
|
|
192
|
+
if (orderBy !== undefined) {
|
|
193
|
+
queryParameters = queryParameters.set('orderBy', orderBy);
|
|
194
|
+
}
|
|
195
|
+
if (pageSize !== undefined) {
|
|
196
|
+
queryParameters = queryParameters.set('pageSize', pageSize);
|
|
197
|
+
}
|
|
198
|
+
if (pageNumber !== undefined) {
|
|
199
|
+
queryParameters = queryParameters.set('pageNumber', pageNumber);
|
|
200
|
+
}
|
|
201
|
+
// to determine the Accept header
|
|
202
|
+
let produces = [
|
|
203
|
+
'application/json'
|
|
204
|
+
];
|
|
205
|
+
if (this.configuration.apiKeys["Authorization"]) {
|
|
206
|
+
headers = headers.set('Authorization', this.configuration.apiKeys["Authorization"]);
|
|
207
|
+
}
|
|
208
|
+
if (this.configuration.apiKeys["ECI-PUBLIC-DASHBOARD-KEY"]) {
|
|
209
|
+
headers = headers.set('ECI-PUBLIC-DASHBOARD-KEY', this.configuration.apiKeys["ECI-PUBLIC-DASHBOARD-KEY"]);
|
|
210
|
+
}
|
|
211
|
+
const consumes = [];
|
|
212
|
+
let requestOptions = {
|
|
213
|
+
headers: headers,
|
|
214
|
+
params: queryParameters,
|
|
215
|
+
withCredentials: this.configuration.withCredentials,
|
|
216
|
+
observe: 'response'
|
|
217
|
+
};
|
|
218
|
+
return this.http.request(RequestMethod.Get, path, requestOptions);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
SampleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SampleService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
222
|
+
SampleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SampleService });
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SampleService, decorators: [{
|
|
224
|
+
type: Injectable
|
|
225
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
226
|
+
type: Optional
|
|
227
|
+
}, {
|
|
228
|
+
type: Inject,
|
|
229
|
+
args: [BASE_PATH]
|
|
230
|
+
}] }, { type: i2.Configuration, decorators: [{
|
|
231
|
+
type: Optional
|
|
232
|
+
}] }]; } });
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvc2FtcGxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQW9CLHNCQUFzQixDQUFDO0FBSXpGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBb0QsZ0JBQWdCLENBQUM7QUFJbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUE4QyxjQUFjLENBQUM7QUFHakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUEwQyxrQkFBa0IsQ0FBQzs7OztBQUVyRixNQUFNLGFBQWEsR0FBRztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLEtBQUs7SUFDVixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0NBQ2pCLENBQUM7QUFJRixNQUFNLE9BQU8sYUFBYTtJQU10QixZQUFzQixJQUFnQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQTFHLFNBQUksR0FBSixJQUFJLENBQVk7UUFKNUIsYUFBUSxHQUFHLG1CQUFtQixDQUFDO1FBQ2xDLG1CQUFjLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEQsa0JBQWEsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUd0RCxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxhQUFhLEVBQUU7WUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUM1QyxJQUFJLENB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QUFhLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztTQUM3RztRQUdELE1BQU0sUUFBUSxHQUFhLEVBQzFCLENBQUM7UUFFRixJQUFJLGNBQWMsR0FBRztZQUNqQixPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsZUFBZTtZQUN2QixlQUFlLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ2xELE9BQU8sRUFBRSxVQUF3QjtTQUNwQyxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBNEIsYUFBYSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDakcsQ0FBQzs7MEdBL05RLGFBQWEsNENBTXFDLFNBQVM7OEdBTjNELGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVTs7MEJBT2tDLFFBQVE7OzBCQUFHLE1BQU07MkJBQUMsU0FBUzs7MEJBQXFCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQmlsbENhcHR1cmUuQVBJXHJcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgU3dhZ2dlciBDb2RlZ2VuIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4pXHJcbiAqXHJcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcclxuICogXHJcbiAqXHJcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cclxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuXHJcbi8qIHRzbGludDpkaXNhYmxlOm5vLXVudXNlZC12YXJpYWJsZSBtZW1iZXItb3JkZXJpbmcgKi9cclxuXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEdldENsaWVudHNSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2dldENsaWVudHNSZXNwb25zZSc7XHJcblxyXG5pbXBvcnQgeyBCQVNFX1BBVEggfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vdmFyaWFibGVzJztcclxuaW1wb3J0IHsgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XHJcblxyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XHJcblxyXG5jb25zdCBSZXF1ZXN0TWV0aG9kID0ge1xyXG4gICAgR2V0OiAnZ2V0JyxcclxuICAgIFBvc3Q6ICdwb3N0JyxcclxuICAgIFB1dDogJ3B1dCcsXHJcbiAgICBEZWxldGU6ICdkZWxldGUnLFxyXG4gICAgT3B0aW9uczogJ29wdGlvbnMnLFxyXG4gICAgSGVhZDogJ2hlYWQnLFxyXG4gICAgUGF0Y2g6ICdwYXRjaCdcclxufTtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTYW1wbGVTZXJ2aWNlIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSAnaHR0cHM6Ly9sb2NhbGhvc3QnO1xyXG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzOiBIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBAT3B0aW9uYWwoKUBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nLCBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7XHJcbiAgICAgICAgaWYgKGJhc2VQYXRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcclxuXHRcdFx0dGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoIHx8IGNvbmZpZ3VyYXRpb24uYmFzZVBhdGggfHwgdGhpcy5iYXNlUGF0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBcclxuICAgICAqIEV4dGVuZHMgb2JqZWN0IGJ5IGNvcGluZyBub24tZXhpc3RpbmcgcHJvcGVydGllcy5cclxuICAgICAqIEBwYXJhbSBvYmpBIG9iamVjdCB0byBiZSBleHRlbmRlZFxyXG4gICAgICogQHBhcmFtIG9iakIgc291cmNlIG9iamVjdFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGV4dGVuZE9iajxUMSxUMj4ob2JqQTogVDEsIG9iakI6IFQyKSB7XHJcbiAgICAgICAgZm9yKGxldCBrZXkgaW4gb2JqQil7XHJcbiAgICAgICAgICAgIGlmKG9iakIuaGFzT3duUHJvcGVydHkoa2V5KSl7XHJcbiAgICAgICAgICAgICAgICAob2JqQSBhcyBhbnkpW2tleV0gPSAob2JqQiBhcyBhbnkpW2tleV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIDxUMSZUMj5vYmpBO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHBhcmFtIGNvbnN1bWVzIHN0cmluZ1tdIG1pbWUtdHlwZXNcclxuICAgICAqIEByZXR1cm4gdHJ1ZTogY29uc3VtZXMgY29udGFpbnMgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZTogb3RoZXJ3aXNlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY2FuQ29uc3VtZUZvcm0oY29uc3VtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZm9ybSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcclxuICAgICAgICBmb3IgKGxldCBjb25zdW1lIG9mIGNvbnN1bWVzKSB7XHJcbiAgICAgICAgICAgIGlmIChmb3JtID09PSBjb25zdW1lKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTYW1wbGUgY29udHJvbGxlciBlbmRwb2ludCB0aGF0IGdldHMgYSBjbGllbnRcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNsaWVudElkIFRoZSBjbGllbnQgaWRlbnRpZmllclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXBpUHVibGljU2FtcGxlQ2xpZW50SWRHZXQoY2xpZW50SWQ6IG51bWJlciwgZXh0cmFIdHRwUmVxdWVzdFBhcmFtcz86IHtzZWFyY2g6IHN0cmluZyB8IHtbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH0gfSwgZXh0cmFIdHRwUmVxdWVzdEhlYWRlcnM/OiB7W2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW119KTogT2JzZXJ2YWJsZTxHZXRDbGllbnRzUmVzcG9uc2U+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGlQdWJsaWNTYW1wbGVDbGllbnRJZEdldFdpdGhIdHRwSW5mbyhjbGllbnRJZCwgZXh0cmFIdHRwUmVxdWVzdFBhcmFtcywgZXh0cmFIdHRwUmVxdWVzdEhlYWRlcnMpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZTogSHR0cFJlc3BvbnNlPEdldENsaWVudHNSZXNwb25zZT4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYm9keTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTYW1wbGUgY29udHJvbGxlciBlbmRwb2ludCB0aGF0IGdldHMgY2xpZW50c1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZmlsdGVyIEEgZmlsdGVyICAmbHQ7dGFibGUgaWQmI3gzRDtcXCZxdW90O2FwaS1maWx0ZXJcXCZxdW90OyZndDsmbHQ7dHImZ3Q7Jmx0O3RoJmd0O05hbWUmbHQ7L3RoJmd0OyZsdDt0aCZndDtEZXNjcmlwdGlvbiZsdDsvdGgmZ3Q7Jmx0O3RoJmd0O1R5cGUmbHQ7L3RoJmd0OyZsdDt0aCZndDtPcGVyYXRvcnMmbHQ7L3RoJmd0OyZsdDsvdHImZ3Q7Jmx0O3RyJmd0OyZsdDt0ZCZndDtjbGllbnROYW1lJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7Q2xpZW50IE5hbWUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtBbnkgVGV4dCZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O2VxdWFscywgbm90IGVxdWFscywgb25lIG9mLCBsaWtlLCBub3QgbGlrZSwgbm90IG9uZSBvZiZsdDsvdGQmZ3Q7Jmx0Oy90ciZndDsmbHQ7dHImZ3Q7Jmx0O3RkJmd0O2NsaWVudElEJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7Q2xpZW50IElkJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7V2hvbGUgTnVtYmVyJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7ZXF1YWxzJmx0Oy90ZCZndDsmbHQ7L3RyJmd0OyZsdDsvdGFibGUmZ3Q7XHJcbiAgICAgKiBAcGFyYW0gb3JkZXJCeSBBbiBvcmRlciBieSAgJmx0O3RhYmxlIGlkJiN4M0Q7XFwmcXVvdDthcGktZmlsdGVyXFwmcXVvdDsmZ3Q7Jmx0O3RyJmd0OyZsdDt0aCZndDtOYW1lJmx0Oy90aCZndDsmbHQ7dGgmZ3Q7RGVzY3JpcHRpb24mbHQ7L3RoJmd0OyZsdDt0aCZndDtTb3J0IE9wZXJhdG9ycyZsdDsvdGgmZ3Q7Jmx0Oy90ciZndDsmbHQ7dHImZ3Q7Jmx0O3RkJmd0O2NsaWVudE5hbWUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtDbGllbnQgTmFtZSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0FTQywgREVTQyZsdDsvdGQmZ3Q7Jmx0Oy90ciZndDsmbHQ7L3RhYmxlJmd0O1xyXG4gICAgICogQHBhcmFtIHBhZ2VTaXplIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmV0dXJuIGluIGEgcGFnZVxyXG4gICAgICogQHBhcmFtIHBhZ2VOdW1iZXIgVGhlIGN1cnJlbnQgcGFnZSBudW1iZXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFwaVB1YmxpY1NhbXBsZUdldChmaWx0ZXI/OiBzdHJpbmcsIG9yZGVyQnk/OiBzdHJpbmcsIHBhZ2VTaXplPzogbnVtYmVyLCBwYWdlTnVtYmVyPzogbnVtYmVyLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzoge3NlYXJjaDogc3RyaW5nIHwge1twYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSB9LCBleHRyYUh0dHBSZXF1ZXN0SGVhZGVycz86IHtbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXX0pOiBPYnNlcnZhYmxlPEFycmF5PEdldENsaWVudHNSZXNwb25zZT4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGlQdWJsaWNTYW1wbGVHZXRXaXRoSHR0cEluZm8oZmlsdGVyLCBvcmRlckJ5LCBwYWdlU2l6ZSwgcGFnZU51bWJlciwgZXh0cmFIdHRwUmVxdWVzdFBhcmFtcywgZXh0cmFIdHRwUmVxdWVzdEhlYWRlcnMpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZTogSHR0cFJlc3BvbnNlPEFycmF5PEdldENsaWVudHNSZXNwb25zZT4+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNhbXBsZSBjb250cm9sbGVyIGVuZHBvaW50IHRoYXQgZ2V0cyBhIGNsaWVudFxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gY2xpZW50SWQgVGhlIGNsaWVudCBpZGVudGlmaWVyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhcGlQdWJsaWNTYW1wbGVDbGllbnRJZEdldFdpdGhIdHRwSW5mbyhjbGllbnRJZDogbnVtYmVyLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzoge3NlYXJjaDogc3RyaW5nIHwge1twYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSB9LCBleHRyYUh0dHBSZXF1ZXN0SGVhZGVycz86IHtbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXX0pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxHZXRDbGllbnRzUmVzcG9uc2U+PiB7XHJcbiAgICAgICAgY29uc3QgcGF0aCA9IHRoaXMuYmFzZVBhdGggKyAnL2FwaS9wdWJsaWMvU2FtcGxlLyR7Y2xpZW50SWR9J1xyXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCckeycgKyAnY2xpZW50SWQnICsgJ30nLCBTdHJpbmcoY2xpZW50SWQpKTtcclxuXHJcbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVyczogSHR0cFBhcmFtcztcclxuICAgICAgICBcclxuICAgICAgICBpZiAoZXh0cmFIdHRwUmVxdWVzdFBhcmFtcykge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGV4dHJhSHR0cFJlcXVlc3RQYXJhbXMuc2VhcmNoID09PSAnc3RyaW5nJykgeyBcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtmcm9tU3RyaW5nOiBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zLnNlYXJjaH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2Zyb21PYmplY3Q6IGV4dHJhSHR0cFJlcXVlc3RQYXJhbXMuc2VhcmNofSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgICAgICB0aGlzLmRlZmF1bHRIZWFkZXJzLmtleXMoKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldChrZXksIHRoaXMuZGVmYXVsdEhlYWRlcnMuZ2V0QWxsKGtleSkpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoZXh0cmFIdHRwUmVxdWVzdEhlYWRlcnMpIHtcclxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZXh0cmFIdHRwUmVxdWVzdEhlYWRlcnMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGtleSwgdmFsdWUpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHZlcmlmeSByZXF1aXJlZCBwYXJhbWV0ZXIgJ2NsaWVudElkJyBpcyBub3QgbnVsbCBvciB1bmRlZmluZWRcclxuICAgICAgICBpZiAoY2xpZW50SWQgPT09IG51bGwgfHwgY2xpZW50SWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBjbGllbnRJZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGFwaVB1YmxpY1NhbXBsZUNsaWVudElkR2V0LicpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXHJcbiAgICAgICAgbGV0IHByb2R1Y2VzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5hcGlLZXlzW1wiQXV0aG9yaXphdGlvblwiXSkge1xyXG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCB0aGlzLmNvbmZpZ3VyYXRpb24uYXBpS2V5c1tcIkF1dGhvcml6YXRpb25cIl0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5hcGlLZXlzW1wiRUNJLVBVQkxJQy1EQVNIQk9BUkQtS0VZXCJdKSB7XHJcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnRUNJLVBVQkxJQy1EQVNIQk9BUkQtS0VZJywgdGhpcy5jb25maWd1cmF0aW9uLmFwaUtleXNbXCJFQ0ktUFVCTElDLURBU0hCT0FSRC1LRVlcIl0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuXHJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIGxldCByZXF1ZXN0T3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcclxuICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXHJcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczp0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxyXG4gICAgICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnIGFzICdyZXNwb25zZSdcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdDxHZXRDbGllbnRzUmVzcG9uc2U+KFJlcXVlc3RNZXRob2QuR2V0LCBwYXRoLCByZXF1ZXN0T3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTYW1wbGUgY29udHJvbGxlciBlbmRwb2ludCB0aGF0IGdldHMgY2xpZW50c1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZmlsdGVyIEEgZmlsdGVyICAmbHQ7dGFibGUgaWQmI3gzRDtcXCZxdW90O2FwaS1maWx0ZXJcXCZxdW90OyZndDsmbHQ7dHImZ3Q7Jmx0O3RoJmd0O05hbWUmbHQ7L3RoJmd0OyZsdDt0aCZndDtEZXNjcmlwdGlvbiZsdDsvdGgmZ3Q7Jmx0O3RoJmd0O1R5cGUmbHQ7L3RoJmd0OyZsdDt0aCZndDtPcGVyYXRvcnMmbHQ7L3RoJmd0OyZsdDsvdHImZ3Q7Jmx0O3RyJmd0OyZsdDt0ZCZndDtjbGllbnROYW1lJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7Q2xpZW50IE5hbWUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtBbnkgVGV4dCZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O2VxdWFscywgbm90IGVxdWFscywgb25lIG9mLCBsaWtlLCBub3QgbGlrZSwgbm90IG9uZSBvZiZsdDsvdGQmZ3Q7Jmx0Oy90ciZndDsmbHQ7dHImZ3Q7Jmx0O3RkJmd0O2NsaWVudElEJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7Q2xpZW50IElkJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7V2hvbGUgTnVtYmVyJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7ZXF1YWxzJmx0Oy90ZCZndDsmbHQ7L3RyJmd0OyZsdDsvdGFibGUmZ3Q7XHJcbiAgICAgKiBAcGFyYW0gb3JkZXJCeSBBbiBvcmRlciBieSAgJmx0O3RhYmxlIGlkJiN4M0Q7XFwmcXVvdDthcGktZmlsdGVyXFwmcXVvdDsmZ3Q7Jmx0O3RyJmd0OyZsdDt0aCZndDtOYW1lJmx0Oy90aCZndDsmbHQ7dGgmZ3Q7RGVzY3JpcHRpb24mbHQ7L3RoJmd0OyZsdDt0aCZndDtTb3J0IE9wZXJhdG9ycyZsdDsvdGgmZ3Q7Jmx0Oy90ciZndDsmbHQ7dHImZ3Q7Jmx0O3RkJmd0O2NsaWVudE5hbWUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtDbGllbnQgTmFtZSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0FTQywgREVTQyZsdDsvdGQmZ3Q7Jmx0Oy90ciZndDsmbHQ7L3RhYmxlJmd0O1xyXG4gICAgICogQHBhcmFtIHBhZ2VTaXplIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmV0dXJuIGluIGEgcGFnZVxyXG4gICAgICogQHBhcmFtIHBhZ2VOdW1iZXIgVGhlIGN1cnJlbnQgcGFnZSBudW1iZXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFwaVB1YmxpY1NhbXBsZUdldFdpdGhIdHRwSW5mbyhmaWx0ZXI/OiBzdHJpbmcsIG9yZGVyQnk/OiBzdHJpbmcsIHBhZ2VTaXplPzogbnVtYmVyLCBwYWdlTnVtYmVyPzogbnVtYmVyLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzoge3NlYXJjaDogc3RyaW5nIHwge1twYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSB9LCBleHRyYUh0dHBSZXF1ZXN0SGVhZGVycz86IHtbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXX0pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxHZXRDbGllbnRzUmVzcG9uc2U+Pj4ge1xyXG4gICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLmJhc2VQYXRoICsgJy9hcGkvcHVibGljL1NhbXBsZSc7XHJcblxyXG4gICAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnM6IEh0dHBQYXJhbXM7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKGV4dHJhSHR0cFJlcXVlc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zLnNlYXJjaCA9PT0gJ3N0cmluZycpIHsgXHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZnJvbVN0cmluZzogZXh0cmFIdHRwUmVxdWVzdFBhcmFtcy5zZWFyY2h9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtmcm9tT2JqZWN0OiBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zLnNlYXJjaH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0SGVhZGVycy5rZXlzKCkuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoa2V5LCB0aGlzLmRlZmF1bHRIZWFkZXJzLmdldEFsbChrZXkpKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKGV4dHJhSHR0cFJlcXVlc3RIZWFkZXJzKSB7XHJcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGV4dHJhSHR0cFJlcXVlc3RIZWFkZXJzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldChrZXksIHZhbHVlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZmlsdGVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnZmlsdGVyJywgPGFueT5maWx0ZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG9yZGVyQnkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdvcmRlckJ5JywgPGFueT5vcmRlckJ5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChwYWdlU2l6ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2VTaXplJywgPGFueT5wYWdlU2l6ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2VOdW1iZXInLCA8YW55PnBhZ2VOdW1iZXIpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxyXG4gICAgICAgIGxldCBwcm9kdWNlczogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uYXBpS2V5c1tcIkF1dGhvcml6YXRpb25cIl0pIHtcclxuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgdGhpcy5jb25maWd1cmF0aW9uLmFwaUtleXNbXCJBdXRob3JpemF0aW9uXCJdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uYXBpS2V5c1tcIkVDSS1QVUJMSUMtREFTSEJPQVJELUtFWVwiXSkge1xyXG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0VDSS1QVUJMSUMtREFTSEJPQVJELUtFWScsIHRoaXMuY29uZmlndXJhdGlvbi5hcGlLZXlzW1wiRUNJLVBVQkxJQy1EQVNIQk9BUkQtS0VZXCJdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcblxyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBsZXQgcmVxdWVzdE9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXHJcbiAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxyXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6dGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcclxuICAgICAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyBhcyAncmVzcG9uc2UnXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnJlcXVlc3Q8QXJyYXk8R2V0Q2xpZW50c1Jlc3BvbnNlPj4oUmVxdWVzdE1ldGhvZC5HZXQsIHBhdGgsIHJlcXVlc3RPcHRpb25zKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BillCapture.API
|
|
3
|
+
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
|
|
4
|
+
*
|
|
5
|
+
* OpenAPI spec version: 1.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by the swagger code generator program.
|
|
9
|
+
* https://github.com/swagger-api/swagger-codegen.git
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/* tslint:disable:no-unused-variable member-ordering */
|
|
13
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
14
|
+
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
15
|
+
import { map } from 'rxjs/operators';
|
|
16
|
+
import { BASE_PATH } from '../variables';
|
|
17
|
+
import { Configuration } from '../configuration';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@angular/common/http";
|
|
20
|
+
import * as i2 from "../configuration";
|
|
21
|
+
const RequestMethod = {
|
|
22
|
+
Get: 'get',
|
|
23
|
+
Post: 'post',
|
|
24
|
+
Put: 'put',
|
|
25
|
+
Delete: 'delete',
|
|
26
|
+
Options: 'options',
|
|
27
|
+
Head: 'head',
|
|
28
|
+
Patch: 'patch'
|
|
29
|
+
};
|
|
30
|
+
export class UploadService {
|
|
31
|
+
constructor(http, basePath, configuration) {
|
|
32
|
+
this.http = http;
|
|
33
|
+
this.basePath = 'https://localhost';
|
|
34
|
+
this.defaultHeaders = new HttpHeaders();
|
|
35
|
+
this.configuration = new Configuration();
|
|
36
|
+
if (basePath) {
|
|
37
|
+
this.basePath = basePath;
|
|
38
|
+
}
|
|
39
|
+
if (configuration) {
|
|
40
|
+
this.configuration = configuration;
|
|
41
|
+
this.basePath = basePath || configuration.basePath || this.basePath;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* Extends object by coping non-existing properties.
|
|
47
|
+
* @param objA object to be extended
|
|
48
|
+
* @param objB source object
|
|
49
|
+
*/
|
|
50
|
+
extendObj(objA, objB) {
|
|
51
|
+
for (let key in objB) {
|
|
52
|
+
if (objB.hasOwnProperty(key)) {
|
|
53
|
+
objA[key] = objB[key];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return objA;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @param consumes string[] mime-types
|
|
60
|
+
* @return true: consumes contains 'multipart/form-data', false: otherwise
|
|
61
|
+
*/
|
|
62
|
+
canConsumeForm(consumes) {
|
|
63
|
+
const form = 'multipart/form-data';
|
|
64
|
+
for (let consume of consumes) {
|
|
65
|
+
if (form === consume) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get file uploads
|
|
73
|
+
*
|
|
74
|
+
* @param filter API filters. <br /> Valid values for the Upload Category filter are: 'Maintenance', 'Historical', 'Setup Enrollments', and 'Live'. <br /> TODO (ECAP-20445): 'utilityManagementSystemUserID' filter is not implemented yet. <table id=\"api-filter\"><tr><th>Name</th><th>Description</th><th>Type</th><th>Operators</th></tr><tr><td>clientFileName</td><td>Client File Name</td><td>Any Text</td><td>equals, not equals, one of, like, not like, not one of</td></tr><tr><td>uploadDate</td><td>Client File Upload Date</td><td>Date &amp; Time</td><td>equals, not equals, less than, between, greater than, less than equal, greater than equal, not between</td></tr><tr><td>uploadCategory</td><td>Upload Category</td><td>Any Text</td><td>equals</td></tr><tr><td>clientName</td><td>Client Name</td><td>Any Text</td><td>equals, not equals, one of, like, not like, not one of</td></tr><tr><td>utilityManagementSystemUserID</td><td>Utility Management System User ID</td><td>Whole Number</td><td>equals</td></tr></table>
|
|
75
|
+
* @param pageSize The number of elements to return in a page
|
|
76
|
+
* @param pageNumber The current page number
|
|
77
|
+
*/
|
|
78
|
+
apiPublicUploadGet(filter, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders) {
|
|
79
|
+
return this.apiPublicUploadGetWithHttpInfo(filter, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders)
|
|
80
|
+
.pipe(map((response) => {
|
|
81
|
+
if (response.status === 204) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return response.body;
|
|
86
|
+
}
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get file uploads
|
|
91
|
+
*
|
|
92
|
+
* @param filter API filters. <br /> Valid values for the Upload Category filter are: 'Maintenance', 'Historical', 'Setup Enrollments', and 'Live'. <br /> TODO (ECAP-20445): 'utilityManagementSystemUserID' filter is not implemented yet. <table id=\"api-filter\"><tr><th>Name</th><th>Description</th><th>Type</th><th>Operators</th></tr><tr><td>clientFileName</td><td>Client File Name</td><td>Any Text</td><td>equals, not equals, one of, like, not like, not one of</td></tr><tr><td>uploadDate</td><td>Client File Upload Date</td><td>Date &amp; Time</td><td>equals, not equals, less than, between, greater than, less than equal, greater than equal, not between</td></tr><tr><td>uploadCategory</td><td>Upload Category</td><td>Any Text</td><td>equals</td></tr><tr><td>clientName</td><td>Client Name</td><td>Any Text</td><td>equals, not equals, one of, like, not like, not one of</td></tr><tr><td>utilityManagementSystemUserID</td><td>Utility Management System User ID</td><td>Whole Number</td><td>equals</td></tr></table>
|
|
93
|
+
* @param pageSize The number of elements to return in a page
|
|
94
|
+
* @param pageNumber The current page number
|
|
95
|
+
*/
|
|
96
|
+
apiPublicUploadGetWithHttpInfo(filter, pageSize, pageNumber, extraHttpRequestParams, extraHttpRequestHeaders) {
|
|
97
|
+
const path = this.basePath + '/api/public/Upload';
|
|
98
|
+
let queryParameters;
|
|
99
|
+
if (extraHttpRequestParams) {
|
|
100
|
+
if (typeof extraHttpRequestParams.search === 'string') {
|
|
101
|
+
queryParameters = new HttpParams({ fromString: extraHttpRequestParams.search });
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
queryParameters = new HttpParams({ fromObject: extraHttpRequestParams.search });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
queryParameters = new HttpParams();
|
|
109
|
+
}
|
|
110
|
+
let headers = new HttpHeaders();
|
|
111
|
+
this.defaultHeaders.keys().forEach(key => {
|
|
112
|
+
headers = headers.set(key, this.defaultHeaders.getAll(key));
|
|
113
|
+
});
|
|
114
|
+
if (extraHttpRequestHeaders) {
|
|
115
|
+
Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {
|
|
116
|
+
headers = headers.set(key, value);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
if (filter !== undefined) {
|
|
120
|
+
queryParameters = queryParameters.set('filter', filter);
|
|
121
|
+
}
|
|
122
|
+
if (pageSize !== undefined) {
|
|
123
|
+
queryParameters = queryParameters.set('pageSize', pageSize);
|
|
124
|
+
}
|
|
125
|
+
if (pageNumber !== undefined) {
|
|
126
|
+
queryParameters = queryParameters.set('pageNumber', pageNumber);
|
|
127
|
+
}
|
|
128
|
+
// to determine the Accept header
|
|
129
|
+
let produces = [
|
|
130
|
+
'application/json'
|
|
131
|
+
];
|
|
132
|
+
if (this.configuration.apiKeys["Authorization"]) {
|
|
133
|
+
headers = headers.set('Authorization', this.configuration.apiKeys["Authorization"]);
|
|
134
|
+
}
|
|
135
|
+
if (this.configuration.apiKeys["ECI-PUBLIC-DASHBOARD-KEY"]) {
|
|
136
|
+
headers = headers.set('ECI-PUBLIC-DASHBOARD-KEY', this.configuration.apiKeys["ECI-PUBLIC-DASHBOARD-KEY"]);
|
|
137
|
+
}
|
|
138
|
+
const consumes = [];
|
|
139
|
+
let requestOptions = {
|
|
140
|
+
headers: headers,
|
|
141
|
+
params: queryParameters,
|
|
142
|
+
withCredentials: this.configuration.withCredentials,
|
|
143
|
+
observe: 'response'
|
|
144
|
+
};
|
|
145
|
+
return this.http.request(RequestMethod.Get, path, requestOptions);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
UploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UploadService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
149
|
+
UploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UploadService });
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UploadService, decorators: [{
|
|
151
|
+
type: Injectable
|
|
152
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
153
|
+
type: Optional
|
|
154
|
+
}, {
|
|
155
|
+
type: Inject,
|
|
156
|
+
args: [BASE_PATH]
|
|
157
|
+
}] }, { type: i2.Configuration, decorators: [{
|
|
158
|
+
type: Optional
|
|
159
|
+
}] }]; } });
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQW9CLHNCQUFzQixDQUFDO0FBSXpGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBb0QsZ0JBQWdCLENBQUM7QUFJbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUE4QyxjQUFjLENBQUM7QUFHakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUEwQyxrQkFBa0IsQ0FBQzs7OztBQUVyRixNQUFNLGFBQWEsR0FBRztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLEtBQUs7SUFDVixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0NBQ2pCLENBQUM7QUFJRixNQUFNLE9BQU8sYUFBYTtJQU10QixZQUFzQixJQUFnQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQTFHLFNBQUksR0FBSixJQUFJLENBQVk7UUFKNUIsYUFBUSxHQUFHLG1CQUFtQixDQUFDO1FBQ2xDLG1CQUFjLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEQsa0JBQWEsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUd0RCxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxhQUFhLEVBQUU7WUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUM1QyxJQUFJLENB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Uzs4R0FOM0QsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixVQUFVOzswQkFPa0MsUUFBUTs7MEJBQUcsTUFBTTsyQkFBQyxTQUFTOzswQkFBcUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBCaWxsQ2FwdHVyZS5BUElcclxuICogTm8gZGVzY3JpcHRpb24gcHJvdmlkZWQgKGdlbmVyYXRlZCBieSBTd2FnZ2VyIENvZGVnZW4gaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbilcclxuICpcclxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxyXG4gKiBcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxyXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXHJcbiAqL1xyXG5cclxuLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9ICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9ICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBIdHRwUmVzcG9uc2UgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgVXBsb2FkUmVzcG9uc2VEVE8gfSBmcm9tICcuLi9tb2RlbC91cGxvYWRSZXNwb25zZURUTyc7XHJcblxyXG5pbXBvcnQgeyBCQVNFX1BBVEggfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vdmFyaWFibGVzJztcclxuaW1wb3J0IHsgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XHJcblxyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XHJcblxyXG5jb25zdCBSZXF1ZXN0TWV0aG9kID0ge1xyXG4gICAgR2V0OiAnZ2V0JyxcclxuICAgIFBvc3Q6ICdwb3N0JyxcclxuICAgIFB1dDogJ3B1dCcsXHJcbiAgICBEZWxldGU6ICdkZWxldGUnLFxyXG4gICAgT3B0aW9uczogJ29wdGlvbnMnLFxyXG4gICAgSGVhZDogJ2hlYWQnLFxyXG4gICAgUGF0Y2g6ICdwYXRjaCdcclxufTtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVcGxvYWRTZXJ2aWNlIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSAnaHR0cHM6Ly9sb2NhbGhvc3QnO1xyXG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzOiBIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBAT3B0aW9uYWwoKUBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nLCBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7XHJcbiAgICAgICAgaWYgKGJhc2VQYXRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcclxuXHRcdFx0dGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoIHx8IGNvbmZpZ3VyYXRpb24uYmFzZVBhdGggfHwgdGhpcy5iYXNlUGF0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBcclxuICAgICAqIEV4dGVuZHMgb2JqZWN0IGJ5IGNvcGluZyBub24tZXhpc3RpbmcgcHJvcGVydGllcy5cclxuICAgICAqIEBwYXJhbSBvYmpBIG9iamVjdCB0byBiZSBleHRlbmRlZFxyXG4gICAgICogQHBhcmFtIG9iakIgc291cmNlIG9iamVjdFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGV4dGVuZE9iajxUMSxUMj4ob2JqQTogVDEsIG9iakI6IFQyKSB7XHJcbiAgICAgICAgZm9yKGxldCBrZXkgaW4gb2JqQil7XHJcbiAgICAgICAgICAgIGlmKG9iakIuaGFzT3duUHJvcGVydHkoa2V5KSl7XHJcbiAgICAgICAgICAgICAgICAob2JqQSBhcyBhbnkpW2tleV0gPSAob2JqQiBhcyBhbnkpW2tleV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIDxUMSZUMj5vYmpBO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHBhcmFtIGNvbnN1bWVzIHN0cmluZ1tdIG1pbWUtdHlwZXNcclxuICAgICAqIEByZXR1cm4gdHJ1ZTogY29uc3VtZXMgY29udGFpbnMgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZTogb3RoZXJ3aXNlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY2FuQ29uc3VtZUZvcm0oY29uc3VtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZm9ybSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcclxuICAgICAgICBmb3IgKGxldCBjb25zdW1lIG9mIGNvbnN1bWVzKSB7XHJcbiAgICAgICAgICAgIGlmIChmb3JtID09PSBjb25zdW1lKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgZmlsZSB1cGxvYWRzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBmaWx0ZXIgQVBJIGZpbHRlcnMuICZsdDticiAvJmd0OyAgVmFsaWQgdmFsdWVzIGZvciB0aGUgVXBsb2FkIENhdGVnb3J5IGZpbHRlciBhcmU6ICYjMzk7TWFpbnRlbmFuY2UmIzM5OywgJiMzOTtIaXN0b3JpY2FsJiMzOTssICYjMzk7U2V0dXAgRW5yb2xsbWVudHMmIzM5OywgYW5kICYjMzk7TGl2ZSYjMzk7LiAmbHQ7YnIgLyZndDsgIFRPRE8gKEVDQVAtMjA0NDUpOiAmIzM5O3V0aWxpdHlNYW5hZ2VtZW50U3lzdGVtVXNlcklEJiMzOTsgZmlsdGVyIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQuICAmbHQ7dGFibGUgaWQmI3gzRDtcXCZxdW90O2FwaS1maWx0ZXJcXCZxdW90OyZndDsmbHQ7dHImZ3Q7Jmx0O3RoJmd0O05hbWUmbHQ7L3RoJmd0OyZsdDt0aCZndDtEZXNjcmlwdGlvbiZsdDsvdGgmZ3Q7Jmx0O3RoJmd0O1R5cGUmbHQ7L3RoJmd0OyZsdDt0aCZndDtPcGVyYXRvcnMmbHQ7L3RoJmd0OyZsdDsvdHImZ3Q7Jmx0O3RyJmd0OyZsdDt0ZCZndDtjbGllbnRGaWxlTmFtZSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0NsaWVudCBGaWxlIE5hbWUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtBbnkgVGV4dCZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O2VxdWFscywgbm90IGVxdWFscywgb25lIG9mLCBsaWtlLCBub3QgbGlrZSwgbm90IG9uZSBvZiZsdDsvdGQmZ3Q7Jmx0Oy90ciZndDsmbHQ7dHImZ3Q7Jmx0O3RkJmd0O3VwbG9hZERhdGUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtDbGllbnQgRmlsZSBVcGxvYWQgRGF0ZSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0RhdGUgJmFtcDthbXA7IFRpbWUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtlcXVhbHMsIG5vdCBlcXVhbHMsIGxlc3MgdGhhbiwgYmV0d2VlbiwgZ3JlYXRlciB0aGFuLCBsZXNzIHRoYW4gZXF1YWwsIGdyZWF0ZXIgdGhhbiBlcXVhbCwgbm90IGJldHdlZW4mbHQ7L3RkJmd0OyZsdDsvdHImZ3Q7Jmx0O3RyJmd0OyZsdDt0ZCZndDt1cGxvYWRDYXRlZ29yeSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O1VwbG9hZCBDYXRlZ29yeSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0FueSBUZXh0Jmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7ZXF1YWxzJmx0Oy90ZCZndDsmbHQ7L3RyJmd0OyZsdDt0ciZndDsmbHQ7dGQmZ3Q7Y2xpZW50TmFtZSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0NsaWVudCBOYW1lJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7QW55IFRleHQmbHQ7L3RkJmd0OyZsdDt0ZCZndDtlcXVhbHMsIG5vdCBlcXVhbHMsIG9uZSBvZiwgbGlrZSwgbm90IGxpa2UsIG5vdCBvbmUgb2YmbHQ7L3RkJmd0OyZsdDsvdHImZ3Q7Jmx0O3RyJmd0OyZsdDt0ZCZndDt1dGlsaXR5TWFuYWdlbWVudFN5c3RlbVVzZXJJRCZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O1V0aWxpdHkgTWFuYWdlbWVudCBTeXN0ZW0gVXNlciBJRCZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O1dob2xlIE51bWJlciZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O2VxdWFscyZsdDsvdGQmZ3Q7Jmx0Oy90ciZndDsmbHQ7L3RhYmxlJmd0O1xyXG4gICAgICogQHBhcmFtIHBhZ2VTaXplIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmV0dXJuIGluIGEgcGFnZVxyXG4gICAgICogQHBhcmFtIHBhZ2VOdW1iZXIgVGhlIGN1cnJlbnQgcGFnZSBudW1iZXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFwaVB1YmxpY1VwbG9hZEdldChmaWx0ZXI/OiBzdHJpbmcsIHBhZ2VTaXplPzogbnVtYmVyLCBwYWdlTnVtYmVyPzogbnVtYmVyLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzoge3NlYXJjaDogc3RyaW5nIHwge1twYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSB9LCBleHRyYUh0dHBSZXF1ZXN0SGVhZGVycz86IHtbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXX0pOiBPYnNlcnZhYmxlPEFycmF5PFVwbG9hZFJlc3BvbnNlRFRPPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaVB1YmxpY1VwbG9hZEdldFdpdGhIdHRwSW5mbyhmaWx0ZXIsIHBhZ2VTaXplLCBwYWdlTnVtYmVyLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zLCBleHRyYUh0dHBSZXF1ZXN0SGVhZGVycylcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8QXJyYXk8VXBsb2FkUmVzcG9uc2VEVE8+PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgZmlsZSB1cGxvYWRzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBmaWx0ZXIgQVBJIGZpbHRlcnMuICZsdDticiAvJmd0OyAgVmFsaWQgdmFsdWVzIGZvciB0aGUgVXBsb2FkIENhdGVnb3J5IGZpbHRlciBhcmU6ICYjMzk7TWFpbnRlbmFuY2UmIzM5OywgJiMzOTtIaXN0b3JpY2FsJiMzOTssICYjMzk7U2V0dXAgRW5yb2xsbWVudHMmIzM5OywgYW5kICYjMzk7TGl2ZSYjMzk7LiAmbHQ7YnIgLyZndDsgIFRPRE8gKEVDQVAtMjA0NDUpOiAmIzM5O3V0aWxpdHlNYW5hZ2VtZW50U3lzdGVtVXNlcklEJiMzOTsgZmlsdGVyIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQuICAmbHQ7dGFibGUgaWQmI3gzRDtcXCZxdW90O2FwaS1maWx0ZXJcXCZxdW90OyZndDsmbHQ7dHImZ3Q7Jmx0O3RoJmd0O05hbWUmbHQ7L3RoJmd0OyZsdDt0aCZndDtEZXNjcmlwdGlvbiZsdDsvdGgmZ3Q7Jmx0O3RoJmd0O1R5cGUmbHQ7L3RoJmd0OyZsdDt0aCZndDtPcGVyYXRvcnMmbHQ7L3RoJmd0OyZsdDsvdHImZ3Q7Jmx0O3RyJmd0OyZsdDt0ZCZndDtjbGllbnRGaWxlTmFtZSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0NsaWVudCBGaWxlIE5hbWUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtBbnkgVGV4dCZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O2VxdWFscywgbm90IGVxdWFscywgb25lIG9mLCBsaWtlLCBub3QgbGlrZSwgbm90IG9uZSBvZiZsdDsvdGQmZ3Q7Jmx0Oy90ciZndDsmbHQ7dHImZ3Q7Jmx0O3RkJmd0O3VwbG9hZERhdGUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtDbGllbnQgRmlsZSBVcGxvYWQgRGF0ZSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0RhdGUgJmFtcDthbXA7IFRpbWUmbHQ7L3RkJmd0OyZsdDt0ZCZndDtlcXVhbHMsIG5vdCBlcXVhbHMsIGxlc3MgdGhhbiwgYmV0d2VlbiwgZ3JlYXRlciB0aGFuLCBsZXNzIHRoYW4gZXF1YWwsIGdyZWF0ZXIgdGhhbiBlcXVhbCwgbm90IGJldHdlZW4mbHQ7L3RkJmd0OyZsdDsvdHImZ3Q7Jmx0O3RyJmd0OyZsdDt0ZCZndDt1cGxvYWRDYXRlZ29yeSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O1VwbG9hZCBDYXRlZ29yeSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0FueSBUZXh0Jmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7ZXF1YWxzJmx0Oy90ZCZndDsmbHQ7L3RyJmd0OyZsdDt0ciZndDsmbHQ7dGQmZ3Q7Y2xpZW50TmFtZSZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O0NsaWVudCBOYW1lJmx0Oy90ZCZndDsmbHQ7dGQmZ3Q7QW55IFRleHQmbHQ7L3RkJmd0OyZsdDt0ZCZndDtlcXVhbHMsIG5vdCBlcXVhbHMsIG9uZSBvZiwgbGlrZSwgbm90IGxpa2UsIG5vdCBvbmUgb2YmbHQ7L3RkJmd0OyZsdDsvdHImZ3Q7Jmx0O3RyJmd0OyZsdDt0ZCZndDt1dGlsaXR5TWFuYWdlbWVudFN5c3RlbVVzZXJJRCZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O1V0aWxpdHkgTWFuYWdlbWVudCBTeXN0ZW0gVXNlciBJRCZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O1dob2xlIE51bWJlciZsdDsvdGQmZ3Q7Jmx0O3RkJmd0O2VxdWFscyZsdDsvdGQmZ3Q7Jmx0Oy90ciZndDsmbHQ7L3RhYmxlJmd0O1xyXG4gICAgICogQHBhcmFtIHBhZ2VTaXplIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmV0dXJuIGluIGEgcGFnZVxyXG4gICAgICogQHBhcmFtIHBhZ2VOdW1iZXIgVGhlIGN1cnJlbnQgcGFnZSBudW1iZXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFwaVB1YmxpY1VwbG9hZEdldFdpdGhIdHRwSW5mbyhmaWx0ZXI/OiBzdHJpbmcsIHBhZ2VTaXplPzogbnVtYmVyLCBwYWdlTnVtYmVyPzogbnVtYmVyLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzoge3NlYXJjaDogc3RyaW5nIHwge1twYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSB9LCBleHRyYUh0dHBSZXF1ZXN0SGVhZGVycz86IHtbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXX0pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxVcGxvYWRSZXNwb25zZURUTz4+PiB7XHJcbiAgICAgICAgY29uc3QgcGF0aCA9IHRoaXMuYmFzZVBhdGggKyAnL2FwaS9wdWJsaWMvVXBsb2FkJztcclxuXHJcbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVyczogSHR0cFBhcmFtcztcclxuICAgICAgICBcclxuICAgICAgICBpZiAoZXh0cmFIdHRwUmVxdWVzdFBhcmFtcykge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGV4dHJhSHR0cFJlcXVlc3RQYXJhbXMuc2VhcmNoID09PSAnc3RyaW5nJykgeyBcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtmcm9tU3RyaW5nOiBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zLnNlYXJjaH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2Zyb21PYmplY3Q6IGV4dHJhSHR0cFJlcXVlc3RQYXJhbXMuc2VhcmNofSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgICAgICB0aGlzLmRlZmF1bHRIZWFkZXJzLmtleXMoKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldChrZXksIHRoaXMuZGVmYXVsdEhlYWRlcnMuZ2V0QWxsKGtleSkpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoZXh0cmFIdHRwUmVxdWVzdEhlYWRlcnMpIHtcclxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZXh0cmFIdHRwUmVxdWVzdEhlYWRlcnMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGtleSwgdmFsdWUpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdmaWx0ZXInLCA8YW55PmZpbHRlcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFnZVNpemUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdwYWdlU2l6ZScsIDxhbnk+cGFnZVNpemUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBhZ2VOdW1iZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdwYWdlTnVtYmVyJywgPGFueT5wYWdlTnVtYmVyKTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcclxuICAgICAgICBsZXQgcHJvZHVjZXM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLmFwaUtleXNbXCJBdXRob3JpemF0aW9uXCJdKSB7XHJcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsIHRoaXMuY29uZmlndXJhdGlvbi5hcGlLZXlzW1wiQXV0aG9yaXphdGlvblwiXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLmFwaUtleXNbXCJFQ0ktUFVCTElDLURBU0hCT0FSRC1LRVlcIl0pIHtcclxuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdFQ0ktUFVCTElDLURBU0hCT0FSRC1LRVknLCB0aGlzLmNvbmZpZ3VyYXRpb24uYXBpS2V5c1tcIkVDSS1QVUJMSUMtREFTSEJPQVJELUtFWVwiXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgbGV0IHJlcXVlc3RPcHRpb25zID0ge1xyXG4gICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxyXG4gICAgICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1ldGVycyxcclxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOnRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXHJcbiAgICAgICAgICAgIG9ic2VydmU6ICdyZXNwb25zZScgYXMgJ3Jlc3BvbnNlJ1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5yZXF1ZXN0PEFycmF5PFVwbG9hZFJlc3BvbnNlRFRPPj4oUmVxdWVzdE1ldGhvZC5HZXQsIHBhdGgsIHJlcXVlc3RPcHRpb25zKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BillCapture.API
|
|
3
|
+
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
|
|
4
|
+
*
|
|
5
|
+
* OpenAPI spec version: 1.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by the swagger code generator program.
|
|
9
|
+
* https://github.com/swagger-api/swagger-codegen.git
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/* tslint:disable:no-unused-variable member-ordering */
|
|
13
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
14
|
+
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
15
|
+
import { map } from 'rxjs/operators';
|
|
16
|
+
import { BASE_PATH } from '../variables';
|
|
17
|
+
import { Configuration } from '../configuration';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@angular/common/http";
|
|
20
|
+
import * as i2 from "../configuration";
|
|
21
|
+
const RequestMethod = {
|
|
22
|
+
Get: 'get',
|
|
23
|
+
Post: 'post',
|
|
24
|
+
Put: 'put',
|
|
25
|
+
Delete: 'delete',
|
|
26
|
+
Options: 'options',
|
|
27
|
+
Head: 'head',
|
|
28
|
+
Patch: 'patch'
|
|
29
|
+
};
|
|
30
|
+
export class VersionService {
|
|
31
|
+
constructor(http, basePath, configuration) {
|
|
32
|
+
this.http = http;
|
|
33
|
+
this.basePath = 'https://localhost';
|
|
34
|
+
this.defaultHeaders = new HttpHeaders();
|
|
35
|
+
this.configuration = new Configuration();
|
|
36
|
+
if (basePath) {
|
|
37
|
+
this.basePath = basePath;
|
|
38
|
+
}
|
|
39
|
+
if (configuration) {
|
|
40
|
+
this.configuration = configuration;
|
|
41
|
+
this.basePath = basePath || configuration.basePath || this.basePath;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* Extends object by coping non-existing properties.
|
|
47
|
+
* @param objA object to be extended
|
|
48
|
+
* @param objB source object
|
|
49
|
+
*/
|
|
50
|
+
extendObj(objA, objB) {
|
|
51
|
+
for (let key in objB) {
|
|
52
|
+
if (objB.hasOwnProperty(key)) {
|
|
53
|
+
objA[key] = objB[key];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return objA;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @param consumes string[] mime-types
|
|
60
|
+
* @return true: consumes contains 'multipart/form-data', false: otherwise
|
|
61
|
+
*/
|
|
62
|
+
canConsumeForm(consumes) {
|
|
63
|
+
const form = 'multipart/form-data';
|
|
64
|
+
for (let consume of consumes) {
|
|
65
|
+
if (form === consume) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
*
|
|
73
|
+
*
|
|
74
|
+
*/
|
|
75
|
+
getVersion(extraHttpRequestParams, extraHttpRequestHeaders) {
|
|
76
|
+
return this.getVersionWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders)
|
|
77
|
+
.pipe(map((response) => {
|
|
78
|
+
if (response.status === 204) {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return response.body;
|
|
83
|
+
}
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
*
|
|
88
|
+
*
|
|
89
|
+
*/
|
|
90
|
+
getVersionWithHttpInfo(extraHttpRequestParams, extraHttpRequestHeaders) {
|
|
91
|
+
const path = this.basePath + '/api/public/Version';
|
|
92
|
+
let queryParameters;
|
|
93
|
+
if (extraHttpRequestParams) {
|
|
94
|
+
if (typeof extraHttpRequestParams.search === 'string') {
|
|
95
|
+
queryParameters = new HttpParams({ fromString: extraHttpRequestParams.search });
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
queryParameters = new HttpParams({ fromObject: extraHttpRequestParams.search });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
queryParameters = new HttpParams();
|
|
103
|
+
}
|
|
104
|
+
let headers = new HttpHeaders();
|
|
105
|
+
this.defaultHeaders.keys().forEach(key => {
|
|
106
|
+
headers = headers.set(key, this.defaultHeaders.getAll(key));
|
|
107
|
+
});
|
|
108
|
+
if (extraHttpRequestHeaders) {
|
|
109
|
+
Object.entries(extraHttpRequestHeaders).forEach(([key, value]) => {
|
|
110
|
+
headers = headers.set(key, value);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
// to determine the Accept header
|
|
114
|
+
let produces = [];
|
|
115
|
+
if (this.configuration.apiKeys["Authorization"]) {
|
|
116
|
+
headers = headers.set('Authorization', this.configuration.apiKeys["Authorization"]);
|
|
117
|
+
}
|
|
118
|
+
if (this.configuration.apiKeys["ECI-PUBLIC-DASHBOARD-KEY"]) {
|
|
119
|
+
headers = headers.set('ECI-PUBLIC-DASHBOARD-KEY', this.configuration.apiKeys["ECI-PUBLIC-DASHBOARD-KEY"]);
|
|
120
|
+
}
|
|
121
|
+
const consumes = [];
|
|
122
|
+
let requestOptions = {
|
|
123
|
+
headers: headers,
|
|
124
|
+
params: queryParameters,
|
|
125
|
+
withCredentials: this.configuration.withCredentials,
|
|
126
|
+
observe: 'response'
|
|
127
|
+
};
|
|
128
|
+
return this.http.request(RequestMethod.Get, path, requestOptions);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
VersionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VersionService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
132
|
+
VersionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VersionService });
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VersionService, decorators: [{
|
|
134
|
+
type: Injectable
|
|
135
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
136
|
+
type: Optional
|
|
137
|
+
}, {
|
|
138
|
+
type: Inject,
|
|
139
|
+
args: [BASE_PATH]
|
|
140
|
+
}] }, { type: i2.Configuration, decorators: [{
|
|
141
|
+
type: Optional
|
|
142
|
+
}] }]; } });
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL3ZlcnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUEyQixlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBb0Isc0JBQXNCLENBQUM7QUFJekYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFvRCxnQkFBZ0IsQ0FBQztBQUduRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQThDLGNBQWMsQ0FBQztBQUdqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQTBDLGtCQUFrQixDQUFDOzs7O0FBRXJGLE1BQU0sYUFBYSxHQUFHO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87Q0FDakIsQ0FBQztBQUlGLE1BQU0sT0FBTyxjQUFjO0lBTXZCLFlBQXNCLElBQWdCLEVBQWdDLFFBQWdCLEVBQWMsYUFBNEI7UUFBMUcsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUo1QixhQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFDbEMsbUJBQWMsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoRCxrQkFBYSxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBR3RELElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDNUI7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQzVDLElBQUks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YUFBYSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3ZGO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO1lBQ3hELE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztTQUM3RztRQUdELE1BQU0sUUFBUSxHQUFhLEVBQzFCLENBQUM7UUFFRixJQUFJLGNBQWMsR0FBRztZQUNqQixPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsZUFBZTtZQUN2QixlQUFlLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ2xELE9BQU8sRUFBRSxVQUF3QjtTQUNwQyxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBTSxhQUFhLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMzRSxDQUFDOzsyR0FySFEsY0FBYyw0Q0FNb0MsU0FBUzsrR0FOM0QsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVOzswQkFPa0MsUUFBUTs7MEJBQUcsTUFBTTsyQkFBQyxTQUFTOzswQkFBcUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBCaWxsQ2FwdHVyZS5BUElcclxuICogTm8gZGVzY3JpcHRpb24gcHJvdmlkZWQgKGdlbmVyYXRlZCBieSBTd2FnZ2VyIENvZGVnZW4gaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbilcclxuICpcclxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxyXG4gKiBcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxyXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXHJcbiAqL1xyXG5cclxuLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9ICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9ICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBIdHRwUmVzcG9uc2UgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuXHJcbmltcG9ydCB7IEJBU0VfUEFUSCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xyXG5pbXBvcnQgeyBDT0xMRUNUSU9OX0ZPUk1BVFMgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vdmFyaWFibGVzJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcclxuXHJcbmNvbnN0IFJlcXVlc3RNZXRob2QgPSB7XHJcbiAgICBHZXQ6ICdnZXQnLFxyXG4gICAgUG9zdDogJ3Bvc3QnLFxyXG4gICAgUHV0OiAncHV0JyxcclxuICAgIERlbGV0ZTogJ2RlbGV0ZScsXHJcbiAgICBPcHRpb25zOiAnb3B0aW9ucycsXHJcbiAgICBIZWFkOiAnaGVhZCcsXHJcbiAgICBQYXRjaDogJ3BhdGNoJ1xyXG59O1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFZlcnNpb25TZXJ2aWNlIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSAnaHR0cHM6Ly9sb2NhbGhvc3QnO1xyXG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzOiBIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBAT3B0aW9uYWwoKUBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nLCBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7XHJcbiAgICAgICAgaWYgKGJhc2VQYXRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcclxuXHRcdFx0dGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoIHx8IGNvbmZpZ3VyYXRpb24uYmFzZVBhdGggfHwgdGhpcy5iYXNlUGF0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBcclxuICAgICAqIEV4dGVuZHMgb2JqZWN0IGJ5IGNvcGluZyBub24tZXhpc3RpbmcgcHJvcGVydGllcy5cclxuICAgICAqIEBwYXJhbSBvYmpBIG9iamVjdCB0byBiZSBleHRlbmRlZFxyXG4gICAgICogQHBhcmFtIG9iakIgc291cmNlIG9iamVjdFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGV4dGVuZE9iajxUMSxUMj4ob2JqQTogVDEsIG9iakI6IFQyKSB7XHJcbiAgICAgICAgZm9yKGxldCBrZXkgaW4gb2JqQil7XHJcbiAgICAgICAgICAgIGlmKG9iakIuaGFzT3duUHJvcGVydHkoa2V5KSl7XHJcbiAgICAgICAgICAgICAgICAob2JqQSBhcyBhbnkpW2tleV0gPSAob2JqQiBhcyBhbnkpW2tleV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIDxUMSZUMj5vYmpBO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHBhcmFtIGNvbnN1bWVzIHN0cmluZ1tdIG1pbWUtdHlwZXNcclxuICAgICAqIEByZXR1cm4gdHJ1ZTogY29uc3VtZXMgY29udGFpbnMgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZTogb3RoZXJ3aXNlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY2FuQ29uc3VtZUZvcm0oY29uc3VtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZm9ybSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcclxuICAgICAgICBmb3IgKGxldCBjb25zdW1lIG9mIGNvbnN1bWVzKSB7XHJcbiAgICAgICAgICAgIGlmIChmb3JtID09PSBjb25zdW1lKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBcclxuICAgICAqIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0VmVyc2lvbihleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzoge3NlYXJjaDogc3RyaW5nIHwge1twYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSB9LCBleHRyYUh0dHBSZXF1ZXN0SGVhZGVycz86IHtbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXX0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFZlcnNpb25XaXRoSHR0cEluZm8oZXh0cmFIdHRwUmVxdWVzdFBhcmFtcywgZXh0cmFIdHRwUmVxdWVzdEhlYWRlcnMpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZTogSHR0cFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYm9keTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogXHJcbiAgICAgKiBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFZlcnNpb25XaXRoSHR0cEluZm8oZXh0cmFIdHRwUmVxdWVzdFBhcmFtcz86IHtzZWFyY2g6IHN0cmluZyB8IHtbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH0gfSwgZXh0cmFIdHRwUmVxdWVzdEhlYWRlcnM/OiB7W2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW119KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8YW55Pj4ge1xyXG4gICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLmJhc2VQYXRoICsgJy9hcGkvcHVibGljL1ZlcnNpb24nO1xyXG5cclxuICAgICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzOiBIdHRwUGFyYW1zO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmIChleHRyYUh0dHBSZXF1ZXN0UGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZXh0cmFIdHRwUmVxdWVzdFBhcmFtcy5zZWFyY2ggPT09ICdzdHJpbmcnKSB7IFxyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2Zyb21TdHJpbmc6IGV4dHJhSHR0cFJlcXVlc3RQYXJhbXMuc2VhcmNofSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZnJvbU9iamVjdDogZXh0cmFIdHRwUmVxdWVzdFBhcmFtcy5zZWFyY2h9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEhlYWRlcnMua2V5cygpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGtleSwgdGhpcy5kZWZhdWx0SGVhZGVycy5nZXRBbGwoa2V5KSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChleHRyYUh0dHBSZXF1ZXN0SGVhZGVycykge1xyXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhleHRyYUh0dHBSZXF1ZXN0SGVhZGVycykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoa2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxyXG4gICAgICAgIGxldCBwcm9kdWNlczogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5hcGlLZXlzW1wiQXV0aG9yaXphdGlvblwiXSkge1xyXG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCB0aGlzLmNvbmZpZ3VyYXRpb24uYXBpS2V5c1tcIkF1dGhvcml6YXRpb25cIl0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5hcGlLZXlzW1wiRUNJLVBVQkxJQy1EQVNIQk9BUkQtS0VZXCJdKSB7XHJcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnRUNJLVBVQkxJQy1EQVNIQk9BUkQtS0VZJywgdGhpcy5jb25maWd1cmF0aW9uLmFwaUtleXNbXCJFQ0ktUFVCTElDLURBU0hCT0FSRC1LRVlcIl0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuXHJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIGxldCByZXF1ZXN0T3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcclxuICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXHJcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczp0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxyXG4gICAgICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnIGFzICdyZXNwb25zZSdcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdDxhbnk+KFJlcXVlc3RNZXRob2QuR2V0LCBwYXRoLCByZXF1ZXN0T3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|