@byuhbll/components 4.0.0-alpha.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) 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/contact-utils.mjs +41 -0
  4. package/esm2022/lib/copy-tooltip/copy-tooltip.component.mjs +3 -3
  5. package/esm2022/lib/expand-collapse/expand-collapse.component.mjs +3 -3
  6. package/esm2022/lib/hbll-footer/hbll-footer.component.mjs +98 -0
  7. package/esm2022/lib/hbll-header/hbll-header.component.mjs +30 -25
  8. package/esm2022/lib/hbll-header/nav-bar/nav-bar.component.mjs +255 -229
  9. package/esm2022/lib/hbll-header/nav-bar-dropdown/nav-bar-dropdown.component.mjs +3 -3
  10. package/esm2022/lib/header-with-impersonation/header-with-impersonation.component.mjs +39 -0
  11. package/esm2022/lib/impersonate-modal/impersonate-modal.component.mjs +190 -0
  12. package/esm2022/lib/impersonation-banner/impersonation-banner.component.mjs +128 -0
  13. package/esm2022/lib/impersonation-banner/models/application-access.mjs +7 -0
  14. package/esm2022/lib/impersonation-banner/models/person-summary.mjs +15 -0
  15. package/esm2022/lib/models/token-payload.mjs +2 -0
  16. package/esm2022/lib/multi-select/multi-select.component.mjs +115 -0
  17. package/esm2022/lib/pipes/hbll-item-type-icon.pipe.mjs +128 -0
  18. package/esm2022/lib/ss-search-bar/advanced-search/advanced-search.component.mjs +5 -5
  19. package/esm2022/lib/ss-search-bar/date-range/date-range.component.mjs +3 -3
  20. package/esm2022/lib/ss-search-bar/ss-search-bar.component.mjs +3 -3
  21. package/esm2022/lib/utils.mjs +2 -3
  22. package/esm2022/public-api.mjs +7 -2
  23. package/fesm2022/byuhbll-components.mjs +794 -471
  24. package/fesm2022/byuhbll-components.mjs.map +1 -1
  25. package/lib/{hbll-checkbox/hbll-checkbox.component.d.ts → checkbox/checkbox.component.d.ts} +1 -1
  26. package/lib/contact-utils.d.ts +19 -0
  27. package/lib/hbll-footer/hbll-footer.component.d.ts +30 -0
  28. package/lib/hbll-header/hbll-header.component.d.ts +12 -16
  29. package/lib/hbll-header/nav-bar/nav-bar.component.d.ts +5 -3
  30. package/lib/header-with-impersonation/header-with-impersonation.component.d.ts +20 -0
  31. package/lib/{hbll-header/impersonate-modal → impersonate-modal}/impersonate-modal.component.d.ts +3 -1
  32. package/lib/{hbll-impersonation-banner/hbll-impersonation-banner.component.d.ts → impersonation-banner/impersonation-banner.component.d.ts} +8 -7
  33. package/lib/{hbll-multi-select/hbll-multi-select.component.d.ts → multi-select/multi-select.component.d.ts} +1 -1
  34. package/lib/pipes/hbll-item-type-icon.pipe.d.ts +17 -0
  35. package/lib/ss-search-bar/advanced-search/advanced-search.component.d.ts +4 -1
  36. package/package.json +1 -1
  37. package/public-api.d.ts +6 -1
  38. package/styles/scss/_mixins.scss +1 -1
  39. package/styles/scss/_vars.scss +1 -0
  40. package/styles/scss/base.scss +1 -2
  41. package/styles/scss/shared.scss +8 -0
  42. package/esm2022/lib/hbll-checkbox/hbll-checkbox.component.mjs +0 -15
  43. package/esm2022/lib/hbll-header/impersonate-modal/impersonate-modal.component.mjs +0 -188
  44. package/esm2022/lib/hbll-header/models/application-access.mjs +0 -7
  45. package/esm2022/lib/hbll-header/models/person-summary.mjs +0 -15
  46. package/esm2022/lib/hbll-header/models/token-payload.mjs +0 -2
  47. package/esm2022/lib/hbll-impersonation-banner/hbll-impersonation-banner.component.mjs +0 -129
  48. package/esm2022/lib/hbll-multi-select/hbll-multi-select.component.mjs +0 -115
  49. /package/lib/{hbll-header → impersonation-banner}/models/application-access.d.ts +0 -0
  50. /package/lib/{hbll-header → impersonation-banner}/models/person-summary.d.ts +0 -0
  51. /package/lib/{hbll-header/models → models}/token-payload.d.ts +0 -0
@@ -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: 'https://lib.byu.edu/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;font-size:1em}*: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:1.2em;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;font-size:1em}*: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:1.2em;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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvaGJsbC1oZWFkZXIvbmF2LWJhci9uYXYtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWhlYWRlci9uYXYtYmFyL25hdi1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBMkJ6RCxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQVFZLE9BQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN4QyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxXQUFNLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUlwQyw4RUFBOEU7UUFDcEUsNEJBQXVCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsYUFBYTtpQkFDYixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUFLLENBQUM7aUJBQ3hDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQztRQUVRLGtCQUFhLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTdDLGFBQVEsR0FBc0IsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNsRCxPQUFPO2dCQUNIO29CQUNJLEtBQUssRUFBRSxXQUFXO29CQUNsQixXQUFXLEVBQUU7d0JBQ1QsS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLEtBQUssRUFBRTs0QkFDSCxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUU7NEJBQ2hFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRTs0QkFDMUQsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFOzRCQUMxRCxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUU7eUJBQzdEO3dCQUNELGFBQWEsRUFBRTs0QkFDWCxLQUFLLEVBQUUsaUJBQWlCOzRCQUN4QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFVBQVU7eUJBQzNDO3FCQUNKO29CQUNELGFBQWEsRUFBRTt3QkFDWDs0QkFDSSxLQUFLLEVBQUUsc0JBQXNCOzRCQUM3QixLQUFLLEVBQUU7Z0NBQ0g7b0NBQ0ksS0FBSyxFQUFFLDBCQUEwQjtvQ0FDakMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxjQUFjO2lDQUMvQztnQ0FDRCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUU7Z0NBQ2xFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRTtnQ0FDaEU7b0NBQ0ksS0FBSyxFQUFFLHdCQUF3QjtvQ0FDL0IsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSwyQkFBMkI7aUNBQzVEOzZCQUNKO3lCQUNKO3dCQUNEOzRCQUNJLEtBQUssRUFBRSxXQUFXOzRCQUNsQixLQUFLLEVBQUU7Z0NBQ0g7b0NBQ0ksS0FBSyxFQUFFLHdCQUF3QjtvQ0FDL0IsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSw2Q0FBNkM7aUNBQzlFO2dDQUNEO29DQUNJLEtBQUssRUFBRSw0QkFBNEI7b0NBQ25DLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsZ0RBQWdEO2lDQUNqRjtnQ0FDRDtvQ0FDSSxLQUFLLEVBQUUsa0JBQWtCO29DQUN6QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLDRCQUE0QjtpQ0FDN0Q7Z0NBQ0Q7b0NBQ0ksS0FBSyxFQUFFLHNCQUFzQjtvQ0FDN0IsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSwyQ0FBMkM7aUNBQzVFOzZCQUNKO3lCQUNKO3FCQUNKO2lCQUNKO2dCQUNEO29CQUNJLEtBQUssRUFBRSxRQUFRO29CQUNmLFdBQVcsRUFBRTt3QkFDVCxLQUFLLEVBQUUsZ0JBQWdCO3dCQUN2QixLQUFLLEVBQUU7NEJBQ0g7Z0NBQ0ksS0FBSyxFQUFFLFlBQVk7Z0NBQ25CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsc0JBQXNCOzZCQUN2RDs0QkFDRDtnQ0FDSSxLQUFLLEVBQUUsZ0JBQWdCO2dDQUN2QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLDBCQUEwQjs2QkFDM0Q7NEJBQ0Q7Z0NBQ0ksS0FBSyxFQUFFLDZCQUE2QjtnQ0FDcEMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSx1Q0FBdUM7NkJBQ3hFOzRCQUNEO2dDQUNJLEtBQUssRUFBRSxxQkFBcUI7Z0NBQzVCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsc0JBQXNCOzZCQUN2RDt5QkFDSjt3QkFDRCxhQUFhLEVBQUU7NEJBQ1gsS0FBSyxFQUFFLGlCQUFpQjs0QkFDeEIsR0FBRyxFQUFFLCtCQUErQjt5QkFDdkM7cUJBQ0o7b0JBQ0QsYUFBYSxFQUFFO3dCQUNYOzRCQUNJLEtBQUssRUFBRSxRQUFROzRCQUNmLEtBQUssRUFBRTtnQ0FDSDtvQ0FDSSxLQUFLLEVBQUUsd0JBQXdCO29DQUMvQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLCtDQUErQztpQ0FDaEY7Z0NBQ0Q7b0NBQ0ksS0FBSyxFQUFFLG9CQUFvQjtvQ0FDM0IsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSw2QkFBNkI7aUNBQzlEO2dDQUNEO29DQUNJLEtBQUssRUFBRSx5QkFBeUI7b0NBQ2hDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsOENBQThDO2lDQUMvRTtnQ0FDRDtvQ0FDSSxLQUFLLEVBQUUsNEJBQTRCO29DQUNuQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLDBDQUEwQztpQ0FDM0U7Z0NBQ0Q7b0NBQ0ksS0FBSyxFQUFFLG1CQUFtQjtvQ0FDMUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxvQ0FBb0M7aUNBQ3JFOzZCQUNKO3lCQUNKO3dCQUNEOzRCQUNJLEtBQUssRUFBRSxPQUFPOzRCQUNkLEtBQUssRUFBRTtnQ0FDSDtvQ0FDSSxLQUFLLEVBQUUsWUFBWTtvQ0FDbkIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQ0FBaUM7aUNBQ2xFO2dDQUNEO29DQUNJLEtBQUssRUFBRSxrQkFBa0I7b0NBQ3pCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsdUNBQXVDO2lDQUN4RTtnQ0FDRDtvQ0FDSSxLQUFLLEVBQUUsZ0JBQWdCO29DQUN2QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLHVDQUF1QztpQ0FDeEU7Z0NBQ0Q7b0NBQ0ksS0FBSyxFQUFFLGdCQUFnQjtvQ0FDdkIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxxQ0FBcUM7aUNBQ3RFOzZCQUNKO3lCQUNKO3FCQUNKO2lCQUNKO2dCQUNEO29CQUNJLEtBQUssRUFBRSxhQUFhO29CQUNwQixXQUFXLEVBQUU7d0JBQ1QsS0FBSyxFQUFFLFFBQVE7d0JBQ2YsS0FBSyxFQUFFOzRCQUNIO2dDQUNJLEtBQUssRUFBRSwwQkFBMEI7Z0NBQ2pDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUseUNBQXlDOzZCQUMxRTs0QkFDRDtnQ0FDSSxLQUFLLEVBQUUsVUFBVTtnQ0FDakIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSwrQkFBK0I7NkJBQ2hFOzRCQUNELEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRTt5QkFDakU7d0JBQ0QsYUFBYSxFQUFFOzRCQUNYLEtBQUssRUFBRSx3QkFBd0I7NEJBQy9CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUzt5QkFDMUM7cUJBQ0o7b0JBQ0QsYUFBYSxFQUFFO3dCQUNYOzRCQUNJLEtBQUssRUFBRSx3QkFBd0I7NEJBQy9CLEtBQUssRUFBRTtnQ0FDSDtvQ0FDSSxLQUFLLEVBQUUsNkJBQTZCO29DQUNwQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLHNCQUFzQjtpQ0FDdkQ7Z0NBQ0Q7b0NBQ0ksS0FBSyxFQUFFLG1CQUFtQjtvQ0FDMUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSw2QkFBNkI7aUNBQzlEO2dDQUNEO29DQUNJLEtBQUssRUFBRSxtQ0FBbUM7b0NBQzFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsa0NBQWtDO2lDQUNuRTs2QkFDSjt5QkFDSjt3QkFDRDs0QkFDSSxLQUFLLEVBQUUsVUFBVTs0QkFDakIsS0FBSyxFQUFFO2dDQUNILEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRTtnQ0FDaEU7b0NBQ0ksS0FBSyxFQUFFLFdBQVc7b0NBQ2xCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsNkNBQTZDO2lDQUM5RTs2QkFDSjt5QkFDSjtxQkFDSjtpQkFDSjtnQkFDRDtvQkFDSSxLQUFLLEVBQUUsVUFBVTtvQkFDakIsV0FBVyxFQUFFO3dCQUNULEtBQUssRUFBRSxjQUFjO3dCQUNyQixLQUFLLEVBQUU7NEJBQ0g7Z0NBQ0ksS0FBSyxFQUFFLGtCQUFrQjtnQ0FDekIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxtQ0FBbUM7NkJBQ3BFOzRCQUNEO2dDQUNJLEtBQUssRUFBRSxtQkFBbUI7Z0NBQzFCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsa0NBQWtDOzZCQUNuRTs0QkFDRDtnQ0FDSSxLQUFLLEVBQUUsVUFBVTtnQ0FDakIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxtQ0FBbUM7NkJBQ3BFOzRCQUNEO2dDQUNJLEtBQUssRUFBRSxxQkFBcUI7Z0NBQzVCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsbUNBQW1DOzZCQUNwRTt5QkFDSjt3QkFDRCxhQUFhLEVBQUU7NEJBQ1gsS0FBSyxFQUFFLGtCQUFrQjs0QkFDekIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXO3lCQUM1QztxQkFDSjtvQkFDRCxhQUFhLEVBQUU7d0JBQ1g7NEJBQ0ksS0FBSyxFQUFFLG1CQUFtQjs0QkFDMUIsS0FBSyxFQUFFO2dDQUNIO29DQUNJLEtBQUssRUFBRSx3QkFBd0I7b0NBQy9CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsNEJBQTRCO2lDQUM3RDtnQ0FDRDtvQ0FDSSxLQUFLLEVBQUUsa0JBQWtCO29DQUN6QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLGlCQUFpQjtpQ0FDbEQ7Z0NBQ0Q7b0NBQ0ksS0FBSyxFQUFFLG1DQUFtQztvQ0FDMUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSw2QkFBNkI7aUNBQzlEOzZCQUNKO3lCQUNKO3dCQUNEOzRCQUNJLEtBQUssRUFBRSxPQUFPOzRCQUNkLEtBQUssRUFBRTtnQ0FDSDtvQ0FDSSxLQUFLLEVBQUUscUNBQXFDO29DQUM1QyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLHFEQUFxRDtpQ0FDdEY7Z0NBQ0Q7b0NBQ0ksS0FBSyxFQUFFLFVBQVU7b0NBQ2pCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsK0JBQStCO2lDQUNoRTtnQ0FDRDtvQ0FDSSxLQUFLLEVBQUUsc0JBQXNCO29DQUM3QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLHdEQUF3RDtpQ0FDekY7NkJBQ0o7eUJBQ0o7cUJBQ0o7aUJBQ0o7Z0JBQ0Q7b0JBQ0ksS0FBSyxFQUFFLFFBQVE7b0JBRWYsYUFBYSxFQUFFO3dCQUNYOzRCQUNJLEtBQUssRUFBRSxVQUFVOzRCQUNqQixLQUFLLEVBQUU7Z0NBQ0g7b0NBQ0ksS0FBSyxFQUFFLGlCQUFpQjtvQ0FDeEIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO29DQUNqRSxJQUFJLEVBQUUsYUFBYTtpQ0FDdEI7Z0NBQ0Q7b0NBQ0ksS0FBSyxFQUFFLHFCQUFxQjtvQ0FDNUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxzQkFBc0I7aUNBQ3ZEO2dDQUNELEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFO2dDQUNyRTtvQ0FDSSxLQUFLLEVBQUUsaUJBQWlCO29DQUN4QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLHdDQUF3QztpQ0FDekU7NkJBQ0o7eUJBQ0o7d0JBQ0Q7NEJBQ0ksS0FBSyxFQUFFLFdBQVc7NEJBQ2xCLEtBQUssRUFBRTtnQ0FDSCxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUU7Z0NBQ25FO29DQUNJLEtBQUssRUFBRSxXQUFXO29DQUNsQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLHNCQUFzQjtpQ0FDdkQ7Z0NBQ0Q7b0NBQ0ksS0FBSyxFQUFFLDBCQUEwQjtvQ0FDakMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxZQUFZO2lDQUM3QztnQ0FDRDtvQ0FDSSxLQUFLLEVBQUUsbUJBQW1CO29DQUMxQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLDhCQUE4QjtpQ0FDL0Q7NkJBQ0o7eUJBQ0o7d0JBQ0Q7NEJBQ0ksS0FBSyxFQUFFLG1CQUFtQjs0QkFDMUIsS0FBSyxFQUFFO2dDQUNIO29DQUNJLEtBQUssRUFBRSxxQkFBcUI7b0NBQzVCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUTtpQ0FDekM7Z0NBQ0QsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFOzZCQUMxRDt5QkFDSjtxQkFDSjtpQkFDSjthQUNKLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztLQUNOOzhHQS9UWSxlQUFlO2tHQUFmLGVBQWUscVlBS1YsdUJBQXVCLGdEQ3BDekMsdXVJQTRGQSw0eElEakVjLFlBQVksa05BQUUsdUJBQXVCOzsyRkFJdEMsZUFBZTtrQkFQM0IsU0FBUzsrQkFDSSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDOzhCQVNULGFBQWE7c0JBQW5ELFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIFNpZ25hbCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZCYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL25hdi1iYXItZHJvcGRvd24vbmF2LWJhci1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNTY3JlZW5TbWFsbFNpZ25hbCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG50eXBlIE5hdkluZm8gPSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBtYWluU2VjdGlvbj86IFNlY3Rpb247XG4gICAgb3RoZXJTZWN0aW9uczogU2VjdGlvbltdO1xufTtcblxudHlwZSBTZWN0aW9uID0ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgbGlua3M6IExpbmtbXTtcbiAgICBhdXhpbGlhcnlMaW5rPzogTGluaztcbn07XG5cbnR5cGUgTGluayA9IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1uYXYtYmFyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5hdkJhckRyb3Bkb3duQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL25hdi1iYXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZCYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgYm8gPSBpbmplY3QoQnJlYWtwb2ludE9ic2VydmVyKTtcbiAgICBtYWluU2l0ZUJhc2VVcmwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgaGVpZ2h0ID0gaW5wdXQ8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgICBAVmlld0NoaWxkcmVuKE5hdkJhckRyb3Bkb3duQ29tcG9uZW50KSBkcm9wZG93bkNvbXBzITogTmF2QmFyRHJvcGRvd25Db21wb25lbnRbXTtcblxuICAgIC8vIElmIGFueSBzZWN0aW9uIG9wZW5zIHVwLCBjbG9zZSBhbGwgb3RoZXJzLiBPbmx5IG9uZSBzZWN0aW9uIG9wZW4gYXQgYSB0aW1lLlxuICAgIHByb3RlY3RlZCBoYW5kbGVEcm9wZG93bk9wZW5FdmVudCA9ICh0aXRsZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Db21wc1xuICAgICAgICAgICAgLmZpbHRlcigoY29tcCkgPT4gY29tcC50aXRsZSgpICE9PSB0aXRsZSlcbiAgICAgICAgICAgIC5mb3JFYWNoKChjb21wKSA9PiB7XG4gICAgICAgICAgICAgICAgY29tcC5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIGlzU2NyZWVuU21hbGwgPSBpc1NjcmVlblNtYWxsU2lnbmFsKHRoaXMuYm8pO1xuXG4gICAgcHJvdGVjdGVkIG5hdkluZm9zOiBTaWduYWw8TmF2SW5mb1tdPiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ01hdGVyaWFscycsXG4gICAgICAgICAgICAgICAgbWFpblNlY3Rpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdGb3JtYXRzJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdBcnRpY2xlcycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYXJ0aWNsZXNgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQXVkaW8nLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2F1ZGlvYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0Jvb2tzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9ib29rc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdWaWRlbycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vdmlkZW9gIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU2VlIGFsbCBmb3JtYXRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZm9ybWF0c2AsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnUmVzb3VyY2UgQ29sbGVjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3ViamVjdCBBcmVhIENvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9jb2xsZWN0aW9uc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnRGF0YWJhc2VzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9kYXRhYmFzZXNgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0pvdXJuYWxzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9qb3VybmFsc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnVGhlc2VzICYgRGlzc2VydGF0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vdGhlc2VzLWFuZC1kaXNzZXJ0YXRpb25zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdFcXVpcG1lbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQXZhaWxhYmxlIGZvciBDaGVja291dCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1hdmFpbGFibGUtZm9yLWNoZWNrb3V0YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUgd2l0aCBSZXNlcnZhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1hdmFpbGFibGUtdmlhLXJlc2VydmF0aW9uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdQdWJsaWMgQ29tcHV0ZXJzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9wdWJsaWMtY29tcHV0ZXJzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdQcmludGVycyBhbmQgQ29weWluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1wcmludGluZy1hbmQtY29weWluZ2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdQbGFjZXMnLFxuICAgICAgICAgICAgICAgIG1haW5TZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnUG9wdWxhciBQbGFjZXMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSGVscCBEZXNrcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9oZWxwLWRlc2tzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdGYW1pbHkgSGlzdG9yeScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9yZWxpZ2lvbi1mYW1pbHktaGlzdG9yeWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUmVzZWFyY2ggYW5kIFdyaXRpbmcgQ2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL3Jlc2VhcmNoLWFuZC13cml0aW5nLWNlbnRlcmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3BlY2lhbCBDb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zcGVjaWFsLWNvbGxlY3Rpb25zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnVmlldyBGbG9vciBNYXBzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJ2h0dHBzOi8vbGliLmJ5dS5lZHUvZmxvb3JtYXBzJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdTcGFjZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29sbGVjdGlvbnMgJiBBcmNoaXZlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jb2xsZWN0aW9ucy1hbmQtYXJjaGl2ZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0dyb3VwIFN0dWR5IFNwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvZ3JvdXAtc3R1ZHktcm9vbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0luZGl2aWR1YWwgU3R1ZHkgU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWluZGl2aWR1YWwtc3R1ZHktc3BhY2VzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdNdWx0aW1lZGlhIENyZWF0aW9uIFNwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1tdWx0aW1lZGlhLWNyZWF0aW9uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdWaWRlbyBWaWV3IFNwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz12aWRlby12aWV3aW5nYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSb29tcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDbGFzc3Jvb21zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWNsYXNzcm9vbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NvbmZlcmVuY2UgUm9vbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Y29uZmVyZW5jZS1yb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTGFicyAmIENlbnRlcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9bGFicy1hbmQtY2VudGVyc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUmVzZWFyY2ggUm9vbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9cmVzZWFyY2gtcm9vbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnRXhwZXJpZW5jZXMnLFxuICAgICAgICAgICAgICAgIG1haW5TZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NvbmNlcnRzICYgRmlsbSBTaG93aW5ncycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9tb3Rpb24tcGljdHVyZS1hcmNoaXZlLXNlcmllc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTGVjdHVyZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1sZWN0dXJlc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ05ld3MnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2Fib3V0L25ld3NgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU2VlIGNhbGVuZGFyIG9mIGV2ZW50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2V2ZW50c2AsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnTGVhcm5pbmcgT3Bwb3J0dW5pdGllcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMaWJyYXJ5IEluc3RydWN0aW9uIENsYXNzZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2xpYnJhcnktaW5zdHJ1Y3Rpb25gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1NvZnR3YXJlIFRyYWluaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9zb2Z0d2FyZS10cmFpbmluZ2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnRmFtaWx5IEhpc3RvcnkgQ2xhc3NlcyAmIFdlYmluYXJzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9mYW1pbHktaGlzdG9yeS1jbGFzc2VzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdEaXNwbGF5cycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdFeGhpYml0cycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZXhoaWJpdHNgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0dhbGxlcmllcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1nYWxsZXJpZXMtYW5kLWV4aGliaXRzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1NlcnZpY2VzJyxcbiAgICAgICAgICAgICAgICBtYWluU2VjdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1NlcnZpY2VzIEZvcicsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDdXJyZW50IFN0dWRlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLXN0dWRlbnRzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdGYWN1bHR5IGFuZCBTdGFmZicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWZvci1mYWN1bHR5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXRpcmVlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWZvci1yZXRpcmVlc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnVmlzaXRvcnMgYW5kIEFsdW1uaScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWZvci12aXNpdG9yc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBhdXhpbGlhcnlMaW5rOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1NlZSBhbGwgU2VydmljZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlc2AsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnR2V0dGluZyBNYXRlcmlhbHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ2hlY2tvdXQgb3V0IE1hdGVyaWFscycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYWJvdXQvY2hlY2tvdXQtcHJpdmlsZWdlc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSG9sZHMgJiBSZW5ld2FscycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvaG9sZHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0JvcnJvdyBmcm9tIGFub3RoZXIgTGlicmFyeSAoSUxMKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvaW50ZXJsaWJyYXJ5LWxvYW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ090aGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0ludGVybnNoaXBzLCBGZWxsb3dzaGlwcyBhbmQgR3JhbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWludGVybnNoaXBzLWZlbGxvd3NoaXBzLWdyYW50c2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUHJvZ3JhbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9cHJvZ3JhbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1NjaG9sYXJseSBQdWJsaXNoaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWNyZWF0aW5nLWFuZC1wdWJsaXNoaW5nLW1hdGVyaWFsc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdBc2sgVXMnLFxuXG4gICAgICAgICAgICAgICAgb3RoZXJTZWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0dldCBIZWxwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0FzayBhIExpYnJhcmlhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vY2hhdD91cmw9JHt3aW5kb3cubG9jYXRpb24uaHJlZn1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnY2hhdF9idWJibGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xpYnJhcnkgSW5zdHJ1Y3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2xpYnJhcnktaW5zdHJ1Y3Rpb25gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ1Jlc2VhcmNoIEd1aWRlcycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZ3VpZGVzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIZWxwICYgR3VpZGFuY2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aGVscC1hbmQtZ3VpZGFuY2VgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0ZpbmQgYS4uLicsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdEZXBhcnRtZW50JywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9kaXJlY3RvcnlgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0hlbHAgRGVzaycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvaGVscC1kZXNrc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTGlicmFyeSBFbXBsb3llZSBieSBOYW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9kaXJlY3RvcnlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1N1YmplY3QgTGlicmFyaWFuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9kaXJlY3RvcnkjYnJvd3NlLWJ5LXN1YmplY3RgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Fib3V0IHRoZSBMaWJyYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0dlbmVyYWwgSW5mb3JtYXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2Fib3V0YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdGQVFzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9mYXFgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH0pO1xufVxuIiwiPG5hdlxuICAgIFtzdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0KCkgPyBoZWlnaHQoKSArICdweCcgOiAnYXV0bycgfVwiXG4gICAgW25nQ2xhc3NdPVwieyAnaGJsbC1oZWFkZXItZGVza3RvcCc6ICFpc1NjcmVlblNtYWxsKCkgfVwiXG4gICAgZGF0YS10ZXN0aWQ9XCJuYXZcIlxuPlxuICAgIDx1bCBjbGFzcz1cImhibGwtaGVhZGVyLW5hdi1iYXJcIj5cbiAgICAgICAgPGxpIGlkPVwibmF2SG9tZVwiPlxuICAgICAgICAgICAgPGEgW2hyZWZdPVwibWFpblNpdGVCYXNlVXJsKClcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGlzU2NyZWVuU21hbGwoKSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1oZWFkZXItaWNvblwiPiBob21lIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgSG9tZVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgICBAZm9yIChuYXZJbmZvIG9mIG5hdkluZm9zKCk7IHRyYWNrIG5hdkluZm8udGl0bGUpIHtcbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICA8bGliLW5hdi1iYXItZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIm5hdkluZm8udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBbaXNTbWFsbFNjcmVlbl09XCJpc1NjcmVlblNtYWxsKCkgPz8gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChvcGVuRXZlbnQpPVwiaGFuZGxlRHJvcGRvd25PcGVuRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhibGwtaGVhZGVyLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogaXNTY3JlZW5TbWFsbCgpID8gJyMzMzZjYzgnIDogJ2luaGVyaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmF2SW5mby5tYWluU2VjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+e3sgbmF2SW5mby5tYWluU2VjdGlvbi50aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImhibGwtaGVhZGVyLW1haW4gaGJsbC1oZWFkZXItbGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2YgbmF2SW5mby5tYWluU2VjdGlvbi5saW5rczsgdHJhY2sgbGluay5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay51cmxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGJsbC1oZWFkZXItc2VlLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtaGVhZGVyLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hldnJvbl9yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHNlY3Rpb24gb2YgbmF2SW5mby5vdGhlclNlY3Rpb25zOyB0cmFjayBzZWN0aW9uLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57eyBzZWN0aW9uLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiaGJsbC1oZWFkZXItbGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2Ygc2VjdGlvbi5saW5rczsgdHJhY2sgbGluay5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay51cmxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGluay5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtaGVhZGVyLWljb24tcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGluay5pY29uIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbGliLW5hdi1iYXItZHJvcGRvd24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxhIGlkPVwibmF2U2VhcmNoXCIgW2hyZWZdPVwibWFpblNpdGVCYXNlVXJsKCkgKyAnL3NlYXJjaCdcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGlzU2NyZWVuU21hbGwoKSkge1xuICAgICAgICAgICAgICAgICAgICBTZWFyY2hcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaGJsbC1oZWFkZXItaWNvbic6IGlzU2NyZWVuU21hbGwoKSB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=