@siemens/ix-angular 3.2.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/READMEOSS.html +20 -20
- package/common/index.d.ts +170 -6
- package/fesm2022/siemens-ix-angular-common.mjs +38 -30
- package/fesm2022/siemens-ix-angular-common.mjs.map +1 -1
- package/fesm2022/siemens-ix-angular-standalone.mjs +1031 -932
- package/fesm2022/siemens-ix-angular-standalone.mjs.map +1 -1
- package/fesm2022/siemens-ix-angular.mjs +942 -660
- package/fesm2022/siemens-ix-angular.mjs.map +1 -1
- package/index.d.ts +1518 -9
- package/package.json +5 -11
- package/standalone/index.d.ts +1527 -9
- package/angular-component-lib/utils.d.ts +0 -9
- package/common/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -10
- package/common/directives/control-value-accessors/date-value-accessor.d.ts +0 -9
- package/common/directives/control-value-accessors/index.d.ts +0 -5
- package/common/directives/control-value-accessors/radio-value-accessor.d.ts +0 -14
- package/common/directives/control-value-accessors/select-value-accessor.d.ts +0 -9
- package/common/directives/control-value-accessors/text-value-accessor.d.ts +0 -9
- package/common/directives/control-value-accessors/value-accessor.d.ts +0 -30
- package/common/directives/dropdown-trigger.d.ts +0 -10
- package/common/directives/tree.d.ts +0 -26
- package/common/providers/modal/index.d.ts +0 -3
- package/common/providers/modal/modal-ref.d.ts +0 -21
- package/common/providers/modal/modal.config.d.ts +0 -6
- package/common/providers/modal/modal.service.d.ts +0 -20
- package/common/providers/toast/index.d.ts +0 -2
- package/common/providers/toast/toast.config.d.ts +0 -6
- package/common/providers/toast/toast.service.d.ts +0 -9
- package/common/utils/create-value-accessor-provider.d.ts +0 -2
- package/components.d.ts +0 -1374
- package/declare-components.d.ts +0 -2
- package/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -8
- package/directives/control-value-accessors/date-value-accessor.d.ts +0 -8
- package/directives/control-value-accessors/index.d.ts +0 -5
- package/directives/control-value-accessors/radio-value-accessor.d.ts +0 -8
- package/directives/control-value-accessors/select-value-accessor.d.ts +0 -8
- package/directives/control-value-accessors/text-value-accessor.d.ts +0 -8
- package/directives/dropdown-trigger.d.ts +0 -10
- package/esm2022/angular-component-lib/utils.mjs +0 -59
- package/esm2022/common/directives/control-value-accessors/boolean-value-accessor.mjs +0 -32
- package/esm2022/common/directives/control-value-accessors/date-value-accessor.mjs +0 -28
- package/esm2022/common/directives/control-value-accessors/index.mjs +0 -14
- package/esm2022/common/directives/control-value-accessors/radio-value-accessor.mjs +0 -50
- package/esm2022/common/directives/control-value-accessors/select-value-accessor.mjs +0 -28
- package/esm2022/common/directives/control-value-accessors/text-value-accessor.mjs +0 -31
- package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +0 -157
- package/esm2022/common/directives/dropdown-trigger.mjs +0 -28
- package/esm2022/common/directives/tree.mjs +0 -70
- package/esm2022/common/index.mjs +0 -15
- package/esm2022/common/providers/modal/index.mjs +0 -11
- package/esm2022/common/providers/modal/modal-ref.mjs +0 -41
- package/esm2022/common/providers/modal/modal.config.mjs +0 -10
- package/esm2022/common/providers/modal/modal.service.mjs +0 -90
- package/esm2022/common/providers/toast/index.mjs +0 -11
- package/esm2022/common/providers/toast/toast.config.mjs +0 -10
- package/esm2022/common/providers/toast/toast.service.mjs +0 -67
- package/esm2022/common/siemens-ix-angular-common.mjs +0 -5
- package/esm2022/common/utils/create-value-accessor-provider.mjs +0 -17
- package/esm2022/components.mjs +0 -2865
- package/esm2022/declare-components.mjs +0 -108
- package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +0 -26
- package/esm2022/directives/control-value-accessors/date-value-accessor.mjs +0 -26
- package/esm2022/directives/control-value-accessors/index.mjs +0 -14
- package/esm2022/directives/control-value-accessors/radio-value-accessor.mjs +0 -26
- package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +0 -26
- package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +0 -26
- package/esm2022/directives/dropdown-trigger.mjs +0 -31
- package/esm2022/index.mjs +0 -19
- package/esm2022/ix-icon.mjs +0 -40
- package/esm2022/module.mjs +0 -78
- package/esm2022/providers/modal/index.mjs +0 -11
- package/esm2022/providers/modal/modal.service.mjs +0 -28
- package/esm2022/providers/theme/index.mjs +0 -10
- package/esm2022/providers/theme/theme.service.mjs +0 -40
- package/esm2022/providers/toast/index.mjs +0 -2
- package/esm2022/providers/toast/toast.service.mjs +0 -34
- package/esm2022/siemens-ix-angular.mjs +0 -5
- package/esm2022/standalone/angular-component-lib/utils.mjs +0 -59
- package/esm2022/standalone/components.mjs +0 -3188
- package/esm2022/standalone/directives/control-value-accessors/boolean-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/control-value-accessors/date-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/control-value-accessors/index.mjs +0 -14
- package/esm2022/standalone/directives/control-value-accessors/radio-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/control-value-accessors/select-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/control-value-accessors/text-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/dropdown-trigger.mjs +0 -32
- package/esm2022/standalone/index.mjs +0 -18
- package/esm2022/standalone/internal-components.mjs +0 -25
- package/esm2022/standalone/ix-icon.mjs +0 -44
- package/esm2022/standalone/providers/modal.mjs +0 -28
- package/esm2022/standalone/providers/toast.mjs +0 -35
- package/esm2022/standalone/siemens-ix-angular-standalone.mjs +0 -5
- package/esm2022/standalone/tree.mjs +0 -41
- package/esm2022/standalone/utils/value-accessor-directives.mjs +0 -23
- package/esm2022/tree.mjs +0 -39
- package/esm2022/utils/app-initialize.mjs +0 -25
- package/ix-icon.d.ts +0 -12
- package/module.d.ts +0 -17
- package/providers/modal/index.d.ts +0 -2
- package/providers/modal/modal.service.d.ts +0 -15
- package/providers/theme/index.d.ts +0 -1
- package/providers/theme/theme.service.d.ts +0 -15
- package/providers/toast/index.d.ts +0 -2
- package/providers/toast/toast.service.d.ts +0 -11
- package/standalone/angular-component-lib/utils.d.ts +0 -9
- package/standalone/components.d.ts +0 -1374
- package/standalone/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -11
- package/standalone/directives/control-value-accessors/date-value-accessor.d.ts +0 -11
- package/standalone/directives/control-value-accessors/index.d.ts +0 -5
- package/standalone/directives/control-value-accessors/radio-value-accessor.d.ts +0 -11
- package/standalone/directives/control-value-accessors/select-value-accessor.d.ts +0 -11
- package/standalone/directives/control-value-accessors/text-value-accessor.d.ts +0 -11
- package/standalone/directives/dropdown-trigger.d.ts +0 -10
- package/standalone/internal-components.d.ts +0 -1
- package/standalone/ix-icon.d.ts +0 -9
- package/standalone/providers/modal.d.ts +0 -11
- package/standalone/providers/toast.d.ts +0 -11
- package/standalone/tree.d.ts +0 -9
- package/standalone/utils/value-accessor-directives.d.ts +0 -16
- package/tree.d.ts +0 -9
- package/utils/app-initialize.d.ts +0 -1
package/esm2022/components.mjs
DELETED
|
@@ -1,2865 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
/* auto-generated angular directive proxies */
|
|
4
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
5
|
-
import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
let IxActionCard = class IxActionCard {
|
|
8
|
-
z;
|
|
9
|
-
el;
|
|
10
|
-
constructor(c, r, z) {
|
|
11
|
-
this.z = z;
|
|
12
|
-
c.detach();
|
|
13
|
-
this.el = r.nativeElement;
|
|
14
|
-
}
|
|
15
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxActionCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxActionCard, selector: "ix-action-card", inputs: { ariaLabelCard: "ariaLabelCard", ariaLabelIcon: "ariaLabelIcon", heading: "heading", icon: "icon", selected: "selected", subheading: "subheading", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
|
-
};
|
|
18
|
-
IxActionCard = __decorate([
|
|
19
|
-
ProxyCmp({
|
|
20
|
-
inputs: ['ariaLabelCard', 'ariaLabelIcon', 'heading', 'icon', 'selected', 'subheading', 'variant']
|
|
21
|
-
})
|
|
22
|
-
], IxActionCard);
|
|
23
|
-
export { IxActionCard };
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxActionCard, decorators: [{
|
|
25
|
-
type: Component,
|
|
26
|
-
args: [{
|
|
27
|
-
selector: 'ix-action-card',
|
|
28
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
29
|
-
template: '<ng-content></ng-content>',
|
|
30
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
31
|
-
inputs: ['ariaLabelCard', 'ariaLabelIcon', 'heading', 'icon', 'selected', 'subheading', 'variant'],
|
|
32
|
-
}]
|
|
33
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
34
|
-
let IxApplication = class IxApplication {
|
|
35
|
-
z;
|
|
36
|
-
el;
|
|
37
|
-
constructor(c, r, z) {
|
|
38
|
-
this.z = z;
|
|
39
|
-
c.detach();
|
|
40
|
-
this.el = r.nativeElement;
|
|
41
|
-
}
|
|
42
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxApplication, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxApplication, selector: "ix-application", inputs: { appSwitchConfig: "appSwitchConfig", breakpoints: "breakpoints", forceBreakpoint: "forceBreakpoint", theme: "theme", themeSystemAppearance: "themeSystemAppearance" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
44
|
-
};
|
|
45
|
-
IxApplication = __decorate([
|
|
46
|
-
ProxyCmp({
|
|
47
|
-
inputs: ['appSwitchConfig', 'breakpoints', 'forceBreakpoint', 'theme', 'themeSystemAppearance']
|
|
48
|
-
})
|
|
49
|
-
], IxApplication);
|
|
50
|
-
export { IxApplication };
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxApplication, decorators: [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{
|
|
54
|
-
selector: 'ix-application',
|
|
55
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
56
|
-
template: '<ng-content></ng-content>',
|
|
57
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
58
|
-
inputs: ['appSwitchConfig', 'breakpoints', 'forceBreakpoint', 'theme', 'themeSystemAppearance'],
|
|
59
|
-
}]
|
|
60
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
61
|
-
let IxApplicationHeader = class IxApplicationHeader {
|
|
62
|
-
z;
|
|
63
|
-
el;
|
|
64
|
-
constructor(c, r, z) {
|
|
65
|
-
this.z = z;
|
|
66
|
-
c.detach();
|
|
67
|
-
this.el = r.nativeElement;
|
|
68
|
-
proxyOutputs(this, this.el, ['menuToggle', 'openAppSwitch']);
|
|
69
|
-
}
|
|
70
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxApplicationHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxApplicationHeader, selector: "ix-application-header", inputs: { ariaLabelAppSwitchIconButton: "ariaLabelAppSwitchIconButton", ariaLabelMenuExpandIconButton: "ariaLabelMenuExpandIconButton", ariaLabelMoreMenuIconButton: "ariaLabelMoreMenuIconButton", name: "name", showMenu: "showMenu" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
72
|
-
};
|
|
73
|
-
IxApplicationHeader = __decorate([
|
|
74
|
-
ProxyCmp({
|
|
75
|
-
inputs: ['ariaLabelAppSwitchIconButton', 'ariaLabelMenuExpandIconButton', 'ariaLabelMoreMenuIconButton', 'name', 'showMenu']
|
|
76
|
-
})
|
|
77
|
-
], IxApplicationHeader);
|
|
78
|
-
export { IxApplicationHeader };
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxApplicationHeader, decorators: [{
|
|
80
|
-
type: Component,
|
|
81
|
-
args: [{
|
|
82
|
-
selector: 'ix-application-header',
|
|
83
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
84
|
-
template: '<ng-content></ng-content>',
|
|
85
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
86
|
-
inputs: ['ariaLabelAppSwitchIconButton', 'ariaLabelMenuExpandIconButton', 'ariaLabelMoreMenuIconButton', 'name', 'showMenu'],
|
|
87
|
-
}]
|
|
88
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
89
|
-
let IxAvatar = class IxAvatar {
|
|
90
|
-
z;
|
|
91
|
-
el;
|
|
92
|
-
constructor(c, r, z) {
|
|
93
|
-
this.z = z;
|
|
94
|
-
c.detach();
|
|
95
|
-
this.el = r.nativeElement;
|
|
96
|
-
}
|
|
97
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxAvatar, selector: "ix-avatar", inputs: { a11yLabel: "a11yLabel", extra: "extra", image: "image", initials: "initials", username: "username" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
99
|
-
};
|
|
100
|
-
IxAvatar = __decorate([
|
|
101
|
-
ProxyCmp({
|
|
102
|
-
inputs: ['a11yLabel', 'extra', 'image', 'initials', 'username']
|
|
103
|
-
})
|
|
104
|
-
], IxAvatar);
|
|
105
|
-
export { IxAvatar };
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxAvatar, decorators: [{
|
|
107
|
-
type: Component,
|
|
108
|
-
args: [{
|
|
109
|
-
selector: 'ix-avatar',
|
|
110
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
111
|
-
template: '<ng-content></ng-content>',
|
|
112
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
113
|
-
inputs: ['a11yLabel', 'extra', 'image', 'initials', 'username'],
|
|
114
|
-
}]
|
|
115
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
116
|
-
let IxBasicNavigation = class IxBasicNavigation {
|
|
117
|
-
z;
|
|
118
|
-
el;
|
|
119
|
-
constructor(c, r, z) {
|
|
120
|
-
this.z = z;
|
|
121
|
-
c.detach();
|
|
122
|
-
this.el = r.nativeElement;
|
|
123
|
-
}
|
|
124
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxBasicNavigation, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxBasicNavigation, selector: "ix-basic-navigation", inputs: { applicationName: "applicationName", breakpoints: "breakpoints", forceBreakpoint: "forceBreakpoint", hideHeader: "hideHeader" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
126
|
-
};
|
|
127
|
-
IxBasicNavigation = __decorate([
|
|
128
|
-
ProxyCmp({
|
|
129
|
-
inputs: ['applicationName', 'breakpoints', 'forceBreakpoint', 'hideHeader']
|
|
130
|
-
})
|
|
131
|
-
], IxBasicNavigation);
|
|
132
|
-
export { IxBasicNavigation };
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxBasicNavigation, decorators: [{
|
|
134
|
-
type: Component,
|
|
135
|
-
args: [{
|
|
136
|
-
selector: 'ix-basic-navigation',
|
|
137
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
138
|
-
template: '<ng-content></ng-content>',
|
|
139
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
140
|
-
inputs: ['applicationName', 'breakpoints', 'forceBreakpoint', 'hideHeader'],
|
|
141
|
-
}]
|
|
142
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
143
|
-
let IxBlind = class IxBlind {
|
|
144
|
-
z;
|
|
145
|
-
el;
|
|
146
|
-
constructor(c, r, z) {
|
|
147
|
-
this.z = z;
|
|
148
|
-
c.detach();
|
|
149
|
-
this.el = r.nativeElement;
|
|
150
|
-
proxyOutputs(this, this.el, ['collapsedChange']);
|
|
151
|
-
}
|
|
152
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxBlind, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxBlind, selector: "ix-blind", inputs: { collapsed: "collapsed", icon: "icon", label: "label", sublabel: "sublabel", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
154
|
-
};
|
|
155
|
-
IxBlind = __decorate([
|
|
156
|
-
ProxyCmp({
|
|
157
|
-
inputs: ['collapsed', 'icon', 'label', 'sublabel', 'variant']
|
|
158
|
-
})
|
|
159
|
-
], IxBlind);
|
|
160
|
-
export { IxBlind };
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxBlind, decorators: [{
|
|
162
|
-
type: Component,
|
|
163
|
-
args: [{
|
|
164
|
-
selector: 'ix-blind',
|
|
165
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
166
|
-
template: '<ng-content></ng-content>',
|
|
167
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
168
|
-
inputs: ['collapsed', 'icon', 'label', 'sublabel', 'variant'],
|
|
169
|
-
}]
|
|
170
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
171
|
-
let IxBreadcrumb = class IxBreadcrumb {
|
|
172
|
-
z;
|
|
173
|
-
el;
|
|
174
|
-
constructor(c, r, z) {
|
|
175
|
-
this.z = z;
|
|
176
|
-
c.detach();
|
|
177
|
-
this.el = r.nativeElement;
|
|
178
|
-
proxyOutputs(this, this.el, ['itemClick', 'nextClick']);
|
|
179
|
-
}
|
|
180
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxBreadcrumb, selector: "ix-breadcrumb", inputs: { ariaLabelPreviousButton: "ariaLabelPreviousButton", ghost: "ghost", nextItems: "nextItems", visibleItemCount: "visibleItemCount" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
182
|
-
};
|
|
183
|
-
IxBreadcrumb = __decorate([
|
|
184
|
-
ProxyCmp({
|
|
185
|
-
inputs: ['ariaLabelPreviousButton', 'ghost', 'nextItems', 'visibleItemCount']
|
|
186
|
-
})
|
|
187
|
-
], IxBreadcrumb);
|
|
188
|
-
export { IxBreadcrumb };
|
|
189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxBreadcrumb, decorators: [{
|
|
190
|
-
type: Component,
|
|
191
|
-
args: [{
|
|
192
|
-
selector: 'ix-breadcrumb',
|
|
193
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
194
|
-
template: '<ng-content></ng-content>',
|
|
195
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
196
|
-
inputs: ['ariaLabelPreviousButton', 'ghost', 'nextItems', 'visibleItemCount'],
|
|
197
|
-
}]
|
|
198
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
199
|
-
let IxBreadcrumbItem = class IxBreadcrumbItem {
|
|
200
|
-
z;
|
|
201
|
-
el;
|
|
202
|
-
constructor(c, r, z) {
|
|
203
|
-
this.z = z;
|
|
204
|
-
c.detach();
|
|
205
|
-
this.el = r.nativeElement;
|
|
206
|
-
}
|
|
207
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxBreadcrumbItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
208
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxBreadcrumbItem, selector: "ix-breadcrumb-item", inputs: { ariaLabelButton: "ariaLabelButton", icon: "icon", label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
209
|
-
};
|
|
210
|
-
IxBreadcrumbItem = __decorate([
|
|
211
|
-
ProxyCmp({
|
|
212
|
-
inputs: ['ariaLabelButton', 'icon', 'label']
|
|
213
|
-
})
|
|
214
|
-
], IxBreadcrumbItem);
|
|
215
|
-
export { IxBreadcrumbItem };
|
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxBreadcrumbItem, decorators: [{
|
|
217
|
-
type: Component,
|
|
218
|
-
args: [{
|
|
219
|
-
selector: 'ix-breadcrumb-item',
|
|
220
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
221
|
-
template: '<ng-content></ng-content>',
|
|
222
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
223
|
-
inputs: ['ariaLabelButton', 'icon', 'label'],
|
|
224
|
-
}]
|
|
225
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
226
|
-
let IxButton = class IxButton {
|
|
227
|
-
z;
|
|
228
|
-
el;
|
|
229
|
-
constructor(c, r, z) {
|
|
230
|
-
this.z = z;
|
|
231
|
-
c.detach();
|
|
232
|
-
this.el = r.nativeElement;
|
|
233
|
-
}
|
|
234
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
235
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxButton, selector: "ix-button", inputs: { ariaLabelButton: "ariaLabelButton", disabled: "disabled", form: "form", ghost: "ghost", icon: "icon", loading: "loading", outline: "outline", type: "type", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
236
|
-
};
|
|
237
|
-
IxButton = __decorate([
|
|
238
|
-
ProxyCmp({
|
|
239
|
-
inputs: ['ariaLabelButton', 'disabled', 'form', 'ghost', 'icon', 'loading', 'outline', 'type', 'variant']
|
|
240
|
-
})
|
|
241
|
-
], IxButton);
|
|
242
|
-
export { IxButton };
|
|
243
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxButton, decorators: [{
|
|
244
|
-
type: Component,
|
|
245
|
-
args: [{
|
|
246
|
-
selector: 'ix-button',
|
|
247
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
248
|
-
template: '<ng-content></ng-content>',
|
|
249
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
250
|
-
inputs: ['ariaLabelButton', 'disabled', 'form', 'ghost', 'icon', 'loading', 'outline', 'type', 'variant'],
|
|
251
|
-
}]
|
|
252
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
253
|
-
let IxCard = class IxCard {
|
|
254
|
-
z;
|
|
255
|
-
el;
|
|
256
|
-
constructor(c, r, z) {
|
|
257
|
-
this.z = z;
|
|
258
|
-
c.detach();
|
|
259
|
-
this.el = r.nativeElement;
|
|
260
|
-
}
|
|
261
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
262
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCard, selector: "ix-card", inputs: { selected: "selected", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
263
|
-
};
|
|
264
|
-
IxCard = __decorate([
|
|
265
|
-
ProxyCmp({
|
|
266
|
-
inputs: ['selected', 'variant']
|
|
267
|
-
})
|
|
268
|
-
], IxCard);
|
|
269
|
-
export { IxCard };
|
|
270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCard, decorators: [{
|
|
271
|
-
type: Component,
|
|
272
|
-
args: [{
|
|
273
|
-
selector: 'ix-card',
|
|
274
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
275
|
-
template: '<ng-content></ng-content>',
|
|
276
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
277
|
-
inputs: ['selected', 'variant'],
|
|
278
|
-
}]
|
|
279
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
280
|
-
let IxCardAccordion = class IxCardAccordion {
|
|
281
|
-
z;
|
|
282
|
-
el;
|
|
283
|
-
constructor(c, r, z) {
|
|
284
|
-
this.z = z;
|
|
285
|
-
c.detach();
|
|
286
|
-
this.el = r.nativeElement;
|
|
287
|
-
}
|
|
288
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCardAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
289
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCardAccordion, selector: "ix-card-accordion", inputs: { ariaLabelExpandButton: "ariaLabelExpandButton", collapse: "collapse" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
290
|
-
};
|
|
291
|
-
IxCardAccordion = __decorate([
|
|
292
|
-
ProxyCmp({
|
|
293
|
-
inputs: ['ariaLabelExpandButton', 'collapse']
|
|
294
|
-
})
|
|
295
|
-
], IxCardAccordion);
|
|
296
|
-
export { IxCardAccordion };
|
|
297
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCardAccordion, decorators: [{
|
|
298
|
-
type: Component,
|
|
299
|
-
args: [{
|
|
300
|
-
selector: 'ix-card-accordion',
|
|
301
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
302
|
-
template: '<ng-content></ng-content>',
|
|
303
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
304
|
-
inputs: ['ariaLabelExpandButton', 'collapse'],
|
|
305
|
-
}]
|
|
306
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
307
|
-
let IxCardContent = class IxCardContent {
|
|
308
|
-
z;
|
|
309
|
-
el;
|
|
310
|
-
constructor(c, r, z) {
|
|
311
|
-
this.z = z;
|
|
312
|
-
c.detach();
|
|
313
|
-
this.el = r.nativeElement;
|
|
314
|
-
}
|
|
315
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCardContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
316
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCardContent, selector: "ix-card-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
317
|
-
};
|
|
318
|
-
IxCardContent = __decorate([
|
|
319
|
-
ProxyCmp({})
|
|
320
|
-
], IxCardContent);
|
|
321
|
-
export { IxCardContent };
|
|
322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCardContent, decorators: [{
|
|
323
|
-
type: Component,
|
|
324
|
-
args: [{
|
|
325
|
-
selector: 'ix-card-content',
|
|
326
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
327
|
-
template: '<ng-content></ng-content>',
|
|
328
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
329
|
-
inputs: [],
|
|
330
|
-
}]
|
|
331
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
332
|
-
let IxCardList = class IxCardList {
|
|
333
|
-
z;
|
|
334
|
-
el;
|
|
335
|
-
constructor(c, r, z) {
|
|
336
|
-
this.z = z;
|
|
337
|
-
c.detach();
|
|
338
|
-
this.el = r.nativeElement;
|
|
339
|
-
proxyOutputs(this, this.el, ['collapseChanged', 'showAllClick', 'showMoreCardClick']);
|
|
340
|
-
}
|
|
341
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCardList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
342
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCardList, selector: "ix-card-list", inputs: { ariaLabelExpandButton: "ariaLabelExpandButton", collapse: "collapse", hideShowAll: "hideShowAll", i18nMoreCards: "i18nMoreCards", i18nShowAll: "i18nShowAll", label: "label", listStyle: "listStyle", showAllCount: "showAllCount", suppressOverflowHandling: "suppressOverflowHandling" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
343
|
-
};
|
|
344
|
-
IxCardList = __decorate([
|
|
345
|
-
ProxyCmp({
|
|
346
|
-
inputs: ['ariaLabelExpandButton', 'collapse', 'hideShowAll', 'i18nMoreCards', 'i18nShowAll', 'label', 'listStyle', 'showAllCount', 'suppressOverflowHandling']
|
|
347
|
-
})
|
|
348
|
-
], IxCardList);
|
|
349
|
-
export { IxCardList };
|
|
350
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCardList, decorators: [{
|
|
351
|
-
type: Component,
|
|
352
|
-
args: [{
|
|
353
|
-
selector: 'ix-card-list',
|
|
354
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
355
|
-
template: '<ng-content></ng-content>',
|
|
356
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
357
|
-
inputs: ['ariaLabelExpandButton', 'collapse', 'hideShowAll', 'i18nMoreCards', 'i18nShowAll', 'label', 'listStyle', 'showAllCount', 'suppressOverflowHandling'],
|
|
358
|
-
}]
|
|
359
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
360
|
-
let IxCardTitle = class IxCardTitle {
|
|
361
|
-
z;
|
|
362
|
-
el;
|
|
363
|
-
constructor(c, r, z) {
|
|
364
|
-
this.z = z;
|
|
365
|
-
c.detach();
|
|
366
|
-
this.el = r.nativeElement;
|
|
367
|
-
}
|
|
368
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCardTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
369
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCardTitle, selector: "ix-card-title", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
370
|
-
};
|
|
371
|
-
IxCardTitle = __decorate([
|
|
372
|
-
ProxyCmp({})
|
|
373
|
-
], IxCardTitle);
|
|
374
|
-
export { IxCardTitle };
|
|
375
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCardTitle, decorators: [{
|
|
376
|
-
type: Component,
|
|
377
|
-
args: [{
|
|
378
|
-
selector: 'ix-card-title',
|
|
379
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
380
|
-
template: '<ng-content></ng-content>',
|
|
381
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
382
|
-
inputs: [],
|
|
383
|
-
}]
|
|
384
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
385
|
-
let IxCategoryFilter = class IxCategoryFilter {
|
|
386
|
-
z;
|
|
387
|
-
el;
|
|
388
|
-
constructor(c, r, z) {
|
|
389
|
-
this.z = z;
|
|
390
|
-
c.detach();
|
|
391
|
-
this.el = r.nativeElement;
|
|
392
|
-
proxyOutputs(this, this.el, ['categoryChanged', 'inputChanged', 'filterChanged', 'filterCleared']);
|
|
393
|
-
}
|
|
394
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCategoryFilter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
395
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCategoryFilter, selector: "ix-category-filter", inputs: { ariaLabelFilterInput: "ariaLabelFilterInput", ariaLabelOperatorButton: "ariaLabelOperatorButton", ariaLabelResetButton: "ariaLabelResetButton", categories: "categories", disabled: "disabled", filterState: "filterState", hideIcon: "hideIcon", i18nPlainText: "i18nPlainText", icon: "icon", labelCategories: "labelCategories", nonSelectableCategories: "nonSelectableCategories", placeholder: "placeholder", readonly: "readonly", repeatCategories: "repeatCategories", staticOperator: "staticOperator", suggestions: "suggestions" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
396
|
-
};
|
|
397
|
-
IxCategoryFilter = __decorate([
|
|
398
|
-
ProxyCmp({
|
|
399
|
-
inputs: ['ariaLabelFilterInput', 'ariaLabelOperatorButton', 'ariaLabelResetButton', 'categories', 'disabled', 'filterState', 'hideIcon', 'i18nPlainText', 'icon', 'labelCategories', 'nonSelectableCategories', 'placeholder', 'readonly', 'repeatCategories', 'staticOperator', 'suggestions']
|
|
400
|
-
})
|
|
401
|
-
], IxCategoryFilter);
|
|
402
|
-
export { IxCategoryFilter };
|
|
403
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCategoryFilter, decorators: [{
|
|
404
|
-
type: Component,
|
|
405
|
-
args: [{
|
|
406
|
-
selector: 'ix-category-filter',
|
|
407
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
408
|
-
template: '<ng-content></ng-content>',
|
|
409
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
410
|
-
inputs: ['ariaLabelFilterInput', 'ariaLabelOperatorButton', 'ariaLabelResetButton', 'categories', 'disabled', 'filterState', 'hideIcon', 'i18nPlainText', 'icon', 'labelCategories', 'nonSelectableCategories', 'placeholder', 'readonly', 'repeatCategories', 'staticOperator', 'suggestions'],
|
|
411
|
-
}]
|
|
412
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
413
|
-
let IxCheckbox = class IxCheckbox {
|
|
414
|
-
z;
|
|
415
|
-
el;
|
|
416
|
-
constructor(c, r, z) {
|
|
417
|
-
this.z = z;
|
|
418
|
-
c.detach();
|
|
419
|
-
this.el = r.nativeElement;
|
|
420
|
-
proxyOutputs(this, this.el, ['checkedChange', 'valueChange', 'ixBlur']);
|
|
421
|
-
}
|
|
422
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
423
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCheckbox, selector: "ix-checkbox", inputs: { checked: "checked", disabled: "disabled", indeterminate: "indeterminate", label: "label", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
424
|
-
};
|
|
425
|
-
IxCheckbox = __decorate([
|
|
426
|
-
ProxyCmp({
|
|
427
|
-
inputs: ['checked', 'disabled', 'indeterminate', 'label', 'name', 'required', 'value']
|
|
428
|
-
})
|
|
429
|
-
], IxCheckbox);
|
|
430
|
-
export { IxCheckbox };
|
|
431
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCheckbox, decorators: [{
|
|
432
|
-
type: Component,
|
|
433
|
-
args: [{
|
|
434
|
-
selector: 'ix-checkbox',
|
|
435
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
436
|
-
template: '<ng-content></ng-content>',
|
|
437
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
438
|
-
inputs: ['checked', 'disabled', 'indeterminate', 'label', 'name', 'required', 'value'],
|
|
439
|
-
}]
|
|
440
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
441
|
-
let IxCheckboxGroup = class IxCheckboxGroup {
|
|
442
|
-
z;
|
|
443
|
-
el;
|
|
444
|
-
constructor(c, r, z) {
|
|
445
|
-
this.z = z;
|
|
446
|
-
c.detach();
|
|
447
|
-
this.el = r.nativeElement;
|
|
448
|
-
}
|
|
449
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCheckboxGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
450
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCheckboxGroup, selector: "ix-checkbox-group", inputs: { direction: "direction", helperText: "helperText", infoText: "infoText", invalidText: "invalidText", label: "label", showTextAsTooltip: "showTextAsTooltip", validText: "validText", warningText: "warningText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
451
|
-
};
|
|
452
|
-
IxCheckboxGroup = __decorate([
|
|
453
|
-
ProxyCmp({
|
|
454
|
-
inputs: ['direction', 'helperText', 'infoText', 'invalidText', 'label', 'showTextAsTooltip', 'validText', 'warningText']
|
|
455
|
-
})
|
|
456
|
-
], IxCheckboxGroup);
|
|
457
|
-
export { IxCheckboxGroup };
|
|
458
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCheckboxGroup, decorators: [{
|
|
459
|
-
type: Component,
|
|
460
|
-
args: [{
|
|
461
|
-
selector: 'ix-checkbox-group',
|
|
462
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
463
|
-
template: '<ng-content></ng-content>',
|
|
464
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
465
|
-
inputs: ['direction', 'helperText', 'infoText', 'invalidText', 'label', 'showTextAsTooltip', 'validText', 'warningText'],
|
|
466
|
-
}]
|
|
467
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
468
|
-
let IxChip = class IxChip {
|
|
469
|
-
z;
|
|
470
|
-
el;
|
|
471
|
-
constructor(c, r, z) {
|
|
472
|
-
this.z = z;
|
|
473
|
-
c.detach();
|
|
474
|
-
this.el = r.nativeElement;
|
|
475
|
-
proxyOutputs(this, this.el, ['closeChip']);
|
|
476
|
-
}
|
|
477
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxChip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
478
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxChip, selector: "ix-chip", inputs: { active: "active", ariaLabelCloseButton: "ariaLabelCloseButton", background: "background", centerContent: "centerContent", chipColor: "chipColor", closable: "closable", icon: "icon", outline: "outline", tooltipText: "tooltipText", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
479
|
-
};
|
|
480
|
-
IxChip = __decorate([
|
|
481
|
-
ProxyCmp({
|
|
482
|
-
inputs: ['active', 'ariaLabelCloseButton', 'background', 'centerContent', 'chipColor', 'closable', 'icon', 'outline', 'tooltipText', 'variant']
|
|
483
|
-
})
|
|
484
|
-
], IxChip);
|
|
485
|
-
export { IxChip };
|
|
486
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxChip, decorators: [{
|
|
487
|
-
type: Component,
|
|
488
|
-
args: [{
|
|
489
|
-
selector: 'ix-chip',
|
|
490
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
491
|
-
template: '<ng-content></ng-content>',
|
|
492
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
493
|
-
inputs: ['active', 'ariaLabelCloseButton', 'background', 'centerContent', 'chipColor', 'closable', 'icon', 'outline', 'tooltipText', 'variant'],
|
|
494
|
-
}]
|
|
495
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
496
|
-
let IxCol = class IxCol {
|
|
497
|
-
z;
|
|
498
|
-
el;
|
|
499
|
-
constructor(c, r, z) {
|
|
500
|
-
this.z = z;
|
|
501
|
-
c.detach();
|
|
502
|
-
this.el = r.nativeElement;
|
|
503
|
-
}
|
|
504
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCol, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
505
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCol, selector: "ix-col", inputs: { size: "size", sizeLg: "sizeLg", sizeMd: "sizeMd", sizeSm: "sizeSm" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
506
|
-
};
|
|
507
|
-
IxCol = __decorate([
|
|
508
|
-
ProxyCmp({
|
|
509
|
-
inputs: ['size', 'sizeLg', 'sizeMd', 'sizeSm']
|
|
510
|
-
})
|
|
511
|
-
], IxCol);
|
|
512
|
-
export { IxCol };
|
|
513
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCol, decorators: [{
|
|
514
|
-
type: Component,
|
|
515
|
-
args: [{
|
|
516
|
-
selector: 'ix-col',
|
|
517
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
518
|
-
template: '<ng-content></ng-content>',
|
|
519
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
520
|
-
inputs: ['size', 'sizeLg', 'sizeMd', 'sizeSm'],
|
|
521
|
-
}]
|
|
522
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
523
|
-
let IxContent = class IxContent {
|
|
524
|
-
z;
|
|
525
|
-
el;
|
|
526
|
-
constructor(c, r, z) {
|
|
527
|
-
this.z = z;
|
|
528
|
-
c.detach();
|
|
529
|
-
this.el = r.nativeElement;
|
|
530
|
-
}
|
|
531
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
532
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxContent, selector: "ix-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
533
|
-
};
|
|
534
|
-
IxContent = __decorate([
|
|
535
|
-
ProxyCmp({})
|
|
536
|
-
], IxContent);
|
|
537
|
-
export { IxContent };
|
|
538
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxContent, decorators: [{
|
|
539
|
-
type: Component,
|
|
540
|
-
args: [{
|
|
541
|
-
selector: 'ix-content',
|
|
542
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
543
|
-
template: '<ng-content></ng-content>',
|
|
544
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
545
|
-
inputs: [],
|
|
546
|
-
}]
|
|
547
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
548
|
-
let IxContentHeader = class IxContentHeader {
|
|
549
|
-
z;
|
|
550
|
-
el;
|
|
551
|
-
constructor(c, r, z) {
|
|
552
|
-
this.z = z;
|
|
553
|
-
c.detach();
|
|
554
|
-
this.el = r.nativeElement;
|
|
555
|
-
proxyOutputs(this, this.el, ['backButtonClick']);
|
|
556
|
-
}
|
|
557
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxContentHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
558
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxContentHeader, selector: "ix-content-header", inputs: { hasBackButton: "hasBackButton", headerSubtitle: "headerSubtitle", headerTitle: "headerTitle", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
559
|
-
};
|
|
560
|
-
IxContentHeader = __decorate([
|
|
561
|
-
ProxyCmp({
|
|
562
|
-
inputs: ['hasBackButton', 'headerSubtitle', 'headerTitle', 'variant']
|
|
563
|
-
})
|
|
564
|
-
], IxContentHeader);
|
|
565
|
-
export { IxContentHeader };
|
|
566
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxContentHeader, decorators: [{
|
|
567
|
-
type: Component,
|
|
568
|
-
args: [{
|
|
569
|
-
selector: 'ix-content-header',
|
|
570
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
571
|
-
template: '<ng-content></ng-content>',
|
|
572
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
573
|
-
inputs: ['hasBackButton', 'headerSubtitle', 'headerTitle', 'variant'],
|
|
574
|
-
}]
|
|
575
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
576
|
-
let IxCustomField = class IxCustomField {
|
|
577
|
-
z;
|
|
578
|
-
el;
|
|
579
|
-
constructor(c, r, z) {
|
|
580
|
-
this.z = z;
|
|
581
|
-
c.detach();
|
|
582
|
-
this.el = r.nativeElement;
|
|
583
|
-
}
|
|
584
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCustomField, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
585
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxCustomField, selector: "ix-custom-field", inputs: { helperText: "helperText", infoText: "infoText", invalidText: "invalidText", label: "label", required: "required", showTextAsTooltip: "showTextAsTooltip", validText: "validText", warningText: "warningText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
586
|
-
};
|
|
587
|
-
IxCustomField = __decorate([
|
|
588
|
-
ProxyCmp({
|
|
589
|
-
inputs: ['helperText', 'infoText', 'invalidText', 'label', 'required', 'showTextAsTooltip', 'validText', 'warningText']
|
|
590
|
-
})
|
|
591
|
-
], IxCustomField);
|
|
592
|
-
export { IxCustomField };
|
|
593
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxCustomField, decorators: [{
|
|
594
|
-
type: Component,
|
|
595
|
-
args: [{
|
|
596
|
-
selector: 'ix-custom-field',
|
|
597
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
598
|
-
template: '<ng-content></ng-content>',
|
|
599
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
600
|
-
inputs: ['helperText', 'infoText', 'invalidText', 'label', 'required', 'showTextAsTooltip', 'validText', 'warningText'],
|
|
601
|
-
}]
|
|
602
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
603
|
-
let IxDateDropdown = class IxDateDropdown {
|
|
604
|
-
z;
|
|
605
|
-
el;
|
|
606
|
-
constructor(c, r, z) {
|
|
607
|
-
this.z = z;
|
|
608
|
-
c.detach();
|
|
609
|
-
this.el = r.nativeElement;
|
|
610
|
-
proxyOutputs(this, this.el, ['dateRangeChange']);
|
|
611
|
-
}
|
|
612
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDateDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
613
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDateDropdown, selector: "ix-date-dropdown", inputs: { ariaLabelDropdownButton: "ariaLabelDropdownButton", customRangeAllowed: "customRangeAllowed", dateRangeId: "dateRangeId", dateRangeOptions: "dateRangeOptions", disabled: "disabled", format: "format", from: "from", ghost: "ghost", i18nCustomItem: "i18nCustomItem", i18nDone: "i18nDone", i18nNoRange: "i18nNoRange", loading: "loading", locale: "locale", maxDate: "maxDate", minDate: "minDate", outline: "outline", range: "range", showWeekNumbers: "showWeekNumbers", to: "to", variant: "variant", weekStartIndex: "weekStartIndex" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
614
|
-
};
|
|
615
|
-
IxDateDropdown = __decorate([
|
|
616
|
-
ProxyCmp({
|
|
617
|
-
inputs: ['ariaLabelDropdownButton', 'customRangeAllowed', 'dateRangeId', 'dateRangeOptions', 'disabled', 'format', 'from', 'ghost', 'i18nCustomItem', 'i18nDone', 'i18nNoRange', 'loading', 'locale', 'maxDate', 'minDate', 'outline', 'range', 'showWeekNumbers', 'to', 'variant', 'weekStartIndex'],
|
|
618
|
-
methods: ['getDateRange']
|
|
619
|
-
})
|
|
620
|
-
], IxDateDropdown);
|
|
621
|
-
export { IxDateDropdown };
|
|
622
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDateDropdown, decorators: [{
|
|
623
|
-
type: Component,
|
|
624
|
-
args: [{
|
|
625
|
-
selector: 'ix-date-dropdown',
|
|
626
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
627
|
-
template: '<ng-content></ng-content>',
|
|
628
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
629
|
-
inputs: ['ariaLabelDropdownButton', 'customRangeAllowed', 'dateRangeId', 'dateRangeOptions', 'disabled', 'format', 'from', 'ghost', 'i18nCustomItem', 'i18nDone', 'i18nNoRange', 'loading', 'locale', 'maxDate', 'minDate', 'outline', 'range', 'showWeekNumbers', 'to', 'variant', 'weekStartIndex'],
|
|
630
|
-
}]
|
|
631
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
632
|
-
let IxDateInput = class IxDateInput {
|
|
633
|
-
z;
|
|
634
|
-
el;
|
|
635
|
-
constructor(c, r, z) {
|
|
636
|
-
this.z = z;
|
|
637
|
-
c.detach();
|
|
638
|
-
this.el = r.nativeElement;
|
|
639
|
-
proxyOutputs(this, this.el, ['valueChange', 'validityStateChange']);
|
|
640
|
-
}
|
|
641
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDateInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
642
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDateInput, selector: "ix-date-input", inputs: { ariaLabelCalendarButton: "ariaLabelCalendarButton", ariaLabelNextMonthButton: "ariaLabelNextMonthButton", ariaLabelPreviousMonthButton: "ariaLabelPreviousMonthButton", disabled: "disabled", format: "format", helperText: "helperText", i18nErrorDateUnparsable: "i18nErrorDateUnparsable", infoText: "infoText", invalidText: "invalidText", label: "label", locale: "locale", maxDate: "maxDate", minDate: "minDate", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", showTextAsTooltip: "showTextAsTooltip", showWeekNumbers: "showWeekNumbers", validText: "validText", value: "value", warningText: "warningText", weekStartIndex: "weekStartIndex" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
643
|
-
};
|
|
644
|
-
IxDateInput = __decorate([
|
|
645
|
-
ProxyCmp({
|
|
646
|
-
inputs: ['ariaLabelCalendarButton', 'ariaLabelNextMonthButton', 'ariaLabelPreviousMonthButton', 'disabled', 'format', 'helperText', 'i18nErrorDateUnparsable', 'infoText', 'invalidText', 'label', 'locale', 'maxDate', 'minDate', 'name', 'placeholder', 'readonly', 'required', 'showTextAsTooltip', 'showWeekNumbers', 'validText', 'value', 'warningText', 'weekStartIndex'],
|
|
647
|
-
methods: ['getNativeInputElement', 'focusInput']
|
|
648
|
-
})
|
|
649
|
-
], IxDateInput);
|
|
650
|
-
export { IxDateInput };
|
|
651
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDateInput, decorators: [{
|
|
652
|
-
type: Component,
|
|
653
|
-
args: [{
|
|
654
|
-
selector: 'ix-date-input',
|
|
655
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
656
|
-
template: '<ng-content></ng-content>',
|
|
657
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
658
|
-
inputs: ['ariaLabelCalendarButton', 'ariaLabelNextMonthButton', 'ariaLabelPreviousMonthButton', 'disabled', 'format', 'helperText', 'i18nErrorDateUnparsable', 'infoText', 'invalidText', 'label', 'locale', 'maxDate', 'minDate', 'name', 'placeholder', 'readonly', 'required', 'showTextAsTooltip', 'showWeekNumbers', 'validText', 'value', 'warningText', 'weekStartIndex'],
|
|
659
|
-
}]
|
|
660
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
661
|
-
let IxDatePicker = class IxDatePicker {
|
|
662
|
-
z;
|
|
663
|
-
el;
|
|
664
|
-
constructor(c, r, z) {
|
|
665
|
-
this.z = z;
|
|
666
|
-
c.detach();
|
|
667
|
-
this.el = r.nativeElement;
|
|
668
|
-
proxyOutputs(this, this.el, ['dateChange', 'dateRangeChange', 'dateSelect']);
|
|
669
|
-
}
|
|
670
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDatePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
671
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDatePicker, selector: "ix-date-picker", inputs: { ariaLabelNextMonthButton: "ariaLabelNextMonthButton", ariaLabelPreviousMonthButton: "ariaLabelPreviousMonthButton", corners: "corners", format: "format", from: "from", i18nDone: "i18nDone", locale: "locale", maxDate: "maxDate", minDate: "minDate", range: "range", showWeekNumbers: "showWeekNumbers", to: "to", weekStartIndex: "weekStartIndex" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
672
|
-
};
|
|
673
|
-
IxDatePicker = __decorate([
|
|
674
|
-
ProxyCmp({
|
|
675
|
-
inputs: ['ariaLabelNextMonthButton', 'ariaLabelPreviousMonthButton', 'corners', 'format', 'from', 'i18nDone', 'locale', 'maxDate', 'minDate', 'range', 'showWeekNumbers', 'to', 'weekStartIndex'],
|
|
676
|
-
methods: ['getCurrentDate']
|
|
677
|
-
})
|
|
678
|
-
], IxDatePicker);
|
|
679
|
-
export { IxDatePicker };
|
|
680
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDatePicker, decorators: [{
|
|
681
|
-
type: Component,
|
|
682
|
-
args: [{
|
|
683
|
-
selector: 'ix-date-picker',
|
|
684
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
685
|
-
template: '<ng-content></ng-content>',
|
|
686
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
687
|
-
inputs: ['ariaLabelNextMonthButton', 'ariaLabelPreviousMonthButton', 'corners', 'format', 'from', 'i18nDone', 'locale', 'maxDate', 'minDate', 'range', 'showWeekNumbers', 'to', 'weekStartIndex'],
|
|
688
|
-
}]
|
|
689
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
690
|
-
let IxDatetimePicker = class IxDatetimePicker {
|
|
691
|
-
z;
|
|
692
|
-
el;
|
|
693
|
-
constructor(c, r, z) {
|
|
694
|
-
this.z = z;
|
|
695
|
-
c.detach();
|
|
696
|
-
this.el = r.nativeElement;
|
|
697
|
-
proxyOutputs(this, this.el, ['timeChange', 'dateChange', 'dateSelect']);
|
|
698
|
-
}
|
|
699
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDatetimePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
700
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDatetimePicker, selector: "ix-datetime-picker", inputs: { ariaLabelNextMonthButton: "ariaLabelNextMonthButton", ariaLabelPreviousMonthButton: "ariaLabelPreviousMonthButton", dateFormat: "dateFormat", from: "from", i18nDone: "i18nDone", i18nTime: "i18nTime", locale: "locale", maxDate: "maxDate", minDate: "minDate", range: "range", showHour: "showHour", showMinutes: "showMinutes", showSeconds: "showSeconds", showTimeReference: "showTimeReference", showWeekNumbers: "showWeekNumbers", time: "time", timeFormat: "timeFormat", timeReference: "timeReference", to: "to", weekStartIndex: "weekStartIndex" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
701
|
-
};
|
|
702
|
-
IxDatetimePicker = __decorate([
|
|
703
|
-
ProxyCmp({
|
|
704
|
-
inputs: ['ariaLabelNextMonthButton', 'ariaLabelPreviousMonthButton', 'dateFormat', 'from', 'i18nDone', 'i18nTime', 'locale', 'maxDate', 'minDate', 'range', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference', 'showWeekNumbers', 'time', 'timeFormat', 'timeReference', 'to', 'weekStartIndex']
|
|
705
|
-
})
|
|
706
|
-
], IxDatetimePicker);
|
|
707
|
-
export { IxDatetimePicker };
|
|
708
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDatetimePicker, decorators: [{
|
|
709
|
-
type: Component,
|
|
710
|
-
args: [{
|
|
711
|
-
selector: 'ix-datetime-picker',
|
|
712
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
713
|
-
template: '<ng-content></ng-content>',
|
|
714
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
715
|
-
inputs: ['ariaLabelNextMonthButton', 'ariaLabelPreviousMonthButton', 'dateFormat', 'from', 'i18nDone', 'i18nTime', 'locale', 'maxDate', 'minDate', 'range', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference', 'showWeekNumbers', 'time', 'timeFormat', 'timeReference', 'to', 'weekStartIndex'],
|
|
716
|
-
}]
|
|
717
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
718
|
-
let IxDivider = class IxDivider {
|
|
719
|
-
z;
|
|
720
|
-
el;
|
|
721
|
-
constructor(c, r, z) {
|
|
722
|
-
this.z = z;
|
|
723
|
-
c.detach();
|
|
724
|
-
this.el = r.nativeElement;
|
|
725
|
-
}
|
|
726
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
727
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDivider, selector: "ix-divider", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
728
|
-
};
|
|
729
|
-
IxDivider = __decorate([
|
|
730
|
-
ProxyCmp({})
|
|
731
|
-
], IxDivider);
|
|
732
|
-
export { IxDivider };
|
|
733
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDivider, decorators: [{
|
|
734
|
-
type: Component,
|
|
735
|
-
args: [{
|
|
736
|
-
selector: 'ix-divider',
|
|
737
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
738
|
-
template: '<ng-content></ng-content>',
|
|
739
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
740
|
-
inputs: [],
|
|
741
|
-
}]
|
|
742
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
743
|
-
let IxDrawer = class IxDrawer {
|
|
744
|
-
z;
|
|
745
|
-
el;
|
|
746
|
-
constructor(c, r, z) {
|
|
747
|
-
this.z = z;
|
|
748
|
-
c.detach();
|
|
749
|
-
this.el = r.nativeElement;
|
|
750
|
-
proxyOutputs(this, this.el, ['open', 'drawerClose']);
|
|
751
|
-
}
|
|
752
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDrawer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
753
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDrawer, selector: "ix-drawer", inputs: { ariaLabelCloseButton: "ariaLabelCloseButton", closeOnClickOutside: "closeOnClickOutside", fullHeight: "fullHeight", maxWidth: "maxWidth", minWidth: "minWidth", show: "show", width: "width" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
754
|
-
};
|
|
755
|
-
IxDrawer = __decorate([
|
|
756
|
-
ProxyCmp({
|
|
757
|
-
inputs: ['ariaLabelCloseButton', 'closeOnClickOutside', 'fullHeight', 'maxWidth', 'minWidth', 'show', 'width'],
|
|
758
|
-
methods: ['toggleDrawer']
|
|
759
|
-
})
|
|
760
|
-
], IxDrawer);
|
|
761
|
-
export { IxDrawer };
|
|
762
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDrawer, decorators: [{
|
|
763
|
-
type: Component,
|
|
764
|
-
args: [{
|
|
765
|
-
selector: 'ix-drawer',
|
|
766
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
767
|
-
template: '<ng-content></ng-content>',
|
|
768
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
769
|
-
inputs: ['ariaLabelCloseButton', 'closeOnClickOutside', 'fullHeight', 'maxWidth', 'minWidth', 'show', 'width'],
|
|
770
|
-
}]
|
|
771
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
772
|
-
let IxDropdown = class IxDropdown {
|
|
773
|
-
z;
|
|
774
|
-
el;
|
|
775
|
-
constructor(c, r, z) {
|
|
776
|
-
this.z = z;
|
|
777
|
-
c.detach();
|
|
778
|
-
this.el = r.nativeElement;
|
|
779
|
-
proxyOutputs(this, this.el, ['showChanged']);
|
|
780
|
-
}
|
|
781
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
782
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDropdown, selector: "ix-dropdown", inputs: { anchor: "anchor", closeBehavior: "closeBehavior", header: "header", placement: "placement", positioningStrategy: "positioningStrategy", show: "show", suppressAutomaticPlacement: "suppressAutomaticPlacement", trigger: "trigger" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
783
|
-
};
|
|
784
|
-
IxDropdown = __decorate([
|
|
785
|
-
ProxyCmp({
|
|
786
|
-
inputs: ['anchor', 'closeBehavior', 'header', 'placement', 'positioningStrategy', 'show', 'suppressAutomaticPlacement', 'trigger'],
|
|
787
|
-
methods: ['updatePosition']
|
|
788
|
-
})
|
|
789
|
-
], IxDropdown);
|
|
790
|
-
export { IxDropdown };
|
|
791
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdown, decorators: [{
|
|
792
|
-
type: Component,
|
|
793
|
-
args: [{
|
|
794
|
-
selector: 'ix-dropdown',
|
|
795
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
796
|
-
template: '<ng-content></ng-content>',
|
|
797
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
798
|
-
inputs: ['anchor', 'closeBehavior', 'header', 'placement', 'positioningStrategy', 'show', 'suppressAutomaticPlacement', 'trigger'],
|
|
799
|
-
}]
|
|
800
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
801
|
-
let IxDropdownButton = class IxDropdownButton {
|
|
802
|
-
z;
|
|
803
|
-
el;
|
|
804
|
-
constructor(c, r, z) {
|
|
805
|
-
this.z = z;
|
|
806
|
-
c.detach();
|
|
807
|
-
this.el = r.nativeElement;
|
|
808
|
-
}
|
|
809
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdownButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
810
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDropdownButton, selector: "ix-dropdown-button", inputs: { ariaLabelDropdownButton: "ariaLabelDropdownButton", closeBehavior: "closeBehavior", disabled: "disabled", ghost: "ghost", icon: "icon", label: "label", outline: "outline", placement: "placement", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
811
|
-
};
|
|
812
|
-
IxDropdownButton = __decorate([
|
|
813
|
-
ProxyCmp({
|
|
814
|
-
inputs: ['ariaLabelDropdownButton', 'closeBehavior', 'disabled', 'ghost', 'icon', 'label', 'outline', 'placement', 'variant']
|
|
815
|
-
})
|
|
816
|
-
], IxDropdownButton);
|
|
817
|
-
export { IxDropdownButton };
|
|
818
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdownButton, decorators: [{
|
|
819
|
-
type: Component,
|
|
820
|
-
args: [{
|
|
821
|
-
selector: 'ix-dropdown-button',
|
|
822
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
823
|
-
template: '<ng-content></ng-content>',
|
|
824
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
825
|
-
inputs: ['ariaLabelDropdownButton', 'closeBehavior', 'disabled', 'ghost', 'icon', 'label', 'outline', 'placement', 'variant'],
|
|
826
|
-
}]
|
|
827
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
828
|
-
let IxDropdownHeader = class IxDropdownHeader {
|
|
829
|
-
z;
|
|
830
|
-
el;
|
|
831
|
-
constructor(c, r, z) {
|
|
832
|
-
this.z = z;
|
|
833
|
-
c.detach();
|
|
834
|
-
this.el = r.nativeElement;
|
|
835
|
-
}
|
|
836
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdownHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
837
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDropdownHeader, selector: "ix-dropdown-header", inputs: { label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
838
|
-
};
|
|
839
|
-
IxDropdownHeader = __decorate([
|
|
840
|
-
ProxyCmp({
|
|
841
|
-
inputs: ['label']
|
|
842
|
-
})
|
|
843
|
-
], IxDropdownHeader);
|
|
844
|
-
export { IxDropdownHeader };
|
|
845
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdownHeader, decorators: [{
|
|
846
|
-
type: Component,
|
|
847
|
-
args: [{
|
|
848
|
-
selector: 'ix-dropdown-header',
|
|
849
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
850
|
-
template: '<ng-content></ng-content>',
|
|
851
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
852
|
-
inputs: ['label'],
|
|
853
|
-
}]
|
|
854
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
855
|
-
let IxDropdownItem = class IxDropdownItem {
|
|
856
|
-
z;
|
|
857
|
-
el;
|
|
858
|
-
constructor(c, r, z) {
|
|
859
|
-
this.z = z;
|
|
860
|
-
c.detach();
|
|
861
|
-
this.el = r.nativeElement;
|
|
862
|
-
}
|
|
863
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdownItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
864
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDropdownItem, selector: "ix-dropdown-item", inputs: { ariaLabelButton: "ariaLabelButton", ariaLabelIcon: "ariaLabelIcon", checked: "checked", disabled: "disabled", hover: "hover", icon: "icon", label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
865
|
-
};
|
|
866
|
-
IxDropdownItem = __decorate([
|
|
867
|
-
ProxyCmp({
|
|
868
|
-
inputs: ['ariaLabelButton', 'ariaLabelIcon', 'checked', 'disabled', 'hover', 'icon', 'label']
|
|
869
|
-
})
|
|
870
|
-
], IxDropdownItem);
|
|
871
|
-
export { IxDropdownItem };
|
|
872
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdownItem, decorators: [{
|
|
873
|
-
type: Component,
|
|
874
|
-
args: [{
|
|
875
|
-
selector: 'ix-dropdown-item',
|
|
876
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
877
|
-
template: '<ng-content></ng-content>',
|
|
878
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
879
|
-
inputs: ['ariaLabelButton', 'ariaLabelIcon', 'checked', 'disabled', 'hover', 'icon', 'label'],
|
|
880
|
-
}]
|
|
881
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
882
|
-
let IxDropdownQuickActions = class IxDropdownQuickActions {
|
|
883
|
-
z;
|
|
884
|
-
el;
|
|
885
|
-
constructor(c, r, z) {
|
|
886
|
-
this.z = z;
|
|
887
|
-
c.detach();
|
|
888
|
-
this.el = r.nativeElement;
|
|
889
|
-
}
|
|
890
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdownQuickActions, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
891
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxDropdownQuickActions, selector: "ix-dropdown-quick-actions", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
892
|
-
};
|
|
893
|
-
IxDropdownQuickActions = __decorate([
|
|
894
|
-
ProxyCmp({})
|
|
895
|
-
], IxDropdownQuickActions);
|
|
896
|
-
export { IxDropdownQuickActions };
|
|
897
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxDropdownQuickActions, decorators: [{
|
|
898
|
-
type: Component,
|
|
899
|
-
args: [{
|
|
900
|
-
selector: 'ix-dropdown-quick-actions',
|
|
901
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
902
|
-
template: '<ng-content></ng-content>',
|
|
903
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
904
|
-
inputs: [],
|
|
905
|
-
}]
|
|
906
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
907
|
-
let IxEmptyState = class IxEmptyState {
|
|
908
|
-
z;
|
|
909
|
-
el;
|
|
910
|
-
constructor(c, r, z) {
|
|
911
|
-
this.z = z;
|
|
912
|
-
c.detach();
|
|
913
|
-
this.el = r.nativeElement;
|
|
914
|
-
proxyOutputs(this, this.el, ['actionClick']);
|
|
915
|
-
}
|
|
916
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxEmptyState, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
917
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxEmptyState, selector: "ix-empty-state", inputs: { action: "action", ariaLabelEmptyStateIcon: "ariaLabelEmptyStateIcon", header: "header", icon: "icon", layout: "layout", subHeader: "subHeader" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
918
|
-
};
|
|
919
|
-
IxEmptyState = __decorate([
|
|
920
|
-
ProxyCmp({
|
|
921
|
-
inputs: ['action', 'ariaLabelEmptyStateIcon', 'header', 'icon', 'layout', 'subHeader']
|
|
922
|
-
})
|
|
923
|
-
], IxEmptyState);
|
|
924
|
-
export { IxEmptyState };
|
|
925
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxEmptyState, decorators: [{
|
|
926
|
-
type: Component,
|
|
927
|
-
args: [{
|
|
928
|
-
selector: 'ix-empty-state',
|
|
929
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
930
|
-
template: '<ng-content></ng-content>',
|
|
931
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
932
|
-
inputs: ['action', 'ariaLabelEmptyStateIcon', 'header', 'icon', 'layout', 'subHeader'],
|
|
933
|
-
}]
|
|
934
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
935
|
-
let IxEventList = class IxEventList {
|
|
936
|
-
z;
|
|
937
|
-
el;
|
|
938
|
-
constructor(c, r, z) {
|
|
939
|
-
this.z = z;
|
|
940
|
-
c.detach();
|
|
941
|
-
this.el = r.nativeElement;
|
|
942
|
-
}
|
|
943
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxEventList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
944
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxEventList, selector: "ix-event-list", inputs: { animated: "animated", chevron: "chevron", compact: "compact", itemHeight: "itemHeight" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
945
|
-
};
|
|
946
|
-
IxEventList = __decorate([
|
|
947
|
-
ProxyCmp({
|
|
948
|
-
inputs: ['animated', 'chevron', 'compact', 'itemHeight']
|
|
949
|
-
})
|
|
950
|
-
], IxEventList);
|
|
951
|
-
export { IxEventList };
|
|
952
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxEventList, decorators: [{
|
|
953
|
-
type: Component,
|
|
954
|
-
args: [{
|
|
955
|
-
selector: 'ix-event-list',
|
|
956
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
957
|
-
template: '<ng-content></ng-content>',
|
|
958
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
959
|
-
inputs: ['animated', 'chevron', 'compact', 'itemHeight'],
|
|
960
|
-
}]
|
|
961
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
962
|
-
let IxEventListItem = class IxEventListItem {
|
|
963
|
-
z;
|
|
964
|
-
el;
|
|
965
|
-
constructor(c, r, z) {
|
|
966
|
-
this.z = z;
|
|
967
|
-
c.detach();
|
|
968
|
-
this.el = r.nativeElement;
|
|
969
|
-
proxyOutputs(this, this.el, ['itemClick']);
|
|
970
|
-
}
|
|
971
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxEventListItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
972
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxEventListItem, selector: "ix-event-list-item", inputs: { chevron: "chevron", disabled: "disabled", itemColor: "itemColor", selected: "selected" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
973
|
-
};
|
|
974
|
-
IxEventListItem = __decorate([
|
|
975
|
-
ProxyCmp({
|
|
976
|
-
inputs: ['chevron', 'disabled', 'itemColor', 'selected']
|
|
977
|
-
})
|
|
978
|
-
], IxEventListItem);
|
|
979
|
-
export { IxEventListItem };
|
|
980
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxEventListItem, decorators: [{
|
|
981
|
-
type: Component,
|
|
982
|
-
args: [{
|
|
983
|
-
selector: 'ix-event-list-item',
|
|
984
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
985
|
-
template: '<ng-content></ng-content>',
|
|
986
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
987
|
-
inputs: ['chevron', 'disabled', 'itemColor', 'selected'],
|
|
988
|
-
}]
|
|
989
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
990
|
-
let IxExpandingSearch = class IxExpandingSearch {
|
|
991
|
-
z;
|
|
992
|
-
el;
|
|
993
|
-
constructor(c, r, z) {
|
|
994
|
-
this.z = z;
|
|
995
|
-
c.detach();
|
|
996
|
-
this.el = r.nativeElement;
|
|
997
|
-
proxyOutputs(this, this.el, ['valueChange']);
|
|
998
|
-
}
|
|
999
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxExpandingSearch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1000
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxExpandingSearch, selector: "ix-expanding-search", inputs: { ariaLabelClearIconButton: "ariaLabelClearIconButton", ariaLabelSearchIconButton: "ariaLabelSearchIconButton", ariaLabelSearchInput: "ariaLabelSearchInput", fullWidth: "fullWidth", ghost: "ghost", icon: "icon", outline: "outline", placeholder: "placeholder", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1001
|
-
};
|
|
1002
|
-
IxExpandingSearch = __decorate([
|
|
1003
|
-
ProxyCmp({
|
|
1004
|
-
inputs: ['ariaLabelClearIconButton', 'ariaLabelSearchIconButton', 'ariaLabelSearchInput', 'fullWidth', 'ghost', 'icon', 'outline', 'placeholder', 'value', 'variant']
|
|
1005
|
-
})
|
|
1006
|
-
], IxExpandingSearch);
|
|
1007
|
-
export { IxExpandingSearch };
|
|
1008
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxExpandingSearch, decorators: [{
|
|
1009
|
-
type: Component,
|
|
1010
|
-
args: [{
|
|
1011
|
-
selector: 'ix-expanding-search',
|
|
1012
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1013
|
-
template: '<ng-content></ng-content>',
|
|
1014
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1015
|
-
inputs: ['ariaLabelClearIconButton', 'ariaLabelSearchIconButton', 'ariaLabelSearchInput', 'fullWidth', 'ghost', 'icon', 'outline', 'placeholder', 'value', 'variant'],
|
|
1016
|
-
}]
|
|
1017
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1018
|
-
let IxFieldLabel = class IxFieldLabel {
|
|
1019
|
-
z;
|
|
1020
|
-
el;
|
|
1021
|
-
constructor(c, r, z) {
|
|
1022
|
-
this.z = z;
|
|
1023
|
-
c.detach();
|
|
1024
|
-
this.el = r.nativeElement;
|
|
1025
|
-
}
|
|
1026
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxFieldLabel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1027
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxFieldLabel, selector: "ix-field-label", inputs: { htmlFor: "htmlFor", required: "required" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1028
|
-
};
|
|
1029
|
-
IxFieldLabel = __decorate([
|
|
1030
|
-
ProxyCmp({
|
|
1031
|
-
inputs: ['htmlFor', 'required']
|
|
1032
|
-
})
|
|
1033
|
-
], IxFieldLabel);
|
|
1034
|
-
export { IxFieldLabel };
|
|
1035
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxFieldLabel, decorators: [{
|
|
1036
|
-
type: Component,
|
|
1037
|
-
args: [{
|
|
1038
|
-
selector: 'ix-field-label',
|
|
1039
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1040
|
-
template: '<ng-content></ng-content>',
|
|
1041
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1042
|
-
inputs: ['htmlFor', 'required'],
|
|
1043
|
-
}]
|
|
1044
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1045
|
-
let IxFilterChip = class IxFilterChip {
|
|
1046
|
-
z;
|
|
1047
|
-
el;
|
|
1048
|
-
constructor(c, r, z) {
|
|
1049
|
-
this.z = z;
|
|
1050
|
-
c.detach();
|
|
1051
|
-
this.el = r.nativeElement;
|
|
1052
|
-
proxyOutputs(this, this.el, ['closeClick']);
|
|
1053
|
-
}
|
|
1054
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxFilterChip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1055
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxFilterChip, selector: "ix-filter-chip", inputs: { ariaLabelCloseIconButton: "ariaLabelCloseIconButton", disabled: "disabled", readonly: "readonly" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1056
|
-
};
|
|
1057
|
-
IxFilterChip = __decorate([
|
|
1058
|
-
ProxyCmp({
|
|
1059
|
-
inputs: ['ariaLabelCloseIconButton', 'disabled', 'readonly']
|
|
1060
|
-
})
|
|
1061
|
-
], IxFilterChip);
|
|
1062
|
-
export { IxFilterChip };
|
|
1063
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxFilterChip, decorators: [{
|
|
1064
|
-
type: Component,
|
|
1065
|
-
args: [{
|
|
1066
|
-
selector: 'ix-filter-chip',
|
|
1067
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1068
|
-
template: '<ng-content></ng-content>',
|
|
1069
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1070
|
-
inputs: ['ariaLabelCloseIconButton', 'disabled', 'readonly'],
|
|
1071
|
-
}]
|
|
1072
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1073
|
-
let IxFlipTile = class IxFlipTile {
|
|
1074
|
-
z;
|
|
1075
|
-
el;
|
|
1076
|
-
constructor(c, r, z) {
|
|
1077
|
-
this.z = z;
|
|
1078
|
-
c.detach();
|
|
1079
|
-
this.el = r.nativeElement;
|
|
1080
|
-
proxyOutputs(this, this.el, ['toggle']);
|
|
1081
|
-
}
|
|
1082
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxFlipTile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1083
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxFlipTile, selector: "ix-flip-tile", inputs: { ariaLabelEyeIconButton: "ariaLabelEyeIconButton", height: "height", index: "index", state: "state", width: "width" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1084
|
-
};
|
|
1085
|
-
IxFlipTile = __decorate([
|
|
1086
|
-
ProxyCmp({
|
|
1087
|
-
inputs: ['ariaLabelEyeIconButton', 'height', 'index', 'state', 'width']
|
|
1088
|
-
})
|
|
1089
|
-
], IxFlipTile);
|
|
1090
|
-
export { IxFlipTile };
|
|
1091
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxFlipTile, decorators: [{
|
|
1092
|
-
type: Component,
|
|
1093
|
-
args: [{
|
|
1094
|
-
selector: 'ix-flip-tile',
|
|
1095
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1096
|
-
template: '<ng-content></ng-content>',
|
|
1097
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1098
|
-
inputs: ['ariaLabelEyeIconButton', 'height', 'index', 'state', 'width'],
|
|
1099
|
-
}]
|
|
1100
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1101
|
-
let IxFlipTileContent = class IxFlipTileContent {
|
|
1102
|
-
z;
|
|
1103
|
-
el;
|
|
1104
|
-
constructor(c, r, z) {
|
|
1105
|
-
this.z = z;
|
|
1106
|
-
c.detach();
|
|
1107
|
-
this.el = r.nativeElement;
|
|
1108
|
-
}
|
|
1109
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxFlipTileContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1110
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxFlipTileContent, selector: "ix-flip-tile-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1111
|
-
};
|
|
1112
|
-
IxFlipTileContent = __decorate([
|
|
1113
|
-
ProxyCmp({})
|
|
1114
|
-
], IxFlipTileContent);
|
|
1115
|
-
export { IxFlipTileContent };
|
|
1116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxFlipTileContent, decorators: [{
|
|
1117
|
-
type: Component,
|
|
1118
|
-
args: [{
|
|
1119
|
-
selector: 'ix-flip-tile-content',
|
|
1120
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1121
|
-
template: '<ng-content></ng-content>',
|
|
1122
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1123
|
-
inputs: [],
|
|
1124
|
-
}]
|
|
1125
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1126
|
-
let IxGroup = class IxGroup {
|
|
1127
|
-
z;
|
|
1128
|
-
el;
|
|
1129
|
-
constructor(c, r, z) {
|
|
1130
|
-
this.z = z;
|
|
1131
|
-
c.detach();
|
|
1132
|
-
this.el = r.nativeElement;
|
|
1133
|
-
proxyOutputs(this, this.el, ['selectGroup', 'selectItem', 'collapsedChanged']);
|
|
1134
|
-
}
|
|
1135
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1136
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxGroup, selector: "ix-group", inputs: { collapsed: "collapsed", expandOnHeaderClick: "expandOnHeaderClick", header: "header", index: "index", selected: "selected", subHeader: "subHeader", suppressHeaderSelection: "suppressHeaderSelection" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1137
|
-
};
|
|
1138
|
-
IxGroup = __decorate([
|
|
1139
|
-
ProxyCmp({
|
|
1140
|
-
inputs: ['collapsed', 'expandOnHeaderClick', 'header', 'index', 'selected', 'subHeader', 'suppressHeaderSelection']
|
|
1141
|
-
})
|
|
1142
|
-
], IxGroup);
|
|
1143
|
-
export { IxGroup };
|
|
1144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxGroup, decorators: [{
|
|
1145
|
-
type: Component,
|
|
1146
|
-
args: [{
|
|
1147
|
-
selector: 'ix-group',
|
|
1148
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1149
|
-
template: '<ng-content></ng-content>',
|
|
1150
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1151
|
-
inputs: ['collapsed', 'expandOnHeaderClick', 'header', 'index', 'selected', 'subHeader', 'suppressHeaderSelection'],
|
|
1152
|
-
}]
|
|
1153
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1154
|
-
let IxGroupContextMenu = class IxGroupContextMenu {
|
|
1155
|
-
z;
|
|
1156
|
-
el;
|
|
1157
|
-
constructor(c, r, z) {
|
|
1158
|
-
this.z = z;
|
|
1159
|
-
c.detach();
|
|
1160
|
-
this.el = r.nativeElement;
|
|
1161
|
-
}
|
|
1162
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxGroupContextMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1163
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxGroupContextMenu, selector: "ix-group-context-menu", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1164
|
-
};
|
|
1165
|
-
IxGroupContextMenu = __decorate([
|
|
1166
|
-
ProxyCmp({})
|
|
1167
|
-
], IxGroupContextMenu);
|
|
1168
|
-
export { IxGroupContextMenu };
|
|
1169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxGroupContextMenu, decorators: [{
|
|
1170
|
-
type: Component,
|
|
1171
|
-
args: [{
|
|
1172
|
-
selector: 'ix-group-context-menu',
|
|
1173
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1174
|
-
template: '<ng-content></ng-content>',
|
|
1175
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1176
|
-
inputs: [],
|
|
1177
|
-
}]
|
|
1178
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1179
|
-
let IxGroupItem = class IxGroupItem {
|
|
1180
|
-
z;
|
|
1181
|
-
el;
|
|
1182
|
-
constructor(c, r, z) {
|
|
1183
|
-
this.z = z;
|
|
1184
|
-
c.detach();
|
|
1185
|
-
this.el = r.nativeElement;
|
|
1186
|
-
proxyOutputs(this, this.el, ['selectedChanged']);
|
|
1187
|
-
}
|
|
1188
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxGroupItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1189
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxGroupItem, selector: "ix-group-item", inputs: { ariaLabelIcon: "ariaLabelIcon", focusable: "focusable", icon: "icon", index: "index", secondaryText: "secondaryText", selected: "selected", suppressSelection: "suppressSelection", text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1190
|
-
};
|
|
1191
|
-
IxGroupItem = __decorate([
|
|
1192
|
-
ProxyCmp({
|
|
1193
|
-
inputs: ['ariaLabelIcon', 'focusable', 'icon', 'index', 'secondaryText', 'selected', 'suppressSelection', 'text']
|
|
1194
|
-
})
|
|
1195
|
-
], IxGroupItem);
|
|
1196
|
-
export { IxGroupItem };
|
|
1197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxGroupItem, decorators: [{
|
|
1198
|
-
type: Component,
|
|
1199
|
-
args: [{
|
|
1200
|
-
selector: 'ix-group-item',
|
|
1201
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1202
|
-
template: '<ng-content></ng-content>',
|
|
1203
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1204
|
-
inputs: ['ariaLabelIcon', 'focusable', 'icon', 'index', 'secondaryText', 'selected', 'suppressSelection', 'text'],
|
|
1205
|
-
}]
|
|
1206
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1207
|
-
let IxHelperText = class IxHelperText {
|
|
1208
|
-
z;
|
|
1209
|
-
el;
|
|
1210
|
-
constructor(c, r, z) {
|
|
1211
|
-
this.z = z;
|
|
1212
|
-
c.detach();
|
|
1213
|
-
this.el = r.nativeElement;
|
|
1214
|
-
}
|
|
1215
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxHelperText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1216
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxHelperText, selector: "ix-helper-text", inputs: { helperText: "helperText", htmlFor: "htmlFor", infoText: "infoText", invalidText: "invalidText", validText: "validText", warningText: "warningText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1217
|
-
};
|
|
1218
|
-
IxHelperText = __decorate([
|
|
1219
|
-
ProxyCmp({
|
|
1220
|
-
inputs: ['helperText', 'htmlFor', 'infoText', 'invalidText', 'validText', 'warningText']
|
|
1221
|
-
})
|
|
1222
|
-
], IxHelperText);
|
|
1223
|
-
export { IxHelperText };
|
|
1224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxHelperText, decorators: [{
|
|
1225
|
-
type: Component,
|
|
1226
|
-
args: [{
|
|
1227
|
-
selector: 'ix-helper-text',
|
|
1228
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1229
|
-
template: '<ng-content></ng-content>',
|
|
1230
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1231
|
-
inputs: ['helperText', 'htmlFor', 'infoText', 'invalidText', 'validText', 'warningText'],
|
|
1232
|
-
}]
|
|
1233
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1234
|
-
let IxIconButton = class IxIconButton {
|
|
1235
|
-
z;
|
|
1236
|
-
el;
|
|
1237
|
-
constructor(c, r, z) {
|
|
1238
|
-
this.z = z;
|
|
1239
|
-
c.detach();
|
|
1240
|
-
this.el = r.nativeElement;
|
|
1241
|
-
}
|
|
1242
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxIconButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1243
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxIconButton, selector: "ix-icon-button", inputs: { a11yLabel: "a11yLabel", disabled: "disabled", ghost: "ghost", icon: "icon", iconColor: "iconColor", loading: "loading", outline: "outline", oval: "oval", size: "size", type: "type", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1244
|
-
};
|
|
1245
|
-
IxIconButton = __decorate([
|
|
1246
|
-
ProxyCmp({
|
|
1247
|
-
inputs: ['a11yLabel', 'disabled', 'ghost', 'icon', 'iconColor', 'loading', 'outline', 'oval', 'size', 'type', 'variant']
|
|
1248
|
-
})
|
|
1249
|
-
], IxIconButton);
|
|
1250
|
-
export { IxIconButton };
|
|
1251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxIconButton, decorators: [{
|
|
1252
|
-
type: Component,
|
|
1253
|
-
args: [{
|
|
1254
|
-
selector: 'ix-icon-button',
|
|
1255
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1256
|
-
template: '<ng-content></ng-content>',
|
|
1257
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1258
|
-
inputs: ['a11yLabel', 'disabled', 'ghost', 'icon', 'iconColor', 'loading', 'outline', 'oval', 'size', 'type', 'variant'],
|
|
1259
|
-
}]
|
|
1260
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1261
|
-
let IxIconToggleButton = class IxIconToggleButton {
|
|
1262
|
-
z;
|
|
1263
|
-
el;
|
|
1264
|
-
constructor(c, r, z) {
|
|
1265
|
-
this.z = z;
|
|
1266
|
-
c.detach();
|
|
1267
|
-
this.el = r.nativeElement;
|
|
1268
|
-
proxyOutputs(this, this.el, ['pressedChange']);
|
|
1269
|
-
}
|
|
1270
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxIconToggleButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1271
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxIconToggleButton, selector: "ix-icon-toggle-button", inputs: { ariaLabelIconButton: "ariaLabelIconButton", disabled: "disabled", ghost: "ghost", icon: "icon", loading: "loading", outline: "outline", oval: "oval", pressed: "pressed", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1272
|
-
};
|
|
1273
|
-
IxIconToggleButton = __decorate([
|
|
1274
|
-
ProxyCmp({
|
|
1275
|
-
inputs: ['ariaLabelIconButton', 'disabled', 'ghost', 'icon', 'loading', 'outline', 'oval', 'pressed', 'size', 'variant']
|
|
1276
|
-
})
|
|
1277
|
-
], IxIconToggleButton);
|
|
1278
|
-
export { IxIconToggleButton };
|
|
1279
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxIconToggleButton, decorators: [{
|
|
1280
|
-
type: Component,
|
|
1281
|
-
args: [{
|
|
1282
|
-
selector: 'ix-icon-toggle-button',
|
|
1283
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1284
|
-
template: '<ng-content></ng-content>',
|
|
1285
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1286
|
-
inputs: ['ariaLabelIconButton', 'disabled', 'ghost', 'icon', 'loading', 'outline', 'oval', 'pressed', 'size', 'variant'],
|
|
1287
|
-
}]
|
|
1288
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1289
|
-
let IxInput = class IxInput {
|
|
1290
|
-
z;
|
|
1291
|
-
el;
|
|
1292
|
-
constructor(c, r, z) {
|
|
1293
|
-
this.z = z;
|
|
1294
|
-
c.detach();
|
|
1295
|
-
this.el = r.nativeElement;
|
|
1296
|
-
proxyOutputs(this, this.el, ['valueChange', 'validityStateChange', 'ixBlur']);
|
|
1297
|
-
}
|
|
1298
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1299
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxInput, selector: "ix-input", inputs: { allowedCharactersPattern: "allowedCharactersPattern", disabled: "disabled", helperText: "helperText", infoText: "infoText", invalidText: "invalidText", label: "label", maxLength: "maxLength", minLength: "minLength", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", showTextAsTooltip: "showTextAsTooltip", type: "type", validText: "validText", value: "value", warningText: "warningText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1300
|
-
};
|
|
1301
|
-
IxInput = __decorate([
|
|
1302
|
-
ProxyCmp({
|
|
1303
|
-
inputs: ['allowedCharactersPattern', 'disabled', 'helperText', 'infoText', 'invalidText', 'label', 'maxLength', 'minLength', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'showTextAsTooltip', 'type', 'validText', 'value', 'warningText'],
|
|
1304
|
-
methods: ['getNativeInputElement', 'getValidityState', 'focusInput']
|
|
1305
|
-
})
|
|
1306
|
-
], IxInput);
|
|
1307
|
-
export { IxInput };
|
|
1308
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxInput, decorators: [{
|
|
1309
|
-
type: Component,
|
|
1310
|
-
args: [{
|
|
1311
|
-
selector: 'ix-input',
|
|
1312
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1313
|
-
template: '<ng-content></ng-content>',
|
|
1314
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1315
|
-
inputs: ['allowedCharactersPattern', 'disabled', 'helperText', 'infoText', 'invalidText', 'label', 'maxLength', 'minLength', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'showTextAsTooltip', 'type', 'validText', 'value', 'warningText'],
|
|
1316
|
-
}]
|
|
1317
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1318
|
-
let IxInputGroup = class IxInputGroup {
|
|
1319
|
-
z;
|
|
1320
|
-
el;
|
|
1321
|
-
constructor(c, r, z) {
|
|
1322
|
-
this.z = z;
|
|
1323
|
-
c.detach();
|
|
1324
|
-
this.el = r.nativeElement;
|
|
1325
|
-
}
|
|
1326
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxInputGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1327
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxInputGroup, selector: "ix-input-group", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1328
|
-
};
|
|
1329
|
-
IxInputGroup = __decorate([
|
|
1330
|
-
ProxyCmp({})
|
|
1331
|
-
], IxInputGroup);
|
|
1332
|
-
export { IxInputGroup };
|
|
1333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxInputGroup, decorators: [{
|
|
1334
|
-
type: Component,
|
|
1335
|
-
args: [{
|
|
1336
|
-
selector: 'ix-input-group',
|
|
1337
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1338
|
-
template: '<ng-content></ng-content>',
|
|
1339
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1340
|
-
inputs: [],
|
|
1341
|
-
}]
|
|
1342
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1343
|
-
let IxKeyValue = class IxKeyValue {
|
|
1344
|
-
z;
|
|
1345
|
-
el;
|
|
1346
|
-
constructor(c, r, z) {
|
|
1347
|
-
this.z = z;
|
|
1348
|
-
c.detach();
|
|
1349
|
-
this.el = r.nativeElement;
|
|
1350
|
-
}
|
|
1351
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxKeyValue, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1352
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxKeyValue, selector: "ix-key-value", inputs: { ariaLabelIcon: "ariaLabelIcon", icon: "icon", label: "label", labelPosition: "labelPosition", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1353
|
-
};
|
|
1354
|
-
IxKeyValue = __decorate([
|
|
1355
|
-
ProxyCmp({
|
|
1356
|
-
inputs: ['ariaLabelIcon', 'icon', 'label', 'labelPosition', 'value']
|
|
1357
|
-
})
|
|
1358
|
-
], IxKeyValue);
|
|
1359
|
-
export { IxKeyValue };
|
|
1360
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxKeyValue, decorators: [{
|
|
1361
|
-
type: Component,
|
|
1362
|
-
args: [{
|
|
1363
|
-
selector: 'ix-key-value',
|
|
1364
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1365
|
-
template: '<ng-content></ng-content>',
|
|
1366
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1367
|
-
inputs: ['ariaLabelIcon', 'icon', 'label', 'labelPosition', 'value'],
|
|
1368
|
-
}]
|
|
1369
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1370
|
-
let IxKeyValueList = class IxKeyValueList {
|
|
1371
|
-
z;
|
|
1372
|
-
el;
|
|
1373
|
-
constructor(c, r, z) {
|
|
1374
|
-
this.z = z;
|
|
1375
|
-
c.detach();
|
|
1376
|
-
this.el = r.nativeElement;
|
|
1377
|
-
}
|
|
1378
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxKeyValueList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1379
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxKeyValueList, selector: "ix-key-value-list", inputs: { striped: "striped" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1380
|
-
};
|
|
1381
|
-
IxKeyValueList = __decorate([
|
|
1382
|
-
ProxyCmp({
|
|
1383
|
-
inputs: ['striped']
|
|
1384
|
-
})
|
|
1385
|
-
], IxKeyValueList);
|
|
1386
|
-
export { IxKeyValueList };
|
|
1387
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxKeyValueList, decorators: [{
|
|
1388
|
-
type: Component,
|
|
1389
|
-
args: [{
|
|
1390
|
-
selector: 'ix-key-value-list',
|
|
1391
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1392
|
-
template: '<ng-content></ng-content>',
|
|
1393
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1394
|
-
inputs: ['striped'],
|
|
1395
|
-
}]
|
|
1396
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1397
|
-
let IxKpi = class IxKpi {
|
|
1398
|
-
z;
|
|
1399
|
-
el;
|
|
1400
|
-
constructor(c, r, z) {
|
|
1401
|
-
this.z = z;
|
|
1402
|
-
c.detach();
|
|
1403
|
-
this.el = r.nativeElement;
|
|
1404
|
-
}
|
|
1405
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxKpi, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1406
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxKpi, selector: "ix-kpi", inputs: { ariaLabelAlarmIcon: "ariaLabelAlarmIcon", ariaLabelWarningIcon: "ariaLabelWarningIcon", label: "label", orientation: "orientation", state: "state", unit: "unit", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1407
|
-
};
|
|
1408
|
-
IxKpi = __decorate([
|
|
1409
|
-
ProxyCmp({
|
|
1410
|
-
inputs: ['ariaLabelAlarmIcon', 'ariaLabelWarningIcon', 'label', 'orientation', 'state', 'unit', 'value']
|
|
1411
|
-
})
|
|
1412
|
-
], IxKpi);
|
|
1413
|
-
export { IxKpi };
|
|
1414
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxKpi, decorators: [{
|
|
1415
|
-
type: Component,
|
|
1416
|
-
args: [{
|
|
1417
|
-
selector: 'ix-kpi',
|
|
1418
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1419
|
-
template: '<ng-content></ng-content>',
|
|
1420
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1421
|
-
inputs: ['ariaLabelAlarmIcon', 'ariaLabelWarningIcon', 'label', 'orientation', 'state', 'unit', 'value'],
|
|
1422
|
-
}]
|
|
1423
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1424
|
-
let IxLayoutAuto = class IxLayoutAuto {
|
|
1425
|
-
z;
|
|
1426
|
-
el;
|
|
1427
|
-
constructor(c, r, z) {
|
|
1428
|
-
this.z = z;
|
|
1429
|
-
c.detach();
|
|
1430
|
-
this.el = r.nativeElement;
|
|
1431
|
-
}
|
|
1432
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxLayoutAuto, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1433
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxLayoutAuto, selector: "ix-layout-auto", inputs: { layout: "layout" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1434
|
-
};
|
|
1435
|
-
IxLayoutAuto = __decorate([
|
|
1436
|
-
ProxyCmp({
|
|
1437
|
-
inputs: ['layout']
|
|
1438
|
-
})
|
|
1439
|
-
], IxLayoutAuto);
|
|
1440
|
-
export { IxLayoutAuto };
|
|
1441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxLayoutAuto, decorators: [{
|
|
1442
|
-
type: Component,
|
|
1443
|
-
args: [{
|
|
1444
|
-
selector: 'ix-layout-auto',
|
|
1445
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1446
|
-
template: '<ng-content></ng-content>',
|
|
1447
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1448
|
-
inputs: ['layout'],
|
|
1449
|
-
}]
|
|
1450
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1451
|
-
let IxLayoutGrid = class IxLayoutGrid {
|
|
1452
|
-
z;
|
|
1453
|
-
el;
|
|
1454
|
-
constructor(c, r, z) {
|
|
1455
|
-
this.z = z;
|
|
1456
|
-
c.detach();
|
|
1457
|
-
this.el = r.nativeElement;
|
|
1458
|
-
}
|
|
1459
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxLayoutGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1460
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxLayoutGrid, selector: "ix-layout-grid", inputs: { columns: "columns", gap: "gap", noMargin: "noMargin" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1461
|
-
};
|
|
1462
|
-
IxLayoutGrid = __decorate([
|
|
1463
|
-
ProxyCmp({
|
|
1464
|
-
inputs: ['columns', 'gap', 'noMargin']
|
|
1465
|
-
})
|
|
1466
|
-
], IxLayoutGrid);
|
|
1467
|
-
export { IxLayoutGrid };
|
|
1468
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxLayoutGrid, decorators: [{
|
|
1469
|
-
type: Component,
|
|
1470
|
-
args: [{
|
|
1471
|
-
selector: 'ix-layout-grid',
|
|
1472
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1473
|
-
template: '<ng-content></ng-content>',
|
|
1474
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1475
|
-
inputs: ['columns', 'gap', 'noMargin'],
|
|
1476
|
-
}]
|
|
1477
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1478
|
-
let IxLinkButton = class IxLinkButton {
|
|
1479
|
-
z;
|
|
1480
|
-
el;
|
|
1481
|
-
constructor(c, r, z) {
|
|
1482
|
-
this.z = z;
|
|
1483
|
-
c.detach();
|
|
1484
|
-
this.el = r.nativeElement;
|
|
1485
|
-
}
|
|
1486
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxLinkButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1487
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxLinkButton, selector: "ix-link-button", inputs: { disabled: "disabled", target: "target", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1488
|
-
};
|
|
1489
|
-
IxLinkButton = __decorate([
|
|
1490
|
-
ProxyCmp({
|
|
1491
|
-
inputs: ['disabled', 'target', 'url']
|
|
1492
|
-
})
|
|
1493
|
-
], IxLinkButton);
|
|
1494
|
-
export { IxLinkButton };
|
|
1495
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxLinkButton, decorators: [{
|
|
1496
|
-
type: Component,
|
|
1497
|
-
args: [{
|
|
1498
|
-
selector: 'ix-link-button',
|
|
1499
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1500
|
-
template: '<ng-content></ng-content>',
|
|
1501
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1502
|
-
inputs: ['disabled', 'target', 'url'],
|
|
1503
|
-
}]
|
|
1504
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1505
|
-
let IxMapNavigation = class IxMapNavigation {
|
|
1506
|
-
z;
|
|
1507
|
-
el;
|
|
1508
|
-
constructor(c, r, z) {
|
|
1509
|
-
this.z = z;
|
|
1510
|
-
c.detach();
|
|
1511
|
-
this.el = r.nativeElement;
|
|
1512
|
-
proxyOutputs(this, this.el, ['navigationToggled', 'contextMenuClick']);
|
|
1513
|
-
}
|
|
1514
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMapNavigation, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1515
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMapNavigation, selector: "ix-map-navigation", inputs: { applicationName: "applicationName", ariaLabelContextIconButton: "ariaLabelContextIconButton", hideContextMenu: "hideContextMenu", navigationTitle: "navigationTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1516
|
-
};
|
|
1517
|
-
IxMapNavigation = __decorate([
|
|
1518
|
-
ProxyCmp({
|
|
1519
|
-
inputs: ['applicationName', 'ariaLabelContextIconButton', 'hideContextMenu', 'navigationTitle'],
|
|
1520
|
-
methods: ['toggleSidebar', 'openOverlay', 'closeOverlay']
|
|
1521
|
-
})
|
|
1522
|
-
], IxMapNavigation);
|
|
1523
|
-
export { IxMapNavigation };
|
|
1524
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMapNavigation, decorators: [{
|
|
1525
|
-
type: Component,
|
|
1526
|
-
args: [{
|
|
1527
|
-
selector: 'ix-map-navigation',
|
|
1528
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1529
|
-
template: '<ng-content></ng-content>',
|
|
1530
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1531
|
-
inputs: ['applicationName', 'ariaLabelContextIconButton', 'hideContextMenu', 'navigationTitle'],
|
|
1532
|
-
}]
|
|
1533
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1534
|
-
let IxMapNavigationOverlay = class IxMapNavigationOverlay {
|
|
1535
|
-
z;
|
|
1536
|
-
el;
|
|
1537
|
-
constructor(c, r, z) {
|
|
1538
|
-
this.z = z;
|
|
1539
|
-
c.detach();
|
|
1540
|
-
this.el = r.nativeElement;
|
|
1541
|
-
proxyOutputs(this, this.el, ['closeClick']);
|
|
1542
|
-
}
|
|
1543
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMapNavigationOverlay, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1544
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMapNavigationOverlay, selector: "ix-map-navigation-overlay", inputs: { ariaLabelCloseIconButton: "ariaLabelCloseIconButton", ariaLabelIcon: "ariaLabelIcon", color: "color", icon: "icon", iconColor: "iconColor", name: "name" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1545
|
-
};
|
|
1546
|
-
IxMapNavigationOverlay = __decorate([
|
|
1547
|
-
ProxyCmp({
|
|
1548
|
-
inputs: ['ariaLabelCloseIconButton', 'ariaLabelIcon', 'color', 'icon', 'iconColor', 'name']
|
|
1549
|
-
})
|
|
1550
|
-
], IxMapNavigationOverlay);
|
|
1551
|
-
export { IxMapNavigationOverlay };
|
|
1552
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMapNavigationOverlay, decorators: [{
|
|
1553
|
-
type: Component,
|
|
1554
|
-
args: [{
|
|
1555
|
-
selector: 'ix-map-navigation-overlay',
|
|
1556
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1557
|
-
template: '<ng-content></ng-content>',
|
|
1558
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1559
|
-
inputs: ['ariaLabelCloseIconButton', 'ariaLabelIcon', 'color', 'icon', 'iconColor', 'name'],
|
|
1560
|
-
}]
|
|
1561
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1562
|
-
let IxMenu = class IxMenu {
|
|
1563
|
-
z;
|
|
1564
|
-
el;
|
|
1565
|
-
constructor(c, r, z) {
|
|
1566
|
-
this.z = z;
|
|
1567
|
-
c.detach();
|
|
1568
|
-
this.el = r.nativeElement;
|
|
1569
|
-
proxyOutputs(this, this.el, ['expandChange', 'mapExpandChange', 'openAppSwitch', 'openSettings', 'openAbout']);
|
|
1570
|
-
}
|
|
1571
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1572
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenu, selector: "ix-menu", inputs: { applicationDescription: "applicationDescription", applicationName: "applicationName", enableSettings: "enableSettings", enableToggleTheme: "enableToggleTheme", expand: "expand", i18nCollapse: "i18nCollapse", i18nExpand: "i18nExpand", i18nExpandSidebar: "i18nExpandSidebar", i18nLegal: "i18nLegal", i18nSettings: "i18nSettings", i18nToggleTheme: "i18nToggleTheme", pinned: "pinned", showAbout: "showAbout", showSettings: "showSettings", startExpanded: "startExpanded" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1573
|
-
};
|
|
1574
|
-
IxMenu = __decorate([
|
|
1575
|
-
ProxyCmp({
|
|
1576
|
-
inputs: ['applicationDescription', 'applicationName', 'enableSettings', 'enableToggleTheme', 'expand', 'i18nCollapse', 'i18nExpand', 'i18nExpandSidebar', 'i18nLegal', 'i18nSettings', 'i18nToggleTheme', 'pinned', 'showAbout', 'showSettings', 'startExpanded'],
|
|
1577
|
-
methods: ['toggleMapExpand', 'toggleMenu', 'toggleSettings', 'toggleAbout']
|
|
1578
|
-
})
|
|
1579
|
-
], IxMenu);
|
|
1580
|
-
export { IxMenu };
|
|
1581
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenu, decorators: [{
|
|
1582
|
-
type: Component,
|
|
1583
|
-
args: [{
|
|
1584
|
-
selector: 'ix-menu',
|
|
1585
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1586
|
-
template: '<ng-content></ng-content>',
|
|
1587
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1588
|
-
inputs: ['applicationDescription', 'applicationName', 'enableSettings', 'enableToggleTheme', 'expand', 'i18nCollapse', 'i18nExpand', 'i18nExpandSidebar', 'i18nLegal', 'i18nSettings', 'i18nToggleTheme', 'pinned', 'showAbout', 'showSettings', 'startExpanded'],
|
|
1589
|
-
}]
|
|
1590
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1591
|
-
let IxMenuAbout = class IxMenuAbout {
|
|
1592
|
-
z;
|
|
1593
|
-
el;
|
|
1594
|
-
constructor(c, r, z) {
|
|
1595
|
-
this.z = z;
|
|
1596
|
-
c.detach();
|
|
1597
|
-
this.el = r.nativeElement;
|
|
1598
|
-
proxyOutputs(this, this.el, ['tabChange', 'close']);
|
|
1599
|
-
}
|
|
1600
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAbout, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1601
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenuAbout, selector: "ix-menu-about", inputs: { activeTabLabel: "activeTabLabel", label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1602
|
-
};
|
|
1603
|
-
IxMenuAbout = __decorate([
|
|
1604
|
-
ProxyCmp({
|
|
1605
|
-
inputs: ['activeTabLabel', 'label']
|
|
1606
|
-
})
|
|
1607
|
-
], IxMenuAbout);
|
|
1608
|
-
export { IxMenuAbout };
|
|
1609
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAbout, decorators: [{
|
|
1610
|
-
type: Component,
|
|
1611
|
-
args: [{
|
|
1612
|
-
selector: 'ix-menu-about',
|
|
1613
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1614
|
-
template: '<ng-content></ng-content>',
|
|
1615
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1616
|
-
inputs: ['activeTabLabel', 'label'],
|
|
1617
|
-
}]
|
|
1618
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1619
|
-
let IxMenuAboutItem = class IxMenuAboutItem {
|
|
1620
|
-
z;
|
|
1621
|
-
el;
|
|
1622
|
-
constructor(c, r, z) {
|
|
1623
|
-
this.z = z;
|
|
1624
|
-
c.detach();
|
|
1625
|
-
this.el = r.nativeElement;
|
|
1626
|
-
proxyOutputs(this, this.el, ['labelChange']);
|
|
1627
|
-
}
|
|
1628
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAboutItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1629
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenuAboutItem, selector: "ix-menu-about-item", inputs: { label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1630
|
-
};
|
|
1631
|
-
IxMenuAboutItem = __decorate([
|
|
1632
|
-
ProxyCmp({
|
|
1633
|
-
inputs: ['label']
|
|
1634
|
-
})
|
|
1635
|
-
], IxMenuAboutItem);
|
|
1636
|
-
export { IxMenuAboutItem };
|
|
1637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAboutItem, decorators: [{
|
|
1638
|
-
type: Component,
|
|
1639
|
-
args: [{
|
|
1640
|
-
selector: 'ix-menu-about-item',
|
|
1641
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1642
|
-
template: '<ng-content></ng-content>',
|
|
1643
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1644
|
-
inputs: ['label'],
|
|
1645
|
-
}]
|
|
1646
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1647
|
-
let IxMenuAboutNews = class IxMenuAboutNews {
|
|
1648
|
-
z;
|
|
1649
|
-
el;
|
|
1650
|
-
constructor(c, r, z) {
|
|
1651
|
-
this.z = z;
|
|
1652
|
-
c.detach();
|
|
1653
|
-
this.el = r.nativeElement;
|
|
1654
|
-
proxyOutputs(this, this.el, ['showMore', 'closePopover']);
|
|
1655
|
-
}
|
|
1656
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAboutNews, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1657
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenuAboutNews, selector: "ix-menu-about-news", inputs: { aboutItemLabel: "aboutItemLabel", i18nShowMore: "i18nShowMore", label: "label", offsetBottom: "offsetBottom", show: "show" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1658
|
-
};
|
|
1659
|
-
IxMenuAboutNews = __decorate([
|
|
1660
|
-
ProxyCmp({
|
|
1661
|
-
inputs: ['aboutItemLabel', 'i18nShowMore', 'label', 'offsetBottom', 'show']
|
|
1662
|
-
})
|
|
1663
|
-
], IxMenuAboutNews);
|
|
1664
|
-
export { IxMenuAboutNews };
|
|
1665
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAboutNews, decorators: [{
|
|
1666
|
-
type: Component,
|
|
1667
|
-
args: [{
|
|
1668
|
-
selector: 'ix-menu-about-news',
|
|
1669
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1670
|
-
template: '<ng-content></ng-content>',
|
|
1671
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1672
|
-
inputs: ['aboutItemLabel', 'i18nShowMore', 'label', 'offsetBottom', 'show'],
|
|
1673
|
-
}]
|
|
1674
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1675
|
-
let IxMenuAvatar = class IxMenuAvatar {
|
|
1676
|
-
z;
|
|
1677
|
-
el;
|
|
1678
|
-
constructor(c, r, z) {
|
|
1679
|
-
this.z = z;
|
|
1680
|
-
c.detach();
|
|
1681
|
-
this.el = r.nativeElement;
|
|
1682
|
-
proxyOutputs(this, this.el, ['logoutClick']);
|
|
1683
|
-
}
|
|
1684
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1685
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenuAvatar, selector: "ix-menu-avatar", inputs: { bottom: "bottom", i18nLogout: "i18nLogout", image: "image", initials: "initials", showLogoutButton: "showLogoutButton", top: "top" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1686
|
-
};
|
|
1687
|
-
IxMenuAvatar = __decorate([
|
|
1688
|
-
ProxyCmp({
|
|
1689
|
-
inputs: ['bottom', 'i18nLogout', 'image', 'initials', 'showLogoutButton', 'top']
|
|
1690
|
-
})
|
|
1691
|
-
], IxMenuAvatar);
|
|
1692
|
-
export { IxMenuAvatar };
|
|
1693
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAvatar, decorators: [{
|
|
1694
|
-
type: Component,
|
|
1695
|
-
args: [{
|
|
1696
|
-
selector: 'ix-menu-avatar',
|
|
1697
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1698
|
-
template: '<ng-content></ng-content>',
|
|
1699
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1700
|
-
inputs: ['bottom', 'i18nLogout', 'image', 'initials', 'showLogoutButton', 'top'],
|
|
1701
|
-
}]
|
|
1702
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1703
|
-
let IxMenuAvatarItem = class IxMenuAvatarItem {
|
|
1704
|
-
z;
|
|
1705
|
-
el;
|
|
1706
|
-
constructor(c, r, z) {
|
|
1707
|
-
this.z = z;
|
|
1708
|
-
c.detach();
|
|
1709
|
-
this.el = r.nativeElement;
|
|
1710
|
-
proxyOutputs(this, this.el, ['itemClick']);
|
|
1711
|
-
}
|
|
1712
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAvatarItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1713
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenuAvatarItem, selector: "ix-menu-avatar-item", inputs: { icon: "icon", label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1714
|
-
};
|
|
1715
|
-
IxMenuAvatarItem = __decorate([
|
|
1716
|
-
ProxyCmp({
|
|
1717
|
-
inputs: ['icon', 'label']
|
|
1718
|
-
})
|
|
1719
|
-
], IxMenuAvatarItem);
|
|
1720
|
-
export { IxMenuAvatarItem };
|
|
1721
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuAvatarItem, decorators: [{
|
|
1722
|
-
type: Component,
|
|
1723
|
-
args: [{
|
|
1724
|
-
selector: 'ix-menu-avatar-item',
|
|
1725
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1726
|
-
template: '<ng-content></ng-content>',
|
|
1727
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1728
|
-
inputs: ['icon', 'label'],
|
|
1729
|
-
}]
|
|
1730
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1731
|
-
let IxMenuCategory = class IxMenuCategory {
|
|
1732
|
-
z;
|
|
1733
|
-
el;
|
|
1734
|
-
constructor(c, r, z) {
|
|
1735
|
-
this.z = z;
|
|
1736
|
-
c.detach();
|
|
1737
|
-
this.el = r.nativeElement;
|
|
1738
|
-
}
|
|
1739
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuCategory, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1740
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenuCategory, selector: "ix-menu-category", inputs: { icon: "icon", label: "label", notifications: "notifications" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1741
|
-
};
|
|
1742
|
-
IxMenuCategory = __decorate([
|
|
1743
|
-
ProxyCmp({
|
|
1744
|
-
inputs: ['icon', 'label', 'notifications']
|
|
1745
|
-
})
|
|
1746
|
-
], IxMenuCategory);
|
|
1747
|
-
export { IxMenuCategory };
|
|
1748
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuCategory, decorators: [{
|
|
1749
|
-
type: Component,
|
|
1750
|
-
args: [{
|
|
1751
|
-
selector: 'ix-menu-category',
|
|
1752
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1753
|
-
template: '<ng-content></ng-content>',
|
|
1754
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1755
|
-
inputs: ['icon', 'label', 'notifications'],
|
|
1756
|
-
}]
|
|
1757
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1758
|
-
let IxMenuItem = class IxMenuItem {
|
|
1759
|
-
z;
|
|
1760
|
-
el;
|
|
1761
|
-
constructor(c, r, z) {
|
|
1762
|
-
this.z = z;
|
|
1763
|
-
c.detach();
|
|
1764
|
-
this.el = r.nativeElement;
|
|
1765
|
-
}
|
|
1766
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1767
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenuItem, selector: "ix-menu-item", inputs: { active: "active", bottom: "bottom", disabled: "disabled", home: "home", icon: "icon", label: "label", notifications: "notifications" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1768
|
-
};
|
|
1769
|
-
IxMenuItem = __decorate([
|
|
1770
|
-
ProxyCmp({
|
|
1771
|
-
inputs: ['active', 'bottom', 'disabled', 'home', 'icon', 'label', 'notifications']
|
|
1772
|
-
})
|
|
1773
|
-
], IxMenuItem);
|
|
1774
|
-
export { IxMenuItem };
|
|
1775
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuItem, decorators: [{
|
|
1776
|
-
type: Component,
|
|
1777
|
-
args: [{
|
|
1778
|
-
selector: 'ix-menu-item',
|
|
1779
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1780
|
-
template: '<ng-content></ng-content>',
|
|
1781
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1782
|
-
inputs: ['active', 'bottom', 'disabled', 'home', 'icon', 'label', 'notifications'],
|
|
1783
|
-
}]
|
|
1784
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1785
|
-
let IxMenuSettings = class IxMenuSettings {
|
|
1786
|
-
z;
|
|
1787
|
-
el;
|
|
1788
|
-
constructor(c, r, z) {
|
|
1789
|
-
this.z = z;
|
|
1790
|
-
c.detach();
|
|
1791
|
-
this.el = r.nativeElement;
|
|
1792
|
-
proxyOutputs(this, this.el, ['tabChange', 'close']);
|
|
1793
|
-
}
|
|
1794
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuSettings, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1795
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenuSettings, selector: "ix-menu-settings", inputs: { activeTabLabel: "activeTabLabel", label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1796
|
-
};
|
|
1797
|
-
IxMenuSettings = __decorate([
|
|
1798
|
-
ProxyCmp({
|
|
1799
|
-
inputs: ['activeTabLabel', 'label']
|
|
1800
|
-
})
|
|
1801
|
-
], IxMenuSettings);
|
|
1802
|
-
export { IxMenuSettings };
|
|
1803
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuSettings, decorators: [{
|
|
1804
|
-
type: Component,
|
|
1805
|
-
args: [{
|
|
1806
|
-
selector: 'ix-menu-settings',
|
|
1807
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1808
|
-
template: '<ng-content></ng-content>',
|
|
1809
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1810
|
-
inputs: ['activeTabLabel', 'label'],
|
|
1811
|
-
}]
|
|
1812
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1813
|
-
let IxMenuSettingsItem = class IxMenuSettingsItem {
|
|
1814
|
-
z;
|
|
1815
|
-
el;
|
|
1816
|
-
constructor(c, r, z) {
|
|
1817
|
-
this.z = z;
|
|
1818
|
-
c.detach();
|
|
1819
|
-
this.el = r.nativeElement;
|
|
1820
|
-
proxyOutputs(this, this.el, ['labelChange']);
|
|
1821
|
-
}
|
|
1822
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuSettingsItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1823
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMenuSettingsItem, selector: "ix-menu-settings-item", inputs: { label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1824
|
-
};
|
|
1825
|
-
IxMenuSettingsItem = __decorate([
|
|
1826
|
-
ProxyCmp({
|
|
1827
|
-
inputs: ['label']
|
|
1828
|
-
})
|
|
1829
|
-
], IxMenuSettingsItem);
|
|
1830
|
-
export { IxMenuSettingsItem };
|
|
1831
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMenuSettingsItem, decorators: [{
|
|
1832
|
-
type: Component,
|
|
1833
|
-
args: [{
|
|
1834
|
-
selector: 'ix-menu-settings-item',
|
|
1835
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1836
|
-
template: '<ng-content></ng-content>',
|
|
1837
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1838
|
-
inputs: ['label'],
|
|
1839
|
-
}]
|
|
1840
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1841
|
-
let IxMessageBar = class IxMessageBar {
|
|
1842
|
-
z;
|
|
1843
|
-
el;
|
|
1844
|
-
constructor(c, r, z) {
|
|
1845
|
-
this.z = z;
|
|
1846
|
-
c.detach();
|
|
1847
|
-
this.el = r.nativeElement;
|
|
1848
|
-
proxyOutputs(this, this.el, ['closedChange', 'closeAnimationCompleted']);
|
|
1849
|
-
}
|
|
1850
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMessageBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1851
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxMessageBar, selector: "ix-message-bar", inputs: { dismissible: "dismissible", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1852
|
-
};
|
|
1853
|
-
IxMessageBar = __decorate([
|
|
1854
|
-
ProxyCmp({
|
|
1855
|
-
inputs: ['dismissible', 'type']
|
|
1856
|
-
})
|
|
1857
|
-
], IxMessageBar);
|
|
1858
|
-
export { IxMessageBar };
|
|
1859
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxMessageBar, decorators: [{
|
|
1860
|
-
type: Component,
|
|
1861
|
-
args: [{
|
|
1862
|
-
selector: 'ix-message-bar',
|
|
1863
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1864
|
-
template: '<ng-content></ng-content>',
|
|
1865
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1866
|
-
inputs: ['dismissible', 'type'],
|
|
1867
|
-
}]
|
|
1868
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1869
|
-
let IxModal = class IxModal {
|
|
1870
|
-
z;
|
|
1871
|
-
el;
|
|
1872
|
-
constructor(c, r, z) {
|
|
1873
|
-
this.z = z;
|
|
1874
|
-
c.detach();
|
|
1875
|
-
this.el = r.nativeElement;
|
|
1876
|
-
proxyOutputs(this, this.el, ['dialogClose', 'dialogDismiss']);
|
|
1877
|
-
}
|
|
1878
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1879
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxModal, selector: "ix-modal", inputs: { animation: "animation", backdrop: "backdrop", beforeDismiss: "beforeDismiss", centered: "centered", closeOnBackdropClick: "closeOnBackdropClick", closeOnEscape: "closeOnEscape", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1880
|
-
};
|
|
1881
|
-
IxModal = __decorate([
|
|
1882
|
-
ProxyCmp({
|
|
1883
|
-
inputs: ['animation', 'backdrop', 'beforeDismiss', 'centered', 'closeOnBackdropClick', 'closeOnEscape', 'size'],
|
|
1884
|
-
methods: ['showModal', 'dismissModal', 'closeModal']
|
|
1885
|
-
})
|
|
1886
|
-
], IxModal);
|
|
1887
|
-
export { IxModal };
|
|
1888
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxModal, decorators: [{
|
|
1889
|
-
type: Component,
|
|
1890
|
-
args: [{
|
|
1891
|
-
selector: 'ix-modal',
|
|
1892
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1893
|
-
template: '<ng-content></ng-content>',
|
|
1894
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1895
|
-
inputs: ['animation', 'backdrop', 'beforeDismiss', 'centered', 'closeOnBackdropClick', 'closeOnEscape', 'size'],
|
|
1896
|
-
}]
|
|
1897
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1898
|
-
let IxModalContent = class IxModalContent {
|
|
1899
|
-
z;
|
|
1900
|
-
el;
|
|
1901
|
-
constructor(c, r, z) {
|
|
1902
|
-
this.z = z;
|
|
1903
|
-
c.detach();
|
|
1904
|
-
this.el = r.nativeElement;
|
|
1905
|
-
}
|
|
1906
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxModalContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1907
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxModalContent, selector: "ix-modal-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1908
|
-
};
|
|
1909
|
-
IxModalContent = __decorate([
|
|
1910
|
-
ProxyCmp({})
|
|
1911
|
-
], IxModalContent);
|
|
1912
|
-
export { IxModalContent };
|
|
1913
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxModalContent, decorators: [{
|
|
1914
|
-
type: Component,
|
|
1915
|
-
args: [{
|
|
1916
|
-
selector: 'ix-modal-content',
|
|
1917
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1918
|
-
template: '<ng-content></ng-content>',
|
|
1919
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1920
|
-
inputs: [],
|
|
1921
|
-
}]
|
|
1922
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1923
|
-
let IxModalFooter = class IxModalFooter {
|
|
1924
|
-
z;
|
|
1925
|
-
el;
|
|
1926
|
-
constructor(c, r, z) {
|
|
1927
|
-
this.z = z;
|
|
1928
|
-
c.detach();
|
|
1929
|
-
this.el = r.nativeElement;
|
|
1930
|
-
}
|
|
1931
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxModalFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1932
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxModalFooter, selector: "ix-modal-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1933
|
-
};
|
|
1934
|
-
IxModalFooter = __decorate([
|
|
1935
|
-
ProxyCmp({})
|
|
1936
|
-
], IxModalFooter);
|
|
1937
|
-
export { IxModalFooter };
|
|
1938
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxModalFooter, decorators: [{
|
|
1939
|
-
type: Component,
|
|
1940
|
-
args: [{
|
|
1941
|
-
selector: 'ix-modal-footer',
|
|
1942
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1943
|
-
template: '<ng-content></ng-content>',
|
|
1944
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1945
|
-
inputs: [],
|
|
1946
|
-
}]
|
|
1947
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1948
|
-
let IxModalHeader = class IxModalHeader {
|
|
1949
|
-
z;
|
|
1950
|
-
el;
|
|
1951
|
-
constructor(c, r, z) {
|
|
1952
|
-
this.z = z;
|
|
1953
|
-
c.detach();
|
|
1954
|
-
this.el = r.nativeElement;
|
|
1955
|
-
proxyOutputs(this, this.el, ['closeClick']);
|
|
1956
|
-
}
|
|
1957
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxModalHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1958
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxModalHeader, selector: "ix-modal-header", inputs: { ariaLabelCloseIconButton: "ariaLabelCloseIconButton", ariaLabelIcon: "ariaLabelIcon", hideClose: "hideClose", icon: "icon", iconColor: "iconColor" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1959
|
-
};
|
|
1960
|
-
IxModalHeader = __decorate([
|
|
1961
|
-
ProxyCmp({
|
|
1962
|
-
inputs: ['ariaLabelCloseIconButton', 'ariaLabelIcon', 'hideClose', 'icon', 'iconColor']
|
|
1963
|
-
})
|
|
1964
|
-
], IxModalHeader);
|
|
1965
|
-
export { IxModalHeader };
|
|
1966
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxModalHeader, decorators: [{
|
|
1967
|
-
type: Component,
|
|
1968
|
-
args: [{
|
|
1969
|
-
selector: 'ix-modal-header',
|
|
1970
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1971
|
-
template: '<ng-content></ng-content>',
|
|
1972
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1973
|
-
inputs: ['ariaLabelCloseIconButton', 'ariaLabelIcon', 'hideClose', 'icon', 'iconColor'],
|
|
1974
|
-
}]
|
|
1975
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1976
|
-
let IxNumberInput = class IxNumberInput {
|
|
1977
|
-
z;
|
|
1978
|
-
el;
|
|
1979
|
-
constructor(c, r, z) {
|
|
1980
|
-
this.z = z;
|
|
1981
|
-
c.detach();
|
|
1982
|
-
this.el = r.nativeElement;
|
|
1983
|
-
proxyOutputs(this, this.el, ['valueChange', 'validityStateChange', 'ixBlur']);
|
|
1984
|
-
}
|
|
1985
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxNumberInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1986
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxNumberInput, selector: "ix-number-input", inputs: { allowedCharactersPattern: "allowedCharactersPattern", disabled: "disabled", helperText: "helperText", infoText: "infoText", invalidText: "invalidText", label: "label", max: "max", min: "min", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", showStepperButtons: "showStepperButtons", showTextAsTooltip: "showTextAsTooltip", step: "step", validText: "validText", value: "value", warningText: "warningText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1987
|
-
};
|
|
1988
|
-
IxNumberInput = __decorate([
|
|
1989
|
-
ProxyCmp({
|
|
1990
|
-
inputs: ['allowedCharactersPattern', 'disabled', 'helperText', 'infoText', 'invalidText', 'label', 'max', 'min', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'showStepperButtons', 'showTextAsTooltip', 'step', 'validText', 'value', 'warningText'],
|
|
1991
|
-
methods: ['getNativeInputElement', 'focusInput']
|
|
1992
|
-
})
|
|
1993
|
-
], IxNumberInput);
|
|
1994
|
-
export { IxNumberInput };
|
|
1995
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxNumberInput, decorators: [{
|
|
1996
|
-
type: Component,
|
|
1997
|
-
args: [{
|
|
1998
|
-
selector: 'ix-number-input',
|
|
1999
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2000
|
-
template: '<ng-content></ng-content>',
|
|
2001
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2002
|
-
inputs: ['allowedCharactersPattern', 'disabled', 'helperText', 'infoText', 'invalidText', 'label', 'max', 'min', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'showStepperButtons', 'showTextAsTooltip', 'step', 'validText', 'value', 'warningText'],
|
|
2003
|
-
}]
|
|
2004
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2005
|
-
let IxPagination = class IxPagination {
|
|
2006
|
-
z;
|
|
2007
|
-
el;
|
|
2008
|
-
constructor(c, r, z) {
|
|
2009
|
-
this.z = z;
|
|
2010
|
-
c.detach();
|
|
2011
|
-
this.el = r.nativeElement;
|
|
2012
|
-
proxyOutputs(this, this.el, ['pageSelected', 'itemCountChanged']);
|
|
2013
|
-
}
|
|
2014
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPagination, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2015
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxPagination, selector: "ix-pagination", inputs: { advanced: "advanced", ariaLabelChevronLeftIconButton: "ariaLabelChevronLeftIconButton", ariaLabelChevronRightIconButton: "ariaLabelChevronRightIconButton", count: "count", i18nItems: "i18nItems", i18nOf: "i18nOf", i18nPage: "i18nPage", itemCount: "itemCount", selectedPage: "selectedPage", showItemCount: "showItemCount" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2016
|
-
};
|
|
2017
|
-
IxPagination = __decorate([
|
|
2018
|
-
ProxyCmp({
|
|
2019
|
-
inputs: ['advanced', 'ariaLabelChevronLeftIconButton', 'ariaLabelChevronRightIconButton', 'count', 'i18nItems', 'i18nOf', 'i18nPage', 'itemCount', 'selectedPage', 'showItemCount']
|
|
2020
|
-
})
|
|
2021
|
-
], IxPagination);
|
|
2022
|
-
export { IxPagination };
|
|
2023
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPagination, decorators: [{
|
|
2024
|
-
type: Component,
|
|
2025
|
-
args: [{
|
|
2026
|
-
selector: 'ix-pagination',
|
|
2027
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2028
|
-
template: '<ng-content></ng-content>',
|
|
2029
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2030
|
-
inputs: ['advanced', 'ariaLabelChevronLeftIconButton', 'ariaLabelChevronRightIconButton', 'count', 'i18nItems', 'i18nOf', 'i18nPage', 'itemCount', 'selectedPage', 'showItemCount'],
|
|
2031
|
-
}]
|
|
2032
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2033
|
-
let IxPane = class IxPane {
|
|
2034
|
-
z;
|
|
2035
|
-
el;
|
|
2036
|
-
constructor(c, r, z) {
|
|
2037
|
-
this.z = z;
|
|
2038
|
-
c.detach();
|
|
2039
|
-
this.el = r.nativeElement;
|
|
2040
|
-
proxyOutputs(this, this.el, ['expandedChanged', 'variantChanged', 'borderlessChanged']);
|
|
2041
|
-
}
|
|
2042
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPane, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2043
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxPane, selector: "ix-pane", inputs: { ariaLabelIcon: "ariaLabelIcon", borderless: "borderless", composition: "composition", expanded: "expanded", heading: "heading", hideOnCollapse: "hideOnCollapse", icon: "icon", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2044
|
-
};
|
|
2045
|
-
IxPane = __decorate([
|
|
2046
|
-
ProxyCmp({
|
|
2047
|
-
inputs: ['ariaLabelIcon', 'borderless', 'composition', 'expanded', 'heading', 'hideOnCollapse', 'icon', 'size', 'variant']
|
|
2048
|
-
})
|
|
2049
|
-
], IxPane);
|
|
2050
|
-
export { IxPane };
|
|
2051
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPane, decorators: [{
|
|
2052
|
-
type: Component,
|
|
2053
|
-
args: [{
|
|
2054
|
-
selector: 'ix-pane',
|
|
2055
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2056
|
-
template: '<ng-content></ng-content>',
|
|
2057
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2058
|
-
inputs: ['ariaLabelIcon', 'borderless', 'composition', 'expanded', 'heading', 'hideOnCollapse', 'icon', 'size', 'variant'],
|
|
2059
|
-
}]
|
|
2060
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2061
|
-
let IxPaneLayout = class IxPaneLayout {
|
|
2062
|
-
z;
|
|
2063
|
-
el;
|
|
2064
|
-
constructor(c, r, z) {
|
|
2065
|
-
this.z = z;
|
|
2066
|
-
c.detach();
|
|
2067
|
-
this.el = r.nativeElement;
|
|
2068
|
-
}
|
|
2069
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPaneLayout, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2070
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxPaneLayout, selector: "ix-pane-layout", inputs: { borderless: "borderless", layout: "layout", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2071
|
-
};
|
|
2072
|
-
IxPaneLayout = __decorate([
|
|
2073
|
-
ProxyCmp({
|
|
2074
|
-
inputs: ['borderless', 'layout', 'variant']
|
|
2075
|
-
})
|
|
2076
|
-
], IxPaneLayout);
|
|
2077
|
-
export { IxPaneLayout };
|
|
2078
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPaneLayout, decorators: [{
|
|
2079
|
-
type: Component,
|
|
2080
|
-
args: [{
|
|
2081
|
-
selector: 'ix-pane-layout',
|
|
2082
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2083
|
-
template: '<ng-content></ng-content>',
|
|
2084
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2085
|
-
inputs: ['borderless', 'layout', 'variant'],
|
|
2086
|
-
}]
|
|
2087
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2088
|
-
let IxPill = class IxPill {
|
|
2089
|
-
z;
|
|
2090
|
-
el;
|
|
2091
|
-
constructor(c, r, z) {
|
|
2092
|
-
this.z = z;
|
|
2093
|
-
c.detach();
|
|
2094
|
-
this.el = r.nativeElement;
|
|
2095
|
-
}
|
|
2096
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPill, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2097
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxPill, selector: "ix-pill", inputs: { alignLeft: "alignLeft", ariaLabelIcon: "ariaLabelIcon", background: "background", icon: "icon", outline: "outline", pillColor: "pillColor", tooltipText: "tooltipText", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2098
|
-
};
|
|
2099
|
-
IxPill = __decorate([
|
|
2100
|
-
ProxyCmp({
|
|
2101
|
-
inputs: ['alignLeft', 'ariaLabelIcon', 'background', 'icon', 'outline', 'pillColor', 'tooltipText', 'variant']
|
|
2102
|
-
})
|
|
2103
|
-
], IxPill);
|
|
2104
|
-
export { IxPill };
|
|
2105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPill, decorators: [{
|
|
2106
|
-
type: Component,
|
|
2107
|
-
args: [{
|
|
2108
|
-
selector: 'ix-pill',
|
|
2109
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2110
|
-
template: '<ng-content></ng-content>',
|
|
2111
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2112
|
-
inputs: ['alignLeft', 'ariaLabelIcon', 'background', 'icon', 'outline', 'pillColor', 'tooltipText', 'variant'],
|
|
2113
|
-
}]
|
|
2114
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2115
|
-
let IxProgressIndicator = class IxProgressIndicator {
|
|
2116
|
-
z;
|
|
2117
|
-
el;
|
|
2118
|
-
constructor(c, r, z) {
|
|
2119
|
-
this.z = z;
|
|
2120
|
-
c.detach();
|
|
2121
|
-
this.el = r.nativeElement;
|
|
2122
|
-
}
|
|
2123
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxProgressIndicator, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2124
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxProgressIndicator, selector: "ix-progress-indicator", inputs: { helperText: "helperText", label: "label", max: "max", min: "min", showTextAsTooltip: "showTextAsTooltip", size: "size", status: "status", textAlignment: "textAlignment", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2125
|
-
};
|
|
2126
|
-
IxProgressIndicator = __decorate([
|
|
2127
|
-
ProxyCmp({
|
|
2128
|
-
inputs: ['helperText', 'label', 'max', 'min', 'showTextAsTooltip', 'size', 'status', 'textAlignment', 'type', 'value']
|
|
2129
|
-
})
|
|
2130
|
-
], IxProgressIndicator);
|
|
2131
|
-
export { IxProgressIndicator };
|
|
2132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxProgressIndicator, decorators: [{
|
|
2133
|
-
type: Component,
|
|
2134
|
-
args: [{
|
|
2135
|
-
selector: 'ix-progress-indicator',
|
|
2136
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2137
|
-
template: '<ng-content></ng-content>',
|
|
2138
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2139
|
-
inputs: ['helperText', 'label', 'max', 'min', 'showTextAsTooltip', 'size', 'status', 'textAlignment', 'type', 'value'],
|
|
2140
|
-
}]
|
|
2141
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2142
|
-
let IxPushCard = class IxPushCard {
|
|
2143
|
-
z;
|
|
2144
|
-
el;
|
|
2145
|
-
constructor(c, r, z) {
|
|
2146
|
-
this.z = z;
|
|
2147
|
-
c.detach();
|
|
2148
|
-
this.el = r.nativeElement;
|
|
2149
|
-
}
|
|
2150
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPushCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2151
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxPushCard, selector: "ix-push-card", inputs: { ariaLabelIcon: "ariaLabelIcon", collapse: "collapse", heading: "heading", icon: "icon", notification: "notification", subheading: "subheading", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2152
|
-
};
|
|
2153
|
-
IxPushCard = __decorate([
|
|
2154
|
-
ProxyCmp({
|
|
2155
|
-
inputs: ['ariaLabelIcon', 'collapse', 'heading', 'icon', 'notification', 'subheading', 'variant']
|
|
2156
|
-
})
|
|
2157
|
-
], IxPushCard);
|
|
2158
|
-
export { IxPushCard };
|
|
2159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxPushCard, decorators: [{
|
|
2160
|
-
type: Component,
|
|
2161
|
-
args: [{
|
|
2162
|
-
selector: 'ix-push-card',
|
|
2163
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2164
|
-
template: '<ng-content></ng-content>',
|
|
2165
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2166
|
-
inputs: ['ariaLabelIcon', 'collapse', 'heading', 'icon', 'notification', 'subheading', 'variant'],
|
|
2167
|
-
}]
|
|
2168
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2169
|
-
let IxRadio = class IxRadio {
|
|
2170
|
-
z;
|
|
2171
|
-
el;
|
|
2172
|
-
constructor(c, r, z) {
|
|
2173
|
-
this.z = z;
|
|
2174
|
-
c.detach();
|
|
2175
|
-
this.el = r.nativeElement;
|
|
2176
|
-
proxyOutputs(this, this.el, ['checkedChange', 'valueChange', 'ixBlur']);
|
|
2177
|
-
}
|
|
2178
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2179
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxRadio, selector: "ix-radio", inputs: { checked: "checked", disabled: "disabled", label: "label", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2180
|
-
};
|
|
2181
|
-
IxRadio = __decorate([
|
|
2182
|
-
ProxyCmp({
|
|
2183
|
-
inputs: ['checked', 'disabled', 'label', 'name', 'required', 'value']
|
|
2184
|
-
})
|
|
2185
|
-
], IxRadio);
|
|
2186
|
-
export { IxRadio };
|
|
2187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxRadio, decorators: [{
|
|
2188
|
-
type: Component,
|
|
2189
|
-
args: [{
|
|
2190
|
-
selector: 'ix-radio',
|
|
2191
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2192
|
-
template: '<ng-content></ng-content>',
|
|
2193
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2194
|
-
inputs: ['checked', 'disabled', 'label', 'name', 'required', 'value'],
|
|
2195
|
-
}]
|
|
2196
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2197
|
-
let IxRadioGroup = class IxRadioGroup {
|
|
2198
|
-
z;
|
|
2199
|
-
el;
|
|
2200
|
-
constructor(c, r, z) {
|
|
2201
|
-
this.z = z;
|
|
2202
|
-
c.detach();
|
|
2203
|
-
this.el = r.nativeElement;
|
|
2204
|
-
proxyOutputs(this, this.el, ['valueChange']);
|
|
2205
|
-
}
|
|
2206
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxRadioGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2207
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxRadioGroup, selector: "ix-radio-group", inputs: { direction: "direction", helperText: "helperText", infoText: "infoText", invalidText: "invalidText", label: "label", showTextAsTooltip: "showTextAsTooltip", validText: "validText", value: "value", warningText: "warningText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2208
|
-
};
|
|
2209
|
-
IxRadioGroup = __decorate([
|
|
2210
|
-
ProxyCmp({
|
|
2211
|
-
inputs: ['direction', 'helperText', 'infoText', 'invalidText', 'label', 'showTextAsTooltip', 'validText', 'value', 'warningText']
|
|
2212
|
-
})
|
|
2213
|
-
], IxRadioGroup);
|
|
2214
|
-
export { IxRadioGroup };
|
|
2215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxRadioGroup, decorators: [{
|
|
2216
|
-
type: Component,
|
|
2217
|
-
args: [{
|
|
2218
|
-
selector: 'ix-radio-group',
|
|
2219
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2220
|
-
template: '<ng-content></ng-content>',
|
|
2221
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2222
|
-
inputs: ['direction', 'helperText', 'infoText', 'invalidText', 'label', 'showTextAsTooltip', 'validText', 'value', 'warningText'],
|
|
2223
|
-
}]
|
|
2224
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2225
|
-
let IxRow = class IxRow {
|
|
2226
|
-
z;
|
|
2227
|
-
el;
|
|
2228
|
-
constructor(c, r, z) {
|
|
2229
|
-
this.z = z;
|
|
2230
|
-
c.detach();
|
|
2231
|
-
this.el = r.nativeElement;
|
|
2232
|
-
}
|
|
2233
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2234
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxRow, selector: "ix-row", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2235
|
-
};
|
|
2236
|
-
IxRow = __decorate([
|
|
2237
|
-
ProxyCmp({})
|
|
2238
|
-
], IxRow);
|
|
2239
|
-
export { IxRow };
|
|
2240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxRow, decorators: [{
|
|
2241
|
-
type: Component,
|
|
2242
|
-
args: [{
|
|
2243
|
-
selector: 'ix-row',
|
|
2244
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2245
|
-
template: '<ng-content></ng-content>',
|
|
2246
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2247
|
-
inputs: [],
|
|
2248
|
-
}]
|
|
2249
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2250
|
-
let IxSelect = class IxSelect {
|
|
2251
|
-
z;
|
|
2252
|
-
el;
|
|
2253
|
-
constructor(c, r, z) {
|
|
2254
|
-
this.z = z;
|
|
2255
|
-
c.detach();
|
|
2256
|
-
this.el = r.nativeElement;
|
|
2257
|
-
proxyOutputs(this, this.el, ['valueChange', 'inputChange', 'addItem', 'ixBlur']);
|
|
2258
|
-
}
|
|
2259
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2260
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxSelect, selector: "ix-select", inputs: { allowClear: "allowClear", ariaLabelChevronDownIconButton: "ariaLabelChevronDownIconButton", ariaLabelClearIconButton: "ariaLabelClearIconButton", disabled: "disabled", dropdownMaxWidth: "dropdownMaxWidth", dropdownWidth: "dropdownWidth", editable: "editable", helperText: "helperText", hideListHeader: "hideListHeader", i18nNoMatches: "i18nNoMatches", i18nPlaceholder: "i18nPlaceholder", i18nPlaceholderEditable: "i18nPlaceholderEditable", i18nSelectListHeader: "i18nSelectListHeader", infoText: "infoText", invalidText: "invalidText", label: "label", mode: "mode", name: "name", readonly: "readonly", required: "required", showTextAsTooltip: "showTextAsTooltip", validText: "validText", value: "value", warningText: "warningText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2261
|
-
};
|
|
2262
|
-
IxSelect = __decorate([
|
|
2263
|
-
ProxyCmp({
|
|
2264
|
-
inputs: ['allowClear', 'ariaLabelChevronDownIconButton', 'ariaLabelClearIconButton', 'disabled', 'dropdownMaxWidth', 'dropdownWidth', 'editable', 'helperText', 'hideListHeader', 'i18nNoMatches', 'i18nPlaceholder', 'i18nPlaceholderEditable', 'i18nSelectListHeader', 'infoText', 'invalidText', 'label', 'mode', 'name', 'readonly', 'required', 'showTextAsTooltip', 'validText', 'value', 'warningText'],
|
|
2265
|
-
methods: ['getNativeInputElement', 'focusInput']
|
|
2266
|
-
})
|
|
2267
|
-
], IxSelect);
|
|
2268
|
-
export { IxSelect };
|
|
2269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSelect, decorators: [{
|
|
2270
|
-
type: Component,
|
|
2271
|
-
args: [{
|
|
2272
|
-
selector: 'ix-select',
|
|
2273
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2274
|
-
template: '<ng-content></ng-content>',
|
|
2275
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2276
|
-
inputs: ['allowClear', 'ariaLabelChevronDownIconButton', 'ariaLabelClearIconButton', 'disabled', 'dropdownMaxWidth', 'dropdownWidth', 'editable', 'helperText', 'hideListHeader', 'i18nNoMatches', 'i18nPlaceholder', 'i18nPlaceholderEditable', 'i18nSelectListHeader', 'infoText', 'invalidText', 'label', 'mode', 'name', 'readonly', 'required', 'showTextAsTooltip', 'validText', 'value', 'warningText'],
|
|
2277
|
-
}]
|
|
2278
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2279
|
-
let IxSelectItem = class IxSelectItem {
|
|
2280
|
-
z;
|
|
2281
|
-
el;
|
|
2282
|
-
constructor(c, r, z) {
|
|
2283
|
-
this.z = z;
|
|
2284
|
-
c.detach();
|
|
2285
|
-
this.el = r.nativeElement;
|
|
2286
|
-
proxyOutputs(this, this.el, ['itemClick']);
|
|
2287
|
-
}
|
|
2288
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSelectItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2289
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxSelectItem, selector: "ix-select-item", inputs: { label: "label", selected: "selected", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2290
|
-
};
|
|
2291
|
-
IxSelectItem = __decorate([
|
|
2292
|
-
ProxyCmp({
|
|
2293
|
-
inputs: ['label', 'selected', 'value']
|
|
2294
|
-
})
|
|
2295
|
-
], IxSelectItem);
|
|
2296
|
-
export { IxSelectItem };
|
|
2297
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSelectItem, decorators: [{
|
|
2298
|
-
type: Component,
|
|
2299
|
-
args: [{
|
|
2300
|
-
selector: 'ix-select-item',
|
|
2301
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2302
|
-
template: '<ng-content></ng-content>',
|
|
2303
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2304
|
-
inputs: ['label', 'selected', 'value'],
|
|
2305
|
-
}]
|
|
2306
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2307
|
-
let IxSlider = class IxSlider {
|
|
2308
|
-
z;
|
|
2309
|
-
el;
|
|
2310
|
-
constructor(c, r, z) {
|
|
2311
|
-
this.z = z;
|
|
2312
|
-
c.detach();
|
|
2313
|
-
this.el = r.nativeElement;
|
|
2314
|
-
proxyOutputs(this, this.el, ['valueChange']);
|
|
2315
|
-
}
|
|
2316
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2317
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxSlider, selector: "ix-slider", inputs: { disabled: "disabled", error: "error", marker: "marker", max: "max", min: "min", step: "step", trace: "trace", traceReference: "traceReference", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2318
|
-
};
|
|
2319
|
-
IxSlider = __decorate([
|
|
2320
|
-
ProxyCmp({
|
|
2321
|
-
inputs: ['disabled', 'error', 'marker', 'max', 'min', 'step', 'trace', 'traceReference', 'value']
|
|
2322
|
-
})
|
|
2323
|
-
], IxSlider);
|
|
2324
|
-
export { IxSlider };
|
|
2325
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSlider, decorators: [{
|
|
2326
|
-
type: Component,
|
|
2327
|
-
args: [{
|
|
2328
|
-
selector: 'ix-slider',
|
|
2329
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2330
|
-
template: '<ng-content></ng-content>',
|
|
2331
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2332
|
-
inputs: ['disabled', 'error', 'marker', 'max', 'min', 'step', 'trace', 'traceReference', 'value'],
|
|
2333
|
-
}]
|
|
2334
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2335
|
-
let IxSpinner = class IxSpinner {
|
|
2336
|
-
z;
|
|
2337
|
-
el;
|
|
2338
|
-
constructor(c, r, z) {
|
|
2339
|
-
this.z = z;
|
|
2340
|
-
c.detach();
|
|
2341
|
-
this.el = r.nativeElement;
|
|
2342
|
-
}
|
|
2343
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSpinner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2344
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxSpinner, selector: "ix-spinner", inputs: { size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2345
|
-
};
|
|
2346
|
-
IxSpinner = __decorate([
|
|
2347
|
-
ProxyCmp({
|
|
2348
|
-
inputs: ['size', 'variant']
|
|
2349
|
-
})
|
|
2350
|
-
], IxSpinner);
|
|
2351
|
-
export { IxSpinner };
|
|
2352
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSpinner, decorators: [{
|
|
2353
|
-
type: Component,
|
|
2354
|
-
args: [{
|
|
2355
|
-
selector: 'ix-spinner',
|
|
2356
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2357
|
-
template: '<ng-content></ng-content>',
|
|
2358
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2359
|
-
inputs: ['size', 'variant'],
|
|
2360
|
-
}]
|
|
2361
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2362
|
-
let IxSplitButton = class IxSplitButton {
|
|
2363
|
-
z;
|
|
2364
|
-
el;
|
|
2365
|
-
constructor(c, r, z) {
|
|
2366
|
-
this.z = z;
|
|
2367
|
-
c.detach();
|
|
2368
|
-
this.el = r.nativeElement;
|
|
2369
|
-
proxyOutputs(this, this.el, ['buttonClick']);
|
|
2370
|
-
}
|
|
2371
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSplitButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2372
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxSplitButton, selector: "ix-split-button", inputs: { ariaLabelButton: "ariaLabelButton", ariaLabelSplitIconButton: "ariaLabelSplitIconButton", closeBehavior: "closeBehavior", disabled: "disabled", ghost: "ghost", icon: "icon", label: "label", outline: "outline", placement: "placement", splitIcon: "splitIcon", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2373
|
-
};
|
|
2374
|
-
IxSplitButton = __decorate([
|
|
2375
|
-
ProxyCmp({
|
|
2376
|
-
inputs: ['ariaLabelButton', 'ariaLabelSplitIconButton', 'closeBehavior', 'disabled', 'ghost', 'icon', 'label', 'outline', 'placement', 'splitIcon', 'variant']
|
|
2377
|
-
})
|
|
2378
|
-
], IxSplitButton);
|
|
2379
|
-
export { IxSplitButton };
|
|
2380
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxSplitButton, decorators: [{
|
|
2381
|
-
type: Component,
|
|
2382
|
-
args: [{
|
|
2383
|
-
selector: 'ix-split-button',
|
|
2384
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2385
|
-
template: '<ng-content></ng-content>',
|
|
2386
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2387
|
-
inputs: ['ariaLabelButton', 'ariaLabelSplitIconButton', 'closeBehavior', 'disabled', 'ghost', 'icon', 'label', 'outline', 'placement', 'splitIcon', 'variant'],
|
|
2388
|
-
}]
|
|
2389
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2390
|
-
let IxTabItem = class IxTabItem {
|
|
2391
|
-
z;
|
|
2392
|
-
el;
|
|
2393
|
-
constructor(c, r, z) {
|
|
2394
|
-
this.z = z;
|
|
2395
|
-
c.detach();
|
|
2396
|
-
this.el = r.nativeElement;
|
|
2397
|
-
proxyOutputs(this, this.el, ['tabClick']);
|
|
2398
|
-
}
|
|
2399
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTabItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2400
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxTabItem, selector: "ix-tab-item", inputs: { counter: "counter", disabled: "disabled", icon: "icon", layout: "layout", placement: "placement", rounded: "rounded", selected: "selected", small: "small" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2401
|
-
};
|
|
2402
|
-
IxTabItem = __decorate([
|
|
2403
|
-
ProxyCmp({
|
|
2404
|
-
inputs: ['counter', 'disabled', 'icon', 'layout', 'placement', 'rounded', 'selected', 'small']
|
|
2405
|
-
})
|
|
2406
|
-
], IxTabItem);
|
|
2407
|
-
export { IxTabItem };
|
|
2408
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTabItem, decorators: [{
|
|
2409
|
-
type: Component,
|
|
2410
|
-
args: [{
|
|
2411
|
-
selector: 'ix-tab-item',
|
|
2412
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2413
|
-
template: '<ng-content></ng-content>',
|
|
2414
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2415
|
-
inputs: ['counter', 'disabled', 'icon', 'layout', 'placement', 'rounded', 'selected', 'small'],
|
|
2416
|
-
}]
|
|
2417
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2418
|
-
let IxTabs = class IxTabs {
|
|
2419
|
-
z;
|
|
2420
|
-
el;
|
|
2421
|
-
constructor(c, r, z) {
|
|
2422
|
-
this.z = z;
|
|
2423
|
-
c.detach();
|
|
2424
|
-
this.el = r.nativeElement;
|
|
2425
|
-
proxyOutputs(this, this.el, ['selectedChange']);
|
|
2426
|
-
}
|
|
2427
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2428
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxTabs, selector: "ix-tabs", inputs: { ariaLabelChevronLeftIconButton: "ariaLabelChevronLeftIconButton", ariaLabelChevronRightIconButton: "ariaLabelChevronRightIconButton", layout: "layout", placement: "placement", rounded: "rounded", selected: "selected", small: "small" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2429
|
-
};
|
|
2430
|
-
IxTabs = __decorate([
|
|
2431
|
-
ProxyCmp({
|
|
2432
|
-
inputs: ['ariaLabelChevronLeftIconButton', 'ariaLabelChevronRightIconButton', 'layout', 'placement', 'rounded', 'selected', 'small']
|
|
2433
|
-
})
|
|
2434
|
-
], IxTabs);
|
|
2435
|
-
export { IxTabs };
|
|
2436
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTabs, decorators: [{
|
|
2437
|
-
type: Component,
|
|
2438
|
-
args: [{
|
|
2439
|
-
selector: 'ix-tabs',
|
|
2440
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2441
|
-
template: '<ng-content></ng-content>',
|
|
2442
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2443
|
-
inputs: ['ariaLabelChevronLeftIconButton', 'ariaLabelChevronRightIconButton', 'layout', 'placement', 'rounded', 'selected', 'small'],
|
|
2444
|
-
}]
|
|
2445
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2446
|
-
let IxTextarea = class IxTextarea {
|
|
2447
|
-
z;
|
|
2448
|
-
el;
|
|
2449
|
-
constructor(c, r, z) {
|
|
2450
|
-
this.z = z;
|
|
2451
|
-
c.detach();
|
|
2452
|
-
this.el = r.nativeElement;
|
|
2453
|
-
proxyOutputs(this, this.el, ['valueChange', 'validityStateChange', 'ixBlur']);
|
|
2454
|
-
}
|
|
2455
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTextarea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2456
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxTextarea, selector: "ix-textarea", inputs: { disabled: "disabled", helperText: "helperText", infoText: "infoText", invalidText: "invalidText", label: "label", maxLength: "maxLength", minLength: "minLength", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", resizeBehavior: "resizeBehavior", showTextAsTooltip: "showTextAsTooltip", textareaCols: "textareaCols", textareaHeight: "textareaHeight", textareaRows: "textareaRows", textareaWidth: "textareaWidth", validText: "validText", value: "value", warningText: "warningText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2457
|
-
};
|
|
2458
|
-
IxTextarea = __decorate([
|
|
2459
|
-
ProxyCmp({
|
|
2460
|
-
inputs: ['disabled', 'helperText', 'infoText', 'invalidText', 'label', 'maxLength', 'minLength', 'name', 'placeholder', 'readonly', 'required', 'resizeBehavior', 'showTextAsTooltip', 'textareaCols', 'textareaHeight', 'textareaRows', 'textareaWidth', 'validText', 'value', 'warningText'],
|
|
2461
|
-
methods: ['getNativeInputElement', 'focusInput']
|
|
2462
|
-
})
|
|
2463
|
-
], IxTextarea);
|
|
2464
|
-
export { IxTextarea };
|
|
2465
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTextarea, decorators: [{
|
|
2466
|
-
type: Component,
|
|
2467
|
-
args: [{
|
|
2468
|
-
selector: 'ix-textarea',
|
|
2469
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2470
|
-
template: '<ng-content></ng-content>',
|
|
2471
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2472
|
-
inputs: ['disabled', 'helperText', 'infoText', 'invalidText', 'label', 'maxLength', 'minLength', 'name', 'placeholder', 'readonly', 'required', 'resizeBehavior', 'showTextAsTooltip', 'textareaCols', 'textareaHeight', 'textareaRows', 'textareaWidth', 'validText', 'value', 'warningText'],
|
|
2473
|
-
}]
|
|
2474
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2475
|
-
let IxTile = class IxTile {
|
|
2476
|
-
z;
|
|
2477
|
-
el;
|
|
2478
|
-
constructor(c, r, z) {
|
|
2479
|
-
this.z = z;
|
|
2480
|
-
c.detach();
|
|
2481
|
-
this.el = r.nativeElement;
|
|
2482
|
-
}
|
|
2483
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2484
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxTile, selector: "ix-tile", inputs: { size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2485
|
-
};
|
|
2486
|
-
IxTile = __decorate([
|
|
2487
|
-
ProxyCmp({
|
|
2488
|
-
inputs: ['size']
|
|
2489
|
-
})
|
|
2490
|
-
], IxTile);
|
|
2491
|
-
export { IxTile };
|
|
2492
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTile, decorators: [{
|
|
2493
|
-
type: Component,
|
|
2494
|
-
args: [{
|
|
2495
|
-
selector: 'ix-tile',
|
|
2496
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2497
|
-
template: '<ng-content></ng-content>',
|
|
2498
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2499
|
-
inputs: ['size'],
|
|
2500
|
-
}]
|
|
2501
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2502
|
-
let IxTimeInput = class IxTimeInput {
|
|
2503
|
-
z;
|
|
2504
|
-
el;
|
|
2505
|
-
constructor(c, r, z) {
|
|
2506
|
-
this.z = z;
|
|
2507
|
-
c.detach();
|
|
2508
|
-
this.el = r.nativeElement;
|
|
2509
|
-
proxyOutputs(this, this.el, ['valueChange', 'validityStateChange']);
|
|
2510
|
-
}
|
|
2511
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTimeInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2512
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxTimeInput, selector: "ix-time-input", inputs: { disabled: "disabled", format: "format", helperText: "helperText", hourInterval: "hourInterval", i18nErrorTimeUnparsable: "i18nErrorTimeUnparsable", i18nHourColumnHeader: "i18nHourColumnHeader", i18nMillisecondColumnHeader: "i18nMillisecondColumnHeader", i18nMinuteColumnHeader: "i18nMinuteColumnHeader", i18nSecondColumnHeader: "i18nSecondColumnHeader", i18nSelectTime: "i18nSelectTime", i18nTime: "i18nTime", infoText: "infoText", invalidText: "invalidText", label: "label", millisecondInterval: "millisecondInterval", minuteInterval: "minuteInterval", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", secondInterval: "secondInterval", showTextAsTooltip: "showTextAsTooltip", validText: "validText", value: "value", warningText: "warningText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2513
|
-
};
|
|
2514
|
-
IxTimeInput = __decorate([
|
|
2515
|
-
ProxyCmp({
|
|
2516
|
-
inputs: ['disabled', 'format', 'helperText', 'hourInterval', 'i18nErrorTimeUnparsable', 'i18nHourColumnHeader', 'i18nMillisecondColumnHeader', 'i18nMinuteColumnHeader', 'i18nSecondColumnHeader', 'i18nSelectTime', 'i18nTime', 'infoText', 'invalidText', 'label', 'millisecondInterval', 'minuteInterval', 'name', 'placeholder', 'readonly', 'required', 'secondInterval', 'showTextAsTooltip', 'validText', 'value', 'warningText'],
|
|
2517
|
-
methods: ['getNativeInputElement', 'focusInput']
|
|
2518
|
-
})
|
|
2519
|
-
], IxTimeInput);
|
|
2520
|
-
export { IxTimeInput };
|
|
2521
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTimeInput, decorators: [{
|
|
2522
|
-
type: Component,
|
|
2523
|
-
args: [{
|
|
2524
|
-
selector: 'ix-time-input',
|
|
2525
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2526
|
-
template: '<ng-content></ng-content>',
|
|
2527
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2528
|
-
inputs: ['disabled', 'format', 'helperText', 'hourInterval', 'i18nErrorTimeUnparsable', 'i18nHourColumnHeader', 'i18nMillisecondColumnHeader', 'i18nMinuteColumnHeader', 'i18nSecondColumnHeader', 'i18nSelectTime', 'i18nTime', 'infoText', 'invalidText', 'label', 'millisecondInterval', 'minuteInterval', 'name', 'placeholder', 'readonly', 'required', 'secondInterval', 'showTextAsTooltip', 'validText', 'value', 'warningText'],
|
|
2529
|
-
}]
|
|
2530
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2531
|
-
let IxTimePicker = class IxTimePicker {
|
|
2532
|
-
z;
|
|
2533
|
-
el;
|
|
2534
|
-
constructor(c, r, z) {
|
|
2535
|
-
this.z = z;
|
|
2536
|
-
c.detach();
|
|
2537
|
-
this.el = r.nativeElement;
|
|
2538
|
-
proxyOutputs(this, this.el, ['timeSelect', 'timeChange']);
|
|
2539
|
-
}
|
|
2540
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTimePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2541
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxTimePicker, selector: "ix-time-picker", inputs: { corners: "corners", format: "format", hideHeader: "hideHeader", hourInterval: "hourInterval", i18nConfirmTime: "i18nConfirmTime", i18nHeader: "i18nHeader", i18nHourColumnHeader: "i18nHourColumnHeader", i18nMillisecondColumnHeader: "i18nMillisecondColumnHeader", i18nMinuteColumnHeader: "i18nMinuteColumnHeader", i18nSecondColumnHeader: "i18nSecondColumnHeader", millisecondInterval: "millisecondInterval", minuteInterval: "minuteInterval", secondInterval: "secondInterval", showHour: "showHour", showMinutes: "showMinutes", showSeconds: "showSeconds", standaloneAppearance: "standaloneAppearance", textSelectTime: "textSelectTime", textTime: "textTime", time: "time", timeReference: "timeReference" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2542
|
-
};
|
|
2543
|
-
IxTimePicker = __decorate([
|
|
2544
|
-
ProxyCmp({
|
|
2545
|
-
inputs: ['corners', 'format', 'hideHeader', 'hourInterval', 'i18nConfirmTime', 'i18nHeader', 'i18nHourColumnHeader', 'i18nMillisecondColumnHeader', 'i18nMinuteColumnHeader', 'i18nSecondColumnHeader', 'millisecondInterval', 'minuteInterval', 'secondInterval', 'showHour', 'showMinutes', 'showSeconds', 'standaloneAppearance', 'textSelectTime', 'textTime', 'time', 'timeReference'],
|
|
2546
|
-
methods: ['getCurrentTime']
|
|
2547
|
-
})
|
|
2548
|
-
], IxTimePicker);
|
|
2549
|
-
export { IxTimePicker };
|
|
2550
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTimePicker, decorators: [{
|
|
2551
|
-
type: Component,
|
|
2552
|
-
args: [{
|
|
2553
|
-
selector: 'ix-time-picker',
|
|
2554
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2555
|
-
template: '<ng-content></ng-content>',
|
|
2556
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2557
|
-
inputs: ['corners', 'format', 'hideHeader', 'hourInterval', 'i18nConfirmTime', 'i18nHeader', 'i18nHourColumnHeader', 'i18nMillisecondColumnHeader', 'i18nMinuteColumnHeader', 'i18nSecondColumnHeader', 'millisecondInterval', 'minuteInterval', 'secondInterval', 'showHour', 'showMinutes', 'showSeconds', 'standaloneAppearance', 'textSelectTime', 'textTime', 'time', 'timeReference'],
|
|
2558
|
-
}]
|
|
2559
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2560
|
-
let IxToast = class IxToast {
|
|
2561
|
-
z;
|
|
2562
|
-
el;
|
|
2563
|
-
constructor(c, r, z) {
|
|
2564
|
-
this.z = z;
|
|
2565
|
-
c.detach();
|
|
2566
|
-
this.el = r.nativeElement;
|
|
2567
|
-
proxyOutputs(this, this.el, ['closeToast']);
|
|
2568
|
-
}
|
|
2569
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxToast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2570
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxToast, selector: "ix-toast", inputs: { ariaLabelCloseIconButton: "ariaLabelCloseIconButton", autoClose: "autoClose", autoCloseDelay: "autoCloseDelay", icon: "icon", iconColor: "iconColor", toastTitle: "toastTitle", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2571
|
-
};
|
|
2572
|
-
IxToast = __decorate([
|
|
2573
|
-
ProxyCmp({
|
|
2574
|
-
inputs: ['ariaLabelCloseIconButton', 'autoClose', 'autoCloseDelay', 'icon', 'iconColor', 'toastTitle', 'type']
|
|
2575
|
-
})
|
|
2576
|
-
], IxToast);
|
|
2577
|
-
export { IxToast };
|
|
2578
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxToast, decorators: [{
|
|
2579
|
-
type: Component,
|
|
2580
|
-
args: [{
|
|
2581
|
-
selector: 'ix-toast',
|
|
2582
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2583
|
-
template: '<ng-content></ng-content>',
|
|
2584
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2585
|
-
inputs: ['ariaLabelCloseIconButton', 'autoClose', 'autoCloseDelay', 'icon', 'iconColor', 'toastTitle', 'type'],
|
|
2586
|
-
}]
|
|
2587
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2588
|
-
let IxToastContainer = class IxToastContainer {
|
|
2589
|
-
z;
|
|
2590
|
-
el;
|
|
2591
|
-
constructor(c, r, z) {
|
|
2592
|
-
this.z = z;
|
|
2593
|
-
c.detach();
|
|
2594
|
-
this.el = r.nativeElement;
|
|
2595
|
-
}
|
|
2596
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxToastContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2597
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxToastContainer, selector: "ix-toast-container", inputs: { containerClass: "containerClass", containerId: "containerId", position: "position" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2598
|
-
};
|
|
2599
|
-
IxToastContainer = __decorate([
|
|
2600
|
-
ProxyCmp({
|
|
2601
|
-
inputs: ['containerClass', 'containerId', 'position'],
|
|
2602
|
-
methods: ['showToast']
|
|
2603
|
-
})
|
|
2604
|
-
], IxToastContainer);
|
|
2605
|
-
export { IxToastContainer };
|
|
2606
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxToastContainer, decorators: [{
|
|
2607
|
-
type: Component,
|
|
2608
|
-
args: [{
|
|
2609
|
-
selector: 'ix-toast-container',
|
|
2610
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2611
|
-
template: '<ng-content></ng-content>',
|
|
2612
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2613
|
-
inputs: ['containerClass', 'containerId', 'position'],
|
|
2614
|
-
}]
|
|
2615
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2616
|
-
let IxToggle = class IxToggle {
|
|
2617
|
-
z;
|
|
2618
|
-
el;
|
|
2619
|
-
constructor(c, r, z) {
|
|
2620
|
-
this.z = z;
|
|
2621
|
-
c.detach();
|
|
2622
|
-
this.el = r.nativeElement;
|
|
2623
|
-
proxyOutputs(this, this.el, ['checkedChange', 'ixBlur']);
|
|
2624
|
-
}
|
|
2625
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2626
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxToggle, selector: "ix-toggle", inputs: { checked: "checked", disabled: "disabled", hideText: "hideText", indeterminate: "indeterminate", name: "name", required: "required", textIndeterminate: "textIndeterminate", textOff: "textOff", textOn: "textOn", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2627
|
-
};
|
|
2628
|
-
IxToggle = __decorate([
|
|
2629
|
-
ProxyCmp({
|
|
2630
|
-
inputs: ['checked', 'disabled', 'hideText', 'indeterminate', 'name', 'required', 'textIndeterminate', 'textOff', 'textOn', 'value']
|
|
2631
|
-
})
|
|
2632
|
-
], IxToggle);
|
|
2633
|
-
export { IxToggle };
|
|
2634
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxToggle, decorators: [{
|
|
2635
|
-
type: Component,
|
|
2636
|
-
args: [{
|
|
2637
|
-
selector: 'ix-toggle',
|
|
2638
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2639
|
-
template: '<ng-content></ng-content>',
|
|
2640
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2641
|
-
inputs: ['checked', 'disabled', 'hideText', 'indeterminate', 'name', 'required', 'textIndeterminate', 'textOff', 'textOn', 'value'],
|
|
2642
|
-
}]
|
|
2643
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2644
|
-
let IxToggleButton = class IxToggleButton {
|
|
2645
|
-
z;
|
|
2646
|
-
el;
|
|
2647
|
-
constructor(c, r, z) {
|
|
2648
|
-
this.z = z;
|
|
2649
|
-
c.detach();
|
|
2650
|
-
this.el = r.nativeElement;
|
|
2651
|
-
proxyOutputs(this, this.el, ['pressedChange']);
|
|
2652
|
-
}
|
|
2653
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxToggleButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2654
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxToggleButton, selector: "ix-toggle-button", inputs: { ariaLabelButton: "ariaLabelButton", disabled: "disabled", ghost: "ghost", icon: "icon", loading: "loading", outline: "outline", pressed: "pressed", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2655
|
-
};
|
|
2656
|
-
IxToggleButton = __decorate([
|
|
2657
|
-
ProxyCmp({
|
|
2658
|
-
inputs: ['ariaLabelButton', 'disabled', 'ghost', 'icon', 'loading', 'outline', 'pressed', 'variant']
|
|
2659
|
-
})
|
|
2660
|
-
], IxToggleButton);
|
|
2661
|
-
export { IxToggleButton };
|
|
2662
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxToggleButton, decorators: [{
|
|
2663
|
-
type: Component,
|
|
2664
|
-
args: [{
|
|
2665
|
-
selector: 'ix-toggle-button',
|
|
2666
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2667
|
-
template: '<ng-content></ng-content>',
|
|
2668
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2669
|
-
inputs: ['ariaLabelButton', 'disabled', 'ghost', 'icon', 'loading', 'outline', 'pressed', 'variant'],
|
|
2670
|
-
}]
|
|
2671
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2672
|
-
let IxTooltip = class IxTooltip {
|
|
2673
|
-
z;
|
|
2674
|
-
el;
|
|
2675
|
-
constructor(c, r, z) {
|
|
2676
|
-
this.z = z;
|
|
2677
|
-
c.detach();
|
|
2678
|
-
this.el = r.nativeElement;
|
|
2679
|
-
}
|
|
2680
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2681
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxTooltip, selector: "ix-tooltip", inputs: { for: "for", interactive: "interactive", placement: "placement", titleContent: "titleContent" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2682
|
-
};
|
|
2683
|
-
IxTooltip = __decorate([
|
|
2684
|
-
ProxyCmp({
|
|
2685
|
-
inputs: ['for', 'interactive', 'placement', 'titleContent']
|
|
2686
|
-
})
|
|
2687
|
-
], IxTooltip);
|
|
2688
|
-
export { IxTooltip };
|
|
2689
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTooltip, decorators: [{
|
|
2690
|
-
type: Component,
|
|
2691
|
-
args: [{
|
|
2692
|
-
selector: 'ix-tooltip',
|
|
2693
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2694
|
-
template: '<ng-content></ng-content>',
|
|
2695
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2696
|
-
inputs: ['for', 'interactive', 'placement', 'titleContent'],
|
|
2697
|
-
}]
|
|
2698
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2699
|
-
let IxTreeItem = class IxTreeItem {
|
|
2700
|
-
z;
|
|
2701
|
-
el;
|
|
2702
|
-
constructor(c, r, z) {
|
|
2703
|
-
this.z = z;
|
|
2704
|
-
c.detach();
|
|
2705
|
-
this.el = r.nativeElement;
|
|
2706
|
-
proxyOutputs(this, this.el, ['toggle', 'itemClick']);
|
|
2707
|
-
}
|
|
2708
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTreeItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2709
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxTreeItem, selector: "ix-tree-item", inputs: { ariaLabelChevronIcon: "ariaLabelChevronIcon", context: "context", hasChildren: "hasChildren", text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2710
|
-
};
|
|
2711
|
-
IxTreeItem = __decorate([
|
|
2712
|
-
ProxyCmp({
|
|
2713
|
-
inputs: ['ariaLabelChevronIcon', 'context', 'hasChildren', 'text']
|
|
2714
|
-
})
|
|
2715
|
-
], IxTreeItem);
|
|
2716
|
-
export { IxTreeItem };
|
|
2717
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTreeItem, decorators: [{
|
|
2718
|
-
type: Component,
|
|
2719
|
-
args: [{
|
|
2720
|
-
selector: 'ix-tree-item',
|
|
2721
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2722
|
-
template: '<ng-content></ng-content>',
|
|
2723
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2724
|
-
inputs: ['ariaLabelChevronIcon', 'context', 'hasChildren', 'text'],
|
|
2725
|
-
}]
|
|
2726
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2727
|
-
let IxTypography = class IxTypography {
|
|
2728
|
-
z;
|
|
2729
|
-
el;
|
|
2730
|
-
constructor(c, r, z) {
|
|
2731
|
-
this.z = z;
|
|
2732
|
-
c.detach();
|
|
2733
|
-
this.el = r.nativeElement;
|
|
2734
|
-
}
|
|
2735
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTypography, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2736
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxTypography, selector: "ix-typography", inputs: { bold: "bold", format: "format", textColor: "textColor", textDecoration: "textDecoration" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2737
|
-
};
|
|
2738
|
-
IxTypography = __decorate([
|
|
2739
|
-
ProxyCmp({
|
|
2740
|
-
inputs: ['bold', 'format', 'textColor', 'textDecoration']
|
|
2741
|
-
})
|
|
2742
|
-
], IxTypography);
|
|
2743
|
-
export { IxTypography };
|
|
2744
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxTypography, decorators: [{
|
|
2745
|
-
type: Component,
|
|
2746
|
-
args: [{
|
|
2747
|
-
selector: 'ix-typography',
|
|
2748
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2749
|
-
template: '<ng-content></ng-content>',
|
|
2750
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2751
|
-
inputs: ['bold', 'format', 'textColor', 'textDecoration'],
|
|
2752
|
-
}]
|
|
2753
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2754
|
-
let IxUpload = class IxUpload {
|
|
2755
|
-
z;
|
|
2756
|
-
el;
|
|
2757
|
-
constructor(c, r, z) {
|
|
2758
|
-
this.z = z;
|
|
2759
|
-
c.detach();
|
|
2760
|
-
this.el = r.nativeElement;
|
|
2761
|
-
proxyOutputs(this, this.el, ['filesChanged']);
|
|
2762
|
-
}
|
|
2763
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxUpload, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2764
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxUpload, selector: "ix-upload", inputs: { accept: "accept", disabled: "disabled", i18nUploadDisabled: "i18nUploadDisabled", i18nUploadFile: "i18nUploadFile", loadingText: "loadingText", multiline: "multiline", multiple: "multiple", selectFileText: "selectFileText", state: "state", uploadFailedText: "uploadFailedText", uploadSuccessText: "uploadSuccessText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2765
|
-
};
|
|
2766
|
-
IxUpload = __decorate([
|
|
2767
|
-
ProxyCmp({
|
|
2768
|
-
inputs: ['accept', 'disabled', 'i18nUploadDisabled', 'i18nUploadFile', 'loadingText', 'multiline', 'multiple', 'selectFileText', 'state', 'uploadFailedText', 'uploadSuccessText'],
|
|
2769
|
-
methods: ['setFilesToUpload']
|
|
2770
|
-
})
|
|
2771
|
-
], IxUpload);
|
|
2772
|
-
export { IxUpload };
|
|
2773
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxUpload, decorators: [{
|
|
2774
|
-
type: Component,
|
|
2775
|
-
args: [{
|
|
2776
|
-
selector: 'ix-upload',
|
|
2777
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2778
|
-
template: '<ng-content></ng-content>',
|
|
2779
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2780
|
-
inputs: ['accept', 'disabled', 'i18nUploadDisabled', 'i18nUploadFile', 'loadingText', 'multiline', 'multiple', 'selectFileText', 'state', 'uploadFailedText', 'uploadSuccessText'],
|
|
2781
|
-
}]
|
|
2782
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2783
|
-
let IxValidationTooltip = class IxValidationTooltip {
|
|
2784
|
-
z;
|
|
2785
|
-
el;
|
|
2786
|
-
constructor(c, r, z) {
|
|
2787
|
-
this.z = z;
|
|
2788
|
-
c.detach();
|
|
2789
|
-
this.el = r.nativeElement;
|
|
2790
|
-
}
|
|
2791
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxValidationTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2792
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxValidationTooltip, selector: "ix-validation-tooltip", inputs: { message: "message", placement: "placement", suppressAutomaticPlacement: "suppressAutomaticPlacement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2793
|
-
};
|
|
2794
|
-
IxValidationTooltip = __decorate([
|
|
2795
|
-
ProxyCmp({
|
|
2796
|
-
inputs: ['message', 'placement', 'suppressAutomaticPlacement']
|
|
2797
|
-
})
|
|
2798
|
-
], IxValidationTooltip);
|
|
2799
|
-
export { IxValidationTooltip };
|
|
2800
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxValidationTooltip, decorators: [{
|
|
2801
|
-
type: Component,
|
|
2802
|
-
args: [{
|
|
2803
|
-
selector: 'ix-validation-tooltip',
|
|
2804
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2805
|
-
template: '<ng-content></ng-content>',
|
|
2806
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2807
|
-
inputs: ['message', 'placement', 'suppressAutomaticPlacement'],
|
|
2808
|
-
}]
|
|
2809
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2810
|
-
let IxWorkflowStep = class IxWorkflowStep {
|
|
2811
|
-
z;
|
|
2812
|
-
el;
|
|
2813
|
-
constructor(c, r, z) {
|
|
2814
|
-
this.z = z;
|
|
2815
|
-
c.detach();
|
|
2816
|
-
this.el = r.nativeElement;
|
|
2817
|
-
}
|
|
2818
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxWorkflowStep, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2819
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxWorkflowStep, selector: "ix-workflow-step", inputs: { clickable: "clickable", disabled: "disabled", selected: "selected", status: "status", vertical: "vertical" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2820
|
-
};
|
|
2821
|
-
IxWorkflowStep = __decorate([
|
|
2822
|
-
ProxyCmp({
|
|
2823
|
-
inputs: ['clickable', 'disabled', 'selected', 'status', 'vertical']
|
|
2824
|
-
})
|
|
2825
|
-
], IxWorkflowStep);
|
|
2826
|
-
export { IxWorkflowStep };
|
|
2827
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxWorkflowStep, decorators: [{
|
|
2828
|
-
type: Component,
|
|
2829
|
-
args: [{
|
|
2830
|
-
selector: 'ix-workflow-step',
|
|
2831
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2832
|
-
template: '<ng-content></ng-content>',
|
|
2833
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2834
|
-
inputs: ['clickable', 'disabled', 'selected', 'status', 'vertical'],
|
|
2835
|
-
}]
|
|
2836
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2837
|
-
let IxWorkflowSteps = class IxWorkflowSteps {
|
|
2838
|
-
z;
|
|
2839
|
-
el;
|
|
2840
|
-
constructor(c, r, z) {
|
|
2841
|
-
this.z = z;
|
|
2842
|
-
c.detach();
|
|
2843
|
-
this.el = r.nativeElement;
|
|
2844
|
-
proxyOutputs(this, this.el, ['stepSelected']);
|
|
2845
|
-
}
|
|
2846
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxWorkflowSteps, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2847
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IxWorkflowSteps, selector: "ix-workflow-steps", inputs: { clickable: "clickable", selectedIndex: "selectedIndex", vertical: "vertical" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2848
|
-
};
|
|
2849
|
-
IxWorkflowSteps = __decorate([
|
|
2850
|
-
ProxyCmp({
|
|
2851
|
-
inputs: ['clickable', 'selectedIndex', 'vertical']
|
|
2852
|
-
})
|
|
2853
|
-
], IxWorkflowSteps);
|
|
2854
|
-
export { IxWorkflowSteps };
|
|
2855
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IxWorkflowSteps, decorators: [{
|
|
2856
|
-
type: Component,
|
|
2857
|
-
args: [{
|
|
2858
|
-
selector: 'ix-workflow-steps',
|
|
2859
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2860
|
-
template: '<ng-content></ng-content>',
|
|
2861
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2862
|
-
inputs: ['clickable', 'selectedIndex', 'vertical'],
|
|
2863
|
-
}]
|
|
2864
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2865
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWVoRSxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBRW9DO0lBRGpELEVBQUUsQ0FBMEI7SUFDdEMsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzsySEFMVSxZQUFZOytHQUFaLFlBQVksd09BSmIsMkJBQTJCOztBQUkxQixZQUFZO0lBVnhCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQztLQUNuRyxDQUFDO0dBUVcsWUFBWSxDQU14Qjs7NEZBTlksWUFBWTtrQkFQeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUM7aUJBQ25HOztBQXVCTSxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFhO0lBRW1DO0lBRGpE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TTFCOzs0RkFOWSxjQUFjO2tCQVAxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUM7aUJBQ3BFOztBQXVCTSxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBRWlDO0lBRGpELEVBQUUsQ0FBNkI7SUFDekMsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDOzJIQU5VLGVBQWU7K0dBQWYsZUFBZSxtSkFKaEIsMkJBQTJCOztBQUkxQixlQUFlO0lBVjNCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDO0tBQ25ELENBQUM7R0FRVyxlQUFlLENBTzNCOzs0RkFQWSxlQUFlO2tCQVAzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDO2lCQUNuRCIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BzaWVtZW5zL2l4JztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsQ2FyZCcsICdhcmlhTGFiZWxJY29uJywgJ2hlYWRpbmcnLCAnaWNvbicsICdzZWxlY3RlZCcsICdzdWJoZWFkaW5nJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWFjdGlvbi1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWxDYXJkJywgJ2FyaWFMYWJlbEljb24nLCAnaGVhZGluZycsICdpY29uJywgJ3NlbGVjdGVkJywgJ3N1YmhlYWRpbmcnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeEFjdGlvbkNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEFjdGlvbkNhcmRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEFjdGlvbkNhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkl4QWN0aW9uQ2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcHBTd2l0Y2hDb25maWcnLCAnYnJlYWtwb2ludHMnLCAnZm9yY2VCcmVha3BvaW50JywgJ3RoZW1lJywgJ3RoZW1lU3lzdGVtQXBwZWFyYW5jZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtYXBwbGljYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcFN3aXRjaENvbmZpZycsICdicmVha3BvaW50cycsICdmb3JjZUJyZWFrcG9pbnQnLCAndGhlbWUnLCAndGhlbWVTeXN0ZW1BcHBlYXJhbmNlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4QXBwbGljYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEFwcGxpY2F0aW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhBcHBsaWNhdGlvbiBleHRlbmRzIENvbXBvbmVudHMuSXhBcHBsaWNhdGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxBcHBTd2l0Y2hJY29uQnV0dG9uJywgJ2FyaWFMYWJlbE1lbnVFeHBhbmRJY29uQnV0dG9uJywgJ2FyaWFMYWJlbE1vcmVNZW51SWNvbkJ1dHRvbicsICduYW1lJywgJ3Nob3dNZW51J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1hcHBsaWNhdGlvbi1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEFwcFN3aXRjaEljb25CdXR0b24nLCAnYXJpYUxhYmVsTWVudUV4cGFuZEljb25CdXR0b24nLCAnYXJpYUxhYmVsTW9yZU1lbnVJY29uQnV0dG9uJywgJ25hbWUnLCAnc2hvd01lbnUnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhBcHBsaWNhdGlvbkhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4QXBwbGljYXRpb25IZWFkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydtZW51VG9nZ2xlJywgJ29wZW5BcHBTd2l0Y2gnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhBcHBsaWNhdGlvbkhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuSXhBcHBsaWNhdGlvbkhlYWRlciB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG1lbnUgdG9nZ2xlIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBtZW51VG9nZ2xlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhcHAgc3dpdGNoIGJ1dHRvbiBpcyBjbGlja2VkIEBzaW5jZSAzLjAuMFxuICAgKi9cbiAgb3BlbkFwcFN3aXRjaDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeUxhYmVsJywgJ2V4dHJhJywgJ2ltYWdlJywgJ2luaXRpYWxzJywgJ3VzZXJuYW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1hdmF0YXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlMYWJlbCcsICdleHRyYScsICdpbWFnZScsICdpbml0aWFscycsICd1c2VybmFtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBJeEF2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4QXZhdGFyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhBdmF0YXIgZXh0ZW5kcyBDb21wb25lbnRzLkl4QXZhdGFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwcGxpY2F0aW9uTmFtZScsICdicmVha3BvaW50cycsICdmb3JjZUJyZWFrcG9pbnQnLCAnaGlkZUhlYWRlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtYmFzaWMtbmF2aWdhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBwbGljYXRpb25OYW1lJywgJ2JyZWFrcG9pbnRzJywgJ2ZvcmNlQnJlYWtwb2ludCcsICdoaWRlSGVhZGVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4QmFzaWNOYXZpZ2F0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhCYXNpY05hdmlnYXRpb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEJhc2ljTmF2aWdhdGlvbiBleHRlbmRzIENvbXBvbmVudHMuSXhCYXNpY05hdmlnYXRpb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ2ljb24nLCAnbGFiZWwnLCAnc3VibGFiZWwnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtYmxpbmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbGxhcHNlZCcsICdpY29uJywgJ2xhYmVsJywgJ3N1YmxhYmVsJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhCbGluZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4QmxpbmRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjb2xsYXBzZWRDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhCbGluZCBleHRlbmRzIENvbXBvbmVudHMuSXhCbGluZCB7XG4gIC8qKlxuICAgKiBDb2xsYXBzZWQgc3RhdGUgY2hhbmdlZFxuICAgKi9cbiAgY29sbGFwc2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxQcmV2aW91c0J1dHRvbicsICdnaG9zdCcsICduZXh0SXRlbXMnLCAndmlzaWJsZUl0ZW1Db3VudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtYnJlYWRjcnVtYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsUHJldmlvdXNCdXR0b24nLCAnZ2hvc3QnLCAnbmV4dEl0ZW1zJywgJ3Zpc2libGVJdGVtQ291bnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhCcmVhZGNydW1iIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhCcmVhZGNydW1iRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXRlbUNsaWNrJywgJ25leHRDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEJyZWFkY3J1bWIgZXh0ZW5kcyBDb21wb25lbnRzLkl4QnJlYWRjcnVtYiB7XG4gIC8qKlxuICAgKiBDcnVtYiBpdGVtIGNsaWNrZWQgZXZlbnRcbiAgICovXG4gIGl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogTmV4dCBpdGVtIGNsaWNrZWQgZXZlbnRcbiAgICovXG4gIG5leHRDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXZlbnQ6IFVJRXZlbnQ7IGl0ZW06IHN0cmluZyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEJ1dHRvbicsICdpY29uJywgJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1icmVhZGNydW1iLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEJ1dHRvbicsICdpY29uJywgJ2xhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4QnJlYWRjcnVtYkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEJyZWFkY3J1bWJJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhCcmVhZGNydW1iSXRlbSBleHRlbmRzIENvbXBvbmVudHMuSXhCcmVhZGNydW1iSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxCdXR0b24nLCAnZGlzYWJsZWQnLCAnZm9ybScsICdnaG9zdCcsICdpY29uJywgJ2xvYWRpbmcnLCAnb3V0bGluZScsICd0eXBlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsQnV0dG9uJywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnZ2hvc3QnLCAnaWNvbicsICdsb2FkaW5nJywgJ291dGxpbmUnLCAndHlwZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4QnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhCdXR0b25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuSXhCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2VsZWN0ZWQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2VsZWN0ZWQnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeENhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeENhcmRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeENhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkl4Q2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxFeHBhbmRCdXR0b24nLCAnY29sbGFwc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWNhcmQtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWxFeHBhbmRCdXR0b24nLCAnY29sbGFwc2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhDYXJkQWNjb3JkaW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhDYXJkQWNjb3JkaW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhDYXJkQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5JeENhcmRBY2NvcmRpb24ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWNhcmQtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBJeENhcmRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhDYXJkQ29udGVudEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4Q2FyZENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkl4Q2FyZENvbnRlbnQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsRXhwYW5kQnV0dG9uJywgJ2NvbGxhcHNlJywgJ2hpZGVTaG93QWxsJywgJ2kxOG5Nb3JlQ2FyZHMnLCAnaTE4blNob3dBbGwnLCAnbGFiZWwnLCAnbGlzdFN0eWxlJywgJ3Nob3dBbGxDb3VudCcsICdzdXBwcmVzc092ZXJmbG93SGFuZGxpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWNhcmQtbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsRXhwYW5kQnV0dG9uJywgJ2NvbGxhcHNlJywgJ2hpZGVTaG93QWxsJywgJ2kxOG5Nb3JlQ2FyZHMnLCAnaTE4blNob3dBbGwnLCAnbGFiZWwnLCAnbGlzdFN0eWxlJywgJ3Nob3dBbGxDb3VudCcsICdzdXBwcmVzc092ZXJmbG93SGFuZGxpbmcnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhDYXJkTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4Q2FyZExpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjb2xsYXBzZUNoYW5nZWQnLCAnc2hvd0FsbENsaWNrJywgJ3Nob3dNb3JlQ2FyZENsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4Q2FyZExpc3QgZXh0ZW5kcyBDb21wb25lbnRzLkl4Q2FyZExpc3Qge1xuICAvKipcbiAgICogRmlyZSBldmVudCB3aGVuIHRoZSBjb2xsYXBzZSBzdGF0ZSBpcyBjaGFuZ2VkIGJ5IHRoZSB1c2VyXG4gICAqL1xuICBjb2xsYXBzZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBGaXJlIGV2ZW50IHdoZW4gdGhlIGNvbGxhcHNlIHN0YXRlIGlzIGNoYW5nZWQgYnkgdGhlIHVzZXJcbiAgICovXG4gIHNob3dBbGxDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgbmF0aXZlRXZlbnQ6IE1vdXNlRXZlbnQ7IH0+PjtcbiAgLyoqXG4gICAqIEZpcmUgZXZlbnQgd2hlbiB0aGUgc2hvdyBtb3JlIGNhcmQgaXMgY2xpY2tlZC5cbiAgICovXG4gIHNob3dNb3JlQ2FyZENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBuYXRpdmVFdmVudDogTW91c2VFdmVudDsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtY2FyZC10aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBJeENhcmRUaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4Q2FyZFRpdGxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhDYXJkVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLkl4Q2FyZFRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEZpbHRlcklucHV0JywgJ2FyaWFMYWJlbE9wZXJhdG9yQnV0dG9uJywgJ2FyaWFMYWJlbFJlc2V0QnV0dG9uJywgJ2NhdGVnb3JpZXMnLCAnZGlzYWJsZWQnLCAnZmlsdGVyU3RhdGUnLCAnaGlkZUljb24nLCAnaTE4blBsYWluVGV4dCcsICdpY29uJywgJ2xhYmVsQ2F0ZWdvcmllcycsICdub25TZWxlY3RhYmxlQ2F0ZWdvcmllcycsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXBlYXRDYXRlZ29yaWVzJywgJ3N0YXRpY09wZXJhdG9yJywgJ3N1Z2dlc3Rpb25zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1jYXRlZ29yeS1maWx0ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEZpbHRlcklucHV0JywgJ2FyaWFMYWJlbE9wZXJhdG9yQnV0dG9uJywgJ2FyaWFMYWJlbFJlc2V0QnV0dG9uJywgJ2NhdGVnb3JpZXMnLCAnZGlzYWJsZWQnLCAnZmlsdGVyU3RhdGUnLCAnaGlkZUljb24nLCAnaTE4blBsYWluVGV4dCcsICdpY29uJywgJ2xhYmVsQ2F0ZWdvcmllcycsICdub25TZWxlY3RhYmxlQ2F0ZWdvcmllcycsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXBlYXRDYXRlZ29yaWVzJywgJ3N0YXRpY09wZXJhdG9yJywgJ3N1Z2dlc3Rpb25zJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4Q2F0ZWdvcnlGaWx0ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeENhdGVnb3J5RmlsdGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2F0ZWdvcnlDaGFuZ2VkJywgJ2lucHV0Q2hhbmdlZCcsICdmaWx0ZXJDaGFuZ2VkJywgJ2ZpbHRlckNsZWFyZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IElucHV0U3RhdGUgYXMgSUl4Q2F0ZWdvcnlGaWx0ZXJJbnB1dFN0YXRlIH0gZnJvbSAnQHNpZW1lbnMvaXgnO1xuaW1wb3J0IHR5cGUgeyBGaWx0ZXJTdGF0ZSBhcyBJSXhDYXRlZ29yeUZpbHRlckZpbHRlclN0YXRlIH0gZnJvbSAnQHNpZW1lbnMvaXgnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhDYXRlZ29yeUZpbHRlciBleHRlbmRzIENvbXBvbmVudHMuSXhDYXRlZ29yeUZpbHRlciB7XG4gIC8qKlxuICAgKiBFdmVudCBkaXNwYXRjaGVkIHdoZW5ldmVyIGEgY2F0ZWdvcnkgZ2V0cyBzZWxlY3RlZCBpbiB0aGUgZHJvcGRvd25cbiAgICovXG4gIGNhdGVnb3J5Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogRXZlbnQgZGlzcGF0Y2hlZCB3aGVuZXZlciB0aGUgdGV4dCBpbnB1dCBjaGFuZ2VzLlxuICAgKi9cbiAgaW5wdXRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUl4Q2F0ZWdvcnlGaWx0ZXJJbnB1dFN0YXRlPj47XG4gIC8qKlxuICAgKiBFdmVudCBkaXNwYXRjaGVkIHdoZW5ldmVyIHRoZSBmaWx0ZXIgc3RhdGUgY2hhbmdlcy5cbiAgICovXG4gIGZpbHRlckNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJSXhDYXRlZ29yeUZpbHRlckZpbHRlclN0YXRlPj47XG4gIC8qKlxuICAgKiBFdmVudCBkaXNwYXRjaGVkIHdoZW5ldmVyIHRoZSBmaWx0ZXIgZ2V0cyBjbGVhcmVkLlxuICAgKi9cbiAgZmlsdGVyQ2xlYXJlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbmRldGVybWluYXRlJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWNoZWNrYm94JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2luZGV0ZXJtaW5hdGUnLCAnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBJeENoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhDaGVja2JveEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NoZWNrZWRDaGFuZ2UnLCAndmFsdWVDaGFuZ2UnLCAnaXhCbHVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4Q2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLkl4Q2hlY2tib3gge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjaGVja2VkIHN0YXRlIG9mIHRoZSBjaGVja2JveCBjaGFuZ2VzXG4gICAqL1xuICBjaGVja2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3ggY2hhbmdlc1xuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgYmx1cnJlZFxuICAgKi9cbiAgaXhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXJlY3Rpb24nLCAnaGVscGVyVGV4dCcsICdpbmZvVGV4dCcsICdpbnZhbGlkVGV4dCcsICdsYWJlbCcsICdzaG93VGV4dEFzVG9vbHRpcCcsICd2YWxpZFRleHQnLCAnd2FybmluZ1RleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWNoZWNrYm94LWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXJlY3Rpb24nLCAnaGVscGVyVGV4dCcsICdpbmZvVGV4dCcsICdpbnZhbGlkVGV4dCcsICdsYWJlbCcsICdzaG93VGV4dEFzVG9vbHRpcCcsICd2YWxpZFRleHQnLCAnd2FybmluZ1RleHQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhDaGVja2JveEdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhDaGVja2JveEdyb3VwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhDaGVja2JveEdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5JeENoZWNrYm94R3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2FyaWFMYWJlbENsb3NlQnV0dG9uJywgJ2JhY2tncm91bmQnLCAnY2VudGVyQ29udGVudCcsICdjaGlwQ29sb3InLCAnY2xvc2FibGUnLCAnaWNvbicsICdvdXRsaW5lJywgJ3Rvb2x0aXBUZXh0JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWNoaXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhcmlhTGFiZWxDbG9zZUJ1dHRvbicsICdiYWNrZ3JvdW5kJywgJ2NlbnRlckNvbnRlbnQnLCAnY2hpcENvbG9yJywgJ2Nsb3NhYmxlJywgJ2ljb24nLCAnb3V0bGluZScsICd0b29sdGlwVGV4dCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4Q2hpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4Q2hpcEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlQ2hpcCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeENoaXAgZXh0ZW5kcyBDb21wb25lbnRzLkl4Q2hpcCB7XG4gIC8qKlxuICAgKiBGaXJlIGV2ZW50IGlmIGNsb3NlIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBjbG9zZUNoaXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2l6ZScsICdzaXplTGcnLCAnc2l6ZU1kJywgJ3NpemVTbSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtY29sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXplJywgJ3NpemVMZycsICdzaXplTWQnLCAnc2l6ZVNtJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4Q29sIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhDb2xFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeENvbCBleHRlbmRzIENvbXBvbmVudHMuSXhDb2wge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhDb250ZW50RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5JeENvbnRlbnQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGFzQmFja0J1dHRvbicsICdoZWFkZXJTdWJ0aXRsZScsICdoZWFkZXJUaXRsZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1jb250ZW50LWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGFzQmFja0J1dHRvbicsICdoZWFkZXJTdWJ0aXRsZScsICdoZWFkZXJUaXRsZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4Q29udGVudEhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4Q29udGVudEhlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhY2tCdXR0b25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeENvbnRlbnRIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkl4Q29udGVudEhlYWRlciB7XG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiBiYWNrIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBiYWNrQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlbHBlclRleHQnLCAnaW5mb1RleHQnLCAnaW52YWxpZFRleHQnLCAnbGFiZWwnLCAncmVxdWlyZWQnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndmFsaWRUZXh0JywgJ3dhcm5pbmdUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1jdXN0b20tZmllbGQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlbHBlclRleHQnLCAnaW5mb1RleHQnLCAnaW52YWxpZFRleHQnLCAnbGFiZWwnLCAncmVxdWlyZWQnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndmFsaWRUZXh0JywgJ3dhcm5pbmdUZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4Q3VzdG9tRmllbGQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEN1c3RvbUZpZWxkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhDdXN0b21GaWVsZCBleHRlbmRzIENvbXBvbmVudHMuSXhDdXN0b21GaWVsZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxEcm9wZG93bkJ1dHRvbicsICdjdXN0b21SYW5nZUFsbG93ZWQnLCAnZGF0ZVJhbmdlSWQnLCAnZGF0ZVJhbmdlT3B0aW9ucycsICdkaXNhYmxlZCcsICdmb3JtYXQnLCAnZnJvbScsICdnaG9zdCcsICdpMThuQ3VzdG9tSXRlbScsICdpMThuRG9uZScsICdpMThuTm9SYW5nZScsICdsb2FkaW5nJywgJ2xvY2FsZScsICdtYXhEYXRlJywgJ21pbkRhdGUnLCAnb3V0bGluZScsICdyYW5nZScsICdzaG93V2Vla051bWJlcnMnLCAndG8nLCAndmFyaWFudCcsICd3ZWVrU3RhcnRJbmRleCddLFxuICBtZXRob2RzOiBbJ2dldERhdGVSYW5nZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtZGF0ZS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsRHJvcGRvd25CdXR0b24nLCAnY3VzdG9tUmFuZ2VBbGxvd2VkJywgJ2RhdGVSYW5nZUlkJywgJ2RhdGVSYW5nZU9wdGlvbnMnLCAnZGlzYWJsZWQnLCAnZm9ybWF0JywgJ2Zyb20nLCAnZ2hvc3QnLCAnaTE4bkN1c3RvbUl0ZW0nLCAnaTE4bkRvbmUnLCAnaTE4bk5vUmFuZ2UnLCAnbG9hZGluZycsICdsb2NhbGUnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ291dGxpbmUnLCAncmFuZ2UnLCAnc2hvd1dlZWtOdW1iZXJzJywgJ3RvJywgJ3ZhcmlhbnQnLCAnd2Vla1N0YXJ0SW5kZXgnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhEYXRlRHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeERhdGVEcm9wZG93bkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2RhdGVSYW5nZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZVJhbmdlQ2hhbmdlRXZlbnQgYXMgSUl4RGF0ZURyb3Bkb3duRGF0ZVJhbmdlQ2hhbmdlRXZlbnQgfSBmcm9tICdAc2llbWVucy9peCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeERhdGVEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuSXhEYXRlRHJvcGRvd24ge1xuICAvKipcbiAgICogRXZlbnRFbWl0dGVyIGZvciBkYXRlIHJhbmdlIGNoYW5nZSBldmVudHMuXG5cblRoaXMgZXZlbnQgaXMgZW1pdHRlZCB3aGVuIHRoZSBkYXRlIHJhbmdlIGNoYW5nZXMgd2l0aGluIHRoZSBjb21wb25lbnQuXG5UaGUgZXZlbnQgcGF5bG9hZCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VsZWN0ZWQgZGF0ZSByYW5nZS5cbiAgICovXG4gIGRhdGVSYW5nZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJeERhdGVEcm9wZG93bkRhdGVSYW5nZUNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENhbGVuZGFyQnV0dG9uJywgJ2FyaWFMYWJlbE5leHRNb250aEJ1dHRvbicsICdhcmlhTGFiZWxQcmV2aW91c01vbnRoQnV0dG9uJywgJ2Rpc2FibGVkJywgJ2Zvcm1hdCcsICdoZWxwZXJUZXh0JywgJ2kxOG5FcnJvckRhdGVVbnBhcnNhYmxlJywgJ2luZm9UZXh0JywgJ2ludmFsaWRUZXh0JywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXhEYXRlJywgJ21pbkRhdGUnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaG93VGV4dEFzVG9vbHRpcCcsICdzaG93V2Vla051bWJlcnMnLCAndmFsaWRUZXh0JywgJ3ZhbHVlJywgJ3dhcm5pbmdUZXh0JywgJ3dlZWtTdGFydEluZGV4J10sXG4gIG1ldGhvZHM6IFsnZ2V0TmF0aXZlSW5wdXRFbGVtZW50JywgJ2ZvY3VzSW5wdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWRhdGUtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENhbGVuZGFyQnV0dG9uJywgJ2FyaWFMYWJlbE5leHRNb250aEJ1dHRvbicsICdhcmlhTGFiZWxQcmV2aW91c01vbnRoQnV0dG9uJywgJ2Rpc2FibGVkJywgJ2Zvcm1hdCcsICdoZWxwZXJUZXh0JywgJ2kxOG5FcnJvckRhdGVVbnBhcnNhYmxlJywgJ2luZm9UZXh0JywgJ2ludmFsaWRUZXh0JywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXhEYXRlJywgJ21pbkRhdGUnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaG93VGV4dEFzVG9vbHRpcCcsICdzaG93V2Vla051bWJlcnMnLCAndmFsaWRUZXh0JywgJ3ZhbHVlJywgJ3dhcm5pbmdUZXh0JywgJ3dlZWtTdGFydEluZGV4J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4RGF0ZUlucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhEYXRlSW5wdXRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2YWx1ZUNoYW5nZScsICd2YWxpZGl0eVN0YXRlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlSW5wdXRWYWxpZGl0eVN0YXRlIGFzIElJeERhdGVJbnB1dERhdGVJbnB1dFZhbGlkaXR5U3RhdGUgfSBmcm9tICdAc2llbWVucy9peCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeERhdGVJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuSXhEYXRlSW5wdXQge1xuICAvKipcbiAgICogSW5wdXQgY2hhbmdlIGV2ZW50LlxuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmcgfCB1bmRlZmluZWQ+PjtcbiAgLyoqXG4gICAqIFZhbGlkYXRpb24gc3RhdGUgY2hhbmdlIGV2ZW50LlxuICAgKi9cbiAgdmFsaWRpdHlTdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJeERhdGVJbnB1dERhdGVJbnB1dFZhbGlkaXR5U3RhdGU+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsTmV4dE1vbnRoQnV0dG9uJywgJ2FyaWFMYWJlbFByZXZpb3VzTW9udGhCdXR0b24nLCAnY29ybmVycycsICdmb3JtYXQnLCAnZnJvbScsICdpMThuRG9uZScsICdsb2NhbGUnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ3JhbmdlJywgJ3Nob3dXZWVrTnVtYmVycycsICd0bycsICd3ZWVrU3RhcnRJbmRleCddLFxuICBtZXRob2RzOiBbJ2dldEN1cnJlbnREYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1kYXRlLXBpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsTmV4dE1vbnRoQnV0dG9uJywgJ2FyaWFMYWJlbFByZXZpb3VzTW9udGhCdXR0b24nLCAnY29ybmVycycsICdmb3JtYXQnLCAnZnJvbScsICdpMThuRG9uZScsICdsb2NhbGUnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ3JhbmdlJywgJ3Nob3dXZWVrTnVtYmVycycsICd0bycsICd3ZWVrU3RhcnRJbmRleCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeERhdGVQaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeERhdGVQaWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkYXRlQ2hhbmdlJywgJ2RhdGVSYW5nZUNoYW5nZScsICdkYXRlU2VsZWN0J10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlQ2hhbmdlRXZlbnQgYXMgSUl4RGF0ZVBpY2tlckRhdGVDaGFuZ2VFdmVudCB9IGZyb20gJ0BzaWVtZW5zL2l4JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4RGF0ZVBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuSXhEYXRlUGlja2VyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZGF0ZSBzZWxlY3Rpb24gY2hhbmdlcy4gVGhlIGBEYXRlQ2hhbmdlRXZlbnRgIGNvbnRhaW5zIGBmcm9tYCBhbmQgYHRvYCBwcm9wZXJ0aWVzLlxuVGhlIHByb3BlcnR5IHN0cmluZ3MgYXJlIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIGBmb3JtYXRgIHByb3BlcnR5IGFuZCBub3QgYWZmZWN0ZWQgYnkgdGhlIGBsb2NhbGVgIHByb3BlcnR5LlxuVGhlIGxvY2FsZSBhcHBsaWVkIGlzIGFsd2F5cyBgZW4tVVNgLlxuTm90ZTogU2luY2UgMi4wLjAgYGRhdGVDaGFuZ2VgIGRvZXMgbm90IGRpc3BhdGNoIGRldGFpbCBwcm9wZXJ0eSBhcyBgc3RyaW5nYFxuICAgKi9cbiAgZGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJeERhdGVQaWNrZXJEYXRlQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZGF0ZSByYW5nZSBzZWxlY3Rpb24gY2hhbmdlcyBhbmQgdGhlIGNvbXBvbmVudCBpcyBpbiByYW5nZSBtb2RlLiBUaGUgYERhdGVDaGFuZ2VFdmVudGAgY29udGFpbnMgYGZyb21gIGFuZCBgdG9gIHByb3BlcnRpZXMuXG5UaGUgcHJvcGVydHkgc3RyaW5ncyBhcmUgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgYGZvcm1hdGAgcHJvcGVydHkgYW5kIG5vdCBhZmZlY3RlZCBieSB0aGUgYGxvY2FsZWAgcHJvcGVydHkuXG5UaGUgbG9jYWxlIGFwcGxpZWQgaXMgYWx3YXlzIGBlbi1VU2AuXG4gICAqL1xuICBkYXRlUmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJSXhEYXRlUGlja2VyRGF0ZUNoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBjb25maXJtZWQgdmlhIHRoZSBkYXRlIHNlbGVjdCBidXR0b24uIFRoZSBgRGF0ZUNoYW5nZUV2ZW50YCBjb250YWlucyBgZnJvbWAgYW5kIGB0b2AgcHJvcGVydGllcy5cblRoZSBwcm9wZXJ0eSBzdHJpbmdzIGFyZSBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBgZm9ybWF0YCBwcm9wZXJ0eSBhbmQgbm90IGFmZmVjdGVkIGJ5IHRoZSBgbG9jYWxlYCBwcm9wZXJ0eS5cblRoZSBsb2NhbGUgYXBwbGllZCBpcyBhbHdheXMgYGVuLVVTYC5cbiAgICovXG4gIGRhdGVTZWxlY3Q6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJSXhEYXRlUGlja2VyRGF0ZUNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbE5leHRNb250aEJ1dHRvbicsICdhcmlhTGFiZWxQcmV2aW91c01vbnRoQnV0dG9uJywgJ2RhdGVGb3JtYXQnLCAnZnJvbScsICdpMThuRG9uZScsICdpMThuVGltZScsICdsb2NhbGUnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ3JhbmdlJywgJ3Nob3dIb3VyJywgJ3Nob3dNaW51dGVzJywgJ3Nob3dTZWNvbmRzJywgJ3Nob3dUaW1lUmVmZXJlbmNlJywgJ3Nob3dXZWVrTnVtYmVycycsICd0aW1lJywgJ3RpbWVGb3JtYXQnLCAndGltZVJlZmVyZW5jZScsICd0bycsICd3ZWVrU3RhcnRJbmRleCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtZGF0ZXRpbWUtcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWxOZXh0TW9udGhCdXR0b24nLCAnYXJpYUxhYmVsUHJldmlvdXNNb250aEJ1dHRvbicsICdkYXRlRm9ybWF0JywgJ2Zyb20nLCAnaTE4bkRvbmUnLCAnaTE4blRpbWUnLCAnbG9jYWxlJywgJ21heERhdGUnLCAnbWluRGF0ZScsICdyYW5nZScsICdzaG93SG91cicsICdzaG93TWludXRlcycsICdzaG93U2Vjb25kcycsICdzaG93VGltZVJlZmVyZW5jZScsICdzaG93V2Vla051bWJlcnMnLCAndGltZScsICd0aW1lRm9ybWF0JywgJ3RpbWVSZWZlcmVuY2UnLCAndG8nLCAnd2Vla1N0YXJ0SW5kZXgnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhEYXRldGltZVBpY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RGF0ZXRpbWVQaWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0aW1lQ2hhbmdlJywgJ2RhdGVDaGFuZ2UnLCAnZGF0ZVNlbGVjdCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVEYXRlQ2hhbmdlRXZlbnQgYXMgSUl4RGF0ZXRpbWVQaWNrZXJEYXRlVGltZURhdGVDaGFuZ2VFdmVudCB9IGZyb20gJ0BzaWVtZW5zL2l4JztcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVTZWxlY3RFdmVudCBhcyBJSXhEYXRldGltZVBpY2tlckRhdGVUaW1lU2VsZWN0RXZlbnQgfSBmcm9tICdAc2llbWVucy9peCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeERhdGV0aW1lUGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5JeERhdGV0aW1lUGlja2VyIHtcbiAgLyoqXG4gICAqIFRpbWUgY2hhbmdlXG4gICAqL1xuICB0aW1lQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBEYXRlIGNoYW5nZVxuICAgKi9cbiAgZGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJeERhdGV0aW1lUGlja2VyRGF0ZVRpbWVEYXRlQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERhdGV0aW1lIHNlbGVjdGlvbiBldmVudCBpcyBmaXJlZCBhZnRlciBjb25maXJtIGJ1dHRvbiBpcyBwcmVzc2VkXG4gICAqL1xuICBkYXRlU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUl4RGF0ZXRpbWVQaWNrZXJEYXRlVGltZVNlbGVjdEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1kaXZpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEl4RGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RGl2aWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4RGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuSXhEaXZpZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENsb3NlQnV0dG9uJywgJ2Nsb3NlT25DbGlja091dHNpZGUnLCAnZnVsbEhlaWdodCcsICdtYXhXaWR0aCcsICdtaW5XaWR0aCcsICdzaG93JywgJ3dpZHRoJ10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlRHJhd2VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1kcmF3ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENsb3NlQnV0dG9uJywgJ2Nsb3NlT25DbGlja091dHNpZGUnLCAnZnVsbEhlaWdodCcsICdtYXhXaWR0aCcsICdtaW5XaWR0aCcsICdzaG93JywgJ3dpZHRoJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4RHJhd2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhEcmF3ZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydvcGVuJywgJ2RyYXdlckNsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4RHJhd2VyIGV4dGVuZHMgQ29tcG9uZW50cy5JeERyYXdlciB7XG4gIC8qKlxuICAgKiBGaXJlIGV2ZW50IGFmdGVyIGRyYXdlciBpcyBvcGVuXG4gICAqL1xuICBvcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBGaXJlIGV2ZW50IGFmdGVyIGRyYXdlciBpcyBjbG9zZVxuICAgKi9cbiAgZHJhd2VyQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5jaG9yJywgJ2Nsb3NlQmVoYXZpb3InLCAnaGVhZGVyJywgJ3BsYWNlbWVudCcsICdwb3NpdGlvbmluZ1N0cmF0ZWd5JywgJ3Nob3cnLCAnc3VwcHJlc3NBdXRvbWF0aWNQbGFjZW1lbnQnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZVBvc2l0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5jaG9yJywgJ2Nsb3NlQmVoYXZpb3InLCAnaGVhZGVyJywgJ3BsYWNlbWVudCcsICdwb3NpdGlvbmluZ1N0cmF0ZWd5JywgJ3Nob3cnLCAnc3VwcHJlc3NBdXRvbWF0aWNQbGFjZW1lbnQnLCAndHJpZ2dlciddLFxufSlcbmV4cG9ydCBjbGFzcyBJeERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhEcm9wZG93bkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Nob3dDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4RHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLkl4RHJvcGRvd24ge1xuICAvKipcbiAgICogRmlyZSBldmVudCBhZnRlciB2aXNpYmlsaXR5IG9mIGRyb3Bkb3duIGhhcyBjaGFuZ2VkXG4gICAqL1xuICBzaG93Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsRHJvcGRvd25CdXR0b24nLCAnY2xvc2VCZWhhdmlvcicsICdkaXNhYmxlZCcsICdnaG9zdCcsICdpY29uJywgJ2xhYmVsJywgJ291dGxpbmUnLCAncGxhY2VtZW50JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWRyb3Bkb3duLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsRHJvcGRvd25CdXR0b24nLCAnY2xvc2VCZWhhdmlvcicsICdkaXNhYmxlZCcsICdnaG9zdCcsICdpY29uJywgJ2xhYmVsJywgJ291dGxpbmUnLCAncGxhY2VtZW50JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhEcm9wZG93bkJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RHJvcGRvd25CdXR0b25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeERyb3Bkb3duQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5JeERyb3Bkb3duQnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1kcm9wZG93bi1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4RHJvcGRvd25IZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeERyb3Bkb3duSGVhZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhEcm9wZG93bkhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuSXhEcm9wZG93bkhlYWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxCdXR0b24nLCAnYXJpYUxhYmVsSWNvbicsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2hvdmVyJywgJ2ljb24nLCAnbGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWRyb3Bkb3duLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEJ1dHRvbicsICdhcmlhTGFiZWxJY29uJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaG92ZXInLCAnaWNvbicsICdsYWJlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeERyb3Bkb3duSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RHJvcGRvd25JdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhEcm9wZG93bkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkl4RHJvcGRvd25JdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1kcm9wZG93bi1xdWljay1hY3Rpb25zJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEl4RHJvcGRvd25RdWlja0FjdGlvbnMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeERyb3Bkb3duUXVpY2tBY3Rpb25zRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhEcm9wZG93blF1aWNrQWN0aW9ucyBleHRlbmRzIENvbXBvbmVudHMuSXhEcm9wZG93blF1aWNrQWN0aW9ucyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb24nLCAnYXJpYUxhYmVsRW1wdHlTdGF0ZUljb24nLCAnaGVhZGVyJywgJ2ljb24nLCAnbGF5b3V0JywgJ3N1YkhlYWRlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtZW1wdHktc3RhdGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGlvbicsICdhcmlhTGFiZWxFbXB0eVN0YXRlSWNvbicsICdoZWFkZXInLCAnaWNvbicsICdsYXlvdXQnLCAnc3ViSGVhZGVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4RW1wdHlTdGF0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RW1wdHlTdGF0ZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2FjdGlvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4RW1wdHlTdGF0ZSBleHRlbmRzIENvbXBvbmVudHMuSXhFbXB0eVN0YXRlIHtcbiAgLyoqXG4gICAqIEVtcHR5IHN0YXRlIGFjdGlvbiBjbGljayBldmVudFxuICAgKi9cbiAgYWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGVkJywgJ2NoZXZyb24nLCAnY29tcGFjdCcsICdpdGVtSGVpZ2h0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1ldmVudC1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRlZCcsICdjaGV2cm9uJywgJ2NvbXBhY3QnLCAnaXRlbUhlaWdodCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeEV2ZW50TGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RXZlbnRMaXN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhFdmVudExpc3QgZXh0ZW5kcyBDb21wb25lbnRzLkl4RXZlbnRMaXN0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZXZyb24nLCAnZGlzYWJsZWQnLCAnaXRlbUNvbG9yJywgJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1ldmVudC1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZXZyb24nLCAnZGlzYWJsZWQnLCAnaXRlbUNvbG9yJywgJ3NlbGVjdGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4RXZlbnRMaXN0SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RXZlbnRMaXN0SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2l0ZW1DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEV2ZW50TGlzdEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkl4RXZlbnRMaXN0SXRlbSB7XG4gIC8qKlxuICAgKiBFdmVudCBsaXN0IGl0ZW0gY2xpY2tcbiAgICovXG4gIGl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxDbGVhckljb25CdXR0b24nLCAnYXJpYUxhYmVsU2VhcmNoSWNvbkJ1dHRvbicsICdhcmlhTGFiZWxTZWFyY2hJbnB1dCcsICdmdWxsV2lkdGgnLCAnZ2hvc3QnLCAnaWNvbicsICdvdXRsaW5lJywgJ3BsYWNlaG9sZGVyJywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWV4cGFuZGluZy1zZWFyY2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENsZWFySWNvbkJ1dHRvbicsICdhcmlhTGFiZWxTZWFyY2hJY29uQnV0dG9uJywgJ2FyaWFMYWJlbFNlYXJjaElucHV0JywgJ2Z1bGxXaWR0aCcsICdnaG9zdCcsICdpY29uJywgJ291dGxpbmUnLCAncGxhY2Vob2xkZXInLCAndmFsdWUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeEV4cGFuZGluZ1NlYXJjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RXhwYW5kaW5nU2VhcmNoRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmFsdWVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhFeHBhbmRpbmdTZWFyY2ggZXh0ZW5kcyBDb21wb25lbnRzLkl4RXhwYW5kaW5nU2VhcmNoIHtcbiAgLyoqXG4gICAqIFZhbHVlIGNoYW5nZWRcbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2h0bWxGb3InLCAncmVxdWlyZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWZpZWxkLWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydodG1sRm9yJywgJ3JlcXVpcmVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4RmllbGRMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RmllbGRMYWJlbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4RmllbGRMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuSXhGaWVsZExhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENsb3NlSWNvbkJ1dHRvbicsICdkaXNhYmxlZCcsICdyZWFkb25seSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtZmlsdGVyLWNoaXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENsb3NlSWNvbkJ1dHRvbicsICdkaXNhYmxlZCcsICdyZWFkb25seSddLFxufSlcbmV4cG9ydCBjbGFzcyBJeEZpbHRlckNoaXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEZpbHRlckNoaXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZUNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4RmlsdGVyQ2hpcCBleHRlbmRzIENvbXBvbmVudHMuSXhGaWx0ZXJDaGlwIHtcbiAgLyoqXG4gICAqIENsb3NlIGNsaWNrZWRcbiAgICovXG4gIGNsb3NlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEV5ZUljb25CdXR0b24nLCAnaGVpZ2h0JywgJ2luZGV4JywgJ3N0YXRlJywgJ3dpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1mbGlwLXRpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEV5ZUljb25CdXR0b24nLCAnaGVpZ2h0JywgJ2luZGV4JywgJ3N0YXRlJywgJ3dpZHRoJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4RmxpcFRpbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEZsaXBUaWxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndG9nZ2xlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4RmxpcFRpbGUgZXh0ZW5kcyBDb21wb25lbnRzLkl4RmxpcFRpbGUge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBpbmRleCBjaGFuZ2VzIEBzaW5jZSAzLjAuMFxuICAgKi9cbiAgdG9nZ2xlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1mbGlwLXRpbGUtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBJeEZsaXBUaWxlQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4RmxpcFRpbGVDb250ZW50RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhGbGlwVGlsZUNvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkl4RmxpcFRpbGVDb250ZW50IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbGxhcHNlZCcsICdleHBhbmRPbkhlYWRlckNsaWNrJywgJ2hlYWRlcicsICdpbmRleCcsICdzZWxlY3RlZCcsICdzdWJIZWFkZXInLCAnc3VwcHJlc3NIZWFkZXJTZWxlY3Rpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xsYXBzZWQnLCAnZXhwYW5kT25IZWFkZXJDbGljaycsICdoZWFkZXInLCAnaW5kZXgnLCAnc2VsZWN0ZWQnLCAnc3ViSGVhZGVyJywgJ3N1cHByZXNzSGVhZGVyU2VsZWN0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4R3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEdyb3VwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2VsZWN0R3JvdXAnLCAnc2VsZWN0SXRlbScsICdjb2xsYXBzZWRDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4R3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkl4R3JvdXAge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB3aG9sZSBncm91cCBnZXRzIHNlbGVjdGVkLlxuICAgKi9cbiAgc2VsZWN0R3JvdXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIGdyb3VwIGl0ZW0gZ2V0cyBzZWxlY3RlZC5cbiAgICovXG4gIHNlbGVjdEl0ZW06IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIEdyb3VwIGNvbGxhcHNlZFxuICAgKi9cbiAgY29sbGFwc2VkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWdyb3VwLWNvbnRleHQtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBJeEdyb3VwQ29udGV4dE1lbnUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEdyb3VwQ29udGV4dE1lbnVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEdyb3VwQ29udGV4dE1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLkl4R3JvdXBDb250ZXh0TWVudSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxJY29uJywgJ2ZvY3VzYWJsZScsICdpY29uJywgJ2luZGV4JywgJ3NlY29uZGFyeVRleHQnLCAnc2VsZWN0ZWQnLCAnc3VwcHJlc3NTZWxlY3Rpb24nLCAndGV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtZ3JvdXAtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsSWNvbicsICdmb2N1c2FibGUnLCAnaWNvbicsICdpbmRleCcsICdzZWNvbmRhcnlUZXh0JywgJ3NlbGVjdGVkJywgJ3N1cHByZXNzU2VsZWN0aW9uJywgJ3RleHQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhHcm91cEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEdyb3VwSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NlbGVjdGVkQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEdyb3VwSXRlbSBleHRlbmRzIENvbXBvbmVudHMuSXhHcm91cEl0ZW0ge1xuICAvKipcbiAgICogU2VsZWN0aW9uIGNoYW5nZWRcbiAgICovXG4gIHNlbGVjdGVkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxJeEdyb3VwSXRlbUVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGVscGVyVGV4dCcsICdodG1sRm9yJywgJ2luZm9UZXh0JywgJ2ludmFsaWRUZXh0JywgJ3ZhbGlkVGV4dCcsICd3YXJuaW5nVGV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtaGVscGVyLXRleHQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlbHBlclRleHQnLCAnaHRtbEZvcicsICdpbmZvVGV4dCcsICdpbnZhbGlkVGV4dCcsICd2YWxpZFRleHQnLCAnd2FybmluZ1RleHQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhIZWxwZXJUZXh0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhIZWxwZXJUZXh0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhIZWxwZXJUZXh0IGV4dGVuZHMgQ29tcG9uZW50cy5JeEhlbHBlclRleHQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeUxhYmVsJywgJ2Rpc2FibGVkJywgJ2dob3N0JywgJ2ljb24nLCAnaWNvbkNvbG9yJywgJ2xvYWRpbmcnLCAnb3V0bGluZScsICdvdmFsJywgJ3NpemUnLCAndHlwZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1pY29uLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYTExeUxhYmVsJywgJ2Rpc2FibGVkJywgJ2dob3N0JywgJ2ljb24nLCAnaWNvbkNvbG9yJywgJ2xvYWRpbmcnLCAnb3V0bGluZScsICdvdmFsJywgJ3NpemUnLCAndHlwZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4SWNvbkJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4SWNvbkJ1dHRvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4SWNvbkJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuSXhJY29uQnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEljb25CdXR0b24nLCAnZGlzYWJsZWQnLCAnZ2hvc3QnLCAnaWNvbicsICdsb2FkaW5nJywgJ291dGxpbmUnLCAnb3ZhbCcsICdwcmVzc2VkJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtaWNvbi10b2dnbGUtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWxJY29uQnV0dG9uJywgJ2Rpc2FibGVkJywgJ2dob3N0JywgJ2ljb24nLCAnbG9hZGluZycsICdvdXRsaW5lJywgJ292YWwnLCAncHJlc3NlZCcsICdzaXplJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhJY29uVG9nZ2xlQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhJY29uVG9nZ2xlQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncHJlc3NlZENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEljb25Ub2dnbGVCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkl4SWNvblRvZ2dsZUJ1dHRvbiB7XG4gIC8qKlxuICAgKiBQcmVzc2VkIGNoYW5nZSBldmVudFxuICAgKi9cbiAgcHJlc3NlZENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3dlZENoYXJhY3RlcnNQYXR0ZXJuJywgJ2Rpc2FibGVkJywgJ2hlbHBlclRleHQnLCAnaW5mb1RleHQnLCAnaW52YWxpZFRleHQnLCAnbGFiZWwnLCAnbWF4TGVuZ3RoJywgJ21pbkxlbmd0aCcsICduYW1lJywgJ3BhdHRlcm4nLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndHlwZScsICd2YWxpZFRleHQnLCAndmFsdWUnLCAnd2FybmluZ1RleHQnXSxcbiAgbWV0aG9kczogWydnZXROYXRpdmVJbnB1dEVsZW1lbnQnLCAnZ2V0VmFsaWRpdHlTdGF0ZScsICdmb2N1c0lucHV0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxsb3dlZENoYXJhY3RlcnNQYXR0ZXJuJywgJ2Rpc2FibGVkJywgJ2hlbHBlclRleHQnLCAnaW5mb1RleHQnLCAnaW52YWxpZFRleHQnLCAnbGFiZWwnLCAnbWF4TGVuZ3RoJywgJ21pbkxlbmd0aCcsICduYW1lJywgJ3BhdHRlcm4nLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndHlwZScsICd2YWxpZFRleHQnLCAndmFsdWUnLCAnd2FybmluZ1RleHQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4SW5wdXRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2YWx1ZUNoYW5nZScsICd2YWxpZGl0eVN0YXRlQ2hhbmdlJywgJ2l4Qmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeElucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5JeElucHV0IHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIHRleHQgZmllbGQgY2hhbmdlcy5cbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHZhbGlkaXR5IHN0YXRlIG9mIHRoZSB0ZXh0IGZpZWxkIGNoYW5nZXMuXG4gICAqL1xuICB2YWxpZGl0eVN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8VmFsaWRpdHlTdGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSB0ZXh0IGZpZWxkIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgaXhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtaW5wdXQtZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhJbnB1dEdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhJbnB1dEdyb3VwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhJbnB1dEdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5JeElucHV0R3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsSWNvbicsICdpY29uJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWtleS12YWx1ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsSWNvbicsICdpY29uJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhLZXlWYWx1ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4S2V5VmFsdWVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEtleVZhbHVlIGV4dGVuZHMgQ29tcG9uZW50cy5JeEtleVZhbHVlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3N0cmlwZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWtleS12YWx1ZS1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzdHJpcGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4S2V5VmFsdWVMaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhLZXlWYWx1ZUxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeEtleVZhbHVlTGlzdCBleHRlbmRzIENvbXBvbmVudHMuSXhLZXlWYWx1ZUxpc3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsQWxhcm1JY29uJywgJ2FyaWFMYWJlbFdhcm5pbmdJY29uJywgJ2xhYmVsJywgJ29yaWVudGF0aW9uJywgJ3N0YXRlJywgJ3VuaXQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWtwaScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsQWxhcm1JY29uJywgJ2FyaWFMYWJlbFdhcm5pbmdJY29uJywgJ2xhYmVsJywgJ29yaWVudGF0aW9uJywgJ3N0YXRlJywgJ3VuaXQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhLcGkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeEtwaUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4S3BpIGV4dGVuZHMgQ29tcG9uZW50cy5JeEtwaSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYXlvdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWxheW91dC1hdXRvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYXlvdXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhMYXlvdXRBdXRvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhMYXlvdXRBdXRvRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhMYXlvdXRBdXRvIGV4dGVuZHMgQ29tcG9uZW50cy5JeExheW91dEF1dG8ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sdW1ucycsICdnYXAnLCAnbm9NYXJnaW4nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LWxheW91dC1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2x1bW5zJywgJ2dhcCcsICdub01hcmdpbiddLFxufSlcbmV4cG9ydCBjbGFzcyBJeExheW91dEdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeExheW91dEdyaWRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeExheW91dEdyaWQgZXh0ZW5kcyBDb21wb25lbnRzLkl4TGF5b3V0R3JpZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICd0YXJnZXQnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1saW5rLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFyZ2V0JywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeExpbmtCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeExpbmtCdXR0b25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeExpbmtCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkl4TGlua0J1dHRvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcHBsaWNhdGlvbk5hbWUnLCAnYXJpYUxhYmVsQ29udGV4dEljb25CdXR0b24nLCAnaGlkZUNvbnRleHRNZW51JywgJ25hdmlnYXRpb25UaXRsZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZVNpZGViYXInLCAnb3Blbk92ZXJsYXknLCAnY2xvc2VPdmVybGF5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1tYXAtbmF2aWdhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBwbGljYXRpb25OYW1lJywgJ2FyaWFMYWJlbENvbnRleHRJY29uQnV0dG9uJywgJ2hpZGVDb250ZXh0TWVudScsICduYXZpZ2F0aW9uVGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhNYXBOYXZpZ2F0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhNYXBOYXZpZ2F0aW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnbmF2aWdhdGlvblRvZ2dsZWQnLCAnY29udGV4dE1lbnVDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeE1hcE5hdmlnYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkl4TWFwTmF2aWdhdGlvbiB7XG4gIC8qKlxuICAgKiBOYXZpZ2F0aW9uIHRvZ2dsZWRcbiAgICovXG4gIG5hdmlnYXRpb25Ub2dnbGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogQ29udGV4dCBtZW51IGNsaWNrZWRcbiAgICovXG4gIGNvbnRleHRNZW51Q2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENsb3NlSWNvbkJ1dHRvbicsICdhcmlhTGFiZWxJY29uJywgJ2NvbG9yJywgJ2ljb24nLCAnaWNvbkNvbG9yJywgJ25hbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LW1hcC1uYXZpZ2F0aW9uLW92ZXJsYXknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENsb3NlSWNvbkJ1dHRvbicsICdhcmlhTGFiZWxJY29uJywgJ2NvbG9yJywgJ2ljb24nLCAnaWNvbkNvbG9yJywgJ25hbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhNYXBOYXZpZ2F0aW9uT3ZlcmxheSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4TWFwTmF2aWdhdGlvbk92ZXJsYXlFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZUNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4TWFwTmF2aWdhdGlvbk92ZXJsYXkgZXh0ZW5kcyBDb21wb25lbnRzLkl4TWFwTmF2aWdhdGlvbk92ZXJsYXkge1xuICAvKipcbiAgICogRXZlbnQgY2xvc2VkXG4gICAqL1xuICBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwcGxpY2F0aW9uRGVzY3JpcHRpb24nLCAnYXBwbGljYXRpb25OYW1lJywgJ2VuYWJsZVNldHRpbmdzJywgJ2VuYWJsZVRvZ2dsZVRoZW1lJywgJ2V4cGFuZCcsICdpMThuQ29sbGFwc2UnLCAnaTE4bkV4cGFuZCcsICdpMThuRXhwYW5kU2lkZWJhcicsICdpMThuTGVnYWwnLCAnaTE4blNldHRpbmdzJywgJ2kxOG5Ub2dnbGVUaGVtZScsICdwaW5uZWQnLCAnc2hvd0Fib3V0JywgJ3Nob3dTZXR0aW5ncycsICdzdGFydEV4cGFuZGVkJ10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlTWFwRXhwYW5kJywgJ3RvZ2dsZU1lbnUnLCAndG9nZ2xlU2V0dGluZ3MnLCAndG9nZ2xlQWJvdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGxpY2F0aW9uRGVzY3JpcHRpb24nLCAnYXBwbGljYXRpb25OYW1lJywgJ2VuYWJsZVNldHRpbmdzJywgJ2VuYWJsZVRvZ2dsZVRoZW1lJywgJ2V4cGFuZCcsICdpMThuQ29sbGFwc2UnLCAnaTE4bkV4cGFuZCcsICdpMThuRXhwYW5kU2lkZWJhcicsICdpMThuTGVnYWwnLCAnaTE4blNldHRpbmdzJywgJ2kxOG5Ub2dnbGVUaGVtZScsICdwaW5uZWQnLCAnc2hvd0Fib3V0JywgJ3Nob3dTZXR0aW5ncycsICdzdGFydEV4cGFuZGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4TWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4TWVudUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2V4cGFuZENoYW5nZScsICdtYXBFeHBhbmRDaGFuZ2UnLCAnb3BlbkFwcFN3aXRjaCcsICdvcGVuU2V0dGluZ3MnLCAnb3BlbkFib3V0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4TWVudSBleHRlbmRzIENvbXBvbmVudHMuSXhNZW51IHtcbiAgLyoqXG4gICAqIE1lbnUgZXhwYW5kZWRcbiAgICovXG4gIGV4cGFuZENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqXG4gICAqIE1hcCBTaWRlYmFyIGV4cGFuZGVkXG4gICAqL1xuICBtYXBFeHBhbmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFwcCBzd2l0Y2ggYnV0dG9uIGlzIGNsaWNrZWQgQHNpbmNlIDMuMC4wXG4gICAqL1xuICBvcGVuQXBwU3dpdGNoOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZXR0aW5ncyBidXR0b24gaXMgY2xpY2tlZCBAc2luY2UgMy4wLjBcbiAgICovXG4gIG9wZW5TZXR0aW5nczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYWJvdXQgYnV0dG9uIGlzIGNsaWNrZWQgQHNpbmNlIDMuMC4wXG4gICAqL1xuICBvcGVuQWJvdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZVRhYkxhYmVsJywgJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1tZW51LWFib3V0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmVUYWJMYWJlbCcsICdsYWJlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeE1lbnVBYm91dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4TWVudUFib3V0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGFiQ2hhbmdlJywgJ2Nsb3NlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDdXN0b21DbG9zZUV2ZW50IGFzIElJeE1lbnVBYm91dEN1c3RvbUNsb3NlRXZlbnQgfSBmcm9tICdAc2llbWVucy9peCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeE1lbnVBYm91dCBleHRlbmRzIENvbXBvbmVudHMuSXhNZW51QWJvdXQge1xuICAvKipcbiAgICogQWN0aXZlIHRhYiBjaGFuZ2VkIEBzaW5jZSAzLjAuMFxuICAgKi9cbiAgdGFiQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBBYm91dCBhbmQgTGVnYWwgY2xvc2VkXG4gICAqL1xuICBjbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJeE1lbnVBYm91dEN1c3RvbUNsb3NlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LW1lbnUtYWJvdXQtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhNZW51QWJvdXRJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhNZW51QWJvdXRJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnbGFiZWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEN1c3RvbUxhYmVsQ2hhbmdlRXZlbnQgYXMgSUl4TWVudUFib3V0SXRlbUN1c3RvbUxhYmVsQ2hhbmdlRXZlbnQgfSBmcm9tICdAc2llbWVucy9peCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeE1lbnVBYm91dEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkl4TWVudUFib3V0SXRlbSB7XG4gIC8qKlxuICAgKiBMYWJlbCBjaGFuZ2VkXG4gICAqL1xuICBsYWJlbENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJeE1lbnVBYm91dEl0ZW1DdXN0b21MYWJlbENoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Fib3V0SXRlbUxhYmVsJywgJ2kxOG5TaG93TW9yZScsICdsYWJlbCcsICdvZmZzZXRCb3R0b20nLCAnc2hvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtbWVudS1hYm91dC1uZXdzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhYm91dEl0ZW1MYWJlbCcsICdpMThuU2hvd01vcmUnLCAnbGFiZWwnLCAnb2Zmc2V0Qm90dG9tJywgJ3Nob3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhNZW51QWJvdXROZXdzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhNZW51QWJvdXROZXdzRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2hvd01vcmUnLCAnY2xvc2VQb3BvdmVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4TWVudUFib3V0TmV3cyBleHRlbmRzIENvbXBvbmVudHMuSXhNZW51QWJvdXROZXdzIHtcbiAgLyoqXG4gICAqIFNob3cgTW9yZSBidXR0b24gaXMgcHJlc3NlZFxuICAgKi9cbiAgc2hvd01vcmU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBQb3BvdmVyIGNsb3NlZFxuICAgKi9cbiAgY2xvc2VQb3BvdmVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib3R0b20nLCAnaTE4bkxvZ291dCcsICdpbWFnZScsICdpbml0aWFscycsICdzaG93TG9nb3V0QnV0dG9uJywgJ3RvcCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtbWVudS1hdmF0YXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JvdHRvbScsICdpMThuTG9nb3V0JywgJ2ltYWdlJywgJ2luaXRpYWxzJywgJ3Nob3dMb2dvdXRCdXR0b24nLCAndG9wJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4TWVudUF2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4TWVudUF2YXRhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2xvZ291dENsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4TWVudUF2YXRhciBleHRlbmRzIENvbXBvbmVudHMuSXhNZW51QXZhdGFyIHtcbiAgLyoqXG4gICAqIExvZ291dCBjbGlja1xuICAgKi9cbiAgbG9nb3V0Q2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtbWVudS1hdmF0YXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeE1lbnVBdmF0YXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhNZW51QXZhdGFySXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2l0ZW1DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeE1lbnVBdmF0YXJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5JeE1lbnVBdmF0YXJJdGVtIHtcbiAgLyoqXG4gICAqIEF2YXRhciBkcm9wZG93biBpdGVtIGNsaWNrZWRcbiAgICovXG4gIGl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCcsICdub3RpZmljYXRpb25zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1tZW51LWNhdGVnb3J5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpY29uJywgJ2xhYmVsJywgJ25vdGlmaWNhdGlvbnMnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhNZW51Q2F0ZWdvcnkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeE1lbnVDYXRlZ29yeUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4TWVudUNhdGVnb3J5IGV4dGVuZHMgQ29tcG9uZW50cy5JeE1lbnVDYXRlZ29yeSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYm90dG9tJywgJ2Rpc2FibGVkJywgJ2hvbWUnLCAnaWNvbicsICdsYWJlbCcsICdub3RpZmljYXRpb25zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdib3R0b20nLCAnZGlzYWJsZWQnLCAnaG9tZScsICdpY29uJywgJ2xhYmVsJywgJ25vdGlmaWNhdGlvbnMnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhNZW51SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4TWVudUl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeE1lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5JeE1lbnVJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZVRhYkxhYmVsJywgJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1tZW51LXNldHRpbmdzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmVUYWJMYWJlbCcsICdsYWJlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeE1lbnVTZXR0aW5ncyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4TWVudVNldHRpbmdzRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGFiQ2hhbmdlJywgJ2Nsb3NlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDdXN0b21DbG9zZUV2ZW50IGFzIElJeE1lbnVTZXR0aW5nc0N1c3RvbUNsb3NlRXZlbnQgfSBmcm9tICdAc2llbWVucy9peCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeE1lbnVTZXR0aW5ncyBleHRlbmRzIENvbXBvbmVudHMuSXhNZW51U2V0dGluZ3Mge1xuICAvKipcbiAgICogQWN0aXZlIHRhYiBjaGFuZ2VkIEBzaW5jZSAzLjAuMFxuICAgKi9cbiAgdGFiQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBQb3BvdmVyIGNsb3NlZFxuICAgKi9cbiAgY2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJSXhNZW51U2V0dGluZ3NDdXN0b21DbG9zZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1tZW51LXNldHRpbmdzLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4TWVudVNldHRpbmdzSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4TWVudVNldHRpbmdzSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2xhYmVsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDdXN0b21MYWJlbENoYW5nZUV2ZW50IGFzIElJeE1lbnVTZXR0aW5nc0l0ZW1DdXN0b21MYWJlbENoYW5nZUV2ZW50IH0gZnJvbSAnQHNpZW1lbnMvaXgnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhNZW51U2V0dGluZ3NJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5JeE1lbnVTZXR0aW5nc0l0ZW0ge1xuICAvKipcbiAgICogTGFiZWwgY2hhbmdlZFxuICAgKi9cbiAgbGFiZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJSXhNZW51U2V0dGluZ3NJdGVtQ3VzdG9tTGFiZWxDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNtaXNzaWJsZScsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1tZXNzYWdlLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzbWlzc2libGUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBJeE1lc3NhZ2VCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeE1lc3NhZ2VCYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZWRDaGFuZ2UnLCAnY2xvc2VBbmltYXRpb25Db21wbGV0ZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhNZXNzYWdlQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5JeE1lc3NhZ2VCYXIge1xuICAvKipcbiAgICogQW4gZXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjbG9zZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgY2xvc2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBBbiBldmVudCBlbWl0dGVkIHdoZW4gdGhlIGNsb3NlIGFuaW1hdGlvbiBpcyBjb21wbGV0ZWRcbiAgICovXG4gIGNsb3NlQW5pbWF0aW9uQ29tcGxldGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdiYWNrZHJvcCcsICdiZWZvcmVEaXNtaXNzJywgJ2NlbnRlcmVkJywgJ2Nsb3NlT25CYWNrZHJvcENsaWNrJywgJ2Nsb3NlT25Fc2NhcGUnLCAnc2l6ZSddLFxuICBtZXRob2RzOiBbJ3Nob3dNb2RhbCcsICdkaXNtaXNzTW9kYWwnLCAnY2xvc2VNb2RhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdiYWNrZHJvcCcsICdiZWZvcmVEaXNtaXNzJywgJ2NlbnRlcmVkJywgJ2Nsb3NlT25CYWNrZHJvcENsaWNrJywgJ2Nsb3NlT25Fc2NhcGUnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBJeE1vZGFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhNb2RhbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2RpYWxvZ0Nsb3NlJywgJ2RpYWxvZ0Rpc21pc3MnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhNb2RhbCBleHRlbmRzIENvbXBvbmVudHMuSXhNb2RhbCB7XG4gIC8qKlxuICAgKiBEaWFsb2cgY2xvc2VcbiAgICovXG4gIGRpYWxvZ0Nsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBEaWFsb2cgY2FuY2VsXG4gICAqL1xuICBkaWFsb2dEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1tb2RhbC1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEl4TW9kYWxDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhNb2RhbENvbnRlbnRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeE1vZGFsQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuSXhNb2RhbENvbnRlbnQge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LW1vZGFsLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBJeE1vZGFsRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhNb2RhbEZvb3RlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4TW9kYWxGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkl4TW9kYWxGb290ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsQ2xvc2VJY29uQnV0dG9uJywgJ2FyaWFMYWJlbEljb24nLCAnaGlkZUNsb3NlJywgJ2ljb24nLCAnaWNvbkNvbG9yJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1tb2RhbC1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENsb3NlSWNvbkJ1dHRvbicsICdhcmlhTGFiZWxJY29uJywgJ2hpZGVDbG9zZScsICdpY29uJywgJ2ljb25Db2xvciddLFxufSlcbmV4cG9ydCBjbGFzcyBJeE1vZGFsSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhNb2RhbEhlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhNb2RhbEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuSXhNb2RhbEhlYWRlciB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIGNsb3NlIGljb24gaXMgY2xpY2tlZCBhbmQgY2xvc2VzIHRoZSBtb2RhbFxuQ2FuIGJlIHByZXZlbnRlZCwgaW4gd2hpY2ggY2FzZSBvbmx5IHRoZSBldmVudCBpcyB0cmlnZ2VyZWQsIGFuZCB0aGUgbW9kYWwgcmVtYWlucyBvcGVuXG4gICAqL1xuICBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd2VkQ2hhcmFjdGVyc1BhdHRlcm4nLCAnZGlzYWJsZWQnLCAnaGVscGVyVGV4dCcsICdpbmZvVGV4dCcsICdpbnZhbGlkVGV4dCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaG93U3RlcHBlckJ1dHRvbnMnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAnc3RlcCcsICd2YWxpZFRleHQnLCAndmFsdWUnLCAnd2FybmluZ1RleHQnXSxcbiAgbWV0aG9kczogWydnZXROYXRpdmVJbnB1dEVsZW1lbnQnLCAnZm9jdXNJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtbnVtYmVyLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvd2VkQ2hhcmFjdGVyc1BhdHRlcm4nLCAnZGlzYWJsZWQnLCAnaGVscGVyVGV4dCcsICdpbmZvVGV4dCcsICdpbnZhbGlkVGV4dCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaG93U3RlcHBlckJ1dHRvbnMnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAnc3RlcCcsICd2YWxpZFRleHQnLCAndmFsdWUnLCAnd2FybmluZ1RleHQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhOdW1iZXJJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4TnVtYmVySW5wdXRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2YWx1ZUNoYW5nZScsICd2YWxpZGl0eVN0YXRlQ2hhbmdlJywgJ2l4Qmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeE51bWJlcklucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5JeE51bWJlcklucHV0IHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGlucHV0IGZpZWxkIGNoYW5nZXNcbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHZhbGlkaXR5IHN0YXRlIG9mIHRoZSBpbnB1dCBmaWVsZCBjaGFuZ2VzXG4gICAqL1xuICB2YWxpZGl0eVN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8VmFsaWRpdHlTdGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBmaWVsZCBsb3NlcyBmb2N1c1xuICAgKi9cbiAgaXhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhZHZhbmNlZCcsICdhcmlhTGFiZWxDaGV2cm9uTGVmdEljb25CdXR0b24nLCAnYXJpYUxhYmVsQ2hldnJvblJpZ2h0SWNvbkJ1dHRvbicsICdjb3VudCcsICdpMThuSXRlbXMnLCAnaTE4bk9mJywgJ2kxOG5QYWdlJywgJ2l0ZW1Db3VudCcsICdzZWxlY3RlZFBhZ2UnLCAnc2hvd0l0ZW1Db3VudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtcGFnaW5hdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWR2YW5jZWQnLCAnYXJpYUxhYmVsQ2hldnJvbkxlZnRJY29uQnV0dG9uJywgJ2FyaWFMYWJlbENoZXZyb25SaWdodEljb25CdXR0b24nLCAnY291bnQnLCAnaTE4bkl0ZW1zJywgJ2kxOG5PZicsICdpMThuUGFnZScsICdpdGVtQ291bnQnLCAnc2VsZWN0ZWRQYWdlJywgJ3Nob3dJdGVtQ291bnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhQYWdpbmF0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhQYWdpbmF0aW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncGFnZVNlbGVjdGVkJywgJ2l0ZW1Db3VudENoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhQYWdpbmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5JeFBhZ2luYXRpb24ge1xuICAvKipcbiAgICogUGFnZSBzZWxlY3Rpb24gZXZlbnRcbiAgICovXG4gIHBhZ2VTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogSXRlbSBjb3VudCBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIGl0ZW1Db3VudENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsSWNvbicsICdib3JkZXJsZXNzJywgJ2NvbXBvc2l0aW9uJywgJ2V4cGFuZGVkJywgJ2hlYWRpbmcnLCAnaGlkZU9uQ29sbGFwc2UnLCAnaWNvbicsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXBhbmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbEljb24nLCAnYm9yZGVybGVzcycsICdjb21wb3NpdGlvbicsICdleHBhbmRlZCcsICdoZWFkaW5nJywgJ2hpZGVPbkNvbGxhcHNlJywgJ2ljb24nLCAnc2l6ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4UGFuZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4UGFuZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2V4cGFuZGVkQ2hhbmdlZCcsICd2YXJpYW50Q2hhbmdlZCcsICdib3JkZXJsZXNzQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRXhwYW5kZWRDaGFuZ2VkRXZlbnQgYXMgSUl4UGFuZUV4cGFuZGVkQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQHNpZW1lbnMvaXgnO1xuaW1wb3J0IHR5cGUgeyBWYXJpYW50Q2hhbmdlZEV2ZW50IGFzIElJeFBhbmVWYXJpYW50Q2hhbmdlZEV2ZW50IH0gZnJvbSAnQHNpZW1lbnMvaXgnO1xuaW1wb3J0IHR5cGUgeyBCb3JkZXJsZXNzQ2hhbmdlZEV2ZW50IGFzIElJeFBhbmVCb3JkZXJsZXNzQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQHNpZW1lbnMvaXgnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhQYW5lIGV4dGVuZHMgQ29tcG9uZW50cy5JeFBhbmUge1xuICAvKipcbiAgICogVGhpcyBldmVudCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgcGFuZSBlaXRoZXIgZXhwYW5kcyBvciBjb250cmFjdHNcbiAgICovXG4gIGV4cGFuZGVkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJeFBhbmVFeHBhbmRlZENoYW5nZWRFdmVudD4+O1xuICAvKipcbiAgICogVGhpcyBldmVudCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgdmFyaWFudCBvZiB0aGUgcGFuZSBpcyBjaGFuZ2VkXG4gICAqL1xuICB2YXJpYW50Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJeFBhbmVWYXJpYW50Q2hhbmdlZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCB3aGVuIHRoZSB2YXJpYW50IG9mIHRoZSBwYW5lIGlzIGNoYW5nZWRcbiAgICovXG4gIGJvcmRlcmxlc3NDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUl4UGFuZUJvcmRlcmxlc3NDaGFuZ2VkRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVybGVzcycsICdsYXlvdXQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtcGFuZS1sYXlvdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JvcmRlcmxlc3MnLCAnbGF5b3V0JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhQYW5lTGF5b3V0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhQYW5lTGF5b3V0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhQYW5lTGF5b3V0IGV4dGVuZHMgQ29tcG9uZW50cy5JeFBhbmVMYXlvdXQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpZ25MZWZ0JywgJ2FyaWFMYWJlbEljb24nLCAnYmFja2dyb3VuZCcsICdpY29uJywgJ291dGxpbmUnLCAncGlsbENvbG9yJywgJ3Rvb2x0aXBUZXh0JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXBpbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsaWduTGVmdCcsICdhcmlhTGFiZWxJY29uJywgJ2JhY2tncm91bmQnLCAnaWNvbicsICdvdXRsaW5lJywgJ3BpbGxDb2xvcicsICd0b29sdGlwVGV4dCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4UGlsbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4UGlsbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4UGlsbCBleHRlbmRzIENvbXBvbmVudHMuSXhQaWxsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlbHBlclRleHQnLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdzaG93VGV4dEFzVG9vbHRpcCcsICdzaXplJywgJ3N0YXR1cycsICd0ZXh0QWxpZ25tZW50JywgJ3R5cGUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXByb2dyZXNzLWluZGljYXRvcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVscGVyVGV4dCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ3Nob3dUZXh0QXNUb29sdGlwJywgJ3NpemUnLCAnc3RhdHVzJywgJ3RleHRBbGlnbm1lbnQnLCAndHlwZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFByb2dyZXNzSW5kaWNhdG9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhQcm9ncmVzc0luZGljYXRvckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4UHJvZ3Jlc3NJbmRpY2F0b3IgZXh0ZW5kcyBDb21wb25lbnRzLkl4UHJvZ3Jlc3NJbmRpY2F0b3Ige31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsSWNvbicsICdjb2xsYXBzZScsICdoZWFkaW5nJywgJ2ljb24nLCAnbm90aWZpY2F0aW9uJywgJ3N1YmhlYWRpbmcnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtcHVzaC1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWxJY29uJywgJ2NvbGxhcHNlJywgJ2hlYWRpbmcnLCAnaWNvbicsICdub3RpZmljYXRpb24nLCAnc3ViaGVhZGluZycsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4UHVzaENhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeFB1c2hDYXJkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhQdXNoQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuSXhQdXNoQ2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhSYWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4UmFkaW9FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVja2VkQ2hhbmdlJywgJ3ZhbHVlQ2hhbmdlJywgJ2l4Qmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeFJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5JeFJhZGlvIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tlZCBzdGF0ZSBvZiB0aGUgcmFkaW8gY2hhbmdlc1xuICAgKi9cbiAgY2hlY2tlZENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIHJhZGlvIGNoYW5nZXNcbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHJhZGlvIGlzIGJsdXJyZWRcbiAgICovXG4gIGl4Qmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlyZWN0aW9uJywgJ2hlbHBlclRleHQnLCAnaW5mb1RleHQnLCAnaW52YWxpZFRleHQnLCAnbGFiZWwnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndmFsaWRUZXh0JywgJ3ZhbHVlJywgJ3dhcm5pbmdUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1yYWRpby1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlyZWN0aW9uJywgJ2hlbHBlclRleHQnLCAnaW5mb1RleHQnLCAnaW52YWxpZFRleHQnLCAnbGFiZWwnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndmFsaWRUZXh0JywgJ3ZhbHVlJywgJ3dhcm5pbmdUZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4UmFkaW9Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4UmFkaW9Hcm91cEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZhbHVlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4UmFkaW9Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuSXhSYWRpb0dyb3VwIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIHJhZGlvYnV0dG9uIGdyb3VwIGNoYW5nZXNcbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1yb3cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhSb3cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeFJvd0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4Um93IGV4dGVuZHMgQ29tcG9uZW50cy5JeFJvdyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd0NsZWFyJywgJ2FyaWFMYWJlbENoZXZyb25Eb3duSWNvbkJ1dHRvbicsICdhcmlhTGFiZWxDbGVhckljb25CdXR0b24nLCAnZGlzYWJsZWQnLCAnZHJvcGRvd25NYXhXaWR0aCcsICdkcm9wZG93bldpZHRoJywgJ2VkaXRhYmxlJywgJ2hlbHBlclRleHQnLCAnaGlkZUxpc3RIZWFkZXInLCAnaTE4bk5vTWF0Y2hlcycsICdpMThuUGxhY2Vob2xkZXInLCAnaTE4blBsYWNlaG9sZGVyRWRpdGFibGUnLCAnaTE4blNlbGVjdExpc3RIZWFkZXInLCAnaW5mb1RleHQnLCAnaW52YWxpZFRleHQnLCAnbGFiZWwnLCAnbW9kZScsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Nob3dUZXh0QXNUb29sdGlwJywgJ3ZhbGlkVGV4dCcsICd2YWx1ZScsICd3YXJuaW5nVGV4dCddLFxuICBtZXRob2RzOiBbJ2dldE5hdGl2ZUlucHV0RWxlbWVudCcsICdmb2N1c0lucHV0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbG93Q2xlYXInLCAnYXJpYUxhYmVsQ2hldnJvbkRvd25JY29uQnV0dG9uJywgJ2FyaWFMYWJlbENsZWFySWNvbkJ1dHRvbicsICdkaXNhYmxlZCcsICdkcm9wZG93bk1heFdpZHRoJywgJ2Ryb3Bkb3duV2lkdGgnLCAnZWRpdGFibGUnLCAnaGVscGVyVGV4dCcsICdoaWRlTGlzdEhlYWRlcicsICdpMThuTm9NYXRjaGVzJywgJ2kxOG5QbGFjZWhvbGRlcicsICdpMThuUGxhY2Vob2xkZXJFZGl0YWJsZScsICdpMThuU2VsZWN0TGlzdEhlYWRlcicsICdpbmZvVGV4dCcsICdpbnZhbGlkVGV4dCcsICdsYWJlbCcsICdtb2RlJywgJ25hbWUnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndmFsaWRUZXh0JywgJ3ZhbHVlJywgJ3dhcm5pbmdUZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4U2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhTZWxlY3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2YWx1ZUNoYW5nZScsICdpbnB1dENoYW5nZScsICdhZGRJdGVtJywgJ2l4Qmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeFNlbGVjdCBleHRlbmRzIENvbXBvbmVudHMuSXhTZWxlY3Qge1xuICAvKipcbiAgICogVmFsdWUgY2hhbmdlZFxuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmcgfCBzdHJpbmdbXT4+O1xuICAvKipcbiAgICogRXZlbnQgZGlzcGF0Y2hlZCB3aGVuZXZlciB0aGUgdGV4dCBpbnB1dCBjaGFuZ2VzLlxuICAgKi9cbiAgaW5wdXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEl0ZW0gYWRkZWQgdG8gc2VsZWN0aW9uXG4gICAqL1xuICBhZGRJdGVtOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBCbHVyIGlucHV0XG4gICAqL1xuICBpeEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3NlbGVjdGVkJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC1zZWxlY3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhTZWxlY3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhTZWxlY3RJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXRlbUNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4U2VsZWN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuSXhTZWxlY3RJdGVtIHtcbiAgLyoqXG4gICAqIEl0ZW0gY2xpY2tlZFxuICAgKi9cbiAgaXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ21hcmtlcicsICdtYXgnLCAnbWluJywgJ3N0ZXAnLCAndHJhY2UnLCAndHJhY2VSZWZlcmVuY2UnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXNsaWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZXJyb3InLCAnbWFya2VyJywgJ21heCcsICdtaW4nLCAnc3RlcCcsICd0cmFjZScsICd0cmFjZVJlZmVyZW5jZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFNsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4U2xpZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmFsdWVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkl4U2xpZGVyIHtcblxuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXNwaW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFNwaW5uZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeFNwaW5uZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeFNwaW5uZXIgZXh0ZW5kcyBDb21wb25lbnRzLkl4U3Bpbm5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxCdXR0b24nLCAnYXJpYUxhYmVsU3BsaXRJY29uQnV0dG9uJywgJ2Nsb3NlQmVoYXZpb3InLCAnZGlzYWJsZWQnLCAnZ2hvc3QnLCAnaWNvbicsICdsYWJlbCcsICdvdXRsaW5lJywgJ3BsYWNlbWVudCcsICdzcGxpdEljb24nLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtc3BsaXQtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWxCdXR0b24nLCAnYXJpYUxhYmVsU3BsaXRJY29uQnV0dG9uJywgJ2Nsb3NlQmVoYXZpb3InLCAnZGlzYWJsZWQnLCAnZ2hvc3QnLCAnaWNvbicsICdsYWJlbCcsICdvdXRsaW5lJywgJ3BsYWNlbWVudCcsICdzcGxpdEljb24nLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFNwbGl0QnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhTcGxpdEJ1dHRvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2J1dHRvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4U3BsaXRCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkl4U3BsaXRCdXR0b24ge1xuICAvKipcbiAgICogQnV0dG9uIGNsaWNrZWRcbiAgICovXG4gIGJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb3VudGVyJywgJ2Rpc2FibGVkJywgJ2ljb24nLCAnbGF5b3V0JywgJ3BsYWNlbWVudCcsICdyb3VuZGVkJywgJ3NlbGVjdGVkJywgJ3NtYWxsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC10YWItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY291bnRlcicsICdkaXNhYmxlZCcsICdpY29uJywgJ2xheW91dCcsICdwbGFjZW1lbnQnLCAncm91bmRlZCcsICdzZWxlY3RlZCcsICdzbWFsbCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFRhYkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeFRhYkl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0YWJDbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGFiQ2xpY2tEZXRhaWwgYXMgSUl4VGFiSXRlbVRhYkNsaWNrRGV0YWlsIH0gZnJvbSAnQHNpZW1lbnMvaXgnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhUYWJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5JeFRhYkl0ZW0ge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB0YWIgaXMgY2xpY2tlZC5cbiAgICovXG4gIHRhYkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUl4VGFiSXRlbVRhYkNsaWNrRGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENoZXZyb25MZWZ0SWNvbkJ1dHRvbicsICdhcmlhTGFiZWxDaGV2cm9uUmlnaHRJY29uQnV0dG9uJywgJ2xheW91dCcsICdwbGFjZW1lbnQnLCAncm91bmRlZCcsICdzZWxlY3RlZCcsICdzbWFsbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtdGFicycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsQ2hldnJvbkxlZnRJY29uQnV0dG9uJywgJ2FyaWFMYWJlbENoZXZyb25SaWdodEljb25CdXR0b24nLCAnbGF5b3V0JywgJ3BsYWNlbWVudCcsICdyb3VuZGVkJywgJ3NlbGVjdGVkJywgJ3NtYWxsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4VGFicyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4VGFic0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NlbGVjdGVkQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4VGFicyBleHRlbmRzIENvbXBvbmVudHMuSXhUYWJzIHtcbiAgLyoqXG4gICAqIGBzZWxlY3RlZGAgcHJvcGVydHkgY2hhbmdlZFxuICAgKi9cbiAgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGVscGVyVGV4dCcsICdpbmZvVGV4dCcsICdpbnZhbGlkVGV4dCcsICdsYWJlbCcsICdtYXhMZW5ndGgnLCAnbWluTGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncmVzaXplQmVoYXZpb3InLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndGV4dGFyZWFDb2xzJywgJ3RleHRhcmVhSGVpZ2h0JywgJ3RleHRhcmVhUm93cycsICd0ZXh0YXJlYVdpZHRoJywgJ3ZhbGlkVGV4dCcsICd2YWx1ZScsICd3YXJuaW5nVGV4dCddLFxuICBtZXRob2RzOiBbJ2dldE5hdGl2ZUlucHV0RWxlbWVudCcsICdmb2N1c0lucHV0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC10ZXh0YXJlYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGVscGVyVGV4dCcsICdpbmZvVGV4dCcsICdpbnZhbGlkVGV4dCcsICdsYWJlbCcsICdtYXhMZW5ndGgnLCAnbWluTGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncmVzaXplQmVoYXZpb3InLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndGV4dGFyZWFDb2xzJywgJ3RleHRhcmVhSGVpZ2h0JywgJ3RleHRhcmVhUm93cycsICd0ZXh0YXJlYVdpZHRoJywgJ3ZhbGlkVGV4dCcsICd2YWx1ZScsICd3YXJuaW5nVGV4dCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFRleHRhcmVhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhUZXh0YXJlYUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZhbHVlQ2hhbmdlJywgJ3ZhbGlkaXR5U3RhdGVDaGFuZ2UnLCAnaXhCbHVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4VGV4dGFyZWEgZXh0ZW5kcyBDb21wb25lbnRzLkl4VGV4dGFyZWEge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgdGV4dGFyZWEgZmllbGQgY2hhbmdlcy5cbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHZhbGlkaXR5IHN0YXRlIG9mIHRoZSB0ZXh0YXJlYSBmaWVsZCBjaGFuZ2VzLlxuICAgKi9cbiAgdmFsaWRpdHlTdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PFZhbGlkaXR5U3RhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgZmllbGQgbG9zZXMgZm9jdXMuXG4gICAqL1xuICBpeEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXRpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhUaWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhUaWxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhUaWxlIGV4dGVuZHMgQ29tcG9uZW50cy5JeFRpbGUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZm9ybWF0JywgJ2hlbHBlclRleHQnLCAnaG91ckludGVydmFsJywgJ2kxOG5FcnJvclRpbWVVbnBhcnNhYmxlJywgJ2kxOG5Ib3VyQ29sdW1uSGVhZGVyJywgJ2kxOG5NaWxsaXNlY29uZENvbHVtbkhlYWRlcicsICdpMThuTWludXRlQ29sdW1uSGVhZGVyJywgJ2kxOG5TZWNvbmRDb2x1bW5IZWFkZXInLCAnaTE4blNlbGVjdFRpbWUnLCAnaTE4blRpbWUnLCAnaW5mb1RleHQnLCAnaW52YWxpZFRleHQnLCAnbGFiZWwnLCAnbWlsbGlzZWNvbmRJbnRlcnZhbCcsICdtaW51dGVJbnRlcnZhbCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NlY29uZEludGVydmFsJywgJ3Nob3dUZXh0QXNUb29sdGlwJywgJ3ZhbGlkVGV4dCcsICd2YWx1ZScsICd3YXJuaW5nVGV4dCddLFxuICBtZXRob2RzOiBbJ2dldE5hdGl2ZUlucHV0RWxlbWVudCcsICdmb2N1c0lucHV0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC10aW1lLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3JtYXQnLCAnaGVscGVyVGV4dCcsICdob3VySW50ZXJ2YWwnLCAnaTE4bkVycm9yVGltZVVucGFyc2FibGUnLCAnaTE4bkhvdXJDb2x1bW5IZWFkZXInLCAnaTE4bk1pbGxpc2Vjb25kQ29sdW1uSGVhZGVyJywgJ2kxOG5NaW51dGVDb2x1bW5IZWFkZXInLCAnaTE4blNlY29uZENvbHVtbkhlYWRlcicsICdpMThuU2VsZWN0VGltZScsICdpMThuVGltZScsICdpbmZvVGV4dCcsICdpbnZhbGlkVGV4dCcsICdsYWJlbCcsICdtaWxsaXNlY29uZEludGVydmFsJywgJ21pbnV0ZUludGVydmFsJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2Vjb25kSW50ZXJ2YWwnLCAnc2hvd1RleHRBc1Rvb2x0aXAnLCAndmFsaWRUZXh0JywgJ3ZhbHVlJywgJ3dhcm5pbmdUZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4VGltZUlucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhUaW1lSW5wdXRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2YWx1ZUNoYW5nZScsICd2YWxpZGl0eVN0YXRlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUaW1lSW5wdXRWYWxpZGl0eVN0YXRlIGFzIElJeFRpbWVJbnB1dFRpbWVJbnB1dFZhbGlkaXR5U3RhdGUgfSBmcm9tICdAc2llbWVucy9peCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeFRpbWVJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuSXhUaW1lSW5wdXQge1xuICAvKipcbiAgICogSW5wdXQgY2hhbmdlIGV2ZW50LlxuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIFZhbGlkYXRpb24gc3RhdGUgY2hhbmdlIGV2ZW50LlxuICAgKi9cbiAgdmFsaWRpdHlTdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJeFRpbWVJbnB1dFRpbWVJbnB1dFZhbGlkaXR5U3RhdGU+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29ybmVycycsICdmb3JtYXQnLCAnaGlkZUhlYWRlcicsICdob3VySW50ZXJ2YWwnLCAnaTE4bkNvbmZpcm1UaW1lJywgJ2kxOG5IZWFkZXInLCAnaTE4bkhvdXJDb2x1bW5IZWFkZXInLCAnaTE4bk1pbGxpc2Vjb25kQ29sdW1uSGVhZGVyJywgJ2kxOG5NaW51dGVDb2x1bW5IZWFkZXInLCAnaTE4blNlY29uZENvbHVtbkhlYWRlcicsICdtaWxsaXNlY29uZEludGVydmFsJywgJ21pbnV0ZUludGVydmFsJywgJ3NlY29uZEludGVydmFsJywgJ3Nob3dIb3VyJywgJ3Nob3dNaW51dGVzJywgJ3Nob3dTZWNvbmRzJywgJ3N0YW5kYWxvbmVBcHBlYXJhbmNlJywgJ3RleHRTZWxlY3RUaW1lJywgJ3RleHRUaW1lJywgJ3RpbWUnLCAndGltZVJlZmVyZW5jZSddLFxuICBtZXRob2RzOiBbJ2dldEN1cnJlbnRUaW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC10aW1lLXBpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29ybmVycycsICdmb3JtYXQnLCAnaGlkZUhlYWRlcicsICdob3VySW50ZXJ2YWwnLCAnaTE4bkNvbmZpcm1UaW1lJywgJ2kxOG5IZWFkZXInLCAnaTE4bkhvdXJDb2x1bW5IZWFkZXInLCAnaTE4bk1pbGxpc2Vjb25kQ29sdW1uSGVhZGVyJywgJ2kxOG5NaW51dGVDb2x1bW5IZWFkZXInLCAnaTE4blNlY29uZENvbHVtbkhlYWRlcicsICdtaWxsaXNlY29uZEludGVydmFsJywgJ21pbnV0ZUludGVydmFsJywgJ3NlY29uZEludGVydmFsJywgJ3Nob3dIb3VyJywgJ3Nob3dNaW51dGVzJywgJ3Nob3dTZWNvbmRzJywgJ3N0YW5kYWxvbmVBcHBlYXJhbmNlJywgJ3RleHRTZWxlY3RUaW1lJywgJ3RleHRUaW1lJywgJ3RpbWUnLCAndGltZVJlZmVyZW5jZSddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFRpbWVQaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeFRpbWVQaWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0aW1lU2VsZWN0JywgJ3RpbWVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhUaW1lUGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5JeFRpbWVQaWNrZXIge1xuICAvKipcbiAgICogVGltZSBldmVudFxuICAgKi9cbiAgdGltZVNlbGVjdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogVGltZSBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHRpbWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxhYmVsQ2xvc2VJY29uQnV0dG9uJywgJ2F1dG9DbG9zZScsICdhdXRvQ2xvc2VEZWxheScsICdpY29uJywgJ2ljb25Db2xvcicsICd0b2FzdFRpdGxlJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXRvYXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWxDbG9zZUljb25CdXR0b24nLCAnYXV0b0Nsb3NlJywgJ2F1dG9DbG9zZURlbGF5JywgJ2ljb24nLCAnaWNvbkNvbG9yJywgJ3RvYXN0VGl0bGUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFRvYXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhUb2FzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlVG9hc3QnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhUb2FzdCBleHRlbmRzIENvbXBvbmVudHMuSXhUb2FzdCB7XG4gIC8qKlxuICAgKiBUb2FzdCBjbG9zZWRcbiAgICovXG4gIGNsb3NlVG9hc3Q6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGFpbmVyQ2xhc3MnLCAnY29udGFpbmVySWQnLCAncG9zaXRpb24nXSxcbiAgbWV0aG9kczogWydzaG93VG9hc3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXRvYXN0LWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGFpbmVyQ2xhc3MnLCAnY29udGFpbmVySWQnLCAncG9zaXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhUb2FzdENvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4VG9hc3RDb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeFRvYXN0Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5JeFRvYXN0Q29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaGlkZVRleHQnLCAnaW5kZXRlcm1pbmF0ZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3RleHRJbmRldGVybWluYXRlJywgJ3RleHRPZmYnLCAndGV4dE9uJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC10b2dnbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaGlkZVRleHQnLCAnaW5kZXRlcm1pbmF0ZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3RleHRJbmRldGVybWluYXRlJywgJ3RleHRPZmYnLCAndGV4dE9uJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4VG9nZ2xlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhUb2dnbGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVja2VkQ2hhbmdlJywgJ2l4Qmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeFRvZ2dsZSBleHRlbmRzIENvbXBvbmVudHMuSXhUb2dnbGUge1xuICAvKipcbiAgICogQW4gZXZlbnQgd2lsbCBiZSBkaXNwYXRjaGVkIGVhY2ggdGltZSB0aGUgc2xpZGUtdG9nZ2xlIGNoYW5nZXMgaXRzIHZhbHVlLlxuICAgKi9cbiAgY2hlY2tlZENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IHdpbGwgYmUgZGlzcGF0Y2hlZCBlYWNoIHRpbWUgdGhlIHRvZ2dsZSBpcyBibHVycmVkLlxuICAgKi9cbiAgaXhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWxCdXR0b24nLCAnZGlzYWJsZWQnLCAnZ2hvc3QnLCAnaWNvbicsICdsb2FkaW5nJywgJ291dGxpbmUnLCAncHJlc3NlZCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC10b2dnbGUtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWxCdXR0b24nLCAnZGlzYWJsZWQnLCAnZ2hvc3QnLCAnaWNvbicsICdsb2FkaW5nJywgJ291dGxpbmUnLCAncHJlc3NlZCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4VG9nZ2xlQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhUb2dnbGVCdXR0b25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwcmVzc2VkQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4VG9nZ2xlQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5JeFRvZ2dsZUJ1dHRvbiB7XG4gIC8qKlxuICAgKiBQcmVzc2VkIGNoYW5nZSBldmVudFxuICAgKi9cbiAgcHJlc3NlZENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZm9yJywgJ2ludGVyYWN0aXZlJywgJ3BsYWNlbWVudCcsICd0aXRsZUNvbnRlbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ZvcicsICdpbnRlcmFjdGl2ZScsICdwbGFjZW1lbnQnLCAndGl0bGVDb250ZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4VG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4VG9vbHRpcEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4VG9vbHRpcCBleHRlbmRzIENvbXBvbmVudHMuSXhUb29sdGlwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbENoZXZyb25JY29uJywgJ2NvbnRleHQnLCAnaGFzQ2hpbGRyZW4nLCAndGV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXgtdHJlZS1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWxDaGV2cm9uSWNvbicsICdjb250ZXh0JywgJ2hhc0NoaWxkcmVuJywgJ3RleHQnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhUcmVlSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4VHJlZUl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0b2dnbGUnLCAnaXRlbUNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4VHJlZUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkl4VHJlZUl0ZW0ge1xuICAvKipcbiAgICogRXhwYW5kL0NvbGxhcHNlZCB0b2dnbGVkXG4gICAqL1xuICB0b2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBDbGljayBvbiBpdGVtIG5vdCBvbiB0aGUgZXhwYW5kL2NvbGxhcHNlIGljb25cbiAgICovXG4gIGl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9sZCcsICdmb3JtYXQnLCAndGV4dENvbG9yJywgJ3RleHREZWNvcmF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC10eXBvZ3JhcGh5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydib2xkJywgJ2Zvcm1hdCcsICd0ZXh0Q29sb3InLCAndGV4dERlY29yYXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgSXhUeXBvZ3JhcGh5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhUeXBvZ3JhcGh5RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhUeXBvZ3JhcGh5IGV4dGVuZHMgQ29tcG9uZW50cy5JeFR5cG9ncmFwaHkge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2Rpc2FibGVkJywgJ2kxOG5VcGxvYWREaXNhYmxlZCcsICdpMThuVXBsb2FkRmlsZScsICdsb2FkaW5nVGV4dCcsICdtdWx0aWxpbmUnLCAnbXVsdGlwbGUnLCAnc2VsZWN0RmlsZVRleHQnLCAnc3RhdGUnLCAndXBsb2FkRmFpbGVkVGV4dCcsICd1cGxvYWRTdWNjZXNzVGV4dCddLFxuICBtZXRob2RzOiBbJ3NldEZpbGVzVG9VcGxvYWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXVwbG9hZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2Rpc2FibGVkJywgJ2kxOG5VcGxvYWREaXNhYmxlZCcsICdpMThuVXBsb2FkRmlsZScsICdsb2FkaW5nVGV4dCcsICdtdWx0aWxpbmUnLCAnbXVsdGlwbGUnLCAnc2VsZWN0RmlsZVRleHQnLCAnc3RhdGUnLCAndXBsb2FkRmFpbGVkVGV4dCcsICd1cGxvYWRTdWNjZXNzVGV4dCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFVwbG9hZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEl4VXBsb2FkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZmlsZXNDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEl4VXBsb2FkIGV4dGVuZHMgQ29tcG9uZW50cy5JeFVwbG9hZCB7XG4gIC8qKlxuICAgKiBZb3UgZ2V0IGFuIGFycmF5IG9mIEZpbGVzIGFmdGVyIGRyb3AtYWN0aW9uIG9yIGJyb3dzZSBhY3Rpb24gaXMgZmluaXNoZWRcbiAgICovXG4gIGZpbGVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEFycmF5PEZpbGU+Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ21lc3NhZ2UnLCAncGxhY2VtZW50JywgJ3N1cHByZXNzQXV0b21hdGljUGxhY2VtZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC12YWxpZGF0aW9uLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ21lc3NhZ2UnLCAncGxhY2VtZW50JywgJ3N1cHByZXNzQXV0b21hdGljUGxhY2VtZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEl4VmFsaWRhdGlvblRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeFZhbGlkYXRpb25Ub29sdGlwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhWYWxpZGF0aW9uVG9vbHRpcCBleHRlbmRzIENvbXBvbmVudHMuSXhWYWxpZGF0aW9uVG9vbHRpcCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnc2VsZWN0ZWQnLCAnc3RhdHVzJywgJ3ZlcnRpY2FsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpeC13b3JrZmxvdy1zdGVwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnc2VsZWN0ZWQnLCAnc3RhdHVzJywgJ3ZlcnRpY2FsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEl4V29ya2Zsb3dTdGVwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MSXhXb3JrZmxvd1N0ZXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJeFdvcmtmbG93U3RlcCBleHRlbmRzIENvbXBvbmVudHMuSXhXb3JrZmxvd1N0ZXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xpY2thYmxlJywgJ3NlbGVjdGVkSW5kZXgnLCAndmVydGljYWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l4LXdvcmtmbG93LXN0ZXBzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnc2VsZWN0ZWRJbmRleCcsICd2ZXJ0aWNhbCddLFxufSlcbmV4cG9ydCBjbGFzcyBJeFdvcmtmbG93U3RlcHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxJeFdvcmtmbG93U3RlcHNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdGVwU2VsZWN0ZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSXhXb3JrZmxvd1N0ZXBzIGV4dGVuZHMgQ29tcG9uZW50cy5JeFdvcmtmbG93U3RlcHMge1xuICAvKipcbiAgICogT24gc3RlcCBzZWxlY3RlZCBldmVudFxuICAgKi9cbiAgc3RlcFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuIl19
|