@provoly/dashboard 0.25.3 → 0.25.5

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.
@@ -16,6 +16,8 @@ export declare class PryDatasetVersionFormComponent implements OnInit {
16
16
  formValidated: EventEmitter<Partial<DatasetVersion>>;
17
17
  constructor(store: Store);
18
18
  ngOnInit(): void;
19
+ get productionDate(): import("@angular/forms").AbstractControl<string, string> | null;
20
+ get producer(): import("@angular/forms").AbstractControl<string, string> | null;
19
21
  onSubmit(): void;
20
22
  static ɵfac: i0.ɵɵFactoryDeclaration<PryDatasetVersionFormComponent, never>;
21
23
  static ɵcmp: i0.ɵɵComponentDeclaration<PryDatasetVersionFormComponent, "pry-dataset-version-form", never, { "version": { "alias": "version"; "required": false; }; }, { "formValidated": "formValidated"; }, never, never, false, never>;
@@ -31,6 +31,10 @@ export declare const enTranslations: {
31
31
  ACTIVE: string;
32
32
  currentlyActive: string;
33
33
  };
34
+ form: {
35
+ obligatory: string;
36
+ date: string;
37
+ };
34
38
  buttonAction: {
35
39
  ACTIVE: string;
36
40
  INACTIVE: string;
@@ -31,6 +31,10 @@ export declare const frTranslations: {
31
31
  ACTIVE: string;
32
32
  currentlyActive: string;
33
33
  };
34
+ form: {
35
+ obligatory: string;
36
+ date: string;
37
+ };
34
38
  buttonAction: {
35
39
  ACTIVE: string;
36
40
  INACTIVE: string;
@@ -153,14 +153,14 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
153
153
  this.isEditingVersion = false;
154
154
  }
155
155
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetDetailComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n @if (activeVersion$ | async; as activeVersion) {\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersion$ | async as activeVersion\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersion.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersion.id === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersion.id) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING' && version.state !== 'ERROR'\"\n >\n <ng-container *ngIf=\"dataset.owner && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\">\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i3.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i3.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i3.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i3.PryModalStatusComponent, selector: "pry-modal-status", inputs: ["version"], outputs: ["gotoConsult"] }, { kind: "component", type: i4.PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: ["version"], outputs: ["formValidated"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.PrySinceDatePipe, name: "sinceDate" }, { kind: "pipe", type: i6.MdToHtmlPipe, name: "mdToHtml" }] }); }
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (activeVersion$ | async; as activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersion$ | async as activeVersion\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersion.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersion.id === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersion.id) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING' && version.state !== 'ERROR'\"\n >\n <ng-container *ngIf=\"dataset.owner && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\">\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i3.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i3.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i3.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i3.PryModalStatusComponent, selector: "pry-modal-status", inputs: ["version"], outputs: ["gotoConsult"] }, { kind: "component", type: i4.PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: ["version"], outputs: ["formValidated"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.PrySinceDatePipe, name: "sinceDate" }, { kind: "pipe", type: i6.MdToHtmlPipe, name: "mdToHtml" }] }); }
157
157
  }
158
158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetDetailComponent, decorators: [{
159
159
  type: Component,
160
- args: [{ selector: 'pry-dataset-detail', template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n @if (activeVersion$ | async; as activeVersion) {\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersion$ | async as activeVersion\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersion.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersion.id === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersion.id) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING' && version.state !== 'ERROR'\"\n >\n <ng-container *ngIf=\"dataset.owner && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\">\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n" }]
160
+ args: [{ selector: 'pry-dataset-detail', template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (activeVersion$ | async; as activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersion$ | async as activeVersion\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersion.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersion.id === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersion.id) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING' && version.state !== 'ERROR'\"\n >\n <ng-container *ngIf=\"dataset.owner && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\">\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n" }]
161
161
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { dataset: [{
162
162
  type: Input
163
163
  }], goToCatalog: [{
164
164
  type: Output
165
165
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtZGV0YWlsL2RhdGFzZXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBR2xCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsYUFBYSxFQUNiLHdCQUF3QixFQUN4QixRQUFRLEVBRVQsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsR0FBRyxFQUF1QixNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFHaEQsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBTW5CLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFxQ3JFLFlBQW9CLEtBQVk7UUFDOUIsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBbkN0QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBRztZQUNmLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFB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Q0Usb0JBQW9COzBFQUlyQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkQWN0aW9ucyxcbiAgRGFzaGJvYXJkU2VsZWN0b3JzLFxuICBEYXRhc2V0LFxuICBEYXRhc2V0VmVyc2lvbixcbiAgRGF0YVNvdXJjZUFjdGlvbnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIFJlc3VsdFNldHMsXG4gIFNlYXJjaEFjdGlvbnMsXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSxcbiAgVmlld01vZGUsXG4gIFdpZGdldE1hbmlmZXN0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5sZXQgbmV4dENvbXBJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1kYXRhc2V0LWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5RGF0YXNldERldGFpbENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGFzZXQhOiBEYXRhc2V0O1xuICBAT3V0cHV0KCkgZ29Ub0NhdGFsb2cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHdpZGdldE1hbmlmZXN0ID0ge1xuICAgIHRhYmxlOiB7XG4gICAgICBoZWFkZXI6IHRydWUsXG4gICAgICB0eXBlOiAndGFibGUnLFxuICAgICAgbGF5b3V0OiB7IHg6IDEsIHk6IDEsIGhlaWdodDogMTIsIHdpZHRoOiAxMiB9LFxuICAgICAgb3B0aW9uczoge30sXG4gICAgICBkYXRhc291cmNlOiBbJyddXG4gICAgfSxcbiAgICBtYXA6IHtcbiAgICAgIGhlYWRlcjogZmFsc2UsXG4gICAgICB0eXBlOiAnbWFwJyxcbiAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCBoZWlnaHQ6IDEyLCB3aWR0aDogMTIgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgbGF5ZXJzOiBbXSxcbiAgICAgICAgZml0OiB0cnVlLFxuICAgICAgICBhdXRvbWF0aWNMYXllcnM6IHRydWVcbiAgICAgIH0sXG4gICAgICBkYXRhc291cmNlOiBbJyddXG4gICAgfVxuICB9IGFzIHsgW2tleTogc3RyaW5nXTogV2lkZ2V0TWFuaWZlc3QgfTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IFZpZXdNb2RlID0gVmlld01vZGU7XG4gIGNvbXBJZDogbnVtYmVyID0gMDtcbiAgdGFiOiBudW1iZXIgPSAwO1xuICBkYXRhc2V0SXRlbXMkOiBPYnNlcnZhYmxlPFJlc3VsdFNldHMgfCBudWxsPjtcbiAgcHVibGljIGRhdGFzZXRWZXJzaW9ucyQhOiBPYnNlcnZhYmxlPERhdGFzZXRWZXJzaW9uW10+O1xuICBzaG93TW9kYWxTdGF0dXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWREYXRhc2V0VmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuICBzZWxlY3RlZE1vZGU6IFZpZXdNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgYWN0aXZlVmVyc2lvbiQhOiBPYnNlcnZhYmxlPERhdGFzZXRWZXJzaW9uIHwgdW5kZWZpbmVkPjtcbiAgaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuXG4gIGlzUGFuZWxPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkVmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRhdGFzZXRJdGVtcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cyk7XG4gICAgdGhpcy5jb21wSWQgPSBuZXh0Q29tcElkKys7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zQnlEYXRhc2V0SWQoeyBpZDogdGhpcy5kYXRhc2V0LmlkIH0pKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMucmVtb3ZlRmlsdGVycygpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgU2VhcmNoQWN0aW9ucy5nZXREYXRhc291cmNlSXRlbXMoe1xuICAgICAgICBpZDogdGhpcy5kYXRhc2V0LmlkLFxuICAgICAgICBleGNsdWRlR2VvOiBmYWxzZSxcbiAgICAgICAgZnJvbTogJ1ByeURhdGFzZXREZXRhaWxDb21wb25lbnQubmdPbkluaXQoKSdcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJCA9IHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5tYXRjaGluZ0RhdGFzZXRWZXJzaW9ucyh0aGlzLmRhdGFzZXQuaWQpKVxuICAgICAgLnBpcGUobWFwKChyZXMpID0+IFsuLi5yZXNdLnNvcnQoKGEsIGIpID0+IGIudmVyc2lvbiAtIGEudmVyc2lvbikpKTtcbiAgICB0aGlzLmFjdGl2ZVZlcnNpb24kID0gdGhpcy5kYXRhc2V0VmVyc2lvbnMkLnBpcGUoXG4gICAgICBtYXAoKHZlcnNpb25zKSA9PlxuICAgICAgICB2ZXJzaW9ucy5zb3J0KCh2MSwgdjIpID0+IHYyLnZlcnNpb24gLSB2MS52ZXJzaW9uKS5maW5kKCh2ZXJzaW9uKSA9PiB2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJylcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJC5zdWJzY3JpYmUoKHZlcnNpb25zKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0ge1xuICAgICAgICAgICAgLi4udGhpcy5zZWxlY3RlZFZlcnNpb24sXG4gICAgICAgICAgICAuLi52ZXJzaW9ucy5maW5kKCh2ZXJzaW9uKSA9PiB2ZXJzaW9uLmlkID09PSB0aGlzLnNlbGVjdGVkVmVyc2lvbj8uaWQpXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsndGFibGUnXS5kYXRhc291cmNlID0gW3RoaXMuZGF0YXNldC5pZF07XG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsnbWFwJ10uZGF0YXNvdXJjZSA9IFt0aGlzLmRhdGFzZXQuaWRdO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NhdGFsb2cuZW1pdCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnMoKSk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcyh7XG4gICAgICAgIGlkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIGV4Y2x1ZGVHZW86IGZhbHNlLFxuICAgICAgICBmcm9tOiAnUHJ5RGF0YXNldERldGFpbENvbXBvbmVudC5yZWZyZXNoKCknXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9ucygpKTtcbiAgfVxuXG4gIGdvVG9Db25zdWx0KHZlcnNpb246IERhdGFzZXRWZXJzaW9uIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICB0aGlzLnNob3dNb2RhbFN0YXR1cyA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgfVxuXG4gIHN3aXRjaChudW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMudGFiID0gbnVtYmVyO1xuICB9XG5cbiAgaGFuZGxlQnV0dG9uQWN0aW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICBzd2l0Y2ggKHZlcnNpb24uc3RhdGUpIHtcbiAgICAgIGNhc2UgJ0FDVElWRSc6XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZVZlcnNpb24odmVyc2lvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnSU5BQ1RJVkUnOlxuICAgICAgICB0aGlzLmFjdGl2YXRlVmVyc2lvbih2ZXJzaW9uKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBjb25zdWx0RXJyb3JzKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICB0aGlzLnNob3dNb2RhbFN0YXR1cyA9IHRydWU7XG4gIH1cblxuICBnZXRWZXJzaW9uVG9vbHRpcENvbnRlbnQodmVyc2lvbjogRGF0YXNldFZlcnNpb24sIGFjdGl2ZVZlcnNpb25JZDogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh2ZXJzaW9uLnN0YXRlKSB7XG4gICAgICBjYXNlICdFUlJPUic6XG4gICAgICAgIHJldHVybiAnZXJyb3InO1xuICAgICAgY2FzZSAnQUNUSVZFJzpcbiAgICAgICAgcmV0dXJuIHZlcnNpb24uaWQgPT09IGFjdGl2ZVZlcnNpb25JZCA/ICdhY3RpdmUnIDogJ2luYWN0aXZlJztcbiAgICAgIGNhc2UgJ0xPQURJTkcnOlxuICAgICAgY2FzZSAnSU5ERVhJTkcnOlxuICAgICAgICByZXR1cm4gJ2xvYWRpbmcnO1xuICAgICAgY2FzZSAnSU5BQ1RJVkUnOlxuICAgICAgICByZXR1cm4gJ2ludmFsaWQnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd1bmtub3duJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlYWN0aXZhdGVWZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHtcbiAgICAgICAgZGF0YXNldElkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIHZlcnNpb25JZDogdmVyc2lvbi5pZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmF0ZVZlcnNpb24odmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5hY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHtcbiAgICAgICAgZGF0YXNldElkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIHZlcnNpb25JZDogdmVyc2lvbi5pZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25UYWJTd2l0Y2goJGV2ZW50OiBudW1iZXIpIHtcbiAgICBpZiAoWzAsIDEsIDJdLmluY2x1ZGVzKCRldmVudCkpIHtcbiAgICAgIHRoaXMuaXNQYW5lbE9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVQYW5lbChzZWxlY3RlZFZlcnNpb24/OiBEYXRhc2V0VmVyc2lvbikge1xuICAgIGlmIChzZWxlY3RlZFZlcnNpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0gc2VsZWN0ZWRWZXJzaW9uO1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9ICF0aGlzLmlzUGFuZWxPcGVuO1xuICAgIH1cbiAgfVxuXG4gIGVkaXRWZXJzaW9uKCkge1xuICAgIHRoaXMuaXNFZGl0aW5nVmVyc2lvbiA9IHRydWU7XG4gIH1cblxuICBmb3JtVmFsaWRhdGVkKCRldmVudDogUGFydGlhbDxEYXRhc2V0VmVyc2lvbj4pIHtcbiAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X190b29sYm94XCI+XG4gIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJnb0JhY2soKVwiPnt7ICdAcHJ5LmRhdGFzZXQucmV0dXJuVG9MaXN0JyB8IGkxOG4gfX08L2J1dHRvbj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwicmVmcmVzaCgpXCI+XG4gICAge3sgJ0BwcnkuZGF0YXNldC5yZWZyZXNoJyB8IGkxOG4gfX1cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cInN5bmNocm9cIj48L3ByeS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dFwiPlxuICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dF9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgIDxoMiBjbGFzcz1cImEtaDFcIj57eyBkYXRhc2V0Lm5hbWUgfX08L2gyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm8tZGF0YXNldC1kZXRhaWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtZGV0YWlsX19jb250ZW50XCI+XG4gICAgICAgIDxwcnktdGFiLWdyb3VwIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuZGF0YXNldC5cIiAoY2xpY2tlZFRhYklkeCk9XCJvblRhYlN3aXRjaCgkZXZlbnQpXCI+XG4gICAgICAgICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImluZm9ybWF0aW9uXCIgbmFtZT1cImluZm9ybWF0aW9uXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJ0YWJsZVwiIG5hbWU9XCJkYXRhXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJtYXBcIiBuYW1lPVwibWFwXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJkYXRhc2V0VmVyc2lvbnNcIiBuYW1lPVwidmVyc2lvbkhpc3RvcnlcIj48L3ByeS10YWI+XG4gICAgICAgIDwvcHJ5LXRhYi1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChpc1BhbmVsT3Blbikge1xuICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtbGF5b3V0X19wYW5lbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhbmVsX19oZWFkZXIgdS1kaXNwbGF5LWZsZXggLWp1c3RpZnktc3BhY2UtYmV0d2VlblwiPlxuICAgICAgICA8aDM+e3sgJ0BwcnkuZGF0YXNldC5pbmZvcm1hdGlvbicgfCBpMThuIH19PC9oMz5cbiAgICAgICAgPGJ1dHRvbiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbF9fY29udGVudCB1LWRpc3BsYXktZmxleCAtY29sdW1uXCI+XG4gICAgICAgIEBpZiAoIWlzRWRpdGluZ1ZlcnNpb24pIHtcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y3Rpb25EYXRlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgICAoc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWN0aW9uRGF0ZSB8IGRhdGU6ICdkZC1NTS15eXl5LCBISDptbScpID8/XG4gICAgICAgICAgICAgICAgKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKVxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWNlciA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidmVyc2lvbi1pbmZvcm1hdGlvblwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWZXJzaW9uPy5hZGRpdGlvbmFsSW5mb3JtYXRpb24gPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB8IG1kVG9IdG1sXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnYWRtaW4nLCBwYWdlOiAnbGlzdC1kYXRhc2V0JywgYWN0aW9uOiAnZWRpdF92ZXJzaW9uJyB9XCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSB1LXNlbGYtZW5kXCJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0VmVyc2lvbigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24uZWRpdCcgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxwcnktZGF0YXNldC12ZXJzaW9uLWZvcm1cbiAgICAgICAgICAgIFt2ZXJzaW9uXT1cInNlbGVjdGVkVmVyc2lvblwiXG4gICAgICAgICAgICAoZm9ybVZhbGlkYXRlZCk9XCJmb3JtVmFsaWRhdGVkKCRldmVudClcIlxuICAgICAgICAgID48L3ByeS1kYXRhc2V0LXZlcnNpb24tZm9ybT5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2luZm9ybWF0aW9uPlxuICBAaWYgKGFjdGl2ZVZlcnNpb24kIHwgYXN5bmM7IGFzIGFjdGl2ZVZlcnNpb24pIHtcbiAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWNvbHVtbiBvLWRhdGFzZXQtZGV0YWlsX19pbmZvcm1hdGlvblwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBkYXRhc2V0LmRlc2NyaXB0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgIChhY3RpdmVWZXJzaW9uPy5wcm9kdWN0aW9uRGF0ZSB8IGRhdGU6ICdkZC1NTS15eXl5LCBISDptbScpID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bilcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBhY3RpdmVWZXJzaW9uPy5wcm9kdWNlciA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInZlcnNpb24taW5mb3JtYXRpb25cIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwiYWN0aXZlVmVyc2lvbj8uYWRkaXRpb25hbEluZm9ybWF0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfCBtZFRvSHRtbFwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2IGNsYXNzPVwiYS1wXCI+XG4gICAgICA8cD57eyAnQHByeS5kYXRhc2V0Lm5vQWN0aXZlVmVyc2lvbicgfCBpMThuIH19PC9wPlxuICAgIDwvZGl2PlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ3RhYmxlJ11dIH1cIj48L3ByeS1kYXNoYm9hcmQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbWFwPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ21hcCddXSB9XCI+PC9wcnktZGFzaGJvYXJkPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RhdGFzZXRWZXJzaW9ucz5cbiAgPGRpdiAqbmdJZj1cImFjdGl2ZVZlcnNpb24kIHwgYXN5bmMgYXMgYWN0aXZlVmVyc2lvblwiIGNsYXNzPVwiZGF0YXNldC1kZXRhaWxfX3RhYmxlIHRhYmxlLWNvbnRhaW5lclwiPlxuICAgIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIj5cbiAgICAgIDxjYXB0aW9uPlxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmFkbWluLmRhdGFzZXQudGl0bGUnIHwgaTE4blxuICAgICAgICB9fSxcbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hY3Rpb24uc29ydGFibGVDb2x1bW5IZWFkZXInIHwgaTE4blxuICAgICAgICB9fVxuICAgICAgPC9jYXB0aW9uPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi50aXRsZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5kYXRlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LnN0YXR1cycgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0clxuICAgICAgICAgICpuZ0Zvcj1cImxldCB2ZXJzaW9uIG9mIGRhdGFzZXRWZXJzaW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKHZlcnNpb24pXCJcbiAgICAgICAgICBbY2xhc3MuLXNlbGVjdGVkXT1cInZlcnNpb24uaWQgPT09IHNlbGVjdGVkVmVyc2lvbj8uaWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAge3sgdmVyc2lvbi52ZXJzaW9uIH19XG4gICAgICAgICAgICA8cHJ5LWljb24gKm5nSWY9XCJhY3RpdmVWZXJzaW9uLmlkID09PSB2ZXJzaW9uLmlkXCIgaWNvblN2Zz1cImNoZWNrXCIgY2xhc3M9XCJjaGVja1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiYS10b29sdGlwXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cInZlcnNpb24ubGFzdE1vZGlmaWVkIHwgc2luY2VEYXRlOiB7IG9ubHlMb2NhbGU6IHRydWUgfVwiXG4gICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgdmVyc2lvbi5sYXN0TW9kaWZpZWQgfCBzaW5jZURhdGU6IHsgb25seUxvY2FsZTogdHJ1ZSB9IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIChhY3RpdmVWZXJzaW9uLmlkID09PSB2ZXJzaW9uLmlkXG4gICAgICAgICAgICAgICAgPyAnQHByeS5kYXRhc2V0LnZlcnNpb24uY3VycmVudGx5QWN0aXZlJ1xuICAgICAgICAgICAgICAgIDogJ0BwcnkuZGF0YXNldC52ZXJzaW9uLicgKyB2ZXJzaW9uLnN0YXRlXG4gICAgICAgICAgICAgICkgfCBpMThuXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cIm0taW5mby1pY29uIGEtdG9vbHRpcCAtdG9vbHRpcC13aWR0aC1tZFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5kYXRhc2V0LnRvb2x0aXAuJyArIGdldFZlcnNpb25Ub29sdGlwQ29udGVudCh2ZXJzaW9uLCBhY3RpdmVWZXJzaW9uLmlkKSB8IGkxOG5cIlxuICAgICAgICAgICAgICBkYXRhLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuPmk8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ2ZXJzaW9uLnN0YXRlICE9PSAnTE9BRElORycgJiYgdmVyc2lvbi5zdGF0ZSAhPT0gJ0lOREVYSU5HJyAmJiB2ZXJzaW9uLnN0YXRlICE9PSAnRVJST1InXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFzZXQub3duZXIgJiYgKHZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnIHx8IHZlcnNpb24uc3RhdGUgPT09ICdJTkFDVElWRScpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAnbGlzdC1kYXRhc2V0JywgYWN0aW9uOiAnYWN0aXZhdGUnIH1cIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgYS1idG4tLWljb24tdGV4dCBuZy1zdGFyLWluc2VydGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkFjdGlvbih2ZXJzaW9uKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLicgKyB2ZXJzaW9uLnN0YXRlIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0lOQUNUSVZFJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWluZm8taWNvbiBhLXRvb2x0aXAgLXRvb2x0aXAtd2lkdGgtbGdcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdAcHJ5LmRhdGFzZXQudG9vbHRpcC5pbnZhbGlkYXRlQnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdAcHJ5LmRhdGFzZXQudG9vbHRpcC52YWxpZGF0ZUJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICkgfCBpMThuXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5pPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZlcnNpb24uaGFzV2FybmluZ3MgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJ1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IGEtYnRuLS1pY29uLXRleHQgbmctc3Rhci1pbnNlcnRlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnN1bHRFcnJvcnModmVyc2lvbilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICh2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InID8gJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uRVJST1InIDogJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uV0FSTklORycpXG4gICAgICAgICAgICAgICAgICAgIHwgaTE4blxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic2hvd01vZGFsU3RhdHVzXCI+XG4gIDxwcnktbW9kYWwtc3RhdHVzIFt2ZXJzaW9uXT1cInNlbGVjdGVkRGF0YXNldFZlcnNpb25cIiAoZ290b0NvbnN1bHQpPVwiZ29Ub0NvbnN1bHQoJGV2ZW50KVwiPjwvcHJ5LW1vZGFsLXN0YXR1cz5cbjwvbmctY29udGFpbmVyPlxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtZGV0YWlsL2RhdGFzZXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBR2xCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsYUFBYSxFQUNiLHdCQUF3QixFQUN4QixRQUFRLEVBRVQsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsR0FBRyxFQUF1QixNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFHaEQsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBTW5CLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFxQ3JFLFlBQW9CLEtBQVk7UUFDOUIsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBbkN0QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBRztZQUNmLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFB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Q0Usb0JBQW9COzBFQUlyQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkQWN0aW9ucyxcbiAgRGFzaGJvYXJkU2VsZWN0b3JzLFxuICBEYXRhc2V0LFxuICBEYXRhc2V0VmVyc2lvbixcbiAgRGF0YVNvdXJjZUFjdGlvbnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIFJlc3VsdFNldHMsXG4gIFNlYXJjaEFjdGlvbnMsXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSxcbiAgVmlld01vZGUsXG4gIFdpZGdldE1hbmlmZXN0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5sZXQgbmV4dENvbXBJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1kYXRhc2V0LWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5RGF0YXNldERldGFpbENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGFzZXQhOiBEYXRhc2V0O1xuICBAT3V0cHV0KCkgZ29Ub0NhdGFsb2cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHdpZGdldE1hbmlmZXN0ID0ge1xuICAgIHRhYmxlOiB7XG4gICAgICBoZWFkZXI6IHRydWUsXG4gICAgICB0eXBlOiAndGFibGUnLFxuICAgICAgbGF5b3V0OiB7IHg6IDEsIHk6IDEsIGhlaWdodDogMTIsIHdpZHRoOiAxMiB9LFxuICAgICAgb3B0aW9uczoge30sXG4gICAgICBkYXRhc291cmNlOiBbJyddXG4gICAgfSxcbiAgICBtYXA6IHtcbiAgICAgIGhlYWRlcjogZmFsc2UsXG4gICAgICB0eXBlOiAnbWFwJyxcbiAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCBoZWlnaHQ6IDEyLCB3aWR0aDogMTIgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgbGF5ZXJzOiBbXSxcbiAgICAgICAgZml0OiB0cnVlLFxuICAgICAgICBhdXRvbWF0aWNMYXllcnM6IHRydWVcbiAgICAgIH0sXG4gICAgICBkYXRhc291cmNlOiBbJyddXG4gICAgfVxuICB9IGFzIHsgW2tleTogc3RyaW5nXTogV2lkZ2V0TWFuaWZlc3QgfTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IFZpZXdNb2RlID0gVmlld01vZGU7XG4gIGNvbXBJZDogbnVtYmVyID0gMDtcbiAgdGFiOiBudW1iZXIgPSAwO1xuICBkYXRhc2V0SXRlbXMkOiBPYnNlcnZhYmxlPFJlc3VsdFNldHMgfCBudWxsPjtcbiAgcHVibGljIGRhdGFzZXRWZXJzaW9ucyQhOiBPYnNlcnZhYmxlPERhdGFzZXRWZXJzaW9uW10+O1xuICBzaG93TW9kYWxTdGF0dXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWREYXRhc2V0VmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuICBzZWxlY3RlZE1vZGU6IFZpZXdNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgYWN0aXZlVmVyc2lvbiQhOiBPYnNlcnZhYmxlPERhdGFzZXRWZXJzaW9uIHwgdW5kZWZpbmVkPjtcbiAgaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuXG4gIGlzUGFuZWxPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkVmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRhdGFzZXRJdGVtcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cyk7XG4gICAgdGhpcy5jb21wSWQgPSBuZXh0Q29tcElkKys7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zQnlEYXRhc2V0SWQoeyBpZDogdGhpcy5kYXRhc2V0LmlkIH0pKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMucmVtb3ZlRmlsdGVycygpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgU2VhcmNoQWN0aW9ucy5nZXREYXRhc291cmNlSXRlbXMoe1xuICAgICAgICBpZDogdGhpcy5kYXRhc2V0LmlkLFxuICAgICAgICBleGNsdWRlR2VvOiBmYWxzZSxcbiAgICAgICAgZnJvbTogJ1ByeURhdGFzZXREZXRhaWxDb21wb25lbnQubmdPbkluaXQoKSdcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJCA9IHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5tYXRjaGluZ0RhdGFzZXRWZXJzaW9ucyh0aGlzLmRhdGFzZXQuaWQpKVxuICAgICAgLnBpcGUobWFwKChyZXMpID0+IFsuLi5yZXNdLnNvcnQoKGEsIGIpID0+IGIudmVyc2lvbiAtIGEudmVyc2lvbikpKTtcbiAgICB0aGlzLmFjdGl2ZVZlcnNpb24kID0gdGhpcy5kYXRhc2V0VmVyc2lvbnMkLnBpcGUoXG4gICAgICBtYXAoKHZlcnNpb25zKSA9PlxuICAgICAgICB2ZXJzaW9ucy5zb3J0KCh2MSwgdjIpID0+IHYyLnZlcnNpb24gLSB2MS52ZXJzaW9uKS5maW5kKCh2ZXJzaW9uKSA9PiB2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJylcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJC5zdWJzY3JpYmUoKHZlcnNpb25zKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0ge1xuICAgICAgICAgICAgLi4udGhpcy5zZWxlY3RlZFZlcnNpb24sXG4gICAgICAgICAgICAuLi52ZXJzaW9ucy5maW5kKCh2ZXJzaW9uKSA9PiB2ZXJzaW9uLmlkID09PSB0aGlzLnNlbGVjdGVkVmVyc2lvbj8uaWQpXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsndGFibGUnXS5kYXRhc291cmNlID0gW3RoaXMuZGF0YXNldC5pZF07XG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsnbWFwJ10uZGF0YXNvdXJjZSA9IFt0aGlzLmRhdGFzZXQuaWRdO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NhdGFsb2cuZW1pdCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnMoKSk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcyh7XG4gICAgICAgIGlkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIGV4Y2x1ZGVHZW86IGZhbHNlLFxuICAgICAgICBmcm9tOiAnUHJ5RGF0YXNldERldGFpbENvbXBvbmVudC5yZWZyZXNoKCknXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9ucygpKTtcbiAgfVxuXG4gIGdvVG9Db25zdWx0KHZlcnNpb246IERhdGFzZXRWZXJzaW9uIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICB0aGlzLnNob3dNb2RhbFN0YXR1cyA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgfVxuXG4gIHN3aXRjaChudW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMudGFiID0gbnVtYmVyO1xuICB9XG5cbiAgaGFuZGxlQnV0dG9uQWN0aW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICBzd2l0Y2ggKHZlcnNpb24uc3RhdGUpIHtcbiAgICAgIGNhc2UgJ0FDVElWRSc6XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZVZlcnNpb24odmVyc2lvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnSU5BQ1RJVkUnOlxuICAgICAgICB0aGlzLmFjdGl2YXRlVmVyc2lvbih2ZXJzaW9uKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBjb25zdWx0RXJyb3JzKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICB0aGlzLnNob3dNb2RhbFN0YXR1cyA9IHRydWU7XG4gIH1cblxuICBnZXRWZXJzaW9uVG9vbHRpcENvbnRlbnQodmVyc2lvbjogRGF0YXNldFZlcnNpb24sIGFjdGl2ZVZlcnNpb25JZDogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh2ZXJzaW9uLnN0YXRlKSB7XG4gICAgICBjYXNlICdFUlJPUic6XG4gICAgICAgIHJldHVybiAnZXJyb3InO1xuICAgICAgY2FzZSAnQUNUSVZFJzpcbiAgICAgICAgcmV0dXJuIHZlcnNpb24uaWQgPT09IGFjdGl2ZVZlcnNpb25JZCA/ICdhY3RpdmUnIDogJ2luYWN0aXZlJztcbiAgICAgIGNhc2UgJ0xPQURJTkcnOlxuICAgICAgY2FzZSAnSU5ERVhJTkcnOlxuICAgICAgICByZXR1cm4gJ2xvYWRpbmcnO1xuICAgICAgY2FzZSAnSU5BQ1RJVkUnOlxuICAgICAgICByZXR1cm4gJ2ludmFsaWQnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd1bmtub3duJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlYWN0aXZhdGVWZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHtcbiAgICAgICAgZGF0YXNldElkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIHZlcnNpb25JZDogdmVyc2lvbi5pZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmF0ZVZlcnNpb24odmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5hY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHtcbiAgICAgICAgZGF0YXNldElkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIHZlcnNpb25JZDogdmVyc2lvbi5pZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25UYWJTd2l0Y2goJGV2ZW50OiBudW1iZXIpIHtcbiAgICBpZiAoWzAsIDEsIDJdLmluY2x1ZGVzKCRldmVudCkpIHtcbiAgICAgIHRoaXMuaXNQYW5lbE9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVQYW5lbChzZWxlY3RlZFZlcnNpb24/OiBEYXRhc2V0VmVyc2lvbikge1xuICAgIGlmIChzZWxlY3RlZFZlcnNpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0gc2VsZWN0ZWRWZXJzaW9uO1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9ICF0aGlzLmlzUGFuZWxPcGVuO1xuICAgIH1cbiAgfVxuXG4gIGVkaXRWZXJzaW9uKCkge1xuICAgIHRoaXMuaXNFZGl0aW5nVmVyc2lvbiA9IHRydWU7XG4gIH1cblxuICBmb3JtVmFsaWRhdGVkKCRldmVudDogUGFydGlhbDxEYXRhc2V0VmVyc2lvbj4pIHtcbiAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X190b29sYm94XCI+XG4gIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJnb0JhY2soKVwiPnt7ICdAcHJ5LmRhdGFzZXQucmV0dXJuVG9MaXN0JyB8IGkxOG4gfX08L2J1dHRvbj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwicmVmcmVzaCgpXCI+XG4gICAge3sgJ0BwcnkuZGF0YXNldC5yZWZyZXNoJyB8IGkxOG4gfX1cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cInN5bmNocm9cIj48L3ByeS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dFwiPlxuICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dF9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgIDxoMiBjbGFzcz1cImEtaDFcIj57eyBkYXRhc2V0Lm5hbWUgfX08L2gyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm8tZGF0YXNldC1kZXRhaWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtZGV0YWlsX19jb250ZW50XCI+XG4gICAgICAgIDxwcnktdGFiLWdyb3VwIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuZGF0YXNldC5cIiAoY2xpY2tlZFRhYklkeCk9XCJvblRhYlN3aXRjaCgkZXZlbnQpXCI+XG4gICAgICAgICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImluZm9ybWF0aW9uXCIgbmFtZT1cImluZm9ybWF0aW9uXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJ0YWJsZVwiIG5hbWU9XCJkYXRhXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJtYXBcIiBuYW1lPVwibWFwXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJkYXRhc2V0VmVyc2lvbnNcIiBuYW1lPVwidmVyc2lvbkhpc3RvcnlcIj48L3ByeS10YWI+XG4gICAgICAgIDwvcHJ5LXRhYi1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChpc1BhbmVsT3Blbikge1xuICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtbGF5b3V0X19wYW5lbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhbmVsX19oZWFkZXIgdS1kaXNwbGF5LWZsZXggLWp1c3RpZnktc3BhY2UtYmV0d2VlblwiPlxuICAgICAgICA8aDM+e3sgJ0BwcnkuZGF0YXNldC5pbmZvcm1hdGlvbicgfCBpMThuIH19PC9oMz5cbiAgICAgICAgPGJ1dHRvbiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbF9fY29udGVudCB1LWRpc3BsYXktZmxleCAtY29sdW1uXCI+XG4gICAgICAgIEBpZiAoIWlzRWRpdGluZ1ZlcnNpb24pIHtcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y3Rpb25EYXRlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgICAoc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWN0aW9uRGF0ZSB8IGRhdGU6ICdkZC1NTS15eXl5LCBISDptbScpID8/XG4gICAgICAgICAgICAgICAgKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKVxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWNlciA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidmVyc2lvbi1pbmZvcm1hdGlvblwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWZXJzaW9uPy5hZGRpdGlvbmFsSW5mb3JtYXRpb24gPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB8IG1kVG9IdG1sXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnYWRtaW4nLCBwYWdlOiAnbGlzdC1kYXRhc2V0JywgYWN0aW9uOiAnZWRpdF92ZXJzaW9uJyB9XCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSB1LXNlbGYtZW5kXCJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0VmVyc2lvbigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24uZWRpdCcgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxwcnktZGF0YXNldC12ZXJzaW9uLWZvcm1cbiAgICAgICAgICAgIFt2ZXJzaW9uXT1cInNlbGVjdGVkVmVyc2lvblwiXG4gICAgICAgICAgICAoZm9ybVZhbGlkYXRlZCk9XCJmb3JtVmFsaWRhdGVkKCRldmVudClcIlxuICAgICAgICAgID48L3ByeS1kYXRhc2V0LXZlcnNpb24tZm9ybT5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2luZm9ybWF0aW9uPlxuICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWNvbHVtbiBvLWRhdGFzZXQtZGV0YWlsX19pbmZvcm1hdGlvblwiPlxuICAgIDxkaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LmRlc2NyaXB0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8c3Bhbj57eyBkYXRhc2V0LmRlc2NyaXB0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgQGlmIChhY3RpdmVWZXJzaW9uJCB8IGFzeW5jOyBhcyBhY3RpdmVWZXJzaW9uKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjdGlvbkRhdGUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAoYWN0aXZlVmVyc2lvbj8ucHJvZHVjdGlvbkRhdGUgfCBkYXRlOiAnZGQtTU0teXl5eSwgSEg6bW0nKSA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjZXInIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgYWN0aXZlVmVyc2lvbj8ucHJvZHVjZXIgPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2ZXJzaW9uLWluZm9ybWF0aW9uXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cImFjdGl2ZVZlcnNpb24/LmFkZGl0aW9uYWxJbmZvcm1hdGlvbiA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIHwgbWRUb0h0bWxcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgPHA+e3sgJ0BwcnkuZGF0YXNldC5ub0FjdGl2ZVZlcnNpb24nIHwgaTE4biB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ3RhYmxlJ11dIH1cIj48L3ByeS1kYXNoYm9hcmQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbWFwPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ21hcCddXSB9XCI+PC9wcnktZGFzaGJvYXJkPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RhdGFzZXRWZXJzaW9ucz5cbiAgPGRpdiAqbmdJZj1cImFjdGl2ZVZlcnNpb24kIHwgYXN5bmMgYXMgYWN0aXZlVmVyc2lvblwiIGNsYXNzPVwiZGF0YXNldC1kZXRhaWxfX3RhYmxlIHRhYmxlLWNvbnRhaW5lclwiPlxuICAgIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIj5cbiAgICAgIDxjYXB0aW9uPlxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmFkbWluLmRhdGFzZXQudGl0bGUnIHwgaTE4blxuICAgICAgICB9fSxcbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hY3Rpb24uc29ydGFibGVDb2x1bW5IZWFkZXInIHwgaTE4blxuICAgICAgICB9fVxuICAgICAgPC9jYXB0aW9uPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi50aXRsZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5kYXRlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LnN0YXR1cycgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0clxuICAgICAgICAgICpuZ0Zvcj1cImxldCB2ZXJzaW9uIG9mIGRhdGFzZXRWZXJzaW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKHZlcnNpb24pXCJcbiAgICAgICAgICBbY2xhc3MuLXNlbGVjdGVkXT1cInZlcnNpb24uaWQgPT09IHNlbGVjdGVkVmVyc2lvbj8uaWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAge3sgdmVyc2lvbi52ZXJzaW9uIH19XG4gICAgICAgICAgICA8cHJ5LWljb24gKm5nSWY9XCJhY3RpdmVWZXJzaW9uLmlkID09PSB2ZXJzaW9uLmlkXCIgaWNvblN2Zz1cImNoZWNrXCIgY2xhc3M9XCJjaGVja1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiYS10b29sdGlwXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cInZlcnNpb24ubGFzdE1vZGlmaWVkIHwgc2luY2VEYXRlOiB7IG9ubHlMb2NhbGU6IHRydWUgfVwiXG4gICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgdmVyc2lvbi5sYXN0TW9kaWZpZWQgfCBzaW5jZURhdGU6IHsgb25seUxvY2FsZTogdHJ1ZSB9IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIChhY3RpdmVWZXJzaW9uLmlkID09PSB2ZXJzaW9uLmlkXG4gICAgICAgICAgICAgICAgPyAnQHByeS5kYXRhc2V0LnZlcnNpb24uY3VycmVudGx5QWN0aXZlJ1xuICAgICAgICAgICAgICAgIDogJ0BwcnkuZGF0YXNldC52ZXJzaW9uLicgKyB2ZXJzaW9uLnN0YXRlXG4gICAgICAgICAgICAgICkgfCBpMThuXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cIm0taW5mby1pY29uIGEtdG9vbHRpcCAtdG9vbHRpcC13aWR0aC1tZFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5kYXRhc2V0LnRvb2x0aXAuJyArIGdldFZlcnNpb25Ub29sdGlwQ29udGVudCh2ZXJzaW9uLCBhY3RpdmVWZXJzaW9uLmlkKSB8IGkxOG5cIlxuICAgICAgICAgICAgICBkYXRhLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuPmk8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ2ZXJzaW9uLnN0YXRlICE9PSAnTE9BRElORycgJiYgdmVyc2lvbi5zdGF0ZSAhPT0gJ0lOREVYSU5HJyAmJiB2ZXJzaW9uLnN0YXRlICE9PSAnRVJST1InXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFzZXQub3duZXIgJiYgKHZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnIHx8IHZlcnNpb24uc3RhdGUgPT09ICdJTkFDVElWRScpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAnbGlzdC1kYXRhc2V0JywgYWN0aW9uOiAnYWN0aXZhdGUnIH1cIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgYS1idG4tLWljb24tdGV4dCBuZy1zdGFyLWluc2VydGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkFjdGlvbih2ZXJzaW9uKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLicgKyB2ZXJzaW9uLnN0YXRlIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0lOQUNUSVZFJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWluZm8taWNvbiBhLXRvb2x0aXAgLXRvb2x0aXAtd2lkdGgtbGdcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdAcHJ5LmRhdGFzZXQudG9vbHRpcC5pbnZhbGlkYXRlQnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdAcHJ5LmRhdGFzZXQudG9vbHRpcC52YWxpZGF0ZUJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICkgfCBpMThuXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5pPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZlcnNpb24uaGFzV2FybmluZ3MgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJ1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IGEtYnRuLS1pY29uLXRleHQgbmctc3Rhci1pbnNlcnRlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnN1bHRFcnJvcnModmVyc2lvbilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICh2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InID8gJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uRVJST1InIDogJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uV0FSTklORycpXG4gICAgICAgICAgICAgICAgICAgIHwgaTE4blxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic2hvd01vZGFsU3RhdHVzXCI+XG4gIDxwcnktbW9kYWwtc3RhdHVzIFt2ZXJzaW9uXT1cInNlbGVjdGVkRGF0YXNldFZlcnNpb25cIiAoZ290b0NvbnN1bHQpPVwiZ29Ub0NvbnN1bHQoJGV2ZW50KVwiPjwvcHJ5LW1vZGFsLXN0YXR1cz5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,16 +1,20 @@
1
- import { DataSourceActions } from '@provoly/dashboard';
1
+ import { DataSourceActions, DateUtils } from '@provoly/dashboard';
2
2
  import { Component, EventEmitter, Input, Output } from '@angular/core';
3
3
  import { FormControl, FormGroup, Validators } from '@angular/forms';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@ngrx/store";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@provoly/dashboard/components/text-editor";
8
- import * as i4 from "@provoly/dashboard";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "@provoly/dashboard/components/text-editor";
9
+ import * as i5 from "@provoly/dashboard";
9
10
  export class PryDatasetVersionFormComponent {
10
11
  constructor(store) {
11
12
  this.store = store;
12
13
  this.form = new FormGroup({
13
- productionDate: new FormControl('', { validators: [Validators.required], nonNullable: true }),
14
+ productionDate: new FormControl('', {
15
+ validators: [Validators.required, DateUtils.onlyPastDateValidator],
16
+ nonNullable: true
17
+ }),
14
18
  producer: new FormControl('', {
15
19
  validators: [Validators.required, Validators.minLength(1), Validators.maxLength(100)],
16
20
  nonNullable: true
@@ -33,6 +37,12 @@ export class PryDatasetVersionFormComponent {
33
37
  }
34
38
  }
35
39
  }
40
+ get productionDate() {
41
+ return this.form.get('productionDate');
42
+ }
43
+ get producer() {
44
+ return this.form.get('producer');
45
+ }
36
46
  onSubmit() {
37
47
  if (this.version) {
38
48
  this.store.dispatch(DataSourceActions.dataset.updateDatasetVersionInfo({
@@ -46,14 +56,14 @@ export class PryDatasetVersionFormComponent {
46
56
  this.formValidated.emit();
47
57
  }
48
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetVersionFormComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: { version: "version" }, outputs: { formValidated: "formValidated" }, ngImport: i0, template: "<form class=\"o-dataset-version-form u-display-flex -column\" [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input class=\"a-form-field\" type=\"datetime-local\" [max]=\"maxDate\" formControlName=\"productionDate\" />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input class=\"a-form-field\" type=\"text\" formControlName=\"producer\" />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\"></pry-text-editor>\n </div>\n <button class=\"a-btn a-btn--primary u-self-end\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n</form>\n", dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.PryTextEditorComponent, selector: "pry-text-editor", inputs: ["tabView"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: { version: "version" }, outputs: { formValidated: "formValidated" }, ngImport: i0, template: "<form class=\"o-dataset-version-form u-display-flex -column\" [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n formControlName=\"productionDate\"\n id=\"productionDate\"\n [attr.aria-invalid]=\"productionDate?.invalid\"\n />\n @if (productionDate?.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate?.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate?.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"text\"\n formControlName=\"producer\"\n id=\"producer\"\n [attr.aria-invalid]=\"producer?.invalid\"\n />\n <label *ngIf=\"producer?.invalid\" id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n <span *ngIf=\"producer?.errors?.['required'] ?? false\">{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n </label>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\"></pry-text-editor>\n </div>\n <button class=\"a-btn a-btn--primary u-self-end\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PryTextEditorComponent, selector: "pry-text-editor", inputs: ["tabView"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
50
60
  }
51
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetVersionFormComponent, decorators: [{
52
62
  type: Component,
53
- args: [{ selector: 'pry-dataset-version-form', template: "<form class=\"o-dataset-version-form u-display-flex -column\" [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input class=\"a-form-field\" type=\"datetime-local\" [max]=\"maxDate\" formControlName=\"productionDate\" />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input class=\"a-form-field\" type=\"text\" formControlName=\"producer\" />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\"></pry-text-editor>\n </div>\n <button class=\"a-btn a-btn--primary u-self-end\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n</form>\n" }]
63
+ args: [{ selector: 'pry-dataset-version-form', template: "<form class=\"o-dataset-version-form u-display-flex -column\" [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n formControlName=\"productionDate\"\n id=\"productionDate\"\n [attr.aria-invalid]=\"productionDate?.invalid\"\n />\n @if (productionDate?.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate?.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate?.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"text\"\n formControlName=\"producer\"\n id=\"producer\"\n [attr.aria-invalid]=\"producer?.invalid\"\n />\n <label *ngIf=\"producer?.invalid\" id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n <span *ngIf=\"producer?.errors?.['required'] ?? false\">{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n </label>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\"></pry-text-editor>\n </div>\n <button class=\"a-btn a-btn--primary u-self-end\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n</form>\n" }]
54
64
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { version: [{
55
65
  type: Input
56
66
  }], formValidated: [{
57
67
  type: Output
58
68
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC12ZXJzaW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtdmVyc2lvbi1mb3JtL2RhdGFzZXQtdmVyc2lvbi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LXZlcnNpb24tZm9ybS9kYXRhc2V0LXZlcnNpb24tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBc0IsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWF4RixNQUFNLE9BQU8sOEJBQThCO0lBY3pDLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBWmhDLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBeUI7WUFDM0MsY0FBYyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDN0YsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRTtnQkFDNUIsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JGLFdBQVcsRUFBRSxJQUFJO2FBQ2xCLENBQUM7WUFDRixxQkFBcUIsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3JHLENBQUMsQ0FBQztRQUNILFlBQU8sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFMUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztJQUVuQyxDQUFDO0lBRXBDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtnQkFDL0IscUJBQXFCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUI7YUFDMUQsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztvQkFDbkIsY0FBYyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7aUJBQ3JGLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDO2dCQUNqRCxPQUFPLEVBQUU7b0JBQ1AsR0FBRyxJQUFJLENBQUMsT0FBTztvQkFDZixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztvQkFDbEIsY0FBYyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUU7aUJBQzdFO2FBQ0YsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQTNDVSw4QkFBOEI7a0dBQTlCLDhCQUE4Qiw2SUNmM0MsKzhCQWlCQTs7MkZERmEsOEJBQThCO2tCQUoxQyxTQUFTOytCQUNFLDBCQUEwQjswRUFJM0IsT0FBTztzQkFBZixLQUFLO2dCQVdJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhc2V0VmVyc2lvbiwgRGF0YVNvdXJjZUFjdGlvbnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTWluTGVuZ3RoVmFsaWRhdG9yLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmludGVyZmFjZSBEYXRhc2V0VmVyc2lvbkluZm9Gb3JtIHtcbiAgcHJvZHVjdGlvbkRhdGU6IEZvcm1Db250cm9sPHN0cmluZz47XG4gIHByb2R1Y2VyOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xuICBhZGRpdGlvbmFsSW5mb3JtYXRpb246IEZvcm1Db250cm9sPHN0cmluZz47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1kYXRhc2V0LXZlcnNpb24tZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhc2V0LXZlcnNpb24tZm9ybS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5RGF0YXNldFZlcnNpb25Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuICBmb3JtID0gbmV3IEZvcm1Hcm91cDxEYXRhc2V0VmVyc2lvbkluZm9Gb3JtPih7XG4gICAgcHJvZHVjdGlvbkRhdGU6IG5ldyBGb3JtQ29udHJvbCgnJywgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgIHByb2R1Y2VyOiBuZXcgRm9ybUNvbnRyb2woJycsIHtcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV0sXG4gICAgICBub25OdWxsYWJsZTogdHJ1ZVxuICAgIH0pLFxuICAgIGFkZGl0aW9uYWxJbmZvcm1hdGlvbjogbmV3IEZvcm1Db250cm9sKCcnLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgbm9uTnVsbGFibGU6IHRydWUgfSlcbiAgfSk7XG4gIG1heERhdGUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgnWicsICcnKTtcblxuICBAT3V0cHV0KCkgZm9ybVZhbGlkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGFydGlhbDxEYXRhc2V0VmVyc2lvbj4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMudmVyc2lvbikge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBwcm9kdWNlcjogdGhpcy52ZXJzaW9uLnByb2R1Y2VyLFxuICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246IHRoaXMudmVyc2lvbi5hZGRpdGlvbmFsSW5mb3JtYXRpb25cbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZSkge1xuICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgcHJvZHVjdGlvbkRhdGU6IG5ldyBEYXRlKHRoaXMudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZSkudG9JU09TdHJpbmcoKS5yZXBsYWNlKCdaJywgJycpXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLnZlcnNpb24pIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQudXBkYXRlRGF0YXNldFZlcnNpb25JbmZvKHtcbiAgICAgICAgICB2ZXJzaW9uOiB7XG4gICAgICAgICAgICAuLi50aGlzLnZlcnNpb24sXG4gICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICBwcm9kdWN0aW9uRGF0ZTogbmV3IERhdGUodGhpcy5mb3JtLnZhbHVlLnByb2R1Y3Rpb25EYXRlID8/ICcnKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtVmFsaWRhdGVkLmVtaXQoKTtcbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJvLWRhdGFzZXQtdmVyc2lvbi1mb3JtIHUtZGlzcGxheS1mbGV4IC1jb2x1bW5cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiPlxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICA8aW5wdXQgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIiBbbWF4XT1cIm1heERhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJwcm9kdWN0aW9uRGF0ZVwiIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9sYWJlbD5cbiAgICA8aW5wdXQgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInByb2R1Y2VyXCIgLz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgICA8cHJ5LXRleHQtZWRpdG9yIGZvcm1Db250cm9sTmFtZT1cImFkZGl0aW9uYWxJbmZvcm1hdGlvblwiPjwvcHJ5LXRleHQtZWRpdG9yPlxuICA8L2Rpdj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IHUtc2VsZi1lbmRcIiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPlxuICAgIHt7ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QudmFsaWRhdGUnIHwgaTE4biB9fVxuICA8L2J1dHRvbj5cbjwvZm9ybT5cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC12ZXJzaW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtdmVyc2lvbi1mb3JtL2RhdGFzZXQtdmVyc2lvbi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LXZlcnNpb24tZm9ybS9kYXRhc2V0LXZlcnNpb24tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFhcEUsTUFBTSxPQUFPLDhCQUE4QjtJQWlCekMsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFmaEMsU0FBSSxHQUFHLElBQUksU0FBUyxDQUF5QjtZQUMzQyxjQUFjLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFO2dCQUNsQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDbEUsV0FBVyxFQUFFLElBQUk7YUFDbEIsQ0FBQztZQUNGLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUU7Z0JBQzVCLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyRixXQUFXLEVBQUUsSUFBSTthQUNsQixDQUFDO1lBQ0YscUJBQXFCLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNyRyxDQUFDLENBQUM7UUFDSCxZQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTFDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7SUFFbkMsQ0FBQztJQUVwQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7Z0JBQy9CLHFCQUFxQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCO2FBQzFELENBQUMsQ0FBQztZQUNILElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7b0JBQ25CLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2lCQUNyRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQztnQkFDakQsT0FBTyxFQUFFO29CQUNQLEdBQUcsSUFBSSxDQUFDLE9BQU87b0JBQ2YsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7b0JBQ2xCLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFO2lCQUM3RTthQUNGLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0F0RFUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsNklDZjNDLDgxREEwQ0E7OzJGRDNCYSw4QkFBOEI7a0JBSjFDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQUkzQixPQUFPO3NCQUFmLEtBQUs7Z0JBY0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFzZXRWZXJzaW9uLCBEYXRhU291cmNlQWN0aW9ucywgRGF0ZVV0aWxzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW50ZXJmYWNlIERhdGFzZXRWZXJzaW9uSW5mb0Zvcm0ge1xuICBwcm9kdWN0aW9uRGF0ZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgcHJvZHVjZXI6IEZvcm1Db250cm9sPHN0cmluZz47XG4gIGFkZGl0aW9uYWxJbmZvcm1hdGlvbjogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWRhdGFzZXQtdmVyc2lvbi1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGFzZXQtdmVyc2lvbi1mb3JtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlEYXRhc2V0VmVyc2lvbkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB2ZXJzaW9uPzogRGF0YXNldFZlcnNpb247XG4gIGZvcm0gPSBuZXcgRm9ybUdyb3VwPERhdGFzZXRWZXJzaW9uSW5mb0Zvcm0+KHtcbiAgICBwcm9kdWN0aW9uRGF0ZTogbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgRGF0ZVV0aWxzLm9ubHlQYXN0RGF0ZVZhbGlkYXRvcl0sXG4gICAgICBub25OdWxsYWJsZTogdHJ1ZVxuICAgIH0pLFxuICAgIHByb2R1Y2VyOiBuZXcgRm9ybUNvbnRyb2woJycsIHtcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV0sXG4gICAgICBub25OdWxsYWJsZTogdHJ1ZVxuICAgIH0pLFxuICAgIGFkZGl0aW9uYWxJbmZvcm1hdGlvbjogbmV3IEZvcm1Db250cm9sKCcnLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgbm9uTnVsbGFibGU6IHRydWUgfSlcbiAgfSk7XG4gIG1heERhdGUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgnWicsICcnKTtcblxuICBAT3V0cHV0KCkgZm9ybVZhbGlkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGFydGlhbDxEYXRhc2V0VmVyc2lvbj4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMudmVyc2lvbikge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBwcm9kdWNlcjogdGhpcy52ZXJzaW9uLnByb2R1Y2VyLFxuICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246IHRoaXMudmVyc2lvbi5hZGRpdGlvbmFsSW5mb3JtYXRpb25cbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZSkge1xuICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgcHJvZHVjdGlvbkRhdGU6IG5ldyBEYXRlKHRoaXMudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZSkudG9JU09TdHJpbmcoKS5yZXBsYWNlKCdaJywgJycpXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBwcm9kdWN0aW9uRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgncHJvZHVjdGlvbkRhdGUnKTtcbiAgfVxuXG4gIGdldCBwcm9kdWNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgncHJvZHVjZXInKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLnZlcnNpb24pIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQudXBkYXRlRGF0YXNldFZlcnNpb25JbmZvKHtcbiAgICAgICAgICB2ZXJzaW9uOiB7XG4gICAgICAgICAgICAuLi50aGlzLnZlcnNpb24sXG4gICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICBwcm9kdWN0aW9uRGF0ZTogbmV3IERhdGUodGhpcy5mb3JtLnZhbHVlLnByb2R1Y3Rpb25EYXRlID8/ICcnKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtVmFsaWRhdGVkLmVtaXQoKTtcbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJvLWRhdGFzZXQtdmVyc2lvbi1mb3JtIHUtZGlzcGxheS1mbGV4IC1jb2x1bW5cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiPlxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInByb2R1Y3Rpb25EYXRlXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y3Rpb25EYXRlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJcbiAgICAgIFttYXhdPVwibWF4RGF0ZVwiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcm9kdWN0aW9uRGF0ZVwiXG4gICAgICBpZD1cInByb2R1Y3Rpb25EYXRlXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJwcm9kdWN0aW9uRGF0ZT8uaW52YWxpZFwiXG4gICAgLz5cbiAgICBAaWYgKHByb2R1Y3Rpb25EYXRlPy5pbnZhbGlkKSB7XG4gICAgICA8bGFiZWwgaWQ9XCJwcm9kdWN0aW9uRGF0ZS1lcnJvclwiIGZvcj1cInByb2R1Y3Rpb25EYXRlXCIgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCI+XG4gICAgICAgIEBpZiAocHJvZHVjdGlvbkRhdGU/LmVycm9ycz8uWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgPHNwYW4+e3sgJ0BwcnkuZGF0YXNldC5mb3JtLm9ibGlnYXRvcnknIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSBpZiAocHJvZHVjdGlvbkRhdGU/LmVycm9ycz8uWydkYXRlVmFsaWRhdG9yJ10pIHtcbiAgICAgICAgICA8c3Bhbj57eyAnQHByeS5kYXRhc2V0LmZvcm0uZGF0ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2xhYmVsPlxuICAgIH1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y2VyJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJvZHVjZXJcIlxuICAgICAgaWQ9XCJwcm9kdWNlclwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwicHJvZHVjZXI/LmludmFsaWRcIlxuICAgIC8+XG4gICAgPGxhYmVsICpuZ0lmPVwicHJvZHVjZXI/LmludmFsaWRcIiBpZD1cInByb2R1Y2VyLWVycm9yXCIgZm9yPVwicHJvZHVjZXJcIiBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwicHJvZHVjZXI/LmVycm9ycz8uWydyZXF1aXJlZCddID8/IGZhbHNlXCI+e3sgJ0BwcnkuZGF0YXNldC5mb3JtLm9ibGlnYXRvcnknIHwgaTE4biB9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgIDxwcnktdGV4dC1lZGl0b3IgZm9ybUNvbnRyb2xOYW1lPVwiYWRkaXRpb25hbEluZm9ybWF0aW9uXCI+PC9wcnktdGV4dC1lZGl0b3I+XG4gIDwvZGl2PlxuICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgdS1zZWxmLWVuZFwiIHR5cGU9XCJzdWJtaXRcIiBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCI+XG4gICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC52YWxpZGF0ZScgfCBpMThuIH19XG4gIDwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
@@ -31,6 +31,10 @@ export const enTranslations = {
31
31
  ACTIVE: 'Available',
32
32
  currentlyActive: 'Active'
33
33
  },
34
+ form: {
35
+ obligatory: 'Obligatory field',
36
+ date: 'The date cannot be in the future'
37
+ },
34
38
  buttonAction: {
35
39
  ACTIVE: 'Invalidate',
36
40
  INACTIVE: 'Validate',
@@ -74,4 +78,4 @@ export const enTranslations = {
74
78
  }
75
79
  }
76
80
  };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2VuLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFdBQVcsRUFBRSxhQUFhO1lBQzFCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLFFBQVE7WUFDaEIsY0FBYyxFQUFFLGlCQUFpQjtZQUNqQyxXQUFXLEVBQUUsYUFBYTtZQUMxQixJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxPQUFPO1lBQ2QsR0FBRyxFQUFFLEtBQUs7WUFDVixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsS0FBSztZQUNWLFlBQVksRUFBRSxpQkFBaUI7WUFDL0IsT0FBTyxFQUFFLFNBQVM7WUFDbEIsU0FBUyxFQUFFLGVBQWU7WUFDMUIsZUFBZSxFQUFFLG1CQUFtQjtZQUNwQyxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsY0FBYyxFQUFFLGlCQUFpQjtnQkFDakMsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHFCQUFxQixFQUFFLHFCQUFxQjtnQkFDNUMsV0FBVyxFQUFFLGNBQWM7Z0JBQzNCLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLEtBQUssRUFBRSxPQUFPO2dCQUNkLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixlQUFlLEVBQUUsUUFBUTthQUMxQjtZQUNELFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsWUFBWTtnQkFDcEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxFQUFFO2FBQ2I7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsUUFBUTtnQkFDZixVQUFVLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLGdCQUFnQjtvQkFDdkIsT0FBTyxFQUFFLGtCQUFrQjtpQkFDNUI7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMLEtBQUssRUFBRSxPQUFPO29CQUNkLE9BQU8sRUFBRSxTQUFTO2lCQUNuQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osWUFBWSxFQUFFLDJDQUEyQztvQkFDekQsTUFBTSxFQUFFLHFDQUFxQztvQkFDN0MsT0FBTyxFQUFFLDBDQUEwQztvQkFDbkQsU0FBUyxFQUFFLGdDQUFnQztvQkFDM0MsaUJBQWlCLEVBQUUseUJBQXlCO29CQUM1QyxhQUFhLEVBQUUsd0ZBQXdGO2lCQUN4RzthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSx5RkFBeUY7Z0JBQ2hHLE1BQU0sRUFBRSxzR0FBc0c7Z0JBQzlHLFFBQVEsRUFDTiwySUFBMkk7Z0JBQzdJLE9BQU8sRUFBRSwwREFBMEQ7Z0JBQ25FLE9BQU8sRUFDTCw0SEFBNEg7Z0JBQzlILE9BQU8sRUFBRSxlQUFlO2dCQUN4QixnQkFBZ0IsRUFDZCxnVEFBZ1Q7Z0JBQ2xULGNBQWMsRUFDWiwyUEFBMlA7YUFDOVA7U0FDRjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlblRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BwcnknOiB7XG4gICAgZGF0YXNldDoge1xuICAgICAgY29uc3VsdDogJ1ZpZXcnLFxuICAgICAgdGl0bGU6ICdEYXRhc2V0IGNhdGFsb2cnLFxuICAgICAgc2VhcmNoOiAnU2VhcmNoJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgc3RhdHVzOiAnU3RhdHVzJyxcbiAgICAgIHZlcnNpb25IaXN0b3J5OiAnVmVyc2lvbiBoaXN0b3J5JyxcbiAgICAgIGluZm9ybWF0aW9uOiAnSW5mb3JtYXRpb24nLFxuICAgICAgZGF0YTogJ0RhdGEnLFxuICAgICAgdGFibGU6ICdUYWJsZScsXG4gICAgICBtYXA6ICdNYXAnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0JyxcbiAgICAgIGFwaTogJ0FQSScsXG4gICAgICByZXR1cm5Ub0xpc3Q6ICdCYWNrIHRvIGNhdGFsb2cnLFxuICAgICAgcmVmcmVzaDogJ1JlZnJlc2gnLFxuICAgICAgc2luY2VfZGF5OiAnTGFzdCB1cGRhdGUgOicsXG4gICAgICBub0FjdGl2ZVZlcnNpb246ICdObyBhY3RpdmUgdmVyc2lvbicsXG4gICAgICB2ZXJzaW9uOiB7XG4gICAgICAgIHRpdGxlOiAnVGl0bGUnLFxuICAgICAgICBwcm9kdWN0aW9uRGF0ZTogJ1Byb2R1Y3Rpb24gZGF0ZScsXG4gICAgICAgIHByb2R1Y2VyOiAnRGF0YSBwcm9kdWNlcicsXG4gICAgICAgIGFkZGl0aW9uYWxJbmZvcm1hdGlvbjogJ1ZlcnNpb24gaW5mb3JtYXRpb24nLFxuICAgICAgICBub3RQcm92aWRlZDogJ05vdCBwcm92aWRlZCcsXG4gICAgICAgIElOREVYSU5HOiAnTG9hZGluZycsXG4gICAgICAgIExPQURJTkc6ICdMb2FkaW5nJyxcbiAgICAgICAgSU5BQ1RJVkU6ICdJbnZhbGlkJyxcbiAgICAgICAgRVJST1I6ICdFcnJvcicsXG4gICAgICAgIEFDVElWRTogJ0F2YWlsYWJsZScsXG4gICAgICAgIGN1cnJlbnRseUFjdGl2ZTogJ0FjdGl2ZSdcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGF0ZScsXG4gICAgICAgIElOQUNUSVZFOiAnVmFsaWRhdGUnLFxuICAgICAgICBFUlJPUjogJ0NvbnN1bHQgZXJyb3JzJyxcbiAgICAgICAgV0FSTklORzogJ0NvbnN1bHQgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBlbGVtZW50czogJ0VsZW1lbnRzJyxcbiAgICAgICAgbWVzc2FnZTogJ01lc3NhZ2UnLFxuICAgICAgICBjbG9zZTogJ0Zlcm1lcicsXG4gICAgICAgIG1vZGFsVGl0bGU6IHtcbiAgICAgICAgICBFUlJPUjogJ0xpc3Qgb2YgZXJyb3JzJyxcbiAgICAgICAgICBXQVJOSU5HOiAnTGlzdCBvZiB3YXJuaW5ncydcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICBFUlJPUjogJ0Vycm9yJyxcbiAgICAgICAgICBXQVJOSU5HOiAnV2FybmluZydcbiAgICAgICAgfSxcbiAgICAgICAgY29kZToge1xuICAgICAgICAgIFVOUkVDT0dOSVpFRDogJ1VucmVjb2duaXplZCBhdHRyaWJ1dGV7e3BsdXJhbH19IHt7bmFtZX19JyxcbiAgICAgICAgICBGT1JNQVQ6ICdXcm9uZyBmb3JtYXQgZm9yIGF0dHJpYnV0ZSB7e25hbWV9fScsXG4gICAgICAgICAgU1RPUkFHRTogJ0luc2VydGlvbiBlcnJvciBmb3IgZWxlbWVudCB7e3JlY29yZElkfX0nLFxuICAgICAgICAgIE5PX1ZBTFVFUzogJ05vIHZhbHVlIGZvciB7e3JlY29yZElkfX0gbGluZScsXG4gICAgICAgICAgRk9STUFUX0ZJTEVfRVJST1I6ICdVbnN1cHBvcnRlZCBmaWxlIGZvcm1hdCcsXG4gICAgICAgICAgTk9fQVRUUklCVVRFUzogJ1RoZSBpbXBvcnRlZCBkYXRhIGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gdGhlIGRhdGEgbW9kZWwgaW5kaWNhdGVkIGluIHRoZSBpbXBvcnQgdGFyZ2V0J1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBlcnJvcjogJ0Vycm9ycyBvY2N1cnJlZCB3aGVuIGludGVncmF0aW5nIHRoZSBkYXRhIGludG8gdGhlIHNvbHV0aW9uLiBUaGUgZGF0YSBpcyBub3QgYWNjZXNzaWJsZScsXG4gICAgICAgIGFjdGl2ZTogJ1RoZSBkYXRhIHJldHJpZXZlZCBieSBkZWZhdWx0IGluIHRoZSBhcHBsaWNhdGlvbiBjb3JyZXNwb25kcyB0byB0aGUgZGF0YSBpbnRlZ3JhdGVkIGluIHRoaXMgdmVyc2lvbi4nLFxuICAgICAgICBpbmFjdGl2ZTpcbiAgICAgICAgICAnVGhlIGRhdGEgZm9yIHRoaXMgdmVyc2lvbiBpcyBhdmFpbGFibGUgYnV0IG5vdCB1cGxvYWRlZCBieSBkZWZhdWx0LiBJdCBpcyBwb3NzaWJsZSB0byBkaXNwbGF5IHRoZW0gYnkgZXhwbGljaXRseSByZXF1ZXN0aW5nIHRoaXMgdmVyc2lvbi4nLFxuICAgICAgICBsb2FkaW5nOiAnVGhlIGRhdGEgaXMgY3VycmVudGx5IGJlaW5nIGludGVncmF0ZWQgaW50byB0aGUgc29sdXRpb24nLFxuICAgICAgICBpbnZhbGlkOlxuICAgICAgICAgICdUaGUgZGF0YSBpbiB0aGlzIHZlcnNpb24gaXMgcHJlc2VudCBpbiB0aGUgc29sdXRpb24gYnV0IGlzIG5vdCByZWxldmFudC4gSXQgaXMgbm90IGF2YWlsYWJsZSBhcmUgbm90IGF2YWlsYWJsZSBmb3IgZGlzcGxheScsXG4gICAgICAgIHVua25vd246ICdVbmtub3duIGVycm9yJyxcbiAgICAgICAgaW52YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICAnQWxsb3dzIHlvdSB0byBtYWtlIHRoZSB2ZXJzaW9uXFwncyBkYXRhIHVuYXZhaWxhYmxlIGlmIGl0IGlzIGNvbnNpZGVyZWQgaXJyZWxldmFudCBmcm9tIGEgYnVzaW5lc3MgcG9pbnQgb2Ygdmlldy4gSWYgdGhlIGludmFsaWRhdGVkIHZlcnNpb24gaXMgdGhlIGFjdGl2ZSB2ZXJzaW9uLCB0aGVuIHRoZSBkYXRhIHJldHJpZXZlZCBieSBkZWZhdWx0IHdpbGwgYmUgdGhhdCBvZiB0aGUgbW9zdCByZWNlbnQgcHJldmlvdXMgXCJBdmFpbGFibGVcIiB2ZXJzaW9uLCB3aGljaCB3aWxsIHRodXMgY2hhbmdlIHRvIFwiQWN0aXZlXCIgc3RhdHVzLicsXG4gICAgICAgIHZhbGlkYXRlQnV0dG9uOlxuICAgICAgICAgIFwiQWxsb3dzIHRoZSB2ZXJzaW9uJ3MgZGF0YSB0byBiZSBtYWRlIGF2YWlsYWJsZSBpZiBpdCBpcyBjb25zaWRlcmVkIHJlbGV2YW50IGZyb20gYSBidXNpbmVzcyBwb2ludCBvZiB2aWV3IGFmdGVyIGhhdmluZyBiZWVuIGludmFsaWRhdGVkLiBJZiB0aGUgdmFsaWRhdGVkIHZlcnNpb24gaXMgdGhlIG1vc3QgcmVjZW50LCBpdCB3aWxsIGJlY29tZSB0aGUgYWN0aXZlIHZlcnNpb24gYW5kIGl0cyBkYXRhIHdpbGwgYmUgdGhlIGRlZmF1bHQuXCJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2VuLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFdBQVcsRUFBRSxhQUFhO1lBQzFCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLFFBQVE7WUFDaEIsY0FBYyxFQUFFLGlCQUFpQjtZQUNqQyxXQUFXLEVBQUUsYUFBYTtZQUMxQixJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxPQUFPO1lBQ2QsR0FBRyxFQUFFLEtBQUs7WUFDVixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsS0FBSztZQUNWLFlBQVksRUFBRSxpQkFBaUI7WUFDL0IsT0FBTyxFQUFFLFNBQVM7WUFDbEIsU0FBUyxFQUFFLGVBQWU7WUFDMUIsZUFBZSxFQUFFLG1CQUFtQjtZQUNwQyxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsY0FBYyxFQUFFLGlCQUFpQjtnQkFDakMsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHFCQUFxQixFQUFFLHFCQUFxQjtnQkFDNUMsV0FBVyxFQUFFLGNBQWM7Z0JBQzNCLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLEtBQUssRUFBRSxPQUFPO2dCQUNkLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixlQUFlLEVBQUUsUUFBUTthQUMxQjtZQUNELElBQUksRUFBRTtnQkFDSixVQUFVLEVBQUUsa0JBQWtCO2dCQUM5QixJQUFJLEVBQUUsa0NBQWtDO2FBQ3pDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLEVBQUU7YUFDYjtZQUNELEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsZ0JBQWdCO29CQUN2QixPQUFPLEVBQUUsa0JBQWtCO2lCQUM1QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLE9BQU87b0JBQ2QsT0FBTyxFQUFFLFNBQVM7aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixZQUFZLEVBQUUsMkNBQTJDO29CQUN6RCxNQUFNLEVBQUUscUNBQXFDO29CQUM3QyxPQUFPLEVBQUUsMENBQTBDO29CQUNuRCxTQUFTLEVBQUUsZ0NBQWdDO29CQUMzQyxpQkFBaUIsRUFBRSx5QkFBeUI7b0JBQzVDLGFBQWEsRUFBRSx3RkFBd0Y7aUJBQ3hHO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLHlGQUF5RjtnQkFDaEcsTUFBTSxFQUFFLHNHQUFzRztnQkFDOUcsUUFBUSxFQUNOLDJJQUEySTtnQkFDN0ksT0FBTyxFQUFFLDBEQUEwRDtnQkFDbkUsT0FBTyxFQUNMLDRIQUE0SDtnQkFDOUgsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLGdCQUFnQixFQUNkLGdUQUFnVDtnQkFDbFQsY0FBYyxFQUNaLDJQQUEyUDthQUM5UDtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVuVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICBjb25zdWx0OiAnVmlldycsXG4gICAgICB0aXRsZTogJ0RhdGFzZXQgY2F0YWxvZycsXG4gICAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICBkYXRlOiAnRGF0ZScsXG4gICAgICBzdGF0dXM6ICdTdGF0dXMnLFxuICAgICAgdmVyc2lvbkhpc3Rvcnk6ICdWZXJzaW9uIGhpc3RvcnknLFxuICAgICAgaW5mb3JtYXRpb246ICdJbmZvcm1hdGlvbicsXG4gICAgICBkYXRhOiAnRGF0YScsXG4gICAgICB0YWJsZTogJ1RhYmxlJyxcbiAgICAgIG1hcDogJ01hcCcsXG4gICAgICBleHBvcnQ6ICdFeHBvcnQnLFxuICAgICAgYXBpOiAnQVBJJyxcbiAgICAgIHJldHVyblRvTGlzdDogJ0JhY2sgdG8gY2F0YWxvZycsXG4gICAgICByZWZyZXNoOiAnUmVmcmVzaCcsXG4gICAgICBzaW5jZV9kYXk6ICdMYXN0IHVwZGF0ZSA6JyxcbiAgICAgIG5vQWN0aXZlVmVyc2lvbjogJ05vIGFjdGl2ZSB2ZXJzaW9uJyxcbiAgICAgIHZlcnNpb246IHtcbiAgICAgICAgdGl0bGU6ICdUaXRsZScsXG4gICAgICAgIHByb2R1Y3Rpb25EYXRlOiAnUHJvZHVjdGlvbiBkYXRlJyxcbiAgICAgICAgcHJvZHVjZXI6ICdEYXRhIHByb2R1Y2VyJyxcbiAgICAgICAgYWRkaXRpb25hbEluZm9ybWF0aW9uOiAnVmVyc2lvbiBpbmZvcm1hdGlvbicsXG4gICAgICAgIG5vdFByb3ZpZGVkOiAnTm90IHByb3ZpZGVkJyxcbiAgICAgICAgSU5ERVhJTkc6ICdMb2FkaW5nJyxcbiAgICAgICAgTE9BRElORzogJ0xvYWRpbmcnLFxuICAgICAgICBJTkFDVElWRTogJ0ludmFsaWQnLFxuICAgICAgICBFUlJPUjogJ0Vycm9yJyxcbiAgICAgICAgQUNUSVZFOiAnQXZhaWxhYmxlJyxcbiAgICAgICAgY3VycmVudGx5QWN0aXZlOiAnQWN0aXZlJ1xuICAgICAgfSxcbiAgICAgIGZvcm06IHtcbiAgICAgICAgb2JsaWdhdG9yeTogJ09ibGlnYXRvcnkgZmllbGQnLFxuICAgICAgICBkYXRlOiAnVGhlIGRhdGUgY2Fubm90IGJlIGluIHRoZSBmdXR1cmUnXG4gICAgICB9LFxuICAgICAgYnV0dG9uQWN0aW9uOiB7XG4gICAgICAgIEFDVElWRTogJ0ludmFsaWRhdGUnLFxuICAgICAgICBJTkFDVElWRTogJ1ZhbGlkYXRlJyxcbiAgICAgICAgRVJST1I6ICdDb25zdWx0IGVycm9ycycsXG4gICAgICAgIFdBUk5JTkc6ICdDb25zdWx0IHdhcm5pbmdzJyxcbiAgICAgICAgTE9BRElORzogJycsXG4gICAgICAgIElOREVYSU5HOiAnJ1xuICAgICAgfSxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZWxlbWVudHM6ICdFbGVtZW50cycsXG4gICAgICAgIG1lc3NhZ2U6ICdNZXNzYWdlJyxcbiAgICAgICAgY2xvc2U6ICdGZXJtZXInLFxuICAgICAgICBtb2RhbFRpdGxlOiB7XG4gICAgICAgICAgRVJST1I6ICdMaXN0IG9mIGVycm9ycycsXG4gICAgICAgICAgV0FSTklORzogJ0xpc3Qgb2Ygd2FybmluZ3MnXG4gICAgICAgIH0sXG4gICAgICAgIGxldmVsOiB7XG4gICAgICAgICAgRVJST1I6ICdFcnJvcicsXG4gICAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvZGU6IHtcbiAgICAgICAgICBVTlJFQ09HTklaRUQ6ICdVbnJlY29nbml6ZWQgYXR0cmlidXRle3twbHVyYWx9fSB7e25hbWV9fScsXG4gICAgICAgICAgRk9STUFUOiAnV3JvbmcgZm9ybWF0IGZvciBhdHRyaWJ1dGUge3tuYW1lfX0nLFxuICAgICAgICAgIFNUT1JBR0U6ICdJbnNlcnRpb24gZXJyb3IgZm9yIGVsZW1lbnQge3tyZWNvcmRJZH19JyxcbiAgICAgICAgICBOT19WQUxVRVM6ICdObyB2YWx1ZSBmb3Ige3tyZWNvcmRJZH19IGxpbmUnLFxuICAgICAgICAgIEZPUk1BVF9GSUxFX0VSUk9SOiAnVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXQnLFxuICAgICAgICAgIE5PX0FUVFJJQlVURVM6ICdUaGUgaW1wb3J0ZWQgZGF0YSBkb2VzIG5vdCBjb3JyZXNwb25kIHRvIHRoZSBkYXRhIG1vZGVsIGluZGljYXRlZCBpbiB0aGUgaW1wb3J0IHRhcmdldCdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRvb2x0aXA6IHtcbiAgICAgICAgZXJyb3I6ICdFcnJvcnMgb2NjdXJyZWQgd2hlbiBpbnRlZ3JhdGluZyB0aGUgZGF0YSBpbnRvIHRoZSBzb2x1dGlvbi4gVGhlIGRhdGEgaXMgbm90IGFjY2Vzc2libGUnLFxuICAgICAgICBhY3RpdmU6ICdUaGUgZGF0YSByZXRyaWV2ZWQgYnkgZGVmYXVsdCBpbiB0aGUgYXBwbGljYXRpb24gY29ycmVzcG9uZHMgdG8gdGhlIGRhdGEgaW50ZWdyYXRlZCBpbiB0aGlzIHZlcnNpb24uJyxcbiAgICAgICAgaW5hY3RpdmU6XG4gICAgICAgICAgJ1RoZSBkYXRhIGZvciB0aGlzIHZlcnNpb24gaXMgYXZhaWxhYmxlIGJ1dCBub3QgdXBsb2FkZWQgYnkgZGVmYXVsdC4gSXQgaXMgcG9zc2libGUgdG8gZGlzcGxheSB0aGVtIGJ5IGV4cGxpY2l0bHkgcmVxdWVzdGluZyB0aGlzIHZlcnNpb24uJyxcbiAgICAgICAgbG9hZGluZzogJ1RoZSBkYXRhIGlzIGN1cnJlbnRseSBiZWluZyBpbnRlZ3JhdGVkIGludG8gdGhlIHNvbHV0aW9uJyxcbiAgICAgICAgaW52YWxpZDpcbiAgICAgICAgICAnVGhlIGRhdGEgaW4gdGhpcyB2ZXJzaW9uIGlzIHByZXNlbnQgaW4gdGhlIHNvbHV0aW9uIGJ1dCBpcyBub3QgcmVsZXZhbnQuIEl0IGlzIG5vdCBhdmFpbGFibGUgYXJlIG5vdCBhdmFpbGFibGUgZm9yIGRpc3BsYXknLFxuICAgICAgICB1bmtub3duOiAnVW5rbm93biBlcnJvcicsXG4gICAgICAgIGludmFsaWRhdGVCdXR0b246XG4gICAgICAgICAgJ0FsbG93cyB5b3UgdG8gbWFrZSB0aGUgdmVyc2lvblxcJ3MgZGF0YSB1bmF2YWlsYWJsZSBpZiBpdCBpcyBjb25zaWRlcmVkIGlycmVsZXZhbnQgZnJvbSBhIGJ1c2luZXNzIHBvaW50IG9mIHZpZXcuIElmIHRoZSBpbnZhbGlkYXRlZCB2ZXJzaW9uIGlzIHRoZSBhY3RpdmUgdmVyc2lvbiwgdGhlbiB0aGUgZGF0YSByZXRyaWV2ZWQgYnkgZGVmYXVsdCB3aWxsIGJlIHRoYXQgb2YgdGhlIG1vc3QgcmVjZW50IHByZXZpb3VzIFwiQXZhaWxhYmxlXCIgdmVyc2lvbiwgd2hpY2ggd2lsbCB0aHVzIGNoYW5nZSB0byBcIkFjdGl2ZVwiIHN0YXR1cy4nLFxuICAgICAgICB2YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICBcIkFsbG93cyB0aGUgdmVyc2lvbidzIGRhdGEgdG8gYmUgbWFkZSBhdmFpbGFibGUgaWYgaXQgaXMgY29uc2lkZXJlZCByZWxldmFudCBmcm9tIGEgYnVzaW5lc3MgcG9pbnQgb2YgdmlldyBhZnRlciBoYXZpbmcgYmVlbiBpbnZhbGlkYXRlZC4gSWYgdGhlIHZhbGlkYXRlZCB2ZXJzaW9uIGlzIHRoZSBtb3N0IHJlY2VudCwgaXQgd2lsbCBiZWNvbWUgdGhlIGFjdGl2ZSB2ZXJzaW9uIGFuZCBpdHMgZGF0YSB3aWxsIGJlIHRoZSBkZWZhdWx0LlwiXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuIl19
@@ -31,6 +31,10 @@ export const frTranslations = {
31
31
  ACTIVE: 'Disponible',
32
32
  currentlyActive: 'Actif'
33
33
  },
34
+ form: {
35
+ obligatory: 'Champ obligatoire',
36
+ date: 'La date de production ne peut pas être dans le futur'
37
+ },
34
38
  buttonAction: {
35
39
  ACTIVE: 'Invalider',
36
40
  INACTIVE: 'Valider',
@@ -76,4 +80,4 @@ export const frTranslations = {
76
80
  }
77
81
  }
78
82
  };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLFdBQVc7WUFDcEIsS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixNQUFNLEVBQUUsWUFBWTtZQUNwQixXQUFXLEVBQUUsYUFBYTtZQUMxQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLGNBQWMsRUFBRSx3QkFBd0I7WUFDeEMsV0FBVyxFQUFFLGNBQWM7WUFDM0IsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsT0FBTztZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxPQUFPLEVBQUUsWUFBWTtZQUNyQixTQUFTLEVBQUUsd0JBQXdCO1lBQ25DLGVBQWUsRUFBRSx1QkFBdUI7WUFDeEMsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxVQUFVO2dCQUNqQixjQUFjLEVBQUUsb0JBQW9CO2dCQUNwQyxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxxQkFBcUIsRUFBRSw0QkFBNEI7Z0JBQ25ELFdBQVcsRUFBRSxlQUFlO2dCQUM1QixRQUFRLEVBQUUsZUFBZTtnQkFDekIsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixLQUFLLEVBQUUsV0FBVztnQkFDbEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLGVBQWUsRUFBRSxPQUFPO2FBQ3pCO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixRQUFRLEVBQUUsU0FBUztnQkFDbkIsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLEVBQUU7YUFDYjtZQUNELEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsUUFBUTtnQkFDZixPQUFPLEVBQUUsU0FBUztnQkFDbEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsUUFBUTtnQkFDZixVQUFVLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLG1CQUFtQjtvQkFDMUIsT0FBTyxFQUFFLG9CQUFvQjtpQkFDOUI7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMLEtBQUssRUFBRSxRQUFRO29CQUNmLE9BQU8sRUFBRSxTQUFTO2lCQUNuQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osWUFBWSxFQUFFLG9EQUFvRDtvQkFDbEUsTUFBTSxFQUFFLHNDQUFzQztvQkFDOUMsT0FBTyxFQUFFLGdEQUFnRDtvQkFDekQsU0FBUyxFQUFFLDBDQUEwQztvQkFDckQsaUJBQWlCLEVBQUUsOENBQThDO29CQUNqRSxhQUFhLEVBQUUsOEZBQThGO2lCQUM5RzthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFDSCxtSEFBbUg7Z0JBQ3JILE1BQU0sRUFDSix5R0FBeUc7Z0JBQzNHLFFBQVEsRUFDTix3SkFBd0o7Z0JBQzFKLE9BQU8sRUFBRSwwREFBMEQ7Z0JBQ25FLE9BQU8sRUFDTCx3SUFBd0k7Z0JBQzFJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLGdCQUFnQixFQUNkLDhVQUE4VTtnQkFDaFYsY0FBYyxFQUNaLHNTQUFzUzthQUN6UztTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZyVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICBjb25zdWx0OiAnQ29uc3VsdGVyJyxcbiAgICAgIHRpdGxlOiAnQ2F0YWxvZ3VlIGRlIGRvbm7DqWVzJyxcbiAgICAgIHNlYXJjaDogJ1JlY2hlcmNoZXInLFxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICBkYXRlOiAnRGF0ZScsXG4gICAgICBzdGF0dXM6ICdTdGF0dXQnLFxuICAgICAgdmVyc2lvbkhpc3Rvcnk6ICdIaXN0b3JpcXVlIGRlIHZlcnNpb25zJyxcbiAgICAgIGluZm9ybWF0aW9uOiAnSW5mb3JtYXRpb25zJyxcbiAgICAgIGRhdGE6ICdEb25uw6llcycsXG4gICAgICB0YWJsZTogJ1RhYmxlYXUnLFxuICAgICAgbWFwOiAnQ2FydGUnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0JyxcbiAgICAgIGFwaTogJ0FQSScsXG4gICAgICByZXR1cm5Ub0xpc3Q6ICdSZXRvdXIgYXUgY2F0YWxvZ3VlJyxcbiAgICAgIHJlZnJlc2g6ICdBY3R1YWxpc2VyJyxcbiAgICAgIHNpbmNlX2RheTogJ0Rlcm5pw6hyZSBtaXNlIMOgIGpvdXIgOicsXG4gICAgICBub0FjdGl2ZVZlcnNpb246ICdBdWN1bmUgdmVyc2lvbiBhY3RpdmUnLFxuICAgICAgdmVyc2lvbjoge1xuICAgICAgICB0aXRsZTogJ0ludGl0dWzDqScsXG4gICAgICAgIHByb2R1Y3Rpb25EYXRlOiAnRGF0ZSBkZSBwcm9kdWN0aW9uJyxcbiAgICAgICAgcHJvZHVjZXI6ICdQcm9kdWN0ZXVyIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgYWRkaXRpb25hbEluZm9ybWF0aW9uOiAnSW5mb3JtYXRpb25zIGRlIGxhIHZlcnNpb24nLFxuICAgICAgICBub3RQcm92aWRlZDogJ05vbiByZW5zZWlnbsOpJyxcbiAgICAgICAgSU5ERVhJTkc6ICdFbiBjaGFyZ2VtZW50JyxcbiAgICAgICAgTE9BRElORzogJ0VuIGNoYXJnZW1lbnQnLFxuICAgICAgICBJTkFDVElWRTogJ0ludmFsaWRlJyxcbiAgICAgICAgRVJST1I6ICdFbiBlcnJldXInLFxuICAgICAgICBBQ1RJVkU6ICdEaXNwb25pYmxlJyxcbiAgICAgICAgY3VycmVudGx5QWN0aXZlOiAnQWN0aWYnXG4gICAgICB9LFxuICAgICAgYnV0dG9uQWN0aW9uOiB7XG4gICAgICAgIEFDVElWRTogJ0ludmFsaWRlcicsXG4gICAgICAgIElOQUNUSVZFOiAnVmFsaWRlcicsXG4gICAgICAgIEVSUk9SOiAnQ29uc3VsdGVyIGVycmV1cnMnLFxuICAgICAgICBXQVJOSU5HOiAnQ29uc3VsdGVyIHdhcm5pbmdzJyxcbiAgICAgICAgTE9BRElORzogJycsXG4gICAgICAgIElOREVYSU5HOiAnJ1xuICAgICAgfSxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIEVSUk9SOiAnRXJyZXVyJyxcbiAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIGVsZW1lbnRzOiAnRWxlbWVudHMnLFxuICAgICAgICBtZXNzYWdlOiAnTWVzc2FnZScsXG4gICAgICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICAgICAgbW9kYWxUaXRsZToge1xuICAgICAgICAgIEVSUk9SOiAnTGlzdGUgZGVzIGVycmV1cnMnLFxuICAgICAgICAgIFdBUk5JTkc6ICdMaXN0ZSBkZXMgd2FybmluZ3MnXG4gICAgICAgIH0sXG4gICAgICAgIGxldmVsOiB7XG4gICAgICAgICAgRVJST1I6ICdFcnJldXInLFxuICAgICAgICAgIFdBUk5JTkc6ICdXYXJuaW5nJ1xuICAgICAgICB9LFxuICAgICAgICBjb2RlOiB7XG4gICAgICAgICAgVU5SRUNPR05JWkVEOiAnQXR0cmlidXR7e3BsdXJhbH19IHt7bmFtZX19IG5vbiByZWNvbm51IHt7cGx1cmFsfX0nLFxuICAgICAgICAgIEZPUk1BVDogXCJGb3JtYXQgZCdhdHRyaWJ1dCB7e25hbWV9fSBpbmNvcnJlY3RcIixcbiAgICAgICAgICBTVE9SQUdFOiBcIkVycmV1ciBkJ2luc2VydGlvbiBwb3VyIGwnw6lsw6ltZW50IHt7cmVjb3JkSWR9fVwiLFxuICAgICAgICAgIE5PX1ZBTFVFUzogJ1BhcyBkZSB2YWxldXIgcG91ciBsYSBsaWduZSB7e3JlY29yZElkfX0nLFxuICAgICAgICAgIEZPUk1BVF9GSUxFX0VSUk9SOiBcIkxlIGZvcm1hdCBkdSBmaWNoaWVyIHRyYW5zbWlzIG4nZXN0IHBhcyBnw6lyw6lcIixcbiAgICAgICAgICBOT19BVFRSSUJVVEVTOiBcIkxlcyBkb25uw6llcyBpbXBvcnTDqWVzIG5lIGNvcnJlc3BvbmRlbnQgcGFzIGF1IG1vZMOobGUgZGUgZG9ubsOpZXMgaW5kaXF1w6kgZW4gY2libGUgZGUgbCdpbXBvcnRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBlcnJvcjpcbiAgICAgICAgICBcIkRlcyBlcnJldXJzIHNvbnQgYXBwYXJ1ZXMgbG9ycyBkZSBsJ2ludMOpZ3JhdGlvbiBkZXMgZG9ubsOpZXMgZGFucyBsYSBzb2x1dGlvbi4gTGVzIGRvbm7DqWVzIG5lIHNvbnQgcGFzIGFjY2Vzc2libGVzXCIsXG4gICAgICAgIGFjdGl2ZTpcbiAgICAgICAgICBcIkxlcyBkb25uw6llcyByZW1vbnTDqWVzIHBhciBkw6lmYXV0IGRhbnMgbCdhcHBsaWNhdGlvbiBjb3JyZXNwb25kZW50IMOgIGNlbGxlcyBpbnTDqWdyw6llcyBkYW5zIGNldHRlIHZlcnNpb25cIixcbiAgICAgICAgaW5hY3RpdmU6XG4gICAgICAgICAgJ0xlcyBkb25uw6llcyBkZSBjZXR0ZSB2ZXJzaW9uIHNvbnQgZGlzcG9uaWJsZXMgbWFpcyBub24gcmVtb250w6llcyBwYXIgZMOpZmF1dC4gSWwgZXN0IHBvc3NpYmxlIGRlIGxlcyBhZmZpY2hlciBlbiBkZW1hbmRhbnQgZXhwbGljaXRlbWVudCBjZXR0ZSB2ZXJzaW9uLicsXG4gICAgICAgIGxvYWRpbmc6IFwiTGVzIGRvbm7DqWVzIHNvbnQgZW4gY291cnMgZCdpbnTDqWdyYXRpb24gZGFucyBsYSBzb2x1dGlvblwiLFxuICAgICAgICBpbnZhbGlkOlxuICAgICAgICAgIFwiTGVzIGRvbm7DqWVzIGRlIGNldHRlIHZlcnNpb24gc29udCBwcsOpc2VudGVzIGRhbnMgbGEgc29sdXRpb24gbWFpcyBzb250IG5vbiBwZXJ0aW5lbnRlcy4gRWxsZXMgbmUgc29udCBwYXMgZGlzcG9uaWJsZXMgcG91ciBsJ2FmZmljaGFnZVwiLFxuICAgICAgICB1bmtub3duOiAnRXJyZXVyIGluY29ubnVlJyxcbiAgICAgICAgaW52YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICAnUGVybWV0IGRlIHJlbmRyZSBpbmRpc3BvbmlibGUgbGVzIGRvbm7DqWVzIGRlIGxhIHZlcnNpb24gZGFucyBsZSBjYXMgb8O5IGVsbGVzIHNvbnQgY29uc2lkw6lyw6llcyBjb21tZSBub24gcGVydGluZW50ZSBkXFwndW4gcG9pbnQgZGUgdnVlIG3DqXRpZXIuIFNpIGxhIHZlcnNpb24gaW52YWxpZMOpZSBlc3QgbGEgdmVyc2lvbiBhY3RpdmUsIGFsb3JzIGxlcyBkb25uw6llcyByw6ljdXDDqXLDqWVzIHBhciBkw6lmYXV0IHNlcm9udCBjZWxsZSBkZSBsYSB2ZXJzaW9uIFwiRGlzcG9uaWJsZVwiIHByw6ljw6lkZW50ZSBsYSBwbHVzIHLDqWNlbnRlIHF1aSBwYXNzZXJhIGFpbnNpIGF1IHN0YXR1dCBcIkFjdGl2ZVwiJyxcbiAgICAgICAgdmFsaWRhdGVCdXR0b246XG4gICAgICAgICAgXCJQZXJtZXQgZGUgcmVuZHJlIGRpc3BvbmlibGUgbGVzIGRvbm7DqWVzIGRlIGxhIHZlcnNpb24gZGFucyBsZSBjYXMgb8O5IGVsbGVzIHNvbnQgY29uc2lkw6lyw6llcyBjb21tZSBwZXJ0aW5lbnRlIGQndW4gcG9pbnQgZGUgdnVlIG3DqXRpZXIgYXByw6hzIGF2b2lyIMOpdMOpIGludmFsaWRlci4gU2kgbGEgdmVyc2lvbiB2YWxpZMOpZSBlc3QgbGEgcGx1cyByw6ljZW50ZSwgZWxsZSBkZXZpZW5kcmEgYWluc2kgbGEgdmVyc2lvbiBhY3RpdmUgZXQgc2VzIGRvbm7DqWVzIHNlcm9udCBjZWxsZXMgcmVtb250w6llcyBwYXIgZMOpZmF1dFwiXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLFdBQVc7WUFDcEIsS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixNQUFNLEVBQUUsWUFBWTtZQUNwQixXQUFXLEVBQUUsYUFBYTtZQUMxQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLGNBQWMsRUFBRSx3QkFBd0I7WUFDeEMsV0FBVyxFQUFFLGNBQWM7WUFDM0IsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsT0FBTztZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxPQUFPLEVBQUUsWUFBWTtZQUNyQixTQUFTLEVBQUUsd0JBQXdCO1lBQ25DLGVBQWUsRUFBRSx1QkFBdUI7WUFDeEMsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxVQUFVO2dCQUNqQixjQUFjLEVBQUUsb0JBQW9CO2dCQUNwQyxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxxQkFBcUIsRUFBRSw0QkFBNEI7Z0JBQ25ELFdBQVcsRUFBRSxlQUFlO2dCQUM1QixRQUFRLEVBQUUsZUFBZTtnQkFDekIsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixLQUFLLEVBQUUsV0FBVztnQkFDbEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLGVBQWUsRUFBRSxPQUFPO2FBQ3pCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLFVBQVUsRUFBRSxtQkFBbUI7Z0JBQy9CLElBQUksRUFBRSxzREFBc0Q7YUFDN0Q7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsRUFBRTthQUNiO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsbUJBQW1CO29CQUMxQixPQUFPLEVBQUUsb0JBQW9CO2lCQUM5QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsT0FBTyxFQUFFLFNBQVM7aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixZQUFZLEVBQUUsb0RBQW9EO29CQUNsRSxNQUFNLEVBQUUsc0NBQXNDO29CQUM5QyxPQUFPLEVBQUUsZ0RBQWdEO29CQUN6RCxTQUFTLEVBQUUsMENBQTBDO29CQUNyRCxpQkFBaUIsRUFBRSw4Q0FBOEM7b0JBQ2pFLGFBQWEsRUFBRSw4RkFBOEY7aUJBQzlHO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUNILG1IQUFtSDtnQkFDckgsTUFBTSxFQUNKLHlHQUF5RztnQkFDM0csUUFBUSxFQUNOLHdKQUF3SjtnQkFDMUosT0FBTyxFQUFFLDBEQUEwRDtnQkFDbkUsT0FBTyxFQUNMLHdJQUF3STtnQkFDMUksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsZ0JBQWdCLEVBQ2QsOFVBQThVO2dCQUNoVixjQUFjLEVBQ1osc1NBQXNTO2FBQ3pTO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGRhdGFzZXQ6IHtcbiAgICAgIGNvbnN1bHQ6ICdDb25zdWx0ZXInLFxuICAgICAgdGl0bGU6ICdDYXRhbG9ndWUgZGUgZG9ubsOpZXMnLFxuICAgICAgc2VhcmNoOiAnUmVjaGVyY2hlcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgIGRhdGU6ICdEYXRlJyxcbiAgICAgIHN0YXR1czogJ1N0YXR1dCcsXG4gICAgICB2ZXJzaW9uSGlzdG9yeTogJ0hpc3RvcmlxdWUgZGUgdmVyc2lvbnMnLFxuICAgICAgaW5mb3JtYXRpb246ICdJbmZvcm1hdGlvbnMnLFxuICAgICAgZGF0YTogJ0Rvbm7DqWVzJyxcbiAgICAgIHRhYmxlOiAnVGFibGVhdScsXG4gICAgICBtYXA6ICdDYXJ0ZScsXG4gICAgICBleHBvcnQ6ICdFeHBvcnQnLFxuICAgICAgYXBpOiAnQVBJJyxcbiAgICAgIHJldHVyblRvTGlzdDogJ1JldG91ciBhdSBjYXRhbG9ndWUnLFxuICAgICAgcmVmcmVzaDogJ0FjdHVhbGlzZXInLFxuICAgICAgc2luY2VfZGF5OiAnRGVybmnDqHJlIG1pc2Ugw6Agam91ciA6JyxcbiAgICAgIG5vQWN0aXZlVmVyc2lvbjogJ0F1Y3VuZSB2ZXJzaW9uIGFjdGl2ZScsXG4gICAgICB2ZXJzaW9uOiB7XG4gICAgICAgIHRpdGxlOiAnSW50aXR1bMOpJyxcbiAgICAgICAgcHJvZHVjdGlvbkRhdGU6ICdEYXRlIGRlIHByb2R1Y3Rpb24nLFxuICAgICAgICBwcm9kdWNlcjogJ1Byb2R1Y3RldXIgZGUgZG9ubsOpZXMnLFxuICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246ICdJbmZvcm1hdGlvbnMgZGUgbGEgdmVyc2lvbicsXG4gICAgICAgIG5vdFByb3ZpZGVkOiAnTm9uIHJlbnNlaWduw6knLFxuICAgICAgICBJTkRFWElORzogJ0VuIGNoYXJnZW1lbnQnLFxuICAgICAgICBMT0FESU5HOiAnRW4gY2hhcmdlbWVudCcsXG4gICAgICAgIElOQUNUSVZFOiAnSW52YWxpZGUnLFxuICAgICAgICBFUlJPUjogJ0VuIGVycmV1cicsXG4gICAgICAgIEFDVElWRTogJ0Rpc3BvbmlibGUnLFxuICAgICAgICBjdXJyZW50bHlBY3RpdmU6ICdBY3RpZidcbiAgICAgIH0sXG4gICAgICBmb3JtOiB7XG4gICAgICAgIG9ibGlnYXRvcnk6ICdDaGFtcCBvYmxpZ2F0b2lyZScsXG4gICAgICAgIGRhdGU6ICdMYSBkYXRlIGRlIHByb2R1Y3Rpb24gbmUgcGV1dCBwYXMgw6p0cmUgZGFucyBsZSBmdXR1cidcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGVyJyxcbiAgICAgICAgSU5BQ1RJVkU6ICdWYWxpZGVyJyxcbiAgICAgICAgRVJST1I6ICdDb25zdWx0ZXIgZXJyZXVycycsXG4gICAgICAgIFdBUk5JTkc6ICdDb25zdWx0ZXIgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgRVJST1I6ICdFcnJldXInLFxuICAgICAgICBXQVJOSU5HOiAnV2FybmluZycsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZWxlbWVudHM6ICdFbGVtZW50cycsXG4gICAgICAgIG1lc3NhZ2U6ICdNZXNzYWdlJyxcbiAgICAgICAgY2xvc2U6ICdGZXJtZXInLFxuICAgICAgICBtb2RhbFRpdGxlOiB7XG4gICAgICAgICAgRVJST1I6ICdMaXN0ZSBkZXMgZXJyZXVycycsXG4gICAgICAgICAgV0FSTklORzogJ0xpc3RlIGRlcyB3YXJuaW5ncydcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICBFUlJPUjogJ0VycmV1cicsXG4gICAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvZGU6IHtcbiAgICAgICAgICBVTlJFQ09HTklaRUQ6ICdBdHRyaWJ1dHt7cGx1cmFsfX0ge3tuYW1lfX0gbm9uIHJlY29ubnUge3twbHVyYWx9fScsXG4gICAgICAgICAgRk9STUFUOiBcIkZvcm1hdCBkJ2F0dHJpYnV0IHt7bmFtZX19IGluY29ycmVjdFwiLFxuICAgICAgICAgIFNUT1JBR0U6IFwiRXJyZXVyIGQnaW5zZXJ0aW9uIHBvdXIgbCfDqWzDqW1lbnQge3tyZWNvcmRJZH19XCIsXG4gICAgICAgICAgTk9fVkFMVUVTOiAnUGFzIGRlIHZhbGV1ciBwb3VyIGxhIGxpZ25lIHt7cmVjb3JkSWR9fScsXG4gICAgICAgICAgRk9STUFUX0ZJTEVfRVJST1I6IFwiTGUgZm9ybWF0IGR1IGZpY2hpZXIgdHJhbnNtaXMgbidlc3QgcGFzIGfDqXLDqVwiLFxuICAgICAgICAgIE5PX0FUVFJJQlVURVM6IFwiTGVzIGRvbm7DqWVzIGltcG9ydMOpZXMgbmUgY29ycmVzcG9uZGVudCBwYXMgYXUgbW9kw6hsZSBkZSBkb25uw6llcyBpbmRpcXXDqSBlbiBjaWJsZSBkZSBsJ2ltcG9ydFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0b29sdGlwOiB7XG4gICAgICAgIGVycm9yOlxuICAgICAgICAgIFwiRGVzIGVycmV1cnMgc29udCBhcHBhcnVlcyBsb3JzIGRlIGwnaW50w6lncmF0aW9uIGRlcyBkb25uw6llcyBkYW5zIGxhIHNvbHV0aW9uLiBMZXMgZG9ubsOpZXMgbmUgc29udCBwYXMgYWNjZXNzaWJsZXNcIixcbiAgICAgICAgYWN0aXZlOlxuICAgICAgICAgIFwiTGVzIGRvbm7DqWVzIHJlbW9udMOpZXMgcGFyIGTDqWZhdXQgZGFucyBsJ2FwcGxpY2F0aW9uIGNvcnJlc3BvbmRlbnQgw6AgY2VsbGVzIGludMOpZ3LDqWVzIGRhbnMgY2V0dGUgdmVyc2lvblwiLFxuICAgICAgICBpbmFjdGl2ZTpcbiAgICAgICAgICAnTGVzIGRvbm7DqWVzIGRlIGNldHRlIHZlcnNpb24gc29udCBkaXNwb25pYmxlcyBtYWlzIG5vbiByZW1vbnTDqWVzIHBhciBkw6lmYXV0LiBJbCBlc3QgcG9zc2libGUgZGUgbGVzIGFmZmljaGVyIGVuIGRlbWFuZGFudCBleHBsaWNpdGVtZW50IGNldHRlIHZlcnNpb24uJyxcbiAgICAgICAgbG9hZGluZzogXCJMZXMgZG9ubsOpZXMgc29udCBlbiBjb3VycyBkJ2ludMOpZ3JhdGlvbiBkYW5zIGxhIHNvbHV0aW9uXCIsXG4gICAgICAgIGludmFsaWQ6XG4gICAgICAgICAgXCJMZXMgZG9ubsOpZXMgZGUgY2V0dGUgdmVyc2lvbiBzb250IHByw6lzZW50ZXMgZGFucyBsYSBzb2x1dGlvbiBtYWlzIHNvbnQgbm9uIHBlcnRpbmVudGVzLiBFbGxlcyBuZSBzb250IHBhcyBkaXNwb25pYmxlcyBwb3VyIGwnYWZmaWNoYWdlXCIsXG4gICAgICAgIHVua25vd246ICdFcnJldXIgaW5jb25udWUnLFxuICAgICAgICBpbnZhbGlkYXRlQnV0dG9uOlxuICAgICAgICAgICdQZXJtZXQgZGUgcmVuZHJlIGluZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIG5vbiBwZXJ0aW5lbnRlIGRcXCd1biBwb2ludCBkZSB2dWUgbcOpdGllci4gU2kgbGEgdmVyc2lvbiBpbnZhbGlkw6llIGVzdCBsYSB2ZXJzaW9uIGFjdGl2ZSwgYWxvcnMgbGVzIGRvbm7DqWVzIHLDqWN1cMOpcsOpZXMgcGFyIGTDqWZhdXQgc2Vyb250IGNlbGxlIGRlIGxhIHZlcnNpb24gXCJEaXNwb25pYmxlXCIgcHLDqWPDqWRlbnRlIGxhIHBsdXMgcsOpY2VudGUgcXVpIHBhc3NlcmEgYWluc2kgYXUgc3RhdHV0IFwiQWN0aXZlXCInLFxuICAgICAgICB2YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICBcIlBlcm1ldCBkZSByZW5kcmUgZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIHBlcnRpbmVudGUgZCd1biBwb2ludCBkZSB2dWUgbcOpdGllciBhcHLDqHMgYXZvaXIgw6l0w6kgaW52YWxpZGVyLiBTaSBsYSB2ZXJzaW9uIHZhbGlkw6llIGVzdCBsYSBwbHVzIHLDqWNlbnRlLCBlbGxlIGRldmllbmRyYSBhaW5zaSBsYSB2ZXJzaW9uIGFjdGl2ZSBldCBzZXMgZG9ubsOpZXMgc2Vyb250IGNlbGxlcyByZW1vbnTDqWVzIHBhciBkw6lmYXV0XCJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=