@snabcentr/client-ui 3.23.0 → 3.25.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.
Files changed (30) hide show
  1. package/catalog/index.d.ts +1 -0
  2. package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +68 -0
  3. package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +5 -0
  4. package/contacts/sc-contacts.module.d.ts +3 -1
  5. package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +3 -1
  6. package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +11 -2
  7. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +5 -0
  8. package/delivery-address/sc-delivery-address.module.d.ts +3 -1
  9. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +3 -3
  10. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +3 -3
  11. package/esm2022/catalog/index.mjs +2 -1
  12. package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +126 -0
  13. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +13 -6
  14. package/esm2022/contacts/sc-contacts.module.mjs +12 -5
  15. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +3 -3
  16. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +3 -3
  17. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +13 -5
  18. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +3 -3
  19. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +16 -9
  20. package/esm2022/delivery-address/sc-delivery-address.module.mjs +12 -5
  21. package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +15 -5
  22. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +8 -5
  23. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +4 -2
  24. package/esm2022/verification/sc-verification.module.mjs +3 -13
  25. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +2 -2
  26. package/feedback/feedback-form/sc-feedback-form.component.d.ts +5 -0
  27. package/fesm2022/snabcentr-client-ui.mjs +212 -77
  28. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  29. package/package.json +2 -2
  30. package/release_notes.tmp +3 -3
@@ -0,0 +1,126 @@
1
+ /* eslint-disable class-methods-use-this,unicorn/no-useless-undefined, @typescript-eslint/unbound-method */
2
+ import { AsyncPipe, NgIf } from '@angular/common';
3
+ import { HttpErrorResponse } from '@angular/common/http';
4
+ import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
5
+ import { toSignal } from '@angular/core/rxjs-interop';
6
+ import { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
7
+ import { ScCatalogService, ScISuggestionType, ScWarehouseService } from '@snabcentr/client-core';
8
+ import { TuiButton, TuiError, TuiLabel, TuiLink, TuiLoader } from '@taiga-ui/core';
9
+ import { TuiButtonLoading, TuiFieldErrorPipe } from '@taiga-ui/kit';
10
+ import { TuiInputModule, TuiSelectModule } from '@taiga-ui/legacy';
11
+ import { POLYMORPHEUS_CONTEXT } from '@taiga-ui/polymorpheus';
12
+ import { catchError, filter, map, of, share, startWith, Subject, switchMap, tap } from 'rxjs';
13
+ import { ScFormFieldsModule } from '../../form-fields/form-fields.module';
14
+ import { ScVerificationModule } from '../../verification/sc-verification.module';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "../../verification/verification-phone-check-form/sc-verification-phone-check-form.component";
17
+ import * as i2 from "@angular/forms";
18
+ import * as i3 from "@taiga-ui/legacy";
19
+ import * as i4 from "../../form-fields/suggestion-field/sc-suggestion-field.component";
20
+ import * as i5 from "@taiga-ui/core/components/data-list";
21
+ /**
22
+ * Компонент формы отправки запроса на уведомление о поступлении товара.
23
+ */
24
+ export class ScNotifyWhenInStockDialogComponent {
25
+ constructor() {
26
+ /**
27
+ * Контекст диалогового окна, в котором открыт компонент.
28
+ */
29
+ this.context = inject(POLYMORPHEUS_CONTEXT);
30
+ /**
31
+ * Товар.
32
+ */
33
+ this.product = this.context.data.product;
34
+ /**
35
+ * Форма для отправки запроса на уведомление о поступлении товара.
36
+ */
37
+ this.form = new FormGroup({
38
+ email: new FormControl(null, [Validators.required, Validators.email]),
39
+ phone: new FormControl(null, [Validators.required, Validators.minLength(12)]),
40
+ verificationCode: new FormControl(null, [Validators.required, Validators.minLength(6)]),
41
+ warehouseId: new FormControl(null, Validators.required),
42
+ });
43
+ /**
44
+ * Список складов.
45
+ */
46
+ this.warehouses = toSignal(inject(ScWarehouseService).getWarehouses$(), { initialValue: null });
47
+ /**
48
+ * Перечисление типов подсказок.
49
+ */
50
+ this.suggestionType = ScISuggestionType;
51
+ /**
52
+ * Сервис для работы с каталогом.
53
+ */
54
+ this.catalogService = inject(ScCatalogService);
55
+ /**
56
+ * {@link Subject} события отправки формы.
57
+ */
58
+ this.onSubmit$ = new Subject();
59
+ /**
60
+ * {@link Observable} запроса данных уведомления о поступлении товара.
61
+ */
62
+ this.request$ = this.onSubmit$.pipe(filter(() => this.form.valid), map(() => this.form.value), switchMap((value) => this.catalogService.getProductNotifyWhenInStock$(this.product.id, value).pipe(tap(() => {
63
+ this.context.completeWith();
64
+ }), catchError((error) => {
65
+ if (error instanceof HttpErrorResponse) {
66
+ const { errors, message } = error.error;
67
+ if (errors) {
68
+ // eslint-disable-next-line no-shadow
69
+ Object.entries(errors).forEach(([key, value]) => {
70
+ this.form.get(key)?.setErrors({ serverResponse: value });
71
+ });
72
+ }
73
+ else if (message) {
74
+ this.form.setErrors({ serverResponse: [message] });
75
+ }
76
+ }
77
+ return of(undefined);
78
+ }), startWith(null))), share());
79
+ /**
80
+ * Сигнал изменения состояния загрузки данных.
81
+ */
82
+ this.loading = toSignal(this.request$.pipe(map((value) => value === null)), { initialValue: false });
83
+ }
84
+ /**
85
+ * Проверяет, является ли товар в наличии.
86
+ */
87
+ isStock() {
88
+ const warehouseId = Number(this.form.get('warehouseId')?.value ?? 0);
89
+ return this.product.isWarehouseStockExist(warehouseId);
90
+ }
91
+ /**
92
+ * Преобразует объект в значение, отображаемое в поле ввода.
93
+ *
94
+ * @param items Выбранные значения.
95
+ */
96
+ stringify(items) {
97
+ const itemsMap = new Map(items.map((item) => {
98
+ return [item.id, item.name];
99
+ }));
100
+ return ({ $implicit }) => itemsMap.get($implicit) ?? '';
101
+ }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScNotifyWhenInStockDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScNotifyWhenInStockDialogComponent, isStandalone: true, selector: "sc-notify-when-in-stock-dialog", ngImport: i0, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit$.next()\"\n class=\"flex flex-col gap-6\"\n>\n <div class=\"flex flex-col gap-3\">\n <sc-verification-phone-check-form [shouldBeConfirmed]=\"true\" />\n\n <label tuiLabel>\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n />\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n\n <label tuiLabel>\n \u0421\u043A\u043B\u0430\u0434\n <tui-select\n formControlName=\"warehouseId\"\n [valueContent]=\"warehouses() ? stringify(warehouses()!) : selectLoading\"\n >\n \u0421\u043A\u043B\u0430\u0434\n <tui-data-list *tuiDataList>\n @for (warehouse of warehouses(); track warehouse.id) {\n <button\n tuiOption\n [value]=\"warehouse.id\"\n >\n {{ warehouse.name }}\n </button>\n }\n </tui-data-list>\n </tui-select>\n <tui-error\n formControlName=\"warehouseId\"\n [error]=\"[] | tuiFieldError | async\"\n />\n\n <span\n *ngIf=\"isStock()\"\n [style.color]=\"'var(--tui-text-positive)'\"\n >\u0422\u043E\u0432\u0430\u0440 \u0438\u043C\u0435\u0435\u0442\u0441\u044F \u0432 \u043D\u0430\u043B\u0438\u0447\u0438\u0438 \u043D\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C \u0441\u043A\u043B\u0430\u0434\u0435</span\n >\n </label>\n <ng-template #selectLoading> <tui-loader /> </ng-template>\n </div>\n\n <div class=\"flex flex-wrap items-center gap-3\">\n <button\n tuiButton\n type=\"submit\"\n [disabled]=\"form.invalid || isStock()\"\n [loading]=\"loading()\"\n iconStart=\"@tui.sc.send\"\n class=\"self-center\"\n >\n \u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C\n </button>\n <div class=\"grow basis-60 text-body-s\">\n \u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443, \u0432\u044B \u0441\u043E\u0433\u043B\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044C \u0441\n <button\n tuiLink\n [pseudo]=\"true\"\n type=\"button\"\n (click)=\"context.data.onClickOfferHandler()\"\n >\n \u041F\u043E\u043B\u0438\u0442\u0438\u043A\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0434\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438\n </button>\n </div>\n </div>\n\n <tui-error\n *ngIf=\"form.errors && form.errors['serverResponse']\"\n [error]=\"[] | tuiFieldError | async\"\n />\n</form>\n", dependencies: [{ kind: "ngmodule", type: ScVerificationModule }, { kind: "component", type: i1.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange", "isBusyChange", "isConfirmedChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TuiInputModule }, { kind: "component", type: i3.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i3.TuiInputDirective, selector: "tui-input" }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiLabel, selector: "label[tuiLabel]" }, { kind: "pipe", type: TuiFieldErrorPipe, name: "tuiFieldError" }, { kind: "component", type: TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "ngmodule", type: ScFormFieldsModule }, { kind: "component", type: i4.ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"], outputs: ["selectedClick"] }, { kind: "ngmodule", type: TuiSelectModule }, { kind: "component", type: i3.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i3.TuiSelectDirective, selector: "tui-select" }, { kind: "component", type: i5.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i5.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i5.TuiOption, selector: "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", inputs: ["disabled", "value"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScNotifyWhenInStockDialogComponent, decorators: [{
106
+ type: Component,
107
+ args: [{ standalone: true, selector: 'sc-notify-when-in-stock-dialog', imports: [
108
+ ScVerificationModule,
109
+ FormsModule,
110
+ ReactiveFormsModule,
111
+ TuiInputModule,
112
+ TuiLink,
113
+ TuiButton,
114
+ TuiLabel,
115
+ TuiFieldErrorPipe,
116
+ TuiError,
117
+ ScVerificationModule,
118
+ ScFormFieldsModule,
119
+ TuiSelectModule,
120
+ TuiButtonLoading,
121
+ TuiLoader,
122
+ AsyncPipe,
123
+ NgIf,
124
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit$.next()\"\n class=\"flex flex-col gap-6\"\n>\n <div class=\"flex flex-col gap-3\">\n <sc-verification-phone-check-form [shouldBeConfirmed]=\"true\" />\n\n <label tuiLabel>\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n />\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n\n <label tuiLabel>\n \u0421\u043A\u043B\u0430\u0434\n <tui-select\n formControlName=\"warehouseId\"\n [valueContent]=\"warehouses() ? stringify(warehouses()!) : selectLoading\"\n >\n \u0421\u043A\u043B\u0430\u0434\n <tui-data-list *tuiDataList>\n @for (warehouse of warehouses(); track warehouse.id) {\n <button\n tuiOption\n [value]=\"warehouse.id\"\n >\n {{ warehouse.name }}\n </button>\n }\n </tui-data-list>\n </tui-select>\n <tui-error\n formControlName=\"warehouseId\"\n [error]=\"[] | tuiFieldError | async\"\n />\n\n <span\n *ngIf=\"isStock()\"\n [style.color]=\"'var(--tui-text-positive)'\"\n >\u0422\u043E\u0432\u0430\u0440 \u0438\u043C\u0435\u0435\u0442\u0441\u044F \u0432 \u043D\u0430\u043B\u0438\u0447\u0438\u0438 \u043D\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C \u0441\u043A\u043B\u0430\u0434\u0435</span\n >\n </label>\n <ng-template #selectLoading> <tui-loader /> </ng-template>\n </div>\n\n <div class=\"flex flex-wrap items-center gap-3\">\n <button\n tuiButton\n type=\"submit\"\n [disabled]=\"form.invalid || isStock()\"\n [loading]=\"loading()\"\n iconStart=\"@tui.sc.send\"\n class=\"self-center\"\n >\n \u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C\n </button>\n <div class=\"grow basis-60 text-body-s\">\n \u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443, \u0432\u044B \u0441\u043E\u0433\u043B\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044C \u0441\n <button\n tuiLink\n [pseudo]=\"true\"\n type=\"button\"\n (click)=\"context.data.onClickOfferHandler()\"\n >\n \u041F\u043E\u043B\u0438\u0442\u0438\u043A\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0434\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438\n </button>\n </div>\n </div>\n\n <tui-error\n *ngIf=\"form.errors && form.errors['serverResponse']\"\n [error]=\"[] | tuiFieldError | async\"\n />\n</form>\n" }]
125
+ }] });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtbm90aWZ5LXdoZW4taW4tc3RvY2stZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL25vdGlmeS13aGVuLWluLXN0b2NrLWRpYWxvZy9zYy1ub3RpZnktd2hlbi1pbi1zdG9jay1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvbm90aWZ5LXdoZW4taW4tc3RvY2stZGlhbG9nL3NjLW5vdGlmeS13aGVuLWluLXN0b2NrLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyR0FBMkc7QUFFM0csT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBK0IsaUJBQWlCLEVBQTJCLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkosT0FBTyxFQUFFLFNBQVMsRUFBb0IsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1B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LENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixPQUFPLENBQUMsRUFBRSxTQUFTLEVBQXNCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hGLENBQUM7K0dBdEdRLGtDQUFrQzttR0FBbEMsa0NBQWtDLDBGQzlDL0MsczdHQW9GQSwyQ0R6RFEsb0JBQW9CLDhTQUNwQixXQUFXLDJZQUNYLG1CQUFtQiwrVUFDbkIsY0FBYyxtTEFDZCxPQUFPLDRGQUNQLFNBQVMsb0lBQ1QsUUFBUSx1REFDUixpQkFBaUIsc0RBQ2pCLFFBQVEsd0VBRVIsa0JBQWtCLHlLQUNsQixlQUFlLDBtQkFDZixnQkFBZ0IsdUhBQ2hCLFNBQVMsNEhBQ1QsU0FBUyw4Q0FDVCxJQUFJOzs0RkFJQyxrQ0FBa0M7a0JBeEI5QyxTQUFTO2lDQUNNLElBQUksWUFDTixnQ0FBZ0MsV0FFakM7d0JBQ0wsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1Isb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsSUFBSTtxQkFDUCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMsdW5pY29ybi9uby11c2VsZXNzLXVuZGVmaW5lZCwgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kICovXG5cbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NDYXRhbG9nU2VydmljZSwgU2NJUHJvZHVjdE5vdGlmeVdoZW5JblN0b2NrLCBTY0lTdWdnZXN0aW9uVHlwZSwgU2NJV2FyZWhvdXNlLCBTY1Byb2R1Y3QsIFNjV2FyZWhvdXNlU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpQ29udGV4dCwgVHVpU3RyaW5nSGFuZGxlciB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlEaWFsb2dDb250ZXh0LCBUdWlFcnJvciwgVHVpTGFiZWwsIFR1aUxpbmssIFR1aUxvYWRlciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUJ1dHRvbkxvYWRpbmcsIFR1aUZpZWxkRXJyb3JQaXBlIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBUdWlJbnB1dE1vZHVsZSwgVHVpU2VsZWN0TW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeSc7XG5pbXBvcnQgeyBQT0xZTU9SUEhFVVNfQ09OVEVYVCB9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIG9mLCBzaGFyZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcGlFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vYXV0aCc7XG5pbXBvcnQgeyBTY0Zvcm1GaWVsZHNNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3JtLWZpZWxkcy9mb3JtLWZpZWxkcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2NWZXJpZmljYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi92ZXJpZmljYXRpb24vc2MtdmVyaWZpY2F0aW9uLm1vZHVsZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGE0L7RgNC80Ysg0L7RgtC/0YDQsNCy0LrQuCDQt9Cw0L/RgNC+0YHQsCDQvdCwINGD0LLQtdC00L7QvNC70LXQvdC40LUg0L4g0L/QvtGB0YLRg9C/0LvQtdC90LjQuCDRgtC+0LLQsNGA0LAuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1ub3RpZnktd2hlbi1pbi1zdG9jay1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1ub3RpZnktd2hlbi1pbi1zdG9jay1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgU2NWZXJpZmljYXRpb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE1vZHVsZSxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlMYWJlbCxcbiAgICAgICAgVHVpRmllbGRFcnJvclBpcGUsXG4gICAgICAgIFR1aUVycm9yLFxuICAgICAgICBTY1ZlcmlmaWNhdGlvbk1vZHVsZSxcbiAgICAgICAgU2NGb3JtRmllbGRzTW9kdWxlLFxuICAgICAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgICAgIFR1aUxvYWRlcixcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBOZ0lmLFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjTm90aWZ5V2hlbkluU3RvY2tEaWFsb2dDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCa0L7QvdGC0LXQutGB0YIg0LTQuNCw0LvQvtCz0L7QstC+0LPQviDQvtC60L3QsCwg0LIg0LrQvtGC0L7RgNC+0Lwg0L7RgtC60YDRi9GCINC60L7QvNC/0L7QvdC10L3Rgi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dDogVHVpRGlhbG9nQ29udGV4dDx2b2lkLCB7IHByb2R1Y3Q6IFNjUHJvZHVjdDsgb25DbGlja09mZmVySGFuZGxlcjogKCkgPT4gdm9pZCB9PiA9XG4gICAgICAgIGluamVjdDxUdWlEaWFsb2dDb250ZXh0PHZvaWQsIHsgcHJvZHVjdDogU2NQcm9kdWN0OyBvbkNsaWNrT2ZmZXJIYW5kbGVyOiAoKSA9PiB2b2lkIH0+PihQT0xZTU9SUEhFVVNfQ09OVEVYVCk7XG5cbiAgICAvKipcbiAgICAgKiDQotC+0LLQsNGALlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwcm9kdWN0OiBTY1Byb2R1Y3QgPSB0aGlzLmNvbnRleHQuZGF0YS5wcm9kdWN0O1xuXG4gICAgLyoqXG4gICAgICog0KTQvtGA0LzQsCDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuCDQt9Cw0L/RgNC+0YHQsCDQvdCwINGD0LLQtdC00L7QvNC70LXQvdC40LUg0L4g0L/QvtGB0YLRg9C/0LvQtdC90LjQuCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pLFxuICAgICAgICBwaG9uZTogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMildKSxcbiAgICAgICAgdmVyaWZpY2F0aW9uQ29kZTogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg2KV0pLFxuICAgICAgICB3YXJlaG91c2VJZDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0LrQu9Cw0LTQvtCyLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB3YXJlaG91c2VzOiBTaWduYWw8U2NJV2FyZWhvdXNlW10gfCBudWxsPiA9IHRvU2lnbmFsKGluamVjdChTY1dhcmVob3VzZVNlcnZpY2UpLmdldFdhcmVob3VzZXMkKCksIHsgaW5pdGlhbFZhbHVlOiBudWxsIH0pO1xuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXRh9C40YHQu9C10L3QuNC1INGC0LjQv9C+0LIg0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdWdnZXN0aW9uVHlwZTogdHlwZW9mIFNjSVN1Z2dlc3Rpb25UeXBlID0gU2NJU3VnZ2VzdGlvblR5cGU7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutCw0YLQsNC70L7Qs9C+0LwuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhdGFsb2dTZXJ2aWNlOiBTY0NhdGFsb2dTZXJ2aWNlID0gaW5qZWN0KFNjQ2F0YWxvZ1NlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINC+0YLQv9GA0LDQstC60Lgg0YTQvtGA0LzRiy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb25TdWJtaXQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0YPQstC10LTQvtC80LvQtdC90LjRjyDQviDQv9C+0YHRgtGD0L/Qu9C10L3QuNC4INGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3QkID0gdGhpcy5vblN1Ym1pdCQucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZm9ybS52YWxpZCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm0udmFsdWUgYXMgU2NJUHJvZHVjdE5vdGlmeVdoZW5JblN0b2NrKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlcnZpY2UuZ2V0UHJvZHVjdE5vdGlmeVdoZW5JblN0b2NrJCh0aGlzLnByb2R1Y3QuaWQsIHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5jb21wbGV0ZVdpdGgoKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBlcnJvcnMsIG1lc3NhZ2UgfSA9IGVycm9yLmVycm9yIGFzIEFwaUVycm9yUmVzcG9uc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZXJyb3JzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmdldChrZXkpPy5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogdmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IFttZXNzYWdlXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsb2FkaW5nOiBTaWduYWw8Ym9vbGVhbj4gPSB0b1NpZ25hbCh0aGlzLnJlcXVlc3QkLnBpcGUobWFwKCh2YWx1ZSkgPT4gdmFsdWUgPT09IG51bGwpKSwgeyBpbml0aWFsVmFsdWU6IGZhbHNlIH0pO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC+0LLQtdGA0Y/QtdGCLCDRj9Cy0LvRj9C10YLRgdGPINC70Lgg0YLQvtCy0LDRgCDQsiDQvdCw0LvQuNGH0LjQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaXNTdG9jaygpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgd2FyZWhvdXNlSWQgPSBOdW1iZXIodGhpcy5mb3JtLmdldCgnd2FyZWhvdXNlSWQnKT8udmFsdWUgPz8gMCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvZHVjdC5pc1dhcmVob3VzZVN0b2NrRXhpc3Qod2FyZWhvdXNlSWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0L7QsdGK0LXQutGCINCyINC30L3QsNGH0LXQvdC40LUsINC+0YLQvtCx0YDQsNC20LDQtdC80L7QtSDQsiDQv9C+0LvQtSDQstCy0L7QtNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW1zINCS0YvQsdGA0LDQvdC90YvQtSDQt9C90LDRh9C10L3QuNGPLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzdHJpbmdpZnkoaXRlbXM6IHJlYWRvbmx5IFNjSVdhcmVob3VzZVtdKTogVHVpU3RyaW5nSGFuZGxlcjxUdWlDb250ZXh0PG51bWJlcj4+IHtcbiAgICAgICAgY29uc3QgaXRlbXNNYXAgPSBuZXcgTWFwKFxuICAgICAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtpdGVtLmlkLCBpdGVtLm5hbWVdIGFzIFtudW1iZXIsIHN0cmluZ107XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiAoeyAkaW1wbGljaXQgfTogVHVpQ29udGV4dDxudW1iZXI+KSA9PiBpdGVtc01hcC5nZXQoJGltcGxpY2l0KSA/PyAnJztcbiAgICB9XG59XG4iLCI8Zm9ybVxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgKG5nU3VibWl0KT1cIm9uU3VibWl0JC5uZXh0KClcIlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNlwiXG4+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgPHNjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtIFtzaG91bGRCZUNvbmZpcm1lZF09XCJ0cnVlXCIgLz5cblxuICAgICAgICA8bGFiZWwgdHVpTGFiZWw+XG4gICAgICAgICAgICDQkNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRi1xuICAgICAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiPlxuICAgICAgICAgICAgICAgINCQ0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLXG4gICAgICAgICAgICAgICAgPHNjLXN1Z2dlc3Rpb24tZmllbGRcbiAgICAgICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cInN1Z2dlc3Rpb25UeXBlLmVtYWlsXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC90dWktaW5wdXQ+XG4gICAgICAgICAgICA8dHVpLWVycm9yXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2xhYmVsPlxuXG4gICAgICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAgICAgINCh0LrQu9Cw0LRcbiAgICAgICAgICAgIDx0dWktc2VsZWN0XG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwid2FyZWhvdXNlSWRcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZUNvbnRlbnRdPVwid2FyZWhvdXNlcygpID8gc3RyaW5naWZ5KHdhcmVob3VzZXMoKSEpIDogc2VsZWN0TG9hZGluZ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0KHQutC70LDQtFxuICAgICAgICAgICAgICAgIDx0dWktZGF0YS1saXN0ICp0dWlEYXRhTGlzdD5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAod2FyZWhvdXNlIG9mIHdhcmVob3VzZXMoKTsgdHJhY2sgd2FyZWhvdXNlLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIndhcmVob3VzZS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgd2FyZWhvdXNlLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgICAgICAgICAgPC90dWktc2VsZWN0PlxuICAgICAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIndhcmVob3VzZUlkXCJcbiAgICAgICAgICAgICAgICBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIlxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzU3RvY2soKVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIid2YXIoLS10dWktdGV4dC1wb3NpdGl2ZSknXCJcbiAgICAgICAgICAgICAgICA+0KLQvtCy0LDRgCDQuNC80LXQtdGC0YHRjyDQsiDQvdCw0LvQuNGH0LjQuCDQvdCwINCy0YvQsdGA0LDQvdC90L7QvCDRgdC60LvQsNC00LU8L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzZWxlY3RMb2FkaW5nPiA8dHVpLWxvYWRlciAvPiA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBpc1N0b2NrKClcIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZygpXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2Muc2VuZFwiXG4gICAgICAgICAgICBjbGFzcz1cInNlbGYtY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0J7RgtC/0YDQsNCy0LjRgtGMXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdyBiYXNpcy02MCB0ZXh0LWJvZHktc1wiPlxuICAgICAgICAgICAg0J3QsNC20LjQvNCw0Y8g0L3QsCDQutC90L7Qv9C60YMsINCy0Ysg0YHQvtCz0LvQsNGI0LDQtdGC0LXRgdGMINGBXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRleHQuZGF0YS5vbkNsaWNrT2ZmZXJIYW5kbGVyKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCf0L7Qu9C40YLQuNC60L7QuSDQutC+0L3RhNC40LTQtdC90YbQuNCw0LvRjNC90L7RgdGC0LhcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDx0dWktZXJyb3JcbiAgICAgICAgKm5nSWY9XCJmb3JtLmVycm9ycyAmJiBmb3JtLmVycm9yc1snc2VydmVyUmVzcG9uc2UnXVwiXG4gICAgICAgIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiXG4gICAgLz5cbjwvZm9ybT5cbiJdfQ==
@@ -1,13 +1,16 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { ScISuggestionType } from '@snabcentr/client-core';
3
+ import { getCountries } from 'libphonenumber-js';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/forms";
5
6
  import * as i2 from "../../form-fields/suggestion-field/sc-suggestion-field.component";
6
7
  import * as i3 from "@taiga-ui/core/components/data-list";
7
- import * as i4 from "@taiga-ui/core";
8
+ import * as i4 from "@taiga-ui/core/components/label";
8
9
  import * as i5 from "@taiga-ui/legacy";
9
- import * as i6 from "@angular/common";
10
- import * as i7 from "@taiga-ui/kit";
10
+ import * as i6 from "@taiga-ui/core";
11
+ import * as i7 from "@taiga-ui/experimental";
12
+ import * as i8 from "@angular/common";
13
+ import * as i9 from "@taiga-ui/kit";
11
14
  /**
12
15
  * Компонент формы контактного лица.
13
16
  */
@@ -17,14 +20,18 @@ export class ScNewContactFormComponent {
17
20
  * Перечисление типов подсказок.
18
21
  */
19
22
  this.suggestionType = ScISuggestionType;
23
+ /**
24
+ * Список стран.
25
+ */
26
+ this.countries = getCountries();
20
27
  }
21
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScNewContactFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScNewContactFormComponent, selector: "sc-new-contact-form", inputs: { form: "form" }, ngImport: i0, template: "<div\n [formGroup]=\"form\"\n class=\"flex flex-col gap-3\"\n>\n <label tuiLabel>\n \u0424.\u0418.\u041E.\n <tui-input formControlName=\"name\">\n \u0424.\u0418.\u041E.\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.fio\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel>\n \u0422\u0435\u043B\u0435\u0444\u043E\u043D\n <tui-input-phone formControlName=\"phone\"> \u0422\u0435\u043B\u0435\u0444\u043E\u043D </tui-input-phone>\n <tui-error\n formControlName=\"phone\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel>\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n\n <label tuiLabel>\n \u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0433\u043E \u043B\u0438\u0446\u0430\n <tui-input formControlName=\"position\"> \u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0433\u043E \u043B\u0438\u0446\u0430 </tui-input>\n <tui-error\n formControlName=\"position\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"], outputs: ["selectedClick"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "directive", type: i4.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i5.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i5.TuiInputDirective, selector: "tui-input" }, { kind: "component", type: i5.TuiInputPhoneComponent, selector: "tui-input-phone", inputs: ["phoneMaskAfterCountryCode", "allowText", "search", "countryCode"], outputs: ["searchChange"] }, { kind: "directive", type: i5.TuiInputPhoneDirective, selector: "tui-input-phone" }, { kind: "component", type: i4.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScNewContactFormComponent, selector: "sc-new-contact-form", inputs: { form: "form" }, ngImport: i0, template: "<div\n [formGroup]=\"form\"\n class=\"flex flex-col gap-3\"\n>\n <label tuiLabel>\n \u0424.\u0418.\u041E.\n <tui-input formControlName=\"name\">\n \u0424.\u0418.\u041E.\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.fio\"\n />\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n <label tuiLabel>\n \u0422\u0435\u043B\u0435\u0444\u043E\u043D\n <tui-textfield>\n <input\n formControlName=\"phone\"\n tuiInputPhoneInternational\n [countrySearch]=\"true\"\n [countries]=\"(countries | tuiSortCountries | async) || []\"\n autocomplete=\"phone\"\n />\n </tui-textfield>\n <tui-error\n formControlName=\"phone\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n <label tuiLabel>\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n />\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n\n <label tuiLabel>\n \u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0433\u043E \u043B\u0438\u0446\u0430\n <tui-input formControlName=\"position\"> \u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0433\u043E \u043B\u0438\u0446\u0430 </tui-input>\n <tui-error\n formControlName=\"position\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n</div>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"], outputs: ["selectedClick"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "directive", type: i4.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i5.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i5.TuiInputDirective, selector: "tui-input" }, { kind: "component", type: i6.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "component", type: i7.TuiInputPhoneInternational, selector: "input[tuiInputPhoneInternational]", inputs: ["countrySearch", "countries", "countryIsoCode"], outputs: ["countryIsoCodeChange"] }, { kind: "component", type: i6.TuiTextfieldComponent, selector: "tui-textfield", inputs: ["content", "filler"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TuiFieldErrorPipe, name: "tuiFieldError" }, { kind: "pipe", type: i9.TuiSortCountriesPipe, name: "tuiSortCountries" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
30
  }
24
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScNewContactFormComponent, decorators: [{
25
32
  type: Component,
26
- args: [{ selector: 'sc-new-contact-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [formGroup]=\"form\"\n class=\"flex flex-col gap-3\"\n>\n <label tuiLabel>\n \u0424.\u0418.\u041E.\n <tui-input formControlName=\"name\">\n \u0424.\u0418.\u041E.\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.fio\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel>\n \u0422\u0435\u043B\u0435\u0444\u043E\u043D\n <tui-input-phone formControlName=\"phone\"> \u0422\u0435\u043B\u0435\u0444\u043E\u043D </tui-input-phone>\n <tui-error\n formControlName=\"phone\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel>\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n\n <label tuiLabel>\n \u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0433\u043E \u043B\u0438\u0446\u0430\n <tui-input formControlName=\"position\"> \u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0433\u043E \u043B\u0438\u0446\u0430 </tui-input>\n <tui-error\n formControlName=\"position\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n</div>\n" }]
33
+ args: [{ selector: 'sc-new-contact-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [formGroup]=\"form\"\n class=\"flex flex-col gap-3\"\n>\n <label tuiLabel>\n \u0424.\u0418.\u041E.\n <tui-input formControlName=\"name\">\n \u0424.\u0418.\u041E.\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.fio\"\n />\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n <label tuiLabel>\n \u0422\u0435\u043B\u0435\u0444\u043E\u043D\n <tui-textfield>\n <input\n formControlName=\"phone\"\n tuiInputPhoneInternational\n [countrySearch]=\"true\"\n [countries]=\"(countries | tuiSortCountries | async) || []\"\n autocomplete=\"phone\"\n />\n </tui-textfield>\n <tui-error\n formControlName=\"phone\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n <label tuiLabel>\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n />\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n\n <label tuiLabel>\n \u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0433\u043E \u043B\u0438\u0446\u0430\n <tui-input formControlName=\"position\"> \u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0433\u043E \u043B\u0438\u0446\u0430 </tui-input>\n <tui-error\n formControlName=\"position\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n</div>\n" }]
27
34
  }], propDecorators: { form: [{
28
35
  type: Input
29
36
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3LWNvbnRhY3QtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY29udGFjdHMvbmV3LWNvbnRhY3QtZm9ybS9zYy1uZXctY29udGFjdC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250YWN0cy9uZXctY29udGFjdC1mb3JtL3NjLW5ldy1jb250YWN0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7OztBQUUzRDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFNSTs7V0FFRztRQUNhLG1CQUFjLEdBQTZCLGlCQUFpQixDQUFDO0tBWWhGOytHQWhCWSx5QkFBeUI7bUdBQXpCLHlCQUF5QixxRkNadEMsOGhFQWtEQTs7NEZEdENhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTs4QkFZeEMsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTY0lTdWdnZXN0aW9uVHlwZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRhNC+0YDQvNGLINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtbmV3LWNvbnRhY3QtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLW5ldy1jb250YWN0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY05ld0NvbnRhY3RGb3JtQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdGH0LjRgdC70LXQvdC40LUg0YLQuNC/0L7QsiDQv9C+0LTRgdC60LDQt9C+0LouXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHN1Z2dlc3Rpb25UeXBlOiB0eXBlb2YgU2NJU3VnZ2VzdGlvblR5cGUgPSBTY0lTdWdnZXN0aW9uVHlwZTtcblxuICAgIC8qKlxuICAgICAqINCT0YDRg9C/0L/QsCDRgSDQv9C+0LvRj9C80Lgg0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA8e1xuICAgICAgICBuYW1lOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgcGhvbmU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBlbWFpbDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIHBvc2l0aW9uOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICB9Pjtcbn1cbiIsIjxkaXZcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiXG4+XG4gICAgPGxhYmVsIHR1aUxhYmVsPlxuICAgICAgICDQpC7QmC7Qni5cbiAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCI+XG4gICAgICAgICAgICDQpC7QmC7Qni5cbiAgICAgICAgICAgIDxzYy1zdWdnZXN0aW9uLWZpZWxkXG4gICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgW3R5cGVdPVwic3VnZ2VzdGlvblR5cGUuZmlvXCJcbiAgICAgICAgICAgID48L3NjLXN1Z2dlc3Rpb24tZmllbGQ+XG4gICAgICAgIDwvdHVpLWlucHV0PlxuICAgICAgICA8dHVpLWVycm9yXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiXG4gICAgICAgID48L3R1aS1lcnJvcj5cbiAgICA8L2xhYmVsPlxuICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAg0KLQtdC70LXRhNC+0L1cbiAgICAgICAgPHR1aS1pbnB1dC1waG9uZSBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZVwiPiDQotC10LvQtdGE0L7QvSA8L3R1aS1pbnB1dC1waG9uZT5cbiAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVcIlxuICAgICAgICAgICAgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCJcbiAgICAgICAgPjwvdHVpLWVycm9yPlxuICAgIDwvbGFiZWw+XG4gICAgPGxhYmVsIHR1aUxhYmVsPlxuICAgICAgICDQkNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRi1xuICAgICAgICA8dHVpLWlucHV0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCI+XG4gICAgICAgICAgICDQkNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRi1xuICAgICAgICAgICAgPHNjLXN1Z2dlc3Rpb24tZmllbGRcbiAgICAgICAgICAgICAgICAqdHVpRGF0YUxpc3RcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJzdWdnZXN0aW9uVHlwZS5lbWFpbFwiXG4gICAgICAgICAgICA+PC9zYy1zdWdnZXN0aW9uLWZpZWxkPlxuICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCJcbiAgICAgICAgPjwvdHVpLWVycm9yPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8bGFiZWwgdHVpTGFiZWw+XG4gICAgICAgINCU0L7Qu9C20L3QvtGB0YLRjCDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwXG4gICAgICAgIDx0dWktaW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicG9zaXRpb25cIj4g0JTQvtC70LbQvdC+0YHRgtGMINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAgPC90dWktaW5wdXQ+XG4gICAgICAgIDx0dWktZXJyb3JcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBvc2l0aW9uXCJcbiAgICAgICAgICAgIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiXG4gICAgICAgID48L3R1aS1lcnJvcj5cbiAgICA8L2xhYmVsPlxuPC9kaXY+XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3LWNvbnRhY3QtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY29udGFjdHMvbmV3LWNvbnRhY3QtZm9ybS9zYy1uZXctY29udGFjdC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250YWN0cy9uZXctY29udGFjdC1mb3JtL3NjLW5ldy1jb250YWN0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7OztBQUVqRDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFNSTs7V0FFRztRQUNhLG1CQUFjLEdBQTZCLGlCQUFpQixDQUFDO1FBYTdFOztXQUVHO1FBQ2dCLGNBQVMsR0FBaUMsWUFBWSxFQUFFLENBQUM7S0FDL0U7K0dBckJZLHlCQUF5QjttR0FBekIseUJBQXlCLHFGQ2R0QyxtcUVBMERBOzs0RkQ1Q2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNJLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNOzhCQVl4QyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNjSVN1Z2dlc3Rpb25UeXBlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlDb3VudHJ5SXNvQ29kZSB9IGZyb20gJ0B0YWlnYS11aS9pMThuJztcbmltcG9ydCB7IGdldENvdW50cmllcyB9IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YTQvtGA0LzRiyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLW5ldy1jb250YWN0LWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1uZXctY29udGFjdC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NOZXdDb250YWN0Rm9ybUNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXRh9C40YHQu9C10L3QuNC1INGC0LjQv9C+0LIg0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzdWdnZXN0aW9uVHlwZTogdHlwZW9mIFNjSVN1Z2dlc3Rpb25UeXBlID0gU2NJU3VnZ2VzdGlvblR5cGU7XG5cbiAgICAvKipcbiAgICAgKiDQk9GA0YPQv9C/0LAg0YEg0L/QvtC70Y/QvNC4INC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwPHtcbiAgICAgICAgbmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIHBob25lOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgZW1haWw6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBwb3NpdGlvbjogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgfT47XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0YHRgtGA0LDQvS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY291bnRyaWVzOiByZWFkb25seSBUdWlDb3VudHJ5SXNvQ29kZVtdID0gZ2V0Q291bnRyaWVzKCk7XG59XG4iLCI8ZGl2XG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIlxuPlxuICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAg0KQu0Jgu0J4uXG4gICAgICAgIDx0dWktaW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiPlxuICAgICAgICAgICAg0KQu0Jgu0J4uXG4gICAgICAgICAgICA8c2Mtc3VnZ2VzdGlvbi1maWVsZFxuICAgICAgICAgICAgICAgICp0dWlEYXRhTGlzdFxuICAgICAgICAgICAgICAgIFt0eXBlXT1cInN1Z2dlc3Rpb25UeXBlLmZpb1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIlxuICAgICAgICAvPlxuICAgIDwvbGFiZWw+XG4gICAgPGxhYmVsIHR1aUxhYmVsPlxuICAgICAgICDQotC10LvQtdGE0L7QvVxuICAgICAgICA8dHVpLXRleHRmaWVsZD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBob25lXCJcbiAgICAgICAgICAgICAgICB0dWlJbnB1dFBob25lSW50ZXJuYXRpb25hbFxuICAgICAgICAgICAgICAgIFtjb3VudHJ5U2VhcmNoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtjb3VudHJpZXNdPVwiKGNvdW50cmllcyB8IHR1aVNvcnRDb3VudHJpZXMgfCBhc3luYykgfHwgW11cIlxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cInBob25lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvdHVpLXRleHRmaWVsZD5cbiAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVcIlxuICAgICAgICAgICAgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCJcbiAgICAgICAgLz5cbiAgICA8L2xhYmVsPlxuICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAg0JDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YtcbiAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiPlxuICAgICAgICAgICAg0JDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YtcbiAgICAgICAgICAgIDxzYy1zdWdnZXN0aW9uLWZpZWxkXG4gICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgW3R5cGVdPVwic3VnZ2VzdGlvblR5cGUuZW1haWxcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC90dWktaW5wdXQ+XG4gICAgICAgIDx0dWktZXJyb3JcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCJcbiAgICAgICAgICAgIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiXG4gICAgICAgIC8+XG4gICAgPC9sYWJlbD5cblxuICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAg0JTQvtC70LbQvdC+0YHRgtGMINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LBcbiAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwb3NpdGlvblwiPiDQlNC+0LvQttC90L7RgdGC0Ywg0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCA8L3R1aS1pbnB1dD5cbiAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicG9zaXRpb25cIlxuICAgICAgICAgICAgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCJcbiAgICAgICAgLz5cbiAgICA8L2xhYmVsPlxuPC9kaXY+XG4iXX0=
@@ -3,8 +3,9 @@ import { NgModule } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { MaskitoDirective } from '@maskito/angular';
5
5
  import { TuiLet } from '@taiga-ui/cdk';
6
- import { TuiButton, TuiDataList, TuiError, TuiLabel, TuiLink, TuiLoader, TuiNotification } from '@taiga-ui/core';
7
- import { TuiButtonLoading, TuiDataListWrapper, TuiFieldErrorPipe } from '@taiga-ui/kit';
6
+ import { TuiButton, TuiDataList, TuiError, TuiLabel, TuiLink, TuiLoader, TuiNotification, TuiTextfield } from '@taiga-ui/core';
7
+ import { TuiInputPhoneInternational } from '@taiga-ui/experimental';
8
+ import { TuiButtonLoading, TuiDataListWrapper, TuiFieldErrorPipe, TuiSortCountriesPipe } from '@taiga-ui/kit';
8
9
  import { TuiInputModule, TuiInputPhoneModule, TuiSelectModule } from '@taiga-ui/legacy';
9
10
  import { ScAccordionModule } from '../accordion';
10
11
  import { ScLinks } from '../directives/links/sc-links';
@@ -19,6 +20,7 @@ import * as i3 from "@taiga-ui/core/components/data-list";
19
20
  import * as i4 from "../directives/links/sc-tel-link.directive";
20
21
  import * as i5 from "../directives/links/sc-email-link.directive";
21
22
  import * as i6 from "../pipes/sc-phone-format";
23
+ import * as i7 from "@taiga-ui/core/components/label";
22
24
  /**
23
25
  * Модуль контактных лиц.
24
26
  */
@@ -39,7 +41,8 @@ export class ScContactsModule {
39
41
  TuiSelectModule, i1.TuiDataListComponent, i1.TuiDataListDirective, i1.TuiOption, i1.TuiOptionNew, i1.TuiOptionWithValue, i1.TuiOptGroup, i2.TuiDataListWrapperComponent, i2.TuiDataListGroupWrapperComponent, i3.TuiDataListDirective, TuiLabel,
40
42
  TuiInputModule,
41
43
  TuiInputPhoneModule,
42
- TuiError, i4.ScTelLinkDirective, i5.ScEmailLinkDirective, i6.ScPhoneFormatPipe, TuiButtonLoading], exports: [ScContactsAccordionComponent, ScNewContactFormComponent, ScAddContactDialogComponent] }); }
44
+ TuiError, i4.ScTelLinkDirective, i5.ScEmailLinkDirective, i6.ScPhoneFormatPipe, TuiButtonLoading,
45
+ TuiInputPhoneInternational, i7.TuiLabel, i1.TuiSelect, i1.TuiTextfieldComponent, i1.TuiTextfieldDirective, i1.TuiTextfieldOptionsDirective, i1.TuiTextfieldDropdownDirective, TuiSortCountriesPipe], exports: [ScContactsAccordionComponent, ScNewContactFormComponent, ScAddContactDialogComponent] }); }
43
46
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScContactsModule, imports: [CommonModule,
44
47
  FormsModule,
45
48
  ReactiveFormsModule,
@@ -49,7 +52,8 @@ export class ScContactsModule {
49
52
  TuiSelectModule, i1.TuiDataListComponent, i1.TuiOption, i2.TuiDataListWrapperComponent, i2.TuiDataListGroupWrapperComponent, TuiInputModule,
50
53
  TuiInputPhoneModule,
51
54
  TuiError,
52
- TuiButtonLoading] }); }
55
+ TuiButtonLoading,
56
+ TuiInputPhoneInternational, i1.TuiSelect, i1.TuiTextfieldComponent] }); }
53
57
  }
54
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScContactsModule, decorators: [{
55
59
  type: NgModule,
@@ -77,8 +81,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
77
81
  TuiError,
78
82
  ...ScLinks,
79
83
  TuiButtonLoading,
84
+ TuiInputPhoneInternational,
85
+ ...TuiTextfield,
86
+ TuiSortCountriesPipe,
80
87
  ],
81
88
  exports: [ScContactsAccordionComponent, ScNewContactFormComponent, ScAddContactDialogComponent],
82
89
  }]
83
90
  }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29udGFjdHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NvbnRhY3RzL3NjLWNvbnRhY3RzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7Ozs7QUFFN0Y7O0dBRUc7QUE0QkgsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBMUJWLDRCQUE0QixFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixhQUUvRixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsU0FBUztZQUNULFNBQVM7WUFDVCxNQUFNO1lBQ04sZUFBZTtZQUNmLE9BQU87WUFDUCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixlQUFlLHdOQUdmLFFBQVE7WUFDUixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFFBQVEsd0VBRVIsZ0JBQWdCLGFBRVYsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCO2dIQUVyRixnQkFBZ0IsWUF4QnJCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUVqQixTQUFTO1lBSVQsa0JBQWtCO1lBR2xCLGVBQWUsOEdBSWYsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixRQUFRO1lBRVIsZ0JBQWdCOzs0RkFJWCxnQkFBZ0I7a0JBM0I1QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLDRCQUE0QixFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixDQUFDO29CQUNwRyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsTUFBTTt3QkFDTixlQUFlO3dCQUNmLE9BQU87d0JBQ1Asa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixHQUFHLFdBQVc7d0JBQ2QsR0FBRyxrQkFBa0I7d0JBQ3JCLFFBQVE7d0JBQ1IsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLFFBQVE7d0JBQ1IsR0FBRyxPQUFPO3dCQUNWLGdCQUFnQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLENBQUM7aUJBQ2xHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hc2tpdG9EaXJlY3RpdmUgfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7IFR1aUxldCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlEYXRhTGlzdCwgVHVpRXJyb3IsIFR1aUxhYmVsLCBUdWlMaW5rLCBUdWlMb2FkZXIsIFR1aU5vdGlmaWNhdGlvbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUJ1dHRvbkxvYWRpbmcsIFR1aURhdGFMaXN0V3JhcHBlciwgVHVpRmllbGRFcnJvclBpcGUgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IFR1aUlucHV0TW9kdWxlLCBUdWlJbnB1dFBob25lTW9kdWxlLCBUdWlTZWxlY3RNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5JztcblxuaW1wb3J0IHsgU2NBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICcuLi9hY2NvcmRpb24nO1xuaW1wb3J0IHsgU2NMaW5rcyB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbGlua3Mvc2MtbGlua3MnO1xuaW1wb3J0IHsgU2NGb3JtRmllbGRzTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1maWVsZHMvZm9ybS1maWVsZHMubW9kdWxlJztcbmltcG9ydCB7IFNjQWRkQ29udGFjdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWRkLWNvbnRhY3QtZGlhbG9nL3NjLWFkZC1jb250YWN0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NDb250YWN0c0FjY29yZGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29udGFjdHMtYWNjb3JkaW9uL3NjLWNvbnRhY3RzLWFjY29yZGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NOZXdDb250YWN0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vbmV3LWNvbnRhY3QtZm9ybS9zYy1uZXctY29udGFjdC1mb3JtLmNvbXBvbmVudCc7XG5cbi8qKlxuICog0JzQvtC00YPQu9GMINC60L7QvdGC0LDQutGC0L3Ri9GFINC70LjRhi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY0NvbnRhY3RzQWNjb3JkaW9uQ29tcG9uZW50LCBTY05ld0NvbnRhY3RGb3JtQ29tcG9uZW50LCBTY0FkZENvbnRhY3REaWFsb2dDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgU2NBY2NvcmRpb25Nb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpTG9hZGVyLFxuICAgICAgICBUdWlMZXQsXG4gICAgICAgIFR1aU5vdGlmaWNhdGlvbixcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgU2NGb3JtRmllbGRzTW9kdWxlLFxuICAgICAgICBNYXNraXRvRGlyZWN0aXZlLFxuICAgICAgICBUdWlGaWVsZEVycm9yUGlwZSxcbiAgICAgICAgVHVpU2VsZWN0TW9kdWxlLFxuICAgICAgICAuLi5UdWlEYXRhTGlzdCxcbiAgICAgICAgLi4uVHVpRGF0YUxpc3RXcmFwcGVyLFxuICAgICAgICBUdWlMYWJlbCxcbiAgICAgICAgVHVpSW5wdXRNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0UGhvbmVNb2R1bGUsXG4gICAgICAgIFR1aUVycm9yLFxuICAgICAgICAuLi5TY0xpbmtzLFxuICAgICAgICBUdWlCdXR0b25Mb2FkaW5nLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1NjQ29udGFjdHNBY2NvcmRpb25Db21wb25lbnQsIFNjTmV3Q29udGFjdEZvcm1Db21wb25lbnQsIFNjQWRkQ29udGFjdERpYWxvZ0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjQ29udGFjdHNNb2R1bGUge31cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29udGFjdHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NvbnRhY3RzL3NjLWNvbnRhY3RzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbkcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDcEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7OztBQUU3Rjs7R0FFRztBQStCSCxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkE3QlYsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLGFBRS9GLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixTQUFTO1lBQ1QsU0FBUztZQUNULE1BQU07WUFDTixlQUFlO1lBQ2YsT0FBTztZQUNQLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGVBQWUsd05BR2YsUUFBUTtZQUNSLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsUUFBUSx3RUFFUixnQkFBZ0I7WUFDaEIsMEJBQTBCLG9KQUUxQixvQkFBb0IsYUFFZCw0QkFBNEIsRUFBRSx5QkFBeUIsRUFBRSwyQkFBMkI7Z0hBRXJGLGdCQUFnQixZQTNCckIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBRWpCLFNBQVM7WUFJVCxrQkFBa0I7WUFHbEIsZUFBZSw4R0FJZixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFFBQVE7WUFFUixnQkFBZ0I7WUFDaEIsMEJBQTBCOzs0RkFNckIsZ0JBQWdCO2tCQTlCNUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSx5QkFBeUIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDcEcsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsU0FBUzt3QkFDVCxTQUFTO3dCQUNULE1BQU07d0JBQ04sZUFBZTt3QkFDZixPQUFPO3dCQUNQLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsR0FBRyxXQUFXO3dCQUNkLEdBQUcsa0JBQWtCO3dCQUNyQixRQUFRO3dCQUNSLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixRQUFRO3dCQUNSLEdBQUcsT0FBTzt3QkFDVixnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIsR0FBRyxZQUFZO3dCQUNmLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLENBQUM7aUJBQ2xHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hc2tpdG9EaXJlY3RpdmUgfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7IFR1aUxldCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlEYXRhTGlzdCwgVHVpRXJyb3IsIFR1aUxhYmVsLCBUdWlMaW5rLCBUdWlMb2FkZXIsIFR1aU5vdGlmaWNhdGlvbiwgVHVpVGV4dGZpZWxkIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWwgfSBmcm9tICdAdGFpZ2EtdWkvZXhwZXJpbWVudGFsJztcbmltcG9ydCB7IFR1aUJ1dHRvbkxvYWRpbmcsIFR1aURhdGFMaXN0V3JhcHBlciwgVHVpRmllbGRFcnJvclBpcGUsIFR1aVNvcnRDb3VudHJpZXNQaXBlIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBUdWlJbnB1dE1vZHVsZSwgVHVpSW5wdXRQaG9uZU1vZHVsZSwgVHVpU2VsZWN0TW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeSc7XG5cbmltcG9ydCB7IFNjQWNjb3JkaW9uTW9kdWxlIH0gZnJvbSAnLi4vYWNjb3JkaW9uJztcbmltcG9ydCB7IFNjTGlua3MgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2xpbmtzL3NjLWxpbmtzJztcbmltcG9ydCB7IFNjRm9ybUZpZWxkc01vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZmllbGRzL2Zvcm0tZmllbGRzLm1vZHVsZSc7XG5pbXBvcnQgeyBTY0FkZENvbnRhY3REaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2FkZC1jb250YWN0LWRpYWxvZy9zYy1hZGQtY29udGFjdC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFNjQ29udGFjdHNBY2NvcmRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbnRhY3RzLWFjY29yZGlvbi9zYy1jb250YWN0cy1hY2NvcmRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNjTmV3Q29udGFjdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL25ldy1jb250YWN0LWZvcm0vc2MtbmV3LWNvbnRhY3QtZm9ybS5jb21wb25lbnQnO1xuXG4vKipcbiAqINCc0L7QtNGD0LvRjCDQutC+0L3RgtCw0LrRgtC90YvRhSDQu9C40YYuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbU2NDb250YWN0c0FjY29yZGlvbkNvbXBvbmVudCwgU2NOZXdDb250YWN0Rm9ybUNvbXBvbmVudCwgU2NBZGRDb250YWN0RGlhbG9nQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFNjQWNjb3JkaW9uTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUxvYWRlcixcbiAgICAgICAgVHVpTGV0LFxuICAgICAgICBUdWlOb3RpZmljYXRpb24sXG4gICAgICAgIFR1aUxpbmssXG4gICAgICAgIFNjRm9ybUZpZWxkc01vZHVsZSxcbiAgICAgICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICAgICAgVHVpRmllbGRFcnJvclBpcGUsXG4gICAgICAgIFR1aVNlbGVjdE1vZHVsZSxcbiAgICAgICAgLi4uVHVpRGF0YUxpc3QsXG4gICAgICAgIC4uLlR1aURhdGFMaXN0V3JhcHBlcixcbiAgICAgICAgVHVpTGFiZWwsXG4gICAgICAgIFR1aUlucHV0TW9kdWxlLFxuICAgICAgICBUdWlJbnB1dFBob25lTW9kdWxlLFxuICAgICAgICBUdWlFcnJvcixcbiAgICAgICAgLi4uU2NMaW5rcyxcbiAgICAgICAgVHVpQnV0dG9uTG9hZGluZyxcbiAgICAgICAgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWwsXG4gICAgICAgIC4uLlR1aVRleHRmaWVsZCxcbiAgICAgICAgVHVpU29ydENvdW50cmllc1BpcGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbU2NDb250YWN0c0FjY29yZGlvbkNvbXBvbmVudCwgU2NOZXdDb250YWN0Rm9ybUNvbXBvbmVudCwgU2NBZGRDb250YWN0RGlhbG9nQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2NDb250YWN0c01vZHVsZSB7fVxuIl19
@@ -69,13 +69,13 @@ export class ScAddContragentBankAccountsDialogComponent {
69
69
  this.loading$ = this.request$.pipe(map(tuiIsFalsy));
70
70
  }
71
71
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScAddContragentBankAccountsDialogComponent, deps: [{ token: i1.ScContragentService }, { token: POLYMORPHEUS_CONTEXT }], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScAddContragentBankAccountsDialogComponent, selector: "sc-add-contragent-bank-account-dialog", ngImport: i0, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-3\"\n>\n <sc-new-contragent-bank-account-form [form]=\"form\"></sc-new-contragent-bank-account-form>\n <div class=\"flex justify-center gap-4\">\n <button\n tuiButton\n (click)=\"context.$implicit.complete()\"\n type=\"button\"\n iconStart=\"@tui.x\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [disabled]=\"form.invalid\"\n [loading]=\"!!(loading$ | async)\"\n type=\"submit\"\n iconStart=\"@tui.save\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: i5.ScNewContragentBankAccountsFormComponent, selector: "sc-new-contragent-bank-account-form", inputs: ["form"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScAddContragentBankAccountsDialogComponent, selector: "sc-add-contragent-bank-account-dialog", ngImport: i0, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-3\"\n>\n <sc-new-contragent-bank-account-form\n [opf]=\"$any(context.data).opf.slug\"\n [form]=\"form\"\n />\n <div class=\"flex justify-center gap-4\">\n <button\n tuiButton\n (click)=\"context.$implicit.complete()\"\n type=\"button\"\n iconStart=\"@tui.x\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [disabled]=\"form.invalid\"\n [loading]=\"!!(loading$ | async)\"\n type=\"submit\"\n iconStart=\"@tui.save\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: i5.ScNewContragentBankAccountsFormComponent, selector: "sc-new-contragent-bank-account-form", inputs: ["form", "opf"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
73
  }
74
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScAddContragentBankAccountsDialogComponent, decorators: [{
75
75
  type: Component,
76
- args: [{ selector: 'sc-add-contragent-bank-account-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-3\"\n>\n <sc-new-contragent-bank-account-form [form]=\"form\"></sc-new-contragent-bank-account-form>\n <div class=\"flex justify-center gap-4\">\n <button\n tuiButton\n (click)=\"context.$implicit.complete()\"\n type=\"button\"\n iconStart=\"@tui.x\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [disabled]=\"form.invalid\"\n [loading]=\"!!(loading$ | async)\"\n type=\"submit\"\n iconStart=\"@tui.save\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n" }]
76
+ args: [{ selector: 'sc-add-contragent-bank-account-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-3\"\n>\n <sc-new-contragent-bank-account-form\n [opf]=\"$any(context.data).opf.slug\"\n [form]=\"form\"\n />\n <div class=\"flex justify-center gap-4\">\n <button\n tuiButton\n (click)=\"context.$implicit.complete()\"\n type=\"button\"\n iconStart=\"@tui.x\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [disabled]=\"form.invalid\"\n [loading]=\"!!(loading$ | async)\"\n type=\"submit\"\n iconStart=\"@tui.save\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n" }]
77
77
  }], ctorParameters: () => [{ type: i1.ScContragentService }, { type: undefined, decorators: [{
78
78
  type: Inject,
79
79
  args: [POLYMORPHEUS_CONTEXT]
80
80
  }] }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYWRkLWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY29udHJhZ2VudHMvYWRkLWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWRpYWxvZy9zYy1hZGQtY29udHJhZ2VudC1iYW5rLWFjY291bnQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250cmFnZW50cy9hZGQtY29udHJhZ2VudC1iYW5rLWFjY291bnQtZGlhbG9nL3NjLWFkZC1jb250cmFnZW50LWJhbmstYWNjb3VudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkVBQTJFO0FBRTNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFFbkY7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMENBQTBDO0lBZ0VuRDs7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LENBQ1YsQ0FBQztRQUVGOztXQUVHO1FBQ2EsYUFBUSxHQUF3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQVlqRixDQUFDOytHQTFFSywwQ0FBMEMscURBd0V2QyxvQkFBb0I7bUdBeEV2QiwwQ0FBMEMsNkVDdEJ2RCwwMEJBMkJBOzs0RkRMYSwwQ0FBMEM7a0JBTHRELFNBQVM7K0JBQ0ksdUNBQXVDLG1CQUVoQyx1QkFBdUIsQ0FBQyxNQUFNOzswQkEwRTFDLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kICovXG5cbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NDb250cmFnZW50U2VydmljZSwgU2NJQmFua0FjY291bnQsIFNjSUJhbmtBY2NvdW50T25EYXRhQ3JlYXRlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyB0dWlJc0ZhbHN5LCB0dWlNYXJrQ29udHJvbEFzVG91Y2hlZEFuZFZhbGlkYXRlIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgUE9MWU1PUlBIRVVTX0NPTlRFWFQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpRXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL2F1dGgvaW50ZXJmYWNlcy9hcGktZXJyb3ItcmVzcG9uc2UnO1xuaW1wb3J0IHsgc2NCaWNWYWxpZGF0b3IsIHNjQ29ycmVzcG9uZGVudEFjY291bnRWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YTQvtGA0LzRiyDRgdC+0LfQtNCw0L3QuNGPINC90L7QstC+0LPQviDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfQtdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1hZGQtY29udHJhZ2VudC1iYW5rLWFjY291bnQtZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtYWRkLWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjQWRkQ29udHJhZ2VudEJhbmtBY2NvdW50c0RpYWxvZ0NvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JPRgNGD0L/Qv9CwINGBINC/0L7Qu9C10Lwg0LHQsNC90LrQvtCy0YHQutC40YUg0YDQtdC60LLQuNC30LjRgtC+0LIuXG4gICAgICovXG4gICAgcHVibGljIGZvcm0gPSBuZXcgRm9ybUdyb3VwPHtcbiAgICAgICAgYmFua05hbWU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBiaWM6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBhY2NvdW50TnVtYmVyOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgY29ycmVzcG9uZGVudEFjY291bnQ6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBjdXJyZW5jeUlkOiBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPjtcbiAgICB9Pih7XG4gICAgICAgIGJhbmtOYW1lOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGJpYzogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg5KSwgc2NCaWNWYWxpZGF0b3JdKSxcbiAgICAgICAgYWNjb3VudE51bWJlcjogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyMCldKSxcbiAgICAgICAgY29ycmVzcG9uZGVudEFjY291bnQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMjApLCBzY0NvcnJlc3BvbmRlbnRBY2NvdW50VmFsaWRhdG9yXSksXG4gICAgICAgIGN1cnJlbmN5SWQ6IG5ldyBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INGE0L7RgNC80YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDRgdC+0LfQtNCw0L3QuNGPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9GR0YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdCQgPSB0aGlzLm9uU3VibWl0LnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm0udmFsdWUpLFxuICAgICAgICBmaWx0ZXIoKHZhbHVlKTogdmFsdWUgaXMgU2NJQmFua0FjY291bnRPbkRhdGFDcmVhdGUgPT4gdGhpcy5mb3JtLnZhbGlkKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udHJhZ2VudFNlcnZpY2UuY3JlYXRlQ29udHJhZ2VudEJhbmtBY2NvdW50JCh0aGlzLmNvbnRleHQuZGF0YS5jb250cmFnZW50SWQsIHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoYmFua0FjY291bnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmNvbXBsZXRlV2l0aChiYW5rQWNjb3VudCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHVpTWFya0NvbnRyb2xBc1RvdWNoZWRBbmRWYWxpZGF0ZSh0aGlzLmZvcm0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBlcnJvcnMsIG1lc3NhZ2UgfSA9IGVycm9yLmVycm9yIGFzIEFwaUVycm9yUmVzcG9uc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3QuaGFzT3duKGVycm9ycywga2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VjdXJpdHkvZGV0ZWN0LW9iamVjdC1pbmplY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmdldChrZXkpPy5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogZXJyb3JzW2tleV0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVycm9ycyAmJiBtZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBbbWVzc2FnZV0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2Yoe30gYXMgU2NJQmFua0FjY291bnQpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+INC90L7QvNC10YDRgyDRgtC10LvQtdGE0L7QvdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMucmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0FkZENvbnRyYWdlbnRCYW5rQWNjb3VudHNGb3JtQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cmFnZW50U2VydmljZSDQodC10YDQstC40YEg0YDQsNCx0L7RgtGLINGBINC60L7QvdGC0YDQsNCz0LXQvdGC0LDQvNC4LlxuICAgICAqIEBwYXJhbSBjb250ZXh0INCa0L7QvdGC0LXQutGB0YIg0LTQuNCw0LvQvtCz0L7QstC+0LPQviDQvtC60L3QsCwg0LIg0LrQvtGC0L7RgNC+0Lwg0L7RgtC60YDRi9GCINC60L7QvNC/0L7QvdC10L3Rgi5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJhZ2VudFNlcnZpY2U6IFNjQ29udHJhZ2VudFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0OiBUdWlEaWFsb2dDb250ZXh0PFNjSUJhbmtBY2NvdW50LCB7IGNvbnRyYWdlbnRJZDogbnVtYmVyIH0+XG4gICAgKSB7fVxufVxuIiwiPGZvcm1cbiAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdC5uZXh0KClcIlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiXG4+XG4gICAgPHNjLW5ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtIFtmb3JtXT1cImZvcm1cIj48L3NjLW5ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGdhcC00XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKClcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnhcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgID5cbiAgICAgICAgICAgINCe0YLQvNC10L3QsFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zYXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0KHQvtGF0YDQsNC90LjRgtGMXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYWRkLWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY29udHJhZ2VudHMvYWRkLWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWRpYWxvZy9zYy1hZGQtY29udHJhZ2VudC1iYW5rLWFjY291bnQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250cmFnZW50cy9hZGQtY29udHJhZ2VudC1iYW5rLWFjY291bnQtZGlhbG9nL3NjLWFkZC1jb250cmFnZW50LWJhbmstYWNjb3VudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkVBQTJFO0FBRTNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFFbkY7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMENBQTBDO0lBZ0VuRDs7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LENBQ1YsQ0FBQztRQUVGOztXQUVHO1FBQ2EsYUFBUSxHQUF3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQVlqRixDQUFDOytHQTFFSywwQ0FBMEMscURBd0V2QyxvQkFBb0I7bUdBeEV2QiwwQ0FBMEMsNkVDdEJ2RCxtMkJBOEJBOzs0RkRSYSwwQ0FBMEM7a0JBTHRELFNBQVM7K0JBQ0ksdUNBQXVDLG1CQUVoQyx1QkFBdUIsQ0FBQyxNQUFNOzswQkEwRTFDLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kICovXG5cbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NDb250cmFnZW50U2VydmljZSwgU2NJQmFua0FjY291bnQsIFNjSUJhbmtBY2NvdW50T25EYXRhQ3JlYXRlLCBTY0lPcGYgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUlzRmFsc3ksIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aURpYWxvZ0NvbnRleHQgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBQT0xZTU9SUEhFVVNfQ09OVEVYVCB9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzaGFyZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcGlFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vYXV0aC9pbnRlcmZhY2VzL2FwaS1lcnJvci1yZXNwb25zZSc7XG5pbXBvcnQgeyBzY0JpY1ZhbGlkYXRvciwgc2NDb3JyZXNwb25kZW50QWNjb3VudFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRhNC+0YDQvNGLINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7Qs9C+INCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9C10YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWFkZC1jb250cmFnZW50LWJhbmstYWNjb3VudC1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1hZGQtY29udHJhZ2VudC1iYW5rLWFjY291bnQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NBZGRDb250cmFnZW50QmFua0FjY291bnRzRGlhbG9nQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQk9GA0YPQv9C/0LAg0YEg0L/QvtC70LXQvCDQsdCw0L3QutC+0LLRgdC60LjRhSDRgNC10LrQstC40LfQuNGC0L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybSA9IG5ldyBGb3JtR3JvdXA8e1xuICAgICAgICBiYW5rTmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIGJpYzogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIGFjY291bnROdW1iZXI6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBjb3JyZXNwb25kZW50QWNjb3VudDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIGN1cnJlbmN5SWQ6IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+O1xuICAgIH0+KHtcbiAgICAgICAgYmFua05hbWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYmljOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDkpLCBzY0JpY1ZhbGlkYXRvcl0pLFxuICAgICAgICBhY2NvdW50TnVtYmVyOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDIwKV0pLFxuICAgICAgICBjb3JyZXNwb25kZW50QWNjb3VudDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyMCksIHNjQ29ycmVzcG9uZGVudEFjY291bnRWYWxpZGF0b3JdKSxcbiAgICAgICAgY3VycmVuY3lJZDogbmV3IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINC+0YLQv9GA0LDQstC60Lgg0YTQvtGA0LzRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgb25TdWJtaXQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINGB0L7Qt9C00LDQvdC40Y8g0LHQsNC90LrQvtCy0YHQutC+0LPQviDRgdGH0ZHRgtCwINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0JCA9IHRoaXMub25TdWJtaXQucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybS52YWx1ZSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBTY0lCYW5rQWNjb3VudE9uRGF0YUNyZWF0ZSA9PiB0aGlzLmZvcm0udmFsaWQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250cmFnZW50U2VydmljZS5jcmVhdGVDb250cmFnZW50QmFua0FjY291bnQkKHRoaXMuY29udGV4dC5kYXRhLmNvbnRyYWdlbnRJZCwgdmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChiYW5rQWNjb3VudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuY29tcGxldGVXaXRoKGJhbmtBY2NvdW50KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0dWlNYXJrQ29udHJvbEFzVG91Y2hlZEFuZFZhbGlkYXRlKHRoaXMuZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ycywgbWVzc2FnZSB9ID0gZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3JSZXNwb25zZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oZXJyb3JzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZ2V0KGtleSk/LnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBlcnJvcnNba2V5XSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZXJyb3JzICYmIG1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IFttZXNzYWdlXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7fSBhcyBTY0lCYW5rQWNjb3VudCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0LPRgNGD0LfQutC4INC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4g0L3QvtC80LXRgNGDINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQWRkQ29udHJhZ2VudEJhbmtBY2NvdW50c0Zvcm1Db21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRyYWdlbnRTZXJ2aWNlINCh0LXRgNCy0LjRgSDRgNCw0LHQvtGC0Ysg0YEg0LrQvtC90YLRgNCw0LPQtdC90YLQsNC80LguXG4gICAgICogQHBhcmFtIGNvbnRleHQg0JrQvtC90YLQtdC60YHRgiDQtNC40LDQu9C+0LPQvtCy0L7Qs9C+INC+0LrQvdCwLCDQsiDQutC+0YLQvtGA0L7QvCDQvtGC0LrRgNGL0YIg0LrQvtC80L/QvtC90LXQvdGCLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb250cmFnZW50U2VydmljZTogU2NDb250cmFnZW50U2VydmljZSxcbiAgICAgICAgQEluamVjdChQT0xZTU9SUEhFVVNfQ09OVEVYVClcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGNvbnRleHQ6IFR1aURpYWxvZ0NvbnRleHQ8U2NJQmFua0FjY291bnQsIHsgY29udHJhZ2VudElkOiBudW1iZXI7IG9wZjogU2NJT3BmIH0+XG4gICAgKSB7fVxufVxuIiwiPGZvcm1cbiAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdC5uZXh0KClcIlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiXG4+XG4gICAgPHNjLW5ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtXG4gICAgICAgIFtvcGZdPVwiJGFueShjb250ZXh0LmRhdGEpLm9wZi5zbHVnXCJcbiAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgLz5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBnYXAtNFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS54XCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQntGC0LzQtdC90LBcbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgICBbbG9hZGluZ109XCIhIShsb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2F2ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgINCh0L7RhdGA0LDQvdC40YLRjFxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==