bx-rest 0.0.34 → 0.1.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/README.md +60 -4
- package/esm2020/functions/mapResult.mjs +2 -2
- package/esm2020/map/disk/base.mjs +57 -0
- package/esm2020/map/disk/folder.mjs +17 -0
- package/esm2020/map/disk/storage.mjs +17 -0
- package/esm2020/map/lists/element.mjs +8 -8
- package/esm2020/map/lists.mjs +19 -0
- package/esm2020/map/task.mjs +115 -0
- package/esm2020/map/user.mjs +89 -0
- package/esm2020/public-api.mjs +4 -2
- package/esm2020/request/disk/file.mjs +38 -0
- package/esm2020/request/disk/folder.mjs +46 -0
- package/esm2020/request/disk/storage.mjs +46 -0
- package/esm2020/request/disk.mjs +19 -0
- package/esm2020/request/lists/element.mjs +5 -7
- package/esm2020/request/tasks/task.mjs +61 -0
- package/esm2020/request/tasks.mjs +17 -0
- package/esm2020/request/user.mjs +23 -55
- package/esm2020/request-navvy/disk/file.mjs +43 -0
- package/esm2020/request-navvy/disk/folder.mjs +45 -0
- package/esm2020/request-navvy/disk/operation.mjs +95 -0
- package/esm2020/request-navvy/disk/storage.mjs +54 -0
- package/esm2020/request-navvy/disk.mjs +21 -0
- package/esm2020/request-navvy/lists/element.mjs +24 -0
- package/esm2020/request-navvy/lists.mjs +25 -0
- package/esm2020/request-navvy/tasks/task.mjs +64 -0
- package/esm2020/request-navvy/tasks.mjs +17 -0
- package/esm2020/request-navvy/user.mjs +53 -0
- package/esm2020/rest.mjs +42 -4
- package/esm2020/services/base.mjs +3 -2
- package/esm2020/services/http/HttpBX.mjs +15 -35
- package/esm2020/services/http/HttpData.mjs +2 -8
- package/esm2020/services/http/http.mjs +8 -8
- package/esm2020/services/http/sessionKey.mjs +36 -20
- package/esm2020/settings.mjs +4 -5
- package/esm2020/typification/rest/base/answer.mjs +2 -0
- package/esm2020/typification/rest/base/filterGenerator.mjs +2 -0
- package/esm2020/typification/rest/batch/batchRequestParam.mjs +1 -1
- package/esm2020/typification/rest/disk/file.mjs +2 -0
- package/esm2020/typification/rest/disk/folder.mjs +2 -0
- package/esm2020/typification/rest/disk/map.mjs +2 -0
- package/esm2020/typification/rest/disk/storage/uploadfile.mjs +2 -0
- package/esm2020/typification/rest/lists/element/get.mjs +1 -1
- package/esm2020/typification/rest/task/fieldsForSend.mjs +2 -0
- package/esm2020/typification/rest/task/people/base.mjs +2 -0
- package/esm2020/typification/rest/task/task.mjs +2 -0
- package/esm2020/typification/settings.mjs +1 -1
- package/fesm2015/bx-rest.mjs +1094 -312
- package/fesm2015/bx-rest.mjs.map +1 -1
- package/fesm2020/bx-rest.mjs +1092 -312
- package/fesm2020/bx-rest.mjs.map +1 -1
- package/functions/mapResult.d.ts +4 -2
- package/map/disk/base.d.ts +12 -0
- package/map/disk/folder.d.ts +9 -0
- package/map/disk/storage.d.ts +9 -0
- package/map/lists/element.d.ts +4 -4
- package/map/lists.d.ts +9 -0
- package/map/task.d.ts +8 -0
- package/map/user.d.ts +12 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -1
- package/request/disk/file.d.ts +25 -0
- package/request/disk/folder.d.ts +26 -0
- package/request/disk/storage.d.ts +34 -0
- package/request/disk.d.ts +10 -0
- package/request/lists/element.d.ts +3 -5
- package/request/tasks/task.d.ts +55 -0
- package/request/tasks.d.ts +8 -0
- package/request/user.d.ts +9 -20
- package/request-navvy/disk/file.d.ts +19 -0
- package/request-navvy/disk/folder.d.ts +11 -0
- package/request-navvy/disk/operation.d.ts +23 -0
- package/request-navvy/disk/storage.d.ts +23 -0
- package/request-navvy/disk.d.ts +12 -0
- package/request-navvy/lists/element.d.ts +12 -0
- package/request-navvy/lists.d.ts +15 -0
- package/request-navvy/tasks/task.d.ts +16 -0
- package/request-navvy/tasks.d.ts +8 -0
- package/request-navvy/user.d.ts +19 -0
- package/rest.d.ts +25 -1
- package/services/http/HttpBX.d.ts +3 -12
- package/services/http/HttpData.d.ts +1 -3
- package/services/http/http.d.ts +0 -5
- package/services/http/sessionKey.d.ts +13 -2
- package/typification/rest/base/{httpAnswerBX.d.ts → answer.d.ts} +1 -1
- package/typification/rest/base/filterGenerator.d.ts +5 -0
- package/typification/rest/batch/batchRequestParam.d.ts +2 -2
- package/typification/rest/disk/file.d.ts +14 -0
- package/typification/rest/disk/folder.d.ts +47 -0
- package/typification/rest/disk/map.d.ts +6 -0
- package/typification/rest/disk/storage/uploadfile.d.ts +9 -0
- package/typification/rest/lists/element/get.d.ts +9 -1
- package/typification/rest/task/fieldsForSend.d.ts +61 -0
- package/typification/rest/task/people/base.d.ts +12 -0
- package/typification/rest/task/task.d.ts +102 -0
- package/typification/settings.d.ts +3 -4
- package/esm2020/services/map/base.mjs +0 -14
- package/esm2020/services/map/rest/user.mjs +0 -89
- package/esm2020/typification/rest/base/httpAnswerBX.mjs +0 -2
- package/services/map/base.d.ts +0 -6
- package/services/map/rest/user.d.ts +0 -12
|
@@ -3,10 +3,8 @@ import { catchError, map } from 'rxjs/operators';
|
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
4
|
import clone from 'just-clone';
|
|
5
5
|
import BaseHttpServices from '../../services/http/http';
|
|
6
|
-
import flatten from 'just-flatten-it';
|
|
7
|
-
import { REST_SETTINGS } from '../../settings';
|
|
8
|
-
import { mapResult } from '../../functions/mapResult';
|
|
9
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
// type TransformFunction<T, R> = (input: T) => R;
|
|
10
8
|
export default class HttpBXServices extends BaseHttpServices {
|
|
11
9
|
timeNowOnServer() {
|
|
12
10
|
return this.httpGet('server.time').pipe(map(v => {
|
|
@@ -48,38 +46,20 @@ export default class HttpBXServices extends BaseHttpServices {
|
|
|
48
46
|
}
|
|
49
47
|
return res;
|
|
50
48
|
}
|
|
51
|
-
mapBranchResult(res) {
|
|
52
|
-
|
|
49
|
+
// override mapBranchResult<T>(res: iBatchRequestAnswer<T>[]) {
|
|
50
|
+
// return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)) as {
|
|
51
|
+
// [key: keyBatch]: T
|
|
52
|
+
// }
|
|
53
|
+
// }
|
|
54
|
+
//
|
|
55
|
+
// override mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[] {
|
|
56
|
+
// return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))
|
|
57
|
+
// }
|
|
58
|
+
post(name, params = {}, textError = '', settings = this.defSettings) {
|
|
59
|
+
return this.httpPost(this.getNameMethod(name), params, textError, settings);
|
|
53
60
|
}
|
|
54
|
-
|
|
55
|
-
return
|
|
56
|
-
}
|
|
57
|
-
post(name, params = {}, textError = '', mapHttp = undefined, settings = this.defSettings) {
|
|
58
|
-
return this.httpPost(this.getNameMethod(name), params, textError, settings).pipe(map(v => {
|
|
59
|
-
console.log('result', v);
|
|
60
|
-
if (v && v.result && REST_SETTINGS.support.map && mapHttp) {
|
|
61
|
-
// console.log('result2', v, Array.isArray(v.result)
|
|
62
|
-
// ? Object.assign(v, {result: v.result.map(i => mapHttp(i))}) as iHttpAnswerBX<R>
|
|
63
|
-
// : Object.assign(v, {result: mapHttp(v.result)}) as iHttpAnswerBX<R>)
|
|
64
|
-
// Array.isArray(v.result)
|
|
65
|
-
// ? Object.assign(v, {result: v.result.map(i => mapHttp(i))}) as iHttpAnswerBX<R>
|
|
66
|
-
// :
|
|
67
|
-
return Object.assign(v, { result: mapHttp(v.result) });
|
|
68
|
-
}
|
|
69
|
-
return v;
|
|
70
|
-
}), map(v => (v && REST_SETTINGS.support.result) ? mapResult : v));
|
|
71
|
-
}
|
|
72
|
-
get(name, params = {}, textError = '', mapHttp = (v) => {
|
|
73
|
-
return v;
|
|
74
|
-
}, settings = this.defSettings) {
|
|
75
|
-
return this.httpGet(this.getNameMethod(name), params, textError, settings).pipe(map(v => {
|
|
76
|
-
if (v && v.result && REST_SETTINGS.support.map) {
|
|
77
|
-
return Array.isArray(v.result)
|
|
78
|
-
? Object.assign(v, { result: v.result.map(i => mapHttp(i)) })
|
|
79
|
-
: Object.assign(v, { result: mapHttp(v.result) });
|
|
80
|
-
}
|
|
81
|
-
return v;
|
|
82
|
-
}), map(v => (v && REST_SETTINGS.support.result) ? mapResult : v));
|
|
61
|
+
get(name, params = {}, textError = '', settings = this.defSettings) {
|
|
62
|
+
return this.httpGet(this.getNameMethod(name), params, textError, settings);
|
|
83
63
|
}
|
|
84
64
|
httpPost(url, params = {}, textError = '', settings = this.defSettings) {
|
|
85
65
|
return this.session.getAuthParams().pipe(mergeMap(auth => {
|
|
@@ -148,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
148
128
|
providedIn: 'root'
|
|
149
129
|
}]
|
|
150
130
|
}] });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sZ0JBQWdCLE1BQU0sMEJBQTBCLENBQUE7QUFNdkQsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUE7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTs7QUFRckQsTUFBTSxDQUFDLE9BQU8sT0FBTyxjQUFlLFNBQVEsZ0JBQWdCO0lBRWpELGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFvQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQ3hFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2FBQzFCO1lBQ0QsT0FBTyxTQUFTLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDTSxNQUFNLENBQU8sS0FBeUQ7UUFDN0UsSUFBSSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBUyxJQUFJLENBQUMsWUFBWSxDQUFJLEtBQUssQ0FBQyxDQUFDLENBQUE7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QUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO3dCQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFBO3FCQUNOO29CQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUE7Z0JBQy9DLENBQUMsQ0FBQyxDQUNILENBQUE7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO2dCQUMxQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQTthQUN4QztRQUNILENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRVEsYUFBYSxDQUFDLEdBQWE7UUFDbEMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3RCLENBQUM7OzJHQXpNa0IsY0FBYzsrR0FBZCxjQUFjLGNBRnJCLE1BQU07MkZBRUMsY0FBYztrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCB0YWtlLCBtZXJnZU1hcCwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xuaW1wb3J0IHsgaUh0dHBQYXJhbVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3Qvc2V0dGluZ3MnXG5pbXBvcnQgQmFzZUh0dHBTZXJ2aWNlcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL2h0dHAnXG5pbXBvcnQge1xuICBpQmF0Y2hSZXF1ZXN0QW5zd2VyLCBpQmF0Y2hSZXF1ZXN0UGFyYW0sXG4gIGlCYXRjaFJlcXVlc3RQYXJhbUFycixcbiAgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCwga2V5QmF0Y2hcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmF0Y2gvYmF0Y2hSZXF1ZXN0UGFyYW0nXG5pbXBvcnQgZmxhdHRlbiBmcm9tICdqdXN0LWZsYXR0ZW4taXQnXG5pbXBvcnQgeyBSRVNUX1NFVFRJTkdTIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3MnXG5pbXBvcnQgeyBtYXBSZXN1bHQgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvbWFwUmVzdWx0J1xuaW1wb3J0IGlIdHRwQW5zd2VyQlggZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9odHRwQW5zd2VyQlgnXG5cbnR5cGUgVHJhbnNmb3JtRnVuY3Rpb248VCwgUj4gPSAoaW5wdXQ6IFQpID0+IFI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSHR0cEJYU2VydmljZXMgZXh0ZW5kcyBCYXNlSHR0cFNlcnZpY2VzIHtcblxuICBvdmVycmlkZSB0aW1lTm93T25TZXJ2ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cEdldDx7IHJlc3VsdD86IERhdGUsIGVycm9yPzogc3RyaW5nIH0+KCdzZXJ2ZXIudGltZScpLnBpcGUoXG4gICAgICBtYXAodiA9PiB7XG4gICAgICAgIGlmICh2ICYmIHYucmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHYucmVzdWx0KVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiDQrdGC0L4g0L/QuNC30LTQtdGGINCwINC90LUg0LzQtdGC0L7QtFxuICAgKiBAcGFyYW0gcGFyYW1cbiAgICovXG4gIG92ZXJyaWRlIGJyYW5jaDxULCBBPihwYXJhbTogaUJhdGNoUmVxdWVzdFBhcmFtQXJyPFQ+IHwgaUJhdGNoUmVxdWVzdFBhcmFtPFQ+W10pOiBPYnNlcnZhYmxlPGlCYXRjaFJlcXVlc3RBbnN3ZXI8QT5bXSB8IHVuZGVmaW5lZD4ge1xuICAgIGxldCBwcmVwYXJlUGFyYW0gPSBPYmplY3QuZW50cmllczxzdHJpbmc+KHRoaXMucHJlcGFyZUJhdGNoPFQ+KHBhcmFtKSlcbiAgICBjb25zdCBzaXplID0gNTAgLy8g0LHQvtC70YzRiNC1INC90LUg0L7RgtC00LDRgdGCXG4gICAgbGV0IHN1YmFycmF5ID0gW10gLy/QvNCw0YHRgdC40LIg0LIg0LrQvtGC0L7RgNGL0Lkg0LHRg9C00LXRgiDQstGL0LLQtdC00LXQvSDRgNC10LfRg9C70YzRgtCw0YIuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLmNlaWwocHJlcGFyZVBhcmFtLmxlbmd0aCAvIHNpemUpOyBpKyspIHtcbiAgICAgIHN1YmFycmF5W2ldID0gcHJlcGFyZVBhcmFtLnNsaWNlKChpICogc2l6ZSksIChpICogc2l6ZSkgKyBzaXplKVxuICAgIH1cblxuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIHN1YmFycmF5Lm1hcChpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFBvc3QoJ2JhdGNoLmpzb24nLCB7XG4gICAgICAgICAgaGFsdDogMCxcbiAgICAgICAgICBjbWQ6IE9iamVjdC5hc3NpZ24oe30sIC4uLmkubWFwKHggPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtbeFswXV06IHhbMV19XG4gICAgICAgICAgfSkpXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgICkgYXMgT2JzZXJ2YWJsZTxpQmF0Y2hSZXF1ZXN0QW5zd2VyPEE+W10+XG4gIH1cblxuICBvdmVycmlkZSBwcmVwYXJlQmF0Y2g8VD4ocGFyYW06IGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiB8IGlCYXRjaFJlcXVlc3RQYXJhbTxUPltdKTogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCB7XG4gICAgbGV0IHJlczogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCA9IE9iamVjdC5rZXlzKHBhcmFtKS5yZWR1Y2UoXG4gICAgICAob2JqLCBrZXkpID0+IHtcbiAgICAgICAgb2JqW2tleV0gPSAnJztcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgIH0sXG4gICAgICB7fSBhcyBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwXG4gICAgKTtcbiAgICBmb3IgKGxldCBrZXkgaW4gcGFyYW0pIHtcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2Yga2V5ID09PSAnbnVtYmVyJyAmJiBwYXJhbVtrZXldLnBhcmFtKSB7XG4gICAgICAgIHJlc1trZXldID0gcGFyYW1ba2V5XS5uYW1lICsgJz8nICsgdGhpcy5nZXRIdHRwUGFyYW1zR2V0KHBhcmFtW2tleV0ucGFyYW0pLnRvU3RyaW5nKClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc1xuICB9XG5cbiAgb3ZlcnJpZGUgbWFwQnJhbmNoUmVzdWx0PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKSB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oW10sIC4uLnJlcy5tYXAoaSA9PiAoaS5yZXN1bHQgJiYgaS5yZXN1bHQucmVzdWx0KSA/IGkucmVzdWx0LnJlc3VsdCA6IHVuZGVmaW5lZCkpIGFzIHtcbiAgICAgIFtrZXk6IGtleUJhdGNoXTogVFxuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG1hcEJyYW5jaFJlc3VsdFdpdGhvdXRLZXk8VD4ocmVzOiBpQmF0Y2hSZXF1ZXN0QW5zd2VyPFQ+W10pOiBUW10ge1xuICAgIHJldHVybiBmbGF0dGVuPFQ+KE9iamVjdC5hc3NpZ24oW10sIC4uLnJlcy5tYXAoaSA9PiAoaS5yZXN1bHQgJiYgaS5yZXN1bHQucmVzdWx0KSA/IGkucmVzdWx0LnJlc3VsdCA6IHVuZGVmaW5lZCkpKVxuICB9XG5cbiAgcG9zdDxUPihuYW1lOiBzdHJpbmdbXSxcbiAgICAgICAgICBwYXJhbXM6IGFueSxcbiAgICAgICAgICB0ZXh0RXJyb3I6IHN0cmluZyxcbiAgICAgICAgICBtYXBIdHRwPzogdW5kZWZpbmVkLFxuICAgICAgICAgIHNldHRpbmdzPzogaUh0dHBQYXJhbVNldHRpbmdzKTogT2JzZXJ2YWJsZTxpSHR0cEFuc3dlckJYPFQ+IHwgdW5kZWZpbmVkPlxuICBwb3N0PFQsIFI+KG5hbWU6IHN0cmluZ1tdLFxuICAgICAgICAgICAgIHBhcmFtczogYW55LFxuICAgICAgICAgICAgIHRleHRFcnJvcjogc3RyaW5nLFxuICAgICAgICAgICAgIG1hcEh0dHA6IFRyYW5zZm9ybUZ1bmN0aW9uPFQsIFI+LFxuICAgICAgICAgICAgIHNldHRpbmdzPzogaUh0dHBQYXJhbVNldHRpbmdzKTogT2JzZXJ2YWJsZTxpSHR0cEFuc3dlckJYPFI+IHwgdW5kZWZpbmVkPlxuICBwb3N0PFQsIFI+KG5hbWU6IHN0cmluZ1tdLFxuICAgICAgICAgICAgIHBhcmFtczogYW55ID0ge30sXG4gICAgICAgICAgICAgdGV4dEVycm9yID0gJycsXG4gICAgICAgICAgICAgbWFwSHR0cDogVHJhbnNmb3JtRnVuY3Rpb248VCwgUj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgICAgICAgICAgc2V0dGluZ3M6IGlIdHRwUGFyYW1TZXR0aW5ncyA9IHRoaXMuZGVmU2V0dGluZ3MpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwUG9zdDxpSHR0cEFuc3dlckJYPFQ+Pih0aGlzLmdldE5hbWVNZXRob2QobmFtZSksIHBhcmFtcywgdGV4dEVycm9yLCBzZXR0aW5ncykucGlwZShcbiAgICAgIG1hcCh2ID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVzdWx0JywgdilcbiAgICAgICAgICBpZiAodiAmJiB2LnJlc3VsdCAmJiBSRVNUX1NFVFRJTkdTLnN1cHBvcnQubWFwICYmIG1hcEh0dHApIHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdyZXN1bHQyJywgdiwgQXJyYXkuaXNBcnJheSh2LnJlc3VsdClcbiAgICAgICAgICAgIC8vICAgPyBPYmplY3QuYXNzaWduKHYsIHtyZXN1bHQ6IHYucmVzdWx0Lm1hcChpID0+IG1hcEh0dHAoaSkpfSkgYXMgaUh0dHBBbnN3ZXJCWDxSPlxuICAgICAgICAgICAgLy8gICA6IE9iamVjdC5hc3NpZ24odiwge3Jlc3VsdDogbWFwSHR0cCh2LnJlc3VsdCl9KSBhcyBpSHR0cEFuc3dlckJYPFI+KVxuXG4gICAgICAgICAgICAvLyBBcnJheS5pc0FycmF5KHYucmVzdWx0KVxuICAgICAgICAgICAgLy8gICA/IE9iamVjdC5hc3NpZ24odiwge3Jlc3VsdDogdi5yZXN1bHQubWFwKGkgPT4gbWFwSHR0cChpKSl9KSBhcyBpSHR0cEFuc3dlckJYPFI+XG4gICAgICAgICAgICAvLyAgIDpcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHYsIHtyZXN1bHQ6IG1hcEh0dHAodi5yZXN1bHQpfSkgYXMgaUh0dHBBbnN3ZXJCWDxSPlxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdlxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgbWFwKHYgPT4gKHYgJiYgUkVTVF9TRVRUSU5HUy5zdXBwb3J0LnJlc3VsdCkgPyBtYXBSZXN1bHQgOiB2KVxuICAgIClcbiAgfVxuXG4gIGdldDxULCBSID0gVD4obmFtZTogc3RyaW5nW10sXG4gICAgICAgICAgICAgICAgcGFyYW1zOiBhbnkgPSB7fSxcbiAgICAgICAgICAgICAgICB0ZXh0RXJyb3IgPSAnJyxcbiAgICAgICAgICAgICAgICBtYXBIdHRwOiBUcmFuc2Zvcm1GdW5jdGlvbjxULCBSPiA9ICh2OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB2XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5ncykge1xuICAgIHJldHVybiB0aGlzLmh0dHBHZXQ8aUh0dHBBbnN3ZXJCWDxUPj4odGhpcy5nZXROYW1lTWV0aG9kKG5hbWUpLCBwYXJhbXMsIHRleHRFcnJvciwgc2V0dGluZ3MpLnBpcGUoXG4gICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQgJiYgUkVTVF9TRVRUSU5HUy5zdXBwb3J0Lm1hcCkge1xuICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodi5yZXN1bHQpXG4gICAgICAgICAgICAgID8gT2JqZWN0LmFzc2lnbih2LCB7cmVzdWx0OiB2LnJlc3VsdC5tYXAoaSA9PiBtYXBIdHRwKGkpKX0pIGFzIGlIdHRwQW5zd2VyQlg8Uj5cbiAgICAgICAgICAgICAgOiBPYmplY3QuYXNzaWduKHYsIHtyZXN1bHQ6IG1hcEh0dHAodi5yZXN1bHQpfSkgYXMgaUh0dHBBbnN3ZXJCWDxSPlxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdlxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgbWFwKHYgPT4gKHYgJiYgUkVTVF9TRVRUSU5HUy5zdXBwb3J0LnJlc3VsdCkgPyBtYXBSZXN1bHQgOiB2KVxuICAgIClcbiAgfVxuXG4gIG92ZXJyaWRlIGh0dHBQb3N0PFQ+KHVybDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IGFueSA9IHt9LFxuICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RXJyb3IgPSAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IGlIdHRwUGFyYW1TZXR0aW5ncyA9IHRoaXMuZGVmU2V0dGluZ3NcbiAgKTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbi5nZXRBdXRoUGFyYW1zKCkucGlwZShcbiAgICAgIG1lcmdlTWFwKGF1dGggPT4ge1xuICAgICAgICBpZiAoYXV0aCkge1xuICAgICAgICAgIGNvbnN0IHBhcmFtc0Nsb25lID0gY2xvbmUocGFyYW1zKVxuICAgICAgICAgIHBhcmFtc0Nsb25lW3RoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKCldID0gYXV0aFxuICAgICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcCh2ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VCB8IHVuZGVmaW5lZD4oXG4gICAgICAgICAgICAgICAgICB0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh2KSArIHVybCxcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0SHR0cFBhcmFtc1Bvc3QocGFyYW1zQ2xvbmUsIG5ldyBGb3JtRGF0YSgpLCBmYWxzZSwgW10sIHNldHRpbmdzKSlcbiAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXh0RXJyb3IubGVuZ3RoICYmIGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEVycm9yID0gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5lcnJvcign0J7RiNC40LHQutCwOiAnICsgdGV4dEVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycilcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnZ2V0IGJhc2UgdXJsIGVycm9yJylcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc25hY2tCYXIuZXJyb3IoJ0Vycm9yOiBBdXRoIG5vdCBnZXQnKVxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdhdXRoIG5vdCBnZXQnKVxuICAgICAgICB9XG4gICAgICB9KSlcbiAgfVxuXG4gIG92ZXJyaWRlIGh0dHBHZXQ8VD4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgcGFyYW1zOiBhbnkgPSB7fSxcbiAgICB0ZXh0RXJyb3IgPSAnJyxcbiAgICBzZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xuICApOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEF1dGhQYXJhbXMoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoYXV0aCA9PiB7XG4gICAgICAgIGlmIChhdXRoKSB7XG4gICAgICAgICAgaWYgKHBhcmFtcyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcGFyYW1zID0ge31cbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcGFyYW1zQ2xvbmUgPSBjbG9uZShwYXJhbXMpXG4gICAgICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXG4gICAgICAgICAgbGV0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBwYXJhbXM6IHRoaXMuZ2V0SHR0cFBhcmFtc0dldChwYXJhbXNDbG9uZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAodiA9PiB7XG4gICAgICAgICAgICAgIGlmICh2KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5wcmVwYXJlQmFzZUFkZHJlc3ModikgKyB1cmwsIG9wdGlvbnMpLnBpcGUoXG4gICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRleHRFcnJvci5sZW5ndGggJiYgZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdGV4dEVycm9yID0gZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCfQntGI0LjQsdC60LA6ICcgKyB0ZXh0RXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycilcbiAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdnZXQgYmFzZSB1cmwgZXJyb3InKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zbmFja0Jhci5lcnJvcignRXJyb3I6IEF1dGggbm90IGdldCcpXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2F1dGggbm90IGdldCcpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0TmFtZU1ldGhvZChhcnI6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIGFyci5qb2luKCcuJylcbiAgfVxuXG59XG5cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sZ0JBQWdCLE1BQU0sMEJBQTBCLENBQUE7O0FBUXZELGtEQUFrRDtBQUtsRCxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFFakQsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQW9DLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDeEUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQkFDakIsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7YUFDMUI7WUFDRCxPQUFPLFNBQVMsQ0FBQTtRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNNLE1BQU0sQ0FBTyxLQUF5RDtRQUM3RSxJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFTLElBQUksQ0FBQyxZQUFZLENBQUksS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN0RSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUEsQ0FBQyxtQkFBbUI7UUFDbkMsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFBLENBQUMsMkNBQTJDO1FBQzdELEtBQUssSUFBSSxDQUFD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QUN4Qzs0QkFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUE7NEJBQzNDLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO3dCQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFBO3FCQUNOO29CQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUE7Z0JBQy9DLENBQUMsQ0FBQyxDQUNILENBQUE7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO2dCQUMxQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQTthQUN4QztRQUNILENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRVEsYUFBYSxDQUFDLEdBQWE7UUFDbEMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3RCLENBQUM7OzJHQS9Ka0IsY0FBYzsrR0FBZCxjQUFjLGNBRnJCLE1BQU07MkZBRUMsY0FBYztrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCB0YWtlLCBtZXJnZU1hcCwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xuaW1wb3J0IHsgaUh0dHBQYXJhbVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3Qvc2V0dGluZ3MnXG5pbXBvcnQgQmFzZUh0dHBTZXJ2aWNlcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL2h0dHAnXG5pbXBvcnQge1xuICBpQmF0Y2hSZXF1ZXN0QW5zd2VyLCBpQmF0Y2hSZXF1ZXN0UGFyYW0sXG4gIGlCYXRjaFJlcXVlc3RQYXJhbUFycixcbiAgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCxcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmF0Y2gvYmF0Y2hSZXF1ZXN0UGFyYW0nXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXG5cbi8vIHR5cGUgVHJhbnNmb3JtRnVuY3Rpb248VCwgUj4gPSAoaW5wdXQ6IFQpID0+IFI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSHR0cEJYU2VydmljZXMgZXh0ZW5kcyBCYXNlSHR0cFNlcnZpY2VzIHtcblxuICBvdmVycmlkZSB0aW1lTm93T25TZXJ2ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cEdldDx7IHJlc3VsdD86IERhdGUsIGVycm9yPzogc3RyaW5nIH0+KCdzZXJ2ZXIudGltZScpLnBpcGUoXG4gICAgICBtYXAodiA9PiB7XG4gICAgICAgIGlmICh2ICYmIHYucmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHYucmVzdWx0KVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiDQrdGC0L4g0L/QuNC30LTQtdGGINCwINC90LUg0LzQtdGC0L7QtFxuICAgKiBAcGFyYW0gcGFyYW1cbiAgICovXG4gIG92ZXJyaWRlIGJyYW5jaDxULCBBPihwYXJhbTogaUJhdGNoUmVxdWVzdFBhcmFtQXJyPFQ+IHwgaUJhdGNoUmVxdWVzdFBhcmFtPFQ+W10pOiBPYnNlcnZhYmxlPGlCYXRjaFJlcXVlc3RBbnN3ZXI8QT5bXSB8IHVuZGVmaW5lZD4ge1xuICAgIGxldCBwcmVwYXJlUGFyYW0gPSBPYmplY3QuZW50cmllczxzdHJpbmc+KHRoaXMucHJlcGFyZUJhdGNoPFQ+KHBhcmFtKSlcbiAgICBjb25zdCBzaXplID0gNTAgLy8g0LHQvtC70YzRiNC1INC90LUg0L7RgtC00LDRgdGCXG4gICAgbGV0IHN1YmFycmF5ID0gW10gLy/QvNCw0YHRgdC40LIg0LIg0LrQvtGC0L7RgNGL0Lkg0LHRg9C00LXRgiDQstGL0LLQtdC00LXQvSDRgNC10LfRg9C70YzRgtCw0YIuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLmNlaWwocHJlcGFyZVBhcmFtLmxlbmd0aCAvIHNpemUpOyBpKyspIHtcbiAgICAgIHN1YmFycmF5W2ldID0gcHJlcGFyZVBhcmFtLnNsaWNlKChpICogc2l6ZSksIChpICogc2l6ZSkgKyBzaXplKVxuICAgIH1cblxuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIHN1YmFycmF5Lm1hcChpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFBvc3QoJ2JhdGNoLmpzb24nLCB7XG4gICAgICAgICAgaGFsdDogMCxcbiAgICAgICAgICBjbWQ6IE9iamVjdC5hc3NpZ24oe30sIC4uLmkubWFwKHggPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtbeFswXV06IHhbMV19XG4gICAgICAgICAgfSkpXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgICkgYXMgT2JzZXJ2YWJsZTxpQmF0Y2hSZXF1ZXN0QW5zd2VyPEE+W10+XG4gIH1cblxuICBvdmVycmlkZSBwcmVwYXJlQmF0Y2g8VD4ocGFyYW06IGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiB8IGlCYXRjaFJlcXVlc3RQYXJhbTxUPltdKTogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCB7XG4gICAgbGV0IHJlczogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCA9IE9iamVjdC5rZXlzKHBhcmFtKS5yZWR1Y2UoXG4gICAgICAob2JqLCBrZXkpID0+IHtcbiAgICAgICAgb2JqW2tleV0gPSAnJztcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgIH0sXG4gICAgICB7fSBhcyBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwXG4gICAgKTtcbiAgICBmb3IgKGxldCBrZXkgaW4gcGFyYW0pIHtcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2Yga2V5ID09PSAnbnVtYmVyJyAmJiBwYXJhbVtrZXldLnBhcmFtKSB7XG4gICAgICAgIHJlc1trZXldID0gcGFyYW1ba2V5XS5uYW1lICsgJz8nICsgdGhpcy5nZXRIdHRwUGFyYW1zR2V0KHBhcmFtW2tleV0ucGFyYW0pLnRvU3RyaW5nKClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc1xuICB9XG5cbiAgLy8gb3ZlcnJpZGUgbWFwQnJhbmNoUmVzdWx0PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKSB7XG4gIC8vICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oW10sIC4uLnJlcy5tYXAoaSA9PiAoaS5yZXN1bHQgJiYgaS5yZXN1bHQucmVzdWx0KSA/IGkucmVzdWx0LnJlc3VsdCA6IHVuZGVmaW5lZCkpIGFzIHtcbiAgLy8gICAgIFtrZXk6IGtleUJhdGNoXTogVFxuICAvLyAgIH1cbiAgLy8gfVxuICAvL1xuICAvLyBvdmVycmlkZSBtYXBCcmFuY2hSZXN1bHRXaXRob3V0S2V5PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKTogVFtdIHtcbiAgLy8gICByZXR1cm4gZmxhdHRlbjxUPihPYmplY3QuYXNzaWduKFtdLCAuLi5yZXMubWFwKGkgPT4gKGkucmVzdWx0ICYmIGkucmVzdWx0LnJlc3VsdCkgPyBpLnJlc3VsdC5yZXN1bHQgOiB1bmRlZmluZWQpKSlcbiAgLy8gfVxuXG4gIHBvc3Q8VD4obmFtZTogc3RyaW5nW10sXG4gICAgICAgICAgcGFyYW1zOiBhbnkgPSB7fSxcbiAgICAgICAgICB0ZXh0RXJyb3IgPSAnJyxcbiAgICAgICAgICBzZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5ncykge1xuICAgIHJldHVybiB0aGlzLmh0dHBQb3N0PGlCWFJlc3RBbnN3ZXI8VD4+KHRoaXMuZ2V0TmFtZU1ldGhvZChuYW1lKSwgcGFyYW1zLCB0ZXh0RXJyb3IsIHNldHRpbmdzKVxuICB9XG5cbiAgZ2V0PFQ+KG5hbWU6IHN0cmluZ1tdLFxuICAgICAgICAgcGFyYW1zOiBhbnkgPSB7fSxcbiAgICAgICAgIHRleHRFcnJvciA9ICcnLFxuICAgICAgICAgc2V0dGluZ3M6IGlIdHRwUGFyYW1TZXR0aW5ncyA9IHRoaXMuZGVmU2V0dGluZ3MpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwR2V0PGlCWFJlc3RBbnN3ZXI8VD4+KHRoaXMuZ2V0TmFtZU1ldGhvZChuYW1lKSwgcGFyYW1zLCB0ZXh0RXJyb3IsIHNldHRpbmdzKVxuICB9XG5cbiAgb3ZlcnJpZGUgaHR0cFBvc3Q8VD4odXJsOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogYW55ID0ge30sXG4gICAgICAgICAgICAgICAgICAgICAgIHRleHRFcnJvciA9ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xuICApOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEF1dGhQYXJhbXMoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoYXV0aCA9PiB7XG4gICAgICAgIGlmIChhdXRoKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW1zQ2xvbmUgPSBjbG9uZShwYXJhbXMpXG4gICAgICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvbi5nZXRCYXNlVXJsKCkucGlwZShcbiAgICAgICAgICAgIG1lcmdlTWFwKHYgPT4ge1xuICAgICAgICAgICAgICBpZiAodikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUIHwgdW5kZWZpbmVkPihcbiAgICAgICAgICAgICAgICAgIHRoaXMucHJlcGFyZUJhc2VBZGRyZXNzKHYpICsgdXJsLFxuICAgICAgICAgICAgICAgICAgdGhpcy5nZXRIdHRwUGFyYW1zUG9zdChwYXJhbXNDbG9uZSwgbmV3IEZvcm1EYXRhKCksIGZhbHNlLCBbXSwgc2V0dGluZ3MpKVxuICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRleHRFcnJvci5sZW5ndGggJiYgZXJyLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RXJyb3IgPSBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCfQntGI0LjQsdC60LA6ICcgKyB0ZXh0RXJyb3IpXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdnZXQgYmFzZSB1cmwgZXJyb3InKVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zbmFja0Jhci5lcnJvcignRXJyb3I6IEF1dGggbm90IGdldCcpXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2F1dGggbm90IGdldCcpXG4gICAgICAgIH1cbiAgICAgIH0pKVxuICB9XG5cbiAgb3ZlcnJpZGUgaHR0cEdldDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBwYXJhbXM6IGFueSA9IHt9LFxuICAgIHRleHRFcnJvciA9ICcnLFxuICAgIHNldHRpbmdzOiBpSHR0cFBhcmFtU2V0dGluZ3MgPSB0aGlzLmRlZlNldHRpbmdzXG4gICk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpLnBpcGUoXG4gICAgICBtZXJnZU1hcChhdXRoID0+IHtcbiAgICAgICAgaWYgKGF1dGgpIHtcbiAgICAgICAgICBpZiAocGFyYW1zID09PSBudWxsKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSB7fVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcbiAgICAgICAgICBwYXJhbXNDbG9uZVt0aGlzLnNlc3Npb24uZ2V0S2V5QXV0aCgpXSA9IGF1dGhcbiAgICAgICAgICBsZXQgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIHBhcmFtczogdGhpcy5nZXRIdHRwUGFyYW1zR2V0KHBhcmFtc0Nsb25lKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcCh2ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh2KSArIHVybCwgb3B0aW9ucykucGlwZShcbiAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGV4dEVycm9yLmxlbmd0aCAmJiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0RXJyb3IgPSBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIuZXJyb3IoJ9Ce0YjQuNCx0LrQsDogJyArIHRleHRFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKVxuICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2dldCBiYXNlIHVybCBlcnJvcicpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCdFcnJvcjogQXV0aCBub3QgZ2V0JylcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnYXV0aCBub3QgZ2V0JylcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBvdmVycmlkZSBnZXROYW1lTWV0aG9kKGFycjogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gYXJyLmpvaW4oJy4nKVxuICB9XG5cbn1cblxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseServices } from '
|
|
1
|
+
import { BaseServices } from '../base';
|
|
2
2
|
import { HttpParams } from '@angular/common/http';
|
|
3
3
|
export class HttpData extends BaseServices {
|
|
4
4
|
constructor() {
|
|
@@ -103,12 +103,6 @@ export class HttpData extends BaseServices {
|
|
|
103
103
|
}
|
|
104
104
|
return sendHttpParams;
|
|
105
105
|
}
|
|
106
|
-
mapResult(v) {
|
|
107
|
-
if (v && (v.result || typeof v.result === 'boolean')) {
|
|
108
|
-
return v.result;
|
|
109
|
-
}
|
|
110
|
-
return undefined;
|
|
111
|
-
}
|
|
112
106
|
sliceArrayIntoChunks(arr, chunkSize) {
|
|
113
107
|
const res = [];
|
|
114
108
|
for (let i = 0; i < arr.length; i += chunkSize) {
|
|
@@ -121,4 +115,4 @@ export class HttpData extends BaseServices {
|
|
|
121
115
|
return str.replace(/\/{2,}/g, '/');
|
|
122
116
|
}
|
|
123
117
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9odHRwL0h0dHBEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJakQsTUFBTSxPQUFPLFFBQVMsU0FBUSxZQUFZO0lBQTFDOztRQUVJLGdCQUFXLEdBQXVCO1lBQzlCLFFBQVEsRUFBRTtnQkFDTixJQUFJLEVBQUUsSUFBSTtnQkFDVixRQUFRLEVBQUUsS0FBSzthQUNsQjtTQUNKLENBQUE7SUFpSUwsQ0FBQztJQS9IRyxnQkFBZ0IsQ0FBRSw0REFBNEQ7SUFDMUUsR0FBUSxFQUNSLGlCQUE2QixJQUFJLFVBQVUsRUFBRSxFQUM3QyxTQUFTLEdBQUcsS0FBSyxFQUNqQixVQUFvQixFQUFFO0lBQ3RCLDhCQUE4QjtJQUM5QixDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVc7UUFFcEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDbkIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFBO1lBQ2YsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNoQixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ3RCLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO29CQUN6QixDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUc7b0JBQzlELENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7YUFDaEM7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TyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlU2VydmljZXMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iYXNlJ1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IGlIdHRwUGFyYW1TZXR0aW5ncyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3NldHRpbmdzJ1xyXG5pbXBvcnQgaUh0dHBBbnN3ZXJCWCBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL2h0dHBBbnN3ZXJCWCdcclxuXHJcbmV4cG9ydCBjbGFzcyBIdHRwRGF0YSBleHRlbmRzIEJhc2VTZXJ2aWNlcyB7XHJcblxyXG4gICAgZGVmU2V0dGluZ3M6IGlIdHRwUGFyYW1TZXR0aW5ncyA9IHtcclxuICAgICAgICB0aW1lWm9uZToge1xyXG4gICAgICAgICAgICBjYWxjOiB0cnVlLFxyXG4gICAgICAgICAgICBsZXZlbE91dDogZmFsc2VcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SHR0cFBhcmFtc0dldCggLy8g0L3QtSDRgtCw0Log0YPQtiDQuCDRgdC70L7QttC90L4g0YHQtNC10LvQsNGC0Ywg0YHQu9C+0LbQtdC90L3Ri9C5IEh0dHBQYXJhbXMsINC00LAg0LPRg9Cz0Ls/XHJcbiAgICAgICAgb2JqOiBhbnksXHJcbiAgICAgICAgc2VuZEh0dHBQYXJhbXM6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLFxyXG4gICAgICAgIHRoaXNBcnJheSA9IGZhbHNlLFxyXG4gICAgICAgIG5lc3Rpbmc6IHN0cmluZ1tdID0gW10sXHJcbiAgICAgICAgLy8gc2V0dGluZ3MgPSB0aGlzLmRlZlNldHRpbmdzXHJcbiAgICAgICAgXyA9IHRoaXMuZGVmU2V0dGluZ3NcclxuICAgICk6IGFueSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XHJcbiAgICAgICAgICAgIGxldCBzZXRLZXkgPSAnJ1xyXG4gICAgICAgICAgICBpZiAobmVzdGluZy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBmaXJzdCA9IG5lc3RpbmdbMF1cclxuICAgICAgICAgICAgICAgIHNldEtleSA9IChuZXN0aW5nLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgICAgICAgICAgICAgPyBmaXJzdCArICdbJyArIG5lc3Rpbmcuc2xpY2UoMSkuam9pbignXVsnKSArICddWycgKyBrZXkgKyAnXSdcclxuICAgICAgICAgICAgICAgICAgICA6IGZpcnN0ICsgJ1snICsga2V5ICsgJ10nXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzZXRLZXkgPSBrZXlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGVvZiBvYmpba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcyA9IHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIG9ialtrZXldKVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICBjYXNlICdzeW1ib2wnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2JpZ2ludCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcyA9IHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIFN0cmluZyhvYmpba2V5XSkpXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ29iamVjdCc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmVzdGluZy5wdXNoKGtleSlcclxuICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcyA9IHRoaXMuZ2V0SHR0cFBhcmFtc0dldChvYmpba2V5XSwgc2VuZEh0dHBQYXJhbXMsIGZhbHNlLCBuZXN0aW5nKVxyXG4gICAgICAgICAgICAgICAgICAgIG5lc3RpbmcucG9wKClcclxuICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZnVuY3Rpb24nOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAndW5kZWZpbmVkJzpcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcign0KLRiyDQvtGC0L/RgNCw0LLQuNC7INGH0YLQvi3RgtC+INC90LUg0YLQvicsIG9ialtrZXldLCB0eXBlb2Ygb2JqW2tleV0sIHR5cGVvZiBvYmopXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHNlbmRIdHRwUGFyYW1zXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SHR0cFBhcmFtc1Bvc3QoXHJcbiAgICAgICAgb2JqOiBhbnksXHJcbiAgICAgICAgc2VuZEh0dHBQYXJhbXM6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCksXHJcbiAgICAgICAgdGhpc0FycmF5ID0gZmFsc2UsXHJcbiAgICAgICAgbmVzdGluZzogc3RyaW5nW10gPSBbXSxcclxuICAgICAgICBzZXR0aW5ncyA9IHRoaXMuZGVmU2V0dGluZ3NcclxuICAgICk6IGFueSB7XHJcblxyXG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBCbG9iKSB7XHJcbiAgICAgICAgICAgIGxldCBmaXJzdCA9IG5lc3RpbmdbMF1cclxuICAgICAgICAgICAgbGV0IHNldEtleSA9IChuZXN0aW5nLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgICAgICAgICA/IGZpcnN0ICsgJ1snICsgbmVzdGluZy5zbGljZSgxKS5qb2luKCddWycpICsgJ10nXHJcbiAgICAgICAgICAgICAgICA6IGZpcnN0XHJcbiAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIG9iailcclxuICAgICAgICAgICAgcmV0dXJuIHNlbmRIdHRwUGFyYW1zXHJcbiAgICAgICAgfSBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIGxldCBmaXJzdCA9IG5lc3RpbmdbMF1cclxuICAgICAgICAgICAgbGV0IHR6b2Zmc2V0ID0gKHNldHRpbmdzLnRpbWVab25lLmNhbGMpID8gIG9iai5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDAgOiAwIC8vINCy0YvRh9C40YHQu9GP0LXQvCDQstC70LjRj9C90LjQtSDRh9Cw0YHQvtCy0L7Qs9C+INC/0L7Rj9GB0LBcclxuICAgICAgICAgICAgbGV0IGxldmVsT3V0ID0gKHNldHRpbmdzLnRpbWVab25lLmxldmVsT3V0KSA/ICBvYmouZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwIDogMCAvLyDQstGL0YfQuNGB0LvRj9C10Lwg0LLQu9C40Y/QvdC40LUg0YfQsNGB0L7QstC+0LPQviDQv9C+0Y/RgdCwXHJcbiAgICAgICAgICAgIGxldCBzZXRLZXkgPSAobmVzdGluZy5sZW5ndGggPiAxKVxyXG4gICAgICAgICAgICAgICAgPyBmaXJzdCArICdbJyArIG5lc3Rpbmcuc2xpY2UoMSkuam9pbignXVsnKSArICddJ1xyXG4gICAgICAgICAgICAgICAgOiBmaXJzdFxyXG4gICAgICAgICAgICBzZW5kSHR0cFBhcmFtcy5zZXQoc2V0S2V5LCAobmV3IERhdGUob2JqLnZhbHVlT2YoKSArIHR6b2Zmc2V0IC0gbGV2ZWxPdXQpKS50b0lTT1N0cmluZygpKVxyXG4gICAgICAgICAgICByZXR1cm4gc2VuZEh0dHBQYXJhbXNcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgICAgICAgICAgICAgIGxldCBzZXRLZXkgPSAnJ1xyXG4gICAgICAgICAgICAgICAgaWYgKG5lc3RpbmcubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICAgICAgICAgICAgICAgIHNldEtleSA9IChuZXN0aW5nLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZmlyc3QgKyAnWycgKyBuZXN0aW5nLnNsaWNlKDEpLmpvaW4oJ11bJykgKyAnXVsnICsga2V5ICsgJ10nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZmlyc3QgKyAnWycgKyBrZXkgKyAnXSdcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0S2V5ID0ga2V5XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHR5cGVvZiBvYmpba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIG9ialtrZXldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3N5bWJvbCc6XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdiaWdpbnQnOlxyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcy5zZXQoc2V0S2V5LCBTdHJpbmcob2JqW2tleV0pKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ29iamVjdCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lc3RpbmcucHVzaChrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zID0gdGhpcy5nZXRIdHRwUGFyYW1zUG9zdChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialtrZXldLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lc3RpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lc3RpbmcucG9wKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAndW5kZWZpbmVkJzpcclxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCfQotGLINC+0YLQv9GA0LDQstC40Lsg0YfRgtC+LdGC0L4g0L3QtSDRgtC+Jywgb2JqW2tleV0sIHR5cGVvZiBvYmpba2V5XSwgdHlwZW9mIG9iailcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc2VuZEh0dHBQYXJhbXNcclxuICAgIH1cclxuXHJcbiAgICBtYXBSZXN1bHQ8VD4odjogaUh0dHBBbnN3ZXJCWDxUPiB8IHVuZGVmaW5lZCk6IFQgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICh2ICYmICh2LnJlc3VsdCB8fCB0eXBlb2Ygdi5yZXN1bHQgPT09ICdib29sZWFuJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHYucmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgIH1cclxuXHJcbiAgICBzbGljZUFycmF5SW50b0NodW5rcyhhcnI6IGFueVtdLCBjaHVua1NpemU6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSArPSBjaHVua1NpemUpIHtcclxuICAgICAgICAgICAgY29uc3QgY2h1bmsgPSBhcnIuc2xpY2UoaSwgaSArIGNodW5rU2l6ZSk7XHJcbiAgICAgICAgICAgIHJlcy5wdXNoKGNodW5rKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlcztcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmluZ011bHRpcGxlU2xhc2hlcyhzdHI6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvXFwvezIsfS9nLCAnLycpXHJcbiAgICB9XHJcbn1cclxuIl19
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9odHRwL0h0dHBEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBR2pELE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJQUExQzs7UUFFSSxnQkFBVyxHQUF1QjtZQUM5QixRQUFRLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLEtBQUs7YUFDbEI7U0FDSixDQUFBO0lBMEhMLENBQUM7SUF4SEcsZ0JBQWdCLENBQUUsNERBQTREO0lBQzFFLEdBQVEsRUFDUixpQkFBNkIsSUFBSSxVQUFVLEVBQUUsRUFDN0MsU0FBUyxHQUFHLEtBQUssRUFDakIsVUFBb0IsRUFBRTtJQUN0Qiw4QkFBOEI7SUFDOUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXO1FBRXBCLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ25CLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQTtZQUNmLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDaEIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN0QixNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHO29CQUM5RCxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO2FBQ2hDO2lCQUFNO2dCQUNILE1BQU0sR0FBRyxHQUFHLENBQUE7YUFDZjtZQUNELFFBQVEsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3JCLEtBQUssUUFBUTtvQkFDVCxjQUFjLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7b0JBQ3JELE1BQUs7Z0JBQ1QsS0FBSyxRQUFRLENBQUM7Z0JBQ2QsS0FBSyxRQUFRLENBQUM7Z0JBQ2QsS0FBSyxRQUFRLENBQUM7Z0JBQ2QsS0FBSyxTQUFTO29CQUNWLGNBQWMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDN0QsTUFBSztnQkFDVCxLQUFLLFFBQVE7b0JBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtvQkFDakIsY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtvQkFDaEYsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFBO29CQUNiLE1BQUs7Z0JBQ1QsS0FBSyxVQUFVLENBQUM7Z0JBQ2hCLEtBQUssV0FBVyxDQUFDO2dCQUNqQjtvQkFDSSxPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFBO2FBQ3ZGO1NBQ0o7UUFDRCxPQUFPLGNBQWMsQ0FBQTtJQUN6QixDQUFDO0lBRUQsaUJBQWlCLENBQ2IsR0FBUSxFQUNSLGlCQUEyQixJQUFJLFFBQVEsRUFBRSxFQUN6QyxTQUFTLEdBQUcsS0FBSyxFQUNqQixVQUFvQixFQUFFLEVBQ3RCLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVztRQUczQixJQUFJLEdBQUcsWUFBWSxJQUFJLEVBQUU7WUFDckIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3RCLElBQUksTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUc7Z0JBQ2pELENBQUMsQ0FBQyxLQUFLLENBQUE7WUFDWCxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUMvQixPQUFPLGNBQWMsQ0FBQTtTQUN4QjthQUFNLElBQUksR0FBRyxZQUFZLElBQUksRUFBRTtZQUM1QixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBRSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLG1DQUFtQztZQUNsSCxJQUFJLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsbUNBQW1DO1lBQ3RILElBQUksTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUc7Z0JBQ2pELENBQUMsQ0FBQyxLQUFLLENBQUE7WUFDWCxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1lBQ3pGLE9BQU8sY0FBYyxDQUFBO1NBQ3hCO2FBQU07WUFDSCxLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFBO2dCQUNmLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtvQkFDaEIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUN0QixNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzt3QkFDekIsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHO3dCQUM5RCxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO2lCQUNoQztxQkFBTTtvQkFDSCxNQUFNLEdBQUcsR0FBRyxDQUFBO2lCQUNmO2dCQUNELFFBQVEsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3JCLEtBQUssUUFBUTt3QkFDVCxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTt3QkFDcEMsTUFBSztvQkFDVCxLQUFLLFFBQVEsQ0FBQztvQkFDZCxLQUFLLFFBQVEsQ0FBQztvQkFDZCxLQUFLLFFBQVEsQ0FBQztvQkFDZCxLQUFLLFNBQVM7d0JBQ1YsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7d0JBQzVDLE1BQUs7b0JBQ1QsS0FBSyxRQUFRO3dCQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7d0JBQ2pCLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFDUixjQUFjLEVBQ2QsS0FBSyxFQUNMLE9BQU8sRUFDUCxRQUFRLENBQ1gsQ0FBQTt3QkFDRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7d0JBQ2IsTUFBSztvQkFDVCxLQUFLLFVBQVUsQ0FBQztvQkFDaEIsS0FBSyxXQUFXLENBQUM7b0JBQ2pCO3dCQUNJLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLENBQUE7aUJBQ3ZGO2FBQ0o7U0FDSjtRQUNELE9BQU8sY0FBYyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUFVLEVBQUUsU0FBaUI7UUFDOUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLFNBQVMsRUFBRTtZQUM1QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDMUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELHVCQUF1QixDQUFDLEdBQVc7UUFDL0IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlU2VydmljZXMgfSBmcm9tICcuLi9iYXNlJ1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IGlIdHRwUGFyYW1TZXR0aW5ncyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3NldHRpbmdzJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhIGV4dGVuZHMgQmFzZVNlcnZpY2VzIHtcclxuXHJcbiAgICBkZWZTZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0ge1xyXG4gICAgICAgIHRpbWVab25lOiB7XHJcbiAgICAgICAgICAgIGNhbGM6IHRydWUsXHJcbiAgICAgICAgICAgIGxldmVsT3V0OiBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRIdHRwUGFyYW1zR2V0KCAvLyDQvdC1INGC0LDQuiDRg9C2INC4INGB0LvQvtC20L3QviDRgdC00LXQu9Cw0YLRjCDRgdC70L7QttC10L3QvdGL0LkgSHR0cFBhcmFtcywg0LTQsCDQs9GD0LPQuz9cclxuICAgICAgICBvYmo6IGFueSxcclxuICAgICAgICBzZW5kSHR0cFBhcmFtczogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCksXHJcbiAgICAgICAgdGhpc0FycmF5ID0gZmFsc2UsXHJcbiAgICAgICAgbmVzdGluZzogc3RyaW5nW10gPSBbXSxcclxuICAgICAgICAvLyBzZXR0aW5ncyA9IHRoaXMuZGVmU2V0dGluZ3NcclxuICAgICAgICBfID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICAgKTogYW55IHtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgICAgICAgICAgbGV0IHNldEtleSA9ICcnXHJcbiAgICAgICAgICAgIGlmIChuZXN0aW5nLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICAgICAgICAgICAgc2V0S2V5ID0gKG5lc3RpbmcubGVuZ3RoID4gMSlcclxuICAgICAgICAgICAgICAgICAgICA/IGZpcnN0ICsgJ1snICsgbmVzdGluZy5zbGljZSgxKS5qb2luKCddWycpICsgJ11bJyArIGtleSArICddJ1xyXG4gICAgICAgICAgICAgICAgICAgIDogZmlyc3QgKyAnWycgKyBrZXkgKyAnXSdcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHNldEtleSA9IGtleVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIG9ialtrZXldKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zID0gc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgb2JqW2tleV0pXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3N5bWJvbCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnYmlnaW50JzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zID0gc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgU3RyaW5nKG9ialtrZXldKSlcclxuICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnb2JqZWN0JzpcclxuICAgICAgICAgICAgICAgICAgICBuZXN0aW5nLnB1c2goa2V5KVxyXG4gICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zID0gdGhpcy5nZXRIdHRwUGFyYW1zR2V0KG9ialtrZXldLCBzZW5kSHR0cFBhcmFtcywgZmFsc2UsIG5lc3RpbmcpXHJcbiAgICAgICAgICAgICAgICAgICAgbmVzdGluZy5wb3AoKVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XHJcbiAgICAgICAgICAgICAgICBjYXNlICd1bmRlZmluZWQnOlxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCfQotGLINC+0YLQv9GA0LDQstC40Lsg0YfRgtC+LdGC0L4g0L3QtSDRgtC+Jywgb2JqW2tleV0sIHR5cGVvZiBvYmpba2V5XSwgdHlwZW9mIG9iailcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc2VuZEh0dHBQYXJhbXNcclxuICAgIH1cclxuXHJcbiAgICBnZXRIdHRwUGFyYW1zUG9zdChcclxuICAgICAgICBvYmo6IGFueSxcclxuICAgICAgICBzZW5kSHR0cFBhcmFtczogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSxcclxuICAgICAgICB0aGlzQXJyYXkgPSBmYWxzZSxcclxuICAgICAgICBuZXN0aW5nOiBzdHJpbmdbXSA9IFtdLFxyXG4gICAgICAgIHNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICAgKTogYW55IHtcclxuXHJcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIEJsb2IpIHtcclxuICAgICAgICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICAgICAgICBsZXQgc2V0S2V5ID0gKG5lc3RpbmcubGVuZ3RoID4gMSlcclxuICAgICAgICAgICAgICAgID8gZmlyc3QgKyAnWycgKyBuZXN0aW5nLnNsaWNlKDEpLmpvaW4oJ11bJykgKyAnXSdcclxuICAgICAgICAgICAgICAgIDogZmlyc3RcclxuICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgb2JqKVxyXG4gICAgICAgICAgICByZXR1cm4gc2VuZEh0dHBQYXJhbXNcclxuICAgICAgICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICAgICAgICBsZXQgdHpvZmZzZXQgPSAoc2V0dGluZ3MudGltZVpvbmUuY2FsYykgPyAgb2JqLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCA6IDAgLy8g0LLRi9GH0LjRgdC70Y/QtdC8INCy0LvQuNGP0L3QuNC1INGH0LDRgdC+0LLQvtCz0L4g0L/QvtGP0YHQsFxyXG4gICAgICAgICAgICBsZXQgbGV2ZWxPdXQgPSAoc2V0dGluZ3MudGltZVpvbmUubGV2ZWxPdXQpID8gIG9iai5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDAgOiAwIC8vINCy0YvRh9C40YHQu9GP0LXQvCDQstC70LjRj9C90LjQtSDRh9Cw0YHQvtCy0L7Qs9C+INC/0L7Rj9GB0LBcclxuICAgICAgICAgICAgbGV0IHNldEtleSA9IChuZXN0aW5nLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgICAgICAgICA/IGZpcnN0ICsgJ1snICsgbmVzdGluZy5zbGljZSgxKS5qb2luKCddWycpICsgJ10nXHJcbiAgICAgICAgICAgICAgICA6IGZpcnN0XHJcbiAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIChuZXcgRGF0ZShvYmoudmFsdWVPZigpICsgdHpvZmZzZXQgLSBsZXZlbE91dCkpLnRvSVNPU3RyaW5nKCkpXHJcbiAgICAgICAgICAgIHJldHVybiBzZW5kSHR0cFBhcmFtc1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xyXG4gICAgICAgICAgICAgICAgbGV0IHNldEtleSA9ICcnXHJcbiAgICAgICAgICAgICAgICBpZiAobmVzdGluZy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmlyc3QgPSBuZXN0aW5nWzBdXHJcbiAgICAgICAgICAgICAgICAgICAgc2V0S2V5ID0gKG5lc3RpbmcubGVuZ3RoID4gMSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBmaXJzdCArICdbJyArIG5lc3Rpbmcuc2xpY2UoMSkuam9pbignXVsnKSArICddWycgKyBrZXkgKyAnXSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmaXJzdCArICdbJyArIGtleSArICddJ1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRLZXkgPSBrZXlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIG9ialtrZXldKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgb2JqW2tleV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3ltYm9sJzpcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2JpZ2ludCc6XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIFN0cmluZyhvYmpba2V5XSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnb2JqZWN0JzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmVzdGluZy5wdXNoKGtleSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMgPSB0aGlzLmdldEh0dHBQYXJhbXNQb3N0KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqW2tleV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVzdGluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmVzdGluZy5wb3AoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICd1bmRlZmluZWQnOlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ9Ci0Ysg0L7RgtC/0YDQsNCy0LjQuyDRh9GC0L4t0YLQviDQvdC1INGC0L4nLCBvYmpba2V5XSwgdHlwZW9mIG9ialtrZXldLCB0eXBlb2Ygb2JqKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzZW5kSHR0cFBhcmFtc1xyXG4gICAgfVxyXG5cclxuICAgIHNsaWNlQXJyYXlJbnRvQ2h1bmtzKGFycjogYW55W10sIGNodW5rU2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgcmVzID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IGNodW5rU2l6ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBjaHVuayA9IGFyci5zbGljZShpLCBpICsgY2h1bmtTaXplKTtcclxuICAgICAgICAgICAgcmVzLnB1c2goY2h1bmspO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92aW5nTXVsdGlwbGVTbGFzaGVzKHN0cjogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXC97Mix9L2csICcvJylcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -4,7 +4,6 @@ import { Injectable } from '@angular/core';
|
|
|
4
4
|
import SnackBarService from '../../services/snack-bar/snack-bar.service';
|
|
5
5
|
import SessionKeyServices from '../../services/http/sessionKey';
|
|
6
6
|
import clone from 'just-clone';
|
|
7
|
-
import flatten from 'just-flatten-it';
|
|
8
7
|
import { BaseHttpServices } from './base/http';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
import * as i1 from "@angular/common/http";
|
|
@@ -53,12 +52,13 @@ export default class HttpServices extends BaseHttpServices {
|
|
|
53
52
|
}
|
|
54
53
|
return res;
|
|
55
54
|
}
|
|
56
|
-
mapBranchResult(res)
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
// mapBranchResult<T>(res: iBatchRequestAnswer<T>[]){
|
|
56
|
+
// return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)) as {[key:keyBatch]: T}
|
|
57
|
+
// }
|
|
58
|
+
//
|
|
59
|
+
// mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[]{
|
|
60
|
+
// return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))
|
|
61
|
+
// }
|
|
62
62
|
httpPost(url, params = {}, textError = '', settings = this.defSettings) {
|
|
63
63
|
return this.session.getAuthParams().pipe(mergeMap(auth => {
|
|
64
64
|
if (auth) {
|
|
@@ -126,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
126
126
|
providedIn: 'root'
|
|
127
127
|
}]
|
|
128
128
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: SnackBarService }, { type: SessionKeyServices }]; } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLGVBQWUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN4RSxPQUFPLGtCQUFrQixNQUFNLGdDQUFnQyxDQUFBO0FBQy9ELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQU85QixPQUFPLE9BQU8sTUFBTSxpQkFBaUIsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7OztBQUs5QyxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7SUFFdEQsWUFBWSxJQUFnQixFQUFFLFFBQXlCLEVBQVMsT0FBMkI7UUFDdkYsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUR1QyxZQUFPLEdBQVAsT0FBTyxDQUFvQjtJQUUzRixDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBb0MsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUN0RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO2dCQUNmLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2FBQzVCO1lBQ0QsT0FBTyxTQUFTLENBQUE7UUFDcEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQTtJQUNMLENBQUM7SUFFRDs7O09BR0c7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IGZvcmtKb2luIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCBTbmFja0JhclNlcnZpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJ1xyXG5pbXBvcnQgU2Vzc2lvbktleVNlcnZpY2VzIGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleSdcclxuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnXHJcbmltcG9ydCB7IGlIdHRwUGFyYW1TZXR0aW5ncyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3NldHRpbmdzJ1xyXG5pbXBvcnQge1xyXG4gICAgaUJhdGNoUmVxdWVzdEFuc3dlciwgaUJhdGNoUmVxdWVzdFBhcmFtLFxyXG4gICAgaUJhdGNoUmVxdWVzdFBhcmFtQXJyLFxyXG4gICAgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCwga2V5QmF0Y2hcclxufSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXRjaC9iYXRjaFJlcXVlc3RQYXJhbSdcclxuaW1wb3J0IGZsYXR0ZW4gZnJvbSAnanVzdC1mbGF0dGVuLWl0J1xyXG5pbXBvcnQgeyBCYXNlSHR0cFNlcnZpY2VzIH0gZnJvbSAnLi9iYXNlL2h0dHAnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSHR0cFNlcnZpY2VzIGV4dGVuZHMgQmFzZUh0dHBTZXJ2aWNlcyB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoaHR0cDogSHR0cENsaWVudCwgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSwgcHVibGljIHNlc3Npb246IFNlc3Npb25LZXlTZXJ2aWNlcykge1xyXG4gICAgICAgIHN1cGVyKGh0dHAsIHNuYWNrQmFyKVxyXG4gICAgfVxyXG5cclxuICAgIHRpbWVOb3dPblNlcnZlcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwR2V0PHsgcmVzdWx0PzogRGF0ZSwgZXJyb3I/OiBzdHJpbmcgfT4oJ3NlcnZlci50aW1lJykucGlwZShcclxuICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERhdGUodi5yZXN1bHQpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqINCt0YLQviDQv9C40LfQtNC10YYg0LAg0L3QtSDQvNC10YLQvtC0XHJcbiAgICAgKiBAcGFyYW0gcGFyYW1cclxuICAgICAqL1xyXG4gICAgYnJhbmNoPFQsIEE+KHBhcmFtOiBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnI8VD4gfCBpQmF0Y2hSZXF1ZXN0UGFyYW08VD5bXSk6IE9ic2VydmFibGU8aUJhdGNoUmVxdWVzdEFuc3dlcjxBPltdIHwgdW5kZWZpbmVkPiB7XHJcbiAgICAgICAgbGV0IHByZXBhcmVQYXJhbSA9IE9iamVjdC5lbnRyaWVzPHN0cmluZz4odGhpcy5wcmVwYXJlQmF0Y2g8VD4ocGFyYW0pKVxyXG4gICAgICAgIGNvbnN0IHNpemUgPSA1MCAvLyDQsdC+0LvRjNGI0LUg0L3QtSDQvtGC0LTQsNGB0YJcclxuICAgICAgICBsZXQgc3ViYXJyYXkgPSBbXSAvL9C80LDRgdGB0LjQsiDQsiDQutC+0YLQvtGA0YvQuSDQsdGD0LTQtdGCINCy0YvQstC10LTQtdC9INGA0LXQt9GD0LvRjNGC0LDRgi5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGguY2VpbChwcmVwYXJlUGFyYW0ubGVuZ3RoIC8gc2l6ZSk7IGkrKykge1xyXG4gICAgICAgICAgICBzdWJhcnJheVtpXSA9IHByZXBhcmVQYXJhbS5zbGljZSgoaSAqIHNpemUpLCAoaSAqIHNpemUpICsgc2l6ZSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihcclxuICAgICAgICAgICAgc3ViYXJyYXkubWFwKGkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFBvc3QoJ2JhdGNoLmpzb24nLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGFsdDogMCxcclxuICAgICAgICAgICAgICAgICAgICBjbWQ6IE9iamVjdC5hc3NpZ24oe30sIC4uLmkubWFwKHggPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1t4WzBdXTogeFsxXX1cclxuICAgICAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKSBhcyBPYnNlcnZhYmxlPGlCYXRjaFJlcXVlc3RBbnN3ZXI8QT5bXT5cclxuICAgIH1cclxuXHJcbiAgICBwcmVwYXJlQmF0Y2g8VD4ocGFyYW06IGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiB8IGlCYXRjaFJlcXVlc3RQYXJhbTxUPltdKTogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCB7XHJcbiAgICAgICAgbGV0IHJlczogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCA9IE9iamVjdC5rZXlzKHBhcmFtKS5yZWR1Y2UoXHJcbiAgICAgICAgICAgIChvYmosIGtleSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgb2JqW2tleV0gPSAnJztcclxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHt9IGFzIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHBcclxuICAgICAgICApO1xyXG4gICAgICAgIGZvciAobGV0IGtleSBpbiBwYXJhbSkge1xyXG4gICAgICAgICAgICBpZih0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2Yga2V5ID09PSAnbnVtYmVyJyAmJiBwYXJhbVtrZXldLnBhcmFtKSB7XHJcbiAgICAgICAgICAgICAgICByZXNba2V5XSA9IHBhcmFtW2tleV0ubmFtZSArICc/JyArIHRoaXMuZ2V0SHR0cFBhcmFtc0dldChwYXJhbVtrZXldLnBhcmFtKS50b1N0cmluZygpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc1xyXG4gICAgfVxyXG5cclxuICAgIG1hcEJyYW5jaFJlc3VsdDxUPihyZXM6IGlCYXRjaFJlcXVlc3RBbnN3ZXI8VD5bXSl7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oW10sIC4uLnJlcy5tYXAoaSA9PiAoaS5yZXN1bHQgJiYgaS5yZXN1bHQucmVzdWx0KSA/IGkucmVzdWx0LnJlc3VsdCA6IHVuZGVmaW5lZCkpIGFzIHtba2V5OmtleUJhdGNoXTogVH1cclxuICAgIH1cclxuXHJcbiAgICBtYXBCcmFuY2hSZXN1bHRXaXRob3V0S2V5PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKTogVFtde1xyXG4gICAgICAgIHJldHVybiBmbGF0dGVuPFQ+KE9iamVjdC5hc3NpZ24oW10sIC4uLnJlcy5tYXAoaSA9PiAoaS5yZXN1bHQgJiYgaS5yZXN1bHQucmVzdWx0KSA/IGkucmVzdWx0LnJlc3VsdCA6IHVuZGVmaW5lZCkpKVxyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIGh0dHBQb3N0PFQ+KHVybDogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBhbnkgPSB7fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRFcnJvciA9ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IGlIdHRwUGFyYW1TZXR0aW5ncyA9IHRoaXMuZGVmU2V0dGluZ3NcclxuICAgICk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGF1dGggPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGF1dGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXNDbG9uZVt0aGlzLnNlc3Npb24uZ2V0S2V5QXV0aCgpXSA9IGF1dGhcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKG1lcmdlTWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQgfCB1bmRlZmluZWQ+KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJlcGFyZUJhc2VBZGRyZXNzKHYpICsgdXJsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0SHR0cFBhcmFtc1Bvc3QocGFyYW1zQ2xvbmUsIG5ldyBGb3JtRGF0YSgpLCBmYWxzZSwgW10sIHNldHRpbmdzKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXh0RXJyb3IubGVuZ3RoICYmIGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRFcnJvciA9IGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIuZXJyb3IoJ9Ce0YjQuNCx0LrQsDogJyArIHRleHRFcnJvcilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2dldCBiYXNlIHVybCBlcnJvcicpXHJcbiAgICAgICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIuZXJyb3IoJ0Vycm9yOiBBdXRoIG5vdCBnZXQnKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdhdXRoIG5vdCBnZXQnKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSlcclxuICAgIH1cclxuXHJcbiAgICBvdmVycmlkZSBodHRwR2V0PFQ+KFxyXG4gICAgICAgIHVybDogc3RyaW5nLFxyXG4gICAgICAgIHBhcmFtczogYW55ID0ge30sXHJcbiAgICAgICAgdGV4dEVycm9yID0gJycsXHJcbiAgICAgICAgc2V0dGluZ3M6IGlIdHRwUGFyYW1TZXR0aW5ncyA9IHRoaXMuZGVmU2V0dGluZ3NcclxuICAgICk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGF1dGggPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGF1dGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocGFyYW1zID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcyA9IHt9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtc0Nsb25lID0gY2xvbmUocGFyYW1zKVxyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtc0Nsb25lW3RoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKCldID0gYXV0aFxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBvcHRpb25zID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHRoaXMuZ2V0SHR0cFBhcmFtc0dldChwYXJhbXNDbG9uZSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlTWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh2KSArIHVybCwgb3B0aW9ucykucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXh0RXJyb3IubGVuZ3RoICYmIGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRFcnJvciA9IGVyci5lcnJvci5lcnJvcl9kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIuZXJyb3IoJ9Ce0YjQuNCx0LrQsDogJyArIHRleHRFcnJvcilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnZ2V0IGJhc2UgdXJsIGVycm9yJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIuZXJyb3IoJ0Vycm9yOiBBdXRoIG5vdCBnZXQnKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdhdXRoIG5vdCBnZXQnKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBnZXROYW1lTWV0aG9kKGFycjogc3RyaW5nW10pIHtcclxuICAgICAgICByZXR1cm4gYXJyLmpvaW4oJy4nKVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLGVBQWUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN4RSxPQUFPLGtCQUFrQixNQUFNLGdDQUFnQyxDQUFBO0FBQy9ELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQU85QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7OztBQUs5QyxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7SUFFdEQsWUFBWSxJQUFnQixFQUFFLFFBQXlCLEVBQVMsT0FBMkI7UUFDdkYsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUR1QyxZQUFPLEdBQVAsT0FBTyxDQUFvQjtJQUUzRixDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBb0MsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUN0RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO2dCQUNmLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2FBQzVCO1lBQ0QsT0FBTyxTQUFTLENBQUE7UUFDcEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQU8sS0FBeUQ7UUFDbEUsSUFBSSxZ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QUFNO2dCQUNILElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7Z0JBQzFDLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFBO2FBQzFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQTtJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBYTtRQUN2QixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDeEIsQ0FBQzs7eUdBbEpnQixZQUFZLDRDQWQxQixlQUFlLGFBQ2Ysa0JBQWtCOzZHQWFKLFlBQVksY0FGakIsTUFBTTsyRkFFRCxZQUFZO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjttRkFiTSxlQUFlLFlBQ2Ysa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciwgdGFrZSwgbWVyZ2VNYXAsIGZvcmtKb2luIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCBTbmFja0JhclNlcnZpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJ1xyXG5pbXBvcnQgU2Vzc2lvbktleVNlcnZpY2VzIGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleSdcclxuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnXHJcbmltcG9ydCB7IGlIdHRwUGFyYW1TZXR0aW5ncyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3NldHRpbmdzJ1xyXG5pbXBvcnQge1xyXG4gICAgaUJhdGNoUmVxdWVzdEFuc3dlciwgaUJhdGNoUmVxdWVzdFBhcmFtLFxyXG4gICAgaUJhdGNoUmVxdWVzdFBhcmFtQXJyLFxyXG4gICAgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCxcclxufSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXRjaC9iYXRjaFJlcXVlc3RQYXJhbSdcclxuaW1wb3J0IHsgQmFzZUh0dHBTZXJ2aWNlcyB9IGZyb20gJy4vYmFzZS9odHRwJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBTZXJ2aWNlcyBleHRlbmRzIEJhc2VIdHRwU2VydmljZXMge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGh0dHA6IEh0dHBDbGllbnQsIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsIHB1YmxpYyBzZXNzaW9uOiBTZXNzaW9uS2V5U2VydmljZXMpIHtcclxuICAgICAgICBzdXBlcihodHRwLCBzbmFja0JhcilcclxuICAgIH1cclxuXHJcbiAgICB0aW1lTm93T25TZXJ2ZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cEdldDx7IHJlc3VsdD86IERhdGUsIGVycm9yPzogc3RyaW5nIH0+KCdzZXJ2ZXIudGltZScpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2ICYmIHYucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHYucmVzdWx0KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDQrdGC0L4g0L/QuNC30LTQtdGGINCwINC90LUg0LzQtdGC0L7QtFxyXG4gICAgICogQHBhcmFtIHBhcmFtXHJcbiAgICAgKi9cclxuICAgIGJyYW5jaDxULCBBPihwYXJhbTogaUJhdGNoUmVxdWVzdFBhcmFtQXJyPFQ+IHwgaUJhdGNoUmVxdWVzdFBhcmFtPFQ+W10pOiBPYnNlcnZhYmxlPGlCYXRjaFJlcXVlc3RBbnN3ZXI8QT5bXSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgICAgIGxldCBwcmVwYXJlUGFyYW0gPSBPYmplY3QuZW50cmllczxzdHJpbmc+KHRoaXMucHJlcGFyZUJhdGNoPFQ+KHBhcmFtKSlcclxuICAgICAgICBjb25zdCBzaXplID0gNTAgLy8g0LHQvtC70YzRiNC1INC90LUg0L7RgtC00LDRgdGCXHJcbiAgICAgICAgbGV0IHN1YmFycmF5ID0gW10gLy/QvNCw0YHRgdC40LIg0LIg0LrQvtGC0L7RgNGL0Lkg0LHRg9C00LXRgiDQstGL0LLQtdC00LXQvSDRgNC10LfRg9C70YzRgtCw0YIuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLmNlaWwocHJlcGFyZVBhcmFtLmxlbmd0aCAvIHNpemUpOyBpKyspIHtcclxuICAgICAgICAgICAgc3ViYXJyYXlbaV0gPSBwcmVwYXJlUGFyYW0uc2xpY2UoKGkgKiBzaXplKSwgKGkgKiBzaXplKSArIHNpemUpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZm9ya0pvaW4oXHJcbiAgICAgICAgICAgIHN1YmFycmF5Lm1hcChpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBQb3N0KCdiYXRjaC5qc29uJywge1xyXG4gICAgICAgICAgICAgICAgICAgIGhhbHQ6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgY21kOiBPYmplY3QuYXNzaWduKHt9LCAuLi5pLm1hcCh4ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtbeFswXV06IHhbMV19XHJcbiAgICAgICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxpQmF0Y2hSZXF1ZXN0QW5zd2VyPEE+W10+XHJcbiAgICB9XHJcblxyXG4gICAgcHJlcGFyZUJhdGNoPFQ+KHBhcmFtOiBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnI8VD4gfCBpQmF0Y2hSZXF1ZXN0UGFyYW08VD5bXSk6IGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAge1xyXG4gICAgICAgIGxldCByZXM6IGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAgPSBPYmplY3Qua2V5cyhwYXJhbSkucmVkdWNlKFxyXG4gICAgICAgICAgICAob2JqLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgIG9ialtrZXldID0gJyc7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7fSBhcyBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwXHJcbiAgICAgICAgKTtcclxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcGFyYW0pIHtcclxuICAgICAgICAgICAgaWYodHlwZW9mIGtleSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGtleSA9PT0gJ251bWJlcicgJiYgcGFyYW1ba2V5XS5wYXJhbSkge1xyXG4gICAgICAgICAgICAgICAgcmVzW2tleV0gPSBwYXJhbVtrZXldLm5hbWUgKyAnPycgKyB0aGlzLmdldEh0dHBQYXJhbXNHZXQocGFyYW1ba2V5XS5wYXJhbSkudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXNcclxuICAgIH1cclxuXHJcbiAgICAvLyBtYXBCcmFuY2hSZXN1bHQ8VD4ocmVzOiBpQmF0Y2hSZXF1ZXN0QW5zd2VyPFQ+W10pe1xyXG4gICAgLy8gICAgIHJldHVybiBPYmplY3QuYXNzaWduKFtdLCAuLi5yZXMubWFwKGkgPT4gKGkucmVzdWx0ICYmIGkucmVzdWx0LnJlc3VsdCkgPyBpLnJlc3VsdC5yZXN1bHQgOiB1bmRlZmluZWQpKSBhcyB7W2tleTprZXlCYXRjaF06IFR9XHJcbiAgICAvLyB9XHJcbiAgICAvL1xyXG4gICAgLy8gbWFwQnJhbmNoUmVzdWx0V2l0aG91dEtleTxUPihyZXM6IGlCYXRjaFJlcXVlc3RBbnN3ZXI8VD5bXSk6IFRbXXtcclxuICAgIC8vICAgICByZXR1cm4gZmxhdHRlbjxUPihPYmplY3QuYXNzaWduKFtdLCAuLi5yZXMubWFwKGkgPT4gKGkucmVzdWx0ICYmIGkucmVzdWx0LnJlc3VsdCkgPyBpLnJlc3VsdC5yZXN1bHQgOiB1bmRlZmluZWQpKSlcclxuICAgIC8vIH1cclxuXHJcbiAgICBvdmVycmlkZSBodHRwUG9zdDxUPih1cmw6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogYW55ID0ge30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RXJyb3IgPSAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzOiBpSHR0cFBhcmFtU2V0dGluZ3MgPSB0aGlzLmRlZlNldHRpbmdzXHJcbiAgICApOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEF1dGhQYXJhbXMoKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhdXRoID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChhdXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zQ2xvbmUgPSBjbG9uZShwYXJhbXMpXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvbi5nZXRCYXNlVXJsKCkucGlwZShtZXJnZU1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUIHwgdW5kZWZpbmVkPihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh2KSArIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEh0dHBQYXJhbXNQb3N0KHBhcmFtc0Nsb25lLCBuZXcgRm9ybURhdGEoKSwgZmFsc2UsIFtdLCBzZXR0aW5ncykpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGV4dEVycm9yLmxlbmd0aCAmJiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RXJyb3IgPSBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCfQntGI0LjQsdC60LA6ICcgKyB0ZXh0RXJyb3IpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdnZXQgYmFzZSB1cmwgZXJyb3InKVxyXG4gICAgICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCdFcnJvcjogQXV0aCBub3QgZ2V0JylcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnYXV0aCBub3QgZ2V0JylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgaHR0cEdldDxUPihcclxuICAgICAgICB1cmw6IHN0cmluZyxcclxuICAgICAgICBwYXJhbXM6IGFueSA9IHt9LFxyXG4gICAgICAgIHRleHRFcnJvciA9ICcnLFxyXG4gICAgICAgIHNldHRpbmdzOiBpSHR0cFBhcmFtU2V0dGluZ3MgPSB0aGlzLmRlZlNldHRpbmdzXHJcbiAgICApOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEF1dGhQYXJhbXMoKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhdXRoID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChhdXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmFtcyA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMgPSB7fVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXNDbG9uZVt0aGlzLnNlc3Npb24uZ2V0S2V5QXV0aCgpXSA9IGF1dGhcclxuICAgICAgICAgICAgICAgICAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB0aGlzLmdldEh0dHBQYXJhbXNHZXQocGFyYW1zQ2xvbmUpXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXJnZU1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5wcmVwYXJlQmFzZUFkZHJlc3ModikgKyB1cmwsIG9wdGlvbnMpLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGV4dEVycm9yLmxlbmd0aCAmJiBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RXJyb3IgPSBlcnIuZXJyb3IuZXJyb3JfZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCfQntGI0LjQsdC60LA6ICcgKyB0ZXh0RXJyb3IpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2dldCBiYXNlIHVybCBlcnJvcicpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCdFcnJvcjogQXV0aCBub3QgZ2V0JylcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnYXV0aCBub3QgZ2V0JylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TmFtZU1ldGhvZChhcnI6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgcmV0dXJuIGFyci5qb2luKCcuJylcclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
2
|
import Cookies from '../../services/vanilla/сookies';
|
|
3
3
|
// import { environment as env } from 'bx-rest/environments/environment'
|
|
4
4
|
import { filter, of, Subscription, take } from 'rxjs';
|
|
@@ -12,7 +12,7 @@ import * as i1 from "@ngrx/store";
|
|
|
12
12
|
import * as i2 from "@angular/router";
|
|
13
13
|
import * as i3 from "../../typification/rest/api-lib";
|
|
14
14
|
export default class SessionKeyServices extends BaseServices {
|
|
15
|
-
constructor(store, route, BxApiLib) {
|
|
15
|
+
constructor(store, route, BxApiLib, REST_SETTINGS) {
|
|
16
16
|
super();
|
|
17
17
|
this.store = store;
|
|
18
18
|
this.route = route;
|
|
@@ -21,6 +21,7 @@ export default class SessionKeyServices extends BaseServices {
|
|
|
21
21
|
this.subscribe = {
|
|
22
22
|
authData: new Subscription()
|
|
23
23
|
};
|
|
24
|
+
this.REST_SETTINGS = REST_SETTINGS;
|
|
24
25
|
this.authData$ = this.store.select('auth');
|
|
25
26
|
this.authData$.subscribe(authData => {
|
|
26
27
|
if ((authData && !authData.access_token.length) || !authData) {
|
|
@@ -117,24 +118,34 @@ export default class SessionKeyServices extends BaseServices {
|
|
|
117
118
|
this.subscribe.authData.unsubscribe();
|
|
118
119
|
}
|
|
119
120
|
getAuth() {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
121
|
+
switch (REST_SETTINGS.auth.key) {
|
|
122
|
+
case 'auth':
|
|
123
|
+
return Cookies.get('auth');
|
|
124
|
+
default:
|
|
125
|
+
if (window.BX && window.BX.bitrix_sessid()) {
|
|
126
|
+
return window.BX.bitrix_sessid();
|
|
127
|
+
}
|
|
128
|
+
else if (this.getSessid().length) {
|
|
129
|
+
let str = this.getSessid();
|
|
130
|
+
return (str) ? str : '';
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
return Cookies.get('auth');
|
|
134
|
+
}
|
|
129
135
|
}
|
|
130
136
|
}
|
|
131
137
|
getKeyAuth() {
|
|
132
|
-
if (
|
|
133
|
-
|
|
134
|
-
return 'sessid';
|
|
138
|
+
if (REST_SETTINGS.auth.key.length) {
|
|
139
|
+
return REST_SETTINGS.auth.key;
|
|
135
140
|
}
|
|
136
141
|
else {
|
|
137
|
-
|
|
142
|
+
if (window.BX && window.BX.bitrix_sessid()
|
|
143
|
+
|| this.getSessid().length) {
|
|
144
|
+
return 'sessid';
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
return 'auth';
|
|
148
|
+
}
|
|
138
149
|
}
|
|
139
150
|
}
|
|
140
151
|
getSessid() {
|
|
@@ -160,7 +171,7 @@ export default class SessionKeyServices extends BaseServices {
|
|
|
160
171
|
return false;
|
|
161
172
|
}
|
|
162
173
|
getAuthParams() {
|
|
163
|
-
switch (REST_SETTINGS.auth) {
|
|
174
|
+
switch (REST_SETTINGS.auth.source) {
|
|
164
175
|
case 'cookies':
|
|
165
176
|
return of(this.getAuth());
|
|
166
177
|
default:
|
|
@@ -168,19 +179,24 @@ export default class SessionKeyServices extends BaseServices {
|
|
|
168
179
|
}
|
|
169
180
|
}
|
|
170
181
|
getBaseUrl() {
|
|
171
|
-
return of(this.prepareBaseAddress(REST_SETTINGS.urls.home, 'rest'));
|
|
182
|
+
return of(this.prepareBaseAddress(this.REST_SETTINGS.urls.home, 'rest'));
|
|
172
183
|
// return this.authData$.pipe( // TODO: разобраться позже
|
|
173
184
|
// take(1),
|
|
174
185
|
// map(v => (v && v.domain) ? this.prepareBaseAddress(v.domain) : undefined)
|
|
175
186
|
// )
|
|
176
187
|
}
|
|
177
188
|
}
|
|
178
|
-
SessionKeyServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, deps: [{ token: i1.Store }, { token: i2.ActivatedRoute }, { token: i3.RestServices }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
189
|
+
SessionKeyServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, deps: [{ token: i1.Store }, { token: i2.ActivatedRoute }, { token: i3.RestServices }, { token: REST_SETTINGS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
179
190
|
SessionKeyServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, providedIn: 'root' });
|
|
180
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, decorators: [{
|
|
181
192
|
type: Injectable,
|
|
182
193
|
args: [{
|
|
183
194
|
providedIn: 'root'
|
|
184
195
|
}]
|
|
185
|
-
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.ActivatedRoute }, { type: i3.RestServices }
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sT0FBTyxNQUFNLGdDQUFnQyxDQUFBO0FBR3BELHdFQUF3RTtBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRWpFLE9BQU8sRUFBRSxlQUFlLEVBQTJCLE1BQU0sa0JBQWtCLENBQUE7QUFDM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDdEMsT0FBTyxFQUFFLG9CQUFvQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBRTFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7Ozs7QUFPOUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBUzFELFlBQ1MsS0FBMkMsRUFDMUMsS0FBcUIsRUFDdEIsUUFBc0I7UUFFN0IsS0FBSyxFQUFFLENBQUE7UUFKQSxVQUFLLEdBQUwsS0FBSyxDQUFzQztRQUMxQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBVi9CLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHaEIsY0FBUyxHQUFHO1lBQ1YsUUFBUSxFQUFFLElBQUksWUFBWSxFQUFFO1NBQzdCLENBQUE7UUFRQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxTQUFTLENB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QUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUMzQyxDQUFBO1NBQ0o7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBLENBQUMsNEJBQTRCO1FBQ2hHLHlEQUF5RDtRQUN6RCxhQUFhO1FBQ2IsOEVBQThFO1FBQzlFLElBQUk7SUFDTixDQUFDOzsrR0F4TGtCLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRnpCLE1BQU07MkZBRUMsa0JBQWtCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IENvb2tpZXMgZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS/RgW9va2llcydcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQgc2F2ZUFwcGxpY2F0aW9uQXV0aCBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vYXV0aC9zYXZlJ1xuLy8gaW1wb3J0IHsgZW52aXJvbm1lbnQgYXMgZW52IH0gZnJvbSAnYngtcmVzdC9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnXG5pbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24sIHRha2UgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtTWFwIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgc2F2ZUFjY2Vzc1Rva2VuLCBzYXZlQXBwbGljYXRpb25BdXRoUGF0aCB9IGZyb20gJy4uLy4uL3N0b3JlL2F1dGgnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEJhc2VTZXJ2aWNlcyB9IGZyb20gJy4uL2Jhc2UnXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlcyBhcyBMb2NhbFN0b3JhZ2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL2xvY2FsU3RvcmFnZSdcbmltcG9ydCB7IFJlc3RTZXJ2aWNlcyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2FwaS1saWInXG5pbXBvcnQgeyBSRVNUX1NFVFRJTkdTIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3MnXG5cbnR5cGUgSUtleUF1dGggPSAnc2Vzc2lkJyB8ICdhdXRoJyB8IHN0cmluZ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlc3Npb25LZXlTZXJ2aWNlcyBleHRlbmRzIEJhc2VTZXJ2aWNlcyB7XG5cbiAgYXV0aEhhdmUgPSBmYWxzZVxuICBhdXRoRGF0YSQ6IE9ic2VydmFibGU8c2F2ZUFwcGxpY2F0aW9uQXV0aD5cbiAgYXV0aERhdGE6IHNhdmVBcHBsaWNhdGlvbkF1dGggfCB1bmRlZmluZWRcbiAgc3Vic2NyaWJlID0ge1xuICAgIGF1dGhEYXRhOiBuZXcgU3Vic2NyaXB0aW9uKClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdG9yZTogU3RvcmU8eyBhdXRoOiBzYXZlQXBwbGljYXRpb25BdXRoIH0+LFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBCeEFwaUxpYjogUmVzdFNlcnZpY2VzLFxuICApIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5hdXRoRGF0YSQgPSB0aGlzLnN0b3JlLnNlbGVjdCgnYXV0aCcpXG4gICAgdGhpcy5hdXRoRGF0YSQuc3Vic2NyaWJlKGF1dGhEYXRhID0+IHtcbiAgICAgIGlmICgoYXV0aERhdGEgJiYgIWF1dGhEYXRhLmFjY2Vzc190b2tlbi5sZW5ndGgpIHx8ICFhdXRoRGF0YSkge1xuICAgICAgICAvLyDQv9C+0LvRg9GH0LDQtdC8INGC0L7QutC10L0g0L/QviDRgdC+0LHRgdGC0LLQtdC90L3Ri9C8INC60LDQvdCw0LvQvtC8ICjQsiDQsdC40YLRgNC40LrRgdC1INC/0YDQuNC70L7QttC10L3QuNC1IHRyYWNlOmFwcHMudHJhY2UpXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luICE9PSB3aW5kb3cub3JpZ2luKSB7IC8vINC/0YDQvtCy0LXRgNGP0LXQvCDRh9GC0L4g0Y3RgtC+INC90LUg0L3QsNGI0LUg0YHQvtC+0LHRidC10L3QuNC1ICjRgSDRgtC10LrRg9GJ0LXQs9C+INC/0YDQuNC70L7QttC10L3QuNGPKVxuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgZXZlbnQuZGF0YS5wYXJhbSkge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGV2ZW50LmRhdGEucGFyYW0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQuZGF0YS5wYXJhbSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YS5wYXJhbSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGxldCBzYXZlOiBzYXZlQXBwbGljYXRpb25BdXRoUGF0aCA9IHt9XG5cbiAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEucGFyYW0uYWNjZXNzX3Rva2VuKSB7XG4gICAgICAgICAgICAgICAgbGV0IHBhcmFtID0gZXZlbnQuZGF0YS5wYXJhbTtcbiAgICAgICAgICAgICAgICBzYXZlLmFjY2Vzc190b2tlbiA9IGV2ZW50LmRhdGEucGFyYW0uYWNjZXNzX3Rva2VuXG4gICAgICAgICAgICAgICAgc2F2ZSA9IHtcbiAgICAgICAgICAgICAgICAgIGFjY2Vzc190b2tlbjogKHBhcmFtLmFjY2Vzc190b2tlbikgPyBwYXJhbS5hY2Nlc3NfdG9rZW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBjbGllbnRfZW5kcG9pbnQ6IChwYXJhbS5jbGllbnRfZW5kcG9pbnQpID8gcGFyYW0uY2xpZW50X2VuZHBvaW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgZG9tYWluOiAocGFyYW0uZG9tYWluKSA/IHBhcmFtLmRvbWFpbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGV4cGlyZXM6IChwYXJhbS5leHBpcmVzKSA/IHBhcmFtLmV4cGlyZXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBleHBpcmVzX2luOiAocGFyYW0uZXhwaXJlc19pbikgPyBwYXJhbS5leHBpcmVzX2luIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgbWVtYmVyX2lkOiAocGFyYW0ubWVtYmVyX2lkKSA/IHBhcmFtLm1lbWJlcl9pZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHJlZnJlc2hfdG9rZW46IChwYXJhbS5yZWZyZXNoX3Rva2VuKSA/IHBhcmFtLnJlZnJlc2hfdG9rZW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBzY29wZTogKHBhcmFtLnNjb3BlKSA/IHBhcmFtLnNjb3BlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgc2VydmVyX2VuZHBvaW50OiAocGFyYW0uc2VydmVyX2VuZHBvaW50KSA/IHBhcmFtLnNlcnZlcl9lbmRwb2ludCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHN0YXR1czogKHBhcmFtLnN0YXR1cykgPyBwYXJhbS5zdGF0dXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICB1c2VyX2lkOiAocGFyYW0udXNlcl9pZCkgPyBwYXJhbS51c2VyX2lkIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgdHlwZTogKHBhcmFtLnR5cGUpID8gcGFyYW0udHlwZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoc2F2ZSkubGVuZ3RoICYmIHNhdmUuYWNjZXNzX3Rva2VuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlQWNjZXNzVG9rZW4oc2F2ZSkpXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVBbGwoKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlLmF1dGhEYXRhID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIocGFyYW0gPT5cbiAgICAgICAgICAgICAgcGFyYW0uaGFzKCdBVVRIX0lEJylcbiAgICAgICAgICAgICAgfHwgcGFyYW0uaGFzKCdhY2Nlc3NfdG9rZW4nKVxuICAgICAgICAgICAgICB8fCBwYXJhbS5oYXMoJ1JFRlJFU0hfSUQnKVxuICAgICAgICAgICAgICB8fCBwYXJhbS5oYXMoJ0RPTUFJTicpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHBhcmFtOiBQYXJhbU1hcCkgPT4ge1xuICAgICAgICAgICAgbGV0IHNhdmU6IHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoID0ge31cbiAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ0FVVEhfSUQnKSAmJiAhYXV0aERhdGEuYWNjZXNzX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgICBjb25zdCBnZXQgPSBwYXJhbS5nZXQoJ0FVVEhfSUQnKVxuICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgQ29va2llcy5zZXQoJ2F1dGgnLCBnZXQpIC8vINC/0L7RgtC+0Lwg0YPQsdGA0LDRgtGMXG4gICAgICAgICAgICAgICAgc2F2ZS5hY2Nlc3NfdG9rZW4gPSBnZXRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocGFyYW0uaGFzKCdhY2Nlc3NfdG9rZW4nKSAmJiAhYXV0aERhdGEuYWNjZXNzX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgICBjb25zdCBnZXQgPSBwYXJhbS5nZXQoJ2FjY2Vzc190b2tlbicpXG4gICAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgICBDb29raWVzLnNldCgnYXV0aCcsIGdldCkgLy8g0L/QvtGC0L7QvCDRg9Cx0YDQsNGC0YxcbiAgICAgICAgICAgICAgICBzYXZlLmFjY2Vzc190b2tlbiA9IGdldFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ1JFRlJFU0hfSUQnKSAmJiAhYXV0aERhdGEucmVmcmVzaF90b2tlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdSRUZSRVNIX0lEJylcbiAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgIHNhdmUucmVmcmVzaF90b2tlbiA9IGdldFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ0RPTUFJTicpICYmICFhdXRoRGF0YS5kb21haW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnRE9NQUlOJylcbiAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgIHNhdmUuZG9tYWluID0gZ2V0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzYXZlKS5sZW5ndGggJiYgc2F2ZS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlQWNjZXNzVG9rZW4oc2F2ZSkpXG4gICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlQWxsKClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vINC10YHQu9C4INCx0LjRgtGA0LjQutGBINC90LUg0YjQu9GR0YIg0L3Rg9C20L3Ri9C1INC80L3QtSDQv9Cw0YDQsNC80LXRgtGA0Ysg0L3QsCDQv9GA0Y/QvNGD0Y5cbiAgICAgICAgICAgICAgLy8g0L/RgNC+0YHQuNC8INC40YUg0LzQvdC1INC+0YLQtNCw0YLRjCDRgtCw0Log0LrQsNC6INC+0L/QuNGB0LDQvdC+INGN0YLQviDQsiDQtNC+0LrRg9C80LXQvdGC0LDRhtC40LhcbiAgICAgICAgICAgICAgbGV0IGYgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuQnhBcGlMaWIuQlgyNCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaW5pdERhdGUgPSB0aGlzLkJ4QXBpTGliLkJYMjQuZ2V0QXV0aCgpXG4gICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihpbml0RGF0ZSkpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdGhpcy5CeEFwaUxpYi5pbml0KGYpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9KVxuICAgICAgfSBlbHNlIGlmICh0aGlzLmdldEF1dGgoKS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hdXRoSGF2ZSA9IHRydWVcbiAgICAgIH1cblxuICAgICAgdGhpcy5hdXRoRGF0YSA9IGF1dGhEYXRhXG4gICAgfSlcbiAgfVxuXG4gIHN1YnNjcmliZUFsbCgpIHtcbiAgICB0aGlzLnN1YnNjcmliZS5hdXRoRGF0YS51bnN1YnNjcmliZSgpXG4gIH1cblxuICBnZXRBdXRoKCk6IHN0cmluZyB7XG4gICAgaWYgKCg8YW55PndpbmRvdykuQlggJiYgKDxhbnk+d2luZG93KS5CWC5iaXRyaXhfc2Vzc2lkKCkpIHtcbiAgICAgIHJldHVybiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgIH0gZWxzZSBpZiAodGhpcy5nZXRTZXNzaWQoKS5sZW5ndGgpIHtcbiAgICAgIGxldCBzdHIgPSB0aGlzLmdldFNlc3NpZCgpXG4gICAgICByZXR1cm4gKHN0cikgPyBzdHIgOiAnJ1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gQ29va2llcy5nZXQoJ2F1dGgnKVxuICAgIH1cbiAgfVxuXG4gIGdldEtleUF1dGgoKTogSUtleUF1dGgge1xuICAgIGlmICgoPGFueT53aW5kb3cpLkJYICYmICg8YW55PndpbmRvdykuQlguYml0cml4X3Nlc3NpZCgpXG4gICAgICB8fCB0aGlzLmdldFNlc3NpZCgpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuICdzZXNzaWQnXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnYXV0aCdcbiAgICB9XG4gIH1cblxuICBnZXRTZXNzaWQoKSB7XG4gICAgY29uc3QgY2hlY2sgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdzZXNzaWQnKVxuICAgIGlmIChjaGVjaykge1xuICAgICAgTG9jYWxTdG9yYWdlLnNldCgnc2Vzc2lkJywgY2hlY2spXG4gICAgICByZXR1cm4gY2hlY2tcbiAgICB9IGVsc2UgaWYgKExvY2FsU3RvcmFnZS5nZXQoJ3Nlc3NpZCcpKSB7XG4gICAgICByZXR1cm4gTG9jYWxTdG9yYWdlLmdldCgnc2Vzc2lkJylcbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBzZXRBdXRoUGFyYW1zPFQ+KHBhcmFtczogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5QXV0aCA9IHRoaXMuZ2V0S2V5QXV0aCgpXG4gICAgaWYgKHBhcmFtc1trZXlBdXRoXSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGtleUF1dGgpIHtcbiAgICAgIHBhcmFtc1trZXlBdXRoXSA9IHRoaXMuZ2V0QXV0aCgpXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGdldEF1dGhQYXJhbXMoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBzd2l0Y2ggKFJFU1RfU0VUVElOR1MuYXV0aCkge1xuICAgICAgY2FzZSAnY29va2llcyc6XG4gICAgICAgIHJldHVybiBvZih0aGlzLmdldEF1dGgoKSlcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGhEYXRhJC5waXBlKFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgbWFwKHYgPT4gKHYpID8gdi5hY2Nlc3NfdG9rZW4gOiB1bmRlZmluZWQpXG4gICAgICAgIClcbiAgICB9XG4gIH1cblxuICBnZXRCYXNlVXJsKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMucHJlcGFyZUJhc2VBZGRyZXNzKFJFU1RfU0VUVElOR1MudXJscy5ob21lLCAncmVzdCcpKSAvLyBUT0RPOiDQstGL0L3QtdGB0YLQuCDQsiDQvdCw0YHRgtGA0L7QudC60LhcbiAgICAvLyByZXR1cm4gdGhpcy5hdXRoRGF0YSQucGlwZSggLy8gVE9ETzog0YDQsNC30L7QsdGA0LDRgtGM0YHRjyDQv9C+0LfQttC1XG4gICAgLy8gICB0YWtlKDEpLFxuICAgIC8vICAgbWFwKHYgPT4gKHYgJiYgdi5kb21haW4pID8gdGhpcy5wcmVwYXJlQmFzZUFkZHJlc3Modi5kb21haW4pIDogdW5kZWZpbmVkKVxuICAgIC8vIClcbiAgfVxuXG4gIC8vIGdldEhvbWVVcmwoKTogc3RyaW5nIHtcbiAgLy8gICAgIHJldHVybiBlbnYudXJscy5ob21lXG4gIC8vIH1cbn1cbiJdfQ==
|
|
196
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.ActivatedRoute }, { type: i3.RestServices }, { type: undefined, decorators: [{
|
|
197
|
+
type: Optional
|
|
198
|
+
}, {
|
|
199
|
+
type: Inject,
|
|
200
|
+
args: [REST_SETTINGS]
|
|
201
|
+
}] }]; } });
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUQsT0FBTyxPQUFPLE1BQU0sZ0NBQWdDLENBQUE7QUFHcEQsd0VBQXdFO0FBQ3hFLE9BQU8sRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFakUsT0FBTyxFQUFFLGVBQWUsRUFBMkIsTUFBTSxrQkFBa0IsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLElBQUksWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFFMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7OztBQU85QyxNQUFNLENBQUMsT0FBTyxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFXMUQsWUFDUyxLQUEyQyxFQUMxQyxLQUFxQixFQUN0QixRQUFzQixFQUNNLGFBS2xDO1FBRUQsS0FBSyxFQUFFLENBQUE7UUFWQSxVQUFLLEdBQUwsS0FBSyxDQUFzQztRQUMxQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBWi9CLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHaEIsY0FBUyxHQUFHO1lBQ1YsUUFBUSxFQUFFLElBQUksWUFBWSxFQUFFO1NBQzdCLENBQUE7UUFnQkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJ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QUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDaEMsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELGFBQWE7UUFDWCxRQUFRLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pDLEtBQUssU0FBUztnQkFDWixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUMzQjtnQkFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUE7U0FDSjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3hFLHlEQUF5RDtRQUN6RCxhQUFhO1FBQ2IsOEVBQThFO1FBQzlFLElBQUk7SUFDTixDQUFDOzsrR0ExTWtCLGtCQUFrQixpR0FlZixhQUFhO21IQWZoQixrQkFBa0IsY0FGekIsTUFBTTsyRkFFQyxrQkFBa0I7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFnQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgQ29va2llcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL9GBb29raWVzJ1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCBzYXZlQXBwbGljYXRpb25BdXRoIGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUnXG4vLyBpbXBvcnQgeyBlbnZpcm9ubWVudCBhcyBlbnYgfSBmcm9tICdieC1yZXN0L2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCdcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBzYXZlQWNjZXNzVG9rZW4sIHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXV0aCdcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgQmFzZVNlcnZpY2VzIH0gZnJvbSAnLi4vYmFzZSdcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2VzIGFzIExvY2FsU3RvcmFnZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbmlsbGEvbG9jYWxTdG9yYWdlJ1xuaW1wb3J0IHsgUmVzdFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYXBpLWxpYidcbmltcG9ydCB7IFJFU1RfU0VUVElOR1MgfSBmcm9tICcuLi8uLi9zZXR0aW5ncydcblxudHlwZSBJS2V5QXV0aCA9ICdzZXNzaWQnIHwgJ2F1dGgnIHwgc3RyaW5nXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2Vzc2lvbktleVNlcnZpY2VzIGV4dGVuZHMgQmFzZVNlcnZpY2VzIHtcblxuICBhdXRoSGF2ZSA9IGZhbHNlXG4gIGF1dGhEYXRhJDogT2JzZXJ2YWJsZTxzYXZlQXBwbGljYXRpb25BdXRoPlxuICBhdXRoRGF0YTogc2F2ZUFwcGxpY2F0aW9uQXV0aCB8IHVuZGVmaW5lZFxuICBzdWJzY3JpYmUgPSB7XG4gICAgYXV0aERhdGE6IG5ldyBTdWJzY3JpcHRpb24oKVxuICB9XG5cbiAgUkVTVF9TRVRUSU5HU1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdG9yZTogU3RvcmU8eyBhdXRoOiBzYXZlQXBwbGljYXRpb25BdXRoIH0+LFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBCeEFwaUxpYjogUmVzdFNlcnZpY2VzLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUkVTVF9TRVRUSU5HUykgUkVTVF9TRVRUSU5HUzoge1xuICAgICAgYXV0aDogJ2Nvb2tpZXMnLFxuICAgICAgdXJsczoge1xuICAgICAgICBob21lOiAnJ1xuICAgICAgfVxuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuUkVTVF9TRVRUSU5HUyA9IFJFU1RfU0VUVElOR1NcbiAgICB0aGlzLmF1dGhEYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KCdhdXRoJylcbiAgICB0aGlzLmF1dGhEYXRhJC5zdWJzY3JpYmUoYXV0aERhdGEgPT4ge1xuICAgICAgaWYgKChhdXRoRGF0YSAmJiAhYXV0aERhdGEuYWNjZXNzX3Rva2VuLmxlbmd0aCkgfHwgIWF1dGhEYXRhKSB7XG4gICAgICAgIC8vINC/0L7Qu9GD0YfQsNC10Lwg0YLQvtC60LXQvSDQv9C+INGB0L7QsdGB0YLQstC10L3QvdGL0Lwg0LrQsNC90LDQu9C+0LwgKNCyINCx0LjRgtGA0LjQutGB0LUg0L/RgNC40LvQvtC20LXQvdC40LUgdHJhY2U6YXBwcy50cmFjZSlcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gIT09IHdpbmRvdy5vcmlnaW4pIHsgLy8g0L/RgNC+0LLQtdGA0Y/QtdC8INGH0YLQviDRjdGC0L4g0L3QtSDQvdCw0YjQtSDRgdC+0L7QsdGJ0LXQvdC40LUgKNGBINGC0LXQutGD0YnQtdCz0L4g0L/RgNC40LvQvtC20LXQvdC40Y8pXG4gICAgICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLnBhcmFtKSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgZXZlbnQuZGF0YS5wYXJhbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBldmVudC5kYXRhLnBhcmFtID0gSlNPTi5wYXJzZShldmVudC5kYXRhLnBhcmFtKVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbGV0IHNhdmU6IHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoID0ge31cblxuICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5wYXJhbS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFyYW0gPSBldmVudC5kYXRhLnBhcmFtO1xuICAgICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZXZlbnQuZGF0YS5wYXJhbS5hY2Nlc3NfdG9rZW5cbiAgICAgICAgICAgICAgICBzYXZlID0ge1xuICAgICAgICAgICAgICAgICAgYWNjZXNzX3Rva2VuOiAocGFyYW0uYWNjZXNzX3Rva2VuKSA/IHBhcmFtLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGNsaWVudF9lbmRwb2ludDogKHBhcmFtLmNsaWVudF9lbmRwb2ludCkgPyBwYXJhbS5jbGllbnRfZW5kcG9pbnQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBkb21haW46IChwYXJhbS5kb21haW4pID8gcGFyYW0uZG9tYWluIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgZXhwaXJlczogKHBhcmFtLmV4cGlyZXMpID8gcGFyYW0uZXhwaXJlcyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IChwYXJhbS5leHBpcmVzX2luKSA/IHBhcmFtLmV4cGlyZXNfaW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBtZW1iZXJfaWQ6IChwYXJhbS5tZW1iZXJfaWQpID8gcGFyYW0ubWVtYmVyX2lkIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgcmVmcmVzaF90b2tlbjogKHBhcmFtLnJlZnJlc2hfdG9rZW4pID8gcGFyYW0ucmVmcmVzaF90b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHNjb3BlOiAocGFyYW0uc2NvcGUpID8gcGFyYW0uc2NvcGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBzZXJ2ZXJfZW5kcG9pbnQ6IChwYXJhbS5zZXJ2ZXJfZW5kcG9pbnQpID8gcGFyYW0uc2VydmVyX2VuZHBvaW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgc3RhdHVzOiAocGFyYW0uc3RhdHVzKSA/IHBhcmFtLnN0YXR1cyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IChwYXJhbS51c2VyX2lkKSA/IHBhcmFtLnVzZXJfaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAocGFyYW0udHlwZSkgPyBwYXJhbS50eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzYXZlKS5sZW5ndGggJiYgc2F2ZS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZUFsbCgpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXBcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihwYXJhbSA9PlxuICAgICAgICAgICAgICBwYXJhbS5oYXMoJ0FVVEhfSUQnKVxuICAgICAgICAgICAgICB8fCBwYXJhbS5oYXMoJ2FjY2Vzc190b2tlbicpXG4gICAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpXG4gICAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnRE9NQUlOJylcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgocGFyYW06IFBhcmFtTWFwKSA9PiB7XG4gICAgICAgICAgICBsZXQgc2F2ZTogc2F2ZUFwcGxpY2F0aW9uQXV0aFBhdGggPSB7fVxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnQVVUSF9JRCcpICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnQVVUSF9JRCcpXG4gICAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgICBDb29raWVzLnNldCgnYXV0aCcsIGdldCkgLy8g0L/QvtGC0L7QvCDRg9Cx0YDQsNGC0YxcbiAgICAgICAgICAgICAgICBzYXZlLmFjY2Vzc190b2tlbiA9IGdldFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ2FjY2Vzc190b2tlbicpICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnYWNjZXNzX3Rva2VuJylcbiAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgIENvb2tpZXMuc2V0KCdhdXRoJywgZ2V0KSAvLyDQv9C+0YLQvtC8INGD0LHRgNCw0YLRjFxuICAgICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpICYmICFhdXRoRGF0YS5yZWZyZXNoX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgICBjb25zdCBnZXQgPSBwYXJhbS5nZXQoJ1JFRlJFU0hfSUQnKVxuICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgc2F2ZS5yZWZyZXNoX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnRE9NQUlOJykgJiYgIWF1dGhEYXRhLmRvbWFpbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdET01BSU4nKVxuICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgc2F2ZS5kb21haW4gPSBnZXRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNhdmUpLmxlbmd0aCAmJiBzYXZlLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVBbGwoKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8g0LXRgdC70Lgg0LHQuNGC0YDQuNC60YEg0L3QtSDRiNC70ZHRgiDQvdGD0LbQvdGL0LUg0LzQvdC1INC/0LDRgNCw0LzQtdGC0YDRiyDQvdCwINC/0YDRj9C80YPRjlxuICAgICAgICAgICAgICAvLyDQv9GA0L7RgdC40Lwg0LjRhSDQvNC90LUg0L7RgtC00LDRgtGMINGC0LDQuiDQutCw0Log0L7Qv9C40YHQsNC90L4g0Y3RgtC+INCyINC00L7QutGD0LzQtdC90YLQsNGG0LjQuFxuICAgICAgICAgICAgICBsZXQgZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5CeEFwaUxpYi5CWDI0KSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpbml0RGF0ZSA9IHRoaXMuQnhBcGlMaWIuQlgyNC5nZXRBdXRoKClcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUFjY2Vzc1Rva2VuKGluaXREYXRlKSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0aGlzLkJ4QXBpTGliLmluaXQoZilcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0QXV0aCgpLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmF1dGhIYXZlID0gdHJ1ZVxuICAgICAgfVxuXG4gICAgICB0aGlzLmF1dGhEYXRhID0gYXV0aERhdGFcbiAgICB9KVxuICB9XG5cbiAgc3Vic2NyaWJlQWxsKCkge1xuICAgIHRoaXMuc3Vic2NyaWJlLmF1dGhEYXRhLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIGdldEF1dGgoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKFJFU1RfU0VUVElOR1MuYXV0aC5rZXkpe1xuICAgICAgY2FzZSAnYXV0aCc6XG4gICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoKDxhbnk+d2luZG93KS5CWCAmJiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKSkge1xuICAgICAgICAgIHJldHVybiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICAgICAgbGV0IHN0ciA9IHRoaXMuZ2V0U2Vzc2lkKClcbiAgICAgICAgICByZXR1cm4gKHN0cikgPyBzdHIgOiAnJ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRLZXlBdXRoKCk6IElLZXlBdXRoIHtcbiAgICBpZihSRVNUX1NFVFRJTkdTLmF1dGgua2V5Lmxlbmd0aCl7XG4gICAgICByZXR1cm4gUkVTVF9TRVRUSU5HUy5hdXRoLmtleVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoKDxhbnk+d2luZG93KS5CWCAmJiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB8fCB0aGlzLmdldFNlc3NpZCgpLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gJ3Nlc3NpZCdcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnYXV0aCdcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTZXNzaWQoKSB7XG4gICAgY29uc3QgY2hlY2sgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdzZXNzaWQnKVxuICAgIGlmIChjaGVjaykge1xuICAgICAgTG9jYWxTdG9yYWdlLnNldCgnc2Vzc2lkJywgY2hlY2spXG4gICAgICByZXR1cm4gY2hlY2tcbiAgICB9IGVsc2UgaWYgKExvY2FsU3RvcmFnZS5nZXQoJ3Nlc3NpZCcpKSB7XG4gICAgICByZXR1cm4gTG9jYWxTdG9yYWdlLmdldCgnc2Vzc2lkJylcbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBzZXRBdXRoUGFyYW1zPFQ+KHBhcmFtczogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5QXV0aCA9IHRoaXMuZ2V0S2V5QXV0aCgpXG4gICAgaWYgKHBhcmFtc1trZXlBdXRoXSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGtleUF1dGgpIHtcbiAgICAgIHBhcmFtc1trZXlBdXRoXSA9IHRoaXMuZ2V0QXV0aCgpXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGdldEF1dGhQYXJhbXMoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBzd2l0Y2ggKFJFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2UpIHtcbiAgICAgIGNhc2UgJ2Nvb2tpZXMnOlxuICAgICAgICByZXR1cm4gb2YodGhpcy5nZXRBdXRoKCkpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5hdXRoRGF0YSQucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIG1hcCh2ID0+ICh2KSA/IHYuYWNjZXNzX3Rva2VuIDogdW5kZWZpbmVkKVxuICAgICAgICApXG4gICAgfVxuICB9XG5cbiAgZ2V0QmFzZVVybCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBvZih0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh0aGlzLlJFU1RfU0VUVElOR1MudXJscy5ob21lLCAncmVzdCcpKVxuICAgIC8vIHJldHVybiB0aGlzLmF1dGhEYXRhJC5waXBlKCAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINC/0L7Qt9C20LVcbiAgICAvLyAgIHRha2UoMSksXG4gICAgLy8gICBtYXAodiA9PiAodiAmJiB2LmRvbWFpbikgPyB0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh2LmRvbWFpbikgOiB1bmRlZmluZWQpXG4gICAgLy8gKVxuICB9XG5cbiAgLy8gZ2V0SG9tZVVybCgpOiBzdHJpbmcge1xuICAvLyAgICAgcmV0dXJuIGVudi51cmxzLmhvbWVcbiAgLy8gfVxufVxuIl19
|
package/esm2020/settings.mjs
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
export const REST_SETTINGS = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
auth: {
|
|
3
|
+
source: 'cookies',
|
|
4
|
+
key: 'auth'
|
|
5
5
|
},
|
|
6
|
-
auth: 'cookies',
|
|
7
6
|
urls: {
|
|
8
7
|
home: 'b24.trace-studio.com'
|
|
9
8
|
}
|
|
10
9
|
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzFDLElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLEdBQUcsRUFBRSxNQUFNO0tBQ1o7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsc0JBQXNCO0tBQzdCO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlSZXN0U2V0dGluZ3MgfSBmcm9tICcuL3R5cGlmaWNhdGlvbi9zZXR0aW5ncydcclxuXHJcbmV4cG9ydCBjb25zdCBSRVNUX1NFVFRJTkdTOiBpUmVzdFNldHRpbmdzID0ge1xyXG4gIGF1dGg6IHtcclxuICAgIHNvdXJjZTogJ2Nvb2tpZXMnLFxyXG4gICAga2V5OiAnYXV0aCdcclxuICB9LFxyXG4gIHVybHM6IHtcclxuICAgIGhvbWU6ICdiMjQudHJhY2Utc3R1ZGlvLmNvbSdcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5zd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEFuc3dlcjxUPiB7XHJcbiAgICByZXN1bHQ/OiBUIHwgdW5kZWZpbmVkLFxyXG4gICAgbmV4dD86IG51bWJlcixcclxuICAgIHRvdGFsPzogbnVtYmVyLFxyXG4gICAgdGltZT86IHtcclxuICAgICAgICBzdGFydDogbnVtYmVyLFxyXG4gICAgICAgIGZpbmlzaDogbnVtYmVyLFxyXG4gICAgICAgIGR1cmF0aW9uOiBudW1iZXIsXHJcbiAgICAgICAgcHJvY2Vzc2luZzogbnVtYmVyLFxyXG4gICAgICAgIGRhdGVfc3RhcnQ6IHN0cmluZyxcclxuICAgICAgICBkYXRlX2ZpbmlzaDogc3RyaW5nXHJcbiAgICB9LFxyXG4gICAgZXJyb3I/OiBzdHJpbmcsXHJcbiAgICBlcnJvcl9kZXNjcmlwdGlvbj86IHN0cmluZ1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9maWx0ZXJHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEJYUmVzdEZpbHRlckdlbmVyYXRvcjxUeXBlPiA9IHsgW1Byb3BlcnR5IGluIGtleW9mIFR5cGUgYXMgYCR7QlhSZXN0RmlsdGVyR2VuZXJhdG9yS2V5PFByb3BlcnR5ICYgc3RyaW5nPn1gXT86IFR5cGVbUHJvcGVydHldIH1cclxuZXhwb3J0IHR5cGUgQlhSZXN0RmlsdGVyR2VuZXJhdG9yS2V5PFQgZXh0ZW5kcyBzdHJpbmc+ID0gYCR7QlhSZXN0RmlsdGVyS2V5c30ke1R9YFxyXG5leHBvcnQgdHlwZSBCWFJlc3RGaWx0ZXJLZXlzID0gJycgfCAnPCcgfCAnPicgIHwgJyEnICB8ICc8PScgIHwgJz49J1xyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hSZXF1ZXN0UGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9iYXRjaC9iYXRjaFJlcXVlc3RQYXJhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdEFuc3dlciB9IGZyb20gJy4uL2Jhc2UvYW5zd2VyJ1xyXG5cclxuZXhwb3J0IHR5cGUga2V5QmF0Y2ggPSBzdHJpbmcgfCBudW1iZXJcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJhdGNoUmVxdWVzdFBhcmFtIDxUPntcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIHBhcmFtOiBUXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAgPSB7W2tleTprZXlCYXRjaF06IHN0cmluZ31cclxuXHJcbmV4cG9ydCB0eXBlIGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiA9IHtba2V5OmtleUJhdGNoXTogaUJhdGNoUmVxdWVzdFBhcmFtIDxUPn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJhdGNoUmVxdWVzdEFuc3dlcjxUPiBleHRlbmRzIGlCWFJlc3RBbnN3ZXI8aUJYUmVzdEFuc3dlcjx7W2tleTprZXlCYXRjaF06IFR9Pj57fVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2Rpc2svZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdEZvbGRlck9yRmlsZSwgaUJYUmVzdEZvbGRlck9yRmlsZUJhc2UgfSBmcm9tICcuL2ZvbGRlcic7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0RmlsZSBleHRlbmRzIGlCWFJlc3RGb2xkZXJPckZpbGUsIGlCWFJlc3RGaWxlQmFzZSB7XHJcbiAgRE9XTkxPQURfVVJMOiBzdHJpbmdcclxuICBTSVpFOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0RmlsZUh0dHAgZXh0ZW5kcyBpQlhSZXN0Rm9sZGVyT3JGaWxlLCBpQlhSZXN0RmlsZUJhc2Uge1xyXG4gIERPV05MT0FEX1VSTDogc3RyaW5nXHJcbiAgU0laRTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEZpbGVCYXNlIGV4dGVuZHMgaUJYUmVzdEZvbGRlck9yRmlsZUJhc2V7XHJcbiAgRklMRV9JRDogbnVtYmVyLFxyXG4gIEdMT0JBTF9DT05URU5UX1ZFUlNJT046IG51bWJlclxyXG4gIFRZUEU6ICdmaWxlJ1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvZGlzay9mb2xkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEZvbGRlckluZm8ge1xyXG4gIElEOiBudW1iZXJcclxuICBOQU1FOiBzdHJpbmdcclxuICBDT0RFOiBudWxsIHwgc3RyaW5nXHJcbiAgTU9EVUxFX0lEOiBzdHJpbmdcclxuICBFTlRJVFlfVFlQRTogc3RyaW5nXHJcbiAgRU5USVRZX0lEOiBzdHJpbmdcclxuICBST09UX09CSkVDVF9JRDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEZvbGRlciBleHRlbmRzIGlCWFJlc3RGb2xkZXJPckZpbGUsIGlCWFJlc3RGb2xkZXJCYXNlIHtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0Rm9sZGVySHR0cCBleHRlbmRzIGlCWFJlc3RGb2xkZXJPckZpbGVIdHRwLCBpQlhSZXN0Rm9sZGVyQmFzZSB7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEZvbGRlckJhc2UgZXh0ZW5kcyBpQlhSZXN0Rm9sZGVyT3JGaWxlQmFzZXtcclxuICBUWVBFOiAnZm9sZGVyJ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RGb2xkZXJPckZpbGUgZXh0ZW5kcyBpQlhSZXN0Rm9sZGVyT3JGaWxlQmFzZSB7XHJcbiAgQ1JFQVRFRF9CWTogbnVtYmVyXHJcbiAgQ1JFQVRFX1RJTUU6IERhdGVcclxuICBERUxFVEVEX0JZOiBudW1iZXJcclxuICBERUxFVEVEX1RZUEU6IG51bWJlclxyXG4gIERFTEVURV9USU1FOiBudWxsIHwgRGF0ZVxyXG4gIElEOiBudW1iZXJcclxuICBQQVJFTlRfSUQ6IG51bWJlclxyXG4gIFJFQUxfT0JKRUNUX0lEOiBudW1iZXJcclxuICBTVE9SQUdFX0lEOiBudW1iZXJcclxuICBVUERBVEVEX0JZOiBudW1iZXJcclxuICBVUERBVEVfVElNRTogRGF0ZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RGb2xkZXJPckZpbGVIdHRwIGV4dGVuZHMgaUJYUmVzdEZvbGRlck9yRmlsZUJhc2Uge1xyXG4gIENSRUFURURfQlk6IHN0cmluZ1xyXG4gIENSRUFURV9USU1FOiBzdHJpbmdcclxuICBERUxFVEVEX0JZOiBzdHJpbmdcclxuICBERUxFVEVEX1RZUEU6IHN0cmluZ1xyXG4gIERFTEVURV9USU1FOiBudWxsIHwgc3RyaW5nXHJcbiAgSUQ6IHN0cmluZ1xyXG4gIFBBUkVOVF9JRDogc3RyaW5nXHJcbiAgUkVBTF9PQkpFQ1RfSUQ6IHN0cmluZ1xyXG4gIFNUT1JBR0VfSUQ6IHN0cmluZ1xyXG4gIFVQREFURURfQlk6IHN0cmluZ1xyXG4gIFVQREFURV9USU1FOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0Rm9sZGVyT3JGaWxlQmFzZSB7XHJcbiAgQ09ERTogbnVsbFxyXG4gIERFVEFJTF9VUkw6IG51bGwgfCBzdHJpbmdcclxuICBOQU1FOiBzdHJpbmdcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvZGlzay9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RGb2xkZXIgfSBmcm9tICcuL2ZvbGRlcidcclxuaW1wb3J0IHsgaUJYUmVzdEZpbGUgfSBmcm9tICcuL2ZpbGUnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RGaWxlQW5kRm9sZGVyTWFwIHtcclxuICBmaWxlOiBpQlhSZXN0RmlsZVtdLFxyXG4gIGZvbGRlcjogaUJYUmVzdEZvbGRlcltdXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2Rpc2svc3RvcmFnZS91cGxvYWRmaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0UGFyYW1VcGxvYWRGaWxlIHtcclxuICBpZDogbnVtYmVyLCAvL1x00JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YXRgNCw0L3QuNC70LjRidCwXHJcbiAgZmlsZUNvbnRlbnQ6IHN0cmluZ1tdLFx0Ly8g0JDQvdCw0LvQvtCz0LjRh9C90L4gJ0RFVEFJTF9QSUNUVVJFJyDQsiDQv9GA0LjQvNC10YDQtSBodHRwczovL2Rldi4xYy1iaXRyaXgucnUvcmVzdF9oZWxwL2pzX2xpYnJhcnkvcmVzdC9maWxlcy5waHAuXHJcbiAgZGF0YToge1xyXG4gICAgTkFNRTogc3RyaW5nXHJcbiAgfSxcdC8vINCc0LDRgdGB0LjQsiwg0L7Qv9C40YHRi9Cy0LDRjtGJ0LjQuSDRhNCw0LnQuy4g0J7QsdGP0LfQsNGC0LXQu9GM0L3QvtC1INC/0L7Qu9C1IE5BTUUgLSDQuNC80Y8g0L3QvtCy0L7Qs9C+INGE0LDQudC70LAuXHJcbiAgZ2VuZXJhdGVVbmlxdWVOYW1lPzogYm9vbGVhbiAvLyDQndC10L7QsdGP0LfQsNGC0LXQu9GM0L3Ri9C5LCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiBmYWxzZS4g0J/RgNC4INGD0LrQsNC30LDQvdC40LggdHJ1ZSwg0LTQu9GPINC30LDQs9GA0YPQttCw0LXQvNC+0LPQviDRhNCw0LnQu9CwINCx0YPQtNC10YIg0YPQvdC40LrQsNC70LjQt9C40YDQvtCy0LDQvdC+INC40LzRjywg0LTQvtCx0LDQstC70LXQvdC40LXQvCDRgdGD0YTRhNC40LrRgdCwICgxKSwgKDIpINC4INGCLtC/LlxyXG4gIHJpZ2h0cz86IGFueVtdIC8vINCd0LXQvtCx0Y/Qt9Cw0YLQtdC70YzQvdGL0LksINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0YPRgdGC0L7QuSDQvNCw0YHRgdC40LIuINCc0LDRgdGB0LjQsiDQv9GA0LDQsiDQtNC+0YHRgtGD0L/QsCDQvdCwINC30LDQs9GA0YPQttCw0LXQvNGL0Lkg0YTQsNC50LsuXHJcbn1cclxuIl19
|