@biggive/components-angular 1.0.6 → 1.0.92

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.
@@ -3,6 +3,7 @@ import { __decorate } from "tslib";
3
3
  /* auto-generated angular directive proxies */
4
4
  import { ChangeDetectionStrategy, Component } from '@angular/core';
5
5
  import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
6
+ import { defineCustomElement as defineBiggiveArticleCard } from '@biggive/components/dist/components/biggive-article-card.js';
6
7
  import { defineCustomElement as defineBiggiveBackToTop } from '@biggive/components/dist/components/biggive-back-to-top.js';
7
8
  import { defineCustomElement as defineBiggiveBasicCard } from '@biggive/components/dist/components/biggive-basic-card.js';
8
9
  import { defineCustomElement as defineBiggiveBeneficiaryIcon } from '@biggive/components/dist/components/biggive-beneficiary-icon.js';
@@ -40,6 +41,31 @@ import { defineCustomElement as defineBiggiveTotalizer } from '@biggive/componen
40
41
  import { defineCustomElement as defineBiggiveVideo } from '@biggive/components/dist/components/biggive-video.js';
41
42
  import { defineCustomElement as defineBiggiveVideoFeature } from '@biggive/components/dist/components/biggive-video-feature.js';
42
43
  import * as i0 from "@angular/core";
44
+ let BiggiveArticleCard = class BiggiveArticleCard {
45
+ constructor(c, r, z) {
46
+ this.z = z;
47
+ c.detach();
48
+ this.el = r.nativeElement;
49
+ }
50
+ };
51
+ BiggiveArticleCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveArticleCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
52
+ BiggiveArticleCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveArticleCard, selector: "biggive-article-card", inputs: { backgroundColour: "backgroundColour", backgroundColourHover: "backgroundColourHover", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", date: "date", imageLabel: "imageLabel", imageUrl: "imageUrl", mainTitle: "mainTitle", slug: "slug", spaceBelow: "spaceBelow", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
+ BiggiveArticleCard = __decorate([
54
+ ProxyCmp({
55
+ defineCustomElementFn: defineBiggiveArticleCard,
56
+ inputs: ['backgroundColour', 'backgroundColourHover', 'buttonLabel', 'buttonUrl', 'date', 'imageLabel', 'imageUrl', 'mainTitle', 'slug', 'spaceBelow', 'textColour']
57
+ })
58
+ ], BiggiveArticleCard);
59
+ export { BiggiveArticleCard };
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveArticleCard, decorators: [{
61
+ type: Component,
62
+ args: [{
63
+ selector: 'biggive-article-card',
64
+ changeDetection: ChangeDetectionStrategy.OnPush,
65
+ template: '<ng-content></ng-content>',
66
+ inputs: ['backgroundColour', 'backgroundColourHover', 'buttonLabel', 'buttonUrl', 'date', 'imageLabel', 'imageUrl', 'mainTitle', 'slug', 'spaceBelow', 'textColour']
67
+ }]
68
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
43
69
  let BiggiveBackToTop = class BiggiveBackToTop {
44
70
  constructor(c, r, z) {
45
71
  this.z = z;
@@ -47,15 +73,15 @@ let BiggiveBackToTop = class BiggiveBackToTop {
47
73
  this.el = r.nativeElement;
48
74
  }
49
75
  };
50
- BiggiveBackToTop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBackToTop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
51
- BiggiveBackToTop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveBackToTop, selector: "biggive-back-to-top", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
76
+ BiggiveBackToTop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBackToTop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
77
+ BiggiveBackToTop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveBackToTop, selector: "biggive-back-to-top", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
78
  BiggiveBackToTop = __decorate([
53
79
  ProxyCmp({
54
80
  defineCustomElementFn: defineBiggiveBackToTop
55
81
  })
56
82
  ], BiggiveBackToTop);
57
83
  export { BiggiveBackToTop };
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBackToTop, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBackToTop, decorators: [{
59
85
  type: Component,
60
86
  args: [{
61
87
  selector: 'biggive-back-to-top',
@@ -70,22 +96,22 @@ let BiggiveBasicCard = class BiggiveBasicCard {
70
96
  this.el = r.nativeElement;
71
97
  }
72
98
  };
73
- BiggiveBasicCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBasicCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
74
- BiggiveBasicCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveBasicCard, selector: "biggive-basic-card", inputs: { backgroundColour: "backgroundColour", backgroundImageUrl: "backgroundImageUrl", buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", iconColour: "iconColour", mainTitle: "mainTitle", spaceBelow: "spaceBelow", subtitle: "subtitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
99
+ BiggiveBasicCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBasicCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
100
+ BiggiveBasicCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveBasicCard, selector: "biggive-basic-card", inputs: { backgroundColour: "backgroundColour", backgroundImageUrl: "backgroundImageUrl", buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", cardColour: "cardColour", iconColour: "iconColour", mainTitle: "mainTitle", spaceBelow: "spaceBelow", subtitle: "subtitle", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
101
  BiggiveBasicCard = __decorate([
76
102
  ProxyCmp({
77
103
  defineCustomElementFn: defineBiggiveBasicCard,
78
- inputs: ['backgroundColour', 'backgroundImageUrl', 'buttonColourScheme', 'buttonLabel', 'buttonUrl', 'iconColour', 'mainTitle', 'spaceBelow', 'subtitle']
104
+ inputs: ['backgroundColour', 'backgroundImageUrl', 'buttonColourScheme', 'buttonLabel', 'buttonUrl', 'cardColour', 'iconColour', 'mainTitle', 'spaceBelow', 'subtitle', 'textColour']
79
105
  })
80
106
  ], BiggiveBasicCard);
81
107
  export { BiggiveBasicCard };
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBasicCard, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBasicCard, decorators: [{
83
109
  type: Component,
84
110
  args: [{
85
111
  selector: 'biggive-basic-card',
86
112
  changeDetection: ChangeDetectionStrategy.OnPush,
87
113
  template: '<ng-content></ng-content>',
88
- inputs: ['backgroundColour', 'backgroundImageUrl', 'buttonColourScheme', 'buttonLabel', 'buttonUrl', 'iconColour', 'mainTitle', 'spaceBelow', 'subtitle']
114
+ inputs: ['backgroundColour', 'backgroundImageUrl', 'buttonColourScheme', 'buttonLabel', 'buttonUrl', 'cardColour', 'iconColour', 'mainTitle', 'spaceBelow', 'subtitle', 'textColour']
89
115
  }]
90
116
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
91
117
  let BiggiveBeneficiaryIcon = class BiggiveBeneficiaryIcon {
@@ -95,8 +121,8 @@ let BiggiveBeneficiaryIcon = class BiggiveBeneficiaryIcon {
95
121
  this.el = r.nativeElement;
96
122
  }
97
123
  };
98
- BiggiveBeneficiaryIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBeneficiaryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
99
- BiggiveBeneficiaryIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveBeneficiaryIcon, selector: "biggive-beneficiary-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
124
+ BiggiveBeneficiaryIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBeneficiaryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
125
+ BiggiveBeneficiaryIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveBeneficiaryIcon, selector: "biggive-beneficiary-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
126
  BiggiveBeneficiaryIcon = __decorate([
101
127
  ProxyCmp({
102
128
  defineCustomElementFn: defineBiggiveBeneficiaryIcon,
@@ -104,7 +130,7 @@ BiggiveBeneficiaryIcon = __decorate([
104
130
  })
105
131
  ], BiggiveBeneficiaryIcon);
106
132
  export { BiggiveBeneficiaryIcon };
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBeneficiaryIcon, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBeneficiaryIcon, decorators: [{
108
134
  type: Component,
109
135
  args: [{
110
136
  selector: 'biggive-beneficiary-icon',
@@ -120,8 +146,8 @@ let BiggiveBoxedContent = class BiggiveBoxedContent {
120
146
  this.el = r.nativeElement;
121
147
  }
122
148
  };
123
- BiggiveBoxedContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBoxedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
124
- BiggiveBoxedContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveBoxedContent, selector: "biggive-boxed-content", inputs: { backgroundColour: "backgroundColour", horizontalPadding: "horizontalPadding", shadow: "shadow", spaceBelow: "spaceBelow", verticalPadding: "verticalPadding" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
149
+ BiggiveBoxedContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBoxedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
150
+ BiggiveBoxedContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveBoxedContent, selector: "biggive-boxed-content", inputs: { backgroundColour: "backgroundColour", horizontalPadding: "horizontalPadding", shadow: "shadow", spaceBelow: "spaceBelow", verticalPadding: "verticalPadding" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
151
  BiggiveBoxedContent = __decorate([
126
152
  ProxyCmp({
127
153
  defineCustomElementFn: defineBiggiveBoxedContent,
@@ -129,7 +155,7 @@ BiggiveBoxedContent = __decorate([
129
155
  })
130
156
  ], BiggiveBoxedContent);
131
157
  export { BiggiveBoxedContent };
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBoxedContent, decorators: [{
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBoxedContent, decorators: [{
133
159
  type: Component,
134
160
  args: [{
135
161
  selector: 'biggive-boxed-content',
@@ -145,8 +171,8 @@ let BiggiveBrandedImage = class BiggiveBrandedImage {
145
171
  this.el = r.nativeElement;
146
172
  }
147
173
  };
148
- BiggiveBrandedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBrandedImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
149
- BiggiveBrandedImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveBrandedImage, selector: "biggive-branded-image", inputs: { imageUrl: "imageUrl", logoUrl: "logoUrl", slug: "slug", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
174
+ BiggiveBrandedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBrandedImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
175
+ BiggiveBrandedImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveBrandedImage, selector: "biggive-branded-image", inputs: { imageUrl: "imageUrl", logoUrl: "logoUrl", slug: "slug", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
150
176
  BiggiveBrandedImage = __decorate([
151
177
  ProxyCmp({
152
178
  defineCustomElementFn: defineBiggiveBrandedImage,
@@ -154,7 +180,7 @@ BiggiveBrandedImage = __decorate([
154
180
  })
155
181
  ], BiggiveBrandedImage);
156
182
  export { BiggiveBrandedImage };
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveBrandedImage, decorators: [{
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveBrandedImage, decorators: [{
158
184
  type: Component,
159
185
  args: [{
160
186
  selector: 'biggive-branded-image',
@@ -170,22 +196,22 @@ let BiggiveButton = class BiggiveButton {
170
196
  this.el = r.nativeElement;
171
197
  }
172
198
  };
173
- BiggiveButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
174
- BiggiveButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveButton, selector: "biggive-button", inputs: { colourScheme: "colourScheme", fullWidth: "fullWidth", label: "label", spaceBelow: "spaceBelow", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
+ BiggiveButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
200
+ BiggiveButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveButton, selector: "biggive-button", inputs: { colourScheme: "colourScheme", fullWidth: "fullWidth", label: "label", rounded: "rounded", size: "size", spaceBelow: "spaceBelow", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
175
201
  BiggiveButton = __decorate([
176
202
  ProxyCmp({
177
203
  defineCustomElementFn: defineBiggiveButton,
178
- inputs: ['colourScheme', 'fullWidth', 'label', 'spaceBelow', 'url']
204
+ inputs: ['colourScheme', 'fullWidth', 'label', 'rounded', 'size', 'spaceBelow', 'url']
179
205
  })
180
206
  ], BiggiveButton);
181
207
  export { BiggiveButton };
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveButton, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveButton, decorators: [{
183
209
  type: Component,
184
210
  args: [{
185
211
  selector: 'biggive-button',
186
212
  changeDetection: ChangeDetectionStrategy.OnPush,
187
213
  template: '<ng-content></ng-content>',
188
- inputs: ['colourScheme', 'fullWidth', 'label', 'spaceBelow', 'url']
214
+ inputs: ['colourScheme', 'fullWidth', 'label', 'rounded', 'size', 'spaceBelow', 'url']
189
215
  }]
190
216
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
191
217
  let BiggiveCallToAction = class BiggiveCallToAction {
@@ -195,22 +221,22 @@ let BiggiveCallToAction = class BiggiveCallToAction {
195
221
  this.el = r.nativeElement;
196
222
  }
197
223
  };
198
- BiggiveCallToAction.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCallToAction, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
199
- BiggiveCallToAction.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveCallToAction, selector: "biggive-call-to-action", inputs: { defaultTextColour: "defaultTextColour", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", primaryButtonColourScheme: "primaryButtonColourScheme", primaryButtonLabel: "primaryButtonLabel", primaryButtonUrl: "primaryButtonUrl", secondaryButtonColourScheme: "secondaryButtonColourScheme", secondaryButtonLabel: "secondaryButtonLabel", secondaryButtonUrl: "secondaryButtonUrl", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", subtitle: "subtitle", subtitleColour: "subtitleColour", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
224
+ BiggiveCallToAction.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCallToAction, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
225
+ BiggiveCallToAction.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveCallToAction, selector: "biggive-call-to-action", inputs: { defaultTextColour: "defaultTextColour", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", mainTitleSize: "mainTitleSize", primaryButtonColourScheme: "primaryButtonColourScheme", primaryButtonLabel: "primaryButtonLabel", primaryButtonUrl: "primaryButtonUrl", secondaryButtonColourScheme: "secondaryButtonColourScheme", secondaryButtonLabel: "secondaryButtonLabel", secondaryButtonUrl: "secondaryButtonUrl", slug: "slug", slugColour: "slugColour", slugSize: "slugSize", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", subtitle: "subtitle", subtitleColour: "subtitleColour", subtitleSize: "subtitleSize", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
200
226
  BiggiveCallToAction = __decorate([
201
227
  ProxyCmp({
202
228
  defineCustomElementFn: defineBiggiveCallToAction,
203
- inputs: ['defaultTextColour', 'mainTitle', 'mainTitleColour', 'primaryButtonColourScheme', 'primaryButtonLabel', 'primaryButtonUrl', 'secondaryButtonColourScheme', 'secondaryButtonLabel', 'secondaryButtonUrl', 'slug', 'slugColour', 'spaceBelow', 'subtitle', 'subtitleColour', 'teaser', 'teaserColour']
229
+ inputs: ['defaultTextColour', 'mainTitle', 'mainTitleColour', 'mainTitleSize', 'primaryButtonColourScheme', 'primaryButtonLabel', 'primaryButtonUrl', 'secondaryButtonColourScheme', 'secondaryButtonLabel', 'secondaryButtonUrl', 'slug', 'slugColour', 'slugSize', 'spaceAbove', 'spaceBelow', 'subtitle', 'subtitleColour', 'subtitleSize', 'teaser', 'teaserColour']
204
230
  })
205
231
  ], BiggiveCallToAction);
206
232
  export { BiggiveCallToAction };
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCallToAction, decorators: [{
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCallToAction, decorators: [{
208
234
  type: Component,
209
235
  args: [{
210
236
  selector: 'biggive-call-to-action',
211
237
  changeDetection: ChangeDetectionStrategy.OnPush,
212
238
  template: '<ng-content></ng-content>',
213
- inputs: ['defaultTextColour', 'mainTitle', 'mainTitleColour', 'primaryButtonColourScheme', 'primaryButtonLabel', 'primaryButtonUrl', 'secondaryButtonColourScheme', 'secondaryButtonLabel', 'secondaryButtonUrl', 'slug', 'slugColour', 'spaceBelow', 'subtitle', 'subtitleColour', 'teaser', 'teaserColour']
239
+ inputs: ['defaultTextColour', 'mainTitle', 'mainTitleColour', 'mainTitleSize', 'primaryButtonColourScheme', 'primaryButtonLabel', 'primaryButtonUrl', 'secondaryButtonColourScheme', 'secondaryButtonLabel', 'secondaryButtonUrl', 'slug', 'slugColour', 'slugSize', 'spaceAbove', 'spaceBelow', 'subtitle', 'subtitleColour', 'subtitleSize', 'teaser', 'teaserColour']
214
240
  }]
215
241
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
216
242
  let BiggiveCampaignCard = class BiggiveCampaignCard {
@@ -220,8 +246,8 @@ let BiggiveCampaignCard = class BiggiveCampaignCard {
220
246
  this.el = r.nativeElement;
221
247
  }
222
248
  };
223
- BiggiveCampaignCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCampaignCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
224
- BiggiveCampaignCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveCampaignCard, selector: "biggive-campaign-card", inputs: { banner: "banner", campaignTitle: "campaignTitle", campaignType: "campaignType", currencyCode: "currencyCode", donateButtonColourScheme: "donateButtonColourScheme", donateButtonLabel: "donateButtonLabel", donateButtonUrl: "donateButtonUrl", moreInfoButtonColourScheme: "moreInfoButtonColourScheme", moreInfoButtonLabel: "moreInfoButtonLabel", moreInfoButtonUrl: "moreInfoButtonUrl", organisationName: "organisationName", primaryFigureAmount: "primaryFigureAmount", primaryFigureLabel: "primaryFigureLabel", progressBarCounter: "progressBarCounter", secondaryFigureAmount: "secondaryFigureAmount", secondaryFigureLabel: "secondaryFigureLabel", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
249
+ BiggiveCampaignCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCampaignCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
250
+ BiggiveCampaignCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveCampaignCard, selector: "biggive-campaign-card", inputs: { banner: "banner", campaignTitle: "campaignTitle", campaignType: "campaignType", currencyCode: "currencyCode", donateButtonColourScheme: "donateButtonColourScheme", donateButtonLabel: "donateButtonLabel", donateButtonUrl: "donateButtonUrl", moreInfoButtonColourScheme: "moreInfoButtonColourScheme", moreInfoButtonLabel: "moreInfoButtonLabel", moreInfoButtonUrl: "moreInfoButtonUrl", organisationName: "organisationName", primaryFigureAmount: "primaryFigureAmount", primaryFigureLabel: "primaryFigureLabel", progressBarCounter: "progressBarCounter", secondaryFigureAmount: "secondaryFigureAmount", secondaryFigureLabel: "secondaryFigureLabel", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
225
251
  BiggiveCampaignCard = __decorate([
226
252
  ProxyCmp({
227
253
  defineCustomElementFn: defineBiggiveCampaignCard,
@@ -229,7 +255,7 @@ BiggiveCampaignCard = __decorate([
229
255
  })
230
256
  ], BiggiveCampaignCard);
231
257
  export { BiggiveCampaignCard };
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCampaignCard, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCampaignCard, decorators: [{
233
259
  type: Component,
234
260
  args: [{
235
261
  selector: 'biggive-campaign-card',
@@ -246,8 +272,8 @@ let BiggiveCampaignCardFilterGrid = class BiggiveCampaignCardFilterGrid {
246
272
  proxyOutputs(this, this.el, ['doTextSearch']);
247
273
  }
248
274
  };
249
- BiggiveCampaignCardFilterGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCampaignCardFilterGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
250
- BiggiveCampaignCardFilterGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveCampaignCardFilterGrid, selector: "biggive-campaign-card-filter-grid", inputs: { buttonText: "buttonText", intro: "intro", placeholderText: "placeholderText", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
275
+ BiggiveCampaignCardFilterGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCampaignCardFilterGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
276
+ BiggiveCampaignCardFilterGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveCampaignCardFilterGrid, selector: "biggive-campaign-card-filter-grid", inputs: { buttonText: "buttonText", intro: "intro", placeholderText: "placeholderText", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
251
277
  BiggiveCampaignCardFilterGrid = __decorate([
252
278
  ProxyCmp({
253
279
  defineCustomElementFn: defineBiggiveCampaignCardFilterGrid,
@@ -255,7 +281,7 @@ BiggiveCampaignCardFilterGrid = __decorate([
255
281
  })
256
282
  ], BiggiveCampaignCardFilterGrid);
257
283
  export { BiggiveCampaignCardFilterGrid };
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCampaignCardFilterGrid, decorators: [{
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCampaignCardFilterGrid, decorators: [{
259
285
  type: Component,
260
286
  args: [{
261
287
  selector: 'biggive-campaign-card-filter-grid',
@@ -271,8 +297,8 @@ let BiggiveCampaignHighlights = class BiggiveCampaignHighlights {
271
297
  this.el = r.nativeElement;
272
298
  }
273
299
  };
274
- BiggiveCampaignHighlights.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCampaignHighlights, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
275
- BiggiveCampaignHighlights.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveCampaignHighlights, selector: "biggive-campaign-highlights", inputs: { banner: "banner", campaignTitle: "campaignTitle", currencyCode: "currencyCode", primaryFigureAmount: "primaryFigureAmount", primaryFigureLabel: "primaryFigureLabel", primaryStatIcon: "primaryStatIcon", primaryStatText: "primaryStatText", progressBarCounter: "progressBarCounter", secondaryFigureAmount: "secondaryFigureAmount", secondaryFigureLabel: "secondaryFigureLabel", secondaryStatIcon: "secondaryStatIcon", secondaryStatText: "secondaryStatText", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
300
+ BiggiveCampaignHighlights.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCampaignHighlights, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
301
+ BiggiveCampaignHighlights.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveCampaignHighlights, selector: "biggive-campaign-highlights", inputs: { banner: "banner", campaignTitle: "campaignTitle", currencyCode: "currencyCode", primaryFigureAmount: "primaryFigureAmount", primaryFigureLabel: "primaryFigureLabel", primaryStatIcon: "primaryStatIcon", primaryStatText: "primaryStatText", progressBarCounter: "progressBarCounter", secondaryFigureAmount: "secondaryFigureAmount", secondaryFigureLabel: "secondaryFigureLabel", secondaryStatIcon: "secondaryStatIcon", secondaryStatText: "secondaryStatText", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
276
302
  BiggiveCampaignHighlights = __decorate([
277
303
  ProxyCmp({
278
304
  defineCustomElementFn: defineBiggiveCampaignHighlights,
@@ -280,7 +306,7 @@ BiggiveCampaignHighlights = __decorate([
280
306
  })
281
307
  ], BiggiveCampaignHighlights);
282
308
  export { BiggiveCampaignHighlights };
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCampaignHighlights, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCampaignHighlights, decorators: [{
284
310
  type: Component,
285
311
  args: [{
286
312
  selector: 'biggive-campaign-highlights',
@@ -296,8 +322,8 @@ let BiggiveCategoryIcon = class BiggiveCategoryIcon {
296
322
  this.el = r.nativeElement;
297
323
  }
298
324
  };
299
- BiggiveCategoryIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCategoryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
300
- BiggiveCategoryIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveCategoryIcon, selector: "biggive-category-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
325
+ BiggiveCategoryIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCategoryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
326
+ BiggiveCategoryIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveCategoryIcon, selector: "biggive-category-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
301
327
  BiggiveCategoryIcon = __decorate([
302
328
  ProxyCmp({
303
329
  defineCustomElementFn: defineBiggiveCategoryIcon,
@@ -305,7 +331,7 @@ BiggiveCategoryIcon = __decorate([
305
331
  })
306
332
  ], BiggiveCategoryIcon);
307
333
  export { BiggiveCategoryIcon };
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveCategoryIcon, decorators: [{
334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveCategoryIcon, decorators: [{
309
335
  type: Component,
310
336
  args: [{
311
337
  selector: 'biggive-category-icon',
@@ -321,15 +347,15 @@ let BiggiveFooter = class BiggiveFooter {
321
347
  this.el = r.nativeElement;
322
348
  }
323
349
  };
324
- BiggiveFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
325
- BiggiveFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveFooter, selector: "biggive-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
350
+ BiggiveFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
351
+ BiggiveFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveFooter, selector: "biggive-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
326
352
  BiggiveFooter = __decorate([
327
353
  ProxyCmp({
328
354
  defineCustomElementFn: defineBiggiveFooter
329
355
  })
330
356
  ], BiggiveFooter);
331
357
  export { BiggiveFooter };
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveFooter, decorators: [{
358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveFooter, decorators: [{
333
359
  type: Component,
334
360
  args: [{
335
361
  selector: 'biggive-footer',
@@ -344,15 +370,15 @@ let BiggiveForm = class BiggiveForm {
344
370
  this.el = r.nativeElement;
345
371
  }
346
372
  };
347
- BiggiveForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
348
- BiggiveForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveForm, selector: "biggive-form", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
373
+ BiggiveForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
374
+ BiggiveForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveForm, selector: "biggive-form", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
349
375
  BiggiveForm = __decorate([
350
376
  ProxyCmp({
351
377
  defineCustomElementFn: defineBiggiveForm
352
378
  })
353
379
  ], BiggiveForm);
354
380
  export { BiggiveForm };
355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveForm, decorators: [{
381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveForm, decorators: [{
356
382
  type: Component,
357
383
  args: [{
358
384
  selector: 'biggive-form',
@@ -367,15 +393,15 @@ let BiggiveFormFieldSelect = class BiggiveFormFieldSelect {
367
393
  this.el = r.nativeElement;
368
394
  }
369
395
  };
370
- BiggiveFormFieldSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveFormFieldSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
371
- BiggiveFormFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveFormFieldSelect, selector: "biggive-form-field-select", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
396
+ BiggiveFormFieldSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveFormFieldSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
397
+ BiggiveFormFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveFormFieldSelect, selector: "biggive-form-field-select", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
372
398
  BiggiveFormFieldSelect = __decorate([
373
399
  ProxyCmp({
374
400
  defineCustomElementFn: defineBiggiveFormFieldSelect
375
401
  })
376
402
  ], BiggiveFormFieldSelect);
377
403
  export { BiggiveFormFieldSelect };
378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveFormFieldSelect, decorators: [{
404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveFormFieldSelect, decorators: [{
379
405
  type: Component,
380
406
  args: [{
381
407
  selector: 'biggive-form-field-select',
@@ -390,8 +416,8 @@ let BiggiveFormattedText = class BiggiveFormattedText {
390
416
  this.el = r.nativeElement;
391
417
  }
392
418
  };
393
- BiggiveFormattedText.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveFormattedText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
394
- BiggiveFormattedText.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveFormattedText, selector: "biggive-formatted-text", inputs: { defaultTextColour: "defaultTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
419
+ BiggiveFormattedText.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveFormattedText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
420
+ BiggiveFormattedText.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveFormattedText, selector: "biggive-formatted-text", inputs: { defaultTextColour: "defaultTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
395
421
  BiggiveFormattedText = __decorate([
396
422
  ProxyCmp({
397
423
  defineCustomElementFn: defineBiggiveFormattedText,
@@ -399,7 +425,7 @@ BiggiveFormattedText = __decorate([
399
425
  })
400
426
  ], BiggiveFormattedText);
401
427
  export { BiggiveFormattedText };
402
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveFormattedText, decorators: [{
428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveFormattedText, decorators: [{
403
429
  type: Component,
404
430
  args: [{
405
431
  selector: 'biggive-formatted-text',
@@ -415,8 +441,8 @@ let BiggiveGrid = class BiggiveGrid {
415
441
  this.el = r.nativeElement;
416
442
  }
417
443
  };
418
- BiggiveGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
419
- BiggiveGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveGrid, selector: "biggive-grid", inputs: { columnCount: "columnCount", columnGap: "columnGap", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
444
+ BiggiveGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
445
+ BiggiveGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveGrid, selector: "biggive-grid", inputs: { columnCount: "columnCount", columnGap: "columnGap", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
420
446
  BiggiveGrid = __decorate([
421
447
  ProxyCmp({
422
448
  defineCustomElementFn: defineBiggiveGrid,
@@ -424,7 +450,7 @@ BiggiveGrid = __decorate([
424
450
  })
425
451
  ], BiggiveGrid);
426
452
  export { BiggiveGrid };
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveGrid, decorators: [{
453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveGrid, decorators: [{
428
454
  type: Component,
429
455
  args: [{
430
456
  selector: 'biggive-grid',
@@ -440,22 +466,22 @@ let BiggiveHeader = class BiggiveHeader {
440
466
  this.el = r.nativeElement;
441
467
  }
442
468
  };
443
- BiggiveHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
444
- BiggiveHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveHeader, selector: "biggive-header", inputs: { spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
469
+ BiggiveHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
470
+ BiggiveHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveHeader, selector: "biggive-header", inputs: { logoUrl: "logoUrl", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
445
471
  BiggiveHeader = __decorate([
446
472
  ProxyCmp({
447
473
  defineCustomElementFn: defineBiggiveHeader,
448
- inputs: ['spaceBelow']
474
+ inputs: ['logoUrl', 'spaceBelow']
449
475
  })
450
476
  ], BiggiveHeader);
451
477
  export { BiggiveHeader };
452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveHeader, decorators: [{
478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveHeader, decorators: [{
453
479
  type: Component,
454
480
  args: [{
455
481
  selector: 'biggive-header',
456
482
  changeDetection: ChangeDetectionStrategy.OnPush,
457
483
  template: '<ng-content></ng-content>',
458
- inputs: ['spaceBelow']
484
+ inputs: ['logoUrl', 'spaceBelow']
459
485
  }]
460
486
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
461
487
  let BiggiveHeading = class BiggiveHeading {
@@ -465,22 +491,22 @@ let BiggiveHeading = class BiggiveHeading {
465
491
  this.el = r.nativeElement;
466
492
  }
467
493
  };
468
- BiggiveHeading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveHeading, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
469
- BiggiveHeading.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveHeading, selector: "biggive-heading", inputs: { colour: "colour", htmlElement: "htmlElement", size: "size", spaceBelow: "spaceBelow", text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
494
+ BiggiveHeading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveHeading, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
495
+ BiggiveHeading.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveHeading, selector: "biggive-heading", inputs: { align: "align", colour: "colour", htmlElement: "htmlElement", size: "size", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
470
496
  BiggiveHeading = __decorate([
471
497
  ProxyCmp({
472
498
  defineCustomElementFn: defineBiggiveHeading,
473
- inputs: ['colour', 'htmlElement', 'size', 'spaceBelow', 'text']
499
+ inputs: ['align', 'colour', 'htmlElement', 'size', 'spaceAbove', 'spaceBelow', 'text']
474
500
  })
475
501
  ], BiggiveHeading);
476
502
  export { BiggiveHeading };
477
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveHeading, decorators: [{
503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveHeading, decorators: [{
478
504
  type: Component,
479
505
  args: [{
480
506
  selector: 'biggive-heading',
481
507
  changeDetection: ChangeDetectionStrategy.OnPush,
482
508
  template: '<ng-content></ng-content>',
483
- inputs: ['colour', 'htmlElement', 'size', 'spaceBelow', 'text']
509
+ inputs: ['align', 'colour', 'htmlElement', 'size', 'spaceAbove', 'spaceBelow', 'text']
484
510
  }]
485
511
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
486
512
  let BiggiveHeroImage = class BiggiveHeroImage {
@@ -490,8 +516,8 @@ let BiggiveHeroImage = class BiggiveHeroImage {
490
516
  this.el = r.nativeElement;
491
517
  }
492
518
  };
493
- BiggiveHeroImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveHeroImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
494
- BiggiveHeroImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveHeroImage, selector: "biggive-hero-image", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", colourScheme: "colourScheme", logo: "logo", mainImage: "mainImage", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
519
+ BiggiveHeroImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveHeroImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
520
+ BiggiveHeroImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveHeroImage, selector: "biggive-hero-image", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", colourScheme: "colourScheme", logo: "logo", mainImage: "mainImage", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
495
521
  BiggiveHeroImage = __decorate([
496
522
  ProxyCmp({
497
523
  defineCustomElementFn: defineBiggiveHeroImage,
@@ -499,7 +525,7 @@ BiggiveHeroImage = __decorate([
499
525
  })
500
526
  ], BiggiveHeroImage);
501
527
  export { BiggiveHeroImage };
502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveHeroImage, decorators: [{
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveHeroImage, decorators: [{
503
529
  type: Component,
504
530
  args: [{
505
531
  selector: 'biggive-hero-image',
@@ -515,8 +541,8 @@ let BiggiveIconGroup = class BiggiveIconGroup {
515
541
  this.el = r.nativeElement;
516
542
  }
517
543
  };
518
- BiggiveIconGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveIconGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
519
- BiggiveIconGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveIconGroup, selector: "biggive-icon-group", inputs: { label: "label", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
544
+ BiggiveIconGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveIconGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
545
+ BiggiveIconGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveIconGroup, selector: "biggive-icon-group", inputs: { label: "label", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
520
546
  BiggiveIconGroup = __decorate([
521
547
  ProxyCmp({
522
548
  defineCustomElementFn: defineBiggiveIconGroup,
@@ -524,7 +550,7 @@ BiggiveIconGroup = __decorate([
524
550
  })
525
551
  ], BiggiveIconGroup);
526
552
  export { BiggiveIconGroup };
527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveIconGroup, decorators: [{
553
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveIconGroup, decorators: [{
528
554
  type: Component,
529
555
  args: [{
530
556
  selector: 'biggive-icon-group',
@@ -540,22 +566,22 @@ let BiggiveImage = class BiggiveImage {
540
566
  this.el = r.nativeElement;
541
567
  }
542
568
  };
543
- BiggiveImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
544
- BiggiveImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveImage, selector: "biggive-image", inputs: { imageUrl: "imageUrl", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
569
+ BiggiveImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
570
+ BiggiveImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveImage, selector: "biggive-image", inputs: { height: "height", imageUrl: "imageUrl", sizeUnit: "sizeUnit", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", width: "width" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
545
571
  BiggiveImage = __decorate([
546
572
  ProxyCmp({
547
573
  defineCustomElementFn: defineBiggiveImage,
548
- inputs: ['imageUrl', 'spaceBelow']
574
+ inputs: ['height', 'imageUrl', 'sizeUnit', 'spaceAbove', 'spaceBelow', 'width']
549
575
  })
550
576
  ], BiggiveImage);
551
577
  export { BiggiveImage };
552
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveImage, decorators: [{
578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveImage, decorators: [{
553
579
  type: Component,
554
580
  args: [{
555
581
  selector: 'biggive-image',
556
582
  changeDetection: ChangeDetectionStrategy.OnPush,
557
583
  template: '<ng-content></ng-content>',
558
- inputs: ['imageUrl', 'spaceBelow']
584
+ inputs: ['height', 'imageUrl', 'sizeUnit', 'spaceAbove', 'spaceBelow', 'width']
559
585
  }]
560
586
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
561
587
  let BiggiveImageFeature = class BiggiveImageFeature {
@@ -565,8 +591,8 @@ let BiggiveImageFeature = class BiggiveImageFeature {
565
591
  this.el = r.nativeElement;
566
592
  }
567
593
  };
568
- BiggiveImageFeature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveImageFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
569
- BiggiveImageFeature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveImageFeature, selector: "biggive-image-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", imageUrl: "imageUrl", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
594
+ BiggiveImageFeature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveImageFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
595
+ BiggiveImageFeature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveImageFeature, selector: "biggive-image-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", imageUrl: "imageUrl", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
570
596
  BiggiveImageFeature = __decorate([
571
597
  ProxyCmp({
572
598
  defineCustomElementFn: defineBiggiveImageFeature,
@@ -574,7 +600,7 @@ BiggiveImageFeature = __decorate([
574
600
  })
575
601
  ], BiggiveImageFeature);
576
602
  export { BiggiveImageFeature };
577
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveImageFeature, decorators: [{
603
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveImageFeature, decorators: [{
578
604
  type: Component,
579
605
  args: [{
580
606
  selector: 'biggive-image-feature',
@@ -590,8 +616,8 @@ let BiggiveMiscIcon = class BiggiveMiscIcon {
590
616
  this.el = r.nativeElement;
591
617
  }
592
618
  };
593
- BiggiveMiscIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveMiscIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
594
- BiggiveMiscIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveMiscIcon, selector: "biggive-misc-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
619
+ BiggiveMiscIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveMiscIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
620
+ BiggiveMiscIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveMiscIcon, selector: "biggive-misc-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
595
621
  BiggiveMiscIcon = __decorate([
596
622
  ProxyCmp({
597
623
  defineCustomElementFn: defineBiggiveMiscIcon,
@@ -599,7 +625,7 @@ BiggiveMiscIcon = __decorate([
599
625
  })
600
626
  ], BiggiveMiscIcon);
601
627
  export { BiggiveMiscIcon };
602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveMiscIcon, decorators: [{
628
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveMiscIcon, decorators: [{
603
629
  type: Component,
604
630
  args: [{
605
631
  selector: 'biggive-misc-icon',
@@ -615,15 +641,15 @@ let BiggivePageColumn = class BiggivePageColumn {
615
641
  this.el = r.nativeElement;
616
642
  }
617
643
  };
618
- BiggivePageColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggivePageColumn, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
619
- BiggivePageColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggivePageColumn, selector: "biggive-page-column", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
644
+ BiggivePageColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggivePageColumn, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
645
+ BiggivePageColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggivePageColumn, selector: "biggive-page-column", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
620
646
  BiggivePageColumn = __decorate([
621
647
  ProxyCmp({
622
648
  defineCustomElementFn: defineBiggivePageColumn
623
649
  })
624
650
  ], BiggivePageColumn);
625
651
  export { BiggivePageColumn };
626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggivePageColumn, decorators: [{
652
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggivePageColumn, decorators: [{
627
653
  type: Component,
628
654
  args: [{
629
655
  selector: 'biggive-page-column',
@@ -638,8 +664,8 @@ let BiggivePageColumns = class BiggivePageColumns {
638
664
  this.el = r.nativeElement;
639
665
  }
640
666
  };
641
- BiggivePageColumns.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggivePageColumns, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
642
- BiggivePageColumns.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggivePageColumns, selector: "biggive-page-columns", inputs: { spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
667
+ BiggivePageColumns.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggivePageColumns, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
668
+ BiggivePageColumns.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggivePageColumns, selector: "biggive-page-columns", inputs: { spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
643
669
  BiggivePageColumns = __decorate([
644
670
  ProxyCmp({
645
671
  defineCustomElementFn: defineBiggivePageColumns,
@@ -647,7 +673,7 @@ BiggivePageColumns = __decorate([
647
673
  })
648
674
  ], BiggivePageColumns);
649
675
  export { BiggivePageColumns };
650
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggivePageColumns, decorators: [{
676
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggivePageColumns, decorators: [{
651
677
  type: Component,
652
678
  args: [{
653
679
  selector: 'biggive-page-columns',
@@ -663,8 +689,8 @@ let BiggivePageSection = class BiggivePageSection {
663
689
  this.el = r.nativeElement;
664
690
  }
665
691
  };
666
- BiggivePageSection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggivePageSection, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
667
- BiggivePageSection.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggivePageSection, selector: "biggive-page-section", inputs: { colourScheme: "colourScheme", sectionStyleBottom: "sectionStyleBottom", sectionStyleTop: "sectionStyleTop", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
692
+ BiggivePageSection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggivePageSection, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
693
+ BiggivePageSection.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggivePageSection, selector: "biggive-page-section", inputs: { colourScheme: "colourScheme", sectionStyleBottom: "sectionStyleBottom", sectionStyleTop: "sectionStyleTop", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
668
694
  BiggivePageSection = __decorate([
669
695
  ProxyCmp({
670
696
  defineCustomElementFn: defineBiggivePageSection,
@@ -672,7 +698,7 @@ BiggivePageSection = __decorate([
672
698
  })
673
699
  ], BiggivePageSection);
674
700
  export { BiggivePageSection };
675
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggivePageSection, decorators: [{
701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggivePageSection, decorators: [{
676
702
  type: Component,
677
703
  args: [{
678
704
  selector: 'biggive-page-section',
@@ -688,8 +714,8 @@ let BiggiveProgressBar = class BiggiveProgressBar {
688
714
  this.el = r.nativeElement;
689
715
  }
690
716
  };
691
- BiggiveProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveProgressBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
692
- BiggiveProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveProgressBar, selector: "biggive-progress-bar", inputs: { colourScheme: "colourScheme", counter: "counter", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
717
+ BiggiveProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveProgressBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
718
+ BiggiveProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveProgressBar, selector: "biggive-progress-bar", inputs: { colourScheme: "colourScheme", counter: "counter", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
693
719
  BiggiveProgressBar = __decorate([
694
720
  ProxyCmp({
695
721
  defineCustomElementFn: defineBiggiveProgressBar,
@@ -697,7 +723,7 @@ BiggiveProgressBar = __decorate([
697
723
  })
698
724
  ], BiggiveProgressBar);
699
725
  export { BiggiveProgressBar };
700
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveProgressBar, decorators: [{
726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveProgressBar, decorators: [{
701
727
  type: Component,
702
728
  args: [{
703
729
  selector: 'biggive-progress-bar',
@@ -713,8 +739,8 @@ let BiggiveQuote = class BiggiveQuote {
713
739
  this.el = r.nativeElement;
714
740
  }
715
741
  };
716
- BiggiveQuote.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveQuote, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
717
- BiggiveQuote.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveQuote, selector: "biggive-quote", inputs: { attribution: "attribution", defaultTextColour: "defaultTextColour", quote: "quote", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
742
+ BiggiveQuote.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveQuote, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
743
+ BiggiveQuote.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveQuote, selector: "biggive-quote", inputs: { attribution: "attribution", defaultTextColour: "defaultTextColour", quote: "quote", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
718
744
  BiggiveQuote = __decorate([
719
745
  ProxyCmp({
720
746
  defineCustomElementFn: defineBiggiveQuote,
@@ -722,7 +748,7 @@ BiggiveQuote = __decorate([
722
748
  })
723
749
  ], BiggiveQuote);
724
750
  export { BiggiveQuote };
725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveQuote, decorators: [{
751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveQuote, decorators: [{
726
752
  type: Component,
727
753
  args: [{
728
754
  selector: 'biggive-quote',
@@ -739,8 +765,8 @@ let BiggiveSearch = class BiggiveSearch {
739
765
  proxyOutputs(this, this.el, ['doSearch']);
740
766
  }
741
767
  };
742
- BiggiveSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveSearch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
743
- BiggiveSearch.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveSearch, selector: "biggive-search", inputs: { buttonText: "buttonText", placeholderText: "placeholderText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
768
+ BiggiveSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveSearch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
769
+ BiggiveSearch.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveSearch, selector: "biggive-search", inputs: { buttonText: "buttonText", placeholderText: "placeholderText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
744
770
  BiggiveSearch = __decorate([
745
771
  ProxyCmp({
746
772
  defineCustomElementFn: defineBiggiveSearch,
@@ -748,7 +774,7 @@ BiggiveSearch = __decorate([
748
774
  })
749
775
  ], BiggiveSearch);
750
776
  export { BiggiveSearch };
751
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveSearch, decorators: [{
777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveSearch, decorators: [{
752
778
  type: Component,
753
779
  args: [{
754
780
  selector: 'biggive-search',
@@ -764,8 +790,8 @@ let BiggiveSocialIcon = class BiggiveSocialIcon {
764
790
  this.el = r.nativeElement;
765
791
  }
766
792
  };
767
- BiggiveSocialIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveSocialIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
768
- BiggiveSocialIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveSocialIcon, selector: "biggive-social-icon", inputs: { backgroundColour: "backgroundColour", iconColour: "iconColour", service: "service", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
793
+ BiggiveSocialIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveSocialIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
794
+ BiggiveSocialIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveSocialIcon, selector: "biggive-social-icon", inputs: { backgroundColour: "backgroundColour", iconColour: "iconColour", service: "service", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
769
795
  BiggiveSocialIcon = __decorate([
770
796
  ProxyCmp({
771
797
  defineCustomElementFn: defineBiggiveSocialIcon,
@@ -773,7 +799,7 @@ BiggiveSocialIcon = __decorate([
773
799
  })
774
800
  ], BiggiveSocialIcon);
775
801
  export { BiggiveSocialIcon };
776
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveSocialIcon, decorators: [{
802
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveSocialIcon, decorators: [{
777
803
  type: Component,
778
804
  args: [{
779
805
  selector: 'biggive-social-icon',
@@ -789,8 +815,8 @@ let BiggiveTab = class BiggiveTab {
789
815
  this.el = r.nativeElement;
790
816
  }
791
817
  };
792
- BiggiveTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
793
- BiggiveTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveTab, selector: "biggive-tab", inputs: { tabTitle: "tabTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
818
+ BiggiveTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
819
+ BiggiveTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveTab, selector: "biggive-tab", inputs: { tabTitle: "tabTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
794
820
  BiggiveTab = __decorate([
795
821
  ProxyCmp({
796
822
  defineCustomElementFn: defineBiggiveTab,
@@ -798,7 +824,7 @@ BiggiveTab = __decorate([
798
824
  })
799
825
  ], BiggiveTab);
800
826
  export { BiggiveTab };
801
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveTab, decorators: [{
827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveTab, decorators: [{
802
828
  type: Component,
803
829
  args: [{
804
830
  selector: 'biggive-tab',
@@ -814,8 +840,8 @@ let BiggiveTabbedContent = class BiggiveTabbedContent {
814
840
  this.el = r.nativeElement;
815
841
  }
816
842
  };
817
- BiggiveTabbedContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveTabbedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
818
- BiggiveTabbedContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveTabbedContent, selector: "biggive-tabbed-content", inputs: { defaultTextColour: "defaultTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
843
+ BiggiveTabbedContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveTabbedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
844
+ BiggiveTabbedContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveTabbedContent, selector: "biggive-tabbed-content", inputs: { defaultTextColour: "defaultTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
819
845
  BiggiveTabbedContent = __decorate([
820
846
  ProxyCmp({
821
847
  defineCustomElementFn: defineBiggiveTabbedContent,
@@ -823,7 +849,7 @@ BiggiveTabbedContent = __decorate([
823
849
  })
824
850
  ], BiggiveTabbedContent);
825
851
  export { BiggiveTabbedContent };
826
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveTabbedContent, decorators: [{
852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveTabbedContent, decorators: [{
827
853
  type: Component,
828
854
  args: [{
829
855
  selector: 'biggive-tabbed-content',
@@ -839,15 +865,15 @@ let BiggiveTextInput = class BiggiveTextInput {
839
865
  this.el = r.nativeElement;
840
866
  }
841
867
  };
842
- BiggiveTextInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveTextInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
843
- BiggiveTextInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveTextInput, selector: "biggive-text-input", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
868
+ BiggiveTextInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveTextInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
869
+ BiggiveTextInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveTextInput, selector: "biggive-text-input", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
844
870
  BiggiveTextInput = __decorate([
845
871
  ProxyCmp({
846
872
  defineCustomElementFn: defineBiggiveTextInput
847
873
  })
848
874
  ], BiggiveTextInput);
849
875
  export { BiggiveTextInput };
850
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveTextInput, decorators: [{
876
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveTextInput, decorators: [{
851
877
  type: Component,
852
878
  args: [{
853
879
  selector: 'biggive-text-input',
@@ -862,8 +888,8 @@ let BiggiveTotalizer = class BiggiveTotalizer {
862
888
  this.el = r.nativeElement;
863
889
  }
864
890
  };
865
- BiggiveTotalizer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveTotalizer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
866
- BiggiveTotalizer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveTotalizer, selector: "biggive-totalizer", inputs: { currencyCode: "currencyCode", includingGiftAid: "includingGiftAid", primaryColour: "primaryColour", primaryTextColour: "primaryTextColour", secondaryColour: "secondaryColour", secondaryTextColour: "secondaryTextColour", spaceBelow: "spaceBelow", totalMatchFunds: "totalMatchFunds", totalRaised: "totalRaised" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
891
+ BiggiveTotalizer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveTotalizer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
892
+ BiggiveTotalizer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveTotalizer, selector: "biggive-totalizer", inputs: { currencyCode: "currencyCode", includingGiftAid: "includingGiftAid", primaryColour: "primaryColour", primaryTextColour: "primaryTextColour", secondaryColour: "secondaryColour", secondaryTextColour: "secondaryTextColour", spaceBelow: "spaceBelow", totalMatchFunds: "totalMatchFunds", totalRaised: "totalRaised" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
867
893
  BiggiveTotalizer = __decorate([
868
894
  ProxyCmp({
869
895
  defineCustomElementFn: defineBiggiveTotalizer,
@@ -871,7 +897,7 @@ BiggiveTotalizer = __decorate([
871
897
  })
872
898
  ], BiggiveTotalizer);
873
899
  export { BiggiveTotalizer };
874
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveTotalizer, decorators: [{
900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveTotalizer, decorators: [{
875
901
  type: Component,
876
902
  args: [{
877
903
  selector: 'biggive-totalizer',
@@ -887,22 +913,22 @@ let BiggiveVideo = class BiggiveVideo {
887
913
  this.el = r.nativeElement;
888
914
  }
889
915
  };
890
- BiggiveVideo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveVideo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
891
- BiggiveVideo.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveVideo, selector: "biggive-video", inputs: { spaceBelow: "spaceBelow", videoUrl: "videoUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
916
+ BiggiveVideo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveVideo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
917
+ BiggiveVideo.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveVideo, selector: "biggive-video", inputs: { spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", videoUrl: "videoUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
892
918
  BiggiveVideo = __decorate([
893
919
  ProxyCmp({
894
920
  defineCustomElementFn: defineBiggiveVideo,
895
- inputs: ['spaceBelow', 'videoUrl']
921
+ inputs: ['spaceAbove', 'spaceBelow', 'videoUrl']
896
922
  })
897
923
  ], BiggiveVideo);
898
924
  export { BiggiveVideo };
899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveVideo, decorators: [{
925
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveVideo, decorators: [{
900
926
  type: Component,
901
927
  args: [{
902
928
  selector: 'biggive-video',
903
929
  changeDetection: ChangeDetectionStrategy.OnPush,
904
930
  template: '<ng-content></ng-content>',
905
- inputs: ['spaceBelow', 'videoUrl']
931
+ inputs: ['spaceAbove', 'spaceBelow', 'videoUrl']
906
932
  }]
907
933
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
908
934
  let BiggiveVideoFeature = class BiggiveVideoFeature {
@@ -912,22 +938,22 @@ let BiggiveVideoFeature = class BiggiveVideoFeature {
912
938
  this.el = r.nativeElement;
913
939
  }
914
940
  };
915
- BiggiveVideoFeature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveVideoFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
916
- BiggiveVideoFeature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BiggiveVideoFeature, selector: "biggive-video-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour", videoUrl: "videoUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
941
+ BiggiveVideoFeature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveVideoFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
942
+ BiggiveVideoFeature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BiggiveVideoFeature, selector: "biggive-video-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour", videoUrl: "videoUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
917
943
  BiggiveVideoFeature = __decorate([
918
944
  ProxyCmp({
919
945
  defineCustomElementFn: defineBiggiveVideoFeature,
920
- inputs: ['buttonColourScheme', 'buttonLabel', 'buttonUrl', 'defaultTextColour', 'mainTitle', 'mainTitleColour', 'slug', 'slugColour', 'spaceBelow', 'teaser', 'teaserColour', 'videoUrl']
946
+ inputs: ['buttonColourScheme', 'buttonLabel', 'buttonUrl', 'defaultTextColour', 'mainTitle', 'mainTitleColour', 'slug', 'slugColour', 'spaceAbove', 'spaceBelow', 'teaser', 'teaserColour', 'videoUrl']
921
947
  })
922
948
  ], BiggiveVideoFeature);
923
949
  export { BiggiveVideoFeature };
924
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BiggiveVideoFeature, decorators: [{
950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BiggiveVideoFeature, decorators: [{
925
951
  type: Component,
926
952
  args: [{
927
953
  selector: 'biggive-video-feature',
928
954
  changeDetection: ChangeDetectionStrategy.OnPush,
929
955
  template: '<ng-content></ng-content>',
930
- inputs: ['buttonColourScheme', 'buttonLabel', 'buttonUrl', 'defaultTextColour', 'mainTitle', 'mainTitleColour', 'slug', 'slugColour', 'spaceBelow', 'teaser', 'teaserColour', 'videoUrl']
956
+ inputs: ['buttonColourScheme', 'buttonLabel', 'buttonUrl', 'defaultTextColour', 'mainTitle', 'mainTitleColour', 'slug', 'slugColour', 'spaceAbove', 'spaceBelow', 'teaser', 'teaserColour', 'videoUrl']
931
957
  }]
932
958
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
933
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3RKLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSwrQkFBK0IsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzVJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFB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QUM1QixDQUFDO0NBQ0YsQ0FBQTtnSEFOWSxtQkFBbUI7b0dBQW5CLG1CQUFtQixtWkFIcEIsMkJBQTJCO0FBRzFCLG1CQUFtQjtJQVYvQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSx5QkFBeUI7UUFDaEQsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUM7S0FDMUwsQ0FBQztHQU9XLG1CQUFtQixDQU0vQjtTQU5ZLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQztpQkFDMUwiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudHMgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJhY2tUb1RvcCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYmFjay10by10b3AuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQmFzaWNDYXJkIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1iYXNpYy1jYXJkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYmVuZWZpY2lhcnktaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCb3hlZENvbnRlbnQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJveGVkLWNvbnRlbnQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQnJhbmRlZEltYWdlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1icmFuZGVkLWltYWdlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJ1dHRvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYnV0dG9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbGxUb0FjdGlvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2FsbC10by1hY3Rpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQ2FtcGFpZ25DYXJkIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhbXBhaWduLWNhcmQtZmlsdGVyLWdyaWQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQ2FtcGFpZ25IaWdobGlnaHRzIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1jYW1wYWlnbi1oaWdobGlnaHRzLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhdGVnb3J5SWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2F0ZWdvcnktaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGb290ZXIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWZvb3Rlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGb3JtIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1mb3JtLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9ybS1maWVsZC1zZWxlY3QuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlRm9ybWF0dGVkVGV4dCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9ybWF0dGVkLXRleHQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlR3JpZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZ3JpZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVIZWFkZXIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWhlYWRlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVIZWFkaW5nIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1oZWFkaW5nLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUhlcm9JbWFnZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaGVyby1pbWFnZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVJY29uR3JvdXAgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWljb24tZ3JvdXAuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSW1hZ2UgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWltYWdlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUltYWdlRmVhdHVyZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaW1hZ2UtZmVhdHVyZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVNaXNjSWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtbWlzYy1pY29uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVBhZ2VDb2x1bW4gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXBhZ2UtY29sdW1uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVBhZ2VDb2x1bW5zIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1wYWdlLWNvbHVtbnMuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUGFnZVNlY3Rpb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXBhZ2Utc2VjdGlvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQcm9ncmVzc0JhciB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcHJvZ3Jlc3MtYmFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVF1b3RlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1xdW90ZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVTZWFyY2ggfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXNlYXJjaC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVTb2NpYWxJY29uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1zb2NpYWwtaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUYWIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXRhYi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUYWJiZWRDb250ZW50IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10YWJiZWQtY29udGVudC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUZXh0SW5wdXQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXRleHQtaW5wdXQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVG90YWxpemVyIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10b3RhbGl6ZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVmlkZW8gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXZpZGVvLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVZpZGVvRmVhdHVyZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdmlkZW8tZmVhdHVyZS5qcyc7XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCYWNrVG9Ub3AgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCYWNrVG9Ub3Age31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQmFja1RvVG9wXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1iYWNrLXRvLXRvcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVCYWNrVG9Ub3Age1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQmFzaWNDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQmFzaWNDYXJkIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJhc2ljQ2FyZCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZEltYWdlVXJsJywgJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnaWNvbkNvbG91cicsICdtYWluVGl0bGUnLCAnc3BhY2VCZWxvdycsICdzdWJ0aXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1iYXNpYy1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRJbWFnZVVybCcsICdidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2ljb25Db2xvdXInLCAnbWFpblRpdGxlJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQmFzaWNDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCZW5lZmljaWFyeUljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdsYWJlbCcsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYmVuZWZpY2lhcnktaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCb3hlZENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCb3hlZENvbnRlbnQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQm94ZWRDb250ZW50LFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdob3Jpem9udGFsUGFkZGluZycsICdzaGFkb3cnLCAnc3BhY2VCZWxvdycsICd2ZXJ0aWNhbFBhZGRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYm94ZWQtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdob3Jpem9udGFsUGFkZGluZycsICdzaGFkb3cnLCAnc3BhY2VCZWxvdycsICd2ZXJ0aWNhbFBhZGRpbmcnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQm94ZWRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJyYW5kZWRJbWFnZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJyYW5kZWRJbWFnZSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCcmFuZGVkSW1hZ2UsXG4gIGlucHV0czogWydpbWFnZVVybCcsICdsb2dvVXJsJywgJ3NsdWcnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1icmFuZGVkLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydpbWFnZVVybCcsICdsb2dvVXJsJywgJ3NsdWcnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVCcmFuZGVkSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQnV0dG9uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJ1dHRvbixcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdmdWxsV2lkdGgnLCAnbGFiZWwnLCAnc3BhY2VCZWxvdycsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnZnVsbFdpZHRoJywgJ2xhYmVsJywgJ3NwYWNlQmVsb3cnLCAndXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVDYWxsVG9BY3Rpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVDYWxsVG9BY3Rpb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2FsbFRvQWN0aW9uLFxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdwcmltYXJ5QnV0dG9uQ29sb3VyU2NoZW1lJywgJ3ByaW1hcnlCdXR0b25MYWJlbCcsICdwcmltYXJ5QnV0dG9uVXJsJywgJ3NlY29uZGFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdzZWNvbmRhcnlCdXR0b25MYWJlbCcsICdzZWNvbmRhcnlCdXR0b25VcmwnLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnLCAnc3VidGl0bGVDb2xvdXInLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYWxsLXRvLWFjdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdwcmltYXJ5QnV0dG9uQ29sb3VyU2NoZW1lJywgJ3ByaW1hcnlCdXR0b25MYWJlbCcsICdwcmltYXJ5QnV0dG9uVXJsJywgJ3NlY29uZGFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdzZWNvbmRhcnlCdXR0b25MYWJlbCcsICdzZWNvbmRhcnlCdXR0b25VcmwnLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnLCAnc3VidGl0bGVDb2xvdXInLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYWxsVG9BY3Rpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2FtcGFpZ25DYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2FtcGFpZ25DYXJkIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZCxcbiAgaW5wdXRzOiBbJ2Jhbm5lcicsICdjYW1wYWlnblRpdGxlJywgJ2NhbXBhaWduVHlwZScsICdjdXJyZW5jeUNvZGUnLCAnZG9uYXRlQnV0dG9uQ29sb3VyU2NoZW1lJywgJ2RvbmF0ZUJ1dHRvbkxhYmVsJywgJ2RvbmF0ZUJ1dHRvblVybCcsICdtb3JlSW5mb0J1dHRvbkNvbG91clNjaGVtZScsICdtb3JlSW5mb0J1dHRvbkxhYmVsJywgJ21vcmVJbmZvQnV0dG9uVXJsJywgJ29yZ2FuaXNhdGlvbk5hbWUnLCAncHJpbWFyeUZpZ3VyZUFtb3VudCcsICdwcmltYXJ5RmlndXJlTGFiZWwnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhbXBhaWduLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Jhbm5lcicsICdjYW1wYWlnblRpdGxlJywgJ2NhbXBhaWduVHlwZScsICdjdXJyZW5jeUNvZGUnLCAnZG9uYXRlQnV0dG9uQ29sb3VyU2NoZW1lJywgJ2RvbmF0ZUJ1dHRvbkxhYmVsJywgJ2RvbmF0ZUJ1dHRvblVybCcsICdtb3JlSW5mb0J1dHRvbkNvbG91clNjaGVtZScsICdtb3JlSW5mb0J1dHRvbkxhYmVsJywgJ21vcmVJbmZvQnV0dG9uVXJsJywgJ29yZ2FuaXNhdGlvbk5hbWUnLCAncHJpbWFyeUZpZ3VyZUFtb3VudCcsICdwcmltYXJ5RmlndXJlTGFiZWwnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhbXBhaWduQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2FtcGFpZ25DYXJkRmlsdGVyR3JpZCB7XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGBkb1RleHRTZWFyY2hgIGV2ZW50IGlzIGVtaXR0ZWQgYW5kIHByb3BvZ2F0ZXMgdG8gdGhlIHBhcmVudFxuY29tcG9uZW50IHdoaWNoIGhhbmRsZXMgaXQgXG4gICAqL1xuICBkb1RleHRTZWFyY2g6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkLFxuICBpbnB1dHM6IFsnYnV0dG9uVGV4dCcsICdpbnRybycsICdwbGFjZWhvbGRlclRleHQnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkLWZpbHRlci1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydidXR0b25UZXh0JywgJ2ludHJvJywgJ3BsYWNlaG9sZGVyVGV4dCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb1RleHRTZWFyY2gnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYW1wYWlnbkhpZ2hsaWdodHMsXG4gIGlucHV0czogWydiYW5uZXInLCAnY2FtcGFpZ25UaXRsZScsICdjdXJyZW5jeUNvZGUnLCAncHJpbWFyeUZpZ3VyZUFtb3VudCcsICdwcmltYXJ5RmlndXJlTGFiZWwnLCAncHJpbWFyeVN0YXRJY29uJywgJ3ByaW1hcnlTdGF0VGV4dCcsICdwcm9ncmVzc0JhckNvdW50ZXInLCAnc2Vjb25kYXJ5RmlndXJlQW1vdW50JywgJ3NlY29uZGFyeUZpZ3VyZUxhYmVsJywgJ3NlY29uZGFyeVN0YXRJY29uJywgJ3NlY29uZGFyeVN0YXRUZXh0JywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FtcGFpZ24taGlnaGxpZ2h0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFubmVyJywgJ2NhbXBhaWduVGl0bGUnLCAnY3VycmVuY3lDb2RlJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3ByaW1hcnlTdGF0SWNvbicsICdwcmltYXJ5U3RhdFRleHQnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzZWNvbmRhcnlTdGF0SWNvbicsICdzZWNvbmRhcnlTdGF0VGV4dCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVDYXRlZ29yeUljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVDYXRlZ29yeUljb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2F0ZWdvcnlJY29uLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhdGVnb3J5LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYXRlZ29yeUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9vdGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvb3RlclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9ybSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVGb3JtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9ybUZpZWxkU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9ybUZpZWxkU2VsZWN0IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9ybS1maWVsZC1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlRm9ybUZpZWxkU2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUZvcm1hdHRlZFRleHQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVGb3JtYXR0ZWRUZXh0IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvcm1hdHRlZFRleHQsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWZvcm1hdHRlZC10ZXh0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvcm1hdHRlZFRleHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlR3JpZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUdyaWQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlR3JpZCxcbiAgaW5wdXRzOiBbJ2NvbHVtbkNvdW50JywgJ2NvbHVtbkdhcCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NvbHVtbkNvdW50JywgJ2NvbHVtbkdhcCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSGVhZGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUhlYWRlcixcbiAgaW5wdXRzOiBbJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVIZWFkaW5nIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSGVhZGluZyB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVIZWFkaW5nLFxuICBpbnB1dHM6IFsnY29sb3VyJywgJ2h0bWxFbGVtZW50JywgJ3NpemUnLCAnc3BhY2VCZWxvdycsICd0ZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWhlYWRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NvbG91cicsICdodG1sRWxlbWVudCcsICdzaXplJywgJ3NwYWNlQmVsb3cnLCAndGV4dCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVIZWFkaW5nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUhlcm9JbWFnZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUhlcm9JbWFnZSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVIZXJvSW1hZ2UsXG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2NvbG91clNjaGVtZScsICdsb2dvJywgJ21haW5JbWFnZScsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaGVyby1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdjb2xvdXJTY2hlbWUnLCAnbG9nbycsICdtYWluSW1hZ2UnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUhlcm9JbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVJY29uR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVJY29uR3JvdXAge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSWNvbkdyb3VwLFxuICBpbnB1dHM6IFsnbGFiZWwnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1pY29uLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydsYWJlbCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUljb25Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVJbWFnZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUltYWdlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUltYWdlLFxuICBpbnB1dHM6IFsnaW1hZ2VVcmwnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaW1hZ2VVcmwnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVJbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVJbWFnZUZlYXR1cmUgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVJbWFnZUZlYXR1cmUge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSW1hZ2VGZWF0dXJlLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkZWZhdWx0VGV4dENvbG91cicsICdpbWFnZVVybCcsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaW1hZ2UtZmVhdHVyZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkZWZhdWx0VGV4dENvbG91cicsICdpbWFnZVVybCcsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSW1hZ2VGZWF0dXJlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZU1pc2NJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlTWlzY0ljb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlTWlzY0ljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtbWlzYy1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICd1cmwnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlTWlzY0ljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlUGFnZUNvbHVtbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVBhZ2VDb2x1bW4ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUGFnZUNvbHVtblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtcGFnZS1jb2x1bW4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlUGFnZUNvbHVtbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQYWdlQ29sdW1ucyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVBhZ2VDb2x1bW5zIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVBhZ2VDb2x1bW5zLFxuICBpbnB1dHM6IFsnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1wYWdlLWNvbHVtbnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3NwYWNlQmVsb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlUGFnZUNvbHVtbnMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlUGFnZVNlY3Rpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQYWdlU2VjdGlvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQYWdlU2VjdGlvbixcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdzZWN0aW9uU3R5bGVCb3R0b20nLCAnc2VjdGlvblN0eWxlVG9wJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtcGFnZS1zZWN0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnc2VjdGlvblN0eWxlQm90dG9tJywgJ3NlY3Rpb25TdHlsZVRvcCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVBhZ2VTZWN0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVByb2dyZXNzQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUHJvZ3Jlc3NCYXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUHJvZ3Jlc3NCYXIsXG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnY291bnRlcicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXByb2dyZXNzLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ2NvdW50ZXInLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQcm9ncmVzc0JhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVRdW90ZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVF1b3RlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVF1b3RlLFxuICBpbnB1dHM6IFsnYXR0cmlidXRpb24nLCAnZGVmYXVsdFRleHRDb2xvdXInLCAncXVvdGUnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1xdW90ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYXR0cmlidXRpb24nLCAnZGVmYXVsdFRleHRDb2xvdXInLCAncXVvdGUnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVRdW90ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVTZWFyY2ggZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVTZWFyY2gge1xuICAvKipcbiAgICogVGhpcyBldmVudCBgZG9TZWFyY2hgIGV2ZW50IGlzIGVtaXR0ZWQgYW5kIHByb3BvZ2F0ZXMgdG8gdGhlIHBhcmVudFxuY29tcG9uZW50IHdoaWNoIGhhbmRsZXMgaXQgXG4gICAqL1xuICBkb1NlYXJjaDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVNlYXJjaCxcbiAgaW5wdXRzOiBbJ2J1dHRvblRleHQnLCAncGxhY2Vob2xkZXJUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXNlYXJjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYnV0dG9uVGV4dCcsICdwbGFjZWhvbGRlclRleHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlU2VhcmNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZG9TZWFyY2gnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVNvY2lhbEljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVTb2NpYWxJY29uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVNvY2lhbEljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb25Db2xvdXInLCAnc2VydmljZScsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtc29jaWFsLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbkNvbG91cicsICdzZXJ2aWNlJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVTb2NpYWxJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRhYiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRhYiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUYWIsXG4gIGlucHV0czogWyd0YWJUaXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3RhYlRpdGxlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRhYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVUYWJiZWRDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGFiYmVkQ29udGVudCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUYWJiZWRDb250ZW50LFxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10YWJiZWQtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUYWJiZWRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRleHRJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRleHRJbnB1dCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUZXh0SW5wdXRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRleHQtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGV4dElucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRvdGFsaXplciBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRvdGFsaXplciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUb3RhbGl6ZXIsXG4gIGlucHV0czogWydjdXJyZW5jeUNvZGUnLCAnaW5jbHVkaW5nR2lmdEFpZCcsICdwcmltYXJ5Q29sb3VyJywgJ3ByaW1hcnlUZXh0Q29sb3VyJywgJ3NlY29uZGFyeUNvbG91cicsICdzZWNvbmRhcnlUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndG90YWxNYXRjaEZ1bmRzJywgJ3RvdGFsUmFpc2VkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRvdGFsaXplcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY3VycmVuY3lDb2RlJywgJ2luY2x1ZGluZ0dpZnRBaWQnLCAncHJpbWFyeUNvbG91cicsICdwcmltYXJ5VGV4dENvbG91cicsICdzZWNvbmRhcnlDb2xvdXInLCAnc2Vjb25kYXJ5VGV4dENvbG91cicsICdzcGFjZUJlbG93JywgJ3RvdGFsTWF0Y2hGdW5kcycsICd0b3RhbFJhaXNlZCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUb3RhbGl6ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVmlkZW8gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVWaWRlbyB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVWaWRlbyxcbiAgaW5wdXRzOiBbJ3NwYWNlQmVsb3cnLCAndmlkZW9VcmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdmlkZW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3NwYWNlQmVsb3cnLCAndmlkZW9VcmwnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVmlkZW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVmlkZW9GZWF0dXJlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVmlkZW9GZWF0dXJlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVZpZGVvRmVhdHVyZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnZGVmYXVsdFRleHRDb2xvdXInLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJywgJ3ZpZGVvVXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXZpZGVvLWZlYXR1cmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnZGVmYXVsdFRleHRDb2xvdXInLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJywgJ3ZpZGVvVXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVZpZGVvRmVhdHVyZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG4iXX0=
959
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3RKLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSwrQkFB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LEVBQUUsVUFBVSxDQUFDO2lCQUNqRDs7SUFzQlksbUJBQW1CLFNBQW5CLG1CQUFtQjtJQUU5QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0NBQ0YsQ0FBQTtnSEFOWSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw2YUFIcEIsMkJBQTJCO0FBRzFCLG1CQUFtQjtJQVYvQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSx5QkFBeUI7UUFDaEQsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO0tBQ3hNLENBQUM7R0FPVyxtQkFBbUIsQ0FNL0I7U0FOWSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO2lCQUN4TSIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50cyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQXJ0aWNsZUNhcmQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWFydGljbGUtY2FyZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCYWNrVG9Ub3AgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJhY2stdG8tdG9wLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJhc2ljQ2FyZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYmFzaWMtY2FyZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCZW5lZmljaWFyeUljb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJlbmVmaWNpYXJ5LWljb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQm94ZWRDb250ZW50IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1ib3hlZC1jb250ZW50LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJyYW5kZWRJbWFnZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYnJhbmRlZC1pbWFnZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCdXR0b24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJ1dHRvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYWxsVG9BY3Rpb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhbGwtdG8tYWN0aW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2FtcGFpZ24tY2FyZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkLWZpbHRlci1ncmlkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2FtcGFpZ24taGlnaGxpZ2h0cy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYXRlZ29yeUljb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhdGVnb3J5LWljb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlRm9vdGVyIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1mb290ZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlRm9ybSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9ybS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGb3JtRmllbGRTZWxlY3QgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWZvcm0tZmllbGQtc2VsZWN0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUZvcm1hdHRlZFRleHQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWZvcm1hdHRlZC10ZXh0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUdyaWQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWdyaWQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSGVhZGVyIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1oZWFkZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSGVhZGluZyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaGVhZGluZy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVIZXJvSW1hZ2UgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWhlcm8taW1hZ2UuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSWNvbkdyb3VwIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1pY29uLWdyb3VwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUltYWdlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1pbWFnZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVJbWFnZUZlYXR1cmUgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWltYWdlLWZlYXR1cmUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlTWlzY0ljb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLW1pc2MtaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQYWdlQ29sdW1uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1wYWdlLWNvbHVtbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQYWdlQ29sdW1ucyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcGFnZS1jb2x1bW5zLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVBhZ2VTZWN0aW9uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1wYWdlLXNlY3Rpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUHJvZ3Jlc3NCYXIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXByb2dyZXNzLWJhci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVRdW90ZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcXVvdGUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlU2VhcmNoIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1zZWFyY2guanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlU29jaWFsSWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtc29jaWFsLWljb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGFiIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10YWIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGFiYmVkQ29udGVudCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdGFiYmVkLWNvbnRlbnQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGV4dElucHV0IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10ZXh0LWlucHV0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVRvdGFsaXplciB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdG90YWxpemVyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVZpZGVvIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS12aWRlby5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVWaWRlb0ZlYXR1cmUgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXZpZGVvLWZlYXR1cmUuanMnO1xuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQXJ0aWNsZUNhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVBcnRpY2xlQ2FyZCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVBcnRpY2xlQ2FyZCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZENvbG91ckhvdmVyJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkYXRlJywgJ2ltYWdlTGFiZWwnLCAnaW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ3NsdWcnLCAnc3BhY2VCZWxvdycsICd0ZXh0Q29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWFydGljbGUtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdiYWNrZ3JvdW5kQ29sb3VySG92ZXInLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2RhdGUnLCAnaW1hZ2VMYWJlbCcsICdpbWFnZVVybCcsICdtYWluVGl0bGUnLCAnc2x1ZycsICdzcGFjZUJlbG93JywgJ3RleHRDb2xvdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQXJ0aWNsZUNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQmFja1RvVG9wIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQmFja1RvVG9wIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJhY2tUb1RvcFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYmFjay10by10b3AnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQmFja1RvVG9wIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJhc2ljQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJhc2ljQ2FyZCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCYXNpY0NhcmQsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRJbWFnZVVybCcsICdidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2NhcmRDb2xvdXInLCAnaWNvbkNvbG91cicsICdtYWluVGl0bGUnLCAnc3BhY2VCZWxvdycsICdzdWJ0aXRsZScsICd0ZXh0Q29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJhc2ljLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZEltYWdlVXJsJywgJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnY2FyZENvbG91cicsICdpY29uQ29sb3VyJywgJ21haW5UaXRsZScsICdzcGFjZUJlbG93JywgJ3N1YnRpdGxlJywgJ3RleHRDb2xvdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQmFzaWNDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCZW5lZmljaWFyeUljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdsYWJlbCcsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYmVuZWZpY2lhcnktaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCb3hlZENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCb3hlZENvbnRlbnQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQm94ZWRDb250ZW50LFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdob3Jpem9udGFsUGFkZGluZycsICdzaGFkb3cnLCAnc3BhY2VCZWxvdycsICd2ZXJ0aWNhbFBhZGRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYm94ZWQtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdob3Jpem9udGFsUGFkZGluZycsICdzaGFkb3cnLCAnc3BhY2VCZWxvdycsICd2ZXJ0aWNhbFBhZGRpbmcnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQm94ZWRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJyYW5kZWRJbWFnZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJyYW5kZWRJbWFnZSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCcmFuZGVkSW1hZ2UsXG4gIGlucHV0czogWydpbWFnZVVybCcsICdsb2dvVXJsJywgJ3NsdWcnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1icmFuZGVkLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydpbWFnZVVybCcsICdsb2dvVXJsJywgJ3NsdWcnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVCcmFuZGVkSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQnV0dG9uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJ1dHRvbixcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdmdWxsV2lkdGgnLCAnbGFiZWwnLCAncm91bmRlZCcsICdzaXplJywgJ3NwYWNlQmVsb3cnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ2Z1bGxXaWR0aCcsICdsYWJlbCcsICdyb3VuZGVkJywgJ3NpemUnLCAnc3BhY2VCZWxvdycsICd1cmwnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbGxUb0FjdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbGxUb0FjdGlvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYWxsVG9BY3Rpb24sXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ21haW5UaXRsZVNpemUnLCAncHJpbWFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdwcmltYXJ5QnV0dG9uTGFiZWwnLCAncHJpbWFyeUJ1dHRvblVybCcsICdzZWNvbmRhcnlCdXR0b25Db2xvdXJTY2hlbWUnLCAnc2Vjb25kYXJ5QnV0dG9uTGFiZWwnLCAnc2Vjb25kYXJ5QnV0dG9uVXJsJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzbHVnU2l6ZScsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnLCAnc3VidGl0bGVDb2xvdXInLCAnc3VidGl0bGVTaXplJywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FsbC10by1hY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnbWFpblRpdGxlU2l6ZScsICdwcmltYXJ5QnV0dG9uQ29sb3VyU2NoZW1lJywgJ3ByaW1hcnlCdXR0b25MYWJlbCcsICdwcmltYXJ5QnV0dG9uVXJsJywgJ3NlY29uZGFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdzZWNvbmRhcnlCdXR0b25MYWJlbCcsICdzZWNvbmRhcnlCdXR0b25VcmwnLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NsdWdTaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICdzdWJ0aXRsZScsICdzdWJ0aXRsZUNvbG91cicsICdzdWJ0aXRsZVNpemUnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYWxsVG9BY3Rpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2FtcGFpZ25DYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2FtcGFpZ25DYXJkIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZCxcbiAgaW5wdXRzOiBbJ2Jhbm5lcicsICdjYW1wYWlnblRpdGxlJywgJ2NhbXBhaWduVHlwZScsICdjdXJyZW5jeUNvZGUnLCAnZG9uYXRlQnV0dG9uQ29sb3VyU2NoZW1lJywgJ2RvbmF0ZUJ1dHRvbkxhYmVsJywgJ2RvbmF0ZUJ1dHRvblVybCcsICdtb3JlSW5mb0J1dHRvbkNvbG91clNjaGVtZScsICdtb3JlSW5mb0J1dHRvbkxhYmVsJywgJ21vcmVJbmZvQnV0dG9uVXJsJywgJ29yZ2FuaXNhdGlvbk5hbWUnLCAncHJpbWFyeUZpZ3VyZUFtb3VudCcsICdwcmltYXJ5RmlndXJlTGFiZWwnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhbXBhaWduLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Jhbm5lcicsICdjYW1wYWlnblRpdGxlJywgJ2NhbXBhaWduVHlwZScsICdjdXJyZW5jeUNvZGUnLCAnZG9uYXRlQnV0dG9uQ29sb3VyU2NoZW1lJywgJ2RvbmF0ZUJ1dHRvbkxhYmVsJywgJ2RvbmF0ZUJ1dHRvblVybCcsICdtb3JlSW5mb0J1dHRvbkNvbG91clNjaGVtZScsICdtb3JlSW5mb0J1dHRvbkxhYmVsJywgJ21vcmVJbmZvQnV0dG9uVXJsJywgJ29yZ2FuaXNhdGlvbk5hbWUnLCAncHJpbWFyeUZpZ3VyZUFtb3VudCcsICdwcmltYXJ5RmlndXJlTGFiZWwnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhbXBhaWduQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2FtcGFpZ25DYXJkRmlsdGVyR3JpZCB7XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGBkb1RleHRTZWFyY2hgIGV2ZW50IGlzIGVtaXR0ZWQgYW5kIHByb3BvZ2F0ZXMgdG8gdGhlIHBhcmVudFxuY29tcG9uZW50IHdoaWNoIGhhbmRsZXMgaXQgXG4gICAqL1xuICBkb1RleHRTZWFyY2g6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkLFxuICBpbnB1dHM6IFsnYnV0dG9uVGV4dCcsICdpbnRybycsICdwbGFjZWhvbGRlclRleHQnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkLWZpbHRlci1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydidXR0b25UZXh0JywgJ2ludHJvJywgJ3BsYWNlaG9sZGVyVGV4dCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb1RleHRTZWFyY2gnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYW1wYWlnbkhpZ2hsaWdodHMsXG4gIGlucHV0czogWydiYW5uZXInLCAnY2FtcGFpZ25UaXRsZScsICdjdXJyZW5jeUNvZGUnLCAncHJpbWFyeUZpZ3VyZUFtb3VudCcsICdwcmltYXJ5RmlndXJlTGFiZWwnLCAncHJpbWFyeVN0YXRJY29uJywgJ3ByaW1hcnlTdGF0VGV4dCcsICdwcm9ncmVzc0JhckNvdW50ZXInLCAnc2Vjb25kYXJ5RmlndXJlQW1vdW50JywgJ3NlY29uZGFyeUZpZ3VyZUxhYmVsJywgJ3NlY29uZGFyeVN0YXRJY29uJywgJ3NlY29uZGFyeVN0YXRUZXh0JywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FtcGFpZ24taGlnaGxpZ2h0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFubmVyJywgJ2NhbXBhaWduVGl0bGUnLCAnY3VycmVuY3lDb2RlJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3ByaW1hcnlTdGF0SWNvbicsICdwcmltYXJ5U3RhdFRleHQnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzZWNvbmRhcnlTdGF0SWNvbicsICdzZWNvbmRhcnlTdGF0VGV4dCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVDYXRlZ29yeUljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVDYXRlZ29yeUljb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2F0ZWdvcnlJY29uLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhdGVnb3J5LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYXRlZ29yeUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9vdGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvb3RlclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9ybSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVGb3JtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9ybUZpZWxkU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9ybUZpZWxkU2VsZWN0IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9ybS1maWVsZC1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlRm9ybUZpZWxkU2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUZvcm1hdHRlZFRleHQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVGb3JtYXR0ZWRUZXh0IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvcm1hdHRlZFRleHQsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWZvcm1hdHRlZC10ZXh0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvcm1hdHRlZFRleHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlR3JpZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUdyaWQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlR3JpZCxcbiAgaW5wdXRzOiBbJ2NvbHVtbkNvdW50JywgJ2NvbHVtbkdhcCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NvbHVtbkNvdW50JywgJ2NvbHVtbkdhcCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSGVhZGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUhlYWRlcixcbiAgaW5wdXRzOiBbJ2xvZ29VcmwnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2xvZ29VcmwnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSGVhZGluZyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUhlYWRpbmcge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSGVhZGluZyxcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2NvbG91cicsICdodG1sRWxlbWVudCcsICdzaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd0ZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWhlYWRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2NvbG91cicsICdodG1sRWxlbWVudCcsICdzaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd0ZXh0J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUhlYWRpbmcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSGVyb0ltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSGVyb0ltYWdlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUhlcm9JbWFnZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnY29sb3VyU2NoZW1lJywgJ2xvZ28nLCAnbWFpbkltYWdlJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1oZXJvLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2NvbG91clNjaGVtZScsICdsb2dvJywgJ21haW5JbWFnZScsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSGVyb0ltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUljb25Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUljb25Hcm91cCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVJY29uR3JvdXAsXG4gIGlucHV0czogWydsYWJlbCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWljb24tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3NwYWNlQmVsb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSWNvbkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSW1hZ2Uge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSW1hZ2UsXG4gIGlucHV0czogWydoZWlnaHQnLCAnaW1hZ2VVcmwnLCAnc2l6ZVVuaXQnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3dpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydoZWlnaHQnLCAnaW1hZ2VVcmwnLCAnc2l6ZVVuaXQnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3dpZHRoJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUltYWdlRmVhdHVyZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUltYWdlRmVhdHVyZSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVJbWFnZUZlYXR1cmUsXG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ2ltYWdlVXJsJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1pbWFnZS1mZWF0dXJlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ2ltYWdlVXJsJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVJbWFnZUZlYXR1cmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlTWlzY0ljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVNaXNjSWNvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVNaXNjSWNvbixcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1taXNjLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVNaXNjSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQYWdlQ29sdW1uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUGFnZUNvbHVtbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQYWdlQ29sdW1uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1wYWdlLWNvbHVtbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQYWdlQ29sdW1uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVBhZ2VDb2x1bW5zIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUGFnZUNvbHVtbnMge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUGFnZUNvbHVtbnMsXG4gIGlucHV0czogWydzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXBhZ2UtY29sdW1ucycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQYWdlQ29sdW1ucyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQYWdlU2VjdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVBhZ2VTZWN0aW9uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVBhZ2VTZWN0aW9uLFxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ3NlY3Rpb25TdHlsZUJvdHRvbScsICdzZWN0aW9uU3R5bGVUb3AnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1wYWdlLXNlY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdzZWN0aW9uU3R5bGVCb3R0b20nLCAnc2VjdGlvblN0eWxlVG9wJywgJ3NwYWNlQmVsb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlUGFnZVNlY3Rpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlUHJvZ3Jlc3NCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQcm9ncmVzc0JhciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQcm9ncmVzc0JhcixcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdjb3VudGVyJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtcHJvZ3Jlc3MtYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnY291bnRlcicsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVByb2dyZXNzQmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVF1b3RlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUXVvdGUge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUXVvdGUsXG4gIGlucHV0czogWydhdHRyaWJ1dGlvbicsICdkZWZhdWx0VGV4dENvbG91cicsICdxdW90ZScsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXF1b3RlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydhdHRyaWJ1dGlvbicsICdkZWZhdWx0VGV4dENvbG91cicsICdxdW90ZScsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVF1b3RlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVNlYXJjaCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVNlYXJjaCB7XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGBkb1NlYXJjaGAgZXZlbnQgaXMgZW1pdHRlZCBhbmQgcHJvcG9nYXRlcyB0byB0aGUgcGFyZW50XG5jb21wb25lbnQgd2hpY2ggaGFuZGxlcyBpdCBcbiAgICovXG4gIGRvU2VhcmNoOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlU2VhcmNoLFxuICBpbnB1dHM6IFsnYnV0dG9uVGV4dCcsICdwbGFjZWhvbGRlclRleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtc2VhcmNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydidXR0b25UZXh0JywgJ3BsYWNlaG9sZGVyVGV4dCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVTZWFyY2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb1NlYXJjaCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlU29jaWFsSWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVNvY2lhbEljb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlU29jaWFsSWNvbixcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbkNvbG91cicsICdzZXJ2aWNlJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1zb2NpYWwtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uQ29sb3VyJywgJ3NlcnZpY2UnLCAndXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVNvY2lhbEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVGFiIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGFiIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRhYixcbiAgaW5wdXRzOiBbJ3RhYlRpdGxlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRhYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsndGFiVGl0bGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRhYmJlZENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVUYWJiZWRDb250ZW50IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRhYmJlZENvbnRlbnQsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRhYmJlZC1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRhYmJlZENvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVGV4dElucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGV4dElucHV0IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRleHRJbnB1dFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdGV4dC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUZXh0SW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVG90YWxpemVyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVG90YWxpemVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRvdGFsaXplcixcbiAgaW5wdXRzOiBbJ2N1cnJlbmN5Q29kZScsICdpbmNsdWRpbmdHaWZ0QWlkJywgJ3ByaW1hcnlDb2xvdXInLCAncHJpbWFyeVRleHRDb2xvdXInLCAnc2Vjb25kYXJ5Q29sb3VyJywgJ3NlY29uZGFyeVRleHRDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0b3RhbE1hdGNoRnVuZHMnLCAndG90YWxSYWlzZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdG90YWxpemVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjdXJyZW5jeUNvZGUnLCAnaW5jbHVkaW5nR2lmdEFpZCcsICdwcmltYXJ5Q29sb3VyJywgJ3ByaW1hcnlUZXh0Q29sb3VyJywgJ3NlY29uZGFyeUNvbG91cicsICdzZWNvbmRhcnlUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndG90YWxNYXRjaEZ1bmRzJywgJ3RvdGFsUmFpc2VkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRvdGFsaXplciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVWaWRlbyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVZpZGVvIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVZpZGVvLFxuICBpbnB1dHM6IFsnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3ZpZGVvVXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXZpZGVvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndmlkZW9VcmwnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVmlkZW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVmlkZW9GZWF0dXJlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVmlkZW9GZWF0dXJlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVZpZGVvRmVhdHVyZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnZGVmYXVsdFRleHRDb2xvdXInLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInLCAndmlkZW9VcmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdmlkZW8tZmVhdHVyZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkZWZhdWx0VGV4dENvbG91cicsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91cicsICd2aWRlb1VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVWaWRlb0ZlYXR1cmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuIl19