@vendasta/billing 14.17.0 → 14.18.0
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/esm2022/lib/_internal/credit-note.api.service.mjs +7 -2
- package/esm2022/lib/_internal/interfaces/credit-note.interface.mjs +1 -1
- package/esm2022/lib/_internal/interfaces/index.mjs +1 -1
- package/esm2022/lib/_internal/objects/credit-note.mjs +47 -1
- package/esm2022/lib/_internal/objects/index.mjs +2 -2
- package/fesm2022/vendasta-billing.mjs +52 -1
- package/fesm2022/vendasta-billing.mjs.map +1 -1
- package/lib/_internal/credit-note.api.service.d.ts +3 -2
- package/lib/_internal/interfaces/credit-note.interface.d.ts +7 -0
- package/lib/_internal/interfaces/index.d.ts +1 -1
- package/lib/_internal/objects/credit-note.d.ts +13 -0
- package/lib/_internal/objects/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// API Service.
|
|
6
6
|
// *********************************
|
|
7
7
|
import { Injectable } from '@angular/core';
|
|
8
|
-
import { CalculateCreditNoteRequest, CalculateCreditNoteResponse, CreateCreditNoteRequest, CreateCreditNoteResponse, GetCreditNoteRequest, GetCreditNoteResponse, ListCreditNotesRequest, ListCreditNotesResponse, SendCreditNoteRequest, } from './objects/';
|
|
8
|
+
import { CalculateCreditNoteRequest, CalculateCreditNoteResponse, CreateCreditNoteRequest, CreateCreditNoteResponse, GetCreditNoteRequest, GetCreditNoteResponse, GetMultiCreditNoteRequest, GetMultiCreditNoteResponse, ListCreditNotesRequest, ListCreditNotesResponse, SendCreditNoteRequest, } from './objects/';
|
|
9
9
|
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
10
10
|
import { inject } from '@angular/core';
|
|
11
11
|
import { HostService } from '../_generated/host.service';
|
|
@@ -40,6 +40,11 @@ export class CreditNoteApiService {
|
|
|
40
40
|
return this.http.post(this._host + "/billing.v1.CreditNoteService/Get", request.toApiJson(), this.apiOptions())
|
|
41
41
|
.pipe(map(resp => GetCreditNoteResponse.fromProto(resp)));
|
|
42
42
|
}
|
|
43
|
+
getMulti(r) {
|
|
44
|
+
const request = (r.toApiJson) ? r : new GetMultiCreditNoteRequest(r);
|
|
45
|
+
return this.http.post(this._host + "/billing.v1.CreditNoteService/GetMulti", request.toApiJson(), this.apiOptions())
|
|
46
|
+
.pipe(map(resp => GetMultiCreditNoteResponse.fromProto(resp)));
|
|
47
|
+
}
|
|
43
48
|
list(r) {
|
|
44
49
|
const request = (r.toApiJson) ? r : new ListCreditNotesRequest(r);
|
|
45
50
|
return this.http.post(this._host + "/billing.v1.CreditNoteService/List", request.toApiJson(), this.apiOptions())
|
|
@@ -56,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
|
|
|
56
61
|
type: Injectable,
|
|
57
62
|
args: [{ providedIn: 'root' }]
|
|
58
63
|
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LW5vdGUuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jcmVkaXQtbm90ZS5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQywwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixHQUM1QixNQUFNLFlBQVksQ0FBQztBQVlwQixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHbkMsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVxQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztLQTRDbkQ7SUExQ1csVUFBVTtRQUNkLE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxrQkFBa0I7YUFDckMsQ0FBQztZQUNGLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUM7SUFD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LGNBRFIsTUFBTTs7MkZBQ2xCLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3QsXG4gICAgICAgIENhbGN1bGF0ZUNyZWRpdE5vdGVSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlQ3JlZGl0Tm90ZVJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUNyZWRpdE5vdGVSZXNwb25zZSxcbiAgICAgICAgR2V0Q3JlZGl0Tm90ZVJlcXVlc3QsXG4gICAgICAgIEdldENyZWRpdE5vdGVSZXNwb25zZSxcbiAgICAgICAgTGlzdENyZWRpdE5vdGVzUmVxdWVzdCxcbiAgICAgICAgTGlzdENyZWRpdE5vdGVzUmVzcG9uc2UsXG4gICAgICAgIFNlbmRDcmVkaXROb3RlUmVxdWVzdCxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBDYWxjdWxhdGVDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0Q3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0Q3JlZGl0Tm90ZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgU2VuZENyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENyZWRpdE5vdGVBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RTZXJ2aWNlID0gaW5qZWN0KEhvc3RTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjcmVhdGUocjogQ3JlYXRlQ3JlZGl0Tm90ZVJlcXVlc3QgfCBDcmVhdGVDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVDcmVkaXROb3RlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVDcmVkaXROb3RlUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVDcmVkaXROb3RlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQ3JlZGl0Tm90ZVNlcnZpY2UvQ3JlYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNhbGN1bGF0ZShyOiBDYWxjdWxhdGVDcmVkaXROb3RlUmVxdWVzdCB8IENhbGN1bGF0ZUNyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDYWxjdWxhdGVDcmVkaXROb3RlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENhbGN1bGF0ZUNyZWRpdE5vdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENhbGN1bGF0ZUNyZWRpdE5vdGVSZXF1ZXN0PnIpIDogbmV3IENhbGN1bGF0ZUNyZWRpdE5vdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q2FsY3VsYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5DcmVkaXROb3RlU2VydmljZS9DYWxjdWxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDYWxjdWxhdGVDcmVkaXROb3RlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0KHI6IEdldENyZWRpdE5vdGVSZXF1ZXN0IHwgR2V0Q3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldENyZWRpdE5vdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0Q3JlZGl0Tm90ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0Q3JlZGl0Tm90ZVJlcXVlc3Q+cikgOiBuZXcgR2V0Q3JlZGl0Tm90ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkNyZWRpdE5vdGVTZXJ2aWNlL0dldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldENyZWRpdE5vdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0KHI6IExpc3RDcmVkaXROb3Rlc1JlcXVlc3QgfCBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0Q3JlZGl0Tm90ZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdENyZWRpdE5vdGVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0PnIpIDogbmV3IExpc3RDcmVkaXROb3Rlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0Q3JlZGl0Tm90ZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQ3JlZGl0Tm90ZVNlcnZpY2UvTGlzdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RDcmVkaXROb3Rlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHNlbmQocjogU2VuZENyZWRpdE5vdGVSZXF1ZXN0IHwgU2VuZENyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlbmRDcmVkaXROb3RlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZW5kQ3JlZGl0Tm90ZVJlcXVlc3Q+cikgOiBuZXcgU2VuZENyZWRpdE5vdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQ3JlZGl0Tm90ZVNlcnZpY2UvU2VuZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgXG59XG4iXX0=
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LW5vdGUuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jcmVkaXQtbm90ZS5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQywwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIscUJBQXFCLEdBQzVCLE1BQU0sWUFBWSxDQUFDO0FBY3BCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUduQyxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRXFCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0tBbURuRDtJQWpEVyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFB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QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ1YsQ0FBQztJQUNELElBQUksQ0FBQyxDQUF5RDtRQUMxRCxNQUFNLE9BQU8sR0FBRyxDQUF5QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUF5QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUkscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLG9DQUFvQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ3JKLENBQUM7OEdBcERRLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRFIsTUFBTTs7MkZBQ2xCLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3QsXG4gICAgICAgIENhbGN1bGF0ZUNyZWRpdE5vdGVSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlQ3JlZGl0Tm90ZVJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUNyZWRpdE5vdGVSZXNwb25zZSxcbiAgICAgICAgR2V0Q3JlZGl0Tm90ZVJlcXVlc3QsXG4gICAgICAgIEdldENyZWRpdE5vdGVSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlDcmVkaXROb3RlUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlDcmVkaXROb3RlUmVzcG9uc2UsXG4gICAgICAgIExpc3RDcmVkaXROb3Rlc1JlcXVlc3QsXG4gICAgICAgIExpc3RDcmVkaXROb3Rlc1Jlc3BvbnNlLFxuICAgICAgICBTZW5kQ3JlZGl0Tm90ZVJlcXVlc3QsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENhbGN1bGF0ZUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0Q3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldENyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RDcmVkaXROb3Rlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RDcmVkaXROb3Rlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBTZW5kQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ3JlZGl0Tm90ZUFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdFNlcnZpY2UgPSBpbmplY3QoSG9zdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNyZWF0ZShyOiBDcmVhdGVDcmVkaXROb3RlUmVxdWVzdCB8IENyZWF0ZUNyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVDcmVkaXROb3RlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUNyZWRpdE5vdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZUNyZWRpdE5vdGVSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZUNyZWRpdE5vdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5DcmVkaXROb3RlU2VydmljZS9DcmVhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVDcmVkaXROb3RlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY2FsY3VsYXRlKHI6IENhbGN1bGF0ZUNyZWRpdE5vdGVSZXF1ZXN0IHwgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENhbGN1bGF0ZUNyZWRpdE5vdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3Q+cikgOiBuZXcgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDYWxjdWxhdGVDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkNyZWRpdE5vdGVTZXJ2aWNlL0NhbGN1bGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENhbGN1bGF0ZUNyZWRpdE5vdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXQocjogR2V0Q3JlZGl0Tm90ZVJlcXVlc3QgfCBHZXRDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0Q3JlZGl0Tm90ZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRDcmVkaXROb3RlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRDcmVkaXROb3RlUmVxdWVzdD5yKSA6IG5ldyBHZXRDcmVkaXROb3RlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldENyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQ3JlZGl0Tm90ZVNlcnZpY2UvR2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0Q3JlZGl0Tm90ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpKHI6IEdldE11bHRpQ3JlZGl0Tm90ZVJlcXVlc3QgfCBHZXRNdWx0aUNyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUNyZWRpdE5vdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlDcmVkaXROb3RlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUNyZWRpdE5vdGVSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpQ3JlZGl0Tm90ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQ3JlZGl0Tm90ZVNlcnZpY2UvR2V0TXVsdGlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUNyZWRpdE5vdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0KHI6IExpc3RDcmVkaXROb3Rlc1JlcXVlc3QgfCBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0Q3JlZGl0Tm90ZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdENyZWRpdE5vdGVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0PnIpIDogbmV3IExpc3RDcmVkaXROb3Rlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0Q3JlZGl0Tm90ZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQ3JlZGl0Tm90ZVNlcnZpY2UvTGlzdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RDcmVkaXROb3Rlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHNlbmQocjogU2VuZENyZWRpdE5vdGVSZXF1ZXN0IHwgU2VuZENyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlbmRDcmVkaXROb3RlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZW5kQ3JlZGl0Tm90ZVJlcXVlc3Q+cikgOiBuZXcgU2VuZENyZWRpdE5vdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQ3JlZGl0Tm90ZVNlcnZpY2UvU2VuZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgXG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LW5vdGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYmlsbGluZ19zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9jcmVkaXQtbm90ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gSW50ZXJmYWNlcy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHsgQXBwbGllZFRheFJhdGVJbnRlcmZhY2UgfSBmcm9tICcuL2FwcGxpZWQtdGF4LXJhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5vdGVJbnRlcmZhY2UsIFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2UsIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZSB9IGZyb20gJy4vY29tbW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYXhSYXRlSW50ZXJmYWNlIH0gZnJvbSAnLi90YXgtcmF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGllZFRvSW50ZXJmYWNlIHtcbiAgICByZWZlcmVuY2VJZD86IHN0cmluZztcbiAgICByZWZlcmVuY2VUeXBlPzogZS5BcHBsaWVkUmVmZXJlbmNlVHlwZTtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgY3JlZGl0Tm90ZVR5cGU/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LW5vdGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYmlsbGluZ19zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9jcmVkaXQtbm90ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gSW50ZXJmYWNlcy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHsgQXBwbGllZFRheFJhdGVJbnRlcmZhY2UgfSBmcm9tICcuL2FwcGxpZWQtdGF4LXJhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5vdGVJbnRlcmZhY2UsIFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2UsIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZSB9IGZyb20gJy4vY29tbW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYXhSYXRlSW50ZXJmYWNlIH0gZnJvbSAnLi90YXgtcmF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGllZFRvSW50ZXJmYWNlIHtcbiAgICByZWZlcmVuY2VJZD86IHN0cmluZztcbiAgICByZWZlcmVuY2VUeXBlPzogZS5BcHBsaWVkUmVmZXJlbmNlVHlwZTtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgY3JlZGl0Tm90ZVR5cGU/OiBlLkNyZWRpdE5vdGVUeXBlO1xuICAgIGFwcGxpZWRBdD86IERhdGU7XG4gICAgcmVmZXJlbmNlTnVtYmVyPzogc3RyaW5nO1xuICAgIHNob3VsZFJlZnVuZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGU/OiBDcmVkaXROb3RlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGN1bGF0ZUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY3JlZGl0Tm90ZT86IENyZWRpdE5vdGVJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGU/OiBDcmVkaXROb3RlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlZGl0Tm90ZUludGVyZmFjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbWVyY2hhbnRJZD86IHN0cmluZztcbiAgICBudW1iZXI/OiBzdHJpbmc7XG4gICAgY3VzdG9tZXJJZD86IHN0cmluZztcbiAgICBzdWJ0b3RhbD86IG51bWJlcjtcbiAgICB0b3RhbD86IG51bWJlcjtcbiAgICBjcmVhdGVkPzogRGF0ZTtcbiAgICB1cGRhdGVkPzogRGF0ZTtcbiAgICBpdGVtcz86IExpbmVJdGVtSW50ZXJmYWNlW107XG4gICAgY3VycmVuY3k/OiBlLkN1cnJlbmN5O1xuICAgIGFtb3VudFRheD86IG51bWJlcjtcbiAgICBhcHBsaWVkVGF4ZXM/OiBBcHBsaWVkVGF4UmF0ZUludGVyZmFjZVtdO1xuICAgIGN1c3RvbWVyTmFtZT86IHN0cmluZztcbiAgICBjb250YWN0SWQ/OiBzdHJpbmc7XG4gICAgbWVtbz86IHN0cmluZztcbiAgICBub3Rlcz86IE5vdGVJbnRlcmZhY2VbXTtcbiAgICBhZGRpdGlvbmFsQ29udGFjdElkcz86IHN0cmluZ1tdO1xuICAgIHJlYXNvbj86IGUuQ3JlZGl0Tm90ZVJlYXNvbjtcbiAgICBhcHBsaWVkVG8/OiBBcHBsaWVkVG9JbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSB7XG4gICAgbWVyY2hhbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjcmVkaXROb3RlPzogQ3JlZGl0Tm90ZUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBpZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY3JlZGl0Tm90ZXM/OiBDcmVkaXROb3RlSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZUl0ZW1JbnRlcmZhY2Uge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIHNrdT86IHN0cmluZztcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgcXVhbnRpdHk/OiBudW1iZXI7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgdG90YWw/OiBudW1iZXI7XG4gICAgYXBwbGllZFRheGVzPzogQXBwbGllZFRheFJhdGVJbnRlcmZhY2VbXTtcbiAgICB0YXhSYXRlcz86IFRheFJhdGVJbnRlcmZhY2VbXTtcbiAgICBzdWJ0b3RhbD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmaWx0ZXJzPzogTGlzdENyZWRpdE5vdGVzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2U7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENyZWRpdE5vdGVzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGVzPzogQ3JlZGl0Tm90ZUludGVyZmFjZVtdO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgZW1haWxBZGRyZXNzZXM/OiBzdHJpbmdbXTtcbn1cblxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgRXhwb3J0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTm90ZUludGVyZmFjZSxcbiAgICBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZSxcbn0gZnJvbSAnLi9jb21tb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBGaWVsZE1hc2tJbnRlcmZhY2UsXG59IGZyb20gJy4vZmllbGQtbWFzay5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENvbW1pdG1lbnRJbnRlcmZhY2UsXG59IGZyb20gJy4vY29tbWl0bWVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFwcGxpZWRGZWVJbnRlcmZhY2UsXG4gICAgRmVlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ZlZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENvbXBvbmVudFByaWNpbmdJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcmljaW5nUGxhblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFByaWNpbmdQbGFuSW50ZXJmYWNlLFxuICAgIFByaWNpbmdQbGFuUHJvZHVjdFByaWNpbmdJbnRlcmZhY2UsXG4gICAgUHJvZHVjdFByaWNpbmdSdWxlSW50ZXJmYWNlLFxuICAgIFVwZGF0ZVByaWNpbmdQbGFuUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVQcmljaW5nUGxhblJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL3ByaWNpbmctcGxhbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIFByb2R1Y3RQcmljZXNJbnRlcmZhY2UsXG4gICAgUHJvZHVjdFByaWNpbmdJbnRlcmZhY2UsXG4gICAgV2hvbGVzYWxlQ29zdEl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL3Byb2R1Y3QtcHJpY2luZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIFN1YnNjcmliZVZhbGlkYXRpb25JbnRlcmZhY2UsXG59IGZyb20gJy4vc3Vic2NyaWJlLXZhbGlkYXRpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBbGlnbm1lbnRTdWJzY3JpcHRpb25JbnRlcmZhY2UsXG4gICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENoYW5nZUN1c3RvbVVuaXRQcmljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdEludGVyZmFjZSxcbiAgICBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVTdWJzY3JpcHRpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2V0QXV0b0JpbGxhYmxlUmVxdWVzdEludGVyZmFjZSxcbiAgICBTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0U2t1c0VudHJ5SW50ZXJmYWNlLFxuICAgIFN1YnNjcmlwdGlvbkludGVyZmFjZSxcbiAgICBDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdFN1YnNjcmlwdGlvbkl0ZW1JbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9zdWJzY3JpcHRpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBCaWxsSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQmlsbE11bHRpcGxlSXRlbXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQmlsbGFibGVJdGVtSW50ZXJmYWNlLFxuICAgIENhbkJpbGxJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVVc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQmlsbGFibGVJdGVtQ3VzdG9tZXJBZGRyZXNzSW50ZXJmYWNlLFxuICAgIERlbGV0ZUJpbGxhYmxlSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICBFeHBvcnRTdWJzY3JpcHRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RCaWxsYWJsZUl0ZW1zUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0QmlsbGFibGVJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpU3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEl0ZW1JbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlTdWJzY3JpcHRpb25zUmVxdWVzdEtleUludGVyZmFjZSxcbiAgICBMaXN0QmlsbGFibGVJdGVtc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEJpbGxhYmxlSXRlbXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVTdWJzY3JpcHRpb25SZXF1ZXN0U3Vic2NyaXB0aW9uSW50ZXJmYWNlLFxuICAgIFN1YnNjcmlwdGlvblByb2plY3Rpb25GaWx0ZXJJbnRlcmZhY2UsXG4gICAgVW5leHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vYmlsbGFibGUtaXRlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFwcGxpZWREaXNjb3VudEludGVyZmFjZSxcbn0gZnJvbSAnLi9hcHBsaWVkLWRpc2NvdW50LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQnVuZGxlSW50ZXJmYWNlLFxuICAgIEJ1bmRsZUl0ZW1JbnRlcmZhY2UsXG4gICAgQnVuZGxlUHJpY2luZ0ludGVyZmFjZSxcbiAgICBHZXRNdWx0aUJ1bmRsZVJlc3BvbnNlQnVuZGxlc0VudHJ5SW50ZXJmYWNlLFxuICAgIExpc3RCdW5kbGVzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdEJ1bmRsZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RCdW5kbGVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQnVuZGxlSXRlbVByaWNlSW50ZXJmYWNlLFxuICAgIEJ1bmRsZVByaWNpbmdQcmljZUFuZEZyZXF1ZW5jeUludGVyZmFjZSxcbiAgICBVcHNlcnRCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2J1bmRsZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENvbnRyYWN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQ29udHJhY3RzUmVzcG9uc2VDb250cmFjdHNFbnRyeUludGVyZmFjZSxcbiAgICBDcmVhdGVDb250cmFjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlQ29udHJhY3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRDb250cmFjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0Q29udHJhY3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlDb250cmFjdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQ29udHJhY3RzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdENvbnRyYWN0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdENvbnRyYWN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFVwZGF0ZUNvbnRyYWN0UmVxdWVzdE11dGF0aW9uSW50ZXJmYWNlLFxuICAgIFJlc2V0Q29udHJhY3RQcmljaW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVDb250cmFjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlQ29udHJhY3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVDb250cmFjdFN1YnNjcmlwdGlvblJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vY29udHJhY3QuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDdXN0b21lclN1bW1hcnlJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlDdXN0b21lclN1bW1hcmllc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlDdXN0b21lclN1bW1hcmllc1Jlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2N1c3RvbWVyLXN1bW1hcnkuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBCYW5rQWNjb3VudEludGVyZmFjZSxcbiAgICBDcmVhdGVTdHJpcGVFeHRlcm5hbEFjY291bnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZUJhbmtBY2NvdW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0QmFua0FjY291bnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0QmFua0FjY291bnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgU2V0RGVmYXVsdEJhbmtBY2NvdW50UmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9leHRlcm5hbC1hY2NvdW50LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgUHJvZHVjdFN1bW1hcnlEaXNjb3VudEludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uUmV0ZW50aW9uUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0UHJvZHVjdFN1bW1hcmllc1RvdGFsUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRQcm9kdWN0U3VtbWFyaWVzVG90YWxSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0UHJvZHVjdFN1bW1hcmllc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFByb2R1Y3RTdW1tYXJpZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uUmV0ZW50aW9uQnlHcm91cFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25CeVNLVVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFByaWNpbmdJbnRlcmZhY2UsXG4gICAgUHJvZHVjdFN1bW1hcnlJbnRlcmZhY2UsXG4gICAgUmV0ZW50aW9uTWV0cmljc0ludGVyZmFjZSxcbiAgICBQcmljaW5nUnVsZUludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uUmV0ZW50aW9uQnlHcm91cFJlc3BvbnNlU3Vic2NyaXB0aW9uUmV0ZW50aW9uQnlHcm91cEludGVyZmFjZSxcbn0gZnJvbSAnLi9wcm9kdWN0LXN1bW1hcnkuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVEaXNjb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlRGlzY291bnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBEaXNjb3VudEludGVyZmFjZSxcbiAgICBFeHBpcmVEaXNjb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdERpc2NvdW50c1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3REaXNjb3VudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3REaXNjb3VudHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVEaXNjb3VudFJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vZGlzY291bnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcHBsaWVkVGF4UmF0ZUludGVyZmFjZSxcbn0gZnJvbSAnLi9hcHBsaWVkLXRheC1yYXRlLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQXJjaGl2ZVRheFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlTGluZUl0ZW1UYXhlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlTGluZUl0ZW1UYXhlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENhbGN1bGF0ZVRheFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlVGF4UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlVGF4UmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0VGF4UmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlUYXhSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpVGF4UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlTGluZUl0ZW1UYXhlc1JlcXVlc3RMaW5lSXRlbUludGVyZmFjZSxcbiAgICBDYWxjdWxhdGVMaW5lSXRlbVRheGVzUmVzcG9uc2VMaW5lSXRlbVRheGVzSW50ZXJmYWNlLFxuICAgIExpc3RUYXhSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RUYXhSZXNwb25zZUludGVyZmFjZSxcbiAgICBUYXhSYXRlSW50ZXJmYWNlLFxuICAgIFVwZGF0ZVRheFJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vdGF4LXJhdGUuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcHBsaWVkQnVuZGxlSW50ZXJmYWNlLFxuICAgIEFwcGxpZWRCdW5kbGVJdGVtSW50ZXJmYWNlLFxufSBmcm9tICcuL2FwcGxpZWQtYnVuZGxlLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlUGF5bWVudENhcmRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZVBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UGF5bWVudENhcmRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UGF5bWVudENhcmRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUGF5bWVudENhcmRJbnRlcmZhY2UsXG4gICAgU2V0RGVmYXVsdFBheW1lbnRNZXRob2RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZVBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9wYXltZW50LWNhcmQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBMaXN0UGF5bWVudE1ldGhvZHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RQYXltZW50TWV0aG9kc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFBheW1lbnRBQ0hEZWJpdEludGVyZmFjZSxcbiAgICBQYXltZW50QUNTU0RlYml0SW50ZXJmYWNlLFxuICAgIFBheW1lbnRNZXRob2RJbnRlcmZhY2UsXG59IGZyb20gJy4vcGF5bWVudC1tZXRob2QuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBZGRCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEFkZEJ1bmRsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEFkZExpbmVJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICBBZGRMaW5lSXRlbVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEFwcGxpZWRDcmVkaXROb3RlSW50ZXJmYWNlLFxuICAgIENoYXJnZUludm9pY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUludm9pY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUludm9pY2VSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVQYXltZW50TGlua1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUGF5bWVudExpbmtSZXNwb25zZUludGVyZmFjZSxcbiAgICBJbnZvaWNlQ3VzdG9tZXJBZGRyZXNzSW50ZXJmYWNlLFxuICAgIExpc3RJbnZvaWNlc1JlcXVlc3RGaWx0ZXJzRGF0ZUZpbHRlckludGVyZmFjZSxcbiAgICBEZWxldGVJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBEZWxldGVMaW5lSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVsZXRlTGluZUl0ZW1SZXNwb25zZUludGVyZmFjZSxcbiAgICBEdXBsaWNhdGVJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBEdXBsaWNhdGVJbnZvaWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdEludm9pY2VzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0SW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0SW52b2ljZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFVwY29taW5nSW52b2ljZVByZXZpZXdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFVwY29taW5nSW52b2ljZVByZXZpZXdSZXNwb25zZUludGVyZmFjZSxcbiAgICBJbnZvaWNlSW50ZXJmYWNlLFxuICAgIEludm9pY2VJdGVtSW50ZXJmYWNlLFxuICAgIExpc3RJbnZvaWNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEludm9pY2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUGF5SW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUGF5bWVudExpbmtJdGVtSW50ZXJmYWNlLFxuICAgIFJlbW92ZUJ1bmRsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUmVtb3ZlQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgU2VuZEludm9pY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZUJ1bmRsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVXBkYXRlRGVmYXVsdFRheFJhdGVzUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVEZWZhdWx0VGF4UmF0ZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVJbnZvaWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVXBkYXRlTGluZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZUxpbmVJdGVtUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVm9pZEludm9pY2VSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2ludm9pY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBY2NvdW50QmFsYW5jZUludGVyZmFjZSxcbiAgICBCYWxhbmNlSW50ZXJmYWNlLFxuICAgIEJhbGFuY2VBbW91bnRJbnRlcmZhY2UsXG59IGZyb20gJy4vYmFsYW5jZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIERhdGVSYW5nZUludGVyZmFjZSxcbn0gZnJvbSAnLi9kYXRlLXJhbmdlLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgTGlzdFBheW91dHNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UGF5b3V0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFBheW91dHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBQYXlvdXRJbnRlcmZhY2UsXG4gICAgUmVjb25jaWxlUGF5b3V0UmVxdWVzdEludGVyZmFjZSxcbiAgICBSZWNvbmNpbGVQYXlvdXRSZXNwb25zZUludGVyZmFjZSxcbiAgICBSZXRhaWxQYXlvdXRJbnRlcmZhY2UsXG59IGZyb20gJy4vcGF5b3V0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ2FuY2VsUmV0YWlsQmlsbGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2hhcmdlU2FsZXNJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBDb25uZWN0U3RyaXBlQWNjb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ29ubmVjdFN0cmlwZUFjY291bnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVNZXJjaGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVmYXVsdEN1c3RvbWVyQ29uZmlndXJhdGlvbkludGVyZmFjZSxcbiAgICBHZXRNZXJjaGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TWVyY2hhbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRQYXlvdXRTdW1tYXJ5UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRQYXlvdXRTdW1tYXJ5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsQWNjb3VudEJhbGFuY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFJldGFpbEFjY291bnRCYWxhbmNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsQmFsYW5jZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsQmFsYW5jZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFJldGFpbFBheW91dFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsUGF5b3V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlTWVyY2hhbnRSZXF1ZXN0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc0ludGVyZmFjZSxcbiAgICBVcGRhdGVNZXJjaGFudFJlcXVlc3RJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzSW50ZXJmYWNlLFxuICAgIExpc3RSZXRhaWxQYXlvdXRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UmV0YWlsUGF5b3V0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIE1lcmNoYW50SW50ZXJmYWNlLFxuICAgIFJldGFpbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1Jlc3BvbnNlUmV0YWlsQ29uZmlndXJhdGlvbnNFbnRyeUludGVyZmFjZSxcbiAgICBTZWFyY2hNZXJjaGFudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNlYXJjaE1lcmNoYW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFNldEF1dG9DaGFyZ2VJbnZvaWNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2V0QXV0b1Bvc3RJbnZvaWNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2V0RGVmYXVsdFBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSxcbiAgICBTZXRIYXNBbHRlcm5hdGl2ZVBheW1lbnRNZXRob2RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNldEluY2x1ZGVJbkZpbmFuY2lhbFJlY29yZHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZU1lcmNoYW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBVcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9tZXJjaGFudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIE1lcmNoYW50UmVwb3J0SW50ZXJmYWNlLFxufSBmcm9tICcuL21lcmNoYW50LXJlcG9ydC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIE1ldGVyZWRDb21wb25lbnRJbnRlcmZhY2UsXG4gICAgVGlja0NvbXBvbmVudFVzYWdlUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9tZXRlcmVkLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIFJldGFpbFBheW1lbnRBQ0hEZXRhaWxzSW50ZXJmYWNlLFxuICAgIFJldGFpbFBheW1lbnRBQ1NTRGV0YWlsc0ludGVyZmFjZSxcbiAgICBBZGp1c3RtZW50SW50ZXJmYWNlLFxuICAgIFJldGFpbFBheW1lbnRDYXJkRGV0YWlsc0ludGVyZmFjZSxcbiAgICBDbG9zZVJldGFpbERpc3B1dGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENvbmZpZ3VyZVJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ29uZmlybVJldGFpbFBheW1lbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERpc3B1dGVJbnRlcmZhY2UsXG4gICAgU3VibWl0RXZpZGVuY2VSZXF1ZXN0RGlzcHV0ZUV2aWRlbmNlSW50ZXJmYWNlLFxuICAgIERpc3B1dGVFdmlkZW5jZUludGVyZmFjZSxcbiAgICBEaXNwdXRlRXZpZGVuY2VEZXRhaWxzSW50ZXJmYWNlLFxuICAgIEZpbGVJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsRGlzcHV0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsRGlzcHV0ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsUGF5bWVudFByb3ZpZGVyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsUGF5bWVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsUGF5bWVudFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFdob2xlc2FsZVByb3ZpZGVyUHVibGljS2V5UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRXaG9sZXNhbGVQcm92aWRlclB1YmxpY0tleVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RQYXltZW50UmVxdWVzdExpc3RQYXltZW50RmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UGF5bWVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFBheW1lbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0UmV0YWlsRGlzcHV0ZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RSZXRhaWxEaXNwdXRlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RSZXRhaWxQYXltZW50c1JlcXVlc3RMaXN0UmV0YWlsUGF5bWVudHNGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RSZXRhaWxQYXltZW50c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFJldGFpbFBheW1lbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFJldGFpbFRyYW5zYWN0aW9uc1JlcXVlc3RMaXN0UmV0YWlsVHJhbnNhY3Rpb25zRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UmV0YWlsVHJhbnNhY3Rpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UmV0YWlsVHJhbnNhY3Rpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUHJlcGFyZVJldGFpbFBheW1lbnRSZXF1ZXN0T3JkZXJJbnRlcmZhY2UsXG4gICAgUGF5bWVudEludGVyZmFjZSxcbiAgICBQYXltZW50UGF5bWVudEFsbG9jYXRpb25JbnRlcmZhY2UsXG4gICAgUGF5bWVudEludGVudEludGVyZmFjZSxcbiAgICBQcmVwYXJlUmV0YWlsUGF5bWVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUHJlcGFyZVJldGFpbFBheW1lbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBSZWZ1bmRSZXRhaWxQYXltZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBSZWZ1bmRSZXRhaWxQYXltZW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUmV0YWlsUGF5bWVudEludGVyZmFjZSxcbiAgICBSZXRhaWxQYXltZW50c0VuYWJsZWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJldGFpbFBheW1lbnRzRW5hYmxlZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJldGFpbFJlZnVuZEludGVyZmFjZSxcbiAgICBSZXRhaWxTdGF0dXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJldGFpbFN0YXR1c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJldGFpbFRyYW5zYWN0aW9uSW50ZXJmYWNlLFxuICAgIFN1Ym1pdEV2aWRlbmNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJldGFpbFN0YXR1c1Jlc3BvbnNlVmVyaWZpY2F0aW9uRXJyb3JJbnRlcmZhY2UsXG4gICAgUmV0YWlsU3RhdHVzUmVzcG9uc2VWZXJpZmljYXRpb25SZXF1aXJlbWVudHNJbnRlcmZhY2UsXG59IGZyb20gJy4vcGF5bWVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgRGVsZXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcmljaW5nUGxhblByb2R1Y3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdExpc3RQcmljaW5nUGxhblByb2R1Y3RzRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UHJpY2luZ1BsYW5Qcm9kdWN0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBQcmljaW5nUGxhblByb2R1Y3RQcmljaW5nRW50cnlJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdFByaWNpbmdFbnRyeUludGVyZmFjZSxcbiAgICBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0UHJpY2luZ0VudHJ5SW50ZXJmYWNlLFxuICAgIFByaWNpbmdQbGFuUHJvZHVjdEludGVyZmFjZSxcbiAgICBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFVwc2VydFdob2xlc2FsZVByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL3ByaWNpbmctcGxhbi1wcm9kdWN0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVsZXRlUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcm9kdWN0UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aVByb2R1Y3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0UHJvZHVjdHNSZXF1ZXN0TGlzdFByb2R1Y3RzRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UHJvZHVjdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RQcm9kdWN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFByb2R1Y3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcm9kdWN0UmVzcG9uc2VQcm9kdWN0c0VudHJ5SW50ZXJmYWNlLFxuICAgIFVwZGF0ZVByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL3Byb2R1Y3QuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcHBsaWVkQ3JlZGl0SW50ZXJmYWNlLFxuICAgIExpc3RQdXJjaGFzZVJlcXVlc3RMaXN0UHVyY2hhc2VCaWxsaW5nU3RyYXRlZ3lGaWx0ZXJJbnRlcmZhY2UsXG4gICAgTGlzdFB1cmNoYXNlUmVxdWVzdExpc3RQdXJjaGFzZUZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdFB1cmNoYXNlSXRlbXNSZXF1ZXN0TGlzdFB1cmNoYXNlSXRlbXNGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RQdXJjaGFzZUl0ZW1zUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UHVyY2hhc2VJdGVtc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RQdXJjaGFzZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFB1cmNoYXNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUGF1c2VEdW5uaW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBQdXJjaGFzZUludGVyZmFjZSxcbiAgICBQdXJjaGFzZUl0ZW1JbnRlcmZhY2UsXG4gICAgUmVzdW1lRHVubmluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgUmV0cnlQdXJjaGFzZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU3RvcER1bm5pbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFZvaWRQdXJjaGFzZVJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vcHVyY2hhc2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVSZWZ1bmRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RSZWZ1bmRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UmVmdW5kc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJlZnVuZEludGVyZmFjZSxcbn0gZnJvbSAnLi9yZWZ1bmQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVTYWxlc0NyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RTYWxlc0NyZWRpdE5vdGVSZXF1ZXN0TGlzdFNhbGVzQ3JlZGl0Tm90ZUZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdFNhbGVzQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFNhbGVzQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFNhbGVzQ3JlZGl0Tm90ZUludGVyZmFjZSxcbn0gZnJvbSAnLi9zYWxlcy1jcmVkaXQtbm90ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEdldFNhbGVzSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0U2FsZXNJbnZvaWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFNhbGVzSW52b2ljZVJlcXVlc3RMaXN0U2FsZXNJbnZvaWNlRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0U2FsZXNJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0U2FsZXNJbnZvaWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUG9zdFNhbGVzSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2FsZXNJbnZvaWNlSW50ZXJmYWNlLFxuICAgIFNlbmRTYWxlc0ludm9pY2VFbWFpbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vc2FsZXMtaW52b2ljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEJ1bGtSZXBsYWNlVGF4UnVsZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEJ1bGtSZXBsYWNlVGF4UnVsZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBUYXhSdWxlQ3VzdG9tZXJDdXN0b21lckFkZHJlc3NJbnRlcmZhY2UsXG4gICAgRGVsZXRlVGF4UnVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFRheFJ1bGVzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0VGF4UnVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0VGF4UnVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RUYXhSdWxlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFRheFJ1bGVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVGF4UnVsZVByb2R1Y3RQcm9kdWN0SWRlbnRpZmllckludGVyZmFjZSxcbiAgICBSZXBsYWNlVGF4UnVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUmVwbGFjZVRheFJ1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBUYXhSdWxlSW50ZXJmYWNlLFxuICAgIFRheFJ1bGVDdXN0b21lckludGVyZmFjZSxcbiAgICBUYXhSdWxlVGF4UnVsZUVudGl0eUludGVyZmFjZSxcbiAgICBUYXhSdWxlUHJvZHVjdEludGVyZmFjZSxcbn0gZnJvbSAnLi90YXgtcnVsZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENvbnRyYWN0RG9jdW1lbnRJbnRlcmZhY2UsXG4gICAgRGVsZXRlQ29udHJhY3REb2N1bWVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0Q29udHJhY3REb2N1bWVudHNSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9jb250cmFjdC1kb2N1bWVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uSW50ZXJmYWNlLFxuICAgIFVwc2VydFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vcmV0YWlsLWN1c3RvbWVyLWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBZGRDcmVkaXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWRpdEJhbGFuY2VJbnRlcmZhY2UsXG4gICAgR2V0QmFsYW5jZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0QmFsYW5jZVJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2NyZWRpdC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIFJlY3VycmluZ0ludm9pY2VDdXN0b21lckFkZHJlc3NJbnRlcmZhY2UsXG4gICAgTGlzdFJlY3VycmluZ0ludm9pY2VzRmlsdGVyc0RhdGVGaWx0ZXJJbnRlcmZhY2UsXG4gICAgRGVsZXRlUmVjdXJyaW5nSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFJlY3VycmluZ0ludm9pY2VzRmlsdGVyc0RldGFpbGVkSW50ZXJ2YWxJbnRlcmZhY2UsXG4gICAgR2V0UmVjdXJyaW5nSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFJlY3VycmluZ0ludm9pY2VzRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UmVjdXJyaW5nSW52b2ljZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RSZWN1cnJpbmdJbnZvaWNlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJlY3VycmluZ0ludm9pY2VJbnRlcmZhY2UsXG4gICAgUmVjdXJyaW5nSW52b2ljZUJ1bmRsZUludGVyZmFjZSxcbiAgICBSZWN1cnJpbmdJbnZvaWNlSXRlbUludGVyZmFjZSxcbiAgICBSZWN1cnJpbmdJbnZvaWNlTGluZUl0ZW1JbnRlcmZhY2UsXG4gICAgVXBkYXRlUmVjdXJyaW5nSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vcmVjdXJyaW5nLWludm9pY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVNZXJjaGFudFNlcnZpY2VzUmVwb3J0UnVuSW50ZXJmYWNlLFxuICAgIEdldE1lcmNoYW50U2VydmljZXNSZXBvcnRSdW5JbnRlcmZhY2UsXG4gICAgTWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1bkludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXBvcnQtcnVuLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzSW50ZXJmYWNlLFxufSBmcm9tICcuL2Fubm90YXRpb25zLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgTGlzdFN1YnNjcmlwdGlvblJlbGF0aW9uc2hpcHNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBHZXRNdWx0aVN1YnNjcmlwdGlvblJlbGF0aW9uc2hpcHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpU3Vic2NyaXB0aW9uUmVsYXRpb25zaGlwc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZWxhdGlvbnNoaXBzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uUmVsYXRpb25zaGlwc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJlcGxhY2VTdWJzY3JpcHRpb25SZWxhdGlvbnNoaXBzUmVxdWVzdEludGVyZmFjZSxcbiAgICBSZXBsYWNlU3Vic2NyaXB0aW9uUmVsYXRpb25zaGlwc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFN1YnNjcmlwdGlvblJlbGF0aW9uc2hpcEludGVyZmFjZSxcbn0gZnJvbSAnLi9zdWJzY3JpcHRpb24tcmVsYXRpb25zaGlwLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgUmVwbGFjZVN1YnNjcmlwdGlvblByZXNldHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgU3Vic2NyaXB0aW9uUHJlc2V0SW50ZXJmYWNlLFxufSBmcm9tICcuL3N1YnNjcmlwdGlvbi1wcmVzZXQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcHBsaWVkVG9JbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENyZWF0ZUNyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVkaXROb3RlSW50ZXJmYWNlLFxuICAgIExpc3RDcmVkaXROb3Rlc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIEdldENyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldENyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaW5lSXRlbUludGVyZmFjZSxcbiAgICBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RDcmVkaXROb3Rlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFNlbmRDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9jcmVkaXQtbm90ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIERlbGV0ZVJldGFpbFByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2VuZXJhdGVWZW5kb3JSZXBvcnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdlbmVyYXRlVmVuZG9yUmVwb3J0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlCdW5kbGVSZXRhaWxQcmljaW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aUJ1bmRsZVJldGFpbFByaWNpbmdSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlSZXRhaWxQcmljaW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aVJldGFpbFByaWNpbmdSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aVdob2xlc2FsZUNvc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpV2hvbGVzYWxlQ29zdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFB1cmNoYXNlQ29zdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UHVyY2hhc2VDb3N0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UmV2ZW51ZVN0YXRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRSZXZlbnVlU3RhdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRTdGF0aXN0aWNzUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRTdGF0aXN0aWNzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0V2hvbGVzYWxlQ29tcGFyaXNvblJlcXVlc3RHZXRXaG9sZXNhbGVDb21wYXJpc29uRmlsdGVyc0ludGVyZmFjZSxcbiAgICBHZXRXaG9sZXNhbGVDb21wYXJpc29uUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRXaG9sZXNhbGVDb21wYXJpc29uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0V2hvbGVzYWxlQ29tcGFyaXNvblJlc3BvbnNlR2V0V2hvbGVzYWxlQ29tcGFyaXNvblJlc3VsdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aUJ1bmRsZVJldGFpbFByaWNpbmdSZXNwb25zZVByaWNlc0VudHJ5SW50ZXJmYWNlLFxuICAgIFVwc2VydFJldGFpbFByaWNpbmdSZXF1ZXN0UHJpY2luZ0VudHJ5SW50ZXJmYWNlLFxuICAgIEdldE11bHRpUmV0YWlsUHJpY2luZ1Jlc3BvbnNlUHJvZHVjdFByaWNlc0VudHJ5SW50ZXJmYWNlLFxuICAgIEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXNwb25zZVByb2R1Y3RQcmljZXNFbnRyeUludGVyZmFjZSxcbiAgICBTZXRXaG9sZXNhbGVQcm9kdWN0U3RyYXRlZ3lSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNldFdob2xlc2FsZVByb2R1Y3RWb2x1bWVDb21taXRtZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBTdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwc2VydFJldGFpbFByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2FwaS5pbnRlcmZhY2UnO1xuXG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgRXhwb3J0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTm90ZUludGVyZmFjZSxcbiAgICBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZSxcbn0gZnJvbSAnLi9jb21tb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBGaWVsZE1hc2tJbnRlcmZhY2UsXG59IGZyb20gJy4vZmllbGQtbWFzay5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENvbW1pdG1lbnRJbnRlcmZhY2UsXG59IGZyb20gJy4vY29tbWl0bWVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFwcGxpZWRGZWVJbnRlcmZhY2UsXG4gICAgRmVlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ZlZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENvbXBvbmVudFByaWNpbmdJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcmljaW5nUGxhblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFByaWNpbmdQbGFuSW50ZXJmYWNlLFxuICAgIFByaWNpbmdQbGFuUHJvZHVjdFByaWNpbmdJbnRlcmZhY2UsXG4gICAgUHJvZHVjdFByaWNpbmdSdWxlSW50ZXJmYWNlLFxuICAgIFVwZGF0ZVByaWNpbmdQbGFuUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVQcmljaW5nUGxhblJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL3ByaWNpbmctcGxhbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIFByb2R1Y3RQcmljZXNJbnRlcmZhY2UsXG4gICAgUHJvZHVjdFByaWNpbmdJbnRlcmZhY2UsXG4gICAgV2hvbGVzYWxlQ29zdEl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL3Byb2R1Y3QtcHJpY2luZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIFN1YnNjcmliZVZhbGlkYXRpb25JbnRlcmZhY2UsXG59IGZyb20gJy4vc3Vic2NyaWJlLXZhbGlkYXRpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBbGlnbm1lbnRTdWJzY3JpcHRpb25JbnRlcmZhY2UsXG4gICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENoYW5nZUN1c3RvbVVuaXRQcmljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdEludGVyZmFjZSxcbiAgICBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVTdWJzY3JpcHRpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2V0QXV0b0JpbGxhYmxlUmVxdWVzdEludGVyZmFjZSxcbiAgICBTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0U2t1c0VudHJ5SW50ZXJmYWNlLFxuICAgIFN1YnNjcmlwdGlvbkludGVyZmFjZSxcbiAgICBDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdFN1YnNjcmlwdGlvbkl0ZW1JbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9zdWJzY3JpcHRpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBCaWxsSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQmlsbE11bHRpcGxlSXRlbXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQmlsbGFibGVJdGVtSW50ZXJmYWNlLFxuICAgIENhbkJpbGxJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVVc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQmlsbGFibGVJdGVtQ3VzdG9tZXJBZGRyZXNzSW50ZXJmYWNlLFxuICAgIERlbGV0ZUJpbGxhYmxlSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICBFeHBvcnRTdWJzY3JpcHRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RCaWxsYWJsZUl0ZW1zUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0QmlsbGFibGVJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpU3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEl0ZW1JbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlTdWJzY3JpcHRpb25zUmVxdWVzdEtleUludGVyZmFjZSxcbiAgICBMaXN0QmlsbGFibGVJdGVtc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEJpbGxhYmxlSXRlbXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVTdWJzY3JpcHRpb25SZXF1ZXN0U3Vic2NyaXB0aW9uSW50ZXJmYWNlLFxuICAgIFN1YnNjcmlwdGlvblByb2plY3Rpb25GaWx0ZXJJbnRlcmZhY2UsXG4gICAgVW5leHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vYmlsbGFibGUtaXRlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFwcGxpZWREaXNjb3VudEludGVyZmFjZSxcbn0gZnJvbSAnLi9hcHBsaWVkLWRpc2NvdW50LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQnVuZGxlSW50ZXJmYWNlLFxuICAgIEJ1bmRsZUl0ZW1JbnRlcmZhY2UsXG4gICAgQnVuZGxlUHJpY2luZ0ludGVyZmFjZSxcbiAgICBHZXRNdWx0aUJ1bmRsZVJlc3BvbnNlQnVuZGxlc0VudHJ5SW50ZXJmYWNlLFxuICAgIExpc3RCdW5kbGVzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdEJ1bmRsZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RCdW5kbGVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQnVuZGxlSXRlbVByaWNlSW50ZXJmYWNlLFxuICAgIEJ1bmRsZVByaWNpbmdQcmljZUFuZEZyZXF1ZW5jeUludGVyZmFjZSxcbiAgICBVcHNlcnRCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2J1bmRsZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENvbnRyYWN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQ29udHJhY3RzUmVzcG9uc2VDb250cmFjdHNFbnRyeUludGVyZmFjZSxcbiAgICBDcmVhdGVDb250cmFjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlQ29udHJhY3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRDb250cmFjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0Q29udHJhY3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlDb250cmFjdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQ29udHJhY3RzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdENvbnRyYWN0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdENvbnRyYWN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFVwZGF0ZUNvbnRyYWN0UmVxdWVzdE11dGF0aW9uSW50ZXJmYWNlLFxuICAgIFJlc2V0Q29udHJhY3RQcmljaW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVDb250cmFjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlQ29udHJhY3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVDb250cmFjdFN1YnNjcmlwdGlvblJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vY29udHJhY3QuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDdXN0b21lclN1bW1hcnlJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlDdXN0b21lclN1bW1hcmllc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlDdXN0b21lclN1bW1hcmllc1Jlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2N1c3RvbWVyLXN1bW1hcnkuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBCYW5rQWNjb3VudEludGVyZmFjZSxcbiAgICBDcmVhdGVTdHJpcGVFeHRlcm5hbEFjY291bnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZUJhbmtBY2NvdW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0QmFua0FjY291bnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0QmFua0FjY291bnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgU2V0RGVmYXVsdEJhbmtBY2NvdW50UmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9leHRlcm5hbC1hY2NvdW50LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgUHJvZHVjdFN1bW1hcnlEaXNjb3VudEludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uUmV0ZW50aW9uUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0UHJvZHVjdFN1bW1hcmllc1RvdGFsUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRQcm9kdWN0U3VtbWFyaWVzVG90YWxSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0UHJvZHVjdFN1bW1hcmllc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFByb2R1Y3RTdW1tYXJpZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uUmV0ZW50aW9uQnlHcm91cFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25CeVNLVVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFByaWNpbmdJbnRlcmZhY2UsXG4gICAgUHJvZHVjdFN1bW1hcnlJbnRlcmZhY2UsXG4gICAgUmV0ZW50aW9uTWV0cmljc0ludGVyZmFjZSxcbiAgICBQcmljaW5nUnVsZUludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uUmV0ZW50aW9uQnlHcm91cFJlc3BvbnNlU3Vic2NyaXB0aW9uUmV0ZW50aW9uQnlHcm91cEludGVyZmFjZSxcbn0gZnJvbSAnLi9wcm9kdWN0LXN1bW1hcnkuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVEaXNjb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlRGlzY291bnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBEaXNjb3VudEludGVyZmFjZSxcbiAgICBFeHBpcmVEaXNjb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdERpc2NvdW50c1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3REaXNjb3VudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3REaXNjb3VudHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVEaXNjb3VudFJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vZGlzY291bnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcHBsaWVkVGF4UmF0ZUludGVyZmFjZSxcbn0gZnJvbSAnLi9hcHBsaWVkLXRheC1yYXRlLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQXJjaGl2ZVRheFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlTGluZUl0ZW1UYXhlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlTGluZUl0ZW1UYXhlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENhbGN1bGF0ZVRheFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlVGF4UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlVGF4UmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0VGF4UmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlUYXhSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpVGF4UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlTGluZUl0ZW1UYXhlc1JlcXVlc3RMaW5lSXRlbUludGVyZmFjZSxcbiAgICBDYWxjdWxhdGVMaW5lSXRlbVRheGVzUmVzcG9uc2VMaW5lSXRlbVRheGVzSW50ZXJmYWNlLFxuICAgIExpc3RUYXhSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RUYXhSZXNwb25zZUludGVyZmFjZSxcbiAgICBUYXhSYXRlSW50ZXJmYWNlLFxuICAgIFVwZGF0ZVRheFJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vdGF4LXJhdGUuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcHBsaWVkQnVuZGxlSW50ZXJmYWNlLFxuICAgIEFwcGxpZWRCdW5kbGVJdGVtSW50ZXJmYWNlLFxufSBmcm9tICcuL2FwcGxpZWQtYnVuZGxlLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlUGF5bWVudENhcmRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZVBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UGF5bWVudENhcmRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UGF5bWVudENhcmRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUGF5bWVudENhcmRJbnRlcmZhY2UsXG4gICAgU2V0RGVmYXVsdFBheW1lbnRNZXRob2RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZVBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9wYXltZW50LWNhcmQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBMaXN0UGF5bWVudE1ldGhvZHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RQYXltZW50TWV0aG9kc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFBheW1lbnRBQ0hEZWJpdEludGVyZmFjZSxcbiAgICBQYXltZW50QUNTU0RlYml0SW50ZXJmYWNlLFxuICAgIFBheW1lbnRNZXRob2RJbnRlcmZhY2UsXG59IGZyb20gJy4vcGF5bWVudC1tZXRob2QuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBZGRCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEFkZEJ1bmRsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEFkZExpbmVJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICBBZGRMaW5lSXRlbVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEFwcGxpZWRDcmVkaXROb3RlSW50ZXJmYWNlLFxuICAgIENoYXJnZUludm9pY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUludm9pY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUludm9pY2VSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVQYXltZW50TGlua1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUGF5bWVudExpbmtSZXNwb25zZUludGVyZmFjZSxcbiAgICBJbnZvaWNlQ3VzdG9tZXJBZGRyZXNzSW50ZXJmYWNlLFxuICAgIExpc3RJbnZvaWNlc1JlcXVlc3RGaWx0ZXJzRGF0ZUZpbHRlckludGVyZmFjZSxcbiAgICBEZWxldGVJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBEZWxldGVMaW5lSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVsZXRlTGluZUl0ZW1SZXNwb25zZUludGVyZmFjZSxcbiAgICBEdXBsaWNhdGVJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBEdXBsaWNhdGVJbnZvaWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdEludm9pY2VzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0SW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0SW52b2ljZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFVwY29taW5nSW52b2ljZVByZXZpZXdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFVwY29taW5nSW52b2ljZVByZXZpZXdSZXNwb25zZUludGVyZmFjZSxcbiAgICBJbnZvaWNlSW50ZXJmYWNlLFxuICAgIEludm9pY2VJdGVtSW50ZXJmYWNlLFxuICAgIExpc3RJbnZvaWNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEludm9pY2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUGF5SW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUGF5bWVudExpbmtJdGVtSW50ZXJmYWNlLFxuICAgIFJlbW92ZUJ1bmRsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUmVtb3ZlQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgU2VuZEludm9pY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZUJ1bmRsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVXBkYXRlRGVmYXVsdFRheFJhdGVzUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVEZWZhdWx0VGF4UmF0ZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVJbnZvaWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVXBkYXRlTGluZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZUxpbmVJdGVtUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVm9pZEludm9pY2VSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2ludm9pY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBY2NvdW50QmFsYW5jZUludGVyZmFjZSxcbiAgICBCYWxhbmNlSW50ZXJmYWNlLFxuICAgIEJhbGFuY2VBbW91bnRJbnRlcmZhY2UsXG59IGZyb20gJy4vYmFsYW5jZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIERhdGVSYW5nZUludGVyZmFjZSxcbn0gZnJvbSAnLi9kYXRlLXJhbmdlLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgTGlzdFBheW91dHNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UGF5b3V0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFBheW91dHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBQYXlvdXRJbnRlcmZhY2UsXG4gICAgUmVjb25jaWxlUGF5b3V0UmVxdWVzdEludGVyZmFjZSxcbiAgICBSZWNvbmNpbGVQYXlvdXRSZXNwb25zZUludGVyZmFjZSxcbiAgICBSZXRhaWxQYXlvdXRJbnRlcmZhY2UsXG59IGZyb20gJy4vcGF5b3V0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ2FuY2VsUmV0YWlsQmlsbGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2hhcmdlU2FsZXNJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBDb25uZWN0U3RyaXBlQWNjb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ29ubmVjdFN0cmlwZUFjY291bnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVNZXJjaGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVmYXVsdEN1c3RvbWVyQ29uZmlndXJhdGlvbkludGVyZmFjZSxcbiAgICBHZXRNZXJjaGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TWVyY2hhbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRQYXlvdXRTdW1tYXJ5UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRQYXlvdXRTdW1tYXJ5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsQWNjb3VudEJhbGFuY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFJldGFpbEFjY291bnRCYWxhbmNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsQmFsYW5jZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsQmFsYW5jZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFJldGFpbFBheW91dFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsUGF5b3V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlTWVyY2hhbnRSZXF1ZXN0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc0ludGVyZmFjZSxcbiAgICBVcGRhdGVNZXJjaGFudFJlcXVlc3RJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzSW50ZXJmYWNlLFxuICAgIExpc3RSZXRhaWxQYXlvdXRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UmV0YWlsUGF5b3V0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIE1lcmNoYW50SW50ZXJmYWNlLFxuICAgIFJldGFpbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1Jlc3BvbnNlUmV0YWlsQ29uZmlndXJhdGlvbnNFbnRyeUludGVyZmFjZSxcbiAgICBTZWFyY2hNZXJjaGFudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNlYXJjaE1lcmNoYW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFNldEF1dG9DaGFyZ2VJbnZvaWNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2V0QXV0b1Bvc3RJbnZvaWNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2V0RGVmYXVsdFBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSxcbiAgICBTZXRIYXNBbHRlcm5hdGl2ZVBheW1lbnRNZXRob2RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNldEluY2x1ZGVJbkZpbmFuY2lhbFJlY29yZHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZU1lcmNoYW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBVcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9tZXJjaGFudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIE1lcmNoYW50UmVwb3J0SW50ZXJmYWNlLFxufSBmcm9tICcuL21lcmNoYW50LXJlcG9ydC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIE1ldGVyZWRDb21wb25lbnRJbnRlcmZhY2UsXG4gICAgVGlja0NvbXBvbmVudFVzYWdlUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9tZXRlcmVkLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIFJldGFpbFBheW1lbnRBQ0hEZXRhaWxzSW50ZXJmYWNlLFxuICAgIFJldGFpbFBheW1lbnRBQ1NTRGV0YWlsc0ludGVyZmFjZSxcbiAgICBBZGp1c3RtZW50SW50ZXJmYWNlLFxuICAgIFJldGFpbFBheW1lbnRDYXJkRGV0YWlsc0ludGVyZmFjZSxcbiAgICBDbG9zZVJldGFpbERpc3B1dGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENvbmZpZ3VyZVJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ29uZmlybVJldGFpbFBheW1lbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERpc3B1dGVJbnRlcmZhY2UsXG4gICAgU3VibWl0RXZpZGVuY2VSZXF1ZXN0RGlzcHV0ZUV2aWRlbmNlSW50ZXJmYWNlLFxuICAgIERpc3B1dGVFdmlkZW5jZUludGVyZmFjZSxcbiAgICBEaXNwdXRlRXZpZGVuY2VEZXRhaWxzSW50ZXJmYWNlLFxuICAgIEZpbGVJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsRGlzcHV0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsRGlzcHV0ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsUGF5bWVudFByb3ZpZGVyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsUGF5bWVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsUGF5bWVudFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFdob2xlc2FsZVByb3ZpZGVyUHVibGljS2V5UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRXaG9sZXNhbGVQcm92aWRlclB1YmxpY0tleVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RQYXltZW50UmVxdWVzdExpc3RQYXltZW50RmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UGF5bWVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFBheW1lbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0UmV0YWlsRGlzcHV0ZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RSZXRhaWxEaXNwdXRlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RSZXRhaWxQYXltZW50c1JlcXVlc3RMaXN0UmV0YWlsUGF5bWVudHNGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RSZXRhaWxQYXltZW50c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFJldGFpbFBheW1lbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFJldGFpbFRyYW5zYWN0aW9uc1JlcXVlc3RMaXN0UmV0YWlsVHJhbnNhY3Rpb25zRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UmV0YWlsVHJhbnNhY3Rpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UmV0YWlsVHJhbnNhY3Rpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUHJlcGFyZVJldGFpbFBheW1lbnRSZXF1ZXN0T3JkZXJJbnRlcmZhY2UsXG4gICAgUGF5bWVudEludGVyZmFjZSxcbiAgICBQYXltZW50UGF5bWVudEFsbG9jYXRpb25JbnRlcmZhY2UsXG4gICAgUGF5bWVudEludGVudEludGVyZmFjZSxcbiAgICBQcmVwYXJlUmV0YWlsUGF5bWVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUHJlcGFyZVJldGFpbFBheW1lbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBSZWZ1bmRSZXRhaWxQYXltZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBSZWZ1bmRSZXRhaWxQYXltZW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUmV0YWlsUGF5bWVudEludGVyZmFjZSxcbiAgICBSZXRhaWxQYXltZW50c0VuYWJsZWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJldGFpbFBheW1lbnRzRW5hYmxlZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJldGFpbFJlZnVuZEludGVyZmFjZSxcbiAgICBSZXRhaWxTdGF0dXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJldGFpbFN0YXR1c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJldGFpbFRyYW5zYWN0aW9uSW50ZXJmYWNlLFxuICAgIFN1Ym1pdEV2aWRlbmNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJldGFpbFN0YXR1c1Jlc3BvbnNlVmVyaWZpY2F0aW9uRXJyb3JJbnRlcmZhY2UsXG4gICAgUmV0YWlsU3RhdHVzUmVzcG9uc2VWZXJpZmljYXRpb25SZXF1aXJlbWVudHNJbnRlcmZhY2UsXG59IGZyb20gJy4vcGF5bWVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgRGVsZXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcmljaW5nUGxhblByb2R1Y3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdExpc3RQcmljaW5nUGxhblByb2R1Y3RzRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UHJpY2luZ1BsYW5Qcm9kdWN0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBQcmljaW5nUGxhblByb2R1Y3RQcmljaW5nRW50cnlJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdFByaWNpbmdFbnRyeUludGVyZmFjZSxcbiAgICBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0UHJpY2luZ0VudHJ5SW50ZXJmYWNlLFxuICAgIFByaWNpbmdQbGFuUHJvZHVjdEludGVyZmFjZSxcbiAgICBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFVwc2VydFdob2xlc2FsZVByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL3ByaWNpbmctcGxhbi1wcm9kdWN0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVsZXRlUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcm9kdWN0UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aVByb2R1Y3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0UHJvZHVjdHNSZXF1ZXN0TGlzdFByb2R1Y3RzRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UHJvZHVjdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RQcm9kdWN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFByb2R1Y3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcm9kdWN0UmVzcG9uc2VQcm9kdWN0c0VudHJ5SW50ZXJmYWNlLFxuICAgIFVwZGF0ZVByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL3Byb2R1Y3QuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcHBsaWVkQ3JlZGl0SW50ZXJmYWNlLFxuICAgIExpc3RQdXJjaGFzZVJlcXVlc3RMaXN0UHVyY2hhc2VCaWxsaW5nU3RyYXRlZ3lGaWx0ZXJJbnRlcmZhY2UsXG4gICAgTGlzdFB1cmNoYXNlUmVxdWVzdExpc3RQdXJjaGFzZUZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdFB1cmNoYXNlSXRlbXNSZXF1ZXN0TGlzdFB1cmNoYXNlSXRlbXNGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RQdXJjaGFzZUl0ZW1zUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UHVyY2hhc2VJdGVtc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RQdXJjaGFzZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFB1cmNoYXNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUGF1c2VEdW5uaW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBQdXJjaGFzZUludGVyZmFjZSxcbiAgICBQdXJjaGFzZUl0ZW1JbnRlcmZhY2UsXG4gICAgUmVzdW1lRHVubmluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgUmV0cnlQdXJjaGFzZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU3RvcER1bm5pbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFZvaWRQdXJjaGFzZVJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vcHVyY2hhc2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVSZWZ1bmRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RSZWZ1bmRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UmVmdW5kc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJlZnVuZEludGVyZmFjZSxcbn0gZnJvbSAnLi9yZWZ1bmQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVTYWxlc0NyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RTYWxlc0NyZWRpdE5vdGVSZXF1ZXN0TGlzdFNhbGVzQ3JlZGl0Tm90ZUZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdFNhbGVzQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFNhbGVzQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFNhbGVzQ3JlZGl0Tm90ZUludGVyZmFjZSxcbn0gZnJvbSAnLi9zYWxlcy1jcmVkaXQtbm90ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEdldFNhbGVzSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0U2FsZXNJbnZvaWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFNhbGVzSW52b2ljZVJlcXVlc3RMaXN0U2FsZXNJbnZvaWNlRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0U2FsZXNJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0U2FsZXNJbnZvaWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUG9zdFNhbGVzSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2FsZXNJbnZvaWNlSW50ZXJmYWNlLFxuICAgIFNlbmRTYWxlc0ludm9pY2VFbWFpbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vc2FsZXMtaW52b2ljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEJ1bGtSZXBsYWNlVGF4UnVsZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEJ1bGtSZXBsYWNlVGF4UnVsZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBUYXhSdWxlQ3VzdG9tZXJDdXN0b21lckFkZHJlc3NJbnRlcmZhY2UsXG4gICAgRGVsZXRlVGF4UnVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFRheFJ1bGVzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0VGF4UnVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0VGF4UnVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RUYXhSdWxlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFRheFJ1bGVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVGF4UnVsZVByb2R1Y3RQcm9kdWN0SWRlbnRpZmllckludGVyZmFjZSxcbiAgICBSZXBsYWNlVGF4UnVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUmVwbGFjZVRheFJ1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBUYXhSdWxlSW50ZXJmYWNlLFxuICAgIFRheFJ1bGVDdXN0b21lckludGVyZmFjZSxcbiAgICBUYXhSdWxlVGF4UnVsZUVudGl0eUludGVyZmFjZSxcbiAgICBUYXhSdWxlUHJvZHVjdEludGVyZmFjZSxcbn0gZnJvbSAnLi90YXgtcnVsZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENvbnRyYWN0RG9jdW1lbnRJbnRlcmZhY2UsXG4gICAgRGVsZXRlQ29udHJhY3REb2N1bWVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0Q29udHJhY3REb2N1bWVudHNSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9jb250cmFjdC1kb2N1bWVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uSW50ZXJmYWNlLFxuICAgIFVwc2VydFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vcmV0YWlsLWN1c3RvbWVyLWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBZGRDcmVkaXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWRpdEJhbGFuY2VJbnRlcmZhY2UsXG4gICAgR2V0QmFsYW5jZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0QmFsYW5jZVJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2NyZWRpdC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIFJlY3VycmluZ0ludm9pY2VDdXN0b21lckFkZHJlc3NJbnRlcmZhY2UsXG4gICAgTGlzdFJlY3VycmluZ0ludm9pY2VzRmlsdGVyc0RhdGVGaWx0ZXJJbnRlcmZhY2UsXG4gICAgRGVsZXRlUmVjdXJyaW5nSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFJlY3VycmluZ0ludm9pY2VzRmlsdGVyc0RldGFpbGVkSW50ZXJ2YWxJbnRlcmZhY2UsXG4gICAgR2V0UmVjdXJyaW5nSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFJlY3VycmluZ0ludm9pY2VzRmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0UmVjdXJyaW5nSW52b2ljZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RSZWN1cnJpbmdJbnZvaWNlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJlY3VycmluZ0ludm9pY2VJbnRlcmZhY2UsXG4gICAgUmVjdXJyaW5nSW52b2ljZUJ1bmRsZUludGVyZmFjZSxcbiAgICBSZWN1cnJpbmdJbnZvaWNlSXRlbUludGVyZmFjZSxcbiAgICBSZWN1cnJpbmdJbnZvaWNlTGluZUl0ZW1JbnRlcmZhY2UsXG4gICAgVXBkYXRlUmVjdXJyaW5nSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vcmVjdXJyaW5nLWludm9pY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVNZXJjaGFudFNlcnZpY2VzUmVwb3J0UnVuSW50ZXJmYWNlLFxuICAgIEdldE1lcmNoYW50U2VydmljZXNSZXBvcnRSdW5JbnRlcmZhY2UsXG4gICAgTWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1bkludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXBvcnQtcnVuLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzSW50ZXJmYWNlLFxufSBmcm9tICcuL2Fubm90YXRpb25zLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgTGlzdFN1YnNjcmlwdGlvblJlbGF0aW9uc2hpcHNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBHZXRNdWx0aVN1YnNjcmlwdGlvblJlbGF0aW9uc2hpcHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpU3Vic2NyaXB0aW9uUmVsYXRpb25zaGlwc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZWxhdGlvbnNoaXBzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0U3Vic2NyaXB0aW9uUmVsYXRpb25zaGlwc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJlcGxhY2VTdWJzY3JpcHRpb25SZWxhdGlvbnNoaXBzUmVxdWVzdEludGVyZmFjZSxcbiAgICBSZXBsYWNlU3Vic2NyaXB0aW9uUmVsYXRpb25zaGlwc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFN1YnNjcmlwdGlvblJlbGF0aW9uc2hpcEludGVyZmFjZSxcbn0gZnJvbSAnLi9zdWJzY3JpcHRpb24tcmVsYXRpb25zaGlwLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgUmVwbGFjZVN1YnNjcmlwdGlvblByZXNldHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgU3Vic2NyaXB0aW9uUHJlc2V0SW50ZXJmYWNlLFxufSBmcm9tICcuL3N1YnNjcmlwdGlvbi1wcmVzZXQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcHBsaWVkVG9JbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENyZWF0ZUNyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVkaXROb3RlSW50ZXJmYWNlLFxuICAgIExpc3RDcmVkaXROb3Rlc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIEdldENyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldENyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aUNyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpbmVJdGVtSW50ZXJmYWNlLFxuICAgIExpc3RDcmVkaXROb3Rlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdENyZWRpdE5vdGVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgU2VuZENyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2NyZWRpdC1ub3RlLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgRGVsZXRlUmV0YWlsUHJpY2luZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZW5lcmF0ZUJpbGxhYmxlSXRlbXNDU1ZSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZW5lcmF0ZVZlbmRvclJlcG9ydFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2VuZXJhdGVWZW5kb3JSZXBvcnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aUJ1bmRsZVJldGFpbFByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQnVuZGxlUmV0YWlsUHJpY2luZ1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aVJldGFpbFByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpUmV0YWlsUHJpY2luZ1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldE11bHRpV2hvbGVzYWxlQ29zdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlXaG9sZXNhbGVDb3N0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UHVyY2hhc2VDb3N0UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRQdXJjaGFzZUNvc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRSZXZlbnVlU3RhdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFJldmVudWVTdGF0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFN0YXRpc3RpY3NSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFN0YXRpc3RpY3NSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRXaG9sZXNhbGVDb21wYXJpc29uUmVxdWVzdEdldFdob2xlc2FsZUNvbXBhcmlzb25GaWx0ZXJzSW50ZXJmYWNlLFxuICAgIEdldFdob2xlc2FsZUNvbXBhcmlzb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFdob2xlc2FsZUNvbXBhcmlzb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRXaG9sZXNhbGVDb21wYXJpc29uUmVzcG9uc2VHZXRXaG9sZXNhbGVDb21wYXJpc29uUmVzdWx0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQnVuZGxlUmV0YWlsUHJpY2luZ1Jlc3BvbnNlUHJpY2VzRW50cnlJbnRlcmZhY2UsXG4gICAgVXBzZXJ0UmV0YWlsUHJpY2luZ1JlcXVlc3RQcmljaW5nRW50cnlJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlSZXRhaWxQcmljaW5nUmVzcG9uc2VQcm9kdWN0UHJpY2VzRW50cnlJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1Jlc3BvbnNlUHJvZHVjdFByaWNlc0VudHJ5SW50ZXJmYWNlLFxuICAgIFNldFdob2xlc2FsZVByb2R1Y3RTdHJhdGVneVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2V0V2hvbGVzYWxlUHJvZHVjdFZvbHVtZUNvbW1pdG1lbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFN0YXJ0UmV2UmVjVGVtcGxhdGVCYWNrZmlsbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBzZXJ0UmV0YWlsUHJpY2luZ1JlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vYXBpLmludGVyZmFjZSc7XG5cbiJdfQ==
|
|
@@ -52,6 +52,9 @@ export class AppliedTo {
|
|
|
52
52
|
if (typeof this.referenceNumber !== 'undefined') {
|
|
53
53
|
toReturn['referenceNumber'] = this.referenceNumber;
|
|
54
54
|
}
|
|
55
|
+
if (typeof this.shouldRefund !== 'undefined') {
|
|
56
|
+
toReturn['shouldRefund'] = this.shouldRefund;
|
|
57
|
+
}
|
|
55
58
|
return toReturn;
|
|
56
59
|
}
|
|
57
60
|
}
|
|
@@ -314,6 +317,49 @@ export class GetCreditNoteResponse {
|
|
|
314
317
|
return toReturn;
|
|
315
318
|
}
|
|
316
319
|
}
|
|
320
|
+
export class GetMultiCreditNoteRequest {
|
|
321
|
+
static fromProto(proto) {
|
|
322
|
+
let m = new GetMultiCreditNoteRequest();
|
|
323
|
+
m = Object.assign(m, proto);
|
|
324
|
+
return m;
|
|
325
|
+
}
|
|
326
|
+
constructor(kwargs) {
|
|
327
|
+
if (!kwargs) {
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
Object.assign(this, kwargs);
|
|
331
|
+
}
|
|
332
|
+
toApiJson() {
|
|
333
|
+
const toReturn = {};
|
|
334
|
+
if (typeof this.ids !== 'undefined') {
|
|
335
|
+
toReturn['ids'] = this.ids;
|
|
336
|
+
}
|
|
337
|
+
return toReturn;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
export class GetMultiCreditNoteResponse {
|
|
341
|
+
static fromProto(proto) {
|
|
342
|
+
let m = new GetMultiCreditNoteResponse();
|
|
343
|
+
m = Object.assign(m, proto);
|
|
344
|
+
if (proto.creditNotes) {
|
|
345
|
+
m.creditNotes = proto.creditNotes.map(CreditNote.fromProto);
|
|
346
|
+
}
|
|
347
|
+
return m;
|
|
348
|
+
}
|
|
349
|
+
constructor(kwargs) {
|
|
350
|
+
if (!kwargs) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
Object.assign(this, kwargs);
|
|
354
|
+
}
|
|
355
|
+
toApiJson() {
|
|
356
|
+
const toReturn = {};
|
|
357
|
+
if (typeof this.creditNotes !== 'undefined' && this.creditNotes !== null) {
|
|
358
|
+
toReturn['creditNotes'] = 'toApiJson' in this.creditNotes ? this.creditNotes.toApiJson() : this.creditNotes;
|
|
359
|
+
}
|
|
360
|
+
return toReturn;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
317
363
|
export class LineItem {
|
|
318
364
|
static fromProto(proto) {
|
|
319
365
|
let m = new LineItem();
|
|
@@ -454,4 +500,4 @@ export class SendCreditNoteRequest {
|
|
|
454
500
|
return toReturn;
|
|
455
501
|
}
|
|
456
502
|
}
|
|
457
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LW5vdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2NyZWRpdC1ub3RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLGlCQUFpQixDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLFNBQVM7SUFRbEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsaUJBQWlCLENBQXlCLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7U0FBQztRQUNwSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFBQyxDQUFDLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQUM7UUFDMUQsSUFBSSxLQUFLLENBQUMsY0FB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KioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFwcGxpZWRUYXhSYXRlIH0gZnJvbSAnLi9hcHBsaWVkLXRheC1yYXRlJztcbmltcG9ydCB7IE5vdGUsIFBhZ2VkUmVxdWVzdE9wdGlvbnMsIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YSB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IFRheFJhdGUgfSBmcm9tICcuL3RheC1yYXRlJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwcGxpZWRUbyBpbXBsZW1lbnRzIGkuQXBwbGllZFRvSW50ZXJmYWNlIHtcbiAgICByZWZlcmVuY2VJZDogc3RyaW5nO1xuICAgIHJlZmVyZW5jZVR5cGU6IGUuQXBwbGllZFJlZmVyZW5jZVR5cGU7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gICAgY3JlZGl0Tm90ZVR5cGU6IGUuQ3JlZGl0Tm90ZVR5cGU7XG4gICAgYXBwbGllZEF0OiBEYXRlO1xuICAgIHJlZmVyZW5jZU51bWJlcjogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXBwbGllZFRvIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQXBwbGllZFRvKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnJlZmVyZW5jZVR5cGUpIHttLnJlZmVyZW5jZVR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkFwcGxpZWRSZWZlcmVuY2VUeXBlPihlLkFwcGxpZWRSZWZlcmVuY2VUeXBlLCBwcm90by5yZWZlcmVuY2VUeXBlKTt9XG4gICAgICAgIGlmIChwcm90by5hbW91bnQpIHttLmFtb3VudCA9IHBhcnNlSW50KHByb3RvLmFtb3VudCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmNyZWRpdE5vdGVUeXBlKSB7bS5jcmVkaXROb3RlVHlwZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuQ3JlZGl0Tm90ZVR5cGU+KGUuQ3JlZGl0Tm90ZVR5cGUsIHByb3RvLmNyZWRpdE5vdGVUeXBlKTt9XG4gICAgICAgIGlmIChwcm90by5hcHBsaWVkQXQpIHttLmFwcGxpZWRBdCA9IG5ldyBEYXRlKHByb3RvLmFwcGxpZWRBdCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFwcGxpZWRUb0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnJlZmVyZW5jZUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydyZWZlcmVuY2VJZCddID0gdGhpcy5yZWZlcmVuY2VJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWZlcmVuY2VUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydyZWZlcmVuY2VUeXBlJ10gPSB0aGlzLnJlZmVyZW5jZVR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYW1vdW50ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhbW91bnQnXSA9IHRoaXMuYW1vdW50O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNyZWRpdE5vdGVUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjcmVkaXROb3RlVHlwZSddID0gdGhpcy5jcmVkaXROb3RlVHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hcHBsaWVkQXQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXBwbGllZEF0ICE9PSBudWxsKSB7dG9SZXR1cm5bJ2FwcGxpZWRBdCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5hcHBsaWVkQXQgPyAodGhpcy5hcHBsaWVkQXQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYXBwbGllZEF0O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnJlZmVyZW5jZU51bWJlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmVmZXJlbmNlTnVtYmVyJ10gPSB0aGlzLnJlZmVyZW5jZU51bWJlcjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDcmVkaXROb3RlUmVxdWVzdCBpbXBsZW1lbnRzIGkuQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGU6IENyZWRpdE5vdGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYWxjdWxhdGVDcmVkaXROb3RlUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IENhbGN1bGF0ZUNyZWRpdE5vdGVSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmNyZWRpdE5vdGUpIHttLmNyZWRpdE5vdGUgPSBDcmVkaXROb3RlLmZyb21Qcm90byhwcm90by5jcmVkaXROb3RlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVkaXROb3RlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWRpdE5vdGUgIT09IG51bGwpIHt0b1JldHVyblsnY3JlZGl0Tm90ZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVkaXROb3RlID8gKHRoaXMuY3JlZGl0Tm90ZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVkaXROb3RlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNyZWRpdE5vdGVSZXNwb25zZSBpbXBsZW1lbnRzIGkuQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjcmVkaXROb3RlOiBDcmVkaXROb3RlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmNyZWRpdE5vdGUpIHttLmNyZWRpdE5vdGUgPSBDcmVkaXROb3RlLmZyb21Qcm90byhwcm90by5jcmVkaXROb3RlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlZGl0Tm90ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVkaXROb3RlICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NyZWRpdE5vdGUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY3JlZGl0Tm90ZSA/ICh0aGlzLmNyZWRpdE5vdGUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY3JlZGl0Tm90ZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVDcmVkaXROb3RlUmVxdWVzdCBpbXBsZW1lbnRzIGkuQ3JlYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGU6IENyZWRpdE5vdGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDcmVhdGVDcmVkaXROb3RlUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IENyZWF0ZUNyZWRpdE5vdGVSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmNyZWRpdE5vdGUpIHttLmNyZWRpdE5vdGUgPSBDcmVkaXROb3RlLmZyb21Qcm90byhwcm90by5jcmVkaXROb3RlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ3JlYXRlQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVkaXROb3RlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWRpdE5vdGUgIT09IG51bGwpIHt0b1JldHVyblsnY3JlZGl0Tm90ZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVkaXROb3RlID8gKHRoaXMuY3JlZGl0Tm90ZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVkaXROb3RlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENyZWF0ZUNyZWRpdE5vdGVSZXNwb25zZSBpbXBsZW1lbnRzIGkuQ3JlYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ3JlYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ3JlYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DcmVhdGVDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3JlZGl0Tm90ZSBpbXBsZW1lbnRzIGkuQ3JlZGl0Tm90ZUludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBtZXJjaGFudElkOiBzdHJpbmc7XG4gICAgbnVtYmVyOiBzdHJpbmc7XG4gICAgY3VzdG9tZXJJZDogc3RyaW5nO1xuICAgIHN1YnRvdGFsOiBudW1iZXI7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBjcmVhdGVkOiBEYXRlO1xuICAgIHVwZGF0ZWQ6IERhdGU7XG4gICAgaXRlbXM6IExpbmVJdGVtW107XG4gICAgY3VycmVuY3k6IGUuQ3VycmVuY3k7XG4gICAgYW1vdW50VGF4OiBudW1iZXI7XG4gICAgYXBwbGllZFRheGVzOiBBcHBsaWVkVGF4UmF0ZVtdO1xuICAgIGN1c3RvbWVyTmFtZTogc3RyaW5nO1xuICAgIGNvbnRhY3RJZDogc3RyaW5nO1xuICAgIG1lbW86IHN0cmluZztcbiAgICBub3RlczogTm90ZVtdO1xuICAgIGFkZGl0aW9uYWxDb250YWN0SWRzOiBzdHJpbmdbXTtcbiAgICByZWFzb246IGUuQ3JlZGl0Tm90ZVJlYXNvbjtcbiAgICBhcHBsaWVkVG86IEFwcGxpZWRUb1tdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ3JlZGl0Tm90ZSB7XG4gICAgICAgIGxldCBtID0gbmV3IENyZWRpdE5vdGUoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uc3VidG90YWwpIHttLnN1YnRvdGFsID0gcGFyc2VJbnQocHJvdG8uc3VidG90YWwsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by50b3RhbCkge20udG90YWwgPSBwYXJzZUludChwcm90by50b3RhbCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmNyZWF0ZWQpIHttLmNyZWF0ZWQgPSBuZXcgRGF0ZShwcm90by5jcmVhdGVkKTt9XG4gICAgICAgIGlmIChwcm90by51cGRhdGVkKSB7bS51cGRhdGVkID0gbmV3IERhdGUocHJvdG8udXBkYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8uaXRlbXMpIHttLml0ZW1zID0gcHJvdG8uaXRlbXMubWFwKExpbmVJdGVtLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uY3VycmVuY3kpIHttLmN1cnJlbmN5ID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5DdXJyZW5jeT4oZS5DdXJyZW5jeSwgcHJvdG8uY3VycmVuY3kpO31cbiAgICAgICAgaWYgKHByb3RvLmFtb3VudFRheCkge20uYW1vdW50VGF4ID0gcGFyc2VJbnQocHJvdG8uYW1vdW50VGF4LCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8uYXBwbGllZFRheGVzKSB7bS5hcHBsaWVkVGF4ZXMgPSBwcm90by5hcHBsaWVkVGF4ZXMubWFwKEFwcGxpZWRUYXhSYXRlLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8ubm90ZXMpIHttLm5vdGVzID0gcHJvdG8ubm90ZXMubWFwKE5vdGUuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5yZWFzb24pIHttLnJlYXNvbiA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuQ3JlZGl0Tm90ZVJlYXNvbj4oZS5DcmVkaXROb3RlUmVhc29uLCBwcm90by5yZWFzb24pO31cbiAgICAgICAgaWYgKHByb3RvLmFwcGxpZWRUbykge20uYXBwbGllZFRvID0gcHJvdG8uYXBwbGllZFRvLm1hcChBcHBsaWVkVG8uZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ3JlZGl0Tm90ZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXJjaGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZXJjaGFudElkJ10gPSB0aGlzLm1lcmNoYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubnVtYmVyICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydudW1iZXInXSA9IHRoaXMubnVtYmVyO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1c3RvbWVySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2N1c3RvbWVySWQnXSA9IHRoaXMuY3VzdG9tZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdWJ0b3RhbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3VidG90YWwnXSA9IHRoaXMuc3VidG90YWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG90YWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RvdGFsJ10gPSB0aGlzLnRvdGFsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNyZWF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY3JlYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWydjcmVhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNyZWF0ZWQgPyAodGhpcy5jcmVhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNyZWF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXBkYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy51cGRhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ3VwZGF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudXBkYXRlZCA/ICh0aGlzLnVwZGF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudXBkYXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pdGVtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5pdGVtcyAhPT0gbnVsbCkge3RvUmV0dXJuWydpdGVtcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5pdGVtcyA/ICh0aGlzLml0ZW1zIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLml0ZW1zO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1cnJlbmN5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjdXJyZW5jeSddID0gdGhpcy5jdXJyZW5jeTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hbW91bnRUYXggIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Ftb3VudFRheCddID0gdGhpcy5hbW91bnRUYXg7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXBwbGllZFRheGVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmFwcGxpZWRUYXhlcyAhPT0gbnVsbCkge3RvUmV0dXJuWydhcHBsaWVkVGF4ZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXBwbGllZFRheGVzID8gKHRoaXMuYXBwbGllZFRheGVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmFwcGxpZWRUYXhlczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jdXN0b21lck5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2N1c3RvbWVyTmFtZSddID0gdGhpcy5jdXN0b21lck5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udGFjdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb250YWN0SWQnXSA9IHRoaXMuY29udGFjdElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lbW8gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lbW8nXSA9IHRoaXMubWVtbzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5ub3RlcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5ub3RlcyAhPT0gbnVsbCkge3RvUmV0dXJuWydub3RlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5ub3RlcyA/ICh0aGlzLm5vdGVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5vdGVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFkZGl0aW9uYWxDb250YWN0SWRzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhZGRpdGlvbmFsQ29udGFjdElkcyddID0gdGhpcy5hZGRpdGlvbmFsQ29udGFjdElkczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWFzb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlYXNvbiddID0gdGhpcy5yZWFzb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXBwbGllZFRvICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmFwcGxpZWRUbyAhPT0gbnVsbCkge3RvUmV0dXJuWydhcHBsaWVkVG8nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXBwbGllZFRvID8gKHRoaXMuYXBwbGllZFRvIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmFwcGxpZWRUbzt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0RmlsdGVycyBpbXBsZW1lbnRzIGkuTGlzdENyZWRpdE5vdGVzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2Uge1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RDcmVkaXROb3Rlc1JlcXVlc3RGaWx0ZXJzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdENyZWRpdE5vdGVzUmVxdWVzdEZpbHRlcnMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RDcmVkaXROb3Rlc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVyY2hhbnRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVyY2hhbnRJZCddID0gdGhpcy5tZXJjaGFudElkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldENyZWRpdE5vdGVSZXF1ZXN0IGltcGxlbWVudHMgaS5HZXRDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldENyZWRpdE5vdGVSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgR2V0Q3JlZGl0Tm90ZVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkdldENyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldENyZWRpdE5vdGVSZXNwb25zZSBpbXBsZW1lbnRzIGkuR2V0Q3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjcmVkaXROb3RlOiBDcmVkaXROb3RlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogR2V0Q3JlZGl0Tm90ZVJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgR2V0Q3JlZGl0Tm90ZVJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmNyZWRpdE5vdGUpIHttLmNyZWRpdE5vdGUgPSBDcmVkaXROb3RlLmZyb21Qcm90byhwcm90by5jcmVkaXROb3RlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0Q3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlZGl0Tm90ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVkaXROb3RlICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NyZWRpdE5vdGUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY3JlZGl0Tm90ZSA/ICh0aGlzLmNyZWRpdE5vdGUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY3JlZGl0Tm90ZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5lSXRlbSBpbXBsZW1lbnRzIGkuTGluZUl0ZW1JbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgc2t1OiBzdHJpbmc7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gICAgcXVhbnRpdHk6IG51bWJlcjtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgYXBwbGllZFRheGVzOiBBcHBsaWVkVGF4UmF0ZVtdO1xuICAgIHRheFJhdGVzOiBUYXhSYXRlW107XG4gICAgc3VidG90YWw6IG51bWJlcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpbmVJdGVtIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGluZUl0ZW0oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uYW1vdW50KSB7bS5hbW91bnQgPSBwYXJzZUludChwcm90by5hbW91bnQsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by50b3RhbCkge20udG90YWwgPSBwYXJzZUludChwcm90by50b3RhbCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmFwcGxpZWRUYXhlcykge20uYXBwbGllZFRheGVzID0gcHJvdG8uYXBwbGllZFRheGVzLm1hcChBcHBsaWVkVGF4UmF0ZS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnRheFJhdGVzKSB7bS50YXhSYXRlcyA9IHByb3RvLnRheFJhdGVzLm1hcChUYXhSYXRlLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uc3VidG90YWwpIHttLnN1YnRvdGFsID0gcGFyc2VJbnQocHJvdG8uc3VidG90YWwsIDEwKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGluZUl0ZW1JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2t1ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydza3UnXSA9IHRoaXMuc2t1O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFtb3VudCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYW1vdW50J10gPSB0aGlzLmFtb3VudDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5xdWFudGl0eSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncXVhbnRpdHknXSA9IHRoaXMucXVhbnRpdHk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rlc2NyaXB0aW9uJ10gPSB0aGlzLmRlc2NyaXB0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvdGFsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b3RhbCddID0gdGhpcy50b3RhbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hcHBsaWVkVGF4ZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXBwbGllZFRheGVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2FwcGxpZWRUYXhlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5hcHBsaWVkVGF4ZXMgPyAodGhpcy5hcHBsaWVkVGF4ZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYXBwbGllZFRheGVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRheFJhdGVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRheFJhdGVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RheFJhdGVzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRheFJhdGVzID8gKHRoaXMudGF4UmF0ZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGF4UmF0ZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3VidG90YWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N1YnRvdGFsJ10gPSB0aGlzLnN1YnRvdGFsO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpc3RDcmVkaXROb3Rlc1JlcXVlc3QgaW1wbGVtZW50cyBpLkxpc3RDcmVkaXROb3Rlc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGZpbHRlcnM6IExpc3RDcmVkaXROb3Rlc1JlcXVlc3RGaWx0ZXJzO1xuICAgIHBhZ2luZ09wdGlvbnM6IFBhZ2VkUmVxdWVzdE9wdGlvbnM7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdENyZWRpdE5vdGVzUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5maWx0ZXJzKSB7bS5maWx0ZXJzID0gTGlzdENyZWRpdE5vdGVzUmVxdWVzdEZpbHRlcnMuZnJvbVByb3RvKHByb3RvLmZpbHRlcnMpO31cbiAgICAgICAgaWYgKHByb3RvLnBhZ2luZ09wdGlvbnMpIHttLnBhZ2luZ09wdGlvbnMgPSBQYWdlZFJlcXVlc3RPcHRpb25zLmZyb21Qcm90byhwcm90by5wYWdpbmdPcHRpb25zKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdENyZWRpdE5vdGVzUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpbHRlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmlsdGVycyAhPT0gbnVsbCkge3RvUmV0dXJuWydmaWx0ZXJzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpbHRlcnMgPyAodGhpcy5maWx0ZXJzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZpbHRlcnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFnaW5nT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wYWdpbmdPcHRpb25zICE9PSBudWxsKSB7dG9SZXR1cm5bJ3BhZ2luZ09wdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGFnaW5nT3B0aW9ucyA/ICh0aGlzLnBhZ2luZ09wdGlvbnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucGFnaW5nT3B0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0Q3JlZGl0Tm90ZXNSZXNwb25zZSBpbXBsZW1lbnRzIGkuTGlzdENyZWRpdE5vdGVzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGVzOiBDcmVkaXROb3RlW107XG4gICAgcGFnaW5nTWV0YWRhdGE6IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RDcmVkaXROb3Rlc1Jlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdENyZWRpdE5vdGVzUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uY3JlZGl0Tm90ZXMpIHttLmNyZWRpdE5vdGVzID0gcHJvdG8uY3JlZGl0Tm90ZXMubWFwKENyZWRpdE5vdGUuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5wYWdpbmdNZXRhZGF0YSkge20ucGFnaW5nTWV0YWRhdGEgPSBQYWdlZFJlc3BvbnNlTWV0YWRhdGEuZnJvbVByb3RvKHByb3RvLnBhZ2luZ01ldGFkYXRhKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdENyZWRpdE5vdGVzUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVkaXROb3RlcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVkaXROb3RlcyAhPT0gbnVsbCkge3RvUmV0dXJuWydjcmVkaXROb3RlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVkaXROb3RlcyA/ICh0aGlzLmNyZWRpdE5vdGVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNyZWRpdE5vdGVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhZ2luZ01ldGFkYXRhICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBhZ2luZ01ldGFkYXRhICE9PSBudWxsKSB7dG9SZXR1cm5bJ3BhZ2luZ01ldGFkYXRhJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnBhZ2luZ01ldGFkYXRhID8gKHRoaXMucGFnaW5nTWV0YWRhdGEgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucGFnaW5nTWV0YWRhdGE7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2VuZENyZWRpdE5vdGVSZXF1ZXN0IGltcGxlbWVudHMgaS5TZW5kQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU2VuZENyZWRpdE5vdGVSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU2VuZENyZWRpdE5vdGVSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TZW5kQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW1haWxBZGRyZXNzZXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VtYWlsQWRkcmVzc2VzJ10gPSB0aGlzLmVtYWlsQWRkcmVzc2VzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|
|
503
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LW5vdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2NyZWRpdC1ub3RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLGlCQUFpQixDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLFNBQVM7SUFTbEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsaUJBQWlCLENBQXlCLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7U0FBQztRQUNwSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFBQyxDQUFDLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQUM7UUFDMUQsSUFBSSxLQUFLLENBQUMsY0FB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LEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQUM7UUFDL0QsSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUFDO1FBQ25HLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFwcGxpZWRUYXhSYXRlIH0gZnJvbSAnLi9hcHBsaWVkLXRheC1yYXRlJztcbmltcG9ydCB7IE5vdGUsIFBhZ2VkUmVxdWVzdE9wdGlvbnMsIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YSB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IFRheFJhdGUgfSBmcm9tICcuL3RheC1yYXRlJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwcGxpZWRUbyBpbXBsZW1lbnRzIGkuQXBwbGllZFRvSW50ZXJmYWNlIHtcbiAgICByZWZlcmVuY2VJZDogc3RyaW5nO1xuICAgIHJlZmVyZW5jZVR5cGU6IGUuQXBwbGllZFJlZmVyZW5jZVR5cGU7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gICAgY3JlZGl0Tm90ZVR5cGU6IGUuQ3JlZGl0Tm90ZVR5cGU7XG4gICAgYXBwbGllZEF0OiBEYXRlO1xuICAgIHJlZmVyZW5jZU51bWJlcjogc3RyaW5nO1xuICAgIHNob3VsZFJlZnVuZDogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFwcGxpZWRUbyB7XG4gICAgICAgIGxldCBtID0gbmV3IEFwcGxpZWRUbygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5yZWZlcmVuY2VUeXBlKSB7bS5yZWZlcmVuY2VUeXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5BcHBsaWVkUmVmZXJlbmNlVHlwZT4oZS5BcHBsaWVkUmVmZXJlbmNlVHlwZSwgcHJvdG8ucmVmZXJlbmNlVHlwZSk7fVxuICAgICAgICBpZiAocHJvdG8uYW1vdW50KSB7bS5hbW91bnQgPSBwYXJzZUludChwcm90by5hbW91bnQsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5jcmVkaXROb3RlVHlwZSkge20uY3JlZGl0Tm90ZVR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkNyZWRpdE5vdGVUeXBlPihlLkNyZWRpdE5vdGVUeXBlLCBwcm90by5jcmVkaXROb3RlVHlwZSk7fVxuICAgICAgICBpZiAocHJvdG8uYXBwbGllZEF0KSB7bS5hcHBsaWVkQXQgPSBuZXcgRGF0ZShwcm90by5hcHBsaWVkQXQpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BcHBsaWVkVG9JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWZlcmVuY2VJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmVmZXJlbmNlSWQnXSA9IHRoaXMucmVmZXJlbmNlSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmVmZXJlbmNlVHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmVmZXJlbmNlVHlwZSddID0gdGhpcy5yZWZlcmVuY2VUeXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFtb3VudCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYW1vdW50J10gPSB0aGlzLmFtb3VudDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVkaXROb3RlVHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3JlZGl0Tm90ZVR5cGUnXSA9IHRoaXMuY3JlZGl0Tm90ZVR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXBwbGllZEF0ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmFwcGxpZWRBdCAhPT0gbnVsbCkge3RvUmV0dXJuWydhcHBsaWVkQXQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXBwbGllZEF0ID8gKHRoaXMuYXBwbGllZEF0IGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmFwcGxpZWRBdDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWZlcmVuY2VOdW1iZXIgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlZmVyZW5jZU51bWJlciddID0gdGhpcy5yZWZlcmVuY2VOdW1iZXI7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2hvdWxkUmVmdW5kICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzaG91bGRSZWZ1bmQnXSA9IHRoaXMuc2hvdWxkUmVmdW5kO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNyZWRpdE5vdGVSZXF1ZXN0IGltcGxlbWVudHMgaS5DYWxjdWxhdGVDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY3JlZGl0Tm90ZTogQ3JlZGl0Tm90ZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENhbGN1bGF0ZUNyZWRpdE5vdGVSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uY3JlZGl0Tm90ZSkge20uY3JlZGl0Tm90ZSA9IENyZWRpdE5vdGUuZnJvbVByb3RvKHByb3RvLmNyZWRpdE5vdGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYWxjdWxhdGVDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNyZWRpdE5vdGUgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY3JlZGl0Tm90ZSAhPT0gbnVsbCkge3RvUmV0dXJuWydjcmVkaXROb3RlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNyZWRpdE5vdGUgPyAodGhpcy5jcmVkaXROb3RlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNyZWRpdE5vdGU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlIGltcGxlbWVudHMgaS5DYWxjdWxhdGVDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGU6IENyZWRpdE5vdGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYWxjdWxhdGVDcmVkaXROb3RlUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBDYWxjdWxhdGVDcmVkaXROb3RlUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uY3JlZGl0Tm90ZSkge20uY3JlZGl0Tm90ZSA9IENyZWRpdE5vdGUuZnJvbVByb3RvKHByb3RvLmNyZWRpdE5vdGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYWxjdWxhdGVDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVkaXROb3RlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWRpdE5vdGUgIT09IG51bGwpIHt0b1JldHVyblsnY3JlZGl0Tm90ZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVkaXROb3RlID8gKHRoaXMuY3JlZGl0Tm90ZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVkaXROb3RlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENyZWF0ZUNyZWRpdE5vdGVSZXF1ZXN0IGltcGxlbWVudHMgaS5DcmVhdGVDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY3JlZGl0Tm90ZTogQ3JlZGl0Tm90ZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENyZWF0ZUNyZWRpdE5vdGVSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ3JlYXRlQ3JlZGl0Tm90ZVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uY3JlZGl0Tm90ZSkge20uY3JlZGl0Tm90ZSA9IENyZWRpdE5vdGUuZnJvbVByb3RvKHByb3RvLmNyZWRpdE5vdGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DcmVhdGVDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNyZWRpdE5vdGUgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY3JlZGl0Tm90ZSAhPT0gbnVsbCkge3RvUmV0dXJuWydjcmVkaXROb3RlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNyZWRpdE5vdGUgPyAodGhpcy5jcmVkaXROb3RlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNyZWRpdE5vdGU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ3JlZGl0Tm90ZVJlc3BvbnNlIGltcGxlbWVudHMgaS5DcmVhdGVDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDcmVhdGVDcmVkaXROb3RlUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBDcmVhdGVDcmVkaXROb3RlUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNyZWF0ZUNyZWRpdE5vdGVSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVkaXROb3RlIGltcGxlbWVudHMgaS5DcmVkaXROb3RlSW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcbiAgICBudW1iZXI6IHN0cmluZztcbiAgICBjdXN0b21lcklkOiBzdHJpbmc7XG4gICAgc3VidG90YWw6IG51bWJlcjtcbiAgICB0b3RhbDogbnVtYmVyO1xuICAgIGNyZWF0ZWQ6IERhdGU7XG4gICAgdXBkYXRlZDogRGF0ZTtcbiAgICBpdGVtczogTGluZUl0ZW1bXTtcbiAgICBjdXJyZW5jeTogZS5DdXJyZW5jeTtcbiAgICBhbW91bnRUYXg6IG51bWJlcjtcbiAgICBhcHBsaWVkVGF4ZXM6IEFwcGxpZWRUYXhSYXRlW107XG4gICAgY3VzdG9tZXJOYW1lOiBzdHJpbmc7XG4gICAgY29udGFjdElkOiBzdHJpbmc7XG4gICAgbWVtbzogc3RyaW5nO1xuICAgIG5vdGVzOiBOb3RlW107XG4gICAgYWRkaXRpb25hbENvbnRhY3RJZHM6IHN0cmluZ1tdO1xuICAgIHJlYXNvbjogZS5DcmVkaXROb3RlUmVhc29uO1xuICAgIGFwcGxpZWRUbzogQXBwbGllZFRvW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDcmVkaXROb3RlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ3JlZGl0Tm90ZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5zdWJ0b3RhbCkge20uc3VidG90YWwgPSBwYXJzZUludChwcm90by5zdWJ0b3RhbCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLnRvdGFsKSB7bS50b3RhbCA9IHBhcnNlSW50KHByb3RvLnRvdGFsLCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8uY3JlYXRlZCkge20uY3JlYXRlZCA9IG5ldyBEYXRlKHByb3RvLmNyZWF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLnVwZGF0ZWQpIHttLnVwZGF0ZWQgPSBuZXcgRGF0ZShwcm90by51cGRhdGVkKTt9XG4gICAgICAgIGlmIChwcm90by5pdGVtcykge20uaXRlbXMgPSBwcm90by5pdGVtcy5tYXAoTGluZUl0ZW0uZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5jdXJyZW5jeSkge20uY3VycmVuY3kgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkN1cnJlbmN5PihlLkN1cnJlbmN5LCBwcm90by5jdXJyZW5jeSk7fVxuICAgICAgICBpZiAocHJvdG8uYW1vdW50VGF4KSB7bS5hbW91bnRUYXggPSBwYXJzZUludChwcm90by5hbW91bnRUYXgsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5hcHBsaWVkVGF4ZXMpIHttLmFwcGxpZWRUYXhlcyA9IHByb3RvLmFwcGxpZWRUYXhlcy5tYXAoQXBwbGllZFRheFJhdGUuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5ub3Rlcykge20ubm90ZXMgPSBwcm90by5ub3Rlcy5tYXAoTm90ZS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnJlYXNvbikge20ucmVhc29uID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5DcmVkaXROb3RlUmVhc29uPihlLkNyZWRpdE5vdGVSZWFzb24sIHByb3RvLnJlYXNvbik7fVxuICAgICAgICBpZiAocHJvdG8uYXBwbGllZFRvKSB7bS5hcHBsaWVkVG8gPSBwcm90by5hcHBsaWVkVG8ubWFwKEFwcGxpZWRUby5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DcmVkaXROb3RlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lcmNoYW50SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lcmNoYW50SWQnXSA9IHRoaXMubWVyY2hhbnRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5udW1iZXIgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ251bWJlciddID0gdGhpcy5udW1iZXI7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3VzdG9tZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3VzdG9tZXJJZCddID0gdGhpcy5jdXN0b21lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN1YnRvdGFsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdWJ0b3RhbCddID0gdGhpcy5zdWJ0b3RhbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50b3RhbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndG90YWwnXSA9IHRoaXMudG90YWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NyZWF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY3JlYXRlZCA/ICh0aGlzLmNyZWF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY3JlYXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cGRhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnVwZGF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsndXBkYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy51cGRhdGVkID8gKHRoaXMudXBkYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy51cGRhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLml0ZW1zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLml0ZW1zICE9PSBudWxsKSB7dG9SZXR1cm5bJ2l0ZW1zJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLml0ZW1zID8gKHRoaXMuaXRlbXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaXRlbXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3kgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2N1cnJlbmN5J10gPSB0aGlzLmN1cnJlbmN5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFtb3VudFRheCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYW1vdW50VGF4J10gPSB0aGlzLmFtb3VudFRheDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hcHBsaWVkVGF4ZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXBwbGllZFRheGVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2FwcGxpZWRUYXhlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5hcHBsaWVkVGF4ZXMgPyAodGhpcy5hcHBsaWVkVGF4ZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYXBwbGllZFRheGVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1c3RvbWVyTmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3VzdG9tZXJOYW1lJ10gPSB0aGlzLmN1c3RvbWVyTmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb250YWN0SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NvbnRhY3RJZCddID0gdGhpcy5jb250YWN0SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVtbyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVtbyddID0gdGhpcy5tZW1vO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5vdGVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5vdGVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ25vdGVzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5vdGVzID8gKHRoaXMubm90ZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubm90ZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWRkaXRpb25hbENvbnRhY3RJZHMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FkZGl0aW9uYWxDb250YWN0SWRzJ10gPSB0aGlzLmFkZGl0aW9uYWxDb250YWN0SWRzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnJlYXNvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmVhc29uJ10gPSB0aGlzLnJlYXNvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hcHBsaWVkVG8gIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXBwbGllZFRvICE9PSBudWxsKSB7dG9SZXR1cm5bJ2FwcGxpZWRUbyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5hcHBsaWVkVG8gPyAodGhpcy5hcHBsaWVkVG8gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYXBwbGllZFRvO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpc3RDcmVkaXROb3Rlc1JlcXVlc3RGaWx0ZXJzIGltcGxlbWVudHMgaS5MaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSB7XG4gICAgbWVyY2hhbnRJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdENyZWRpdE5vdGVzUmVxdWVzdEZpbHRlcnMge1xuICAgICAgICBsZXQgbSA9IG5ldyBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0RmlsdGVycygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdENyZWRpdE5vdGVzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXJjaGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZXJjaGFudElkJ10gPSB0aGlzLm1lcmNoYW50SWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgR2V0Q3JlZGl0Tm90ZVJlcXVlc3QgaW1wbGVtZW50cyBpLkdldENyZWRpdE5vdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogR2V0Q3JlZGl0Tm90ZVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRDcmVkaXROb3RlUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0Q3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgR2V0Q3JlZGl0Tm90ZVJlc3BvbnNlIGltcGxlbWVudHMgaS5HZXRDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGU6IENyZWRpdE5vdGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRDcmVkaXROb3RlUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRDcmVkaXROb3RlUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uY3JlZGl0Tm90ZSkge20uY3JlZGl0Tm90ZSA9IENyZWRpdE5vdGUuZnJvbVByb3RvKHByb3RvLmNyZWRpdE5vdGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5HZXRDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVkaXROb3RlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWRpdE5vdGUgIT09IG51bGwpIHt0b1JldHVyblsnY3JlZGl0Tm90ZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVkaXROb3RlID8gKHRoaXMuY3JlZGl0Tm90ZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVkaXROb3RlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldE11bHRpQ3JlZGl0Tm90ZVJlcXVlc3QgaW1wbGVtZW50cyBpLkdldE11bHRpQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGlkczogc3RyaW5nW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRNdWx0aUNyZWRpdE5vdGVSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgR2V0TXVsdGlDcmVkaXROb3RlUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0TXVsdGlDcmVkaXROb3RlUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWRzJ10gPSB0aGlzLmlkczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRNdWx0aUNyZWRpdE5vdGVSZXNwb25zZSBpbXBsZW1lbnRzIGkuR2V0TXVsdGlDcmVkaXROb3RlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGVzOiBDcmVkaXROb3RlW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRNdWx0aUNyZWRpdE5vdGVSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IEdldE11bHRpQ3JlZGl0Tm90ZVJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmNyZWRpdE5vdGVzKSB7bS5jcmVkaXROb3RlcyA9IHByb3RvLmNyZWRpdE5vdGVzLm1hcChDcmVkaXROb3RlLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkdldE11bHRpQ3JlZGl0Tm90ZVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlZGl0Tm90ZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY3JlZGl0Tm90ZXMgIT09IG51bGwpIHt0b1JldHVyblsnY3JlZGl0Tm90ZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY3JlZGl0Tm90ZXMgPyAodGhpcy5jcmVkaXROb3RlcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVkaXROb3Rlczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5lSXRlbSBpbXBsZW1lbnRzIGkuTGluZUl0ZW1JbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgc2t1OiBzdHJpbmc7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gICAgcXVhbnRpdHk6IG51bWJlcjtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgYXBwbGllZFRheGVzOiBBcHBsaWVkVGF4UmF0ZVtdO1xuICAgIHRheFJhdGVzOiBUYXhSYXRlW107XG4gICAgc3VidG90YWw6IG51bWJlcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpbmVJdGVtIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGluZUl0ZW0oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uYW1vdW50KSB7bS5hbW91bnQgPSBwYXJzZUludChwcm90by5hbW91bnQsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by50b3RhbCkge20udG90YWwgPSBwYXJzZUludChwcm90by50b3RhbCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmFwcGxpZWRUYXhlcykge20uYXBwbGllZFRheGVzID0gcHJvdG8uYXBwbGllZFRheGVzLm1hcChBcHBsaWVkVGF4UmF0ZS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnRheFJhdGVzKSB7bS50YXhSYXRlcyA9IHByb3RvLnRheFJhdGVzLm1hcChUYXhSYXRlLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uc3VidG90YWwpIHttLnN1YnRvdGFsID0gcGFyc2VJbnQocHJvdG8uc3VidG90YWwsIDEwKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGluZUl0ZW1JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2t1ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydza3UnXSA9IHRoaXMuc2t1O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFtb3VudCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYW1vdW50J10gPSB0aGlzLmFtb3VudDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5xdWFudGl0eSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncXVhbnRpdHknXSA9IHRoaXMucXVhbnRpdHk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rlc2NyaXB0aW9uJ10gPSB0aGlzLmRlc2NyaXB0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvdGFsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b3RhbCddID0gdGhpcy50b3RhbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hcHBsaWVkVGF4ZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXBwbGllZFRheGVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2FwcGxpZWRUYXhlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5hcHBsaWVkVGF4ZXMgPyAodGhpcy5hcHBsaWVkVGF4ZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYXBwbGllZFRheGVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRheFJhdGVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRheFJhdGVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RheFJhdGVzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRheFJhdGVzID8gKHRoaXMudGF4UmF0ZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGF4UmF0ZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3VidG90YWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N1YnRvdGFsJ10gPSB0aGlzLnN1YnRvdGFsO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpc3RDcmVkaXROb3Rlc1JlcXVlc3QgaW1wbGVtZW50cyBpLkxpc3RDcmVkaXROb3Rlc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGZpbHRlcnM6IExpc3RDcmVkaXROb3Rlc1JlcXVlc3RGaWx0ZXJzO1xuICAgIHBhZ2luZ09wdGlvbnM6IFBhZ2VkUmVxdWVzdE9wdGlvbnM7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBMaXN0Q3JlZGl0Tm90ZXNSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdENyZWRpdE5vdGVzUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5maWx0ZXJzKSB7bS5maWx0ZXJzID0gTGlzdENyZWRpdE5vdGVzUmVxdWVzdEZpbHRlcnMuZnJvbVByb3RvKHByb3RvLmZpbHRlcnMpO31cbiAgICAgICAgaWYgKHByb3RvLnBhZ2luZ09wdGlvbnMpIHttLnBhZ2luZ09wdGlvbnMgPSBQYWdlZFJlcXVlc3RPcHRpb25zLmZyb21Qcm90byhwcm90by5wYWdpbmdPcHRpb25zKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdENyZWRpdE5vdGVzUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpbHRlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmlsdGVycyAhPT0gbnVsbCkge3RvUmV0dXJuWydmaWx0ZXJzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpbHRlcnMgPyAodGhpcy5maWx0ZXJzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZpbHRlcnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFnaW5nT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wYWdpbmdPcHRpb25zICE9PSBudWxsKSB7dG9SZXR1cm5bJ3BhZ2luZ09wdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGFnaW5nT3B0aW9ucyA/ICh0aGlzLnBhZ2luZ09wdGlvbnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucGFnaW5nT3B0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0Q3JlZGl0Tm90ZXNSZXNwb25zZSBpbXBsZW1lbnRzIGkuTGlzdENyZWRpdE5vdGVzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNyZWRpdE5vdGVzOiBDcmVkaXROb3RlW107XG4gICAgcGFnaW5nTWV0YWRhdGE6IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RDcmVkaXROb3Rlc1Jlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdENyZWRpdE5vdGVzUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uY3JlZGl0Tm90ZXMpIHttLmNyZWRpdE5vdGVzID0gcHJvdG8uY3JlZGl0Tm90ZXMubWFwKENyZWRpdE5vdGUuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5wYWdpbmdNZXRhZGF0YSkge20ucGFnaW5nTWV0YWRhdGEgPSBQYWdlZFJlc3BvbnNlTWV0YWRhdGEuZnJvbVByb3RvKHByb3RvLnBhZ2luZ01ldGFkYXRhKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdENyZWRpdE5vdGVzUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVkaXROb3RlcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVkaXROb3RlcyAhPT0gbnVsbCkge3RvUmV0dXJuWydjcmVkaXROb3RlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVkaXROb3RlcyA/ICh0aGlzLmNyZWRpdE5vdGVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNyZWRpdE5vdGVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhZ2luZ01ldGFkYXRhICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBhZ2luZ01ldGFkYXRhICE9PSBudWxsKSB7dG9SZXR1cm5bJ3BhZ2luZ01ldGFkYXRhJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnBhZ2luZ01ldGFkYXRhID8gKHRoaXMucGFnaW5nTWV0YWRhdGEgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucGFnaW5nTWV0YWRhdGE7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2VuZENyZWRpdE5vdGVSZXF1ZXN0IGltcGxlbWVudHMgaS5TZW5kQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU2VuZENyZWRpdE5vdGVSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU2VuZENyZWRpdE5vdGVSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TZW5kQ3JlZGl0Tm90ZVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW1haWxBZGRyZXNzZXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VtYWlsQWRkcmVzc2VzJ10gPSB0aGlzLmVtYWlsQWRkcmVzc2VzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|