trm-tmpl 3.2.1 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/app/i18n/i18n-key.enum.mjs +2 -1
- package/esm2022/lib/app/i18n/keys.mjs +3 -2
- package/esm2022/lib/app/models/constants.mjs +4 -2
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-date/constructor-field-date.component.mjs +24 -38
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/card-sdk.service.mjs +41 -0
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/constructor-field-iframe.component.mjs +99 -117
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/iframe-validator-directive.directive.mjs +88 -0
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-select/constructor-field-select.component.mjs +15 -37
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-text/constructor-field-text.component.mjs +10 -4
- package/esm2022/lib/app/pages/components/constructor-form/components/index.mjs +3 -1
- package/esm2022/lib/app/pages/components/constructor-form/components/method-amount-hint/method-amount-hint.component.mjs +11 -7
- package/esm2022/lib/app/pages/components/constructor-form/components/ps-select/ps-select.component.mjs +20 -24
- package/esm2022/lib/app/pages/components/constructor-form/constructor-form.component.mjs +90 -64
- package/esm2022/lib/app/pages/components/constructor-form/models/field-template.mjs +2 -1
- package/esm2022/lib/app/pages/components/constructor-form/models/index.mjs +1 -2
- package/esm2022/lib/app/pages/components/constructor-form/models/payment-field-options.mjs +1 -1
- package/esm2022/lib/app/pages/components/constructor-form/models/payment-field.mjs +1 -1
- package/esm2022/lib/app/pages/components/constructor-form/services/constructor-form.service.mjs +40 -25
- package/esm2022/lib/app/pages/components/terminal-layout/terminal-layout.component.mjs +11 -9
- package/esm2022/lib/app/pages/directives/fee-template.directive.mjs +17 -0
- package/esm2022/lib/app/pages/directives/index.mjs +2 -1
- package/esm2022/lib/app/services/api-errors.service.mjs +16 -34
- package/esm2022/lib/app/services/csrf.resolver.mjs +6 -18
- package/esm2022/lib/app/services/error.interceptior.mjs +2 -2
- package/esm2022/lib/app/services/local-storage.mjs +70 -0
- package/esm2022/lib/app/services/script-loader.mjs +4 -7
- package/esm2022/lib/app/services/session.data-source.mjs +12 -11
- package/esm2022/lib/app/services/translation/translate-lang-storage.service.mjs +95 -79
- package/esm2022/lib/app/shared/components/terminal-lang-switcher/terminal-lang-switcher.component.mjs +10 -8
- package/esm2022/lib/app/shared/components/terminal-layout-tpl/terminal-layout-tpl.component.mjs +6 -6
- package/esm2022/lib/app/shared/components/trm-select/trm-select.component.mjs +1 -1
- package/esm2022/lib/app/terminal-tpl.component.mjs +13 -16
- package/esm2022/lib/app/terminal.module.mjs +43 -75
- package/fesm2022/trm-tmpl.mjs +936 -793
- package/fesm2022/trm-tmpl.mjs.map +1 -1
- package/lib/app/i18n/i18n-key.enum.d.ts +1 -0
- package/lib/app/models/constants.d.ts +3 -1
- package/lib/app/pages/components/constructor-form/components/constructor-field-date/constructor-field-date.component.d.ts +7 -10
- package/lib/app/pages/components/constructor-form/components/constructor-field-iframe/card-sdk.service.d.ts +18 -0
- package/lib/app/pages/components/constructor-form/components/constructor-field-iframe/constructor-field-iframe.component.d.ts +24 -27
- package/lib/app/pages/components/constructor-form/components/constructor-field-iframe/iframe-validator-directive.directive.d.ts +16 -0
- package/lib/app/pages/components/constructor-form/components/constructor-field-select/constructor-field-select.component.d.ts +6 -10
- package/lib/app/pages/components/constructor-form/components/constructor-field-text/constructor-field-text.component.d.ts +3 -3
- package/lib/app/pages/components/constructor-form/components/index.d.ts +2 -0
- package/lib/app/pages/components/constructor-form/components/method-amount-hint/method-amount-hint.component.d.ts +3 -0
- package/lib/app/pages/components/constructor-form/components/ps-select/ps-select.component.d.ts +4 -6
- package/lib/app/pages/components/constructor-form/constructor-form.component.d.ts +6 -9
- package/lib/app/pages/components/constructor-form/models/index.d.ts +0 -1
- package/lib/app/pages/components/constructor-form/models/payment-field-options.d.ts +1 -1
- package/lib/app/pages/components/constructor-form/models/payment-field.d.ts +1 -1
- package/lib/app/pages/components/constructor-form/services/constructor-form.service.d.ts +8 -5
- package/lib/app/pages/components/terminal-layout/terminal-layout.component.d.ts +1 -0
- package/lib/app/pages/directives/fee-template.directive.d.ts +7 -0
- package/lib/app/pages/directives/index.d.ts +1 -0
- package/lib/app/services/api-errors.service.d.ts +4 -10
- package/lib/app/services/csrf.resolver.d.ts +1 -4
- package/lib/app/services/local-storage.d.ts +24 -0
- package/lib/app/services/script-loader.d.ts +1 -2
- package/lib/app/services/session.data-source.d.ts +1 -1
- package/lib/app/services/translation/translate-lang-storage.service.d.ts +22 -23
- package/lib/app/shared/components/terminal-lang-switcher/terminal-lang-switcher.component.d.ts +4 -34
- package/lib/app/shared/components/terminal-layout-tpl/terminal-layout-tpl.component.d.ts +1 -2
- package/lib/app/shared/components/trm-select/trm-select.component.d.ts +1 -2
- package/lib/app/terminal-tpl.component.d.ts +2 -1
- package/lib/app/terminal.module.d.ts +26 -4
- package/package.json +1 -1
- package/esm2022/lib/app/pages/components/constructor-form/models/constants.mjs +0 -4
- package/lib/app/pages/components/constructor-form/models/constants.d.ts +0 -3
|
@@ -2,7 +2,7 @@ import { ChangeDetectorRef, Component, inject, ViewChild } from '@angular/core';
|
|
|
2
2
|
import { SessionDataSource } from '../../../services/session.data-source';
|
|
3
3
|
import { catchError, finalize, takeUntil, tap } from 'rxjs/operators';
|
|
4
4
|
import { Subject, throwError } from 'rxjs';
|
|
5
|
-
import { TranslateLoader } from '@ngx-translate/core';
|
|
5
|
+
import { TranslateLoader, TranslateService } from '@ngx-translate/core';
|
|
6
6
|
import { DateAdapter } from '@angular/material/core';
|
|
7
7
|
import { TerminalStep } from './../../../pages/components/constructor-form/models';
|
|
8
8
|
import { ApiErrorsService } from '../../../services/api-errors.service';
|
|
@@ -29,6 +29,7 @@ export class TerminalLayoutComponent {
|
|
|
29
29
|
this.translateLoader = inject(TranslateLoader);
|
|
30
30
|
this.cd = inject(ChangeDetectorRef);
|
|
31
31
|
this.translateStorageSrv = inject(TranslateLangStorageService);
|
|
32
|
+
this.translateSrv = inject(TranslateService);
|
|
32
33
|
this.adapter = inject(DateAdapter);
|
|
33
34
|
this.apiErrorSrv = inject(ApiErrorsService);
|
|
34
35
|
this.location = inject(Location);
|
|
@@ -41,9 +42,9 @@ export class TerminalLayoutComponent {
|
|
|
41
42
|
this._submitted = false;
|
|
42
43
|
this.feeCalculateSubject = new Subject();
|
|
43
44
|
this.feeLoading = false;
|
|
44
|
-
this.adapter.setLocale(this.
|
|
45
|
+
this.adapter.setLocale(this.translateSrv.currentLang);
|
|
45
46
|
this._setTitle();
|
|
46
|
-
this.
|
|
47
|
+
this.translateSrv.onLangChange
|
|
47
48
|
.pipe(takeUntil(this.unSubscriber))
|
|
48
49
|
.subscribe((e) => {
|
|
49
50
|
this.adapter.setLocale(e.lang);
|
|
@@ -62,7 +63,7 @@ export class TerminalLayoutComponent {
|
|
|
62
63
|
return this.versionSrv.footerText;
|
|
63
64
|
}
|
|
64
65
|
_setTitle() {
|
|
65
|
-
this.titleSrv.setTitle(this.versionSrv.pageTitle + this.
|
|
66
|
+
this.titleSrv.setTitle(this.versionSrv.pageTitle + this.translateSrv.instant(getI18Key(I18N_KEY.TITLE_PAGE_INVOICE)));
|
|
66
67
|
}
|
|
67
68
|
changeLang() {
|
|
68
69
|
}
|
|
@@ -143,7 +144,7 @@ export class TerminalLayoutComponent {
|
|
|
143
144
|
}
|
|
144
145
|
checkFatalError() {
|
|
145
146
|
// Clear form error when any values have changed.
|
|
146
|
-
if (!this.apiErrorSrv.hasFatalError && this.apiErrorSrv.
|
|
147
|
+
if (!this.apiErrorSrv.hasFatalError && this.apiErrorSrv.getLocalError()) {
|
|
147
148
|
this.apiErrorSrv.clear();
|
|
148
149
|
}
|
|
149
150
|
}
|
|
@@ -173,7 +174,7 @@ export class TerminalLayoutComponent {
|
|
|
173
174
|
this.cd.detectChanges();
|
|
174
175
|
}
|
|
175
176
|
get statusText() {
|
|
176
|
-
return this.apiErrorSrv.
|
|
177
|
+
return this.apiErrorSrv.getLocalError() || this._statusText;
|
|
177
178
|
}
|
|
178
179
|
get hasStatusError() {
|
|
179
180
|
return this.apiErrorSrv.hasFatalError;
|
|
@@ -187,6 +188,7 @@ export class TerminalLayoutComponent {
|
|
|
187
188
|
}
|
|
188
189
|
this.feeCalculateSubject.next();
|
|
189
190
|
this.feeLoading = true;
|
|
191
|
+
this.feeOptions = {};
|
|
190
192
|
this.cd.detectChanges();
|
|
191
193
|
this.sessionDS
|
|
192
194
|
.feeOptions(value)
|
|
@@ -213,7 +215,7 @@ export class TerminalLayoutComponent {
|
|
|
213
215
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: TerminalLayoutComponent, isStandalone: true, selector: "app-terminal-layout", providers: [
|
|
214
216
|
SessionDataSource,
|
|
215
217
|
CurrencyPipe
|
|
216
|
-
], viewQueries: [{ propertyName: "scrollComponent", first: true, predicate: ["scrollComponent"], descendants: true }], ngImport: i0, template: "<ng-scrollbar appearance=\"compact\">\r\n <div class=\"terminal-layout\">\r\n <section class=\"terminal\">\r\n <div class=\"terminal__content\">\r\n <header class=\"terminal__header\">\r\n <i class=\"terminal__header-logo\"\r\n [class]=\"logoClass\"></i>\r\n <div class=\"terminal__header-lang\">\r\n @if (hasChoice) {\r\n <app-terminal-lang-switcher (
|
|
218
|
+
], viewQueries: [{ propertyName: "scrollComponent", first: true, predicate: ["scrollComponent"], descendants: true }], ngImport: i0, template: "<ng-scrollbar appearance=\"compact\">\r\n <div class=\"terminal-layout\">\r\n <section class=\"terminal\">\r\n <div class=\"terminal__content\">\r\n <header class=\"terminal__header\">\r\n <i class=\"terminal__header-logo\"\r\n [class]=\"logoClass\"></i>\r\n <div class=\"terminal__header-lang\">\r\n @if (hasChoice) {\r\n <app-terminal-lang-switcher (langChange)=\"changeLang()\"\r\n [tabIndex]=\"1\"></app-terminal-lang-switcher>\r\n }\r\n </div>\r\n </header>\r\n <div class=\"terminal__form\">\r\n @if (sessionDS.loading$ | async) {\r\n <div class=\"trm-skeleton-group\">\r\n <gm-skeleton [count]=\"1\" [size]=\"120\"></gm-skeleton>\r\n <gm-skeleton [count]=\"4\" [gap]=\"20\" [size]=\"80\"></gm-skeleton>\r\n <gm-skeleton [count]=\"2\" [gap]=\"10\" [size]=\"48\"></gm-skeleton>\r\n </div>\r\n } @else {\r\n @if (projectName) {\r\n <div class=\"terminal__info\">\r\n <h5 class=\"terminal__info__name\"> {{ projectName }} </h5>\r\n @if (description) {\r\n <p class=\"terminal__info__desc\"> {{ description }} </p>\r\n }\r\n </div>\r\n }\r\n @if (step !== TERMINAL_STEP.Status && !hasStatusError) {\r\n <app-constructor-form\r\n [feeLoading]=\"feeLoading\"\r\n [feeOptions]=\"feeOptions\"\r\n [loading]=\"sessionDS.loadingConfirm$ | async\"\r\n [step]=\"step\"\r\n [types]=\"types\"\r\n [currency]=\"currency\"\r\n [response]=\"data\"\r\n [error]=\"statusText\"\r\n (prepare)=\"prepare($event)\"\r\n (onPaymentChanged)=\"checkFatalError(); calculateFee($event)\"\r\n (back)=\"back()\"\r\n [canReturnToProject]=\"sessionDS.canReturnToProject\"\r\n (confirm)=\"confirm()\"\r\n [tabIndex]=\"2\"></app-constructor-form>\r\n } @else {\r\n <app-constructor-status class=\"terminal__status\"\r\n [failed]=\"hasStatusError\"\r\n [message]=\"statusText ? (statusText | trans) : ''\"\r\n [backUrl]=\"returnBackUrl\"\r\n ></app-constructor-status>\r\n }\r\n }\r\n\r\n </div>\r\n </div>\r\n </section>\r\n <footer class=\"terminal-footer\">\r\n <i class=\"terminal-footer__logo\"></i>\r\n <p class=\"terminal-footer__txt\">\r\n {{ footerText }}\r\n </p>\r\n </footer>\r\n </div>\r\n</ng-scrollbar>\r\n", styles: [":host{display:flex;flex-direction:column;height:100vh;box-sizing:border-box}.terminal{box-sizing:border-box;width:100%;max-width:528px;min-width:320px;padding:0 10px}.terminal-layout{min-height:100vh;padding:42px 0 84px;display:flex;flex-direction:column;gap:42px;justify-content:flex-start;align-items:center}.terminal-footer{flex:auto 1 0;display:flex;flex-direction:column;gap:24px;justify-content:flex-end;align-items:center}.terminal-footer__txt{font-weight:400;font-size:14px;line-height:18px;color:var(--color-base-350);margin:0}.terminal__content{box-sizing:border-box;margin:auto;padding:20px;width:100%;background:#fff;border-radius:16px;display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}@media (min-width: 768px){.terminal__content{padding:32px}}.terminal__header{display:flex;flex-direction:row;gap:0;justify-content:flex-start;align-items:center}.terminal__header-lang{margin-left:auto}.terminal__form{display:flex;flex-direction:column;gap:24px;justify-content:flex-start;align-items:stretch;width:100%}.terminal__info{background:#f5f5f5;border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;gap:10px;justify-content:flex-start;align-items:flex-start}.terminal__info__name{margin:0;font-weight:500;font-size:16px;line-height:20px;color:#000}.terminal__info__desc{margin:0;font-weight:400;font-size:15px;line-height:22px;color:var(--color-base-350)}.terminal__status{margin-top:8px}.terminal .trm-skeleton-group{display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}.terminal .trm-skeleton-group__form{gap:20px}.terminal .trm-skeleton-group__form .loader,.terminal .trm-skeleton-group__form .skeleton-loader{height:80px}.terminal .trm-skeleton-group__header .loader,.terminal .trm-skeleton-group__header .skeleton-loader{height:120px}.terminal .trm-skeleton-group__actions{gap:10px}.terminal .trm-skeleton-group__actions .loader,.terminal .trm-skeleton-group__actions .skeleton-loader{height:48px}\n"], dependencies: [{ kind: "component", type: NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "component", type: TerminalLangSwitcherComponent, selector: "app-terminal-lang-switcher", inputs: ["loading", "tabIndex"], outputs: ["langChange"] }, { kind: "component", type: ConstructorFormComponent, selector: "app-constructor-form", inputs: ["step", "error", "response", "feeLoading", "feeOptions", "currency", "userCurrency", "loading", "types", "canReturnToProject", "tabIndex"], outputs: ["amountChanged", "back", "prepare", "confirm", "onPaymentChanged"] }, { kind: "component", type: ConstructorStatusComponent, selector: "app-constructor-status", inputs: ["failed", "inProgress", "animation", "message", "failTitle", "progressTitle", "successTitle", "tabIndex", "backUrl", "backUrlTitle", "hasSupportHint"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TranslateByKeyPipe, name: "trans" }, { kind: "component", type: GmSkeletonComponent, selector: "gm-skeleton", inputs: ["shape", "orientation", "count", "size", "gap"] }] }); }
|
|
217
219
|
}
|
|
218
220
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TerminalLayoutComponent, decorators: [{
|
|
219
221
|
type: Component,
|
|
@@ -226,9 +228,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
226
228
|
ConstructorFormComponent, ConstructorStatusComponent,
|
|
227
229
|
AsyncPipe,
|
|
228
230
|
TranslateByKeyPipe, GmSkeletonComponent
|
|
229
|
-
], template: "<ng-scrollbar appearance=\"compact\">\r\n <div class=\"terminal-layout\">\r\n <section class=\"terminal\">\r\n <div class=\"terminal__content\">\r\n <header class=\"terminal__header\">\r\n <i class=\"terminal__header-logo\"\r\n [class]=\"logoClass\"></i>\r\n <div class=\"terminal__header-lang\">\r\n @if (hasChoice) {\r\n <app-terminal-lang-switcher (
|
|
231
|
+
], template: "<ng-scrollbar appearance=\"compact\">\r\n <div class=\"terminal-layout\">\r\n <section class=\"terminal\">\r\n <div class=\"terminal__content\">\r\n <header class=\"terminal__header\">\r\n <i class=\"terminal__header-logo\"\r\n [class]=\"logoClass\"></i>\r\n <div class=\"terminal__header-lang\">\r\n @if (hasChoice) {\r\n <app-terminal-lang-switcher (langChange)=\"changeLang()\"\r\n [tabIndex]=\"1\"></app-terminal-lang-switcher>\r\n }\r\n </div>\r\n </header>\r\n <div class=\"terminal__form\">\r\n @if (sessionDS.loading$ | async) {\r\n <div class=\"trm-skeleton-group\">\r\n <gm-skeleton [count]=\"1\" [size]=\"120\"></gm-skeleton>\r\n <gm-skeleton [count]=\"4\" [gap]=\"20\" [size]=\"80\"></gm-skeleton>\r\n <gm-skeleton [count]=\"2\" [gap]=\"10\" [size]=\"48\"></gm-skeleton>\r\n </div>\r\n } @else {\r\n @if (projectName) {\r\n <div class=\"terminal__info\">\r\n <h5 class=\"terminal__info__name\"> {{ projectName }} </h5>\r\n @if (description) {\r\n <p class=\"terminal__info__desc\"> {{ description }} </p>\r\n }\r\n </div>\r\n }\r\n @if (step !== TERMINAL_STEP.Status && !hasStatusError) {\r\n <app-constructor-form\r\n [feeLoading]=\"feeLoading\"\r\n [feeOptions]=\"feeOptions\"\r\n [loading]=\"sessionDS.loadingConfirm$ | async\"\r\n [step]=\"step\"\r\n [types]=\"types\"\r\n [currency]=\"currency\"\r\n [response]=\"data\"\r\n [error]=\"statusText\"\r\n (prepare)=\"prepare($event)\"\r\n (onPaymentChanged)=\"checkFatalError(); calculateFee($event)\"\r\n (back)=\"back()\"\r\n [canReturnToProject]=\"sessionDS.canReturnToProject\"\r\n (confirm)=\"confirm()\"\r\n [tabIndex]=\"2\"></app-constructor-form>\r\n } @else {\r\n <app-constructor-status class=\"terminal__status\"\r\n [failed]=\"hasStatusError\"\r\n [message]=\"statusText ? (statusText | trans) : ''\"\r\n [backUrl]=\"returnBackUrl\"\r\n ></app-constructor-status>\r\n }\r\n }\r\n\r\n </div>\r\n </div>\r\n </section>\r\n <footer class=\"terminal-footer\">\r\n <i class=\"terminal-footer__logo\"></i>\r\n <p class=\"terminal-footer__txt\">\r\n {{ footerText }}\r\n </p>\r\n </footer>\r\n </div>\r\n</ng-scrollbar>\r\n", styles: [":host{display:flex;flex-direction:column;height:100vh;box-sizing:border-box}.terminal{box-sizing:border-box;width:100%;max-width:528px;min-width:320px;padding:0 10px}.terminal-layout{min-height:100vh;padding:42px 0 84px;display:flex;flex-direction:column;gap:42px;justify-content:flex-start;align-items:center}.terminal-footer{flex:auto 1 0;display:flex;flex-direction:column;gap:24px;justify-content:flex-end;align-items:center}.terminal-footer__txt{font-weight:400;font-size:14px;line-height:18px;color:var(--color-base-350);margin:0}.terminal__content{box-sizing:border-box;margin:auto;padding:20px;width:100%;background:#fff;border-radius:16px;display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}@media (min-width: 768px){.terminal__content{padding:32px}}.terminal__header{display:flex;flex-direction:row;gap:0;justify-content:flex-start;align-items:center}.terminal__header-lang{margin-left:auto}.terminal__form{display:flex;flex-direction:column;gap:24px;justify-content:flex-start;align-items:stretch;width:100%}.terminal__info{background:#f5f5f5;border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;gap:10px;justify-content:flex-start;align-items:flex-start}.terminal__info__name{margin:0;font-weight:500;font-size:16px;line-height:20px;color:#000}.terminal__info__desc{margin:0;font-weight:400;font-size:15px;line-height:22px;color:var(--color-base-350)}.terminal__status{margin-top:8px}.terminal .trm-skeleton-group{display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}.terminal .trm-skeleton-group__form{gap:20px}.terminal .trm-skeleton-group__form .loader,.terminal .trm-skeleton-group__form .skeleton-loader{height:80px}.terminal .trm-skeleton-group__header .loader,.terminal .trm-skeleton-group__header .skeleton-loader{height:120px}.terminal .trm-skeleton-group__actions{gap:10px}.terminal .trm-skeleton-group__actions .loader,.terminal .trm-skeleton-group__actions .skeleton-loader{height:48px}\n"] }]
|
|
230
232
|
}], ctorParameters: () => [], propDecorators: { scrollComponent: [{
|
|
231
233
|
type: ViewChild,
|
|
232
234
|
args: ['scrollComponent']
|
|
233
235
|
}] } });
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL3BhZ2VzL2NvbXBvbmVudHMvdGVybWluYWwtbGF5b3V0L3Rlcm1pbmFsLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXJtaW5hbC10ZW1wbGF0ZS9zcmMvbGliL2FwcC9wYWdlcy9jb21wb25lbnRzL3Rlcm1pbmFsLWxheW91dC90ZXJtaW5hbC1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9uRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQXVCLFlBQVksRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8s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bUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7OEdBL09VLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGtFQWJ2QjtZQUNULGlCQUFpQjtZQUNqQixZQUFZO1NBQ2IsOElDckNILGl3RkFrRUEsa2hFRDFCSSxXQUFXLDRHQUNYLDZCQUE2Qiw2SEFDN0Isd0JBQXdCLG9TQUFFLDBCQUEwQiwrTkFDcEQsU0FBUyx5Q0FDVCxrQkFBa0IsOENBQUUsbUJBQW1COzsyRkFHOUIsdUJBQXVCO2tCQWpCbkMsU0FBUzsrQkFDRSxxQkFBcUIsYUFHcEI7d0JBQ1QsaUJBQWlCO3dCQUNqQixZQUFZO3FCQUNiLGNBQ1csSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsNkJBQTZCO3dCQUM3Qix3QkFBd0IsRUFBRSwwQkFBMEI7d0JBQ3BELFNBQVM7d0JBQ1Qsa0JBQWtCLEVBQUUsbUJBQW1CO3FCQUN4Qzt3REE2QjZCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgTWV0aG9kVHlwZSxcclxuICBUZXJtaW5hbFBheW1lbnRDb25maXJtUmVzcG9uc2UsXHJcbiAgVGVybWluYWxQYXltZW50UHJlcGFyZVJlcXVlc3QsXHJcbiAgVGVybWluYWxQYXltZW50UHJlcGFyZVJlc3BvbnNlXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29kZWdlbi9tb2RlbC9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Nlc3Npb24uZGF0YS1zb3VyY2UnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IFBheW1lbnRGaWVsZE9wdGlvbnMsIFRlcm1pbmFsU3RlcCB9IGZyb20gJy4vLi4vLi4vLi4vcGFnZXMvY29tcG9uZW50cy9jb25zdHJ1Y3Rvci1mb3JtL21vZGVscyc7XHJcbmltcG9ydCB7IEFwaUVycm9yc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGktZXJyb3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc3luY1BpcGUsIEN1cnJlbmN5UGlwZSwgRE9DVU1FTlQsIExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdTY3JvbGxiYXIgfSBmcm9tICduZ3gtc2Nyb2xsYmFyJztcclxuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgZ2V0STE4S2V5IH0gZnJvbSAnLi8uLi8uLi8uLi9pMThuL2tleXMnO1xyXG5pbXBvcnQgeyBJMThOX0tFWSB9IGZyb20gJy4vLi4vLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IFRFUk1JTkFMX1ZFUlNJT05fU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbnN0JztcclxuaW1wb3J0IHsgVmVyc2lvblNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdmVyc2lvbi1zZXJ2aWNlLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxhbmdTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHtcclxuICBUZXJtaW5hbExhbmdTd2l0Y2hlckNvbXBvbmVudFxyXG59IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL3Rlcm1pbmFsLWxhbmctc3dpdGNoZXIvdGVybWluYWwtbGFuZy1zd2l0Y2hlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25zdHJ1Y3RvckZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9jb25zdHJ1Y3Rvci1mb3JtL2NvbnN0cnVjdG9yLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3JTdGF0dXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9jb25zdHJ1Y3Rvci1zdGF0dXMvY29uc3RydWN0b3Itc3RhdHVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUJ5S2V5UGlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9waXBlcy90cmFuc2xhdGUtYnkta2V5LnBpcGUnO1xyXG5pbXBvcnQgeyBHbVNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnQGdtbW9uZXkvZ20tdWkta2l0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRlcm1pbmFsLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rlcm1pbmFsLWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVybWluYWwtbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTZXNzaW9uRGF0YVNvdXJjZSxcclxuICAgIEN1cnJlbmN5UGlwZVxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1Njcm9sbGJhcixcclxuICAgIFRlcm1pbmFsTGFuZ1N3aXRjaGVyQ29tcG9uZW50LFxyXG4gICAgQ29uc3RydWN0b3JGb3JtQ29tcG9uZW50LCBDb25zdHJ1Y3RvclN0YXR1c0NvbXBvbmVudCxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIFRyYW5zbGF0ZUJ5S2V5UGlwZSwgR21Ta2VsZXRvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcclxuICBzZXNzaW9uRFMgPSBpbmplY3QoU2Vzc2lvbkRhdGFTb3VyY2UpO1xyXG4gIHRyYW5zbGF0ZUxvYWRlciA9IGluamVjdDxhbnk+KFRyYW5zbGF0ZUxvYWRlcik7XHJcbiAgcHJpdmF0ZSBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTdG9yYWdlU3J2ID0gaW5qZWN0KFRyYW5zbGF0ZUxhbmdTdG9yYWdlU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBhZGFwdGVyID0gaW5qZWN0PERhdGVBZGFwdGVyPG1vbWVudC5Nb21lbnQ+PihEYXRlQWRhcHRlcik7XHJcbiAgcHJpdmF0ZSBhcGlFcnJvclNydiA9IGluamVjdChBcGlFcnJvcnNTZXJ2aWNlKTtcclxuICBwcml2YXRlIGxvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcclxuICBwcml2YXRlIHRpdGxlU3J2ID0gaW5qZWN0KFRpdGxlKTtcclxuICBwcml2YXRlIHZlcnNpb25TcnYgPSBpbmplY3Q8VmVyc2lvblNlcnZpY2VJbnRlcmZhY2U+KFRFUk1JTkFMX1ZFUlNJT05fU0VSVklDRV9UT0tFTik7XHJcblxyXG4gIHByaXZhdGUgdW5TdWJzY3JpYmVyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgY29udGVudEVsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Nyb2xsQ29tcG9uZW50LnZpZXdwb3J0LmNvbnRlbnRXcmFwcGVyRWxlbWVudDtcclxuICB9XHJcblxyXG4gIFRFUk1JTkFMX1NURVAgPSBUZXJtaW5hbFN0ZXA7XHJcblxyXG4gIHR5cGVzOiBNZXRob2RUeXBlW10gPSBbXTtcclxuICBjdXJyZW5jeTogc3RyaW5nO1xyXG4gIHByb2plY3ROYW1lOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBzdGVwID0gVGVybWluYWxTdGVwLlByZXBhcmU7XHJcbiAgZGF0YTogVGVybWluYWxQYXltZW50UHJlcGFyZVJlc3BvbnNlICYgeyB0eXBlSWQ/OiBudW1iZXI7IH07XHJcbiAgQFZpZXdDaGlsZCgnc2Nyb2xsQ29tcG9uZW50Jykgc2Nyb2xsQ29tcG9uZW50OiBOZ1Njcm9sbGJhcjtcclxuICBwcml2YXRlIHVybENoYW5nZUxpc3RlbmVyOiBWb2lkRnVuY3Rpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5hZGFwdGVyLnNldExvY2FsZSh0aGlzLnRyYW5zbGF0ZVN0b3JhZ2VTcnYudHJhbnNsYXRlU3J2LmN1cnJlbnRMYW5nKTtcclxuICAgIHRoaXMuX3NldFRpdGxlKCk7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGVTdG9yYWdlU3J2LnRyYW5zbGF0ZVNydi5vbkxhbmdDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5TdWJzY3JpYmVyKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICB0aGlzLmFkYXB0ZXIuc2V0TG9jYWxlKGUubGFuZyk7XHJcbiAgICAgICAgdGhpcy5fc2V0VGl0bGUoKTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmNoZWNrRmF0YWxFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0Nob2ljZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVN0b3JhZ2VTcnYubGFuZ3VhZ2VzLmxlbmd0aCA+IDE7XHJcbiAgfVxyXG5cclxuICBnZXQgbG9nb0NsYXNzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy52ZXJzaW9uU3J2LmxvZ29DbGFzcztcclxuICB9XHJcblxyXG4gIGdldCBmb290ZXJUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmVyc2lvblNydi5mb290ZXJUZXh0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0VGl0bGUoKSB7XHJcbiAgICB0aGlzLnRpdGxlU3J2LnNldFRpdGxlKHRoaXMudmVyc2lvblNydi5wYWdlVGl0bGUgKyB0aGlzLnRyYW5zbGF0ZVN0b3JhZ2VTcnYudHJhbnNsYXRlU3J2Lmluc3RhbnQoZ2V0STE4S2V5KEkxOE5fS0VZLlRJVExFX1BBR0VfSU5WT0lDRSkpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VMYW5nKCkge1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhvc3RuYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcubG9jYXRpb24uaG9zdG5hbWU7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmFwaUVycm9yU3J2Lmhhc0ZhdGFsRXJyb3IpIHtcclxuICAgICAgdGhpcy5zZXNzaW9uRFMubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgIHRoaXMuY2F0Y2hFcnJvcigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlc3Npb25EUy5nZXQoKVxyXG4gICAgICAuc3Vic2NyaWJlKChzZXNzaW9uSW5mbykgPT4ge1xyXG4gICAgICAgIHRoaXMudHlwZXMgPSBzZXNzaW9uSW5mby5tZXRob2RUeXBlcztcclxuICAgICAgICB0aGlzLmN1cnJlbmN5ID0gc2Vzc2lvbkluZm8uZGVmYXVsdEN1cnJlbmN5O1xyXG4gICAgICAgIHRoaXMucHJvamVjdE5hbWUgPSBzZXNzaW9uSW5mby5wcm9qZWN0TmFtZTtcclxuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gc2Vzc2lvbkluZm8uZGVzY3JpcHRpb247XHJcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2F0Y2hFcnJvcigpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnB1c2hTdGF0ZSgpO1xyXG4gICAgdGhpcy51cmxDaGFuZ2VMaXN0ZW5lciA9IHRoaXMubG9jYXRpb24ub25VcmxDaGFuZ2UoKHVybCwgc3RhdGU6IHsgc3RlcD86IFRlcm1pbmFsU3RlcCB9KSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2Ygc3RhdGU/LnN0ZXAgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwID0gc3RhdGUuc3RlcDtcclxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9zdWJtaXR0ZWQgPSBmYWxzZTtcclxuXHJcbiAgcHJlcGFyZShkYXRhOiBUZXJtaW5hbFBheW1lbnRQcmVwYXJlUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMuX3N1Ym1pdHRlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5zZXNzaW9uRFNcclxuICAgICAgLnByZXBhcmUoZGF0YSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzcDogVGVybWluYWxQYXltZW50UHJlcGFyZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKCFyZXNwLmFtb3VudCAmJiAhcmVzcC5jdXJyZW5jeSAmJiAhcmVzcC50b3RhbCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN0ZXAgPSBUZXJtaW5hbFN0ZXAuQ29uZmlybWF0aW9uO1xyXG4gICAgICAgIHRoaXMubG9jYXRpb24uZ28odGhpcy5sb2NhdGlvbi5wYXRoKCksICcnLCB7c3RlcDogdGhpcy5zdGVwfSk7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gcmVzcDtcclxuICAgICAgICB0aGlzLmRhdGEudHlwZUlkID0gZGF0YS50eXBlSWQ7XHJcbiAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3N1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2F0Y2hFcnJvcigpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm0oKSB7XHJcbiAgICBpZiAodGhpcy5fc3VibWl0dGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3N1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICB0aGlzLnNlc3Npb25EU1xyXG4gICAgICAuY29uZmlybSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHJlc3A6IFRlcm1pbmFsUGF5bWVudENvbmZpcm1SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMudXJsQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgdGhpcy51cmxDaGFuZ2VMaXN0ZW5lcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuc2Vzc2lvbkRTLnJlZGlyZWN0KCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc3RlcCArPSAxO1xyXG4gICAgICAgICAgaWYgKHJlc3Auc3VjY2Vzcykge1xyXG4gICAgICAgICAgICB0aGlzLl9zdGF0dXNUZXh0ID0gcmVzcC5tZXNzYWdlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNhdGNoRXJyb3IoKTtcclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tGYXRhbEVycm9yKCkge1xyXG4gICAgLy8gQ2xlYXIgZm9ybSBlcnJvciB3aGVuIGFueSB2YWx1ZXMgaGF2ZSBjaGFuZ2VkLlxyXG4gICAgaWYgKCF0aGlzLmFwaUVycm9yU3J2Lmhhc0ZhdGFsRXJyb3IgJiYgdGhpcy5hcGlFcnJvclNydi5nZXRFcnJvcigpKSB7XHJcbiAgICAgIHRoaXMuYXBpRXJyb3JTcnYuY2xlYXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1c2hTdGF0ZSgpIHtcclxuICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKHRoaXMubG9jYXRpb24ucGF0aCgpLCB1bmRlZmluZWQsIHtzdGVwOiB0aGlzLnN0ZXB9KTtcclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICBpZiAodGhpcy5zdGVwKSB7XHJcbiAgICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXNzaW9uRFMuY2xvc2UoKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5jZC5tYXJrRm9yQ2hlY2soKSlcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHJldHVybkJhY2tVcmwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25EUy5yZXR1cm5CYWNrVXJsO1xyXG4gIH1cclxuXHJcbiAgY2F0Y2hFcnJvcigpIHtcclxuICAgIGlmICh0aGlzLmhhc1N0YXR1c0Vycm9yKSB7XHJcbiAgICAgIHRoaXMuc3RlcCA9IFRlcm1pbmFsU3RlcC5TdGF0dXM7XHJcbiAgICAgIGlmICh0aGlzLnVybENoYW5nZUxpc3RlbmVyKSB7XHJcbiAgICAgICAgdGhpcy51cmxDaGFuZ2VMaXN0ZW5lcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N0YXR1c1RleHQ6IHN0cmluZztcclxuICBnZXQgc3RhdHVzVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaUVycm9yU3J2LmdldEVycm9yKCkgfHwgdGhpcy5fc3RhdHVzVGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNTdGF0dXNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaUVycm9yU3J2Lmhhc0ZhdGFsRXJyb3I7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGN1cnJlbnRZZWFyKCkge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmVlQ2FsY3VsYXRlU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHVibGljIGNhbGN1bGF0ZUZlZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuc2Vzc2lvbkRTLmZlZUNoYW5nZWFibGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mZWVDYWxjdWxhdGVTdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuZmVlTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICB0aGlzLnNlc3Npb25EU1xyXG4gICAgICAuZmVlT3B0aW9ucyh2YWx1ZSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFwKChvcHRpb25zOiBQYXltZW50RmllbGRPcHRpb25zKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZlZU9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgICAgICAgdGhpcy5mZWVMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuZmVlTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnIpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmZlZUNhbGN1bGF0ZVN1YmplY3QpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuU3Vic2NyaWJlcilcclxuICAgICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGZlZUxvYWRpbmcgPSBmYWxzZTtcclxuICBmZWVPcHRpb25zOiBQYXltZW50RmllbGRPcHRpb25zO1xyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmZlZUNhbGN1bGF0ZVN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMudW5TdWJzY3JpYmVyLm5leHQoKTtcclxuICAgIHRoaXMudW5TdWJzY3JpYmVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy51bm9ic2VydmUodGhpcy5jb250ZW50RWwpO1xyXG4gICAgaWYgKHRoaXMudXJsQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy51cmxDaGFuZ2VMaXN0ZW5lcigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bmctc2Nyb2xsYmFyIGFwcGVhcmFuY2U9XCJjb21wYWN0XCI+XHJcbiAgPGRpdiBjbGFzcz1cInRlcm1pbmFsLWxheW91dFwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJ0ZXJtaW5hbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWxfX2NvbnRlbnRcIj5cclxuICAgICAgICA8aGVhZGVyIGNsYXNzPVwidGVybWluYWxfX2hlYWRlclwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJ0ZXJtaW5hbF9faGVhZGVyLWxvZ29cIlxyXG4gICAgICAgICAgW2NsYXNzXT1cImxvZ29DbGFzc1wiPjwvaT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbF9faGVhZGVyLWxhbmdcIj5cclxuICAgICAgICAgICAgQGlmIChoYXNDaG9pY2UpIHtcclxuICAgICAgICAgICAgICA8YXBwLXRlcm1pbmFsLWxhbmctc3dpdGNoZXIgKGNoYW5nZSk9XCJjaGFuZ2VMYW5nKClcIlxyXG4gICAgICAgICAgICAgIFt0YWJJbmRleF09XCIxXCI+PC9hcHAtdGVybWluYWwtbGFuZy1zd2l0Y2hlcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9oZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRlcm1pbmFsX19mb3JtXCI+XHJcbiAgICAgICAgICBAaWYgKChzZXNzaW9uRFMubG9hZGluZyQgfCBhc3luYykgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRybS1za2VsZXRvbi1ncm91cFwiPlxyXG4gICAgICAgICAgICAgIDxnbS1za2VsZXRvbiBbY291bnRdPVwiMVwiIFtzaXplXT1cIjEyMFwiPjwvZ20tc2tlbGV0b24+XHJcbiAgICAgICAgICAgICAgPGdtLXNrZWxldG9uIFtjb3VudF09XCI0XCIgW2dhcF09XCIyMFwiIFtzaXplXT1cIjgwXCI+PC9nbS1za2VsZXRvbj5cclxuICAgICAgICAgICAgICA8Z20tc2tlbGV0b24gW2NvdW50XT1cIjJcIiBbZ2FwXT1cIjEwXCIgW3NpemVdPVwiNDhcIj48L2dtLXNrZWxldG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAaWYgKHByb2plY3ROYW1lKSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRlcm1pbmFsX19pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJ0ZXJtaW5hbF9faW5mb19fbmFtZVwiPiB7eyBwcm9qZWN0TmFtZSB9fSA8L2g1PlxyXG4gICAgICAgICAgICAgICAgQGlmIChkZXNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRlcm1pbmFsX19pbmZvX19kZXNjXCI+IHt7IGRlc2NyaXB0aW9uIH19IDwvcD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKHN0ZXAgIT09IFRFUk1JTkFMX1NURVAuU3RhdHVzICYmICFoYXNTdGF0dXNFcnJvcikge1xyXG4gICAgICAgICAgICAgIDxhcHAtY29uc3RydWN0b3ItZm9ybVxyXG4gICAgICAgICAgICAgICAgW2ZlZUxvYWRpbmddPVwiZmVlTG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICBbZmVlT3B0aW9uc109XCJmZWVPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cIihzZXNzaW9uRFMubG9hZGluZ0NvbmZpcm0kIHwgYXN5bmMpIHx8IChzZXNzaW9uRFMubG9hZGluZyQgfCBhc3luYylcIlxyXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwic3RlcFwiXHJcbiAgICAgICAgICAgICAgICBbdHlwZXNdPVwidHlwZXNcIlxyXG4gICAgICAgICAgICAgICAgW2N1cnJlbmN5XT1cImN1cnJlbmN5XCJcclxuICAgICAgICAgICAgICAgIFtyZXNwb25zZV09XCJkYXRhXCJcclxuICAgICAgICAgICAgICAgIFtlcnJvcl09XCJzdGF0dXNUZXh0XCJcclxuICAgICAgICAgICAgICAgIChwcmVwYXJlKT1cInByZXBhcmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAob25QYXltZW50Q2hhbmdlZCk9XCJjaGVja0ZhdGFsRXJyb3IoKTsgY2FsY3VsYXRlRmVlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKGJhY2spPVwiYmFjaygpXCJcclxuICAgICAgICAgICAgICAgIFtjYW5SZXR1cm5Ub1Byb2plY3RdPVwic2Vzc2lvbkRTLmNhblJldHVyblRvUHJvamVjdFwiXHJcbiAgICAgICAgICAgICAgICAoY29uZmlybSk9XCJjb25maXJtKClcIlxyXG4gICAgICAgICAgICAgICAgW3RhYkluZGV4XT1cIjJcIj48L2FwcC1jb25zdHJ1Y3Rvci1mb3JtPlxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICA8YXBwLWNvbnN0cnVjdG9yLXN0YXR1cyBjbGFzcz1cInRlcm1pbmFsX19zdGF0dXNcIlxyXG4gICAgICAgICAgICAgICAgW2ZhaWxlZF09XCJoYXNTdGF0dXNFcnJvclwiXHJcbiAgICAgICAgICAgICAgICBbbWVzc2FnZV09XCJzdGF0dXNUZXh0ID8gKHN0YXR1c1RleHQgfCB0cmFucykgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbYmFja1VybF09XCJyZXR1cm5CYWNrVXJsXCJcclxuICAgICAgICAgICAgICA+PC9hcHAtY29uc3RydWN0b3Itc3RhdHVzPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuICAgIDxmb290ZXIgY2xhc3M9XCJ0ZXJtaW5hbC1mb290ZXJcIj5cclxuICAgICAgPGkgY2xhc3M9XCJ0ZXJtaW5hbC1mb290ZXJfX2xvZ29cIj48L2k+XHJcbiAgICAgIDxwIGNsYXNzPVwidGVybWluYWwtZm9vdGVyX190eHRcIj5cclxuICAgICAgICB7eyBmb290ZXJUZXh0IH19XHJcbiAgICAgIDwvcD5cclxuICAgIDwvZm9vdGVyPlxyXG4gIDwvZGl2PlxyXG48L25nLXNjcm9sbGJhcj5cclxuIl19
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL3BhZ2VzL2NvbXBvbmVudHMvdGVybWluYWwtbGF5b3V0L3Rlcm1pbmFsLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXJtaW5hbC10ZW1wbGF0ZS9zcmMvbGliL2FwcC9wYWdlcy9jb21wb25lbnRzL3Rlcm1pbmFsLWxheW91dC90ZXJtaW5hbC1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9uRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQXVCLFlBQVksRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFD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LFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFLTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7OEdBalBVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGtFQWJ2QjtZQUNULGlCQUFpQjtZQUNqQixZQUFZO1NBQ2IsOElDckNILHd0RkFrRUEsa2hFRDFCSSxXQUFXLDRHQUNYLDZCQUE2QixpSUFDN0Isd0JBQXdCLG9TQUFFLDBCQUEwQiwrTkFDcEQsU0FBUyx5Q0FDVCxrQkFBa0IsOENBQUUsbUJBQW1COzsyRkFHOUIsdUJBQXVCO2tCQWpCbkMsU0FBUzsrQkFDRSxxQkFBcUIsYUFHcEI7d0JBQ1QsaUJBQWlCO3dCQUNqQixZQUFZO3FCQUNiLGNBQ1csSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsNkJBQTZCO3dCQUM3Qix3QkFBd0IsRUFBRSwwQkFBMEI7d0JBQ3BELFNBQVM7d0JBQ1Qsa0JBQWtCLEVBQUUsbUJBQW1CO3FCQUN4Qzt3REE4QjZCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgTWV0aG9kVHlwZSxcclxuICBUZXJtaW5hbFBheW1lbnRDb25maXJtUmVzcG9uc2UsXHJcbiAgVGVybWluYWxQYXltZW50UHJlcGFyZVJlcXVlc3QsXHJcbiAgVGVybWluYWxQYXltZW50UHJlcGFyZVJlc3BvbnNlXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29kZWdlbi9tb2RlbC9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Nlc3Npb24uZGF0YS1zb3VyY2UnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IFBheW1lbnRGaWVsZE9wdGlvbnMsIFRlcm1pbmFsU3RlcCB9IGZyb20gJy4vLi4vLi4vLi4vcGFnZXMvY29tcG9uZW50cy9jb25zdHJ1Y3Rvci1mb3JtL21vZGVscyc7XHJcbmltcG9ydCB7IEFwaUVycm9yc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGktZXJyb3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc3luY1BpcGUsIEN1cnJlbmN5UGlwZSwgRE9DVU1FTlQsIExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdTY3JvbGxiYXIgfSBmcm9tICduZ3gtc2Nyb2xsYmFyJztcclxuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgZ2V0STE4S2V5IH0gZnJvbSAnLi8uLi8uLi8uLi9pMThuL2tleXMnO1xyXG5pbXBvcnQgeyBJMThOX0tFWSB9IGZyb20gJy4vLi4vLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IFRFUk1JTkFMX1ZFUlNJT05fU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbnN0JztcclxuaW1wb3J0IHsgVmVyc2lvblNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdmVyc2lvbi1zZXJ2aWNlLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxhbmdTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHtcclxuICBUZXJtaW5hbExhbmdTd2l0Y2hlckNvbXBvbmVudFxyXG59IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL3Rlcm1pbmFsLWxhbmctc3dpdGNoZXIvdGVybWluYWwtbGFuZy1zd2l0Y2hlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25zdHJ1Y3RvckZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9jb25zdHJ1Y3Rvci1mb3JtL2NvbnN0cnVjdG9yLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3JTdGF0dXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9jb25zdHJ1Y3Rvci1zdGF0dXMvY29uc3RydWN0b3Itc3RhdHVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUJ5S2V5UGlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9waXBlcy90cmFuc2xhdGUtYnkta2V5LnBpcGUnO1xyXG5pbXBvcnQgeyBHbVNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnQGdtbW9uZXkvZ20tdWkta2l0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRlcm1pbmFsLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rlcm1pbmFsLWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVybWluYWwtbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTZXNzaW9uRGF0YVNvdXJjZSxcclxuICAgIEN1cnJlbmN5UGlwZVxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1Njcm9sbGJhcixcclxuICAgIFRlcm1pbmFsTGFuZ1N3aXRjaGVyQ29tcG9uZW50LFxyXG4gICAgQ29uc3RydWN0b3JGb3JtQ29tcG9uZW50LCBDb25zdHJ1Y3RvclN0YXR1c0NvbXBvbmVudCxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIFRyYW5zbGF0ZUJ5S2V5UGlwZSwgR21Ta2VsZXRvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcclxuICBzZXNzaW9uRFMgPSBpbmplY3QoU2Vzc2lvbkRhdGFTb3VyY2UpO1xyXG4gIHRyYW5zbGF0ZUxvYWRlciA9IGluamVjdDxhbnk+KFRyYW5zbGF0ZUxvYWRlcik7XHJcbiAgcHJpdmF0ZSBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTdG9yYWdlU3J2ID0gaW5qZWN0KFRyYW5zbGF0ZUxhbmdTdG9yYWdlU2VydmljZSk7XHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTcnYgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBhZGFwdGVyID0gaW5qZWN0PERhdGVBZGFwdGVyPG1vbWVudC5Nb21lbnQ+PihEYXRlQWRhcHRlcik7XHJcbiAgcHJpdmF0ZSBhcGlFcnJvclNydiA9IGluamVjdChBcGlFcnJvcnNTZXJ2aWNlKTtcclxuICBwcml2YXRlIGxvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcclxuICBwcml2YXRlIHRpdGxlU3J2ID0gaW5qZWN0KFRpdGxlKTtcclxuICBwcml2YXRlIHZlcnNpb25TcnYgPSBpbmplY3Q8VmVyc2lvblNlcnZpY2VJbnRlcmZhY2U+KFRFUk1JTkFMX1ZFUlNJT05fU0VSVklDRV9UT0tFTik7XHJcblxyXG4gIHByaXZhdGUgdW5TdWJzY3JpYmVyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgY29udGVudEVsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Nyb2xsQ29tcG9uZW50LnZpZXdwb3J0LmNvbnRlbnRXcmFwcGVyRWxlbWVudDtcclxuICB9XHJcblxyXG4gIFRFUk1JTkFMX1NURVAgPSBUZXJtaW5hbFN0ZXA7XHJcblxyXG4gIHR5cGVzOiBNZXRob2RUeXBlW10gPSBbXTtcclxuICBjdXJyZW5jeTogc3RyaW5nO1xyXG4gIHByb2plY3ROYW1lOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBzdGVwID0gVGVybWluYWxTdGVwLlByZXBhcmU7XHJcbiAgZGF0YTogVGVybWluYWxQYXltZW50UHJlcGFyZVJlc3BvbnNlICYgeyB0eXBlSWQ/OiBudW1iZXI7IH07XHJcbiAgQFZpZXdDaGlsZCgnc2Nyb2xsQ29tcG9uZW50Jykgc2Nyb2xsQ29tcG9uZW50OiBOZ1Njcm9sbGJhcjtcclxuICBwcml2YXRlIHVybENoYW5nZUxpc3RlbmVyOiBWb2lkRnVuY3Rpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5hZGFwdGVyLnNldExvY2FsZSh0aGlzLnRyYW5zbGF0ZVNydi5jdXJyZW50TGFuZyk7XHJcbiAgICB0aGlzLl9zZXRUaXRsZSgpO1xyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlU3J2Lm9uTGFuZ0NoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YnNjcmliZXIpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWRhcHRlci5zZXRMb2NhbGUoZS5sYW5nKTtcclxuICAgICAgICB0aGlzLl9zZXRUaXRsZSgpO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuY2hlY2tGYXRhbEVycm9yKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzQ2hvaWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU3RvcmFnZVNydi5sYW5ndWFnZXMubGVuZ3RoID4gMTtcclxuICB9XHJcblxyXG4gIGdldCBsb2dvQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnZlcnNpb25TcnYubG9nb0NsYXNzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZvb3RlclRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy52ZXJzaW9uU3J2LmZvb3RlclRleHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRUaXRsZSgpIHtcclxuICAgIHRoaXMudGl0bGVTcnYuc2V0VGl0bGUodGhpcy52ZXJzaW9uU3J2LnBhZ2VUaXRsZSArIHRoaXMudHJhbnNsYXRlU3J2Lmluc3RhbnQoZ2V0STE4S2V5KEkxOE5fS0VZLlRJVExFX1BBR0VfSU5WT0lDRSkpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VMYW5nKCkge1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhvc3RuYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcubG9jYXRpb24uaG9zdG5hbWU7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmFwaUVycm9yU3J2Lmhhc0ZhdGFsRXJyb3IpIHtcclxuICAgICAgdGhpcy5zZXNzaW9uRFMubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgIHRoaXMuY2F0Y2hFcnJvcigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlc3Npb25EUy5nZXQoKVxyXG4gICAgICAuc3Vic2NyaWJlKChzZXNzaW9uSW5mbykgPT4ge1xyXG4gICAgICAgIHRoaXMudHlwZXMgPSBzZXNzaW9uSW5mby5tZXRob2RUeXBlcztcclxuICAgICAgICB0aGlzLmN1cnJlbmN5ID0gc2Vzc2lvbkluZm8uZGVmYXVsdEN1cnJlbmN5O1xyXG4gICAgICAgIHRoaXMucHJvamVjdE5hbWUgPSBzZXNzaW9uSW5mby5wcm9qZWN0TmFtZTtcclxuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gc2Vzc2lvbkluZm8uZGVzY3JpcHRpb247XHJcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2F0Y2hFcnJvcigpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnB1c2hTdGF0ZSgpO1xyXG4gICAgdGhpcy51cmxDaGFuZ2VMaXN0ZW5lciA9IHRoaXMubG9jYXRpb24ub25VcmxDaGFuZ2UoKHVybCwgc3RhdGU6IHsgc3RlcD86IFRlcm1pbmFsU3RlcCB9KSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2Ygc3RhdGU/LnN0ZXAgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwID0gc3RhdGUuc3RlcDtcclxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9zdWJtaXR0ZWQgPSBmYWxzZTtcclxuXHJcbiAgcHJlcGFyZShkYXRhOiBUZXJtaW5hbFBheW1lbnRQcmVwYXJlUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMuX3N1Ym1pdHRlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5zZXNzaW9uRFNcclxuICAgICAgLnByZXBhcmUoZGF0YSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzcDogVGVybWluYWxQYXltZW50UHJlcGFyZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKCFyZXNwLmFtb3VudCAmJiAhcmVzcC5jdXJyZW5jeSAmJiAhcmVzcC50b3RhbCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN0ZXAgPSBUZXJtaW5hbFN0ZXAuQ29uZmlybWF0aW9uO1xyXG4gICAgICAgIHRoaXMubG9jYXRpb24uZ28odGhpcy5sb2NhdGlvbi5wYXRoKCksICcnLCB7c3RlcDogdGhpcy5zdGVwfSk7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gcmVzcDtcclxuICAgICAgICB0aGlzLmRhdGEudHlwZUlkID0gZGF0YS50eXBlSWQ7XHJcbiAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3N1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2F0Y2hFcnJvcigpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm0oKSB7XHJcbiAgICBpZiAodGhpcy5fc3VibWl0dGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3N1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICB0aGlzLnNlc3Npb25EU1xyXG4gICAgICAuY29uZmlybSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHJlc3A6IFRlcm1pbmFsUGF5bWVudENvbmZpcm1SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMudXJsQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgdGhpcy51cmxDaGFuZ2VMaXN0ZW5lcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuc2Vzc2lvbkRTLnJlZGlyZWN0KCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc3RlcCArPSAxO1xyXG4gICAgICAgICAgaWYgKHJlc3Auc3VjY2Vzcykge1xyXG4gICAgICAgICAgICB0aGlzLl9zdGF0dXNUZXh0ID0gcmVzcC5tZXNzYWdlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNhdGNoRXJyb3IoKTtcclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tGYXRhbEVycm9yKCkge1xyXG4gICAgLy8gQ2xlYXIgZm9ybSBlcnJvciB3aGVuIGFueSB2YWx1ZXMgaGF2ZSBjaGFuZ2VkLlxyXG4gICAgaWYgKCF0aGlzLmFwaUVycm9yU3J2Lmhhc0ZhdGFsRXJyb3IgJiYgdGhpcy5hcGlFcnJvclNydi5nZXRMb2NhbEVycm9yKCkpIHtcclxuICAgICAgdGhpcy5hcGlFcnJvclNydi5jbGVhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVzaFN0YXRlKCkge1xyXG4gICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUodGhpcy5sb2NhdGlvbi5wYXRoKCksIHVuZGVmaW5lZCwge3N0ZXA6IHRoaXMuc3RlcH0pO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpIHtcclxuICAgIGlmICh0aGlzLnN0ZXApIHtcclxuICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlc3Npb25EUy5jbG9zZSgpXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmNkLm1hcmtGb3JDaGVjaygpKVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgcmV0dXJuQmFja1VybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbkRTLnJldHVybkJhY2tVcmw7XHJcbiAgfVxyXG5cclxuICBjYXRjaEVycm9yKCkge1xyXG4gICAgaWYgKHRoaXMuaGFzU3RhdHVzRXJyb3IpIHtcclxuICAgICAgdGhpcy5zdGVwID0gVGVybWluYWxTdGVwLlN0YXR1cztcclxuICAgICAgaWYgKHRoaXMudXJsQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgICAgICB0aGlzLnVybENoYW5nZUxpc3RlbmVyKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3RhdHVzVGV4dDogc3RyaW5nO1xyXG4gIGdldCBzdGF0dXNUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpRXJyb3JTcnYuZ2V0TG9jYWxFcnJvcigpIHx8IHRoaXMuX3N0YXR1c1RleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzU3RhdHVzRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlFcnJvclNydi5oYXNGYXRhbEVycm9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjdXJyZW50WWVhcigpIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZlZUNhbGN1bGF0ZVN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHB1YmxpYyBjYWxjdWxhdGVGZWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLnNlc3Npb25EUy5mZWVDaGFuZ2VhYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZmVlQ2FsY3VsYXRlU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLmZlZUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5mZWVPcHRpb25zID0ge307XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICB0aGlzLnNlc3Npb25EU1xyXG4gICAgICAuZmVlT3B0aW9ucyh2YWx1ZSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFwKChvcHRpb25zOiBQYXltZW50RmllbGRPcHRpb25zKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZlZU9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgICAgICAgdGhpcy5mZWVMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuZmVlTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnIpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmZlZUNhbGN1bGF0ZVN1YmplY3QpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuU3Vic2NyaWJlcilcclxuICAgICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGZlZUxvYWRpbmcgPSBmYWxzZTtcclxuICBmZWVPcHRpb25zOiBQYXltZW50RmllbGRPcHRpb25zO1xyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmZlZUNhbGN1bGF0ZVN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMudW5TdWJzY3JpYmVyLm5leHQoKTtcclxuICAgIHRoaXMudW5TdWJzY3JpYmVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy51bm9ic2VydmUodGhpcy5jb250ZW50RWwpO1xyXG4gICAgaWYgKHRoaXMudXJsQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy51cmxDaGFuZ2VMaXN0ZW5lcigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bmctc2Nyb2xsYmFyIGFwcGVhcmFuY2U9XCJjb21wYWN0XCI+XHJcbiAgPGRpdiBjbGFzcz1cInRlcm1pbmFsLWxheW91dFwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJ0ZXJtaW5hbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWxfX2NvbnRlbnRcIj5cclxuICAgICAgICA8aGVhZGVyIGNsYXNzPVwidGVybWluYWxfX2hlYWRlclwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJ0ZXJtaW5hbF9faGVhZGVyLWxvZ29cIlxyXG4gICAgICAgICAgW2NsYXNzXT1cImxvZ29DbGFzc1wiPjwvaT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbF9faGVhZGVyLWxhbmdcIj5cclxuICAgICAgICAgICAgQGlmIChoYXNDaG9pY2UpIHtcclxuICAgICAgICAgICAgICA8YXBwLXRlcm1pbmFsLWxhbmctc3dpdGNoZXIgKGxhbmdDaGFuZ2UpPVwiY2hhbmdlTGFuZygpXCJcclxuICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiMVwiPjwvYXBwLXRlcm1pbmFsLWxhbmctc3dpdGNoZXI+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbF9fZm9ybVwiPlxyXG4gICAgICAgICAgQGlmIChzZXNzaW9uRFMubG9hZGluZyQgfCBhc3luYykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJtLXNrZWxldG9uLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGdtLXNrZWxldG9uIFtjb3VudF09XCIxXCIgW3NpemVdPVwiMTIwXCI+PC9nbS1za2VsZXRvbj5cclxuICAgICAgICAgICAgICA8Z20tc2tlbGV0b24gW2NvdW50XT1cIjRcIiBbZ2FwXT1cIjIwXCIgW3NpemVdPVwiODBcIj48L2dtLXNrZWxldG9uPlxyXG4gICAgICAgICAgICAgIDxnbS1za2VsZXRvbiBbY291bnRdPVwiMlwiIFtnYXBdPVwiMTBcIiBbc2l6ZV09XCI0OFwiPjwvZ20tc2tlbGV0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpZiAocHJvamVjdE5hbWUpIHtcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWxfX2luZm9cIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRlcm1pbmFsX19pbmZvX19uYW1lXCI+IHt7IHByb2plY3ROYW1lIH19IDwvaDU+XHJcbiAgICAgICAgICAgICAgICBAaWYgKGRlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGVybWluYWxfX2luZm9fX2Rlc2NcIj4ge3sgZGVzY3JpcHRpb24gfX0gPC9wPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoc3RlcCAhPT0gVEVSTUlOQUxfU1RFUC5TdGF0dXMgJiYgIWhhc1N0YXR1c0Vycm9yKSB7XHJcbiAgICAgICAgICAgICAgPGFwcC1jb25zdHJ1Y3Rvci1mb3JtXHJcbiAgICAgICAgICAgICAgICBbZmVlTG9hZGluZ109XCJmZWVMb2FkaW5nXCJcclxuICAgICAgICAgICAgICAgIFtmZWVPcHRpb25zXT1cImZlZU9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwic2Vzc2lvbkRTLmxvYWRpbmdDb25maXJtJCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgICAgIFtzdGVwXT1cInN0ZXBcIlxyXG4gICAgICAgICAgICAgICAgW3R5cGVzXT1cInR5cGVzXCJcclxuICAgICAgICAgICAgICAgIFtjdXJyZW5jeV09XCJjdXJyZW5jeVwiXHJcbiAgICAgICAgICAgICAgICBbcmVzcG9uc2VdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbZXJyb3JdPVwic3RhdHVzVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAocHJlcGFyZSk9XCJwcmVwYXJlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKG9uUGF5bWVudENoYW5nZWQpPVwiY2hlY2tGYXRhbEVycm9yKCk7IGNhbGN1bGF0ZUZlZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChiYWNrKT1cImJhY2soKVwiXHJcbiAgICAgICAgICAgICAgICBbY2FuUmV0dXJuVG9Qcm9qZWN0XT1cInNlc3Npb25EUy5jYW5SZXR1cm5Ub1Byb2plY3RcIlxyXG4gICAgICAgICAgICAgICAgKGNvbmZpcm0pPVwiY29uZmlybSgpXCJcclxuICAgICAgICAgICAgICAgIFt0YWJJbmRleF09XCIyXCI+PC9hcHAtY29uc3RydWN0b3ItZm9ybT5cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgPGFwcC1jb25zdHJ1Y3Rvci1zdGF0dXMgY2xhc3M9XCJ0ZXJtaW5hbF9fc3RhdHVzXCJcclxuICAgICAgICAgICAgICAgIFtmYWlsZWRdPVwiaGFzU3RhdHVzRXJyb3JcIlxyXG4gICAgICAgICAgICAgICAgW21lc3NhZ2VdPVwic3RhdHVzVGV4dCA/IChzdGF0dXNUZXh0IHwgdHJhbnMpIDogJydcIlxyXG4gICAgICAgICAgICAgICAgW2JhY2tVcmxdPVwicmV0dXJuQmFja1VybFwiXHJcbiAgICAgICAgICAgICAgPjwvYXBwLWNvbnN0cnVjdG9yLXN0YXR1cz5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgICA8Zm9vdGVyIGNsYXNzPVwidGVybWluYWwtZm9vdGVyXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwidGVybWluYWwtZm9vdGVyX19sb2dvXCI+PC9pPlxyXG4gICAgICA8cCBjbGFzcz1cInRlcm1pbmFsLWZvb3Rlcl9fdHh0XCI+XHJcbiAgICAgICAge3sgZm9vdGVyVGV4dCB9fVxyXG4gICAgICA8L3A+XHJcbiAgICA8L2Zvb3Rlcj5cclxuICA8L2Rpdj5cclxuPC9uZy1zY3JvbGxiYXI+XHJcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Directive, inject, TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FeeTemplateDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.tml = inject(TemplateRef);
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FeeTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: FeeTemplateDirective, isStandalone: true, selector: "[terminalFee]", ngImport: i0 }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FeeTemplateDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: '[terminalFee]',
|
|
14
|
+
standalone: true
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL3BhZ2VzL2RpcmVjdGl2ZXMvZmVlLXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTS9ELE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFLRSxRQUFHLEdBQXFCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM3Qzs4R0FGWSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0ZXJtaW5hbEZlZV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZVRlbXBsYXRlRGlyZWN0aXZlIHtcclxuICB0bWw6IFRlbXBsYXRlUmVmPGFueT4gPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './tab-index-focus.directive';
|
|
2
2
|
export * from './input-mask-corrector.directive';
|
|
3
|
-
|
|
3
|
+
export * from './fee-template.directive';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXJtaW5hbC10ZW1wbGF0ZS9zcmMvbGliL2FwcC9wYWdlcy9kaXJlY3RpdmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWItaW5kZXgtZm9jdXMuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1tYXNrLWNvcnJlY3Rvci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZlZS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG4iXX0=
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
2
|
import { ApiErrors } from '../../codegen/model/models';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { I18N_KEY } from './../i18n';
|
|
4
|
+
import { SessionToken } from '../models';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export class ApiErrorsService {
|
|
8
|
-
;
|
|
9
|
-
get ERROR_KEY() {
|
|
10
|
-
return `${this.token}_ERROR_DETAIL`;
|
|
11
|
-
}
|
|
12
7
|
constructor() {
|
|
13
8
|
this.token = inject(SessionToken, { optional: true }) || 'token';
|
|
14
|
-
|
|
9
|
+
}
|
|
10
|
+
clear() {
|
|
11
|
+
this._localError = null;
|
|
12
|
+
}
|
|
13
|
+
get hasError() {
|
|
14
|
+
return !!this._localError;
|
|
15
|
+
}
|
|
16
|
+
get hasFatalError() {
|
|
17
|
+
const formatErrors = [
|
|
15
18
|
ApiErrors.FORMAT_PHONE,
|
|
16
19
|
ApiErrors.FORMAT_DATE_BIRTH,
|
|
17
20
|
ApiErrors.FORMAT_EMAIL,
|
|
@@ -22,38 +25,17 @@ export class ApiErrorsService {
|
|
|
22
25
|
ApiErrors.FORMAT_WALLET,
|
|
23
26
|
ApiErrors.FORMAT_ZIP,
|
|
24
27
|
];
|
|
25
|
-
this.
|
|
26
|
-
|
|
27
|
-
setError(err) {
|
|
28
|
-
let code = I18N_KEY.DEFAULT_ERROR_CODE;
|
|
29
|
-
if (err?.code) {
|
|
30
|
-
code = err.code;
|
|
28
|
+
if (formatErrors.includes(this._localError)) {
|
|
29
|
+
return false;
|
|
31
30
|
}
|
|
32
|
-
this.
|
|
33
|
-
}
|
|
34
|
-
getError() {
|
|
35
|
-
const code = this.document.defaultView.sessionStorage.getItem(this.ERROR_KEY) || null;
|
|
36
|
-
return getI18Key(code) || code;
|
|
37
|
-
}
|
|
38
|
-
clear() {
|
|
39
|
-
this.document.defaultView.sessionStorage.removeItem(this.ERROR_KEY);
|
|
40
|
-
}
|
|
41
|
-
get hasError() {
|
|
42
|
-
return !!this.document.defaultView.sessionStorage.getItem(this.ERROR_KEY);
|
|
43
|
-
}
|
|
44
|
-
get hasFatalError() {
|
|
45
|
-
const code = this.document.defaultView.sessionStorage.getItem(this.ERROR_KEY);
|
|
46
|
-
return this.FATAL_ERRORS?.includes(code) || false;
|
|
31
|
+
return !!this._localError;
|
|
47
32
|
}
|
|
48
33
|
setLocalError(err) {
|
|
49
34
|
let code = I18N_KEY.DEFAULT_ERROR_CODE;
|
|
50
35
|
if (err?.code) {
|
|
51
36
|
code = err.code;
|
|
52
37
|
}
|
|
53
|
-
this._localError =
|
|
54
|
-
}
|
|
55
|
-
clearLocal() {
|
|
56
|
-
this._localError = '';
|
|
38
|
+
this._localError = code;
|
|
57
39
|
}
|
|
58
40
|
get hasLocalError() {
|
|
59
41
|
return !!this._localError;
|
|
@@ -67,4 +49,4 @@ export class ApiErrorsService {
|
|
|
67
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ApiErrorsService, decorators: [{
|
|
68
50
|
type: Injectable
|
|
69
51
|
}], ctorParameters: () => [] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWVycm9ycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVybWluYWwtdGVtcGxhdGUvc3JjL2xpYi9hcHAvc2VydmljZXMvYXBpLWVycm9ycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUt6QyxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCO1FBSlEsVUFBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsSUFBSSxPQUFPLENBQUM7SUFLbEUsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsTUFBTSxZQUFZLEdBQWdCO1lBQ2hDLFNBQVMsQ0FBQyxZQUFZO1lBQ3RCLFNBQVMsQ0FBQyxpQkFBaUI7WUFDM0IsU0FBUyxDQUFDLFlBQVk7WUFDdEIsU0FBUyxDQUFDLGNBQWM7WUFDeEIsU0FBUyxDQUFDLGtCQUFrQjtZQUM1QixTQUFTLENBQUMsa0JBQWtCO1lBQzVCLFNBQVMsQ0FBQyxrQkFBa0I7WUFDNUIsU0FBUyxDQUFDLGFBQWE7WUFDdkIsU0FBUyxDQUFDLFVBQVU7U0FDckIsQ0FBQztRQUNGLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBNkM7UUFDekQsSUFBSSxJQUFJLEdBQWMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1FBQ2xELElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDbEIsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7OEdBaERVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaUVycm9ycywgQmFkUmVxdWVzdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY29kZWdlbi9tb2RlbC9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJMThOX0tFWSB9IGZyb20gJy4vLi4vaTE4bic7XHJcbmltcG9ydCB7IFNlc3Npb25Ub2tlbiB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG50eXBlIEVycm9yQ29kZSA9IEkxOE5fS0VZIHwgQXBpRXJyb3JzO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBpRXJyb3JzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB0b2tlbiA9IGluamVjdChTZXNzaW9uVG9rZW4sIHtvcHRpb25hbDogdHJ1ZX0pIHx8ICd0b2tlbic7XHJcblxyXG4gIHByaXZhdGUgX2xvY2FsRXJyb3I6IEVycm9yQ29kZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvY2FsRXJyb3IgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5fbG9jYWxFcnJvcjtcclxuICB9XHJcblxyXG4gIGdldCBoYXNGYXRhbEVycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZm9ybWF0RXJyb3JzOiBFcnJvckNvZGVbXSA9IFtcclxuICAgICAgQXBpRXJyb3JzLkZPUk1BVF9QSE9ORSxcclxuICAgICAgQXBpRXJyb3JzLkZPUk1BVF9EQVRFX0JJUlRILFxyXG4gICAgICBBcGlFcnJvcnMuRk9STUFUX0VNQUlMLFxyXG4gICAgICBBcGlFcnJvcnMuRk9STUFUX05VTUVSSUMsXHJcbiAgICAgIEFwaUVycm9ycy5GT1JNQVRfTE9XRVJfTElNSVQsXHJcbiAgICAgIEFwaUVycm9ycy5GT1JNQVRfVVBQRVJfTElNSVQsXHJcbiAgICAgIEFwaUVycm9ycy5GT1JNQVRfU1RFQU1fVE9LRU4sXHJcbiAgICAgIEFwaUVycm9ycy5GT1JNQVRfV0FMTEVULFxyXG4gICAgICBBcGlFcnJvcnMuRk9STUFUX1pJUCxcclxuICAgIF07XHJcbiAgICBpZiAoZm9ybWF0RXJyb3JzLmluY2x1ZGVzKHRoaXMuX2xvY2FsRXJyb3IpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiAhIXRoaXMuX2xvY2FsRXJyb3I7XHJcbiAgfVxyXG5cclxuICBzZXRMb2NhbEVycm9yKGVycj86IEJhZFJlcXVlc3RSZXNwb25zZSB8IHsgY29kZTogSTE4Tl9LRVkgfSk6IHZvaWQge1xyXG4gICAgbGV0IGNvZGU6IEVycm9yQ29kZSA9IEkxOE5fS0VZLkRFRkFVTFRfRVJST1JfQ09ERTtcclxuICAgIGlmIChlcnI/LmNvZGUpIHtcclxuICAgICAgY29kZSA9IGVyci5jb2RlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fbG9jYWxFcnJvciA9IGNvZGU7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzTG9jYWxFcnJvcigpIHtcclxuICAgIHJldHVybiAhIXRoaXMuX2xvY2FsRXJyb3I7XHJcbiAgfVxyXG5cclxuICBnZXRMb2NhbEVycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsRXJyb3I7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -4,41 +4,31 @@ import { catchError, map } from 'rxjs/operators';
|
|
|
4
4
|
import { CookieService } from 'ngx-cookie-service';
|
|
5
5
|
import { ApiErrorsService } from './api-errors.service';
|
|
6
6
|
import momentjs from 'moment-timezone';
|
|
7
|
-
import { DOCUMENT } from '@angular/common';
|
|
8
7
|
import { CSRF_COOKIE_NAME, SessionToken } from '../models/constants';
|
|
9
|
-
import { TranslateLangStorageService } from './translation/translate-lang-storage.service';
|
|
10
8
|
import { CONFIGURATION_TOKEN, ENVIRONMENT, TERMINAL_SERVICE_TOKEN } from '../../const';
|
|
11
9
|
import { ApiErrors } from '../../codegen/model/apiErrors';
|
|
12
|
-
import {
|
|
10
|
+
import { LocalStorage } from "./local-storage";
|
|
13
11
|
import * as i0 from "@angular/core";
|
|
14
12
|
export class CSRFResolver {
|
|
15
13
|
constructor() {
|
|
16
|
-
this.document = inject(DOCUMENT);
|
|
17
14
|
this.cookieSrv = inject(CookieService);
|
|
18
15
|
this.apiErrorsSrv = inject(ApiErrorsService);
|
|
19
16
|
this.configuration = inject(CONFIGURATION_TOKEN, { optional: true }) || { credentials: {} };
|
|
20
17
|
this.terminalApi = inject(TERMINAL_SERVICE_TOKEN);
|
|
21
18
|
this.token = inject(SessionToken, { optional: true }) || 'token';
|
|
22
|
-
this.langStorage = inject(TranslateLangStorageService);
|
|
23
19
|
this.environment = inject(ENVIRONMENT);
|
|
24
|
-
|
|
25
|
-
get _localStorage() {
|
|
26
|
-
return this.document.defaultView.localStorage;
|
|
20
|
+
this.storage = inject(LocalStorage);
|
|
27
21
|
}
|
|
28
22
|
saveDefaultCountry(defaultCountryISOCode) {
|
|
29
23
|
if (defaultCountryISOCode) {
|
|
30
|
-
this.
|
|
24
|
+
this.storage.saveDefaultCountry(defaultCountryISOCode);
|
|
31
25
|
}
|
|
32
26
|
}
|
|
33
|
-
get savedCountry() {
|
|
34
|
-
return this._localStorage.getItem(DEFAULT_COUNTRY_LOCALHOST_KEY);
|
|
35
|
-
}
|
|
36
27
|
resolve(route) {
|
|
37
28
|
const token = this.token;
|
|
38
29
|
if (!token) {
|
|
39
|
-
this.langStorage.setLanguageByCountry(this.savedCountry);
|
|
40
30
|
if (!this.apiErrorsSrv.hasError) {
|
|
41
|
-
this.apiErrorsSrv.
|
|
31
|
+
this.apiErrorsSrv.setLocalError({ code: ApiErrors.SESSION_NOT_FOUND });
|
|
42
32
|
}
|
|
43
33
|
return of(true);
|
|
44
34
|
}
|
|
@@ -47,7 +37,6 @@ export class CSRFResolver {
|
|
|
47
37
|
return of(false);
|
|
48
38
|
}
|
|
49
39
|
if (this.resolveCSRF(token)) {
|
|
50
|
-
this.langStorage.setLanguageByCountry(this.savedCountry);
|
|
51
40
|
return of(true);
|
|
52
41
|
}
|
|
53
42
|
return this.terminalApi.postTerminalOpen({
|
|
@@ -57,11 +46,10 @@ export class CSRFResolver {
|
|
|
57
46
|
}
|
|
58
47
|
})
|
|
59
48
|
.pipe(catchError((err) => {
|
|
60
|
-
this.apiErrorsSrv.
|
|
49
|
+
this.apiErrorsSrv.setLocalError(err.error);
|
|
61
50
|
return of({ csrf: null, defaultCountryISOCode: null });
|
|
62
51
|
}), map(({ csrf, defaultCountryISOCode }) => {
|
|
63
52
|
this.saveDefaultCountry(defaultCountryISOCode);
|
|
64
|
-
this.langStorage.setLanguageByCountry(this.savedCountry);
|
|
65
53
|
this.resolveCSRF(token, csrf);
|
|
66
54
|
return true;
|
|
67
55
|
}));
|
|
@@ -88,4 +76,4 @@ export class CSRFResolver {
|
|
|
88
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: CSRFResolver, decorators: [{
|
|
89
77
|
type: Injectable
|
|
90
78
|
}], ctorParameters: () => [] });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NyZi5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL3NlcnZpY2VzL2NzcmYucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQUc1RixNQUFNLE9BQU8sWUFBWTtJQVdyQjtRQVZRLGFBQVEsR0FBRyxNQUFNLENBQVcsUUFBUSxDQUFDLENBQUM7UUFDdEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFh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QUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLElBQWE7UUFDcEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1IsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7Z0JBQ3pGLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLElBQUksZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbEosSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs4R0FoRlEsWUFBWTtrSEFBWixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlFcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi9hcGktZXJyb3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgbW9tZW50anMgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDU1JGX0NPT0tJRV9OQU1FLCBTZXNzaW9uVG9rZW4gfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGFuZ1N0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi90cmFuc2xhdGUtbGFuZy1zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbHBoYTJDb2RlIH0gZnJvbSAnaTE4bi1pc28tY291bnRyaWVzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaUludGVyZmFjZSB9IGZyb20gJy4uLy4uL2NvZGVnZW4vYXBpL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBDT05GSUdVUkFUSU9OX1RPS0VOLCBFTlZJUk9OTUVOVCwgVEVSTUlOQUxfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uL2NvbnN0JztcclxuaW1wb3J0IHsgVGVybWluYWxTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vY29kZWdlbi9hcGkvdGVybWluYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaUVycm9ycyB9IGZyb20gJy4uLy4uL2NvZGVnZW4vbW9kZWwvYXBpRXJyb3JzJztcclxuaW1wb3J0IHsgREVGQVVMVF9DT1VOVFJZX0xPQ0FMSE9TVF9LRVkgfSBmcm9tICcuLi9wYWdlcy9jb21wb25lbnRzL2NvbnN0cnVjdG9yLWZvcm0vbW9kZWxzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENTUkZSZXNvbHZlciAge1xyXG4gICAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xyXG4gICAgcHJpdmF0ZSBjb29raWVTcnYgPSBpbmplY3QoQ29va2llU2VydmljZSk7XHJcbiAgICBwcml2YXRlIGFwaUVycm9yc1NydiA9IGluamVjdChBcGlFcnJvcnNTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbiA9IGluamVjdDxDb25maWd1cmF0aW9uQXBpSW50ZXJmYWNlPihDT05GSUdVUkFUSU9OX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IHsgY3JlZGVudGlhbHM6IHt9IH07XHJcbiAgICBwcml2YXRlIHRlcm1pbmFsQXBpID0gaW5qZWN0PFRlcm1pbmFsU2VydmljZUludGVyZmFjZT4oVEVSTUlOQUxfU0VSVklDRV9UT0tFTik7XHJcbiAgICBwcml2YXRlIHRva2VuID0gaW5qZWN0KFNlc3Npb25Ub2tlbiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCAndG9rZW4nO1xyXG4gICAgcHJpdmF0ZSBsYW5nU3RvcmFnZSA9IGluamVjdChUcmFuc2xhdGVMYW5nU3RvcmFnZVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudCA9IGluamVjdChFTlZJUk9OTUVOVCk7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IF9sb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcubG9jYWxTdG9yYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2F2ZURlZmF1bHRDb3VudHJ5KGRlZmF1bHRDb3VudHJ5SVNPQ29kZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKGRlZmF1bHRDb3VudHJ5SVNPQ29kZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9sb2NhbFN0b3JhZ2Uuc2V0SXRlbShERUZBVUxUX0NPVU5UUllfTE9DQUxIT1NUX0tFWSwgZGVmYXVsdENvdW50cnlJU09Db2RlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXQgc2F2ZWRDb3VudHJ5KCk6IEFscGhhMkNvZGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbFN0b3JhZ2UuZ2V0SXRlbShERUZBVUxUX0NPVU5UUllfTE9DQUxIT1NUX0tFWSkgYXMgQWxwaGEyQ29kZTtcclxuICAgIH1cclxuXHJcbiAgICByZXNvbHZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuO1xyXG4gICAgICAgIGlmICghdG9rZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5sYW5nU3RvcmFnZS5zZXRMYW5ndWFnZUJ5Q291bnRyeSh0aGlzLnNhdmVkQ291bnRyeSk7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5hcGlFcnJvcnNTcnYuaGFzRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBpRXJyb3JzU3J2LnNldEVycm9yKHtjb2RlOiBBcGlFcnJvcnMuU0VTU0lPTl9OT1RfRk9VTkR9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRpbWV6b25lID0gbW9tZW50anMudHouZ3Vlc3MoKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmVudmlyb25tZW50LmNzcmYpIHtcclxuICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnJlc29sdmVDU1JGKHRva2VuKSkge1xyXG4gICAgICAgICAgICB0aGlzLmxhbmdTdG9yYWdlLnNldExhbmd1YWdlQnlDb3VudHJ5KHRoaXMuc2F2ZWRDb3VudHJ5KTtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy50ZXJtaW5hbEFwaS5wb3N0VGVybWluYWxPcGVuKHtcclxuICAgICAgICAgICAgdG9rZW4sXHJcbiAgICAgICAgICAgIHRlcm1pbmFsT3BlblJlcXVlc3Q6IHtcclxuICAgICAgICAgICAgICAgIHRpbWV6b25lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBpRXJyb3JzU3J2LnNldEVycm9yKGVyci5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHtjc3JmOiBudWxsLCBkZWZhdWx0Q291bnRyeUlTT0NvZGU6IG51bGx9KTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgbWFwKCh7Y3NyZiwgZGVmYXVsdENvdW50cnlJU09Db2RlfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZURlZmF1bHRDb3VudHJ5KGRlZmF1bHRDb3VudHJ5SVNPQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5nU3RvcmFnZS5zZXRMYW5ndWFnZUJ5Q291bnRyeSh0aGlzLnNhdmVkQ291bnRyeSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlQ1NSRih0b2tlbiwgY3NyZik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc29sdmVDU1JGKHRva2VuOiBzdHJpbmcsIGNzcmY/OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIWNzcmYpIHtcclxuICAgICAgICAgICAgaWYgKHRva2VuICYmIHRoaXMuY29va2llU3J2LmNoZWNrKGAke3Rva2VufV8ke0NTUkZfQ09PS0lFX05BTUV9YCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBpRXJyb3JzU3J2LmNsZWFyKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uY3JlZGVudGlhbHMuQ1NSRiA9IHRoaXMuY29va2llU3J2LmdldChgJHt0b2tlbn1fJHtDU1JGX0NPT0tJRV9OQU1FfWApO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFwaUVycm9yc1Nydi5jbGVhcigpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNydi5zZXQoYCR7dG9rZW59XyR7Q1NSRl9DT09LSUVfTkFNRX1gLCBjc3JmLCBtb21lbnRqcygpLmFkZCgyNCwgJ2hvdXJzJykudG9EYXRlKCksIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24pO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uY3JlZGVudGlhbHMuQ1NSRiA9IGNzcmY7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NyZi5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL3NlcnZpY2VzL2NzcmYucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUcvQyxNQUFNLE9BQU8sWUFBWTtJQVVyQjtRQVRRLGNBQVMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEMsaUJBQVksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBNEIsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNsSCxnQkFBVyxHQUFHLE1BQU0sQ0FBMkIsc0JBQXNCLENBQUMsQ0FBQztRQUN2RSxVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQztRQUM1RCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVwQyxZQUFPLEdBQWlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUduRCxDQUFDO0lBRU8sa0JBQWtCLENBQUMscUJBQTZCO1FBQ3RELElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBNkI7UUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLGlCQUFpQixFQUFDLENBQUMsQ0FBQztZQUN6RSxDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7WUFDckMsS0FBSztZQUNMLG1CQUFtQixFQUFFO2dCQUNqQixRQUFRO2FBQ1g7U0FDSixDQUFDO2FBQ0csSUFBSSxDQUNELFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNDLE9BQU8sRUFBRSxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLEVBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFDLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhLEVBQUUsSUFBYTtRQUNwQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQztnQkFDekYsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsSixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzhHQXBFUSxZQUFZO2tIQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaUVycm9yc1NlcnZpY2UgfSBmcm9tICcuL2FwaS1lcnJvcnMuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnRqcyBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xyXG5pbXBvcnQgeyBDU1JGX0NPT0tJRV9OQU1FLCBTZXNzaW9uVG9rZW4gfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaUludGVyZmFjZSB9IGZyb20gJy4uLy4uL2NvZGVnZW4vYXBpL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBDT05GSUdVUkFUSU9OX1RPS0VOLCBFTlZJUk9OTUVOVCwgVEVSTUlOQUxfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uL2NvbnN0JztcclxuaW1wb3J0IHsgVGVybWluYWxTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vY29kZWdlbi9hcGkvdGVybWluYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaUVycm9ycyB9IGZyb20gJy4uLy4uL2NvZGVnZW4vbW9kZWwvYXBpRXJyb3JzJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlIH0gZnJvbSBcIi4vbG9jYWwtc3RvcmFnZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ1NSRlJlc29sdmVyICB7XHJcbiAgICBwcml2YXRlIGNvb2tpZVNydiA9IGluamVjdChDb29raWVTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgYXBpRXJyb3JzU3J2ID0gaW5qZWN0KEFwaUVycm9yc1NlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uID0gaW5qZWN0PENvbmZpZ3VyYXRpb25BcGlJbnRlcmZhY2U+KENPTkZJR1VSQVRJT05fVE9LRU4sIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgeyBjcmVkZW50aWFsczoge30gfTtcclxuICAgIHByaXZhdGUgdGVybWluYWxBcGkgPSBpbmplY3Q8VGVybWluYWxTZXJ2aWNlSW50ZXJmYWNlPihURVJNSU5BTF9TRVJWSUNFX1RPS0VOKTtcclxuICAgIHByaXZhdGUgdG9rZW4gPSBpbmplY3QoU2Vzc2lvblRva2VuLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8ICd0b2tlbic7XHJcbiAgICBwcml2YXRlIGVudmlyb25tZW50ID0gaW5qZWN0KEVOVklST05NRU5UKTtcclxuXHJcbiAgcHJpdmF0ZSBzdG9yYWdlOiBMb2NhbFN0b3JhZ2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNhdmVEZWZhdWx0Q291bnRyeShkZWZhdWx0Q291bnRyeUlTT0NvZGU6IHN0cmluZykge1xyXG4gICAgICBpZiAoZGVmYXVsdENvdW50cnlJU09Db2RlKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlLnNhdmVEZWZhdWx0Q291bnRyeShkZWZhdWx0Q291bnRyeUlTT0NvZGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVzb2x2ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbjtcclxuICAgICAgICBpZiAoIXRva2VuKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5hcGlFcnJvcnNTcnYuaGFzRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBpRXJyb3JzU3J2LnNldExvY2FsRXJyb3Ioe2NvZGU6IEFwaUVycm9ycy5TRVNTSU9OX05PVF9GT1VORH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdGltZXpvbmUgPSBtb21lbnRqcy50ei5ndWVzcygpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuZW52aXJvbm1lbnQuY3NyZikge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucmVzb2x2ZUNTUkYodG9rZW4pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGVybWluYWxBcGkucG9zdFRlcm1pbmFsT3Blbih7XHJcbiAgICAgICAgICAgIHRva2VuLFxyXG4gICAgICAgICAgICB0ZXJtaW5hbE9wZW5SZXF1ZXN0OiB7XHJcbiAgICAgICAgICAgICAgICB0aW1lem9uZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwaUVycm9yc1Nydi5zZXRMb2NhbEVycm9yKGVyci5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHtjc3JmOiBudWxsLCBkZWZhdWx0Q291bnRyeUlTT0NvZGU6IG51bGx9KTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgbWFwKCh7Y3NyZiwgZGVmYXVsdENvdW50cnlJU09Db2RlfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZURlZmF1bHRDb3VudHJ5KGRlZmF1bHRDb3VudHJ5SVNPQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlQ1NSRih0b2tlbiwgY3NyZik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc29sdmVDU1JGKHRva2VuOiBzdHJpbmcsIGNzcmY/OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIWNzcmYpIHtcclxuICAgICAgICAgICAgaWYgKHRva2VuICYmIHRoaXMuY29va2llU3J2LmNoZWNrKGAke3Rva2VufV8ke0NTUkZfQ09PS0lFX05BTUV9YCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBpRXJyb3JzU3J2LmNsZWFyKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uY3JlZGVudGlhbHMuQ1NSRiA9IHRoaXMuY29va2llU3J2LmdldChgJHt0b2tlbn1fJHtDU1JGX0NPT0tJRV9OQU1FfWApO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFwaUVycm9yc1Nydi5jbGVhcigpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNydi5zZXQoYCR7dG9rZW59XyR7Q1NSRl9DT09LSUVfTkFNRX1gLCBjc3JmLCBtb21lbnRqcygpLmFkZCgyNCwgJ2hvdXJzJykudG9EYXRlKCksIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24pO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uY3JlZGVudGlhbHMuQ1NSRiA9IGNzcmY7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -12,7 +12,7 @@ export class ErrorInterceptorService {
|
|
|
12
12
|
.handle(req)
|
|
13
13
|
.pipe(catchError((err) => {
|
|
14
14
|
if (err.status === 404 || err.status === 500) {
|
|
15
|
-
this.apiErrorSrv.
|
|
15
|
+
this.apiErrorSrv.setLocalError();
|
|
16
16
|
}
|
|
17
17
|
return throwError(err);
|
|
18
18
|
}));
|
|
@@ -23,4 +23,4 @@ export class ErrorInterceptorService {
|
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ErrorInterceptorService, decorators: [{
|
|
24
24
|
type: Injectable
|
|
25
25
|
}], ctorParameters: () => [] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0aW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVybWluYWwtdGVtcGxhdGUvc3JjL2xpYi9hcHAvc2VydmljZXMvZXJyb3IuaW50ZXJjZXB0aW9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUd4RCxNQUFNLE9BQU8sdUJBQXVCO0lBSWhDO1FBSFEsZ0JBQVcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUcvQixDQUFDO0lBRWpCLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBQzlDLE9BQU8sSUFBSTthQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUM7YUFDWCxJQUFJLENBQ0QsVUFBVSxDQUFDLENBQUMsR0FBc0IsRUFBRSxFQUFFO1lBQ2xDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7OEdBakJRLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFwaUVycm9yc1NlcnZpY2UgfSBmcm9tICcuL2FwaS1lcnJvcnMuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFcnJvckludGVyY2VwdG9yU2VydmljZSBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgICBwcml2YXRlIGFwaUVycm9yU3J2ID0gaW5qZWN0KEFwaUVycm9yc1NlcnZpY2UpO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgICAgIHJldHVybiBuZXh0XHJcbiAgICAgICAgICAgIC5oYW5kbGUocmVxKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDA0IHx8IGVyci5zdGF0dXMgPT09IDUwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwaUVycm9yU3J2LnNldExvY2FsRXJyb3IoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { DEFAULT_COUNTRY_LOCALHOST_KEY, DEFAULT_CURRENCY_LOCALHOST_KEY, DEFAULT_METHOD_LOCALHOST_KEY, LOCAL_LANG_KEY, } from '../models/constants';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class LocalStorage {
|
|
6
|
+
constructor() {
|
|
7
|
+
this._document = inject(DOCUMENT);
|
|
8
|
+
this._supported = true;
|
|
9
|
+
try {
|
|
10
|
+
if (!this._document.defaultView.localStorage) {
|
|
11
|
+
this._supported = false;
|
|
12
|
+
}
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
this._supported = false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
get _storage() {
|
|
20
|
+
return this._document.defaultView.localStorage;
|
|
21
|
+
}
|
|
22
|
+
getItem(key) {
|
|
23
|
+
if (!this._supported) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
return this._storage.getItem(key);
|
|
27
|
+
}
|
|
28
|
+
setItem(key, value) {
|
|
29
|
+
if (!this._supported) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this._storage.setItem(key, value);
|
|
33
|
+
}
|
|
34
|
+
get defaultCountry() {
|
|
35
|
+
return (this._defaultCountry ||
|
|
36
|
+
this.getItem(DEFAULT_COUNTRY_LOCALHOST_KEY));
|
|
37
|
+
}
|
|
38
|
+
get defaultMethodName() {
|
|
39
|
+
return (this._defaultMethodName || this.getItem(DEFAULT_METHOD_LOCALHOST_KEY));
|
|
40
|
+
}
|
|
41
|
+
get defaultCurrency() {
|
|
42
|
+
return (this._defaultCurrency || this.getItem(DEFAULT_CURRENCY_LOCALHOST_KEY));
|
|
43
|
+
}
|
|
44
|
+
get defaultLang() {
|
|
45
|
+
return this._defaultLang || this.getItem(LOCAL_LANG_KEY);
|
|
46
|
+
}
|
|
47
|
+
saveDefaultCountry(value) {
|
|
48
|
+
this._defaultCountry = value;
|
|
49
|
+
this.setItem(DEFAULT_COUNTRY_LOCALHOST_KEY, value);
|
|
50
|
+
}
|
|
51
|
+
saveDefaultMethodName(value) {
|
|
52
|
+
this._defaultMethodName = value;
|
|
53
|
+
this.setItem(DEFAULT_METHOD_LOCALHOST_KEY, value);
|
|
54
|
+
}
|
|
55
|
+
saveDefaultCurrency(value) {
|
|
56
|
+
this._defaultCurrency = value;
|
|
57
|
+
this.setItem(DEFAULT_CURRENCY_LOCALHOST_KEY, value);
|
|
58
|
+
}
|
|
59
|
+
saveDefaultLang(value) {
|
|
60
|
+
this._defaultLang = value;
|
|
61
|
+
this.setItem(LOCAL_LANG_KEY, value);
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LocalStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LocalStorage, providedIn: 'root' }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LocalStorage, decorators: [{
|
|
67
|
+
type: Injectable,
|
|
68
|
+
args: [{ providedIn: 'root' }]
|
|
69
|
+
}], ctorParameters: () => [] });
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLDRCQUE0QixFQUM1QixjQUFjLEdBQ2YsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHN0IsTUFBTSxPQUFPLFlBQVk7SUFHdkI7UUFGUSxjQUFTLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFFMUMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUMxQixDQUFDO1lBQ0QsNkRBQTZEO1FBQy9ELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7SUFDakQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQU9ELElBQUksY0FBYztRQUNoQixPQUFPLENBQ0wsSUFBSSxDQUFDLGVBQWU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBZ0IsQ0FDNUQsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLENBQ0wsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxDQUNMLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFtQixDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs4R0E5RVUsWUFBWTtrSEFBWixZQUFZLGNBREMsTUFBTTs7MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWxwaGEyQ29kZSB9IGZyb20gJ2kxOG4taXNvLWNvdW50cmllcyc7XHJcbmltcG9ydCB7XHJcbiAgREVGQVVMVF9DT1VOVFJZX0xPQ0FMSE9TVF9LRVksXHJcbiAgREVGQVVMVF9DVVJSRU5DWV9MT0NBTEhPU1RfS0VZLFxyXG4gIERFRkFVTFRfTUVUSE9EX0xPQ0FMSE9TVF9LRVksXHJcbiAgTE9DQUxfTEFOR19LRVksXHJcbn0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlIHtcclxuICBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1cHBvcnRlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoIXRoaXMuX2RvY3VtZW50LmRlZmF1bHRWaWV3LmxvY2FsU3RvcmFnZSkge1xyXG4gICAgICAgIHRoaXMuX3N1cHBvcnRlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRoaXMuX3N1cHBvcnRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgX3N0b3JhZ2UoKTogU3RvcmFnZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnQuZGVmYXVsdFZpZXcubG9jYWxTdG9yYWdlO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbShrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKCF0aGlzLl9zdXBwb3J0ZWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fc3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgfVxyXG5cclxuICBzZXRJdGVtKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX3N1cHBvcnRlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kZWZhdWx0Q291bnRyeTogQWxwaGEyQ29kZTtcclxuICBwcml2YXRlIF9kZWZhdWx0TWV0aG9kTmFtZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2RlZmF1bHRDdXJyZW5jeTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2RlZmF1bHRMYW5nOiBzdHJpbmc7XHJcblxyXG4gIGdldCBkZWZhdWx0Q291bnRyeSgpOiBBbHBoYTJDb2RlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLl9kZWZhdWx0Q291bnRyeSB8fFxyXG4gICAgICAodGhpcy5nZXRJdGVtKERFRkFVTFRfQ09VTlRSWV9MT0NBTEhPU1RfS0VZKSBhcyBBbHBoYTJDb2RlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0TWV0aG9kTmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuX2RlZmF1bHRNZXRob2ROYW1lIHx8IHRoaXMuZ2V0SXRlbShERUZBVUxUX01FVEhPRF9MT0NBTEhPU1RfS0VZKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0Q3VycmVuY3koKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLl9kZWZhdWx0Q3VycmVuY3kgfHwgdGhpcy5nZXRJdGVtKERFRkFVTFRfQ1VSUkVOQ1lfTE9DQUxIT1NUX0tFWSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgZGVmYXVsdExhbmcoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVmYXVsdExhbmcgfHwgdGhpcy5nZXRJdGVtKExPQ0FMX0xBTkdfS0VZKTtcclxuICB9XHJcblxyXG4gIHNhdmVEZWZhdWx0Q291bnRyeSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZWZhdWx0Q291bnRyeSA9IHZhbHVlIGFzIEFscGhhMkNvZGU7XHJcbiAgICB0aGlzLnNldEl0ZW0oREVGQVVMVF9DT1VOVFJZX0xPQ0FMSE9TVF9LRVksIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNhdmVEZWZhdWx0TWV0aG9kTmFtZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZWZhdWx0TWV0aG9kTmFtZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRJdGVtKERFRkFVTFRfTUVUSE9EX0xPQ0FMSE9TVF9LRVksIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNhdmVEZWZhdWx0Q3VycmVuY3kodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVmYXVsdEN1cnJlbmN5ID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldEl0ZW0oREVGQVVMVF9DVVJSRU5DWV9MT0NBTEhPU1RfS0VZLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzYXZlRGVmYXVsdExhbmcodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVmYXVsdExhbmcgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0SXRlbShMT0NBTF9MQU5HX0tFWSwgdmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|