@taiga-ui/kit 4.51.0-canary.d0d516e → 4.52.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/components/calendar-month/calendar-month.options.d.ts +1 -1
- package/components/files/file/file.options.d.ts +1 -1
- package/components/index.d.ts +1 -0
- package/components/input-chip/input-chip.options.d.ts +1 -1
- package/components/input-color/input-color.options.d.ts +1 -1
- package/components/input-date/input-date.options.d.ts +1 -1
- package/components/input-number/input-number.options.d.ts +1 -1
- package/components/input-phone/input-phone.options.d.ts +1 -1
- package/components/input-time/input-time.options.d.ts +1 -1
- package/components/like/like.options.d.ts +1 -1
- package/components/notification-middle/index.d.ts +3 -0
- package/components/notification-middle/notification-middle.component.d.ts +16 -0
- package/components/notification-middle/notification-middle.directive.d.ts +7 -0
- package/components/notification-middle/notification-middle.service.d.ts +7 -0
- package/components/segmented/segmented.component.d.ts +3 -1
- package/components/textarea/textarea.options.d.ts +1 -1
- package/directives/copy/copy.options.d.ts +1 -1
- package/directives/highlight/highlight.directive.d.ts +3 -1
- package/directives/password/password.options.d.ts +1 -1
- package/directives/tooltip/tooltip.options.d.ts +4 -1
- package/esm2022/components/chip/chip.directive.mjs +2 -2
- package/esm2022/components/confirm/confirm.component.mjs +4 -5
- package/esm2022/components/files/file/file.component.mjs +5 -5
- package/esm2022/components/files/files/files.component.mjs +12 -5
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/components/input-phone-international/input-phone-international.component.mjs +9 -9
- package/esm2022/components/notification-middle/index.mjs +4 -0
- package/esm2022/components/notification-middle/notification-middle.component.mjs +57 -0
- package/esm2022/components/notification-middle/notification-middle.directive.mjs +21 -0
- package/esm2022/components/notification-middle/notification-middle.service.mjs +22 -0
- package/esm2022/components/notification-middle/taiga-ui-kit-components-notification-middle.mjs +5 -0
- package/esm2022/components/rating/rating.component.mjs +3 -4
- package/esm2022/components/tabs/tabs-with-more.component.mjs +8 -6
- package/fesm2022/taiga-ui-kit-components-chip.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-confirm.mjs +3 -4
- package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-files.mjs +14 -6
- package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +8 -8
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +97 -0
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-components-rating.mjs +2 -3
- package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tabs.mjs +7 -5
- package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components.mjs +1 -0
- package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
- package/package.json +16 -10
- package/styles/components/chip.less +6 -0
- package/tokens/input-date-options.d.ts +1 -1
package/esm2022/components/input-phone-international/input-phone-international.component.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NgFor, NgIf } from '@angular/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, inject, Input, Output, signal, TemplateRef, untracked, ViewChild, ViewChildren, } from '@angular/core';
|
|
3
3
|
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { FormsModule } from '@angular/forms';
|
|
@@ -29,11 +29,10 @@ import { TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS } from './input-phone-internation
|
|
|
29
29
|
import * as i0 from "@angular/core";
|
|
30
30
|
import * as i1 from "@taiga-ui/core/directives/group";
|
|
31
31
|
import * as i2 from "@taiga-ui/core/directives/dropdown";
|
|
32
|
-
import * as i3 from "@angular/
|
|
33
|
-
import * as i4 from "@
|
|
34
|
-
import * as i5 from "@taiga-ui/core/components/
|
|
35
|
-
import * as i6 from "@taiga-ui/core/components/
|
|
36
|
-
import * as i7 from "@taiga-ui/core/components/textfield";
|
|
32
|
+
import * as i3 from "@angular/forms";
|
|
33
|
+
import * as i4 from "@taiga-ui/core/components/data-list";
|
|
34
|
+
import * as i5 from "@taiga-ui/core/components/label";
|
|
35
|
+
import * as i6 from "@taiga-ui/core/components/textfield";
|
|
37
36
|
const NOT_FORM_CONTROL_SYMBOLS = /[^+\d]/g;
|
|
38
37
|
/** @deprecated use version from experimental package instead */
|
|
39
38
|
class TuiInputPhoneInternational extends TuiControl {
|
|
@@ -158,15 +157,16 @@ class TuiInputPhoneInternational extends TuiControl {
|
|
|
158
157
|
limitWidth: 'fixed',
|
|
159
158
|
align: 'right',
|
|
160
159
|
}),
|
|
161
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: MaskitoDirective, descendants: true, read: ElementRef }, { propertyName: "filter", first: true, predicate: TuiAutoFocus, descendants: true, read: ElementRef }, { propertyName: "template", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDropdownDirective; }), descendants: true, read: TemplateRef }, { propertyName: "listOptions", predicate: TuiOption, descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiGroup }, { directive: i2.TuiDropdownDirective }, { directive: i2.TuiWithDropdownOpen }], ngImport: i0, template: "<tui-textfield\n class=\"t-select\"\n [content]=\"flag\"\n [tuiChevron]=\"open()\"\n>\n <select\n aria-label=\"Country\"\n ngModel=\"\"\n tuiTextfield\n [attr.data-mode]=\"mode()\"\n [disabled]=\"disabled()\"\n [focused]=\"open()\"\n [ngModelOptions]=\"{standalone: true}\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag\"\n [alt]=\"names()?.[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n</tui-textfield>\n\n<tui-textfield>\n <!--TODO: Replace attribute bindings with inputs after Angular updated and signal bindings properly update-->\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [attr.data-mode]=\"mode()\"\n [attr.readonly]=\"readOnly() || null\"\n [disabled]=\"disabled()\"\n [maskito]=\"mask()\"\n [ngModelOptions]=\"{standalone: true}\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <!--\n TODO: get rid of built-in input and label and just externalize everything in 5.0\n <tui-input-phone-international>\n <label tuiLabel>My label</label>\n <input tuiTextfield placeholder=\"My placeholder\" [(ngModel)]=\"value\" />\n <tui-icon icon=\"@tui.phone\" />\n </tui-input-phone-international>\n -->\n <ng-content select=\"tui-icon, img\" />\n\n <label tuiLabel>\n <ng-content />\n </label>\n</tui-textfield>\n\n<ng-container *tuiTextfieldDropdown>\n <tui-textfield\n *ngIf=\"countrySearch\"\n tuiTextfieldSize=\"m\"\n class=\"t-search\"\n [iconStart]=\"icons.search\"\n >\n <input\n tuiTextfield\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!isIos\"\n (keydown.arrowDown)=\"focusFirstItem()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n\n <tui-data-list (keydown)=\"onKeyDown($event)\">\n <button\n *ngFor=\"let item of filtered()\"\n tuiOption\n type=\"button\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span class=\"t-name\">{{ item.name }}</span>\n <span class=\"t-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: [".t-select{inline-size:5.625rem;flex:none}.t-select[data-size=m]{inline-size:5rem}.t-select[data-size=s]{inline-size:4rem}.t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-name{margin:0 auto 0 .75rem}.t-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}.t-search{position:sticky;top:.375rem;background:var(--tui-background-elevation-3);box-shadow:0 -1rem var(--tui-background-elevation-3);margin:.375rem .375rem 0}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
160
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: MaskitoDirective, descendants: true, read: ElementRef }, { propertyName: "filter", first: true, predicate: TuiAutoFocus, descendants: true, read: ElementRef }, { propertyName: "template", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDropdownDirective; }), descendants: true, read: TemplateRef }, { propertyName: "listOptions", predicate: TuiOption, descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiGroup }, { directive: i2.TuiDropdownDirective }, { directive: i2.TuiWithDropdownOpen }], ngImport: i0, template: "<tui-textfield\n class=\"t-select\"\n [content]=\"flag\"\n [tuiChevron]=\"open()\"\n>\n <select\n aria-label=\"Country\"\n ngModel=\"\"\n tuiTextfield\n [attr.data-mode]=\"mode()\"\n [disabled]=\"disabled()\"\n [focused]=\"open()\"\n [ngModelOptions]=\"{standalone: true}\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag\"\n [alt]=\"names()?.[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n</tui-textfield>\n\n<tui-textfield>\n <!--TODO: Replace attribute bindings with inputs after Angular updated and signal bindings properly update-->\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [attr.data-mode]=\"mode()\"\n [attr.readonly]=\"readOnly() || null\"\n [disabled]=\"disabled()\"\n [maskito]=\"mask()\"\n [ngModelOptions]=\"{standalone: true}\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <!--\n TODO: get rid of built-in input and label and just externalize everything in 5.0\n <tui-input-phone-international>\n <label tuiLabel>My label</label>\n <input tuiTextfield placeholder=\"My placeholder\" [(ngModel)]=\"value\" />\n <tui-icon icon=\"@tui.phone\" />\n </tui-input-phone-international>\n -->\n <ng-content select=\"tui-icon, img\" />\n\n <label tuiLabel>\n <ng-content />\n </label>\n</tui-textfield>\n\n<ng-container *tuiTextfieldDropdown>\n <tui-textfield\n *ngIf=\"countrySearch\"\n tuiTextfieldSize=\"m\"\n class=\"t-search\"\n [iconStart]=\"icons.search\"\n >\n <input\n tuiTextfield\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!isIos\"\n (keydown.arrowDown)=\"focusFirstItem()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n\n <tui-data-list (keydown)=\"onKeyDown($event)\">\n <button\n *ngFor=\"let item of filtered()\"\n tuiOption\n type=\"button\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span class=\"t-name\">{{ item.name }}</span>\n <span class=\"t-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: [".t-select{inline-size:5.625rem;flex:none}.t-select[data-size=m]{inline-size:5rem}.t-select[data-size=s]{inline-size:4rem}.t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-name{margin:0 auto 0 .75rem}.t-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}.t-search{position:sticky;top:.375rem;background:var(--tui-background-elevation-3);box-shadow:0 -1rem var(--tui-background-elevation-3);margin:.375rem .375rem 0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i4.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i4.TuiOption, selector: "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", inputs: ["disabled", "value"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "directive", type: i5.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i6.TuiSelect, selector: "select[tuiTextfield]", inputs: ["placeholder"] }, { kind: "component", type: i6.TuiTextfieldComponent, selector: "tui-textfield:not([multi])" }, { kind: "directive", type: i6.TuiTextfieldDirective, selector: "input[tuiTextfield]:not([tuiInputCard]):not([tuiInputExpire]):not([tuiInputCVC])" }, { kind: "directive", type: i6.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i6.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
162
161
|
}
|
|
163
162
|
export { TuiInputPhoneInternational };
|
|
164
163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPhoneInternational, decorators: [{
|
|
165
164
|
type: Component,
|
|
166
165
|
args: [{ standalone: true, selector: 'tui-input-phone-international', imports: [
|
|
167
|
-
CommonModule,
|
|
168
166
|
FormsModule,
|
|
169
167
|
MaskitoDirective,
|
|
168
|
+
NgFor,
|
|
169
|
+
NgIf,
|
|
170
170
|
TuiAutoFocus,
|
|
171
171
|
TuiChevron,
|
|
172
172
|
TuiDataList,
|
|
@@ -207,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
207
207
|
type: ViewChild,
|
|
208
208
|
args: [forwardRef(() => TuiTextfieldDropdownDirective), { read: TemplateRef }]
|
|
209
209
|
}] } });
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBRSxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUNILCtCQUErQixFQUUvQixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBQywyQkFBMkIsRUFBRSw0QkFBNEIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFDLFNB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c0JBRDNCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkF3Q3BDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSVUsb0JBQW9CO3NCQURuQyxNQUFNO2dCQU1JLGNBQWM7c0JBRHhCLEtBQUs7dUJBQUMsV0FBVztnQkFNUCxPQUFPO3NCQURqQixLQUFLO3VCQUFDLGdCQUFnQjtnQkF3RFQsUUFBUTtzQkFEckIsU0FBUzt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIHR5cGUgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICB1bnRyYWNrZWQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvT2JzZXJ2YWJsZSwgdG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQge1xuICAgIG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4sXG4gICAgdHlwZSBNYXNraXRvT3B0aW9ucyxcbiAgICBtYXNraXRvVHJhbnNmb3JtLFxufSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7bWFza2l0b1JlbW92ZU9uQmx1clBsdWdpbn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7bWFza2l0b0dldENvdW50cnlGcm9tTnVtYmVyLCBtYXNraXRvUGhvbmVPcHRpb25zR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9waG9uZSc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7Q0hBUl9QTFVTLCBUVUlfREVGQVVMVF9NQVRDSEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIFR1aUF1dG9Gb2N1cyxcbiAgICB0dWlBdXRvRm9jdXNPcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzJztcbmltcG9ydCB7VFVJX0lTX0lPUywgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUlzSW5wdXRFdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlEaXJlY3RpdmVCaW5kaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdCwgVHVpT3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUdWlUZXh0ZmllbGQsXG4gICAgVHVpVGV4dGZpZWxkRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgdHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIHR1aURyb3Bkb3duLFxuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICB0dWlEcm9wZG93bk9wZW4sXG4gICAgdHVpRHJvcGRvd25PcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpV2l0aERyb3Bkb3duT3Blbixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUdyb3VwfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2dyb3VwJztcbmltcG9ydCB7VHVpRmxhZ1BpcGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzL2ZsYWcnO1xuaW1wb3J0IHtUVUlfQ09NTU9OX0lDT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc0VkaXRpbmdLZXl9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0eXBlIFR1aUNvdW50cnlJc29Db2RlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi90eXBlcyc7XG5pbXBvcnQge1R1aUNoZXZyb259IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1RVSV9DT1VOVFJJRVMsIFRVSV9JTlRFUk5BVElPTkFMX1NFQVJDSH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXRDYWxsaW5nQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5pbXBvcnQge3R5cGUgUG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3ZhbGlkYXRlUGhvbmVOdW1iZXJMZW5ndGh9IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzJztcbmltcG9ydCB7Z2V0Q291bnRyeUNhbGxpbmdDb2RlLCB0eXBlIE1ldGFkYXRhSnNvbn0gZnJvbSAnbGlicGhvbmVudW1iZXItanMvY29yZSc7XG5pbXBvcnQge2Zyb20sIHNraXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlN9IGZyb20gJy4vaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5vcHRpb25zJztcblxuY29uc3QgTk9UX0ZPUk1fQ09OVFJPTF9TWU1CT0xTID0gL1teK1xcZF0vZztcblxuLyoqIEBkZXByZWNhdGVkIHVzZSB2ZXJzaW9uIGZyb20gZXhwZXJpbWVudGFsIHBhY2thZ2UgaW5zdGVhZCAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgICAgIFR1aUF1dG9Gb2N1cyxcbiAgICAgICAgVHVpQ2hldnJvbixcbiAgICAgICAgVHVpRGF0YUxpc3QsXG4gICAgICAgIFR1aUZsYWdQaXBlLFxuICAgICAgICBUdWlUZXh0ZmllbGQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsKSxcbiAgICAgICAgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKCcnKSxcbiAgICAgICAgdHVpQXV0b0ZvY3VzT3B0aW9uc1Byb3ZpZGVyKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSksXG4gICAgICAgIHR1aVRleHRmaWVsZE9wdGlvbnNQcm92aWRlcih7Y2xlYW5lcjogc2lnbmFsKGZhbHNlKX0pLFxuICAgICAgICB0dWlEcm9wZG93bk9wdGlvbnNQcm92aWRlcih7XG4gICAgICAgICAgICBsaW1pdFdpZHRoOiAnZml4ZWQnLFxuICAgICAgICAgICAgYWxpZ246ICdyaWdodCcsXG4gICAgICAgIH0pLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlHcm91cCwgVHVpRHJvcGRvd25EaXJlY3RpdmUsIFR1aVdpdGhEcm9wZG93bk9wZW5dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZSgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbCBleHRlbmRzIFR1aUNvbnRyb2w8c3RyaW5nPiB7XG4gICAgQFZpZXdDaGlsZChNYXNraXRvRGlyZWN0aXZlLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKFR1aUF1dG9Gb2N1cywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGRyZW4oVHVpT3B0aW9uLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaXN0T3B0aW9ucz86IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj47XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNJb3MgPSBpbmplY3QoVFVJX0lTX0lPUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duID0gdHVpRHJvcGRvd24obnVsbCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpemUgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKS5zaXplO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hbWVzID0gdG9TaWduYWwoaW5qZWN0KFRVSV9DT1VOVFJJRVMpKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWV0YWRhdGEgPSB0b1NpZ25hbChmcm9tKHRoaXMub3B0aW9ucy5tZXRhZGF0YSkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb3VudHJpZXMgPSBzaWduYWwodGhpcy5vcHRpb25zLmNvdW50cmllcyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvdW50cnlJc29Db2RlID0gc2lnbmFsKHRoaXMub3B0aW9ucy5jb3VudHJ5SXNvQ29kZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9DT01NT05fSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsYWJlbCA9IHRvU2lnbmFsKGluamVjdChUVUlfSU5URVJOQVRJT05BTF9TRUFSQ0gpKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VhcmNoID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZXBhcmF0b3IgPSBzaWduYWwodGhpcy5vcHRpb25zLnNlcGFyYXRvcik7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyZWQgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLmNvdW50cmllcygpXG4gICAgICAgICAgICAubWFwKChpc28pID0+ICh7XG4gICAgICAgICAgICAgICAgaXNvLFxuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZXMoKT8uW2lzb10gfHwgJycsXG4gICAgICAgICAgICAgICAgY29kZTogdHVpR2V0Q2FsbGluZ0NvZGUoaXNvLCB0aGlzLm1ldGFkYXRhKCkpLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAuZmlsdGVyKCh7bmFtZSwgY29kZX0pID0+IFRVSV9ERUZBVUxUX01BVENIRVIobmFtZSArIGNvZGUsIHRoaXMuc2VhcmNoKCkpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLmNvbXB1dGVNYXNrKHRoaXMuY291bnRyeUlzb0NvZGUoKSwgdGhpcy5tZXRhZGF0YSgpLCB0aGlzLnNlcGFyYXRvcigpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5ICQgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgICAgICd0dWlEcm9wZG93bkVuYWJsZWQnLFxuICAgICAgICB0aGlzLmludGVyYWN0aXZlLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgdGV4dGZpZWxkVmFsdWUgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvdW50cnlTZWFyY2ggPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBjb3VudHJ5SXNvQ29kZUNoYW5nZSA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvdW50cnlJc29Db2RlKS5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICk7XG5cbiAgICBASW5wdXQoJ2NvdW50cmllcycpXG4gICAgcHVibGljIHNldCBjb3VudHJpZXNWYWx1ZSh2YWx1ZTogcmVhZG9ubHkgVHVpQ291bnRyeUlzb0NvZGVbXSkge1xuICAgICAgICB0aGlzLmNvdW50cmllcy5zZXQodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgnY291bnRyeUlzb0NvZGUnKVxuICAgIHB1YmxpYyBzZXQgaXNvQ29kZShjb2RlOiBUdWlDb3VudHJ5SXNvQ29kZSkge1xuICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlLnNldChjb2RlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXNGaXJzdEl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGlzdE9wdGlvbnM/LmdldCgwKT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblBhc3RlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwaG9uZXNNZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdHVpSXNJbnB1dEV2ZW50KGV2ZW50KSB8fFxuICAgICAgICAgICAgIXBob25lc01ldGFkYXRhIHx8XG4gICAgICAgICAgICAoIWV2ZW50LmlucHV0VHlwZS5pbmNsdWRlcygnRHJvcCcpICYmICFldmVudC5pbnB1dFR5cGUuaW5jbHVkZXMoJ1Bhc3RlJykpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBldmVudC5kYXRhIHx8ICcnO1xuICAgICAgICBjb25zdCBwcmVmaXhlZFZhbHVlID0gbmV3VmFsdWUuc3RhcnRzV2l0aChDSEFSX1BMVVMpXG4gICAgICAgICAgICA/IG5ld1ZhbHVlXG4gICAgICAgICAgICA6IENIQVJfUExVUyArIG5ld1ZhbHVlO1xuXG4gICAgICAgIGlmICh2YWxpZGF0ZVBob25lTnVtYmVyTGVuZ3RoKHByZWZpeGVkVmFsdWUpID09PSAnVE9PX1NIT1JUJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY291bnRyeUlzb0NvZGUgPSBtYXNraXRvR2V0Q291bnRyeUZyb21OdW1iZXIocHJlZml4ZWRWYWx1ZSwgcGhvbmVzTWV0YWRhdGEpO1xuXG4gICAgICAgIGlmIChjb3VudHJ5SXNvQ29kZSkge1xuICAgICAgICAgICAgdGhpcy5jb3VudHJ5SXNvQ29kZS5zZXQoY291bnRyeUlzb0NvZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbUNsaWNrKGlzb0NvZGU6IFR1aUNvdW50cnlJc29Db2RlKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlLnNldChpc29Db2RlKTtcbiAgICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHVubWFza2VkVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHVubWFza2VkVmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IG1hc2sgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5tYXNrKCkpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLnZhbHVlKCkpO1xuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkVmFsdWUgPSBtYXNrXG4gICAgICAgICAgICA/IG1hc2tpdG9UcmFuc2Zvcm0odmFsdWUsIG1hc2spXG4gICAgICAgICAgICA6IC8vIGl0IHdpbGwgYmUgY2FsaWJyYXRlZCBsYXRlciB3aGVuIG1hc2sgaXMgcmVhZHkgKGJ5IG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4pXG4gICAgICAgICAgICAgIHZhbHVlO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZChmb3J3YXJkUmVmKCgpID0+IFR1aVRleHRmaWVsZERyb3Bkb3duRGlyZWN0aXZlKSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICBwcm90ZWN0ZWQgc2V0IHRlbXBsYXRlKHRlbXBsYXRlOiBQb2x5bW9ycGhldXNDb250ZW50KSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uc2V0KHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGhvbmVNZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoKTtcblxuICAgICAgICBpZiAoIXRoaXMudGV4dGZpZWxkVmFsdWUgJiYgcGhvbmVNZXRhZGF0YSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGRWYWx1ZSA9IGAke0NIQVJfUExVUyArIGdldENvdW50cnlDYWxsaW5nQ29kZSh0aGlzLmNvdW50cnlJc29Db2RlKCksIHBob25lTWV0YWRhdGEpfSBgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVmFsdWVDaGFuZ2UobWFza2VkVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCB1bm1hc2tlZFZhbHVlID0gbWFza2VkVmFsdWUucmVwbGFjZUFsbChOT1RfRk9STV9DT05UUk9MX1NZTUJPTFMsICcnKTtcbiAgICAgICAgY29uc3QgcGhvbmVzTWV0YWRhdGEgPSB0aGlzLm1ldGFkYXRhKCk7XG4gICAgICAgIGNvbnN0IGNvdW50cnlDYWxsaW5nQ29kZSA9IHBob25lc01ldGFkYXRhXG4gICAgICAgICAgICA/IENIQVJfUExVUyArIGdldENvdW50cnlDYWxsaW5nQ29kZSh0aGlzLmNvdW50cnlJc29Db2RlKCksIHBob25lc01ldGFkYXRhKVxuICAgICAgICAgICAgOiAnJztcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHVubWFza2VkVmFsdWUgPT09IGNvdW50cnlDYWxsaW5nQ29kZSA/ICcnIDogdW5tYXNrZWRWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uS2V5RG93bih7a2V5fTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodHVpSXNFZGl0aW5nS2V5KGtleSkpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyPy5uYXRpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVNYXNrKFxuICAgICAgICBjb3VudHJ5SXNvQ29kZTogVHVpQ291bnRyeUlzb0NvZGUsXG4gICAgICAgIG1ldGFkYXRhPzogTWV0YWRhdGFKc29uLFxuICAgICAgICBzZXBhcmF0b3I/OiBzdHJpbmcsXG4gICAgKTogTWFza2l0b09wdGlvbnMgfCBudWxsIHtcbiAgICAgICAgaWYgKCFtZXRhZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7cGx1Z2lucywgLi4ucmVzdE9wdGlvbnN9ID0gbWFza2l0b1Bob25lT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICBjb3VudHJ5SXNvQ29kZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICAgICAgc2VwYXJhdG9yLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucmVzdE9wdGlvbnMsXG4gICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgLi4ucGx1Z2lucyxcbiAgICAgICAgICAgICAgICBtYXNraXRvUmVtb3ZlT25CbHVyUGx1Z2luKFxuICAgICAgICAgICAgICAgICAgICBgJHtDSEFSX1BMVVN9JHtnZXRDb3VudHJ5Q2FsbGluZ0NvZGUoY291bnRyeUlzb0NvZGUsIG1ldGFkYXRhKX0gYCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4oKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHR1aS10ZXh0ZmllbGRcbiAgICBjbGFzcz1cInQtc2VsZWN0XCJcbiAgICBbY29udGVudF09XCJmbGFnXCJcbiAgICBbdHVpQ2hldnJvbl09XCJvcGVuKClcIlxuPlxuICAgIDxzZWxlY3RcbiAgICAgICAgYXJpYS1sYWJlbD1cIkNvdW50cnlcIlxuICAgICAgICBuZ01vZGVsPVwiXCJcbiAgICAgICAgdHVpVGV4dGZpZWxkXG4gICAgICAgIFthdHRyLmRhdGEtbW9kZV09XCJtb2RlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFtmb2N1c2VkXT1cIm9wZW4oKVwiXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgID48L3NlbGVjdD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZmxhZz5cbiAgICAgICAgPGltZ1xuICAgICAgICAgICAgY2xhc3M9XCJ0LWZsYWdcIlxuICAgICAgICAgICAgW2FsdF09XCJuYW1lcygpPy5bY291bnRyeUlzb0NvZGUoKV1cIlxuICAgICAgICAgICAgW3NyY109XCJjb3VudHJ5SXNvQ29kZSgpIHwgdHVpRmxhZ1wiXG4gICAgICAgIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvdHVpLXRleHRmaWVsZD5cblxuPHR1aS10ZXh0ZmllbGQ+XG4gICAgPCEtLVRPRE86IFJlcGxhY2UgYXR0cmlidXRlIGJpbmRpbmdzIHdpdGggaW5wdXRzIGFmdGVyIEFuZ3VsYXIgdXBkYXRlZCBhbmQgc2lnbmFsIGJpbmRpbmdzIHByb3Blcmx5IHVwZGF0ZS0tPlxuICAgIDxpbnB1dFxuICAgICAgICBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxuICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgW2F0dHIuZGF0YS1tb2RlXT1cIm1vZGUoKVwiXG4gICAgICAgIFthdHRyLnJlYWRvbmx5XT1cInJlYWRPbmx5KCkgfHwgbnVsbFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgW21hc2tpdG9dPVwibWFzaygpXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwidGV4dGZpZWxkVmFsdWVcIlxuICAgICAgICAoYmVmb3JlaW5wdXQuY2FwdHVyZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgIChmb2N1cyk9XCIhcmVhZE9ubHkoKSAmJiBvbkZvY3VzKClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIC8+XG5cbiAgICA8IS0tXG4gICAgVE9ETzogZ2V0IHJpZCBvZiBidWlsdC1pbiBpbnB1dCBhbmQgbGFiZWwgYW5kIGp1c3QgZXh0ZXJuYWxpemUgZXZlcnl0aGluZyBpbiA1LjBcbiAgICA8dHVpLWlucHV0LXBob25lLWludGVybmF0aW9uYWw+XG4gICAgICA8bGFiZWwgdHVpTGFiZWw+TXkgbGFiZWw8L2xhYmVsPlxuICAgICAgPGlucHV0IHR1aVRleHRmaWVsZCBwbGFjZWhvbGRlcj1cIk15IHBsYWNlaG9sZGVyXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIC8+XG4gICAgICA8dHVpLWljb24gaWNvbj1cIkB0dWkucGhvbmVcIiAvPlxuICAgIDwvdHVpLWlucHV0LXBob25lLWludGVybmF0aW9uYWw+XG4gICAgLS0+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpLWljb24sIGltZ1wiIC8+XG5cbiAgICA8bGFiZWwgdHVpTGFiZWw+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgPC9sYWJlbD5cbjwvdHVpLXRleHRmaWVsZD5cblxuPG5nLWNvbnRhaW5lciAqdHVpVGV4dGZpZWxkRHJvcGRvd24+XG4gICAgPHR1aS10ZXh0ZmllbGRcbiAgICAgICAgKm5nSWY9XCJjb3VudHJ5U2VhcmNoXCJcbiAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICBjbGFzcz1cInQtc2VhcmNoXCJcbiAgICAgICAgW2ljb25TdGFydF09XCJpY29ucy5zZWFyY2hcIlxuICAgID5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgICAgIFtmb2N1c2VkXT1cInRydWVcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoKClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsKClcIlxuICAgICAgICAgICAgW3R1aUF1dG9Gb2N1c109XCIhaXNJb3NcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dEb3duKT1cImZvY3VzRmlyc3RJdGVtKClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoLnNldCgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L3R1aS10ZXh0ZmllbGQ+XG5cbiAgICA8dHVpLWRhdGEtbGlzdCAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZCgpXCJcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbS5pc28pXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWZsYWdcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5pc28gfCB0dWlGbGFnXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInQtbmFtZVwiPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidC1jb2RlXCI+e3sgaXRlbS5jb2RlIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3R1aS1kYXRhLWxpc3Q+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFDSCwrQkFBK0IsRUFFL0IsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9B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QUFJLEVBQUUsVUFBVSxFQUFDO2dCQUkxQixXQUFXO3NCQUQzQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBd0NwQyxhQUFhO3NCQURuQixLQUFLO2dCQUlVLG9CQUFvQjtzQkFEbkMsTUFBTTtnQkFNSSxjQUFjO3NCQUR4QixLQUFLO3VCQUFDLFdBQVc7Z0JBTVAsT0FBTztzQkFEakIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBd0RULFFBQVE7c0JBRHJCLFNBQVM7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0ZvciwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIHR5cGUgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICB1bnRyYWNrZWQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvT2JzZXJ2YWJsZSwgdG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQge1xuICAgIG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4sXG4gICAgdHlwZSBNYXNraXRvT3B0aW9ucyxcbiAgICBtYXNraXRvVHJhbnNmb3JtLFxufSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7bWFza2l0b1JlbW92ZU9uQmx1clBsdWdpbn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7bWFza2l0b0dldENvdW50cnlGcm9tTnVtYmVyLCBtYXNraXRvUGhvbmVPcHRpb25zR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9waG9uZSc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7Q0hBUl9QTFVTLCBUVUlfREVGQVVMVF9NQVRDSEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIFR1aUF1dG9Gb2N1cyxcbiAgICB0dWlBdXRvRm9jdXNPcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzJztcbmltcG9ydCB7VFVJX0lTX0lPUywgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUlzSW5wdXRFdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlEaXJlY3RpdmVCaW5kaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdCwgVHVpT3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUdWlUZXh0ZmllbGQsXG4gICAgVHVpVGV4dGZpZWxkRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgdHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIHR1aURyb3Bkb3duLFxuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICB0dWlEcm9wZG93bk9wZW4sXG4gICAgdHVpRHJvcGRvd25PcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpV2l0aERyb3Bkb3duT3Blbixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUdyb3VwfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2dyb3VwJztcbmltcG9ydCB7VHVpRmxhZ1BpcGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzL2ZsYWcnO1xuaW1wb3J0IHtUVUlfQ09NTU9OX0lDT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc0VkaXRpbmdLZXl9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0eXBlIFR1aUNvdW50cnlJc29Db2RlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi90eXBlcyc7XG5pbXBvcnQge1R1aUNoZXZyb259IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1RVSV9DT1VOVFJJRVMsIFRVSV9JTlRFUk5BVElPTkFMX1NFQVJDSH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXRDYWxsaW5nQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5pbXBvcnQge3R5cGUgUG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3ZhbGlkYXRlUGhvbmVOdW1iZXJMZW5ndGh9IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzJztcbmltcG9ydCB7Z2V0Q291bnRyeUNhbGxpbmdDb2RlLCB0eXBlIE1ldGFkYXRhSnNvbn0gZnJvbSAnbGlicGhvbmVudW1iZXItanMvY29yZSc7XG5pbXBvcnQge2Zyb20sIHNraXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlN9IGZyb20gJy4vaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5vcHRpb25zJztcblxuY29uc3QgTk9UX0ZPUk1fQ09OVFJPTF9TWU1CT0xTID0gL1teK1xcZF0vZztcblxuLyoqIEBkZXByZWNhdGVkIHVzZSB2ZXJzaW9uIGZyb20gZXhwZXJpbWVudGFsIHBhY2thZ2UgaW5zdGVhZCAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBNYXNraXRvRGlyZWN0aXZlLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdJZixcbiAgICAgICAgVHVpQXV0b0ZvY3VzLFxuICAgICAgICBUdWlDaGV2cm9uLFxuICAgICAgICBUdWlEYXRhTGlzdCxcbiAgICAgICAgVHVpRmxhZ1BpcGUsXG4gICAgICAgIFR1aVRleHRmaWVsZCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWwpLFxuICAgICAgICB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoJycpLFxuICAgICAgICB0dWlBdXRvRm9jdXNPcHRpb25zUHJvdmlkZXIoe3ByZXZlbnRTY3JvbGw6IHRydWV9KSxcbiAgICAgICAgdHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyKHtjbGVhbmVyOiBzaWduYWwoZmFsc2UpfSksXG4gICAgICAgIHR1aURyb3Bkb3duT3B0aW9uc1Byb3ZpZGVyKHtcbiAgICAgICAgICAgIGxpbWl0V2lkdGg6ICdmaXhlZCcsXG4gICAgICAgICAgICBhbGlnbjogJ3JpZ2h0JyxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUdyb3VwLCBUdWlEcm9wZG93bkRpcmVjdGl2ZSwgVHVpV2l0aERyb3Bkb3duT3Blbl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsIGV4dGVuZHMgVHVpQ29udHJvbDxzdHJpbmc+IHtcbiAgICBAVmlld0NoaWxkKE1hc2tpdG9EaXJlY3RpdmUsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpQXV0b0ZvY3VzLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXI/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZHJlbihUdWlPcHRpb24sIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RPcHRpb25zPzogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lvcyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd24gPSB0dWlEcm9wZG93bihudWxsKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2l6ZSA9IGluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpLnNpemU7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW4gPSB0dWlEcm9wZG93bk9wZW4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmFtZXMgPSB0b1NpZ25hbChpbmplY3QoVFVJX0NPVU5UUklFUykpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBtZXRhZGF0YSA9IHRvU2lnbmFsKGZyb20odGhpcy5vcHRpb25zLm1ldGFkYXRhKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvdW50cmllcyA9IHNpZ25hbCh0aGlzLm9wdGlvbnMuY291bnRyaWVzKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY291bnRyeUlzb0NvZGUgPSBzaWduYWwodGhpcy5vcHRpb25zLmNvdW50cnlJc29Db2RlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhYmVsID0gdG9TaWduYWwoaW5qZWN0KFRVSV9JTlRFUk5BVElPTkFMX1NFQVJDSCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWFyY2ggPSBzaWduYWw8c3RyaW5nPignJyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcGFyYXRvciA9IHNpZ25hbCh0aGlzLm9wdGlvbnMuc2VwYXJhdG9yKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJlZCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY291bnRyaWVzKClcbiAgICAgICAgICAgIC5tYXAoKGlzbykgPT4gKHtcbiAgICAgICAgICAgICAgICBpc28sXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lcygpPy5baXNvXSB8fCAnJyxcbiAgICAgICAgICAgICAgICBjb2RlOiB0dWlHZXRDYWxsaW5nQ29kZShpc28sIHRoaXMubWV0YWRhdGEoKSksXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHtuYW1lLCBjb2RlfSkgPT4gVFVJX0RFRkFVTFRfTUFUQ0hFUihuYW1lICsgY29kZSwgdGhpcy5zZWFyY2goKSkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY29tcHV0ZU1hc2sodGhpcy5jb3VudHJ5SXNvQ29kZSgpLCB0aGlzLm1ldGFkYXRhKCksIHRoaXMuc2VwYXJhdG9yKCkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgJCA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICAgICAgJ3R1aURyb3Bkb3duRW5hYmxlZCcsXG4gICAgICAgIHRoaXMuaW50ZXJhY3RpdmUsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCB0ZXh0ZmllbGRWYWx1ZSA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY291bnRyeVNlYXJjaCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNvdW50cnlJc29Db2RlQ2hhbmdlID0gdG9PYnNlcnZhYmxlKHRoaXMuY291bnRyeUlzb0NvZGUpLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgKTtcblxuICAgIEBJbnB1dCgnY291bnRyaWVzJylcbiAgICBwdWJsaWMgc2V0IGNvdW50cmllc1ZhbHVlKHZhbHVlOiByZWFkb25seSBUdWlDb3VudHJ5SXNvQ29kZVtdKSB7XG4gICAgICAgIHRoaXMuY291bnRyaWVzLnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb3VudHJ5SXNvQ29kZScpXG4gICAgcHVibGljIHNldCBpc29Db2RlKGNvZGU6IFR1aUNvdW50cnlJc29Db2RlKSB7XG4gICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGUuc2V0KGNvZGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c0ZpcnN0SXRlbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0T3B0aW9ucz8uZ2V0KDApPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUGFzdGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBob25lc01ldGFkYXRhID0gdGhpcy5tZXRhZGF0YSgpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0dWlJc0lucHV0RXZlbnQoZXZlbnQpIHx8XG4gICAgICAgICAgICAhcGhvbmVzTWV0YWRhdGEgfHxcbiAgICAgICAgICAgICghZXZlbnQuaW5wdXRUeXBlLmluY2x1ZGVzKCdEcm9wJykgJiYgIWV2ZW50LmlucHV0VHlwZS5pbmNsdWRlcygnUGFzdGUnKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGV2ZW50LmRhdGEgfHwgJyc7XG4gICAgICAgIGNvbnN0IHByZWZpeGVkVmFsdWUgPSBuZXdWYWx1ZS5zdGFydHNXaXRoKENIQVJfUExVUylcbiAgICAgICAgICAgID8gbmV3VmFsdWVcbiAgICAgICAgICAgIDogQ0hBUl9QTFVTICsgbmV3VmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbGlkYXRlUGhvbmVOdW1iZXJMZW5ndGgocHJlZml4ZWRWYWx1ZSkgPT09ICdUT09fU0hPUlQnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb3VudHJ5SXNvQ29kZSA9IG1hc2tpdG9HZXRDb3VudHJ5RnJvbU51bWJlcihwcmVmaXhlZFZhbHVlLCBwaG9uZXNNZXRhZGF0YSk7XG5cbiAgICAgICAgaWYgKGNvdW50cnlJc29Db2RlKSB7XG4gICAgICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlLnNldChjb3VudHJ5SXNvQ29kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtQ2xpY2soaXNvQ29kZTogVHVpQ291bnRyeUlzb0NvZGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGUuc2V0KGlzb0NvZGUpO1xuICAgICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodW5tYXNrZWRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodW5tYXNrZWRWYWx1ZSk7XG5cbiAgICAgICAgY29uc3QgbWFzayA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLm1hc2soKSk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdW50cmFja2VkKCgpID0+IHRoaXMudmFsdWUoKSk7XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGRWYWx1ZSA9IG1hc2tcbiAgICAgICAgICAgID8gbWFza2l0b1RyYW5zZm9ybSh2YWx1ZSwgbWFzaylcbiAgICAgICAgICAgIDogLy8gaXQgd2lsbCBiZSBjYWxpYnJhdGVkIGxhdGVyIHdoZW4gbWFzayBpcyByZWFkeSAoYnkgbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbilcbiAgICAgICAgICAgICAgdmFsdWU7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkRHJvcGRvd25EaXJlY3RpdmUpLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHByb3RlY3RlZCBzZXQgdGVtcGxhdGUodGVtcGxhdGU6IFBvbHltb3JwaGV1c0NvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5zZXQodGVtcGxhdGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwaG9uZU1ldGFkYXRhID0gdGhpcy5tZXRhZGF0YSgpO1xuXG4gICAgICAgIGlmICghdGhpcy50ZXh0ZmllbGRWYWx1ZSAmJiBwaG9uZU1ldGFkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZFZhbHVlID0gYCR7Q0hBUl9QTFVTICsgZ2V0Q291bnRyeUNhbGxpbmdDb2RlKHRoaXMuY291bnRyeUlzb0NvZGUoKSwgcGhvbmVNZXRhZGF0YSl9IGA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25WYWx1ZUNoYW5nZShtYXNrZWRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVubWFza2VkVmFsdWUgPSBtYXNrZWRWYWx1ZS5yZXBsYWNlQWxsKE5PVF9GT1JNX0NPTlRST0xfU1lNQk9MUywgJycpO1xuICAgICAgICBjb25zdCBwaG9uZXNNZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoKTtcbiAgICAgICAgY29uc3QgY291bnRyeUNhbGxpbmdDb2RlID0gcGhvbmVzTWV0YWRhdGFcbiAgICAgICAgICAgID8gQ0hBUl9QTFVTICsgZ2V0Q291bnRyeUNhbGxpbmdDb2RlKHRoaXMuY291bnRyeUlzb0NvZGUoKSwgcGhvbmVzTWV0YWRhdGEpXG4gICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2UodW5tYXNrZWRWYWx1ZSA9PT0gY291bnRyeUNhbGxpbmdDb2RlID8gJycgOiB1bm1hc2tlZFZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25LZXlEb3duKHtrZXl9OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlJc0VkaXRpbmdLZXkoa2V5KSkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXI/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29tcHV0ZU1hc2soXG4gICAgICAgIGNvdW50cnlJc29Db2RlOiBUdWlDb3VudHJ5SXNvQ29kZSxcbiAgICAgICAgbWV0YWRhdGE/OiBNZXRhZGF0YUpzb24sXG4gICAgICAgIHNlcGFyYXRvcj86IHN0cmluZyxcbiAgICApOiBNYXNraXRvT3B0aW9ucyB8IG51bGwge1xuICAgICAgICBpZiAoIW1ldGFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtwbHVnaW5zLCAuLi5yZXN0T3B0aW9uc30gPSBtYXNraXRvUGhvbmVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgIGNvdW50cnlJc29Db2RlLFxuICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICBzZXBhcmF0b3IsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAgICAgICAgIG1hc2tpdG9SZW1vdmVPbkJsdXJQbHVnaW4oXG4gICAgICAgICAgICAgICAgICAgIGAke0NIQVJfUExVU30ke2dldENvdW50cnlDYWxsaW5nQ29kZShjb3VudHJ5SXNvQ29kZSwgbWV0YWRhdGEpfSBgLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbigpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8dHVpLXRleHRmaWVsZFxuICAgIGNsYXNzPVwidC1zZWxlY3RcIlxuICAgIFtjb250ZW50XT1cImZsYWdcIlxuICAgIFt0dWlDaGV2cm9uXT1cIm9wZW4oKVwiXG4+XG4gICAgPHNlbGVjdFxuICAgICAgICBhcmlhLWxhYmVsPVwiQ291bnRyeVwiXG4gICAgICAgIG5nTW9kZWw9XCJcIlxuICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgW2F0dHIuZGF0YS1tb2RlXT1cIm1vZGUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgW2ZvY3VzZWRdPVwib3BlbigpXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgPjwvc2VsZWN0PlxuXG4gICAgPG5nLXRlbXBsYXRlICNmbGFnPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgICBjbGFzcz1cInQtZmxhZ1wiXG4gICAgICAgICAgICBbYWx0XT1cIm5hbWVzKCk/Lltjb3VudHJ5SXNvQ29kZSgpXVwiXG4gICAgICAgICAgICBbc3JjXT1cImNvdW50cnlJc29Db2RlKCkgfCB0dWlGbGFnXCJcbiAgICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktdGV4dGZpZWxkPlxuXG48dHVpLXRleHRmaWVsZD5cbiAgICA8IS0tVE9ETzogUmVwbGFjZSBhdHRyaWJ1dGUgYmluZGluZ3Mgd2l0aCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVkIGFuZCBzaWduYWwgYmluZGluZ3MgcHJvcGVybHkgdXBkYXRlLS0+XG4gICAgPGlucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICBbYXR0ci5kYXRhLW1vZGVdPVwibW9kZSgpXCJcbiAgICAgICAgW2F0dHIucmVhZG9ubHldPVwicmVhZE9ubHkoKSB8fCBudWxsXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBbbWFza2l0b109XCJtYXNrKClcIlxuICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0ZXh0ZmllbGRWYWx1ZVwiXG4gICAgICAgIChiZWZvcmVpbnB1dC5jYXB0dXJlKT1cIm9uUGFzdGUoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgKGZvY3VzKT1cIiFyZWFkT25seSgpICYmIG9uRm9jdXMoKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDwhLS1cbiAgICBUT0RPOiBnZXQgcmlkIG9mIGJ1aWx0LWluIGlucHV0IGFuZCBsYWJlbCBhbmQganVzdCBleHRlcm5hbGl6ZSBldmVyeXRoaW5nIGluIDUuMFxuICAgIDx0dWktaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbD5cbiAgICAgIDxsYWJlbCB0dWlMYWJlbD5NeSBsYWJlbDwvbGFiZWw+XG4gICAgICA8aW5wdXQgdHVpVGV4dGZpZWxkIHBsYWNlaG9sZGVyPVwiTXkgcGxhY2Vob2xkZXJcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgLz5cbiAgICAgIDx0dWktaWNvbiBpY29uPVwiQHR1aS5waG9uZVwiIC8+XG4gICAgPC90dWktaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbD5cbiAgICAtLT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWktaWNvbiwgaW1nXCIgLz5cblxuICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2xhYmVsPlxuPC90dWktdGV4dGZpZWxkPlxuXG48bmctY29udGFpbmVyICp0dWlUZXh0ZmllbGREcm9wZG93bj5cbiAgICA8dHVpLXRleHRmaWVsZFxuICAgICAgICAqbmdJZj1cImNvdW50cnlTZWFyY2hcIlxuICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgIGNsYXNzPVwidC1zZWFyY2hcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLnNlYXJjaFwiXG4gICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICAgICAgW2ZvY3VzZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2goKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWwoKVwiXG4gICAgICAgICAgICBbdHVpQXV0b0ZvY3VzXT1cIiFpc0lvc1wiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24pPVwiZm9jdXNGaXJzdEl0ZW0oKVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2guc2V0KCRldmVudClcIlxuICAgICAgICAvPlxuICAgIDwvdHVpLXRleHRmaWVsZD5cblxuICAgIDx0dWktZGF0YS1saXN0IChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkKClcIlxuICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtLmlzbylcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZmxhZ1wiXG4gICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmlzbyB8IHR1aUZsYWdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidC1uYW1lXCI+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWNvZGVcIj57eyBpdGVtLmNvZGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvdHVpLWRhdGEtbGlzdD5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './notification-middle.component';
|
|
2
|
+
export * from './notification-middle.directive';
|
|
3
|
+
export * from './notification-middle.service';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9ub3RpZmljYXRpb24tbWlkZGxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24tbWlkZGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi1taWRkbGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uLW1pZGRsZS5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, isSignal } from '@angular/core';
|
|
2
|
+
import { WaResizeObserver } from '@ng-web-apis/resize-observer';
|
|
3
|
+
import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
|
|
4
|
+
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
5
|
+
import { TuiLoader, tuiLoaderOptionsProvider } from '@taiga-ui/core/components/loader';
|
|
6
|
+
import { tuiAvatarOptionsProvider } from '@taiga-ui/kit/components/avatar';
|
|
7
|
+
import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@taiga-ui/cdk/directives/animated";
|
|
10
|
+
import * as i2 from "@ng-web-apis/resize-observer";
|
|
11
|
+
class TuiNotificationMiddleComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.el = tuiInjectElement();
|
|
14
|
+
this.context = injectContext();
|
|
15
|
+
}
|
|
16
|
+
onClick(target) {
|
|
17
|
+
if (this.closable && !this.el.contains(target)) {
|
|
18
|
+
this.context.$implicit.complete();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
get closable() {
|
|
22
|
+
return isSignal(this.context.closable)
|
|
23
|
+
? this.context.closable()
|
|
24
|
+
: this.context.closable;
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotificationMiddleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNotificationMiddleComponent, isStandalone: true, selector: "tui-notification-middle", host: { listeners: { "document:click.capture": "onClick($event.target)", "document:keydown.esc": "onClick($event.currentTarget)", "waResizeObserver": "el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")" } }, providers: [
|
|
28
|
+
tuiLoaderOptionsProvider({ size: 'l' }),
|
|
29
|
+
tuiAvatarOptionsProvider({ size: 'm' }),
|
|
30
|
+
], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.WaResizeObserver, outputs: ["waResizeObserver", "waResizeObserver"] }], ngImport: i0, template: `
|
|
31
|
+
<tui-loader class="t-loader" />
|
|
32
|
+
<ng-container *polymorpheusOutlet="context.content as text">
|
|
33
|
+
{{ text }}
|
|
34
|
+
</ng-container>
|
|
35
|
+
`, isInline: true, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-font-text-m);--tui-scale: .5}:host:before{inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>tui-avatar,:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
|
+
}
|
|
37
|
+
export { TuiNotificationMiddleComponent };
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotificationMiddleComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ standalone: true, selector: 'tui-notification-middle', imports: [PolymorpheusOutlet, TuiLoader], template: `
|
|
41
|
+
<tui-loader class="t-loader" />
|
|
42
|
+
<ng-container *polymorpheusOutlet="context.content as text">
|
|
43
|
+
{{ text }}
|
|
44
|
+
</ng-container>
|
|
45
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
46
|
+
tuiLoaderOptionsProvider({ size: 'l' }),
|
|
47
|
+
tuiAvatarOptionsProvider({ size: 'm' }),
|
|
48
|
+
], hostDirectives: [
|
|
49
|
+
TuiAnimated,
|
|
50
|
+
{ directive: WaResizeObserver, outputs: ['waResizeObserver'] },
|
|
51
|
+
], host: {
|
|
52
|
+
'(document:click.capture)': 'onClick($event.target)',
|
|
53
|
+
'(document:keydown.esc)': 'onClick($event.currentTarget)',
|
|
54
|
+
'(waResizeObserver)': 'el.style.setProperty("--t-width", el.clientWidth + "px")',
|
|
55
|
+
}, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-font-text-m);--tui-scale: .5}:host:before{inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>tui-avatar,:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"] }]
|
|
56
|
+
}] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLW1pZGRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9ub3RpZmljYXRpb24tbWlkZGxlL25vdGlmaWNhdGlvbi1taWRkbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7O0FBTXpFLE1BMEJhLDhCQUE4QjtJQTFCM0M7UUEyQnVCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLFlBQU8sR0FDdEIsYUFBYSxFQUFrRCxDQUFDO0tBYXZFO0lBWGEsT0FBTyxDQUFDLE1BQW1CO1FBQ2pDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUVELElBQVksUUFBUTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7K0dBZlEsOEJBQThCO21HQUE5Qiw4QkFBOEIsZ1NBZDVCO1lBQ1Asd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFDLENBQUM7WUFDckMsd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFDLENBQUM7U0FDeEMsa0tBWFM7Ozs7O0tBS1QsaTNDQU5TLGtCQUFrQiw4SEFBRSxTQUFTOztTQXVCOUIsOEJBQThCOzRGQUE5Qiw4QkFBOEI7a0JBMUIxQyxTQUFTO2lDQUNNLElBQUksWUFDTix5QkFBeUIsV0FDMUIsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsWUFDOUI7Ozs7O0tBS1QsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Asd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFDLENBQUM7d0JBQ3JDLHdCQUF3QixDQUFDLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxDQUFDO3FCQUN4QyxrQkFDZTt3QkFDWixXQUFXO3dCQUNYLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUM7cUJBQy9ELFFBQ0s7d0JBQ0YsMEJBQTBCLEVBQUUsd0JBQXdCO3dCQUNwRCx3QkFBd0IsRUFBRSwrQkFBK0I7d0JBQ3pELG9CQUFvQixFQUFFLDBEQUEwRDtxQkFDbkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlzU2lnbmFsLCB0eXBlIFNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dhUmVzaXplT2JzZXJ2ZXJ9IGZyb20gJ0BuZy13ZWItYXBpcy9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHtUdWlBbmltYXRlZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FuaW1hdGVkJztcbmltcG9ydCB7dHlwZSBUdWlQb3BvdmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3NlcnZpY2VzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtUdWlMb2FkZXIsIHR1aUxvYWRlck9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9sb2FkZXInO1xuaW1wb3J0IHt0dWlBdmF0YXJPcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0LCBQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aU5vdGlmaWNhdGlvbk1pZGRsZU9wdGlvbnMge1xuICAgIGNsb3NhYmxlOiBTaWduYWw8Ym9vbGVhbj4gfCBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLW5vdGlmaWNhdGlvbi1taWRkbGUnLFxuICAgIGltcG9ydHM6IFtQb2x5bW9ycGhldXNPdXRsZXQsIFR1aUxvYWRlcl0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPHR1aS1sb2FkZXIgY2xhc3M9XCJ0LWxvYWRlclwiIC8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRleHQuY29udGVudCBhcyB0ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLW1pZGRsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUxvYWRlck9wdGlvbnNQcm92aWRlcih7c2l6ZTogJ2wnfSksXG4gICAgICAgIHR1aUF2YXRhck9wdGlvbnNQcm92aWRlcih7c2l6ZTogJ20nfSksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICBUdWlBbmltYXRlZCxcbiAgICAgICAge2RpcmVjdGl2ZTogV2FSZXNpemVPYnNlcnZlciwgb3V0cHV0czogWyd3YVJlc2l6ZU9ic2VydmVyJ119LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGRvY3VtZW50OmNsaWNrLmNhcHR1cmUpJzogJ29uQ2xpY2soJGV2ZW50LnRhcmdldCknLFxuICAgICAgICAnKGRvY3VtZW50OmtleWRvd24uZXNjKSc6ICdvbkNsaWNrKCRldmVudC5jdXJyZW50VGFyZ2V0KScsXG4gICAgICAgICcod2FSZXNpemVPYnNlcnZlciknOiAnZWwuc3R5bGUuc2V0UHJvcGVydHkoXCItLXQtd2lkdGhcIiwgZWwuY2xpZW50V2lkdGggKyBcInB4XCIpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlOb3RpZmljYXRpb25NaWRkbGVDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dCA9XG4gICAgICAgIGluamVjdENvbnRleHQ8VHVpUG9wb3ZlcjxUdWlOb3RpZmljYXRpb25NaWRkbGVPcHRpb25zLCB2b2lkPj4oKTtcblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2FibGUgJiYgIXRoaXMuZWwuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY2xvc2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc1NpZ25hbCh0aGlzLmNvbnRleHQuY2xvc2FibGUpXG4gICAgICAgICAgICA/IHRoaXMuY29udGV4dC5jbG9zYWJsZSgpXG4gICAgICAgICAgICA6IHRoaXMuY29udGV4dC5jbG9zYWJsZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
|
|
3
|
+
import { tuiAsPopover } from '@taiga-ui/cdk/services';
|
|
4
|
+
import { TuiNotificationMiddleService } from './notification-middle.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class TuiNotificationMiddle extends TuiPopoverDirective {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotificationMiddle, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiNotificationMiddle, isStandalone: true, selector: "ng-template[tuiNotificationMiddle]", inputs: { options: ["tuiNotificationMiddleOptions", "options"], open: ["tuiNotificationMiddle", "open"] }, outputs: { openChange: "tuiNotificationMiddleChange" }, providers: [tuiAsPopover(TuiNotificationMiddleService)], usesInheritance: true, ngImport: i0 }); }
|
|
9
|
+
}
|
|
10
|
+
export { TuiNotificationMiddle };
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotificationMiddle, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{
|
|
14
|
+
standalone: true,
|
|
15
|
+
selector: 'ng-template[tuiNotificationMiddle]',
|
|
16
|
+
inputs: ['options: tuiNotificationMiddleOptions', 'open: tuiNotificationMiddle'],
|
|
17
|
+
outputs: ['openChange: tuiNotificationMiddleChange'],
|
|
18
|
+
providers: [tuiAsPopover(TuiNotificationMiddleService)],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLW1pZGRsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9ub3RpZmljYXRpb24tbWlkZGxlL25vdGlmaWNhdGlvbi1taWRkbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBR3BELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQUUzRSxNQU9hLHFCQUFzQixTQUFRLG1CQUFpRDsrR0FBL0UscUJBQXFCO21HQUFyQixxQkFBcUIsb1BBRm5CLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLENBQUM7O1NBRTlDLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQVBqQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxNQUFNLEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSw2QkFBNkIsQ0FBQztvQkFDaEYsT0FBTyxFQUFFLENBQUMseUNBQXlDLENBQUM7b0JBQ3BELFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO2lCQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpUG9wb3ZlckRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3BvcG92ZXInO1xuaW1wb3J0IHt0dWlBc1BvcG92ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuXG5pbXBvcnQge3R5cGUgVHVpTm90aWZpY2F0aW9uTWlkZGxlT3B0aW9uc30gZnJvbSAnLi9ub3RpZmljYXRpb24tbWlkZGxlLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aU5vdGlmaWNhdGlvbk1pZGRsZVNlcnZpY2V9IGZyb20gJy4vbm90aWZpY2F0aW9uLW1pZGRsZS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3R1aU5vdGlmaWNhdGlvbk1pZGRsZV0nLFxuICAgIGlucHV0czogWydvcHRpb25zOiB0dWlOb3RpZmljYXRpb25NaWRkbGVPcHRpb25zJywgJ29wZW46IHR1aU5vdGlmaWNhdGlvbk1pZGRsZSddLFxuICAgIG91dHB1dHM6IFsnb3BlbkNoYW5nZTogdHVpTm90aWZpY2F0aW9uTWlkZGxlQ2hhbmdlJ10sXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNQb3BvdmVyKFR1aU5vdGlmaWNhdGlvbk1pZGRsZVNlcnZpY2UpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTm90aWZpY2F0aW9uTWlkZGxlIGV4dGVuZHMgVHVpUG9wb3ZlckRpcmVjdGl2ZTxUdWlOb3RpZmljYXRpb25NaWRkbGVPcHRpb25zPiB7fVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { TuiPopoverService } from '@taiga-ui/cdk/services';
|
|
3
|
+
import { TUI_DIALOGS } from '@taiga-ui/core/components/dialog';
|
|
4
|
+
import { TuiNotificationMiddleComponent, } from './notification-middle.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class TuiNotificationMiddleService extends TuiPopoverService {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotificationMiddleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotificationMiddleService, providedIn: 'root', useFactory: () => new TuiNotificationMiddleService(TUI_DIALOGS, TuiNotificationMiddleComponent, {
|
|
9
|
+
closable: false,
|
|
10
|
+
}) }); }
|
|
11
|
+
}
|
|
12
|
+
export { TuiNotificationMiddleService };
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotificationMiddleService, decorators: [{
|
|
14
|
+
type: Injectable,
|
|
15
|
+
args: [{
|
|
16
|
+
providedIn: 'root',
|
|
17
|
+
useFactory: () => new TuiNotificationMiddleService(TUI_DIALOGS, TuiNotificationMiddleComponent, {
|
|
18
|
+
closable: false,
|
|
19
|
+
}),
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLW1pZGRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLW1pZGRsZS9ub3RpZmljYXRpb24tbWlkZGxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFN0QsT0FBTyxFQUNILDhCQUE4QixHQUVqQyxNQUFNLGlDQUFpQyxDQUFDOztBQUV6QyxNQU9hLDRCQUE2QixTQUFRLGlCQUErQzsrR0FBcEYsNEJBQTRCO21IQUE1Qiw0QkFBNEIsY0FOekIsTUFBTSxjQUNOLEdBQUcsRUFBRSxDQUNiLElBQUksNEJBQTRCLENBQUMsV0FBVyxFQUFFLDhCQUE4QixFQUFFO1lBQzFFLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUM7O1NBRUcsNEJBQTRCOzRGQUE1Qiw0QkFBNEI7a0JBUHhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07b0JBQ2xCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FDYixpQ0FBaUMsV0FBVyxFQUFFLDhCQUE4QixFQUFFO3dCQUMxRSxRQUFRLEVBQUUsS0FBSztxQkFDbEIsQ0FBQztpQkFDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVBvcG92ZXJTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX0RJQUxPR1N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGlhbG9nJztcblxuaW1wb3J0IHtcbiAgICBUdWlOb3RpZmljYXRpb25NaWRkbGVDb21wb25lbnQsXG4gICAgdHlwZSBUdWlOb3RpZmljYXRpb25NaWRkbGVPcHRpb25zLFxufSBmcm9tICcuL25vdGlmaWNhdGlvbi1taWRkbGUuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICB1c2VGYWN0b3J5OiAoKSA9PlxuICAgICAgICBuZXcgVHVpTm90aWZpY2F0aW9uTWlkZGxlU2VydmljZShUVUlfRElBTE9HUywgVHVpTm90aWZpY2F0aW9uTWlkZGxlQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBjbG9zYWJsZTogZmFsc2UsXG4gICAgICAgIH0pLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlOb3RpZmljYXRpb25NaWRkbGVTZXJ2aWNlIGV4dGVuZHMgVHVpUG9wb3ZlclNlcnZpY2U8VHVpTm90aWZpY2F0aW9uTWlkZGxlT3B0aW9ucz4ge31cbiJdfQ==
|
package/esm2022/components/notification-middle/taiga-ui-kit-components-notification-middle.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtbm90aWZpY2F0aW9uLW1pZGRsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1taWRkbGUvdGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtbm90aWZpY2F0aW9uLW1pZGRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
1
|
import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
|
|
3
2
|
import { FormsModule } from '@angular/forms';
|
|
4
3
|
import { TuiControl } from '@taiga-ui/cdk/classes';
|
|
@@ -43,12 +42,12 @@ class TuiRating extends TuiControl {
|
|
|
43
42
|
: 0;
|
|
44
43
|
}
|
|
45
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRating, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRating, isStandalone: true, selector: "tui-rating", inputs: { icon: "icon", max: "max" }, host: { listeners: { "keydown.capture": "onKeyDown($event)", "pointerdown": "onPointer(1)", "pointercancel": "onPointer(-1)", "document:pointerup": "onPointer(-1)" }, properties: { "class._disabled": "disabled()", "class._readonly": "readOnly()", "class._active": "active" } }, providers: [tuiFallbackValueProvider(0)], usesInheritance: true, ngImport: i0, template: "<input\n min=\"1\"\n type=\"range\"\n class=\"t-range\"\n [attr.aria-disabled]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [max]=\"max\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"onTouched()\"\n (ngModelChange)=\"onChange($event)\"\n/>\n<div class=\"t-items\">\n <div\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-item\"\n [class.t-item_active]=\"isActive(index)\"\n (pointerup)=\"onClick(max - index)\"\n >\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: max - index, value: value()}\"\n class=\"t-icon t-icon_blank\"\n [class.t-icon_fraction]=\"isFraction(index)\"\n [icon]=\"src.toString()\"\n [style.--t-cut.%]=\"100 - getCut(index)\"\n />\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: max - index, value: value()}\"\n class=\"t-icon\"\n [icon]=\"src.toString()\"\n [style.--t-cut.%]=\"getCut(index)\"\n />\n </div>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:-webkit-fit-content;inline-size:-moz-fit-content;inline-size:fit-content;min-inline-size:-webkit-fit-content;min-inline-size:-moz-fit-content;min-inline-size:fit-content;font-size:1rem;color:var(--tui-chart-categorical-12);cursor:pointer;-webkit-user-select:none;user-select:none}:host._readonly{pointer-events:none}:host._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}.t-range{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;box-sizing:border-box;padding:0 .75em;pointer-events:none}.t-range:focus-visible+.t-items{box-shadow:inset 0 0 0 .125rem var(--tui-border-focus)}.t-items{position:relative;display:flex;flex-direction:row-reverse}.t-items:hover .t-icon{clip-path:inset(0 0 0 0)}.t-items:hover .t-icon_blank{clip-path:inset(0 0 0 100%)}.t-item{position:relative;flex:1 0 0;color:var(--tui-text-tertiary);transition-property:color,transform;transition-duration:var(--tui-duration);transition-timing-function:ease-in-out,cubic-bezier(.35,1.5,.4,2.5)}.t-item:first-child{max-inline-size:2.5em}.t-item:hover,.t-item:hover~.t-item,.t-items:not(:hover) .t-item_active{color:currentColor}.t-items:active .t-item:hover,.t-items:active .t-item:hover~.t-item{transform:scale(.85);transition-duration:var(--tui-duration),calc(var(--tui-duration) / 3);transition-timing-function:ease-in-out}.t-icon{transition-property:clip-path;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font-size:2.5em;clip-path:inset(0 var(--t-cut) 0 0)}:host-context([dir=\"rtl\"]) .t-icon{clip-path:inset(0 0 0 var(--t-cut))}.t-icon ::ng-deep>*{font-size:1rem}.t-icon_blank{position:absolute;top:0;left:0;display:none;color:var(--tui-text-tertiary);clip-path:inset(0 0 0 var(--t-cut))}:host-context([dir=\"rtl\"]) .t-icon_blank{clip-path:inset(0 var(--t-cut) 0 0)}.t-icon_fraction{display:block}@media (any-pointer: coarse){:host._active .t-item_active{transform:scale(.85);transition-timing-function:ease-in-out}:host:not(._readonly) .t-range{pointer-events:auto}.t-icon{transition:none}}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRating, isStandalone: true, selector: "tui-rating", inputs: { icon: "icon", max: "max" }, host: { listeners: { "keydown.capture": "onKeyDown($event)", "pointerdown": "onPointer(1)", "pointercancel": "onPointer(-1)", "document:pointerup": "onPointer(-1)" }, properties: { "class._disabled": "disabled()", "class._readonly": "readOnly()", "class._active": "active" } }, providers: [tuiFallbackValueProvider(0)], usesInheritance: true, ngImport: i0, template: "<input\n min=\"1\"\n type=\"range\"\n class=\"t-range\"\n [attr.aria-disabled]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [max]=\"max\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"onTouched()\"\n (ngModelChange)=\"onChange($event)\"\n/>\n<div class=\"t-items\">\n <div\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-item\"\n [class.t-item_active]=\"isActive(index)\"\n (pointerup)=\"onClick(max - index)\"\n >\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: max - index, value: value()}\"\n class=\"t-icon t-icon_blank\"\n [class.t-icon_fraction]=\"isFraction(index)\"\n [icon]=\"src.toString()\"\n [style.--t-cut.%]=\"100 - getCut(index)\"\n />\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: max - index, value: value()}\"\n class=\"t-icon\"\n [icon]=\"src.toString()\"\n [style.--t-cut.%]=\"getCut(index)\"\n />\n </div>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:-webkit-fit-content;inline-size:-moz-fit-content;inline-size:fit-content;min-inline-size:-webkit-fit-content;min-inline-size:-moz-fit-content;min-inline-size:fit-content;font-size:1rem;color:var(--tui-chart-categorical-12);cursor:pointer;-webkit-user-select:none;user-select:none}:host._readonly{pointer-events:none}:host._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}.t-range{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;box-sizing:border-box;padding:0 .75em;pointer-events:none}.t-range:focus-visible+.t-items{box-shadow:inset 0 0 0 .125rem var(--tui-border-focus)}.t-items{position:relative;display:flex;flex-direction:row-reverse}.t-items:hover .t-icon{clip-path:inset(0 0 0 0)}.t-items:hover .t-icon_blank{clip-path:inset(0 0 0 100%)}.t-item{position:relative;flex:1 0 0;color:var(--tui-text-tertiary);transition-property:color,transform;transition-duration:var(--tui-duration);transition-timing-function:ease-in-out,cubic-bezier(.35,1.5,.4,2.5)}.t-item:first-child{max-inline-size:2.5em}.t-item:hover,.t-item:hover~.t-item,.t-items:not(:hover) .t-item_active{color:currentColor}.t-items:active .t-item:hover,.t-items:active .t-item:hover~.t-item{transform:scale(.85);transition-duration:var(--tui-duration),calc(var(--tui-duration) / 3);transition-timing-function:ease-in-out}.t-icon{transition-property:clip-path;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font-size:2.5em;clip-path:inset(0 var(--t-cut) 0 0)}:host-context([dir=\"rtl\"]) .t-icon{clip-path:inset(0 0 0 var(--t-cut))}.t-icon ::ng-deep>*{font-size:1rem}.t-icon_blank{position:absolute;top:0;left:0;display:none;color:var(--tui-text-tertiary);clip-path:inset(0 0 0 var(--t-cut))}:host-context([dir=\"rtl\"]) .t-icon_blank{clip-path:inset(0 var(--t-cut) 0 0)}.t-icon_fraction{display:block}@media (any-pointer: coarse){:host._active .t-item_active{transform:scale(.85);transition-timing-function:ease-in-out}:host:not(._readonly) .t-range{pointer-events:auto}.t-icon{transition:none}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
47
46
|
}
|
|
48
47
|
export { TuiRating };
|
|
49
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRating, decorators: [{
|
|
50
49
|
type: Component,
|
|
51
|
-
args: [{ standalone: true, selector: 'tui-rating', imports: [
|
|
50
|
+
args: [{ standalone: true, selector: 'tui-rating', imports: [FormsModule, PolymorpheusOutlet, TuiIcon, TuiRepeatTimes], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiFallbackValueProvider(0)], host: {
|
|
52
51
|
'[class._disabled]': 'disabled()',
|
|
53
52
|
'[class._readonly]': 'readOnly()',
|
|
54
53
|
'[class._active]': 'active',
|
|
@@ -62,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
62
61
|
}], max: [{
|
|
63
62
|
type: Input
|
|
64
63
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3JhdGluZy9yYXRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmF0aW5nL3JhdGluZy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBQyxrQkFBa0IsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRTNFLE1Ba0JhLFNBQVUsU0FBUSxVQUFrQjtJQWxCakQ7O1FBbUJxQixZQUFPLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFNUMsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUdkLFNBQUksR0FBNkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFHbkQsUUFBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0tBK0JqQztJQTdCYSxTQUFTLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDakIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFUyxRQUFRLENBQUMsS0FBYTtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFDdkQsQ0FBQztJQUVTLFVBQVUsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFDbEYsQ0FBQztJQUVTLE1BQU0sQ0FBQyxLQUFhO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDekIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7K0dBdkNRLFNBQVM7bUdBQVQsU0FBUyxxWEFYUCxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLGlEQ2xCNUMsd2xDQWtDQSx1bUVEcEJjLFdBQVcsNndCQUFFLGtCQUFrQiw4SEFBRSxPQUFPLHFGQUFFLGNBQWM7O1NBZXpELFNBQVM7NEZBQVQsU0FBUztrQkFsQnJCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFlBQVksV0FDYixDQUFDLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLG1CQUdsRCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFDbEM7d0JBQ0YsbUJBQW1CLEVBQUUsWUFBWTt3QkFDakMsbUJBQW1CLEVBQUUsWUFBWTt3QkFDakMsaUJBQWlCLEVBQUUsUUFBUTt3QkFDM0IsbUJBQW1CLEVBQUUsbUJBQW1CO3dCQUN4QyxlQUFlLEVBQUUsY0FBYzt3QkFDL0IsaUJBQWlCLEVBQUUsZUFBZTt3QkFDbEMsc0JBQXNCLEVBQUUsZUFBZTtxQkFDMUM7OEJBUU0sSUFBSTtzQkFEVixLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1R1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aVJlcGVhdFRpbWVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmltcG9ydCB7dHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHtUdWlJY29ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1RVSV9SQVRJTkdfT1BUSU9OUywgdHlwZSBUdWlSYXRpbmdPcHRpb25zfSBmcm9tICcuL3JhdGluZy5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1yYXRpbmcnLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgUG9seW1vcnBoZXVzT3V0bGV0LCBUdWlJY29uLCBUdWlSZXBlYXRUaW1lc10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhdGluZy50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYXRpbmcuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUZhbGxiYWNrVmFsdWVQcm92aWRlcigwKV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICdbY2xhc3MuX3JlYWRvbmx5XSc6ICdyZWFkT25seSgpJyxcbiAgICAgICAgJ1tjbGFzcy5fYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICAgICAnKGtleWRvd24uY2FwdHVyZSknOiAnb25LZXlEb3duKCRldmVudCknLFxuICAgICAgICAnKHBvaW50ZXJkb3duKSc6ICdvblBvaW50ZXIoMSknLFxuICAgICAgICAnKHBvaW50ZXJjYW5jZWwpJzogJ29uUG9pbnRlcigtMSknLFxuICAgICAgICAnKGRvY3VtZW50OnBvaW50ZXJ1cCknOiAnb25Qb2ludGVyKC0xKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUmF0aW5nIGV4dGVuZHMgVHVpQ29udHJvbDxudW1iZXI+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1JBVElOR19PUFRJT05TKTtcblxuICAgIHByb3RlY3RlZCBhY3RpdmUgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWNvbjogVHVpUmF0aW5nT3B0aW9uc1snaWNvbiddID0gdGhpcy5vcHRpb25zLmljb247XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXggPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgcHJvdGVjdGVkIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSgpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUG9pbnRlcihkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gdHVpQ2xhbXAodGhpcy5hY3RpdmUgKyBkZWx0YSwgMCwgMSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2sodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzQWN0aXZlKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnZhbHVlKCkpID49IHRoaXMubWF4IC0gaW5kZXg7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzRnJhY3Rpb24oaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSgpID4gdGhpcy5tYXggLSBpbmRleCAtIDEgJiYgdGhpcy52YWx1ZSgpIDwgdGhpcy5tYXggLSBpbmRleDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q3V0KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZyYWN0aW9uKGluZGV4KVxuICAgICAgICAgICAgPyAxMDAgKiBNYXRoLm1heCh0aGlzLm1heCAtIGluZGV4IC0gdGhpcy52YWx1ZSgpLCAwKVxuICAgICAgICAgICAgOiAwO1xuICAgIH1cbn1cbiIsIjxpbnB1dFxuICAgIG1pbj1cIjFcIlxuICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgY2xhc3M9XCJ0LXJhbmdlXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cInJlYWRPbmx5KClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICBbbWF4XT1cIm1heFwiXG4gICAgW25nTW9kZWxdPVwidmFsdWUoKVwiXG4gICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuLz5cbjxkaXYgY2xhc3M9XCJ0LWl0ZW1zXCI+XG4gICAgPGRpdlxuICAgICAgICAqdHVpUmVwZWF0VGltZXM9XCJsZXQgaW5kZXggb2YgbWF4XCJcbiAgICAgICAgY2xhc3M9XCJ0LWl0ZW1cIlxuICAgICAgICBbY2xhc3MudC1pdGVtX2FjdGl2ZV09XCJpc0FjdGl2ZShpbmRleClcIlxuICAgICAgICAocG9pbnRlcnVwKT1cIm9uQ2xpY2sobWF4IC0gaW5kZXgpXCJcbiAgICA+XG4gICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb24gYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBtYXggLSBpbmRleCwgdmFsdWU6IHZhbHVlKCl9XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uIHQtaWNvbl9ibGFua1wiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX2ZyYWN0aW9uXT1cImlzRnJhY3Rpb24oaW5kZXgpXCJcbiAgICAgICAgICAgIFtpY29uXT1cInNyYy50b1N0cmluZygpXCJcbiAgICAgICAgICAgIFtzdHlsZS4tLXQtY3V0LiVdPVwiMTAwIC0gZ2V0Q3V0KGluZGV4KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb24gYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBtYXggLSBpbmRleCwgdmFsdWU6IHZhbHVlKCl9XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgIFtpY29uXT1cInNyYy50b1N0cmluZygpXCJcbiAgICAgICAgICAgIFtzdHlsZS4tLXQtY3V0LiVdPVwiZ2V0Q3V0KGluZGV4KVwiXG4gICAgICAgIC8+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|