@byuhbll/components 4.0.0-alpha.15 → 4.0.0-alpha.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/esm2022/lib/animations/animations.mjs +5 -5
  2. package/esm2022/lib/checkbox/checkbox.component.mjs +15 -0
  3. package/esm2022/lib/expand-collapse/expand-collapse.component.mjs +3 -3
  4. package/esm2022/lib/hbll-header/hbll-header.component.mjs +19 -5
  5. package/esm2022/lib/hbll-header/nav-bar/nav-bar.component.mjs +255 -229
  6. package/esm2022/lib/hbll-header/nav-bar-dropdown/nav-bar-dropdown.component.mjs +3 -3
  7. package/esm2022/lib/header-with-impersonation/header-with-impersonation.component.mjs +38 -0
  8. package/esm2022/lib/impersonate-modal/impersonate-modal.component.mjs +5 -3
  9. package/esm2022/lib/impersonation-banner/impersonation-banner.component.mjs +1 -2
  10. package/esm2022/lib/multi-select/multi-select.component.mjs +115 -0
  11. package/esm2022/lib/ss-search-bar/advanced-search/advanced-search.component.mjs +5 -5
  12. package/esm2022/lib/ss-search-bar/ss-search-bar.component.mjs +2 -2
  13. package/esm2022/lib/utils.mjs +2 -3
  14. package/esm2022/public-api.mjs +2 -1
  15. package/fesm2022/byuhbll-components.mjs +489 -416
  16. package/fesm2022/byuhbll-components.mjs.map +1 -1
  17. package/lib/{hbll-checkbox/hbll-checkbox.component.d.ts → checkbox/checkbox.component.d.ts} +1 -1
  18. package/lib/hbll-header/hbll-header.component.d.ts +5 -1
  19. package/lib/hbll-header/nav-bar/nav-bar.component.d.ts +5 -3
  20. package/lib/header-with-impersonation/header-with-impersonation.component.d.ts +19 -0
  21. package/lib/impersonate-modal/impersonate-modal.component.d.ts +2 -0
  22. package/lib/impersonation-banner/impersonation-banner.component.d.ts +1 -2
  23. package/lib/{hbll-multi-select/hbll-multi-select.component.d.ts → multi-select/multi-select.component.d.ts} +1 -1
  24. package/lib/ss-search-bar/advanced-search/advanced-search.component.d.ts +4 -1
  25. package/package.json +1 -1
  26. package/public-api.d.ts +1 -0
  27. package/styles/scss/_vars.scss +1 -0
  28. package/styles/scss/shared.scss +7 -0
  29. package/esm2022/lib/hbll-checkbox/hbll-checkbox.component.mjs +0 -15
  30. package/esm2022/lib/hbll-multi-select/hbll-multi-select.component.mjs +0 -115
@@ -1,14 +1,14 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, inject, input, ViewChildren } from '@angular/core';
2
+ import { Component, computed, inject, input, ViewChildren } from '@angular/core';
3
3
  import { NavBarDropdownComponent } from '../nav-bar-dropdown/nav-bar-dropdown.component';
4
4
  import { isScreenSmallSignal } from '../../utils';
5
5
  import { BreakpointObserver } from '@angular/cdk/layout';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
8
- const mainSiteBaseUri = 'https://lib.byu.edu';
9
8
  export class NavBarComponent {
10
9
  constructor() {
11
10
  this.bo = inject(BreakpointObserver);
11
+ this.mainSiteBaseUrl = input.required();
12
12
  this.height = input(null);
13
13
  // If any section opens up, close all others. Only one section open at a time.
14
14
  this.handleDropdownOpenEvent = (title) => {
@@ -19,289 +19,315 @@ export class NavBarComponent {
19
19
  });
20
20
  };
21
21
  this.isScreenSmall = isScreenSmallSignal(this.bo);
22
- this.navInfos = [
23
- {
24
- title: 'Materials',
25
- mainSection: {
26
- title: 'Formats',
27
- links: [
28
- { label: 'Articles', url: `${mainSiteBaseUri}/articles` },
29
- { label: 'Audio', url: `${mainSiteBaseUri}/audio` },
30
- { label: 'Books', url: `${mainSiteBaseUri}/books` },
31
- { label: 'Video', url: `${mainSiteBaseUri}/video` },
32
- ],
33
- auxiliaryLink: {
34
- label: 'See all formats',
35
- url: `${mainSiteBaseUri}/formats`,
36
- },
37
- },
38
- otherSections: [
39
- {
40
- title: 'Resource Collections',
22
+ this.navInfos = computed(() => {
23
+ return [
24
+ {
25
+ title: 'Materials',
26
+ mainSection: {
27
+ title: 'Formats',
41
28
  links: [
42
- {
43
- label: 'Subject Area Collections',
44
- url: `${mainSiteBaseUri}/collections`,
45
- },
46
- { label: 'Databases', url: `${mainSiteBaseUri}/databases` },
47
- { label: 'Journals', url: `${mainSiteBaseUri}/journals` },
48
- {
49
- label: 'Theses & Dissertations',
50
- url: `${mainSiteBaseUri}/theses-and-dissertations`,
51
- },
52
- ],
53
- },
54
- {
55
- title: 'Equipment',
56
- links: [
57
- {
58
- label: 'Available for Checkout',
59
- url: `${mainSiteBaseUri}/services?categories=available-for-checkout`,
60
- },
61
- {
62
- label: 'Available with Reservation',
63
- url: `${mainSiteBaseUri}/services?categories=available-via-reservation`,
64
- },
65
- {
66
- label: 'Public Computers',
67
- url: `${mainSiteBaseUri}/services/public-computers`,
68
- },
69
- {
70
- label: 'Printers and Copying',
71
- url: `${mainSiteBaseUri}/services?categories=printing-and-copying`,
72
- },
29
+ { label: 'Articles', url: `${this.mainSiteBaseUrl()}/articles` },
30
+ { label: 'Audio', url: `${this.mainSiteBaseUrl()}/audio` },
31
+ { label: 'Books', url: `${this.mainSiteBaseUrl()}/books` },
32
+ { label: 'Video', url: `${this.mainSiteBaseUrl()}/video` },
73
33
  ],
34
+ auxiliaryLink: {
35
+ label: 'See all formats',
36
+ url: `${this.mainSiteBaseUrl()}/formats`,
37
+ },
74
38
  },
75
- ],
76
- },
77
- {
78
- title: 'Places',
79
- mainSection: {
80
- title: 'Popular Places',
81
- links: [
82
- { label: 'Help Desks', url: `${mainSiteBaseUri}/services/help-desks` },
83
- { label: 'Family History', url: `${mainSiteBaseUri}/religion-family-history` },
39
+ otherSections: [
40
+ {
41
+ title: 'Resource Collections',
42
+ links: [
43
+ {
44
+ label: 'Subject Area Collections',
45
+ url: `${this.mainSiteBaseUrl()}/collections`,
46
+ },
47
+ { label: 'Databases', url: `${this.mainSiteBaseUrl()}/databases` },
48
+ { label: 'Journals', url: `${this.mainSiteBaseUrl()}/journals` },
49
+ {
50
+ label: 'Theses & Dissertations',
51
+ url: `${this.mainSiteBaseUrl()}/theses-and-dissertations`,
52
+ },
53
+ ],
54
+ },
84
55
  {
85
- label: 'Research and Writing Center',
86
- url: `${mainSiteBaseUri}/services/research-and-writing-center`,
56
+ title: 'Equipment',
57
+ links: [
58
+ {
59
+ label: 'Available for Checkout',
60
+ url: `${this.mainSiteBaseUrl()}/services?categories=available-for-checkout`,
61
+ },
62
+ {
63
+ label: 'Available with Reservation',
64
+ url: `${this.mainSiteBaseUrl()}/services?categories=available-via-reservation`,
65
+ },
66
+ {
67
+ label: 'Public Computers',
68
+ url: `${this.mainSiteBaseUrl()}/services/public-computers`,
69
+ },
70
+ {
71
+ label: 'Printers and Copying',
72
+ url: `${this.mainSiteBaseUrl()}/services?categories=printing-and-copying`,
73
+ },
74
+ ],
87
75
  },
88
- { label: 'Special Collections', url: `${mainSiteBaseUri}/special-collections` },
89
76
  ],
90
- auxiliaryLink: {
91
- label: 'View Floor Maps',
92
- url: `${mainSiteBaseUri}/floormaps`,
93
- },
94
77
  },
95
- otherSections: [
96
- {
97
- title: 'Spaces',
78
+ {
79
+ title: 'Places',
80
+ mainSection: {
81
+ title: 'Popular Places',
98
82
  links: [
99
83
  {
100
- label: 'Collections & Archives',
101
- url: `${mainSiteBaseUri}/services?categories=collections-and-archives`,
102
- },
103
- {
104
- label: 'Group Study Spaces',
105
- url: `${mainSiteBaseUri}/services/group-study-rooms`,
84
+ label: 'Help Desks',
85
+ url: `${this.mainSiteBaseUrl()}/services/help-desks`,
106
86
  },
107
87
  {
108
- label: 'Individual Study Spaces',
109
- url: `${mainSiteBaseUri}/services?categories=individual-study-spaces`,
88
+ label: 'Family History',
89
+ url: `${this.mainSiteBaseUrl()}/religion-family-history`,
110
90
  },
111
91
  {
112
- label: 'Multimedia Creation Spaces',
113
- url: `${mainSiteBaseUri}/services?categories=multimedia-creation`,
92
+ label: 'Research and Writing Center',
93
+ url: `${this.mainSiteBaseUrl()}/services/research-and-writing-center`,
114
94
  },
115
95
  {
116
- label: 'Video View Spaces',
117
- url: `${mainSiteBaseUri}/services?categories=video-viewing`,
96
+ label: 'Special Collections',
97
+ url: `${this.mainSiteBaseUrl()}/special-collections`,
118
98
  },
119
99
  ],
100
+ auxiliaryLink: {
101
+ label: 'View Floor Maps',
102
+ url: `${this.mainSiteBaseUrl()}/floormaps`,
103
+ },
120
104
  },
121
- {
122
- title: 'Rooms',
105
+ otherSections: [
106
+ {
107
+ title: 'Spaces',
108
+ links: [
109
+ {
110
+ label: 'Collections & Archives',
111
+ url: `${this.mainSiteBaseUrl()}/services?categories=collections-and-archives`,
112
+ },
113
+ {
114
+ label: 'Group Study Spaces',
115
+ url: `${this.mainSiteBaseUrl()}/services/group-study-rooms`,
116
+ },
117
+ {
118
+ label: 'Individual Study Spaces',
119
+ url: `${this.mainSiteBaseUrl()}/services?categories=individual-study-spaces`,
120
+ },
121
+ {
122
+ label: 'Multimedia Creation Spaces',
123
+ url: `${this.mainSiteBaseUrl()}/services?categories=multimedia-creation`,
124
+ },
125
+ {
126
+ label: 'Video View Spaces',
127
+ url: `${this.mainSiteBaseUrl()}/services?categories=video-viewing`,
128
+ },
129
+ ],
130
+ },
131
+ {
132
+ title: 'Rooms',
133
+ links: [
134
+ {
135
+ label: 'Classrooms',
136
+ url: `${this.mainSiteBaseUrl()}/services?categories=classrooms`,
137
+ },
138
+ {
139
+ label: 'Conference Rooms',
140
+ url: `${this.mainSiteBaseUrl()}/services?categories=conference-rooms`,
141
+ },
142
+ {
143
+ label: 'Labs & Centers',
144
+ url: `${this.mainSiteBaseUrl()}/services?categories=labs-and-centers`,
145
+ },
146
+ {
147
+ label: 'Research Rooms',
148
+ url: `${this.mainSiteBaseUrl()}/services?categories=research-rooms`,
149
+ },
150
+ ],
151
+ },
152
+ ],
153
+ },
154
+ {
155
+ title: 'Experiences',
156
+ mainSection: {
157
+ title: 'Events',
123
158
  links: [
124
159
  {
125
- label: 'Classrooms',
126
- url: `${mainSiteBaseUri}/services?categories=classrooms`,
160
+ label: 'Concerts & Film Showings',
161
+ url: `${this.mainSiteBaseUrl()}/services/motion-picture-archive-series`,
127
162
  },
128
163
  {
129
- label: 'Conference Rooms',
130
- url: `${mainSiteBaseUri}/services?categories=conference-rooms`,
131
- },
132
- {
133
- label: 'Labs & Centers',
134
- url: `${mainSiteBaseUri}/services?categories=labs-and-centers`,
135
- },
136
- {
137
- label: 'Research Rooms',
138
- url: `${mainSiteBaseUri}/services?categories=research-rooms`,
164
+ label: 'Lectures',
165
+ url: `${this.mainSiteBaseUrl()}/services?categories=lectures`,
139
166
  },
167
+ { label: 'News', url: `${this.mainSiteBaseUrl()}/about/news` },
140
168
  ],
169
+ auxiliaryLink: {
170
+ label: 'See calendar of events',
171
+ url: `${this.mainSiteBaseUrl()}/events`,
172
+ },
141
173
  },
142
- ],
143
- },
144
- {
145
- title: 'Experiences',
146
- mainSection: {
147
- title: 'Events',
148
- links: [
174
+ otherSections: [
149
175
  {
150
- label: 'Concerts & Film Showings',
151
- url: `${mainSiteBaseUri}/services/motion-picture-archive-series`,
176
+ title: 'Learning Opportunities',
177
+ links: [
178
+ {
179
+ label: 'Library Instruction Classes',
180
+ url: `${this.mainSiteBaseUrl()}/library-instruction`,
181
+ },
182
+ {
183
+ label: 'Software Training',
184
+ url: `${this.mainSiteBaseUrl()}/services/software-training`,
185
+ },
186
+ {
187
+ label: 'Family History Classes & Webinars',
188
+ url: `${this.mainSiteBaseUrl()}/services/family-history-classes`,
189
+ },
190
+ ],
191
+ },
192
+ {
193
+ title: 'Displays',
194
+ links: [
195
+ { label: 'Exhibits', url: `${this.mainSiteBaseUrl()}/exhibits` },
196
+ {
197
+ label: 'Galleries',
198
+ url: `${this.mainSiteBaseUrl()}/services?categories=galleries-and-exhibits`,
199
+ },
200
+ ],
152
201
  },
153
- { label: 'Lectures', url: `${mainSiteBaseUri}/services?categories=lectures` },
154
- { label: 'News', url: `${mainSiteBaseUri}/about/news` },
155
202
  ],
156
- auxiliaryLink: {
157
- label: 'See calendar of events',
158
- url: `${mainSiteBaseUri}/events`,
159
- },
160
203
  },
161
- otherSections: [
162
- {
163
- title: 'Learning Opportunities',
204
+ {
205
+ title: 'Services',
206
+ mainSection: {
207
+ title: 'Services For',
164
208
  links: [
165
209
  {
166
- label: 'Library Instruction Classes',
167
- url: `${mainSiteBaseUri}/library-instruction`,
210
+ label: 'Current Students',
211
+ url: `${this.mainSiteBaseUrl()}/services?categories=for-students`,
168
212
  },
169
213
  {
170
- label: 'Software Training',
171
- url: `${mainSiteBaseUri}/services/software-training`,
214
+ label: 'Faculty and Staff',
215
+ url: `${this.mainSiteBaseUrl()}/services?categories=for-faculty`,
172
216
  },
173
217
  {
174
- label: 'Family History Classes & Webinars',
175
- url: `${mainSiteBaseUri}/services/family-history-classes`,
218
+ label: 'Retirees',
219
+ url: `${this.mainSiteBaseUrl()}/services?categories=for-retirees`,
176
220
  },
177
- ],
178
- },
179
- {
180
- title: 'Displays',
181
- links: [
182
- { label: 'Exhibits', url: `${mainSiteBaseUri}/exhibits` },
183
221
  {
184
- label: 'Galleries',
185
- url: `${mainSiteBaseUri}/services?categories=galleries-and-exhibits`,
222
+ label: 'Visitors and Alumni',
223
+ url: `${this.mainSiteBaseUrl()}/services?categories=for-visitors`,
186
224
  },
187
225
  ],
226
+ auxiliaryLink: {
227
+ label: 'See all Services',
228
+ url: `${this.mainSiteBaseUrl()}/services`,
229
+ },
188
230
  },
189
- ],
190
- },
191
- {
192
- title: 'Services',
193
- mainSection: {
194
- title: 'Services For',
195
- links: [
231
+ otherSections: [
196
232
  {
197
- label: 'Current Students',
198
- url: `${mainSiteBaseUri}/services?categories=for-students`,
233
+ title: 'Getting Materials',
234
+ links: [
235
+ {
236
+ label: 'Checkout out Materials',
237
+ url: `${this.mainSiteBaseUrl()}/about/checkout-privileges`,
238
+ },
239
+ {
240
+ label: 'Holds & Renewals',
241
+ url: `${this.mainSiteBaseUrl()}/services/holds`,
242
+ },
243
+ {
244
+ label: 'Borrow from another Library (ILL)',
245
+ url: `${this.mainSiteBaseUrl()}/services/interlibrary-loan`,
246
+ },
247
+ ],
199
248
  },
200
249
  {
201
- label: 'Faculty and Staff',
202
- url: `${mainSiteBaseUri}/services?categories=for-faculty`,
250
+ title: 'Other',
251
+ links: [
252
+ {
253
+ label: 'Internships, Fellowships and Grants',
254
+ url: `${this.mainSiteBaseUrl()}/services?categories=internships-fellowships-grants`,
255
+ },
256
+ {
257
+ label: 'Programs',
258
+ url: `${this.mainSiteBaseUrl()}/services?categories=programs`,
259
+ },
260
+ {
261
+ label: 'Scholarly Publishing',
262
+ url: `${this.mainSiteBaseUrl()}/services?categories=creating-and-publishing-materials`,
263
+ },
264
+ ],
265
+ },
266
+ ],
267
+ },
268
+ {
269
+ title: 'Ask Us',
270
+ otherSections: [
271
+ {
272
+ title: 'Get Help',
273
+ links: [
274
+ {
275
+ label: 'Ask a Librarian',
276
+ url: `${this.mainSiteBaseUrl()}/chat?url=${window.location.href}`,
277
+ icon: 'chat_bubble',
278
+ },
279
+ {
280
+ label: 'Library Instruction',
281
+ url: `${this.mainSiteBaseUrl()}/library-instruction`,
282
+ },
283
+ { label: 'Research Guides', url: `${this.mainSiteBaseUrl()}/guides` },
284
+ {
285
+ label: 'Help & Guidance',
286
+ url: `${this.mainSiteBaseUrl()}/services?categories=help-and-guidance`,
287
+ },
288
+ ],
203
289
  },
204
290
  {
205
- label: 'Retirees and Alumni',
206
- url: `${mainSiteBaseUri}/services?categories=for-retirees`,
291
+ title: 'Find a...',
292
+ links: [
293
+ { label: 'Department', url: `${this.mainSiteBaseUrl()}/directory` },
294
+ {
295
+ label: 'Help Desk',
296
+ url: `${this.mainSiteBaseUrl()}/services/help-desks`,
297
+ },
298
+ {
299
+ label: 'Library Employee by Name',
300
+ url: `${this.mainSiteBaseUrl()}/directory`,
301
+ },
302
+ {
303
+ label: 'Subject Librarian',
304
+ url: `${this.mainSiteBaseUrl()}/directory#browse-by-subject`,
305
+ },
306
+ ],
207
307
  },
208
308
  {
209
- label: 'Visitors',
210
- url: `${mainSiteBaseUri}/services?categories=for-visitors`,
309
+ title: 'About the Library',
310
+ links: [
311
+ {
312
+ label: 'General Information',
313
+ url: `${this.mainSiteBaseUrl()}/about`,
314
+ },
315
+ { label: 'FAQs', url: `${this.mainSiteBaseUrl()}/faq` },
316
+ ],
211
317
  },
212
318
  ],
213
- auxiliaryLink: {
214
- label: 'See all Services',
215
- url: `${mainSiteBaseUri}/services`,
216
- },
217
319
  },
218
- otherSections: [
219
- {
220
- title: 'Getting Materials',
221
- links: [
222
- {
223
- label: 'Checkout out Materials',
224
- url: `${mainSiteBaseUri}/about/checkout-privileges`,
225
- },
226
- { label: 'Holds & Renewals', url: `${mainSiteBaseUri}/services/holds` },
227
- {
228
- label: 'Borrow from another Library (ILL)',
229
- url: `${mainSiteBaseUri}/services/interlibrary-loan`,
230
- },
231
- ],
232
- },
233
- {
234
- title: 'Other',
235
- links: [
236
- {
237
- label: 'Internships, Fellowships and Grants',
238
- url: `${mainSiteBaseUri}/services?categories=internships-fellowships-grants`,
239
- },
240
- {
241
- label: 'Programs',
242
- url: `${mainSiteBaseUri}/services?categories=programs`,
243
- },
244
- {
245
- label: 'Scholarly Publishing',
246
- url: `${mainSiteBaseUri}/services?categories=creating-and-publishing-materials`,
247
- },
248
- ],
249
- },
250
- ],
251
- },
252
- {
253
- title: 'Ask Us',
254
- otherSections: [
255
- {
256
- title: 'Get Help',
257
- links: [
258
- {
259
- label: 'Ask a Librarian',
260
- url: `${mainSiteBaseUri}/chat?url=${window.location.href}`,
261
- icon: 'chat_bubble',
262
- },
263
- {
264
- label: 'Library Instruction',
265
- url: `${mainSiteBaseUri}/library-instruction`,
266
- },
267
- { label: 'Research Guides', url: `${mainSiteBaseUri}/guides` },
268
- {
269
- label: 'Help & Guidance',
270
- url: `${mainSiteBaseUri}/services?categories=help-and-guidance`,
271
- },
272
- ],
273
- },
274
- {
275
- title: 'Find a...',
276
- links: [
277
- { label: 'Department', url: `${mainSiteBaseUri}/directory` },
278
- { label: 'Help Desk', url: `${mainSiteBaseUri}/services/help-desks` },
279
- { label: 'Library Employee by Name', url: `${mainSiteBaseUri}/directory` },
280
- {
281
- label: 'Subject Librarian',
282
- url: `${mainSiteBaseUri}/directory#browse-by-subject`,
283
- },
284
- ],
285
- },
286
- {
287
- title: 'About the Library',
288
- links: [
289
- { label: 'General Information', url: `${mainSiteBaseUri}/about` },
290
- { label: 'FAQs', url: `${mainSiteBaseUri}/faq` },
291
- ],
292
- },
293
- ],
294
- },
295
- ];
320
+ ];
321
+ });
296
322
  }
297
323
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
298
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NavBarComponent, isStandalone: true, selector: "lib-nav-bar", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "dropdownComps", predicate: NavBarDropdownComponent, descendants: true }], ngImport: i0, template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ desktop: !isScreenSmall() }\"\n data-testid=\"nav\"\n>\n <ul class=\"nav-bar\">\n <li id=\"navHome\">\n <a href=\"https://lib.byu.edu\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos; track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n >\n <div class=\"content\">\n @if (navInfo.mainSection) {\n <section>\n <h2>{{ navInfo.mainSection.title }}</h2>\n <ul class=\"main links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3>{{ section.title }}</h3>\n <ul class=\"links\">\n @for (link of section.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n </li>\n }\n </ul>\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" href=\"https://lib.byu.edu/search\">\n @if (isScreenSmall()) {\n Search\n }\n <span class=\"material-symbols-outlined\" [ngClass]=\"{ icon: isScreenSmall() }\">\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.desktop .nav-bar li#navHome a,nav.desktop .nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.desktop .nav-bar li#navHome a .icon,nav.desktop .nav-bar li #navSearch .icon{font-size:1.3em;margin-bottom:-.1em}nav.desktop .nav-bar li#navHome a:hover,nav.desktop .nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box}.icon-right{margin-left:.4em}nav{background-color:#0047ba;position:relative;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .nav-bar .links{padding:0}nav .nav-bar li{width:100%}nav .nav-bar li#navHome .icon{margin-right:.2em}nav .nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .nav-bar li #navSearch .icon{margin-left:.2em}nav .nav-bar li .content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .nav-bar li .content section{padding-left:3em}nav .nav-bar li .content section:first-of-type{padding-top:1em}nav .nav-bar li .content section h2,nav .nav-bar li .content section h3{font-weight:600;font-size:1.4em;margin-bottom:.2em}nav .nav-bar li .content section+section{margin-top:1.8em}nav .nav-bar li .content section li a{padding:.4em .6em}nav .nav-bar li .content section .see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .nav-bar li .content section .no-see-all{margin-bottom:1em}nav .nav-bar li .content section .main{padding-bottom:.4em}nav.desktop{overflow:initial;background-color:#fff;padding:0 2em}nav.desktop .nav-bar{flex-direction:row;align-items:center}nav.desktop .nav-bar .links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.desktop .nav-bar .links li{width:100%}nav.desktop .nav-bar .links li a{transition:background-color .1s ease-in-out}nav.desktop .nav-bar .links li a:hover{background-color:#fff3;width:100%}nav.desktop .nav-bar li{width:auto;height:100%}nav.desktop .nav-bar li #navSearch{color:#002e5d;transition:all .2s ease-in-out;background-color:transparent}nav.desktop .nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.desktop .nav-bar li .content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.desktop .nav-bar li .content section{padding-top:0;padding-left:5%;width:30em}nav.desktop .nav-bar li .content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.desktop .nav-bar li .content section .see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.desktop .nav-bar li .content section .see-all:hover{color:#ffffffd9}nav.desktop .nav-bar li .content h2,nav.desktop .nav-bar li .content h3{color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NavBarDropdownComponent, selector: "lib-nav-bar-dropdown", inputs: ["title", "isSmallScreen"], outputs: ["openEvent"] }] }); }
324
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NavBarComponent, isStandalone: true, selector: "lib-nav-bar", inputs: { mainSiteBaseUrl: { classPropertyName: "mainSiteBaseUrl", publicName: "mainSiteBaseUrl", isSignal: true, isRequired: true, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "dropdownComps", predicate: NavBarDropdownComponent, descendants: true }], ngImport: i0, template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n data-testid=\"nav\"\n>\n <ul class=\"hbll-header-nav-bar\">\n <li id=\"navHome\">\n <a [href]=\"mainSiteBaseUrl()\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined hbll-header-icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos(); track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n >\n <div\n class=\"hbll-header-content\"\n [ngStyle]=\"{\n 'background-color': isScreenSmall() ? '#336cc8' : 'inherit',\n }\"\n >\n @if (navInfo.mainSection) {\n <section>\n <h2>{{ navInfo.mainSection.title }}</h2>\n <ul class=\"hbll-header-main hbll-header-links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3>{{ section.title }}</h3>\n <ul class=\"hbll-header-links\">\n @for (link of section.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined hbll-header-icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n </li>\n }\n </ul>\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" [href]=\"mainSiteBaseUrl + '/search'\">\n @if (isScreenSmall()) {\n Search\n }\n <span\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'hbll-header-icon': isScreenSmall() }\"\n >\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a .hbll-header-icon,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a:hover,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-icon-right{margin-left:.4em;font-size:1.2em}nav{background-color:#0047ba;position:absolute;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none;width:100vw;max-width:400px;right:0}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .hbll-header-nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .hbll-header-nav-bar .hbll-header-links{padding:0}nav .hbll-header-nav-bar li{width:100%}nav .hbll-header-nav-bar li#navHome .hbll-header-icon{margin-right:.2em}nav .hbll-header-nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .hbll-header-nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .hbll-header-nav-bar li #navSearch .hbll-header-icon{margin-left:.2em}nav .hbll-header-nav-bar li .hbll-header-content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .hbll-header-nav-bar li .hbll-header-content section{padding-left:3em}nav .hbll-header-nav-bar li .hbll-header-content section:first-of-type{padding-top:1em}nav .hbll-header-nav-bar li .hbll-header-content section h2,nav .hbll-header-nav-bar li .hbll-header-content section h3{font-weight:600;font-size:1.4em;margin-bottom:.4em}nav .hbll-header-nav-bar li .hbll-header-content section+section{margin-top:1.8em}nav .hbll-header-nav-bar li .hbll-header-content section li a{padding:.6em .8em;margin:.2em 0}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-no-see-all{margin-bottom:1em}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-main{padding-bottom:.4em}nav.hbll-header-desktop{overflow:initial;background-color:#fff;padding:0 2em;position:relative;max-width:100%}nav.hbll-header-desktop .hbll-header-nav-bar{flex-direction:row;align-items:center}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li{width:100%}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a{transition:background-color .1s ease-in-out}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a:hover{background-color:#fff3;width:100%}nav.hbll-header-desktop .hbll-header-nav-bar li{width:auto;height:100%}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{transition:all .2s ease-in-out;font-size:.8em;background-color:transparent}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section{padding-top:0;padding-left:5%;width:30em}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all:hover{color:#ffffffd9}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h2,nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h3{color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: NavBarDropdownComponent, selector: "lib-nav-bar-dropdown", inputs: ["title", "isSmallScreen"], outputs: ["openEvent"] }] }); }
299
325
  }
300
326
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarComponent, decorators: [{
301
327
  type: Component,
302
- args: [{ selector: 'lib-nav-bar', standalone: true, imports: [CommonModule, NavBarDropdownComponent], template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ desktop: !isScreenSmall() }\"\n data-testid=\"nav\"\n>\n <ul class=\"nav-bar\">\n <li id=\"navHome\">\n <a href=\"https://lib.byu.edu\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos; track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n >\n <div class=\"content\">\n @if (navInfo.mainSection) {\n <section>\n <h2>{{ navInfo.mainSection.title }}</h2>\n <ul class=\"main links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3>{{ section.title }}</h3>\n <ul class=\"links\">\n @for (link of section.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n </li>\n }\n </ul>\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" href=\"https://lib.byu.edu/search\">\n @if (isScreenSmall()) {\n Search\n }\n <span class=\"material-symbols-outlined\" [ngClass]=\"{ icon: isScreenSmall() }\">\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.desktop .nav-bar li#navHome a,nav.desktop .nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.desktop .nav-bar li#navHome a .icon,nav.desktop .nav-bar li #navSearch .icon{font-size:1.3em;margin-bottom:-.1em}nav.desktop .nav-bar li#navHome a:hover,nav.desktop .nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box}.icon-right{margin-left:.4em}nav{background-color:#0047ba;position:relative;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .nav-bar .links{padding:0}nav .nav-bar li{width:100%}nav .nav-bar li#navHome .icon{margin-right:.2em}nav .nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .nav-bar li #navSearch .icon{margin-left:.2em}nav .nav-bar li .content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .nav-bar li .content section{padding-left:3em}nav .nav-bar li .content section:first-of-type{padding-top:1em}nav .nav-bar li .content section h2,nav .nav-bar li .content section h3{font-weight:600;font-size:1.4em;margin-bottom:.2em}nav .nav-bar li .content section+section{margin-top:1.8em}nav .nav-bar li .content section li a{padding:.4em .6em}nav .nav-bar li .content section .see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .nav-bar li .content section .no-see-all{margin-bottom:1em}nav .nav-bar li .content section .main{padding-bottom:.4em}nav.desktop{overflow:initial;background-color:#fff;padding:0 2em}nav.desktop .nav-bar{flex-direction:row;align-items:center}nav.desktop .nav-bar .links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.desktop .nav-bar .links li{width:100%}nav.desktop .nav-bar .links li a{transition:background-color .1s ease-in-out}nav.desktop .nav-bar .links li a:hover{background-color:#fff3;width:100%}nav.desktop .nav-bar li{width:auto;height:100%}nav.desktop .nav-bar li #navSearch{color:#002e5d;transition:all .2s ease-in-out;background-color:transparent}nav.desktop .nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.desktop .nav-bar li .content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.desktop .nav-bar li .content section{padding-top:0;padding-left:5%;width:30em}nav.desktop .nav-bar li .content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.desktop .nav-bar li .content section .see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.desktop .nav-bar li .content section .see-all:hover{color:#ffffffd9}nav.desktop .nav-bar li .content h2,nav.desktop .nav-bar li .content h3{color:#fff}\n"] }]
328
+ args: [{ selector: 'lib-nav-bar', standalone: true, imports: [CommonModule, NavBarDropdownComponent], template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n data-testid=\"nav\"\n>\n <ul class=\"hbll-header-nav-bar\">\n <li id=\"navHome\">\n <a [href]=\"mainSiteBaseUrl()\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined hbll-header-icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos(); track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n >\n <div\n class=\"hbll-header-content\"\n [ngStyle]=\"{\n 'background-color': isScreenSmall() ? '#336cc8' : 'inherit',\n }\"\n >\n @if (navInfo.mainSection) {\n <section>\n <h2>{{ navInfo.mainSection.title }}</h2>\n <ul class=\"hbll-header-main hbll-header-links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3>{{ section.title }}</h3>\n <ul class=\"hbll-header-links\">\n @for (link of section.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined hbll-header-icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n </li>\n }\n </ul>\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" [href]=\"mainSiteBaseUrl + '/search'\">\n @if (isScreenSmall()) {\n Search\n }\n <span\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'hbll-header-icon': isScreenSmall() }\"\n >\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a .hbll-header-icon,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a:hover,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-icon-right{margin-left:.4em;font-size:1.2em}nav{background-color:#0047ba;position:absolute;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none;width:100vw;max-width:400px;right:0}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .hbll-header-nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .hbll-header-nav-bar .hbll-header-links{padding:0}nav .hbll-header-nav-bar li{width:100%}nav .hbll-header-nav-bar li#navHome .hbll-header-icon{margin-right:.2em}nav .hbll-header-nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .hbll-header-nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .hbll-header-nav-bar li #navSearch .hbll-header-icon{margin-left:.2em}nav .hbll-header-nav-bar li .hbll-header-content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .hbll-header-nav-bar li .hbll-header-content section{padding-left:3em}nav .hbll-header-nav-bar li .hbll-header-content section:first-of-type{padding-top:1em}nav .hbll-header-nav-bar li .hbll-header-content section h2,nav .hbll-header-nav-bar li .hbll-header-content section h3{font-weight:600;font-size:1.4em;margin-bottom:.4em}nav .hbll-header-nav-bar li .hbll-header-content section+section{margin-top:1.8em}nav .hbll-header-nav-bar li .hbll-header-content section li a{padding:.6em .8em;margin:.2em 0}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-no-see-all{margin-bottom:1em}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-main{padding-bottom:.4em}nav.hbll-header-desktop{overflow:initial;background-color:#fff;padding:0 2em;position:relative;max-width:100%}nav.hbll-header-desktop .hbll-header-nav-bar{flex-direction:row;align-items:center}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li{width:100%}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a{transition:background-color .1s ease-in-out}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a:hover{background-color:#fff3;width:100%}nav.hbll-header-desktop .hbll-header-nav-bar li{width:auto;height:100%}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{transition:all .2s ease-in-out;font-size:.8em;background-color:transparent}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section{padding-top:0;padding-left:5%;width:30em}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all:hover{color:#ffffffd9}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h2,nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h3{color:#fff}\n"] }]
303
329
  }], propDecorators: { dropdownComps: [{
304
330
  type: ViewChildren,
305
331
  args: [NavBarDropdownComponent]
306
332
  }] } });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvaGJsbC1oZWFkZXIvbmF2LWJhci9uYXYtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWhlYWRlci9uYXYtYmFyL25hdi1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFvQnpELE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDO0FBUzlDLE1BQU0sT0FBTyxlQUFlO0lBUDVCO1FBUVksT0FBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXhDLFdBQU0sR0FBRyxLQUFLLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBSXBDLDhFQUE4RTtRQUNwRSw0QkFBdUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxhQUFhO2lCQUNiLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEtBQUssQ0FBQztpQkFDeEMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxD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IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2QmFyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9uYXYtYmFyLWRyb3Bkb3duL25hdi1iYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IGlzU2NyZWVuU21hbGxTaWduYWwgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxudHlwZSBOYXZJbmZvID0ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgbWFpblNlY3Rpb24/OiBTZWN0aW9uO1xuICAgIG90aGVyU2VjdGlvbnM6IFNlY3Rpb25bXTtcbn07XG5cbnR5cGUgU2VjdGlvbiA9IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGxpbmtzOiBMaW5rW107XG4gICAgYXV4aWxpYXJ5TGluaz86IExpbms7XG59O1xuXG50eXBlIExpbmsgPSB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xufTtcblxuY29uc3QgbWFpblNpdGVCYXNlVXJpID0gJ2h0dHBzOi8vbGliLmJ5dS5lZHUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1uYXYtYmFyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5hdkJhckRyb3Bkb3duQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL25hdi1iYXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZCYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgYm8gPSBpbmplY3QoQnJlYWtwb2ludE9ic2VydmVyKTtcblxuICAgIGhlaWdodCA9IGlucHV0PG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gICAgQFZpZXdDaGlsZHJlbihOYXZCYXJEcm9wZG93bkNvbXBvbmVudCkgZHJvcGRvd25Db21wcyE6IE5hdkJhckRyb3Bkb3duQ29tcG9uZW50W107XG5cbiAgICAvLyBJZiBhbnkgc2VjdGlvbiBvcGVucyB1cCwgY2xvc2UgYWxsIG90aGVycy4gT25seSBvbmUgc2VjdGlvbiBvcGVuIGF0IGEgdGltZS5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlRHJvcGRvd25PcGVuRXZlbnQgPSAodGl0bGU6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmRyb3Bkb3duQ29tcHNcbiAgICAgICAgICAgIC5maWx0ZXIoKGNvbXApID0+IGNvbXAudGl0bGUoKSAhPT0gdGl0bGUpXG4gICAgICAgICAgICAuZm9yRWFjaCgoY29tcCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXAuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBpc1NjcmVlblNtYWxsID0gaXNTY3JlZW5TbWFsbFNpZ25hbCh0aGlzLmJvKTtcblxuICAgIHByb3RlY3RlZCBuYXZJbmZvczogTmF2SW5mb1tdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ01hdGVyaWFscycsXG4gICAgICAgICAgICBtYWluU2VjdGlvbjoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnRm9ybWF0cycsXG4gICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FydGljbGVzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2FydGljbGVzYCB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQXVkaW8nLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vYXVkaW9gIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdCb29rcycsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9ib29rc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ1ZpZGVvJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3ZpZGVvYCB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1NlZSBhbGwgZm9ybWF0cycsXG4gICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9mb3JtYXRzYCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnUmVzb3VyY2UgQ29sbGVjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3ViamVjdCBBcmVhIENvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vY29sbGVjdGlvbnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdEYXRhYmFzZXMnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vZGF0YWJhc2VzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0pvdXJuYWxzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2pvdXJuYWxzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnVGhlc2VzICYgRGlzc2VydGF0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3RoZXNlcy1hbmQtZGlzc2VydGF0aW9uc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0VxdWlwbWVudCcsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUgZm9yIENoZWNrb3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1hdmFpbGFibGUtZm9yLWNoZWNrb3V0YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUgd2l0aCBSZXNlcnZhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9YXZhaWxhYmxlLXZpYS1yZXNlcnZhdGlvbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUHVibGljIENvbXB1dGVycycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL3B1YmxpYy1jb21wdXRlcnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1ByaW50ZXJzIGFuZCBDb3B5aW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1wcmludGluZy1hbmQtY29weWluZ2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ1BsYWNlcycsXG4gICAgICAgICAgICBtYWluU2VjdGlvbjoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnUG9wdWxhciBQbGFjZXMnLFxuICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdIZWxwIERlc2tzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL2hlbHAtZGVza3NgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdGYW1pbHkgSGlzdG9yeScsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9yZWxpZ2lvbi1mYW1pbHktaGlzdG9yeWAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBhbmQgV3JpdGluZyBDZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL3Jlc2VhcmNoLWFuZC13cml0aW5nLWNlbnRlcmAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdTcGVjaWFsIENvbGxlY3Rpb25zJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NwZWNpYWwtY29sbGVjdGlvbnNgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBhdXhpbGlhcnlMaW5rOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnVmlldyBGbG9vciBNYXBzJyxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2Zsb29ybWFwc2AsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1NwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDb2xsZWN0aW9ucyAmIEFyY2hpdmVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jb2xsZWN0aW9ucy1hbmQtYXJjaGl2ZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0dyb3VwIFN0dWR5IFNwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL2dyb3VwLXN0dWR5LXJvb21zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbmRpdmlkdWFsIFN0dWR5IFNwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aW5kaXZpZHVhbC1zdHVkeS1zcGFjZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ011bHRpbWVkaWEgQ3JlYXRpb24gU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1tdWx0aW1lZGlhLWNyZWF0aW9uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdWaWRlbyBWaWV3IFNwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9dmlkZW8tdmlld2luZ2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1Jvb21zJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NsYXNzcm9vbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWNsYXNzcm9vbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NvbmZlcmVuY2UgUm9vbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWNvbmZlcmVuY2Utcm9vbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xhYnMgJiBDZW50ZXJzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1sYWJzLWFuZC1jZW50ZXJzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBSb29tcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9cmVzZWFyY2gtcm9vbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6ICdFeHBlcmllbmNlcycsXG4gICAgICAgICAgICBtYWluU2VjdGlvbjoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnRXZlbnRzJyxcbiAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NvbmNlcnRzICYgRmlsbSBTaG93aW5ncycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXMvbW90aW9uLXBpY3R1cmUtYXJjaGl2ZS1zZXJpZXNgLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTGVjdHVyZXMnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1sZWN0dXJlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ05ld3MnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vYWJvdXQvbmV3c2AgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgY2FsZW5kYXIgb2YgZXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2V2ZW50c2AsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0xlYXJuaW5nIE9wcG9ydHVuaXRpZXMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTGlicmFyeSBJbnN0cnVjdGlvbiBDbGFzc2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vbGlicmFyeS1pbnN0cnVjdGlvbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU29mdHdhcmUgVHJhaW5pbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcy9zb2Z0d2FyZS10cmFpbmluZ2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnRmFtaWx5IEhpc3RvcnkgQ2xhc3NlcyAmIFdlYmluYXJzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXMvZmFtaWx5LWhpc3RvcnktY2xhc3Nlc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Rpc3BsYXlzJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdFeGhpYml0cycsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9leGhpYml0c2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0dhbGxlcmllcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Z2FsbGVyaWVzLWFuZC1leGhpYml0c2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ1NlcnZpY2VzJyxcbiAgICAgICAgICAgIG1haW5TZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdTZXJ2aWNlcyBGb3InLFxuICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ3VycmVudCBTdHVkZW50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1mb3Itc3R1ZGVudHNgLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhY3VsdHkgYW5kIFN0YWZmJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWZvci1mYWN1bHR5YCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXRpcmVlcyBhbmQgQWx1bW5pJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWZvci1yZXRpcmVlc2AsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnVmlzaXRvcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLXZpc2l0b3JzYCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgYWxsIFNlcnZpY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzYCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnR2V0dGluZyBNYXRlcmlhbHMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ2hlY2tvdXQgb3V0IE1hdGVyaWFscycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2Fib3V0L2NoZWNrb3V0LXByaXZpbGVnZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdIb2xkcyAmIFJlbmV3YWxzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL2hvbGRzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQm9ycm93IGZyb20gYW5vdGhlciBMaWJyYXJ5IChJTEwpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXMvaW50ZXJsaWJyYXJ5LWxvYW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdPdGhlcicsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbnRlcm5zaGlwcywgRmVsbG93c2hpcHMgYW5kIEdyYW50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aW50ZXJuc2hpcHMtZmVsbG93c2hpcHMtZ3JhbnRzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdQcm9ncmFtcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9cHJvZ3JhbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1NjaG9sYXJseSBQdWJsaXNoaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jcmVhdGluZy1hbmQtcHVibGlzaGluZy1tYXRlcmlhbHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6ICdBc2sgVXMnLFxuXG4gICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0dldCBIZWxwJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0FzayBhIExpYnJhcmlhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2NoYXQ/dXJsPSR7d2luZG93LmxvY2F0aW9uLmhyZWZ9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnY2hhdF9idWJibGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xpYnJhcnkgSW5zdHJ1Y3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9saWJyYXJ5LWluc3RydWN0aW9uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnUmVzZWFyY2ggR3VpZGVzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2d1aWRlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0hlbHAgJiBHdWlkYW5jZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aGVscC1hbmQtZ3VpZGFuY2VgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdGaW5kIGEuLi4nLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0RlcGFydG1lbnQnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vZGlyZWN0b3J5YCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0hlbHAgRGVzaycsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcy9oZWxwLWRlc2tzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0xpYnJhcnkgRW1wbG95ZWUgYnkgTmFtZScsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9kaXJlY3RvcnlgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTdWJqZWN0IExpYnJhcmlhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2RpcmVjdG9yeSNicm93c2UtYnktc3ViamVjdGAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Fib3V0IHRoZSBMaWJyYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdHZW5lcmFsIEluZm9ybWF0aW9uJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2Fib3V0YCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0ZBUXMnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vZmFxYCB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgIF07XG59XG4iLCI8bmF2XG4gICAgW3N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQoKSA/IGhlaWdodCgpICsgJ3B4JyA6ICdhdXRvJyB9XCJcbiAgICBbbmdDbGFzc109XCJ7IGRlc2t0b3A6ICFpc1NjcmVlblNtYWxsKCkgfVwiXG4gICAgZGF0YS10ZXN0aWQ9XCJuYXZcIlxuPlxuICAgIDx1bCBjbGFzcz1cIm5hdi1iYXJcIj5cbiAgICAgICAgPGxpIGlkPVwibmF2SG9tZVwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vbGliLmJ5dS5lZHVcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGlzU2NyZWVuU21hbGwoKSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvblwiPiBob21lIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgSG9tZVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgICBAZm9yIChuYXZJbmZvIG9mIG5hdkluZm9zOyB0cmFjayBuYXZJbmZvLnRpdGxlKSB7XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPGxpYi1uYXYtYmFyLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJuYXZJbmZvLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzU21hbGxTY3JlZW5dPVwiaXNTY3JlZW5TbWFsbCgpID8/IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAob3BlbkV2ZW50KT1cImhhbmRsZURyb3Bkb3duT3BlbkV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmF2SW5mby5tYWluU2VjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+e3sgbmF2SW5mby5tYWluU2VjdGlvbi50aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm1haW4gbGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2YgbmF2SW5mby5tYWluU2VjdGlvbi5saW5rczsgdHJhY2sgbGluay5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay51cmxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VlLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hldnJvbl9yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHNlY3Rpb24gb2YgbmF2SW5mby5vdGhlclNlY3Rpb25zOyB0cmFjayBzZWN0aW9uLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57eyBzZWN0aW9uLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2Ygc2VjdGlvbi5saW5rczsgdHJhY2sgbGluay5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay51cmxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGluay5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGluay5pY29uIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbGliLW5hdi1iYXItZHJvcGRvd24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxhIGlkPVwibmF2U2VhcmNoXCIgaHJlZj1cImh0dHBzOi8vbGliLmJ5dS5lZHUvc2VhcmNoXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpc1NjcmVlblNtYWxsKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgU2VhcmNoXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiIFtuZ0NsYXNzXT1cInsgaWNvbjogaXNTY3JlZW5TbWFsbCgpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L25hdj5cbiJdfQ==
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvaGJsbC1oZWFkZXIvbmF2LWJhci9uYXYtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWhlYWRlci9uYXYtYmFyL25hdi1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBMkJ6RCxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQVFZLE9BQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN4QyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxXQUFNLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUlwQyw4RUFBOEU7UUFDcEUsNEJBQXVCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsYUFBYTtpQkFDYixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUFLLENBQUM7aUJBQ3hDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FB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QUUsdUJBQXVCLENBQUM7OEJBU1QsYUFBYTtzQkFBbkQsWUFBWTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgU2lnbmFsLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkJhckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LWJhci1kcm9wZG93bi9uYXYtYmFyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpc1NjcmVlblNtYWxsU2lnbmFsIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbnR5cGUgTmF2SW5mbyA9IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIG1haW5TZWN0aW9uPzogU2VjdGlvbjtcbiAgICBvdGhlclNlY3Rpb25zOiBTZWN0aW9uW107XG59O1xuXG50eXBlIFNlY3Rpb24gPSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBsaW5rczogTGlua1tdO1xuICAgIGF1eGlsaWFyeUxpbms/OiBMaW5rO1xufTtcblxudHlwZSBMaW5rID0ge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLW5hdi1iYXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmF2QmFyRHJvcGRvd25Db21wb25lbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vbmF2LWJhci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE5hdkJhckNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBibyA9IGluamVjdChCcmVha3BvaW50T2JzZXJ2ZXIpO1xuICAgIG1haW5TaXRlQmFzZVVybCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgICBoZWlnaHQgPSBpbnB1dDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oTmF2QmFyRHJvcGRvd25Db21wb25lbnQpIGRyb3Bkb3duQ29tcHMhOiBOYXZCYXJEcm9wZG93bkNvbXBvbmVudFtdO1xuXG4gICAgLy8gSWYgYW55IHNlY3Rpb24gb3BlbnMgdXAsIGNsb3NlIGFsbCBvdGhlcnMuIE9ubHkgb25lIHNlY3Rpb24gb3BlbiBhdCBhIHRpbWUuXG4gICAgcHJvdGVjdGVkIGhhbmRsZURyb3Bkb3duT3BlbkV2ZW50ID0gKHRpdGxlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBzXG4gICAgICAgICAgICAuZmlsdGVyKChjb21wKSA9PiBjb21wLnRpdGxlKCkgIT09IHRpdGxlKVxuICAgICAgICAgICAgLmZvckVhY2goKGNvbXApID0+IHtcbiAgICAgICAgICAgICAgICBjb21wLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgaXNTY3JlZW5TbWFsbCA9IGlzU2NyZWVuU21hbGxTaWduYWwodGhpcy5ibyk7XG5cbiAgICBwcm90ZWN0ZWQgbmF2SW5mb3M6IFNpZ25hbDxOYXZJbmZvW10+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnTWF0ZXJpYWxzJyxcbiAgICAgICAgICAgICAgICBtYWluU2VjdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Zvcm1hdHMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FydGljbGVzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9hcnRpY2xlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdBdWRpbycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYXVkaW9gIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQm9va3MnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2Jvb2tzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ1ZpZGVvJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS92aWRlb2AgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgYWxsIGZvcm1hdHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9mb3JtYXRzYCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZXNvdXJjZSBDb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTdWJqZWN0IEFyZWEgQ29sbGVjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2NvbGxlY3Rpb25zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdEYXRhYmFzZXMnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2RhdGFiYXNlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnSm91cm5hbHMnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2pvdXJuYWxzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdUaGVzZXMgJiBEaXNzZXJ0YXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS90aGVzZXMtYW5kLWRpc3NlcnRhdGlvbnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0VxdWlwbWVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUgZm9yIENoZWNrb3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWF2YWlsYWJsZS1mb3ItY2hlY2tvdXRgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0F2YWlsYWJsZSB3aXRoIFJlc2VydmF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWF2YWlsYWJsZS12aWEtcmVzZXJ2YXRpb25gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1B1YmxpYyBDb21wdXRlcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL3B1YmxpYy1jb21wdXRlcnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1ByaW50ZXJzIGFuZCBDb3B5aW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPXByaW50aW5nLWFuZC1jb3B5aW5nYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1BsYWNlcycsXG4gICAgICAgICAgICAgICAgbWFpblNlY3Rpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdQb3B1bGFyIFBsYWNlcycsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIZWxwIERlc2tzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL2hlbHAtZGVza3NgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhbWlseSBIaXN0b3J5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3JlbGlnaW9uLWZhbWlseS1oaXN0b3J5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBhbmQgV3JpdGluZyBDZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvcmVzZWFyY2gtYW5kLXdyaXRpbmctY2VudGVyYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTcGVjaWFsIENvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NwZWNpYWwtY29sbGVjdGlvbnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdWaWV3IEZsb29yIE1hcHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9mbG9vcm1hcHNgLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3RoZXJTZWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1NwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDb2xsZWN0aW9ucyAmIEFyY2hpdmVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWNvbGxlY3Rpb25zLWFuZC1hcmNoaXZlc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnR3JvdXAgU3R1ZHkgU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9ncm91cC1zdHVkeS1yb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSW5kaXZpZHVhbCBTdHVkeSBTcGFjZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aW5kaXZpZHVhbC1zdHVkeS1zcGFjZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ011bHRpbWVkaWEgQ3JlYXRpb24gU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPW11bHRpbWVkaWEtY3JlYXRpb25gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1ZpZGVvIFZpZXcgU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPXZpZGVvLXZpZXdpbmdgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1Jvb21zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NsYXNzcm9vbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Y2xhc3Nyb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29uZmVyZW5jZSBSb29tcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jb25mZXJlbmNlLXJvb21zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMYWJzICYgQ2VudGVycycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1sYWJzLWFuZC1jZW50ZXJzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBSb29tcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1yZXNlYXJjaC1yb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdFeHBlcmllbmNlcycsXG4gICAgICAgICAgICAgICAgbWFpblNlY3Rpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdFdmVudHMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29uY2VydHMgJiBGaWxtIFNob3dpbmdzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL21vdGlvbi1waWN0dXJlLWFyY2hpdmUtc2VyaWVzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMZWN0dXJlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWxlY3R1cmVzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTmV3cycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYWJvdXQvbmV3c2AgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgY2FsZW5kYXIgb2YgZXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZXZlbnRzYCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdMZWFybmluZyBPcHBvcnR1bml0aWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xpYnJhcnkgSW5zdHJ1Y3Rpb24gQ2xhc3NlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vbGlicmFyeS1pbnN0cnVjdGlvbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU29mdHdhcmUgVHJhaW5pbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL3NvZnR3YXJlLXRyYWluaW5nYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdGYW1pbHkgSGlzdG9yeSBDbGFzc2VzICYgV2ViaW5hcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL2ZhbWlseS1oaXN0b3J5LWNsYXNzZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Rpc3BsYXlzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0V4aGliaXRzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9leGhpYml0c2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnR2FsbGVyaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWdhbGxlcmllcy1hbmQtZXhoaWJpdHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnU2VydmljZXMnLFxuICAgICAgICAgICAgICAgIG1haW5TZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnU2VydmljZXMgRm9yJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0N1cnJlbnQgU3R1ZGVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1mb3Itc3R1ZGVudHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhY3VsdHkgYW5kIFN0YWZmJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLWZhY3VsdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1JldGlyZWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLXJldGlyZWVzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdWaXNpdG9ycyBhbmQgQWx1bW5pJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLXZpc2l0b3JzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU2VlIGFsbCBTZXJ2aWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzYCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdHZXR0aW5nIE1hdGVyaWFscycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDaGVja291dCBvdXQgTWF0ZXJpYWxzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9hYm91dC9jaGVja291dC1wcml2aWxlZ2VzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIb2xkcyAmIFJlbmV3YWxzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9ob2xkc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQm9ycm93IGZyb20gYW5vdGhlciBMaWJyYXJ5IChJTEwpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9pbnRlcmxpYnJhcnktbG9hbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnT3RoZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSW50ZXJuc2hpcHMsIEZlbGxvd3NoaXBzIGFuZCBHcmFudHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aW50ZXJuc2hpcHMtZmVsbG93c2hpcHMtZ3JhbnRzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdQcm9ncmFtcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1wcm9ncmFtc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU2Nob2xhcmx5IFB1Ymxpc2hpbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Y3JlYXRpbmctYW5kLXB1Ymxpc2hpbmctbWF0ZXJpYWxzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0FzayBVcycsXG5cbiAgICAgICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnR2V0IEhlbHAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQXNrIGEgTGlicmFyaWFuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9jaGF0P3VybD0ke3dpbmRvdy5sb2NhdGlvbi5ocmVmfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdjaGF0X2J1YmJsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTGlicmFyeSBJbnN0cnVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vbGlicmFyeS1pbnN0cnVjdGlvbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnUmVzZWFyY2ggR3VpZGVzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9ndWlkZXNgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0hlbHAgJiBHdWlkYW5jZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1oZWxwLWFuZC1ndWlkYW5jZWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRmluZCBhLi4uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0RlcGFydG1lbnQnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2RpcmVjdG9yeWAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSGVscCBEZXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9oZWxwLWRlc2tzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMaWJyYXJ5IEVtcGxveWVlIGJ5IE5hbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2RpcmVjdG9yeWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3ViamVjdCBMaWJyYXJpYW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2RpcmVjdG9yeSNicm93c2UtYnktc3ViamVjdGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQWJvdXQgdGhlIExpYnJhcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnR2VuZXJhbCBJbmZvcm1hdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYWJvdXRgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0ZBUXMnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2ZhcWAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfSk7XG59XG4iLCI8bmF2XG4gICAgW3N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQoKSA/IGhlaWdodCgpICsgJ3B4JyA6ICdhdXRvJyB9XCJcbiAgICBbbmdDbGFzc109XCJ7ICdoYmxsLWhlYWRlci1kZXNrdG9wJzogIWlzU2NyZWVuU21hbGwoKSB9XCJcbiAgICBkYXRhLXRlc3RpZD1cIm5hdlwiXG4+XG4gICAgPHVsIGNsYXNzPVwiaGJsbC1oZWFkZXItbmF2LWJhclwiPlxuICAgICAgICA8bGkgaWQ9XCJuYXZIb21lXCI+XG4gICAgICAgICAgICA8YSBbaHJlZl09XCJtYWluU2l0ZUJhc2VVcmwoKVwiPlxuICAgICAgICAgICAgICAgIEBpZiAoaXNTY3JlZW5TbWFsbCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWhlYWRlci1pY29uXCI+IGhvbWUgPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBIb21lXG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIEBmb3IgKG5hdkluZm8gb2YgbmF2SW5mb3MoKTsgdHJhY2sgbmF2SW5mby50aXRsZSkge1xuICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgIDxsaWItbmF2LWJhci1kcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwibmF2SW5mby50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpc1NtYWxsU2NyZWVuXT1cImlzU2NyZWVuU21hbGwoKSA/PyB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgKG9wZW5FdmVudCk9XCJoYW5kbGVEcm9wZG93bk9wZW5FdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGJsbC1oZWFkZXItY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBpc1NjcmVlblNtYWxsKCkgPyAnIzMzNmNjOCcgOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChuYXZJbmZvLm1haW5TZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj57eyBuYXZJbmZvLm1haW5TZWN0aW9uLnRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiaGJsbC1oZWFkZXItbWFpbiBoYmxsLWhlYWRlci1saW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAobGluayBvZiBuYXZJbmZvLm1haW5TZWN0aW9uLmxpbmtzOyB0cmFjayBsaW5rLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJsaW5rLnVybFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGluay5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChuYXZJbmZvLm1haW5TZWN0aW9uLmF1eGlsaWFyeUxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWhlYWRlci1zZWUtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJuYXZJbmZvLm1haW5TZWN0aW9uLmF1eGlsaWFyeUxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBuYXZJbmZvLm1haW5TZWN0aW9uLmF1eGlsaWFyeUxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1oZWFkZXItaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGV2cm9uX3JpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoc2VjdGlvbiBvZiBuYXZJbmZvLm90aGVyU2VjdGlvbnM7IHRyYWNrIHNlY3Rpb24udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPnt7IHNlY3Rpb24udGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJoYmxsLWhlYWRlci1saW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAobGluayBvZiBzZWN0aW9uLmxpbmtzOyB0cmFjayBsaW5rLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJsaW5rLnVybFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGluay5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChsaW5rLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1oZWFkZXItaWNvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsaW5rLmljb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saWItbmF2LWJhci1kcm9wZG93bj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgICAgPGxpPlxuICAgICAgICAgICAgPGEgaWQ9XCJuYXZTZWFyY2hcIiBbaHJlZl09XCJtYWluU2l0ZUJhc2VVcmwgKyAnL3NlYXJjaCdcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGlzU2NyZWVuU21hbGwoKSkge1xuICAgICAgICAgICAgICAgICAgICBTZWFyY2hcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaGJsbC1oZWFkZXItaWNvbic6IGlzU2NyZWVuU21hbGwoKSB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=