@alauda/ui 7.2.1-beta.8 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,177 @@
1
+ import { animate, state, style, transition, trigger, } from '@angular/animations';
2
+ import { CdkPortalOutlet, ComponentPortal, PortalModule, } from '@angular/cdk/portal';
3
+ import { CdkScrollable } from '@angular/cdk/scrolling';
4
+ import { AsyncPipe, NgClass, NgIf, NgStyle, NgTemplateOutlet, } from '@angular/common';
5
+ import { ChangeDetectionStrategy, Component, InjectionToken, Injector, Type, ViewChild, ViewEncapsulation, } from '@angular/core';
6
+ import { BehaviorSubject, Subject } from 'rxjs';
7
+ import { TimingFunction } from '../../../core/animation/animation-consts';
8
+ import { IconComponent } from '../../../icon/icon.component';
9
+ import { handlePixel, isTemplateRef } from '../../../utils';
10
+ import { DrawerSize } from '../../types';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/cdk/portal";
13
+ export const DATA = new InjectionToken('drawer-data');
14
+ const SIZE_MAPPER = {
15
+ [DrawerSize.Small]: 400,
16
+ [DrawerSize.Medium]: 600,
17
+ [DrawerSize.Big]: 800,
18
+ };
19
+ const DRAWER_OVERLAY_BACKDROP_CLASS = 'aui-drawer-mask';
20
+ export const duration = '300ms';
21
+ export class DrawerInternalComponent {
22
+ injector;
23
+ bodyPortalOutlet;
24
+ mask;
25
+ animationStep$ = new Subject();
26
+ options;
27
+ showHide$$ = new BehaviorSubject('hide');
28
+ maskVisible$ = new Subject();
29
+ get drawerClasses() {
30
+ return {
31
+ 'aui-drawer': true,
32
+ hasDivider: this.options.divider,
33
+ ...(this.options.drawerClass
34
+ ? { [this.options.drawerClass]: true }
35
+ : null),
36
+ };
37
+ }
38
+ get width() {
39
+ return handlePixel(this.options.width || SIZE_MAPPER[this.options.size || DrawerSize.Medium]);
40
+ }
41
+ isTemplateRef = isTemplateRef;
42
+ constructor(injector) {
43
+ this.injector = injector;
44
+ }
45
+ ngAfterViewInit() {
46
+ this.attachBodyContent();
47
+ }
48
+ attachBodyContent() {
49
+ this.bodyPortalOutlet?.dispose();
50
+ const content = this.options.content;
51
+ if (!(content instanceof Type)) {
52
+ return;
53
+ }
54
+ const componentPortal = new ComponentPortal(content, null, Injector.create({
55
+ providers: [
56
+ {
57
+ provide: DATA,
58
+ useValue: this.options.contentParams,
59
+ },
60
+ ],
61
+ parent: this.injector,
62
+ }));
63
+ const componentRef = this.bodyPortalOutlet?.attachComponentPortal(componentPortal);
64
+ Object.assign(componentRef.instance, this.options.contentParams);
65
+ componentRef.changeDetectorRef.detectChanges();
66
+ }
67
+ onAnimation(event) {
68
+ const { phaseName, toState } = event;
69
+ if (!['show', 'hide'].includes(toState)) {
70
+ return;
71
+ }
72
+ const step = [
73
+ toState,
74
+ phaseName.charAt(0).toUpperCase() + phaseName.slice(1),
75
+ ].join('');
76
+ this.animationStep$.next(step);
77
+ const backdropElement = this.mask?.nativeElement;
78
+ if (!backdropElement) {
79
+ return;
80
+ }
81
+ const enters = [
82
+ `${DRAWER_OVERLAY_BACKDROP_CLASS}-enter`,
83
+ `${DRAWER_OVERLAY_BACKDROP_CLASS}-enter-active`,
84
+ ];
85
+ const leaves = [
86
+ `${DRAWER_OVERLAY_BACKDROP_CLASS}-leave`,
87
+ `${DRAWER_OVERLAY_BACKDROP_CLASS}-leave-active`,
88
+ ];
89
+ switch (step) {
90
+ case 'showStart': {
91
+ backdropElement.classList.add(...enters);
92
+ this.maskVisible$.next(true);
93
+ break;
94
+ }
95
+ case 'hideStart': {
96
+ backdropElement.classList.add(...leaves);
97
+ break;
98
+ }
99
+ case 'showDone': {
100
+ backdropElement.classList.remove(...enters);
101
+ break;
102
+ }
103
+ case 'hideDone': {
104
+ this.maskVisible$.next(false);
105
+ backdropElement.classList.remove(...leaves);
106
+ break;
107
+ }
108
+ }
109
+ }
110
+ show() {
111
+ this.showHide$$.next('show');
112
+ }
113
+ hide() {
114
+ this.showHide$$.next('hide');
115
+ }
116
+ maskClick() {
117
+ if (this.options.maskClosable) {
118
+ this.hide();
119
+ }
120
+ }
121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: DrawerInternalComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "bodyPortalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }, { propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [
123
+ trigger('showHide', [
124
+ state('show', style({
125
+ opacity: 1,
126
+ transform: 'translateX(0)',
127
+ })),
128
+ state('hide, void', style({
129
+ opacity: 0,
130
+ transform: 'translateX(100%)',
131
+ })),
132
+ transition('hide => show, void => show', [
133
+ animate(`${duration} ${TimingFunction.easeOut}`),
134
+ ]),
135
+ transition('show => hide, show => void', [
136
+ animate(`${duration} ${TimingFunction.easeInOut}`),
137
+ ]),
138
+ ]),
139
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
140
+ }
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, decorators: [{
142
+ type: Component,
143
+ args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
144
+ NgIf,
145
+ NgClass,
146
+ NgStyle,
147
+ NgTemplateOutlet,
148
+ IconComponent,
149
+ CdkScrollable,
150
+ PortalModule,
151
+ AsyncPipe,
152
+ ], animations: [
153
+ trigger('showHide', [
154
+ state('show', style({
155
+ opacity: 1,
156
+ transform: 'translateX(0)',
157
+ })),
158
+ state('hide, void', style({
159
+ opacity: 0,
160
+ transform: 'translateX(100%)',
161
+ })),
162
+ transition('hide => show, void => show', [
163
+ animate(`${duration} ${TimingFunction.easeOut}`),
164
+ ]),
165
+ transition('show => hide, show => void', [
166
+ animate(`${duration} ${TimingFunction.easeInOut}`),
167
+ ]),
168
+ ]),
169
+ ], template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"] }]
170
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { bodyPortalOutlet: [{
171
+ type: ViewChild,
172
+ args: [CdkPortalOutlet, { static: false }]
173
+ }], mask: [{
174
+ type: ViewChild,
175
+ args: ['mask']
176
+ }] } });
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFFUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixZQUFZLEdBQ2IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxjQUFjLEVBQ2QsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRXhELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV0RCxNQUFNLFdBQVcsR0FBRztJQUNsQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHO0lBQ3ZCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUc7SUFDeEIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRztDQUN0QixDQUFDO0FBQ0YsTUFBTSw2QkFBNkIsR0FBRyxpQkFBaUIsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBNkNoQyxNQUFNLE9BQU8sdUJBQXVCO0lBK0JMO0lBN0I3QixnQkFBZ0IsQ0FBa0I7SUFHbEMsSUFBSSxDQUE2QjtJQUVqQyxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVyQyxPQUFPLENBQXNCO0lBQzdCLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsTUFBTSxDQUFDLENBQUM7SUFDMUQsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFFdEMsSUFBSSxhQUFhO1FBQ2YsT0FBTztZQUNMLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87WUFDaEMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDMUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRTtnQkFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxXQUFXLENBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQzFFLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUU5QixZQUE2QixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUVuRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDckMsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLElBQUksQ0FBQyxFQUFFO1lBQzlCLE9BQU87U0FDUjtRQUNELE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUN6QyxPQUFPLEVBQ1AsSUFBSSxFQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDZCxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLElBQUk7b0JBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtpQkFDckM7YUFDRjtZQUNELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN0QixDQUFDLENBQ0gsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakUsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBcUI7UUFDL0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN2QyxPQUFPO1NBQ1I7UUFFRCxNQUFNLElBQUksR0FBRztZQUNYLE9BQU87WUFDUCxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3ZELENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBUyxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9CLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDO1FBQ2pELElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBRUQsTUFBTSxNQUFNLEdBQUc7WUFDYixHQUFHLDZCQUE2QixRQUFRO1lBQ3hDLEdBQUcsNkJBQTZCLGVBQWU7U0FDaEQsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyw2QkFBNkIsUUFBUTtZQUN4QyxHQUFHLDZCQUE2QixlQUFlO1NBQ2hELENBQUM7UUFDRixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssV0FBVyxDQUFDLENBQUM7Z0JBQ2hCLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixNQUFNO2FBQ1A7WUFDRCxLQUFLLFdBQVcsQ0FBQyxDQUFDO2dCQUNoQixlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO2dCQUN6QyxNQUFNO2FBQ1A7WUFDRCxLQUFLLFVBQVUsQ0FBQyxDQUFDO2dCQUNmLGVBQWUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7Z0JBQzVDLE1BQU07YUFDUDtZQUNELEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLGVBQWUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7Z0JBQzVDLE1BQU07YUFDUDtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7dUdBekhVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLDBIQUN2QixlQUFlLCtIQzdGNUIsczNEQWlFQSx3OUdEUEksSUFBSSw2RkFDSixPQUFPLG9GQUVQLGdCQUFnQixvSkFDaEIsYUFBYSw0SkFDYixhQUFhLDZFQUNiLFlBQVksNkxBQ1osU0FBUyxnQ0FFQztZQUNWLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQ2xCLEtBQUssQ0FDSCxNQUFNLEVBQ04sS0FBSyxDQUFDO29CQUNKLE9BQU8sRUFBRSxDQUFDO29CQUNWLFNBQVMsRUFBRSxlQUFlO2lCQUMzQixDQUFDLENBQ0g7Z0JBQ0QsS0FBSyxDQUNILFlBQVksRUFDWixLQUFLLENBQUM7b0JBQ0osT0FBTyxFQUFFLENBQUM7b0JBQ1YsU0FBUyxFQUFFLGtCQUFrQjtpQkFDOUIsQ0FBQyxDQUNIO2dCQUNELFVBQVUsQ0FBQyw0QkFBNEIsRUFBRTtvQkFDdkMsT0FBTyxDQUFDLEdBQUcsUUFBUSxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDakQsQ0FBQztnQkFDRixVQUFVLENBQUMsNEJBQTRCLEVBQUU7b0JBQ3ZDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsSUFBSSxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7aUJBQ25ELENBQUM7YUFDSCxDQUFDO1NBQ0g7OzJGQUVVLHVCQUF1QjtrQkF6Q25DLFNBQVM7b0NBR08saUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixTQUFTO3FCQUNWLGNBQ1c7d0JBQ1YsT0FBTyxDQUFDLFVBQVUsRUFBRTs0QkFDbEIsS0FBSyxDQUNILE1BQU0sRUFDTixLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsU0FBUyxFQUFFLGVBQWU7NkJBQzNCLENBQUMsQ0FDSDs0QkFDRCxLQUFLLENBQ0gsWUFBWSxFQUNaLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixTQUFTLEVBQUUsa0JBQWtCOzZCQUM5QixDQUFDLENBQ0g7NEJBQ0QsVUFBVSxDQUFDLDRCQUE0QixFQUFFO2dDQUN2QyxPQUFPLENBQUMsR0FBRyxRQUFRLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDOzZCQUNqRCxDQUFDOzRCQUNGLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRTtnQ0FDdkMsT0FBTyxDQUFDLEdBQUcsUUFBUSxJQUFJLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQzs2QkFDbkQsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOytGQUlELGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSTdDLElBQUk7c0JBREgsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDZGtQb3J0YWxPdXRsZXQsXG4gIENvbXBvbmVudFBvcnRhbCxcbiAgUG9ydGFsTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENka1Njcm9sbGFibGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7XG4gIEFzeW5jUGlwZSxcbiAgTmdDbGFzcyxcbiAgTmdJZixcbiAgTmdTdHlsZSxcbiAgTmdUZW1wbGF0ZU91dGxldCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVGltaW5nRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb3JlL2FuaW1hdGlvbi9hbmltYXRpb24tY29uc3RzJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IGhhbmRsZVBpeGVsLCBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRHJhd2VyT3B0aW9ucywgRHJhd2VyU2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IERBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2RyYXdlci1kYXRhJyk7XG5cbmNvbnN0IFNJWkVfTUFQUEVSID0ge1xuICBbRHJhd2VyU2l6ZS5TbWFsbF06IDQwMCxcbiAgW0RyYXdlclNpemUuTWVkaXVtXTogNjAwLFxuICBbRHJhd2VyU2l6ZS5CaWddOiA4MDAsXG59O1xuY29uc3QgRFJBV0VSX09WRVJMQVlfQkFDS0RST1BfQ0xBU1MgPSAnYXVpLWRyYXdlci1tYXNrJztcblxuZXhwb3J0IGNvbnN0IGR1cmF0aW9uID0gJzMwMG1zJztcblxudHlwZSBTdGVwID0gJ3Nob3dTdGFydCcgfCAnc2hvd0RvbmUnIHwgJ2hpZGVTdGFydCcgfCAnaGlkZURvbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVybmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW50ZXJuYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE5nQ2xhc3MsXG4gICAgTmdTdHlsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgQ2RrU2Nyb2xsYWJsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Nob3cnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRlLCB2b2lkJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ2hpZGUgPT4gc2hvdywgdm9pZCA9PiBzaG93JywgW1xuICAgICAgICBhbmltYXRlKGAke2R1cmF0aW9ufSAke1RpbWluZ0Z1bmN0aW9uLmVhc2VPdXR9YCksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJ3Nob3cgPT4gaGlkZSwgc2hvdyA9PiB2b2lkJywgW1xuICAgICAgICBhbmltYXRlKGAke2R1cmF0aW9ufSAke1RpbWluZ0Z1bmN0aW9uLmVhc2VJbk91dH1gKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcmF3ZXJJbnRlcm5hbENvbXBvbmVudDxUID0gdW5rbm93biwgQyBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4ge1xuICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGJvZHlQb3J0YWxPdXRsZXQ6IENka1BvcnRhbE91dGxldDtcblxuICBAVmlld0NoaWxkKCdtYXNrJylcbiAgbWFzazogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgYW5pbWF0aW9uU3RlcCQgPSBuZXcgU3ViamVjdDxTdGVwPigpO1xuXG4gIG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz47XG4gIHNob3dIaWRlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdzaG93JyB8ICdoaWRlJz4oJ2hpZGUnKTtcbiAgbWFza1Zpc2libGUkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBnZXQgZHJhd2VyQ2xhc3NlcygpOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdhdWktZHJhd2VyJzogdHJ1ZSxcbiAgICAgIGhhc0RpdmlkZXI6IHRoaXMub3B0aW9ucy5kaXZpZGVyLFxuICAgICAgLi4uKHRoaXMub3B0aW9ucy5kcmF3ZXJDbGFzc1xuICAgICAgICA/IHsgW3RoaXMub3B0aW9ucy5kcmF3ZXJDbGFzc106IHRydWUgfVxuICAgICAgICA6IG51bGwpLFxuICAgIH07XG4gIH1cblxuICBnZXQgd2lkdGgoKSB7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKFxuICAgICAgdGhpcy5vcHRpb25zLndpZHRoIHx8IFNJWkVfTUFQUEVSW3RoaXMub3B0aW9ucy5zaXplIHx8IERyYXdlclNpemUuTWVkaXVtXSxcbiAgICApO1xuICB9XG5cbiAgaXNUZW1wbGF0ZVJlZiA9IGlzVGVtcGxhdGVSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYXR0YWNoQm9keUNvbnRlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoQm9keUNvbnRlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5ib2R5UG9ydGFsT3V0bGV0Py5kaXNwb3NlKCk7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMub3B0aW9ucy5jb250ZW50O1xuICAgIGlmICghKGNvbnRlbnQgaW5zdGFuY2VvZiBUeXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPFQ+KFxuICAgICAgY29udGVudCxcbiAgICAgIG51bGwsXG4gICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEQVRBLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMub3B0aW9ucy5jb250ZW50UGFyYW1zLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgIH0pLFxuICAgICk7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID1cbiAgICAgIHRoaXMuYm9keVBvcnRhbE91dGxldD8uYXR0YWNoQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudFBvcnRhbCk7XG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMub3B0aW9ucy5jb250ZW50UGFyYW1zKTtcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25BbmltYXRpb24oZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgY29uc3QgeyBwaGFzZU5hbWUsIHRvU3RhdGUgfSA9IGV2ZW50O1xuICAgIGlmICghWydzaG93JywgJ2hpZGUnXS5pbmNsdWRlcyh0b1N0YXRlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0ZXAgPSBbXG4gICAgICB0b1N0YXRlLFxuICAgICAgcGhhc2VOYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcGhhc2VOYW1lLnNsaWNlKDEpLFxuICAgIF0uam9pbignJykgYXMgU3RlcDtcbiAgICB0aGlzLmFuaW1hdGlvblN0ZXAkLm5leHQoc3RlcCk7XG5cbiAgICBjb25zdCBiYWNrZHJvcEVsZW1lbnQgPSB0aGlzLm1hc2s/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFiYWNrZHJvcEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRlcnMgPSBbXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tZW50ZXJgLFxuICAgICAgYCR7RFJBV0VSX09WRVJMQVlfQkFDS0RST1BfQ0xBU1N9LWVudGVyLWFjdGl2ZWAsXG4gICAgXTtcbiAgICBjb25zdCBsZWF2ZXMgPSBbXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tbGVhdmVgLFxuICAgICAgYCR7RFJBV0VSX09WRVJMQVlfQkFDS0RST1BfQ0xBU1N9LWxlYXZlLWFjdGl2ZWAsXG4gICAgXTtcbiAgICBzd2l0Y2ggKHN0ZXApIHtcbiAgICAgIGNhc2UgJ3Nob3dTdGFydCc6IHtcbiAgICAgICAgYmFja2Ryb3BFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4uZW50ZXJzKTtcbiAgICAgICAgdGhpcy5tYXNrVmlzaWJsZSQubmV4dCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdoaWRlU3RhcnQnOiB7XG4gICAgICAgIGJhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QuYWRkKC4uLmxlYXZlcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnc2hvd0RvbmUnOiB7XG4gICAgICAgIGJhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmVudGVycyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnaGlkZURvbmUnOiB7XG4gICAgICAgIHRoaXMubWFza1Zpc2libGUkLm5leHQoZmFsc2UpO1xuICAgICAgICBiYWNrZHJvcEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5sZWF2ZXMpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaG93KCkge1xuICAgIHRoaXMuc2hvd0hpZGUkJC5uZXh0KCdzaG93Jyk7XG4gIH1cblxuICBoaWRlKCkge1xuICAgIHRoaXMuc2hvd0hpZGUkJC5uZXh0KCdoaWRlJyk7XG4gIH1cblxuICBtYXNrQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5tYXNrQ2xvc2FibGUpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAjbWFza1xuICBjbGFzcz1cImF1aS1kcmF3ZXItbWFza1wiXG4gICpuZ0lmPVwib3B0aW9ucy5tYXNrXCJcbiAgW2NsYXNzLmlzT3Blbl09XCJtYXNrVmlzaWJsZSQgfCBhc3luY1wiXG4gIChjbGljayk9XCJtYXNrQ2xpY2soKVwiXG4+PC9kaXY+XG48ZGl2XG4gIFtzdHlsZS5tYXJnaW5Ub3BdPVwib3B0aW9ucy5vZmZzZXRZXCJcbiAgW25nQ2xhc3NdPVwiZHJhd2VyQ2xhc3Nlc1wiXG4gIFtAc2hvd0hpZGVdPVwic2hvd0hpZGUkJCB8IGFzeW5jXCJcbiAgKEBzaG93SGlkZS5zdGFydCk9XCJvbkFuaW1hdGlvbigkZXZlbnQpXCJcbiAgKEBzaG93SGlkZS5kb25lKT1cIm9uQW5pbWF0aW9uKCRldmVudClcIlxuICBbc3R5bGUud2lkdGhdPVwid2lkdGhcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXVpLWRyYXdlcl9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhdWktZHJhd2VyX19ib2R5LXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhdWktZHJhd2VyX19oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1aS1kcmF3ZXJfX3RpdGxlXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKG9wdGlvbnMudGl0bGUpOyBlbHNlIG5vcm1hbFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25zLnRpdGxlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJvcHRpb25zLmNvbnRlbnRQYXJhbXNcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vcm1hbD5cbiAgICAgICAgICAgIHt7IG9wdGlvbnMudGl0bGUgfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgKm5nSWY9XCJvcHRpb25zLnNob3dDbG9zZVwiXG4gICAgICAgICAgY2xhc3M9XCJhdWktZHJhd2VyX19jbG9zZVwiXG4gICAgICAgICAgaWNvbj1cInhtYXJrXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGlkZSgpXCJcbiAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImF1aS1kcmF3ZXJfX2JvZHlcIlxuICAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBjZGtQb3J0YWxPdXRsZXQ+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihvcHRpb25zLmNvbnRlbnQpXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25zLmNvbnRlbnRcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJvcHRpb25zLmNvbnRlbnRQYXJhbXNcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJvcHRpb25zLmZvb3RlclwiXG4gICAgICAgIGNsYXNzPVwiYXVpLWRyYXdlcl9fZm9vdGVyXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihvcHRpb25zLmZvb3Rlcik7IGVsc2Ugbm9ybWFsXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25zLmZvb3RlclwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIm9wdGlvbnMuY29udGVudFBhcmFtc1wiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub3JtYWw+XG4gICAgICAgICAge3sgb3B0aW9ucy5mb290ZXIgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,30 @@
1
+ import { filter, Subject } from 'rxjs';
2
+ export class DrawerRef {
3
+ drawerInstance;
4
+ result;
5
+ afterOpen$ = new Subject();
6
+ afterClosed$ = new Subject();
7
+ get afterOpen() {
8
+ return this.afterOpen$.asObservable();
9
+ }
10
+ get afterClosed() {
11
+ return this.afterClosed$.asObservable();
12
+ }
13
+ constructor(drawerInstance) {
14
+ this.drawerInstance = drawerInstance;
15
+ this.drawerInstance.animationStep$
16
+ .pipe(filter(step => step === 'hideDone'))
17
+ .subscribe(() => {
18
+ this.afterClosed$.next(this.result);
19
+ this.afterClosed$.complete();
20
+ });
21
+ }
22
+ open() {
23
+ this.drawerInstance.show();
24
+ }
25
+ close(result) {
26
+ this.result = result;
27
+ this.drawerInstance.hide();
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kcmF3ZXIvZHJhd2VyLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUluRCxNQUFNLE9BQU8sU0FBUztJQWNEO0lBYlgsTUFBTSxDQUFJO0lBRUQsVUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDakMsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFLLENBQUM7SUFFakQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELFlBQW1CLGNBQTZDO1FBQTdDLG1CQUFjLEdBQWQsY0FBYyxDQUErQjtRQUM5RCxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWM7YUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFVO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRHJhd2VySW50ZXJuYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9pbnRlcm5hbC9pbnRlcm5hbC5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRHJhd2VyUmVmPFQgPSB1bmtub3duLCBDIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0LCBSID0gdW5rbm93bj4ge1xuICBwcml2YXRlIHJlc3VsdDogUjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFmdGVyT3BlbiQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFmdGVyQ2xvc2VkJCA9IG5ldyBTdWJqZWN0PFI+KCk7XG5cbiAgZ2V0IGFmdGVyT3BlbigpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hZnRlck9wZW4kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGFmdGVyQ2xvc2VkKCk6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLmFmdGVyQ2xvc2VkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkcmF3ZXJJbnN0YW5jZTogRHJhd2VySW50ZXJuYWxDb21wb25lbnQ8VCwgQz4pIHtcbiAgICB0aGlzLmRyYXdlckluc3RhbmNlLmFuaW1hdGlvblN0ZXAkXG4gICAgICAucGlwZShmaWx0ZXIoc3RlcCA9PiBzdGVwID09PSAnaGlkZURvbmUnKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFmdGVyQ2xvc2VkJC5uZXh0KHRoaXMucmVzdWx0KTtcbiAgICAgICAgdGhpcy5hZnRlckNsb3NlZCQuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLmRyYXdlckluc3RhbmNlLnNob3coKTtcbiAgfVxuXG4gIGNsb3NlKHJlc3VsdD86IFIpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdCA9IHJlc3VsdDtcbiAgICB0aGlzLmRyYXdlckluc3RhbmNlLmhpZGUoKTtcbiAgfVxufVxuIl19
@@ -4,8 +4,8 @@ import { CommonModule } from '@angular/common';
4
4
  import { NgModule } from '@angular/core';
5
5
  import { IconModule } from '../icon';
6
6
  import { DrawerComponent } from './component/drawer.component';
7
- import { DrawerContentDirective, DrawerFooterDirective, DrawerHeaderDirective, } from './component/helper-directives';
8
7
  import { DrawerService } from './drawer.service';
8
+ import { DrawerContentDirective, DrawerFooterDirective, DrawerHeaderDirective, } from './helper-directives';
9
9
  import * as i0 from "@angular/core";
10
10
  const COMMON = [
11
11
  DrawerComponent,
@@ -22,7 +22,7 @@ export class DrawerModule {
22
22
  DrawerHeaderDirective,
23
23
  DrawerContentDirective,
24
24
  DrawerFooterDirective] });
25
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerModule, providers: [DrawerService], imports: [CommonModule, IconModule, OverlayModule, PortalModule, DrawerComponent] });
25
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerModule, providers: [DrawerService], imports: [CommonModule, IconModule, OverlayModule, PortalModule] });
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerModule, decorators: [{
28
28
  type: NgModule,
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
32
32
  providers: [DrawerService],
33
33
  }]
34
34
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kcmF3ZXIvZHJhd2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN0QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFakQsTUFBTSxNQUFNLEdBQUc7SUFDYixlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixxQkFBcUI7Q0FDdEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxZQUFZO3VHQUFaLFlBQVk7d0dBQVosWUFBWSxZQUpiLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFQL0QsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixzQkFBc0I7WUFDdEIscUJBQXFCLGFBSHJCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsc0JBQXNCO1lBQ3RCLHFCQUFxQjt3R0FRVixZQUFZLGFBRlosQ0FBQyxhQUFhLENBQUMsWUFGaEIsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQVAvRCxlQUFlOzsyRkFXSixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sQ0FBQztvQkFDM0UsT0FBTyxFQUFFLE1BQU07b0JBQ2YsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbic7XG5cbmltcG9ydCB7IERyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2RyYXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRHJhd2VyQ29udGVudERpcmVjdGl2ZSxcbiAgRHJhd2VyRm9vdGVyRGlyZWN0aXZlLFxuICBEcmF3ZXJIZWFkZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vY29tcG9uZW50L2hlbHBlci1kaXJlY3RpdmVzJztcbmltcG9ydCB7IERyYXdlclNlcnZpY2UgfSBmcm9tICcuL2RyYXdlci5zZXJ2aWNlJztcblxuY29uc3QgQ09NTU9OID0gW1xuICBEcmF3ZXJDb21wb25lbnQsXG4gIERyYXdlckhlYWRlckRpcmVjdGl2ZSxcbiAgRHJhd2VyQ29udGVudERpcmVjdGl2ZSxcbiAgRHJhd2VyRm9vdGVyRGlyZWN0aXZlLFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbk1vZHVsZSwgT3ZlcmxheU1vZHVsZSwgUG9ydGFsTW9kdWxlLCAuLi5DT01NT05dLFxuICBleHBvcnRzOiBDT01NT04sXG4gIHByb3ZpZGVyczogW0RyYXdlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBEcmF3ZXJNb2R1bGUge31cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kcmF3ZXIvZHJhd2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixxQkFBcUIsR0FDdEIsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFN0IsTUFBTSxNQUFNLEdBQUc7SUFDYixlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixxQkFBcUI7Q0FDdEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxZQUFZO3VHQUFaLFlBQVk7d0dBQVosWUFBWSxZQUpiLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFQL0QsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixzQkFBc0I7WUFDdEIscUJBQXFCLGFBSHJCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsc0JBQXNCO1lBQ3RCLHFCQUFxQjt3R0FRVixZQUFZLGFBRlosQ0FBQyxhQUFhLENBQUMsWUFGaEIsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsWUFBWTs7MkZBSXBELFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxDQUFDO29CQUMzRSxPQUFPLEVBQUUsTUFBTTtvQkFDZixTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uJztcblxuaW1wb3J0IHsgRHJhd2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvZHJhd2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmF3ZXJTZXJ2aWNlIH0gZnJvbSAnLi9kcmF3ZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBEcmF3ZXJDb250ZW50RGlyZWN0aXZlLFxuICBEcmF3ZXJGb290ZXJEaXJlY3RpdmUsXG4gIERyYXdlckhlYWRlckRpcmVjdGl2ZSxcbn0gZnJvbSAnLi9oZWxwZXItZGlyZWN0aXZlcyc7XG5cbmNvbnN0IENPTU1PTiA9IFtcbiAgRHJhd2VyQ29tcG9uZW50LFxuICBEcmF3ZXJIZWFkZXJEaXJlY3RpdmUsXG4gIERyYXdlckNvbnRlbnREaXJlY3RpdmUsXG4gIERyYXdlckZvb3RlckRpcmVjdGl2ZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGUsIFBvcnRhbE1vZHVsZSwgLi4uQ09NTU9OXSxcbiAgZXhwb3J0czogQ09NTU9OLFxuICBwcm92aWRlcnM6IFtEcmF3ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyTW9kdWxlIHt9XG4iXX0=
@@ -1,47 +1,94 @@
1
+ import { OverlayConfig } from '@angular/cdk/overlay';
1
2
  import { ComponentPortal } from '@angular/cdk/portal';
2
3
  import { Injectable } from '@angular/core';
3
- import { Subject, takeUntil } from 'rxjs';
4
- import { DrawerComponent } from './component/drawer.component';
4
+ import { debounceTime, filter, fromEvent, Subject, takeUntil } from 'rxjs';
5
+ import { DrawerInternalComponent } from './component/internal/internal.component';
6
+ import { DrawerRef } from './drawer-ref';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@angular/cdk/overlay";
9
+ const DRAWER_OVERLAY_CLASS = 'aui-drawer-overlay';
7
10
  export class DrawerService {
8
11
  overlay;
9
- drawerRef;
10
12
  overlayRef;
11
- unsubscribe$ = new Subject();
13
+ options;
14
+ drawerRef;
15
+ invisible$ = new Subject();
16
+ drawerInternalComponentRef;
12
17
  constructor(overlay) {
13
18
  this.overlay = overlay;
14
19
  }
15
20
  open(options) {
16
- this.drawerRef?.instance?.dispose();
17
- this.createDrawer();
18
21
  this.updateOptions(options);
19
- return this.drawerRef?.instance;
22
+ this.createOverlay();
23
+ this.createDrawer();
24
+ this.drawerRef = new DrawerRef(this.drawerInternalComponentRef.instance);
25
+ this.drawerRef.open();
26
+ return this.drawerRef;
20
27
  }
21
28
  updateOptions(options) {
22
- Object.assign(this.drawerRef.instance, options);
29
+ this.options = options;
30
+ }
31
+ createOverlay() {
32
+ if (!this.overlayRef) {
33
+ this.overlayRef = this.overlay.create(this.getOverlayConfig());
34
+ }
35
+ this.overlayRef
36
+ .outsidePointerEvents()
37
+ .pipe(takeUntil(this.invisible$))
38
+ .subscribe(event => {
39
+ if (this.overlayRef &&
40
+ this.options.hideOnClickOutside &&
41
+ event.target instanceof Node &&
42
+ !this.overlayRef.hostElement?.parentNode?.contains(event.target)) {
43
+ event.stopPropagation();
44
+ event.preventDefault();
45
+ this.drawerRef.close();
46
+ }
47
+ });
48
+ this.overlayRef.getConfig().scrollStrategy.enable();
49
+ if (this.options.mask) {
50
+ fromEvent(window, 'resize')
51
+ .pipe(debounceTime(100), filter(() => document.documentElement.scrollHeight > window.innerHeight), takeUntil(this.invisible$))
52
+ .subscribe(() => {
53
+ this.overlayRef.getConfig().scrollStrategy.enable();
54
+ });
55
+ }
23
56
  }
24
57
  createDrawer() {
25
- this.overlayRef = this.overlay.create();
26
- this.drawerRef = this.overlayRef.attach(new ComponentPortal(DrawerComponent));
27
- this.drawerRef.instance.drawerViewInit
28
- .pipe(takeUntil(this.unsubscribe$))
29
- .subscribe(() => {
30
- this.drawerRef.instance.open();
58
+ if (this.drawerInternalComponentRef) {
59
+ return;
60
+ }
61
+ const drawerInternalComponentRef = this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
62
+ drawerInternalComponentRef.instance.options = this.options;
63
+ drawerInternalComponentRef.instance.animationStep$.subscribe(step => {
64
+ if (step === 'hideDone') {
65
+ this.invisible$.next();
66
+ this.overlayRef?.getConfig().scrollStrategy.disable();
67
+ }
31
68
  });
32
- this.drawerRef.instance.afterClosed
33
- .pipe(takeUntil(this.unsubscribe$))
34
- .subscribe(() => {
35
- this.overlayRef.dispose();
36
- this.drawerRef = null;
37
- this.unsubscribe$.next();
38
- this.unsubscribe$.complete();
69
+ this.drawerInternalComponentRef = drawerInternalComponentRef;
70
+ }
71
+ getOverlayConfig() {
72
+ return new OverlayConfig({
73
+ panelClass: DRAWER_OVERLAY_CLASS,
74
+ positionStrategy: this.overlay.position().global(),
75
+ scrollStrategy: this.options.mask
76
+ ? this.overlay.scrollStrategies.block()
77
+ : this.overlay.scrollStrategies.noop(),
39
78
  });
40
79
  }
80
+ ngOnDestroy() {
81
+ this.invisible$.next();
82
+ if (this.overlayRef) {
83
+ this.overlayRef.getConfig().scrollStrategy.disable();
84
+ this.overlayRef.dispose();
85
+ this.overlayRef = null;
86
+ }
87
+ }
41
88
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
42
89
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService });
43
90
  }
44
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService, decorators: [{
45
92
  type: Injectable
46
93
  }], ctorParameters: function () { return [{ type: i1.Overlay }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2RyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUFnQixVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFxQi9ELE1BQU0sT0FBTyxhQUFhO0lBS0s7SUFKckIsU0FBUyxDQUFnQztJQUN6QyxVQUFVLENBQWE7SUFDZCxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVwRCxZQUE2QixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQUcsQ0FBQztJQUVqRCxJQUFJLENBQWMsT0FBeUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQXNCO1FBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ3JDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUNyQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYzthQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXO2FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBckNVLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9kcmF3ZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHsgRHJhd2VyU2l6ZSB9IGZyb20gJy4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyYXdlck9wdGlvbnM8VCA9IGFueSwgRCA9IGFueT4ge1xuICB0aXRsZT86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICB3aWR0aD86IG51bWJlcjtcbiAgY29udGVudD86IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPjtcbiAgY29udGVudFBhcmFtcz86IEQ7XG4gIGZvb3Rlcj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICBvZmZzZXRZPzogc3RyaW5nO1xuICBkaXZpZGVyPzogYm9vbGVhbjtcbiAgZHJhd2VyQ2xhc3M/OiBzdHJpbmc7XG4gIHNpemU/OiBEcmF3ZXJTaXplO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgaGlkZU9uQ2xpY2tPdXRzaWRlPzogYm9vbGVhbjtcbiAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbiAgbWFzaz86IGJvb2xlYW47XG4gIG1hc2tDbG9zYWJsZT86IGJvb2xlYW47XG59XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHJhd2VyU2VydmljZSB7XG4gIHByaXZhdGUgZHJhd2VyUmVmOiBDb21wb25lbnRSZWY8RHJhd2VyQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIG9wZW48VCA9IHVua25vd24+KG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VD4pIHtcbiAgICB0aGlzLmRyYXdlclJlZj8uaW5zdGFuY2U/LmRpc3Bvc2UoKTtcbiAgICB0aGlzLmNyZWF0ZURyYXdlcigpO1xuICAgIHRoaXMudXBkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICByZXR1cm4gdGhpcy5kcmF3ZXJSZWY/Lmluc3RhbmNlO1xuICB9XG5cbiAgdXBkYXRlT3B0aW9ucyhvcHRpb25zOiBEcmF3ZXJPcHRpb25zKTogdm9pZCB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLmRyYXdlclJlZi5pbnN0YW5jZSwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURyYXdlcigpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKCk7XG4gICAgdGhpcy5kcmF3ZXJSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKFxuICAgICAgbmV3IENvbXBvbmVudFBvcnRhbChEcmF3ZXJDb21wb25lbnQpLFxuICAgICk7XG4gICAgdGhpcy5kcmF3ZXJSZWYuaW5zdGFuY2UuZHJhd2VyVmlld0luaXRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kcmF3ZXJSZWYuaW5zdGFuY2Uub3BlbigpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmRyYXdlclJlZi5pbnN0YW5jZS5hZnRlckNsb3NlZFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLmRyYXdlclJlZiA9IG51bGw7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2RyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBR3pDLE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7QUFHbEQsTUFBTSxPQUFPLGFBQWE7SUFhSztJQVJyQixVQUFVLENBQWE7SUFDL0IsT0FBTyxDQUFzQjtJQUM3QixTQUFTLENBQXFCO0lBQzlCLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ3pCLDBCQUEwQixDQUVoQztJQUVGLFlBQTZCLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFBRyxDQUFDO0lBRWpELElBQUksQ0FBQyxPQUE0QjtRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FDNUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FDekMsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBNEI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsSUFBSSxDQUFDLFVBQVU7YUFDWixvQkFBb0IsRUFBRTthQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFHakIsSUFDRSxJQUFJLENBQUMsVUFBVTtnQkFDZixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQjtnQkFDL0IsS0FBSyxDQUFDLE1BQU0sWUFBWSxJQUFJO2dCQUM1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUNoRTtnQkFDQSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtZQUdyQixTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztpQkFDeEIsSUFBSSxDQUNILFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsTUFBTSxDQUNKLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2pFLEVBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDM0I7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDbkMsT0FBTztTQUNSO1FBQ0QsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDdkQsSUFBSSxlQUFlLENBQUMsQ0FBQSx1QkFBNkIsQ0FBQSxDQUFDLENBQ25ELENBQUM7UUFDRiwwQkFBMEIsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDM0QsMEJBQTBCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEUsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO2dCQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDBCQUEwQixHQUFHLDBCQUEwQixDQUFDO0lBQy9ELENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLGFBQWEsQ0FBQztZQUN2QixVQUFVLEVBQUUsb0JBQW9CO1lBQ2hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFO1lBQ2xELGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtnQkFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNILENBQUM7dUdBMUdVLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIGZyb21FdmVudCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERyYXdlckludGVybmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50JztcbmltcG9ydCB7IERyYXdlclJlZiB9IGZyb20gJy4vZHJhd2VyLXJlZic7XG5pbXBvcnQgeyBEcmF3ZXJPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IERSQVdFUl9PVkVSTEFZX0NMQVNTID0gJ2F1aS1kcmF3ZXItb3ZlcmxheSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmF3ZXJTZXJ2aWNlPFxuICBUID0gdW5rbm93bixcbiAgQyBleHRlbmRzIG9iamVjdCA9IG9iamVjdCxcbiAgUiA9IHVua25vd24sXG4+IHtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBvcHRpb25zOiBEcmF3ZXJPcHRpb25zPFQsIEM+O1xuICBkcmF3ZXJSZWY6IERyYXdlclJlZjxULCBDLCBSPjtcbiAgaW52aXNpYmxlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxcbiAgICBEcmF3ZXJJbnRlcm5hbENvbXBvbmVudDxULCBDPlxuICA+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSkge31cblxuICBvcGVuKG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz4pIHtcbiAgICB0aGlzLnVwZGF0ZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgdGhpcy5jcmVhdGVEcmF3ZXIoKTtcbiAgICB0aGlzLmRyYXdlclJlZiA9IG5ldyBEcmF3ZXJSZWY8VCwgQywgUj4oXG4gICAgICB0aGlzLmRyYXdlckludGVybmFsQ29tcG9uZW50UmVmLmluc3RhbmNlLFxuICAgICk7XG4gICAgdGhpcy5kcmF3ZXJSZWYub3BlbigpO1xuXG4gICAgcmV0dXJuIHRoaXMuZHJhd2VyUmVmO1xuICB9XG5cbiAgdXBkYXRlT3B0aW9ucyhvcHRpb25zOiBEcmF3ZXJPcHRpb25zPFQsIEM+KTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh0aGlzLmdldE92ZXJsYXlDb25maWcoKSk7XG4gICAgfVxuXG4gICAgdGhpcy5vdmVybGF5UmVmXG4gICAgICAub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuaW52aXNpYmxlJCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgLy8g5Yik5pat6byg5qCH54K55Ye75LqL5Lu255qEIHRhcmdldCDmmK/lkKbkuLogb3ZlcmxheS1jb250YWluZXIg55qE5a2Q6IqC54K577yM5aaC5p6c5piv77yM5YiZ5LiN5YWz6ZetIGRyYXdlcuOAglxuICAgICAgICAvLyDkuLrkuobpgb/lhY3ngrnlh7sgZHJhd2VyIOmHjOeahCB0b29sdGlwIOWQjiBkcmF3ZXIg6KKr5YWz6Zet44CCXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgJiZcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuaGlkZU9uQ2xpY2tPdXRzaWRlICYmXG4gICAgICAgICAgZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSAmJlxuICAgICAgICAgICF0aGlzLm92ZXJsYXlSZWYuaG9zdEVsZW1lbnQ/LnBhcmVudE5vZGU/LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICAgICAgKSB7XG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmRyYXdlclJlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5zY3JvbGxTdHJhdGVneS5lbmFibGUoKTtcbiAgICBpZiAodGhpcy5vcHRpb25zLm1hc2spIHtcbiAgICAgIC8vIElzc3VlczogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9pc3N1ZXMvMTA4NDFcbiAgICAgIC8vIHNjcm9sbFN0cmF0ZWd5IOS4uiBCbG9jayDml7bvvIzoi6XliJvlu7ogT3ZlcmxheSDml7bvvIzpq5jluqbkuI3otrPku6Xlh7rnjrDmu5rliqjvvIzliJkgc2Nyb2xsU3RyYXRlZ3kg5LiN5Lya55Sf5pWIXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgKCkgPT4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCxcbiAgICAgICAgICApLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmludmlzaWJsZSQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5zY3JvbGxTdHJhdGVneS5lbmFibGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEcmF3ZXIoKSB7XG4gICAgaWYgKHRoaXMuZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKFxuICAgICAgbmV3IENvbXBvbmVudFBvcnRhbChEcmF3ZXJJbnRlcm5hbENvbXBvbmVudDxULCBDPiksXG4gICAgKTtcbiAgICBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZi5pbnN0YW5jZS5vcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIGRyYXdlckludGVybmFsQ29tcG9uZW50UmVmLmluc3RhbmNlLmFuaW1hdGlvblN0ZXAkLnN1YnNjcmliZShzdGVwID0+IHtcbiAgICAgIGlmIChzdGVwID09PSAnaGlkZURvbmUnKSB7XG4gICAgICAgIHRoaXMuaW52aXNpYmxlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZj8uZ2V0Q29uZmlnKCkuc2Nyb2xsU3RyYXRlZ3kuZGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYgPSBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZygpOiBPdmVybGF5Q29uZmlnIHtcbiAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcGFuZWxDbGFzczogRFJBV0VSX09WRVJMQVlfQ0xBU1MsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm9wdGlvbnMubWFza1xuICAgICAgICA/IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKClcbiAgICAgICAgOiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ub29wKCksXG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmludmlzaWJsZSQubmV4dCgpO1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5zY3JvbGxTdHJhdGVneS5kaXNhYmxlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
33
33
  standalone: true,
34
34
  }]
35
35
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZHJhd2VyL2NvbXBvbmVudC9oZWxwZXItZGlyZWN0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0xQyxNQUFNLE9BQU8scUJBQXFCO3VHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBT0QsTUFBTSxPQUFPLHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQU9ELE1BQU0sT0FBTyxxQkFBcUI7dUdBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHBhZ2UtZ3VhcmRcbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aURyYXdlckhlYWRlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEcmF3ZXJIZWFkZXJEaXJlY3RpdmUge31cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aURyYXdlckNvbnRlbnRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyQ29udGVudERpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpRHJhd2VyRm9vdGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckZvb3RlckRpcmVjdGl2ZSB7fVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2hlbHBlci1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFDLE1BQU0sT0FBTyxxQkFBcUI7dUdBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFPRCxNQUFNLE9BQU8sc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBT0QsTUFBTSxPQUFPLHFCQUFxQjt1R0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgcGFnZS1ndWFyZFxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpRHJhd2VySGVhZGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckhlYWRlckRpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpRHJhd2VyQ29udGVudF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEcmF3ZXJDb250ZW50RGlyZWN0aXZlIHt9XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlEcmF3ZXJGb290ZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyRm9vdGVyRGlyZWN0aXZlIHt9XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  export * from './component/drawer.component';
2
- export * from './component/drawer-ref';
3
- export * from './component/helper-directives';
4
2
  export * from './drawer.module';
5
3
  export * from './drawer.service';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L2RyYXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvZHJhd2VyLXJlZic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC9oZWxwZXItZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2RyYXdlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmF3ZXIuc2VydmljZSc7XG4iXX0=
4
+ export * from './drawer-ref';
5
+ export * from './helper-directives';
6
+ export * from './types';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC9kcmF3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHJhd2VyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RyYXdlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhd2VyLXJlZic7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlci1kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19
@@ -0,0 +1,6 @@
1
+ export const DrawerSize = {
2
+ Small: 'small',
3
+ Medium: 'medium',
4
+ Big: 'big',
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcsRUFBRSxLQUFLO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFZhbHVlT2YgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBEcmF3ZXJTaXplID0ge1xuICBTbWFsbDogJ3NtYWxsJyxcbiAgTWVkaXVtOiAnbWVkaXVtJyxcbiAgQmlnOiAnYmlnJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIERyYXdlclNpemUgPSBWYWx1ZU9mPHR5cGVvZiBEcmF3ZXJTaXplPjtcblxuZXhwb3J0IGludGVyZmFjZSBEcmF3ZXJPcHRpb25zPFQgPSB1bmtub3duLCBDIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiB7XG4gIHRpdGxlPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8Qz47XG4gIGNvbnRlbnQ/OiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8Qz47XG4gIGZvb3Rlcj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPEM+O1xuICBjb250ZW50UGFyYW1zPzogQzsgLy8g5LiN5LuF5L2c5Li6Y29udGVudOeahOWPguaVsO+8jOWQjOaXtuaYr3RpdGxl5ZKMZm9vdGVy55qE5LiK5LiL5paHXG4gIHdpZHRoPzogbnVtYmVyO1xuICBzaXplPzogRHJhd2VyU2l6ZTsgLy8g5YaF572u55qE5a695bqm5bC65a+477yM5Lmf5Y+v5Lul5L2/55SoIHdpZHRoIOiHquWumuS5iVxuICBvZmZzZXRZPzogc3RyaW5nO1xuICBkaXZpZGVyPzogYm9vbGVhbjtcbiAgZHJhd2VyQ2xhc3M/OiBzdHJpbmc7XG4gIHZpc2libGU/OiBib29sZWFuO1xuICBzaG93Q2xvc2U/OiBib29sZWFuO1xuICBtYXNrPzogYm9vbGVhbjtcbiAgbWFza0Nsb3NhYmxlPzogYm9vbGVhbjsgLy8g54K55Ye76IOM5pmv5piv5ZCm5YWz6Zet5oq95bGJXG4gIGhpZGVPbkNsaWNrT3V0c2lkZT86IGJvb2xlYW47IC8vIOWcqOaKveWxieWklueCueWHu+aYr+WQpuWFs+mXreaKveWxie+8jOS4jiBtYXNrQ2xvc2FibGUg55qE5Yy65Yir5piv5piv5ZCm5pyJIG1hc2tcbn1cbiJdfQ==
@@ -78,11 +78,11 @@ export class FormItemComponent {
78
78
  this.destroy$$.next();
79
79
  }
80
80
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: FormItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormDirective, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
81
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: FormItemComponent, isStandalone: true, selector: "aui-form-item", inputs: { labelWidth: "labelWidth", width: "width", labelPosition: "labelPosition", emptyAddon: "emptyAddon", plain: "plain" }, queries: [{ propertyName: "itemLabel", first: true, predicate: FormItemLabelDirective, descendants: true }, { propertyName: "itemControl", first: true, predicate: FormItemControlDirective, descendants: true }, { propertyName: "ngControls", predicate: NgControl, descendants: true }, { propertyName: "addons", predicate: FormItemAddonDirective }, { propertyName: "errors", predicate: FormItemErrorDirective }, { propertyName: "hints", predicate: FormItemHintDirective }], ngImport: i0, template: "<div\n [class]=\"bem.block(labelPosition)\"\n [class.isPlain]=\"plain\"\n [class.hasError]=\"hasError$ | async\"\n>\n <div\n [ngClass]=\"\n bem.element(\n 'label-wrapper',\n { required: !!itemControl?.required },\n labelPosition\n )\n \"\n [class.hasLabel]=\"!!itemLabel\"\n [style.width]=\"labelWidth\"\n >\n <ng-content select=\"label[auiFormItemLabel]\"></ng-content>\n </div>\n <div class=\"aui-form-item__container\">\n <div\n class=\"aui-form-item__content\"\n [ngClass]=\"formItemWidthClass\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"emptyAddon || addons?.length\"\n class=\"aui-form-item__addon-wrapper\"\n >\n <ng-content select=\"[auiFormItemAddon]\"></ng-content>\n </div>\n </div>\n <div\n *ngIf=\"(hasError$ | async) && (errorCount$ | async)\"\n class=\"aui-form-item__error-wrapper\"\n >\n <ng-content select=\"[auiFormItemError]\"></ng-content>\n </div>\n <div\n *ngIf=\"hintCount$ | async\"\n class=\"aui-form-item__hint-wrapper\"\n >\n <ng-content select=\"[auiFormItemHint]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-form-item{display:flex;align-items:flex-start;margin-bottom:var(--aui-spacing-xl);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-form-item--top{flex-direction:column}.aui-form-item--top .aui-form-item__label-wrapper{line-height:var(--aui-line-height-m);margin-bottom:var(--aui-spacing-xs)}.aui-form-item--top .aui-form-item__label-wrapper:after{display:none}.aui-form-item__label-wrapper{display:flex;align-items:center;line-height:var(--aui-inline-height-m);flex-shrink:0;padding-right:var(--aui-spacing-m);overflow:hidden}.aui-form-item__label-wrapper--required .aui-form-item__label:before{content:\"*\";color:rgb(var(--aui-color-red));margin-right:var(--aui-spacing-s)}.aui-form-item__label-wrapper.hasLabel:after{content:\":\";align-self:flex-start;margin-left:var(--aui-spacing-xs)}.aui-form-item__label-wrapper--left{justify-content:flex-start}.aui-form-item__label-wrapper--left .aui-form-item__label{text-align:start}.aui-form-item__label-wrapper--right{justify-content:flex-end}.aui-form-item__label-wrapper--right .aui-form-item__label{text-align:end}.aui-form-item__label{display:block;line-height:var(--aui-line-height-s)}.aui-form-item__container{width:100%;min-width:0}.aui-form-item__content{display:flex;align-items:center;min-height:var(--aui-inline-height-m)}.aui-form-item__content--large .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-l)}.aui-form-item__content--medium .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-m)}.aui-form-item__content--small .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-s)}.aui-form-item__content+.aui-form-item__hint-wrapper,.aui-form-item__content+.aui-form-item__error-wrapper{margin-top:var(--aui-spacing-s)}.aui-form-item__hint-wrapper,.aui-form-item__error-wrapper{font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-form-item__hint-wrapper{color:rgb(var(--aui-color-help-text))}.aui-form-item__error-wrapper{color:rgb(var(--aui-color-red))}.aui-form-item__addon-wrapper{align-self:flex-start;display:flex;align-items:center;flex-shrink:0;box-sizing:content-box;height:var(--aui-inline-height-m);min-width:var(--aui-icon-size-m);padding-left:var(--aui-spacing-m);color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m)}.aui-form-item__addon-wrapper aui-icon{font-size:var(--aui-icon-size-m)}.aui-form-item.isPlain .aui-form-item__label-wrapper{line-height:var(--aui-line-height-m)}.aui-form-item.isPlain .aui-form-item__label-wrapper--required .aui-form-item__label:before{display:none}.aui-form-item.isPlain .aui-form-item__content{min-height:var(--aui-line-height-m)}.aui-form-item.isPlain .aui-form-item__addon-wrapper{height:var(--aui-line-height-m)}.aui-form--inline{display:flex}.aui-form--inline .aui-form-item{margin-bottom:0;margin-right:var(--aui-spacing-m)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: FormItemComponent, isStandalone: true, selector: "aui-form-item", inputs: { labelWidth: "labelWidth", width: "width", labelPosition: "labelPosition", emptyAddon: "emptyAddon", plain: "plain" }, queries: [{ propertyName: "itemLabel", first: true, predicate: FormItemLabelDirective, descendants: true }, { propertyName: "itemControl", first: true, predicate: FormItemControlDirective, descendants: true }, { propertyName: "ngControls", predicate: NgControl, descendants: true }, { propertyName: "addons", predicate: FormItemAddonDirective }, { propertyName: "errors", predicate: FormItemErrorDirective }, { propertyName: "hints", predicate: FormItemHintDirective }], ngImport: i0, template: "<div\n [class]=\"bem.block(labelPosition)\"\n [class.isPlain]=\"plain\"\n [class.hasError]=\"hasError$ | async\"\n>\n <div\n [ngClass]=\"\n bem.element(\n 'label-wrapper',\n { required: !!itemControl?.required },\n labelPosition\n )\n \"\n [class.hasLabel]=\"!!itemLabel\"\n [style.width]=\"labelWidth\"\n >\n <ng-content select=\"label[auiFormItemLabel]\"></ng-content>\n </div>\n <div class=\"aui-form-item__container\">\n <div\n class=\"aui-form-item__content\"\n [ngClass]=\"formItemWidthClass\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"emptyAddon || addons?.length\"\n class=\"aui-form-item__addon-wrapper\"\n >\n <ng-content select=\"[auiFormItemAddon]\"></ng-content>\n </div>\n </div>\n <div\n *ngIf=\"(hasError$ | async) && (errorCount$ | async)\"\n class=\"aui-form-item__error-wrapper\"\n >\n <ng-content select=\"[auiFormItemError]\"></ng-content>\n </div>\n <div\n *ngIf=\"hintCount$ | async\"\n class=\"aui-form-item__hint-wrapper\"\n >\n <ng-content select=\"[auiFormItemHint]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-form-item{display:flex;align-items:flex-start;margin-bottom:var(--aui-spacing-xl);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-form-item--top{flex-direction:column}.aui-form-item--top .aui-form-item__label{line-height:var(--aui-line-height-m)}.aui-form-item--top .aui-form-item__label-wrapper{line-height:var(--aui-line-height-m);margin-bottom:var(--aui-spacing-s)}.aui-form-item--top .aui-form-item__label-wrapper:after{display:none}.aui-form-item__label-wrapper{display:flex;align-items:center;line-height:var(--aui-inline-height-m);flex-shrink:0;padding-right:var(--aui-spacing-m);overflow:hidden}.aui-form-item__label-wrapper--required .aui-form-item__label:before{content:\"*\";color:rgb(var(--aui-color-red));margin-right:var(--aui-spacing-s)}.aui-form-item__label-wrapper.hasLabel:after{content:\":\";align-self:flex-start;margin-left:var(--aui-spacing-xs)}.aui-form-item__label-wrapper--left{justify-content:flex-start}.aui-form-item__label-wrapper--left .aui-form-item__label{text-align:start}.aui-form-item__label-wrapper--right{justify-content:flex-end}.aui-form-item__label-wrapper--right .aui-form-item__label{text-align:end}.aui-form-item__label{display:block;line-height:var(--aui-line-height-s)}.aui-form-item__container{width:100%;min-width:0}.aui-form-item__content{display:flex;align-items:center;min-height:var(--aui-inline-height-m)}.aui-form-item__content--large .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-l)}.aui-form-item__content--medium .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-m)}.aui-form-item__content--small .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-s)}.aui-form-item__content+.aui-form-item__hint-wrapper,.aui-form-item__content+.aui-form-item__error-wrapper{margin-top:var(--aui-spacing-s)}.aui-form-item__hint-wrapper,.aui-form-item__error-wrapper{font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-form-item__hint-wrapper{color:rgb(var(--aui-color-help-text))}.aui-form-item__error-wrapper{color:rgb(var(--aui-color-red))}.aui-form-item__addon-wrapper{align-self:flex-start;display:flex;align-items:center;flex-shrink:0;box-sizing:content-box;height:var(--aui-inline-height-m);min-width:var(--aui-icon-size-m);padding-left:var(--aui-spacing-m);color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m)}.aui-form-item__addon-wrapper aui-icon{font-size:var(--aui-icon-size-m)}.aui-form-item.isPlain .aui-form-item__label-wrapper{line-height:var(--aui-line-height-m)}.aui-form-item.isPlain .aui-form-item__label-wrapper--required .aui-form-item__label:before{display:none}.aui-form-item.isPlain .aui-form-item__content{min-height:var(--aui-line-height-m)}.aui-form-item.isPlain .aui-form-item__addon-wrapper{height:var(--aui-line-height-m)}.aui-form--inline{display:flex}.aui-form--inline .aui-form-item{margin-bottom:0;margin-right:var(--aui-spacing-m)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
82
82
  }
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: FormItemComponent, decorators: [{
84
84
  type: Component,
85
- args: [{ selector: 'aui-form-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div\n [class]=\"bem.block(labelPosition)\"\n [class.isPlain]=\"plain\"\n [class.hasError]=\"hasError$ | async\"\n>\n <div\n [ngClass]=\"\n bem.element(\n 'label-wrapper',\n { required: !!itemControl?.required },\n labelPosition\n )\n \"\n [class.hasLabel]=\"!!itemLabel\"\n [style.width]=\"labelWidth\"\n >\n <ng-content select=\"label[auiFormItemLabel]\"></ng-content>\n </div>\n <div class=\"aui-form-item__container\">\n <div\n class=\"aui-form-item__content\"\n [ngClass]=\"formItemWidthClass\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"emptyAddon || addons?.length\"\n class=\"aui-form-item__addon-wrapper\"\n >\n <ng-content select=\"[auiFormItemAddon]\"></ng-content>\n </div>\n </div>\n <div\n *ngIf=\"(hasError$ | async) && (errorCount$ | async)\"\n class=\"aui-form-item__error-wrapper\"\n >\n <ng-content select=\"[auiFormItemError]\"></ng-content>\n </div>\n <div\n *ngIf=\"hintCount$ | async\"\n class=\"aui-form-item__hint-wrapper\"\n >\n <ng-content select=\"[auiFormItemHint]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-form-item{display:flex;align-items:flex-start;margin-bottom:var(--aui-spacing-xl);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-form-item--top{flex-direction:column}.aui-form-item--top .aui-form-item__label-wrapper{line-height:var(--aui-line-height-m);margin-bottom:var(--aui-spacing-xs)}.aui-form-item--top .aui-form-item__label-wrapper:after{display:none}.aui-form-item__label-wrapper{display:flex;align-items:center;line-height:var(--aui-inline-height-m);flex-shrink:0;padding-right:var(--aui-spacing-m);overflow:hidden}.aui-form-item__label-wrapper--required .aui-form-item__label:before{content:\"*\";color:rgb(var(--aui-color-red));margin-right:var(--aui-spacing-s)}.aui-form-item__label-wrapper.hasLabel:after{content:\":\";align-self:flex-start;margin-left:var(--aui-spacing-xs)}.aui-form-item__label-wrapper--left{justify-content:flex-start}.aui-form-item__label-wrapper--left .aui-form-item__label{text-align:start}.aui-form-item__label-wrapper--right{justify-content:flex-end}.aui-form-item__label-wrapper--right .aui-form-item__label{text-align:end}.aui-form-item__label{display:block;line-height:var(--aui-line-height-s)}.aui-form-item__container{width:100%;min-width:0}.aui-form-item__content{display:flex;align-items:center;min-height:var(--aui-inline-height-m)}.aui-form-item__content--large .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-l)}.aui-form-item__content--medium .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-m)}.aui-form-item__content--small .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-s)}.aui-form-item__content+.aui-form-item__hint-wrapper,.aui-form-item__content+.aui-form-item__error-wrapper{margin-top:var(--aui-spacing-s)}.aui-form-item__hint-wrapper,.aui-form-item__error-wrapper{font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-form-item__hint-wrapper{color:rgb(var(--aui-color-help-text))}.aui-form-item__error-wrapper{color:rgb(var(--aui-color-red))}.aui-form-item__addon-wrapper{align-self:flex-start;display:flex;align-items:center;flex-shrink:0;box-sizing:content-box;height:var(--aui-inline-height-m);min-width:var(--aui-icon-size-m);padding-left:var(--aui-spacing-m);color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m)}.aui-form-item__addon-wrapper aui-icon{font-size:var(--aui-icon-size-m)}.aui-form-item.isPlain .aui-form-item__label-wrapper{line-height:var(--aui-line-height-m)}.aui-form-item.isPlain .aui-form-item__label-wrapper--required .aui-form-item__label:before{display:none}.aui-form-item.isPlain .aui-form-item__content{min-height:var(--aui-line-height-m)}.aui-form-item.isPlain .aui-form-item__addon-wrapper{height:var(--aui-line-height-m)}.aui-form--inline{display:flex}.aui-form--inline .aui-form-item{margin-bottom:0;margin-right:var(--aui-spacing-m)}\n"] }]
85
+ args: [{ selector: 'aui-form-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div\n [class]=\"bem.block(labelPosition)\"\n [class.isPlain]=\"plain\"\n [class.hasError]=\"hasError$ | async\"\n>\n <div\n [ngClass]=\"\n bem.element(\n 'label-wrapper',\n { required: !!itemControl?.required },\n labelPosition\n )\n \"\n [class.hasLabel]=\"!!itemLabel\"\n [style.width]=\"labelWidth\"\n >\n <ng-content select=\"label[auiFormItemLabel]\"></ng-content>\n </div>\n <div class=\"aui-form-item__container\">\n <div\n class=\"aui-form-item__content\"\n [ngClass]=\"formItemWidthClass\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"emptyAddon || addons?.length\"\n class=\"aui-form-item__addon-wrapper\"\n >\n <ng-content select=\"[auiFormItemAddon]\"></ng-content>\n </div>\n </div>\n <div\n *ngIf=\"(hasError$ | async) && (errorCount$ | async)\"\n class=\"aui-form-item__error-wrapper\"\n >\n <ng-content select=\"[auiFormItemError]\"></ng-content>\n </div>\n <div\n *ngIf=\"hintCount$ | async\"\n class=\"aui-form-item__hint-wrapper\"\n >\n <ng-content select=\"[auiFormItemHint]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-form-item{display:flex;align-items:flex-start;margin-bottom:var(--aui-spacing-xl);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-form-item--top{flex-direction:column}.aui-form-item--top .aui-form-item__label{line-height:var(--aui-line-height-m)}.aui-form-item--top .aui-form-item__label-wrapper{line-height:var(--aui-line-height-m);margin-bottom:var(--aui-spacing-s)}.aui-form-item--top .aui-form-item__label-wrapper:after{display:none}.aui-form-item__label-wrapper{display:flex;align-items:center;line-height:var(--aui-inline-height-m);flex-shrink:0;padding-right:var(--aui-spacing-m);overflow:hidden}.aui-form-item__label-wrapper--required .aui-form-item__label:before{content:\"*\";color:rgb(var(--aui-color-red));margin-right:var(--aui-spacing-s)}.aui-form-item__label-wrapper.hasLabel:after{content:\":\";align-self:flex-start;margin-left:var(--aui-spacing-xs)}.aui-form-item__label-wrapper--left{justify-content:flex-start}.aui-form-item__label-wrapper--left .aui-form-item__label{text-align:start}.aui-form-item__label-wrapper--right{justify-content:flex-end}.aui-form-item__label-wrapper--right .aui-form-item__label{text-align:end}.aui-form-item__label{display:block;line-height:var(--aui-line-height-s)}.aui-form-item__container{width:100%;min-width:0}.aui-form-item__content{display:flex;align-items:center;min-height:var(--aui-inline-height-m)}.aui-form-item__content--large .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-l)}.aui-form-item__content--medium .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-m)}.aui-form-item__content--small .aui-form-item__control{flex:1;max-width:var(--aui-form-item-width-s)}.aui-form-item__content+.aui-form-item__hint-wrapper,.aui-form-item__content+.aui-form-item__error-wrapper{margin-top:var(--aui-spacing-s)}.aui-form-item__hint-wrapper,.aui-form-item__error-wrapper{font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-form-item__hint-wrapper{color:rgb(var(--aui-color-help-text))}.aui-form-item__error-wrapper{color:rgb(var(--aui-color-red))}.aui-form-item__addon-wrapper{align-self:flex-start;display:flex;align-items:center;flex-shrink:0;box-sizing:content-box;height:var(--aui-inline-height-m);min-width:var(--aui-icon-size-m);padding-left:var(--aui-spacing-m);color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m)}.aui-form-item__addon-wrapper aui-icon{font-size:var(--aui-icon-size-m)}.aui-form-item.isPlain .aui-form-item__label-wrapper{line-height:var(--aui-line-height-m)}.aui-form-item.isPlain .aui-form-item__label-wrapper--required .aui-form-item__label:before{display:none}.aui-form-item.isPlain .aui-form-item__content{min-height:var(--aui-line-height-m)}.aui-form-item.isPlain .aui-form-item__addon-wrapper{height:var(--aui-line-height-m)}.aui-form--inline{display:flex}.aui-form--inline .aui-form-item{margin-bottom:0;margin-right:var(--aui-spacing-m)}\n"] }]
86
86
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FormDirective, decorators: [{
87
87
  type: Optional
88
88
  }] }, { type: i2.NgForm, decorators: [{
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
118
118
  type: ContentChildren,
119
119
  args: [FormItemHintDirective]
120
120
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3JtL2Zvcm0taXRlbS9mb3JtLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZm9ybS1pdGVtL2Zvcm0taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLEtBQUssRUFFTCxRQUFRLEVBRVIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBc0IsU0FBUyxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUVMLE9BQU8sRUFDUCxhQUFhLEVBQ2IsS0FBSyxFQUNMLEdBQUcsRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBTyxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhELE9BQU8sRUFBaUIsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsc0JBQXNCLEdBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFZOUIsTUFBTSxPQUFPLGlCQUFpQjtJQWtEVDtJQUNZO0lBbEQvQixHQUFHLEdBQVEsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBR3JDLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFHMUIsS0FBSyxDQUFnQjtJQUdyQixhQUFhLEdBQWtCLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFHbkQsVUFBVSxHQUFHLEtBQUssQ0FBQztJ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LFNBQVMsNERBR1Qsc0JBQXNCLHlDQUd0QixzQkFBc0Isd0NBR3RCLHFCQUFxQiw2QkNoRnhDLHVyQ0E2Q0EsczlGREFZLE9BQU8sb0ZBQUUsSUFBSSx3RkFBRSxTQUFTOzsyRkFFdkIsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDOzswQkFxRGhDLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7NENBakRYLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJdkQsV0FBVztzQkFEVixZQUFZO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJekQsVUFBVTtzQkFEVCxlQUFlO3VCQUFDLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSWpELE1BQU07c0JBREwsZUFBZTt1QkFBQyxzQkFBc0I7Z0JBSXZDLE1BQU07c0JBREwsZUFBZTt1QkFBQyxzQkFBc0I7Z0JBSXZDLEtBQUs7c0JBREosZUFBZTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgbWVyZ2UsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIHB1Ymxpc2hSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybUl0ZW1XaWR0aCwgTGFiZWxQb3NpdGlvbiB9IGZyb20gJy4uL2Zvcm0udHlwZXMnO1xuaW1wb3J0IHtcbiAgRm9ybUl0ZW1BZGRvbkRpcmVjdGl2ZSxcbiAgRm9ybUl0ZW1Db250cm9sRGlyZWN0aXZlLFxuICBGb3JtSXRlbUVycm9yRGlyZWN0aXZlLFxuICBGb3JtSXRlbUhpbnREaXJlY3RpdmUsXG4gIEZvcm1JdGVtTGFiZWxEaXJlY3RpdmUsXG59IGZyb20gJy4uL2hlbHBlci1kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWZvcm0taXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzcywgTmdJZiwgQXN5bmNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktZm9ybS1pdGVtJyk7XG5cbiAgQElucHV0KClcbiAgbGFiZWxXaWR0aDogc3RyaW5nID0gbnVsbDtcblxuICBASW5wdXQoKVxuICB3aWR0aDogRm9ybUl0ZW1XaWR0aDtcblxuICBASW5wdXQoKVxuICBsYWJlbFBvc2l0aW9uOiBMYWJlbFBvc2l0aW9uID0gTGFiZWxQb3NpdGlvbi5SaWdodDtcblxuICBASW5wdXQoKVxuICBlbXB0eUFkZG9uID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcGxhaW4gPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkKEZvcm1JdGVtTGFiZWxEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBpdGVtTGFiZWw6IEZvcm1JdGVtTGFiZWxEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChGb3JtSXRlbUNvbnRyb2xEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBpdGVtQ29udHJvbDogRm9ybUl0ZW1Db250cm9sRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTmdDb250cm9sLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIG5nQ29udHJvbHM6IFF1ZXJ5TGlzdDxOZ0NvbnRyb2w+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRm9ybUl0ZW1BZGRvbkRpcmVjdGl2ZSlcbiAgYWRkb25zOiBRdWVyeUxpc3Q8Rm9ybUl0ZW1BZGRvbkRpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGb3JtSXRlbUVycm9yRGlyZWN0aXZlKVxuICBlcnJvcnM6IFF1ZXJ5TGlzdDxGb3JtSXRlbUVycm9yRGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkcmVuKEZvcm1JdGVtSGludERpcmVjdGl2ZSlcbiAgaGludHM6IFF1ZXJ5TGlzdDxGb3JtSXRlbUhpbnREaXJlY3RpdmU+O1xuXG4gIGhhc0Vycm9yJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZXJyb3JDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgaGludENvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBwYXJlbnRGb3JtOiBOZ0Zvcm0gfCBGb3JtR3JvdXBEaXJlY3RpdmU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGdldCBmb3JtSXRlbVdpZHRoQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMud2lkdGhcbiAgICAgID8gdGhpcy5iZW0uZWxlbWVudCgnY29udGVudCcsIHsgW3RoaXMud2lkdGhdOiB0cnVlIH0pXG4gICAgICA6ICcnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgYXVpRm9ybTogRm9ybURpcmVjdGl2ZSxcbiAgICBAT3B0aW9uYWwoKSBuZ0Zvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgKSB7XG4gICAgdGhpcy5wYXJlbnRGb3JtID0gZm9ybUdyb3VwIHx8IG5nRm9ybTtcbiAgICBpZiAodGhpcy5hdWlGb3JtKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZUlucHV0c0Zyb21QYXJlbnQoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5oYXNFcnJvciQgPSB0aGlzLm5nQ29udHJvbHMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMubmdDb250cm9scyksXG4gICAgICBzd2l0Y2hNYXAoKGNvbnRyb2xzOiBRdWVyeUxpc3Q8TmdDb250cm9sPikgPT5cbiAgICAgICAgY29tYmluZUxhdGVzdChcbiAgICAgICAgICBjb250cm9scy5tYXAoY29udHJvbCA9PiB0aGlzLm1hcENvbnRyb2xTdGF0dXMoY29udHJvbCkpLFxuICAgICAgICApLnBpcGUobWFwKHN0YXR1c2VzID0+IHN0YXR1c2VzLnNvbWUoQm9vbGVhbikpKSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMuZXJyb3JDb3VudCQgPSB0aGlzLmVycm9ycy5jaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoZXJyb3JzID0+IGVycm9ycy5sZW5ndGgpLFxuICAgICAgc3RhcnRXaXRoKHRoaXMuZXJyb3JzLmxlbmd0aCksXG4gICAgKTtcblxuICAgIHRoaXMuaGludENvdW50JCA9IHRoaXMuaGludHMuY2hhbmdlcy5waXBlKFxuICAgICAgbWFwKGhpbnRzID0+IGhpbnRzLmxlbmd0aCksXG4gICAgICBzdGFydFdpdGgodGhpcy5oaW50cy5sZW5ndGgpLFxuICAgICk7XG4gIH1cblxuICBzdWJzY3JpYmVJbnB1dHNGcm9tUGFyZW50KCkge1xuICAgIHRoaXMuYXVpRm9ybS5sYWJlbFdpZHRoJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUod2lkdGggPT4ge1xuICAgICAgICB0aGlzLmxhYmVsV2lkdGggPSB3aWR0aDtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLmF1aUZvcm0ubGFiZWxQb3NpdGlvbiRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKHBvc2l0aW9uID0+IHtcbiAgICAgICAgdGhpcy5sYWJlbFBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgdGhpcy5hdWlGb3JtLmVtcHR5QWRkb24kXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKVxuICAgICAgLnN1YnNjcmliZShlbXB0eUFkZG9uID0+IHtcbiAgICAgICAgdGhpcy5lbXB0eUFkZG9uID0gZW1wdHlBZGRvbjtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG1hcENvbnRyb2xTdGF0dXMoY29udHJvbDogTmdDb250cm9sKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucGFyZW50Rm9ybVxuICAgICAgICA/IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKGNvbnRyb2wuc3RhdHVzKSksXG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgdGhpcy5wYXJlbnRGb3JtLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5wYXJlbnRGb3JtLnN0YXR1cyksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHRoaXMucGFyZW50Rm9ybS5uZ1N1Ym1pdCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXSkucGlwZShtYXAoKFtzdGF0dXNdOiBzdHJpbmdbXSkgPT4gc3RhdHVzKSlcbiAgICAgICAgOiBjb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICApLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChzdGF0dXM6IHN0cmluZykgPT5cbiAgICAgICAgICBzdGF0dXMgPT09ICdJTlZBTElEJyAmJiAoY29udHJvbC5kaXJ0eSB8fCB0aGlzLnBhcmVudEZvcm0/LnN1Ym1pdHRlZCksXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cImJlbS5ibG9jayhsYWJlbFBvc2l0aW9uKVwiXG4gIFtjbGFzcy5pc1BsYWluXT1cInBsYWluXCJcbiAgW2NsYXNzLmhhc0Vycm9yXT1cImhhc0Vycm9yJCB8IGFzeW5jXCJcbj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgYmVtLmVsZW1lbnQoXG4gICAgICAgICdsYWJlbC13cmFwcGVyJyxcbiAgICAgICAgeyByZXF1aXJlZDogISFpdGVtQ29udHJvbD8ucmVxdWlyZWQgfSxcbiAgICAgICAgbGFiZWxQb3NpdGlvblxuICAgICAgKVxuICAgIFwiXG4gICAgW2NsYXNzLmhhc0xhYmVsXT1cIiEhaXRlbUxhYmVsXCJcbiAgICBbc3R5bGUud2lkdGhdPVwibGFiZWxXaWR0aFwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFthdWlGb3JtSXRlbUxhYmVsXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhdWktZm9ybS1pdGVtX19jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImF1aS1mb3JtLWl0ZW1fX2NvbnRlbnRcIlxuICAgICAgW25nQ2xhc3NdPVwiZm9ybUl0ZW1XaWR0aENsYXNzXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZW1wdHlBZGRvbiB8fCBhZGRvbnM/Lmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwiYXVpLWZvcm0taXRlbV9fYWRkb24td3JhcHBlclwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthdWlGb3JtSXRlbUFkZG9uXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiKGhhc0Vycm9yJCB8IGFzeW5jKSAmJiAoZXJyb3JDb3VudCQgfCBhc3luYylcIlxuICAgICAgY2xhc3M9XCJhdWktZm9ybS1pdGVtX19lcnJvci13cmFwcGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYXVpRm9ybUl0ZW1FcnJvcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJoaW50Q291bnQkIHwgYXN5bmNcIlxuICAgICAgY2xhc3M9XCJhdWktZm9ybS1pdGVtX19oaW50LXdyYXBwZXJcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthdWlGb3JtSXRlbUhpbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3JtL2Zvcm0taXRlbS9mb3JtLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZm9ybS1pdGVtL2Zvcm0taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLEtBQUssRUFFTCxRQUFRLEVBRVIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBc0IsU0FBUyxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUVMLE9BQU8sRUFDUCxhQUFhLEVBQ2IsS0FBSyxFQUNMLEdBQUcsRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBTyxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhELE9BQU8sRUFBaUIsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsc0JBQXNCLEdBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFZOUIsTUFBTSxPQUFPLGlCQUFpQjtJQWtEVDtJQUNZO0lBbEQvQixHQUFHLEdBQVEsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBR3JDLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFHMUIsS0FBSyxDQUFnQjtJQUdyQixhQUFhLEdBQWtCLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFHbkQsVUFBVSxHQUFHLEtBQUssQ0FBQztJ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LFNBQVMsNERBR1Qsc0JBQXNCLHlDQUd0QixzQkFBc0Isd0NBR3RCLHFCQUFxQiw2QkNoRnhDLHVyQ0E2Q0Esb2lHREFZLE9BQU8sb0ZBQUUsSUFBSSx3RkFBRSxTQUFTOzsyRkFFdkIsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDOzswQkFxRGhDLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7NENBakRYLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJdkQsV0FBVztzQkFEVixZQUFZO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJekQsVUFBVTtzQkFEVCxlQUFlO3VCQUFDLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSWpELE1BQU07c0JBREwsZUFBZTt1QkFBQyxzQkFBc0I7Z0JBSXZDLE1BQU07c0JBREwsZUFBZTt1QkFBQyxzQkFBc0I7Z0JBSXZDLEtBQUs7c0JBREosZUFBZTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgbWVyZ2UsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIHB1Ymxpc2hSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybUl0ZW1XaWR0aCwgTGFiZWxQb3NpdGlvbiB9IGZyb20gJy4uL2Zvcm0udHlwZXMnO1xuaW1wb3J0IHtcbiAgRm9ybUl0ZW1BZGRvbkRpcmVjdGl2ZSxcbiAgRm9ybUl0ZW1Db250cm9sRGlyZWN0aXZlLFxuICBGb3JtSXRlbUVycm9yRGlyZWN0aXZlLFxuICBGb3JtSXRlbUhpbnREaXJlY3RpdmUsXG4gIEZvcm1JdGVtTGFiZWxEaXJlY3RpdmUsXG59IGZyb20gJy4uL2hlbHBlci1kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWZvcm0taXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzcywgTmdJZiwgQXN5bmNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktZm9ybS1pdGVtJyk7XG5cbiAgQElucHV0KClcbiAgbGFiZWxXaWR0aDogc3RyaW5nID0gbnVsbDtcblxuICBASW5wdXQoKVxuICB3aWR0aDogRm9ybUl0ZW1XaWR0aDtcblxuICBASW5wdXQoKVxuICBsYWJlbFBvc2l0aW9uOiBMYWJlbFBvc2l0aW9uID0gTGFiZWxQb3NpdGlvbi5SaWdodDtcblxuICBASW5wdXQoKVxuICBlbXB0eUFkZG9uID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcGxhaW4gPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkKEZvcm1JdGVtTGFiZWxEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBpdGVtTGFiZWw6IEZvcm1JdGVtTGFiZWxEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChGb3JtSXRlbUNvbnRyb2xEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBpdGVtQ29udHJvbDogRm9ybUl0ZW1Db250cm9sRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTmdDb250cm9sLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIG5nQ29udHJvbHM6IFF1ZXJ5TGlzdDxOZ0NvbnRyb2w+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRm9ybUl0ZW1BZGRvbkRpcmVjdGl2ZSlcbiAgYWRkb25zOiBRdWVyeUxpc3Q8Rm9ybUl0ZW1BZGRvbkRpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGb3JtSXRlbUVycm9yRGlyZWN0aXZlKVxuICBlcnJvcnM6IFF1ZXJ5TGlzdDxGb3JtSXRlbUVycm9yRGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkcmVuKEZvcm1JdGVtSGludERpcmVjdGl2ZSlcbiAgaGludHM6IFF1ZXJ5TGlzdDxGb3JtSXRlbUhpbnREaXJlY3RpdmU+O1xuXG4gIGhhc0Vycm9yJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZXJyb3JDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgaGludENvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBwYXJlbnRGb3JtOiBOZ0Zvcm0gfCBGb3JtR3JvdXBEaXJlY3RpdmU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGdldCBmb3JtSXRlbVdpZHRoQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMud2lkdGhcbiAgICAgID8gdGhpcy5iZW0uZWxlbWVudCgnY29udGVudCcsIHsgW3RoaXMud2lkdGhdOiB0cnVlIH0pXG4gICAgICA6ICcnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgYXVpRm9ybTogRm9ybURpcmVjdGl2ZSxcbiAgICBAT3B0aW9uYWwoKSBuZ0Zvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgKSB7XG4gICAgdGhpcy5wYXJlbnRGb3JtID0gZm9ybUdyb3VwIHx8IG5nRm9ybTtcbiAgICBpZiAodGhpcy5hdWlGb3JtKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZUlucHV0c0Zyb21QYXJlbnQoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5oYXNFcnJvciQgPSB0aGlzLm5nQ29udHJvbHMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMubmdDb250cm9scyksXG4gICAgICBzd2l0Y2hNYXAoKGNvbnRyb2xzOiBRdWVyeUxpc3Q8TmdDb250cm9sPikgPT5cbiAgICAgICAgY29tYmluZUxhdGVzdChcbiAgICAgICAgICBjb250cm9scy5tYXAoY29udHJvbCA9PiB0aGlzLm1hcENvbnRyb2xTdGF0dXMoY29udHJvbCkpLFxuICAgICAgICApLnBpcGUobWFwKHN0YXR1c2VzID0+IHN0YXR1c2VzLnNvbWUoQm9vbGVhbikpKSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMuZXJyb3JDb3VudCQgPSB0aGlzLmVycm9ycy5jaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoZXJyb3JzID0+IGVycm9ycy5sZW5ndGgpLFxuICAgICAgc3RhcnRXaXRoKHRoaXMuZXJyb3JzLmxlbmd0aCksXG4gICAgKTtcblxuICAgIHRoaXMuaGludENvdW50JCA9IHRoaXMuaGludHMuY2hhbmdlcy5waXBlKFxuICAgICAgbWFwKGhpbnRzID0+IGhpbnRzLmxlbmd0aCksXG4gICAgICBzdGFydFdpdGgodGhpcy5oaW50cy5sZW5ndGgpLFxuICAgICk7XG4gIH1cblxuICBzdWJzY3JpYmVJbnB1dHNGcm9tUGFyZW50KCkge1xuICAgIHRoaXMuYXVpRm9ybS5sYWJlbFdpZHRoJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUod2lkdGggPT4ge1xuICAgICAgICB0aGlzLmxhYmVsV2lkdGggPSB3aWR0aDtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLmF1aUZvcm0ubGFiZWxQb3NpdGlvbiRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKHBvc2l0aW9uID0+IHtcbiAgICAgICAgdGhpcy5sYWJlbFBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgdGhpcy5hdWlGb3JtLmVtcHR5QWRkb24kXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKVxuICAgICAgLnN1YnNjcmliZShlbXB0eUFkZG9uID0+IHtcbiAgICAgICAgdGhpcy5lbXB0eUFkZG9uID0gZW1wdHlBZGRvbjtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG1hcENvbnRyb2xTdGF0dXMoY29udHJvbDogTmdDb250cm9sKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucGFyZW50Rm9ybVxuICAgICAgICA/IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKGNvbnRyb2wuc3RhdHVzKSksXG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgdGhpcy5wYXJlbnRGb3JtLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5wYXJlbnRGb3JtLnN0YXR1cyksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHRoaXMucGFyZW50Rm9ybS5uZ1N1Ym1pdCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXSkucGlwZShtYXAoKFtzdGF0dXNdOiBzdHJpbmdbXSkgPT4gc3RhdHVzKSlcbiAgICAgICAgOiBjb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICApLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChzdGF0dXM6IHN0cmluZykgPT5cbiAgICAgICAgICBzdGF0dXMgPT09ICdJTlZBTElEJyAmJiAoY29udHJvbC5kaXJ0eSB8fCB0aGlzLnBhcmVudEZvcm0/LnN1Ym1pdHRlZCksXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cImJlbS5ibG9jayhsYWJlbFBvc2l0aW9uKVwiXG4gIFtjbGFzcy5pc1BsYWluXT1cInBsYWluXCJcbiAgW2NsYXNzLmhhc0Vycm9yXT1cImhhc0Vycm9yJCB8IGFzeW5jXCJcbj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgYmVtLmVsZW1lbnQoXG4gICAgICAgICdsYWJlbC13cmFwcGVyJyxcbiAgICAgICAgeyByZXF1aXJlZDogISFpdGVtQ29udHJvbD8ucmVxdWlyZWQgfSxcbiAgICAgICAgbGFiZWxQb3NpdGlvblxuICAgICAgKVxuICAgIFwiXG4gICAgW2NsYXNzLmhhc0xhYmVsXT1cIiEhaXRlbUxhYmVsXCJcbiAgICBbc3R5bGUud2lkdGhdPVwibGFiZWxXaWR0aFwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFthdWlGb3JtSXRlbUxhYmVsXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhdWktZm9ybS1pdGVtX19jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImF1aS1mb3JtLWl0ZW1fX2NvbnRlbnRcIlxuICAgICAgW25nQ2xhc3NdPVwiZm9ybUl0ZW1XaWR0aENsYXNzXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZW1wdHlBZGRvbiB8fCBhZGRvbnM/Lmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwiYXVpLWZvcm0taXRlbV9fYWRkb24td3JhcHBlclwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthdWlGb3JtSXRlbUFkZG9uXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiKGhhc0Vycm9yJCB8IGFzeW5jKSAmJiAoZXJyb3JDb3VudCQgfCBhc3luYylcIlxuICAgICAgY2xhc3M9XCJhdWktZm9ybS1pdGVtX19lcnJvci13cmFwcGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYXVpRm9ybUl0ZW1FcnJvcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJoaW50Q291bnQkIHwgYXN5bmNcIlxuICAgICAgY2xhc3M9XCJhdWktZm9ybS1pdGVtX19oaW50LXdyYXBwZXJcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthdWlGb3JtSXRlbUhpbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19