@provoly/dashboard 1.1.5 → 1.1.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 (60) hide show
  1. package/esm2022/lib/core/components/share/access-rights-share/access-rights-share.component.mjs +17 -6
  2. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +3 -2
  3. package/esm2022/lib/core/components/share/share.utils.mjs +10 -7
  4. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  5. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  6. package/esm2022/lib/core/model/filter.interface.mjs +1 -1
  7. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +1 -3
  8. package/esm2022/presentation/components/presentation.component.mjs +12 -12
  9. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +14 -11
  10. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +15 -11
  11. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +15 -13
  12. package/esm2022/toolbox/components/delete/delete.component.mjs +17 -18
  13. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +16 -11
  14. package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +14 -12
  15. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +12 -7
  16. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +19 -14
  17. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +15 -11
  18. package/esm2022/toolbox/components/named-query/named-query.component.mjs +3 -3
  19. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +14 -10
  20. package/esm2022/toolbox/components/save-view/save-view.component.mjs +14 -10
  21. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +14 -9
  22. package/esm2022/toolbox/components/share/share.component.mjs +30 -34
  23. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +14 -12
  24. package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +20 -6
  25. package/esm2022/toolbox/components/toolbox.component.mjs +1 -1
  26. package/esm2022/toolbox/toolbox.model.mjs +4 -4
  27. package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +54 -48
  28. package/fesm2022/provoly-dashboard-presentation.mjs +11 -11
  29. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  30. package/fesm2022/provoly-dashboard-toolbox.mjs +197 -139
  31. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  32. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +53 -47
  33. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  34. package/fesm2022/provoly-dashboard.mjs +94 -80
  35. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  36. package/lib/core/components/share/access-rights-share/access-rights-share.component.d.ts +7 -1
  37. package/lib/core/components/share/share.utils.d.ts +3 -0
  38. package/lib/core/i18n/en.translations.d.ts +1 -0
  39. package/lib/core/i18n/fr.translations.d.ts +1 -0
  40. package/lib/core/model/filter.interface.d.ts +1 -1
  41. package/lib/dashboard/store/dashboard.selectors.d.ts +0 -5
  42. package/package.json +18 -18
  43. package/presentation/components/presentation.component.d.ts +4 -5
  44. package/styles/components/_o-access-rights-share.scss +9 -1
  45. package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +2 -2
  46. package/toolbox/components/clear-view/clear-view.component.d.ts +3 -2
  47. package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +3 -5
  48. package/toolbox/components/delete/delete.component.d.ts +4 -13
  49. package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +3 -3
  50. package/toolbox/components/edit-mode-action/edit-mode-action.component.d.ts +3 -8
  51. package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +3 -2
  52. package/toolbox/components/filter-settings/filter-settings.component.d.ts +3 -3
  53. package/toolbox/components/launch-tab/launch-tab.component.d.ts +3 -2
  54. package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +3 -3
  55. package/toolbox/components/save-view/save-view.component.d.ts +3 -5
  56. package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +3 -3
  57. package/toolbox/components/share/share.component.d.ts +4 -8
  58. package/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.d.ts +3 -8
  59. package/toolbox/components/toolbox-action/toolbox-action.component.d.ts +6 -3
  60. package/widgets/widget-map/utils/cql-utils.class.d.ts +1 -0
@@ -3,7 +3,7 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { ConfigActions } from '../../../store/config/config.actions';
4
4
  import { ConfigSelectors } from '../../../store/config/config.selectors';
5
5
  import { SubscriptionnerDirective } from '../../../../dashboard/components/subscriptionner.directive';
6
- import { getAccessRightsArrayByGroup, getAccessRightsStringByGroup, getGroupLabel, getGroupLabelByName, READ_ACCESS, WRITE_ACCESS } from '../share.utils';
6
+ import { AUTHENTICATED_USERS_GROUP, getAccessRightsArrayByGroup, getAccessRightsStringByGroup, getGroupLabel, getGroupLabelByName, PUBLIC_GROUP, READ_ACCESS, SYSTEM_GROUPS, WRITE_ACCESS } from '../share.utils';
7
7
  import { BehaviorSubject, combineLatest, map } from 'rxjs';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@ngrx/store";
@@ -26,12 +26,14 @@ export class PryAccessRightsShareComponent extends SubscriptionnerDirective {
26
26
  this._onChange = (value) => { };
27
27
  this._onTouched = () => { };
28
28
  this._allowedGroups$ = new BehaviorSubject(undefined);
29
+ this.AVAILABLE_ACCESS_RIGHTS = [];
29
30
  this.accessRights = [];
30
31
  this.selectedGroups = [];
31
32
  this.selectedAccessRight = READ_ACCESS;
32
33
  this.assignedGroups$ = new BehaviorSubject([]);
33
- this.getGroupLabel = getGroupLabel;
34
34
  this.getGroupLabelByName = getGroupLabelByName;
35
+ this.PUBLIC_GROUP = PUBLIC_GROUP;
36
+ this.AUTHENTICATED_USERS_GROUP = AUTHENTICATED_USERS_GROUP;
35
37
  this.store.dispatch(ConfigActions.loadAccessGroups());
36
38
  this.groups$ = combineLatest([
37
39
  this.store.select(ConfigSelectors.accessGroups),
@@ -44,10 +46,11 @@ export class PryAccessRightsShareComponent extends SubscriptionnerDirective {
44
46
  ...group,
45
47
  label: getGroupLabel(group, this.i18n)
46
48
  }))));
47
- this.accessRights = [
49
+ this.AVAILABLE_ACCESS_RIGHTS = [
48
50
  { label: this.i18n.instant('@pry.share.read'), value: READ_ACCESS },
49
51
  { label: this.i18n.instant('@pry.share.write'), value: WRITE_ACCESS }
50
52
  ];
53
+ this.accessRights = this.AVAILABLE_ACCESS_RIGHTS;
51
54
  }
52
55
  writeValue(value) {
53
56
  if (value)
@@ -100,6 +103,14 @@ export class PryAccessRightsShareComponent extends SubscriptionnerDirective {
100
103
  emitAlreadyAssignedGroups() {
101
104
  this.assignedGroups$.next(Object.keys(this.value));
102
105
  }
106
+ filterAvailableAccessRights() {
107
+ if (this.selectedGroups && this.selectedGroups.length > 0 && this.selectedGroups.every((group) => SYSTEM_GROUPS.includes(group.name))) {
108
+ this.accessRights = this.AVAILABLE_ACCESS_RIGHTS.filter(access => access.value === READ_ACCESS);
109
+ }
110
+ else {
111
+ this.accessRights = this.AVAILABLE_ACCESS_RIGHTS;
112
+ }
113
+ }
103
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryAccessRightsShareComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
104
115
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryAccessRightsShareComponent, selector: "pry-access-rights-share", inputs: { manifestDescription: "manifestDescription", allowedGroups: "allowedGroups" }, providers: [
105
116
  {
@@ -107,7 +118,7 @@ export class PryAccessRightsShareComponent extends SubscriptionnerDirective {
107
118
  useExisting: forwardRef(() => PryAccessRightsShareComponent),
108
119
  multi: true
109
120
  }
110
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"o-access-rights-share\">\n <label for=\"share-group-select\" class=\"a-h4\">{{ '@pry.share.dashboardAccess' | i18n }}</label>\n <form class=\"u-display-flex\">\n <fieldset class=\"m-grouped-select u-display-flex\" name=\"add-access-rights\">\n <pry-select\n id=\"share-group-select\"\n class=\"o-access-rights-share__group-select\"\n name=\"share-group-select\"\n [(ngModel)]=\"selectedGroups\"\n [items]=\"groups$ | async\"\n bindLabel=\"label\"\n placeholder=\"{{ '@pry.share.placeholder' | i18n }}\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n ></pry-select>\n <pry-select\n id=\"share-access-rights-select\"\n class=\"o-access-rights-share__access-rights-select\"\n name=\"share-access-rights-select\"\n [(ngModel)]=\"selectedAccessRight\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </fieldset>\n <button role=\"button\" class=\"a-btn a-btn--primary\" (click)=\"addAccess()\" [disabled]=\"isAddingDisabled()\">\n {{ '@pry.action.add' | i18n }}\n </button>\n </form>\n <label for=\"share-access-rights-select\" class=\"a-label\">{{ '@pry.share.accessDescription' | i18n }}</label>\n <div class=\"o-access-rights-share__groups\">\n @if (manifestDescription?.owner) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <span class=\"o-access-rights-share__group-name a-h4\">{{ '@pry.share.me' | i18n }}</span>\n <span class=\"o-access-rights-share__owner\">{{ '@pry.share.owner' | i18n }}</span>\n </div>\n }\n @for (group of value | keyvalue; track group.key) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between\">\n <label class=\"o-access-rights-share__group-name a-h4\" for=\"modify-{{ group.key }}-access-rights-select\">{{\n getGroupLabelByName(group.key, i18n)\n }}</label>\n <div class=\"u-display-flex -align-center\">\n <pry-select\n id=\"modify-{{ group.key }}-access-rights-select\"\n class=\"o-access-rights-share__modify-access-rights\"\n name=\"modify-group-access-rights-select\"\n [(ngModel)]=\"group.value\"\n (ngModelChange)=\"modifyGroupAccess(group.key, group.value)\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n <button\n role=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.action.delete' | i18n\"\n (click)=\"removeGroupAccess(group.key)\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"15\" [width]=\"15\"></pry-icon>\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i7.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
121
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"o-access-rights-share\">\n <label for=\"share-group-select\" class=\"a-h4\">{{ '@pry.share.dashboardAccess' | i18n }}</label>\n <form class=\"u-display-flex\">\n <fieldset class=\"m-grouped-select u-display-flex\" name=\"add-access-rights\">\n <pry-select\n id=\"share-group-select\"\n class=\"o-access-rights-share__group-select\"\n name=\"share-group-select\"\n [(ngModel)]=\"selectedGroups\"\n (ngModelChange)=\"filterAvailableAccessRights()\"\n [items]=\"groups$ | async\"\n bindLabel=\"label\"\n placeholder=\"{{ ((groups$ | async)?.length === 0 ? '@pry.share.noGroups' : '@pry.share.placeholder') | i18n }}\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n ></pry-select>\n <pry-select\n id=\"share-access-rights-select\"\n class=\"o-access-rights-share__access-rights-select\"\n name=\"share-access-rights-select\"\n [(ngModel)]=\"selectedAccessRight\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </fieldset>\n <button role=\"button\" class=\"a-btn a-btn--primary\" (click)=\"addAccess()\" [disabled]=\"isAddingDisabled()\">\n {{ '@pry.action.add' | i18n }}\n </button>\n </form>\n <label for=\"share-access-rights-select\" class=\"a-label\">{{ '@pry.share.accessDescription' | i18n }}</label>\n <div class=\"o-access-rights-share__groups\">\n @if (manifestDescription?.owner) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <span class=\"o-access-rights-share__group-name a-h4\">{{ '@pry.share.me' | i18n }}</span>\n <span class=\"o-access-rights-share__owner\">{{ '@pry.share.owner' | i18n }}</span>\n </div>\n }\n @for (group of value | keyvalue; track group.key) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <label class=\"o-access-rights-share__group-name a-h4\" for=\"modify-{{ group.key }}-access-rights-select\">{{\n getGroupLabelByName(group.key, i18n)\n }}</label>\n <div class=\"u-display-flex -align-center\">\n @if (group.key === PUBLIC_GROUP || group.key === AUTHENTICATED_USERS_GROUP) {\n <span class=\"o-access-rights-share__access-rights\">{{ '@pry.share.read' | i18n }}</span>\n } @else {\n <pry-select\n id=\"modify-{{ group.key }}-access-rights-select\"\n class=\"o-access-rights-share__modify-access-rights\"\n name=\"modify-group-access-rights-select\"\n [(ngModel)]=\"group.value\"\n (ngModelChange)=\"modifyGroupAccess(group.key, group.value)\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n }\n <button\n role=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.action.delete' | i18n\"\n (click)=\"removeGroupAccess(group.key)\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"15\" [width]=\"15\"></pry-icon>\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i7.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
122
  }
112
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryAccessRightsShareComponent, decorators: [{
113
124
  type: Component,
@@ -117,11 +128,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
117
128
  useExisting: forwardRef(() => PryAccessRightsShareComponent),
118
129
  multi: true
119
130
  }
120
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-access-rights-share\">\n <label for=\"share-group-select\" class=\"a-h4\">{{ '@pry.share.dashboardAccess' | i18n }}</label>\n <form class=\"u-display-flex\">\n <fieldset class=\"m-grouped-select u-display-flex\" name=\"add-access-rights\">\n <pry-select\n id=\"share-group-select\"\n class=\"o-access-rights-share__group-select\"\n name=\"share-group-select\"\n [(ngModel)]=\"selectedGroups\"\n [items]=\"groups$ | async\"\n bindLabel=\"label\"\n placeholder=\"{{ '@pry.share.placeholder' | i18n }}\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n ></pry-select>\n <pry-select\n id=\"share-access-rights-select\"\n class=\"o-access-rights-share__access-rights-select\"\n name=\"share-access-rights-select\"\n [(ngModel)]=\"selectedAccessRight\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </fieldset>\n <button role=\"button\" class=\"a-btn a-btn--primary\" (click)=\"addAccess()\" [disabled]=\"isAddingDisabled()\">\n {{ '@pry.action.add' | i18n }}\n </button>\n </form>\n <label for=\"share-access-rights-select\" class=\"a-label\">{{ '@pry.share.accessDescription' | i18n }}</label>\n <div class=\"o-access-rights-share__groups\">\n @if (manifestDescription?.owner) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <span class=\"o-access-rights-share__group-name a-h4\">{{ '@pry.share.me' | i18n }}</span>\n <span class=\"o-access-rights-share__owner\">{{ '@pry.share.owner' | i18n }}</span>\n </div>\n }\n @for (group of value | keyvalue; track group.key) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between\">\n <label class=\"o-access-rights-share__group-name a-h4\" for=\"modify-{{ group.key }}-access-rights-select\">{{\n getGroupLabelByName(group.key, i18n)\n }}</label>\n <div class=\"u-display-flex -align-center\">\n <pry-select\n id=\"modify-{{ group.key }}-access-rights-select\"\n class=\"o-access-rights-share__modify-access-rights\"\n name=\"modify-group-access-rights-select\"\n [(ngModel)]=\"group.value\"\n (ngModelChange)=\"modifyGroupAccess(group.key, group.value)\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n <button\n role=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.action.delete' | i18n\"\n (click)=\"removeGroupAccess(group.key)\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"15\" [width]=\"15\"></pry-icon>\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n" }]
131
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-access-rights-share\">\n <label for=\"share-group-select\" class=\"a-h4\">{{ '@pry.share.dashboardAccess' | i18n }}</label>\n <form class=\"u-display-flex\">\n <fieldset class=\"m-grouped-select u-display-flex\" name=\"add-access-rights\">\n <pry-select\n id=\"share-group-select\"\n class=\"o-access-rights-share__group-select\"\n name=\"share-group-select\"\n [(ngModel)]=\"selectedGroups\"\n (ngModelChange)=\"filterAvailableAccessRights()\"\n [items]=\"groups$ | async\"\n bindLabel=\"label\"\n placeholder=\"{{ ((groups$ | async)?.length === 0 ? '@pry.share.noGroups' : '@pry.share.placeholder') | i18n }}\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n ></pry-select>\n <pry-select\n id=\"share-access-rights-select\"\n class=\"o-access-rights-share__access-rights-select\"\n name=\"share-access-rights-select\"\n [(ngModel)]=\"selectedAccessRight\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </fieldset>\n <button role=\"button\" class=\"a-btn a-btn--primary\" (click)=\"addAccess()\" [disabled]=\"isAddingDisabled()\">\n {{ '@pry.action.add' | i18n }}\n </button>\n </form>\n <label for=\"share-access-rights-select\" class=\"a-label\">{{ '@pry.share.accessDescription' | i18n }}</label>\n <div class=\"o-access-rights-share__groups\">\n @if (manifestDescription?.owner) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <span class=\"o-access-rights-share__group-name a-h4\">{{ '@pry.share.me' | i18n }}</span>\n <span class=\"o-access-rights-share__owner\">{{ '@pry.share.owner' | i18n }}</span>\n </div>\n }\n @for (group of value | keyvalue; track group.key) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <label class=\"o-access-rights-share__group-name a-h4\" for=\"modify-{{ group.key }}-access-rights-select\">{{\n getGroupLabelByName(group.key, i18n)\n }}</label>\n <div class=\"u-display-flex -align-center\">\n @if (group.key === PUBLIC_GROUP || group.key === AUTHENTICATED_USERS_GROUP) {\n <span class=\"o-access-rights-share__access-rights\">{{ '@pry.share.read' | i18n }}</span>\n } @else {\n <pry-select\n id=\"modify-{{ group.key }}-access-rights-select\"\n class=\"o-access-rights-share__modify-access-rights\"\n name=\"modify-group-access-rights-select\"\n [(ngModel)]=\"group.value\"\n (ngModelChange)=\"modifyGroupAccess(group.key, group.value)\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n }\n <button\n role=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.action.delete' | i18n\"\n (click)=\"removeGroupAccess(group.key)\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"15\" [width]=\"15\"></pry-icon>\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n" }]
121
132
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryI18nService }], propDecorators: { manifestDescription: [{
122
133
  type: Input,
123
134
  args: [{ required: true }]
124
135
  }], allowedGroups: [{
125
136
  type: Input
126
137
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLXJpZ2h0cy1zaGFyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2FjY2Vzcy1yaWdodHMtc2hhcmUvYWNjZXNzLXJpZ2h0cy1zaGFyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2FjY2Vzcy1yaWdodHMtc2hhcmUvYWNjZXNzLXJpZ2h0cy1zaGFyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFFdEcsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsYUFBYSxFQUFFLG1CQUFtQixFQUNsQyxXQUFXLEVBQ1gsWUFBWSxFQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFjdkUsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHdCQUF3QjtJQU96RSxJQUFhLGFBQWEsQ0FBQyxLQUFzQjtRQUMvQyxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsZUFBZSxDQUFD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LENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQseUJBQXlCO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0F4R1UsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsMElBVDdCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztnQkFDNUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzNCSCw0NEZBa0VBOzsyRkRwQ2EsNkJBQTZCO2tCQVp6QyxTQUFTOytCQUNFLHlCQUF5QixhQUV4Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07dUdBT3BCLG1CQUFtQjtzQkFBN0MsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRVosYUFBYTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ0FjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9jb25maWcvY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGFzaGJvYXJkL2NvbXBvbmVudHMvc3Vic2NyaXB0aW9ubmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJy4uL3NoYXJlLm1vZGVsJztcbmltcG9ydCB7XG4gIGdldEFjY2Vzc1JpZ2h0c0FycmF5QnlHcm91cCxcbiAgZ2V0QWNjZXNzUmlnaHRzU3RyaW5nQnlHcm91cCxcbiAgZ2V0R3JvdXBMYWJlbCwgZ2V0R3JvdXBMYWJlbEJ5TmFtZSxcbiAgUkVBRF9BQ0NFU1MsXG4gIFdSSVRFX0FDQ0VTU1xufSBmcm9tICcuLi9zaGFyZS51dGlscyc7XG5pbXBvcnQgeyBNYW5pZmVzdERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFjY2Vzcy1yaWdodHMtc2hhcmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjZXNzLXJpZ2h0cy1zaGFyZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5QWNjZXNzUmlnaHRzU2hhcmVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByeUFjY2Vzc1JpZ2h0c1NoYXJlQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICB2YWx1ZSA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0pID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtYW5pZmVzdERlc2NyaXB0aW9uPzogTWFuaWZlc3REZXNjcmlwdGlvbjtcbiAgX2FsbG93ZWRHcm91cHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgQElucHV0KCkgc2V0IGFsbG93ZWRHcm91cHModmFsdWU6IHN0cmluZ1tdIHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZSkgdGhpcy5fYWxsb3dlZEdyb3VwcyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBncm91cHMkOiBPYnNlcnZhYmxlPChHcm91cCAmIHsgbGFiZWw6IHN0cmluZyB9KVtdPjtcbiAgYWNjZXNzUmlnaHRzOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdID0gW107XG5cbiAgc2VsZWN0ZWRHcm91cHM/OiBHcm91cFtdID0gW107XG4gIHNlbGVjdGVkQWNjZXNzUmlnaHQ6IHN0cmluZyA9IFJFQURfQUNDRVNTO1xuXG4gIGFzc2lnbmVkR3JvdXBzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcm90ZWN0ZWQgaTE4bjogUHJ5STE4blNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMubG9hZEFjY2Vzc0dyb3VwcygpKTtcbiAgICB0aGlzLmdyb3VwcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5hY2Nlc3NHcm91cHMpLFxuICAgICAgdGhpcy5fYWxsb3dlZEdyb3VwcyQsXG4gICAgICB0aGlzLmFzc2lnbmVkR3JvdXBzJFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtncm91cHMsIGFsbG93ZWRHcm91cHMsIGFscmVhZHlBc3NpZ25lZF0pID0+XG4gICAgICAgIGdyb3Vwc1xuICAgICAgICAgIC5maWx0ZXIoKGdyb3VwKSA9PiAoYWxsb3dlZEdyb3VwcyA/IGFsbG93ZWRHcm91cHMuaW5jbHVkZXMoZ3JvdXAubmFtZSkgOiB0cnVlKSlcbiAgICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gIWFscmVhZHlBc3NpZ25lZC5pbmNsdWRlcyhncm91cC5uYW1lKSlcbiAgICAgICAgICAubWFwKChncm91cCkgPT4gKHtcbiAgICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgICAgbGFiZWw6IGdldEdyb3VwTGFiZWwoZ3JvdXAsIHRoaXMuaTE4bilcbiAgICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuYWNjZXNzUmlnaHRzID0gW1xuICAgICAgeyBsYWJlbDogdGhpcy5pMThuLmluc3RhbnQoJ0Bwcnkuc2hhcmUucmVhZCcpLCB2YWx1ZTogUkVBRF9BQ0NFU1MgfSxcbiAgICAgIHsgbGFiZWw6IHRoaXMuaTE4bi5pbnN0YW50KCdAcHJ5LnNoYXJlLndyaXRlJyksIHZhbHVlOiBXUklURV9BQ0NFU1MgfVxuICAgIF07XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHRoaXMudmFsdWUgPSBnZXRBY2Nlc3NSaWdodHNTdHJpbmdCeUdyb3VwKHZhbHVlKSA/PyAoe30gYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk7XG4gICAgdGhpcy5lbWl0QWxyZWFkeUFzc2lnbmVkR3JvdXBzKCk7XG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgb25DaGFuZ2UoKSB7XG4gICAgdGhpcy5fb25DaGFuZ2UoZ2V0QWNjZXNzUmlnaHRzQXJyYXlCeUdyb3VwKHRoaXMudmFsdWUpKTtcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIGFkZEFjY2VzcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEdyb3Vwcykge1xuICAgICAgdGhpcy5zZWxlY3RlZEdyb3Vwcy5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICAgIC4uLnRoaXMudmFsdWUsXG4gICAgICAgICAgW2dyb3VwLm5hbWVdOiB0aGlzLnNlbGVjdGVkQWNjZXNzUmlnaHRcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5lbWl0QWxyZWFkeUFzc2lnbmVkR3JvdXBzKCk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKCk7XG4gICAgfVxuICAgIHRoaXMucmVzZXRTZWxlY3Rpb24oKTtcbiAgfVxuXG4gIG1vZGlmeUdyb3VwQWNjZXNzKGdyb3VwOiBzdHJpbmcsIGFjY2Vzczogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIC4uLnRoaXMudmFsdWUsXG4gICAgICBbZ3JvdXBdOiBhY2Nlc3NcbiAgICB9O1xuICAgIHRoaXMuX29uQ2hhbmdlKGdldEFjY2Vzc1JpZ2h0c0FycmF5QnlHcm91cCh0aGlzLnZhbHVlKSk7XG4gIH1cblxuICByZW1vdmVHcm91cEFjY2Vzcyhncm91cDogc3RyaW5nKSB7XG4gICAgZGVsZXRlIHRoaXMudmFsdWVbZ3JvdXBdO1xuICAgIHRoaXMuX29uQ2hhbmdlKGdldEFjY2Vzc1JpZ2h0c0FycmF5QnlHcm91cCh0aGlzLnZhbHVlKSk7XG4gICAgdGhpcy5lbWl0QWxyZWFkeUFzc2lnbmVkR3JvdXBzKCk7XG4gIH1cblxuICByZXNldFNlbGVjdGlvbigpIHtcbiAgICB0aGlzLnNlbGVjdGVkQWNjZXNzUmlnaHQgPSAnUkVBRCc7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlzQWRkaW5nRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRHcm91cHM/Lmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIGVtaXRBbHJlYWR5QXNzaWduZWRHcm91cHMoKSB7XG4gICAgdGhpcy5hc3NpZ25lZEdyb3VwcyQubmV4dChPYmplY3Qua2V5cyh0aGlzLnZhbHVlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2V0R3JvdXBMYWJlbCA9IGdldEdyb3VwTGFiZWw7XG4gIHByb3RlY3RlZCByZWFkb25seSBnZXRHcm91cExhYmVsQnlOYW1lID0gZ2V0R3JvdXBMYWJlbEJ5TmFtZTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVcIj5cbiAgPGxhYmVsIGZvcj1cInNoYXJlLWdyb3VwLXNlbGVjdFwiIGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LnNoYXJlLmRhc2hib2FyZEFjY2VzcycgfCBpMThuIH19PC9sYWJlbD5cbiAgPGZvcm0gY2xhc3M9XCJ1LWRpc3BsYXktZmxleFwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cIm0tZ3JvdXBlZC1zZWxlY3QgdS1kaXNwbGF5LWZsZXhcIiBuYW1lPVwiYWRkLWFjY2Vzcy1yaWdodHNcIj5cbiAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgIGlkPVwic2hhcmUtZ3JvdXAtc2VsZWN0XCJcbiAgICAgICAgY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVfX2dyb3VwLXNlbGVjdFwiXG4gICAgICAgIG5hbWU9XCJzaGFyZS1ncm91cC1zZWxlY3RcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkR3JvdXBzXCJcbiAgICAgICAgW2l0ZW1zXT1cImdyb3VwcyQgfCBhc3luY1wiXG4gICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnQHByeS5zaGFyZS5wbGFjZWhvbGRlcicgfCBpMThuIH19XCJcbiAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgICAgICBbY2xvc2VPblNlbGVjdF09XCJmYWxzZVwiXG4gICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgaWQ9XCJzaGFyZS1hY2Nlc3MtcmlnaHRzLXNlbGVjdFwiXG4gICAgICAgIGNsYXNzPVwiby1hY2Nlc3MtcmlnaHRzLXNoYXJlX19hY2Nlc3MtcmlnaHRzLXNlbGVjdFwiXG4gICAgICAgIG5hbWU9XCJzaGFyZS1hY2Nlc3MtcmlnaHRzLXNlbGVjdFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRBY2Nlc3NSaWdodFwiXG4gICAgICAgIFtpdGVtc109XCJhY2Nlc3NSaWdodHNcIlxuICAgICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgPC9maWVsZHNldD5cbiAgICA8YnV0dG9uIHJvbGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgKGNsaWNrKT1cImFkZEFjY2VzcygpXCIgW2Rpc2FibGVkXT1cImlzQWRkaW5nRGlzYWJsZWQoKVwiPlxuICAgICAge3sgJ0BwcnkuYWN0aW9uLmFkZCcgfCBpMThuIH19XG4gICAgPC9idXR0b24+XG4gIDwvZm9ybT5cbiAgPGxhYmVsIGZvcj1cInNoYXJlLWFjY2Vzcy1yaWdodHMtc2VsZWN0XCIgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0Bwcnkuc2hhcmUuYWNjZXNzRGVzY3JpcHRpb24nIHwgaTE4biB9fTwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVfX2dyb3Vwc1wiPlxuICAgIEBpZiAobWFuaWZlc3REZXNjcmlwdGlvbj8ub3duZXIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVfX2dyb3VwIHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LXNwYWNlLWJldHdlZW4gLWFsaWduLWNlbnRlclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm8tYWNjZXNzLXJpZ2h0cy1zaGFyZV9fZ3JvdXAtbmFtZSBhLWg0XCI+e3sgJ0Bwcnkuc2hhcmUubWUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVfX293bmVyXCI+e3sgJ0Bwcnkuc2hhcmUub3duZXInIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAZm9yIChncm91cCBvZiB2YWx1ZSB8IGtleXZhbHVlOyB0cmFjayBncm91cC5rZXkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVfX2dyb3VwIHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LXNwYWNlLWJldHdlZW5cIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiby1hY2Nlc3MtcmlnaHRzLXNoYXJlX19ncm91cC1uYW1lIGEtaDRcIiBmb3I9XCJtb2RpZnkte3sgZ3JvdXAua2V5IH19LWFjY2Vzcy1yaWdodHMtc2VsZWN0XCI+e3tcbiAgICAgICAgICBnZXRHcm91cExhYmVsQnlOYW1lKGdyb3VwLmtleSwgaTE4bilcbiAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgICBpZD1cIm1vZGlmeS17eyBncm91cC5rZXkgfX0tYWNjZXNzLXJpZ2h0cy1zZWxlY3RcIlxuICAgICAgICAgICAgY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVfX21vZGlmeS1hY2Nlc3MtcmlnaHRzXCJcbiAgICAgICAgICAgIG5hbWU9XCJtb2RpZnktZ3JvdXAtYWNjZXNzLXJpZ2h0cy1zZWxlY3RcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJncm91cC52YWx1ZVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJtb2RpZnlHcm91cEFjY2Vzcyhncm91cC5rZXksIGdyb3VwLnZhbHVlKVwiXG4gICAgICAgICAgICBbaXRlbXNdPVwiYWNjZXNzUmlnaHRzXCJcbiAgICAgICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5IGEtdG9vbHRpcFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiJ0BwcnkuYWN0aW9uLmRlbGV0ZScgfCBpMThuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVHcm91cEFjY2Vzcyhncm91cC5rZXkpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIxNVwiIFt3aWR0aF09XCIxNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLXJpZ2h0cy1zaGFyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2FjY2Vzcy1yaWdodHMtc2hhcmUvYWNjZXNzLXJpZ2h0cy1zaGFyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2FjY2Vzcy1yaWdodHMtc2hhcmUvYWNjZXNzLXJpZ2h0cy1zaGFyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFFdEcsT0FBTyxFQUNMLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQ2hELFdBQVcsRUFBRSxhQUFhLEVBQzFCLFlBQVksRUFDYixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBY3ZFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx3QkFBd0I7SUFPekUsSUFBYSxhQUFhLENBQUMsS0FBc0I7UUFDL0Ms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LGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsOEJBQThCLENBQUM7NEJBQzVELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO3VHQU9wQixtQkFBbUI7c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVaLGFBQWE7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWdBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvY29uZmlnL2NvbmZpZy5hY3Rpb25zJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9jb21wb25lbnRzL3N1YnNjcmlwdGlvbm5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICcuLi9zaGFyZS5tb2RlbCc7XG5pbXBvcnQge1xuICBBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQLFxuICBnZXRBY2Nlc3NSaWdodHNBcnJheUJ5R3JvdXAsXG4gIGdldEFjY2Vzc1JpZ2h0c1N0cmluZ0J5R3JvdXAsXG4gIGdldEdyb3VwTGFiZWwsIGdldEdyb3VwTGFiZWxCeU5hbWUsIFBVQkxJQ19HUk9VUCxcbiAgUkVBRF9BQ0NFU1MsIFNZU1RFTV9HUk9VUFMsXG4gIFdSSVRFX0FDQ0VTU1xufSBmcm9tICcuLi9zaGFyZS51dGlscyc7XG5pbXBvcnQgeyBNYW5pZmVzdERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFjY2Vzcy1yaWdodHMtc2hhcmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjZXNzLXJpZ2h0cy1zaGFyZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5QWNjZXNzUmlnaHRzU2hhcmVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByeUFjY2Vzc1JpZ2h0c1NoYXJlQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICB2YWx1ZSA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0pID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtYW5pZmVzdERlc2NyaXB0aW9uPzogTWFuaWZlc3REZXNjcmlwdGlvbjtcbiAgX2FsbG93ZWRHcm91cHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgQElucHV0KCkgc2V0IGFsbG93ZWRHcm91cHModmFsdWU6IHN0cmluZ1tdIHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZSkgdGhpcy5fYWxsb3dlZEdyb3VwcyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBncm91cHMkOiBPYnNlcnZhYmxlPChHcm91cCAmIHsgbGFiZWw6IHN0cmluZyB9KVtdPjtcbiAgQVZBSUxBQkxFX0FDQ0VTU19SSUdIVFM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10gPSBbXTtcbiAgYWNjZXNzUmlnaHRzOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdID0gW107XG5cbiAgc2VsZWN0ZWRHcm91cHM/OiBHcm91cFtdID0gW107XG4gIHNlbGVjdGVkQWNjZXNzUmlnaHQ6IHN0cmluZyA9IFJFQURfQUNDRVNTO1xuXG4gIGFzc2lnbmVkR3JvdXBzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcm90ZWN0ZWQgaTE4bjogUHJ5STE4blNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMubG9hZEFjY2Vzc0dyb3VwcygpKTtcbiAgICB0aGlzLmdyb3VwcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5hY2Nlc3NHcm91cHMpLFxuICAgICAgdGhpcy5fYWxsb3dlZEdyb3VwcyQsXG4gICAgICB0aGlzLmFzc2lnbmVkR3JvdXBzJFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtncm91cHMsIGFsbG93ZWRHcm91cHMsIGFscmVhZHlBc3NpZ25lZF0pID0+XG4gICAgICAgIGdyb3Vwc1xuICAgICAgICAgIC5maWx0ZXIoKGdyb3VwKSA9PiAoYWxsb3dlZEdyb3VwcyA/IGFsbG93ZWRHcm91cHMuaW5jbHVkZXMoZ3JvdXAubmFtZSkgOiB0cnVlKSlcbiAgICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gIWFscmVhZHlBc3NpZ25lZC5pbmNsdWRlcyhncm91cC5uYW1lKSlcbiAgICAgICAgICAubWFwKChncm91cCkgPT4gKHtcbiAgICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgICAgbGFiZWw6IGdldEdyb3VwTGFiZWwoZ3JvdXAsIHRoaXMuaTE4bilcbiAgICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuQVZBSUxBQkxFX0FDQ0VTU19SSUdIVFMgPSBbXG4gICAgICB7IGxhYmVsOiB0aGlzLmkxOG4uaW5zdGFudCgnQHByeS5zaGFyZS5yZWFkJyksIHZhbHVlOiBSRUFEX0FDQ0VTUyB9LFxuICAgICAgeyBsYWJlbDogdGhpcy5pMThuLmluc3RhbnQoJ0Bwcnkuc2hhcmUud3JpdGUnKSwgdmFsdWU6IFdSSVRFX0FDQ0VTUyB9XG4gICAgXTtcbiAgICB0aGlzLmFjY2Vzc1JpZ2h0cyA9IHRoaXMuQVZBSUxBQkxFX0FDQ0VTU19SSUdIVFNcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkgdGhpcy52YWx1ZSA9IGdldEFjY2Vzc1JpZ2h0c1N0cmluZ0J5R3JvdXAodmFsdWUpID8/ICh7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTtcbiAgICB0aGlzLmVtaXRBbHJlYWR5QXNzaWduZWRHcm91cHMoKTtcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBvbkNoYW5nZSgpIHtcbiAgICB0aGlzLl9vbkNoYW5nZShnZXRBY2Nlc3NSaWdodHNBcnJheUJ5R3JvdXAodGhpcy52YWx1ZSkpO1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICB9XG5cbiAgYWRkQWNjZXNzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkR3JvdXBzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgLi4udGhpcy52YWx1ZSxcbiAgICAgICAgICBbZ3JvdXAubmFtZV06IHRoaXMuc2VsZWN0ZWRBY2Nlc3NSaWdodFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICB0aGlzLmVtaXRBbHJlYWR5QXNzaWduZWRHcm91cHMoKTtcbiAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICB9XG4gICAgdGhpcy5yZXNldFNlbGVjdGlvbigpO1xuICB9XG5cbiAgbW9kaWZ5R3JvdXBBY2Nlc3MoZ3JvdXA6IHN0cmluZywgYWNjZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgLi4udGhpcy52YWx1ZSxcbiAgICAgIFtncm91cF06IGFjY2Vzc1xuICAgIH07XG4gICAgdGhpcy5fb25DaGFuZ2UoZ2V0QWNjZXNzUmlnaHRzQXJyYXlCeUdyb3VwKHRoaXMudmFsdWUpKTtcbiAgfVxuXG4gIHJlbW92ZUdyb3VwQWNjZXNzKGdyb3VwOiBzdHJpbmcpIHtcbiAgICBkZWxldGUgdGhpcy52YWx1ZVtncm91cF07XG4gICAgdGhpcy5fb25DaGFuZ2UoZ2V0QWNjZXNzUmlnaHRzQXJyYXlCeUdyb3VwKHRoaXMudmFsdWUpKTtcbiAgICB0aGlzLmVtaXRBbHJlYWR5QXNzaWduZWRHcm91cHMoKTtcbiAgfVxuXG4gIHJlc2V0U2VsZWN0aW9uKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRBY2Nlc3NSaWdodCA9ICdSRUFEJztcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgaXNBZGRpbmdEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgZW1pdEFscmVhZHlBc3NpZ25lZEdyb3VwcygpIHtcbiAgICB0aGlzLmFzc2lnbmVkR3JvdXBzJC5uZXh0KE9iamVjdC5rZXlzKHRoaXMudmFsdWUpKTtcbiAgfVxuXG4gIGZpbHRlckF2YWlsYWJsZUFjY2Vzc1JpZ2h0cygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEdyb3VwcyAmJiB0aGlzLnNlbGVjdGVkR3JvdXBzLmxlbmd0aCA+IDAgJiYgdGhpcy5zZWxlY3RlZEdyb3Vwcy5ldmVyeSgoZ3JvdXApID0+IFNZU1RFTV9HUk9VUFMuaW5jbHVkZXMoZ3JvdXAubmFtZSkpKSB7XG4gICAgICB0aGlzLmFjY2Vzc1JpZ2h0cyA9IHRoaXMuQVZBSUxBQkxFX0FDQ0VTU19SSUdIVFMuZmlsdGVyKGFjY2VzcyA9PiBhY2Nlc3MudmFsdWUgPT09IFJFQURfQUNDRVNTKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjY2Vzc1JpZ2h0cyA9IHRoaXMuQVZBSUxBQkxFX0FDQ0VTU19SSUdIVFNcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2V0R3JvdXBMYWJlbEJ5TmFtZSA9IGdldEdyb3VwTGFiZWxCeU5hbWU7XG4gIHByb3RlY3RlZCByZWFkb25seSBQVUJMSUNfR1JPVVAgPSBQVUJMSUNfR1JPVVA7XG4gIHByb3RlY3RlZCByZWFkb25seSBBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQID0gQVVUSEVOVElDQVRFRF9VU0VSU19HUk9VUDtcbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVcIj5cbiAgPGxhYmVsIGZvcj1cInNoYXJlLWdyb3VwLXNlbGVjdFwiIGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LnNoYXJlLmRhc2hib2FyZEFjY2VzcycgfCBpMThuIH19PC9sYWJlbD5cbiAgPGZvcm0gY2xhc3M9XCJ1LWRpc3BsYXktZmxleFwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cIm0tZ3JvdXBlZC1zZWxlY3QgdS1kaXNwbGF5LWZsZXhcIiBuYW1lPVwiYWRkLWFjY2Vzcy1yaWdodHNcIj5cbiAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgIGlkPVwic2hhcmUtZ3JvdXAtc2VsZWN0XCJcbiAgICAgICAgY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVfX2dyb3VwLXNlbGVjdFwiXG4gICAgICAgIG5hbWU9XCJzaGFyZS1ncm91cC1zZWxlY3RcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkR3JvdXBzXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZmlsdGVyQXZhaWxhYmxlQWNjZXNzUmlnaHRzKClcIlxuICAgICAgICBbaXRlbXNdPVwiZ3JvdXBzJCB8IGFzeW5jXCJcbiAgICAgICAgYmluZExhYmVsPVwibGFiZWxcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICgoZ3JvdXBzJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwID8gJ0Bwcnkuc2hhcmUubm9Hcm91cHMnIDogJ0Bwcnkuc2hhcmUucGxhY2Vob2xkZXInKSB8IGkxOG4gfX1cIlxuICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICAgIFtjbG9zZU9uU2VsZWN0XT1cImZhbHNlXCJcbiAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBpZD1cInNoYXJlLWFjY2Vzcy1yaWdodHMtc2VsZWN0XCJcbiAgICAgICAgY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVfX2FjY2Vzcy1yaWdodHMtc2VsZWN0XCJcbiAgICAgICAgbmFtZT1cInNoYXJlLWFjY2Vzcy1yaWdodHMtc2VsZWN0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEFjY2Vzc1JpZ2h0XCJcbiAgICAgICAgW2l0ZW1zXT1cImFjY2Vzc1JpZ2h0c1wiXG4gICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgYmluZExhYmVsPVwibGFiZWxcIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICA8L2ZpZWxkc2V0PlxuICAgIDxidXR0b24gcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwiYWRkQWNjZXNzKClcIiBbZGlzYWJsZWRdPVwiaXNBZGRpbmdEaXNhYmxlZCgpXCI+XG4gICAgICB7eyAnQHByeS5hY3Rpb24uYWRkJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9mb3JtPlxuICA8bGFiZWwgZm9yPVwic2hhcmUtYWNjZXNzLXJpZ2h0cy1zZWxlY3RcIiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5zaGFyZS5hY2Nlc3NEZXNjcmlwdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cIm8tYWNjZXNzLXJpZ2h0cy1zaGFyZV9fZ3JvdXBzXCI+XG4gICAgQGlmIChtYW5pZmVzdERlc2NyaXB0aW9uPy5vd25lcikge1xuICAgICAgPGRpdiBjbGFzcz1cIm8tYWNjZXNzLXJpZ2h0cy1zaGFyZV9fZ3JvdXAgdS1kaXNwbGF5LWZsZXggLWp1c3RpZnktc3BhY2UtYmV0d2VlbiAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiby1hY2Nlc3MtcmlnaHRzLXNoYXJlX19ncm91cC1uYW1lIGEtaDRcIj57eyAnQHByeS5zaGFyZS5tZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm8tYWNjZXNzLXJpZ2h0cy1zaGFyZV9fb3duZXJcIj57eyAnQHByeS5zaGFyZS5vd25lcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBmb3IgKGdyb3VwIG9mIHZhbHVlIHwga2V5dmFsdWU7IHRyYWNrIGdyb3VwLmtleSkge1xuICAgICAgPGRpdiBjbGFzcz1cIm8tYWNjZXNzLXJpZ2h0cy1zaGFyZV9fZ3JvdXAgdS1kaXNwbGF5LWZsZXggLWp1c3RpZnktc3BhY2UtYmV0d2VlbiAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cIm8tYWNjZXNzLXJpZ2h0cy1zaGFyZV9fZ3JvdXAtbmFtZSBhLWg0XCIgZm9yPVwibW9kaWZ5LXt7IGdyb3VwLmtleSB9fS1hY2Nlc3MtcmlnaHRzLXNlbGVjdFwiPnt7XG4gICAgICAgICAgZ2V0R3JvdXBMYWJlbEJ5TmFtZShncm91cC5rZXksIGkxOG4pXG4gICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICBAaWYgKGdyb3VwLmtleSA9PT0gUFVCTElDX0dST1VQIHx8IGdyb3VwLmtleSA9PT0gQVVUSEVOVElDQVRFRF9VU0VSU19HUk9VUCkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvLWFjY2Vzcy1yaWdodHMtc2hhcmVfX2FjY2Vzcy1yaWdodHNcIj57eyAnQHByeS5zaGFyZS5yZWFkJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgICBpZD1cIm1vZGlmeS17eyBncm91cC5rZXkgfX0tYWNjZXNzLXJpZ2h0cy1zZWxlY3RcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm8tYWNjZXNzLXJpZ2h0cy1zaGFyZV9fbW9kaWZ5LWFjY2Vzcy1yaWdodHNcIlxuICAgICAgICAgICAgICBuYW1lPVwibW9kaWZ5LWdyb3VwLWFjY2Vzcy1yaWdodHMtc2VsZWN0XCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJncm91cC52YWx1ZVwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGlmeUdyb3VwQWNjZXNzKGdyb3VwLmtleSwgZ3JvdXAudmFsdWUpXCJcbiAgICAgICAgICAgICAgW2l0ZW1zXT1cImFjY2Vzc1JpZ2h0c1wiXG4gICAgICAgICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgYmluZExhYmVsPVwibGFiZWxcIlxuICAgICAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHkgYS10b29sdGlwXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5hY3Rpb24uZGVsZXRlJyB8IGkxOG5cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUdyb3VwQWNjZXNzKGdyb3VwLmtleSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIiBbaGVpZ2h0XT1cIjE1XCIgW3dpZHRoXT1cIjE1XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -6,6 +6,7 @@ import { ConfigSelectors } from '../../../store/config/config.selectors';
6
6
  import { ConfigActions } from '../../../store/config/config.actions';
7
7
  import { SubscriptionnerDirective } from '../../../../dashboard/components/subscriptionner.directive';
8
8
  import equal from 'fast-deep-equal/es6';
9
+ import { AUTHENTICATED_USERS_GROUP, PUBLIC_GROUP } from '../share.utils';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@ngrx/store";
11
12
  import * as i2 from "@angular/common";
@@ -42,7 +43,7 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
42
43
  this.store.dispatch(ConfigActions.loadAccessGroups());
43
44
  this.groups$ = combineLatest([this.store.select(ConfigSelectors.accessGroups), this._allowedGroups$]).pipe(map(([groups, allowedGroups]) => groups
44
45
  .filter((group) => group.name !== 'ALL')
45
- .filter((group) => allowedGroups?.includes('ALL') || allowedGroups?.includes('AUTHENTICATED') || !allowedGroups
46
+ .filter((group) => allowedGroups?.includes(PUBLIC_GROUP) || allowedGroups?.includes(AUTHENTICATED_USERS_GROUP) || !allowedGroups
46
47
  ? true
47
48
  : allowedGroups.includes(group.name))));
48
49
  this.assignedGroups$ = combineLatest([this.groups$, this.assignedGroupNames$]).pipe(map(([groups, groupNames]) => groups.filter((group) => {
@@ -130,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
130
131
  }], radioValueChange: [{
131
132
  type: Output
132
133
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc2hhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zaGFyZS9ncm91cC1zaGFyZS9ncm91cC1zaGFyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2dyb3VwLXNoYXJlL2dyb3VwLXNoYXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFTLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxLQUFLLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFjeEMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHdCQUF3QjtJQXlCbEUsSUFBYSxhQUFhLENBQUMsS0FBcUQ7UUFDOUUsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUdELElB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QUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQzs4R0E1SFUsc0JBQXNCO2tHQUF0QixzQkFBc0IseUtBVHRCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDckQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzNCSCxnMUNBcUNBOzsyRkRQYSxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGFBRWhCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTswR0EyQmxDLGFBQWE7c0JBQXpCLEtBQUs7Z0JBS08sYUFBYTtzQkFBekIsS0FBSztnQkFJSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgR3JvdXAsIFByeVZpc2liaWxpdHlUeXBlIH0gZnJvbSAnLi4vc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQ29uZmlnQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2NvbmZpZy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvY29tcG9uZW50cy9zdWJzY3JpcHRpb25uZXIuZGlyZWN0aXZlJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwvZXM2JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWdyb3VwLXNoYXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyb3VwLXNoYXJlLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcnlHcm91cFNoYXJlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcnlHcm91cFNoYXJlQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9vbkNoYW5nZSA9IChncm91cHM6IHN0cmluZ1tdKSA9PiBncm91cHM7XG4gIHByaXZhdGUgX29uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIC8vIGZvciB0cmFja2luZyBpbnB1dFxuICBhc3NpZ25lZEdyb3VwTmFtZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pO1xuXG4gIHJhZGlvVmFsdWUgPSBQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFO1xuICBhc3NpZ25lZEdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIFByeVZpc2liaWxpdHlUeXBlID0gUHJ5VmlzaWJpbGl0eVR5cGU7XG4gIHZpc2liaWxpdHlUeXBlczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogUHJ5VmlzaWJpbGl0eVR5cGUgfVtdID0gW107XG4gIHRlbXBsYXRlRGF0YSQ6IE9ic2VydmFibGU8e1xuICAgIGdyb3VwczogR3JvdXBbXTtcbiAgICBhc3NpZ25lZEdyb3VwczogR3JvdXBbXTtcbiAgICBkaXNhYmxlUmFkaW9zOiB7IFtrZXkgaW4gUHJ5VmlzaWJpbGl0eVR5cGVdOiBib29sZWFuIH07XG4gIH0+O1xuXG4gIF9kaXNhYmxlUmFkaW9zJDogQmVoYXZpb3JTdWJqZWN0PHsgW2tleSBpbiBQcnlWaXNpYmlsaXR5VHlwZV06IGJvb2xlYW4gfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcbiAgICBba2V5IGluIFByeVZpc2liaWxpdHlUeXBlXTogYm9vbGVhbjtcbiAgfT4oe1xuICAgIFtQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFXTogZmFsc2UsXG4gICAgW1ByeVZpc2liaWxpdHlUeXBlLlJFU1RSSUNURURdOiBmYWxzZSxcbiAgICBbUHJ5VmlzaWJpbGl0eVR5cGUuUFVCTElDXTogZmFsc2VcbiAgfSk7XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlUmFkaW9zKHZhbHVlOiB7IFtrZXkgaW4gUHJ5VmlzaWJpbGl0eVR5cGVdOiBib29sZWFuIH0gfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlKSB0aGlzLl9kaXNhYmxlUmFkaW9zJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9hbGxvd2VkR3JvdXBzJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdIHwgdW5kZWZpbmVkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIEBJbnB1dCgpIHNldCBhbGxvd2VkR3JvdXBzKHZhbHVlOiBzdHJpbmdbXSB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUpIHRoaXMuX2FsbG93ZWRHcm91cHMkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpIHJhZGlvVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFByeVZpc2liaWxpdHlUeXBlPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkQWNjZXNzR3JvdXBzKCkpO1xuICAgIHRoaXMuZ3JvdXBzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5hY2Nlc3NHcm91cHMpLCB0aGlzLl9hbGxvd2VkR3JvdXBzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtncm91cHMsIGFsbG93ZWRHcm91cHNdKSA9PlxuICAgICAgICBncm91cHNcbiAgICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAubmFtZSAhPT0gJ0FMTCcpXG4gICAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+XG4gICAgICAgICAgICBhbGxvd2VkR3JvdXBzPy5pbmNsdWRlcygnQUxMJykgfHwgYWxsb3dlZEdyb3Vwcz8uaW5jbHVkZXMoJ0FVVEhFTlRJQ0FURUQnKSB8fCAhYWxsb3dlZEdyb3Vwc1xuICAgICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgICAgOiBhbGxvd2VkR3JvdXBzLmluY2x1ZGVzKGdyb3VwLm5hbWUpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5hc3NpZ25lZEdyb3VwcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmdyb3VwcyQsIHRoaXMuYXNzaWduZWRHcm91cE5hbWVzJF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbZ3JvdXBzLCBncm91cE5hbWVzXSkgPT5cbiAgICAgICAgICBncm91cHMuZmlsdGVyKChncm91cCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGdyb3VwTmFtZXMuaW5jbHVkZXMoZ3JvdXAubmFtZSk7XG4gICAgICAgICAgfSkgPz8gW11cbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMudmlzaWJpbGl0eVR5cGVzID0gT2JqZWN0LmtleXMoUHJ5VmlzaWJpbGl0eVR5cGUpLm1hcCgobGFiZWwpID0+ICh7XG4gICAgICBsYWJlbDogbGFiZWwudG9Mb3dlckNhc2UoKSxcbiAgICAgIHZhbHVlOiBQcnlWaXNpYmlsaXR5VHlwZVs8a2V5b2YgdHlwZW9mIFByeVZpc2liaWxpdHlUeXBlPmxhYmVsXVxuICAgIH0pKTtcbiAgICB0aGlzLnRlbXBsYXRlRGF0YSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmdyb3VwcyQsIHRoaXMuYXNzaWduZWRHcm91cHMkLCB0aGlzLl9kaXNhYmxlUmFkaW9zJF0pLnBpcGUoXG4gICAgICBtYXAoKFtncm91cHMsIGFzc2lnbmVkR3JvdXBzLCBkaXNhYmxlUmFkaW9zXSkgPT4gKHsgZ3JvdXBzLCBhc3NpZ25lZEdyb3VwcywgZGlzYWJsZVJhZGlvcyB9KSlcbiAgICApO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcbiAgICB2YWx1ZSA9IHZhbHVlID8/IFtdO1xuICAgIGlmICghZXF1YWwodGhpcy5hc3NpZ25lZEdyb3VwTmFtZXMkLmdldFZhbHVlKCksIHZhbHVlKSkge1xuICAgICAgdGhpcy5fb25DaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy5hc3NpZ25lZEdyb3VwTmFtZXMkLm5leHQodmFsdWUpO1xuICAgICAgdGhpcy51cGRhdGVSYWRpb1ZhbHVlKHZhbHVlKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHVwZGF0ZVJhZGlvVmFsdWUoZ3JvdXBzOiBzdHJpbmdbXSkge1xuICAgIGlmIChncm91cHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnJhZGlvVmFsdWUgPSBQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFO1xuICAgIH0gZWxzZSBpZiAoZ3JvdXBzLmxlbmd0aCA9PT0gMSAmJiBncm91cHMuZmluZCgoZ3JvdXApID0+IGdyb3VwID09PSAnQUxMJykpIHtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZSA9IFByeVZpc2liaWxpdHlUeXBlLlBVQkxJQztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yYWRpb1ZhbHVlID0gUHJ5VmlzaWJpbGl0eVR5cGUuUkVTVFJJQ1RFRDtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VHcm91cHNCYXNlZE9uUmFkaW9WYWx1ZSh0eXBlOiBQcnlWaXNpYmlsaXR5VHlwZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhZGlvVmFsdWUgIT09IHR5cGUpIHtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZSA9IHR5cGU7XG4gICAgICB0aGlzLnJhZGlvVmFsdWVDaGFuZ2UuZW1pdCh0eXBlKTtcblxuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgUHJ5VmlzaWJpbGl0eVR5cGUuUFJJVkFURTpcbiAgICAgICAgICB0aGlzLmNoYW5nZUdyb3VwcyhbXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgUHJ5VmlzaWJpbGl0eVR5cGUuUkVTVFJJQ1RFRDpcbiAgICAgICAgICB0aGlzLmNoYW5nZUdyb3Vwcyh0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQuZ2V0VmFsdWUoKSA/PyBbXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgUHJ5VmlzaWJpbGl0eVR5cGUuUFVCTElDOlxuICAgICAgICAgIHRoaXMuY2hhbmdlR3JvdXBzKFsnQUxMJ10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUdyb3Vwcyhncm91cHM6IChHcm91cCB8IHN0cmluZylbXSB8IG51bGwpIHtcbiAgICBpZiAoZ3JvdXBzKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZShncm91cHMubWFwKChncm91cCkgPT4gKHR5cGVvZiBncm91cCA9PT0gJ3N0cmluZycgPyBncm91cCA6IGdyb3VwLm5hbWUpKSk7XG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICh0ZW1wbGF0ZURhdGEkIHwgYXN5bmM7IGFzIGRhdGEpIHtcbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1yYWRpby1ncm91cFwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHR5cGUgb2YgdmlzaWJpbGl0eVR5cGVzXCIgY2xhc3M9XCJtLWZvcm0tcmFkaW8tZ3JvdXBfX2l0ZW1cIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBuYW1lPVwidmlzaWJpbGl0eVwiXG4gICAgICAgIFtpZF09XCJ0eXBlLmxhYmVsXCJcbiAgICAgICAgW3ZhbHVlXT1cInR5cGUudmFsdWVcIlxuICAgICAgICBbbmdNb2RlbF09XCJyYWRpb1ZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlR3JvdXBzQmFzZWRPblJhZGlvVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkYXRhLmRpc2FibGVSYWRpb3NbdHlwZS52YWx1ZV1cIlxuICAgICAgLz5cbiAgICAgIDxsYWJlbCBbZm9yXT1cInR5cGUubGFiZWxcIiBjbGFzcz1cImEtbGFiZWxcIiBbY2xhc3MuYS1sYWJlbC0tZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlUmFkaW9zW3R5cGUudmFsdWVdXCI+XG4gICAgICAgIHt7ICdAcHJ5LnNoYXJlLicgKyB0eXBlLmxhYmVsIHwgaTE4biB9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIEBpZiAocmFkaW9WYWx1ZSA9PT0gUHJ5VmlzaWJpbGl0eVR5cGUuUkVTVFJJQ1RFRCkge1xuICAgIEBpZiAoZGF0YS5ncm91cHMubGVuZ3RoID4gMCkge1xuICAgICAgPHByeS1jaGlwcy1zZWxlY3RvclxuICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgICAgYmluZFZhbHVlPVwibmFtZVwiXG4gICAgICAgIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuY29tcG9uZW50cy5jaGlwc1NlbGVjdG9yLnNoYXJlLlwiXG4gICAgICAgIGl0ZW1UcmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmNvbXBvbmVudHMuY2hpcHNTZWxlY3Rvci5zaGFyZS5ncm91cHMuXCJcbiAgICAgICAgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgW2l0ZW1zXT1cImRhdGEuZ3JvdXBzXCJcbiAgICAgICAgKGl0ZW1zQ2hhbmdlZCk9XCJjaGFuZ2VHcm91cHMoJGV2ZW50KVwiXG4gICAgICAgIFt1c2VkSXRlbXNdPVwiZGF0YS5hc3NpZ25lZEdyb3Vwc1wiXG4gICAgICAgIFtzaG93U2VhcmNoYmFyXT1cImRhdGEuZ3JvdXBzLmxlbmd0aCA+IDZcIlxuICAgICAgPjwvcHJ5LWNoaXBzLXNlbGVjdG9yPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHAgY2xhc3M9XCJtLXRleHQtLWNlbnRlclwiPlxuICAgICAgICB7eyAnQHByeS5zaGFyZS5ub0dyb3VwcycgfCBpMThuIH19XG4gICAgICA8L3A+XG4gICAgfVxuICB9XG59XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc2hhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zaGFyZS9ncm91cC1zaGFyZS9ncm91cC1zaGFyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2dyb3VwLXNoYXJlL2dyb3VwLXNoYXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFTLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxLQUFLLE1BQU0scUJBQXFCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBY3pFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx3QkFBd0I7SUF5QmxFLElBQWEsYUFBYSxDQUFDLEtBQXFEO1FBQzlFLElBQUksS0FBSztZQUFFLElBQUksQ0FB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S0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQzs4R0E1SFUsc0JBQXNCO2tHQUF0QixzQkFBc0IseUtBVHRCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDckQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzVCSCxnMUNBcUNBOzsyRkROYSxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGFBRWhCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTswR0EyQmxDLGFBQWE7c0JBQXpCLEtBQUs7Z0JBS08sYUFBYTtzQkFBekIsS0FBSztnQkFJSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgR3JvdXAsIFByeVZpc2liaWxpdHlUeXBlIH0gZnJvbSAnLi4vc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQ29uZmlnQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2NvbmZpZy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvY29tcG9uZW50cy9zdWJzY3JpcHRpb25uZXIuZGlyZWN0aXZlJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwvZXM2JztcbmltcG9ydCB7IEFVVEhFTlRJQ0FURURfVVNFUlNfR1JPVVAsIFBVQkxJQ19HUk9VUCB9IGZyb20gJy4uL3NoYXJlLnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWdyb3VwLXNoYXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyb3VwLXNoYXJlLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcnlHcm91cFNoYXJlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcnlHcm91cFNoYXJlQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9vbkNoYW5nZSA9IChncm91cHM6IHN0cmluZ1tdKSA9PiBncm91cHM7XG4gIHByaXZhdGUgX29uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIC8vIGZvciB0cmFja2luZyBpbnB1dFxuICBhc3NpZ25lZEdyb3VwTmFtZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pO1xuXG4gIHJhZGlvVmFsdWUgPSBQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFO1xuICBhc3NpZ25lZEdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIFByeVZpc2liaWxpdHlUeXBlID0gUHJ5VmlzaWJpbGl0eVR5cGU7XG4gIHZpc2liaWxpdHlUeXBlczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogUHJ5VmlzaWJpbGl0eVR5cGUgfVtdID0gW107XG4gIHRlbXBsYXRlRGF0YSQ6IE9ic2VydmFibGU8e1xuICAgIGdyb3VwczogR3JvdXBbXTtcbiAgICBhc3NpZ25lZEdyb3VwczogR3JvdXBbXTtcbiAgICBkaXNhYmxlUmFkaW9zOiB7IFtrZXkgaW4gUHJ5VmlzaWJpbGl0eVR5cGVdOiBib29sZWFuIH07XG4gIH0+O1xuXG4gIF9kaXNhYmxlUmFkaW9zJDogQmVoYXZpb3JTdWJqZWN0PHsgW2tleSBpbiBQcnlWaXNpYmlsaXR5VHlwZV06IGJvb2xlYW4gfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcbiAgICBba2V5IGluIFByeVZpc2liaWxpdHlUeXBlXTogYm9vbGVhbjtcbiAgfT4oe1xuICAgIFtQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFXTogZmFsc2UsXG4gICAgW1ByeVZpc2liaWxpdHlUeXBlLlJFU1RSSUNURURdOiBmYWxzZSxcbiAgICBbUHJ5VmlzaWJpbGl0eVR5cGUuUFVCTElDXTogZmFsc2VcbiAgfSk7XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlUmFkaW9zKHZhbHVlOiB7IFtrZXkgaW4gUHJ5VmlzaWJpbGl0eVR5cGVdOiBib29sZWFuIH0gfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlKSB0aGlzLl9kaXNhYmxlUmFkaW9zJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9hbGxvd2VkR3JvdXBzJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdIHwgdW5kZWZpbmVkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIEBJbnB1dCgpIHNldCBhbGxvd2VkR3JvdXBzKHZhbHVlOiBzdHJpbmdbXSB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUpIHRoaXMuX2FsbG93ZWRHcm91cHMkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpIHJhZGlvVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFByeVZpc2liaWxpdHlUeXBlPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkQWNjZXNzR3JvdXBzKCkpO1xuICAgIHRoaXMuZ3JvdXBzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5hY2Nlc3NHcm91cHMpLCB0aGlzLl9hbGxvd2VkR3JvdXBzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtncm91cHMsIGFsbG93ZWRHcm91cHNdKSA9PlxuICAgICAgICBncm91cHNcbiAgICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAubmFtZSAhPT0gJ0FMTCcpXG4gICAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+XG4gICAgICAgICAgICBhbGxvd2VkR3JvdXBzPy5pbmNsdWRlcyhQVUJMSUNfR1JPVVApIHx8IGFsbG93ZWRHcm91cHM/LmluY2x1ZGVzKEFVVEhFTlRJQ0FURURfVVNFUlNfR1JPVVApIHx8ICFhbGxvd2VkR3JvdXBzXG4gICAgICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgICAgICA6IGFsbG93ZWRHcm91cHMuaW5jbHVkZXMoZ3JvdXAubmFtZSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLmFzc2lnbmVkR3JvdXBzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZ3JvdXBzJCwgdGhpcy5hc3NpZ25lZEdyb3VwTmFtZXMkXSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKFtncm91cHMsIGdyb3VwTmFtZXNdKSA9PlxuICAgICAgICAgIGdyb3Vwcy5maWx0ZXIoKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZ3JvdXBOYW1lcy5pbmNsdWRlcyhncm91cC5uYW1lKTtcbiAgICAgICAgICB9KSA/PyBbXVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy52aXNpYmlsaXR5VHlwZXMgPSBPYmplY3Qua2V5cyhQcnlWaXNpYmlsaXR5VHlwZSkubWFwKChsYWJlbCkgPT4gKHtcbiAgICAgIGxhYmVsOiBsYWJlbC50b0xvd2VyQ2FzZSgpLFxuICAgICAgdmFsdWU6IFByeVZpc2liaWxpdHlUeXBlWzxrZXlvZiB0eXBlb2YgUHJ5VmlzaWJpbGl0eVR5cGU+bGFiZWxdXG4gICAgfSkpO1xuICAgIHRoaXMudGVtcGxhdGVEYXRhJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZ3JvdXBzJCwgdGhpcy5hc3NpZ25lZEdyb3VwcyQsIHRoaXMuX2Rpc2FibGVSYWRpb3MkXSkucGlwZShcbiAgICAgIG1hcCgoW2dyb3VwcywgYXNzaWduZWRHcm91cHMsIGRpc2FibGVSYWRpb3NdKSA9PiAoeyBncm91cHMsIGFzc2lnbmVkR3JvdXBzLCBkaXNhYmxlUmFkaW9zIH0pKVxuICAgICk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIHZhbHVlID0gdmFsdWUgPz8gW107XG4gICAgaWYgKCFlcXVhbCh0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQuZ2V0VmFsdWUoKSwgdmFsdWUpKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQubmV4dCh2YWx1ZSk7XG4gICAgICB0aGlzLnVwZGF0ZVJhZGlvVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgdXBkYXRlUmFkaW9WYWx1ZShncm91cHM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZSA9IFByeVZpc2liaWxpdHlUeXBlLlBSSVZBVEU7XG4gICAgfSBlbHNlIGlmIChncm91cHMubGVuZ3RoID09PSAxICYmIGdyb3Vwcy5maW5kKChncm91cCkgPT4gZ3JvdXAgPT09ICdBTEwnKSkge1xuICAgICAgdGhpcy5yYWRpb1ZhbHVlID0gUHJ5VmlzaWJpbGl0eVR5cGUuUFVCTElDO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJhZGlvVmFsdWUgPSBQcnlWaXNpYmlsaXR5VHlwZS5SRVNUUklDVEVEO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUdyb3Vwc0Jhc2VkT25SYWRpb1ZhbHVlKHR5cGU6IFByeVZpc2liaWxpdHlUeXBlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmFkaW9WYWx1ZSAhPT0gdHlwZSkge1xuICAgICAgdGhpcy5yYWRpb1ZhbHVlID0gdHlwZTtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZUNoYW5nZS5lbWl0KHR5cGUpO1xuXG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFOlxuICAgICAgICAgIHRoaXMuY2hhbmdlR3JvdXBzKFtdKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQcnlWaXNpYmlsaXR5VHlwZS5SRVNUUklDVEVEOlxuICAgICAgICAgIHRoaXMuY2hhbmdlR3JvdXBzKHRoaXMuYXNzaWduZWRHcm91cE5hbWVzJC5nZXRWYWx1ZSgpID8/IFtdKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQcnlWaXNpYmlsaXR5VHlwZS5QVUJMSUM6XG4gICAgICAgICAgdGhpcy5jaGFuZ2VHcm91cHMoWydBTEwnXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlR3JvdXBzKGdyb3VwczogKEdyb3VwIHwgc3RyaW5nKVtdIHwgbnVsbCkge1xuICAgIGlmIChncm91cHMpIHtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKGdyb3Vwcy5tYXAoKGdyb3VwKSA9PiAodHlwZW9mIGdyb3VwID09PSAnc3RyaW5nJyA/IGdyb3VwIDogZ3JvdXAubmFtZSkpKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKHRlbXBsYXRlRGF0YSQgfCBhc3luYzsgYXMgZGF0YSkge1xuICA8ZGl2IGNsYXNzPVwibS1mb3JtLXJhZGlvLWdyb3VwXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdHlwZSBvZiB2aXNpYmlsaXR5VHlwZXNcIiBjbGFzcz1cIm0tZm9ybS1yYWRpby1ncm91cF9faXRlbVwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIG5hbWU9XCJ2aXNpYmlsaXR5XCJcbiAgICAgICAgW2lkXT1cInR5cGUubGFiZWxcIlxuICAgICAgICBbdmFsdWVdPVwidHlwZS52YWx1ZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInJhZGlvVmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VHcm91cHNCYXNlZE9uUmFkaW9WYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRhdGEuZGlzYWJsZVJhZGlvc1t0eXBlLnZhbHVlXVwiXG4gICAgICAvPlxuICAgICAgPGxhYmVsIFtmb3JdPVwidHlwZS5sYWJlbFwiIGNsYXNzPVwiYS1sYWJlbFwiIFtjbGFzcy5hLWxhYmVsLS1kaXNhYmxlZF09XCJkYXRhLmRpc2FibGVSYWRpb3NbdHlwZS52YWx1ZV1cIj5cbiAgICAgICAge3sgJ0Bwcnkuc2hhcmUuJyArIHR5cGUubGFiZWwgfCBpMThuIH19XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChyYWRpb1ZhbHVlID09PSBQcnlWaXNpYmlsaXR5VHlwZS5SRVNUUklDVEVEKSB7XG4gICAgQGlmIChkYXRhLmdyb3Vwcy5sZW5ndGggPiAwKSB7XG4gICAgICA8cHJ5LWNoaXBzLXNlbGVjdG9yXG4gICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICBiaW5kVmFsdWU9XCJuYW1lXCJcbiAgICAgICAgdHJhbnNsYXRpb25TdHJpbmdCYXNlPVwiQHByeS5jb21wb25lbnRzLmNoaXBzU2VsZWN0b3Iuc2hhcmUuXCJcbiAgICAgICAgaXRlbVRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuY29tcG9uZW50cy5jaGlwc1NlbGVjdG9yLnNoYXJlLmdyb3Vwcy5cIlxuICAgICAgICBbc2hvd0FjdGlvbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICBbaXRlbXNdPVwiZGF0YS5ncm91cHNcIlxuICAgICAgICAoaXRlbXNDaGFuZ2VkKT1cImNoYW5nZUdyb3VwcygkZXZlbnQpXCJcbiAgICAgICAgW3VzZWRJdGVtc109XCJkYXRhLmFzc2lnbmVkR3JvdXBzXCJcbiAgICAgICAgW3Nob3dTZWFyY2hiYXJdPVwiZGF0YS5ncm91cHMubGVuZ3RoID4gNlwiXG4gICAgICA+PC9wcnktY2hpcHMtc2VsZWN0b3I+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8cCBjbGFzcz1cIm0tdGV4dC0tY2VudGVyXCI+XG4gICAgICAgIHt7ICdAcHJ5LnNoYXJlLm5vR3JvdXBzJyB8IGkxOG4gfX1cbiAgICAgIDwvcD5cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,6 @@
1
+ export const PUBLIC_GROUP = 'ALL';
2
+ export const AUTHENTICATED_USERS_GROUP = 'AUTHENTICATED';
3
+ export const SYSTEM_GROUPS = [PUBLIC_GROUP, AUTHENTICATED_USERS_GROUP];
1
4
  export const READ_ACCESS = 'READ';
2
5
  export const WRITE_ACCESS = 'WRITE';
3
6
  // GROUP UTIL METHODS
@@ -13,17 +16,17 @@ export const getGroupLabelByName = (groupName, i18n) => {
13
16
  export const canManifestBeMadePublic = (manifest, datasets) => {
14
17
  return manifest.datasource.every((dsId) => {
15
18
  const datasource = datasets.find((d) => d.id === dsId);
16
- return datasource?.groups?.includes('ALL') ?? false;
19
+ return datasource?.groups?.includes(PUBLIC_GROUP) ?? false;
17
20
  });
18
21
  };
19
22
  export const getCommonDatasourceGroupsForManifest = (manifest, datasets) => {
20
23
  let result = [];
21
24
  const allDsGroups = manifest.datasource.map((dsId) => datasets.find((d) => d.id === dsId)?.groups ?? []);
22
- if (allDsGroups.every((dsGroups) => dsGroups.includes('AUTHENTICATED'))) {
25
+ if (allDsGroups.every((dsGroups) => dsGroups.includes(AUTHENTICATED_USERS_GROUP))) {
23
26
  result = [...new Set(allDsGroups.flat())];
24
27
  }
25
28
  else {
26
- const allDsGroupsFiltered = allDsGroups.filter((dsGroups) => !dsGroups.includes('AUTHENTICATED') && !dsGroups.includes('ALL'));
29
+ const allDsGroupsFiltered = allDsGroups.filter((dsGroups) => !dsGroups.includes(AUTHENTICATED_USERS_GROUP) && !dsGroups.includes(PUBLIC_GROUP));
27
30
  const baseArray = allDsGroupsFiltered[0];
28
31
  for (let i = 0; i < baseArray.length; i++) {
29
32
  const group = baseArray[i];
@@ -45,9 +48,9 @@ export const getAccessRightsArrayByGroup = (accessByGroup) => {
45
48
  export const getAccessArray = (access) => {
46
49
  switch (access) {
47
50
  case READ_ACCESS:
48
- return ['READ'];
51
+ return [READ_ACCESS];
49
52
  case WRITE_ACCESS:
50
- return ['WRITE', 'READ'];
53
+ return [READ_ACCESS, WRITE_ACCESS];
51
54
  default:
52
55
  return [];
53
56
  }
@@ -60,11 +63,11 @@ export const getAccessRightsStringByGroup = (accessByGroup) => {
60
63
  return result;
61
64
  };
62
65
  export const getAccessString = (accessArray) => {
63
- if (accessArray.includes('WRITE')) {
66
+ if (accessArray.includes(WRITE_ACCESS)) {
64
67
  return WRITE_ACCESS;
65
68
  }
66
69
  else {
67
70
  return READ_ACCESS;
68
71
  }
69
72
  };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL3NoYXJlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQztBQUVwQyxxQkFBcUI7QUFFckIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBWSxFQUFFLElBQW9CLEVBQVUsRUFBRTtJQUMxRSxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0FBQ3JGLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBaUIsRUFBRSxJQUFvQixFQUFVLEVBQUU7SUFDckYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDbkUsQ0FBQyxDQUFDLFNBQVM7UUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFFRixpQ0FBaUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxRQUE2QixFQUFFLFFBQW1CLEVBQVcsRUFBRTtJQUNyRyxPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDeEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FB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LE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDekMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFdBQXFCLEVBQVUsRUFBRTtJQUMvRCxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYW5pZmVzdERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFzZXQgfSBmcm9tICcuLi8uLi9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJy4vc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuL2kxOG4uc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBSRUFEX0FDQ0VTUyA9ICdSRUFEJztcbmV4cG9ydCBjb25zdCBXUklURV9BQ0NFU1MgPSAnV1JJVEUnO1xuXG4vLyBHUk9VUCBVVElMIE1FVEhPRFNcblxuZXhwb3J0IGNvbnN0IGdldEdyb3VwTGFiZWwgPSAoZ3JvdXA6IEdyb3VwLCBpMThuOiBQcnlJMThuU2VydmljZSk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBncm91cC5zeXN0ZW0gPyBpMThuLmluc3RhbnQoJ0Bwcnkuc2hhcmUuZ3JvdXBzLicgKyBncm91cC5uYW1lKSA6IGdyb3VwLm5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R3JvdXBMYWJlbEJ5TmFtZSA9IChncm91cE5hbWU6IHN0cmluZywgaTE4bjogUHJ5STE4blNlcnZpY2UpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gaTE4bi5pbnN0YW50KCdAcHJ5LnNoYXJlLmdyb3Vwcy4nICsgZ3JvdXBOYW1lKS5zdGFydHNXaXRoKCdAJylcbiAgICA/IGdyb3VwTmFtZVxuICAgIDogaTE4bi5pbnN0YW50KCdAcHJ5LnNoYXJlLmdyb3Vwcy4nICsgZ3JvdXBOYW1lKTtcbn07XG5cbi8vIERBU0hCT0FSRCBHUk9VUCBSSUdIVFMgTUVUSE9EU1xuXG5leHBvcnQgY29uc3QgY2FuTWFuaWZlc3RCZU1hZGVQdWJsaWMgPSAobWFuaWZlc3Q6IE1hbmlmZXN0RGVzY3JpcHRpb24sIGRhdGFzZXRzOiBEYXRhc2V0W10pOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIG1hbmlmZXN0LmRhdGFzb3VyY2UuZXZlcnkoKGRzSWQpID0+IHtcbiAgICBjb25zdCBkYXRhc291cmNlID0gZGF0YXNldHMuZmluZCgoZCkgPT4gZC5pZCA9PT0gZHNJZCk7XG4gICAgcmV0dXJuIGRhdGFzb3VyY2U/Lmdyb3Vwcz8uaW5jbHVkZXMoJ0FMTCcpID8/IGZhbHNlO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb21tb25EYXRhc291cmNlR3JvdXBzRm9yTWFuaWZlc3QgPSAobWFuaWZlc3Q6IE1hbmlmZXN0RGVzY3JpcHRpb24sIGRhdGFzZXRzOiBEYXRhc2V0W10pOiBzdHJpbmdbXSA9PiB7XG4gIGxldCByZXN1bHQgPSBbXTtcbiAgY29uc3QgYWxsRHNHcm91cHMgPSBtYW5pZmVzdC5kYXRhc291cmNlLm1hcCgoZHNJZCkgPT4gZGF0YXNldHMuZmluZCgoZCkgPT4gZC5pZCA9PT0gZHNJZCk/Lmdyb3VwcyA/PyBbXSk7XG4gIGlmIChhbGxEc0dyb3Vwcy5ldmVyeSgoZHNHcm91cHMpID0+IGRzR3JvdXBzLmluY2x1ZGVzKCdBVVRIRU5USUNBVEVEJykpKSB7XG4gICAgcmVzdWx0ID0gWy4uLm5ldyBTZXQoYWxsRHNHcm91cHMuZmxhdCgpKV07XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYWxsRHNHcm91cHNGaWx0ZXJlZCA9IGFsbERzR3JvdXBzLmZpbHRlcihcbiAgICAgIChkc0dyb3VwcykgPT4gIWRzR3JvdXBzLmluY2x1ZGVzKCdBVVRIRU5USUNBVEVEJykgJiYgIWRzR3JvdXBzLmluY2x1ZGVzKCdBTEwnKVxuICAgICk7XG4gICAgY29uc3QgYmFzZUFycmF5ID0gYWxsRHNHcm91cHNGaWx0ZXJlZFswXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJhc2VBcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZ3JvdXAgPSBiYXNlQXJyYXlbaV07XG4gICAgICBpZiAoYWxsRHNHcm91cHNGaWx0ZXJlZC5ldmVyeSgoZHNHcm91cHMpID0+IGRzR3JvdXBzLmluY2x1ZGVzKGdyb3VwKSkpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goZ3JvdXApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLy8gQUNDRVNTIFJJR0hUUyBNRVRIT0RTXG5cbmV4cG9ydCBjb25zdCBnZXRBY2Nlc3NSaWdodHNBcnJheUJ5R3JvdXAgPSAoYWNjZXNzQnlHcm91cDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9PiB7XG4gIGxldCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuICBPYmplY3Qua2V5cyhhY2Nlc3NCeUdyb3VwKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICByZXN1bHRba2V5XSA9IGdldEFjY2Vzc0FycmF5KGFjY2Vzc0J5R3JvdXBba2V5XSk7XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFjY2Vzc0FycmF5ID0gKGFjY2Vzczogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuICBzd2l0Y2ggKGFjY2Vzcykge1xuICAgIGNhc2UgUkVBRF9BQ0NFU1M6XG4gICAgICByZXR1cm4gWydSRUFEJ107XG4gICAgY2FzZSBXUklURV9BQ0NFU1M6XG4gICAgICByZXR1cm4gWydXUklURScsICdSRUFEJ107XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBbXTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldEFjY2Vzc1JpZ2h0c1N0cmluZ0J5R3JvdXAgPSAoYWNjZXNzQnlHcm91cDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9KTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9PiB7XG4gIGxldCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgT2JqZWN0LmtleXMoYWNjZXNzQnlHcm91cCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgcmVzdWx0W2tleV0gPSBnZXRBY2Nlc3NTdHJpbmcoYWNjZXNzQnlHcm91cFtrZXldKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWNjZXNzU3RyaW5nID0gKGFjY2Vzc0FycmF5OiBzdHJpbmdbXSk6IHN0cmluZyA9PiB7XG4gIGlmIChhY2Nlc3NBcnJheS5pbmNsdWRlcygnV1JJVEUnKSkge1xuICAgIHJldHVybiBXUklURV9BQ0NFU1M7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFJFQURfQUNDRVNTO1xuICB9XG59O1xuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL3NoYXJlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsZUFBZSxDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQztBQUVwQyxxQkFBcUI7QUFFckIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBWSxFQUFFLElBQW9CLEVBQVUsRUFBRTtJQUMxRSxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0FBQ3JGLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBaUIsRUFBRSxJQUFvQixFQUFVLEVBQUU7SUFDckYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDbkUsQ0FBQyxDQUFDLFNBQVM7UUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFFRixpQ0FBaUM7QUFFakMsTUFBTSxDQUFDLE1B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QUFDLENBQUM7UUFDckM7WUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLGFBQTBDLEVBQTZCLEVBQUU7SUFDcEgsSUFBSSxNQUFNLEdBQThCLEVBQUUsQ0FBQztJQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxXQUFxQixFQUFVLEVBQUU7SUFDL0QsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFuaWZlc3REZXNjcmlwdGlvbiB9IGZyb20gJy4uLy4uL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXRhc2V0IH0gZnJvbSAnLi4vLi4vc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICcuL3NoYXJlLm1vZGVsJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgUFVCTElDX0dST1VQID0gJ0FMTCc7XG5leHBvcnQgY29uc3QgQVVUSEVOVElDQVRFRF9VU0VSU19HUk9VUCA9ICdBVVRIRU5USUNBVEVEJztcbmV4cG9ydCBjb25zdCBTWVNURU1fR1JPVVBTID0gW1BVQkxJQ19HUk9VUCwgQVVUSEVOVElDQVRFRF9VU0VSU19HUk9VUF07XG5cbmV4cG9ydCBjb25zdCBSRUFEX0FDQ0VTUyA9ICdSRUFEJztcbmV4cG9ydCBjb25zdCBXUklURV9BQ0NFU1MgPSAnV1JJVEUnO1xuXG4vLyBHUk9VUCBVVElMIE1FVEhPRFNcblxuZXhwb3J0IGNvbnN0IGdldEdyb3VwTGFiZWwgPSAoZ3JvdXA6IEdyb3VwLCBpMThuOiBQcnlJMThuU2VydmljZSk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBncm91cC5zeXN0ZW0gPyBpMThuLmluc3RhbnQoJ0Bwcnkuc2hhcmUuZ3JvdXBzLicgKyBncm91cC5uYW1lKSA6IGdyb3VwLm5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R3JvdXBMYWJlbEJ5TmFtZSA9IChncm91cE5hbWU6IHN0cmluZywgaTE4bjogUHJ5STE4blNlcnZpY2UpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gaTE4bi5pbnN0YW50KCdAcHJ5LnNoYXJlLmdyb3Vwcy4nICsgZ3JvdXBOYW1lKS5zdGFydHNXaXRoKCdAJylcbiAgICA/IGdyb3VwTmFtZVxuICAgIDogaTE4bi5pbnN0YW50KCdAcHJ5LnNoYXJlLmdyb3Vwcy4nICsgZ3JvdXBOYW1lKTtcbn07XG5cbi8vIERBU0hCT0FSRCBHUk9VUCBSSUdIVFMgTUVUSE9EU1xuXG5leHBvcnQgY29uc3QgY2FuTWFuaWZlc3RCZU1hZGVQdWJsaWMgPSAobWFuaWZlc3Q6IE1hbmlmZXN0RGVzY3JpcHRpb24sIGRhdGFzZXRzOiBEYXRhc2V0W10pOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIG1hbmlmZXN0LmRhdGFzb3VyY2UuZXZlcnkoKGRzSWQpID0+IHtcbiAgICBjb25zdCBkYXRhc291cmNlID0gZGF0YXNldHMuZmluZCgoZCkgPT4gZC5pZCA9PT0gZHNJZCk7XG4gICAgcmV0dXJuIGRhdGFzb3VyY2U/Lmdyb3Vwcz8uaW5jbHVkZXMoUFVCTElDX0dST1VQKSA/PyBmYWxzZTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29tbW9uRGF0YXNvdXJjZUdyb3Vwc0Zvck1hbmlmZXN0ID0gKG1hbmlmZXN0OiBNYW5pZmVzdERlc2NyaXB0aW9uLCBkYXRhc2V0czogRGF0YXNldFtdKTogc3RyaW5nW10gPT4ge1xuICBsZXQgcmVzdWx0ID0gW107XG4gIGNvbnN0IGFsbERzR3JvdXBzID0gbWFuaWZlc3QuZGF0YXNvdXJjZS5tYXAoKGRzSWQpID0+IGRhdGFzZXRzLmZpbmQoKGQpID0+IGQuaWQgPT09IGRzSWQpPy5ncm91cHMgPz8gW10pO1xuICBpZiAoYWxsRHNHcm91cHMuZXZlcnkoKGRzR3JvdXBzKSA9PiBkc0dyb3Vwcy5pbmNsdWRlcyhBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQKSkpIHtcbiAgICByZXN1bHQgPSBbLi4ubmV3IFNldChhbGxEc0dyb3Vwcy5mbGF0KCkpXTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBhbGxEc0dyb3Vwc0ZpbHRlcmVkID0gYWxsRHNHcm91cHMuZmlsdGVyKFxuICAgICAgKGRzR3JvdXBzKSA9PiAhZHNHcm91cHMuaW5jbHVkZXMoQVVUSEVOVElDQVRFRF9VU0VSU19HUk9VUCkgJiYgIWRzR3JvdXBzLmluY2x1ZGVzKFBVQkxJQ19HUk9VUClcbiAgICApO1xuICAgIGNvbnN0IGJhc2VBcnJheSA9IGFsbERzR3JvdXBzRmlsdGVyZWRbMF07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBiYXNlQXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGdyb3VwID0gYmFzZUFycmF5W2ldO1xuICAgICAgaWYgKGFsbERzR3JvdXBzRmlsdGVyZWQuZXZlcnkoKGRzR3JvdXBzKSA9PiBkc0dyb3Vwcy5pbmNsdWRlcyhncm91cCkpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIEFDQ0VTUyBSSUdIVFMgTUVUSE9EU1xuXG5leHBvcnQgY29uc3QgZ2V0QWNjZXNzUmlnaHRzQXJyYXlCeUdyb3VwID0gKGFjY2Vzc0J5R3JvdXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gPT4ge1xuICBsZXQgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gPSB7fTtcbiAgT2JqZWN0LmtleXMoYWNjZXNzQnlHcm91cCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgcmVzdWx0W2tleV0gPSBnZXRBY2Nlc3NBcnJheShhY2Nlc3NCeUdyb3VwW2tleV0pO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBY2Nlc3NBcnJheSA9IChhY2Nlc3M6IHN0cmluZyk6IHN0cmluZ1tdID0+IHtcbiAgc3dpdGNoIChhY2Nlc3MpIHtcbiAgICBjYXNlIFJFQURfQUNDRVNTOlxuICAgICAgcmV0dXJuIFtSRUFEX0FDQ0VTU107XG4gICAgY2FzZSBXUklURV9BQ0NFU1M6XG4gICAgICByZXR1cm4gW1JFQURfQUNDRVNTLCBXUklURV9BQ0NFU1NdO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gW107XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBY2Nlc3NSaWdodHNTdHJpbmdCeUdyb3VwID0gKGFjY2Vzc0J5R3JvdXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPT4ge1xuICBsZXQgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gIE9iamVjdC5rZXlzKGFjY2Vzc0J5R3JvdXApLmZvckVhY2goKGtleSkgPT4ge1xuICAgIHJlc3VsdFtrZXldID0gZ2V0QWNjZXNzU3RyaW5nKGFjY2Vzc0J5R3JvdXBba2V5XSk7XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFjY2Vzc1N0cmluZyA9IChhY2Nlc3NBcnJheTogc3RyaW5nW10pOiBzdHJpbmcgPT4ge1xuICBpZiAoYWNjZXNzQXJyYXkuaW5jbHVkZXMoV1JJVEVfQUNDRVNTKSkge1xuICAgIHJldHVybiBXUklURV9BQ0NFU1M7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFJFQURfQUNDRVNTO1xuICB9XG59O1xuIl19
@@ -79,7 +79,8 @@ export const enTranslations = {
79
79
  validated: 'Validate',
80
80
  check: 'Save',
81
81
  close: 'Cancel',
82
- validate: 'Validate'
82
+ validate: 'Validate',
83
+ all: 'All'
83
84
  },
84
85
  catalog: {
85
86
  title: 'Custom',
@@ -405,4 +406,4 @@ export const enTranslations = {
405
406
  columns: 'Columns'
406
407
  }
407
408
  };
408
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvaTE4bi9lbi50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxjQUFjO1lBQ3JCLE9BQU8sRUFBRSxTQUFTO1NBQ25CO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixHQUFHLEVBQUUsa0JBQWtCO1lBQ3ZCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsU0FBUyxFQUFFLG1CQUFtQjtTQUMvQjtRQUNELE1BQU0sRUFBRTtZQUNOLHFCQUFxQixFQUFFLHdCQUF3QjtTQUNoRDtRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSx5QkFBeUI7WUFDakMsWUFBWSxFQUFFLDBDQUEwQztZQUN4RCxXQUFXLEVBQUUsK0NBQStDO1lBQzVELGFBQWEsRUFBRSxpREFBaUQ7WUFDaEUsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxVQUFVO2dCQUNqQixXQUFXLEVBQUUsY0FBYztnQkFDM0IsZ0JBQWdCLEVBQUUsbUJBQW1CO2FBQ3RDO1lBQ0QsYUFBYSxFQUFFLHNCQUFzQjtZQUNyQyxZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUUsb0NBQW9DO2dCQUM1QyxVQUFVLEVBQUUsYUFBYTtnQkFDekIsWUFBWSxFQUFFLG9CQUFvQjtnQkFDbEMsYUFBYSxFQUFFLGdCQUFnQjtnQkFDL0IsVUFBVSxFQUFFLHlCQUF5QjtnQkFDckMsUUFBUSxFQUFF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RCxPQUFPLEVBQUU7WUFDUCxLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFlBQVksRUFBRSwwQ0FBMEM7WUFDeEQsU0FBUyxFQUFFLDhDQUE4QztZQUN6RCxLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUU7Z0JBQ0osVUFBVSxFQUFFLGNBQWM7Z0JBQzFCLEdBQUcsRUFBRSxZQUFZO2dCQUNqQixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFFBQVE7YUFDakI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixLQUFLLEVBQUUsaUNBQWlDO2dCQUN4QyxTQUFTLEVBQUUsWUFBWTthQUN4QjtZQUNELFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsUUFBUSxFQUFFLFVBQVU7YUFDckI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLFlBQVksRUFBRSxjQUFjO2FBQzdCO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsaUJBQWlCO1NBQzNCO0tBQ0Y7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlblRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BwcnknOiB7XG4gICAgc2VsZWN0OiB7XG4gICAgICBsYWJlbDogJ09wdGlvbnMgbGlzdCcsXG4gICAgICBsb2FkaW5nOiAnTG9hZGluZydcbiAgICB9LFxuICAgIGFib3V0OiB7XG4gICAgICBmcm9udDogJ0Zyb250IGxpYnJhcnkgdmVyc2lvbicsXG4gICAgICByZWY6ICdEYXRhLXJlZCB2ZXJzaW9uJyxcbiAgICAgIGRhdGE6ICdEYXRhLXZpcnQgdmVyc2lvbicsXG4gICAgICByZXBsYXk6ICdSZXBsYXkgdmVyc2lvbicsXG4gICAgICBleGVjOiAnRXhlY3V0aW9uIHZlcnNpb24nLFxuICAgICAgdHJhbnNmbzogJ1RyYW5zZm9ybWF0aW9uIHZlcnNpb24nLFxuICAgICAgbm9WZXJzaW9uOiAnVmVyc2lvbiBub3QgZm91bmQnXG4gICAgfSxcbiAgICBoZWFkZXI6IHtcbiAgICAgIG5vQ3VycmVudFByZXNlbnRhdGlvbjogJ1ByZXNlbnRhdGlvbiBub3Qgc2F2ZWQnXG4gICAgfSxcbiAgICB3aWRnZXQ6IHtcbiAgICAgIG5vRGF0YTogJ05vIGRhdGEgc291cmNlIHNlbGVjdGVkJyxcbiAgICAgIHVucmVjb2duaXplZDogJ1Jlc3RpdHV0aW9uIG9mIHR5cGUge3t0eXBlfX0gaXMgdW5rbm93bi4nLFxuICAgICAgYWRkZWRJblZpZXc6ICdSZXN0aXR1dGlvbiBoYXMgYmVlbiBhZGRlZCBvbiB0YWIgbsKwe3tpbmRleH19JyxcbiAgICAgIHVwZGF0ZWRJblZpZXc6ICdSZXN0aXR1dGlvbiBoYXMgYmVlbiB1cGRhdGVkIG9uIHRhYiBuwrB7e2luZGV4fX0nLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgdGl0bGU6ICdTZXR0aW5ncycsXG4gICAgICAgIGNoYW5nZVRpdGxlOiAnV2lkZ2V0IHRpdGxlJyxcbiAgICAgICAgdmFsaWRhdGVVcGRhdGluZzogJ1ZhbGlkYXRlLVVwZGF0aW5nJ1xuICAgICAgfSxcbiAgICAgIGRlZmluZUNhdGFsb2c6ICdEZWZpbmUgY2F0YWxvZyBlbnRyeScsXG4gICAgICBidXR0b25DaG9pY2U6ICdTZWxlY3QgYSByZXN0aXR1dGlvbicsXG4gICAgICB0b29sdGlwOiB7XG4gICAgICAgIHBhcmFtczogJ1BhcmFtZXRlciByZXN0aXR1dGlvbiBwcmVzZW50YXRpb24nLFxuICAgICAgICByZWFkU2VhcmNoOiAnQ2hvb3NlIGRhdGEnLFxuICAgICAgICBkZWxldGVXaWRnZXQ6ICdEZWxldGUgcmVzdGl0dXRpb24nLFxuICAgICAgICBjYXRhbG9nV2lkZ2V0OiAnQWRkIHRvIGNhdGFsb2cnLFxuICAgICAgICBjaGFuZ2VTcG90OiAnQ2hhbmdlIHdpZGdldCBwbGFjZW1lbnQnLFxuICAgICAgICBzcG90TmFtZTogJ1Nwb3QgbsKwe3twbGFjZX19J1xuICAgICAgfSxcbiAgICAgIHRhcmdldDoge1xuICAgICAgICBuZXc6ICdPcGVuIGluIGEgbmV3IHRhYicsXG4gICAgICAgIGV4aXN0aW5nOiAnT3BlbiBpbiB0YWIgbsKwe3t0YXJnZXRJbmRleH19JyxcbiAgICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgICAgbWF4aW1pemU6ICdNYXhpbWl6ZScsXG4gICAgICAgIG5vbmVfYXV0bzogJ0luc2VydCByZXN0aXR1dGlvbnMgaGVyZScsXG4gICAgICAgIG5vbmVfbWFudWFsOiBcIkRyYWcgJ24nIGRyb3BcIixcbiAgICAgICAgbG9hZGluZzogJ0xvYWRpbmcnXG4gICAgICB9LFxuICAgICAgbmFtZWRRdWVyeToge1xuICAgICAgICBkZWZhdWx0UnM6ICdDdXJyZW50IHNlYXJjaCcsXG4gICAgICAgIHJlc3VsdHNBY2N1cmF0ZTogJ3t7dG90YWx9fScsXG4gICAgICAgIHJlc3VsdHNOb25BY2N1cmF0ZTogJ3t7ZGlzcGxheWVkfX0gb2YgYXBwcm94aW1hdGVseSB7e3RvdGFsfX0nXG4gICAgICB9LFxuICAgICAgbW9kYWxUaXRsZTogJ0RvIHlvdSB3YW50IHRvIGNvbmZpcm0/JyxcbiAgICAgIGl0ZW1JZDogJ0lkJyxcbiAgICAgIGNsYXNzOiAnQ2xhc3MnLFxuICAgICAgY29sb3JTY2hlbWU6ICdDb2xvciBzY2hlbWUnLFxuICAgICAgY3VzdG9tOiAnQ3VzdG9tIG7CsHt7aWR9fScsXG4gICAgICBhZGRDb2xvcjogJ0FkZCBjb2xvcicsXG4gICAgICByZW1vdmVDb2xvcjogJ1JlbW92ZSBjb2xvcidcbiAgICB9LFxuICAgIHZpZXc6IHtcbiAgICAgIG5hbWU6ICdUYWIgbsKwe3tyYW5rfX0nXG4gICAgfSxcbiAgICB0b29sYm94OiB7XG4gICAgICBkZWZhdWx0U2l6ZTogJ1Jlc3RpdHV0aW9uIHNpemUnLFxuICAgICAgYW5hbHl0aWM6ICdBbmFseXRpYyB0YWJsZScsXG4gICAgICBtYW5pZmVzdDoge1xuICAgICAgICBuYW1lOiAnUHJlc2VudGF0aW9uIG5hbWUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1ByZXNlbnRhdGlvbiBkZXNjcmlwdGlvbicsXG4gICAgICAgIHNhdmVkOiAnUHJlc2VudGF0aW9uIHNhdmVkIGFzIHt7dmlld0lkfX0nLFxuICAgICAgICBzYXZlRXJyb3JDb2RlOiB7XG4gICAgICAgICAgVU5LTk9XTjogJ1Vua25vd24gZXJyb3InLFxuICAgICAgICAgIEZPUkJJRERFTjogJ1lvdSBhcmUgbm90IHRoZSBvd25lciBvZiB0aGlzIHByZXNlbnRhdGlvbicsXG4gICAgICAgICAgTkFNRV9BTFJFQURZX1VTRUQ6ICdBIHByZXNlbnRhdGlvbiBjYWxsZWQgXCJ7e25hbWV9fVwiIGFscmVhZHkgZXhpc3RzLCBwbGVhc2Ugc2VsZWN0IGFub3RoZXIgbmFtZS4nLFxuICAgICAgICAgIFNBVkVfTUVUQURBVEE6ICdTYXZlIHlvdXIgcHJlc2VudGF0aW9uIGJlZm9yZSBjaG9vc2luZyB0aGUgdGhlbWUuJ1xuICAgICAgICB9LFxuICAgICAgICBkZWZhdWx0ZWQ6ICdQcmVzZW50YXRpb24ge3t2aWV3SWR9fSBtYXJrZWQgYXMgZmF2b3VyaXRlJyxcbiAgICAgICAgdW5kZWZhdWx0ZWQ6ICdQcmVzZW50YXRpb24ge3t2aWV3SWR9fSBpcyBubyBsb25nZXIgbWFya2VkIGFzIGZhdm91cml0ZScsXG4gICAgICAgIHZhbGlkYXRlZDogJ1ZhbGlkYXRlJyxcbiAgICAgICAgY2hlY2s6ICdTYXZlJyxcbiAgICAgICAgY2xvc2U6ICdDYW5jZWwnLFxuICAgICAgICB2YWxpZGF0ZTogJ1ZhbGlkYXRlJ1xuICAgICAgfSxcbiAgICAgIGNhdGFsb2c6IHtcbiAgICAgICAgdGl0bGU6ICdDdXN0b20nLFxuICAgICAgICBsYWJlbDogJ05hbWUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgaWNvbjogJ0ltYWdlJyxcbiAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgZGVsZXRlOiAnQ2FuY2VsIGZpbHRlcicsXG4gICAgICAgICAgdHlwZTogJ0ZpbHRlciBieSB0eXBlJyxcbiAgICAgICAgICBuYW1lOiAnRmlsdGVyIGJ5IG5hbWUnXG4gICAgICAgIH0sXG4gICAgICAgIHNhdmVkOiAnUmVzdGl0dXRpb24gc2F2ZWQgYXMge3t2aWV3SWR9fScsXG4gICAgICAgIHNhdmVFcnJvckNvZGU6IHtcbiAgICAgICAgICBVTktOT1dOOiAnVW5rbm93biBlcnJvcicsXG4gICAgICAgICAgTkFNRV9BTFJFQURZX1VTRUQ6ICdBIHJlc3RpdHV0aW9uIGNhbGxlZCBcInt7bmFtZX19XCIgYWxyZWFkeSBleGlzdHMsIHBsZWFzZSBzZWxlY3QgYW5vdGhlciBuYW1lLidcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGFib3V0OiAnSW5mb3JtYXRpb24nLFxuICAgICAgZWRpdDogJ01vZGlmeSBsYXlvdXQnLFxuICAgICAgZWRpdE9mZjogJ1Zpc3VhbGl6ZSBsYXlvdXQnLFxuICAgICAgbGF1bmNoOiAnTmV3IHRhYicsXG4gICAgICBsYXVuY2hJbmRpY2F0aW9uOiAnT3BlbiB0aGlzIHBhZ2UgaW4gYScsXG4gICAgICBjaG9vc2VHcmlkOiAnQ2hhbmdlIGdyaWQgbGF5b3V0JyxcbiAgICAgIGNsZWFyOiAnQ2xlYXIgcHJlc2VudGF0aW9uJyxcbiAgICAgIHJlZnJlc2g6ICdSZWZyZXNoIGRhdGEnLFxuICAgICAgYXV0b21hdGVSZWZyZXNoOiAnQXV0b21hdGUgcmVmcmVzaCcsXG4gICAgICBvcHRpb25zOiAnT3B0aW9ucycsXG4gICAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICAgIGZpbHRlcjogJ0ZpbHRlcicsXG4gICAgICBoZWF0bWFwOiAnSGVhdG1hcCcsXG4gICAgICBidWJibGVtYXA6ICdCdWJibGVzJyxcbiAgICAgIG1hcmtlcm1hcDogJ01hcmtlcnMnLFxuICAgICAgc2ltcGxlbWFwOiAnTWFwJyxcbiAgICAgIG1hcDogJ01hcCcsXG4gICAgICB0YWJsZTogJ1RhYmxlJyxcbiAgICAgIGRldGFpbDogJ0RldGFpbCcsXG4gICAgICBjaGFydDogJ0NoYXJ0JyxcbiAgICAgIHJlc3VsdFNldDogJ05hbWVkIFF1ZXJpZXMnLFxuICAgICAgcmVuYW1lOiAnU2F2ZSBteSBwcmVzZW50YXRpb24nLFxuICAgICAgcmVzdG9yZTogJ1Jlc3RvcmUgY2xvc2VkIHBhZ2VzJyxcbiAgICAgIHNhdmU6ICdTYXZlJyxcbiAgICAgIGRyYWc6ICdSZXN0aXR1dGlvbi4uLicsXG4gICAgICBkcmFnSW5kaWNhdGlvbjogJ0luc2VydCBhJyxcbiAgICAgIGJhcmNoYXJ0OiAnQmFyJyxcbiAgICAgIGhpc3RvZ3JhbTogJ0hpc3RvZ3JhbScsXG4gICAgICBsaW5lY2hhcnQ6ICdMaW5lJyxcbiAgICAgIHBvaW50Y2hhcnQ6ICdQb2ludCcsXG4gICAgICBhcmVhY2hhcnQ6ICdBcmVhJyxcbiAgICAgIGFyY2NoYXJ0OiAnQXJjJyxcbiAgICAgIHJhZGFyY2hhcnQ6ICdSYWRhcicsXG4gICAgICBjaXJjbGVjaGFydDogJ0NpcmNsZSBwYWNraW5nJyxcbiAgICAgIGlmcmFtZTogJ0V4dGVybmFsIGFwcGxpY2F0aW9uJyxcbiAgICAgIHZlZ2E6ICdBZHZhbmNlZCBjaGFydCcsXG4gICAgICBncmFwaDogJ0dyYXBoJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnJyxcbiAgICAgIHN1Yjoge1xuICAgICAgICBtYXA6ICdNYXAnLFxuICAgICAgICBjaGFydDogJ0NoYXJ0JyxcbiAgICAgICAgb3RoZXI6ICdPdGhlcidcbiAgICAgIH0sXG4gICAgICB0aWxlOiAnVGlsZXMnLFxuICAgICAgdGVtcGxhdGU6ICdIVE1MIFRlbXBsYXRlJyxcbiAgICAgIG5vdzogJ1RvZGF5JyxcbiAgICAgIHNpbmNlX2RheTogJ3t7ZGF5fX0gZGF5e3twbHVyYWx9fSBhZ28nLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgICcwJzogJ0ZyZWUgbGF5b3V0JyxcbiAgICAgICAgJzBfZGV0YWlsbGVkJzogJ0ZyZWUgbW9kZSBkaXNwbGF5LCByZW5kZXJpbmcgc2l6ZSBhbmQgcG9zaXRpb25pbmcgZnVsbHkgY3VzdG9taXphYmxlIGJ5IHRoZSB1c2VyLicsXG4gICAgICAgICcxJzogJ0Z1bGxzY3JlZW4nLFxuICAgICAgICAnMV9kZXRhaWxsZWQnOiAnRGlzcGxheSBvZiBhIHNpbmdsZSByZW5kZXIgb24gdGhlIHdob2xlIHNjcmVlbiwgdGhlIHBsYWNlbWVudCBpcyBzeXN0ZW0gZ3VpZGVkLicsXG4gICAgICAgICcxLzJ2JzogJ1ZlcnRpY2FsIDEvMicsXG4gICAgICAgICcxLzJ2X2RldGFpbGxlZCc6XG4gICAgICAgICAgJ0Rpc3BsYXkgb2YgMiByZW5kZXJzIG1heGltdW0sIG9uIGEgc2NyZWVuIHNwbGl0IGluIDIgdmVydGljYWwgem9uZXMsIHRoZSByZW5kZXIgYWRkdGlvbiBpcyBtYWRlIGluIGFuIGVtcHR5IHpvbmUsIHRoZSBwbGFjZW1lbnQgaXMgc3lzdGVtIGd1aWRlZC4nLFxuICAgICAgICAnMS8yaCc6ICdIb3Jpem9udGFsIDEvMicsXG4gICAgICAgICcxLzJoX2RldGFpbGxlZCc6XG4gICAgICAgICAgJ0Rpc3BsYXkgb2YgMiByZW5kZXJzIG1heGltdW0sIG9uIGEgc2NyZWVuIHNwbGl0IGluIDIgaG9yaXpvbnRhbCB6b25lcywgdGhlIHJlbmRlciBhZGR0aW9uIGlzIG1hZGUgaW4gYW4gZW1wdHkgem9uZSwgdGhlIHBsYWNlbWVudCBpcyBzeXN0ZW0gZ3VpZGVkLicsXG4gICAgICAgICcxLzN2JzogJ1ZlcnRpY2FsIDEvMycsXG4gICAgICAgICcxLzN2X2RldGFpbGxlZCc6XG4gICAgICAgICAgJ0Rpc3BsYXkgb2YgMyByZW5kZXJzIG1heGltdW0sIG9uIGEgc2NyZWVuIHNwbGl0IGluIDMgdmVydGljYWwgem9uZXMsIHRoZSByZW5kZXIgYWRkdGlvbiBpcyBtYWRlIGluIGFuIGVtcHR5IHpvbmUsIHRoZSBwbGFjZW1lbnQgaXMgc3lzdGVtIGd1aWRlZC4nLFxuICAgICAgICAnMS8zaCc6ICdIb3Jpem9udGFsIDEvMycsXG4gICAgICAgICcxLzNoX2RldGFpbGxlZCc6XG4gICAgICAgICAgJ0Rpc3BsYXkgb2YgMyByZW5kZXJzIG1heGltdW0sIG9uIGEgc2NyZWVuIHNwbGl0IGluIDMgaG9yaXpvbnRhbCB6b25lcywgdGhlIHJlbmRlciBhZGR0aW9uIGlzIG1hZGUgaW4gYW4gZW1wdHkgem9uZSwgdGhlIHBsYWNlbWVudCBpcyBzeXN0ZW0gZ3VpZGVkLicsXG4gICAgICAgICcxLzQnOiAnMS80IHNjcmVlbicsXG4gICAgICAgICcxLzRfZGV0YWlsbGVkJzpcbiAgICAgICAgICAnRGlzcGxheSBvZiA0IHJlbmRlcnMgbWF4aW11bSwgb24gYSBzcGxpdCBzY3JlZW4gaW4gNCB6b25lcywgdGhlIHJlbmRlciBhZGR0aW9uIGlzIG1hZGUgaW4gYW4gZW1wdHkgem9uZSwgdGhlIHBsYWNlbWVudCBpcyBzeXN0ZW0gZ3VpZGVkLidcbiAgICAgIH0sXG4gICAgICBzd2l0Y2hFZGl0OiAnRWRpdCcsXG4gICAgICBzd2l0Y2hFZGl0Q29udGVudDogJ0VkaXQgY29tcG9zaXRpb24nLFxuICAgICAgc2hhcmU6ICdTaGFyZScsXG4gICAgICBzaGFyZUFjY2Vzc1JpZ2h0czogJ1NoYXJlIGFjY2VzcyByaWdodHMnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIG5vdEluRHNBdHRyOiAnVW5hdmFpbGFibGUgYXR0cmlidXRlJ1xuICAgIH0sXG4gICAgbWFuaWZlc3Q6IHtcbiAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgY3JlYXRpb246ICdDcmVhdGlvbiBkYXRlJyxcbiAgICAgIG1vZGlmaWNhdGlvbjogJ01vZGlmaWNhdGlvbiBkYXRlJyxcbiAgICAgIGFjdGlvbnM6ICdBY3Rpb25zJyxcbiAgICAgIGltcG9ydDogJ0ltcG9ydCcsXG4gICAgICBpbXBvcnRBbHQ6ICdJbXBvcnQgYSBwcmVzZW50YXRpb24nLFxuICAgICAgdGl0bGU6ICdQcmVzZW50YXRpb25zJyxcbiAgICAgIGdldDoge1xuICAgICAgICBlcnJvckZyb250OiAnQ2xpZW50IGVycm9yIDoge3ttc2d9fScsXG4gICAgICAgIGVycm9yQmFjazogJ1NlcnZlciBlcnJvciB3aXRoIGNvZGUgOiBbe3tjb2RlfX1dJ1xuICAgICAgfSxcbiAgICAgIGRlZmF1bHQ6ICdTZXQgZGVmYXVsdCcsXG4gICAgICBkb3dubG9hZDogJ0Rvd25sb2FkJyxcbiAgICAgIGxvYWQ6ICdMb2FkJyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICBkZWxldGVFcnJvcjogJ1NlYXJjaCB1c2VkIGluIG9uZSBvciBtb3JlIHJlc3RpdHV0aW9uKHMpLCBwbGVhc2UgZGVsZXRlIHRoZW0gZmlyc3QnXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGRhdGU6ICdNTS9kZC95eXl5JyxcbiAgICAgIGRhdGV0aW1lOiAnTU0vZGQveXl5eSBoaDptbTpzcyBhJyxcbiAgICAgIGRlY2ltYWw6ICcuJyxcbiAgICAgIHRob3VzYW5kczogJy4nXG4gICAgfSxcbiAgICBjb250ZXh0OiB7XG4gICAgICBhZGQ6ICdBZGQgdG8gc2VsZWN0aW9uJyxcbiAgICAgIHJlbW92ZTogJ1JlbW92ZSBmcm9tIHNlbGVjdGlvbicsXG4gICAgICBsaW5rOiAnTGluayB0byBzZWxlY3Rpb24nLFxuICAgICAgaW52ZXJ0OiAnSW52ZXJ0IHNlbGVjdGlvbicsXG4gICAgICBwcm94aW1pdHk6ICdHZXQgbGlua2VkIG9iamVjdHMnLFxuICAgICAgZXhwbG9yZTogJ09wZW4gR3JhcGggcmVzdGl0dXRpb24nLFxuICAgICAgZGV0YWlsOiAnT3BlbiBEZXRhaWwgcmVzdGl0dXRpb24nLFxuICAgICAgZmx5aW5nRGV0YWlsOiAnVmlldyBvYmplY3QnLFxuICAgICAgYWRkcmVzc0Zyb21Mb2M6ICdHZXQgYWRkcmVzcycsXG4gICAgICBlcnJvclNlYXJjaEFkZHJlc3M6ICdBZGRyZXNzIG5vdCBmb3VuZCcsXG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgY3JlYXRlOiAnQ3JlYXRlJyxcbiAgICAgIGNyZWF0ZU9iamVjdDoge1xuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIG9iamVjdDogJ0NyZWF0ZSBhbiBvYmplY3QnLFxuICAgICAgICAgIGxpbms6ICdDcmVhdGUgYSBsaW5rJyxcbiAgICAgICAgICBpbnZlcnNpb246ICdSZXZlcnNlIHRoZSBsaW5rJyxcbiAgICAgICAgICBsaW5rZWRPYmplY3Q6ICdDcmVhdGUgYSBsaW5rZWQgb2JqZWN0J1xuICAgICAgICB9LFxuICAgICAgICBjbGFzczogJ09iamVjdCBjbGFzcycsXG4gICAgICAgIGxpbms6ICdMaW5rIHdpdGggdGhlIG5ldyBvYmplY3QnLFxuICAgICAgICBjcmVhdGVkOiAnT2JqZWN0IGhhcyBiZWVuIGNyZWF0ZWQnLFxuICAgICAgICBkZXRhaWxzOiAnU2VlIGRldGFpbCcsXG4gICAgICAgIGFkZE11bHRpRmllbGQ6ICdBZGQgYSB7e25hbWV9fSB2YWx1ZSdcbiAgICAgIH1cbiAgICB9LFxuICAgIGFjdGlvbjoge1xuICAgICAgY2xvc2U6ICdDbG9zZScsXG4gICAgICBjbG9zZVBhbmVsOiAnQ2xvc2UgcGFuZWwnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIGVkaXQ6ICdFZGl0JyxcbiAgICAgIGVkaXRQcm9maWw6ICdFZGl0IHByb2ZpbCcsXG4gICAgICBjaG9pY2U6ICdDaG9pY2UnLFxuICAgICAgY2hvaWNlSW5MaXN0OiAnQ2hvb3NlIGFuIGl0ZW0gaW4gbGlzdCcsXG4gICAgICB0ZXh0OiAnRmlsbCBmaWVsZCcsXG4gICAgICBzb3J0YWJsZUNvbHVtbkhlYWRlcjogJ1VzZSBjb2x1bW4gaGVhZGVyIGJ1dHRvbnMgdG8gc29ydCcsXG4gICAgICB2aWV3RGV0YWlsczogJ1ZpZXcgZGV0YWlscycsXG4gICAgICBzZWxlY3REYXRlOiAnU2VsZWN0IGEgZGF0ZScsXG4gICAgICBvcGVuc0luTmV3VGFiOiAnT3BlbnMgaW4gbmV3IHRhYicsXG4gICAgICBza2lwTGluazogJ1NraXAgdG8gbWFpbiBjb250ZW50JyxcbiAgICAgIHNlbGVjdFBpY3R1cmU6ICdTZWxlY3QgYSBwaWN0dXJlJyxcbiAgICAgIG1vdmVEb3duOiAnTW92ZSBkb3duJyxcbiAgICAgIG1vdmVVcDogJ01vdmUgdXAnLFxuICAgICAgZXhwb3J0QXNGb3JtYXQ6ICdFeHBvcnQgYXMnLFxuICAgICAgb3Blbk1lbnVXaWRnZXQ6ICdSZXN0aXR1dGlvbiBtZW51JyxcbiAgICAgIHNlYXJjaDogJ1NlYXJjaCcsXG4gICAgICB1cGxvYWQ6ICdBZGQgaW1hZ2UnLFxuICAgICAgbmV4dDogJ05leHQnLFxuICAgICAgYmFjazogJ0JhY2snLFxuICAgICAgZmlsdGVyQnlUeXBlOiAnRmlsdGVyIGJ5IHR5cGUnLFxuICAgICAgZWRpdE1ldGFkYXRhOiAnRWRpdCBtZXRhZGF0YScsXG4gICAgICBhZGRNZXRhZGF0YTogJ0FkZCBtZXRhZGF0YSdcbiAgICB9LFxuICAgIHNuYWNrOiB7XG4gICAgICBkZWZhdWx0OiAnVmVnYSBlbmNvdW50ZXJlZCBhbiBlcnJvciB1c2luZyB5b3VyIGRhdGEgYW5kIHNldHRpbmdzLicsXG4gICAgICBtaXNzaW5nUGFyZW50OiAnQSBwYXJlbnQgbm9kZSBpcyBtaXNzaW5nIGluIHlvdXIgZGF0YXNldC4gUGxlYXNlIGZpeCB5b3VyIGRhdGEuJyxcbiAgICAgIG1pc3NpbmdWYWx1ZTogJ0FuIGl0ZW0gaXMgbWlzc2luZyB0aGUgdmFsdWUgZmllbGQuIFBsZWFzZSBmaXggeW91ciBkYXRhLicsXG4gICAgICBlbXB0eVZhbHVlczogJ0ZpZWxkIHZhbHVlcyBjYW5ub3QgYmUgYWxsIGF0IDAuIFBsZWFzZSBmaXggeW91ciBkYXRhLicsXG4gICAgICBwYWdlc0NoYW5nZWQ6ICdBdHRlbnRpb24sIGxlIG5vbWJyZSBkZSBwYWdlcyBkZSB2b3RyZSBwcsOpc2VudGF0aW9uIGEgY2hhbmfDqSwgcXVlIHNvdWhhaXRlei12b3VzIGZhaXJlID8nLFxuICAgICAgaW1hZ2VOYW1lQWxyZWFkeVVzZWQ6ICdUaGlzIGltYWdlIG5hbWUgaXMgYWxyZWFkeSB1c2VkJ1xuICAgIH0sXG4gICAgdGhlbWU6IHtcbiAgICAgIGVkaXRJbnB1dDoge1xuICAgICAgICB0b2dnbGU6ICdFZGl0JyxcbiAgICAgICAgY29uZmlybTogJ0NvbmZpcm0nXG4gICAgICB9LFxuICAgICAgcHJldmlvdXNNb250aDogJ1ByZXZpb3VzIG1vbnRoJyxcbiAgICAgIG5leHRNb250aDogJ05leHQgbW9udGgnLFxuICAgICAgd2Vla2RheXM6IHtcbiAgICAgICAgMDogJ01vbmRheScsXG4gICAgICAgIDE6ICdUdWVzZGF5JyxcbiAgICAgICAgMjogJ1dlZG5lc2RheScsXG4gICAgICAgIDM6ICdUaHVyc2RheScsXG4gICAgICAgIDQ6ICdGcmlkYXknLFxuICAgICAgICA1OiAnU2F0dXJkYXknLFxuICAgICAgICA2OiAnU3VuZGF5J1xuICAgICAgfSxcbiAgICAgIHNob3J0V2Vla2RheXM6IHtcbiAgICAgICAgMDogJ01vbicsXG4gICAgICAgIDE6ICdUdWUnLFxuICAgICAgICAyOiAnV2VkJyxcbiAgICAgICAgMzogJ1RodScsXG4gICAgICAgIDQ6ICdGcmknLFxuICAgICAgICA1OiAnU2F0JyxcbiAgICAgICAgNjogJ1N1bidcbiAgICAgIH0sXG4gICAgICBtb250aHM6IHtcbiAgICAgICAgMDogJ0phbnVhcnknLFxuICAgICAgICAxOiAnRmVicnVhcnknLFxuICAgICAgICAyOiAnTWFyY2gnLFxuICAgICAgICAzOiAnQXByaWwnLFxuICAgICAgICA0OiAnTWF5JyxcbiAgICAgICAgNTogJ0p1bmUnLFxuICAgICAgICA2OiAnSnVseScsXG4gICAgICAgIDc6ICdBdWd1c3QnLFxuICAgICAgICA4OiAnU2VwdGVtYmVyJyxcbiAgICAgICAgOTogJ09jdG9iZXInLFxuICAgICAgICAxMDogJ05vdmVtYmVyJyxcbiAgICAgICAgMTE6ICdEZWNlbWJlcidcbiAgICAgIH1cbiAgICB9LFxuICAgIHNoYXJlOiB7XG4gICAgICBwcml2YXRlOiAnUHJpdmF0ZScsXG4gICAgICBwdWJsaWM6ICdQdWJsaWMnLFxuICAgICAgcmVzdHJpY3RlZDogJ1Jlc3RyaWN0ZWQnLFxuICAgICAgdHlwZTogJ1Zpc2liaWxpdHknLFxuICAgICAgdXNlcnM6ICdBdXRob3JpemVkIHVzZXJzJyxcbiAgICAgIG5vR3JvdXBzOiAnTm8gZ3JvdXAgYXZhaWxhYmxlJyxcbiAgICAgIGdyb3Vwczoge1xuICAgICAgICBBTEw6ICdQdWJsaWMnLFxuICAgICAgICBBVVRIRU5USUNBVEVEOiAnQ29ubmVjdGVkIHVzZXJzJ1xuICAgICAgfSxcbiAgICAgIGNvbmZsaWN0OiB7XG4gICAgICAgIHRpdGxlOiAnV2FybmluZycsXG4gICAgICAgIG1haW46ICdUaGUgZm9sbG93aW5nIGRhdGEgc291cmNlcyBhcmUgbm90IGFjY2Vzc2libGUgdG8gdGhlIHNlbGVjdGVkIHVzZXIgZ3JvdXBzOicsXG4gICAgICAgIHVuYXZhaWxhYmxlOiAnaW5hY2Nlc3NpYmxlIGF1eCBncm91cGVzIDogJ1xuICAgICAgfSxcbiAgICAgIGRhc2hib2FyZEFjY2VzczogJ1NoYXJlIGFjY2VzcyB0byB0aGlzIGRhc2hib2FyZCB0byBzZWxlY3RlZCB1c2VyIGdyb3VwcycsXG4gICAgICBwbGFjZWhvbGRlcjogJ0Nob3NlIG9uZSBvciBtb3JlIGdyb3VwcycsXG4gICAgICByZWFkOiAnQ2FuIHJlYWQnLFxuICAgICAgd3JpdGU6ICdDYW4gbW9kaWZ5JyxcbiAgICAgIGFjY2Vzc0Rlc2NyaXB0aW9uOiAnXCJDYW4gcmVhZFwiIGFsbG93cyByZWFkIGFjZXNzIFwiQ2FuIG1vZGlmeVwiIGFsbG93cyByZWFkIGFuZCB3cml0ZSBhY2Nlc3MnLFxuICAgICAgbWU6ICdNZScsXG4gICAgICBvd25lcjogJ093bmVyJ1xuICAgIH0sXG4gICAgaG9tZXBhZ2U6IHtcbiAgICAgIG1lbnU6IHtcbiAgICAgICAgbW9kZWw6ICdEYXRhIG1vZGVsJyxcbiAgICAgICAgZGF0YTogJ0RhdGEgYWNjZXNzJ1xuICAgICAgfVxuICAgIH0sXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIHZpZXc6ICdWaWV3IG1ldGFkYXRhJ1xuICAgIH0sXG4gICAgY29tcG9uZW50czoge1xuICAgICAgc2VhcmNoRGF0YTogJ1NlYXJjaCcsXG4gICAgICBjaGlwc1NlbGVjdG9yOiB7XG4gICAgICAgIGRhdGFzb3VyY2U6IHtcbiAgICAgICAgICBzZWxlY3Q6ICdTZWxlY3Qgb25lIG9yIG1vcmUgZGF0YSBzb3VyY2Uocyk6JyxcbiAgICAgICAgICBzZWxlY3Rpb246ICdTZWxlY3RlZCBkYXRhIHNvdXJjZShzKTonLFxuICAgICAgICAgIHNlbGVjdEl0ZW06ICdTZWxlY3QgdGhpcyBkYXRhIHNvdXJjZScsXG4gICAgICAgICAgdW5zZWxlY3RJdGVtOiAnVW5zZWxlY3QgdGhpcyBkYXRhIHNvdXJjZScsXG4gICAgICAgICAgbm9JdGVtU2VsZWN0ZWQ6ICdObyBkYXRhIHNvdXJjZSBzZWxlY3RlZCdcbiAgICAgICAgfSxcbiAgICAgICAgc2hhcmU6IHtcbiAgICAgICAgICBzZWxlY3Q6ICdTZWxlY3Qgb25lIG9yIG1vcmUgdXNlciBncm91cDonLFxuICAgICAgICAgIHNlbGVjdGlvbjogJ1NlbGVjdGVkIHVzZXIgZ3JvdXBzOicsXG4gICAgICAgICAgc2VsZWN0SXRlbTogJ1NlbGVjdCB0aGlzIHVzZXIgZ3JvdXAnLFxuICAgICAgICAgIHVuc2VsZWN0SXRlbTogJ1Vuc2VsZWN0IHRoaXMgdXNlciBncm91cCcsXG4gICAgICAgICAgbm9JdGVtU2VsZWN0ZWQ6ICdObyB1c2VyIGdyb3VwIHNlbGVjdGVkJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBlcnJvcnM6IHtcbiAgICAgIGRlZmF1bHQ6ICdUaGVyZSBpcyBhbiBlcnJvci4gVHJ5IGFnYWluIG9yIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yJyxcbiAgICAgIGNvZGVzOiB7XG4gICAgICAgIDA6ICdBbiBlcnJvciBvY2N1cnJlZCBvbiBjbGllbnQtc2lkZS4gVGhpcyBtYXkgYmUgY2F1c2VkIGJ5IENPUlMsIG5ldHdvcmsgZXJyb3IsIC4uLiBSZXNvdXJjZSBjYW5ub3QgYmUgcmVhY2hlZC4nLFxuICAgICAgICA0MDA6ICdBbiBlcnJvciBvY2N1cnJlZC4nLFxuICAgICAgICA0MDE6ICdTZXNzaW9uIGV4cGlyZWQuIFRyeSB0byByZWNvbm5lY3QhJyxcbiAgICAgICAgNDAzOiAnQWNjZXNzIHVuYXV0aG9yaXplZCcsXG4gICAgICAgIDQwNDogJ1Jlc3NvdXJjZSBub3QgZm91bmQnLFxuICAgICAgICA0MDk6ICdSZXNzb3VyY2UgYWxyZWFkeSBleGlzdCcsXG4gICAgICAgIDUwMDogJ0FuIGVycm9yIG9jY3VycmVkLicsXG4gICAgICAgIDUwMzogJ1NlcnZpY2UgdW5hdmFpbGFibGUuIHRyeSBhZ2FpbiBsYXRlciEnXG4gICAgICB9XG4gICAgfSxcbiAgICBmaWx0ZXJzOiB7XG4gICAgICBsYWJlbDogJ0ZpbHRlciBzZXR0aW5ncycsXG4gICAgICBub0F0dHJpYnV0ZXM6ICdQcmVzZW50YXRpb24gaGFkIG5vIGF2YWlsYWJsZSBhdHRyaWJ1dGVzJyxcbiAgICAgIG5vRmlsdGVyczogJ05vIGZpbHRlcnMgc2V0IHVwIGZvciB0aGlzIHByZXNlbnRhdGlvbiB5ZXQuJyxcbiAgICAgIGNsZWFyOiAnQ2xlYXIgYWxsJyxcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgYXR0cmlidXRlczogJ0F0dHJpYnV0ZXM6ICcsXG4gICAgICAgIGFkZDogJ0FkZCBmaWx0ZXInLFxuICAgICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgICAgICBtb2RpZnk6ICdNb2RpZnknXG4gICAgICB9LFxuICAgICAgY3JlYXRpb246IHtcbiAgICAgICAgY3JlYXRlOiAnTmV3IGZpbHRlcicsXG4gICAgICAgIHVwZGF0ZTogJ0VkaXQgZmlsdGVyJyxcbiAgICAgICAgbmFtZTogJ0ZpbHRlciBuYW1lJyxcbiAgICAgICAgdHlwZTogJ0ZpbHRlciB0eXBlJyxcbiAgICAgICAgZmlsdGVyOiAnRmlsdGVyJyxcbiAgICAgICAgYXR0cmlidXRlczogJ0F0dHJpYnV0ZXMnLFxuICAgICAgICB2YWx1ZTogJ1ZhbHVlJyxcbiAgICAgICAgdmFsdWVzOiAnVmFsdWVzJyxcbiAgICAgICAgdmFsaWRhdGU6ICdDb25maXJtJyxcbiAgICAgICAgbGltaXQ6ICdOdW1iZXIgb2YgYXV0by1zdWdnZXN0ZWQgdmFsdWVzJyxcbiAgICAgICAgZGF0ZVJhbmdlOiAnRGF0ZSByYW5nZSdcbiAgICAgIH0sXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGRhdGFzb3VyY2U6ICdEYXRhc291cmNlJyxcbiAgICAgICAgY2xhc3M6ICdDbGFzc2UnLFxuICAgICAgICBvcGVyYXRvcjogJ09wZXJhdG9yJ1xuICAgICAgfSxcbiAgICAgIHR5cGVzOiB7XG4gICAgICAgIHRleHQ6ICdUZXh0JyxcbiAgICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgICBsaXN0OiAnTGlzdCcsXG4gICAgICAgIG51bWJlcjogJ051bWJlcicsXG4gICAgICAgIGF1dG9jb21wbGV0ZTogJ0F1dG9jb21wbGV0ZSdcbiAgICAgIH1cbiAgICB9LFxuICAgIGdlb0F1dGg6IHtcbiAgICAgIGZhaWx1cmU6ICdHZW9zZXJ2ZXIgZXJyb3InXG4gICAgfVxuICB9LFxuICBncmlkOiB7XG4gICAgcm93czogJ1Jvd3MnLFxuICAgIGNvbHVtbnM6ICdDb2x1bW5zJ1xuICB9XG59O1xuIl19
409
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvaTE4bi9lbi50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxjQUFjO1lBQ3JCLE9BQU8sRUFBRSxTQUFTO1NBQ25CO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixHQUFHLEVBQUUsa0JBQWtCO1lBQ3ZCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsU0FBUyxFQUFFLG1CQUFtQjtTQUMvQjtRQUNELE1BQU0sRUFBRTtZQUNOLHFCQUFxQixFQUFFLHdCQUF3QjtTQUNoRDtRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSx5QkFBeUI7WUFDakMsWUFBWSxFQUFFLDBDQUEwQztZQUN4RCxXQUFXLEVBQUUsK0NBQStDO1lBQzVELGFBQWEsRUFBRSxpREFBaUQ7WUFDaEUsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxVQUFVO2dCQUNqQixXQUFXLEVBQUUsY0FBYztnQkFDM0IsZ0JBQWdCLEVBQUUsbUJBQW1CO2FBQ3RDO1lBQ0QsYUFBYSxFQUFFLHNCQUFzQjtZQUNyQyxZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUUsb0NBQW9DO2dCQUM1QyxVQUFVLEVBQUUsYUFBYTtnQkFDekIsWUFBWSxFQUFFLG9CQUFvQjtnQkFDbEMsYUFBYSxFQUFFLGdCQUFnQjtnQkFDL0IsVUFBVSxFQUFFLHlCQUF5QjtnQkFDckMsUUFBUSxFQUFF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c2VsZWN0OiB7XG4gICAgICBsYWJlbDogJ09wdGlvbnMgbGlzdCcsXG4gICAgICBsb2FkaW5nOiAnTG9hZGluZydcbiAgICB9LFxuICAgIGFib3V0OiB7XG4gICAgICBmcm9udDogJ0Zyb250IGxpYnJhcnkgdmVyc2lvbicsXG4gICAgICByZWY6ICdEYXRhLXJlZCB2ZXJzaW9uJyxcbiAgICAgIGRhdGE6ICdEYXRhLXZpcnQgdmVyc2lvbicsXG4gICAgICByZXBsYXk6ICdSZXBsYXkgdmVyc2lvbicsXG4gICAgICBleGVjOiAnRXhlY3V0aW9uIHZlcnNpb24nLFxuICAgICAgdHJhbnNmbzogJ1RyYW5zZm9ybWF0aW9uIHZlcnNpb24nLFxuICAgICAgbm9WZXJzaW9uOiAnVmVyc2lvbiBub3QgZm91bmQnXG4gICAgfSxcbiAgICBoZWFkZXI6IHtcbiAgICAgIG5vQ3VycmVudFByZXNlbnRhdGlvbjogJ1ByZXNlbnRhdGlvbiBub3Qgc2F2ZWQnXG4gICAgfSxcbiAgICB3aWRnZXQ6IHtcbiAgICAgIG5vRGF0YTogJ05vIGRhdGEgc291cmNlIHNlbGVjdGVkJyxcbiAgICAgIHVucmVjb2duaXplZDogJ1Jlc3RpdHV0aW9uIG9mIHR5cGUge3t0eXBlfX0gaXMgdW5rbm93bi4nLFxuICAgICAgYWRkZWRJblZpZXc6ICdSZXN0aXR1dGlvbiBoYXMgYmVlbiBhZGRlZCBvbiB0YWIgbsKwe3tpbmRleH19JyxcbiAgICAgIHVwZGF0ZWRJblZpZXc6ICdSZXN0aXR1dGlvbiBoYXMgYmVlbiB1cGRhdGVkIG9uIHRhYiBuwrB7e2luZGV4fX0nLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgdGl0bGU6ICdTZXR0aW5ncycsXG4gICAgICAgIGNoYW5nZVRpdGxlOiAnV2lkZ2V0IHRpdGxlJyxcbiAgICAgICAgdmFsaWRhdGVVcGRhdGluZzogJ1ZhbGlkYXRlLVVwZGF0aW5nJ1xuICAgICAgfSxcbiAgICAgIGRlZmluZUNhdGFsb2c6ICdEZWZpbmUgY2F0YWxvZyBlbnRyeScsXG4gICAgICBidXR0b25DaG9pY2U6ICdTZWxlY3QgYSByZXN0aXR1dGlvbicsXG4gICAgICB0b29sdGlwOiB7XG4gICAgICAgIHBhcmFtczogJ1BhcmFtZXRlciByZXN0aXR1dGlvbiBwcmVzZW50YXRpb24nLFxuICAgICAgICByZWFkU2VhcmNoOiAnQ2hvb3NlIGRhdGEnLFxuICAgICAgICBkZWxldGVXaWRnZXQ6ICdEZWxldGUgcmVzdGl0dXRpb24nLFxuICAgICAgICBjYXRhbG9nV2lkZ2V0OiAnQWRkIHRvIGNhdGFsb2cnLFxuICAgICAgICBjaGFuZ2VTcG90OiAnQ2hhbmdlIHdpZGdldCBwbGFjZW1lbnQnLFxuICAgICAgICBzcG90TmFtZTogJ1Nwb3QgbsKwe3twbGFjZX19J1xuICAgICAgfSxcbiAgICAgIHRhcmdldDoge1xuICAgICAgICBuZXc6ICdPcGVuIGluIGEgbmV3IHRhYicsXG4gICAgICAgIGV4aXN0aW5nOiAnT3BlbiBpbiB0YWIgbsKwe3t0YXJnZXRJbmRleH19JyxcbiAgICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgICAgbWF4aW1pemU6ICdNYXhpbWl6ZScsXG4gICAgICAgIG5vbmVfYXV0bzogJ0luc2VydCByZXN0aXR1dGlvbnMgaGVyZScsXG4gICAgICAgIG5vbmVfbWFudWFsOiBcIkRyYWcgJ24nIGRyb3BcIixcbiAgICAgICAgbG9hZGluZzogJ0xvYWRpbmcnXG4gICAgICB9LFxuICAgICAgbmFtZWRRdWVyeToge1xuICAgICAgICBkZWZhdWx0UnM6ICdDdXJyZW50IHNlYXJjaCcsXG4gICAgICAgIHJlc3VsdHNBY2N1cmF0ZTogJ3t7dG90YWx9fScsXG4gICAgICAgIHJlc3VsdHNOb25BY2N1cmF0ZTogJ3t7ZGlzcGxheWVkfX0gb2YgYXBwcm94aW1hdGVseSB7e3RvdGFsfX0nXG4gICAgICB9LFxuICAgICAgbW9kYWxUaXRsZTogJ0RvIHlvdSB3YW50IHRvIGNvbmZpcm0/JyxcbiAgICAgIGl0ZW1JZDogJ0lkJyxcbiAgICAgIGNsYXNzOiAnQ2xhc3MnLFxuICAgICAgY29sb3JTY2hlbWU6ICdDb2xvciBzY2hlbWUnLFxuICAgICAgY3VzdG9tOiAnQ3VzdG9tIG7CsHt7aWR9fScsXG4gICAgICBhZGRDb2xvcjogJ0FkZCBjb2xvcicsXG4gICAgICByZW1vdmVDb2xvcjogJ1JlbW92ZSBjb2xvcidcbiAgICB9LFxuICAgIHZpZXc6IHtcbiAgICAgIG5hbWU6ICdUYWIgbsKwe3tyYW5rfX0nXG4gICAgfSxcbiAgICB0b29sYm94OiB7XG4gICAgICBkZWZhdWx0U2l6ZTogJ1Jlc3RpdHV0aW9uIHNpemUnLFxuICAgICAgYW5hbHl0aWM6ICdBbmFseXRpYyB0YWJsZScsXG4gICAgICBtYW5pZmVzdDoge1xuICAgICAgICBuYW1lOiAnUHJlc2VudGF0aW9uIG5hbWUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1ByZXNlbnRhdGlvbiBkZXNjcmlwdGlvbicsXG4gICAgICAgIHNhdmVkOiAnUHJlc2VudGF0aW9uIHNhdmVkIGFzIHt7dmlld0lkfX0nLFxuICAgICAgICBzYXZlRXJyb3JDb2RlOiB7XG4gICAgICAgICAgVU5LTk9XTjogJ1Vua25vd24gZXJyb3InLFxuICAgICAgICAgIEZPUkJJRERFTjogJ1lvdSBhcmUgbm90IHRoZSBvd25lciBvZiB0aGlzIHByZXNlbnRhdGlvbicsXG4gICAgICAgICAgTkFNRV9BTFJFQURZX1VTRUQ6ICdBIHByZXNlbnRhdGlvbiBjYWxsZWQgXCJ7e25hbWV9fVwiIGFscmVhZHkgZXhpc3RzLCBwbGVhc2Ugc2VsZWN0IGFub3RoZXIgbmFtZS4nLFxuICAgICAgICAgIFNBVkVfTUVUQURBVEE6ICdTYXZlIHlvdXIgcHJlc2VudGF0aW9uIGJlZm9yZSBjaG9vc2luZyB0aGUgdGhlbWUuJ1xuICAgICAgICB9LFxuICAgICAgICBkZWZhdWx0ZWQ6ICdQcmVzZW50YXRpb24ge3t2aWV3SWR9fSBtYXJrZWQgYXMgZmF2b3VyaXRlJyxcbiAgICAgICAgdW5kZWZhdWx0ZWQ6ICdQcmVzZW50YXRpb24ge3t2aWV3SWR9fSBpcyBubyBsb25nZXIgbWFya2VkIGFzIGZhdm91cml0ZScsXG4gICAgICAgIHZhbGlkYXRlZDogJ1ZhbGlkYXRlJyxcbiAgICAgICAgY2hlY2s6ICdTYXZlJyxcbiAgICAgICAgY2xvc2U6ICdDYW5jZWwnLFxuICAgICAgICB2YWxpZGF0ZTogJ1ZhbGlkYXRlJyxcbiAgICAgICAgYWxsOiAnQWxsJ1xuICAgICAgfSxcbiAgICAgIGNhdGFsb2c6IHtcbiAgICAgICAgdGl0bGU6ICdDdXN0b20nLFxuICAgICAgICBsYWJlbDogJ05hbWUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgaWNvbjogJ0ltYWdlJyxcbiAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgZGVsZXRlOiAnQ2FuY2VsIGZpbHRlcicsXG4gICAgICAgICAgdHlwZTogJ0ZpbHRlciBieSB0eXBlJyxcbiAgICAgICAgICBuYW1lOiAnRmlsdGVyIGJ5IG5hbWUnXG4gICAgICAgIH0sXG4gICAgICAgIHNhdmVkOiAnUmVzdGl0dXRpb24gc2F2ZWQgYXMge3t2aWV3SWR9fScsXG4gICAgICAgIHNhdmVFcnJvckNvZGU6IHtcbiAgICAgICAgICBVTktOT1dOOiAnVW5rbm93biBlcnJvcicsXG4gICAgICAgICAgTkFNRV9BTFJFQURZX1VTRUQ6ICdBIHJlc3RpdHV0aW9uIGNhbGxlZCBcInt7bmFtZX19XCIgYWxyZWFkeSBleGlzdHMsIHBsZWFzZSBzZWxlY3QgYW5vdGhlciBuYW1lLidcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGFib3V0OiAnSW5mb3JtYXRpb24nLFxuICAgICAgZWRpdDogJ01vZGlmeSBsYXlvdXQnLFxuICAgICAgZWRpdE9mZjogJ1Zpc3VhbGl6ZSBsYXlvdXQnLFxuICAgICAgbGF1bmNoOiAnTmV3IHRhYicsXG4gICAgICBsYXVuY2hJbmRpY2F0aW9uOiAnT3BlbiB0aGlzIHBhZ2UgaW4gYScsXG4gICAgICBjaG9vc2VHcmlkOiAnQ2hhbmdlIGdyaWQgbGF5b3V0JyxcbiAgICAgIGNsZWFyOiAnQ2xlYXIgcHJlc2VudGF0aW9uJyxcbiAgICAgIHJlZnJlc2g6ICdSZWZyZXNoIGRhdGEnLFxuICAgICAgYXV0b21hdGVSZWZyZXNoOiAnQXV0b21hdGUgcmVmcmVzaCcsXG4gICAgICBvcHRpb25zOiAnT3B0aW9ucycsXG4gICAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICAgIGZpbHRlcjogJ0ZpbHRlcicsXG4gICAgICBoZWF0bWFwOiAnSGVhdG1hcCcsXG4gICAgICBidWJibGVtYXA6ICdCdWJibGVzJyxcbiAgICAgIG1hcmtlcm1hcDogJ01hcmtlcnMnLFxuICAgICAgc2ltcGxlbWFwOiAnTWFwJyxcbiAgICAgIG1hcDogJ01hcCcsXG4gICAgICB0YWJsZTogJ1RhYmxlJyxcbiAgICAgIGRldGFpbDogJ0RldGFpbCcsXG4gICAgICBjaGFydDogJ0NoYXJ0JyxcbiAgICAgIHJlc3VsdFNldDogJ05hbWVkIFF1ZXJpZXMnLFxuICAgICAgcmVuYW1lOiAnU2F2ZSBteSBwcmVzZW50YXRpb24nLFxuICAgICAgcmVzdG9yZTogJ1Jlc3RvcmUgY2xvc2VkIHBhZ2VzJyxcbiAgICAgIHNhdmU6ICdTYXZlJyxcbiAgICAgIGRyYWc6ICdSZXN0aXR1dGlvbi4uLicsXG4gICAgICBkcmFnSW5kaWNhdGlvbjogJ0luc2VydCBhJyxcbiAgICAgIGJhcmNoYXJ0OiAnQmFyJyxcbiAgICAgIGhpc3RvZ3JhbTogJ0hpc3RvZ3JhbScsXG4gICAgICBsaW5lY2hhcnQ6ICdMaW5lJyxcbiAgICAgIHBvaW50Y2hhcnQ6ICdQb2ludCcsXG4gICAgICBhcmVhY2hhcnQ6ICdBcmVhJyxcbiAgICAgIGFyY2NoYXJ0OiAnQXJjJyxcbiAgICAgIHJhZGFyY2hhcnQ6ICdSYWRhcicsXG4gICAgICBjaXJjbGVjaGFydDogJ0NpcmNsZSBwYWNraW5nJyxcbiAgICAgIGlmcmFtZTogJ0V4dGVybmFsIGFwcGxpY2F0aW9uJyxcbiAgICAgIHZlZ2E6ICdBZHZhbmNlZCBjaGFydCcsXG4gICAgICBncmFwaDogJ0dyYXBoJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnJyxcbiAgICAgIHN1Yjoge1xuICAgICAgICBtYXA6ICdNYXAnLFxuICAgICAgICBjaGFydDogJ0NoYXJ0JyxcbiAgICAgICAgb3RoZXI6ICdPdGhlcidcbiAgICAgIH0sXG4gICAgICB0aWxlOiAnVGlsZXMnLFxuICAgICAgdGVtcGxhdGU6ICdIVE1MIFRlbXBsYXRlJyxcbiAgICAgIG5vdzogJ1RvZGF5JyxcbiAgICAgIHNpbmNlX2RheTogJ3t7ZGF5fX0gZGF5e3twbHVyYWx9fSBhZ28nLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgICcwJzogJ0ZyZWUgbGF5b3V0JyxcbiAgICAgICAgJzBfZGV0YWlsbGVkJzogJ0ZyZWUgbW9kZSBkaXNwbGF5LCByZW5kZXJpbmcgc2l6ZSBhbmQgcG9zaXRpb25pbmcgZnVsbHkgY3VzdG9taXphYmxlIGJ5IHRoZSB1c2VyLicsXG4gICAgICAgICcxJzogJ0Z1bGxzY3JlZW4nLFxuICAgICAgICAnMV9kZXRhaWxsZWQnOiAnRGlzcGxheSBvZiBhIHNpbmdsZSByZW5kZXIgb24gdGhlIHdob2xlIHNjcmVlbiwgdGhlIHBsYWNlbWVudCBpcyBzeXN0ZW0gZ3VpZGVkLicsXG4gICAgICAgICcxLzJ2JzogJ1ZlcnRpY2FsIDEvMicsXG4gICAgICAgICcxLzJ2X2RldGFpbGxlZCc6XG4gICAgICAgICAgJ0Rpc3BsYXkgb2YgMiByZW5kZXJzIG1heGltdW0sIG9uIGEgc2NyZWVuIHNwbGl0IGluIDIgdmVydGljYWwgem9uZXMsIHRoZSByZW5kZXIgYWRkdGlvbiBpcyBtYWRlIGluIGFuIGVtcHR5IHpvbmUsIHRoZSBwbGFjZW1lbnQgaXMgc3lzdGVtIGd1aWRlZC4nLFxuICAgICAgICAnMS8yaCc6ICdIb3Jpem9udGFsIDEvMicsXG4gICAgICAgICcxLzJoX2RldGFpbGxlZCc6XG4gICAgICAgICAgJ0Rpc3BsYXkgb2YgMiByZW5kZXJzIG1heGltdW0sIG9uIGEgc2NyZWVuIHNwbGl0IGluIDIgaG9yaXpvbnRhbCB6b25lcywgdGhlIHJlbmRlciBhZGR0aW9uIGlzIG1hZGUgaW4gYW4gZW1wdHkgem9uZSwgdGhlIHBsYWNlbWVudCBpcyBzeXN0ZW0gZ3VpZGVkLicsXG4gICAgICAgICcxLzN2JzogJ1ZlcnRpY2FsIDEvMycsXG4gICAgICAgICcxLzN2X2RldGFpbGxlZCc6XG4gICAgICAgICAgJ0Rpc3BsYXkgb2YgMyByZW5kZXJzIG1heGltdW0sIG9uIGEgc2NyZWVuIHNwbGl0IGluIDMgdmVydGljYWwgem9uZXMsIHRoZSByZW5kZXIgYWRkdGlvbiBpcyBtYWRlIGluIGFuIGVtcHR5IHpvbmUsIHRoZSBwbGFjZW1lbnQgaXMgc3lzdGVtIGd1aWRlZC4nLFxuICAgICAgICAnMS8zaCc6ICdIb3Jpem9udGFsIDEvMycsXG4gICAgICAgICcxLzNoX2RldGFpbGxlZCc6XG4gICAgICAgICAgJ0Rpc3BsYXkgb2YgMyByZW5kZXJzIG1heGltdW0sIG9uIGEgc2NyZWVuIHNwbGl0IGluIDMgaG9yaXpvbnRhbCB6b25lcywgdGhlIHJlbmRlciBhZGR0aW9uIGlzIG1hZGUgaW4gYW4gZW1wdHkgem9uZSwgdGhlIHBsYWNlbWVudCBpcyBzeXN0ZW0gZ3VpZGVkLicsXG4gICAgICAgICcxLzQnOiAnMS80IHNjcmVlbicsXG4gICAgICAgICcxLzRfZGV0YWlsbGVkJzpcbiAgICAgICAgICAnRGlzcGxheSBvZiA0IHJlbmRlcnMgbWF4aW11bSwgb24gYSBzcGxpdCBzY3JlZW4gaW4gNCB6b25lcywgdGhlIHJlbmRlciBhZGR0aW9uIGlzIG1hZGUgaW4gYW4gZW1wdHkgem9uZSwgdGhlIHBsYWNlbWVudCBpcyBzeXN0ZW0gZ3VpZGVkLidcbiAgICAgIH0sXG4gICAgICBzd2l0Y2hFZGl0OiAnRWRpdCcsXG4gICAgICBzd2l0Y2hFZGl0Q29udGVudDogJ0VkaXQgY29tcG9zaXRpb24nLFxuICAgICAgc2hhcmU6ICdTaGFyZScsXG4gICAgICBzaGFyZUFjY2Vzc1JpZ2h0czogJ1NoYXJlIGFjY2VzcyByaWdodHMnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIG5vdEluRHNBdHRyOiAnVW5hdmFpbGFibGUgYXR0cmlidXRlJ1xuICAgIH0sXG4gICAgbWFuaWZlc3Q6IHtcbiAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgY3JlYXRpb246ICdDcmVhdGlvbiBkYXRlJyxcbiAgICAgIG1vZGlmaWNhdGlvbjogJ01vZGlmaWNhdGlvbiBkYXRlJyxcbiAgICAgIGFjdGlvbnM6ICdBY3Rpb25zJyxcbiAgICAgIGltcG9ydDogJ0ltcG9ydCcsXG4gICAgICBpbXBvcnRBbHQ6ICdJbXBvcnQgYSBwcmVzZW50YXRpb24nLFxuICAgICAgdGl0bGU6ICdQcmVzZW50YXRpb25zJyxcbiAgICAgIGdldDoge1xuICAgICAgICBlcnJvckZyb250OiAnQ2xpZW50IGVycm9yIDoge3ttc2d9fScsXG4gICAgICAgIGVycm9yQmFjazogJ1NlcnZlciBlcnJvciB3aXRoIGNvZGUgOiBbe3tjb2RlfX1dJ1xuICAgICAgfSxcbiAgICAgIGRlZmF1bHQ6ICdTZXQgZGVmYXVsdCcsXG4gICAgICBkb3dubG9hZDogJ0Rvd25sb2FkJyxcbiAgICAgIGxvYWQ6ICdMb2FkJyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICBkZWxldGVFcnJvcjogJ1NlYXJjaCB1c2VkIGluIG9uZSBvciBtb3JlIHJlc3RpdHV0aW9uKHMpLCBwbGVhc2UgZGVsZXRlIHRoZW0gZmlyc3QnXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGRhdGU6ICdNTS9kZC95eXl5JyxcbiAgICAgIGRhdGV0aW1lOiAnTU0vZGQveXl5eSBoaDptbTpzcyBhJyxcbiAgICAgIGRlY2ltYWw6ICcuJyxcbiAgICAgIHRob3VzYW5kczogJy4nXG4gICAgfSxcbiAgICBjb250ZXh0OiB7XG4gICAgICBhZGQ6ICdBZGQgdG8gc2VsZWN0aW9uJyxcbiAgICAgIHJlbW92ZTogJ1JlbW92ZSBmcm9tIHNlbGVjdGlvbicsXG4gICAgICBsaW5rOiAnTGluayB0byBzZWxlY3Rpb24nLFxuICAgICAgaW52ZXJ0OiAnSW52ZXJ0IHNlbGVjdGlvbicsXG4gICAgICBwcm94aW1pdHk6ICdHZXQgbGlua2VkIG9iamVjdHMnLFxuICAgICAgZXhwbG9yZTogJ09wZW4gR3JhcGggcmVzdGl0dXRpb24nLFxuICAgICAgZGV0YWlsOiAnT3BlbiBEZXRhaWwgcmVzdGl0dXRpb24nLFxuICAgICAgZmx5aW5nRGV0YWlsOiAnVmlldyBvYmplY3QnLFxuICAgICAgYWRkcmVzc0Zyb21Mb2M6ICdHZXQgYWRkcmVzcycsXG4gICAgICBlcnJvclNlYXJjaEFkZHJlc3M6ICdBZGRyZXNzIG5vdCBmb3VuZCcsXG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgY3JlYXRlOiAnQ3JlYXRlJyxcbiAgICAgIGNyZWF0ZU9iamVjdDoge1xuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIG9iamVjdDogJ0NyZWF0ZSBhbiBvYmplY3QnLFxuICAgICAgICAgIGxpbms6ICdDcmVhdGUgYSBsaW5rJyxcbiAgICAgICAgICBpbnZlcnNpb246ICdSZXZlcnNlIHRoZSBsaW5rJyxcbiAgICAgICAgICBsaW5rZWRPYmplY3Q6ICdDcmVhdGUgYSBsaW5rZWQgb2JqZWN0J1xuICAgICAgICB9LFxuICAgICAgICBjbGFzczogJ09iamVjdCBjbGFzcycsXG4gICAgICAgIGxpbms6ICdMaW5rIHdpdGggdGhlIG5ldyBvYmplY3QnLFxuICAgICAgICBjcmVhdGVkOiAnT2JqZWN0IGhhcyBiZWVuIGNyZWF0ZWQnLFxuICAgICAgICBkZXRhaWxzOiAnU2VlIGRldGFpbCcsXG4gICAgICAgIGFkZE11bHRpRmllbGQ6ICdBZGQgYSB7e25hbWV9fSB2YWx1ZSdcbiAgICAgIH1cbiAgICB9LFxuICAgIGFjdGlvbjoge1xuICAgICAgY2xvc2U6ICdDbG9zZScsXG4gICAgICBjbG9zZVBhbmVsOiAnQ2xvc2UgcGFuZWwnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIGVkaXQ6ICdFZGl0JyxcbiAgICAgIGVkaXRQcm9maWw6ICdFZGl0IHByb2ZpbCcsXG4gICAgICBjaG9pY2U6ICdDaG9pY2UnLFxuICAgICAgY2hvaWNlSW5MaXN0OiAnQ2hvb3NlIGFuIGl0ZW0gaW4gbGlzdCcsXG4gICAgICB0ZXh0OiAnRmlsbCBmaWVsZCcsXG4gICAgICBzb3J0YWJsZUNvbHVtbkhlYWRlcjogJ1VzZSBjb2x1bW4gaGVhZGVyIGJ1dHRvbnMgdG8gc29ydCcsXG4gICAgICB2aWV3RGV0YWlsczogJ1ZpZXcgZGV0YWlscycsXG4gICAgICBzZWxlY3REYXRlOiAnU2VsZWN0IGEgZGF0ZScsXG4gICAgICBvcGVuc0luTmV3VGFiOiAnT3BlbnMgaW4gbmV3IHRhYicsXG4gICAgICBza2lwTGluazogJ1NraXAgdG8gbWFpbiBjb250ZW50JyxcbiAgICAgIHNlbGVjdFBpY3R1cmU6ICdTZWxlY3QgYSBwaWN0dXJlJyxcbiAgICAgIG1vdmVEb3duOiAnTW92ZSBkb3duJyxcbiAgICAgIG1vdmVVcDogJ01vdmUgdXAnLFxuICAgICAgZXhwb3J0QXNGb3JtYXQ6ICdFeHBvcnQgYXMnLFxuICAgICAgb3Blbk1lbnVXaWRnZXQ6ICdSZXN0aXR1dGlvbiBtZW51JyxcbiAgICAgIHNlYXJjaDogJ1NlYXJjaCcsXG4gICAgICB1cGxvYWQ6ICdBZGQgaW1hZ2UnLFxuICAgICAgbmV4dDogJ05leHQnLFxuICAgICAgYmFjazogJ0JhY2snLFxuICAgICAgZmlsdGVyQnlUeXBlOiAnRmlsdGVyIGJ5IHR5cGUnLFxuICAgICAgZWRpdE1ldGFkYXRhOiAnRWRpdCBtZXRhZGF0YScsXG4gICAgICBhZGRNZXRhZGF0YTogJ0FkZCBtZXRhZGF0YSdcbiAgICB9LFxuICAgIHNuYWNrOiB7XG4gICAgICBkZWZhdWx0OiAnVmVnYSBlbmNvdW50ZXJlZCBhbiBlcnJvciB1c2luZyB5b3VyIGRhdGEgYW5kIHNldHRpbmdzLicsXG4gICAgICBtaXNzaW5nUGFyZW50OiAnQSBwYXJlbnQgbm9kZSBpcyBtaXNzaW5nIGluIHlvdXIgZGF0YXNldC4gUGxlYXNlIGZpeCB5b3VyIGRhdGEuJyxcbiAgICAgIG1pc3NpbmdWYWx1ZTogJ0FuIGl0ZW0gaXMgbWlzc2luZyB0aGUgdmFsdWUgZmllbGQuIFBsZWFzZSBmaXggeW91ciBkYXRhLicsXG4gICAgICBlbXB0eVZhbHVlczogJ0ZpZWxkIHZhbHVlcyBjYW5ub3QgYmUgYWxsIGF0IDAuIFBsZWFzZSBmaXggeW91ciBkYXRhLicsXG4gICAgICBwYWdlc0NoYW5nZWQ6ICdBdHRlbnRpb24sIGxlIG5vbWJyZSBkZSBwYWdlcyBkZSB2b3RyZSBwcsOpc2VudGF0aW9uIGEgY2hhbmfDqSwgcXVlIHNvdWhhaXRlei12b3VzIGZhaXJlID8nLFxuICAgICAgaW1hZ2VOYW1lQWxyZWFkeVVzZWQ6ICdUaGlzIGltYWdlIG5hbWUgaXMgYWxyZWFkeSB1c2VkJ1xuICAgIH0sXG4gICAgdGhlbWU6IHtcbiAgICAgIGVkaXRJbnB1dDoge1xuICAgICAgICB0b2dnbGU6ICdFZGl0JyxcbiAgICAgICAgY29uZmlybTogJ0NvbmZpcm0nXG4gICAgICB9LFxuICAgICAgcHJldmlvdXNNb250aDogJ1ByZXZpb3VzIG1vbnRoJyxcbiAgICAgIG5leHRNb250aDogJ05leHQgbW9udGgnLFxuICAgICAgd2Vla2RheXM6IHtcbiAgICAgICAgMDogJ01vbmRheScsXG4gICAgICAgIDE6ICdUdWVzZGF5JyxcbiAgICAgICAgMjogJ1dlZG5lc2RheScsXG4gICAgICAgIDM6ICdUaHVyc2RheScsXG4gICAgICAgIDQ6ICdGcmlkYXknLFxuICAgICAgICA1OiAnU2F0dXJkYXknLFxuICAgICAgICA2OiAnU3VuZGF5J1xuICAgICAgfSxcbiAgICAgIHNob3J0V2Vla2RheXM6IHtcbiAgICAgICAgMDogJ01vbicsXG4gICAgICAgIDE6ICdUdWUnLFxuICAgICAgICAyOiAnV2VkJyxcbiAgICAgICAgMzogJ1RodScsXG4gICAgICAgIDQ6ICdGcmknLFxuICAgICAgICA1OiAnU2F0JyxcbiAgICAgICAgNjogJ1N1bidcbiAgICAgIH0sXG4gICAgICBtb250aHM6IHtcbiAgICAgICAgMDogJ0phbnVhcnknLFxuICAgICAgICAxOiAnRmVicnVhcnknLFxuICAgICAgICAyOiAnTWFyY2gnLFxuICAgICAgICAzOiAnQXByaWwnLFxuICAgICAgICA0OiAnTWF5JyxcbiAgICAgICAgNTogJ0p1bmUnLFxuICAgICAgICA2OiAnSnVseScsXG4gICAgICAgIDc6ICdBdWd1c3QnLFxuICAgICAgICA4OiAnU2VwdGVtYmVyJyxcbiAgICAgICAgOTogJ09jdG9iZXInLFxuICAgICAgICAxMDogJ05vdmVtYmVyJyxcbiAgICAgICAgMTE6ICdEZWNlbWJlcidcbiAgICAgIH1cbiAgICB9LFxuICAgIHNoYXJlOiB7XG4gICAgICBwcml2YXRlOiAnUHJpdmF0ZScsXG4gICAgICBwdWJsaWM6ICdQdWJsaWMnLFxuICAgICAgcmVzdHJpY3RlZDogJ1Jlc3RyaWN0ZWQnLFxuICAgICAgdHlwZTogJ1Zpc2liaWxpdHknLFxuICAgICAgdXNlcnM6ICdBdXRob3JpemVkIHVzZXJzJyxcbiAgICAgIG5vR3JvdXBzOiAnTm8gZ3JvdXAgYXZhaWxhYmxlJyxcbiAgICAgIGdyb3Vwczoge1xuICAgICAgICBBTEw6ICdQdWJsaWMnLFxuICAgICAgICBBVVRIRU5USUNBVEVEOiAnQ29ubmVjdGVkIHVzZXJzJ1xuICAgICAgfSxcbiAgICAgIGNvbmZsaWN0OiB7XG4gICAgICAgIHRpdGxlOiAnV2FybmluZycsXG4gICAgICAgIG1haW46ICdUaGUgZm9sbG93aW5nIGRhdGEgc291cmNlcyBhcmUgbm90IGFjY2Vzc2libGUgdG8gdGhlIHNlbGVjdGVkIHVzZXIgZ3JvdXBzOicsXG4gICAgICAgIHVuYXZhaWxhYmxlOiAnaW5hY2Nlc3NpYmxlIGF1eCBncm91cGVzIDogJ1xuICAgICAgfSxcbiAgICAgIGRhc2hib2FyZEFjY2VzczogJ1NoYXJlIGFjY2VzcyB0byB0aGlzIGRhc2hib2FyZCB0byBzZWxlY3RlZCB1c2VyIGdyb3VwcycsXG4gICAgICBwbGFjZWhvbGRlcjogJ0Nob3NlIG9uZSBvciBtb3JlIGdyb3VwcycsXG4gICAgICByZWFkOiAnQ2FuIHJlYWQnLFxuICAgICAgd3JpdGU6ICdDYW4gbW9kaWZ5JyxcbiAgICAgIGFjY2Vzc0Rlc2NyaXB0aW9uOiAnXCJDYW4gcmVhZFwiIGFsbG93cyByZWFkIGFjZXNzIFwiQ2FuIG1vZGlmeVwiIGFsbG93cyByZWFkIGFuZCB3cml0ZSBhY2Nlc3MnLFxuICAgICAgbWU6ICdNZScsXG4gICAgICBvd25lcjogJ093bmVyJ1xuICAgIH0sXG4gICAgaG9tZXBhZ2U6IHtcbiAgICAgIG1lbnU6IHtcbiAgICAgICAgbW9kZWw6ICdEYXRhIG1vZGVsJyxcbiAgICAgICAgZGF0YTogJ0RhdGEgYWNjZXNzJ1xuICAgICAgfVxuICAgIH0sXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIHZpZXc6ICdWaWV3IG1ldGFkYXRhJ1xuICAgIH0sXG4gICAgY29tcG9uZW50czoge1xuICAgICAgc2VhcmNoRGF0YTogJ1NlYXJjaCcsXG4gICAgICBjaGlwc1NlbGVjdG9yOiB7XG4gICAgICAgIGRhdGFzb3VyY2U6IHtcbiAgICAgICAgICBzZWxlY3Q6ICdTZWxlY3Qgb25lIG9yIG1vcmUgZGF0YSBzb3VyY2Uocyk6JyxcbiAgICAgICAgICBzZWxlY3Rpb246ICdTZWxlY3RlZCBkYXRhIHNvdXJjZShzKTonLFxuICAgICAgICAgIHNlbGVjdEl0ZW06ICdTZWxlY3QgdGhpcyBkYXRhIHNvdXJjZScsXG4gICAgICAgICAgdW5zZWxlY3RJdGVtOiAnVW5zZWxlY3QgdGhpcyBkYXRhIHNvdXJjZScsXG4gICAgICAgICAgbm9JdGVtU2VsZWN0ZWQ6ICdObyBkYXRhIHNvdXJjZSBzZWxlY3RlZCdcbiAgICAgICAgfSxcbiAgICAgICAgc2hhcmU6IHtcbiAgICAgICAgICBzZWxlY3Q6ICdTZWxlY3Qgb25lIG9yIG1vcmUgdXNlciBncm91cDonLFxuICAgICAgICAgIHNlbGVjdGlvbjogJ1NlbGVjdGVkIHVzZXIgZ3JvdXBzOicsXG4gICAgICAgICAgc2VsZWN0SXRlbTogJ1NlbGVjdCB0aGlzIHVzZXIgZ3JvdXAnLFxuICAgICAgICAgIHVuc2VsZWN0SXRlbTogJ1Vuc2VsZWN0IHRoaXMgdXNlciBncm91cCcsXG4gICAgICAgICAgbm9JdGVtU2VsZWN0ZWQ6ICdObyB1c2VyIGdyb3VwIHNlbGVjdGVkJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBlcnJvcnM6IHtcbiAgICAgIGRlZmF1bHQ6ICdUaGVyZSBpcyBhbiBlcnJvci4gVHJ5IGFnYWluIG9yIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yJyxcbiAgICAgIGNvZGVzOiB7XG4gICAgICAgIDA6ICdBbiBlcnJvciBvY2N1cnJlZCBvbiBjbGllbnQtc2lkZS4gVGhpcyBtYXkgYmUgY2F1c2VkIGJ5IENPUlMsIG5ldHdvcmsgZXJyb3IsIC4uLiBSZXNvdXJjZSBjYW5ub3QgYmUgcmVhY2hlZC4nLFxuICAgICAgICA0MDA6ICdBbiBlcnJvciBvY2N1cnJlZC4nLFxuICAgICAgICA0MDE6ICdTZXNzaW9uIGV4cGlyZWQuIFRyeSB0byByZWNvbm5lY3QhJyxcbiAgICAgICAgNDAzOiAnQWNjZXNzIHVuYXV0aG9yaXplZCcsXG4gICAgICAgIDQwNDogJ1Jlc3NvdXJjZSBub3QgZm91bmQnLFxuICAgICAgICA0MDk6ICdSZXNzb3VyY2UgYWxyZWFkeSBleGlzdCcsXG4gICAgICAgIDUwMDogJ0FuIGVycm9yIG9jY3VycmVkLicsXG4gICAgICAgIDUwMzogJ1NlcnZpY2UgdW5hdmFpbGFibGUuIHRyeSBhZ2FpbiBsYXRlciEnXG4gICAgICB9XG4gICAgfSxcbiAgICBmaWx0ZXJzOiB7XG4gICAgICBsYWJlbDogJ0ZpbHRlciBzZXR0aW5ncycsXG4gICAgICBub0F0dHJpYnV0ZXM6ICdQcmVzZW50YXRpb24gaGFkIG5vIGF2YWlsYWJsZSBhdHRyaWJ1dGVzJyxcbiAgICAgIG5vRmlsdGVyczogJ05vIGZpbHRlcnMgc2V0IHVwIGZvciB0aGlzIHByZXNlbnRhdGlvbiB5ZXQuJyxcbiAgICAgIGNsZWFyOiAnQ2xlYXIgYWxsJyxcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgYXR0cmlidXRlczogJ0F0dHJpYnV0ZXM6ICcsXG4gICAgICAgIGFkZDogJ0FkZCBmaWx0ZXInLFxuICAgICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgICAgICBtb2RpZnk6ICdNb2RpZnknXG4gICAgICB9LFxuICAgICAgY3JlYXRpb246IHtcbiAgICAgICAgY3JlYXRlOiAnTmV3IGZpbHRlcicsXG4gICAgICAgIHVwZGF0ZTogJ0VkaXQgZmlsdGVyJyxcbiAgICAgICAgbmFtZTogJ0ZpbHRlciBuYW1lJyxcbiAgICAgICAgdHlwZTogJ0ZpbHRlciB0eXBlJyxcbiAgICAgICAgZmlsdGVyOiAnRmlsdGVyJyxcbiAgICAgICAgYXR0cmlidXRlczogJ0F0dHJpYnV0ZXMnLFxuICAgICAgICB2YWx1ZTogJ1ZhbHVlJyxcbiAgICAgICAgdmFsdWVzOiAnVmFsdWVzJyxcbiAgICAgICAgdmFsaWRhdGU6ICdDb25maXJtJyxcbiAgICAgICAgbGltaXQ6ICdOdW1iZXIgb2YgYXV0by1zdWdnZXN0ZWQgdmFsdWVzJyxcbiAgICAgICAgZGF0ZVJhbmdlOiAnRGF0ZSByYW5nZSdcbiAgICAgIH0sXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGRhdGFzb3VyY2U6ICdEYXRhc291cmNlJyxcbiAgICAgICAgY2xhc3M6ICdDbGFzc2UnLFxuICAgICAgICBvcGVyYXRvcjogJ09wZXJhdG9yJ1xuICAgICAgfSxcbiAgICAgIHR5cGVzOiB7XG4gICAgICAgIHRleHQ6ICdUZXh0JyxcbiAgICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgICBsaXN0OiAnTGlzdCcsXG4gICAgICAgIG51bWJlcjogJ051bWJlcicsXG4gICAgICAgIGF1dG9jb21wbGV0ZTogJ0F1dG9jb21wbGV0ZSdcbiAgICAgIH1cbiAgICB9LFxuICAgIGdlb0F1dGg6IHtcbiAgICAgIGZhaWx1cmU6ICdHZW9zZXJ2ZXIgZXJyb3InXG4gICAgfVxuICB9LFxuICBncmlkOiB7XG4gICAgcm93czogJ1Jvd3MnLFxuICAgIGNvbHVtbnM6ICdDb2x1bW5zJ1xuICB9XG59O1xuIl19