ets-fe-ng-sdk 18.0.64 → 18.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/Services/cache/cache.service.mjs +7 -7
- package/esm2022/lib/Services/cache/local-cache.service.mjs +12 -17
- package/esm2022/lib/Services/translation.service.mjs +10 -6
- package/esm2022/lib/Services/utility.service.mjs +6 -6
- package/fesm2022/ets-fe-ng-sdk.mjs +25 -26
- package/fesm2022/ets-fe-ng-sdk.mjs.map +1 -1
- package/lib/Services/api.service.d.ts +1 -1
- package/lib/Services/cache/cache.service.d.ts +2 -2
- package/lib/Services/cache/local-cache.service.d.ts +2 -4
- package/lib/Services/translation.service.d.ts +3 -3
- package/lib/Services/utility.service.d.ts +2 -2
- package/lib/Shared/components/btn/btn.component.d.ts +2 -2
- package/lib/Shared/components/form-generator/form-generated-value/form-generated-value.component.d.ts +1 -1
- package/lib/Shared/components/index-comp-layout/index-comp-layout.component.d.ts +1 -1
- package/lib/Shared/components/info-dialog/info-dialog.component.d.ts +1 -1
- package/lib/Shared/components/text-case-2/text-case-2.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
+
import { UtilityService } from '../utility.service';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../utility.service";
|
|
5
5
|
export class CacheService {
|
|
6
|
-
constructor(
|
|
7
|
-
this.uS = uS;
|
|
6
|
+
constructor() {
|
|
8
7
|
this._cache = {};
|
|
8
|
+
this.uS = inject(UtilityService);
|
|
9
9
|
this.has = (key) => !!this._cache[key];
|
|
10
10
|
this.getItem = (key) => this._cache[key];
|
|
11
11
|
}
|
|
@@ -30,7 +30,7 @@ export class CacheService {
|
|
|
30
30
|
next.complete();
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CacheService, deps: [
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
34
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CacheService, providedIn: 'root' }); }
|
|
35
35
|
}
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CacheService, decorators: [{
|
|
@@ -38,5 +38,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
38
38
|
args: [{
|
|
39
39
|
providedIn: 'root',
|
|
40
40
|
}]
|
|
41
|
-
}], ctorParameters: () => [
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
}], ctorParameters: () => [] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy9jYWNoZS9jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUtwRCxNQUFNLE9BQU8sWUFBWTtJQUl2QjtRQUhRLFdBQU0sR0FBeUIsRUFBRSxDQUFDO1FBQzFCLE9BQUUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFRNUMsUUFBRyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUxQyxZQUFPLEdBQUcsQ0FBSSxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFNLENBQUM7SUFSckMsQ0FBQztJQUVoQixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQU1ELE9BQU8sQ0FBSSxHQUFXLEVBQUUsSUFBTztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN4QixzQkFBc0I7SUFDeEIsQ0FBQztJQUVELFNBQVMsQ0FBSSxHQUFXLEVBQUUsUUFBeUM7UUFDakUsT0FBTyxJQUFJLFVBQVUsQ0FBSSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzdCLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsQixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7O2dCQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBOUJVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uL3V0aWxpdHkuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDYWNoZVNlcnZpY2Uge1xuICBwcml2YXRlIF9jYWNoZTogeyBbeDogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgcHVibGljIHJlYWRvbmx5IHVTID0gaW5qZWN0KFV0aWxpdHlTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IGNhY2hlKCkge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZTtcbiAgfVxuXG4gIGhhcyA9IChrZXk6IHN0cmluZykgPT4gISF0aGlzLl9jYWNoZVtrZXldO1xuXG4gIGdldEl0ZW0gPSA8VD4oa2V5OiBzdHJpbmcpID0+IHRoaXMuX2NhY2hlW2tleV0gYXMgVDtcblxuICBzZXRJdGVtPFQ+KGtleTogc3RyaW5nLCBkYXRhOiBUKSB7XG4gICAgdGhpcy5fY2FjaGVba2V5XSA9IGRhdGE7XG4gICAgLy8gcmV0dXJuIHRoaXMuX2NhY2hlO1xuICB9XG5cbiAgZ2V0QW5kU2V0PFQ+KGtleTogc3RyaW5nLCBuZXdWYWx1ZT86IFQgfCBQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPikge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxUPigobmV4dCkgPT4ge1xuICAgICAgbmV4dC5uZXh0KHRoaXMuZ2V0SXRlbShrZXkpKTtcbiAgICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgICB0aGlzLnVTLnByb21pc2lmeVZhbChuZXdWYWx1ZSkudGhlbihhc3luYyAocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRJdGVtKGtleSwgcmVzKTtcbiAgICAgICAgICBuZXh0Lm5leHQocmVzKTtcbiAgICAgICAgICBuZXh0LmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIG5leHQuY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { tap } from 'rxjs/operators';
|
|
3
|
+
import { ETSStorageService } from '../storage.service';
|
|
3
4
|
import { CacheService } from './cache.service';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../storage.service";
|
|
6
|
-
import * as i2 from "../utility.service";
|
|
7
6
|
export class LocalCacheService extends CacheService {
|
|
8
|
-
constructor(
|
|
9
|
-
super(
|
|
10
|
-
this.sS = sS;
|
|
11
|
-
this.uS = uS;
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
12
9
|
this.cacheKey = 'cacheKey';
|
|
13
10
|
this.cacheCreatedDateKey = 'cacheCreatedDateKey';
|
|
14
11
|
this.validityDays = 7;
|
|
15
12
|
this.oneDayTimestamp = 86400000;
|
|
13
|
+
this.sS = inject(ETSStorageService);
|
|
16
14
|
try {
|
|
17
|
-
const createdDate = sS.getItem(this.cacheCreatedDateKey);
|
|
15
|
+
const createdDate = this.sS.getItem(this.cacheCreatedDateKey);
|
|
18
16
|
if (!createdDate)
|
|
19
17
|
this.sS.saveItem(this.cacheCreatedDateKey, Date.now());
|
|
20
|
-
else if (createdDate + this.validityDays * this.oneDayTimestamp <=
|
|
21
|
-
Date.now()) {
|
|
18
|
+
else if (createdDate + this.validityDays * this.oneDayTimestamp <= Date.now()) {
|
|
22
19
|
this.sS.saveItem(this.cacheCreatedDateKey, Date.now());
|
|
23
20
|
this.sS.removeItem(this.cacheKey);
|
|
24
21
|
}
|
|
25
|
-
sS.getItemA(this.cacheKey).then((r) => {
|
|
22
|
+
this.sS.getItemA(this.cacheKey).then((r) => {
|
|
26
23
|
try {
|
|
27
24
|
for (const key in r) {
|
|
28
25
|
if (Object.prototype.hasOwnProperty.call(r, key)) {
|
|
@@ -50,11 +47,9 @@ export class LocalCacheService extends CacheService {
|
|
|
50
47
|
}
|
|
51
48
|
getAndSet(key, addFunc) {
|
|
52
49
|
// debugger;
|
|
53
|
-
return super
|
|
54
|
-
.getAndSet(key, addFunc)
|
|
55
|
-
.pipe(tap((r) => this.saveToLocal()));
|
|
50
|
+
return super.getAndSet(key, addFunc).pipe(tap((r) => this.saveToLocal()));
|
|
56
51
|
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: LocalCacheService, deps: [
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: LocalCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
53
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: LocalCacheService, providedIn: 'root' }); }
|
|
59
54
|
}
|
|
60
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: LocalCacheService, decorators: [{
|
|
@@ -62,5 +57,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
62
57
|
args: [{
|
|
63
58
|
providedIn: 'root',
|
|
64
59
|
}]
|
|
65
|
-
}], ctorParameters: () => [
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
}], ctorParameters: () => [] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy9jYWNoZS9sb2NhbC1jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBZ0IsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsWUFBWTtJQU9qRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBUE8sYUFBUSxHQUFHLFVBQVUsQ0FBQztRQUN0Qix3QkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztRQUM1QyxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixvQkFBZSxHQUFHLFFBQVEsQ0FBQztRQUM1QixPQUFFLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFJN0MsSUFBSSxDQUFDO1lBQ0gsTUFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2lCQUNwRSxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7Z0JBQzlFLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQztvQkFDSCxLQUFLLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUNwQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQzs0QkFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQzVCLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7b0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNRLE9BQU8sQ0FBSSxHQUFXLEVBQUUsSUFBTztRQUN0QyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVRLFNBQVMsQ0FBSSxHQUFXLEVBQUUsT0FBd0M7UUFDekUsWUFBWTtRQUNaLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBSSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDOzhHQTVDVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVUU1N0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbENhY2hlU2VydmljZSBleHRlbmRzIENhY2hlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVLZXkgPSAnY2FjaGVLZXknO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlQ3JlYXRlZERhdGVLZXkgPSAnY2FjaGVDcmVhdGVkRGF0ZUtleSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRpdHlEYXlzID0gNztcbiAgcHJpdmF0ZSByZWFkb25seSBvbmVEYXlUaW1lc3RhbXAgPSA4NjQwMDAwMDtcbiAgcHVibGljIHJlYWRvbmx5IHNTID0gaW5qZWN0KEVUU1N0b3JhZ2VTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjcmVhdGVkRGF0ZTogbnVtYmVyID0gdGhpcy5zUy5nZXRJdGVtKHRoaXMuY2FjaGVDcmVhdGVkRGF0ZUtleSk7XG4gICAgICBpZiAoIWNyZWF0ZWREYXRlKSB0aGlzLnNTLnNhdmVJdGVtKHRoaXMuY2FjaGVDcmVhdGVkRGF0ZUtleSwgRGF0ZS5ub3coKSk7XG4gICAgICBlbHNlIGlmIChjcmVhdGVkRGF0ZSArIHRoaXMudmFsaWRpdHlEYXlzICogdGhpcy5vbmVEYXlUaW1lc3RhbXAgPD0gRGF0ZS5ub3coKSkge1xuICAgICAgICB0aGlzLnNTLnNhdmVJdGVtKHRoaXMuY2FjaGVDcmVhdGVkRGF0ZUtleSwgRGF0ZS5ub3coKSk7XG4gICAgICAgIHRoaXMuc1MucmVtb3ZlSXRlbSh0aGlzLmNhY2hlS2V5KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc1MuZ2V0SXRlbUEodGhpcy5jYWNoZUtleSkudGhlbigocikgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHIpIHtcbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwociwga2V5KSkge1xuICAgICAgICAgICAgICB0aGlzLnNldEl0ZW0oa2V5LCByW2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIHRoaXMuc1MucmVtb3ZlSXRlbSh0aGlzLmNhY2hlS2V5KTtcbiAgICB9XG4gIH1cbiAgc2F2ZVRvTG9jYWwoKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ3NhdmluZyB0byBjYWNoZScsIEpTT04uc3RyaW5naWZ5KHN1cGVyLmNhY2hlKSk7XG4gICAgdGhpcy5zUy5zYXZlSXRlbUEodGhpcy5jYWNoZUtleSwgc3VwZXIuY2FjaGUpO1xuICB9XG4gIG92ZXJyaWRlIHNldEl0ZW08VD4oa2V5OiBzdHJpbmcsIGRhdGE6IFQpIHtcbiAgICBzdXBlci5zZXRJdGVtKGtleSwgZGF0YSk7XG4gICAgdGhpcy5zYXZlVG9Mb2NhbCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0QW5kU2V0PFQ+KGtleTogc3RyaW5nLCBhZGRGdW5jPzogVCB8IFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+KSB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgcmV0dXJuIHN1cGVyLmdldEFuZFNldDxUPihrZXksIGFkZEZ1bmMpLnBpcGUodGFwKChyKSA9PiB0aGlzLnNhdmVUb0xvY2FsKCkpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, Observable, interval, lastValueFrom, of } from 'rxjs';
|
|
3
3
|
import { filter, map, tap } from 'rxjs/operators';
|
|
4
4
|
import { environment } from '../../environments/environment';
|
|
5
|
-
import {
|
|
5
|
+
import { EVFunctions } from '../configs/base-functions';
|
|
6
|
+
import { ToastNotificationsService } from '@serene-dev/toast-notifications';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "./api.service";
|
|
8
9
|
import * as i2 from "./storage.service";
|
|
@@ -17,7 +18,7 @@ export class TranslationService {
|
|
|
17
18
|
this.translationResponseMatrix = new BehaviorSubject({});
|
|
18
19
|
this.separator = '~~~';
|
|
19
20
|
this.name = 'glossary';
|
|
20
|
-
this.
|
|
21
|
+
this.toastNotificationService = inject(ToastNotificationsService);
|
|
21
22
|
this.pipeTransformer = (text) => of(text);
|
|
22
23
|
this.translateHTML = (HTMLString, sourceLanguage = this.sourceLanguage, targetLanguage = this.targetLanguage, config) => {
|
|
23
24
|
return new Observable((res) => {
|
|
@@ -34,13 +35,13 @@ export class TranslationService {
|
|
|
34
35
|
res.complete();
|
|
35
36
|
}
|
|
36
37
|
else {
|
|
37
|
-
const id =
|
|
38
|
+
const id = EVFunctions.generateUUID();
|
|
38
39
|
this.translationRequestMatrix.push({ id, text });
|
|
39
40
|
const sub = this.translationResponseMatrix.subscribe({
|
|
40
41
|
next: (r) => {
|
|
41
42
|
if (config?.debug)
|
|
42
43
|
debugger;
|
|
43
|
-
const transVal = r[id
|
|
44
|
+
const transVal = r[id];
|
|
44
45
|
if (transVal) {
|
|
45
46
|
res.next(transVal);
|
|
46
47
|
this.lCacheS.setItem(cacheKey, transVal);
|
|
@@ -71,6 +72,9 @@ export class TranslationService {
|
|
|
71
72
|
});
|
|
72
73
|
};
|
|
73
74
|
this.translateHTMLPromise = (text, sourceLanguage = environment.sourceLanguage, targetLanguage = environment.targetLanguage, config) => this.translateHTML(text, sourceLanguage, targetLanguage, config)?.toPromise();
|
|
75
|
+
this.toastNotificationService.labelPipe = (val) => {
|
|
76
|
+
return this.pipeTransformer(val, { noLoader: true });
|
|
77
|
+
};
|
|
74
78
|
}
|
|
75
79
|
async startInterval() {
|
|
76
80
|
if (this.intervalSub && !this.intervalSub.closed)
|
|
@@ -144,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
144
148
|
providedIn: 'root',
|
|
145
149
|
}]
|
|
146
150
|
}], ctorParameters: () => [{ type: i1.ApiService }, { type: i2.ETSStorageService }, { type: i3.LocalCacheService }] });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFnQixRQUFRLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFLN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQU1uRCxNQUFNLE9BQU8sa0JBQWtCO0lBWTdCLFlBQ1MsVUFBc0IsRUFDdEIsUUFBMkIsRUFDM0IsT0FBMEI7UUFGMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQWR6QixZQUFPLEdBQUcsV0FBVyxDQUFDLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQztRQUMvQyw2QkFBd0IsR0FBbUMsRUFBRSxDQUFDO1FBQ3ZFLDhCQUF5QixHQUNqQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLFNBQUksR0FBRyxVQUFVLENBQUM7UUFJVCxPQUFFLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBT3JDLG9CQUFlLEdBQThFLENBQzNGLElBQUksRUFDSixFQUFFLENBQUMsRUFBRSxDQUFDLElBQWMsQ0FBQyxDQUFDO1FBeUZ4Qixr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ZSwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBpbnRlcnZhbCwgbGFzdFZhbHVlRnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBFTGFuZ3VhZ2UgfSBmcm9tICcuLi9TaGFyZWQvbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi9jYWNoZS9sb2NhbC1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVUU1N0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuL3V0aWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBJVHJhbnNsYXRvckNvbmZpZyB9IGZyb20gJy4uL1NoYXJlZC9tb2RlbHMvdHJhbnNsYXRvci5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblNlcnZpY2U8VHJhbnNsYXRpb25HbG9zc2FyeVJlc3BvbnNlID0gYW55PiB7XG4gIHByb3RlY3RlZCBiYXNlVVJMID0gZW52aXJvbm1lbnQuYXBpQmFzZVVybCArICcvcmVzdC90cmFuc2xhdGlvbi8nO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNsYXRpb25SZXF1ZXN0TWF0cml4OiB7IGlkOiBzdHJpbmc7IHRleHQ6IHN0cmluZyB9W10gPSBbXTtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0aW9uUmVzcG9uc2VNYXRyaXg6IEJlaGF2aW9yU3ViamVjdDx7IFt4OiBudW1iZXJdOiBzdHJpbmcgfT4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuICByZWFkb25seSBzZXBhcmF0b3IgPSAnfn5+JztcbiAgbmFtZSA9ICdnbG9zc2FyeSc7XG4gIHNvdXJjZUxhbmd1YWdlOiBFTGFuZ3VhZ2U7XG4gIHRhcmdldExhbmd1YWdlOiBFTGFuZ3VhZ2U7XG4gIHRyYW5zR2xvc3Nhcnk7XG4gIHJlYWRvbmx5IHVTID0gaW5qZWN0KFV0aWxpdHlTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGludGVydmFsU3ViOiBTdWJzY3JpcHRpb247XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxuICAgIHB1YmxpYyBzdG9yYWdlUzogRVRTU3RvcmFnZVNlcnZpY2UsXG4gICAgcHVibGljIGxDYWNoZVM6IExvY2FsQ2FjaGVTZXJ2aWNlLFxuICApIHt9XG4gIHBpcGVUcmFuc2Zvcm1lcjogKHRleHQ6IHN0cmluZyB8IG51bWJlciwgY29uZmlnPzogSVRyYW5zbGF0b3JDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiA9IChcbiAgICB0ZXh0LFxuICApID0+IG9mKHRleHQgYXMgc3RyaW5nKTtcbiAgYXN5bmMgc3RhcnRJbnRlcnZhbCgpIHtcbiAgICBpZiAodGhpcy5pbnRlcnZhbFN1YiAmJiAhdGhpcy5pbnRlcnZhbFN1Yi5jbG9zZWQpIHJldHVybjtcbiAgICBjb25zdCB0cmFuc0dsb3NzYXJ5ID0gdGhpcy50cmFuc0dsb3NzYXJ5IHx8IChhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuZ2V0R2xvc3NhcnkoKSkpO1xuICAgIHRoaXMuaW50ZXJ2YWxTdWIgPSBpbnRlcnZhbCgxMDAwKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeC5sZW5ndGggPiAwKSxcblxuICAgICAgICB0YXAoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLnRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeC5zcGxpY2UoMCk7XG5cbiAgICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgICBsYXN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLnBvc3RTdHJpbmcoXG4gICAgICAgICAgICAgIHRoaXMuYmFzZVVSTCArXG4gICAgICAgICAgICAgICAgKHRoaXMudHJhbnNHbG9zc2FyeT8uY29kZVxuICAgICAgICAgICAgICAgICAgPyBgbGFuZ3VhZ2U/Z2xvc3NhcnlDb2RlPSR7dGhpcy50cmFuc0dsb3NzYXJ5Py5jb2RlfSZzb3VyY2VMYW5nPSR7dGhpcy5zb3VyY2VMYW5ndWFnZX0mdGFyZ2V0TGFuZz0ke3RoaXMudGFyZ2V0TGFuZ3VhZ2V9YFxuICAgICAgICAgICAgICAgICAgOiBgbGFuZ3VhZ2UvJHt0aGlzLnRhcmdldExhbmd1YWdlfWApLFxuICAgICAgICAgICAgICBib2R5Lm1hcCgoeCkgPT4gdGhpcy50YWdnZXIoeC5pZCwgeC50ZXh0KSkuam9pbih0aGlzLnNlcGFyYXRvciksXG4gICAgICAgICAgICApLFxuICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKChyKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb25SZXNwb25zZU1hdHJpeC5uZXh0KHRoaXMuZGV0YWdnZXIocikpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG4gIHN0b3BJbnRlcnZhbCgpIHtcbiAgICB0aGlzLmludGVydmFsU3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG4gIHByb3RlY3RlZCB0YWdnZXIoaWQ6IHN0cmluZywgc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYDxkaXYgaWQ9XCIke2lkfVwiPiR7c3RyfTwvZGl2PmA7XG4gIH1cbiAgZ2V0R2xvc3NhcnkoXG4gICAgc291cmNlTGFuZ3VhZ2U6IEVMYW5ndWFnZSA9IGVudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlOiBFTGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZSxcbiAgKSB7XG4gICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IHNvdXJjZUxhbmd1YWdlIHx8IHRoaXMuc291cmNlTGFuZ3VhZ2U7XG4gICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHRhcmdldExhbmd1YWdlIHx8IHRoaXMudGFyZ2V0TGFuZ3VhZ2U7XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldDxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2VbXT4oYCR7dGhpcy5iYXNlVVJMfWdsb3NzYXJ5L2ApLnBpcGUoXG4gICAgICBtYXAoKHI6IGFueVtdKSA9PiB7XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCBnbG9zc2FyeSA9IHI/LmZpbmQoXG4gICAgICAgICAgKHgpID0+XG4gICAgICAgICAgICB4LnNvdXJjZUxhbmcgPT0gdGhpcy5zb3VyY2VMYW5ndWFnZSAmJlxuICAgICAgICAgICAgeC50YXJnZXRMYW5nID09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UgJiZcbiAgICAgICAgICAgIHgubmFtZSA9PSB0aGlzLm5hbWUsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBnbG9zc2FyeSA/IGdsb3NzYXJ5IDogbnVsbDtcbiAgICAgIH0pLFxuICAgICAgbWFwKChnbG9zc2FyeSkgPT4ge1xuICAgICAgICBpZiAoIWdsb3NzYXJ5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgdGhpcy50cmFuc0dsb3NzYXJ5ID0gZW52aXJvbm1lbnQudHJhbnNHbG9zc2FyeSA9IGdsb3NzYXJ5O1xuICAgICAgICB0aGlzLnN0b3JhZ2VTLnNhdmVJdGVtKGVudmlyb25tZW50LnRyYW5zR2xvc3NhcnlLZXksIHRoaXMudHJhbnNHbG9zc2FyeSk7XG4gICAgICAgIHJldHVybiBnbG9zc2FyeTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbiAgZGV0YWdnZXIoc3RyOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpdGVtcyA9IHN0cj8uc3BsaXQodGhpcy5zZXBhcmF0b3IpO1xuICAgIGNvbnN0IHJlc29iaiA9IHt9O1xuICAgIGZvciAoY29uc3Qgc3RyIG9mIGl0ZW1zKSB7XG4gICAgICByZXNvYmpbc3RyPy5zcGxpdCgnXCInKVsxXV0gPSBzdHI/LnNwbGl0KCc+JylbMV0/LnNwbGl0KCc8L2RpdicpWzBdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2JqO1xuICB9XG5cbnRyYW5zbGF0ZU9sZCh0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBpZCA9IDMyMzIzMjM7XG4gICAgY29uc3QgYm9keSA9IHsgW2lkXTogdGV4dCB9O1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0U3RyaW5nKFxuICAgICAgICB0aGlzLmJhc2VVUkwgKyBgbGFuZ3VhZ2UvJHtlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZX1gLFxuICAgICAgICBPYmplY3Qua2V5cyhib2R5KVxuICAgICAgICAgIC5tYXAoKGlkKSA9PiB0aGlzLnRhZ2dlcihpZCwgYm9keVtpZF0pKVxuICAgICAgICAgIC5qb2luKHRoaXMuc2VwYXJhdG9yKSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZXRhZ2dlcihyKVtpZF0gYXMgc3RyaW5nO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICB0cmFuc2xhdGVIVE1MID0gKFxuICAgIEhUTUxTdHJpbmc6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IHRoaXMuc291cmNlTGFuZ3VhZ2UsXG4gICAgdGFyZ2V0TGFuZ3VhZ2UgPSB0aGlzLnRhcmdldExhbmd1YWdlLFxuXG4gICAgY29uZmlnPzogSVRyYW5zbGF0b3JDb25maWcsXG4gICkgPT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxzdHJpbmc+KChyZXMpID0+IHtcbiAgICAgIGlmIChjb25maWc/LmRlYnVnKSBkZWJ1Z2dlcjtcblxuICAgICAgY29uc3QgdGV4dCA9IEhUTUxTdHJpbmc/LnRyaW0oKSxcbiAgICAgICAgcm91dGUgPSB0aGlzLmJhc2VVUkwgKyBgbGFuZ3VhZ2VgO1xuICAgICAgY29uc3QgY2FjaGVLZXkgPSByb3V0ZSArICdfJyArIHRhcmdldExhbmd1YWdlICsgJ18nICsgdGV4dDtcbiAgICAgIGlmICghdGV4dCkge1xuICAgICAgICByZXMubmV4dChIVE1MU3RyaW5nKTtcbiAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubENhY2hlUy5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICAgIHJlcy5uZXh0KHRoaXMubENhY2hlUy5nZXRJdGVtPHN0cmluZz4oY2FjaGVLZXkpKTtcbiAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMudVMuZ2VuZXJhdGVVVUlEKCk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRpb25SZXF1ZXN0TWF0cml4LnB1c2goeyBpZCwgdGV4dCB9KTtcbiAgICAgICAgY29uc3Qgc3ViOiBTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uUmVzcG9uc2VNYXRyaXguc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocikgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbmZpZz8uZGVidWcpIGRlYnVnZ2VyO1xuICAgICAgICAgICAgY29uc3QgdHJhbnNWYWwgPSByW2lkLnRvU3RyaW5nKCldO1xuICAgICAgICAgICAgaWYgKHRyYW5zVmFsKSB7XG4gICAgICAgICAgICAgIHJlcy5uZXh0KHRyYW5zVmFsKTtcbiAgICAgICAgICAgICAgdGhpcy5sQ2FjaGVTLnNldEl0ZW0oY2FjaGVLZXksIHRyYW5zVmFsKTtcbiAgICAgICAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgICAgICByZXMuZXJyb3IoZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG4gIHBsYWluVHJhbnNsYXRlID0gKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IGVudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2UsXG4gICkgPT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KGFzeW5jIChyZXNvbHZlKSA9PiB7XG4gICAgICB0ZXh0ID0gdGV4dD8udHJpbSgpO1xuICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLmJhc2VVUkwgKyBgbGFuZ3VhZ2VgO1xuXG4gICAgICBpZiAoIXRleHQpIHJlc29sdmUobnVsbCk7XG4gICAgICBlbHNlIGlmICh0aGlzLmxDYWNoZVMuaGFzKHJvdXRlICsgJ18nICsgdGV4dCkpXG4gICAgICAgIHJlc29sdmUodGhpcy5sQ2FjaGVTLmdldEl0ZW08c3RyaW5nPihyb3V0ZSArICdfJyArIHRleHQpKTtcbiAgICAgIGVsc2VcbiAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICBhd2FpdCB0aGlzLmFwaVNlcnZpY2VcbiAgICAgICAgICAgIC5wb3N0U3RyaW5nKHJvdXRlLCB0ZXh0KVxuICAgICAgICAgICAgLnBpcGUodGFwKChyKSA9PiB0aGlzLmxDYWNoZVMuc2V0SXRlbShyb3V0ZSArICdfJyArIHRleHQsIHIpKSlcbiAgICAgICAgICAgIC50b1Byb21pc2UoKSxcbiAgICAgICAgKTtcbiAgICB9KTtcbiAgfTtcbiAgdHJhbnNsYXRlSFRNTFByb21pc2UgPSAoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHNvdXJjZUxhbmd1YWdlID0gZW52aXJvbm1lbnQuc291cmNlTGFuZ3VhZ2UsXG4gICAgdGFyZ2V0TGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZSxcbiAgICBjb25maWc/OiBJVHJhbnNsYXRvckNvbmZpZyxcbiAgKSA9PiB0aGlzLnRyYW5zbGF0ZUhUTUwodGV4dCwgc291cmNlTGFuZ3VhZ2UsIHRhcmdldExhbmd1YWdlLCBjb25maWcpPy50b1Byb21pc2UoKTtcbn1cbiJdfQ==
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFnQixRQUFRLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFNN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQUs1RSxNQUFNLE9BQU8sa0JBQWtCO0lBYTdCLFlBQ1MsVUFBc0IsRUFDdEIsUUFBMkIsRUFDM0IsT0FBMEI7UUFGMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQWZ6QixZQUFPLEdBQUcsV0FBVyxDQUFDLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQztRQUMvQyw2QkFBd0IsR0FBbUMsRUFBRSxDQUFDO1FBQ3ZFLDhCQUF5QixHQUNqQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLFNBQUksR0FBRyxVQUFVLENBQUM7UUFNRiw2QkFBd0IsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQVU3RSxvQkFBZSxHQUE4RSxDQUMzRixJQUFJ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UUFDeEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7OEdBL0dVLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBpbnRlcnZhbCwgbGFzdFZhbHVlRnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBFTGFuZ3VhZ2UgfSBmcm9tICcuLi9TaGFyZWQvbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi9jYWNoZS9sb2NhbC1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVUU1N0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVRyYW5zbGF0b3JDb25maWcgfSBmcm9tICcuLi9TaGFyZWQvbW9kZWxzL3RyYW5zbGF0b3IubW9kZWwnO1xuaW1wb3J0IHsgRVZGdW5jdGlvbnMgfSBmcm9tICcuLi9jb25maWdzL2Jhc2UtZnVuY3Rpb25zJztcbmltcG9ydCB7IFRvYXN0Tm90aWZpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICdAc2VyZW5lLWRldi90b2FzdC1ub3RpZmljYXRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uU2VydmljZTxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2UgPSBhbnk+IHtcbiAgcHJvdGVjdGVkIGJhc2VVUkwgPSBlbnZpcm9ubWVudC5hcGlCYXNlVXJsICsgJy9yZXN0L3RyYW5zbGF0aW9uLyc7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvblJlcXVlc3RNYXRyaXg6IHsgaWQ6IHN0cmluZzsgdGV4dDogc3RyaW5nIH1bXSA9IFtdO1xuICBwcm90ZWN0ZWQgdHJhbnNsYXRpb25SZXNwb25zZU1hdHJpeDogQmVoYXZpb3JTdWJqZWN0PHsgW3g6IHN0cmluZ106IHN0cmluZyB9PiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG4gIHJlYWRvbmx5IHNlcGFyYXRvciA9ICd+fn4nO1xuICBuYW1lID0gJ2dsb3NzYXJ5JztcbiAgc291cmNlTGFuZ3VhZ2U6IEVMYW5ndWFnZTtcbiAgdGFyZ2V0TGFuZ3VhZ2U6IEVMYW5ndWFnZTtcbiAgdHJhbnNHbG9zc2FyeTtcbiAgLy8gcmVhZG9ubHkgdVMgPSBpbmplY3QoVXRpbGl0eVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgaW50ZXJ2YWxTdWI6IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IHRvYXN0Tm90aWZpY2F0aW9uU2VydmljZSA9IGluamVjdChUb2FzdE5vdGlmaWNhdGlvbnNTZXJ2aWNlKTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgcHVibGljIHN0b3JhZ2VTOiBFVFNTdG9yYWdlU2VydmljZSxcbiAgICBwdWJsaWMgbENhY2hlUzogTG9jYWxDYWNoZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMudG9hc3ROb3RpZmljYXRpb25TZXJ2aWNlLmxhYmVsUGlwZSA9ICh2YWwpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnBpcGVUcmFuc2Zvcm1lcih2YWwsIHsgbm9Mb2FkZXI6IHRydWUgfSk7XG4gICAgfTtcbiAgfVxuICBwaXBlVHJhbnNmb3JtZXI6ICh0ZXh0OiBzdHJpbmcgfCBudW1iZXIsIGNvbmZpZz86IElUcmFuc2xhdG9yQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4gPSAoXG4gICAgdGV4dCxcbiAgKSA9PiBvZih0ZXh0IGFzIHN0cmluZyk7XG4gIGFzeW5jIHN0YXJ0SW50ZXJ2YWwoKSB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWxTdWIgJiYgIXRoaXMuaW50ZXJ2YWxTdWIuY2xvc2VkKSByZXR1cm47XG4gICAgY29uc3QgdHJhbnNHbG9zc2FyeSA9IHRoaXMudHJhbnNHbG9zc2FyeSB8fCAoYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLmdldEdsb3NzYXJ5KCkpKTtcbiAgICB0aGlzLmludGVydmFsU3ViID0gaW50ZXJ2YWwoMTAwMClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXgubGVuZ3RoID4gMCksXG5cbiAgICAgICAgdGFwKGFzeW5jICgpID0+IHtcbiAgICAgICAgICBjb25zdCBib2R5ID0gdGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXguc3BsaWNlKDApO1xuXG4gICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgbGFzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuYXBpU2VydmljZS5wb3N0U3RyaW5nKFxuICAgICAgICAgICAgICB0aGlzLmJhc2VVUkwgK1xuICAgICAgICAgICAgICAgICh0aGlzLnRyYW5zR2xvc3Nhcnk/LmNvZGVcbiAgICAgICAgICAgICAgICAgID8gYGxhbmd1YWdlP2dsb3NzYXJ5Q29kZT0ke3RoaXMudHJhbnNHbG9zc2FyeT8uY29kZX0mc291cmNlTGFuZz0ke3RoaXMuc291cmNlTGFuZ3VhZ2V9JnRhcmdldExhbmc9JHt0aGlzLnRhcmdldExhbmd1YWdlfWBcbiAgICAgICAgICAgICAgICAgIDogYGxhbmd1YWdlLyR7dGhpcy50YXJnZXRMYW5ndWFnZX1gKSxcbiAgICAgICAgICAgICAgYm9keS5tYXAoKHgpID0+IHRoaXMudGFnZ2VyKHguaWQsIHgudGV4dCkpLmpvaW4odGhpcy5zZXBhcmF0b3IpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigocikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uUmVzcG9uc2VNYXRyaXgubmV4dCh0aGlzLmRldGFnZ2VyKHIpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuICBzdG9wSW50ZXJ2YWwoKSB7XG4gICAgdGhpcy5pbnRlcnZhbFN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuICBwcm90ZWN0ZWQgdGFnZ2VyKGlkOiBzdHJpbmcsIHN0cjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGA8ZGl2IGlkPVwiJHtpZH1cIj4ke3N0cn08L2Rpdj5gO1xuICB9XG4gIGdldEdsb3NzYXJ5KFxuICAgIHNvdXJjZUxhbmd1YWdlOiBFTGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC5zb3VyY2VMYW5ndWFnZSxcbiAgICB0YXJnZXRMYW5ndWFnZTogRUxhbmd1YWdlID0gZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2UsXG4gICkge1xuICAgIHRoaXMuc291cmNlTGFuZ3VhZ2UgPSBzb3VyY2VMYW5ndWFnZSB8fCB0aGlzLnNvdXJjZUxhbmd1YWdlO1xuICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2UgPSB0YXJnZXRMYW5ndWFnZSB8fCB0aGlzLnRhcmdldExhbmd1YWdlO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQ8VHJhbnNsYXRpb25HbG9zc2FyeVJlc3BvbnNlW10+KGAke3RoaXMuYmFzZVVSTH1nbG9zc2FyeS9gKS5waXBlKFxuICAgICAgbWFwKChyOiBhbnlbXSkgPT4ge1xuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgY29uc3QgZ2xvc3NhcnkgPSByPy5maW5kKFxuICAgICAgICAgICh4KSA9PlxuICAgICAgICAgICAgeC5zb3VyY2VMYW5nID09IHRoaXMuc291cmNlTGFuZ3VhZ2UgJiZcbiAgICAgICAgICAgIHgudGFyZ2V0TGFuZyA9PSB0aGlzLnRhcmdldExhbmd1YWdlICYmXG4gICAgICAgICAgICB4Lm5hbWUgPT0gdGhpcy5uYW1lLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZ2xvc3NhcnkgPyBnbG9zc2FyeSA6IG51bGw7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoZ2xvc3NhcnkpID0+IHtcbiAgICAgICAgaWYgKCFnbG9zc2FyeSkgcmV0dXJuIG51bGw7XG4gICAgICAgIHRoaXMudHJhbnNHbG9zc2FyeSA9IGVudmlyb25tZW50LnRyYW5zR2xvc3NhcnkgPSBnbG9zc2FyeTtcbiAgICAgICAgdGhpcy5zdG9yYWdlUy5zYXZlSXRlbShlbnZpcm9ubWVudC50cmFuc0dsb3NzYXJ5S2V5LCB0aGlzLnRyYW5zR2xvc3NhcnkpO1xuICAgICAgICByZXR1cm4gZ2xvc3Nhcnk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIGRldGFnZ2VyKHN0cjogc3RyaW5nKSB7XG4gICAgY29uc3QgaXRlbXMgPSBzdHI/LnNwbGl0KHRoaXMuc2VwYXJhdG9yKTtcbiAgICBjb25zdCByZXNvYmogPSB7fTtcbiAgICBmb3IgKGNvbnN0IHN0ciBvZiBpdGVtcykge1xuICAgICAgcmVzb2JqW3N0cj8uc3BsaXQoJ1wiJylbMV1dID0gc3RyPy5zcGxpdCgnPicpWzFdPy5zcGxpdCgnPC9kaXYnKVswXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc29iajtcbiAgfVxuXG4gIHRyYW5zbGF0ZU9sZCh0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBpZCA9IDMyMzIzMjM7XG4gICAgY29uc3QgYm9keSA9IHsgW2lkXTogdGV4dCB9O1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0U3RyaW5nKFxuICAgICAgICB0aGlzLmJhc2VVUkwgKyBgbGFuZ3VhZ2UvJHtlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZX1gLFxuICAgICAgICBPYmplY3Qua2V5cyhib2R5KVxuICAgICAgICAgIC5tYXAoKGlkKSA9PiB0aGlzLnRhZ2dlcihpZCwgYm9keVtpZF0pKVxuICAgICAgICAgIC5qb2luKHRoaXMuc2VwYXJhdG9yKSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZXRhZ2dlcihyKVtpZF0gYXMgc3RyaW5nO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICB0cmFuc2xhdGVIVE1MID0gKFxuICAgIEhUTUxTdHJpbmc6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IHRoaXMuc291cmNlTGFuZ3VhZ2UsXG4gICAgdGFyZ2V0TGFuZ3VhZ2UgPSB0aGlzLnRhcmdldExhbmd1YWdlLFxuXG4gICAgY29uZmlnPzogSVRyYW5zbGF0b3JDb25maWcsXG4gICkgPT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxzdHJpbmc+KChyZXMpID0+IHtcbiAgICAgIGlmIChjb25maWc/LmRlYnVnKSBkZWJ1Z2dlcjtcblxuICAgICAgY29uc3QgdGV4dCA9IEhUTUxTdHJpbmc/LnRyaW0oKSxcbiAgICAgICAgcm91dGUgPSB0aGlzLmJhc2VVUkwgKyBgbGFuZ3VhZ2VgO1xuICAgICAgY29uc3QgY2FjaGVLZXkgPSByb3V0ZSArICdfJyArIHRhcmdldExhbmd1YWdlICsgJ18nICsgdGV4dDtcbiAgICAgIGlmICghdGV4dCkge1xuICAgICAgICByZXMubmV4dChIVE1MU3RyaW5nKTtcbiAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubENhY2hlUy5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICAgIHJlcy5uZXh0KHRoaXMubENhY2hlUy5nZXRJdGVtPHN0cmluZz4oY2FjaGVLZXkpKTtcbiAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpZCA9IEVWRnVuY3Rpb25zLmdlbmVyYXRlVVVJRCgpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeC5wdXNoKHsgaWQsIHRleHQgfSk7XG4gICAgICAgIGNvbnN0IHN1YjogU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGlvblJlc3BvbnNlTWF0cml4LnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHIpID0+IHtcbiAgICAgICAgICAgIGlmIChjb25maWc/LmRlYnVnKSBkZWJ1Z2dlcjtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zVmFsID0gcltpZF07XG4gICAgICAgICAgICBpZiAodHJhbnNWYWwpIHtcbiAgICAgICAgICAgICAgcmVzLm5leHQodHJhbnNWYWwpO1xuICAgICAgICAgICAgICB0aGlzLmxDYWNoZVMuc2V0SXRlbShjYWNoZUtleSwgdHJhbnNWYWwpO1xuICAgICAgICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHJlcy5lcnJvcihlKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbiAgcGxhaW5UcmFuc2xhdGUgPSAoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHNvdXJjZUxhbmd1YWdlID0gZW52aXJvbm1lbnQuc291cmNlTGFuZ3VhZ2UsXG4gICAgdGFyZ2V0TGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZSxcbiAgKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIHRleHQgPSB0ZXh0Py50cmltKCk7XG4gICAgICBjb25zdCByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG5cbiAgICAgIGlmICghdGV4dCkgcmVzb2x2ZShudWxsKTtcbiAgICAgIGVsc2UgaWYgKHRoaXMubENhY2hlUy5oYXMocm91dGUgKyAnXycgKyB0ZXh0KSlcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmxDYWNoZVMuZ2V0SXRlbTxzdHJpbmc+KHJvdXRlICsgJ18nICsgdGV4dCkpO1xuICAgICAgZWxzZVxuICAgICAgICByZXNvbHZlKFxuICAgICAgICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZVxuICAgICAgICAgICAgLnBvc3RTdHJpbmcocm91dGUsIHRleHQpXG4gICAgICAgICAgICAucGlwZSh0YXAoKHIpID0+IHRoaXMubENhY2hlUy5zZXRJdGVtKHJvdXRlICsgJ18nICsgdGV4dCwgcikpKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpLFxuICAgICAgICApO1xuICAgIH0pO1xuICB9O1xuICB0cmFuc2xhdGVIVE1MUHJvbWlzZSA9IChcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgc291cmNlTGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC5zb3VyY2VMYW5ndWFnZSxcbiAgICB0YXJnZXRMYW5ndWFnZSA9IGVudmlyb25tZW50LnRhcmdldExhbmd1YWdlLFxuICAgIGNvbmZpZz86IElUcmFuc2xhdG9yQ29uZmlnLFxuICApID0+IHRoaXMudHJhbnNsYXRlSFRNTCh0ZXh0LCBzb3VyY2VMYW5ndWFnZSwgdGFyZ2V0TGFuZ3VhZ2UsIGNvbmZpZyk/LnRvUHJvbWlzZSgpO1xufVxuIl19
|