@eui/components 14.0.29 → 14.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/docs/classes/EuiDialogConfig.html +23 -0
  2. package/docs/components/EuiDialogComponent.html +211 -10
  3. package/docs/interfaces/EuiDialogInterface.html +45 -0
  4. package/docs/js/search/search_index.js +2 -2
  5. package/docs/miscellaneous/variables.html +160 -127
  6. package/esm2020/eui-dialog/eui-dialog.component.mjs +44 -8
  7. package/esm2020/eui-dialog/models/eui-dialog.config.mjs +2 -1
  8. package/esm2020/eui-dialog/services/eui-dialog.service.mjs +8 -2
  9. package/esm2020/eui-file-upload/utils/eui-file-upload.validators.mjs +41 -17
  10. package/esm2020/eui-table/eui-table.component.mjs +2 -2
  11. package/eui-dialog/eui-dialog.component.d.ts +11 -4
  12. package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
  13. package/eui-dialog/models/eui-dialog.config.d.ts +2 -0
  14. package/eui-dialog/models/eui-dialog.config.d.ts.map +1 -1
  15. package/eui-dialog/services/eui-dialog.service.d.ts.map +1 -1
  16. package/eui-file-upload/utils/eui-file-upload.validators.d.ts +17 -1
  17. package/eui-file-upload/utils/eui-file-upload.validators.d.ts.map +1 -1
  18. package/fesm2015/eui-components-eui-dialog.mjs +46 -8
  19. package/fesm2015/eui-components-eui-dialog.mjs.map +1 -1
  20. package/fesm2015/eui-components-eui-file-upload.mjs +41 -17
  21. package/fesm2015/eui-components-eui-file-upload.mjs.map +1 -1
  22. package/fesm2015/eui-components-eui-table.mjs +2 -2
  23. package/fesm2015/eui-components-eui-table.mjs.map +1 -1
  24. package/fesm2020/eui-components-eui-dialog.mjs +51 -8
  25. package/fesm2020/eui-components-eui-dialog.mjs.map +1 -1
  26. package/fesm2020/eui-components-eui-file-upload.mjs +41 -17
  27. package/fesm2020/eui-components-eui-file-upload.mjs.map +1 -1
  28. package/fesm2020/eui-components-eui-table.mjs +2 -2
  29. package/fesm2020/eui-components-eui-table.mjs.map +1 -1
  30. package/package.json +1 -1
@@ -61,6 +61,9 @@
61
61
  <tr>
62
62
  <td class="col-md-4">
63
63
  <ul class="index-list">
64
+ <li>
65
+ <a href="#asyncMimeTypeExtensionValidator" title="packages/eui/packages/components/eui-file-upload/utils/eui-file-upload.validators.ts" ><b>asyncMimeTypeExtensionValidator</b>&nbsp;&nbsp;&nbsp;(packages/.../eui-file-upload.validators.ts)</a>
66
+ </li>
64
67
  <li>
65
68
  <a href="#BaseComponentMixinBase" title="packages/eui/packages/components/shared/base/base.directive.ts" ><b>BaseComponentMixinBase</b>&nbsp;&nbsp;&nbsp;(packages/.../base.directive.ts)</a>
66
69
  </li>
@@ -302,6 +305,163 @@
302
305
  </table>
303
306
  </section>
304
307
 
308
+ <h3>packages/eui/packages/components/eui-file-upload/utils/eui-file-upload.validators.ts</h3>
309
+ <section>
310
+ <h3></h3> <table class="table table-sm table-bordered">
311
+ <tbody>
312
+ <tr>
313
+ <td class="col-md-4">
314
+ <a name="asyncMimeTypeExtensionValidator"></a>
315
+ <span class="name">
316
+ <span ><b>asyncMimeTypeExtensionValidator</b></span>
317
+ <a href="#asyncMimeTypeExtensionValidator"><span class="icon ion-ios-link"></span></a>
318
+ </span>
319
+ </td>
320
+ </tr>
321
+ <tr>
322
+ <td class="col-md-4">
323
+ <i>Default value : </i><code>(mimeTypes: MimeType[]): AsyncValidatorFn &#x3D;&gt;
324
+ (control: AbstractControl): Promise&lt;ValidationErrors | null&gt; | Observable&lt;ValidationErrors | null&gt; &#x3D;&gt; {
325
+ if (control.value) {
326
+ const fileErrorObservables: Observable&lt;ValidationErrors | null&gt;[] &#x3D; [];
327
+ // iterate over files
328
+ control.value.forEach((file: File) &#x3D;&gt; {
329
+ // push observable which will check the mime validation type
330
+ fileErrorObservables.push(validateFileMimeType(file, mimeTypes));
331
+ });
332
+ return zip(...fileErrorObservables).pipe(
333
+ map((fileErrors) &#x3D;&gt; {
334
+ const errors &#x3D; fileErrors.filter((fileError) &#x3D;&gt; fileError !&#x3D;&#x3D; null);
335
+ // Error should be { fileName: FileType }
336
+ return { invalidMimeFileType: errors };
337
+ })
338
+ );
339
+ }
340
+ return of(null);
341
+ }</code>
342
+ </td>
343
+ </tr>
344
+
345
+
346
+ </tbody>
347
+ </table>
348
+ <table class="table table-sm table-bordered">
349
+ <tbody>
350
+ <tr>
351
+ <td class="col-md-4">
352
+ <a name="maxFilesValidator"></a>
353
+ <span class="name">
354
+ <span ><b>maxFilesValidator</b></span>
355
+ <a href="#maxFilesValidator"><span class="icon ion-ios-link"></span></a>
356
+ </span>
357
+ </td>
358
+ </tr>
359
+ <tr>
360
+ <td class="col-md-4">
361
+ <i>Default value : </i><code>(maxFiles: number): ValidatorFn &#x3D;&gt;
362
+ (control: AbstractControl): { maxFiles: number } | null &#x3D;&gt;
363
+ control.value &amp;&amp; control.value.length &gt; maxFiles ? { maxFiles } : null</code>
364
+ </td>
365
+ </tr>
366
+
367
+
368
+ </tbody>
369
+ </table>
370
+ <table class="table table-sm table-bordered">
371
+ <tbody>
372
+ <tr>
373
+ <td class="col-md-4">
374
+ <a name="maxSizeValidator"></a>
375
+ <span class="name">
376
+ <span ><b>maxSizeValidator</b></span>
377
+ <a href="#maxSizeValidator"><span class="icon ion-ios-link"></span></a>
378
+ </span>
379
+ </td>
380
+ </tr>
381
+ <tr>
382
+ <td class="col-md-4">
383
+ <i>Default value : </i><code>(maxSize: number): ValidatorFn &#x3D;&gt;
384
+ (control: AbstractControl): { maxSize: number } | null &#x3D;&gt; {
385
+ let totalSize &#x3D; 0;
386
+ if (control.value) {
387
+ control.value.forEach((file: File) &#x3D;&gt; {
388
+ totalSize +&#x3D; file.size;
389
+ });
390
+ }
391
+
392
+ return control.value &amp;&amp; totalSize &gt; maxSize * 1.024 ? { maxSize } : null;
393
+ }</code>
394
+ </td>
395
+ </tr>
396
+
397
+
398
+ </tbody>
399
+ </table>
400
+ <table class="table table-sm table-bordered">
401
+ <tbody>
402
+ <tr>
403
+ <td class="col-md-4">
404
+ <a name="mimeTypeExtensionValidator"></a>
405
+ <span class="name">
406
+ <span ><b>mimeTypeExtensionValidator</b></span>
407
+ <a href="#mimeTypeExtensionValidator"><span class="icon ion-ios-link"></span></a>
408
+ </span>
409
+ </td>
410
+ </tr>
411
+ <tr>
412
+ <td class="col-md-4">
413
+ <i>Default value : </i><code>(mimeTypes: string[]): ValidatorFn &#x3D;&gt;
414
+ (control: AbstractControl): { invalidFileExtension: string[] } | null &#x3D;&gt; {
415
+ const invalidFileExtension: string[] &#x3D; [];
416
+ if (control.value) {
417
+ control.value.forEach((file: File) &#x3D;&gt; {
418
+ if (mimeTypes.indexOf(file.type) &#x3D;&#x3D;&#x3D; -1) {
419
+ invalidFileExtension.push(file.name);
420
+ }
421
+ });
422
+ }
423
+
424
+ return control.value &amp;&amp; invalidFileExtension.length &gt; 0 ? { invalidFileExtension } : null;
425
+ }</code>
426
+ </td>
427
+ </tr>
428
+
429
+
430
+ </tbody>
431
+ </table>
432
+ <table class="table table-sm table-bordered">
433
+ <tbody>
434
+ <tr>
435
+ <td class="col-md-4">
436
+ <a name="validateFileMimeType"></a>
437
+ <span class="name">
438
+ <span ><b>validateFileMimeType</b></span>
439
+ <a href="#validateFileMimeType"><span class="icon ion-ios-link"></span></a>
440
+ </span>
441
+ </td>
442
+ </tr>
443
+ <tr>
444
+ <td class="col-md-4">
445
+ <i>Default value : </i><code>(file: File, mimeTypes: MimeType[]): Observable&lt;{ [key: string]: any }&gt; &#x3D;&gt; new Observable&lt;{ [p: string]: any }&gt;((subscriber) &#x3D;&gt; {
446
+ const reader &#x3D; new FileReader();
447
+ reader.onloadend &#x3D; (): void &#x3D;&gt; {
448
+ const buffer &#x3D; reader.result as ArrayBuffer;
449
+ const headerBytes &#x3D; new Uint8Array(buffer).slice(0, 8);
450
+ const mime &#x3D; getMimeType(headerBytes);
451
+ if (mimeTypes.indexOf(mime) &#x3D;&#x3D;&#x3D; -1) {
452
+ subscriber.next({ [file.name]: mime });
453
+ }
454
+ subscriber.complete();
455
+ };
456
+ reader.readAsArrayBuffer(file);
457
+ })</code>
458
+ </td>
459
+ </tr>
460
+
461
+
462
+ </tbody>
463
+ </table>
464
+ </section>
305
465
  <h3>packages/eui/packages/components/shared/base/base.directive.ts</h3>
306
466
  <section>
307
467
  <h3></h3> <table class="table table-sm table-bordered">
@@ -2004,133 +2164,6 @@
2004
2164
  </tr>
2005
2165
 
2006
2166
 
2007
- </tbody>
2008
- </table>
2009
- </section>
2010
- <h3>packages/eui/packages/components/eui-file-upload/utils/eui-file-upload.validators.ts</h3>
2011
- <section>
2012
- <h3></h3> <table class="table table-sm table-bordered">
2013
- <tbody>
2014
- <tr>
2015
- <td class="col-md-4">
2016
- <a name="maxFilesValidator"></a>
2017
- <span class="name">
2018
- <span ><b>maxFilesValidator</b></span>
2019
- <a href="#maxFilesValidator"><span class="icon ion-ios-link"></span></a>
2020
- </span>
2021
- </td>
2022
- </tr>
2023
- <tr>
2024
- <td class="col-md-4">
2025
- <i>Default value : </i><code>(maxFiles: number): ValidatorFn &#x3D;&gt;
2026
- (control: AbstractControl): { maxFiles: number } | null &#x3D;&gt;
2027
- control.value &amp;&amp; control.value.length &gt; maxFiles ? { maxFiles } : null</code>
2028
- </td>
2029
- </tr>
2030
-
2031
-
2032
- </tbody>
2033
- </table>
2034
- <table class="table table-sm table-bordered">
2035
- <tbody>
2036
- <tr>
2037
- <td class="col-md-4">
2038
- <a name="maxSizeValidator"></a>
2039
- <span class="name">
2040
- <span ><b>maxSizeValidator</b></span>
2041
- <a href="#maxSizeValidator"><span class="icon ion-ios-link"></span></a>
2042
- </span>
2043
- </td>
2044
- </tr>
2045
- <tr>
2046
- <td class="col-md-4">
2047
- <i>Default value : </i><code>(maxSize: number): ValidatorFn &#x3D;&gt;
2048
- (control: AbstractControl): { maxSize: number } | null &#x3D;&gt; {
2049
- let totalSize &#x3D; 0;
2050
- if (control.value) {
2051
- control.value.forEach((file: File) &#x3D;&gt; {
2052
- totalSize +&#x3D; file.size;
2053
- });
2054
- }
2055
-
2056
- return control.value &amp;&amp; totalSize &gt; maxSize * 1.024 ? { maxSize } : null;
2057
- }</code>
2058
- </td>
2059
- </tr>
2060
-
2061
-
2062
- </tbody>
2063
- </table>
2064
- <table class="table table-sm table-bordered">
2065
- <tbody>
2066
- <tr>
2067
- <td class="col-md-4">
2068
- <a name="mimeTypeExtensionValidator"></a>
2069
- <span class="name">
2070
- <span ><b>mimeTypeExtensionValidator</b></span>
2071
- <a href="#mimeTypeExtensionValidator"><span class="icon ion-ios-link"></span></a>
2072
- </span>
2073
- </td>
2074
- </tr>
2075
- <tr>
2076
- <td class="col-md-4">
2077
- <i>Default value : </i><code>(mimeTypes: MimeType[]): AsyncValidatorFn &#x3D;&gt;
2078
- (control: AbstractControl): Promise&lt;ValidationErrors | null&gt; | Observable&lt;ValidationErrors | null&gt; &#x3D;&gt; {
2079
- if (control.value) {
2080
- const fileErrorObservables: Observable&lt;ValidationErrors | null&gt;[] &#x3D; [];
2081
- // iterate over files
2082
- control.value.forEach((file: File) &#x3D;&gt; {
2083
- // push observable which will check the mime validation type
2084
- fileErrorObservables.push(validateFileMimeType(file, mimeTypes));
2085
- });
2086
- return zip(...fileErrorObservables).pipe(
2087
- map((fileErrors) &#x3D;&gt; {
2088
- const errors &#x3D; fileErrors.filter((fileError) &#x3D;&gt; fileError !&#x3D;&#x3D; null);
2089
- // Error should be { fileName: FileType }
2090
- return { invalidMimeFileType: errors };
2091
- })
2092
- );
2093
- }
2094
- return of(null);
2095
- }</code>
2096
- </td>
2097
- </tr>
2098
-
2099
-
2100
- </tbody>
2101
- </table>
2102
- <table class="table table-sm table-bordered">
2103
- <tbody>
2104
- <tr>
2105
- <td class="col-md-4">
2106
- <a name="validateFileMimeType"></a>
2107
- <span class="name">
2108
- <span ><b>validateFileMimeType</b></span>
2109
- <a href="#validateFileMimeType"><span class="icon ion-ios-link"></span></a>
2110
- </span>
2111
- </td>
2112
- </tr>
2113
- <tr>
2114
- <td class="col-md-4">
2115
- <i>Default value : </i><code>(file: File, mimeTypes: MimeType[]): Observable&lt;{ [key: string]: any }&gt; &#x3D;&gt; {
2116
- return new Observable&lt;{ [p: string]: any }&gt;((subscriber) &#x3D;&gt; {
2117
- const reader &#x3D; new FileReader();
2118
- reader.onloadend &#x3D; (): void &#x3D;&gt; {
2119
- const buffer &#x3D; reader.result as ArrayBuffer;
2120
- const headerBytes &#x3D; new Uint8Array(buffer).slice(0, 8);
2121
- const mime &#x3D; getMimeType(headerBytes);
2122
- if (mimeTypes.indexOf(mime) &#x3D;&#x3D;&#x3D; -1) {
2123
- subscriber.next({ [file.name]: mime });
2124
- }
2125
- subscriber.complete();
2126
- };
2127
- reader.readAsArrayBuffer(file);
2128
- });
2129
- }</code>
2130
- </td>
2131
- </tr>
2132
-
2133
-
2134
2167
  </tbody>
2135
2168
  </table>
2136
2169
  </section>
@@ -12,8 +12,6 @@ export class EuiDialogComponent extends BaseDirective {
12
12
  this.viewContainerRef = viewContainerRef;
13
13
  this.euiDialogService = euiDialogService;
14
14
  this.e2eAttr = 'eui-dialog';
15
- this.width = '50rem';
16
- this.height = 'auto';
17
15
  this.acceptLabel = 'eui.OK';
18
16
  this.dismissLabel = 'eui.CANCEL';
19
17
  this.clickOutside = new EventEmitter();
@@ -25,6 +23,9 @@ export class EuiDialogComponent extends BaseDirective {
25
23
  this.dismiss = new EventEmitter();
26
24
  this.accept = new EventEmitter();
27
25
  this.isOpen$ = new BehaviorSubject(false);
26
+ this._width = '50rem';
27
+ this._height = 'auto';
28
+ this._isFullScreen = false;
28
29
  this._hasCloseButton = true;
29
30
  this._hasAcceptButton = true;
30
31
  this._hasDismissButton = true;
@@ -42,6 +43,38 @@ export class EuiDialogComponent extends BaseDirective {
42
43
  this._hasFooter = true;
43
44
  this.destroy$ = new Subject();
44
45
  }
46
+ get width() {
47
+ if (this._isFullScreen === true) {
48
+ return '100vw';
49
+ }
50
+ return this._width;
51
+ }
52
+ set width(value) {
53
+ if (this._isFullScreen !== true) {
54
+ this._width = value;
55
+ }
56
+ }
57
+ get height() {
58
+ if (this._isFullScreen === true) {
59
+ return '100vh';
60
+ }
61
+ return this._height;
62
+ }
63
+ set height(value) {
64
+ if (this._isFullScreen !== true) {
65
+ this._height = value;
66
+ }
67
+ }
68
+ get isFullScreen() {
69
+ return this._isFullScreen;
70
+ }
71
+ set isFullScreen(value) {
72
+ this._isFullScreen = coerceBooleanProperty(value);
73
+ if (this._isFullScreen === true) {
74
+ this._width = '100vw';
75
+ this._height = '100vh';
76
+ }
77
+ }
45
78
  get hasCloseButton() { return this._hasCloseButton; }
46
79
  set hasCloseButton(value) { this._hasCloseButton = coerceBooleanProperty(value); }
47
80
  get hasAcceptButton() { return this._hasAcceptButton; }
@@ -136,6 +169,7 @@ export class EuiDialogComponent extends BaseDirective {
136
169
  title: this.title,
137
170
  width: this.width,
138
171
  height: this.height,
172
+ isFullScreen: this.isFullScreen,
139
173
  typeClass: this.typeClass,
140
174
  acceptLabel: this.acceptLabel,
141
175
  dismissLabel: this.dismissLabel,
@@ -227,7 +261,7 @@ export class EuiDialogComponent extends BaseDirective {
227
261
  }
228
262
  }
229
263
  /** @nocollapse */ EuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiDialogComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.EuiDialogService }], target: i0.ɵɵFactoryTarget.Component });
230
- /** @nocollapse */ EuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiDialogComponent, selector: "eui-dialog", inputs: { e2eAttr: "e2eAttr", title: "title", width: "width", height: "height", acceptLabel: "acceptLabel", dismissLabel: "dismissLabel", typeClass: "typeClass", hasCloseButton: "hasCloseButton", hasAcceptButton: "hasAcceptButton", hasDismissButton: "hasDismissButton", hasMobileCustomSize: "hasMobileCustomSize", isClosedOnClickOutside: "isClosedOnClickOutside", isClosedOnEscape: "isClosedOnEscape", isHandleCloseOnDismiss: "isHandleCloseOnDismiss", isHandleCloseOnClose: "isHandleCloseOnClose", isHandleCloseOnAccept: "isHandleCloseOnAccept", isHandleCloseOnClickOutside: "isHandleCloseOnClickOutside", isHandleCloseOnEscape: "isHandleCloseOnEscape", isMessageBox: "isMessageBox", isDraggable: "isDraggable", hasNoBodyPadding: "hasNoBodyPadding", hasFooter: "hasFooter" }, outputs: { clickOutside: "clickOutside", escape: "escape", open: "open", close: "close", dismiss: "dismiss", accept: "accept" }, providers: [
264
+ /** @nocollapse */ EuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiDialogComponent, selector: "eui-dialog", inputs: { e2eAttr: "e2eAttr", title: "title", acceptLabel: "acceptLabel", dismissLabel: "dismissLabel", typeClass: "typeClass", width: "width", height: "height", isFullScreen: "isFullScreen", hasCloseButton: "hasCloseButton", hasAcceptButton: "hasAcceptButton", hasDismissButton: "hasDismissButton", hasMobileCustomSize: "hasMobileCustomSize", isClosedOnClickOutside: "isClosedOnClickOutside", isClosedOnEscape: "isClosedOnEscape", isHandleCloseOnDismiss: "isHandleCloseOnDismiss", isHandleCloseOnClose: "isHandleCloseOnClose", isHandleCloseOnAccept: "isHandleCloseOnAccept", isHandleCloseOnClickOutside: "isHandleCloseOnClickOutside", isHandleCloseOnEscape: "isHandleCloseOnEscape", isMessageBox: "isMessageBox", isDraggable: "isDraggable", hasNoBodyPadding: "hasNoBodyPadding", hasFooter: "hasFooter" }, outputs: { clickOutside: "clickOutside", escape: "escape", open: "open", close: "close", dismiss: "dismiss", accept: "accept" }, providers: [
231
265
  { provide: DIALOG_COMPONENT_CONFIG, useValue: null }
232
266
  ], queries: [{ propertyName: "euiDialogHeaderDirective", first: true, predicate: i0.forwardRef(function () { return EuiDialogHeaderDirective; }), descendants: true }, { propertyName: "euiDialogFooterDirective", first: true, predicate: i0.forwardRef(function () { return EuiDialogFooterDirective; }), descendants: true }], viewQueries: [{ propertyName: "templateRefHeader", first: true, predicate: ["templateRefHeader"], descendants: true }, { propertyName: "templateRefContent", first: true, predicate: ["templateRefContent"], descendants: true }, { propertyName: "templateRefFooter", first: true, predicate: ["templateRefFooter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateRefHeader>\n <ng-content select=\"eui-dialog-header\"></ng-content>\n</ng-template>\n<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-dialog-footer\"></ng-content>\n</ng-template>\n", styles: [".eui-dialog-container{display:flex;width:100%}.eui-dialog-container .eui-dialog{background-color:var(--eui-base-color-white);border:2px solid var(--eui-base-color-grey-10);border-radius:var(--eui-base-border-radius);box-shadow:var(--eui-base-shadow-12);display:flex;height:100%;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content{display:flex;flex-direction:column;position:relative;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);border-top-left-radius:var(--eui-base-border-radius-base);border-top-right-radius:var(--eui-base-border-radius-base);display:flex;flex:0 0 auto;justify-content:space-between;padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m)}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header ng-component{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-dialog-header,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-message-box-header{align-items:center;display:flex;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-dialog-header>*,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-message-box-header>*{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header-title{color:var(--eui-base-font-color);font-size:var(--eui-base-font-size-xl);font-style:normal;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header.eui-dialog__header--handle-disabled{cursor:default!important}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body{display:flex;overflow:auto;position:relative}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body ng-component{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body-content{height:auto;padding:var(--eui-base-spacing-m);width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer{align-items:center;background-color:var(--eui-base-color-grey-5);border-bottom-left-radius:var(--eui-base-border-radius-base);border-bottom-right-radius:var(--eui-base-border-radius-base);border-top:1px solid var(--eui-base-color-grey-10);display:flex;padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer ng-component{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-dialog-footer,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-message-box-footer{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-dialog-footer>*,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-message-box-footer>*{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer .eui-dialog__footer-content{align-items:center;display:flex;justify-content:flex-end;width:100%}.eui-dialog-container .eui-dialog--no-padding .eui-dialog__content .eui-dialog__body-content{padding:0}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body{align-items:center;display:flex}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content{height:auto;padding:var(--eui-base-spacing-m);align-items:center;display:flex;width:100%}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content-icon-container{align-self:flex-start;padding:var(--eui-base-spacing-m)}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content-icon{background:var(--eui-base-color-grey-10);border-radius:50%;display:inline-flex;font-size:var(--eui-base-font-size-5xl);padding:var(--eui-base-spacing-s)}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content p{margin-top:0}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-icon{margin:0 var(--eui-base-spacing)}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-icon-content{background:var(--eui-base-color-grey-15);border-radius:50%;font-size:var(--eui-base-font-size-5xl);margin-right:var(--eui-base-spacing);overflow:auto;padding:var(--eui-base-spacing-s)}.eui-dialog__backdrop.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{background-color:var(--eui-base-color-grey-100);opacity:var(--eui-base-disabled-opacity)}@media screen and (max-width: 767px){.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size){height:100vh;left:0;position:fixed;top:0;width:100vw}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content{height:100%;width:100%}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__header{border-top-left-radius:0;border-top-right-radius:0;flex:0 0 auto}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__body{flex:1 1 auto;height:100vh!important;max-height:100vh!important;max-width:100vw!important;overflow-x:hidden;overflow-y:scroll;width:100vw!important}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__body-content{flex:1 1 auto}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__footer{border-bottom-left-radius:0;border-bottom-right-radius:0;flex:0 0 auto}}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--primary{border-color:var(--eui-base-color-primary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--primary .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--primary .eui-dialog__body-content-icon{color:var(--eui-base-color-primary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--secondary{border-color:var(--eui-base-color-secondary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--secondary .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--secondary .eui-dialog__body-content-icon{color:var(--eui-base-color-secondary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--info{border-color:var(--eui-base-color-info)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--info .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--info .eui-dialog__body-content-icon{color:var(--eui-base-color-info)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--success{border-color:var(--eui-base-color-success)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--success .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--success .eui-dialog__body-content-icon{color:var(--eui-base-color-success)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--warning{border-color:var(--eui-base-color-warning)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--warning .eui-dialog__header-title{color:var(--eui-base-color-warning-130)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--warning .eui-dialog__body-content-icon{color:var(--eui-base-color-warning)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--danger{border-color:var(--eui-base-color-danger)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--danger .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--danger .eui-dialog__body-content-icon{color:var(--eui-base-color-danger)}.eui-dialog-container .eui-dialog--draggable .eui-dialog__header{cursor:move}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
233
267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiDialogComponent, decorators: [{
@@ -239,10 +273,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
239
273
  type: Input
240
274
  }], title: [{
241
275
  type: Input
242
- }], width: [{
243
- type: Input
244
- }], height: [{
245
- type: Input
246
276
  }], acceptLabel: [{
247
277
  type: Input
248
278
  }], dismissLabel: [{
@@ -276,6 +306,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
276
306
  }], euiDialogFooterDirective: [{
277
307
  type: ContentChild,
278
308
  args: [forwardRef(() => EuiDialogFooterDirective)]
309
+ }], width: [{
310
+ type: Input
311
+ }], height: [{
312
+ type: Input
313
+ }], isFullScreen: [{
314
+ type: Input
279
315
  }], hasCloseButton: [{
280
316
  type: Input
281
317
  }], hasAcceptButton: [{
@@ -324,4 +360,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
324
360
  type: Directive,
325
361
  args: [{ selector: 'eui-dialog-footer' }]
326
362
  }] });
327
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktZGlhbG9nL2V1aS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLWRpYWxvZy9ldWktZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFDNUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWN0RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQStGakQsWUFBb0IsZ0JBQWtDLEVBQVUsZ0JBQWtDO1FBQzlGLEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUE5RnpGLFlBQU8sR0FBVyxZQUFZLENBQUM7UUFFL0IsVUFBSyxHQUFXLE9BQU8sQ0FBQztRQUN4QixXQUFNLEdBQVcsTUFBTSxDQUFDO1FBQ3hCLGdCQUFXLEdBQVcsUUFBUSxDQUFDO1FBQy9CLGlCQUFZLEdBQVcsWUFBWSxDQUFDO1FBR25DLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0Qyw0REFBNEQ7UUFDbEQsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsNERBQTREO1FBQ2xELFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRy9CLFlBQU8sR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFZdkUsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFJdkIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBSXhCLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUl6Qix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFJN0IsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBSWhDLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUl6Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFJaEMsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBSTlCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUkvQixpQ0FBNEIsR0FBRyxLQUFLLENBQUM7UUFJckMsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBSS9CLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBSXRCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBSXJCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUkxQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBTWxCLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQUk1RCxDQUFDO0lBckVELElBQ0ksY0FBYyxLQUFjLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDOUQsSUFBSSxjQUFjLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsZUFBZSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoRyxJQUNJLGVBQWUsS0FBYyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDaEUsSUFBSSxlQUFlLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWxHLElBQ0ksZ0JBQWdCLEtBQWMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksZ0JBQWdCLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBHLElBQ0ksbUJBQW1CLEtBQWMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLElBQUksbUJBQW1CLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFHLElBQ0ksc0JBQXNCLEtBQWMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQzlFLElBQUksc0JBQXNCLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhILElBQ0ksZ0JBQWdCLEtBQWMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksZ0JBQWdCLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBHLElBQ0ksc0JBQXNCLEtBQWMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQzlFLElBQUksc0JBQXNCLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhILElBQ0ksb0JBQW9CLEtBQWMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMs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LG1CQUFtQixFQUFFOztBQUk1QyxNQUFNLE9BQU8sd0JBQXdCOzt5SUFBeEIsd0JBQXdCOzZIQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LFxuICAgIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBEaXJlY3RpdmUsIENvbnRlbnRDaGlsZCwgZm9yd2FyZFJlZiwgUXVlcnlMaXN0LCBFbGVtZW50UmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcblxuaW1wb3J0IHsgRXVpRGlhbG9nU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IEV1aURpYWxvZ0ludGVyZmFjZSB9IGZyb20gJy4vbW9kZWxzL2V1aS1kaWFsb2cuY29uZmlnJztcbmltcG9ydCB7IERJQUxPR19DT01QT05FTlRfQ09ORklHIH0gZnJvbSAnLi9zZXJ2aWNlcy9ldWktZGlhbG9nLnRva2VuJztcbmltcG9ydCB7IE9wZW5lZERpYWxvZyB9IGZyb20gJy4vbW9kZWxzL29wZW5lZC1kaWFsb2cubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBESUFMT0dfQ09NUE9ORU5UX0NPTkZJRywgdXNlVmFsdWU6IG51bGwgfVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBFdWlEaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xuICAgIEBJbnB1dCgpIGUyZUF0dHI6IHN0cmluZyA9ICdldWktZGlhbG9nJztcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnNTByZW0nO1xuICAgIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJ2F1dG8nO1xuICAgIEBJbnB1dCgpIGFjY2VwdExhYmVsOiBzdHJpbmcgPSAnZXVpLk9LJztcbiAgICBASW5wdXQoKSBkaXNtaXNzTGFiZWw6IHN0cmluZyA9ICdldWkuQ0FOQ0VMJztcbiAgICBASW5wdXQoKSB0eXBlQ2xhc3M6ICgncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ2FjY2VudCcpO1xuXG4gICAgQE91dHB1dCgpIGNsaWNrT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZXNjYXBlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBvcGVuID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZGlzbWlzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgYWNjZXB0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUG9ydGFsO1xuICAgIHB1YmxpYyBpc09wZW4kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlUmVmSGVhZGVyJykgdGVtcGxhdGVSZWZIZWFkZXI6IFRlbXBsYXRlUmVmPEV1aURpYWxvZ0hlYWRlckRpcmVjdGl2ZT47XG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWZDb250ZW50JykgdGVtcGxhdGVSZWZDb250ZW50OiBUZW1wbGF0ZVJlZjxFbGVtZW50UmVmPjtcbiAgICBAVmlld0NoaWxkKCd0ZW1wbGF0ZVJlZkZvb3RlcicpIHRlbXBsYXRlUmVmRm9vdGVyOiBUZW1wbGF0ZVJlZjxFdWlEaWFsb2dGb290ZXJEaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aURpYWxvZ0hlYWRlckRpcmVjdGl2ZSkpIGV1aURpYWxvZ0hlYWRlckRpcmVjdGl2ZTogUXVlcnlMaXN0PEV1aURpYWxvZ0hlYWRlckRpcmVjdGl2ZT47XG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aURpYWxvZ0Zvb3RlckRpcmVjdGl2ZSkpIGV1aURpYWxvZ0Zvb3RlckRpcmVjdGl2ZTogUXVlcnlMaXN0PEV1aURpYWxvZ0Zvb3RlckRpcmVjdGl2ZT47XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNDbG9zZUJ1dHRvbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2hhc0Nsb3NlQnV0dG9uOyB9XG4gICAgc2V0IGhhc0Nsb3NlQnV0dG9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzQ2xvc2VCdXR0b24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaGFzQ2xvc2VCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc0FjY2VwdEJ1dHRvbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2hhc0FjY2VwdEJ1dHRvbjsgfVxuICAgIHNldCBoYXNBY2NlcHRCdXR0b24odmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9oYXNBY2NlcHRCdXR0b24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaGFzQWNjZXB0QnV0dG9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNEaXNtaXNzQnV0dG9uKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzRGlzbWlzc0J1dHRvbjsgfVxuICAgIHNldCBoYXNEaXNtaXNzQnV0dG9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzRGlzbWlzc0J1dHRvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNEaXNtaXNzQnV0dG9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNNb2JpbGVDdXN0b21TaXplKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzTW9iaWxlQ3VzdG9tU2l6ZTsgfVxuICAgIHNldCBoYXNNb2JpbGVDdXN0b21TaXplKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzTW9iaWxlQ3VzdG9tU2l6ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNNb2JpbGVDdXN0b21TaXplID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNDbG9zZWRPbkNsaWNrT3V0c2lkZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzQ2xvc2VkT25DbGlja091dHNpZGU7IH1cbiAgICBzZXQgaXNDbG9zZWRPbkNsaWNrT3V0c2lkZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2lzQ2xvc2VkT25DbGlja091dHNpZGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNDbG9zZWRPbkNsaWNrT3V0c2lkZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzQ2xvc2VkT25Fc2NhcGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc0Nsb3NlZE9uRXNjYXBlOyB9XG4gICAgc2V0IGlzQ2xvc2VkT25Fc2NhcGUodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0Nsb3NlZE9uRXNjYXBlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzQ2xvc2VkT25Fc2NhcGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzSGFuZGxlQ2xvc2VPbkRpc21pc3MoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc0hhbmRsZUNsb3NlT25EaXNtaXNzOyB9XG4gICAgc2V0IGlzSGFuZGxlQ2xvc2VPbkRpc21pc3ModmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0hhbmRsZUNsb3NlT25EaXNtaXNzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzSGFuZGxlQ2xvc2VPbkRpc21pc3MgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0hhbmRsZUNsb3NlT25DbG9zZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzSGFuZGxlQ2xvc2VPbkNsb3NlOyB9XG4gICAgc2V0IGlzSGFuZGxlQ2xvc2VPbkNsb3NlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNIYW5kbGVDbG9zZU9uQ2xvc2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNIYW5kbGVDbG9zZU9uQ2xvc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0hhbmRsZUNsb3NlT25BY2NlcHQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc0hhbmRsZUNsb3NlT25BY2NlcHQ7IH1cbiAgICBzZXQgaXNIYW5kbGVDbG9zZU9uQWNjZXB0KHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNIYW5kbGVDbG9zZU9uQWNjZXB0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzSGFuZGxlQ2xvc2VPbkFjY2VwdCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzSGFuZGxlQ2xvc2VPbkNsaWNrT3V0c2lkZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzSGFuZGxlQ2xvc2VPbkNsaWNrT3V0c2lkZTsgfVxuICAgIHNldCBpc0hhbmRsZUNsb3NlT25DbGlja091dHNpZGUodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0hhbmRsZUNsb3NlT25DbGlja091dHNpZGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNIYW5kbGVDbG9zZU9uQ2xpY2tPdXRzaWRlID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNIYW5kbGVDbG9zZU9uRXNjYXBlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNIYW5kbGVDbG9zZU9uRXNjYXBlOyB9XG4gICAgc2V0IGlzSGFuZGxlQ2xvc2VPbkVzY2FwZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2lzSGFuZGxlQ2xvc2VPbkVzY2FwZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9pc0hhbmRsZUNsb3NlT25Fc2NhcGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc01lc3NhZ2VCb3goKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc01lc3NhZ2VCb3g7IH1cbiAgICBzZXQgaXNNZXNzYWdlQm94KHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNNZXNzYWdlQm94ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzTWVzc2FnZUJveCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzRHJhZ2dhYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNEcmFnZ2FibGU7IH1cbiAgICBzZXQgaXNEcmFnZ2FibGUodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0RyYWdnYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9pc0RyYWdnYWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc05vQm9keVBhZGRpbmcoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9oYXNOb0JvZHlQYWRkaW5nOyB9XG4gICAgc2V0IGhhc05vQm9keVBhZGRpbmcodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9oYXNOb0JvZHlQYWRkaW5nID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2hhc05vQm9keVBhZGRpbmcgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNGb290ZXIoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9oYXNGb290ZXI7IH1cbiAgICBzZXQgaGFzRm9vdGVyKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzRm9vdGVyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2hhc0Zvb3RlciA9IHRydWU7XG5cbiAgICBwcml2YXRlIGRpYWxvZzogT3BlbmVkRGlhbG9nO1xuICAgIHByaXZhdGUgdGVtcGxhdGVQb3J0YWxIZWFkZXI6IFRlbXBsYXRlUG9ydGFsPEV1aURpYWxvZ0hlYWRlckRpcmVjdGl2ZT47XG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVBvcnRhbENvbnRlbnQ6IFRlbXBsYXRlUG9ydGFsPEVsZW1lbnRSZWY+O1xuICAgIHByaXZhdGUgdGVtcGxhdGVQb3J0YWxGb290ZXI6IFRlbXBsYXRlUG9ydGFsPEV1aURpYWxvZ0Zvb3RlckRpcmVjdGl2ZT47XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgZXVpRGlhbG9nU2VydmljZTogRXVpRGlhbG9nU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc01lc3NhZ2VCb3gpIHtcbiAgICAgICAgICAgIHRoaXMuaXNDbG9zZWRPbkVzY2FwZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5oYXNDbG9zZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZXVpUHJpbWFyeSkgeyB0aGlzLnR5cGVDbGFzcyA9ICdwcmltYXJ5JzsgfVxuICAgICAgICBpZiAodGhpcy5ldWlTZWNvbmRhcnkpIHsgdGhpcy50eXBlQ2xhc3MgPSAnc2Vjb25kYXJ5JzsgfVxuICAgICAgICBpZiAodGhpcy5ldWlJbmZvKSB7IHRoaXMudHlwZUNsYXNzID0gJ2luZm8nOyB9XG4gICAgICAgIGlmICh0aGlzLmV1aVN1Y2Nlc3MpIHsgdGhpcy50eXBlQ2xhc3MgPSAnc3VjY2Vzcyc7IH1cbiAgICAgICAgaWYgKHRoaXMuZXVpV2FybmluZykgeyB0aGlzLnR5cGVDbGFzcyA9ICd3YXJuaW5nJzsgfVxuICAgICAgICBpZiAodGhpcy5ldWlEYW5nZXIpIHsgdGhpcy50eXBlQ2xhc3MgPSAnZGFuZ2VyJzsgfVxuICAgICAgICBpZiAodGhpcy5ldWlBY2NlbnQpIHsgdGhpcy50eXBlQ2xhc3MgPSAnYWNjZW50JzsgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXVpRGlhbG9nSGVhZGVyRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlUG9ydGFsSGVhZGVyID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVSZWZIZWFkZXIsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRlbXBsYXRlUG9ydGFsQ29udGVudCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlUmVmQ29udGVudCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcblxuICAgICAgICBpZiAodGhpcy5ldWlEaWFsb2dGb290ZXJEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVQb3J0YWxGb290ZXIgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVJlZkZvb3RlciwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBldWktZGlhbG9nIGlzIG9wZW4uXG4gICAgICpcbiAgICAgKiBAdXNhZ2VOb3Rlc1xuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8ZXVpLWRpYWxvZyAjZGlhbG9nPlxuICAgICAqICAgICAgPG15LWNvbXBvbmVudCAqbmdJZj1cImRpYWxvZy5pc09wZW5cIj48L215LWNvbXBvbmVudD5cbiAgICAgKiA8L2V1aS1kaWFsb2c+XG4gICAgICogYGBgXG4gICAgICogQHJldHVybnMgQSBib29sZWFuIHdpdGggdmFsdWUgYHRydWVgIHdoZW4gb3Blbiwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPcGVuJC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPcGVuIGEgZGlhbG9nLlxuICAgICAqIEByZXR1cm5zIEEgZGlhbG9nIG9iamVjdCBvZiB0eXBlIGBPcGVuZWREaWFsb2dgXG4gICAgICovXG4gICAgcHVibGljIG9wZW5EaWFsb2c8SEMsIEhDQywgQkMsIEJDQywgRkMsIEZDQz4oKTogT3BlbmVkRGlhbG9nIHtcbiAgICAgICAgY29uc3QgY29uZmlnOiBFdWlEaWFsb2dJbnRlcmZhY2U8SEMsIEhDQywgQkMsIEJDQywgRkMsIEZDQz4gPSB7XG4gICAgICAgICAgICBlMmVBdHRyOiB0aGlzLmUyZUF0dHIsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcbiAgICAgICAgICAgIHR5cGVDbGFzczogdGhpcy50eXBlQ2xhc3MsXG4gICAgICAgICAgICBhY2NlcHRMYWJlbDogdGhpcy5hY2NlcHRMYWJlbCxcbiAgICAgICAgICAgIGRpc21pc3NMYWJlbDogdGhpcy5kaXNtaXNzTGFiZWwsXG4gICAgICAgICAgICBoYXNDbG9zZUJ1dHRvbjogdGhpcy5oYXNDbG9zZUJ1dHRvbixcbiAgICAgICAgICAgIGhhc0FjY2VwdEJ1dHRvbjogdGhpcy5oYXNBY2NlcHRCdXR0b24sXG4gICAgICAgICAgICBoYXNEaXNtaXNzQnV0dG9uOiB0aGlzLmhhc0Rpc21pc3NCdXR0b24sXG4gICAgICAgICAgICBoYXNNb2JpbGVDdXN0b21TaXplOiB0aGlzLmhhc01vYmlsZUN1c3RvbVNpemUsXG4gICAgICAgICAgICBpc0Nsb3NlZE9uQ2xpY2tPdXRzaWRlOiB0aGlzLmlzQ2xvc2VkT25DbGlja091dHNpZGUsXG4gICAgICAgICAgICBpc0Nsb3NlZE9uRXNjYXBlOiB0aGlzLmlzQ2xvc2VkT25Fc2NhcGUsXG4gICAgICAgICAgICBpc0hhbmRsZUNsb3NlT25EaXNtaXNzOiB0aGlzLmlzSGFuZGxlQ2xvc2VPbkRpc21pc3MsXG4gICAgICAgICAgICBpc0hhbmRsZUNsb3NlT25DbG9zZTogdGhpcy5pc0hhbmRsZUNsb3NlT25DbG9zZSxcbiAgICAgICAgICAgIGlzSGFuZGxlQ2xvc2VPbkFjY2VwdDogdGhpcy5pc0hhbmRsZUNsb3NlT25BY2NlcHQsXG4gICAgICAgICAgICBpc0hhbmRsZUNsb3NlT25DbGlja091dHNpZGU6IHRoaXMuaXNIYW5kbGVDbG9zZU9uQ2xpY2tPdXRzaWRlLFxuICAgICAgICAgICAgaXNIYW5kbGVDbG9zZU9uRXNjYXBlOiB0aGlzLmlzSGFuZGxlQ2xvc2VPbkVzY2FwZSxcbiAgICAgICAgICAgIGlzRHJhZ2dhYmxlOiB0aGlzLmlzRHJhZ2dhYmxlLFxuICAgICAgICAgICAgaGFzTm9Cb2R5UGFkZGluZzogdGhpcy5oYXNOb0JvZHlQYWRkaW5nLFxuICAgICAgICAgICAgaGFzRm9vdGVyOiB0aGlzLmhhc0Zvb3RlcixcbiAgICAgICAgICAgIGhlYWRlcjogdGhpcy50ZW1wbGF0ZVBvcnRhbEhlYWRlcixcbiAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMudGVtcGxhdGVQb3J0YWxDb250ZW50LFxuICAgICAgICAgICAgZm9vdGVyOiB0aGlzLnRlbXBsYXRlUG9ydGFsRm9vdGVyLFxuICAgICAgICAgICAgY2xpY2tPdXRzaWRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDbG9zZWRPbkNsaWNrT3V0c2lkZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tPdXRzaWRlLmVtaXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlc2NhcGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0Nsb3NlZE9uRXNjYXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5lc2NhcGUuZW1pdCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wZW46ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW4uZW1pdCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNsb3NlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzSGFuZGxlQ2xvc2VPbkNsb3NlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzbWlzczogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0hhbmRsZUNsb3NlT25EaXNtaXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNtaXNzLmVtaXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNIYW5kbGVDbG9zZU9uQWNjZXB0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5hY2NlcHQuZW1pdCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmlzT3BlbiQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kaWFsb2cgPSB0aGlzLmV1aURpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhjb25maWcpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRpYWxvZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZSBhIERpYWxvZ1xuICAgICAqL1xuICAgIHB1YmxpYyBjbG9zZURpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW4kLm5leHQoZmFsc2UpO1xuICAgICAgICB0aGlzLmV1aURpYWxvZ1NlcnZpY2UuY2xvc2VEaWFsb2coKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlIEFjY2VwdCBidXR0b24gb2YgZGVmYXVsdCBldWktZGlhbG9nIGZvb3Rlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZUFjY2VwdEJ1dHRvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLmdldERpYWxvZyh0aGlzLmRpYWxvZy5pZCkuY29udGFpbmVyUmVmLmluc3RhbmNlLmRpc2FibGVBY2NlcHRCdXR0b24oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGUgQWNjZXB0IGJ1dHRvbiBvZiBkZWZhdWx0IGV1aS1kaWFsb2cgZm9vdGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVBY2NlcHRCdXR0b24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpRGlhbG9nU2VydmljZS5nZXREaWFsb2codGhpcy5kaWFsb2cuaWQpLmNvbnRhaW5lclJlZi5pbnN0YW5jZS5lbmFibGVBY2NlcHRCdXR0b24oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlIERpc21pc3MgYnV0dG9uIG9mIGRlZmF1bHQgZXVpLWRpYWxvZyBmb290ZXIuXG4gICAgICovXG4gICAgcHVibGljIGRpc2FibGVEaXNtaXNzQnV0dG9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aURpYWxvZ1NlcnZpY2UuZ2V0RGlhbG9nKHRoaXMuZGlhbG9nLmlkKS5jb250YWluZXJSZWYuaW5zdGFuY2UuZGlzYWJsZURpc21pc3NCdXR0b24oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGUgRGlzbWlzcyBidXR0b24gb2YgZGVmYXVsdCBldWktZGlhbG9nIGZvb3Rlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlRGlzbWlzc0J1dHRvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLmdldERpYWxvZyh0aGlzLmRpYWxvZy5pZCkuY29udGFpbmVyUmVmLmluc3RhbmNlLmVuYWJsZURpc21pc3NCdXR0b24oKTtcbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktZGlhbG9nLWhlYWRlcicgfSlcbmV4cG9ydCBjbGFzcyBFdWlEaWFsb2dIZWFkZXJEaXJlY3RpdmUgeyB9XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2V1aS1kaWFsb2ctZm9vdGVyJyB9KVxuZXhwb3J0IGNsYXNzIEV1aURpYWxvZ0Zvb3RlckRpcmVjdGl2ZSB7IH1cbi8qIGVzbGludC1lbmFibGUgKi9cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWZIZWFkZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLWRpYWxvZy1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZkNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWZGb290ZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLWRpYWxvZy1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
363
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktZGlhbG9nL2V1aS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLWRpYWxvZy9ldWktZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFDNUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWN0RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQW1JakQsWUFBb0IsZ0JBQWtDLEVBQVUsZ0JBQWtDO1FBQzlGLEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFsSXpGLFlBQU8sR0FBVyxZQUFZLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxRQUFRLENBQUM7UUFDdkIsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFHM0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RDLDREQUE0RDtRQUNsRCxTQUFJLEdBQUcsSUFBSSxZQUFZLEVB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QWlCLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksZ0JBQWdCLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBHLElBQ0ksbUJBQW1CLEtBQWMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLElBQUksbUJBQW1CLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFHLElBQ0ksc0JBQXNCLEtBQWMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQzlFLElBQUksc0JBQXNCLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhILElBQ0ksZ0JBQWdCLEtBQWMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksZ0JBQWdCLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBHLElBQ0ksc0JBQXNCLEtBQWMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQzlFLElBQUksc0JBQXNCLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhILElBQ0ksb0JBQW9CLEtBQWMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO0lBQzFFLElBQUksb0JBQW9CLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTVHLElBQ0kscUJBQXFCLEtBQWMs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d0JBQXdCO2tCQURwQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIElucHV0LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIERpcmVjdGl2ZSwgQ29udGVudENoaWxkLCBmb3J3YXJkUmVmLCBRdWVyeUxpc3QsIEVsZW1lbnRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9zaGFyZWQnO1xuXG5pbXBvcnQgeyBFdWlEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ldWktZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXVpRGlhbG9nSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RlbHMvZXVpLWRpYWxvZy5jb25maWcnO1xuaW1wb3J0IHsgRElBTE9HX0NPTVBPTkVOVF9DT05GSUcgfSBmcm9tICcuL3NlcnZpY2VzL2V1aS1kaWFsb2cudG9rZW4nO1xuaW1wb3J0IHsgT3BlbmVkRGlhbG9nIH0gZnJvbSAnLi9tb2RlbHMvb3BlbmVkLWRpYWxvZy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IERJQUxPR19DT01QT05FTlRfQ09ORklHLCB1c2VWYWx1ZTogbnVsbCB9XG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcblxuZXhwb3J0IGNsYXNzIEV1aURpYWxvZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgZTJlQXR0cjogc3RyaW5nID0gJ2V1aS1kaWFsb2cnO1xuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgYWNjZXB0TGFiZWwgPSAnZXVpLk9LJztcbiAgICBASW5wdXQoKSBkaXNtaXNzTGFiZWwgPSAnZXVpLkNBTkNFTCc7XG4gICAgQElucHV0KCkgdHlwZUNsYXNzOiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ2FjY2VudCc7XG5cbiAgICBAT3V0cHV0KCkgY2xpY2tPdXRzaWRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBlc2NhcGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgQE91dHB1dCgpIG9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBhY2NlcHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVQb3J0YWw7XG4gICAgcHVibGljIGlzT3BlbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWZIZWFkZXInKSB0ZW1wbGF0ZVJlZkhlYWRlcjogVGVtcGxhdGVSZWY8RXVpRGlhbG9nSGVhZGVyRGlyZWN0aXZlPjtcbiAgICBAVmlld0NoaWxkKCd0ZW1wbGF0ZVJlZkNvbnRlbnQnKSB0ZW1wbGF0ZVJlZkNvbnRlbnQ6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlUmVmRm9vdGVyJykgdGVtcGxhdGVSZWZGb290ZXI6IFRlbXBsYXRlUmVmPEV1aURpYWxvZ0Zvb3RlckRpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRXVpRGlhbG9nSGVhZGVyRGlyZWN0aXZlKSkgZXVpRGlhbG9nSGVhZGVyRGlyZWN0aXZlOiBRdWVyeUxpc3Q8RXVpRGlhbG9nSGVhZGVyRGlyZWN0aXZlPjtcbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRXVpRGlhbG9nRm9vdGVyRGlyZWN0aXZlKSkgZXVpRGlhbG9nRm9vdGVyRGlyZWN0aXZlOiBRdWVyeUxpc3Q8RXVpRGlhbG9nRm9vdGVyRGlyZWN0aXZlPjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHdpZHRoKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLl9pc0Z1bGxTY3JlZW4gPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiAnMTAwdncnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgICB9XG4gICAgc2V0IHdpZHRoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzRnVsbFNjcmVlbiAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgdGhpcy5fd2lkdGggPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF93aWR0aCA9ICc1MHJlbSc7XG4gICAgQElucHV0KClcbiAgICBnZXQgaGVpZ2h0KCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLl9pc0Z1bGxTY3JlZW4gPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiAnMTAwdmgnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XG4gICAgfVxuICAgIHNldCBoZWlnaHQodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5faXNGdWxsU2NyZWVuICE9PSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLl9oZWlnaHQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF9oZWlnaHQgPSAnYXV0byc7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNGdWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNGdWxsU2NyZWVuO1xuICAgIH1cbiAgICBzZXQgaXNGdWxsU2NyZWVuKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNGdWxsU2NyZWVuID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuX2lzRnVsbFNjcmVlbiA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgdGhpcy5fd2lkdGggPSAnMTAwdncnO1xuICAgICAgICAgICAgdGhpcy5faGVpZ2h0ID0gJzEwMHZoJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF9pc0Z1bGxTY3JlZW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNDbG9zZUJ1dHRvbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2hhc0Nsb3NlQnV0dG9uOyB9XG4gICAgc2V0IGhhc0Nsb3NlQnV0dG9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzQ2xvc2VCdXR0b24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaGFzQ2xvc2VCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc0FjY2VwdEJ1dHRvbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2hhc0FjY2VwdEJ1dHRvbjsgfVxuICAgIHNldCBoYXNBY2NlcHRCdXR0b24odmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9oYXNBY2NlcHRCdXR0b24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaGFzQWNjZXB0QnV0dG9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNEaXNtaXNzQnV0dG9uKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzRGlzbWlzc0J1dHRvbjsgfVxuICAgIHNldCBoYXNEaXNtaXNzQnV0dG9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzRGlzbWlzc0J1dHRvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNEaXNtaXNzQnV0dG9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNNb2JpbGVDdXN0b21TaXplKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzTW9iaWxlQ3VzdG9tU2l6ZTsgfVxuICAgIHNldCBoYXNNb2JpbGVDdXN0b21TaXplKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzTW9iaWxlQ3VzdG9tU2l6ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNNb2JpbGVDdXN0b21TaXplID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNDbG9zZWRPbkNsaWNrT3V0c2lkZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzQ2xvc2VkT25DbGlja091dHNpZGU7IH1cbiAgICBzZXQgaXNDbG9zZWRPbkNsaWNrT3V0c2lkZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2lzQ2xvc2VkT25DbGlja091dHNpZGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNDbG9zZWRPbkNsaWNrT3V0c2lkZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzQ2xvc2VkT25Fc2NhcGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc0Nsb3NlZE9uRXNjYXBlOyB9XG4gICAgc2V0IGlzQ2xvc2VkT25Fc2NhcGUodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0Nsb3NlZE9uRXNjYXBlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzQ2xvc2VkT25Fc2NhcGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzSGFuZGxlQ2xvc2VPbkRpc21pc3MoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc0hhbmRsZUNsb3NlT25EaXNtaXNzOyB9XG4gICAgc2V0IGlzSGFuZGxlQ2xvc2VPbkRpc21pc3ModmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0hhbmRsZUNsb3NlT25EaXNtaXNzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzSGFuZGxlQ2xvc2VPbkRpc21pc3MgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0hhbmRsZUNsb3NlT25DbG9zZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzSGFuZGxlQ2xvc2VPbkNsb3NlOyB9XG4gICAgc2V0IGlzSGFuZGxlQ2xvc2VPbkNsb3NlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNIYW5kbGVDbG9zZU9uQ2xvc2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNIYW5kbGVDbG9zZU9uQ2xvc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0hhbmRsZUNsb3NlT25BY2NlcHQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc0hhbmRsZUNsb3NlT25BY2NlcHQ7IH1cbiAgICBzZXQgaXNIYW5kbGVDbG9zZU9uQWNjZXB0KHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNIYW5kbGVDbG9zZU9uQWNjZXB0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzSGFuZGxlQ2xvc2VPbkFjY2VwdCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzSGFuZGxlQ2xvc2VPbkNsaWNrT3V0c2lkZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzSGFuZGxlQ2xvc2VPbkNsaWNrT3V0c2lkZTsgfVxuICAgIHNldCBpc0hhbmRsZUNsb3NlT25DbGlja091dHNpZGUodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0hhbmRsZUNsb3NlT25DbGlja091dHNpZGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNIYW5kbGVDbG9zZU9uQ2xpY2tPdXRzaWRlID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNIYW5kbGVDbG9zZU9uRXNjYXBlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNIYW5kbGVDbG9zZU9uRXNjYXBlOyB9XG4gICAgc2V0IGlzSGFuZGxlQ2xvc2VPbkVzY2FwZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2lzSGFuZGxlQ2xvc2VPbkVzY2FwZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9pc0hhbmRsZUNsb3NlT25Fc2NhcGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc01lc3NhZ2VCb3goKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc01lc3NhZ2VCb3g7IH1cbiAgICBzZXQgaXNNZXNzYWdlQm94KHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faXNNZXNzYWdlQm94ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzTWVzc2FnZUJveCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzRHJhZ2dhYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNEcmFnZ2FibGU7IH1cbiAgICBzZXQgaXNEcmFnZ2FibGUodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc0RyYWdnYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9pc0RyYWdnYWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc05vQm9keVBhZGRpbmcoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9oYXNOb0JvZHlQYWRkaW5nOyB9XG4gICAgc2V0IGhhc05vQm9keVBhZGRpbmcodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9oYXNOb0JvZHlQYWRkaW5nID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2hhc05vQm9keVBhZGRpbmcgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNGb290ZXIoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9oYXNGb290ZXI7IH1cbiAgICBzZXQgaGFzRm9vdGVyKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzRm9vdGVyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2hhc0Zvb3RlciA9IHRydWU7XG5cbiAgICBwcml2YXRlIGRpYWxvZzogT3BlbmVkRGlhbG9nO1xuICAgIHByaXZhdGUgdGVtcGxhdGVQb3J0YWxIZWFkZXI6IFRlbXBsYXRlUG9ydGFsPEV1aURpYWxvZ0hlYWRlckRpcmVjdGl2ZT47XG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVBvcnRhbENvbnRlbnQ6IFRlbXBsYXRlUG9ydGFsPEVsZW1lbnRSZWY+O1xuICAgIHByaXZhdGUgdGVtcGxhdGVQb3J0YWxGb290ZXI6IFRlbXBsYXRlUG9ydGFsPEV1aURpYWxvZ0Zvb3RlckRpcmVjdGl2ZT47XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgZXVpRGlhbG9nU2VydmljZTogRXVpRGlhbG9nU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc01lc3NhZ2VCb3gpIHtcbiAgICAgICAgICAgIHRoaXMuaXNDbG9zZWRPbkVzY2FwZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5oYXNDbG9zZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZXVpUHJpbWFyeSkgeyB0aGlzLnR5cGVDbGFzcyA9ICdwcmltYXJ5JzsgfVxuICAgICAgICBpZiAodGhpcy5ldWlTZWNvbmRhcnkpIHsgdGhpcy50eXBlQ2xhc3MgPSAnc2Vjb25kYXJ5JzsgfVxuICAgICAgICBpZiAodGhpcy5ldWlJbmZvKSB7IHRoaXMudHlwZUNsYXNzID0gJ2luZm8nOyB9XG4gICAgICAgIGlmICh0aGlzLmV1aVN1Y2Nlc3MpIHsgdGhpcy50eXBlQ2xhc3MgPSAnc3VjY2Vzcyc7IH1cbiAgICAgICAgaWYgKHRoaXMuZXVpV2FybmluZykgeyB0aGlzLnR5cGVDbGFzcyA9ICd3YXJuaW5nJzsgfVxuICAgICAgICBpZiAodGhpcy5ldWlEYW5nZXIpIHsgdGhpcy50eXBlQ2xhc3MgPSAnZGFuZ2VyJzsgfVxuICAgICAgICBpZiAodGhpcy5ldWlBY2NlbnQpIHsgdGhpcy50eXBlQ2xhc3MgPSAnYWNjZW50JzsgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXVpRGlhbG9nSGVhZGVyRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlUG9ydGFsSGVhZGVyID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVSZWZIZWFkZXIsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRlbXBsYXRlUG9ydGFsQ29udGVudCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlUmVmQ29udGVudCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcblxuICAgICAgICBpZiAodGhpcy5ldWlEaWFsb2dGb290ZXJEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVQb3J0YWxGb290ZXIgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVJlZkZvb3RlciwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBldWktZGlhbG9nIGlzIG9wZW4uXG4gICAgICpcbiAgICAgKiBAdXNhZ2VOb3Rlc1xuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8ZXVpLWRpYWxvZyAjZGlhbG9nPlxuICAgICAqICAgICAgPG15LWNvbXBvbmVudCAqbmdJZj1cImRpYWxvZy5pc09wZW5cIj48L215LWNvbXBvbmVudD5cbiAgICAgKiA8L2V1aS1kaWFsb2c+XG4gICAgICogYGBgXG4gICAgICogQHJldHVybnMgQSBib29sZWFuIHdpdGggdmFsdWUgYHRydWVgIHdoZW4gb3Blbiwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPcGVuJC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPcGVuIGEgZGlhbG9nLlxuICAgICAqIEByZXR1cm5zIEEgZGlhbG9nIG9iamVjdCBvZiB0eXBlIGBPcGVuZWREaWFsb2dgXG4gICAgICovXG4gICAgcHVibGljIG9wZW5EaWFsb2c8SEMsIEhDQywgQkMsIEJDQywgRkMsIEZDQz4oKTogT3BlbmVkRGlhbG9nIHtcbiAgICAgICAgY29uc3QgY29uZmlnOiBFdWlEaWFsb2dJbnRlcmZhY2U8SEMsIEhDQywgQkMsIEJDQywgRkMsIEZDQz4gPSB7XG4gICAgICAgICAgICBlMmVBdHRyOiB0aGlzLmUyZUF0dHIsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcbiAgICAgICAgICAgIGlzRnVsbFNjcmVlbjogdGhpcy5pc0Z1bGxTY3JlZW4sXG4gICAgICAgICAgICB0eXBlQ2xhc3M6IHRoaXMudHlwZUNsYXNzLFxuICAgICAgICAgICAgYWNjZXB0TGFiZWw6IHRoaXMuYWNjZXB0TGFiZWwsXG4gICAgICAgICAgICBkaXNtaXNzTGFiZWw6IHRoaXMuZGlzbWlzc0xhYmVsLFxuICAgICAgICAgICAgaGFzQ2xvc2VCdXR0b246IHRoaXMuaGFzQ2xvc2VCdXR0b24sXG4gICAgICAgICAgICBoYXNBY2NlcHRCdXR0b246IHRoaXMuaGFzQWNjZXB0QnV0dG9uLFxuICAgICAgICAgICAgaGFzRGlzbWlzc0J1dHRvbjogdGhpcy5oYXNEaXNtaXNzQnV0dG9uLFxuICAgICAgICAgICAgaGFzTW9iaWxlQ3VzdG9tU2l6ZTogdGhpcy5oYXNNb2JpbGVDdXN0b21TaXplLFxuICAgICAgICAgICAgaXNDbG9zZWRPbkNsaWNrT3V0c2lkZTogdGhpcy5pc0Nsb3NlZE9uQ2xpY2tPdXRzaWRlLFxuICAgICAgICAgICAgaXNDbG9zZWRPbkVzY2FwZTogdGhpcy5pc0Nsb3NlZE9uRXNjYXBlLFxuICAgICAgICAgICAgaXNIYW5kbGVDbG9zZU9uRGlzbWlzczogdGhpcy5pc0hhbmRsZUNsb3NlT25EaXNtaXNzLFxuICAgICAgICAgICAgaXNIYW5kbGVDbG9zZU9uQ2xvc2U6IHRoaXMuaXNIYW5kbGVDbG9zZU9uQ2xvc2UsXG4gICAgICAgICAgICBpc0hhbmRsZUNsb3NlT25BY2NlcHQ6IHRoaXMuaXNIYW5kbGVDbG9zZU9uQWNjZXB0LFxuICAgICAgICAgICAgaXNIYW5kbGVDbG9zZU9uQ2xpY2tPdXRzaWRlOiB0aGlzLmlzSGFuZGxlQ2xvc2VPbkNsaWNrT3V0c2lkZSxcbiAgICAgICAgICAgIGlzSGFuZGxlQ2xvc2VPbkVzY2FwZTogdGhpcy5pc0hhbmRsZUNsb3NlT25Fc2NhcGUsXG4gICAgICAgICAgICBpc0RyYWdnYWJsZTogdGhpcy5pc0RyYWdnYWJsZSxcbiAgICAgICAgICAgIGhhc05vQm9keVBhZGRpbmc6IHRoaXMuaGFzTm9Cb2R5UGFkZGluZyxcbiAgICAgICAgICAgIGhhc0Zvb3RlcjogdGhpcy5oYXNGb290ZXIsXG4gICAgICAgICAgICBoZWFkZXI6IHRoaXMudGVtcGxhdGVQb3J0YWxIZWFkZXIsXG4gICAgICAgICAgICBjb250ZW50OiB0aGlzLnRlbXBsYXRlUG9ydGFsQ29udGVudCxcbiAgICAgICAgICAgIGZvb3RlcjogdGhpcy50ZW1wbGF0ZVBvcnRhbEZvb3RlcixcbiAgICAgICAgICAgIGNsaWNrT3V0c2lkZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQ2xvc2VkT25DbGlja091dHNpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc09wZW4kLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrT3V0c2lkZS5lbWl0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXNjYXBlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDbG9zZWRPbkVzY2FwZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZXNjYXBlLmVtaXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVuOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuLmVtaXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0hhbmRsZUNsb3NlT25DbG9zZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRpc21pc3M6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNIYW5kbGVDbG9zZU9uRGlzbWlzcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZGlzbWlzcy5lbWl0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzSGFuZGxlQ2xvc2VPbkFjY2VwdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXB0LmVtaXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5pc09wZW4kLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGlhbG9nID0gdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coY29uZmlnKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2c7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgYSBEaWFsb2dcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2VEaWFsb2coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLmNsb3NlRGlhbG9nKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZSBBY2NlcHQgYnV0dG9uIG9mIGRlZmF1bHQgZXVpLWRpYWxvZyBmb290ZXIuXG4gICAgICovXG4gICAgcHVibGljIGRpc2FibGVBY2NlcHRCdXR0b24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpRGlhbG9nU2VydmljZS5nZXREaWFsb2codGhpcy5kaWFsb2cuaWQpLmNvbnRhaW5lclJlZi5pbnN0YW5jZS5kaXNhYmxlQWNjZXB0QnV0dG9uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlIEFjY2VwdCBidXR0b24gb2YgZGVmYXVsdCBldWktZGlhbG9nIGZvb3Rlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlQWNjZXB0QnV0dG9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aURpYWxvZ1NlcnZpY2UuZ2V0RGlhbG9nKHRoaXMuZGlhbG9nLmlkKS5jb250YWluZXJSZWYuaW5zdGFuY2UuZW5hYmxlQWNjZXB0QnV0dG9uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZSBEaXNtaXNzIGJ1dHRvbiBvZiBkZWZhdWx0IGV1aS1kaWFsb2cgZm9vdGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBkaXNhYmxlRGlzbWlzc0J1dHRvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLmdldERpYWxvZyh0aGlzLmRpYWxvZy5pZCkuY29udGFpbmVyUmVmLmluc3RhbmNlLmRpc2FibGVEaXNtaXNzQnV0dG9uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlIERpc21pc3MgYnV0dG9uIG9mIGRlZmF1bHQgZXVpLWRpYWxvZyBmb290ZXIuXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZURpc21pc3NCdXR0b24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpRGlhbG9nU2VydmljZS5nZXREaWFsb2codGhpcy5kaWFsb2cuaWQpLmNvbnRhaW5lclJlZi5pbnN0YW5jZS5lbmFibGVEaXNtaXNzQnV0dG9uKCk7XG4gICAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZXVpLWRpYWxvZy1oZWFkZXInIH0pXG5leHBvcnQgY2xhc3MgRXVpRGlhbG9nSGVhZGVyRGlyZWN0aXZlIHsgfVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktZGlhbG9nLWZvb3RlcicgfSlcbmV4cG9ydCBjbGFzcyBFdWlEaWFsb2dGb290ZXJEaXJlY3RpdmUgeyB9XG4vKiBlc2xpbnQtZW5hYmxlICovXG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmSGVhZGVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aS1kaWFsb2ctaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWZDb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmRm9vdGVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aS1kaWFsb2ctZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -5,6 +5,7 @@ export class EuiDialogConfig {
5
5
  this.dismissLabel = 'eui.CANCEL';
6
6
  this.width = '50rem';
7
7
  this.height = 'auto';
8
+ this.isFullScreen = false;
8
9
  this.hasCloseButton = true;
9
10
  this.hasAcceptButton = true;
10
11
  this.hasDismissButton = true;
@@ -28,4 +29,4 @@ export class EuiDialogComponentInstances {
28
29
  this.footerComponent = null;
29
30
  }
30
31
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWRpYWxvZy5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ldWktZGlhbG9nL21vZGVscy9ldWktZGlhbG9nLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sZUFBZTtJQW9CeEIsWUFBWSxNQUFxRDtRQW5CakUsWUFBTyxHQUFHLGlCQUFpQixDQUFDO1FBQzVCLGdCQUFXLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLFVBQUssR0FBRyxPQUFPLENBQUM7UUFDaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUMvQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR2pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSjtBQXFERCxNQUFNLE9BQU8sMkJBQTJCO0lBQXhDO1FBQ0ksb0JBQWUsR0FBTyxJQUFJLENBQUM7UUFDM0Isa0JBQWEsR0FBTyxJQUFJLENBQUM7UUFDekIsb0JBQWUsR0FBTyxJQUFJLENBQUM7SUFDL0IsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIFBvcnRhbCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuZXhwb3J0IGNsYXNzIEV1aURpYWxvZ0NvbmZpZzxIQywgSENDLCBCQywgQkNDLCBGQywgRkNDPiBpbXBsZW1lbnRzIEV1aURpYWxvZ0ludGVyZmFjZTxIQywgSENDLCBCQywgQkNDLCBGQywgRkNDPiB7XG4gICAgZTJlQXR0ciA9ICdldWktbWVzc2FnZS1ib3gnO1xuICAgIGFjY2VwdExhYmVsID0gJ2V1aS5PSyc7XG4gICAgZGlzbWlzc0xhYmVsID0gJ2V1aS5DQU5DRUwnO1xuICAgIHdpZHRoID0gJzUwcmVtJztcbiAgICBoZWlnaHQgPSAnYXV0byc7XG4gICAgaGFzQ2xvc2VCdXR0b24gPSB0cnVlO1xuICAgIGhhc0FjY2VwdEJ1dHRvbiA9IHRydWU7XG4gICAgaGFzRGlzbWlzc0J1dHRvbiA9IHRydWU7XG4gICAgaGFzTW9iaWxlQ3VzdG9tU2l6ZSA9IGZhbHNlO1xuICAgIGlzQ2xvc2VkT25DbGlja091dHNpZGUgPSBmYWxzZTtcbiAgICBpc0Nsb3NlZE9uRXNjYXBlID0gdHJ1ZTtcbiAgICBpc0hhbmRsZUNsb3NlT25EaXNtaXNzID0gZmFsc2U7XG4gICAgaXNIYW5kbGVDbG9zZU9uQ2xvc2UgPSBmYWxzZTtcbiAgICBpc0hhbmRsZUNsb3NlT25BY2NlcHQgPSBmYWxzZTtcbiAgICBpc0hhbmRsZUNsb3NlT25DbGlja091dHNpZGUgPSBmYWxzZTtcbiAgICBpc0hhbmRsZUNsb3NlT25Fc2NhcGUgPSBmYWxzZTtcbiAgICBoYXNGb290ZXIgPSB0cnVlO1xuICAgIGlzTWVzc2FnZUJveCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IodmFsdWVzOiBFdWlEaWFsb2dJbnRlcmZhY2U8SEMsIEhDQywgQkMsIEJDQywgRkMsIEZDQz4pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCB2YWx1ZXMpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdWlEaWFsb2dJbnRlcmZhY2U8SEMsIEhDQywgQkMsIEJDQywgRkMsIEZDQz4ge1xuICAgIGRpYWxvZ0lkPzogc3RyaW5nO1xuICAgIGUyZUF0dHI/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgdHlwZUNsYXNzPzogKCdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgfCAnYWNjZW50Jyk7XG4gICAgYWNjZXB0TGFiZWw/OiBzdHJpbmc7XG4gICAgZGlzbWlzc0xhYmVsPzogc3RyaW5nO1xuICAgIHdpZHRoPzogc3RyaW5nO1xuICAgIGhlaWdodD86IHN0cmluZztcbiAgICBoZWFkZXJDb21wb25lbnQ/OiB7XG4gICAgICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxIQz4sXG4gICAgICAgIGNvbmZpZz86IEhDQyxcbiAgICB9O1xuICAgIGJvZHlDb21wb25lbnQ/OiB7XG4gICAgICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxCQz4sXG4gICAgICAgIGNvbmZpZz86IEJDQyxcbiAgICB9O1xuICAgIGZvb3RlckNvbXBvbmVudD86IHtcbiAgICAgICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEZDPixcbiAgICAgICAgY29uZmlnPzogRkNDLFxuICAgIH07XG4gICAgaGVhZGVyPzogVGVtcGxhdGVQb3J0YWw7XG4gICAgY29udGVudD86IFRlbXBsYXRlUG9ydGFsIHwgc3RyaW5nIHwgbnVsbDtcbiAgICBmb290ZXI/OiBUZW1wbGF0ZVBvcnRhbDtcbiAgICBoYXNDbG9zZUJ1dHRvbj86IGJvb2xlYW47XG4gICAgaGFzQWNjZXB0QnV0dG9uPzogYm9vbGVhbjtcbiAgICBoYXNEaXNtaXNzQnV0dG9uPzogYm9vbGVhbjtcbiAgICBoYXNNb2JpbGVDdXN0b21TaXplPzogYm9vbGVhbjtcbiAgICBpc0Nsb3NlZE9uQ2xpY2tPdXRzaWRlPzogYm9vbGVhbjtcbiAgICBpc0Nsb3NlZE9uRXNjYXBlPzogYm9vbGVhbjtcbiAgICBpc0hhbmRsZUNsb3NlT25EaXNtaXNzPzogYm9vbGVhbjtcbiAgICBpc0hhbmRsZUNsb3NlT25DbG9zZT86IGJvb2xlYW47XG4gICAgaXNIYW5kbGVDbG9zZU9uQWNjZXB0PzogYm9vbGVhbjtcbiAgICBpc0hhbmRsZUNsb3NlT25DbGlja091dHNpZGU/OiBib29sZWFuO1xuICAgIGlzSGFuZGxlQ2xvc2VPbkVzY2FwZT86IGJvb2xlYW47XG4gICAgaXNEcmFnZ2FibGU/OiBib29sZWFuO1xuICAgIGhhc05vQm9keVBhZGRpbmc/OiBib29sZWFuO1xuICAgIGhhc0Zvb3Rlcj86IGJvb2xlYW47XG4gICAgaXNNZXNzYWdlQm94PzogYm9vbGVhbjtcblxuICAgIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gICAgb3Blbj86ICgpID0+IHZvaWQ7XG4gICAgaW5pdD86IChpbnN0YW5jZXM6IEV1aURpYWxvZ0NvbXBvbmVudEluc3RhbmNlczxIQywgQkMsIEZDPikgPT4gdm9pZDtcbiAgICBjbGlja091dHNpZGU/OiAoaW5zdGFuY2VzOiBFdWlEaWFsb2dDb21wb25lbnRJbnN0YW5jZXM8SEMsIEJDLCBGQz4pID0+IHZvaWQ7XG4gICAgZXNjYXBlPzogKGluc3RhbmNlczogRXVpRGlhbG9nQ29tcG9uZW50SW5zdGFuY2VzPEhDLCBCQywgRkM+KSA9PiB2b2lkO1xuICAgIGNsb3NlPzogKGluc3RhbmNlczogRXVpRGlhbG9nQ29tcG9uZW50SW5zdGFuY2VzPEhDLCBCQywgRkM+KSA9PiB2b2lkO1xuICAgIGRpc21pc3M/OiAoaW5zdGFuY2VzOiBFdWlEaWFsb2dDb21wb25lbnRJbnN0YW5jZXM8SEMsIEJDLCBGQz4pID0+IHZvaWQ7XG4gICAgYWNjZXB0PzogKGluc3RhbmNlczogRXVpRGlhbG9nQ29tcG9uZW50SW5zdGFuY2VzPEhDLCBCQywgRkM+KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgRXVpRGlhbG9nQ29tcG9uZW50SW5zdGFuY2VzPEhDLCBCQywgRkM+IHtcbiAgICBoZWFkZXJDb21wb25lbnQ6IEhDID0gbnVsbDtcbiAgICBib2R5Q29tcG9uZW50OiBCQyA9IG51bGw7XG4gICAgZm9vdGVyQ29tcG9uZW50OiBGQyA9IG51bGw7XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWRpYWxvZy5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ldWktZGlhbG9nL21vZGVscy9ldWktZGlhbG9nLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sZUFBZTtJQXFCeEIsWUFBWSxNQUFxRDtRQXBCakUsWUFBTyxHQUFHLGlCQUFpQixDQUFDO1FBQzVCLGdCQUFXLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLFVBQUssR0FBRyxPQUFPLENBQUM7UUFDaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUMvQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR2pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSjtBQXNERCxNQUFNLE9BQU8sMkJBQTJCO0lBQXhDO1FBQ0ksb0JBQWUsR0FBTyxJQUFJLENBQUM7UUFDM0Isa0JBQWEsR0FBTyxJQUFJLENBQUM7UUFDekIsb0JBQWUsR0FBTyxJQUFJLENBQUM7SUFDL0IsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIFBvcnRhbCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuZXhwb3J0IGNsYXNzIEV1aURpYWxvZ0NvbmZpZzxIQywgSENDLCBCQywgQkNDLCBGQywgRkNDPiBpbXBsZW1lbnRzIEV1aURpYWxvZ0ludGVyZmFjZTxIQywgSENDLCBCQywgQkNDLCBGQywgRkNDPiB7XG4gICAgZTJlQXR0ciA9ICdldWktbWVzc2FnZS1ib3gnO1xuICAgIGFjY2VwdExhYmVsID0gJ2V1aS5PSyc7XG4gICAgZGlzbWlzc0xhYmVsID0gJ2V1aS5DQU5DRUwnO1xuICAgIHdpZHRoID0gJzUwcmVtJztcbiAgICBoZWlnaHQgPSAnYXV0byc7XG4gICAgaXNGdWxsU2NyZWVuID0gZmFsc2U7XG4gICAgaGFzQ2xvc2VCdXR0b24gPSB0cnVlO1xuICAgIGhhc0FjY2VwdEJ1dHRvbiA9IHRydWU7XG4gICAgaGFzRGlzbWlzc0J1dHRvbiA9IHRydWU7XG4gICAgaGFzTW9iaWxlQ3VzdG9tU2l6ZSA9IGZhbHNlO1xuICAgIGlzQ2xvc2VkT25DbGlja091dHNpZGUgPSBmYWxzZTtcbiAgICBpc0Nsb3NlZE9uRXNjYXBlID0gdHJ1ZTtcbiAgICBpc0hhbmRsZUNsb3NlT25EaXNtaXNzID0gZmFsc2U7XG4gICAgaXNIYW5kbGVDbG9zZU9uQ2xvc2UgPSBmYWxzZTtcbiAgICBpc0hhbmRsZUNsb3NlT25BY2NlcHQgPSBmYWxzZTtcbiAgICBpc0hhbmRsZUNsb3NlT25DbGlja091dHNpZGUgPSBmYWxzZTtcbiAgICBpc0hhbmRsZUNsb3NlT25Fc2NhcGUgPSBmYWxzZTtcbiAgICBoYXNGb290ZXIgPSB0cnVlO1xuICAgIGlzTWVzc2FnZUJveCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IodmFsdWVzOiBFdWlEaWFsb2dJbnRlcmZhY2U8SEMsIEhDQywgQkMsIEJDQywgRkMsIEZDQz4pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCB2YWx1ZXMpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdWlEaWFsb2dJbnRlcmZhY2U8SEMsIEhDQywgQkMsIEJDQywgRkMsIEZDQz4ge1xuICAgIGRpYWxvZ0lkPzogc3RyaW5nO1xuICAgIGUyZUF0dHI/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgdHlwZUNsYXNzPzogKCdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgfCAnYWNjZW50Jyk7XG4gICAgYWNjZXB0TGFiZWw/OiBzdHJpbmc7XG4gICAgZGlzbWlzc0xhYmVsPzogc3RyaW5nO1xuICAgIHdpZHRoPzogc3RyaW5nO1xuICAgIGhlaWdodD86IHN0cmluZztcbiAgICBpc0Z1bGxTY3JlZW4/OiBib29sZWFuO1xuICAgIGhlYWRlckNvbXBvbmVudD86IHtcbiAgICAgICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEhDPixcbiAgICAgICAgY29uZmlnPzogSENDLFxuICAgIH07XG4gICAgYm9keUNvbXBvbmVudD86IHtcbiAgICAgICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEJDPixcbiAgICAgICAgY29uZmlnPzogQkNDLFxuICAgIH07XG4gICAgZm9vdGVyQ29tcG9uZW50Pzoge1xuICAgICAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8RkM+LFxuICAgICAgICBjb25maWc/OiBGQ0MsXG4gICAgfTtcbiAgICBoZWFkZXI/OiBUZW1wbGF0ZVBvcnRhbDtcbiAgICBjb250ZW50PzogVGVtcGxhdGVQb3J0YWwgfCBzdHJpbmcgfCBudWxsO1xuICAgIGZvb3Rlcj86IFRlbXBsYXRlUG9ydGFsO1xuICAgIGhhc0Nsb3NlQnV0dG9uPzogYm9vbGVhbjtcbiAgICBoYXNBY2NlcHRCdXR0b24/OiBib29sZWFuO1xuICAgIGhhc0Rpc21pc3NCdXR0b24/OiBib29sZWFuO1xuICAgIGhhc01vYmlsZUN1c3RvbVNpemU/OiBib29sZWFuO1xuICAgIGlzQ2xvc2VkT25DbGlja091dHNpZGU/OiBib29sZWFuO1xuICAgIGlzQ2xvc2VkT25Fc2NhcGU/OiBib29sZWFuO1xuICAgIGlzSGFuZGxlQ2xvc2VPbkRpc21pc3M/OiBib29sZWFuO1xuICAgIGlzSGFuZGxlQ2xvc2VPbkNsb3NlPzogYm9vbGVhbjtcbiAgICBpc0hhbmRsZUNsb3NlT25BY2NlcHQ/OiBib29sZWFuO1xuICAgIGlzSGFuZGxlQ2xvc2VPbkNsaWNrT3V0c2lkZT86IGJvb2xlYW47XG4gICAgaXNIYW5kbGVDbG9zZU9uRXNjYXBlPzogYm9vbGVhbjtcbiAgICBpc0RyYWdnYWJsZT86IGJvb2xlYW47XG4gICAgaGFzTm9Cb2R5UGFkZGluZz86IGJvb2xlYW47XG4gICAgaGFzRm9vdGVyPzogYm9vbGVhbjtcbiAgICBpc01lc3NhZ2VCb3g/OiBib29sZWFuO1xuXG4gICAgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cbiAgICBvcGVuPzogKCkgPT4gdm9pZDtcbiAgICBpbml0PzogKGluc3RhbmNlczogRXVpRGlhbG9nQ29tcG9uZW50SW5zdGFuY2VzPEhDLCBCQywgRkM+KSA9PiB2b2lkO1xuICAgIGNsaWNrT3V0c2lkZT86IChpbnN0YW5jZXM6IEV1aURpYWxvZ0NvbXBvbmVudEluc3RhbmNlczxIQywgQkMsIEZDPikgPT4gdm9pZDtcbiAgICBlc2NhcGU/OiAoaW5zdGFuY2VzOiBFdWlEaWFsb2dDb21wb25lbnRJbnN0YW5jZXM8SEMsIEJDLCBGQz4pID0+IHZvaWQ7XG4gICAgY2xvc2U/OiAoaW5zdGFuY2VzOiBFdWlEaWFsb2dDb21wb25lbnRJbnN0YW5jZXM8SEMsIEJDLCBGQz4pID0+IHZvaWQ7XG4gICAgZGlzbWlzcz86IChpbnN0YW5jZXM6IEV1aURpYWxvZ0NvbXBvbmVudEluc3RhbmNlczxIQywgQkMsIEZDPikgPT4gdm9pZDtcbiAgICBhY2NlcHQ/OiAoaW5zdGFuY2VzOiBFdWlEaWFsb2dDb21wb25lbnRJbnN0YW5jZXM8SEMsIEJDLCBGQz4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBFdWlEaWFsb2dDb21wb25lbnRJbnN0YW5jZXM8SEMsIEJDLCBGQz4ge1xuICAgIGhlYWRlckNvbXBvbmVudDogSEMgPSBudWxsO1xuICAgIGJvZHlDb21wb25lbnQ6IEJDID0gbnVsbDtcbiAgICBmb290ZXJDb21wb25lbnQ6IEZDID0gbnVsbDtcbn1cbiJdfQ==