@provoly/dashboard 1.3.5 → 1.3.7

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 (45) hide show
  1. package/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.d.ts +3 -2
  2. package/admin/components/admin-dataset/admin-dataset.component.d.ts +2 -0
  3. package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +4 -3
  4. package/admin/i18n/en.translations.d.ts +7 -0
  5. package/admin/i18n/fr.translations.d.ts +5 -0
  6. package/assets/svgs/groups.svg +16 -0
  7. package/assets/svgs/public.svg +1 -16
  8. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +2 -2
  9. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +12 -9
  10. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +6 -4
  11. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +7 -5
  12. package/esm2022/admin/i18n/en.translations.mjs +10 -3
  13. package/esm2022/admin/i18n/fr.translations.mjs +6 -1
  14. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +4 -4
  15. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +28 -40
  16. package/esm2022/lib/core/components/share/share.utils.mjs +13 -1
  17. package/esm2022/lib/core/i18n/en.translations.mjs +11 -4
  18. package/esm2022/lib/core/i18n/fr.translations.mjs +11 -4
  19. package/esm2022/lib/core/store/class/class.reducer.mjs +8 -2
  20. package/esm2022/lib/core/store/class/class.selectors.mjs +4 -2
  21. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +3 -1
  22. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +4 -3
  23. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +12 -5
  24. package/esm2022/restitution/components/restitution/restitution.component.mjs +4 -4
  25. package/esm2022/restitution/i18n/fr.translations.mjs +2 -2
  26. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +72 -63
  27. package/fesm2022/provoly-dashboard-admin.mjs +34 -15
  28. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  29. package/fesm2022/provoly-dashboard-restitution.mjs +4 -4
  30. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  31. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +71 -62
  32. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  33. package/fesm2022/provoly-dashboard.mjs +228 -196
  34. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  35. package/lib/core/components/share/group-share/group-share.component.d.ts +4 -7
  36. package/lib/core/components/share/share.utils.d.ts +2 -0
  37. package/lib/core/i18n/en.translations.d.ts +10 -3
  38. package/lib/core/i18n/fr.translations.d.ts +10 -3
  39. package/lib/core/store/class/class.selectors.d.ts +1 -0
  40. package/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.d.ts +3 -2
  41. package/lib/dashboard/store/dashboard.actions.d.ts +7 -6
  42. package/package.json +47 -47
  43. package/styles/components/_a-page-loader.scss +6 -0
  44. package/styles/components/_o-layer-settings.scss +2 -2
  45. package/widgets/widget-map/component/widget-map.component.d.ts +4 -2
@@ -1,5 +1,5 @@
1
1
  import { Component, ViewChild } from '@angular/core';
2
- import { ClassActions, DataSourceActions, DataSourceSelectors } from '@provoly/dashboard';
2
+ import { ClassActions, ClassSelectors, DataSourceActions, DataSourceSelectors, getShareLevel } from '@provoly/dashboard';
3
3
  import { AdminActions } from '../../store/admin.actions';
4
4
  import { AdminDatasetActions } from './store/admin-dataset.actions';
5
5
  import { AdminDatasetSelectors } from './store/admin-dataset.selectors';
@@ -20,6 +20,8 @@ export class AdminDatasetComponent {
20
20
  this.value = '';
21
21
  this.labelDatasetSelected = '';
22
22
  this.editOpened = false;
23
+ this.getShareLevel = getShareLevel;
24
+ this.loading$ = this.store.select(ClassSelectors.loading);
23
25
  this.store.dispatch(DataSourceActions.dataset.loadDataset());
24
26
  this.store.dispatch(ClassActions.load());
25
27
  this.validateAction = () => this.validateName(this.labelDatasetSelected);
@@ -70,13 +72,13 @@ export class AdminDatasetComponent {
70
72
  this.store.dispatch(AdminActions.selectComponentType({ componentType: 'AdminSelectDatasetComponent' }));
71
73
  }
72
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AdminDatasetComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }, { token: i3.Router }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: AdminDatasetComponent, selector: "pry-admin-dataset", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.dataset.title' | i18n }}</h1>\n <ng-container *ngIf=\"datasetList$ | async as datasetList\">\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th></th>\n <th *ngFor=\"let conf of configHeader\" [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let dataset of datasetList | prySortData: sortActive : sortDirection\"\n (click)=\"selectDataset(dataset)\"\n [class.is-selected]=\"(selectedDataset$ | async) === dataset.id\"\n >\n <td class=\"view-details\">\n <button\n id=\"button-dataset- + {{ dataset.id }}\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"(selectedDataset$ | async) === dataset.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-dataset-' + dataset.id\"\n >\n <span class=\"u-visually-hidden\">{{ dataset.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ dataset.name }}</td>\n <td>{{ dataset.oClass | translateId: { type: 'class', output: 'name' } | async }}</td>\n <td>{{ '@pry.admin.dataset.' + dataset.type | i18n }}</td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n</div>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n>\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelDatasetSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i2.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i2.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i2.PryModalComponent, selector: "pry-modal", inputs: ["titleModal", "opened", "validateLabel", "validateAction", "cancelLabel", "cancelAction"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AdminDatasetComponent, selector: "pry-admin-dataset", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"o-base-container u-display-flex -column\">\n <h1 class=\"a-h1\">{{ '@pry.admin.dataset.title' | i18n }}</h1>\n @if (loading$ | async; as loading) {\n <div class=\"a-page-loader -relative\" [style.display]=\"'flex'\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"200\"\n [height]=\"200\"\n />\n <p>{{ '@pry.widget.target.loading' | i18n }}...</p>\n </div>\n } @else {\n @if (datasetList$ | async; as datasetList) {\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th></th>\n <th *ngFor=\"let conf of configHeader\" [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let dataset of datasetList | prySortData: sortActive : sortDirection\"\n (click)=\"selectDataset(dataset)\"\n [class.is-selected]=\"(selectedDataset$ | async) === dataset.id\"\n >\n <td class=\"view-details\">\n <button\n id=\"button-dataset- + {{ dataset.id }}\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"(selectedDataset$ | async) === dataset.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-dataset-' + dataset.id\"\n >\n <span class=\"u-visually-hidden\">{{ dataset.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ dataset.name }}</td>\n <td>{{ dataset.oClass | translateId: { type: 'class', output: 'name' } | async }}</td>\n <td>{{ '@pry.admin.dataset.' + dataset.type | i18n }}</td>\n <td>\n <pry-icon\n [iconSvg]=\"getShareLevel(dataset.groups).toLowerCase()\"\n class=\"a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.share.iconLabel.' + getShareLevel(dataset.groups) | i18n\"\n data-tooltip-position=\"left\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </td>\n </tr>\n </tbody>\n </table>\n }\n }\n</div>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n>\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelDatasetSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i2.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i2.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i2.PryModalComponent, selector: "pry-modal", inputs: ["titleModal", "opened", "validateLabel", "validateAction", "cancelLabel", "cancelAction"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
74
76
  }
75
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AdminDatasetComponent, decorators: [{
76
78
  type: Component,
77
- args: [{ selector: 'pry-admin-dataset', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.dataset.title' | i18n }}</h1>\n <ng-container *ngIf=\"datasetList$ | async as datasetList\">\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th></th>\n <th *ngFor=\"let conf of configHeader\" [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let dataset of datasetList | prySortData: sortActive : sortDirection\"\n (click)=\"selectDataset(dataset)\"\n [class.is-selected]=\"(selectedDataset$ | async) === dataset.id\"\n >\n <td class=\"view-details\">\n <button\n id=\"button-dataset- + {{ dataset.id }}\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"(selectedDataset$ | async) === dataset.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-dataset-' + dataset.id\"\n >\n <span class=\"u-visually-hidden\">{{ dataset.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ dataset.name }}</td>\n <td>{{ dataset.oClass | translateId: { type: 'class', output: 'name' } | async }}</td>\n <td>{{ '@pry.admin.dataset.' + dataset.type | i18n }}</td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n</div>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n>\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelDatasetSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n" }]
79
+ args: [{ selector: 'pry-admin-dataset', template: "<div class=\"o-base-container u-display-flex -column\">\n <h1 class=\"a-h1\">{{ '@pry.admin.dataset.title' | i18n }}</h1>\n @if (loading$ | async; as loading) {\n <div class=\"a-page-loader -relative\" [style.display]=\"'flex'\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"200\"\n [height]=\"200\"\n />\n <p>{{ '@pry.widget.target.loading' | i18n }}...</p>\n </div>\n } @else {\n @if (datasetList$ | async; as datasetList) {\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th></th>\n <th *ngFor=\"let conf of configHeader\" [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let dataset of datasetList | prySortData: sortActive : sortDirection\"\n (click)=\"selectDataset(dataset)\"\n [class.is-selected]=\"(selectedDataset$ | async) === dataset.id\"\n >\n <td class=\"view-details\">\n <button\n id=\"button-dataset- + {{ dataset.id }}\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"(selectedDataset$ | async) === dataset.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-dataset-' + dataset.id\"\n >\n <span class=\"u-visually-hidden\">{{ dataset.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ dataset.name }}</td>\n <td>{{ dataset.oClass | translateId: { type: 'class', output: 'name' } | async }}</td>\n <td>{{ '@pry.admin.dataset.' + dataset.type | i18n }}</td>\n <td>\n <pry-icon\n [iconSvg]=\"getShareLevel(dataset.groups).toLowerCase()\"\n class=\"a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.share.iconLabel.' + getShareLevel(dataset.groups) | i18n\"\n data-tooltip-position=\"left\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </td>\n </tr>\n </tbody>\n </table>\n }\n }\n</div>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n>\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelDatasetSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n" }]
78
80
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryI18nService }, { type: i3.Router }, { type: i3.ActivatedRoute }], propDecorators: { input: [{
79
81
  type: ViewChild,
80
82
  args: ['input']
81
83
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZGF0YXNldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWRhdGFzZXQvYWRtaW4tZGF0YXNldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWRhdGFzZXQvYWRtaW4tZGF0YXNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRSxPQUFPLEVBQ0wsWUFBWSxFQUVaLGlCQUFpQixFQUNqQixtQkFBbUIsRUFHcEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7QUFNeEUsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQyxZQUNVLEtBQTZCLEVBQzdCLGdCQUFnQyxFQUNoQyxNQUFjLEVBQ2QsS0FBcUI7UUFIckIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFkL0IsZUFBVSxHQUFJLE1BQU0sQ0FBQztRQUNyQixrQkFBYSxHQUFJLEtBQUssQ0FBQztRQUN2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLHlCQUFvQixHQUFXLEVBQUUsQ0FBQztRQUNsQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBVzFC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SyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFHLENBQUM7OEdBM0VVLHFCQUFxQjtrR0FBckIscUJBQXFCLHlKQ3JCbEMsZ2hGQXdFQTs7MkZEbkRhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxtQkFBbUI7eUpBSVQsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBDbGFzc0FjdGlvbnMsXG4gIERhdGFzZXQsXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBEYXRhU291cmNlU3RhdGUsXG4gIFByeUkxOG5TZXJ2aWNlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBZG1pbkFjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9hZG1pbi5hY3Rpb25zJztcbmltcG9ydCB7IElDb25maWdIZWFkZXIgfSBmcm9tICcuLi9hZG1pbi1tZXRhZGF0YS9zaGFyZWQvbGlzdC1tZXRhZGF0YS9wcnktbGlzdC1tZXRhZGF0YS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRtaW5EYXRhc2V0QWN0aW9ucyB9IGZyb20gJy4vc3RvcmUvYWRtaW4tZGF0YXNldC5hY3Rpb25zJztcbmltcG9ydCB7IEFkbWluRGF0YXNldFNlbGVjdG9ycyB9IGZyb20gJy4vc3RvcmUvYWRtaW4tZGF0YXNldC5zZWxlY3RvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktYWRtaW4tZGF0YXNldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZG1pbi1kYXRhc2V0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkRhdGFzZXRDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0ITogRWxlbWVudFJlZjtcbiAgZGF0YXNldExpc3QkOiBPYnNlcnZhYmxlPERhdGFzZXRbXT47XG4gIHNlbGVjdGVkRGF0YXNldCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgc29ydEFjdGl2ZT8gPSAnbmFtZSc7XG4gIHNvcnREaXJlY3Rpb24/ID0gJ2FzYyc7XG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcbiAgY29uZmlnSGVhZGVyOiBBcnJheTxJQ29uZmlnSGVhZGVyPjtcbiAgbGFiZWxEYXRhc2V0U2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xuICBlZGl0T3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdmFsaWRhdGVBY3Rpb246ICgpID0+IHZvaWQ7XG4gIGNhbmNlbEFjdGlvbjogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxEYXRhU291cmNlU3RhdGU+LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGFzc0FjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnZhbGlkYXRlQWN0aW9uID0gKCkgPT4gdGhpcy52YWxpZGF0ZU5hbWUodGhpcy5sYWJlbERhdGFzZXRTZWxlY3RlZCk7XG4gICAgdGhpcy5jYW5jZWxBY3Rpb24gPSAoKSA9PiB0aGlzLmNhbmNlbEVkaXRpb24oKTtcbiAgICB0aGlzLmNvbmZpZ0hlYWRlciA9IFtcbiAgICAgIHsgaGVhZGVyVHlwZTogJ2xhYmVsJywgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LmFkbWluLmRhdGFzZXQubmFtZScpIH0sXG4gICAgICB7IGhlYWRlclR5cGU6ICdsYWJlbCcsIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5hZG1pbi5kYXRhc2V0Lm9DbGFzcycpIH0sXG4gICAgICB7IGhlYWRlclR5cGU6ICdsYWJlbCcsIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5hZG1pbi5kYXRhc2V0LnR5cGUnKSB9XG4gICAgXTtcbiAgICB0aGlzLmRhdGFzZXRMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldHMpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluRGF0YXNldFNlbGVjdG9ycy5zZWxlY3RlZERhdGFzZXRJZCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnVuc2VsZWN0RGF0YXNldCgpKTtcbiAgICBjb25zdCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnbmV3J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFjdGlvbjogQWRtaW5EYXRhc2V0QWN0aW9ucy5vcGVuTmV3RGF0YXNldCh7IHJvdXRlOiBwYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICBsYWJlbDogJ2FkZCcsXG4gICAgICAgICAgICBpY29uOiAnYWRkX2NvbHVtbicsXG4gICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICBwYWdlQWNjZXNzOiAnbWV0YWRhdGFfcnVsZXMnLFxuICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBjYW5jZWxFZGl0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlRWRpdGlvbkRhdGFzZXQoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluRGF0YXNldEFjdGlvbnMudW5zZWxlY3REYXRhc2V0KCkpO1xuICB9XG5cbiAgdG9nZ2xlRWRpdGlvbkRhdGFzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0T3BlbmVkID0gIXRoaXMuZWRpdE9wZW5lZDtcbiAgICBpZiAodGhpcy5lZGl0T3BlbmVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9LCAxMCk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVOYW1lKG5ld0xhYmVsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUVkaXRpb25EYXRhc2V0KCk7XG4gIH1cblxuICBjaGFuZ2VWYWx1ZSgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubGFiZWxEYXRhc2V0U2VsZWN0ZWQgPSAkZXZlbnQ7XG4gIH1cblxuICBzZWxlY3REYXRhc2V0KGRhdGFzZXQ6IERhdGFzZXQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQWN0aW9ucy5mZXRjaERhdGFzZXRBc3NvY2lhdGlvbnMoeyBpZDogZGF0YXNldC5pZCB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnNlbGVjdERhdGFzZXQoeyBkYXRhc2V0IH0pKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQWN0aW9ucy5zZWxlY3RDb21wb25lbnRUeXBlKHsgY29tcG9uZW50VHlwZTogJ0FkbWluU2VsZWN0RGF0YXNldENvbXBvbmVudCcgfSkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1iYXNlLWNvbnRhaW5lclwiPlxuICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkuYWRtaW4uZGF0YXNldC50aXRsZScgfCBpMThuIH19PC9oMT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFzZXRMaXN0JCB8IGFzeW5jIGFzIGRhdGFzZXRMaXN0XCI+XG4gICAgPHRhYmxlXG4gICAgICBjbGFzcz1cImEtdGFibGVcIlxuICAgICAgcHJ5U29ydFRhYmxlXG4gICAgICBwcnlTb3J0QWN0aXZlPVwibmFtZVwiXG4gICAgICBwcnlTb3J0RGlyZWN0aW9uPVwiYXNjXCJcbiAgICAgIChwcnlTb3J0Q2hhbmdlKT1cInNvcnRBY3RpdmUgPSAkZXZlbnQuYWN0aXZlOyBzb3J0RGlyZWN0aW9uID0gJGV2ZW50LmRpcmVjdGlvblwiXG4gICAgPlxuICAgICAgPGNhcHRpb24+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWRtaW4uZGF0YXNldC50aXRsZScgfCBpMThuXG4gICAgICAgIH19LFxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmFjdGlvbi5zb3J0YWJsZUNvbHVtbkhlYWRlcicgfCBpMThuXG4gICAgICAgIH19XG4gICAgICA8L2NhcHRpb24+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbmYgb2YgY29uZmlnSGVhZGVyXCIgW3ByeVNvcnRIZWFkZXJdPVwiY29uZi5sYWJlbFwiPnt7IGNvbmYubGFiZWwgfX08L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keT5cbiAgICAgICAgPHRyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGRhdGFzZXQgb2YgZGF0YXNldExpc3QgfCBwcnlTb3J0RGF0YTogc29ydEFjdGl2ZSA6IHNvcnREaXJlY3Rpb25cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRhc2V0KGRhdGFzZXQpXCJcbiAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwiKHNlbGVjdGVkRGF0YXNldCQgfCBhc3luYykgPT09IGRhdGFzZXQuaWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHRkIGNsYXNzPVwidmlldy1kZXRhaWxzXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGlkPVwiYnV0dG9uLWRhdGFzZXQtICsge3sgZGF0YXNldC5pZCB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7ICdAcHJ5LmFjdGlvbi52aWV3RGV0YWlscycgfCBpMThuIH19XCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIoc2VsZWN0ZWREYXRhc2V0JCB8IGFzeW5jKSA9PT0gZGF0YXNldC5pZFwiXG4gICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXBcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIncGFuZWwtZGF0YXNldC0nICsgZGF0YXNldC5pZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyBkYXRhc2V0Lm5hbWUgfX0sIHt7ICdAcHJ5LmFjdGlvbi52aWV3RGV0YWlscycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImV5ZVwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+e3sgZGF0YXNldC5uYW1lIH19PC90ZD5cbiAgICAgICAgICA8dGQ+e3sgZGF0YXNldC5vQ2xhc3MgfCB0cmFuc2xhdGVJZDogeyB0eXBlOiAnY2xhc3MnLCBvdXRwdXQ6ICduYW1lJyB9IHwgYXN5bmMgfX08L3RkPlxuICAgICAgICAgIDx0ZD57eyAnQHByeS5hZG1pbi5kYXRhc2V0LicgKyBkYXRhc2V0LnR5cGUgfCBpMThuIH19PC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPHByeS1tb2RhbFxuICBbdGl0bGVNb2RhbF09XCInQHByeS50b29sYm94LnJlbmFtZScgfCBpMThuXCJcbiAgW3ZhbGlkYXRlTGFiZWxdPVwiJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jaGVjaycgfCBpMThuXCJcbiAgW3ZhbGlkYXRlQWN0aW9uXT1cInZhbGlkYXRlQWN0aW9uXCJcbiAgW2NhbmNlbExhYmVsXT1cIidAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnIHwgaTE4blwiXG4gIFtjYW5jZWxBY3Rpb25dPVwiY2FuY2VsQWN0aW9uXCJcbiAgW29wZW5lZF09XCJ0aGlzLmVkaXRPcGVuZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmllbGRfX2lucHV0XCI+XG4gICAgPHNwYW4+e3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5uYW1lJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwidmFsaWRhdGVOYW1lKGlucHV0LnZhbHVlKVwiXG4gICAgICBbbmdNb2RlbF09XCJsYWJlbERhdGFzZXRTZWxlY3RlZFwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICNpbnB1dFxuICAgIC8+XG4gIDwvZGl2PlxuPC9wcnktbW9kYWw+XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZGF0YXNldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWRhdGFzZXQvYWRtaW4tZGF0YXNldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWRhdGFzZXQvYWRtaW4tZGF0YXNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFFZCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBRW5CLGFBQWEsRUFFZCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQU14RSxNQUFNLE9BQU8scUJBQXFCO0lBZWhDLFlBQ1UsS0FBNkIsRUFDN0IsZ0JBQWdDLEVBQ2hDLE1BQWMsRUFDZCxLQUFxQjtRQUhyQixVQUFLLEdBQUwsS0FBSyxDQUF3QjtRQUM3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWYvQixlQUFVLEdBQUksTUFBTSxDQUFDO1FBQ3JCLGtCQUFhLEdBQUksS0FBSyxDQUFDO1FBQ3ZCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIseUJBQW9CLEdBQVcsRUFBRSxDQUFDO1FBQ2xDLGVBQVUs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QUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFXO1FBQ3JCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQjtRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFHLENBQUM7OEdBN0VVLHFCQUFxQjtrR0FBckIscUJBQXFCLHlKQ3ZCbEMsbzdHQWdHQTs7MkZEekVhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxtQkFBbUI7eUpBSVQsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBDbGFzc0FjdGlvbnMsXG4gIENsYXNzU2VsZWN0b3JzLFxuICBEYXRhc2V0LFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZVN0YXRlLFxuICBnZXRTaGFyZUxldmVsLFxuICBQcnlJMThuU2VydmljZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBJQ29uZmlnSGVhZGVyIH0gZnJvbSAnLi4vYWRtaW4tbWV0YWRhdGEvc2hhcmVkL2xpc3QtbWV0YWRhdGEvcHJ5LWxpc3QtbWV0YWRhdGEuY29tcG9uZW50JztcbmltcG9ydCB7IEFkbWluRGF0YXNldEFjdGlvbnMgfSBmcm9tICcuL3N0b3JlL2FkbWluLWRhdGFzZXQuYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkRhdGFzZXRTZWxlY3RvcnMgfSBmcm9tICcuL3N0b3JlL2FkbWluLWRhdGFzZXQuc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLWRhdGFzZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tZGF0YXNldC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5EYXRhc2V0Q29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dCE6IEVsZW1lbnRSZWY7XG4gIGRhdGFzZXRMaXN0JDogT2JzZXJ2YWJsZTxEYXRhc2V0W10+O1xuICBzZWxlY3RlZERhdGFzZXQkOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIHNvcnRBY3RpdmU/ID0gJ25hbWUnO1xuICBzb3J0RGlyZWN0aW9uPyA9ICdhc2MnO1xuICB2YWx1ZTogc3RyaW5nID0gJyc7XG4gIGNvbmZpZ0hlYWRlcjogQXJyYXk8SUNvbmZpZ0hlYWRlcj47XG4gIGxhYmVsRGF0YXNldFNlbGVjdGVkOiBzdHJpbmcgPSAnJztcbiAgZWRpdE9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICB2YWxpZGF0ZUFjdGlvbjogKCkgPT4gdm9pZDtcbiAgY2FuY2VsQWN0aW9uOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPERhdGFTb3VyY2VTdGF0ZT4sXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5sb2FkaW5nKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGFzc0FjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnZhbGlkYXRlQWN0aW9uID0gKCkgPT4gdGhpcy52YWxpZGF0ZU5hbWUodGhpcy5sYWJlbERhdGFzZXRTZWxlY3RlZCk7XG4gICAgdGhpcy5jYW5jZWxBY3Rpb24gPSAoKSA9PiB0aGlzLmNhbmNlbEVkaXRpb24oKTtcbiAgICB0aGlzLmNvbmZpZ0hlYWRlciA9IFtcbiAgICAgIHsgaGVhZGVyVHlwZTogJ2xhYmVsJywgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LmFkbWluLmRhdGFzZXQubmFtZScpIH0sXG4gICAgICB7IGhlYWRlclR5cGU6ICdsYWJlbCcsIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5hZG1pbi5kYXRhc2V0Lm9DbGFzcycpIH0sXG4gICAgICB7IGhlYWRlclR5cGU6ICdsYWJlbCcsIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5hZG1pbi5kYXRhc2V0LnR5cGUnKSB9XG4gICAgXTtcbiAgICB0aGlzLmRhdGFzZXRMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldHMpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluRGF0YXNldFNlbGVjdG9ycy5zZWxlY3RlZERhdGFzZXRJZCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnVuc2VsZWN0RGF0YXNldCgpKTtcbiAgICBjb25zdCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnbmV3J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFjdGlvbjogQWRtaW5EYXRhc2V0QWN0aW9ucy5vcGVuTmV3RGF0YXNldCh7IHJvdXRlOiBwYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICBsYWJlbDogJ2FkZCcsXG4gICAgICAgICAgICBpY29uOiAnYWRkX2NvbHVtbicsXG4gICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICBwYWdlQWNjZXNzOiAnbWV0YWRhdGFfcnVsZXMnLFxuICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBjYW5jZWxFZGl0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlRWRpdGlvbkRhdGFzZXQoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluRGF0YXNldEFjdGlvbnMudW5zZWxlY3REYXRhc2V0KCkpO1xuICB9XG5cbiAgdG9nZ2xlRWRpdGlvbkRhdGFzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0T3BlbmVkID0gIXRoaXMuZWRpdE9wZW5lZDtcbiAgICBpZiAodGhpcy5lZGl0T3BlbmVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9LCAxMCk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVOYW1lKG5ld0xhYmVsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUVkaXRpb25EYXRhc2V0KCk7XG4gIH1cblxuICBjaGFuZ2VWYWx1ZSgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubGFiZWxEYXRhc2V0U2VsZWN0ZWQgPSAkZXZlbnQ7XG4gIH1cblxuICBzZWxlY3REYXRhc2V0KGRhdGFzZXQ6IERhdGFzZXQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQWN0aW9ucy5mZXRjaERhdGFzZXRBc3NvY2lhdGlvbnMoeyBpZDogZGF0YXNldC5pZCB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnNlbGVjdERhdGFzZXQoeyBkYXRhc2V0IH0pKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQWN0aW9ucy5zZWxlY3RDb21wb25lbnRUeXBlKHsgY29tcG9uZW50VHlwZTogJ0FkbWluU2VsZWN0RGF0YXNldENvbXBvbmVudCcgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdldFNoYXJlTGV2ZWwgPSBnZXRTaGFyZUxldmVsO1xufVxuIiwiPGRpdiBjbGFzcz1cIm8tYmFzZS1jb250YWluZXIgdS1kaXNwbGF5LWZsZXggLWNvbHVtblwiPlxuICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkuYWRtaW4uZGF0YXNldC50aXRsZScgfCBpMThuIH19PC9oMT5cbiAgQGlmIChsb2FkaW5nJCB8IGFzeW5jOyBhcyBsb2FkaW5nKSB7XG4gICAgPGRpdiBjbGFzcz1cImEtcGFnZS1sb2FkZXIgLXJlbGF0aXZlXCIgW3N0eWxlLmRpc3BsYXldPVwiJ2ZsZXgnXCI+XG4gICAgICA8cHJ5LWljb25cbiAgICAgICAgaWNvblN2Zz1cImxvYWRlclwiXG4gICAgICAgIGNsYXNzPVwibm8td2lkZ2V0X19sb2FkaW5nXCJcbiAgICAgICAgW2FsdF09XCInQHByeS53aWRnZXQudGFyZ2V0LmxvYWRpbmcnIHwgaTE4blwiXG4gICAgICAgIFt3aWR0aF09XCIyMDBcIlxuICAgICAgICBbaGVpZ2h0XT1cIjIwMFwiXG4gICAgICAvPlxuICAgICAgPHA+e3sgJ0Bwcnkud2lkZ2V0LnRhcmdldC5sb2FkaW5nJyB8IGkxOG4gfX0uLi48L3A+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAoZGF0YXNldExpc3QkIHwgYXN5bmM7IGFzIGRhdGFzZXRMaXN0KSB7XG4gICAgICA8dGFibGVcbiAgICAgICAgY2xhc3M9XCJhLXRhYmxlXCJcbiAgICAgICAgcHJ5U29ydFRhYmxlXG4gICAgICAgIHByeVNvcnRBY3RpdmU9XCJuYW1lXCJcbiAgICAgICAgcHJ5U29ydERpcmVjdGlvbj1cImFzY1wiXG4gICAgICAgIChwcnlTb3J0Q2hhbmdlKT1cInNvcnRBY3RpdmUgPSAkZXZlbnQuYWN0aXZlOyBzb3J0RGlyZWN0aW9uID0gJGV2ZW50LmRpcmVjdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxjYXB0aW9uPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnQHByeS5hZG1pbi5kYXRhc2V0LnRpdGxlJyB8IGkxOG5cbiAgICAgICAgICB9fSxcbiAgICAgICAgICB7e1xuICAgICAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgICB9fVxuICAgICAgICA8L2NhcHRpb24+XG4gICAgICAgIDx0aGVhZD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29uZiBvZiBjb25maWdIZWFkZXJcIiBbcHJ5U29ydEhlYWRlcl09XCJjb25mLmxhYmVsXCI+e3sgY29uZi5sYWJlbCB9fTwvdGg+XG4gICAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPHRyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YXNldCBvZiBkYXRhc2V0TGlzdCB8IHByeVNvcnREYXRhOiBzb3J0QWN0aXZlIDogc29ydERpcmVjdGlvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0YXNldChkYXRhc2V0KVwiXG4gICAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwiKHNlbGVjdGVkRGF0YXNldCQgfCBhc3luYykgPT09IGRhdGFzZXQuaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZpZXctZGV0YWlsc1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJidXR0b24tZGF0YXNldC0gKyB7eyBkYXRhc2V0LmlkIH19XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0BwcnkuYWN0aW9uLnZpZXdEZXRhaWxzJyB8IGkxOG4gfX1cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiKHNlbGVjdGVkRGF0YXNldCQgfCBhc3luYykgPT09IGRhdGFzZXQuaWRcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXBcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidwYW5lbC1kYXRhc2V0LScgKyBkYXRhc2V0LmlkXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyBkYXRhc2V0Lm5hbWUgfX0sIHt7ICdAcHJ5LmFjdGlvbi52aWV3RGV0YWlscycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZXllXCIgW3dpZHRoXT1cIjE1XCIgW2hlaWdodF09XCIxNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZD57eyBkYXRhc2V0Lm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgPHRkPnt7IGRhdGFzZXQub0NsYXNzIHwgdHJhbnNsYXRlSWQ6IHsgdHlwZTogJ2NsYXNzJywgb3V0cHV0OiAnbmFtZScgfSB8IGFzeW5jIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZD57eyAnQHByeS5hZG1pbi5kYXRhc2V0LicgKyBkYXRhc2V0LnR5cGUgfCBpMThuIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICBbaWNvblN2Z109XCJnZXRTaGFyZUxldmVsKGRhdGFzZXQuZ3JvdXBzKS50b0xvd2VyQ2FzZSgpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLXRvb2x0aXAgLXRvb2x0aXAtbm8td3JhcFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5zaGFyZS5pY29uTGFiZWwuJyArIGdldFNoYXJlTGV2ZWwoZGF0YXNldC5ncm91cHMpIHwgaTE4blwiXG4gICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cImxlZnRcIlxuICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjE3XCJcbiAgICAgICAgICAgICAgW3dpZHRoXT1cIjE3XCJcbiAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90Ym9keT5cbiAgICAgIDwvdGFibGU+XG4gICAgfVxuICB9XG48L2Rpdj5cblxuPHByeS1tb2RhbFxuICBbdGl0bGVNb2RhbF09XCInQHByeS50b29sYm94LnJlbmFtZScgfCBpMThuXCJcbiAgW3ZhbGlkYXRlTGFiZWxdPVwiJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jaGVjaycgfCBpMThuXCJcbiAgW3ZhbGlkYXRlQWN0aW9uXT1cInZhbGlkYXRlQWN0aW9uXCJcbiAgW2NhbmNlbExhYmVsXT1cIidAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnIHwgaTE4blwiXG4gIFtjYW5jZWxBY3Rpb25dPVwiY2FuY2VsQWN0aW9uXCJcbiAgW29wZW5lZF09XCJ0aGlzLmVkaXRPcGVuZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmllbGRfX2lucHV0XCI+XG4gICAgPHNwYW4+e3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5uYW1lJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwidmFsaWRhdGVOYW1lKGlucHV0LnZhbHVlKVwiXG4gICAgICBbbmdNb2RlbF09XCJsYWJlbERhdGFzZXRTZWxlY3RlZFwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICNpbnB1dFxuICAgIC8+XG4gIDwvZGl2PlxuPC9wcnktbW9kYWw+XG4iXX0=
@@ -17,12 +17,13 @@ import * as i6 from "@provoly/dashboard/components/metadata-editor";
17
17
  import * as i7 from "../../association/association.component";
18
18
  export class AdminSelectDatasetComponent extends SubscriptionnerDirective {
19
19
  static { this.id = 'AdminSelectDatasetComponent'; }
20
- constructor(store, router, route, i18n, access) {
20
+ constructor(store, router, route, i18n, cdr, access) {
21
21
  super();
22
22
  this.store = store;
23
23
  this.router = router;
24
24
  this.route = route;
25
25
  this.i18n = i18n;
26
+ this.cdr = cdr;
26
27
  this.access = access;
27
28
  this.sub = new Subscription();
28
29
  this.currentTypeTranslation = '';
@@ -124,7 +125,7 @@ export class AdminSelectDatasetComponent extends SubscriptionnerDirective {
124
125
  }
125
126
  getGroupLabel(groupName) {
126
127
  const i18nBase = '@pry.components.chipsSelector.share.groups.';
127
- const label = this.i18n.instant(i18nBase + groupName);
128
+ const label = this.i18n.instant(i18nBase + groupName, undefined, false);
128
129
  return label.startsWith(i18nBase) ? groupName : label;
129
130
  }
130
131
  changeGroup($event) {
@@ -145,20 +146,21 @@ export class AdminSelectDatasetComponent extends SubscriptionnerDirective {
145
146
  this.disableShareButton$.next(false);
146
147
  }
147
148
  }
149
+ this.cdr.detectChanges();
148
150
  }
149
151
  canModify$(dataset) {
150
152
  return this.access ? this.access.canModifyDataset(dataset) : of(false);
151
153
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AdminSelectDatasetComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.PryI18nService }, { token: PRY_ACCESS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AdminSelectDatasetComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.PryI18nService }, { token: i0.ChangeDetectorRef }, { token: PRY_ACCESS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
153
155
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AdminSelectDatasetComponent, selector: "pry-admin-select-dataset", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel o-pry-admin-dataset-select\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.dataset.datasetDetails' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetDetails\" name=\"dataset.details\"></pry-tab>\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n <pry-tab *ngIf=\"canModify$(dataset) | async\" [templateRef]=\"shareDataset\" name=\"share\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetDetails>\n <div class=\"u-display-flex -column -gap-20\">\n <div>\n <h4 class=\"a-h4\">{{ '@pry.dataset.name' | i18n }}</h4>\n <span>{{ dataset.name }}</span>\n </div>\n <div>\n <h4 class=\"a-h4\">{{ '@pry.dataset.description' | i18n }}</h4>\n @if (dataset.description) {\n <span>{{ dataset.description }}</span>\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noDescription' | i18n }}</span>\n }\n </div>\n <div>\n <h4 class=\"a-h4\">{{ '@pry.admin.customize.name' | i18n }}</h4>\n <span>{{ dataset.oClass | translateId: { type: 'class', output: 'name' } | async }}</span>\n </div>\n <div>\n <h4 class=\"a-h4\">{{ '@pry.admin.dataset.type' | i18n }}</h4>\n <span>{{ '@pry.admin.dataset.' + dataset.type | i18n }}</span>\n </div>\n <div>\n <h4 class=\"a-h4\">{{ '@pry.dataset.tags' | i18n }}</h4>\n @if (dataset.categories && dataset.categories.length > 0) {\n <div class=\"u-display-flex\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\">{{ category.name }}</span>\n }\n </div>\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noTags' | i18n }}</span>\n }\n </div>\n </div>\n </ng-template>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #datasetAssociations>\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <pry-association [associations]=\"associations\"></pry-association>\n </div>\n </ng-template>\n\n <ng-template #shareDataset>\n <div class=\"o-pry-admin-dataset-select__share\">\n <pry-group-share\n [ngModel]=\"dataset.groups\"\n (ngModelChange)=\"changeGroup($event)\"\n (radioValueChange)=\"updateGroups($event)\"\n ></pry-group-share>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary u-self-end\"\n #submit\n (click)=\"share(dataset)\"\n [disabled]=\"disableShareButton$ | async\"\n >\n {{ '@pry.admin.validate' | i18n }}\n </button>\n @if (selectedDatasetMissingGroups$ | async) {\n <h4 class=\"a-h4\">{{ '@pry.admin.dataset.success' | i18n }}</h4>\n }\n @if (missingGroups$ | async; as missingGroups) {\n <div class=\"u-display-flex -column\">\n <span>{{ '@pry.admin.dataset.conflict' | i18n }}</span>\n @for (missing of missingGroups | keyvalue; track missing.key) {\n <div>\n {{ '@pry.admin.dataset.entities.dashboard' | i18n }} <strong>{{ missing.value.entityName }}</strong>\n <div class=\"u-display-flex\">\n @for (group of missing.value.groups; track group) {\n <span class=\"a-chip\">{{ getGroupLabel(group) }}</span>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i3.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: ["isModification", "targetId", "type", "metadata"], outputs: ["addMeta", "removeMeta"] }, { kind: "component", type: i3.PryGroupShareComponent, selector: "pry-group-share", inputs: ["disableRadios", "allowedGroups"], outputs: ["radioValueChange"] }, { kind: "component", type: i7.PryAssociationComponent, selector: "pry-association", inputs: ["associations"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
154
156
  }
155
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AdminSelectDatasetComponent, decorators: [{
156
158
  type: Component,
157
159
  args: [{ selector: 'pry-admin-select-dataset', template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel o-pry-admin-dataset-select\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.dataset.datasetDetails' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetDetails\" name=\"dataset.details\"></pry-tab>\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n <pry-tab *ngIf=\"canModify$(dataset) | async\" [templateRef]=\"shareDataset\" name=\"share\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetDetails>\n <div class=\"u-display-flex -column -gap-20\">\n <div>\n <h4 class=\"a-h4\">{{ '@pry.dataset.name' | i18n }}</h4>\n <span>{{ dataset.name }}</span>\n </div>\n <div>\n <h4 class=\"a-h4\">{{ '@pry.dataset.description' | i18n }}</h4>\n @if (dataset.description) {\n <span>{{ dataset.description }}</span>\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noDescription' | i18n }}</span>\n }\n </div>\n <div>\n <h4 class=\"a-h4\">{{ '@pry.admin.customize.name' | i18n }}</h4>\n <span>{{ dataset.oClass | translateId: { type: 'class', output: 'name' } | async }}</span>\n </div>\n <div>\n <h4 class=\"a-h4\">{{ '@pry.admin.dataset.type' | i18n }}</h4>\n <span>{{ '@pry.admin.dataset.' + dataset.type | i18n }}</span>\n </div>\n <div>\n <h4 class=\"a-h4\">{{ '@pry.dataset.tags' | i18n }}</h4>\n @if (dataset.categories && dataset.categories.length > 0) {\n <div class=\"u-display-flex\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\">{{ category.name }}</span>\n }\n </div>\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noTags' | i18n }}</span>\n }\n </div>\n </div>\n </ng-template>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #datasetAssociations>\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <pry-association [associations]=\"associations\"></pry-association>\n </div>\n </ng-template>\n\n <ng-template #shareDataset>\n <div class=\"o-pry-admin-dataset-select__share\">\n <pry-group-share\n [ngModel]=\"dataset.groups\"\n (ngModelChange)=\"changeGroup($event)\"\n (radioValueChange)=\"updateGroups($event)\"\n ></pry-group-share>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary u-self-end\"\n #submit\n (click)=\"share(dataset)\"\n [disabled]=\"disableShareButton$ | async\"\n >\n {{ '@pry.admin.validate' | i18n }}\n </button>\n @if (selectedDatasetMissingGroups$ | async) {\n <h4 class=\"a-h4\">{{ '@pry.admin.dataset.success' | i18n }}</h4>\n }\n @if (missingGroups$ | async; as missingGroups) {\n <div class=\"u-display-flex -column\">\n <span>{{ '@pry.admin.dataset.conflict' | i18n }}</span>\n @for (missing of missingGroups | keyvalue; track missing.key) {\n <div>\n {{ '@pry.admin.dataset.entities.dashboard' | i18n }} <strong>{{ missing.value.entityName }}</strong>\n <div class=\"u-display-flex\">\n @for (group of missing.value.groups; track group) {\n <span class=\"a-chip\">{{ getGroupLabel(group) }}</span>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n</div>\n" }]
158
- }], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.PryI18nService }, { type: i3.PryBaseAccess, decorators: [{
160
+ }], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.PryI18nService }, { type: i0.ChangeDetectorRef }, { type: i3.PryBaseAccess, decorators: [{
159
161
  type: Optional
160
162
  }, {
161
163
  type: Inject,
162
164
  args: [PRY_ACCESS_TOKEN]
163
165
  }] }] });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tc2VsZWN0LWRhdGFzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1kYXRhc2V0L2FkbWluLXNlbGVjdC1kYXRhc2V0L2FkbWluLXNlbGVjdC1kYXRhc2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tZGF0YXNldC9hZG1pbi1zZWxlY3QtZGF0YXNldC9hZG1pbi1zZWxlY3QtZGF0YXNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFFTCxrQkFBa0IsRUFFbEIsbUJBQW1CLEVBR25CLGdCQUFnQixFQUdoQixZQUFZLEVBQ1osd0JBQXdCLEVBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxr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LENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQXBLVSwyQkFBMkIseUhBbUJoQixnQkFBZ0I7a0dBbkIzQiwyQkFBMkIsdUZDaEN4QywyOElBb0hBOzsyRkRwRmEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLDBCQUEwQjs7MEJBc0JqQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBc3NvY2lhdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YXNldCxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgTWV0YWRhdGFWYWx1ZSxcbiAgTWlzc2luZ0dyb3Vwc0J5RW50aXR5LFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5U2hhcmVNb2RlLFxuICBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE1ldGFkYXRhQWN0aW9ucywgTWV0YWRhdGFTZWxlY3RvcnMsIE1ldGFFdmVudFR5cGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9tZXRhZGF0YS1lZGl0b3InO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24sIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRMYXRlc3RGcm9tIH0gZnJvbSAnQG5ncngvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hZG1pbi5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQWRtaW5EYXRhc2V0QWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWRhdGFzZXQuYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkRhdGFzZXRTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9hZG1pbi1kYXRhc2V0LnNlbGVjdG9ycyc7XG5cbmludGVyZmFjZSBNaXNzaW5nR3JvdXBzIHtcbiAgW2tleTogc3RyaW5nXTogeyBncm91cHM6IHN0cmluZ1tdOyBlbnRpdHlOYW1lOiBzdHJpbmcgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLXNlbGVjdC1kYXRhc2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLXNlbGVjdC1kYXRhc2V0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pblNlbGVjdERhdGFzZXRDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBpZCA9ICdBZG1pblNlbGVjdERhdGFzZXRDb21wb25lbnQnO1xuICBzZWxlY3RlZERhdGFzZXQkOiBPYnNlcnZhYmxlPERhdGFzZXQgfCBudWxsPjtcbiAgYXNzb2NpYXRpb25zJDogT2JzZXJ2YWJsZTxBc3NvY2lhdGlvbnMgfCB1bmRlZmluZWQ+O1xuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIGN1cnJlbnRUeXBlVHJhbnNsYXRpb24gPSAnJztcbiAgZGF0YXNldE1ldGFkYXRhJDogT2JzZXJ2YWJsZTxNZXRhZGF0YVZhbHVlW10+O1xuICBlZGl0YWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGFjY2Vzc0dyb3Vwczogc3RyaW5nW10gPSBbXTtcbiAgc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3VwcyQ6IE9ic2VydmFibGU8TWlzc2luZ0dyb3Vwc0J5RW50aXR5IHwgdW5kZWZpbmVkPjtcbiAgbWlzc2luZ0dyb3VwcyQ6IE9ic2VydmFibGU8TWlzc2luZ0dyb3VwcyB8IHVuZGVmaW5lZD47XG4gIHNoYXJlUmFkaW9WYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByeVNoYXJlTW9kZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgZGlzYWJsZVNoYXJlQnV0dG9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGkxOG46IFByeUkxOG5TZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUFJZX0FDQ0VTU19UT0tFTikgcHJvdGVjdGVkIGFjY2VzczogUHJ5QmFzZUFjY2Vzc1xuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWV0YWRhdGFBY3Rpb25zLmxvYWRNZXRhZGF0YSgpKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0YXNldCQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkRhdGFzZXRTZWxlY3RvcnMuc2VsZWN0ZWREYXRhc2V0KTtcbiAgICB0aGlzLmRhdGFzZXRNZXRhZGF0YSQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkRhdGFzZXRTZWxlY3RvcnMuc2VsZWN0ZWREYXRhc2V0TWV0YWRhdGEpO1xuICAgIHRoaXMuYXNzb2NpYXRpb25zJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluU2VsZWN0b3JzLnNlbGVjdGVkQXNzb2NpYXRpb24pO1xuICAgIHRoaXMuZWRpdGFibGUkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFTZWxlY3RvcnMuZWRpdGFibGUpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3VwcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkRhdGFzZXRTZWxlY3RvcnMuc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3Vwcyk7XG4gICAgdGhpcy5taXNzaW5nR3JvdXBzJCA9IHRoaXMuc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3VwcyQucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5tYW5pZmVzdHNMaXN0KSksXG4gICAgICBtYXAoKFtjb25mbGljdCwgbWFuaWZlc3RzXSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogeyBncm91cHM6IHN0cmluZ1tdOyBlbnRpdHlOYW1lOiBzdHJpbmcgfSB9ID0ge307XG4gICAgICAgIE9iamVjdC5rZXlzKGNvbmZsaWN0ID8/IHt9KS5mb3JFYWNoKChlbnRpdHlJZCkgPT4ge1xuICAgICAgICAgIHJlc3VsdFtlbnRpdHlJZF0gPSB7XG4gICAgICAgICAgICBncm91cHM6IGNvbmZsaWN0Py5bZW50aXR5SWRdID8/IFtdLFxuICAgICAgICAgICAgZW50aXR5TmFtZTogbWFuaWZlc3RzLmZpbmQoKG0pID0+IG0uaWQgPT09IGVudGl0eUlkKT8ubmFtZSA/PyBlbnRpdHlJZFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGggPiAwID8gcmVzdWx0IDogdW5kZWZpbmVkO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc2VsZWN0ZWREYXRhc2V0JCwgdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5kYXRhc2V0VmVyc2lvbnMpXSlcbiAgICAgICAgLnBpcGUoY29uY2F0TGF0ZXN0RnJvbSgoW2RhdGFzZXQsIHZlcnNpb25zXSkgPT4gKGRhdGFzZXQgPyB0aGlzLmNhbk1vZGlmeSQoZGF0YXNldCkgOiBvZihmYWxzZSkpKSlcbiAgICAgICAgLnN1YnNjcmliZSgoW1tkYXRhc2V0LCB2ZXJzaW9uc10sIGNhbk1vZGlmeV0pID0+IHtcbiAgICAgICAgICBpZiAoZGF0YXNldCkge1xuICAgICAgICAgICAgdGhpcy5hY2Nlc3NHcm91cHMgPSBkYXRhc2V0Lmdyb3VwcyA/PyBbXTtcbiAgICAgICAgICAgIGNvbnN0IGVkaXRQYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnZGF0YXNldCcsICdlZGl0JywgZGF0YXNldC5pZF0sIHtcbiAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoY2FuTW9kaWZ5KSB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBlZGl0UGF0aC50b1N0cmluZygpIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2VkaXQnLFxuICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnZGF0YXNldCcsXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IEFkbWluRGF0YXNldEFjdGlvbnMuY29uZmlybURhdGFzZXREZWxldGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBkYXRhc2V0LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGU6IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ2RhdGFzZXQnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRSb3V0ZTogdGhpcy5yb3V0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmNyZWF0ZVVybFRyZWUoWycuJywgJ2RhdGFzZXQnLCAnbmV3J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICAgICAgICAgICAgcGFnZUFjY2VzczogJ2RhdGFzZXQnLFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogdmVyc2lvbnMuZmlsdGVyKCh2KSA9PiB2LmRhdGFzZXQgPT09IGRhdGFzZXQuaWQpLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgICAgICAgICAgICBhY3Rpb25zOiBbXVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBjbG9zZVBhbmVsKCkge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdkYXRhc2V0JywgJ25ldyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnVuc2VsZWN0RGF0YXNldCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQWN0aW9ucy50b2dnbGVQYW5lbCh7IHBhbmVsT3BlbjogZmFsc2UgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgIGxhYmVsOiAnYWRkJyxcbiAgICAgICAgICAgIGljb246ICdhZGRfY29sdW1uJyxcbiAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdtZXRhZGF0YV9ydWxlcycsXG4gICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlbW92ZU1ldGFkYXRhKG1ldGFkYXRhOiBNZXRhRXZlbnRUeXBlKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIE1ldGFkYXRhQWN0aW9ucy5kZWxldGVEYXRhc2V0TWV0YWRhdGEoeyBkYXRhc2V0SWQ6IG1ldGFkYXRhLmlkLCBtZXRhZGF0YUlkOiBtZXRhZGF0YS5tZXRhZGF0YUlkIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFkZERhdGFzZXRNZXRhZGF0YShtZXRhZGF0YTogTWV0YUV2ZW50VHlwZSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBNZXRhZGF0YUFjdGlvbnMuYWRkRGF0YXNldE1ldGFkYXRhKHtcbiAgICAgICAgZGF0YXNldElkOiBtZXRhZGF0YS5pZCxcbiAgICAgICAgbWV0YWRhdGFJZDogbWV0YWRhdGEubWV0YWRhdGFJZCxcbiAgICAgICAgdmFsdWU6IG1ldGFkYXRhLnZhbHVlXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzaGFyZShkYXRhc2V0OiBEYXRhc2V0KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnVwZGF0ZSh7IGRhdGFzZXQ6IHsgLi4uZGF0YXNldCwgZ3JvdXBzOiB0aGlzLmFjY2Vzc0dyb3VwcyB9LCByb3V0ZTogJycgfSkpO1xuICB9XG5cbiAgZ2V0R3JvdXBMYWJlbChncm91cE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGkxOG5CYXNlID0gJ0BwcnkuY29tcG9uZW50cy5jaGlwc1NlbGVjdG9yLnNoYXJlLmdyb3Vwcy4nO1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5pMThuLmluc3RhbnQoaTE4bkJhc2UgKyBncm91cE5hbWUpO1xuICAgIHJldHVybiBsYWJlbC5zdGFydHNXaXRoKGkxOG5CYXNlKSA/IGdyb3VwTmFtZSA6IGxhYmVsO1xuICB9XG5cbiAgY2hhbmdlR3JvdXAoJGV2ZW50OiBzdHJpbmdbXSkge1xuICAgIHRoaXMuYWNjZXNzR3JvdXBzID0gJGV2ZW50O1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZUJ1dHRvblZhbHVlKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnNldE1pc3NpbmdHcm91cHMoeyBtaXNzaW5nR3JvdXBzOiB1bmRlZmluZWQgfSkpO1xuICB9XG5cbiAgdXBkYXRlR3JvdXBzKCRldmVudDogUHJ5U2hhcmVNb2RlKSB7XG4gICAgdGhpcy5zaGFyZVJhZGlvVmFsdWUkLm5leHQoJGV2ZW50KTtcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVCdXR0b25WYWx1ZSgpO1xuICB9XG5cbiAgdXBkYXRlRGlzYWJsZUJ1dHRvblZhbHVlKCkge1xuICAgIGlmICh0aGlzLnNoYXJlUmFkaW9WYWx1ZSQuZ2V0VmFsdWUoKSA9PT0gUHJ5U2hhcmVNb2RlLkdST1VQUyAmJiB0aGlzLmFjY2Vzc0dyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZGlzYWJsZVNoYXJlQnV0dG9uJC5uZXh0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlU2hhcmVCdXR0b24kLmdldFZhbHVlKCkpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlU2hhcmVCdXR0b24kLm5leHQoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNhbk1vZGlmeSQoZGF0YXNldDogRGF0YXNldCkge1xuICAgIHJldHVybiB0aGlzLmFjY2VzcyA/IHRoaXMuYWNjZXNzLmNhbk1vZGlmeURhdGFzZXQoZGF0YXNldCkgOiBvZihmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJzZWxlY3RlZERhdGFzZXQkIHwgYXN5bmMgYXMgZGF0YXNldFwiXG4gIFtpZF09XCIncGFuZWwtZGF0YXNldC0nICsgZGF0YXNldC5pZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInYnV0dG9uLWRhdGFzZXQtJyArIGRhdGFzZXQuaWRcIlxuICBjbGFzcz1cIm8tcGFuZWwgby1wcnktYWRtaW4tZGF0YXNldC1zZWxlY3RcIlxuPlxuICA8ZGl2IGNsYXNzPVwiby1wYW5lbF9faGVhZGVyXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCIgKGNsaWNrKT1cImNsb3NlUGFuZWwoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFjdGlvbi5jbG9zZVBhbmVsJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxoMyBjbGFzcz1cImEtaDNcIj5cbiAgICAgIHt7ICdAcHJ5LmFkbWluLmRhdGFzZXQuZGF0YXNldERldGFpbHMnIHwgaTE4biB9fVxuICAgIDwvaDM+XG4gIDwvZGl2PlxuXG4gIDxwcnktdGFiLWdyb3VwIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuYWRtaW4uXCI+XG4gICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImRhdGFzZXREZXRhaWxzXCIgbmFtZT1cImRhdGFzZXQuZGV0YWlsc1wiPjwvcHJ5LXRhYj5cbiAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwiZGF0YXNldE1ldGFkYXRhXCIgbmFtZT1cIm1ldGFkYXRhLnRpdGxlXCI+PC9wcnktdGFiPlxuICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJkYXRhc2V0QXNzb2NpYXRpb25zXCIgbmFtZT1cImNsYXNzZXMuYXNzb2NpYXRpb25zXCI+PC9wcnktdGFiPlxuICAgIDxwcnktdGFiICpuZ0lmPVwiY2FuTW9kaWZ5JChkYXRhc2V0KSB8IGFzeW5jXCIgW3RlbXBsYXRlUmVmXT1cInNoYXJlRGF0YXNldFwiIG5hbWU9XCJzaGFyZVwiPjwvcHJ5LXRhYj5cbiAgPC9wcnktdGFiLWdyb3VwPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZGF0YXNldERldGFpbHM+XG4gICAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1jb2x1bW4gLWdhcC0yMFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmRhdGFzZXQubmFtZScgfCBpMThuIH19PC9oND5cbiAgICAgICAgPHNwYW4+e3sgZGF0YXNldC5uYW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgJ0BwcnkuZGF0YXNldC5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9oND5cbiAgICAgICAgQGlmIChkYXRhc2V0LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgPHNwYW4+e3sgZGF0YXNldC5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCItaXRhbGljXCI+e3sgJ0BwcnkuZGF0YXNldC5ub0Rlc2NyaXB0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLmN1c3RvbWl6ZS5uYW1lJyB8IGkxOG4gfX08L2g0PlxuICAgICAgICA8c3Bhbj57eyBkYXRhc2V0Lm9DbGFzcyB8IHRyYW5zbGF0ZUlkOiB7IHR5cGU6ICdjbGFzcycsIG91dHB1dDogJ25hbWUnIH0gfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLmRhdGFzZXQudHlwZScgfCBpMThuIH19PC9oND5cbiAgICAgICAgPHNwYW4+e3sgJ0BwcnkuYWRtaW4uZGF0YXNldC4nICsgZGF0YXNldC50eXBlIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmRhdGFzZXQudGFncycgfCBpMThuIH19PC9oND5cbiAgICAgICAgQGlmIChkYXRhc2V0LmNhdGVnb3JpZXMgJiYgZGF0YXNldC5jYXRlZ29yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXhcIj5cbiAgICAgICAgICAgIEBmb3IgKGNhdGVnb3J5IG9mIGRhdGFzZXQuY2F0ZWdvcmllczsgdHJhY2sgY2F0ZWdvcnkuaWQpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWNoaXAgLW1kXCI+e3sgY2F0ZWdvcnkubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCItaXRhbGljXCI+e3sgJ0BwcnkuZGF0YXNldC5ub1RhZ3MnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNkYXRhc2V0TWV0YWRhdGE+XG4gICAgPHByeS1tZXRhZGF0YS1lZGl0b3JcbiAgICAgIFt0YXJnZXRJZF09XCIoc2VsZWN0ZWREYXRhc2V0JCB8IGFzeW5jKT8uaWQgPz8gJydcIlxuICAgICAgW2lzTW9kaWZpY2F0aW9uXT1cIihlZGl0YWJsZSQgfCBhc3luYykgPz8gZmFsc2VcIlxuICAgICAgW21ldGFkYXRhXT1cIihkYXRhc2V0TWV0YWRhdGEkIHwgYXN5bmMpID8/IFtdXCJcbiAgICAgIChyZW1vdmVNZXRhKT1cInJlbW92ZU1ldGFkYXRhKCRldmVudClcIlxuICAgICAgKGFkZE1ldGEpPVwiYWRkRGF0YXNldE1ldGFkYXRhKCRldmVudClcIlxuICAgICAgW3R5cGVdPVwiJ21ldGEnXCJcbiAgICA+PC9wcnktbWV0YWRhdGEtZWRpdG9yPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZGF0YXNldEFzc29jaWF0aW9ucz5cbiAgICA8ZGl2ICpuZ0lmPVwiYXNzb2NpYXRpb25zJCB8IGFzeW5jIGFzIGFzc29jaWF0aW9uc1wiIGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1fX2NvbnRlbnRcIj5cbiAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmFzc29jaWF0aW9ucycgfCBpMThuIH19PC9oND5cbiAgICAgIDxwcnktYXNzb2NpYXRpb24gW2Fzc29jaWF0aW9uc109XCJhc3NvY2lhdGlvbnNcIj48L3ByeS1hc3NvY2lhdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgI3NoYXJlRGF0YXNldD5cbiAgICA8ZGl2IGNsYXNzPVwiby1wcnktYWRtaW4tZGF0YXNldC1zZWxlY3RfX3NoYXJlXCI+XG4gICAgICA8cHJ5LWdyb3VwLXNoYXJlXG4gICAgICAgIFtuZ01vZGVsXT1cImRhdGFzZXQuZ3JvdXBzXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlR3JvdXAoJGV2ZW50KVwiXG4gICAgICAgIChyYWRpb1ZhbHVlQ2hhbmdlKT1cInVwZGF0ZUdyb3VwcygkZXZlbnQpXCJcbiAgICAgID48L3ByeS1ncm91cC1zaGFyZT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgdS1zZWxmLWVuZFwiXG4gICAgICAgICNzdWJtaXRcbiAgICAgICAgKGNsaWNrKT1cInNoYXJlKGRhdGFzZXQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVTaGFyZUJ1dHRvbiQgfCBhc3luY1wiXG4gICAgICA+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLnZhbGlkYXRlJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgQGlmIChzZWxlY3RlZERhdGFzZXRNaXNzaW5nR3JvdXBzJCB8IGFzeW5jKSB7XG4gICAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyAnQHByeS5hZG1pbi5kYXRhc2V0LnN1Y2Nlc3MnIHwgaTE4biB9fTwvaDQ+XG4gICAgICB9XG4gICAgICBAaWYgKG1pc3NpbmdHcm91cHMkIHwgYXN5bmM7IGFzIG1pc3NpbmdHcm91cHMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1jb2x1bW5cIj5cbiAgICAgICAgICA8c3Bhbj57eyAnQHByeS5hZG1pbi5kYXRhc2V0LmNvbmZsaWN0JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgQGZvciAobWlzc2luZyBvZiBtaXNzaW5nR3JvdXBzIHwga2V5dmFsdWU7IHRyYWNrIG1pc3Npbmcua2V5KSB7XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5kYXRhc2V0LmVudGl0aWVzLmRhc2hib2FyZCcgfCBpMThuIH19IDxzdHJvbmc+e3sgbWlzc2luZy52YWx1ZS5lbnRpdHlOYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1LWRpc3BsYXktZmxleFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGdyb3VwIG9mIG1pc3NpbmcudmFsdWUuZ3JvdXBzOyB0cmFjayBncm91cCkge1xuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWNoaXBcIj57eyBnZXRHcm91cExhYmVsKGdyb3VwKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tc2VsZWN0LWRhdGFzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1kYXRhc2V0L2FkbWluLXNlbGVjdC1kYXRhc2V0L2FkbWluLXNlbGVjdC1kYXRhc2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tZGF0YXNldC9hZG1pbi1zZWxlY3QtZGF0YXNldC9hZG1pbi1zZWxlY3QtZGF0YXNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRyxPQUFPLEVBRUwsa0JBQWtCLEVBRWxCLG1CQUFtQixFQUduQixnQkFBZ0IsRUFHaEIsWUFBWSxFQUNaLHdCQUF3QixFQUN6QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sK0NBQStDLENBQUM7QUFDbEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0s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Q04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQXRLVSwyQkFBMkIsMEpBb0JoQixnQkFBZ0I7a0dBcEIzQiwyQkFBMkIsdUZDaEN4QywyOElBb0hBOzsyRkRwRmEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLDBCQUEwQjs7MEJBdUJqQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQXNzb2NpYXRpb25zLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERhdGFzZXQsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIE1ldGFkYXRhVmFsdWUsXG4gIE1pc3NpbmdHcm91cHNCeUVudGl0eSxcbiAgUFJZX0FDQ0VTU19UT0tFTixcbiAgUHJ5QmFzZUFjY2VzcyxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeVNoYXJlTW9kZSxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBNZXRhZGF0YUFjdGlvbnMsIE1ldGFkYXRhU2VsZWN0b3JzLCBNZXRhRXZlbnRUeXBlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvbWV0YWRhdGEtZWRpdG9yJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TGF0ZXN0RnJvbSB9IGZyb20gJ0BuZ3J4L29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBZG1pbkFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hZG1pbi5hY3Rpb25zJztcbmltcG9ydCB7IEFkbWluU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvYWRtaW4uc2VsZWN0b3JzJztcbmltcG9ydCB7IEFkbWluRGF0YXNldEFjdGlvbnMgfSBmcm9tICcuLi9zdG9yZS9hZG1pbi1kYXRhc2V0LmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5EYXRhc2V0U2VsZWN0b3JzIH0gZnJvbSAnLi4vc3RvcmUvYWRtaW4tZGF0YXNldC5zZWxlY3RvcnMnO1xuXG5pbnRlcmZhY2UgTWlzc2luZ0dyb3VwcyB7XG4gIFtrZXk6IHN0cmluZ106IHsgZ3JvdXBzOiBzdHJpbmdbXTsgZW50aXR5TmFtZTogc3RyaW5nIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1zZWxlY3QtZGF0YXNldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZG1pbi1zZWxlY3QtZGF0YXNldC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5TZWxlY3REYXRhc2V0Q29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBzdGF0aWMgaWQgPSAnQWRtaW5TZWxlY3REYXRhc2V0Q29tcG9uZW50JztcbiAgc2VsZWN0ZWREYXRhc2V0JDogT2JzZXJ2YWJsZTxEYXRhc2V0IHwgbnVsbD47XG4gIGFzc29jaWF0aW9ucyQ6IE9ic2VydmFibGU8QXNzb2NpYXRpb25zIHwgdW5kZWZpbmVkPjtcbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBjdXJyZW50VHlwZVRyYW5zbGF0aW9uID0gJyc7XG4gIGRhdGFzZXRNZXRhZGF0YSQ6IE9ic2VydmFibGU8TWV0YWRhdGFWYWx1ZVtdPjtcbiAgZWRpdGFibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBhY2Nlc3NHcm91cHM6IHN0cmluZ1tdID0gW107XG4gIHNlbGVjdGVkRGF0YXNldE1pc3NpbmdHcm91cHMkOiBPYnNlcnZhYmxlPE1pc3NpbmdHcm91cHNCeUVudGl0eSB8IHVuZGVmaW5lZD47XG4gIG1pc3NpbmdHcm91cHMkOiBPYnNlcnZhYmxlPE1pc3NpbmdHcm91cHMgfCB1bmRlZmluZWQ+O1xuICBzaGFyZVJhZGlvVmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQcnlTaGFyZU1vZGUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGRpc2FibGVTaGFyZUJ1dHRvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBpMThuOiBQcnlJMThuU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQUllfQUNDRVNTX1RPS0VOKSBwcm90ZWN0ZWQgYWNjZXNzOiBQcnlCYXNlQWNjZXNzXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZXRhZGF0YUFjdGlvbnMubG9hZE1ldGFkYXRhKCkpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluRGF0YXNldFNlbGVjdG9ycy5zZWxlY3RlZERhdGFzZXQpO1xuICAgIHRoaXMuZGF0YXNldE1ldGFkYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluRGF0YXNldFNlbGVjdG9ycy5zZWxlY3RlZERhdGFzZXRNZXRhZGF0YSk7XG4gICAgdGhpcy5hc3NvY2lhdGlvbnMkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5TZWxlY3RvcnMuc2VsZWN0ZWRBc3NvY2lhdGlvbik7XG4gICAgdGhpcy5lZGl0YWJsZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChNZXRhZGF0YVNlbGVjdG9ycy5lZGl0YWJsZSk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRNaXNzaW5nR3JvdXBzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluRGF0YXNldFNlbGVjdG9ycy5zZWxlY3RlZERhdGFzZXRNaXNzaW5nR3JvdXBzKTtcbiAgICB0aGlzLm1pc3NpbmdHcm91cHMkID0gdGhpcy5zZWxlY3RlZERhdGFzZXRNaXNzaW5nR3JvdXBzJC5waXBlKFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLm1hbmlmZXN0c0xpc3QpKSxcbiAgICAgIG1hcCgoW2NvbmZsaWN0LCBtYW5pZmVzdHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiB7IGdyb3Vwczogc3RyaW5nW107IGVudGl0eU5hbWU6IHN0cmluZyB9IH0gPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMoY29uZmxpY3QgPz8ge30pLmZvckVhY2goKGVudGl0eUlkKSA9PiB7XG4gICAgICAgICAgcmVzdWx0W2VudGl0eUlkXSA9IHtcbiAgICAgICAgICAgIGdyb3VwczogY29uZmxpY3Q/LltlbnRpdHlJZF0gPz8gW10sXG4gICAgICAgICAgICBlbnRpdHlOYW1lOiBtYW5pZmVzdHMuZmluZCgobSkgPT4gbS5pZCA9PT0gZW50aXR5SWQpPy5uYW1lID8/IGVudGl0eUlkXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhyZXN1bHQpLmxlbmd0aCA+IDAgPyByZXN1bHQgOiB1bmRlZmluZWQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5zZWxlY3RlZERhdGFzZXQkLCB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRWZXJzaW9ucyldKVxuICAgICAgICAucGlwZShjb25jYXRMYXRlc3RGcm9tKChbZGF0YXNldCwgdmVyc2lvbnNdKSA9PiAoZGF0YXNldCA/IHRoaXMuY2FuTW9kaWZ5JChkYXRhc2V0KSA6IG9mKGZhbHNlKSkpKVxuICAgICAgICAuc3Vic2NyaWJlKChbW2RhdGFzZXQsIHZlcnNpb25zXSwgY2FuTW9kaWZ5XSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhc2V0KSB7XG4gICAgICAgICAgICB0aGlzLmFjY2Vzc0dyb3VwcyA9IGRhdGFzZXQuZ3JvdXBzID8/IFtdO1xuICAgICAgICAgICAgY29uc3QgZWRpdFBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdkYXRhc2V0JywgJ2VkaXQnLCBkYXRhc2V0LmlkXSwge1xuICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChjYW5Nb2RpZnkpIHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IGVkaXRQYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdlZGl0JyxcbiAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdkYXRhc2V0JyxcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogQWRtaW5EYXRhc2V0QWN0aW9ucy5jb25maXJtRGF0YXNldERlbGV0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGRhdGFzZXQuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZTogdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnZGF0YXNldCddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZFJvdXRlOiB0aGlzLnJvdXRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuY3JlYXRlVXJsVHJlZShbJy4nLCAnZGF0YXNldCcsICduZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGljb246ICdkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnZGF0YXNldCcsXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB2ZXJzaW9ucy5maWx0ZXIoKHYpID0+IHYuZGF0YXNldCA9PT0gZGF0YXNldC5pZCkubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtdXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNsb3NlUGFuZWwoKSB7XG4gICAgY29uc3QgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ2RhdGFzZXQnLCAnbmV3J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluRGF0YXNldEFjdGlvbnMudW5zZWxlY3REYXRhc2V0KCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnRvZ2dsZVBhbmVsKHsgcGFuZWxPcGVuOiBmYWxzZSB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogcGF0aC50b1N0cmluZygpIH0pLFxuICAgICAgICAgICAgbGFiZWw6ICdhZGQnLFxuICAgICAgICAgICAgaWNvbjogJ2FkZF9jb2x1bW4nLFxuICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgcGFnZUFjY2VzczogJ21ldGFkYXRhX3J1bGVzJyxcbiAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlTWV0YWRhdGEobWV0YWRhdGE6IE1ldGFFdmVudFR5cGUpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgTWV0YWRhdGFBY3Rpb25zLmRlbGV0ZURhdGFzZXRNZXRhZGF0YSh7IGRhdGFzZXRJZDogbWV0YWRhdGEuaWQsIG1ldGFkYXRhSWQ6IG1ldGFkYXRhLm1ldGFkYXRhSWQgfSlcbiAgICApO1xuICB9XG5cbiAgYWRkRGF0YXNldE1ldGFkYXRhKG1ldGFkYXRhOiBNZXRhRXZlbnRUeXBlKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIE1ldGFkYXRhQWN0aW9ucy5hZGREYXRhc2V0TWV0YWRhdGEoe1xuICAgICAgICBkYXRhc2V0SWQ6IG1ldGFkYXRhLmlkLFxuICAgICAgICBtZXRhZGF0YUlkOiBtZXRhZGF0YS5tZXRhZGF0YUlkLFxuICAgICAgICB2YWx1ZTogbWV0YWRhdGEudmFsdWVcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNoYXJlKGRhdGFzZXQ6IERhdGFzZXQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluRGF0YXNldEFjdGlvbnMudXBkYXRlKHsgZGF0YXNldDogeyAuLi5kYXRhc2V0LCBncm91cHM6IHRoaXMuYWNjZXNzR3JvdXBzIH0sIHJvdXRlOiAnJyB9KSk7XG4gIH1cblxuICBnZXRHcm91cExhYmVsKGdyb3VwTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgaTE4bkJhc2UgPSAnQHByeS5jb21wb25lbnRzLmNoaXBzU2VsZWN0b3Iuc2hhcmUuZ3JvdXBzLic7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLmkxOG4uaW5zdGFudChpMThuQmFzZSArIGdyb3VwTmFtZSwgdW5kZWZpbmVkLCBmYWxzZSk7XG4gICAgcmV0dXJuIGxhYmVsLnN0YXJ0c1dpdGgoaTE4bkJhc2UpID8gZ3JvdXBOYW1lIDogbGFiZWw7XG4gIH1cblxuICBjaGFuZ2VHcm91cCgkZXZlbnQ6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5hY2Nlc3NHcm91cHMgPSAkZXZlbnQ7XG4gICAgdGhpcy51cGRhdGVEaXNhYmxlQnV0dG9uVmFsdWUoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluRGF0YXNldEFjdGlvbnMuc2V0TWlzc2luZ0dyb3Vwcyh7IG1pc3NpbmdHcm91cHM6IHVuZGVmaW5lZCB9KSk7XG4gIH1cblxuICB1cGRhdGVHcm91cHMoJGV2ZW50OiBQcnlTaGFyZU1vZGUpIHtcbiAgICB0aGlzLnNoYXJlUmFkaW9WYWx1ZSQubmV4dCgkZXZlbnQpO1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZUJ1dHRvblZhbHVlKCk7XG4gIH1cblxuICB1cGRhdGVEaXNhYmxlQnV0dG9uVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuc2hhcmVSYWRpb1ZhbHVlJC5nZXRWYWx1ZSgpID09PSBQcnlTaGFyZU1vZGUuR1JPVVBTICYmIHRoaXMuYWNjZXNzR3JvdXBzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5kaXNhYmxlU2hhcmVCdXR0b24kLm5leHQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVTaGFyZUJ1dHRvbiQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLmRpc2FibGVTaGFyZUJ1dHRvbiQubmV4dChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGNhbk1vZGlmeSQoZGF0YXNldDogRGF0YXNldCkge1xuICAgIHJldHVybiB0aGlzLmFjY2VzcyA/IHRoaXMuYWNjZXNzLmNhbk1vZGlmeURhdGFzZXQoZGF0YXNldCkgOiBvZihmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJzZWxlY3RlZERhdGFzZXQkIHwgYXN5bmMgYXMgZGF0YXNldFwiXG4gIFtpZF09XCIncGFuZWwtZGF0YXNldC0nICsgZGF0YXNldC5pZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInYnV0dG9uLWRhdGFzZXQtJyArIGRhdGFzZXQuaWRcIlxuICBjbGFzcz1cIm8tcGFuZWwgby1wcnktYWRtaW4tZGF0YXNldC1zZWxlY3RcIlxuPlxuICA8ZGl2IGNsYXNzPVwiby1wYW5lbF9faGVhZGVyXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCIgKGNsaWNrKT1cImNsb3NlUGFuZWwoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFjdGlvbi5jbG9zZVBhbmVsJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxoMyBjbGFzcz1cImEtaDNcIj5cbiAgICAgIHt7ICdAcHJ5LmFkbWluLmRhdGFzZXQuZGF0YXNldERldGFpbHMnIHwgaTE4biB9fVxuICAgIDwvaDM+XG4gIDwvZGl2PlxuXG4gIDxwcnktdGFiLWdyb3VwIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuYWRtaW4uXCI+XG4gICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImRhdGFzZXREZXRhaWxzXCIgbmFtZT1cImRhdGFzZXQuZGV0YWlsc1wiPjwvcHJ5LXRhYj5cbiAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwiZGF0YXNldE1ldGFkYXRhXCIgbmFtZT1cIm1ldGFkYXRhLnRpdGxlXCI+PC9wcnktdGFiPlxuICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJkYXRhc2V0QXNzb2NpYXRpb25zXCIgbmFtZT1cImNsYXNzZXMuYXNzb2NpYXRpb25zXCI+PC9wcnktdGFiPlxuICAgIDxwcnktdGFiICpuZ0lmPVwiY2FuTW9kaWZ5JChkYXRhc2V0KSB8IGFzeW5jXCIgW3RlbXBsYXRlUmVmXT1cInNoYXJlRGF0YXNldFwiIG5hbWU9XCJzaGFyZVwiPjwvcHJ5LXRhYj5cbiAgPC9wcnktdGFiLWdyb3VwPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZGF0YXNldERldGFpbHM+XG4gICAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1jb2x1bW4gLWdhcC0yMFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmRhdGFzZXQubmFtZScgfCBpMThuIH19PC9oND5cbiAgICAgICAgPHNwYW4+e3sgZGF0YXNldC5uYW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgJ0BwcnkuZGF0YXNldC5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9oND5cbiAgICAgICAgQGlmIChkYXRhc2V0LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgPHNwYW4+e3sgZGF0YXNldC5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCItaXRhbGljXCI+e3sgJ0BwcnkuZGF0YXNldC5ub0Rlc2NyaXB0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLmN1c3RvbWl6ZS5uYW1lJyB8IGkxOG4gfX08L2g0PlxuICAgICAgICA8c3Bhbj57eyBkYXRhc2V0Lm9DbGFzcyB8IHRyYW5zbGF0ZUlkOiB7IHR5cGU6ICdjbGFzcycsIG91dHB1dDogJ25hbWUnIH0gfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLmRhdGFzZXQudHlwZScgfCBpMThuIH19PC9oND5cbiAgICAgICAgPHNwYW4+e3sgJ0BwcnkuYWRtaW4uZGF0YXNldC4nICsgZGF0YXNldC50eXBlIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmRhdGFzZXQudGFncycgfCBpMThuIH19PC9oND5cbiAgICAgICAgQGlmIChkYXRhc2V0LmNhdGVnb3JpZXMgJiYgZGF0YXNldC5jYXRlZ29yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXhcIj5cbiAgICAgICAgICAgIEBmb3IgKGNhdGVnb3J5IG9mIGRhdGFzZXQuY2F0ZWdvcmllczsgdHJhY2sgY2F0ZWdvcnkuaWQpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWNoaXAgLW1kXCI+e3sgY2F0ZWdvcnkubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCItaXRhbGljXCI+e3sgJ0BwcnkuZGF0YXNldC5ub1RhZ3MnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNkYXRhc2V0TWV0YWRhdGE+XG4gICAgPHByeS1tZXRhZGF0YS1lZGl0b3JcbiAgICAgIFt0YXJnZXRJZF09XCIoc2VsZWN0ZWREYXRhc2V0JCB8IGFzeW5jKT8uaWQgPz8gJydcIlxuICAgICAgW2lzTW9kaWZpY2F0aW9uXT1cIihlZGl0YWJsZSQgfCBhc3luYykgPz8gZmFsc2VcIlxuICAgICAgW21ldGFkYXRhXT1cIihkYXRhc2V0TWV0YWRhdGEkIHwgYXN5bmMpID8/IFtdXCJcbiAgICAgIChyZW1vdmVNZXRhKT1cInJlbW92ZU1ldGFkYXRhKCRldmVudClcIlxuICAgICAgKGFkZE1ldGEpPVwiYWRkRGF0YXNldE1ldGFkYXRhKCRldmVudClcIlxuICAgICAgW3R5cGVdPVwiJ21ldGEnXCJcbiAgICA+PC9wcnktbWV0YWRhdGEtZWRpdG9yPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZGF0YXNldEFzc29jaWF0aW9ucz5cbiAgICA8ZGl2ICpuZ0lmPVwiYXNzb2NpYXRpb25zJCB8IGFzeW5jIGFzIGFzc29jaWF0aW9uc1wiIGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1fX2NvbnRlbnRcIj5cbiAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmFzc29jaWF0aW9ucycgfCBpMThuIH19PC9oND5cbiAgICAgIDxwcnktYXNzb2NpYXRpb24gW2Fzc29jaWF0aW9uc109XCJhc3NvY2lhdGlvbnNcIj48L3ByeS1hc3NvY2lhdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgI3NoYXJlRGF0YXNldD5cbiAgICA8ZGl2IGNsYXNzPVwiby1wcnktYWRtaW4tZGF0YXNldC1zZWxlY3RfX3NoYXJlXCI+XG4gICAgICA8cHJ5LWdyb3VwLXNoYXJlXG4gICAgICAgIFtuZ01vZGVsXT1cImRhdGFzZXQuZ3JvdXBzXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlR3JvdXAoJGV2ZW50KVwiXG4gICAgICAgIChyYWRpb1ZhbHVlQ2hhbmdlKT1cInVwZGF0ZUdyb3VwcygkZXZlbnQpXCJcbiAgICAgID48L3ByeS1ncm91cC1zaGFyZT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgdS1zZWxmLWVuZFwiXG4gICAgICAgICNzdWJtaXRcbiAgICAgICAgKGNsaWNrKT1cInNoYXJlKGRhdGFzZXQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVTaGFyZUJ1dHRvbiQgfCBhc3luY1wiXG4gICAgICA+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLnZhbGlkYXRlJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgQGlmIChzZWxlY3RlZERhdGFzZXRNaXNzaW5nR3JvdXBzJCB8IGFzeW5jKSB7XG4gICAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyAnQHByeS5hZG1pbi5kYXRhc2V0LnN1Y2Nlc3MnIHwgaTE4biB9fTwvaDQ+XG4gICAgICB9XG4gICAgICBAaWYgKG1pc3NpbmdHcm91cHMkIHwgYXN5bmM7IGFzIG1pc3NpbmdHcm91cHMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1jb2x1bW5cIj5cbiAgICAgICAgICA8c3Bhbj57eyAnQHByeS5hZG1pbi5kYXRhc2V0LmNvbmZsaWN0JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgQGZvciAobWlzc2luZyBvZiBtaXNzaW5nR3JvdXBzIHwga2V5dmFsdWU7IHRyYWNrIG1pc3Npbmcua2V5KSB7XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5kYXRhc2V0LmVudGl0aWVzLmRhc2hib2FyZCcgfCBpMThuIH19IDxzdHJvbmc+e3sgbWlzc2luZy52YWx1ZS5lbnRpdHlOYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1LWRpc3BsYXktZmxleFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGdyb3VwIG9mIG1pc3NpbmcudmFsdWUuZ3JvdXBzOyB0cmFjayBncm91cCkge1xuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWNoaXBcIj57eyBnZXRHcm91cExhYmVsKGdyb3VwKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -29,7 +29,13 @@ export const enTranslations = {
29
29
  defaultRule: 'Default Rule (applies only if no other rules are verified)',
30
30
  displayModeImage: 'Image display mode',
31
31
  size: 'Image size',
32
+ share: 'Share',
32
33
  deleteAttributeConfirmMessage: 'This attribute will no longer be visible for the associated data. Are you sure you want to delete this?',
34
+ attributes: {
35
+ unknownField: 'Unknown field',
36
+ unknownCategory: 'Unknown category',
37
+ noCategory: 'No category'
38
+ },
33
39
  position: {
34
40
  FULL: 'Full icon',
35
41
  TOP_LEFT: 'Top left',
@@ -42,7 +48,7 @@ export const enTranslations = {
42
48
  template: 'Tooltip (Map & Relations)',
43
49
  update: 'Update tooltip',
44
50
  advanced: 'Advanced mode',
45
- name: 'business model',
51
+ name: 'Business model',
46
52
  technicalId: 'Technical Id',
47
53
  type: 'Choose which kind of tooltip to use',
48
54
  simplified: 'Choose which attributes to display',
@@ -134,7 +140,8 @@ export const enTranslations = {
134
140
  dataset: {
135
141
  delete: 'All versions and associated data will be deleted. Restitutions and presentations using this dataset will no longer display the corresponding data. Do you confirm the deletion?',
136
142
  title: 'Dataset',
137
- details: 'Dataset details',
143
+ datasetDetails: 'Dataset details',
144
+ details: 'Details',
138
145
  id: 'Id',
139
146
  name: 'Name',
140
147
  oClass: 'Business model',
@@ -385,4 +392,4 @@ export const enTranslations = {
385
392
  }
386
393
  }
387
394
  };
388
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vaTE4bi9lbi50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsZUFBZSxFQUFFLDRCQUE0QjtZQUM3QyxjQUFjLEVBQUUsYUFBYTtZQUM3QixXQUFXLEVBQUUsT0FBTztZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixZQUFZLEVBQUUsZUFBZTtZQUM3QixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsZUFBZTtZQUN2QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLFlBQVk7WUFDeEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxNQUFNLEVBQUUsMEJBQTBCO1lBQ2xDLFNBQVMsRUFBRSwyQ0FBMkM7WUFDdEQsU0FBUyxFQUFFLHVDQUF1QztZQUNsRCxZQUFZLEVBQUUsaURBQWlEO1lBQy9ELElBQUksRUFBRSxlQUFlO1lBQ3JCLFdBQVcsRUFBRSw0REFBNEQ7WUFDekUsZ0JBQWdCLEVBQUUsb0JBQW9CO1lBQ3RDLElBQUksRUFBRSxZQUFZO1lBQ2xCLDZCQUE2QixFQUMzQix5R0FBeUc7WUFDM0csUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxXQUFXO2dC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TyxFQUFFLFNBQVM7Z0JBQ2xCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixTQUFTLEVBQUUsV0FBVztnQkFDdEIsS0FBSyxFQUFFLFdBQVc7YUFDbkI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLGtCQUFrQjtnQkFDekIsV0FBVyxFQUFFO29CQUNYLE9BQU8sRUFDTCx1S0FBdUs7b0JBQ3pLLE9BQU8sRUFDTCxzUEFBc1A7aUJBQ3pQO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxPQUFPLEVBQUUsU0FBUztvQkFDbEIsT0FBTyxFQUFFLGVBQWU7aUJBQ3pCO2FBQ0Y7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sWUFBWSxFQUFFLHlCQUF5QjtnQkFDdkMsYUFBYSxFQUFFO29CQUNiLE9BQU8sRUFBRTt3QkFDUCxNQUFNLEVBQUUsWUFBWTt3QkFDcEIsY0FBYyxFQUFFLDZDQUE2Qzt3QkFDN0QsSUFBSSxFQUFFLEtBQUs7d0JBQ1gsUUFBUSxFQUFFLFlBQVk7d0JBQ3RCLE1BQU0sRUFBRSxZQUFZO3dCQUNwQixHQUFHLEVBQUUsOEdBQThHO3FCQUNwSDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsTUFBTSxFQUFFLGlCQUFpQjt3QkFDekIsY0FBYyxFQUFFLGtEQUFrRDt3QkFDbEUsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7d0JBQzNCLE1BQU0sRUFBRSxpQkFBaUI7d0JBQ3pCLEdBQUcsRUFBRSxtSEFBbUg7cUJBQ3pIO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsSUFBSSxFQUFFLFlBQVk7U0FDbkI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5UcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGFkbWluOiB7XG4gICAgICB0aXRsZTogJ0FkbWluaXN0cmF0aW9uJyxcbiAgICAgIHRpdGxlSW5kaWNhdGlvbjogJ0Nsb3NlIEFkbWluaXN0cmF0aW9uIG1lbnUgJyxcbiAgICAgIGluZm9Nb2RhbFRpdGxlOiAnSW5mb3JtYXRpb24nLFxuICAgICAgY2xvc2VNb2RhbGU6ICdDbG9zZScsXG4gICAgICBlZGl0OiAnRWRpdCcsXG4gICAgICByZW5hbWU6ICdSZW5hbWUnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIGFkZDogJ05ldycsXG4gICAgICB2YWxpZGF0ZTogJ1ZhbGlkYXRlJyxcbiAgICAgIGFkZENsYXNzOiAnVmFsaWRhdGUgY3JlYXRpb24nLFxuICAgICAgYWRkQXR0cmlidXRlOiAnQWRkIGF0dHJpYnV0ZScsXG4gICAgICBjcmVhdGU6ICdDcmVhdGUnLFxuICAgICAgdXBsb2FkOiAnQWRkIGEgcGljdHVyZScsXG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgYmFjazogJ0JhY2snLFxuICAgICAgbmV4dDogJ05leHQnLFxuICAgICAgcHJvcGVydGllczogJ1Byb3BlcnRpZXMnLFxuICAgICAgZGV0YWlsczogJ0RldGFpbHMnLFxuICAgICAgYWN0aXZpdHk6ICdBY3Rpdml0eScsXG4gICAgICByZXF1aXJlZDogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnLFxuICAgICAgZXhpc3RzOiAnVGhpcyBuYW1lIGFscmVhZHkgZXhpc3RzJyxcbiAgICAgIG1pbkxlbmd0aDogJ1RoZSBtaW5pbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzOiB7e2xlbn19JyxcbiAgICAgIG1heExlbmd0aDogJ051bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWQ6IHt7bGVufX0nLFxuICAgICAgbm9XaGl0ZXNwYWNlOiBcIlRoZSB2YWx1ZSBjYW4ndCBzdGFydCBvciBlbmQgd2l0aCBhIGJsYW5rIHNwYWNlXCIsXG4gICAgICBydWxlOiAnUnVsZSBuwrB7e2lkfX0nLFxuICAgICAgZGVmYXVsdFJ1bGU6ICdEZWZhdWx0IFJ1bGUgKGFwcGxpZXMgb25seSBpZiBubyBvdGhlciBydWxlcyBhcmUgdmVyaWZpZWQpJyxcbiAgICAgIGRpc3BsYXlNb2RlSW1hZ2U6ICdJbWFnZSBkaXNwbGF5IG1vZGUnLFxuICAgICAgc2l6ZTogJ0ltYWdlIHNpemUnLFxuICAgICAgZGVsZXRlQXR0cmlidXRlQ29uZmlybU1lc3NhZ2U6XG4gICAgICAgICdUaGlzIGF0dHJpYnV0ZSB3aWxsIG5vIGxvbmdlciBiZSB2aXNpYmxlIGZvciB0aGUgYXNzb2NpYXRlZCBkYXRhLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXM/JyxcbiAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgIEZVTEw6ICdGdWxsIGljb24nLFxuICAgICAgICBUT1BfTEVGVDogJ1RvcCBsZWZ0JyxcbiAgICAgICAgVE9QX1JJR0hUOiAnVG9wIFJpZ2h0JyxcbiAgICAgICAgQk9UVE9NX0xFRlQ6ICdCb3R0b20gbGVmdCcsXG4gICAgICAgIEJPVFRPTV9SSUdIVDogJ0JvdHRvbSByaWdodCdcbiAgICAgIH0sXG4gICAgICBjdXN0b21pemU6IHtcbiAgICAgICAgdGl0bGU6ICdDdXN0b21pemUnLFxuICAgICAgICB0ZW1wbGF0ZTogJ1Rvb2x0aXAgKE1hcCAmIFJlbGF0aW9ucyknLFxuICAgICAgICB1cGRhdGU6ICdVcGRhdGUgdG9vbHRpcCcsXG4gICAgICAgIGFkdmFuY2VkOiAnQWR2YW5jZWQgbW9kZScsXG4gICAgICAgIG5hbWU6ICdidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIHRlY2huaWNhbElkOiAnVGVjaG5pY2FsIElkJyxcbiAgICAgICAgdHlwZTogJ0Nob29zZSB3aGljaCBraW5kIG9mIHRvb2x0aXAgdG8gdXNlJyxcbiAgICAgICAgc2ltcGxpZmllZDogJ0Nob29zZSB3aGljaCBhdHRyaWJ1dGVzIHRvIGRpc3BsYXknLFxuICAgICAgICBleGVtcGxlOiAne3tleHByfX0gdmFsdWUnLFxuICAgICAgICB0YWJsZTogJ1RhYmxlIGRlZmF1bHQgYXR0cmlidXRlcycsXG4gICAgICAgIHRpbGU6ICdUaWxlIGRlZmF1bHQgYXR0cmlidXRlcycsXG4gICAgICAgIHRpbGVIaW50OiAnT25seSBiZXR3ZWVuIDEgYW5kIHt7bWF4fX0gYXR0cmlidXRlcyBjYW4gYmUgZGlzcGxheWVkIGluIGEgdGlsZScsXG4gICAgICAgIHRhYmxlQXR0cnM6ICdBdHRyaWJ1dGVzIGluIGEgdGFibGUgYnkgZGVmYXVsdCcsXG4gICAgICAgIHRpbGVBdHRyczogJ0F0dHJpYnV0ZXMgZGlzcGxheWVkIGluIGEgdGlsZScsXG4gICAgICAgIG5vVGFibGVBdHRyczogJ090aGVyIGF0dHJpYnV0ZXMnLFxuICAgICAgICBub1RpbGVBdHRyczogJ0F0dHJpYnV0ZXMgbm90IGRpc3BsYXllZCcsXG4gICAgICAgIHVwZGF0ZVRhYmxlOiAnVXBkYXRlIGRlZmF1bHQgdGFibGUgYXR0cmlidXRlcycsXG4gICAgICAgIHVwZGF0ZVRpbGU6ICdVcGRhdGUgdGlsZSBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdXBkYXRlSWNvbnM6ICdVcGRhdGUgc3ltYm9scyBydWxlcydcbiAgICAgIH0sXG4gICAgICB2YXJUeXBlOiB7XG4gICAgICAgIGludDogJ0ludGVnZXInLFxuICAgICAgICBkb3VibGU6ICdEb3VibGUnLFxuICAgICAgICBzdHJpbmc6ICdUZXh0JyxcbiAgICAgICAgdXVpZDogJ1V1aWQnLFxuICAgICAgICBkYXRlOiAnRGF0ZScsXG4gICAgICAgIGxpc3Q6ICdWYWx1ZSBsaXN0J1xuICAgICAgfSxcbiAgICAgIG1lbnVzOiB7XG4gICAgICAgIGVudmlyb25tZW50OiAnRXhlY3V0aW9uIGNvbnRleHRzJyxcbiAgICAgICAgdXNlcjogJ1VzZXJzJyxcbiAgICAgICAgJ21ldGFkYXRhLXVzZXInOiAnVXNlciBwcm9maWxlJyxcbiAgICAgICAgJ2FiYWMtcnVsZXMnOiAnQUJBQyBSdWxlcycsXG4gICAgICAgICdtZXRhZGF0YS1ydWxlcyc6ICdSdWxlcyBtZXRhZGF0YScsXG4gICAgICAgIGRhdGFzZXQ6ICdEYXRhc2V0cycsXG4gICAgICAgIGNsYXNzZXM6ICdDbGFzc2VzJyxcbiAgICAgICAgcHJlZGljYXRlczogJ1ByZWRpY2F0ZXMnLFxuICAgICAgICBtZXRhZGF0YTogJ01ldGFkYXRhJyxcbiAgICAgICAgZmllbGRzOiAnRmllbGRzJyxcbiAgICAgICAgJ3JlbGF0aW9uLXR5cGVzJzogJ1JlbGF0aW9uIHR5cGVzJyxcbiAgICAgICAgbGlua3M6ICdMaW5rcyBiZXR3ZWVuIGF0dHJpYnV0ZXMnLFxuICAgICAgICBtb2RlbDogJ0RhdGEgbW9kZWwnLFxuICAgICAgICBhY2Nlc3M6ICdEYXRhIGFjY2VzcydcbiAgICAgIH0sXG4gICAgICBwcmVkaWNhdGVzOiB7XG4gICAgICAgIGxpc3Q6ICdQcmVkaWNhdGVzJyxcbiAgICAgICAgYWRkOiAnQ3JlYXRlIG5ldyBwcmVkaWNhdGUnLFxuICAgICAgICBlZGl0OiAnRWRpdCB1biBwcmVkaWNhdGUnLFxuICAgICAgICBpbmZvOiBcIlByZWRpY2F0ZSdzIGluZm9ybWF0aW9uXCIsXG4gICAgICAgIG51bTogJ0lkLicsXG4gICAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgICAgdmFsdWU6ICdUcmlnZ2VyIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24nLFxuICAgICAgICB2YWxpZEVkaXQ6ICdWYWxpZGF0aW9uIG1vZGlmaWNhdGlvbicsXG4gICAgICAgIHZhbGlkRWRpdE1lc3NhZ2U6ICdUaGlzIHByZWRpY2F0ZXMgaXMgdXNlZCBpbiB7e3VzZWR9fSBydWxlcy4gUmVhbGx5IHVwZGF0ZSBwcmVkaWNhdGUgPydcbiAgICAgIH0sXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICB0aXRsZTogJ01ldGFkYXRhJyxcbiAgICAgICAgYWRkOiAnQ3JlYXRlIG5ldyBtZXRhZGF0YScsXG4gICAgICAgIGVkaXQ6ICdNb2RpZnkgbWV0YWRhdGEnLFxuICAgICAgICBkZXRhaWxzOiAnTWV0YWRhdGEgZGV0YWlscycsXG4gICAgICAgIGRldGFpbHNVc2VyOiAnVXNlciBwcm9maWxlIGRldGFpbCcsXG4gICAgICAgIGlkOiAnSUQnLFxuICAgICAgICBsYWJlbDogJ05hbWUnLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICBpbnZhbGlkOiAnRmllbGQgaXMgcmVxdWlyZWQnLFxuICAgICAgICBsaXN0TGFiZWw6ICdWYWx1ZSBuYW1lJyxcbiAgICAgICAgYWRkVmFsdWU6ICdBZGQgbmV3IHZhbHVlJyxcbiAgICAgICAgcmVtb3ZlVmFsdWU6ICdSZW1vdmUgdmFsdWUnLFxuICAgICAgICBzeXN0ZW06ICdTeXN0ZW0gbWV0YWRhdGEnXG4gICAgICB9LFxuICAgICAgJ21ldGFkYXRhLXJ1bGVzJzoge1xuICAgICAgICB0aXRsZTogJ01ldGFkYXRhIFJ1bGVzJyxcbiAgICAgICAgbGFiZWw6ICdOYW1lJyxcbiAgICAgICAgJ2lzLXNhbWUtbmFtZSc6ICdUaGUgbmFtZSBvZiB0aGUgcnVsZSBpcyBhbHJlYWR5IHRha2VuIGZvciBhbm90aGVyIHJ1bGUsIHBsZWFzZSB1c2UgYW5vdGhlciBvbmUnLFxuICAgICAgICAnaXMtc2FtZS1ydWxlcyc6ICdUaGUgc2FtZSBydWxlIGhhcyBhbHJlYWR5IGJlZW4gY29uZmlndXJlZCBhbmQgc2F2ZWQsIHlvdSBjYW4gdXNlIGl0JyxcbiAgICAgICAgJ21ldGFkYXRhLWl0ZW0nOiB7XG4gICAgICAgICAgbmFtZTogJ1RhcmdldCBtZXRhZGF0YScsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdUYXJnZXQgbWV0YWRhdGEgZGVzY3JpcHRpb24nLFxuICAgICAgICAgIHR5cGU6ICdNZXRhZGF0YSB0eXBlIHRhcmdldCdcbiAgICAgICAgfSxcbiAgICAgICAgJ21ldGFkYXRhLXVzZXInOiB7XG4gICAgICAgICAgbmFtZTogJ1NvdXJjZSB1c2VyIHByb2ZpbGUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24gb2Ygc291cmNlIHVzZXIgcHJvZmlsZScsXG4gICAgICAgICAgdHlwZTogJ1R5cGUgb2Ygc291cmNlIHVzZXIgcHJvZmlsZSdcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIHRpdGxlOiAnTW9kaWZ5IG1ldGFkYXRhIHJ1bGUnXG4gICAgICAgIH0sXG4gICAgICAgIGFkZDoge1xuICAgICAgICAgIHRpdGxlOiAnQ3JlYXRlIG5ldyBtZXRhZGF0YSBydWxlJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZGF0YXNldDoge1xuICAgICAgICBkZWxldGU6XG4gICAgICAgICAgJ0FsbCB2ZXJzaW9ucyBhbmQgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgZGVsZXRlZC4gUmVzdGl0dXRpb25zIGFuZCBwcmVzZW50YXRpb25zIHVzaW5nIHRoaXMgZGF0YXNldCB3aWxsIG5vIGxvbmdlciBkaXNwbGF5IHRoZSBjb3JyZXNwb25kaW5nIGRhdGEuIERvIHlvdSBjb25maXJtIHRoZSBkZWxldGlvbj8nLFxuICAgICAgICB0aXRsZTogJ0RhdGFzZXQnLFxuICAgICAgICBkZXRhaWxzOiAnRGF0YXNldCBkZXRhaWxzJyxcbiAgICAgICAgaWQ6ICdJZCcsXG4gICAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgICAgb0NsYXNzOiAnQnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgICdpcy1zYW1lLW5hbWUnOiAnVGhlIG5hbWUgb2YgdGhlIGRhdGFzZXQgaXMgYWxyZWFkeSB0YWtlbiwgcGxlYXNlIHVzZSBhbm90aGVyIG9uZScsXG4gICAgICAgIGFkZDoge1xuICAgICAgICAgIHRpdGxlOiAnQ3JlYXRlIGEgbmV3IGRhdGFzZXQnXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICB0aXRsZTogJ1VwZGF0ZSBkYXRhc2V0J1xuICAgICAgICB9LFxuICAgICAgICBPUEVOOiAnT3BlbicsXG4gICAgICAgIENMT1NFRDogJ0Nsb3NlZCcsXG4gICAgICAgIE1PRElGSUFCTEU6ICdNb2RpZmlhYmxlJyxcbiAgICAgICAgY29uZmxpY3Q6ICdDYXJlZnVsLCB0aGUgZm9sbG93aW5nIGRhc2hib2FyZHMgYXJlIHNoYXJlZCB0byBncm91cHMgd2hpY2ggY2FuIG5vIGxvbmdlciBhY2Nlc3MgdGhpcyBkYXRhc291cmNlOicsXG4gICAgICAgIGVudGl0aWVzOiB7XG4gICAgICAgICAgZGFzaGJvYXJkOiAnRGFzaGJvYXJkJ1xuICAgICAgICB9LFxuICAgICAgICBhZGRUYWc6ICdBZGQgYSBuZXcgdGFnJ1xuICAgICAgfSxcbiAgICAgICdhYmFjLXJ1bGVzJzoge1xuICAgICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgICAgICBtZXRhZGF0YVVzZXI6ICdVc2VycyBwcm9maWxlJyxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBsaXN0OiAnQWJhYyBSdWxlcycsXG4gICAgICAgICAgYWRkOiAnQ3JlYXRlIG5ldyBhYmFjIHJ1bGUnLFxuICAgICAgICAgIHZpZXc6IFwiQWJhYyBydWxlJ3MgaW5mb3JtYXRpb25cIixcbiAgICAgICAgICBlZGl0OiAnQWJhYyBydWxlIGVkaXRpb24nXG4gICAgICAgIH0sXG4gICAgICAgIGZvcm06IHtcbiAgICAgICAgICBpZDogJ0lEJyxcbiAgICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgICAgc3RhdHVzOiAnU3RhdHVzJyxcbiAgICAgICAgICBzdGF0dXNBY3RpdmU6ICdBY3RpdmUnLFxuICAgICAgICAgIHN0YXR1c0luYWN0aXZlOiAnSW5hY3RpdmUnLFxuICAgICAgICAgIHByZWRpY2F0ZTogJ1ByZWRpY2F0ZScsXG4gICAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICAgIHR5cGVNZXRhZGF0YTogJ01ldGFkYXRhJyxcbiAgICAgICAgICB0eXBlQXR0cmlidXRlOiAnQXR0cmlidXRlJyxcbiAgICAgICAgICB0eXBlU2VsZWN0ZWQ6IFwiWW91IGNhbid0IGNoYW5nZSB0eXBlIHdpdGggY3VycmVudCBjb25kaXRpb25zXCIsXG4gICAgICAgICAgYWRkTWV0YWRhdGE6ICdBZGQgbWV0YWRhdGEgY29uZGl0aW9uJyxcbiAgICAgICAgICBhZGRBdHRyaWJ1dGU6ICdBZGQgYXR0cmlidXRlIGNvbmRpdGlvbicsXG4gICAgICAgICAgYWRkR3JvdXA6ICdBZGQgZ3JvdXAgY29uZGl0aW9uJyxcbiAgICAgICAgICBjYW5jZWw6ICdDQU5DRUwnLFxuICAgICAgICAgIHZhbGlkYXRlOiAnVkFMSURBVEUnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1c2VyOiB7XG4gICAgICAgIHRpdGxlOiAnVXNlciBwcm9maWxlJyxcbiAgICAgICAgYWRkOiAnQ3JlYXRlIG5ldyB1c2VyIHByb2ZpbGUnLFxuICAgICAgICBsYWJlbDogJ05hbWUnLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIGludmFsaWQ6ICdGaWVsZCBpcyByZXF1aXJlZCcsXG4gICAgICAgIGVkaXQ6ICdFZGl0IHVzZXIgcHJvZmlsZSdcbiAgICAgIH0sXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBsaXN0OiAnRXhlY3V0aW9uIGNvbnRleHRzJyxcbiAgICAgICAgYWRkOiAnQ3JlYXRlIG5ldyBleGVjdXRpb24gY29udGV4dCcsXG4gICAgICAgIGVkaXQ6ICdFZGl0IGV4ZWN1dGlvbiBjb250ZXh0JyxcbiAgICAgICAgaW5mbzogXCJFeGVjdXRpb24gY29udGV4dCdzIGluZm9ybWF0aW9uXCIsXG4gICAgICAgIGZvcm1hdEludDogJ1ZhbHVlIG11c3QgYmUgYW4gaW50ZWdlcicsXG4gICAgICAgIGZvcm1hdERvdWJsZTogXCJWYWx1ZSBtdXN0IGJlIGFuIGludGVnZXIsIHNlcGFyYXRvciBtdXN0IGJlICcuJ1wiLFxuICAgICAgICBmb3JtYXROYW1lOiAnVGhlIG9ubHkgc3BlY2lhbCBjaGFyYWN0ZXJzIGFsbG93ZWQgYXJlOiBbIC0gXyBdICcsXG4gICAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICB2YWx1ZTogJ1ZhcmlhYmxlIHZhbHVlJ1xuICAgICAgfSxcbiAgICAgIGNsYXNzZXM6IHtcbiAgICAgICAgbGlzdDogJ0NsYXNzZXMnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIHRpdGxlOiAnQ2xhc3NlIHt7YnVzaW5lc3MgbW9kZWx9fScsXG4gICAgICAgIGltYWdlOiAnSW1hZ2UnLFxuICAgICAgICBmb3JtYXROYW1lOiAnVGhlIG9ubHkgY2hhcmFjdGVycyBhbGxvd2VkIGFyZTogWyBsb3dlcmNhc2UsIC0gXyBdICcsXG4gICAgICAgIG1vZGVsOiAnTW9kZWwnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgbGluZXM6ICdMaW5lcycsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBlZGl0OiAnTW9kaWZ5IGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgcmVuYW1lOiAnUmVuYW1lIGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgYWRkQXR0cjogJ0F0dHJpYnV0ZScsXG4gICAgICAgIGluZm9BdHRyOiAne3tidXNpbmVzcyBtb2RlbH19IGJ1c2luZXNzIG1vZGVsID4gQXR0cmlidXRlcycsXG4gICAgICAgIGluZm86ICdidXNpbmVzcyBtb2RlbCBpbmZvcm1hdGlvbicsXG4gICAgICAgIHJ1bGVzOiAnU3ltYm9sIGRlZmluaXRpb24gcnVsZXMnLFxuICAgICAgICBjb25kaXRpb246ICdVc2VkIGlmIGNvbmRpdGlvbiB2ZXJpZmllZCcsXG4gICAgICAgIGF0dHJOYW1lOiAnQXR0cmlidXRlIHRvIGNoZWNrJyxcbiAgICAgICAgdmFsdWU6ICdDb21wYXJpc29uIHZhbHVlJyxcbiAgICAgICAgb3BlcmF0aW9uOiAnQ29tcGFyaXNvbiBvcGVyYXRpb24nLFxuICAgICAgICBvcGVyYXRpb25zOiB7XG4gICAgICAgICAgRVFVQUxTOiAnaXMgZXF1YWwnLFxuICAgICAgICAgIEdSRUFURVI6ICdpcyBncmVhdGVyJyxcbiAgICAgICAgICBHUkVBVEVSX09SX0VRVUFMOiAnaXMgZ3JlYXRlciBvciBlcXVhbCcsXG4gICAgICAgICAgTE9XRVI6ICdpcyBsb3dlcicsXG4gICAgICAgICAgTE9XRVJfT1JfRVFVQUw6ICdpcyBsb3dlciBvciBlcXVhbCcsXG4gICAgICAgICAgQ09OVEFJTlM6ICdjb250YWlucyBhcyB0ZXh0J1xuICAgICAgICB9LFxuICAgICAgICBjcmVhdGVDbGFzc01vZGFsTWVzc2FnZTpcbiAgICAgICAgICAnQ3JlYXRpbmcgYSBidXNpbmVzcyBtb2RlbCB3aXRob3V0IGF0dHJpYnV0ZXMgaXMgaW1wb3NzaWJsZS4gQWRkIGFuIGF0dHJpYnV0ZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGJ1c2luZXNzIG1vZGVsLCB3aXRoIFwiQWRkIGF0dHJpYnV0ZVwiIGJ1dHRvbi4nLFxuICAgICAgICBjcmVhdGVDbGFzc0NvbmZpcm1NZXNzYWdlOiAnQ29uZmlybSBidXNpbmVzcyBtb2RlbCBjcmVhdGlvbicsXG4gICAgICAgIGRlbGV0ZUNsYXNzQ29uZmlybU1lc3NhZ2U6ICdDb25maXJtIGRlbGV0aW5nIHRoZSBzZWxlY3RlZCBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGxpbmtlZE9iamVjdHM6ICdMaW5rZWQgb2JqZWN0cycsXG4gICAgICAgIHVzZWRFbHNld2hlcmU6IFwiVXNlZCBieSBvdGhlciB1c2Vycycgb2JqZWN0c1wiLFxuICAgICAgICBhc3NvY2lhdGlvbnM6ICdBc3NvY2lhdGlvbnMnLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBhZGQ6ICdidXNpbmVzcyBtb2RlbCBBZGQgYXR0cmlidXRlJyxcbiAgICAgICAgICBlZGl0OiAnRWRpdCBhdHRyaWJ1dGUnLFxuICAgICAgICAgIG5hbWU6ICdBdHRyaWJ1dGUgbGFiZWwnLFxuICAgICAgICAgIHRlY2huaWNhbE5hbWU6ICdUZWNobmljYWwgbmFtZScsXG4gICAgICAgICAgaW5mbzogJ0F0dHJpYnV0ZSBpbmZvcm1hdGlvbicsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgICAgZmllbGQ6ICdGaWVsZCcsXG4gICAgICAgICAgZGZpZWxkOiAnRmllbGQnLFxuICAgICAgICAgIGNhdGVnb3J5OiAnQ2F0ZWdvcnknLFxuICAgICAgICAgIG11bHRpVmFsdWVkOiAnTXVsdGkgdmFsdWVkJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIGFkZDogJ0FkZCBuZXcgZmllbGQnLFxuICAgICAgICBpbmZvOiAnRmllbGQgaW5mb3JtYXRpb24nLFxuICAgICAgICBsaXN0OiAnRmllbGRzJyxcbiAgICAgICAgZWRpdDogJ0VkaXQgZmllbGQnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICB0eXBlOiAnVGVjaG5pY2FsIHR5cGUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiAnQXR0cmlidXRlIHByZXNlbmNlJyxcbiAgICAgICAgYXR0cmlidXRlc1RhYjogJ0F0dHJpYnV0ZXMnLFxuICAgICAgICBhdHRyaWJ1dGVOYW1lOiAnQXR0cmlidXRlIG5hbWUnLFxuICAgICAgICBjbGFzc05hbWU6ICdDbGFzcycsXG4gICAgICAgIGNvbmZpcm1GaWVsZERlbGV0aW9uOiAnQ29uZmlybSBkZWxldGluZyB0aGUgc2VsZWN0ZWQgZmllbGQnLFxuICAgICAgICBmaWVsZFR5cGU6IHtcbiAgICAgICAgICBpbnQ6ICdJbnRlZ2VyJyxcbiAgICAgICAgICBsb25nOiAnTG9uZyBudW1iZXInLFxuICAgICAgICAgIGRlY2ltYWw6ICdEb3VibGUgbnVtYmVyJyxcbiAgICAgICAgICBzdHJpbmc6ICdUZXh0JyxcbiAgICAgICAgICBrZXl3b3JkOiAnS2V5d29yZCcsXG4gICAgICAgICAgaW5zdGFudDogJ2RhdGUnLFxuICAgICAgICAgIHJhdzogJ1JhdycsXG4gICAgICAgICAgcG9pbnQ6ICdQb2ludCcsXG4gICAgICAgICAgbXVsdGlwb2ludDogJ011bHRpLXBvaW50cycsXG4gICAgICAgICAgbGluZTogJ0xpbmUnLFxuICAgICAgICAgIG11bHRpbGluZTogJ011bHRpLWxpbmVzJyxcbiAgICAgICAgICBwb2x5Z29uOiAnUG9seWdvbicsXG4gICAgICAgICAgbXVsdGlwb2x5Z29uOiAnTXVsdGktcG9seWdvbnMnLFxuICAgICAgICAgIGluZm9ybWF0aW9uOiB7XG4gICAgICAgICAgICBpbnQ6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIGxlc3MgdGhhbiAyXjMyJyxcbiAgICAgICAgICAgIGxvbmc6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIHRoYXQgY2FuIGV4Y2VlZCAyXjMyJyxcbiAgICAgICAgICAgIGRlY2ltYWw6ICdBbGxvd3MgeW91IHRvIHN0b3JlIG51bWVyaWMgZGF0YSB3aXRoIGRlY2ltYWwgcGxhY2VzJyxcbiAgICAgICAgICAgIHN0cmluZzpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgbm90IGluZGV4ZWQ6IGl0IGlzIHBvc3NpYmxlIHRvIHNlYXJjaCBvbiBpdCBidXQgbm8gYWdncmVnYXRpb24nLFxuICAgICAgICAgICAga2V5d29yZDpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgaW5kZXhlZDogaXQgaXMgcG9zc2libGUgdG8gc2VhcmNoIG9uIGl0IGFzIHdlbGwgYXMgYWdncmVnYXRpb25zLicsXG4gICAgICAgICAgICBpbnN0YW50OiAnQWxsb3dzIHlvdSB0byBzdG9yZSBhIGRhdGUnLFxuICAgICAgICAgICAgcmF3OiAnYWxsb3dzIHlvdSB0byBzdG9yZSBpbWFnZSBvciBmaWxlIHR5cGUgZGF0YScsXG4gICAgICAgICAgICBwb2ludDogJ0FsbG93cyB5b3UgdG8gc3RvcmUgZ2VvZ3JhcGhpYyBjb29yZGluYXRlcyBvZiBhbiBvYmplY3QgcmVwcmVzZW50ZWQgYnkgYSBwb2ludCAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBtdWx0aXBvaW50OlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCBjb21wb3NlZCBvZiBzZXZlcmFsIHVuY29ubmVjdGVkIHBvaW50cyAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBsaW5lOiAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBhcyBhIGxpbmUgKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgbXVsdGlsaW5lOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCB3aXRoIHNldmVyYWwgdW5jb25uZWN0ZWQgbGluZXMgKGxvbmdpdHVkZSBhbmQgbGF0aXR1ZGUgZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBwb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBhIHBvbHlnb24gKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgbXVsdGlwb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBzZXZlcmFsIHBvbHlnb25zIG5lc3RlZCBvciBub3QgKGdlby1qc29uIGZvcm1hdCknXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByYXdNZXRob2RzOiB7XG4gICAgICAgICAgaHR0cDogJ0Zyb20gZXh0ZXJuYWwgdXJsJyxcbiAgICAgICAgICB1cGxvYWQ6ICdVcGxvYWQgZnJvbSBteSBjb21wdXRlcidcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVzZXJJbmZvOiB7XG4gICAgICAgIGxpc3Q6ICdVc2VycycsXG4gICAgICAgIGluZm86ICdVc2VyIGluZm9ybWF0aW9uJyxcbiAgICAgICAgcHJvZmlsZTogJ1Byb2ZpbGUnLFxuICAgICAgICBhZGRNZXRhZGF0YTogJ0FkZCcsXG4gICAgICAgIGVkaXRNZXRhZGF0YTogJ0VkaXQgbWV0YWRhdGEnLFxuICAgICAgICBuYW1lOiAnR2l2ZW4gbmFtZScsXG4gICAgICAgIGZhbWlseU5hbWU6ICdGYW1pbHkgbmFtZScsXG4gICAgICAgIGVtYWlsOiAnRW1haWwgYWRyZXNzJyxcbiAgICAgICAgbWV0YWRhdGE6ICdNZXRhZGF0YScsXG4gICAgICAgIHJvbGVzOiAnIFJvbGVzJ1xuICAgICAgfSxcbiAgICAgIHJlbGF0aW9uVHlwZXM6IHtcbiAgICAgICAgbGlzdDogJ1JlbGF0aW9ucyB0eXBlcycsXG4gICAgICAgIGluZm86ICdSZWxhdGlvbiB0eXBlIGluZm9ybWF0aW9uJyxcbiAgICAgICAgYWRkOiAnQWRkIHJlbGF0aW9uIHR5cGUnLFxuICAgICAgICBlZGl0OiAnRWRpdCByZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICBuYlJlbGF0aW9uOiAnTnVtYmVyIG9mIHR5cGUgcmVsYXRpb24nLFxuICAgICAgICBuYkxpbms6ICdOdW1iZXIgb2YgbGlua3MgdGhhdCB1c2UgdGhpcyByZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgZGF0ZU1vZGlmaWNhdGlvbjogJ01vZGlmaWNhdGlvbiBkYXRlJyxcbiAgICAgICAgZGVsZXRhYmxlOiAnQ2FuIGJlIGRlbGV0ZWQnLFxuICAgICAgICBkZWxldGVNb2RhbE1lc3NhZ2U6ICdUaGlzIHJlbGF0aW9uIHR5cGUgY2FuIGJlIGRlbGV0ZWQgYmVjYXVzZSB1c2VkLidcbiAgICAgIH0sXG4gICAgICBsaW5rczoge1xuICAgICAgICBsaXN0OiAnTGlua3MgYmV0d2VlbiBhdHRyaWJ1dGVzJyxcbiAgICAgICAgYWRkOiAnQ3JlYXRlIGEgbGluayBiZXR3ZWVuIGF0dHJpYnV0ZXMnLFxuICAgICAgICBjbGFzc1NvdXJjZTogJ1NvdXJjZSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGF0dHJpYnV0ZVNvdXJjZTogJ1NvdXJjZSBhdHRyaWJ1dGUnLFxuICAgICAgICBjbGFzc0Rlc3RpbmF0aW9uOiAnRGVzdGluYXRpb24gYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBhdHRyaWJ1dGVEZXN0aW5hdGlvbjogJ0Rlc3RpbmF0aW9uIGF0dHJpYnV0ZScsXG4gICAgICAgIHJlbGF0aW9uVHlwZTogJ1JlbGF0aW9uIHR5cGUnLFxuICAgICAgICBzZWxlY3RSZWxhdGlvblR5cGU6ICdTZWxlY3QgcmVsYXRpb24gdHlwZSdcbiAgICAgIH0sXG4gICAgICBhc3NvY2lhdGlvbjoge1xuICAgICAgICBBQkFDOiAnQUJBQyBSdWxlJyxcbiAgICAgICAgTElOSzogJ1JlbGF0aW9uJyxcbiAgICAgICAgTkFNRURfUVVFUlk6ICdOYW1lZCBxdWVyeScsXG4gICAgICAgIFdJREdFVDogJ1dpZGdldCcsXG4gICAgICAgIERBVEFTRVQ6ICdEYXRhc2V0JyxcbiAgICAgICAgT0NMQVNTOiAnRGF0YSBtb2RlbCcsXG4gICAgICAgIERBU0hCT0FSRDogJ0Rhc2hib2FyZCcsXG4gICAgICAgIEZJRUxEOiAnRGF0YSB0eXBlJ1xuICAgICAgfSxcbiAgICAgIHN0b3JhZ2U6IHtcbiAgICAgICAgbGFiZWw6ICdCYXNlIGRlIHN0b2NrYWdlJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICBQT1NUR0lTOlxuICAgICAgICAgICAgJ1JlY29tbWVuZGVkIGZvciBzdG9yYWdlIG9mIGNvbXBsZXggZ2VvZ3JhcGhpY2FsIGRhdGEgb3IgZm9yIGNvb3JkaW5hdGUgc3lzdGVtcyBkaWZmZXJlbnQgZnJvbSBXR1MgODQuIFJlY29tbWVuZGVkIGZvciBzdG9yaW5nIGNsYXNzZXMgd2l0aCBsb3cgZXN0aW1hdGVkIGRhdGEgdm9sdW1lLicsXG4gICAgICAgICAgRUxBU1RJQzpcbiAgICAgICAgICAgICdSZWNvbW1lbmRlZCBpbiBjYXNlIG9mIGhpZ2ggZGF0YSB2b2x1bWUgZXhwZWN0ZWQgZm9yIHRoZSBjbGFzcy4gSWYgeW91IHdhbnQgdG8gc3RvcmUgZ2VvZ3JhcGhpY2FsIGRhdGEgaW4gdGhpcyBjbGFzcywgc2ltcGxlIGZvcm1zIGhhdmUgdG8gYmUgdXNlZCBhbmQgdGhlIHJlZmVyZW5jZSBjb29yZGluYXRlIHN5c3RlbSBtdXN0IGJlIFdHUyA4NC4gVGhpcyBzdG9yYWdlIHN5c3RlbSBpcyBob3Jpem9udGFsbHkgc2NhbGFibGUuJ1xuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgUE9TVEdJUzogJ1Bvc3RHSVMnLFxuICAgICAgICAgIEVMQVNUSUM6ICdFbGFzdGljU2VhcmNoJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2hhcmVkOiB7XG4gICAgICAgIG5vQ2F0ZWdvcmllczogJ05vIGNhdGVnb3JpZXMgYXZhaWxhYmxlJyxcbiAgICAgICAgY2F0ZWdvcnlNb2RhbDoge1xuICAgICAgICAgIGRhdGFzZXQ6IHtcbiAgICAgICAgICAgIHNlbGVjdDogJ1NlbGVjdCB0YWcnLFxuICAgICAgICAgICAgc2VhcmNoT3JDcmVhdGU6ICdTZWFyY2ggZm9yIGV4aXN0aW5nIHRhZyBPUiBjcmVhdGUgYSBuZXcgb25lJyxcbiAgICAgICAgICAgIG5hbWU6ICdUYWcnLFxuICAgICAgICAgICAgc2VsZWN0SXQ6ICdTZWxlY3QgdGFnJyxcbiAgICAgICAgICAgIGNyZWF0ZTogJ0NyZWF0ZSB0YWcnLFxuICAgICAgICAgICAgYWRkOiAnZG9lcyBub3QgZXhpc3QuIDxicj5Zb3UgY2FuIGNyZWF0ZSBpdCBoZXJlLiA8YnI+SXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIGFuZCBhZGRlZCB0byB0aGUgdGFnIGxpc3QuJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYXR0cmlidXRlOiB7XG4gICAgICAgICAgICBzZWxlY3Q6ICdTZWxlY3QgY2F0ZWdvcnknLFxuICAgICAgICAgICAgc2VhcmNoT3JDcmVhdGU6ICdTZWFyY2ggZm9yIGV4aXN0aW5nIGNhdGVnb3J5IE9SIGNyZWF0ZSBhIG5ldyBvbmUnLFxuICAgICAgICAgICAgbmFtZTogJ0NhdGVnb3J5JyxcbiAgICAgICAgICAgIHNlbGVjdEl0OiAnU2VsZWN0IGNhdGVnb3J5JyxcbiAgICAgICAgICAgIGNyZWF0ZTogJ0NyZWF0ZSBjYXRlZ29yeScsXG4gICAgICAgICAgICBhZGQ6ICdkb2VzIG5vdCBleGlzdC4gPGJyPllvdSBjYW4gY3JlYXRlIGl0IGhlcmUuIDxicj5JdCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQgYW5kIGFkZGVkIHRvIHRoZSBjYXRlZ29yeSBsaXN0LidcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHRvb2x0aXA6IHtcbiAgICAgIGRlZmF1bHQ6ICdEZWZhdWx0IHRvb2x0aXAnLFxuICAgICAgYXR0cmlidXRlOiAnQXR0cmlidXRlcyB0b29sdGlwJyxcbiAgICAgIGNsdXN0ZXI6ICdDbHVzdGVyIHRvb2x0aXAgKGdyYXBocyknLFxuICAgICAgbGluazogJ0xpbmsgdG9vbHRpcCAoZ3JhcGhzKScsXG4gICAgICBub25lOiAnTm8gdG9vbHRpcCdcbiAgICB9XG4gIH1cbn07XG4iXX0=
395
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vaTE4bi9lbi50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsZUFBZSxFQUFFLDRCQUE0QjtZQUM3QyxjQUFjLEVBQUUsYUFBYTtZQUM3QixXQUFXLEVBQUUsT0FBTztZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixZQUFZLEVBQUUsZUFBZTtZQUM3QixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsZUFBZTtZQUN2QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLFlBQVk7WUFDeEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxNQUFNLEVBQUUsMEJBQTBCO1lBQ2xDLFNBQVMsRUFBRSwyQ0FBMkM7WUFDdEQsU0FBUyxFQUFFLHVDQUF1QztZQUNsRCxZQUFZLEVBQUUsaURBQWlEO1lBQy9ELElBQUksRUFBRSxlQUFlO1lBQ3JCLFdBQVcsRUFBRSw0REFBNEQ7WUFDekUsZ0JBQWdCLEVBQUUsb0JBQW9CO1lBQ3RDLElBQUksRUFBRSxZQUFZO1lBQ2xCLEtBQUssRUFBRSxPQUFPO1lBQ2QsNkJBQTZCLEVBQzNCLHlHQUF5RztZQUMzRyxVQUFVLEVBQUU7Z0JB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QUksRUFBRSxZQUFZO1NBQ25CO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVuVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICBhZG1pbjoge1xuICAgICAgdGl0bGU6ICdBZG1pbmlzdHJhdGlvbicsXG4gICAgICB0aXRsZUluZGljYXRpb246ICdDbG9zZSBBZG1pbmlzdHJhdGlvbiBtZW51ICcsXG4gICAgICBpbmZvTW9kYWxUaXRsZTogJ0luZm9ybWF0aW9uJyxcbiAgICAgIGNsb3NlTW9kYWxlOiAnQ2xvc2UnLFxuICAgICAgZWRpdDogJ0VkaXQnLFxuICAgICAgcmVuYW1lOiAnUmVuYW1lJyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICBhZGQ6ICdOZXcnLFxuICAgICAgdmFsaWRhdGU6ICdWYWxpZGF0ZScsXG4gICAgICBhZGRDbGFzczogJ1ZhbGlkYXRlIGNyZWF0aW9uJyxcbiAgICAgIGFkZEF0dHJpYnV0ZTogJ0FkZCBhdHRyaWJ1dGUnLFxuICAgICAgY3JlYXRlOiAnQ3JlYXRlJyxcbiAgICAgIHVwbG9hZDogJ0FkZCBhIHBpY3R1cmUnLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAgIGJhY2s6ICdCYWNrJyxcbiAgICAgIG5leHQ6ICdOZXh0JyxcbiAgICAgIHByb3BlcnRpZXM6ICdQcm9wZXJ0aWVzJyxcbiAgICAgIGRldGFpbHM6ICdEZXRhaWxzJyxcbiAgICAgIGFjdGl2aXR5OiAnQWN0aXZpdHknLFxuICAgICAgcmVxdWlyZWQ6ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJyxcbiAgICAgIGV4aXN0czogJ1RoaXMgbmFtZSBhbHJlYWR5IGV4aXN0cycsXG4gICAgICBtaW5MZW5ndGg6ICdUaGUgbWluaW11bSBudW1iZXIgb2YgY2hhcmFjdGVyczoge3tsZW59fScsXG4gICAgICBtYXhMZW5ndGg6ICdOdW1iZXIgb2YgY2hhcmFjdGVycyBhbGxvd2VkOiB7e2xlbn19JyxcbiAgICAgIG5vV2hpdGVzcGFjZTogXCJUaGUgdmFsdWUgY2FuJ3Qgc3RhcnQgb3IgZW5kIHdpdGggYSBibGFuayBzcGFjZVwiLFxuICAgICAgcnVsZTogJ1J1bGUgbsKwe3tpZH19JyxcbiAgICAgIGRlZmF1bHRSdWxlOiAnRGVmYXVsdCBSdWxlIChhcHBsaWVzIG9ubHkgaWYgbm8gb3RoZXIgcnVsZXMgYXJlIHZlcmlmaWVkKScsXG4gICAgICBkaXNwbGF5TW9kZUltYWdlOiAnSW1hZ2UgZGlzcGxheSBtb2RlJyxcbiAgICAgIHNpemU6ICdJbWFnZSBzaXplJyxcbiAgICAgIHNoYXJlOiAnU2hhcmUnLFxuICAgICAgZGVsZXRlQXR0cmlidXRlQ29uZmlybU1lc3NhZ2U6XG4gICAgICAgICdUaGlzIGF0dHJpYnV0ZSB3aWxsIG5vIGxvbmdlciBiZSB2aXNpYmxlIGZvciB0aGUgYXNzb2NpYXRlZCBkYXRhLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXM/JyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgdW5rbm93bkZpZWxkOiAnVW5rbm93biBmaWVsZCcsXG4gICAgICAgIHVua25vd25DYXRlZ29yeTogJ1Vua25vd24gY2F0ZWdvcnknLFxuICAgICAgICBub0NhdGVnb3J5OiAnTm8gY2F0ZWdvcnknXG4gICAgICB9LFxuICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgRlVMTDogJ0Z1bGwgaWNvbicsXG4gICAgICAgIFRPUF9MRUZUOiAnVG9wIGxlZnQnLFxuICAgICAgICBUT1BfUklHSFQ6ICdUb3AgUmlnaHQnLFxuICAgICAgICBCT1RUT01fTEVGVDogJ0JvdHRvbSBsZWZ0JyxcbiAgICAgICAgQk9UVE9NX1JJR0hUOiAnQm90dG9tIHJpZ2h0J1xuICAgICAgfSxcbiAgICAgIGN1c3RvbWl6ZToge1xuICAgICAgICB0aXRsZTogJ0N1c3RvbWl6ZScsXG4gICAgICAgIHRlbXBsYXRlOiAnVG9vbHRpcCAoTWFwICYgUmVsYXRpb25zKScsXG4gICAgICAgIHVwZGF0ZTogJ1VwZGF0ZSB0b29sdGlwJyxcbiAgICAgICAgYWR2YW5jZWQ6ICdBZHZhbmNlZCBtb2RlJyxcbiAgICAgICAgbmFtZTogJ0J1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgdGVjaG5pY2FsSWQ6ICdUZWNobmljYWwgSWQnLFxuICAgICAgICB0eXBlOiAnQ2hvb3NlIHdoaWNoIGtpbmQgb2YgdG9vbHRpcCB0byB1c2UnLFxuICAgICAgICBzaW1wbGlmaWVkOiAnQ2hvb3NlIHdoaWNoIGF0dHJpYnV0ZXMgdG8gZGlzcGxheScsXG4gICAgICAgIGV4ZW1wbGU6ICd7e2V4cHJ9fSB2YWx1ZScsXG4gICAgICAgIHRhYmxlOiAnVGFibGUgZGVmYXVsdCBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdGlsZTogJ1RpbGUgZGVmYXVsdCBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdGlsZUhpbnQ6ICdPbmx5IGJldHdlZW4gMSBhbmQge3ttYXh9fSBhdHRyaWJ1dGVzIGNhbiBiZSBkaXNwbGF5ZWQgaW4gYSB0aWxlJyxcbiAgICAgICAgdGFibGVBdHRyczogJ0F0dHJpYnV0ZXMgaW4gYSB0YWJsZSBieSBkZWZhdWx0JyxcbiAgICAgICAgdGlsZUF0dHJzOiAnQXR0cmlidXRlcyBkaXNwbGF5ZWQgaW4gYSB0aWxlJyxcbiAgICAgICAgbm9UYWJsZUF0dHJzOiAnT3RoZXIgYXR0cmlidXRlcycsXG4gICAgICAgIG5vVGlsZUF0dHJzOiAnQXR0cmlidXRlcyBub3QgZGlzcGxheWVkJyxcbiAgICAgICAgdXBkYXRlVGFibGU6ICdVcGRhdGUgZGVmYXVsdCB0YWJsZSBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdXBkYXRlVGlsZTogJ1VwZGF0ZSB0aWxlIGF0dHJpYnV0ZXMnLFxuICAgICAgICB1cGRhdGVJY29uczogJ1VwZGF0ZSBzeW1ib2xzIHJ1bGVzJ1xuICAgICAgfSxcbiAgICAgIHZhclR5cGU6IHtcbiAgICAgICAgaW50OiAnSW50ZWdlcicsXG4gICAgICAgIGRvdWJsZTogJ0RvdWJsZScsXG4gICAgICAgIHN0cmluZzogJ1RleHQnLFxuICAgICAgICB1dWlkOiAnVXVpZCcsXG4gICAgICAgIGRhdGU6ICdEYXRlJyxcbiAgICAgICAgbGlzdDogJ1ZhbHVlIGxpc3QnXG4gICAgICB9LFxuICAgICAgbWVudXM6IHtcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdFeGVjdXRpb24gY29udGV4dHMnLFxuICAgICAgICB1c2VyOiAnVXNlcnMnLFxuICAgICAgICAnbWV0YWRhdGEtdXNlcic6ICdVc2VyIHByb2ZpbGUnLFxuICAgICAgICAnYWJhYy1ydWxlcyc6ICdBQkFDIFJ1bGVzJyxcbiAgICAgICAgJ21ldGFkYXRhLXJ1bGVzJzogJ1J1bGVzIG1ldGFkYXRhJyxcbiAgICAgICAgZGF0YXNldDogJ0RhdGFzZXRzJyxcbiAgICAgICAgY2xhc3NlczogJ0NsYXNzZXMnLFxuICAgICAgICBwcmVkaWNhdGVzOiAnUHJlZGljYXRlcycsXG4gICAgICAgIG1ldGFkYXRhOiAnTWV0YWRhdGEnLFxuICAgICAgICBmaWVsZHM6ICdGaWVsZHMnLFxuICAgICAgICAncmVsYXRpb24tdHlwZXMnOiAnUmVsYXRpb24gdHlwZXMnLFxuICAgICAgICBsaW5rczogJ0xpbmtzIGJldHdlZW4gYXR0cmlidXRlcycsXG4gICAgICAgIG1vZGVsOiAnRGF0YSBtb2RlbCcsXG4gICAgICAgIGFjY2VzczogJ0RhdGEgYWNjZXNzJ1xuICAgICAgfSxcbiAgICAgIHByZWRpY2F0ZXM6IHtcbiAgICAgICAgbGlzdDogJ1ByZWRpY2F0ZXMnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IHByZWRpY2F0ZScsXG4gICAgICAgIGVkaXQ6ICdFZGl0IHVuIHByZWRpY2F0ZScsXG4gICAgICAgIGluZm86IFwiUHJlZGljYXRlJ3MgaW5mb3JtYXRpb25cIixcbiAgICAgICAgbnVtOiAnSWQuJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICB2YWx1ZTogJ1RyaWdnZXIgY29uZGl0aW9uYWwgZXhwcmVzc2lvbicsXG4gICAgICAgIHZhbGlkRWRpdDogJ1ZhbGlkYXRpb24gbW9kaWZpY2F0aW9uJyxcbiAgICAgICAgdmFsaWRFZGl0TWVzc2FnZTogJ1RoaXMgcHJlZGljYXRlcyBpcyB1c2VkIGluIHt7dXNlZH19IHJ1bGVzLiBSZWFsbHkgdXBkYXRlIHByZWRpY2F0ZSA/J1xuICAgICAgfSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHRpdGxlOiAnTWV0YWRhdGEnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IG1ldGFkYXRhJyxcbiAgICAgICAgZWRpdDogJ01vZGlmeSBtZXRhZGF0YScsXG4gICAgICAgIGRldGFpbHM6ICdNZXRhZGF0YSBkZXRhaWxzJyxcbiAgICAgICAgZGV0YWlsc1VzZXI6ICdVc2VyIHByb2ZpbGUgZGV0YWlsJyxcbiAgICAgICAgaWQ6ICdJRCcsXG4gICAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGludmFsaWQ6ICdGaWVsZCBpcyByZXF1aXJlZCcsXG4gICAgICAgIGxpc3RMYWJlbDogJ1ZhbHVlIG5hbWUnLFxuICAgICAgICBhZGRWYWx1ZTogJ0FkZCBuZXcgdmFsdWUnLFxuICAgICAgICByZW1vdmVWYWx1ZTogJ1JlbW92ZSB2YWx1ZScsXG4gICAgICAgIHN5c3RlbTogJ1N5c3RlbSBtZXRhZGF0YSdcbiAgICAgIH0sXG4gICAgICAnbWV0YWRhdGEtcnVsZXMnOiB7XG4gICAgICAgIHRpdGxlOiAnTWV0YWRhdGEgUnVsZXMnLFxuICAgICAgICBsYWJlbDogJ05hbWUnLFxuICAgICAgICAnaXMtc2FtZS1uYW1lJzogJ1RoZSBuYW1lIG9mIHRoZSBydWxlIGlzIGFscmVhZHkgdGFrZW4gZm9yIGFub3RoZXIgcnVsZSwgcGxlYXNlIHVzZSBhbm90aGVyIG9uZScsXG4gICAgICAgICdpcy1zYW1lLXJ1bGVzJzogJ1RoZSBzYW1lIHJ1bGUgaGFzIGFscmVhZHkgYmVlbiBjb25maWd1cmVkIGFuZCBzYXZlZCwgeW91IGNhbiB1c2UgaXQnLFxuICAgICAgICAnbWV0YWRhdGEtaXRlbSc6IHtcbiAgICAgICAgICBuYW1lOiAnVGFyZ2V0IG1ldGFkYXRhJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RhcmdldCBtZXRhZGF0YSBkZXNjcmlwdGlvbicsXG4gICAgICAgICAgdHlwZTogJ01ldGFkYXRhIHR5cGUgdGFyZ2V0J1xuICAgICAgICB9LFxuICAgICAgICAnbWV0YWRhdGEtdXNlcic6IHtcbiAgICAgICAgICBuYW1lOiAnU291cmNlIHVzZXIgcHJvZmlsZScsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbiBvZiBzb3VyY2UgdXNlciBwcm9maWxlJyxcbiAgICAgICAgICB0eXBlOiAnVHlwZSBvZiBzb3VyY2UgdXNlciBwcm9maWxlJ1xuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgdGl0bGU6ICdNb2RpZnkgbWV0YWRhdGEgcnVsZSdcbiAgICAgICAgfSxcbiAgICAgICAgYWRkOiB7XG4gICAgICAgICAgdGl0bGU6ICdDcmVhdGUgbmV3IG1ldGFkYXRhIHJ1bGUnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkYXRhc2V0OiB7XG4gICAgICAgIGRlbGV0ZTpcbiAgICAgICAgICAnQWxsIHZlcnNpb25zIGFuZCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBkZWxldGVkLiBSZXN0aXR1dGlvbnMgYW5kIHByZXNlbnRhdGlvbnMgdXNpbmcgdGhpcyBkYXRhc2V0IHdpbGwgbm8gbG9uZ2VyIGRpc3BsYXkgdGhlIGNvcnJlc3BvbmRpbmcgZGF0YS4gRG8geW91IGNvbmZpcm0gdGhlIGRlbGV0aW9uPycsXG4gICAgICAgIHRpdGxlOiAnRGF0YXNldCcsXG4gICAgICAgIGRhdGFzZXREZXRhaWxzOiAnRGF0YXNldCBkZXRhaWxzJyxcbiAgICAgICAgZGV0YWlsczogJ0RldGFpbHMnLFxuICAgICAgICBpZDogJ0lkJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICBvQ2xhc3M6ICdCdXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgJ2lzLXNhbWUtbmFtZSc6ICdUaGUgbmFtZSBvZiB0aGUgZGF0YXNldCBpcyBhbHJlYWR5IHRha2VuLCBwbGVhc2UgdXNlIGFub3RoZXIgb25lJyxcbiAgICAgICAgYWRkOiB7XG4gICAgICAgICAgdGl0bGU6ICdDcmVhdGUgYSBuZXcgZGF0YXNldCdcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIHRpdGxlOiAnVXBkYXRlIGRhdGFzZXQnXG4gICAgICAgIH0sXG4gICAgICAgIE9QRU46ICdPcGVuJyxcbiAgICAgICAgQ0xPU0VEOiAnQ2xvc2VkJyxcbiAgICAgICAgTU9ESUZJQUJMRTogJ01vZGlmaWFibGUnLFxuICAgICAgICBjb25mbGljdDogJ0NhcmVmdWwsIHRoZSBmb2xsb3dpbmcgZGFzaGJvYXJkcyBhcmUgc2hhcmVkIHRvIGdyb3VwcyB3aGljaCBjYW4gbm8gbG9uZ2VyIGFjY2VzcyB0aGlzIGRhdGFzb3VyY2U6JyxcbiAgICAgICAgZW50aXRpZXM6IHtcbiAgICAgICAgICBkYXNoYm9hcmQ6ICdEYXNoYm9hcmQnXG4gICAgICAgIH0sXG4gICAgICAgIGFkZFRhZzogJ0FkZCBhIG5ldyB0YWcnXG4gICAgICB9LFxuICAgICAgJ2FiYWMtcnVsZXMnOiB7XG4gICAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICAgIG1ldGFkYXRhVXNlcjogJ1VzZXJzIHByb2ZpbGUnLFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGxpc3Q6ICdBYmFjIFJ1bGVzJyxcbiAgICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IGFiYWMgcnVsZScsXG4gICAgICAgICAgdmlldzogXCJBYmFjIHJ1bGUncyBpbmZvcm1hdGlvblwiLFxuICAgICAgICAgIGVkaXQ6ICdBYmFjIHJ1bGUgZWRpdGlvbidcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybToge1xuICAgICAgICAgIGlkOiAnSUQnLFxuICAgICAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICBzdGF0dXM6ICdTdGF0dXMnLFxuICAgICAgICAgIHN0YXR1c0FjdGl2ZTogJ0FjdGl2ZScsXG4gICAgICAgICAgc3RhdHVzSW5hY3RpdmU6ICdJbmFjdGl2ZScsXG4gICAgICAgICAgcHJlZGljYXRlOiAnUHJlZGljYXRlJyxcbiAgICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgICAgdHlwZU1ldGFkYXRhOiAnTWV0YWRhdGEnLFxuICAgICAgICAgIHR5cGVBdHRyaWJ1dGU6ICdBdHRyaWJ1dGUnLFxuICAgICAgICAgIHR5cGVTZWxlY3RlZDogXCJZb3UgY2FuJ3QgY2hhbmdlIHR5cGUgd2l0aCBjdXJyZW50IGNvbmRpdGlvbnNcIixcbiAgICAgICAgICBhZGRNZXRhZGF0YTogJ0FkZCBtZXRhZGF0YSBjb25kaXRpb24nLFxuICAgICAgICAgIGFkZEF0dHJpYnV0ZTogJ0FkZCBhdHRyaWJ1dGUgY29uZGl0aW9uJyxcbiAgICAgICAgICBhZGRHcm91cDogJ0FkZCBncm91cCBjb25kaXRpb24nLFxuICAgICAgICAgIGNhbmNlbDogJ0NBTkNFTCcsXG4gICAgICAgICAgdmFsaWRhdGU6ICdWQUxJREFURSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVzZXI6IHtcbiAgICAgICAgdGl0bGU6ICdVc2VyIHByb2ZpbGUnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IHVzZXIgcHJvZmlsZScsXG4gICAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgaW52YWxpZDogJ0ZpZWxkIGlzIHJlcXVpcmVkJyxcbiAgICAgICAgZWRpdDogJ0VkaXQgdXNlciBwcm9maWxlJ1xuICAgICAgfSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIGxpc3Q6ICdFeGVjdXRpb24gY29udGV4dHMnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IGV4ZWN1dGlvbiBjb250ZXh0JyxcbiAgICAgICAgZWRpdDogJ0VkaXQgZXhlY3V0aW9uIGNvbnRleHQnLFxuICAgICAgICBpbmZvOiBcIkV4ZWN1dGlvbiBjb250ZXh0J3MgaW5mb3JtYXRpb25cIixcbiAgICAgICAgZm9ybWF0SW50OiAnVmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyJyxcbiAgICAgICAgZm9ybWF0RG91YmxlOiBcIlZhbHVlIG11c3QgYmUgYW4gaW50ZWdlciwgc2VwYXJhdG9yIG11c3QgYmUgJy4nXCIsXG4gICAgICAgIGZvcm1hdE5hbWU6ICdUaGUgb25seSBzcGVjaWFsIGNoYXJhY3RlcnMgYWxsb3dlZCBhcmU6IFsgLSBfIF0gJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIHZhbHVlOiAnVmFyaWFibGUgdmFsdWUnXG4gICAgICB9LFxuICAgICAgY2xhc3Nlczoge1xuICAgICAgICBsaXN0OiAnQ2xhc3NlcycsXG4gICAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgICAgdGl0bGU6ICdDbGFzc2Uge3tidXNpbmVzcyBtb2RlbH19JyxcbiAgICAgICAgaW1hZ2U6ICdJbWFnZScsXG4gICAgICAgIGZvcm1hdE5hbWU6ICdUaGUgb25seSBjaGFyYWN0ZXJzIGFsbG93ZWQgYXJlOiBbIGxvd2VyY2FzZSwgLSBfIF0gJyxcbiAgICAgICAgbW9kZWw6ICdNb2RlbCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICBsaW5lczogJ0xpbmVzJyxcbiAgICAgICAgYWRkOiAnQ3JlYXRlIG5ldyBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGVkaXQ6ICdNb2RpZnkgYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICByZW5hbWU6ICdSZW5hbWUgYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBhZGRBdHRyOiAnQXR0cmlidXRlJyxcbiAgICAgICAgaW5mb0F0dHI6ICd7e2J1c2luZXNzIG1vZGVsfX0gYnVzaW5lc3MgbW9kZWwgPiBBdHRyaWJ1dGVzJyxcbiAgICAgICAgaW5mbzogJ2J1c2luZXNzIG1vZGVsIGluZm9ybWF0aW9uJyxcbiAgICAgICAgcnVsZXM6ICdTeW1ib2wgZGVmaW5pdGlvbiBydWxlcycsXG4gICAgICAgIGNvbmRpdGlvbjogJ1VzZWQgaWYgY29uZGl0aW9uIHZlcmlmaWVkJyxcbiAgICAgICAgYXR0ck5hbWU6ICdBdHRyaWJ1dGUgdG8gY2hlY2snLFxuICAgICAgICB2YWx1ZTogJ0NvbXBhcmlzb24gdmFsdWUnLFxuICAgICAgICBvcGVyYXRpb246ICdDb21wYXJpc29uIG9wZXJhdGlvbicsXG4gICAgICAgIG9wZXJhdGlvbnM6IHtcbiAgICAgICAgICBFUVVBTFM6ICdpcyBlcXVhbCcsXG4gICAgICAgICAgR1JFQVRFUjogJ2lzIGdyZWF0ZXInLFxuICAgICAgICAgIEdSRUFURVJfT1JfRVFVQUw6ICdpcyBncmVhdGVyIG9yIGVxdWFsJyxcbiAgICAgICAgICBMT1dFUjogJ2lzIGxvd2VyJyxcbiAgICAgICAgICBMT1dFUl9PUl9FUVVBTDogJ2lzIGxvd2VyIG9yIGVxdWFsJyxcbiAgICAgICAgICBDT05UQUlOUzogJ2NvbnRhaW5zIGFzIHRleHQnXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZUNsYXNzTW9kYWxNZXNzYWdlOlxuICAgICAgICAgICdDcmVhdGluZyBhIGJ1c2luZXNzIG1vZGVsIHdpdGhvdXQgYXR0cmlidXRlcyBpcyBpbXBvc3NpYmxlLiBBZGQgYW4gYXR0cmlidXRlIGJlZm9yZSBjcmVhdGluZyB0aGUgYnVzaW5lc3MgbW9kZWwsIHdpdGggXCJBZGQgYXR0cmlidXRlXCIgYnV0dG9uLicsXG4gICAgICAgIGNyZWF0ZUNsYXNzQ29uZmlybU1lc3NhZ2U6ICdDb25maXJtIGJ1c2luZXNzIG1vZGVsIGNyZWF0aW9uJyxcbiAgICAgICAgZGVsZXRlQ2xhc3NDb25maXJtTWVzc2FnZTogJ0NvbmZpcm0gZGVsZXRpbmcgdGhlIHNlbGVjdGVkIGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgbGlua2VkT2JqZWN0czogJ0xpbmtlZCBvYmplY3RzJyxcbiAgICAgICAgdXNlZEVsc2V3aGVyZTogXCJVc2VkIGJ5IG90aGVyIHVzZXJzJyBvYmplY3RzXCIsXG4gICAgICAgIGFzc29jaWF0aW9uczogJ0Fzc29jaWF0aW9ucycsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGFkZDogJ2J1c2luZXNzIG1vZGVsIEFkZCBhdHRyaWJ1dGUnLFxuICAgICAgICAgIGVkaXQ6ICdFZGl0IGF0dHJpYnV0ZScsXG4gICAgICAgICAgbmFtZTogJ0F0dHJpYnV0ZSBsYWJlbCcsXG4gICAgICAgICAgdGVjaG5pY2FsTmFtZTogJ1RlY2huaWNhbCBuYW1lJyxcbiAgICAgICAgICBpbmZvOiAnQXR0cmlidXRlIGluZm9ybWF0aW9uJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICBmaWVsZDogJ0ZpZWxkJyxcbiAgICAgICAgICBkZmllbGQ6ICdGaWVsZCcsXG4gICAgICAgICAgY2F0ZWdvcnk6ICdDYXRlZ29yeScsXG4gICAgICAgICAgbXVsdGlWYWx1ZWQ6ICdNdWx0aSB2YWx1ZWQnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IHtcbiAgICAgICAgYWRkOiAnQWRkIG5ldyBmaWVsZCcsXG4gICAgICAgIGluZm86ICdGaWVsZCBpbmZvcm1hdGlvbicsXG4gICAgICAgIGxpc3Q6ICdGaWVsZHMnLFxuICAgICAgICBlZGl0OiAnRWRpdCBmaWVsZCcsXG4gICAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdkZXNjcmlwdGlvbicsXG4gICAgICAgIHR5cGU6ICdUZWNobmljYWwgdHlwZScsXG4gICAgICAgIGF0dHJpYnV0ZXM6ICdBdHRyaWJ1dGUgcHJlc2VuY2UnLFxuICAgICAgICBhdHRyaWJ1dGVzVGFiOiAnQXR0cmlidXRlcycsXG4gICAgICAgIGF0dHJpYnV0ZU5hbWU6ICdBdHRyaWJ1dGUgbmFtZScsXG4gICAgICAgIGNsYXNzTmFtZTogJ0NsYXNzJyxcbiAgICAgICAgY29uZmlybUZpZWxkRGVsZXRpb246ICdDb25maXJtIGRlbGV0aW5nIHRoZSBzZWxlY3RlZCBmaWVsZCcsXG4gICAgICAgIGZpZWxkVHlwZToge1xuICAgICAgICAgIGludDogJ0ludGVnZXInLFxuICAgICAgICAgIGxvbmc6ICdMb25nIG51bWJlcicsXG4gICAgICAgICAgZGVjaW1hbDogJ0RvdWJsZSBudW1iZXInLFxuICAgICAgICAgIHN0cmluZzogJ1RleHQnLFxuICAgICAgICAgIGtleXdvcmQ6ICdLZXl3b3JkJyxcbiAgICAgICAgICBpbnN0YW50OiAnZGF0ZScsXG4gICAgICAgICAgcmF3OiAnUmF3JyxcbiAgICAgICAgICBwb2ludDogJ1BvaW50JyxcbiAgICAgICAgICBtdWx0aXBvaW50OiAnTXVsdGktcG9pbnRzJyxcbiAgICAgICAgICBsaW5lOiAnTGluZScsXG4gICAgICAgICAgbXVsdGlsaW5lOiAnTXVsdGktbGluZXMnLFxuICAgICAgICAgIHBvbHlnb246ICdQb2x5Z29uJyxcbiAgICAgICAgICBtdWx0aXBvbHlnb246ICdNdWx0aS1wb2x5Z29ucycsXG4gICAgICAgICAgaW5mb3JtYXRpb246IHtcbiAgICAgICAgICAgIGludDogJ0FsbG93cyB5b3UgdG8gc3RvcmUgaW50ZWdlciBudW1lcmljIGRhdGEgbGVzcyB0aGFuIDJeMzInLFxuICAgICAgICAgICAgbG9uZzogJ0FsbG93cyB5b3UgdG8gc3RvcmUgaW50ZWdlciBudW1lcmljIGRhdGEgdGhhdCBjYW4gZXhjZWVkIDJeMzInLFxuICAgICAgICAgICAgZGVjaW1hbDogJ0FsbG93cyB5b3UgdG8gc3RvcmUgbnVtZXJpYyBkYXRhIHdpdGggZGVjaW1hbCBwbGFjZXMnLFxuICAgICAgICAgICAgc3RyaW5nOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBkYXRhIGluIGFscGhhbnVtZXJpYyBmb3JtYXQuIFRoaXMgZGF0YSBpcyBub3QgaW5kZXhlZDogaXQgaXMgcG9zc2libGUgdG8gc2VhcmNoIG9uIGl0IGJ1dCBubyBhZ2dyZWdhdGlvbicsXG4gICAgICAgICAgICBrZXl3b3JkOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBkYXRhIGluIGFscGhhbnVtZXJpYyBmb3JtYXQuIFRoaXMgZGF0YSBpcyBpbmRleGVkOiBpdCBpcyBwb3NzaWJsZSB0byBzZWFyY2ggb24gaXQgYXMgd2VsbCBhcyBhZ2dyZWdhdGlvbnMuJyxcbiAgICAgICAgICAgIGluc3RhbnQ6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGEgZGF0ZScsXG4gICAgICAgICAgICByYXc6ICdhbGxvd3MgeW91IHRvIHN0b3JlIGltYWdlIG9yIGZpbGUgdHlwZSBkYXRhJyxcbiAgICAgICAgICAgIHBvaW50OiAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBhIHBvaW50IChnZW8tanNvbiBmb3JtYXQpJyxcbiAgICAgICAgICAgIG11bHRpcG9pbnQ6XG4gICAgICAgICAgICAgICdBbGxvd3MgeW91IHRvIHN0b3JlIGdlb2dyYXBoaWMgY29vcmRpbmF0ZXMgb2YgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHNldmVyYWwgdW5jb25uZWN0ZWQgcG9pbnRzIChnZW8tanNvbiBmb3JtYXQpJyxcbiAgICAgICAgICAgIGxpbmU6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGdlb2dyYXBoaWMgY29vcmRpbmF0ZXMgb2YgYW4gb2JqZWN0IHJlcHJlc2VudGVkIGFzIGEgbGluZSAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBtdWx0aWxpbmU6XG4gICAgICAgICAgICAgICdBbGxvd3MgeW91IHRvIHN0b3JlIGdlb2dyYXBoaWMgY29vcmRpbmF0ZXMgb2YgYW4gb2JqZWN0IHJlcHJlc2VudGVkIHdpdGggc2V2ZXJhbCB1bmNvbm5lY3RlZCBsaW5lcyAobG9uZ2l0dWRlIGFuZCBsYXRpdHVkZSBnZW8tanNvbiBmb3JtYXQpJyxcbiAgICAgICAgICAgIHBvbHlnb246XG4gICAgICAgICAgICAgICdBbGxvd3MgeW91IHRvIHN0b3JlIGdlb2dyYXBoaWMgY29vcmRpbmF0ZXMgb2YgYW4gb2JqZWN0IHJlcHJlc2VudGVkIGJ5IGEgcG9seWdvbiAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBtdWx0aXBvbHlnb246XG4gICAgICAgICAgICAgICdBbGxvd3MgeW91IHRvIHN0b3JlIGdlb2dyYXBoaWMgY29vcmRpbmF0ZXMgb2YgYW4gb2JqZWN0IHJlcHJlc2VudGVkIGJ5IHNldmVyYWwgcG9seWdvbnMgbmVzdGVkIG9yIG5vdCAoZ2VvLWpzb24gZm9ybWF0KSdcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJhd01ldGhvZHM6IHtcbiAgICAgICAgICBodHRwOiAnRnJvbSBleHRlcm5hbCB1cmwnLFxuICAgICAgICAgIHVwbG9hZDogJ1VwbG9hZCBmcm9tIG15IGNvbXB1dGVyJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXNlckluZm86IHtcbiAgICAgICAgbGlzdDogJ1VzZXJzJyxcbiAgICAgICAgaW5mbzogJ1VzZXIgaW5mb3JtYXRpb24nLFxuICAgICAgICBwcm9maWxlOiAnUHJvZmlsZScsXG4gICAgICAgIGFkZE1ldGFkYXRhOiAnQWRkJyxcbiAgICAgICAgZWRpdE1ldGFkYXRhOiAnRWRpdCBtZXRhZGF0YScsXG4gICAgICAgIG5hbWU6ICdHaXZlbiBuYW1lJyxcbiAgICAgICAgZmFtaWx5TmFtZTogJ0ZhbWlseSBuYW1lJyxcbiAgICAgICAgZW1haWw6ICdFbWFpbCBhZHJlc3MnLFxuICAgICAgICBtZXRhZGF0YTogJ01ldGFkYXRhJyxcbiAgICAgICAgcm9sZXM6ICcgUm9sZXMnXG4gICAgICB9LFxuICAgICAgcmVsYXRpb25UeXBlczoge1xuICAgICAgICBsaXN0OiAnUmVsYXRpb25zIHR5cGVzJyxcbiAgICAgICAgaW5mbzogJ1JlbGF0aW9uIHR5cGUgaW5mb3JtYXRpb24nLFxuICAgICAgICBhZGQ6ICdBZGQgcmVsYXRpb24gdHlwZScsXG4gICAgICAgIGVkaXQ6ICdFZGl0IHJlbGF0aW9uIHR5cGUnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIG5iUmVsYXRpb246ICdOdW1iZXIgb2YgdHlwZSByZWxhdGlvbicsXG4gICAgICAgIG5iTGluazogJ051bWJlciBvZiBsaW5rcyB0aGF0IHVzZSB0aGlzIHJlbGF0aW9uIHR5cGUnLFxuICAgICAgICBkYXRlTW9kaWZpY2F0aW9uOiAnTW9kaWZpY2F0aW9uIGRhdGUnLFxuICAgICAgICBkZWxldGFibGU6ICdDYW4gYmUgZGVsZXRlZCcsXG4gICAgICAgIGRlbGV0ZU1vZGFsTWVzc2FnZTogJ1RoaXMgcmVsYXRpb24gdHlwZSBjYW4gYmUgZGVsZXRlZCBiZWNhdXNlIHVzZWQuJ1xuICAgICAgfSxcbiAgICAgIGxpbmtzOiB7XG4gICAgICAgIGxpc3Q6ICdMaW5rcyBiZXR3ZWVuIGF0dHJpYnV0ZXMnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgYSBsaW5rIGJldHdlZW4gYXR0cmlidXRlcycsXG4gICAgICAgIGNsYXNzU291cmNlOiAnU291cmNlIGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgYXR0cmlidXRlU291cmNlOiAnU291cmNlIGF0dHJpYnV0ZScsXG4gICAgICAgIGNsYXNzRGVzdGluYXRpb246ICdEZXN0aW5hdGlvbiBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGF0dHJpYnV0ZURlc3RpbmF0aW9uOiAnRGVzdGluYXRpb24gYXR0cmlidXRlJyxcbiAgICAgICAgcmVsYXRpb25UeXBlOiAnUmVsYXRpb24gdHlwZScsXG4gICAgICAgIHNlbGVjdFJlbGF0aW9uVHlwZTogJ1NlbGVjdCByZWxhdGlvbiB0eXBlJ1xuICAgICAgfSxcbiAgICAgIGFzc29jaWF0aW9uOiB7XG4gICAgICAgIEFCQUM6ICdBQkFDIFJ1bGUnLFxuICAgICAgICBMSU5LOiAnUmVsYXRpb24nLFxuICAgICAgICBOQU1FRF9RVUVSWTogJ05hbWVkIHF1ZXJ5JyxcbiAgICAgICAgV0lER0VUOiAnV2lkZ2V0JyxcbiAgICAgICAgREFUQVNFVDogJ0RhdGFzZXQnLFxuICAgICAgICBPQ0xBU1M6ICdEYXRhIG1vZGVsJyxcbiAgICAgICAgREFTSEJPQVJEOiAnRGFzaGJvYXJkJyxcbiAgICAgICAgRklFTEQ6ICdEYXRhIHR5cGUnXG4gICAgICB9LFxuICAgICAgc3RvcmFnZToge1xuICAgICAgICBsYWJlbDogJ0Jhc2UgZGUgc3RvY2thZ2UnLFxuICAgICAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgICAgIFBPU1RHSVM6XG4gICAgICAgICAgICAnUmVjb21tZW5kZWQgZm9yIHN0b3JhZ2Ugb2YgY29tcGxleCBnZW9ncmFwaGljYWwgZGF0YSBvciBmb3IgY29vcmRpbmF0ZSBzeXN0ZW1zIGRpZmZlcmVudCBmcm9tIFdHUyA4NC4gUmVjb21tZW5kZWQgZm9yIHN0b3JpbmcgY2xhc3NlcyB3aXRoIGxvdyBlc3RpbWF0ZWQgZGF0YSB2b2x1bWUuJyxcbiAgICAgICAgICBFTEFTVElDOlxuICAgICAgICAgICAgJ1JlY29tbWVuZGVkIGluIGNhc2Ugb2YgaGlnaCBkYXRhIHZvbHVtZSBleHBlY3RlZCBmb3IgdGhlIGNsYXNzLiBJZiB5b3Ugd2FudCB0byBzdG9yZSBnZW9ncmFwaGljYWwgZGF0YSBpbiB0aGlzIGNsYXNzLCBzaW1wbGUgZm9ybXMgaGF2ZSB0byBiZSB1c2VkIGFuZCB0aGUgcmVmZXJlbmNlIGNvb3JkaW5hdGUgc3lzdGVtIG11c3QgYmUgV0dTIDg0LiBUaGlzIHN0b3JhZ2Ugc3lzdGVtIGlzIGhvcml6b250YWxseSBzY2FsYWJsZS4nXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBQT1NUR0lTOiAnUG9zdEdJUycsXG4gICAgICAgICAgRUxBU1RJQzogJ0VsYXN0aWNTZWFyY2gnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzaGFyZWQ6IHtcbiAgICAgICAgbm9DYXRlZ29yaWVzOiAnTm8gY2F0ZWdvcmllcyBhdmFpbGFibGUnLFxuICAgICAgICBjYXRlZ29yeU1vZGFsOiB7XG4gICAgICAgICAgZGF0YXNldDoge1xuICAgICAgICAgICAgc2VsZWN0OiAnU2VsZWN0IHRhZycsXG4gICAgICAgICAgICBzZWFyY2hPckNyZWF0ZTogJ1NlYXJjaCBmb3IgZXhpc3RpbmcgdGFnIE9SIGNyZWF0ZSBhIG5ldyBvbmUnLFxuICAgICAgICAgICAgbmFtZTogJ1RhZycsXG4gICAgICAgICAgICBzZWxlY3RJdDogJ1NlbGVjdCB0YWcnLFxuICAgICAgICAgICAgY3JlYXRlOiAnQ3JlYXRlIHRhZycsXG4gICAgICAgICAgICBhZGQ6ICdkb2VzIG5vdCBleGlzdC4gPGJyPllvdSBjYW4gY3JlYXRlIGl0IGhlcmUuIDxicj5JdCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQgYW5kIGFkZGVkIHRvIHRoZSB0YWcgbGlzdC4nXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhdHRyaWJ1dGU6IHtcbiAgICAgICAgICAgIHNlbGVjdDogJ1NlbGVjdCBjYXRlZ29yeScsXG4gICAgICAgICAgICBzZWFyY2hPckNyZWF0ZTogJ1NlYXJjaCBmb3IgZXhpc3RpbmcgY2F0ZWdvcnkgT1IgY3JlYXRlIGEgbmV3IG9uZScsXG4gICAgICAgICAgICBuYW1lOiAnQ2F0ZWdvcnknLFxuICAgICAgICAgICAgc2VsZWN0SXQ6ICdTZWxlY3QgY2F0ZWdvcnknLFxuICAgICAgICAgICAgY3JlYXRlOiAnQ3JlYXRlIGNhdGVnb3J5JyxcbiAgICAgICAgICAgIGFkZDogJ2RvZXMgbm90IGV4aXN0LiA8YnI+WW91IGNhbiBjcmVhdGUgaXQgaGVyZS4gPGJyPkl0IHdpbGwgYmUgYXV0b21hdGljYWxseSBzZWxlY3RlZCBhbmQgYWRkZWQgdG8gdGhlIGNhdGVnb3J5IGxpc3QuJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgdG9vbHRpcDoge1xuICAgICAgZGVmYXVsdDogJ0RlZmF1bHQgdG9vbHRpcCcsXG4gICAgICBhdHRyaWJ1dGU6ICdBdHRyaWJ1dGVzIHRvb2x0aXAnLFxuICAgICAgY2x1c3RlcjogJ0NsdXN0ZXIgdG9vbHRpcCAoZ3JhcGhzKScsXG4gICAgICBsaW5rOiAnTGluayB0b29sdGlwIChncmFwaHMpJyxcbiAgICAgIG5vbmU6ICdObyB0b29sdGlwJ1xuICAgIH1cbiAgfVxufTtcbiJdfQ==