@ukho/admiralty-angular 0.3.0 → 0.3.1--canary.46.bfb989d.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/bundles/ukho-admiralty-angular.umd.js +2218 -0
  2. package/bundles/ukho-admiralty-angular.umd.js.map +1 -0
  3. package/{esm2020/lib/design-system.module.mjs → esm2015/lib/design-system.module.js} +4 -4
  4. package/{esm2020/lib/stencil-generated/boolean-value-accessor.mjs → esm2015/lib/stencil-generated/boolean-value-accessor.js} +3 -3
  5. package/esm2015/lib/stencil-generated/components.js +1214 -0
  6. package/{esm2020/lib/stencil-generated/number-value-accessor.mjs → esm2015/lib/stencil-generated/number-value-accessor.js} +3 -3
  7. package/{esm2020/lib/stencil-generated/radio-value-accessor.mjs → esm2015/lib/stencil-generated/radio-value-accessor.js} +3 -3
  8. package/{esm2020/lib/stencil-generated/select-value-accessor.mjs → esm2015/lib/stencil-generated/select-value-accessor.js} +3 -3
  9. package/{esm2020/lib/stencil-generated/text-value-accessor.mjs → esm2015/lib/stencil-generated/text-value-accessor.js} +3 -3
  10. package/{esm2020/lib/stencil-generated/value-accessor.mjs → esm2015/lib/stencil-generated/value-accessor.js} +3 -3
  11. package/{fesm2020/ukho-admiralty-angular.mjs → fesm2015/ukho-admiralty-angular.js} +102 -102
  12. package/fesm2015/ukho-admiralty-angular.js.map +1 -0
  13. package/lib/stencil-generated/boolean-value-accessor.d.ts +1 -1
  14. package/lib/stencil-generated/components.d.ts +43 -43
  15. package/lib/stencil-generated/number-value-accessor.d.ts +1 -1
  16. package/lib/stencil-generated/radio-value-accessor.d.ts +1 -1
  17. package/lib/stencil-generated/select-value-accessor.d.ts +1 -1
  18. package/lib/stencil-generated/text-value-accessor.d.ts +1 -1
  19. package/lib/stencil-generated/value-accessor.d.ts +1 -1
  20. package/package.json +10 -23
  21. package/ukho-admiralty-angular.d.ts +5 -0
  22. package/esm2020/lib/stencil-generated/components.mjs +0 -1214
  23. package/fesm2015/ukho-admiralty-angular.mjs +0 -1748
  24. package/fesm2015/ukho-admiralty-angular.mjs.map +0 -1
  25. package/fesm2020/ukho-admiralty-angular.mjs.map +0 -1
  26. /package/{esm2020/index.mjs → esm2015/index.js} +0 -0
  27. /package/{esm2020/lib/app_initialise.mjs → esm2015/lib/app_initialise.js} +0 -0
  28. /package/{esm2020/lib/stencil-generated/angular-component-lib/utils.mjs → esm2015/lib/stencil-generated/angular-component-lib/utils.js} +0 -0
  29. /package/{esm2020/lib/stencil-generated/index.mjs → esm2015/lib/stencil-generated/index.js} +0 -0
  30. /package/{esm2020/ukho-admiralty-angular.mjs → esm2015/ukho-admiralty-angular.js} +0 -0
@@ -1,1214 +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
- const _c0 = ["*"];
8
- let AdmiraltyBreadcrumb = class AdmiraltyBreadcrumb {
9
- constructor(c, r, z) {
10
- this.z = z;
11
- c.detach();
12
- this.el = r.nativeElement;
13
- }
14
- };
15
- AdmiraltyBreadcrumb.ɵfac = function AdmiraltyBreadcrumb_Factory(t) { return new (t || AdmiraltyBreadcrumb)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
16
- AdmiraltyBreadcrumb.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyBreadcrumb, selectors: [["admiralty-breadcrumb"]], inputs: { active: "active", href: "href" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyBreadcrumb_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵprojectionDef();
18
- i0.ɵɵprojection(0);
19
- } }, encapsulation: 2, changeDetection: 0 });
20
- AdmiraltyBreadcrumb = __decorate([
21
- ProxyCmp({
22
- inputs: ['active', 'href']
23
- })
24
- ], AdmiraltyBreadcrumb);
25
- export { AdmiraltyBreadcrumb };
26
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyBreadcrumb, [{
27
- type: Component,
28
- args: [{
29
- selector: 'admiralty-breadcrumb',
30
- changeDetection: ChangeDetectionStrategy.OnPush,
31
- template: '<ng-content></ng-content>',
32
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
33
- inputs: ['active', 'href'],
34
- }]
35
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
36
- let AdmiraltyBreadcrumbs = class AdmiraltyBreadcrumbs {
37
- constructor(c, r, z) {
38
- this.z = z;
39
- c.detach();
40
- this.el = r.nativeElement;
41
- }
42
- };
43
- AdmiraltyBreadcrumbs.ɵfac = function AdmiraltyBreadcrumbs_Factory(t) { return new (t || AdmiraltyBreadcrumbs)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
44
- AdmiraltyBreadcrumbs.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyBreadcrumbs, selectors: [["admiralty-breadcrumbs"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyBreadcrumbs_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵprojectionDef();
46
- i0.ɵɵprojection(0);
47
- } }, encapsulation: 2, changeDetection: 0 });
48
- AdmiraltyBreadcrumbs = __decorate([
49
- ProxyCmp({})
50
- ], AdmiraltyBreadcrumbs);
51
- export { AdmiraltyBreadcrumbs };
52
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyBreadcrumbs, [{
53
- type: Component,
54
- args: [{
55
- selector: 'admiralty-breadcrumbs',
56
- changeDetection: ChangeDetectionStrategy.OnPush,
57
- template: '<ng-content></ng-content>',
58
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
59
- inputs: [],
60
- }]
61
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
62
- let AdmiraltyButton = class AdmiraltyButton {
63
- constructor(c, r, z) {
64
- this.z = z;
65
- c.detach();
66
- this.el = r.nativeElement;
67
- }
68
- };
69
- AdmiraltyButton.ɵfac = function AdmiraltyButton_Factory(t) { return new (t || AdmiraltyButton)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
70
- AdmiraltyButton.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyButton, selectors: [["admiralty-button"]], inputs: { disabled: "disabled", icon: "icon", type: "type", variant: "variant" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyButton_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵprojectionDef();
72
- i0.ɵɵprojection(0);
73
- } }, encapsulation: 2, changeDetection: 0 });
74
- AdmiraltyButton = __decorate([
75
- ProxyCmp({
76
- inputs: ['disabled', 'icon', 'type', 'variant']
77
- })
78
- ], AdmiraltyButton);
79
- export { AdmiraltyButton };
80
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyButton, [{
81
- type: Component,
82
- args: [{
83
- selector: 'admiralty-button',
84
- changeDetection: ChangeDetectionStrategy.OnPush,
85
- template: '<ng-content></ng-content>',
86
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
87
- inputs: ['disabled', 'icon', 'type', 'variant'],
88
- }]
89
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
90
- let AdmiraltyCard = class AdmiraltyCard {
91
- constructor(c, r, z) {
92
- this.z = z;
93
- c.detach();
94
- this.el = r.nativeElement;
95
- }
96
- };
97
- AdmiraltyCard.ɵfac = function AdmiraltyCard_Factory(t) { return new (t || AdmiraltyCard)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
98
- AdmiraltyCard.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyCard, selectors: [["admiralty-card"]], inputs: { heading: "heading" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyCard_Template(rf, ctx) { if (rf & 1) {
99
- i0.ɵɵprojectionDef();
100
- i0.ɵɵprojection(0);
101
- } }, encapsulation: 2, changeDetection: 0 });
102
- AdmiraltyCard = __decorate([
103
- ProxyCmp({
104
- inputs: ['heading']
105
- })
106
- ], AdmiraltyCard);
107
- export { AdmiraltyCard };
108
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyCard, [{
109
- type: Component,
110
- args: [{
111
- selector: 'admiralty-card',
112
- changeDetection: ChangeDetectionStrategy.OnPush,
113
- template: '<ng-content></ng-content>',
114
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
115
- inputs: ['heading'],
116
- }]
117
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
118
- let AdmiraltyCheckbox = class AdmiraltyCheckbox {
119
- constructor(c, r, z) {
120
- this.z = z;
121
- c.detach();
122
- this.el = r.nativeElement;
123
- proxyOutputs(this, this.el, ['admiraltyChange', 'checkboxFocus', 'checkboxBlur']);
124
- }
125
- };
126
- AdmiraltyCheckbox.ɵfac = function AdmiraltyCheckbox_Factory(t) { return new (t || AdmiraltyCheckbox)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
127
- AdmiraltyCheckbox.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyCheckbox, selectors: [["admiralty-checkbox"]], inputs: { checkboxRight: "checkboxRight", checked: "checked", disabled: "disabled", labelText: "labelText", name: "name", value: "value" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyCheckbox_Template(rf, ctx) { if (rf & 1) {
128
- i0.ɵɵprojectionDef();
129
- i0.ɵɵprojection(0);
130
- } }, encapsulation: 2, changeDetection: 0 });
131
- AdmiraltyCheckbox = __decorate([
132
- ProxyCmp({
133
- inputs: ['checkboxRight', 'checked', 'disabled', 'labelText', 'name', 'value']
134
- })
135
- ], AdmiraltyCheckbox);
136
- export { AdmiraltyCheckbox };
137
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyCheckbox, [{
138
- type: Component,
139
- args: [{
140
- selector: 'admiralty-checkbox',
141
- changeDetection: ChangeDetectionStrategy.OnPush,
142
- template: '<ng-content></ng-content>',
143
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
144
- inputs: ['checkboxRight', 'checked', 'disabled', 'labelText', 'name', 'value'],
145
- }]
146
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
147
- let AdmiraltyColourBlock = class AdmiraltyColourBlock {
148
- constructor(c, r, z) {
149
- this.z = z;
150
- c.detach();
151
- this.el = r.nativeElement;
152
- }
153
- };
154
- AdmiraltyColourBlock.ɵfac = function AdmiraltyColourBlock_Factory(t) { return new (t || AdmiraltyColourBlock)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
155
- AdmiraltyColourBlock.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyColourBlock, selectors: [["admiralty-colour-block"]], inputs: { actionText: "actionText", clickAction: "clickAction", colour: "colour", heading: "heading", height: "height", width: "width" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyColourBlock_Template(rf, ctx) { if (rf & 1) {
156
- i0.ɵɵprojectionDef();
157
- i0.ɵɵprojection(0);
158
- } }, encapsulation: 2, changeDetection: 0 });
159
- AdmiraltyColourBlock = __decorate([
160
- ProxyCmp({
161
- inputs: ['actionText', 'clickAction', 'colour', 'heading', 'height', 'width']
162
- })
163
- ], AdmiraltyColourBlock);
164
- export { AdmiraltyColourBlock };
165
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyColourBlock, [{
166
- type: Component,
167
- args: [{
168
- selector: 'admiralty-colour-block',
169
- changeDetection: ChangeDetectionStrategy.OnPush,
170
- template: '<ng-content></ng-content>',
171
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
172
- inputs: ['actionText', 'clickAction', 'colour', 'heading', 'height', 'width'],
173
- }]
174
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
175
- let AdmiraltyDialogue = class AdmiraltyDialogue {
176
- constructor(c, r, z) {
177
- this.z = z;
178
- c.detach();
179
- this.el = r.nativeElement;
180
- }
181
- };
182
- AdmiraltyDialogue.ɵfac = function AdmiraltyDialogue_Factory(t) { return new (t || AdmiraltyDialogue)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
183
- AdmiraltyDialogue.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyDialogue, selectors: [["admiralty-dialogue"]], inputs: { heading: "heading", type: "type" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyDialogue_Template(rf, ctx) { if (rf & 1) {
184
- i0.ɵɵprojectionDef();
185
- i0.ɵɵprojection(0);
186
- } }, encapsulation: 2, changeDetection: 0 });
187
- AdmiraltyDialogue = __decorate([
188
- ProxyCmp({
189
- inputs: ['heading', 'type']
190
- })
191
- ], AdmiraltyDialogue);
192
- export { AdmiraltyDialogue };
193
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyDialogue, [{
194
- type: Component,
195
- args: [{
196
- selector: 'admiralty-dialogue',
197
- changeDetection: ChangeDetectionStrategy.OnPush,
198
- template: '<ng-content></ng-content>',
199
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
200
- inputs: ['heading', 'type'],
201
- }]
202
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
203
- let AdmiraltyExpansion = class AdmiraltyExpansion {
204
- constructor(c, r, z) {
205
- this.z = z;
206
- c.detach();
207
- this.el = r.nativeElement;
208
- proxyOutputs(this, this.el, ['toggled']);
209
- }
210
- };
211
- AdmiraltyExpansion.ɵfac = function AdmiraltyExpansion_Factory(t) { return new (t || AdmiraltyExpansion)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
212
- AdmiraltyExpansion.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyExpansion, selectors: [["admiralty-expansion"]], inputs: { alignHeadingRight: "alignHeadingRight", expanded: "expanded", heading: "heading", hideBorder: "hideBorder" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyExpansion_Template(rf, ctx) { if (rf & 1) {
213
- i0.ɵɵprojectionDef();
214
- i0.ɵɵprojection(0);
215
- } }, encapsulation: 2, changeDetection: 0 });
216
- AdmiraltyExpansion = __decorate([
217
- ProxyCmp({
218
- inputs: ['alignHeadingRight', 'expanded', 'heading', 'hideBorder']
219
- })
220
- ], AdmiraltyExpansion);
221
- export { AdmiraltyExpansion };
222
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyExpansion, [{
223
- type: Component,
224
- args: [{
225
- selector: 'admiralty-expansion',
226
- changeDetection: ChangeDetectionStrategy.OnPush,
227
- template: '<ng-content></ng-content>',
228
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
229
- inputs: ['alignHeadingRight', 'expanded', 'heading', 'hideBorder'],
230
- }]
231
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
232
- let AdmiraltyFileInput = class AdmiraltyFileInput {
233
- constructor(c, r, z) {
234
- this.z = z;
235
- c.detach();
236
- this.el = r.nativeElement;
237
- proxyOutputs(this, this.el, ['fileInputChange']);
238
- }
239
- };
240
- AdmiraltyFileInput.ɵfac = function AdmiraltyFileInput_Factory(t) { return new (t || AdmiraltyFileInput)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
241
- AdmiraltyFileInput.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyFileInput, selectors: [["admiralty-file-input"]], inputs: { label: "label", multiple: "multiple" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyFileInput_Template(rf, ctx) { if (rf & 1) {
242
- i0.ɵɵprojectionDef();
243
- i0.ɵɵprojection(0);
244
- } }, encapsulation: 2, changeDetection: 0 });
245
- AdmiraltyFileInput = __decorate([
246
- ProxyCmp({
247
- inputs: ['label', 'multiple']
248
- })
249
- ], AdmiraltyFileInput);
250
- export { AdmiraltyFileInput };
251
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyFileInput, [{
252
- type: Component,
253
- args: [{
254
- selector: 'admiralty-file-input',
255
- changeDetection: ChangeDetectionStrategy.OnPush,
256
- template: '<ng-content></ng-content>',
257
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
258
- inputs: ['label', 'multiple'],
259
- }]
260
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
261
- let AdmiraltyFilter = class AdmiraltyFilter {
262
- constructor(c, r, z) {
263
- this.z = z;
264
- c.detach();
265
- this.el = r.nativeElement;
266
- proxyOutputs(this, this.el, ['filterCleared', 'filterApplied']);
267
- }
268
- };
269
- AdmiraltyFilter.ɵfac = function AdmiraltyFilter_Factory(t) { return new (t || AdmiraltyFilter)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
270
- AdmiraltyFilter.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyFilter, selectors: [["admiralty-filter"]], inputs: { filterTitle: "filterTitle" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyFilter_Template(rf, ctx) { if (rf & 1) {
271
- i0.ɵɵprojectionDef();
272
- i0.ɵɵprojection(0);
273
- } }, encapsulation: 2, changeDetection: 0 });
274
- AdmiraltyFilter = __decorate([
275
- ProxyCmp({
276
- inputs: ['filterTitle']
277
- })
278
- ], AdmiraltyFilter);
279
- export { AdmiraltyFilter };
280
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyFilter, [{
281
- type: Component,
282
- args: [{
283
- selector: 'admiralty-filter',
284
- changeDetection: ChangeDetectionStrategy.OnPush,
285
- template: '<ng-content></ng-content>',
286
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
287
- inputs: ['filterTitle'],
288
- }]
289
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
290
- let AdmiraltyFilterGroup = class AdmiraltyFilterGroup {
291
- constructor(c, r, z) {
292
- this.z = z;
293
- c.detach();
294
- this.el = r.nativeElement;
295
- }
296
- };
297
- AdmiraltyFilterGroup.ɵfac = function AdmiraltyFilterGroup_Factory(t) { return new (t || AdmiraltyFilterGroup)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
298
- AdmiraltyFilterGroup.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyFilterGroup, selectors: [["admiralty-filter-group"]], inputs: { groupTitle: "groupTitle" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyFilterGroup_Template(rf, ctx) { if (rf & 1) {
299
- i0.ɵɵprojectionDef();
300
- i0.ɵɵprojection(0);
301
- } }, encapsulation: 2, changeDetection: 0 });
302
- AdmiraltyFilterGroup = __decorate([
303
- ProxyCmp({
304
- inputs: ['groupTitle']
305
- })
306
- ], AdmiraltyFilterGroup);
307
- export { AdmiraltyFilterGroup };
308
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyFilterGroup, [{
309
- type: Component,
310
- args: [{
311
- selector: 'admiralty-filter-group',
312
- changeDetection: ChangeDetectionStrategy.OnPush,
313
- template: '<ng-content></ng-content>',
314
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
315
- inputs: ['groupTitle'],
316
- }]
317
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
318
- let AdmiraltyFooter = class AdmiraltyFooter {
319
- constructor(c, r, z) {
320
- this.z = z;
321
- c.detach();
322
- this.el = r.nativeElement;
323
- }
324
- };
325
- AdmiraltyFooter.ɵfac = function AdmiraltyFooter_Factory(t) { return new (t || AdmiraltyFooter)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
326
- AdmiraltyFooter.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyFooter, selectors: [["admiralty-footer"]], inputs: { imageAlt: "imageAlt", imageLink: "imageLink", imageSrc: "imageSrc", text: "text" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyFooter_Template(rf, ctx) { if (rf & 1) {
327
- i0.ɵɵprojectionDef();
328
- i0.ɵɵprojection(0);
329
- } }, encapsulation: 2, changeDetection: 0 });
330
- AdmiraltyFooter = __decorate([
331
- ProxyCmp({
332
- inputs: ['imageAlt', 'imageLink', 'imageSrc', 'text']
333
- })
334
- ], AdmiraltyFooter);
335
- export { AdmiraltyFooter };
336
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyFooter, [{
337
- type: Component,
338
- args: [{
339
- selector: 'admiralty-footer',
340
- changeDetection: ChangeDetectionStrategy.OnPush,
341
- template: '<ng-content></ng-content>',
342
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
343
- inputs: ['imageAlt', 'imageLink', 'imageSrc', 'text'],
344
- }]
345
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
346
- let AdmiraltyHeader = class AdmiraltyHeader {
347
- constructor(c, r, z) {
348
- this.z = z;
349
- c.detach();
350
- this.el = r.nativeElement;
351
- proxyOutputs(this, this.el, ['titledClicked']);
352
- }
353
- };
354
- AdmiraltyHeader.ɵfac = function AdmiraltyHeader_Factory(t) { return new (t || AdmiraltyHeader)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
355
- AdmiraltyHeader.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyHeader, selectors: [["admiralty-header"]], inputs: { headerTitle: "headerTitle", headerTitleUrl: "headerTitleUrl", logoAltText: "logoAltText", logoImgUrl: "logoImgUrl", logoLinkUrl: "logoLinkUrl" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyHeader_Template(rf, ctx) { if (rf & 1) {
356
- i0.ɵɵprojectionDef();
357
- i0.ɵɵprojection(0);
358
- } }, encapsulation: 2, changeDetection: 0 });
359
- AdmiraltyHeader = __decorate([
360
- ProxyCmp({
361
- inputs: ['headerTitle', 'headerTitleUrl', 'logoAltText', 'logoImgUrl', 'logoLinkUrl']
362
- })
363
- ], AdmiraltyHeader);
364
- export { AdmiraltyHeader };
365
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyHeader, [{
366
- type: Component,
367
- args: [{
368
- selector: 'admiralty-header',
369
- changeDetection: ChangeDetectionStrategy.OnPush,
370
- template: '<ng-content></ng-content>',
371
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
372
- inputs: ['headerTitle', 'headerTitleUrl', 'logoAltText', 'logoImgUrl', 'logoLinkUrl'],
373
- }]
374
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
375
- let AdmiraltyHeaderMenuItem = class AdmiraltyHeaderMenuItem {
376
- constructor(c, r, z) {
377
- this.z = z;
378
- c.detach();
379
- this.el = r.nativeElement;
380
- proxyOutputs(this, this.el, ['menuItemClick']);
381
- }
382
- };
383
- AdmiraltyHeaderMenuItem.ɵfac = function AdmiraltyHeaderMenuItem_Factory(t) { return new (t || AdmiraltyHeaderMenuItem)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
384
- AdmiraltyHeaderMenuItem.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyHeaderMenuItem, selectors: [["admiralty-header-menu-item"]], inputs: { active: "active", menuTitle: "menuTitle" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyHeaderMenuItem_Template(rf, ctx) { if (rf & 1) {
385
- i0.ɵɵprojectionDef();
386
- i0.ɵɵprojection(0);
387
- } }, encapsulation: 2, changeDetection: 0 });
388
- AdmiraltyHeaderMenuItem = __decorate([
389
- ProxyCmp({
390
- inputs: ['active', 'menuTitle']
391
- })
392
- ], AdmiraltyHeaderMenuItem);
393
- export { AdmiraltyHeaderMenuItem };
394
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyHeaderMenuItem, [{
395
- type: Component,
396
- args: [{
397
- selector: 'admiralty-header-menu-item',
398
- changeDetection: ChangeDetectionStrategy.OnPush,
399
- template: '<ng-content></ng-content>',
400
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
401
- inputs: ['active', 'menuTitle'],
402
- }]
403
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
404
- let AdmiraltyHeaderProfile = class AdmiraltyHeaderProfile {
405
- constructor(c, r, z) {
406
- this.z = z;
407
- c.detach();
408
- this.el = r.nativeElement;
409
- proxyOutputs(this, this.el, ['signInClicked', 'yourAccountClicked', 'signOutClicked']);
410
- }
411
- };
412
- AdmiraltyHeaderProfile.ɵfac = function AdmiraltyHeaderProfile_Factory(t) { return new (t || AdmiraltyHeaderProfile)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
413
- AdmiraltyHeaderProfile.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyHeaderProfile, selectors: [["admiralty-header-profile"]], inputs: { isSignedIn: "isSignedIn", signedInText: "signedInText" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyHeaderProfile_Template(rf, ctx) { if (rf & 1) {
414
- i0.ɵɵprojectionDef();
415
- i0.ɵɵprojection(0);
416
- } }, encapsulation: 2, changeDetection: 0 });
417
- AdmiraltyHeaderProfile = __decorate([
418
- ProxyCmp({
419
- inputs: ['isSignedIn', 'signedInText']
420
- })
421
- ], AdmiraltyHeaderProfile);
422
- export { AdmiraltyHeaderProfile };
423
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyHeaderProfile, [{
424
- type: Component,
425
- args: [{
426
- selector: 'admiralty-header-profile',
427
- changeDetection: ChangeDetectionStrategy.OnPush,
428
- template: '<ng-content></ng-content>',
429
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
430
- inputs: ['isSignedIn', 'signedInText'],
431
- }]
432
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
433
- let AdmiraltyHeaderSubMenuItem = class AdmiraltyHeaderSubMenuItem {
434
- constructor(c, r, z) {
435
- this.z = z;
436
- c.detach();
437
- this.el = r.nativeElement;
438
- proxyOutputs(this, this.el, ['subMenuItemClick']);
439
- }
440
- };
441
- AdmiraltyHeaderSubMenuItem.ɵfac = function AdmiraltyHeaderSubMenuItem_Factory(t) { return new (t || AdmiraltyHeaderSubMenuItem)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
442
- AdmiraltyHeaderSubMenuItem.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyHeaderSubMenuItem, selectors: [["admiralty-header-sub-menu-item"]], inputs: { menuTitle: "menuTitle" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyHeaderSubMenuItem_Template(rf, ctx) { if (rf & 1) {
443
- i0.ɵɵprojectionDef();
444
- i0.ɵɵprojection(0);
445
- } }, encapsulation: 2, changeDetection: 0 });
446
- AdmiraltyHeaderSubMenuItem = __decorate([
447
- ProxyCmp({
448
- inputs: ['menuTitle']
449
- })
450
- ], AdmiraltyHeaderSubMenuItem);
451
- export { AdmiraltyHeaderSubMenuItem };
452
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyHeaderSubMenuItem, [{
453
- type: Component,
454
- args: [{
455
- selector: 'admiralty-header-sub-menu-item',
456
- changeDetection: ChangeDetectionStrategy.OnPush,
457
- template: '<ng-content></ng-content>',
458
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
459
- inputs: ['menuTitle'],
460
- }]
461
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
462
- let AdmiraltyHint = class AdmiraltyHint {
463
- constructor(c, r, z) {
464
- this.z = z;
465
- c.detach();
466
- this.el = r.nativeElement;
467
- }
468
- };
469
- AdmiraltyHint.ɵfac = function AdmiraltyHint_Factory(t) { return new (t || AdmiraltyHint)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
470
- AdmiraltyHint.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyHint, selectors: [["admiralty-hint"]], inputs: { disabled: "disabled" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyHint_Template(rf, ctx) { if (rf & 1) {
471
- i0.ɵɵprojectionDef();
472
- i0.ɵɵprojection(0);
473
- } }, encapsulation: 2, changeDetection: 0 });
474
- AdmiraltyHint = __decorate([
475
- ProxyCmp({
476
- inputs: ['disabled']
477
- })
478
- ], AdmiraltyHint);
479
- export { AdmiraltyHint };
480
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyHint, [{
481
- type: Component,
482
- args: [{
483
- selector: 'admiralty-hint',
484
- changeDetection: ChangeDetectionStrategy.OnPush,
485
- template: '<ng-content></ng-content>',
486
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
487
- inputs: ['disabled'],
488
- }]
489
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
490
- let AdmiraltyHr = class AdmiraltyHr {
491
- constructor(c, r, z) {
492
- this.z = z;
493
- c.detach();
494
- this.el = r.nativeElement;
495
- }
496
- };
497
- AdmiraltyHr.ɵfac = function AdmiraltyHr_Factory(t) { return new (t || AdmiraltyHr)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
498
- AdmiraltyHr.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyHr, selectors: [["admiralty-hr"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyHr_Template(rf, ctx) { if (rf & 1) {
499
- i0.ɵɵprojectionDef();
500
- i0.ɵɵprojection(0);
501
- } }, encapsulation: 2, changeDetection: 0 });
502
- AdmiraltyHr = __decorate([
503
- ProxyCmp({})
504
- ], AdmiraltyHr);
505
- export { AdmiraltyHr };
506
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyHr, [{
507
- type: Component,
508
- args: [{
509
- selector: 'admiralty-hr',
510
- changeDetection: ChangeDetectionStrategy.OnPush,
511
- template: '<ng-content></ng-content>',
512
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
513
- inputs: [],
514
- }]
515
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
516
- let AdmiraltyIcon = class AdmiraltyIcon {
517
- constructor(c, r, z) {
518
- this.z = z;
519
- c.detach();
520
- this.el = r.nativeElement;
521
- }
522
- };
523
- AdmiraltyIcon.ɵfac = function AdmiraltyIcon_Factory(t) { return new (t || AdmiraltyIcon)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
524
- AdmiraltyIcon.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyIcon, selectors: [["admiralty-icon"]], inputs: { iconName: "iconName", iconPrefix: "iconPrefix" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyIcon_Template(rf, ctx) { if (rf & 1) {
525
- i0.ɵɵprojectionDef();
526
- i0.ɵɵprojection(0);
527
- } }, encapsulation: 2, changeDetection: 0 });
528
- AdmiraltyIcon = __decorate([
529
- ProxyCmp({
530
- inputs: ['iconName', 'iconPrefix']
531
- })
532
- ], AdmiraltyIcon);
533
- export { AdmiraltyIcon };
534
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyIcon, [{
535
- type: Component,
536
- args: [{
537
- selector: 'admiralty-icon',
538
- changeDetection: ChangeDetectionStrategy.OnPush,
539
- template: '<ng-content></ng-content>',
540
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
541
- inputs: ['iconName', 'iconPrefix'],
542
- }]
543
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
544
- let AdmiraltyInput = class AdmiraltyInput {
545
- constructor(c, r, z) {
546
- this.z = z;
547
- c.detach();
548
- this.el = r.nativeElement;
549
- proxyOutputs(this, this.el, ['admiraltyChange']);
550
- }
551
- };
552
- AdmiraltyInput.ɵfac = function AdmiraltyInput_Factory(t) { return new (t || AdmiraltyInput)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
553
- AdmiraltyInput.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyInput, selectors: [["admiralty-input"]], inputs: { autocomplete: "autocomplete", disabled: "disabled", hint: "hint", invalid: "invalid", invalidMessage: "invalidMessage", label: "label", name: "name", placeholder: "placeholder", required: "required", type: "type", value: "value", width: "width" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyInput_Template(rf, ctx) { if (rf & 1) {
554
- i0.ɵɵprojectionDef();
555
- i0.ɵɵprojection(0);
556
- } }, encapsulation: 2, changeDetection: 0 });
557
- AdmiraltyInput = __decorate([
558
- ProxyCmp({
559
- inputs: ['autocomplete', 'disabled', 'hint', 'invalid', 'invalidMessage', 'label', 'name', 'placeholder', 'required', 'type', 'value', 'width']
560
- })
561
- ], AdmiraltyInput);
562
- export { AdmiraltyInput };
563
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyInput, [{
564
- type: Component,
565
- args: [{
566
- selector: 'admiralty-input',
567
- changeDetection: ChangeDetectionStrategy.OnPush,
568
- template: '<ng-content></ng-content>',
569
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
570
- inputs: ['autocomplete', 'disabled', 'hint', 'invalid', 'invalidMessage', 'label', 'name', 'placeholder', 'required', 'type', 'value', 'width'],
571
- }]
572
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
573
- let AdmiraltyInputError = class AdmiraltyInputError {
574
- constructor(c, r, z) {
575
- this.z = z;
576
- c.detach();
577
- this.el = r.nativeElement;
578
- }
579
- };
580
- AdmiraltyInputError.ɵfac = function AdmiraltyInputError_Factory(t) { return new (t || AdmiraltyInputError)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
581
- AdmiraltyInputError.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyInputError, selectors: [["admiralty-input-error"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyInputError_Template(rf, ctx) { if (rf & 1) {
582
- i0.ɵɵprojectionDef();
583
- i0.ɵɵprojection(0);
584
- } }, encapsulation: 2, changeDetection: 0 });
585
- AdmiraltyInputError = __decorate([
586
- ProxyCmp({})
587
- ], AdmiraltyInputError);
588
- export { AdmiraltyInputError };
589
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyInputError, [{
590
- type: Component,
591
- args: [{
592
- selector: 'admiralty-input-error',
593
- changeDetection: ChangeDetectionStrategy.OnPush,
594
- template: '<ng-content></ng-content>',
595
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
596
- inputs: [],
597
- }]
598
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
599
- let AdmiraltyLabel = class AdmiraltyLabel {
600
- constructor(c, r, z) {
601
- this.z = z;
602
- c.detach();
603
- this.el = r.nativeElement;
604
- }
605
- };
606
- AdmiraltyLabel.ɵfac = function AdmiraltyLabel_Factory(t) { return new (t || AdmiraltyLabel)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
607
- AdmiraltyLabel.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyLabel, selectors: [["admiralty-label"]], inputs: { disabled: "disabled", for: "for" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyLabel_Template(rf, ctx) { if (rf & 1) {
608
- i0.ɵɵprojectionDef();
609
- i0.ɵɵprojection(0);
610
- } }, encapsulation: 2, changeDetection: 0 });
611
- AdmiraltyLabel = __decorate([
612
- ProxyCmp({
613
- inputs: ['disabled', 'for']
614
- })
615
- ], AdmiraltyLabel);
616
- export { AdmiraltyLabel };
617
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyLabel, [{
618
- type: Component,
619
- args: [{
620
- selector: 'admiralty-label',
621
- changeDetection: ChangeDetectionStrategy.OnPush,
622
- template: '<ng-content></ng-content>',
623
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
624
- inputs: ['disabled', 'for'],
625
- }]
626
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
627
- let AdmiraltyLink = class AdmiraltyLink {
628
- constructor(c, r, z) {
629
- this.z = z;
630
- c.detach();
631
- this.el = r.nativeElement;
632
- }
633
- };
634
- AdmiraltyLink.ɵfac = function AdmiraltyLink_Factory(t) { return new (t || AdmiraltyLink)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
635
- AdmiraltyLink.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyLink, selectors: [["admiralty-link"]], inputs: { href: "href", newTab: "newTab" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyLink_Template(rf, ctx) { if (rf & 1) {
636
- i0.ɵɵprojectionDef();
637
- i0.ɵɵprojection(0);
638
- } }, encapsulation: 2, changeDetection: 0 });
639
- AdmiraltyLink = __decorate([
640
- ProxyCmp({
641
- inputs: ['href', 'newTab']
642
- })
643
- ], AdmiraltyLink);
644
- export { AdmiraltyLink };
645
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyLink, [{
646
- type: Component,
647
- args: [{
648
- selector: 'admiralty-link',
649
- changeDetection: ChangeDetectionStrategy.OnPush,
650
- template: '<ng-content></ng-content>',
651
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
652
- inputs: ['href', 'newTab'],
653
- }]
654
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
655
- let AdmiraltyPaginator = class AdmiraltyPaginator {
656
- constructor(c, r, z) {
657
- this.z = z;
658
- c.detach();
659
- this.el = r.nativeElement;
660
- proxyOutputs(this, this.el, ['pageChange']);
661
- }
662
- };
663
- AdmiraltyPaginator.ɵfac = function AdmiraltyPaginator_Factory(t) { return new (t || AdmiraltyPaginator)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
664
- AdmiraltyPaginator.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyPaginator, selectors: [["admiralty-paginator"]], inputs: { currentPage: "currentPage", label: "label", pages: "pages" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyPaginator_Template(rf, ctx) { if (rf & 1) {
665
- i0.ɵɵprojectionDef();
666
- i0.ɵɵprojection(0);
667
- } }, encapsulation: 2, changeDetection: 0 });
668
- AdmiraltyPaginator = __decorate([
669
- ProxyCmp({
670
- inputs: ['currentPage', 'label', 'pages']
671
- })
672
- ], AdmiraltyPaginator);
673
- export { AdmiraltyPaginator };
674
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyPaginator, [{
675
- type: Component,
676
- args: [{
677
- selector: 'admiralty-paginator',
678
- changeDetection: ChangeDetectionStrategy.OnPush,
679
- template: '<ng-content></ng-content>',
680
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
681
- inputs: ['currentPage', 'label', 'pages'],
682
- }]
683
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
684
- let AdmiraltyPhaseBanner = class AdmiraltyPhaseBanner {
685
- constructor(c, r, z) {
686
- this.z = z;
687
- c.detach();
688
- this.el = r.nativeElement;
689
- }
690
- };
691
- AdmiraltyPhaseBanner.ɵfac = function AdmiraltyPhaseBanner_Factory(t) { return new (t || AdmiraltyPhaseBanner)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
692
- AdmiraltyPhaseBanner.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyPhaseBanner, selectors: [["admiralty-phase-banner"]], inputs: { link: "link", phase: "phase" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyPhaseBanner_Template(rf, ctx) { if (rf & 1) {
693
- i0.ɵɵprojectionDef();
694
- i0.ɵɵprojection(0);
695
- } }, encapsulation: 2, changeDetection: 0 });
696
- AdmiraltyPhaseBanner = __decorate([
697
- ProxyCmp({
698
- inputs: ['link', 'phase']
699
- })
700
- ], AdmiraltyPhaseBanner);
701
- export { AdmiraltyPhaseBanner };
702
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyPhaseBanner, [{
703
- type: Component,
704
- args: [{
705
- selector: 'admiralty-phase-banner',
706
- changeDetection: ChangeDetectionStrategy.OnPush,
707
- template: '<ng-content></ng-content>',
708
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
709
- inputs: ['link', 'phase'],
710
- }]
711
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
712
- let AdmiraltyProgressBar = class AdmiraltyProgressBar {
713
- constructor(c, r, z) {
714
- this.z = z;
715
- c.detach();
716
- this.el = r.nativeElement;
717
- }
718
- };
719
- AdmiraltyProgressBar.ɵfac = function AdmiraltyProgressBar_Factory(t) { return new (t || AdmiraltyProgressBar)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
720
- AdmiraltyProgressBar.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyProgressBar, selectors: [["admiralty-progress-bar"]], inputs: { error: "error", label: "label", progression: "progression" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyProgressBar_Template(rf, ctx) { if (rf & 1) {
721
- i0.ɵɵprojectionDef();
722
- i0.ɵɵprojection(0);
723
- } }, encapsulation: 2, changeDetection: 0 });
724
- AdmiraltyProgressBar = __decorate([
725
- ProxyCmp({
726
- inputs: ['error', 'label', 'progression']
727
- })
728
- ], AdmiraltyProgressBar);
729
- export { AdmiraltyProgressBar };
730
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyProgressBar, [{
731
- type: Component,
732
- args: [{
733
- selector: 'admiralty-progress-bar',
734
- changeDetection: ChangeDetectionStrategy.OnPush,
735
- template: '<ng-content></ng-content>',
736
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
737
- inputs: ['error', 'label', 'progression'],
738
- }]
739
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
740
- let AdmiraltyRadio = class AdmiraltyRadio {
741
- constructor(c, r, z) {
742
- this.z = z;
743
- c.detach();
744
- this.el = r.nativeElement;
745
- proxyOutputs(this, this.el, ['admiraltyFocus', 'admiraltyBlur', 'admiraltyChange']);
746
- }
747
- };
748
- AdmiraltyRadio.ɵfac = function AdmiraltyRadio_Factory(t) { return new (t || AdmiraltyRadio)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
749
- AdmiraltyRadio.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyRadio, selectors: [["admiralty-radio"]], inputs: { checked: "checked", disabled: "disabled", name: "name", value: "value" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyRadio_Template(rf, ctx) { if (rf & 1) {
750
- i0.ɵɵprojectionDef();
751
- i0.ɵɵprojection(0);
752
- } }, encapsulation: 2, changeDetection: 0 });
753
- AdmiraltyRadio = __decorate([
754
- ProxyCmp({
755
- inputs: ['checked', 'disabled', 'name', 'value']
756
- })
757
- ], AdmiraltyRadio);
758
- export { AdmiraltyRadio };
759
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyRadio, [{
760
- type: Component,
761
- args: [{
762
- selector: 'admiralty-radio',
763
- changeDetection: ChangeDetectionStrategy.OnPush,
764
- template: '<ng-content></ng-content>',
765
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
766
- inputs: ['checked', 'disabled', 'name', 'value'],
767
- }]
768
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
769
- let AdmiraltyRadioGroup = class AdmiraltyRadioGroup {
770
- constructor(c, r, z) {
771
- this.z = z;
772
- c.detach();
773
- this.el = r.nativeElement;
774
- proxyOutputs(this, this.el, ['admiraltyChange']);
775
- }
776
- };
777
- AdmiraltyRadioGroup.ɵfac = function AdmiraltyRadioGroup_Factory(t) { return new (t || AdmiraltyRadioGroup)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
778
- AdmiraltyRadioGroup.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyRadioGroup, selectors: [["admiralty-radio-group"]], inputs: { displayVertical: "displayVertical", name: "name", value: "value" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyRadioGroup_Template(rf, ctx) { if (rf & 1) {
779
- i0.ɵɵprojectionDef();
780
- i0.ɵɵprojection(0);
781
- } }, encapsulation: 2, changeDetection: 0 });
782
- AdmiraltyRadioGroup = __decorate([
783
- ProxyCmp({
784
- inputs: ['displayVertical', 'name', 'value']
785
- })
786
- ], AdmiraltyRadioGroup);
787
- export { AdmiraltyRadioGroup };
788
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyRadioGroup, [{
789
- type: Component,
790
- args: [{
791
- selector: 'admiralty-radio-group',
792
- changeDetection: ChangeDetectionStrategy.OnPush,
793
- template: '<ng-content></ng-content>',
794
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
795
- inputs: ['displayVertical', 'name', 'value'],
796
- }]
797
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
798
- let AdmiraltyReadMore = class AdmiraltyReadMore {
799
- constructor(c, r, z) {
800
- this.z = z;
801
- c.detach();
802
- this.el = r.nativeElement;
803
- proxyOutputs(this, this.el, ['admiraltyToggled']);
804
- }
805
- };
806
- AdmiraltyReadMore.ɵfac = function AdmiraltyReadMore_Factory(t) { return new (t || AdmiraltyReadMore)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
807
- AdmiraltyReadMore.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyReadMore, selectors: [["admiralty-read-more"]], inputs: { heading: "heading" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyReadMore_Template(rf, ctx) { if (rf & 1) {
808
- i0.ɵɵprojectionDef();
809
- i0.ɵɵprojection(0);
810
- } }, encapsulation: 2, changeDetection: 0 });
811
- AdmiraltyReadMore = __decorate([
812
- ProxyCmp({
813
- inputs: ['heading']
814
- })
815
- ], AdmiraltyReadMore);
816
- export { AdmiraltyReadMore };
817
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyReadMore, [{
818
- type: Component,
819
- args: [{
820
- selector: 'admiralty-read-more',
821
- changeDetection: ChangeDetectionStrategy.OnPush,
822
- template: '<ng-content></ng-content>',
823
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
824
- inputs: ['heading'],
825
- }]
826
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
827
- let AdmiraltySelect = class AdmiraltySelect {
828
- constructor(c, r, z) {
829
- this.z = z;
830
- c.detach();
831
- this.el = r.nativeElement;
832
- proxyOutputs(this, this.el, ['admiraltyChange', 'admiraltyBlur']);
833
- }
834
- };
835
- AdmiraltySelect.ɵfac = function AdmiraltySelect_Factory(t) { return new (t || AdmiraltySelect)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
836
- AdmiraltySelect.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltySelect, selectors: [["admiralty-select"]], inputs: { disabled: "disabled", error: "error", errorHint: "errorHint", hint: "hint", label: "label", value: "value", width: "width" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltySelect_Template(rf, ctx) { if (rf & 1) {
837
- i0.ɵɵprojectionDef();
838
- i0.ɵɵprojection(0);
839
- } }, encapsulation: 2, changeDetection: 0 });
840
- AdmiraltySelect = __decorate([
841
- ProxyCmp({
842
- inputs: ['disabled', 'error', 'errorHint', 'hint', 'label', 'value', 'width']
843
- })
844
- ], AdmiraltySelect);
845
- export { AdmiraltySelect };
846
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltySelect, [{
847
- type: Component,
848
- args: [{
849
- selector: 'admiralty-select',
850
- changeDetection: ChangeDetectionStrategy.OnPush,
851
- template: '<ng-content></ng-content>',
852
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
853
- inputs: ['disabled', 'error', 'errorHint', 'hint', 'label', 'value', 'width'],
854
- }]
855
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
856
- let AdmiraltySideNav = class AdmiraltySideNav {
857
- constructor(c, r, z) {
858
- this.z = z;
859
- c.detach();
860
- this.el = r.nativeElement;
861
- }
862
- };
863
- AdmiraltySideNav.ɵfac = function AdmiraltySideNav_Factory(t) { return new (t || AdmiraltySideNav)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
864
- AdmiraltySideNav.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltySideNav, selectors: [["admiralty-side-nav"]], inputs: { label: "label" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltySideNav_Template(rf, ctx) { if (rf & 1) {
865
- i0.ɵɵprojectionDef();
866
- i0.ɵɵprojection(0);
867
- } }, encapsulation: 2, changeDetection: 0 });
868
- AdmiraltySideNav = __decorate([
869
- ProxyCmp({
870
- inputs: ['label']
871
- })
872
- ], AdmiraltySideNav);
873
- export { AdmiraltySideNav };
874
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltySideNav, [{
875
- type: Component,
876
- args: [{
877
- selector: 'admiralty-side-nav',
878
- changeDetection: ChangeDetectionStrategy.OnPush,
879
- template: '<ng-content></ng-content>',
880
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
881
- inputs: ['label'],
882
- }]
883
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
884
- let AdmiraltySideNavItem = class AdmiraltySideNavItem {
885
- constructor(c, r, z) {
886
- this.z = z;
887
- c.detach();
888
- this.el = r.nativeElement;
889
- proxyOutputs(this, this.el, ['sideNavItemSelected']);
890
- }
891
- };
892
- AdmiraltySideNavItem.ɵfac = function AdmiraltySideNavItem_Factory(t) { return new (t || AdmiraltySideNavItem)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
893
- AdmiraltySideNavItem.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltySideNavItem, selectors: [["admiralty-side-nav-item"]], inputs: { headingTitle: "headingTitle", navActive: "navActive", sideNavItemId: "sideNavItemId" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltySideNavItem_Template(rf, ctx) { if (rf & 1) {
894
- i0.ɵɵprojectionDef();
895
- i0.ɵɵprojection(0);
896
- } }, encapsulation: 2, changeDetection: 0 });
897
- AdmiraltySideNavItem = __decorate([
898
- ProxyCmp({
899
- inputs: ['headingTitle', 'navActive', 'sideNavItemId']
900
- })
901
- ], AdmiraltySideNavItem);
902
- export { AdmiraltySideNavItem };
903
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltySideNavItem, [{
904
- type: Component,
905
- args: [{
906
- selector: 'admiralty-side-nav-item',
907
- changeDetection: ChangeDetectionStrategy.OnPush,
908
- template: '<ng-content></ng-content>',
909
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
910
- inputs: ['headingTitle', 'navActive', 'sideNavItemId'],
911
- }]
912
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
913
- let AdmiraltyTab = class AdmiraltyTab {
914
- constructor(c, r, z) {
915
- this.z = z;
916
- c.detach();
917
- this.el = r.nativeElement;
918
- }
919
- };
920
- AdmiraltyTab.ɵfac = function AdmiraltyTab_Factory(t) { return new (t || AdmiraltyTab)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
921
- AdmiraltyTab.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTab, selectors: [["admiralty-tab"]], inputs: { label: "label", tabContentId: "tabContentId", tabLabelId: "tabLabelId" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTab_Template(rf, ctx) { if (rf & 1) {
922
- i0.ɵɵprojectionDef();
923
- i0.ɵɵprojection(0);
924
- } }, encapsulation: 2, changeDetection: 0 });
925
- AdmiraltyTab = __decorate([
926
- ProxyCmp({
927
- inputs: ['label', 'tabContentId', 'tabLabelId']
928
- })
929
- ], AdmiraltyTab);
930
- export { AdmiraltyTab };
931
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTab, [{
932
- type: Component,
933
- args: [{
934
- selector: 'admiralty-tab',
935
- changeDetection: ChangeDetectionStrategy.OnPush,
936
- template: '<ng-content></ng-content>',
937
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
938
- inputs: ['label', 'tabContentId', 'tabLabelId'],
939
- }]
940
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
941
- let AdmiraltyTabGroup = class AdmiraltyTabGroup {
942
- constructor(c, r, z) {
943
- this.z = z;
944
- c.detach();
945
- this.el = r.nativeElement;
946
- proxyOutputs(this, this.el, ['admiraltyTabSelected']);
947
- }
948
- };
949
- AdmiraltyTabGroup.ɵfac = function AdmiraltyTabGroup_Factory(t) { return new (t || AdmiraltyTabGroup)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
950
- AdmiraltyTabGroup.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTabGroup, selectors: [["admiralty-tab-group"]], inputs: { selectedIndex: "selectedIndex" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTabGroup_Template(rf, ctx) { if (rf & 1) {
951
- i0.ɵɵprojectionDef();
952
- i0.ɵɵprojection(0);
953
- } }, encapsulation: 2, changeDetection: 0 });
954
- AdmiraltyTabGroup = __decorate([
955
- ProxyCmp({
956
- inputs: ['selectedIndex']
957
- })
958
- ], AdmiraltyTabGroup);
959
- export { AdmiraltyTabGroup };
960
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTabGroup, [{
961
- type: Component,
962
- args: [{
963
- selector: 'admiralty-tab-group',
964
- changeDetection: ChangeDetectionStrategy.OnPush,
965
- template: '<ng-content></ng-content>',
966
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
967
- inputs: ['selectedIndex'],
968
- }]
969
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
970
- let AdmiraltyTable = class AdmiraltyTable {
971
- constructor(c, r, z) {
972
- this.z = z;
973
- c.detach();
974
- this.el = r.nativeElement;
975
- }
976
- };
977
- AdmiraltyTable.ɵfac = function AdmiraltyTable_Factory(t) { return new (t || AdmiraltyTable)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
978
- AdmiraltyTable.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTable, selectors: [["admiralty-table"]], inputs: { caption: "caption" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTable_Template(rf, ctx) { if (rf & 1) {
979
- i0.ɵɵprojectionDef();
980
- i0.ɵɵprojection(0);
981
- } }, encapsulation: 2, changeDetection: 0 });
982
- AdmiraltyTable = __decorate([
983
- ProxyCmp({
984
- inputs: ['caption']
985
- })
986
- ], AdmiraltyTable);
987
- export { AdmiraltyTable };
988
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTable, [{
989
- type: Component,
990
- args: [{
991
- selector: 'admiralty-table',
992
- changeDetection: ChangeDetectionStrategy.OnPush,
993
- template: '<ng-content></ng-content>',
994
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
995
- inputs: ['caption'],
996
- }]
997
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
998
- let AdmiraltyTableBody = class AdmiraltyTableBody {
999
- constructor(c, r, z) {
1000
- this.z = z;
1001
- c.detach();
1002
- this.el = r.nativeElement;
1003
- }
1004
- };
1005
- AdmiraltyTableBody.ɵfac = function AdmiraltyTableBody_Factory(t) { return new (t || AdmiraltyTableBody)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
1006
- AdmiraltyTableBody.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTableBody, selectors: [["admiralty-table-body"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTableBody_Template(rf, ctx) { if (rf & 1) {
1007
- i0.ɵɵprojectionDef();
1008
- i0.ɵɵprojection(0);
1009
- } }, encapsulation: 2, changeDetection: 0 });
1010
- AdmiraltyTableBody = __decorate([
1011
- ProxyCmp({})
1012
- ], AdmiraltyTableBody);
1013
- export { AdmiraltyTableBody };
1014
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTableBody, [{
1015
- type: Component,
1016
- args: [{
1017
- selector: 'admiralty-table-body',
1018
- changeDetection: ChangeDetectionStrategy.OnPush,
1019
- template: '<ng-content></ng-content>',
1020
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1021
- inputs: [],
1022
- }]
1023
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
1024
- let AdmiraltyTableCell = class AdmiraltyTableCell {
1025
- constructor(c, r, z) {
1026
- this.z = z;
1027
- c.detach();
1028
- this.el = r.nativeElement;
1029
- }
1030
- };
1031
- AdmiraltyTableCell.ɵfac = function AdmiraltyTableCell_Factory(t) { return new (t || AdmiraltyTableCell)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
1032
- AdmiraltyTableCell.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTableCell, selectors: [["admiralty-table-cell"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTableCell_Template(rf, ctx) { if (rf & 1) {
1033
- i0.ɵɵprojectionDef();
1034
- i0.ɵɵprojection(0);
1035
- } }, encapsulation: 2, changeDetection: 0 });
1036
- AdmiraltyTableCell = __decorate([
1037
- ProxyCmp({})
1038
- ], AdmiraltyTableCell);
1039
- export { AdmiraltyTableCell };
1040
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTableCell, [{
1041
- type: Component,
1042
- args: [{
1043
- selector: 'admiralty-table-cell',
1044
- changeDetection: ChangeDetectionStrategy.OnPush,
1045
- template: '<ng-content></ng-content>',
1046
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1047
- inputs: [],
1048
- }]
1049
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
1050
- let AdmiraltyTableHeader = class AdmiraltyTableHeader {
1051
- constructor(c, r, z) {
1052
- this.z = z;
1053
- c.detach();
1054
- this.el = r.nativeElement;
1055
- }
1056
- };
1057
- AdmiraltyTableHeader.ɵfac = function AdmiraltyTableHeader_Factory(t) { return new (t || AdmiraltyTableHeader)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
1058
- AdmiraltyTableHeader.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTableHeader, selectors: [["admiralty-table-header"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTableHeader_Template(rf, ctx) { if (rf & 1) {
1059
- i0.ɵɵprojectionDef();
1060
- i0.ɵɵprojection(0);
1061
- } }, encapsulation: 2, changeDetection: 0 });
1062
- AdmiraltyTableHeader = __decorate([
1063
- ProxyCmp({})
1064
- ], AdmiraltyTableHeader);
1065
- export { AdmiraltyTableHeader };
1066
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTableHeader, [{
1067
- type: Component,
1068
- args: [{
1069
- selector: 'admiralty-table-header',
1070
- changeDetection: ChangeDetectionStrategy.OnPush,
1071
- template: '<ng-content></ng-content>',
1072
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1073
- inputs: [],
1074
- }]
1075
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
1076
- let AdmiraltyTableHeaderCell = class AdmiraltyTableHeaderCell {
1077
- constructor(c, r, z) {
1078
- this.z = z;
1079
- c.detach();
1080
- this.el = r.nativeElement;
1081
- }
1082
- };
1083
- AdmiraltyTableHeaderCell.ɵfac = function AdmiraltyTableHeaderCell_Factory(t) { return new (t || AdmiraltyTableHeaderCell)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
1084
- AdmiraltyTableHeaderCell.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTableHeaderCell, selectors: [["admiralty-table-header-cell"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTableHeaderCell_Template(rf, ctx) { if (rf & 1) {
1085
- i0.ɵɵprojectionDef();
1086
- i0.ɵɵprojection(0);
1087
- } }, encapsulation: 2, changeDetection: 0 });
1088
- AdmiraltyTableHeaderCell = __decorate([
1089
- ProxyCmp({})
1090
- ], AdmiraltyTableHeaderCell);
1091
- export { AdmiraltyTableHeaderCell };
1092
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTableHeaderCell, [{
1093
- type: Component,
1094
- args: [{
1095
- selector: 'admiralty-table-header-cell',
1096
- changeDetection: ChangeDetectionStrategy.OnPush,
1097
- template: '<ng-content></ng-content>',
1098
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1099
- inputs: [],
1100
- }]
1101
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
1102
- let AdmiraltyTableRow = class AdmiraltyTableRow {
1103
- constructor(c, r, z) {
1104
- this.z = z;
1105
- c.detach();
1106
- this.el = r.nativeElement;
1107
- }
1108
- };
1109
- AdmiraltyTableRow.ɵfac = function AdmiraltyTableRow_Factory(t) { return new (t || AdmiraltyTableRow)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
1110
- AdmiraltyTableRow.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTableRow, selectors: [["admiralty-table-row"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTableRow_Template(rf, ctx) { if (rf & 1) {
1111
- i0.ɵɵprojectionDef();
1112
- i0.ɵɵprojection(0);
1113
- } }, encapsulation: 2, changeDetection: 0 });
1114
- AdmiraltyTableRow = __decorate([
1115
- ProxyCmp({})
1116
- ], AdmiraltyTableRow);
1117
- export { AdmiraltyTableRow };
1118
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTableRow, [{
1119
- type: Component,
1120
- args: [{
1121
- selector: 'admiralty-table-row',
1122
- changeDetection: ChangeDetectionStrategy.OnPush,
1123
- template: '<ng-content></ng-content>',
1124
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1125
- inputs: [],
1126
- }]
1127
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
1128
- let AdmiraltyTextarea = class AdmiraltyTextarea {
1129
- constructor(c, r, z) {
1130
- this.z = z;
1131
- c.detach();
1132
- this.el = r.nativeElement;
1133
- proxyOutputs(this, this.el, ['textareaBlur', 'textareaChanged']);
1134
- }
1135
- };
1136
- AdmiraltyTextarea.ɵfac = function AdmiraltyTextarea_Factory(t) { return new (t || AdmiraltyTextarea)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
1137
- AdmiraltyTextarea.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTextarea, selectors: [["admiralty-textarea"]], inputs: { disabled: "disabled", hint: "hint", invalid: "invalid", invalidMessage: "invalidMessage", label: "label", maxLength: "maxLength", text: "text", width: "width" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTextarea_Template(rf, ctx) { if (rf & 1) {
1138
- i0.ɵɵprojectionDef();
1139
- i0.ɵɵprojection(0);
1140
- } }, encapsulation: 2, changeDetection: 0 });
1141
- AdmiraltyTextarea = __decorate([
1142
- ProxyCmp({
1143
- inputs: ['disabled', 'hint', 'invalid', 'invalidMessage', 'label', 'maxLength', 'text', 'width']
1144
- })
1145
- ], AdmiraltyTextarea);
1146
- export { AdmiraltyTextarea };
1147
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTextarea, [{
1148
- type: Component,
1149
- args: [{
1150
- selector: 'admiralty-textarea',
1151
- changeDetection: ChangeDetectionStrategy.OnPush,
1152
- template: '<ng-content></ng-content>',
1153
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1154
- inputs: ['disabled', 'hint', 'invalid', 'invalidMessage', 'label', 'maxLength', 'text', 'width'],
1155
- }]
1156
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
1157
- let AdmiraltyTypeAhead = class AdmiraltyTypeAhead {
1158
- constructor(c, r, z) {
1159
- this.z = z;
1160
- c.detach();
1161
- this.el = r.nativeElement;
1162
- proxyOutputs(this, this.el, ['selectionChanged', 'valueChanged']);
1163
- }
1164
- };
1165
- AdmiraltyTypeAhead.ɵfac = function AdmiraltyTypeAhead_Factory(t) { return new (t || AdmiraltyTypeAhead)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
1166
- AdmiraltyTypeAhead.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTypeAhead, selectors: [["admiralty-type-ahead"]], inputs: { hint: "hint", label: "label", placeholder: "placeholder", resultsOnInitFocus: "resultsOnInitFocus", value: "value" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTypeAhead_Template(rf, ctx) { if (rf & 1) {
1167
- i0.ɵɵprojectionDef();
1168
- i0.ɵɵprojection(0);
1169
- } }, encapsulation: 2, changeDetection: 0 });
1170
- AdmiraltyTypeAhead = __decorate([
1171
- ProxyCmp({
1172
- inputs: ['hint', 'label', 'placeholder', 'resultsOnInitFocus', 'value']
1173
- })
1174
- ], AdmiraltyTypeAhead);
1175
- export { AdmiraltyTypeAhead };
1176
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTypeAhead, [{
1177
- type: Component,
1178
- args: [{
1179
- selector: 'admiralty-type-ahead',
1180
- changeDetection: ChangeDetectionStrategy.OnPush,
1181
- template: '<ng-content></ng-content>',
1182
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1183
- inputs: ['hint', 'label', 'placeholder', 'resultsOnInitFocus', 'value'],
1184
- }]
1185
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
1186
- let AdmiraltyTypeAheadItem = class AdmiraltyTypeAheadItem {
1187
- constructor(c, r, z) {
1188
- this.z = z;
1189
- c.detach();
1190
- this.el = r.nativeElement;
1191
- }
1192
- };
1193
- AdmiraltyTypeAheadItem.ɵfac = function AdmiraltyTypeAheadItem_Factory(t) { return new (t || AdmiraltyTypeAheadItem)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
1194
- AdmiraltyTypeAheadItem.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdmiraltyTypeAheadItem, selectors: [["admiralty-type-ahead-item"]], inputs: { value: "value" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AdmiraltyTypeAheadItem_Template(rf, ctx) { if (rf & 1) {
1195
- i0.ɵɵprojectionDef();
1196
- i0.ɵɵprojection(0);
1197
- } }, encapsulation: 2, changeDetection: 0 });
1198
- AdmiraltyTypeAheadItem = __decorate([
1199
- ProxyCmp({
1200
- inputs: ['value']
1201
- })
1202
- ], AdmiraltyTypeAheadItem);
1203
- export { AdmiraltyTypeAheadItem };
1204
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdmiraltyTypeAheadItem, [{
1205
- type: Component,
1206
- args: [{
1207
- selector: 'admiralty-type-ahead-item',
1208
- changeDetection: ChangeDetectionStrategy.OnPush,
1209
- template: '<ng-content></ng-content>',
1210
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1211
- inputs: ['value'],
1212
- }]
1213
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, null); })();
1214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc3RlbmNpbC1nZW5lcmF0ZWQvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBZWhFLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW1CO0lBRTlCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O3NGQUxVLG1CQUFtQjtzRUFBbkIsbUJBQW1COztRQUpuQixrQkFBeUI7O0FBSXpCLG1CQUFtQjtJQVYvQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0tBQzNCLENBQUM7R0FRVyxtQkFBbUIsQ0FNL0I7U0FOWSxtQkFBbUI7dUZBQW5CLG1CQUFtQjtjQVAvQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLHVFQUF1RTtnQkFDdkUsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzthQUMzQjs7QUFzQk0sSUFBTSxvQkFBb0IsR0FBMUIsTUFBTSxvQkFBb0I7SUFFL0IsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENB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c0JBQXNCO3lFQUF0QixzQkFBc0I7O1FBSnRCLGtCQUF5Qjs7QUFJekIsc0JBQXNCO0lBVmxDLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQztLQUNsQixDQUFDO0dBUVcsc0JBQXNCLENBTWxDO1NBTlksc0JBQXNCO3VGQUF0QixzQkFBc0I7Y0FQbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyx1RUFBdUU7Z0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNsQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0B1a2hvL2FkbWlyYWx0eS1jb3JlJztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2hyZWYnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1icmVhZGNydW1iJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnaHJlZiddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlCcmVhZGNydW1iIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5QnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5QnJlYWRjcnVtYiB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LWJyZWFkY3J1bWJzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUJyZWFkY3J1bWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5QnJlYWRjcnVtYnMgZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eUJyZWFkY3J1bWJzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ljb24nLCAndHlwZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpY29uJywgJ3R5cGUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eUJ1dHRvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZyddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5Q2FyZCBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5Q2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2JveFJpZ2h0JywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbGFiZWxUZXh0JywgJ25hbWUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tib3hSaWdodCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsVGV4dCcsICduYW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUNoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWRtaXJhbHR5Q2hhbmdlJywgJ2NoZWNrYm94Rm9jdXMnLCAnY2hlY2tib3hCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDaGVja2JveENoYW5nZUV2ZW50RGV0YWlsIGFzIElBZG1pcmFsdHlDaGVja2JveENoZWNrYm94Q2hhbmdlRXZlbnREZXRhaWwgfSBmcm9tICdAdWtoby9hZG1pcmFsdHktY29yZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlDaGVja2JveCBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5Q2hlY2tib3gge1xuICAvKipcbiAgICogRXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgZm9ybSBjb250cm9sIGNoYW5nZXMgc3RhdGUgQGV2ZW50IGFkbWlyYWx0eUNoYW5nZVxuICAgKi9cbiAgYWRtaXJhbHR5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUFkbWlyYWx0eUNoZWNrYm94Q2hlY2tib3hDaGFuZ2VFdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgZm9ybSBjb250cm9sIGdhaW5zIGZvY3VzIEBldmVudCBjaGVja2JveEZvY3VzXG4gICAqL1xuICBjaGVja2JveEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBFdmVudCBpcyBmaXJlZCB3aGVuIHRoZSBmb3JtIGNvbnRyb2wgbG9zZXMgZm9jdXMgQGV2ZW50IGNoZWNrYm94Qmx1clxuICAgKi9cbiAgY2hlY2tib3hCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGlvblRleHQnLCAnY2xpY2tBY3Rpb24nLCAnY29sb3VyJywgJ2hlYWRpbmcnLCAnaGVpZ2h0JywgJ3dpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktY29sb3VyLWJsb2NrJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3Rpb25UZXh0JywgJ2NsaWNrQWN0aW9uJywgJ2NvbG91cicsICdoZWFkaW5nJywgJ2hlaWdodCcsICd3aWR0aCddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlDb2xvdXJCbG9jayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eUNvbG91ckJsb2NrIGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlDb2xvdXJCbG9jayB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1kaWFsb2d1ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZycsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eURpYWxvZ3VlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5RGlhbG9ndWUgZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eURpYWxvZ3VlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsaWduSGVhZGluZ1JpZ2h0JywgJ2V4cGFuZGVkJywgJ2hlYWRpbmcnLCAnaGlkZUJvcmRlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LWV4cGFuc2lvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxpZ25IZWFkaW5nUmlnaHQnLCAnZXhwYW5kZWQnLCAnaGVhZGluZycsICdoaWRlQm9yZGVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUV4cGFuc2lvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RvZ2dsZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5RXhwYW5zaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlFeHBhbnNpb24ge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZGlzcGF0Y2hlZCB3aGVuIHRoZSBleHBhbmRlZCBzdGF0dXMgaXMgdG9nZ2xlZC5cbiAgICovXG4gIHRvZ2dsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ211bHRpcGxlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktZmlsZS1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnLCAnbXVsdGlwbGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5RmlsZUlucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZmlsZUlucHV0Q2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eUZpbGVJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5RmlsZUlucHV0IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYWRkZWQgZmlsZShzKSBjaGFuZ2VzXG4gICAqL1xuICBmaWxlSW5wdXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGaWxlW10+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZmlsdGVyVGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1maWx0ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ZpbHRlclRpdGxlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUZpbHRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ZpbHRlckNsZWFyZWQnLCAnZmlsdGVyQXBwbGllZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlGaWx0ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eUZpbHRlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgZmlsdGVycyBhcmUgY2xlYXJlZFxuICAgKi9cbiAgZmlsdGVyQ2xlYXJlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBmaWx0ZXJzIGFyZSBhcHBsaWVkXG4gICAqL1xuICBmaWx0ZXJBcHBsaWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydncm91cFRpdGxlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktZmlsdGVyLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydncm91cFRpdGxlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUZpbHRlckdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5RmlsdGVyR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eUZpbHRlckdyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ltYWdlQWx0JywgJ2ltYWdlTGluaycsICdpbWFnZVNyYycsICd0ZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbWFnZUFsdCcsICdpbWFnZUxpbmsnLCAnaW1hZ2VTcmMnLCAndGV4dCddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eUZvb3RlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkZXJUaXRsZScsICdoZWFkZXJUaXRsZVVybCcsICdsb2dvQWx0VGV4dCcsICdsb2dvSW1nVXJsJywgJ2xvZ29MaW5rVXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkZXJUaXRsZScsICdoZWFkZXJUaXRsZVVybCcsICdsb2dvQWx0VGV4dCcsICdsb2dvSW1nVXJsJywgJ2xvZ29MaW5rVXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RpdGxlZENsaWNrZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5SGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlIZWFkZXIge1xuICAvKipcbiAgICogRW1pdHMgYW4gZXZlbnQgdGhhdCBjYW4gYmUgbGlzdGVuZWQgdG8gd2hlbiB0aGUgdGl0bGUgaW4gdGhlIGhlYWRlciBpcyBjbGlja2VkXG4gICAqL1xuICB0aXRsZWRDbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdtZW51VGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1oZWFkZXItbWVudS1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnbWVudVRpdGxlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUhlYWRlck1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnbWVudUl0ZW1DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlIZWFkZXJNZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5SGVhZGVyTWVudUl0ZW0ge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZmlyZWQgd2hlbiBhIHVzZXIgY2xpY2tzIG9uIHRoZSBtZW51XG4gICAqL1xuICBtZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpc1NpZ25lZEluJywgJ3NpZ25lZEluVGV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LWhlYWRlci1wcm9maWxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpc1NpZ25lZEluJywgJ3NpZ25lZEluVGV4dCddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlIZWFkZXJQcm9maWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2lnbkluQ2xpY2tlZCcsICd5b3VyQWNjb3VudENsaWNrZWQnLCAnc2lnbk91dENsaWNrZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5SGVhZGVyUHJvZmlsZSBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5SGVhZGVyUHJvZmlsZSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvblxudGhlIHNpZ24gaW4gYnV0dG9uXG4gICAqL1xuICBzaWduSW5DbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhlXG4nWW91ciBhY2NvdW50JyBidXR0b25cbiAgICovXG4gIHlvdXJBY2NvdW50Q2xpY2tlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoZVxuJ3NpZ24gb3V0JyBidXR0b25cbiAgICovXG4gIHNpZ25PdXRDbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydtZW51VGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1oZWFkZXItc3ViLW1lbnUtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbWVudVRpdGxlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUhlYWRlclN1Yk1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3ViTWVudUl0ZW1DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlIZWFkZXJTdWJNZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5SGVhZGVyU3ViTWVudUl0ZW0ge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZmlyZWQgd2hlbiBhIHVzZXIgY2xpY2tzIG9uIHRoZSBtZW51XG4gICAqL1xuICBzdWJNZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LWhpbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUhpbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlIaW50IGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlIaW50IHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktaHInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5SHIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlIciBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5SHIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWNvbk5hbWUnLCAnaWNvblByZWZpeCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ljb25OYW1lJywgJ2ljb25QcmVmaXgnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eUljb24gZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eUljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2NvbXBsZXRlJywgJ2Rpc2FibGVkJywgJ2hpbnQnLCAnaW52YWxpZCcsICdpbnZhbGlkTWVzc2FnZScsICdsYWJlbCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlcXVpcmVkJywgJ3R5cGUnLCAndmFsdWUnLCAnd2lkdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2NvbXBsZXRlJywgJ2Rpc2FibGVkJywgJ2hpbnQnLCAnaW52YWxpZCcsICdpbnZhbGlkTWVzc2FnZScsICdsYWJlbCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlcXVpcmVkJywgJ3R5cGUnLCAndmFsdWUnLCAnd2lkdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5SW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydhZG1pcmFsdHlDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IElucHV0Q2hhbmdlRXZlbnREZXRhaWwgYXMgSUFkbWlyYWx0eUlucHV0SW5wdXRDaGFuZ2VFdmVudERldGFpbCB9IGZyb20gJ0B1a2hvL2FkbWlyYWx0eS1jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eUlucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlJbnB1dCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgYWRtaXJhbHR5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUFkbWlyYWx0eUlucHV0SW5wdXRDaGFuZ2VFdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LWlucHV0LWVycm9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eUlucHV0RXJyb3Ige1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlJbnB1dEVycm9yIGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlJbnB1dEVycm9yIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ZvciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3InXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5TGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5TGFiZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaHJlZicsICduZXdUYWInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1saW5rJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydocmVmJywgJ25ld1RhYiddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlMaW5rIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5TGluayBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5TGluayB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjdXJyZW50UGFnZScsICdsYWJlbCcsICdwYWdlcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LXBhZ2luYXRvcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VycmVudFBhZ2UnLCAnbGFiZWwnLCAncGFnZXMnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5UGFnaW5hdG9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncGFnZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlQYWdpbmF0b3IgZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eVBhZ2luYXRvciB7XG4gIC8qKlxuICAgKiBEaXNwYXRjaGVkIHdoZW4gdGhlIHByZXZpb3VzIG9yIG5leHQgYnV0dG9uIGlzIHByZXNzZWQuIFRoZSBldmVudCBkZXRhaWwgY29udGFpbnNcbnRoZSByZXF1ZXN0ZWQgcGFnZSBudW1iZXIuXG4gICAqL1xuICBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xpbmsnLCAncGhhc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1waGFzZS1iYW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xpbmsnLCAncGhhc2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5UGhhc2VCYW5uZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlQaGFzZUJhbm5lciBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5UGhhc2VCYW5uZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXJyb3InLCAnbGFiZWwnLCAncHJvZ3Jlc3Npb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1wcm9ncmVzcy1iYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Vycm9yJywgJ2xhYmVsJywgJ3Byb2dyZXNzaW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eVByb2dyZXNzQmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5UHJvZ3Jlc3NCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eVByb2dyZXNzQmFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ25hbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5UmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydhZG1pcmFsdHlGb2N1cycsICdhZG1pcmFsdHlCbHVyJywgJ2FkbWlyYWx0eUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlSYWRpbyBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5UmFkaW8ge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSByYWRpbyBidXR0b24gZ2FpbnMgZm9jdXMuXG4gICAqL1xuICBhZG1pcmFsdHlGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcmFkaW8gYnV0dG9uIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgYWRtaXJhbHR5Qmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcmFkaW8gaXMgc2VsZWN0ZWRcbiAgICovXG4gIGFkbWlyYWx0eUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzcGxheVZlcnRpY2FsJywgJ25hbWUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1yYWRpby1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzcGxheVZlcnRpY2FsJywgJ25hbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5UmFkaW9Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2FkbWlyYWx0eUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgUmFkaW9Hcm91cENoYW5nZUV2ZW50RGV0YWlsIGFzIElBZG1pcmFsdHlSYWRpb0dyb3VwUmFkaW9Hcm91cENoYW5nZUV2ZW50RGV0YWlsIH0gZnJvbSAnQHVraG8vYWRtaXJhbHR5LWNvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5UmFkaW9Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5UmFkaW9Hcm91cCB7XG4gIC8qKlxuICAgKiBFdmVudCBmaXJlZCB3aGVuIHRoZSBjaGVja2VkIHJhZGlvIGJ1dHRvbiBjaGFuZ2VzXG4gICAqL1xuICBhZG1pcmFsdHlDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQWRtaXJhbHR5UmFkaW9Hcm91cFJhZGlvR3JvdXBDaGFuZ2VFdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktcmVhZC1tb3JlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eVJlYWRNb3JlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWRtaXJhbHR5VG9nZ2xlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlSZWFkTW9yZSBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5UmVhZE1vcmUge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZGlzcGF0Y2hlZCB3aGVuIHRoZSBleHBhbmRlZCBzdGF0dXMgaXMgdG9nZ2xlZC5cbiAgICovXG4gIGFkbWlyYWx0eVRvZ2dsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9ySGludCcsICdoaW50JywgJ2xhYmVsJywgJ3ZhbHVlJywgJ3dpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckhpbnQnLCAnaGludCcsICdsYWJlbCcsICd2YWx1ZScsICd3aWR0aCddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlTZWxlY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydhZG1pcmFsdHlDaGFuZ2UnLCAnYWRtaXJhbHR5Qmx1ciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU2VsZWN0Q2hhbmdlRXZlbnREZXRhaWwgYXMgSUFkbWlyYWx0eVNlbGVjdFNlbGVjdENoYW5nZUV2ZW50RGV0YWlsIH0gZnJvbSAnQHVraG8vYWRtaXJhbHR5LWNvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5U2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlTZWxlY3Qge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZC5cbiAgICovXG4gIGFkbWlyYWx0eUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElBZG1pcmFsdHlTZWxlY3RTZWxlY3RDaGFuZ2VFdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb21wb25lbnQgbG9zZXMgZm9jdXMuXG4gICAqL1xuICBhZG1pcmFsdHlCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LXNpZGUtbmF2JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYWJlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlTaWRlTmF2IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5U2lkZU5hdiBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5U2lkZU5hdiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nVGl0bGUnLCAnbmF2QWN0aXZlJywgJ3NpZGVOYXZJdGVtSWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS1zaWRlLW5hdi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkaW5nVGl0bGUnLCAnbmF2QWN0aXZlJywgJ3NpZGVOYXZJdGVtSWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5U2lkZU5hdkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaWRlTmF2SXRlbVNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eVNpZGVOYXZJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlTaWRlTmF2SXRlbSB7XG4gIC8qKlxuICAgKiBBbiBldmVudCBlbWl0dGVkIHdoZW4gdGhpcyBTaWRlIE5hdiBpdGVtIGlzIHNlbGVjdGVkIGNvbnRhaW5pbmcgdGhlIHNpZGVOYXZJdGVtSWRcbiAgICovXG4gIHNpZGVOYXZJdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFiZWwnLCAndGFiQ29udGVudElkJywgJ3RhYkxhYmVsSWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3RhYkNvbnRlbnRJZCcsICd0YWJMYWJlbElkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eVRhYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eVRhYiBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5VGFiIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkSW5kZXgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS10YWItZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkSW5kZXgnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5VGFiR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydhZG1pcmFsdHlUYWJTZWxlY3RlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlUYWJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5VGFiR3JvdXAge1xuXG4gIGFkbWlyYWx0eVRhYlNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NhcHRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS10YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FwdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eVRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlUYWJsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LXRhYmxlLWJvZHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5VGFibGVCb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5VGFibGVCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlUYWJsZUJvZHkge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS10YWJsZS1jZWxsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eVRhYmxlQ2VsbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eVRhYmxlQ2VsbCBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5VGFibGVDZWxsIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktdGFibGUtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eVRhYmxlSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5VGFibGVIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eVRhYmxlSGVhZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktdGFibGUtaGVhZGVyLWNlbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5VGFibGVIZWFkZXJDZWxsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5VGFibGVIZWFkZXJDZWxsIGV4dGVuZHMgQ29tcG9uZW50cy5BZG1pcmFsdHlUYWJsZUhlYWRlckNlbGwge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FkbWlyYWx0eS10YWJsZS1yb3cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5VGFibGVSb3cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBZG1pcmFsdHlUYWJsZVJvdyBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5VGFibGVSb3cge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGludCcsICdpbnZhbGlkJywgJ2ludmFsaWRNZXNzYWdlJywgJ2xhYmVsJywgJ21heExlbmd0aCcsICd0ZXh0JywgJ3dpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZG1pcmFsdHktdGV4dGFyZWEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hpbnQnLCAnaW52YWxpZCcsICdpbnZhbGlkTWVzc2FnZScsICdsYWJlbCcsICdtYXhMZW5ndGgnLCAndGV4dCcsICd3aWR0aCddLFxufSlcbmV4cG9ydCBjbGFzcyBBZG1pcmFsdHlUZXh0YXJlYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RleHRhcmVhQmx1cicsICd0ZXh0YXJlYUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQWRtaXJhbHR5VGV4dGFyZWEgZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eVRleHRhcmVhIHtcbiAgLyoqXG4gICAqIEV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIGZvcm0gY29udHJvbCBsb3NlcyBmb2N1cyBAZXZlbnQgdGV4dGFyZWFCbHVyXG4gICAqL1xuICB0ZXh0YXJlYUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIGZvcm0gY29udHJvbCBjaGFuZ2VzIEBldmVudCB0ZXh0YXJlYUNoYW5nZWRcbiAgICovXG4gIHRleHRhcmVhQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaW50JywgJ2xhYmVsJywgJ3BsYWNlaG9sZGVyJywgJ3Jlc3VsdHNPbkluaXRGb2N1cycsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LXR5cGUtYWhlYWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpbnQnLCAnbGFiZWwnLCAncGxhY2Vob2xkZXInLCAncmVzdWx0c09uSW5pdEZvY3VzJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkbWlyYWx0eVR5cGVBaGVhZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NlbGVjdGlvbkNoYW5nZWQnLCAndmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eVR5cGVBaGVhZCBleHRlbmRzIENvbXBvbmVudHMuQWRtaXJhbHR5VHlwZUFoZWFkIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSB1c2VyIHNlbGVjdHMgYW4gaXRlbSBmcm9tIHRoZSB0eXBlYWhlYWRcbiAgICovXG4gIHNlbGVjdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgZmlyZWQgd2hlbmV2ZXIgdGhlIHZhbHVlIG9mIHRoZSB0eXBlYWhlYWQgY2hhbmdlc1xuZS5nLiBzZWxlY3Rpb24gZnJvbSB0aGUgZHJvcGRvd24gb3IgbWFudWFsbHkgdHlwZWQgZW50cnlcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRtaXJhbHR5LXR5cGUtYWhlYWQtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRtaXJhbHR5VHlwZUFoZWFkSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFkbWlyYWx0eVR5cGVBaGVhZEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkFkbWlyYWx0eVR5cGVBaGVhZEl0ZW0ge31cblxuXG4iXX0=